Шаблон внешней печатной формы - управляемое приложение

23.08.21

Учетные задачи - Печатные формы

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

Бесплатные

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

Наименование Скачано Бесплатно
Шаблон внешней печатной формы - управляемое приложение
.epf 8,88Kb
1840 Скачать бесплатно

Добрый день, коллеги. 

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

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

 
 1. Форма обработки

 Для формы обработки осуществлен вызов функции модуля объекта печатной формы. 

&НаСервере
Функция ПечатьСервер() Экспорт
	
	СсылкаОбъект = РеквизитФормыВЗначение("Объект");
	ПечатнаяФорма = СсылкаОбъект.СформироватьПечатнуюФорму(СсылкаНаОбъект);
	
	Возврат ПечатнаяФорма;
	
КонецФункции


&НаКлиенте
Процедура Печать(Команда)
	
	ПечатнаяФОрма= ПечатьСервер();
	
	ПечатнаяФОрма.Показать();
	
КонецПроцедуры

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

 
 2. Сведения об обработке 

 То, что подчеркнуто, нужно заменить. 

1. Объект, из которого вызывается форма. 
2. Наименование в справочнике внешней обработки. 
3. Описание обработки. 
4. Команда, которую можно увидеть, при нажатии на "Печать". 
 

 
 3. Печать 

 Также в команде - "Печать" 
5. Имя под которым будет сохранена печатная форма, при сохранении в файл. 


МассивОбъектов - массив, заполненный ссылками на печатаемые объекты. Для шаблона я сделал печать одного объекта - первого элемента массива. 

Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
	
	УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "Макет", "Шаблон внешней печатной формы", СформироватьПечатнуюФорму(МассивОбъектов[0]));
	
КонецПроцедуры

&НаСервере
Функция СформироватьПечатнуюФорму(СсылкаНаДокумент) Экспорт
	
	СтруктураПараметров = Новый Структура;
	
	ЗаполнитьСтруктуруПараметровШаблона(СсылкаНаДокумент, СтруктураПараметров);	
	
	ТабличныйДокумент = Новый ТабличныйДокумент;	
	
	Макет = ПолучитьМакет("ОсновнойМакет");
	
	ОбластьШапки   = Макет.ПолучитьОбласть("ШаблонШапки");
	ОбластьШапки.Параметры.Заполнить(СтруктураПараметров); 
	
	ТабличныйДокумент.Вывести(ОбластьШапки);
	ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
	ТабличныйДокумент.АвтоМасштаб = Истина;
	
	Возврат ТабличныйДокумент;
	
КонецФункции


В процедуре печать - шаблон вывода простого параметра в табличный документ. 
Результат такой.

Прикладываю файл внешней обработки. Тестировал на платформе - 1С:Предприятие 8.3 (8.3.18.1289). В Бухгалтерия предприятия, редакция 3.0 (3.0.89.51). Важно, что это управляемая форма. 


 

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

Шаблон Печатная Форма Внешняя Управляемая

См. также

Пакетная печать Печатные формы Инструментарий разработчика Программист 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Библиотека стандартных подсистем Платные (руб)

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

22200 руб.

06.10.2023    29317    77    30    

104

Печатные формы Учет рабочего времени Учет ОС и НМА Бухгалтер 1С v8.3 Бухгалтерский учет Оперативный учет Управляемые формы 1С:ERP Управление предприятием 2 1C:ERP Транспорт, автопарки, такси Оптовая торговля, дистрибуция, логистика Россия Бухгалтерский учет Управленческий учет Платные (руб)

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

25200 руб.

23.07.2025    2007    6    0    

6

Печатные формы Взаиморасчеты Оптовая торговля Производство готовой продукции (работ, услуг) Акт сверки Бухгалтер Пользователь Оперативный учет Управляемые формы 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Бухгалтерский учет Управленческий учет Платные (руб)

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

14400 руб.

13.03.2018    66647    242    80    

122

Печатные формы Бухгалтер 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Транспорт, автопарки, такси Бухгалтерский учет Платные (руб)

Учет путевых листов выполнен в виде расширения. Предназначен для учета путевых листов в конфигурации БП 3.0., УТ 11.5 и КА 2.5 Печатная форма: Типовая межотраслевая форма № 3. Утверждена постановлением Госкомстата России от 28.11.97 № 78. Типовая межотраслевая форма № 4-П от 18.09.2008 г. N 152 с учетом изменений указанных в Приказе Министерства транспорта Российской Федерации №368 от 11 сентября 2020 г. №368, Типовая межотраслевая форма № ЭСМ-7, и др. ЭСМ-2, 4-С, 3 спец., 6 спец., ПЛ для Автомобильного крана.

5000 руб.

14.10.2019    42706    297    216    

