gifts2017

Подсистема вариантов отчетов на СКД (1с 8.2, 8.3. Обычное приложение)

Опубликовал Максим Семисаженов (Semak) в раздел Программирование - Практика программирования

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

Подсистема внедряется очень просто, через сравнение и объединение конфигураций. Далее ее использование еще проще чем внедрение.

Пример настройки доступа

Пример модуля формы отчета:

перем текВариант Экспорт ; //обязательная переменная формы


//обязательные события формы
Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
     воПроцедурыДляОтчетов.ВариантОтчетаПриОткрытии(ЭтаФорма,ЭтотОбъект,Отказ);
КонецПроцедуры

Процедура ОбработкаВыбора(ЗначениеВыбора, Источник)
     воПроцедурыДляОтчетов.ВариантОтчетаОбработкаВыбора(ЭтаФорма,ЗначениеВыбора);
КонецПроцедуры
//обязательные события формы


//обязательная процедура в модуле формы
Процедура ПриВыбореВарианта(Элемент, ТекущаяСтраница)
     воПроцедурыДляОтчетов.ВариантОтчетаПриИзменении(ЭтаФорма);
КонецПроцедуры


//процедуры кнопок выбрать / сохранить вариант отчета
Процедура ДействияФормыСохранитьНастройку(Кнопка)
     воПроцедурыДляОтчетов.ВариантОтчетаСохранитьНастройку(ЭтаФорма,ЭтотОбъект);
КонецПроцедуры

Процедура ДействияФормыВыбратьНастройку(Кнопка)
     воПроцедурыДляОтчетов.ВариантОтчетаВыбратьНастройку(ЭтаФорма, ЭтотОбъект, ЭтаФорма);
КонецПроцедуры
//процедуры кнопок выбрать / сохранить вариант отчета


//необязательные процедуры формы
функция ДополнительныеДанныеОтчетаВхранилище() экспорт
     струкДопДанные=новый Структура;
     струкДопДанные.Вставить("ПримерСохраненияДанных1",ПримерСохраненияДанных1);
     струкДопДанные.Вставить("ПримерСохраненияДанных2",ПримерСохраненияДанных2);
     струкДопДанные.Вставить("ПолеВвода1",ПолеВвода1);
     струкДопДанные.Вставить("ПолеВвода2",ПолеВвода2);

     Возврат струкДопДанные;
КонецФункции

Процедура ДополнительныеДанныОтчетаИзХранилища(струкДопДанные) экспорт

     ЗаполнитьЗначенияСвойств(ЭтаФорма,струкДопДанные);

КонецПроцедуры
//необязательные процедуры формы

 

Так же присутствует полезная функция, которая выводит таблицу значений в отчет на СКД с возможностью дальнейшей настройки и анализа:

//параметры: таблица значений, структура настроек(тип структура ("Ресурсы,Группировка,Порядок,ВыводитьДетали")), Заголовок формы (тип текст)
//таблица значений желательно с типизированными колонками, заголовки колонок ТЗ используются как заголовки в отчете
//Структура настроек:
//ресурсы (тип данных соответсвие (имяПоля,выражение итога))
//группировка (тип данных массив (перечислениы имена колонок))
//Порядок (тип данных массив (перечислениы имена колонок))
//ВыводитьДетали (тип данных булево)
//
&НаКлиенте
Процедура ВывестиТаблицуЗначенийВотчет(тз,СтруктураНастроек=Неопределено,ЗаголовокФормы="") экспорт

 

Пример вывода таблицы значений

Инструкция по внедрению:

 

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

 

Параметр сеанса "Текущий пользователь" используется для определения текущего пользователя.
Модуль сеанса добавлен, для определения текущего пользователя, для демонстрации и тестирования, скорее всего в вашей базе уже есть этот алгоритм.

 

Как использовать возможности этой подсистемы можно посмтореть в отчете "Пример отчета", в составе конфигурации.


Скачать файлы

Наименование Файл Версия Размер
Подсистема вариантов отчетов на СКД 3
.cf 71,96Kb
24.08.15
3
.cf 1 71,96Kb Скачать

См. также

Подписаться Добавить вознаграждение
В этой теме еще нет сообщений.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа