Шаблон отчета СКД



Шаблон для разработки отчетов посредством СКД

В свое время создал для себя такой простенький шаблон отчета на СКД под обычные формы. Далеко не один отчет на нем построен. Решил поделиться с сообществом.

Отчет будет работать практически в любой конфигурации. Для его работы нужны два метода из типовой конфигурации:

РаботаСДиалогами.ОбработчикНастройкаПериодаНажатие

ОбщегоНазначения.ЕстьРеквизитОтчета

Вот их код:

Функция ЕстьРеквизитОтчета(ИмяРеквизита, МетаданныеОтчета) Экспорт

 Если МетаданныеОтчета.Реквизиты.Найти(ИмяРеквизита) = Неопределено Тогда
Возврат Ложь;
Иначе
Возврат Истина;
КонецЕсли;

КонецФункции // ЕстьРеквизитОтчета()
Процедура ОбработчикНастройкаПериодаНажатие(ДатаНач, ДатаКон) Экспорт

НП = Новый НастройкаПериода;
НП.ВариантНастройки = ВариантНастройкиПериода.Период;

НП.УстановитьПериод(НачалоДня(ДатаНач), ?(ДатаКон = '00010101', ДатаКон, КонецДня(ДатаКон)));

Если НП.Редактировать() Тогда

ДатаНач = НП.ПолучитьДатуНачала();
ДатаКон = НП.ПолучитьДатуОкончания();

КонецЕсли;

КонецПроцедуры

Для использования шаблона достаточно заполнить основную схему компоновки, указав запрос и настройки. Все заданные настройки (отборы, условное оформление и т.д) будут доступны на соответствующей вкладке шаблона.

Отчет умеет сохранять значения параметров и затем восстанавливать их при открытии. Имеет удобную панель для задания настроек, которую можно при необходимости свернуть.

4 Comments

  1. AlexeyPapanov

    нельзя задавать значения параметров на 1-й вкладке. приходится лезть в настройки СКД.

    Reply
  2. alexinzaz

    На первой вкладке для примера вынесены два параметра «ДатаНачала» и «ДатаКонца». Вы можете вынести свои параметры. Для этого необходимо добавить одноименный реквизит в отчет и вынести его на форму. В обработчик изменения реквизита написать код

    ЗаполнитьПараметрыСКД(ЭтотОбъект, КомпоновщикНастроек);

    Метод заполнить параметры подхватит значения реквизитов и установит соответствующие параметры.

    Как вариант можно еще доработать шаблон и вынести полностью все параметры на форму в табличное поле. Но мне такой вариант не очень нравится. Ну это дело вкуса:)

    Reply
  3. Armando

    Откройте для себя инструменты разработчика http://infostart.ru/public/15126/

    Там есть обалденная консоль компоновки и много чего другого.

    Reply
  4. alexinzaz

    ИР пользуюсь давно и довольно успешно. Консоль компоновки вообще шикарная штука.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *