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

13.09.24

Разработка - Работа с интерфейсом

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

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

Создаем внешний отчет. Реквизитов не требуется. Формы тоже.

 

 

Создаем свой макет. И, как видите, создаем схему компоновки данных. Вы спросите: а как же «без СКД»? Отвечаю, схема компоновки нужна, только чтобы заполнить параметры. Иначе для отражения и ввода параметров придется создавать свою форму. Нет уж! Пускай штатные механизмы поработают для нас! Если отчет не требует ввода параметров, то и схема компоновки данных нам не потребуется.

Наборы данных пустые, структура отчета тоже:

 

 

 

Заполняем только нужные нам для отчета параметры:

 

 

Далее переходим к обработке команды «Сформировать». Обрабатывается эта команда в модуле объекта в процедуре ПриКомпоновкеРезультата.

Важная деталь: если ваш отчет не потребовал ввода параметров и вы не стали создавать схему компоновки, то при формировании отчета вы увидите фигу в виде сообщения:


 

Чтобы фига не показывалась, начните формирование отчета так:

Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
    СтандартнаяОбработка = Ложь;

Если отчет все же потребовал ввод параметров, то нам нужно вытащить параметры из настроек отчета:

КомпоновщикНастроек.ЗагрузитьНастройки(КомпоновщикНастроек.ПолучитьНастройки());
Параметры = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы;
Период = Параметры.Найти("Период").Значение;
НачалоПериода = Период.ДатаНачала;
КонецПериода = Период.ДатаОкончания;

Так же не забудьте задать представление варианта отчета, из схемы компоновки оно пойдет в заголовок отчета:

 

 

Cобираем табличный документ:

	//Получаем данные для печати
		Запрос = Новый Запрос;
		Запрос.УстановитьПараметр("НачалоПериода",НачалоПериода);
		Запрос.УстановитьПараметр("ОкончаниеПериода",КонецПериода);
		Запрос.Текст = ПолучитьТекстЗапроса();
		РезультатЗапроса = Запрос.Выполнить();
		
	// Заполняем табличный документ	
		ТабДок = Новый ТабличныйДокумент;
		Макет = ПолучитьМакет("Макет");
		
		ОбластьШапка = Макет.ПолучитьОбласть("ОбластьШапка");
		ОбластьСтрока = Макет.ПолучитьОбласть("ОбластьСтрока");
		ОбластьПодвал = Макет.ПолучитьОбласть("ОбластьПодвал");
		
		ОбластьШапка.Параметры.ДатаПриказа = Формат(ТекущаяДата(),"ДФ='dd.MM.yyyy'");
		ТабДок.Вывести(ОбластьШапка);
		
		Выборка = РезультатЗапроса.Выбрать();
		i=0;
		Пока Выборка.Следующий() Цикл
			i=i+1;
			ОбластьСтрока.Параметры.Заполнить(Выборка);
			ОбластьСтрока.Параметры.нпп = i;
			ТабДок.Вывести(ОбластьСтрока);
		КонецЦикла;
		
		СтруктураРуководитель = ПолучитьСтруктуруРуководителя(Справочники.Организации.НайтиПоНаименованию("ООО XYZ"));
		
		ОбластьПодвал.Параметры.РуководительДолжность = СтруктураРуководитель.Должность;
		ОбластьПодвал.Параметры.РуководительФИО = ФизическиеЛицаУТ.ФамилияИнициалыФизЛица(СтруктураРуководитель.ФизическоеЛицо);

		ТабДок.Вывести(ОбластьПодвал);

Передаем наш табличный документ на вывод:

		ДокументРезультат.Очистить();
		ДокументРезультат.Вывести(ТабДок);
КонецПроцедуры

И вот результат наших трудов:

 

 

В печатную форму могут пробраться параметры:

 


 

Избавимся от них через Настройки à Другие настройки В СКД:

 

 

Доклад окончен.

 

Протестировано на Платформе 8.3.25.1374. Управление торговлей 11.5.12.270. 

Вступайте в нашу телеграмм-группу Инфостарт

Отчет Без СКД Управляемые формы Свой макет Управление Торговлей

См. также

Работа с интерфейсом Анализ учета Мониторинг 1С:Предприятие 8 1С 8.3 1C:Бухгалтерия 1С:Бухгалтерия 3.0 1С:Библиотека стандартных подсистем 1С:ERP Управление предприятием 2 1С:Управление холдингом 1С:Зарплата и Управление Персоналом 3.x 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Управление торговлей 11 Платные (руб)

Создайте свой функциональный интерфейс в любой конфигурации 1С с помощью расширения Infostart Dashboard. Настраивайте панели виджетов с метриками, индикаторами и показателями на начальном экране. Узнайте возможность внедрения подсистемы у себя в конфигурации с помощью бесплатной обработки "Анализ внедрения подсистемы 1С Infostart Dashboard"!

28800 руб.

27.03.2025    56399    31    25    

45

Разработка Инструментарий разработчика Работа с интерфейсом Адаптация типовых решений Нейросети 1C:Бухгалтерия 1C:ERP 1С:ЗУП 1С:КА 1С:УНФ 1С:УТ 1С:Розница 1С:ДО 1С:ERP Управление предприятием 2 Платные (руб)

Разработка "Дизайнер форм 1С" реализована в виде расширения 1С и является универсальным инструментом для разработки прототипа форм с целью демонстраций, технических заданий и т.д. Без участия разработчика с возможностью экспорта в файл внешней обработки и генерации формы используя искусственный интеллект.

36000 руб.

28.08.2025    2701    1    2    

4

Работа с интерфейсом Системный администратор Программист 1С:Предприятие 8 1C:Бухгалтерия Платные (руб)

Расширение «Динамическое управление доступом к элементам форм объектов 1С8» предназначен для обеспечения возможности оперативного управления видимостью и доступностью элементов форм документов и справочников продуктов фирмы «1С» «1С:Предприятие 8». Решение универсальное, встраивается в любую конфигурацию с минимальными доработками, что позволяет без проблем обновлять типовые решения.

6000 руб.

14.01.2016    58239    20    25    

46

Работа с интерфейсом Программист 1С:Предприятие 8 1C:Бухгалтерия 1С:ERP Управление предприятием 2 Платные (руб)

Обработка предназначена для создания и управления дашбордами (виджетами) в 1С.

5160 руб.

29.06.2020    22865    32    6    

51

Работа с интерфейсом Программист 1С:Предприятие 8 1C:Бухгалтерия Россия Платные (руб)

Редактор графов в 1С - внешний отчет, который формирует графы на основе таблицы значений, используя рисунки табличного документа. Есть возможность добавления, редактирования объектов графа и выгрузки результата в таблицу значений.

5040 руб.

06.10.2020    12852    8    8    

14

Работа с интерфейсом Программист Стажер 1С:Предприятие 8 Бесплатно (free)

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

20.08.2024    43395    mrXoxot    44    

138

Работа с интерфейсом Программист 1С:Предприятие 8 Бесплатно (free)

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

27.05.2024    24834    smielka    38    

111
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. rambomax 22 16.09.24 08:44 Сейчас в теме
Я не понял смысла: если это "СКД", то в "схеме" есть свои "макеты", которые сделают именно то, что на финальной картинке.
Если не хочется делать с помощью "СКД" - зачем есть кактус и вообще использовать слово "СКД"?
SoLRoN; strelec13; kupala; +3 Ответить
2. umah 85 16.09.24 14:15 Сейчас в теме
(1) Я не люблю макеты из СКД. Этот инструмент как будто пришельцы делали. Отсюда и поиск альтернатив.
Farpost; MrFlanker; baranchikov; +3 Ответить
3. rambomax 22 16.09.24 16:21 Сейчас в теме
(2) Насколько я понимаю - "альтернатива" это обычный "отчёт" или "внешний отчёт", где "макеты", "форма отчёта" и т.п.
СКД это очень простой в понимании инструмент, которые делали умные люди, пытаясь крестить "ужа" и "ежа". В итоге получилось, в целом, неплохо. Проблема в том, что толкового и, главное, понятного обычному человеку "от сохи", руководства до сих пор нет.
Конкретно о том, как любой "обычный" отчёт перевести с любыми "макетами" на СКД, немного нудно, но понятно рассказывает на канале УЦ №1 Сергей Рафаэльевич Арутюнов совершенно бесплатно и чтобы сделать то, что показано в статье конкретно этого небольшого ролика совершенно достаточно.
baranchikov; SoLRoN; strelec13; jovvy-ingrp; +4 Ответить
4. Pashekka 17.09.24 22:40 Сейчас в теме
(3) Ссылочку можно на видео?
5. rambomax 22 18.09.24 17:26 Сейчас в теме
6. Serg O. 314 19.09.24 09:21 Сейчас в теме
(2) Вы не любите кошек ?
- просто Вы не умеете их готовить.

