Шаблон внешней печатной формы в управляемом приложении. Пример создания печатной формы.

09.02.14

Разработка - Инструментарий разработчика

Данная статья посещена для тех, кто пытается сделать внешнюю печатную форму в 1С на основе типовых форм. Отладка печатной формы в клиент-серверном варианте из под тонкого клиента.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Шаблон печатной формы (УП)
.epf 10,33Kb
470 2 500 руб. Купить
СчетНаОплату
.epf 17,99Kb
192 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

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

 

Хочу поблагодарить автора Stradivari за хорошую статью //infostart.ru/public/180159/, которая помогла мне в написании данной публикации.

Также автор Поручик с обработкой по отладке внешних печатных форм //infostart.ru/public/73691/

Вступление.

Пример будет базироваться на типовом отчете из документа "СчетНаОплатуПокупателю". Файл шаблона можно взять во вложении.

 

Первый этап: Поиск типового шаблона и модулей

1. Скачиваем ИСХОДНЫЙ ШАБЛОН приложенный к данной статье "Шаблон печатной формы (УП).epf". 

 

2. Создаем копию ИСХОДНОГО ШАБЛОНА даем ему название на пример "СчетНаОплату.epf", далее открываем его в конфигураторе. Это будет наш ШАБЛОН, с которым мы будем далее работать.

 

3. В дереве конфигуратора находим документ, печатную форму которого мы планируем переделать. В нашем случае - это документ "СчетНаОплатуПокупателю"

 

  4. Копируем в буфер макет

 

5. Помещаем скопированный макет в наш ШАБЛОН "СчетНаОплату"

 

 

6. Открываем модуль менеджера документа "СчетНаОплатуПокупателю"

Находим процедуре "Печать".  Обратите внимание, что в данной процедуре находятся все функции печати документа.

Для примера я возьму одну из них:

    Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "СчетЗаказСПечатью") Тогда
       
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "СчетЗаказСПечатью", "Счет на оплату",
           
ПечатьДокумента(МассивОбъектов, ОбъектыПечати, Истина),,"Документ.СчетНаОплатуПокупателю.ПФ_MXL_СчетЗаказ");
    КонецЕсли;

Итак, как вы можете видеть нам нужна Функция "ПечатьДокумента". Найдем ее в модуле менеджера и скопируем в наш Шаблон.

 

7. Нажимаем на кнопку "Проверка модуля" или сочетание клавиш (Ctl+F7)

Получаем сообщение со списком ошибок:

     {ВнешняяОбработка.СчетНаОплатуПокупателя.МодульОбъекта(118,17)}: Процедура или функция с указанным именем не определена (ПолучитьТекстЗапросаДляФормированияПечатнойФормыСчетаНаОплатуПокупателю)
     Запрос.Текст = <>ПолучитьТекстЗапросаДляФормированияПечатнойФормыСчетаНаОплатуПокупателю(); (Проверка: Сервер)
{ВнешняяОбработка.СчетНаОплатуПокупателя.МодульОбъекта(138,3)}: Процедура или функция с указанным именем не определена (ВывестиЗаголовокПредупреждение)
     <>ВывестиЗаголовокПредупреждение(Шапка.Получатель, ТабличныйДокумент, Макет); (Проверка: Сервер)

Из текста предупреждения видно, что не хватает еще двух Функций/Процедур:

а. ПолучитьТекстЗапросаДляФормированияПечатнойФормыСчетаНаОплатуПокупателю()

б. ВывестиЗаголовокПредупреждение(Шапка.Получатель, ТабличныйДокумент, Макет)

 

Перенесем их из модуля менеджера документа СчетНаОплатуПокупателя в наш ШАБЛОН и повторно нажмем на кнопку "Проверка модуля".

 

8. Пункт 7 необходимо производить до тех пор, пока не появится сообщение:

     Синтаксических ошибок не обнаружено!

9. Остался последний нюанс.

      а. В ШАБЛОНЕ находим функцию ПечатьДокумента(), в ней находим строку где определяется переменная "Макет = " и комментируем ее.

      в. Вместо закомментированной строки определим переменную "Макет = " указав путь к нашему макету см. п.4.

 У вас должно получиться следующее:

      //Макет = УправлениеПечатью.ПолучитьМакет("Документ.СчетНаОплатуПокупателю.ПФ_MXL_СчетЗаказ");
     
Макет = ЭтотОбъект.ПолучитьМакет("ПФ_MXL_СчетЗаказ");


10. Заполним сведения о Печатной форме, которая находятся под Функция СведенияОВнешнейОбработке()

      а. Идентификатор    = "СчетНаОплатуПокупателя"   //Идентификатор внешней печатной формы

      б. Представление   =   "Счет";      //Имя команды в интерфейсе

      в. ПрефиксВПФ          = "Внешний";     //Префикс добавляемый к имени команды интерфейса, для отделения от встроенных команд (ХХХХХХХ)

      г. МассивНазначений = Новый Массив; //Массив объектов метаданных, для которых будут определены печатная форма

         МассивНазначений.Добавить("Документ.СчетНаОплатуПокупателю");  // в нашем случае - это документ СчетНаОплатуПокупателю. Название копируем из конфигуратора см. п.3. Может быть массив документов, если печатная форма работает с несколькими типами документов.

 

Всего за 10 пунктов мы смогли сделать внешнюю печатную форму, на основе типового СчетаНаОплату.

Далее вы дорабатываете его в соответствии с потребностями вашего предприятия.

 

И теперь самое приятное.

Данная обработка позволяет производить отладку в клиент-серверном режиме (в тонком клиенте).

 

Это был мой первый опыт написания подобных статей, прошу не судить строго.


Спасибо всем, кто дочитал до конца.


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

Шаблон печатной формы Внешняя печатная форма Бухгалтерия 3.0 Печатная форма Печатная форма управляемое приложение Отладка печатной формы

См. также

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

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

16500 руб.

02.09.2020    277816    1564    423    

1205

Разработка Инструментарий разработчика Групповая разработка (Git, хранилище) Программист Платные (руб)

Практический курс по работе с AI-агентами для разработчиков 1С уровня middle и senior, а также тимлидов команд: от постановки задач и передачи контекста до создания расширений, интеграций, MCP-инструментов, тестов и проверки готового решения.

50000 руб.

10.09.2026    2085    17    0    

11

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

Расширение для создания и редактирования печатных форм в системе 1С:Предприятие 8.3. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и прозрачность разработки, а также навести порядок в многообразии корпоративных печатных форм. Обновление версии от 21.04.26

22570 руб.

06.10.2023    42396    117    54    

131

Инструментарий разработчика Разработка Администрирование веб-серверов Системный администратор Программист Бизнес-аналитик Руководитель проекта 1С 8.3 Платные (руб)

Analyzer 1C сводит выгрузку 1С — основную конфигурацию и все расширения — в единый граф знаний. Любой запрос по связям за доли секунды, с пометками «Доб.» / «Заимств.» / «Переопределено». Новое в 2.0 — обновление поставки: сравнение и объединение версий деревом «как в Конфигураторе» с выгрузкой плана решений; поиск конфликтов из-за перехватов расширений и висячих ссылок; загрузка из бинарных .cf/.cfe; циклические зависимости. Плюс анализ влияния, запросы BSL, роли и RLS, граф вызовов. Минута на развёртывание через Docker без необходимости подключения к Интернет. Любая 1С:Предприятие 8.3+.

14000 руб.

17.04.2026    12859    50    62    

59

Инструментарий разработчика Нейросети Платные (руб)

Первые попытки разработки на 1С с использованием больших языковых моделей (LLM) могут разочаровать. LLMки сильно галлюцинируют, потому что не знают устройства конфигураций 1С, не знают нюансов синтаксиса. Но если дать им подсказки с помощью MCP, то результат получается кардинально лучше. Далее в публикации: MCP для поиска по метаданным 1С, справке синтакс-помощника и проверки синтаксиса.

15250 руб.

25.08.2025    70622    139    41    

148

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

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

17000 руб.

10.11.2023    27788    101    46    

107

Мастера заполнения Поиск данных Инструментарий разработчика Подбор и обработка объектов 1С 8.3 1С 8.5 Платные (руб)

Infostart MagicInput улучшает подбор в полях ввода 1С: ищет по любой части названия и по нескольким ключевым фрагментам, распознаёт ввод в другой раскладке и показывает иконки/статусы объектов прямо в списке. Поддерживает вставку навигационной ссылки/представления документа для автоподбора; для разработчиков доступны поиск по GUID и полному имени предопределённого. Работает в управляемых формах и подключается в большинстве конфигураций 1С 8.3/8.5. Работает на возможностях платформы, внешние компоненты не используются.

6000 руб.

25.02.2026    6031    21    1    

21
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. DAnry 9 15.01.14 17:59 Сейчас в теме
Спасибо, тема актуальна.
2. SotNick 23 18.02.14 21:41 Сейчас в теме
Очень Вам благодарна! Сколько я промучилась с этими управляемыми формами для Камин 3.0, Ваша статья меня просто спасла:) Так все просто расписано. Спасибо, спасибо, спасибо!
3. Death_eye 27.02.14 17:20 Сейчас в теме
Спасибо, скачал только СчетНаОплату. Его и использую как шаблон.
4. Alik_1c 03.03.14 08:44 Сейчас в теме
Ошибка БП 3,0 (3.0.30.12)

