1с запустить программно отчет на скд

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

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

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

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

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

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

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

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

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

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

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

Механизм СКД с момента своего появления постоянно набирает популярность среди разработчиков 1С, что весьма предсказуемо. Несмотря на простоту и скорость работы этого механизма, для решения определенных задач программисту необходимо уметь работать с программным формированием отчета. Эта возможность позволяет изменить стандартную работу конструктора отчета и внести нужные изменения, но, выполняя подобный шаг, необходимо четко понимать свои действия. Поэтому, если вы не уверены в своих силах, обращайтесь за консультацией по программам 1С к нашим специалистам – мы с радостью вам поможем.

Программное формирование отчета в 1С 8.3

Для использования некоторых возможностей, включая использование различных внешних данных, программистам приходится использовать форму отчета, то есть писать код для его формирования. Для наглядности приведем пример вывода отчета с помощью формы документа и программного кода. Возьмем простой отчет с 1 параметром и схемой СКД:

Чтобы формировать его программно, необходимо действовать по простому алгоритму

Добавляем к отчету форму, использующую СКД.

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

Через контекстное меню создать обработчик команды на клиенте и сервере и прописать следующий код:

  • На клиенте передаем управление на сервер, а после формирования отчета отключаем справочные сообщения об успехе формирования отчета;
  • На сервере в первую очередь получаем запрос из схемы компоновки данных;
  • Следующий блок подгружает к запросу значения параметров, которые выбрал пользователь;
  • Следующий блок необходимо использовать вместо предыдущего, если вы хотите задавать параметр автоматически;
  • В результате выполнения в переменную Макет попадают данные типа МакетКомпоновкиДанных. Остается только построить отчет с помощью встроенного в платформу процессора компоновки данных и вывести его на экран.

В результате этих манипуляций вы получите отчет, формирующийся программно, и сможете добавить дополнительных функций. К примеру, можно сделать простую версию отчета для новичков, где не нужно вводить значения параметров, и расширенную – для опытных пользователей. Это хороший прием, который часто используют специалисты по сопровождению систем 1С. Его использование поможет вам в нахождении нестандартных решений и, как следствие, в развитии профессиональных навыков.

Программирование системы 11.07.2016 09:46 13465

Система компоновки данных — это система для создания отчетов в 1С:Предприятии. СКД обладает множеством настроек для создания отчетов без программирования. Если настроек СКД недостаточно для формирования необходимого результата отчета, то можно еще и программно обработать результат СКД.

Программный вывод СКД для Отчетов

В отчетах на СКД, в модуле объекта существует событие ПриКомпоновкеРезультата. Чтобы переопределить вывод отчета, в этом событии нужно написать собственный алгоритм вывода. Если в отчете установлена «Основная схема компоновки данных», то автоматически появляются два объекта: «СхемаКомпоновкиДанных» и «КомпоновщикНастроек».

Программный вывод СКД

Так как это не отчет, то объекты «СхемаКомпоновкиДанных» и «КомпоновщикНастроек» не появляются автоматически, поэтому их нужно создавать.

Для того чтобы добавить сообщение, необходимо Войти или Зарегистрироваться

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

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