200

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

Откройте для себя заполнение КС-2 и КС-3 в "1С:Бухгалтерия 3.0". Вы получаете удобство, скорость и систему, чтобы заполнить, распечатать и сохранить формы КС-2 и КС-3 из документов "Оказание производственных услуг" или "Реализация товаров услуг". Вы можете заполнить дополнительную информацию о материалах из документов "Требование-накладная" и указать сведения, которые не предусмотрены типовой конфигурацией "1С:Бухгалтерия 3.0". Так же доступно множество настроек для формирования КС-2 и КС-3.

9600 руб.

13.02.2019    109196    478    46    

469

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

Научите вашу 1C печатать из 1С в файл Word (Например: трудовые договоры, договоры с контрагентами, спецификации, дополнительные соглашения, приказы, коммерческие предложения, акты, накладные, карточки партнера или любого справочника и многие другие). Универсальная печать предназначена для формирования печатных форм на основе шаблонов в формате Word из любой конфигурации 1С. С помощью данного инструмента можно самостоятельно заполнить шаблон реквизитами справочника или документа 1С и сформировать печатные формы на основании ссылки на любой объект.

6192 руб.

08.10.2019    52588    349    107    

184

Печатные формы Логистика, склад и ТМЦ Бухгалтер 1С v8.3 Бухгалтерский учет Оперативный учет Управляемые формы 1С:Комплексная автоматизация 2.х Транспорт, автопарки, такси Оптовая торговля, дистрибуция, логистика Россия Бухгалтерский учет Управленческий учет Платные (руб)

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

13200 руб.

27.06.2023    6532    20    2    

21
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Dmitrij-2 48 02.05.21 23:50 Сейчас в теме
это наверно 101 шаблон. Вот куча шаблонов https://infostart.ru/public/1236630/
2. al_zzz 323 17.06.21 05:36 Сейчас в теме
(1) Там, бесспорно, полезная публикация, но за см. А тут человек бесплатно выложил. От души, так сказать.
Ryo3000; EKutuzov; user1244125; antvv; user2057913; alul; fort13; user1835472; user1744813; Aleksandr_prof; Andrei_Ivanov; frkbvfnjh; +12 Ответить
3. OK1951 23.06.21 21:38 Сейчас в теме
Спасибо за бескорыстие!
stjucha1109; user2057913; user1835472; user1744813; Andrei_Ivanov; frkbvfnjh; +6 Ответить
4. frkbvfnjh 817 09.09.21 07:53 Сейчас в теме
(3) Полностью поддерживаю! Спасибо большое!
user2057913; user1835472; user1744813; Andrei_Ivanov; +4 Ответить
5. vvv71 25.02.22 03:57 Сейчас в теме
Спасибо!
user1835472; user1744813; Andrei_Ivanov; +3 Ответить
6. user1744813 15.03.22 17:06 Сейчас в теме
Столько разных источников перелопатил и только с помощью этого шаблона получилось.
Спасибо за ваш труд!
user1835472; Andrei_Ivanov; +2 Ответить
7. puhatech 25.04.22 22:07 Сейчас в теме
1C такая 1С. Вот уж правда, перелопатил толпу инфы. И вроде, то же самое писал. А заработало только тут. Да ещё и бесплатно. Спасибо от души.
user1835472; Andrei_Ivanov; +2 Ответить
8. psa247 21 12.07.22 12:53 Сейчас в теме
Шикарно, спасибо огромное!
user2057913; user1835472; Andrei_Ivanov; +3 Ответить
9. -Almi- 80 05.08.22 20:32 Сейчас в теме
Вы учите людей плохому тону в программировании, то что вы демонстрируете в 21 году 20 века это полная ЛАЖА.
Нужно вот так:
// Возвращает сведения о внешней обработке.
Функция СведенияОВнешнейОбработке() Экспорт
    
	ОбъектМетаданных = ЭтотОбъект.Метаданные();
	
	ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("2.2.2.2");
	
	ПараметрыРегистрации.Вид             = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиПечатнаяФорма();
	ПараметрыРегистрации.Наименование    = ОбъектМетаданных.Синоним;
	ПараметрыРегистрации.Информация      = ?(ПустаяСтрока(ОбъектМетаданных.Комментарий), ОбъектМетаданных.Синоним, ОбъектМетаданных.Комментарий);
	ПараметрыРегистрации.Версия          = "1.0.0.0";
	ПараметрыРегистрации.БезопасныйРежим = Истина;  
	
	ПараметрыРегистрации.Назначение.Добавить("Документ.НаименованиеТвоегоДокумента");
	
    КомандаПечати = ПараметрыРегистрации.Команды.Добавить();
	КомандаПечати.Идентификатор = "НаименованиеКоманды";
	КомандаПечати.Представление = НСтр("ru = 'Наименование команды'");
    КомандаПечати.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();
    КомандаПечати.ПоказыватьОповещение = Ложь;
    КомандаПечати.Модификатор = "ПечатьMXL";
	
    Возврат ПараметрыРегистрации;
    
