По теме из базы знаний
- Динамическая генерация кодов маркировки в отчете СКД с помощью БСП. УТ 11.4
- Внешний отчет на СКД "Ошибки технологического журнала". Для любой типовой конфигурации 1С: Предприятие 8.3
- Программное открытие отчета СКД с параметрами и отбором
- Доработка типового отчета на СКД с помощью расширения
- По-настоящему свои макеты в отчетах СКД. Исследование процесса компоновки и генерация кода отчета
Найденные решения
(1) Это шаблон для обычных форм - моя публикация https://infostart.ru/public/1051297/
Прикрепленные файлы:
ШаблонОтчетаСФормойЗагрузкиЭлементовОтбораИзФайла.erf
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) Это шаблон для обычных форм - моя публикация https://infostart.ru/public/1051297/
Прикрепленные файлы:
ШаблонОтчетаСФормойЗагрузкиЭлементовОтбораИзФайла.erf
(12)
Процедура ПриОткрытии()
КонецПроцедуры
Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
ПараметрДатаНач = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("НачалоПериода");
ПараметрДатаНач.Использование = Истина;
ПараметрДатаНач.Значение = ДатаНач;
ПараметрДатаКон = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("КонецПериода");
ПараметрДатаКон.Использование = Истина;
ПараметрДатаКон.Значение = ДатаКон;
ПараметрОрганизация = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("Организация");
ПараметрОрганизация.Использование = Истина;
ПараметрОрганизация.Значение = Организация;
КонецПроцедуры
Процедура ДействияФормыСформировать(Кнопка)
ПараметрДатаНач = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("НачалоПериода");
ПараметрДатаНач.Использование = Истина;
ПараметрДатаНач.Значение = ДатаНач;
ПараметрДатаКон = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("КонецПериода");
ПараметрДатаКон.Использование = Истина;
ПараметрДатаКон.Значение = ДатаКон;
ПараметрОрганизация = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("Организация");
ПараметрОрганизация.Использование = Истина;
ПараметрОрганизация.Значение = Организация;
СформироватьОтчет();
КонецПроцедуры
Процедура ДатаНачПриИзменении(Элемент)
ПараметрДатаНач = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("НачалоПериода");
ПараметрДатаНач.Использование = Истина;
ПараметрДатаНач.Значение = НачалоДня(ДатаНач);
КонецПроцедуры
Процедура ДатаКонПриИзменении(Элемент)
ПараметрДатаКон = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("КонецПериода");
ПараметрДатаКон.Использование = Истина;
ПараметрДатаКон.Значение = КонецДня(ДатаКон);
КонецПроцедуры
Процедура ОрганизацияПриИзменении(Элемент)
ПараметрОрганизация = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("Организация");
ПараметрОрганизация.Использование = Истина;
ПараметрОрганизация.Значение = Организация;
КонецПроцедуры
Процедура ВыборПериодаНажатие(Элемент)
НП = Новый НастройкаПериода;
НП.ВариантНастройки = ВариантНастройкиПериода.Период;
НП.УстановитьПериод(НачалоДня(ДатаНач), ?(ДатаКон = '00010101', ДатаКон, КонецДня(ДатаКон)));
Если НП.Редактировать() Тогда
ДатаНач = НП.ПолучитьДатуНачала();
ДатаНачПриИзменении(ДатаНач);
ДатаКон = НП.ПолучитьДатуОкончания();
ДатаКонПриИзменении(ДатаНач);
КонецЕсли;
КонецПроцедуры
Процедура ПриОткрытии()
КонецПроцедуры
Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
ПараметрДатаНач = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("НачалоПериода");
ПараметрДатаНач.Использование = Истина;
ПараметрДатаНач.Значение = ДатаНач;
ПараметрДатаКон = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("КонецПериода");
ПараметрДатаКон.Использование = Истина;
ПараметрДатаКон.Значение = ДатаКон;
ПараметрОрганизация = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("Организация");
ПараметрОрганизация.Использование = Истина;
ПараметрОрганизация.Значение = Организация;
КонецПроцедуры
Процедура ДействияФормыСформировать(Кнопка)
ПараметрДатаНач = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("НачалоПериода");
ПараметрДатаНач.Использование = Истина;
ПараметрДатаНач.Значение = ДатаНач;
ПараметрДатаКон = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("КонецПериода");
ПараметрДатаКон.Использование = Истина;
ПараметрДатаКон.Значение = ДатаКон;
ПараметрОрганизация = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("Организация");
ПараметрОрганизация.Использование = Истина;
ПараметрОрганизация.Значение = Организация;
СформироватьОтчет();
КонецПроцедуры
Процедура ДатаНачПриИзменении(Элемент)
ПараметрДатаНач = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("НачалоПериода");
ПараметрДатаНач.Использование = Истина;
ПараметрДатаНач.Значение = НачалоДня(ДатаНач);
КонецПроцедуры
Процедура ДатаКонПриИзменении(Элемент)
ПараметрДатаКон = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("КонецПериода");
ПараметрДатаКон.Использование = Истина;
ПараметрДатаКон.Значение = КонецДня(ДатаКон);
КонецПроцедуры
Процедура ОрганизацияПриИзменении(Элемент)
ПараметрОрганизация = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("Организация");
ПараметрОрганизация.Использование = Истина;
ПараметрОрганизация.Значение = Организация;
КонецПроцедуры
Процедура ВыборПериодаНажатие(Элемент)
НП = Новый НастройкаПериода;
НП.ВариантНастройки = ВариантНастройкиПериода.Период;
НП.УстановитьПериод(НачалоДня(ДатаНач), ?(ДатаКон = '00010101', ДатаКон, КонецДня(ДатаКон)));
Если НП.Редактировать() Тогда
ДатаНач = НП.ПолучитьДатуНачала();
ДатаНачПриИзменении(ДатаНач);
ДатаКон = НП.ПолучитьДатуОкончания();
ДатаКонПриИзменении(ДатаНач);
КонецЕсли;
КонецПроцедуры
и вот еще с модуля объекта
Процедура СформироватьОтчет() Экспорт;
//Получаем схему из макета
СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
//Из схемы возьмем настройки по умолчанию
Настройки = Новый КомпоновщикНастроекКомпоновкиДанных ;//СхемаКомпоновкиДанных.НастройкиПоУмолчанию;
ПараметрДатаНач = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("НачалоПериода");
ПараметрДатаНач.Использование = Истина;
ПараметрДатаНач.Значение = ДатаНач;
ПараметрДатаКон = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("КонецПериода");
ПараметрДатаКон.Использование = Истина;
ПараметрДатаКон.Значение = ДатаКон;
ПараметрОрганизация = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("Организация");
ПараметрОрганизация.Использование = Истина;
ПараметрОрганизация.Значение = Организация;
//Помещаем в переменную данные о расшифровке данных
ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;
//Формируем макет, с помощью компоновщика макета
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
//Передаем в макет компоновки схему, настройки и данные расшифровки
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки.Настройки , ДанныеРасшифровки);
//Выполним компоновку с помощью процессора компоновки
ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки,,
ДанныеРасшифровки);
//Очищаем поле табличного документа
Результат = ПолучитьФорму("ФормаОтчета").ЭлементыФормы.Результат;
Результат.Очистить();
//Выводим результат в табличный документ
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(Результат);
ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
КонецПроцедуры
Процедура СформироватьОтчет() Экспорт;
//Получаем схему из макета
СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
//Из схемы возьмем настройки по умолчанию
Настройки = Новый КомпоновщикНастроекКомпоновкиДанных ;//СхемаКомпоновкиДанных.НастройкиПоУмолчанию;
ПараметрДатаНач = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("НачалоПериода");
ПараметрДатаНач.Использование = Истина;
ПараметрДатаНач.Значение = ДатаНач;
ПараметрДатаКон = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("КонецПериода");
ПараметрДатаКон.Использование = Истина;
ПараметрДатаКон.Значение = ДатаКон;
ПараметрОрганизация = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("Организация");
ПараметрОрганизация.Использование = Истина;
ПараметрОрганизация.Значение = Организация;
//Помещаем в переменную данные о расшифровке данных
ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;
//Формируем макет, с помощью компоновщика макета
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
//Передаем в макет компоновки схему, настройки и данные расшифровки
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки.Настройки , ДанныеРасшифровки);
//Выполним компоновку с помощью процессора компоновки
ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки,,
ДанныеРасшифровки);
//Очищаем поле табличного документа
Результат = ПолучитьФорму("ФормаОтчета").ЭлементыФормы.Результат;
Результат.Очистить();
//Выводим результат в табличный документ
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(Результат);
ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
КонецПроцедуры
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот