Система компоновки данных

Программный вывод отчета

Несмотря на то, изучающие СКД встречаются с этим на первый или второй день, это должно быть в разделе FAQ. Простой пример программного вывода отчета на компоновке, использующий настройки по умолчанию. //Получаем схему из макета СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных"); //Из схемы возьмем…

Изменить слово “Итого” в общих итогах

Иногда возникает желание изменить само слово Итого в общих итогах. Сделаем это следующим образом: //Формирование табличного документа {{ //Получаем схему СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных"); //Из схемы возьмем настройки по умолчанию Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию; //Помещаем в переменную данные о расшифровке данных ДанныеРасшифровки…

Как программно сохранить схему в XML

Как программно сохранить схему в XML, аналогично тому как это делается по кнопке “Сохранить схему в файл”? ЗаписьXML = Новый ЗаписьXML;   Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение); Диалог.Фильтр = "Файлы XML (*.xml) |*.xml"; Если НЕ Диалог.Выбрать() Тогда Возврат; КонецЕсли;   Путь…

Отчет по движениям документа

Данная обработка является аналогом известной обработки используемой во всех типовых конфигурациях. За одним лишь исключением – данная обработка написана с использованием СКД. Схема компоновки полностью динамическая. Формируется исходя из движений документа.  Платформа 8.2. Толстый клиент. Код открыт. Скачать

Как добавить отбор программно

НовыйЭлементОтбора = КомпоновщикНастроек.Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ПолеОтбора = Новый ПолеКомпоновкиДанных("ИмяПоляКомпоновки"); НовыйЭлементОтбора.ЛевоеЗначение = ПолеОтбора; НовыйЭлементОтбора.Использование = Истина; НовыйЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; НовыйЭлементОтбора.ПравоеЗначение = Значение;НовыйЭлементОтбора = КомпоновщикНастроек.Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ПолеОтбора = Новый ПолеКомпоновкиДанных("ИмяПоляКомпоновки"); НовыйЭлементОтбора.ЛевоеЗначение = ПолеОтбора; НовыйЭлементОтбора.Использование = Истина; НовыйЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; НовыйЭлементОтбора.ПравоеЗначение = Значение;

Вывод полей в нужной колонке

Часто возникают вопросы «как в СКД сделать свои итоги», «как определенные поля выводить только в нужном месте».  Начнем рассказ. Наша цель  – посчитать среднюю цену продажи и вывести ее в нужном месте. Запрос: "ВЫБРАТЬ ПродажиОбороты.Подразделение, ПродажиОбороты.Номенклатура, ПродажиОбороты.КоличествоОборот, ПродажиОбороты.СтоимостьОборот, 0 КАК…

Как изменить отбор программно

Эта тема тоже достаточна распространена. Нюанс программного изменения отбора заключается в том, что коллекция: КомпоновщикНастроек.Настройки.Отбор.ЭлементыКомпоновщикНастроек.Настройки.Отбор.Элементы в отличие от аналогичной коллекции параметров, не имеет метода Найти(). Можно конечно изменять отбор “в лоб”, т.е. по индексу, но это не есть хорошо. Самый…