яКлиентСервер.Модуль(759)}: Неправильный формат параметра СтрокаВерсии1: 1.0
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
5. Alik_1c 05.03.14 06:16 Сейчас в теме
6. hillsnake 36 20.03.14 21:03 Сейчас в теме
15. Anchoret 69 19.12.14 12:33 Сейчас в теме
(5) Alik_1c, что было, как решил?
7. z-alexey 1200 22.03.14 13:10 Сейчас в теме
Есть ошибка. В строке:
ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("1.0");

нужно заменить:
ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("1.0.0.0");
olololeg; rosys2; Apelsinka; elayja_k; +4 Ответить
21. Apelsinka 7 11.03.15 15:47 Сейчас в теме
(7) z-alexey, огромная благодарность)) сэкономила время))
8. kanalex 23 25.03.14 09:26 Сейчас в теме
а вот такой вопрос теоритический...

Можно сделать внешнюю печатную форму и прикрутить ее не к документу, а к справочнику?
Например, кадры просят поправить формы, печать которых вызывается из элемента справочника сотрудников.
9. mikhailovaew 127 08.04.14 17:23 Сейчас в теме
(8) можно, механизм регистрации абсолютно тот же самый
10. pricec 50 13.05.14 20:47 Сейчас в теме
у меня не работает(
при запуске, через файл открыть

поле объекта недоступно для записи(ЭтотОБъект)

бухгалтерия 3.0.30.15

через дополнительные отчеты и обработки работает
11. IrinaU 21.07.14 10:39 Сейчас в теме
Очень Вам благодарна за статью. Действовала аналогично, но не работало. Статья четко раскладывает все по полочкам. Теперь всё работает!!! Спасибо автору.
12. 79123890854 23.09.14 10:13 Сейчас в теме
Бухгалтерия предприятия 3.0.35.24
при запуске, через файл открыть
поле объекта недоступно для записи(ЭтотОБъект), как победить?
Arc; irbek; makcbol1; Yackov; +4 Ответить
14. Yackov 98 21.11.14 09:41 Сейчас в теме
(12) 79123890854, Та же беда..
23. Roman_Go 2 30.06.15 10:18 Сейчас в теме
(12) 79123890854, переименую переменную например в фЭтотОбъект
фЭтотОбъект = РеквизитФормыВЗначение("Объект");
	МассивОбъектов = Новый Массив;
	МассивОбъектов.Добавить(Объект.СсылкаНаОбъект);
	
	ОбъектыПечати 		  = Новый СписокЗначений;
	КоллекцияПечатныхФорм = УправлениеПечатью.ПодготовитьКоллекциюПечатныхФорм(фЭтотОбъект.Идентификатор);
	ПараметрыВывода 	  = УправлениеПечатью.ПодготовитьСтруктуруПараметровВывода();

	фЭтотОбъект.Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода);
	
	ТабДок = КоллекцияПечатныхФорм[0].ТабличныйДокумент;
Показать
13. vlaskin 83 12.11.14 13:56 Сейчас в теме
Спасибо, актуально.
16. Leoway 167 19.12.14 15:37 Сейчас в теме
Измените имя переменно "ЭтотОБъект", на любое другое.
17. st13 15.01.15 12:21 Сейчас в теме
в новых версиях "ЭтотОбъект" - зарезервировано системой, нужно изменить название переменной и всё будет хорошо.
18. mavom 4 29.01.15 15:21 Сейчас в теме
Спасибо, актуально.
19. Gremlin 9 02.02.15 16:05 Сейчас в теме
Спасибо тебе, добрый человек. Очень облегчил этот шаблон процесс создания печатных форм для моих капризных бухов.
20. Apelsinka 7 11.03.15 15:46 Сейчас в теме
Спасибо за обработку, для обычного приложения уже попробовали, а тут приспичило для управляемых форм. Супер, все просто и понятно.
22. nnickname 26.03.15 10:42 Сейчас в теме
Использовал для ERP 2.0. Не взлетало при отладке из формы обработки, пока не поменял в модуле формы
ОбъектыПечати = Новый Массив; 

на
ОбъектыПечати = Новый СписокЗначений;

А так хорошая обработка, спасибо!
24. Poplar 26.06.16 19:02 Сейчас в теме
Хороший шаблон. Решил воспользоваться. В результате сократил время на создание ВПФ.
25. frkbvfnjh 825 09.09.21 08:29 Сейчас в теме
Единственная нормальная, человеческая статья, написанная простым языком, о том как можно сделать внешнюю печатку. Спасибо!
26. Leoway 167 13.09.21 22:56 Сейчас в теме
(25) Пожалуйста. Статья 100 летней давности. Странно что ее еще читают.
Для отправки сообщения требуется регистрация/авторизация