Запросы
01.08.2006
14:30
#1
Подскажите каким образом в запросе можно учесть следующую ситуацию:
приходные накладные должны учитываться, например, с начала года по текущую дату, а расходные, например, с начала недели/месяца, по текущую дату (все три даты задаются в окне ввода).
СПАСИБО.
приходные накладные должны учитываться, например, с начала года по текущую дату, а расходные, например, с начала недели/месяца, по текущую дату (все три даты задаются в окне ввода).
СПАСИБО.
01.08.2006
16:05
#2
или может быть создать два запроса???
с разными диапазонами дат, но как тогда объединить их данные
с разными диапазонами дат, но как тогда объединить их данные
02.08.2006
11:45
#3
примерно так:
с дата1 по дата3
...
датарасх= Документ.расхнакладная.датадок
датаприх= документ.прихнакладная.датадок
...
условие датарасх>дата2
условие датаприх<дата2
...
с дата1 по дата3
...
датарасх= Документ.расхнакладная.датадок
датаприх= документ.прихнакладная.датадок
...
условие датарасх>дата2
условие датаприх<дата2
...
04.08.2006
15:22
#4
"Я в последнее время от запросов отказался:
док = СоздатьОбъект("Документ");
Док.ВыбратьДокументы(Дата1,Дата2);
Пока Док.ПолучитьДокумент()=1 Цикл
....
КонецЦикла;
Работает на порядок быстрее, чем запросы.
На старых компьютерах (386, 486) Запросы работали быстрее, чем ...Док.ПолучитьДокумент()..."
док = СоздатьОбъект("Документ");
Док.ВыбратьДокументы(Дата1,Дата2);
Пока Док.ПолучитьДокумент()=1 Цикл
....
КонецЦикла;
Работает на порядок быстрее, чем запросы.
На старых компьютерах (386, 486) Запросы работали быстрее, чем ...Док.ПолучитьДокумент()..."
04.08.2006
16:06
#5
Это смотря какой документооборот? При количестве документов больше 200 в день, будет тормозить еще как
06.08.2006
12:40
#6
"Да ну, я, для прикола делал товарный отчет двумя способами и акт сверки. оборот - около 150 документов в день.
Есть еще у запросов такое узкое место, где просто необходимо вставлять тормоза, чтобы выполнение запросов не "проскакивало" на быстрых компьютерах:
Вместо (кусок процедуры):
...ЗапросН.Получить("Зн"+СокрЛП(а)).Выполнить(ТЗ.Получить("Зн"+СокрЛП(а)))=1
Писать такую пургу:
...Пока
ЗапросН.Получить("Зн"+СокрЛП(а)).Выполнить(ТЗ.Получить("Зн"+СокрЛП(а)))=0
Цикл
Состояние("Повтор");
КонецЦикла; ...
где "Состояние("Повтор");" в цикле - и есть некоторые вставленые тормоза, для того, чтобы запрос не сорвался. Если использовать первый способ, чем быстрее работает процессор, тем меньше документов попадает в запрос. Почему? Я до сих пор в догадках..."
Есть еще у запросов такое узкое место, где просто необходимо вставлять тормоза, чтобы выполнение запросов не "проскакивало" на быстрых компьютерах:
Вместо (кусок процедуры):
...ЗапросН.Получить("Зн"+СокрЛП(а)).Выполнить(ТЗ.Получить("Зн"+СокрЛП(а)))=1
Писать такую пургу:
...Пока
ЗапросН.Получить("Зн"+СокрЛП(а)).Выполнить(ТЗ.Получить("Зн"+СокрЛП(а)))=0
Цикл
Состояние("Повтор");
КонецЦикла; ...
где "Состояние("Повтор");" в цикле - и есть некоторые вставленые тормоза, для того, чтобы запрос не сорвался. Если использовать первый способ, чем быстрее работает процессор, тем меньше документов попадает в запрос. Почему? Я до сих пор в догадках..."
Читают тему
(гостей: 1)