Имя: Пароль:
1C
1С v8
Получение значения из динамического списка в отчет через запрос или с помощью СКД
0 fleming
 
08.12.22
10:50
Есть список документов Реализации товаров в УТ 11.5. Стоит такая задача: - Каждая реализация имеет в отчете одну строку. Есть вычисляемое поле "ПРИБЫЛЬ". Оно заполняется по условию оплаты, то есть если суммы оплаты за период отчета не хватает на полную оплату такой реализации, то надо пробежаться по каждой строке табличной части этого документа и посчитать это поле по правилу (себестоимость в строке - себестоимость закупки)*количество в строке. Себестоимости рассчитываются с помощью вложенного запроса к регистру накопления. С помощью кода я понимаю как решить эту задачу, с помощью создания временных переменных для хранения промежуточных итогов. А вот знаний как такой цикл по условию сделать через запрос или с помощью СКД знаний не хватает. Проблема в том, что количество строк - это динамическое значение и заранее неизвестно. То есть сделать вывод в ячейку через конструкцию ВЫБОР...КОГДА...ТОГДА вряд ли возможно, так как прибыль посчитанную по формуле в каждой строке еще и необходимо суммировать, получая ИТОГ.Результатом запроса, которое помещается в вычисляемое поле ПРИБЫЛЬ документа Реализация в каждой строке отчета должен быть сумма промежуточных ИТОГОВ строк, на которые хватило оплаты. И по хорошему надо было бы запомнить строку на которой остановился расчет, чтобы в следующих периода отчета, когда поступит очередная оплата не бежать заново по всем строкам, а считать с остатка строки на которой, остановился в предыдущем периоде расчет. Регистры изменять нельзя.Был бы признателен, если бы подсказали путь в каком направлении рыть.
1 Trance_1C
 
08.12.22
11:05
Для начала установите себе инструменты разработчика, там есть консоль СКД, но можно и без нее, с ней удобнее просто.
Возьмите валовую прибыль типовую, сохраните себе схему скд из отчета, загрузите в свой новый отчет, в схеме уберите лишние поля (номенклатура, характеристики и прочие), так чтобы остались только периоды реализации и показатели.
2 Trance_1C
 
08.12.22
11:06
3 Trance_1C
 
08.12.22
11:11
Всем кто пытается понять первый пост:
Автору нужен отчет - валовая прибыль по оплатам, это валовая прибыль в которой есть еще сумма оплаты по строкам документа.
4 Kassern
 
08.12.22
11:14
(0) В крайнем случае можете воспользоваться НаборДанных - объект. Указать нужные поля и имя таблицы. ПриКомпоновкеРезультата программно собрать нужную табличку и передать уже итоговую в СКД.
5 Trance_1C
 
08.12.22
11:14
Автор, если хотите сделать такой отчет, вам придется глубоко осмыслить что такое ВычислитьВыражение() в итогах СКД.
Вам нужно взять типовую валовую прибыль, и в вашу схему добавить еще один запрос к регистру движения денежных средств, получить оплаты (включая возвраты) покупателей, соединить их по сделкам с таблицей валовой прибыли и распределять суммы оплат по сделкам при выводе группировок выражением в ресурсах СКД.
6 fleming
 
08.12.22
12:24
мне нужны не валовая прибыль, а контроль частичных оплат по нетиповому механизму. Консоль запросов у меня есть и типовой отчет по валовой прибыли я тоже смотрел. Спасибо за ответы, буду ковырять дальше.