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

12.12.11

Разработка - СКД

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


Процедура ОсновныеДействияФормыПечать(Кнопка)



 Если
Ссылка = Документы.РасчетЗаказа.ПустаяСсылка() тогда

 
Предупреждение("Документ не записан");

 Возврат;

 Иначе

 
Схема = ПолучитьМакет("Макет1");

 
Настройки = Схема.НастройкиПоУмолчанию;

 
КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных();

 
КомпоновщикНастроек.ЗагрузитьНастройки(Настройки);



 
ПараметрДок = Новый ПараметрКомпоновкиДанных("документ");

 
ЗначениеПараметраДок = КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(ПараметрДок);

 
ЗначениеПараметраДок.Значение = Ссылка;

 
ЗначениеПараметраДок.Использование = Истина;

 
Настройки = КомпоновщикНастроек.Настройки;



 
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;

 
МакетКомпоновки = КомпоновщикМакета.Выполнить(Схема, Настройки);

 
ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;

 
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки);

 
ДокументРезультат = Новый ТабличныйДокумент;

 
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;

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

 
ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);



 
ДокументРезультат.ОтображатьЗаголовки = Ложь;

 
ДокументРезультат.ОтображатьСетку = Ложь;

 
ДокументРезультат.АвтоМасштаб = Истина;

 
ДокументРезультат.Показать();



 КонецЕсли;



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

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

См. также

Инструментарий разработчика Роли и права Запросы СКД Программист Руководитель проекта 1С:Предприятие 8 Платные (руб)

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

16500 руб.

02.09.2020    247730    1365    421    

1134

Инструментарий разработчика СКД Программист 1С 8.3 Бесплатно (free)

В этой статье представлен СКДБилдер — общий модуль-обёртка над объектной моделью СКД, который сокращает код в 3-4 раза и делает его читаемым.

29.01.2026    5314    296    shapa_pro    25    

66

СКД Программист 1С:Предприятие 8 Бесплатно (free)

Статья написана по результатам проведенного внутреннего обучающего вебинара для разработчиков ГК «СофтБаланс». Если осилить 25 000 знаков - задача для вас непосильная, где-то на бескрайних просторах интернета видео есть (или будет). Но здесь информация точнее. Разберем, чем запрос для СКД принципиально отличается от обычного запроса и как модифицируется в зависимости от настроек. Изучим «базовый рецепт» написания запроса для СКД, сформируем чек-лист. Полезно будет всем – от стажеров до тех. лидов. Всем, кто не снимает галку «автозаполнение» и пишет запросы для отчетов в консоли запросов – читать (вдумчиво) обязательно.

29.10.2025    16312    ovetgana    112    

106

СКД Программист 1С:Предприятие 8 Бесплатно (free)

Описан способ заполнения списка доступных значений для полей наборов данных и параметров в схеме компоновки данных для любых конфигураций (с использованием БСП или без).

01.07.2025    9449    krasnoshchekovpavel    5    

67

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

Несколько способов управления формами выбора параметров и отборов СКД.

10.04.2025    8660    Neti    0    

41

СКД Программист 1С:Предприятие 8 Бесплатно (free)

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

27.02.2025    15694    ovetgana    50    

93

СКД Программист 1С:Предприятие 8 Бесплатно (free)

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

24.12.2024    13265    Akcium    17    

46

СКД Механизмы типовых конфигураций Запросы Программист 1С:Предприятие 8 1С:Зарплата и кадры государственного учреждения 3 1С:Зарплата и Управление Персоналом 3.x Россия Бесплатно (free)

Работая с типовыми отчетами в конфигурациях «Зарплата и управление персоналом, редакция 3», «Зарплата и кадры государственного учреждения, редакция 3» и подобных, в схемах компоновки данных можно встретить конструкции запросов, которые обращаются к некоторым виртуальным таблицам.

20.08.2024    9786    AlexeyPROSTO_1C    1    

32
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
0. sanja 154 12.12.11 14:09 Сейчас в теме
Создаем макет СКД, там произвольно или с какими-нибудь условиями выбираем в наборе данных поля табличной части, ставим условие на документ владелец, и задаем оформление. В форме документа добавляем кнопку печать, прописываем в параметрах наш документ и оп-ля - печатная форма готова

Перейти к публикации

1. Yasen 490 12.12.11 14:09 Сейчас в теме
Это все замечательно конечно, но кто потом за Вами будет конфигурацию обновлять?

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

Ни одна из "1С:Комплексная автоматизация 8, 1С:Бухгалтерия 8, 1С:Зарплата и Управление Персоналом 8, 1С:Управление торговлей 8, 1С:Управление производственным предприятием 8" не годится для предлагаемого решения.
Минус.

Доржи, и зачем же ты придумал инфостарт-деньги...
SiAl; Winstoncuk; +2 2 Ответить
4. fomix 33 14.12.11 11:45 Сейчас в теме
(1) Yasen,
Может (sanja) Алек4сандр и не знает как ими (внешними формами) пользоваться?! А так, кто мешает подобный механизм реализовать во внешней печатной форме...
2. sanja 154 12.12.11 16:47 Сейчас в теме
Добавленная кнопка с процедурой и макет нисколько не усложнят обновление с новыми возможностями платформы... Создание внешней печатной формы вообще не проблема: создать внешнюю обработку, создать макет СКД, в модуле прописать экспортную функцию печать, далее вставить код из публикации. Все
Минус не понимаю. И причем тут инфостарт-деньги, публикация выложена текстом
Gendelf; Serg_KSV; ben19791010; Vary; +4 Ответить
3. vkt 126 13.12.11 12:17 Сейчас в теме
(2)
Публикация имеет место быть. В существующем потоке информации не всегда можно легко найти то что нужно. А здесь - то что проверено и работает. Применять или нет - дело личное.

sanja, ты бы еще файлик с реализованным примером выложил для наглядности
11. MyPuK_OLD 28.04.13 11:17 Сейчас в теме
(2) Доброго времени суток!!!
Можно ли получить более подробное описание?..Желательно со скринами как сделать вот это все: "Создаем макет СКД, там произвольно или с какими-нибудь условиями выбираем в наборе данных поля табличной части, ставим условие на документ владелец, и задаем оформление"...
5. dim0n_la 94 14.12.11 13:22 Сейчас в теме
В каком-то очень частном случае может и нужна такая печатная форма..
6. isn 17 16.12.11 16:08 Сейчас в теме
Печатные формы "ТЧ документа с использованием СКД" очень распространены в УТ 11. Рекомендую ознакомится с печатью документа "ПриказНаПроведениеИнвентаризацииТоваров" - "печать инвентаризационной описи". там собираются данные из 3 документов ссылающихся на текущий документ.
На мой взгляд автору сего опуса будет полезно.
10. mikhailv 20 01.08.12 11:17 Сейчас в теме
"ПриказНаПроведениеИнвентаризацииТоваров" - "печать инвентаризационной описи"

(6) isn, ткните носом: в модуле документа не увидел схемы. Только стандартный запрос и макет.
(детально смотрел СформироватьПечатнуюФормуИНВ3, если имелась в виду "Инвентаризационная опись ИНВ3")
7. Valerich 1638 19.12.11 11:14 Сейчас в теме
Если Ссылка = Документы.РасчетЗаказа.ПустаяСсылка() тогда


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

Очень начинающий код.

Советую автору не выкладывать в виде обработок, а выносить в форум на обсуждение (если действительно хочет научиться, а не набрать плюсиков на неограниченное скачивание).
8. master_yoda 27 12.01.12 16:04 Сейчас в теме
Да и еще один момент:

ЗначениеПараметраДок.Использование = Истина; не в том месте стоит

надо ставить перед

ЗначениеПараметраДок.Значение = Ссылка;

Согласе с тем что это очень начинающий код
9. Jon2011 80 28.02.12 19:32 Сейчас в теме
Полезная вещь. Сам долго ковырялся с настройкой СКД, а тут все на конкретном примере показано. Спасибо.
Такая форма нужна чтобы не мудрить табличные макеты, с их бесконечными настройками.
12. MyPuK_OLD 06.05.13 08:15 Сейчас в теме
В эту публикацию заглядывает хоть кто-нибудь?..
13. ya.Avoronov 115 03.11.15 11:54 Сейчас в теме
Отлично работающий код! Спасибо!
14. busy1 11 09.04.19 23:15 Сейчас в теме
Официальный пример от разработчиков, приведен в книге Хрусталева Е.Ю. "Разработка сложных отчетов". Страница.189.
https://its.1c.ru/db/pubcomplexreports#content:65:hdoc
asv_izts; +1 Ответить
15. G_117106206056832682599 11.05.21 14:37 Сейчас в теме
Мне показалось важным еще один момент: при инициализации процессора компоновки данных, если в отчете использовались вычисляемые поля при помощи функций общего модуля, необходимо устанавливать флаг использования.
Для отправки сообщения требуется регистрация/авторизация