Есть два документа: счет и акт. Акты выписываются на основании счетов с заполнением поля основание. Строю запрос, который собирает счета и выписанные по ним акты. В СКД есть ресурсы СуммаСчета и СуммаАкта. Также есть вычисляемое поле Недобор с формулой СуммаСчета-ЕстьNULL(СуммаАкта,0). Все работает хорошо, кроме случаев, когда по счету выписывалось несколько актов. Недобор считается для каждой записи и в группировке по счету суммируется.
Как заставить в группировке правильно считать такое вычислимое поле? для картинки там должен быть 0
P.S. Или вычислимое поле считать как-то по другому?
остатки по регистру с периодичностью секунда.
Это не регистр. Тут только документы
Для ресурса недобор по груперовке Счет сделать выражение СуммаСчета-Сумма(ЕстьNULL(СуммаАкта,0)) г
Ошибка в выражении "(Сумма((СуммаСчета-Сумма(ЕстьNULL(СуммаАкта,0)))))"
по причине:
Использование вложенных агрегатных функций не допускается
Такой финт подходит для группировки верхнего уровня... Но если группировка 2 и большего уровня?
+ некорректно в таком случае обрабатывает ситуации, когда по счету не были выписаны акты
Нашел таки выход.
Создал 2 вычислимых поля: НедоборСчет (СуммаСчета-Сумма(ЕстьNULL(СуммаАкта,0))) и Недобор (СуммаСчета-ЕстьNULL(СуммаАкта,0))
создал 2 ресурса Недобор: первый рассчитывается по полю Счет с формулой НедоборСчет, а второй - по полям группировок верхних уровней с формулой Сумма(СуммаСчета)-Сумма(СуммаАкта).
P.S. Выпадающий список подбора вариантов для ресурсов в конструкторе СКД - зло.
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua