|
Сумма в запросе с условием |
|
|
|
|
29.01.18, 23:02
|
Молчаливый

Группа: Пользователи
Сообщений: 5
Спасибо сказали: 0 раз
Рейтинг: 0

|
Добрый вечер. Застрял на тривиальной задаче. Есть запрос. НачисленноОклад=СоздатьОбъект("Запрос"); ТекстЗапроса = "//{{ЗАПРОС(НачисленноОклад) |С Нач по (КонКвартала(ДатаПериода)); |Обрабатывать НеПомеченныеНаУдаление; |ДатаДок = Документ.НачислениеЗП.ДатаДок; |Док = Документ.НачислениеЗП.ТекущийДокумент; |Оклад = Документ.НачислениеЗП.Оклад; |Функция ОкладСумма = сумма(Оклад); |Группировка ДатаДок;
|";//}}ЗАПРОС Если НачисленноОклад.Выполнить(ТекстЗапроса) = 0 Тогда Возврат; КонецЕсли; ОкладСумма = 0; Посчитать = 0; Декабрь = 0; НомСтрок = 0; Месяц = Нач; Пока НачисленноОклад.Группировка(1)=1 Цикл _ДатаДок=НачисленноОклад.ДатаДок; НомСтрок = НомСтрок+1; Результат.НоваяСтрока(НомСтрок); ОкладСумма=ОкладСумма+НачисленноОклад.ОкладСумма; НДФЛ6=СокрЛП(Формат((ОкладСумма/100*ПроцентСтавки),"Ч10.0")); Результат.УстановитьЗначение(НомСтрок,"Код",ДатаМесяц(_ДатаДок)); Результат.УстановитьЗначение(НомСтрок,"ДатаДохода",_ДатаДок); Результат.УстановитьЗначение(НомСтрок,"СуммаДохода",ОкладСумма); Результат.УстановитьЗначение(НомСтрок,"СуммаУдерж",НДФЛ6); ОкладСумма = 0; НДФЛ6 = 0; ДатаДок_=_ДатаДок; КонецЦикла;
Как в запросе получить суммы за месяц. Или посчитать суммы документов пока выполняется группировка? Выборка происходит за три месяца. в ТЗ должно попасть три строки. Голова уже не работает.
|
|
|
30.01.18, 0:40
|

Завсегдатай
   
Группа: Пользователи
Сообщений: 185
Из: Украина, Мелитополь
Спасибо сказали: 58 раз
Рейтинг: 14

|
korney777@gmail.com @ Вчера, 23:02 
, Перед циклом обозначьТЕ ДатаДок_= 0; СуммаМес=0;
В ЦИКЛЕ, в конце, вставьТЕ такое: Пока НачисленноОклад.Группировка(1)=1 Цикл _ДатаДок=НачисленноОклад.ДатаДок; Если (_ДатаДок<>ДатаДок_) И (СуммаМес<>0) Тогда Сообщить(СуммаМес); /////////// ЭТО ТО ЧТО НУЖНО СуммаМес=0; КонецЕсли; НомСтрок = НомСтрок+1;
Результат.НоваяСтрока(НомСтрок); ОкладСумма=ОкладСумма+НачисленноОклад.ОкладСумма; НДФЛ6=СокрЛП(Формат((ОкладСумма/100*ПроцентСтавки),"Ч10.0")); Результат.УстановитьЗначение(НомСтрок,"Код",ДатаМесяц(_ДатаДок)); Результат.УстановитьЗначение(НомСтрок,"ДатаДохода",_ДатаДок); Результат.УстановитьЗначение(НомСтрок,"СуммаДохода",ОкладСумма); Результат.УстановитьЗначение(НомСтрок,"СуммаУдерж",НДФЛ6); СуммаМес=СуммаМес+ОкладСумма ОкладСумма = 0; НДФЛ6 = 0; ДатаДок_=_ДатаДок; КонецЦикла;
P.S. Прошу прощения за "корявый" код, в плане отступов.
Сообщение отредактировал logist - 30.01.18, 1:43
|
|
|
|
|
|
|
|
30.01.18, 11:04
|
Молчаливый

Группа: Пользователи
Сообщений: 5
Спасибо сказали: 0 раз
Рейтинг: 0

|
Alegzander @ Сегодня, 10:59 
, Как сгруппировать помесячно?
|
|