Имя: Пароль:
1C
1C 7.7
v7: Язык запросов. Период
,
0 MagicFly
 
20.07.12
10:41
Доброго времени суток!
Тема вобщем такая, есть запросик у меня в базе, как сделать, чтобы запрос осуществлялся не из всей базы, а только из заданного периода, т.е. чтобы пробегалось не сначала ведения всей базы.
Я пишу следующим образом:
       |Период с (Дата1-30) по (Дата2+30);
   |ОбрабатыватьДокументы все;  
   |Обрабатывать НеПомеченныеНаУдаление;
   |без итогов;
   |Позиция = Документ.ПриёмкаПриборов.Позиция;
   |Пов = Документ.ПриёмкаПриборов.Пов;
   |Н_Р = Документ.ПриёмкаПриборов.Н_Р;
   |Запчасти = Документ.ПриёмкаПриборов.Запчасти;
   |НПР = Документ.ПриёмкаПриборов.НПР;
   |Ц_С_М = Документ.ПриёмкаПриборов.Ц_С_М;
   |Пов1=Документ.ПриёмкаПриборов.Пов1;
   |НиР=Документ.ПриёмкаПриборов.НиР;
   |ДатаПоверки = Документ.ПриёмкаПриборов.ДатаПоверки;
   |ТекущийДокумент = Документ.ПриёмкаПриборов.ТекущийДокумент;
   |Функция Счётчик = Счётчик(Позиция);
   |Функция ПовСумма = Сумма(Пов);
   |Функция Н_РСумма = Сумма(Н_Р);
   |Функция ЗапчастиСумма = Сумма(Запчасти);
   |Функция НПРСумма = Сумма(НПР);
   |Функция Ц_С_МСумма = Сумма(Ц_С_М);
   |Функция Пов1Сумма = Сумма(Пов1);
   |Функция НиРСумма = Сумма(НиР);  
   |Группировка Позиция;
       |Условие((ДатаПоверки>=Дата1) и (ДатаПоверки<=Дата2));
Но у меня условие и период между собой не связываются, т.е. у меня запрос формируется неверно. Если же период убираю из запроса, оставляю одно лишь условие, тогда все верно, но в этом случае происходит выборка из всей базы
1 1Сергей
 
20.07.12
10:43
в данном случае можно и без запроса
2 MagicFly
 
20.07.12
10:44
(1) каким образом?
3 MagicFly
 
20.07.12
10:45
Просто по сети долго формируется отчет, когда по всей базе пробегается
4 1Сергей
 
20.07.12
10:46
хотя, нет. перебором будет долго, потому, что всё-равно все документы лопатить
5 Mikeware
 
20.07.12
10:47
(4) графа отбора
6 yanejsh
 
20.07.12
10:47
А что, нельзя просто?
|Период с (Дата1) по (Дата2);
7 1Сергей
 
20.07.12
10:49
(5) А разве её можно отфильтровать по периоду?
8 Guk
 
20.07.12
10:52
минусы/плюсы из периода убери...
9 Mikeware
 
20.07.12
10:53
(7) по сути, графа даст ведущий индекс (по 1сцрдок) для запроса. Ну, или дату для перебора. Если период перебора короткий, будет быстрее.
10 MagicFly
 
20.07.12
11:10
(8) у меня с периодом вобще не дружит условие
11 MagicFly
 
20.07.12
11:16
(9) обычно период составляет месяц, отчет по итогам месяца составляется
12 Ёпрст
 
20.07.12
11:26
Дык документы за какой период нужны ?
13 MagicFly
 
20.07.12
11:38
надо те, документы, которые попадают под условие запроса
|Условие((ДатаПоверки>=Дата1) и (ДатаПоверки<=Дата2));
14 Ёпрст
 
20.07.12
11:38
(13) т.е перебрать все за весь период жизни базы.
15 MagicFly
 
20.07.12
11:38
а поскольку отчет делается по итогам месяца, то и документы надо за месяц
16 MagicFly
 
20.07.12
11:39
наоборот, за месяц
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.