Имя: Пароль:
1C
1C 7.7
v7: запрос к итогам региста без учета текущего документа
0 Serega103
 
17.05.13
11:30
Здравствуйте, подскажите пожалуйста как сформировать запрос к итогам регистра, чтоб период был по текущий документ но без учета текущего документа.Вот код, но он почему то не работает
   ДатаК=ТекущаяДата();
   Если Выбран()=1 Тогда
       Если СравнитьТА()=-1 Тогда
           ДатаК=ТекущийДокумент().ПолучитьПозицию();
       КонецЕсли;
   КонецЕсли;    
   Запрос=СоздатьОбъект("Запрос");

   
   Т="Период С ДатаК по ДатаК;
   |Кон=Регистр.ДолгиПоРеализациям.Контрагент;
   |Док=Регистр.ДолгиПоРеализациям.Реализация;  
   |Сумма=Регистр.ДолгиПоРеализациям.Сумма;
   |Группировка Док;
   |Функция КонОст=КонОст(Сумма);
   |Условие (Кон=Контрагент);
   |";
1 Serega103
 
17.05.13
11:33
Если документ не проведен то по данному запросу КонОст>0 , а как только документ проводится то КонОст становится равно 0.
2 Serega103
 
17.05.13
11:35
хотя ДатаК стоит на позицию документа
3 dedmoroz777
 
17.05.13
11:37
"Период С ДатаК по ТекущийДокумент();
4 Ёпрст
 
17.05.13
11:38
чорный запрос в модуле проведения - моветон, если очень хочется, то СформироватьПозициюДокумента
5 Ёпрст
 
17.05.13
11:39
+ смотри параметры метода - тебе нужна предыдущая позиция
6 Serega103
 
17.05.13
11:41
(3) изначально было так, Потом рещил поэкспериментировать с методом ПолучитьПозицию()
7 Serega103
 
17.05.13
11:41
(4) (5)Сейчас попробую
8 Serega103
 
17.05.13
11:46
(4) Функция СформироватьПозициюДокумента() очень выручила, а что значит чорный запрос и почему это моветон?Хочется чтоб всё было по фэншую))
9 Ёпрст
 
17.05.13
11:48
(8) это который у тебя в (0).
10 Serega103
 
17.05.13
11:52
(9)ясно, вообще эта функция не в модуле проведения, а при открытии документа сообщает пользователю какой аванс был по данной реализации.Всем спасибо.Всё работает.
Независимо от того, куда вы едете — это в гору и против ветра!