Печатные формы в типовых конфигурациях часто делаются без СКД
и это а-ля "OLD-стайл" версии 1С 7.7

в Вашей статье ничего такого не увидел,
а что-то типа "в обход СКД, используя СКД"...
очень странный способ
8. webester 26 25.09.24 10:57 Сейчас в теме
(6)
Печатные формы в типовых конфигурациях часто делаются без СКД и это а-ля "OLD-стайл" версии 1С 7.7
И это вполне себе норм. Но в некоторых случаях можно прикрутить СКД. Вот как БСП предлагает решать проблему(свой сложный макет) автора. Не всегда это подходит, но в целом мне кажется интересным. Чем в данном конкретном случае который на скрине автора не устроил СКД и свой макет, мне непонятно. Не осилил, штатное решение и набросал велосипед, как умел?
14. Светлый ум 455 23.04.25 08:39 Сейчас в теме
(1) Где-то видел в типовых похожую реализацию
* все, что не запрещено - разрешено
7. strelec13 23 20.09.24 13:36 Сейчас в теме
Этот инструмент как будто пришельцы делали
. Раньше привык по старинке в ручную писать "Заполняем табличный документ". Боялся "пришельцы" (макеты от СКД) или ленился подружиться(изучить) с "пришельцы". Когда освоил макеты от СКД, оказалось это просто и инструменты от "пришельцы" оказались намного умней и компактней кода "Заполняем табличный документ" руками. И описанный подход автором будет отпугивать начинающих в освоении макетов от СКД или воспитывать ленивость у начинающих в освоении передовых технологий на примере макетов в СКД.
11. Torin57 45 12.03.25 09:38 Сейчас в теме
(7) Доброго дня. Что посоветуете для изучения макетов от СКД?
12. strelec13 23 12.03.25 13:23 Сейчас в теме
(11) Буду неоригинален. Книга "Разработка сложных отчетов в «1С:Предприятии 8». Система компоновки данных", примеры из конфигураций и поиск тем по СКД здесь в Инфостарте, где тоже как примеры или советы. Но судя по вашему многолетнему опыту 1С-ника, ваш вопрос похож на иронию.
9. Vinzor 118 28.09.24 23:19 Сейчас в теме
Немало печатных форм, где есть СКД + Макет печатной формы.
В СКД закидываются вводные данные, процессор компоновки формирует результат, например, "Дерево значений".
Потом отдельная процедура длинным кодом на встроенном языке выводит это в макет.
Например, тот же "Расчетный листок" в ЗУПе.

Явление такого сочетания есть, и вряд ли исчезнет в обозримом будущем
Farpost; baranchikov; +2 Ответить
10. user845289 10.12.24 08:39 Сейчас в теме
Автору респект.
(9) прав нет смысла нахваливать скд кому хочется тот его и использует, а юзеры пользуют от безвыходности, а не от того ой какой и классный отчет на скд) Выгружу его в ексель и натрахаюсь от души)
13. Torin57 45 13.03.25 09:01 Сейчас в теме
У этого решения есть одно важное преимущество - оно доступно джунам. Соответственно, джун с доработкой макета отчета, который написан без использования СКД, справится. Если макет от скд, то не факт.
15. Z_Z 02.09.25 10:27 Сейчас в теме
Не все отчеты можно сделать на скд, поэтому эта тема имеет место!
16. MrFlanker 249 23.10.25 10:43 Сейчас в теме
Здесь как миниум показана точка входа для создания отчета без "форм" и "схем компановки" чисто програмно.

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

А мне лично нужен отчет без "форм" который поддерживает подситему БСП "Вариантыотчетов" для включения его в рассылки.

"ВариантыОтчетов" я прикрутил, а как передать параметры и куда вывести результат здесь прекрасно показано.
17. Farpost 117 10.11.25 21:05 Сейчас в теме
То, что доктор прописал - те кто подсел на СКД - ребяты... это как Excel вместо таблицы умножения...
Простые отчеты на СКД - да наверное, но мне например обычно заказывают то, что просто так на СКД не соберешь или будет выглядеть настолько криво, что ну его нах - проще ручками (напильничком) допилить.
Для отправки сообщения требуется регистрация/авторизация