1с схема компоновки данных программно

Как известно, с помощью Системы Компоновки Данных (СКД) в 1С 8.3 и 8.2 можно быстро построить отчет практически любой сложности. Простота и скорость создания отчета достигается удобным визуальным конструктором, который обеспечивает необходимый результат без написания кода. Но все же бывает необходимость «вмешаться» в работу конструктора и программно сформировать отчет.

Когда может потребоваться программный вывод отчета в 1С на СКД:

  • программная установка параметров СКД;
  • использование внешних данных в отчете;
  • специфика табличного документа при выводе на печать;
  • прочие нестандартные ситуации.

Предлагаю на примере рассмотреть, как можно сформировать отчет на СКД и заполнить его параметры программно.

Создадим новый внешний отчет. Напишем простейший запрос на примере 1С Бухгалтерия, который выводит начальный и конечный остатки и обороты по счету:

ВЫБРАТЬ
ХозрасчетныйОстаткиИОбороты.Счет,
ХозрасчетныйОстаткиИОбороты.Субконто1,
ХозрасчетныйОстаткиИОбороты.Субконто2,
ХозрасчетныйОстаткиИОбороты.Субконто3,
ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстаток,
ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстаток,
ХозрасчетныйОстаткиИОбороты.СуммаОборот
ИЗ
РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, Регистратор, , Счет = &Счет, , ) КАК ХозрасчетныйОстаткиИОбороты

Вот, как выглядит отчет в стандартном виде:

Теперь сформируем его программно. Для этого нам нужно добавить Основную Форму:

Добавим команду и кнопку на форме:

Получите 267 видеоуроков по 1С бесплатно:

В действиях команды пропишем следующий код (читать код на сайте достаточно трудно, поэтому рекомендуем скачать уже готовый пример отчета и посмотреть код в нем):

Шпаргалка по программному использованию СКД.

пишу в первую очередь для себя, потому и выглядит как черновик

Программное создание макета СКД

Почти всегда достаточно построить макет СКД вручную, но в некоторых случаях требуется это сделать программно. В качестве примера могу привести реальную задачу, когда требовалось организовать отбор на форме сразу для нескольких справочников. Результат выглядел как-то так:

Для справочников формирование макета схемы выглядела так:

Для независимого регистра сведений поинтереснее:

КНКД — конструктор настроек компоновки данных, выведенный на форму.

Вышеприведенный код предназначен для заполнения настроек КНКД при переключении закладок соответствующих справочников, или регистра сведений.

Отбор объектов посредством СКД

Посредством СКД очень просто организовать отбор для элементов с целью их использования, например в коллекции значений(таблице значений или дереве).

Например, мне необходимо выбрать документы для печати, удовлетворяющие определенным критериям.

Первым шагом создаю макет СКД во внешней обработке, формирую в нём набор данных запросом и задаю настройки вывода.

Далее, на форме создаю реквизит с типом «КомпоновщикНастроекКомпановкиДанных», добавляю табличное поле, в котором в качестве данных выбираю

Автор: Admin Октябрь 28, 2019 0 комментария

Иногда бывает так, что систему компоновки данных (далее ‘СКД’) необходимо вывести программным способом. И практически никто и ни когда не станет писать основной алгоритм с нуля из головы. Зачем это делать, если есть готовый шаблон! Сейчас на простом примере рассмотрим как за 5 минут сделать быстро не сложный отчет на СКД и вывести его программным способом.

Итак, создаем новый отчет:

  • Добавляем реквизит ‘Результат‘ типа ‘Табличный документ’. В него мы будем выводить результат полученный в ‘СКД’.
  • Добавляем команду формы ‘СформироватьОтчет‘. Через эту команду мы будем программно формировать вывод ‘СКД’ на форму отчета. Устанавливаем свойство команды ‘КнопкаПоУмолчанию’ = Истина.
  • Добавляем на форму параметры ‘СКД’. В моем случае этим параметром будет реквизит ‘Страна’ типа ‘СправочникСсылка.Страны’.

Теперь создаем макет СКД и описываем его: в нашем примере мы должны вывести данные футбольных клубов из справочника ‘Футбольные клубы’ и на форме предусмотреть возможность построения отчета с указанием страны (наш отбор или параметр ‘СКД’):

Что бы параметр ‘СКД’ был доступен в коде, необходимо снять у него флаг ‘Ограничение доступности’ на закладке ‘Параметры’:

Формируем основные настройки вывода информации:

И теперь самое интересное, то ради чего была сделана заметка. Это наш шаблон программного вывода системы компоновки данных по кнопке ‘СформироватьОтчет’:

Понравилась статья? Поделиться с друзьями:
Vkontakte.INFO
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: