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

12.12.11

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

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


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



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

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

 Возврат;

 Иначе

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

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

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

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



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

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

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

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

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



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

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

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

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

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

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

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

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



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

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

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

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



 КонецЕсли;



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

См. также

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

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

12000 руб.

02.09.2020    171797    962    403    

924

СКД Программист Платформа 1С v8.3 Система компоновки данных Бесплатно (free)

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

24.12.2024    5813    Akcium    13    

41

Запросы СКД Программист Стажер Система компоновки данных Россия Бесплатно (free)

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

15.05.2024    10671    implecs_team    6    

48

Инструментарий разработчика СКД Программист Платформа 1С v8.3 1C:Бухгалтерия Абонемент ($m)

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

3 стартмани

05.02.2024    8048    59    obmailok    21    

80

Запросы СКД Программист Платформа 1С v8.3 Управляемые формы 1C:Бухгалтерия Абонемент ($m)

Есть список полей в виде текста, или запрос - закидываем в набор СКД.

1 стартмани

31.01.2024    3395    6    Yashazz    1    

34

СКД WEB-интеграция Программист Платформа 1С v8.3 1C:Бухгалтерия Абонемент ($m)

Долгое время поддерживаю web-портал, в котором появилась необходимость создавать отчеты. Просмотрев различные фреймворки на js, я решил сделать свое решение, которое позволяло бы быстро разрабатывать и добавлять новые отчеты на web-портал.

2 стартмани

11.12.2023    11643    25    John_d    25    

126

СКД Программист Платформа 1С v8.3 Система компоновки данных 1C:Бухгалтерия Бесплатно (free)

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

05.12.2023    9128    PROSTO-1C    15    

69
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
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 125 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 15 16.12.11 16:08 Сейчас в теме
Печатные формы "ТЧ документа с использованием СКД" очень распространены в УТ 11. Рекомендую ознакомится с печатью документа "ПриказНаПроведениеИнвентаризацииТоваров" - "печать инвентаризационной описи". там собираются данные из 3 документов ссылающихся на текущий документ.
На мой взгляд автору сего опуса будет полезно.
10. mikhailv 20 01.08.12 11:17 Сейчас в теме
"ПриказНаПроведениеИнвентаризацииТоваров" - "печать инвентаризационной описи"

(6) isn, ткните носом: в модуле документа не увидел схемы. Только стандартный запрос и макет.
(детально смотрел СформироватьПечатнуюФормуИНВ3, если имелась в виду "Инвентаризационная опись ИНВ3")
7. Valerich 1637 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 Сейчас в теме
Мне показалось важным еще один момент: при инициализации процессора компоновки данных, если в отчете использовались вычисляемые поля при помощи функций общего модуля, необходимо устанавливать флаг использования.
Оставьте свое сообщение