Система компоновки данных (СКД) в 1С. Заметки
Какие-то заметки по СКД
Курс Гилева по теме "Профессиональная разработка отчетов в 1С 8.3 на Системе Компоновки Данных (СКД)"
https://xn----1-bedvffifm4g.xn--p1ai/1c-v8/skd/
цена 7000 руб (03.04.21)
Несколько уроков из этого курса
https://xn----1-bedvffifm4g.xn--p1ai/news/2016-07-07-how-to-use-skd-functions/
"Новые функции СКД 8.2.14" автор Сергей Рудаков
https://infostart.ru/1c/articles/86764/
РСА: Ничего понял: "групповой отбор", "иерархический отбор". О чем речь?
ВЫЧИСЛИТЬВЫРАЖЕНИЕ()
Синтаксис:
ВычислитьВыражение(, , , , , , , )
Описание:
Функция предназначена для вычисления выражения в контексте некоторой группировки.
Функция учитывает отбор группировок, но не учитывает иерархические отборы.
Функция не может применяться к группировке в групповом отборе этой группировки. Например, в отборе группировки Номенклатура нельзя использовать выражение ВычислитьВыражение(«Сумма(СуммаОборот)", , «ОбщийИтог») > 1000. Но такое выражение можно использовать в иерархическом отборе.
Ветка форума по теме "Вычисляемые поля только по группировке в СКД"
https://forum.infostart.ru/forum9/topic77873/
У человека был итого по колонке "цена", как сумма всех цен. А он хотел цену по группе товаров (деление итоговой суммы на итог количества), а детальные цены выводить вообще не хотел (хотел пустые поля).
Ответы:
См ответ 5 - список выводимых полей для каждого уровня выводимых данных настраивается отдельно? (верхние группировки, детальные записи )? И можно убрать вывод поля "цена" для детальных записей.
Ответ 11
В настройках СКД применить функцию "ВЫЧИСЛИТЬВЫРАЖЕНИЕ", которая посчитает итоги только для группировок, деление итоговой суммы по полю "Сумма" на сумму по полю "Количество"?
Не скажу что все просто но все же я это сделал.
Вычисляемое поле Цена по выражению Стоимость/Количество оставил и в ресурсах врописал выражение вместо Сумма(Цена)
Вот такую формулу: Вычислить("Сумма(Стоимость)/Сумма(Количество)","Группировка")
Процитирую документацию:
Функция Вычислить предназначена для вычисления выражения в контексте некоторой группировки. Функция имеет следующие параметры:
· Выражение – строка, содержащая вычисляемое выражение;
· Группировка – строка, содержащая имя группировки, в контексте которой необходимо вычислить выражение. В случае если в качестве имени группировки используется пустая строка, вычисление будет выполнено в контексте текущей группировки. В случае если в качестве имени группировки будет использована строка ОбщийИтог, вычисление будет выполнено в контексте общего итога. В остальных случаях вычисление будет выполняться в контексте родительской группировки с таким именем.
· Тип расчета — строка, В случае если данный параметр имеет значение ОбщийИтог, выражение будет вычисляться для всех записей группировки. В случае если значение параметра Группировка, значения будут вычисляться для текущей групповой записи группировки. Например:
Сумма(Продажи.СуммаОборот) / Вычислить(«Сумма(Продажи.СуммаОборот)», «ОбщийИтог»)
В данном примере в результате получится отношение суммы по полю «Продажи.СуммаОборот» записи группировки к сумме того же поля во всей компоновке.
Вывод вложенных (или как там они называются) реквизитов в отчете на СКД
Когда в запросе или при формировании отчета уже в самой СКД выбираются дополнительные поля
Пример запроса:
ВЫБРАТЬ
ОтчетКассовойСмены.Оплата.(
Ссылка КАК Ссылка,
Ссылка.Дата КАК Дата,
Ссылка.Проведен КАК Проведен,
Ссылка.Фирма КАК Фирма,
Ссылка.Номер КАК Номер)
тогда в зависимости от настроек отчета в СКД они могут выводиться так:
см картинку!