КонецФункции
Показать

Учись пионер )!

P.S. Остальная лабуда тоже не выдерживает критики, вот пример хорошего тона с формой отладки: https://infostart.ru/public/1297671/
P.S.S. Медвежью услугу вы оказываете, раздавая это поделку бесплатно.
10. Andrei_Ivanov 195 05.08.22 22:25 Сейчас в теме
(9) Доброго времени суток. Спасибо за комментарий.
По основному комментарию. Хотелось бы вместо "то полная ЛАЖА" видеть что-то более конструктивное.
По коду. Мне кажется, что ваш вариант более правильный. Если вдруг в какой то момент идентификатор "ПечатнаяФорма" с какой то из версий БСП начнет называться по-другому, например "ПечатнаяФормочка" - ошибок не будет, а в моем варианте возникнет ошибка.
Вероятность такого, на мой взгляд, очень мала - поэтому считаю и мою версию вполне хорошим вариантом описания сведений.
Пионеру в глаза бросается, что верхний блок кода отформатирован: знак "=" расположен на одном уровне.
А нижний блок кода не отформатирован. Хочется, чтобы тоже "=" на одном уровне были. Это мелочи конечно, в моем коде годовой давности с форматированием аналогичные недочеты.

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

По P.S.S. На мой взгляд, вполне хороший шаблон, который показывает, что и где нужно писать.
user2144546; Mantis; user2057913; user1835472; +4 Ответить
11. -Almi- 80 06.08.22 08:11 Сейчас в теме
(10)То, что вам кажется – это просто миф, а вы этот миф (ЛАЖУ) несете в массы.
Если в БСП и переименуют форму на формочку, то ваши три процедуры, вместо одной нормальной, вас не спасут, код споткнется при открытии общей формы печати.

Плохо не только то, что вы распространяете эту поделку, а еще и то что сами не понимаете, что с ней не так (
12. Andrei_Ivanov 195 06.08.22 09:29 Сейчас в теме
(11) Я выше достаточно ясно изложил, что в моем варианте возникнет ошибка, при переименовании, а в вашем нет.
Мне кажется, что вы невнимательно прочитали.
Несколько процедур - вполне нормально явление. Зависит от уровня абстракции.
user1835472; +1 Ответить
15. xslava2008 76 04.11.25 15:52 Сейчас в теме
(9)
ОбъектМетаданных = ЭтотОбъект.Метаданные();

ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("2.2.2.2");

ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиПечатнаяФорма();
ПараметрыРегистрации.Наименование = ОбъектМетаданных.Синоним;
ПараметрыРегистрации.Информация = ?(ПустаяСтрока(ОбъектМетаданных.Комментарий), ОбъектМетаданных.Синоним, ОбъектМетаданных.Комментарий);
ПараметрыРегистрации.Версия = "1.0.0.0";
ПараметрыРегистрации.БезопасныйРежим = Истина;

ПараметрыРегистрации.Назначение.Добавить("Документ.НаименованиеТвоегоДокумента");

КомандаПечати = ПараметрыРегистрации.Команды.Добавить();
КомандаПечати.Идентификатор = "НаименованиеКоманды";
КомандаПечати.Представление = НСтр("ru = 'Наименование команды'");
КомандаПечати.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();
КомандаПечати.ПоказыватьОповещение = Ложь;
КомандаПечати.Модификатор = "ПечатьMXL";

Возврат ПараметрыРегистрации;
Показать


По Вашему варианту не работает
16. -Almi- 80 06.11.25 15:33 Сейчас в теме
17. xslava2008 76 06.11.25 16:28 Сейчас в теме
(16) в ЗКГУ 3.1.35.48, внешняя печатная форма, открываю в виде обработки для отладки. Почему-то выходит не табличный документ а форма обработки. Пока оставил вариант автора.
18. -Almi- 80 06.11.25 16:34 Сейчас в теме
(17)
Потому что тип команды открытие формы
КомандаПечати.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();
Нельзя же просто бездумно копипастом заниматься

Всех тонкостей вашей ситуации не знаю, но скорее всего нужно использовать:
КомандаПечати.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода();
19. xslava2008 76 06.11.25 17:05 Сейчас в теме
(18) я вроде пытался, ошибку дало, но посмотрю..
13. пользователь 20.07.23 09:02
Сообщение было скрыто модератором.
...
14. user2144546 05.05.25 07:33 Сейчас в теме
Для отправки сообщения требуется регистрация/авторизация