Внешняя печатная форма с отладкой (шаблон) для управляемых форм

17.08.18

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

Шаблон обработки предназначен для разработки внешних печатных форм с удобным механизмом отладки. Пример внешней печатной формы "Счет на оплату покупателю" для БП 3.0.64.28

Скачать файл

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

Наименование По подписке [?] Купить один файл
Внешняя печатная форма с отладкой (шаблон):
.epf 22,46Kb ver:1.0
77
77 Скачать (1 SM) Купить за 1 850 руб.
Счет на оплату покупателю с отладкой
.epf 78,23Kb
15
15 Скачать (1 SM) Купить за 1 850 руб.

Процесс отладки внешней печатной формы достаточно трудоёмкий, здесь на Инфостарте есть различные отладчики внешних печатных форм, но они тоже имеют некоторые недостатки, вот решил "наваять свою нетленку" на эту тему :-)

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

В открытой обработке указываем Объект печати и Имя печатной формы, нажимаем кнопку [Печать] и видим что получилось.

Переходим в конфигуратор, что-то меняем, сохраняем обработку, Возвращаемся в пользовательский режим, нажимаем кнопку [Переоткрыть форму], при этом закрывается текущая форма, открывается исправленная и сразу формируется новая печатная форма.

Если при формировании печатной формы выявились ошибки, то они выходят в сообщении. Для явного отображения ошибки нужно ещё раз нажать кнопку [Печать]

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

Описание обработки берётся из реквизитов обработки

Название печатной формы прописывается в СИНОНИМЕ МАКЕТА, т.е. одна обработка может содержать в себе несколько печатных форм.

 

Имя процедуры печати формируется из ИМЕНИ МАКЕТА в таком виде: "Печать_"+ИмяМакета

Места, где нужно вставлять свои программные модули, отмечены %изм%


 

Прикрепленная обработка  настроена на документ ПриемНаРаботу и работает в ЗУП 3.1 и БП 3.0, для других конфигураций протестировать "сходу" не получится :-(

В общем и целом в обработке нет ничего революционного, но её использование очень облегчает отладку печатных форм.

В обработке используются наработки других авторов, но за давностью у кого что взял не вспомню, но всё равно огромное вам спасибо ;-)

Обновление 19.07.2018.
Добавил внешнюю печатную форму счета с синей печатью.
Пришлось это сделать т.к. 1С опять учудила и теперь вывод синей печати настраивается флажком (раньше была отдельная печатная форма) и теперь чтобы отправить счет на e-mail приходится сначала выводить форму счета, потом ставить флажок и только потом отправлять :-(  и флажок (редиска) запоминается и при печати ТОРГ-12 тоже выводит синюю печать... надеюсь они исправятся, а пока буду использовать ВПФ

Внешняя печатная форма отладка шаблон Переоткрыть форму

См. также

SALE! 20%

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

Универсальная обработка для загрузки документов из Excel в 1С одним нажатием. Не требует указания параметров (номера колонок, номер первой строки таблицы и т.д.) и предварительной настройки. Просто выбираете файл Excel, документ 1С и нажимаете кнопку "Загрузить". Обработка сама находит таблицу в файле Excel, необходимые для загрузки данные в ней (номенклатура, количество, НДС, цена, сумма) и загружает ее в 1С. Вместе с номенклатурой может найти контрагента, номер и дату документа, штрих-коды, серии ГТД, страну и т.д. Распознает документы ЛЮБОЙ ФОРМЫ (УПД, ТОРГ-12, заказ, отчет комиссионера и т.д.). Не требует MS Office. Для поиска таблиц используются методы эвристического поиска. Загружает только то, что нужно, т.е. пропускает повторы шапки таблицы, заголовки, промежуточные итоги, подписи и т.д. Содержит модуль работы с электронной почтой и api-загрузчик отчетов о продажах маркетплейсов.

6000 5100 руб.

09.11.2016    234835    1065    898    

1004

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

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

22200 руб.

06.10.2023    15675    38    8    

73

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

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

14400 руб.

13.03.2018    60937    208    76    

120

Печатные формы Бухгалтер Платформа 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 спец., ПЛ для Автомобильного крана.

3600 руб.

14.10.2019    38984    260    216    

167

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

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

3600 руб.

13.02.2019    96739    444    44    

426

Печатные формы Программист Пользователь Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 1С:ERP Управление предприятием 2 Платные (руб)

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

5400 руб.

08.10.2019    47205    167    95    

161

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

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

13200 руб.

27.06.2023    3960    11    1    

12

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

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

4500 руб.

23.08.2019    57238    174    64    

167
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. пользователь 12.02.18 11:28
Сообщение было скрыто модератором.
...
2. strange2007 144 12.02.18 11:33 Сейчас в теме
Просто спрошу: А чем не устраивает обычный отчёт с реквизитами-параметрами, который вызывает нужную проц-у из модуля объекта? Отладка стопроцентная и никаких трудоёмких действий.
Просто для тех, кому нужна отладка, может расскажете плюсы Вашей разработки?
3. Mx00 249 12.02.18 12:37 Сейчас в теме
(2) не скажу про все внешние отладочные отчеты, видимо мне не повезло :-) но то, что использовал требовало каждый раз перевыбирать файл обработки иначе вешний отчет вызывал что-то из кэша и точка остановки не срабатывала. Ну и закрывать окно печатной формы приходится постоянно. Вот сейчас проверил обработку https://infostart.ru/public/138731/ - не сработала точка остановки - разбираться в чужом коде "не наш путь" - сделал своё и решил поделиться
strange2007; +1 Ответить
11. Alex_E 2374 14.02.18 03:00 Сейчас в теме
(3) Как-то забросилась та обработка за ненадобностью, уже давно использую https://infostart.ru/public/535969/
12. Mx00 249 14.02.18 12:21 Сейчас в теме
(11) Благодарю, полезная информация, возьму себе на вооружение, но моя обработка не про копирование типовых и их изменение, а про создание своих, где логика типовых не сильно помогает :-)
13. Alex_E 2374 14.02.18 12:25 Сейчас в теме
(12) Создав из типовой ПФ ВПФ с помощью констурктора имеем заготовку с отладкой, в которой меняем заполнение табличного документа на любой - получаем созданную свою форму с формой для отладки, но...., тут на, как говорится - на вкус и цвет ....
14. Mx00 249 14.02.18 23:40 Сейчас в теме
(13) Да, разобрался, тебе осталось только прикрутить кнопку [Переоткрыть], очень удобно при отладке не нужно закрывать и открывать ВПФ
22. Roman_Go 2 17.08.18 13:46 Сейчас в теме
(13) а я вот ничего не понял, куда зайти что нажать, чтобы что-то удобное создать :)?

я ручками писал. О каком конструкторе идет речь?
4. webandroid 2 12.02.18 14:30 Сейчас в теме
(2) А чем не устраивает обычный отчёт с реквизитами-параметрами,

А можно подробнее, что за отчет?
5. strange2007 144 12.02.18 15:27 Сейчас в теме
(4) Например, надо создать отлаживаемую печатную форму для документа. Делаю отчёт, где в модуле объекта формирую утверждённую ф-ию "печать", формата
Функция Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода, ЭтоОтладка=Ложь) Экспорт
В этой ф-ии формирую отчёт по правилам БСП.

Далее создаю реквизиты "ПоОбъекту", который имеет тип любого документа и "ИмяМакета", который просто строка. Далее на форме в первый реквизит выбираю нужный документ, а во второй вписываю имя нужного макета. Ещё на форму кидаю таб.док-т, на который всё буду выводить. В модуле формы пишу что-то вроде
&НаСервере
Процедура ОтладкаСрв()
	Перем МассивОбъектов, ОбъектыПечати, ПечФормы, ЭлементКоллекции;
	Перем ПараметрыХЗ;
	Перем ВыводимыйТабДок;
	
	// Тут что-то будет само формироваться. Сам не знаю что
	ОбъектыПечати = Новый СписокЗначений;
	
	// Объект то нихрена не объект, а ссылка
	МассивОбъектов = Новый Массив;
	МассивОбъектов.Добавить(Объект.ПоОбъекту);
	
	// Печатная форма должна быть в ТЗ. О как!
	ПечФормы = Новый ТаблицаЗначений;
	ПечФормы.Колонки.Добавить("ИмяВРЕГ");
	ПечФормы.Колонки.Добавить("ИмяМакета");
	ПечФормы.Колонки.Добавить("ИмяФайлаПечатнойФормы");
	ПечФормы.Колонки.Добавить("Картинка");
	ПечФормы.Колонки.Добавить("ПолныйПутьКМакету");
	ПечФормы.Колонки.Добавить("СинонимМакета");
	ПечФормы.Колонки.Добавить("ТабличныйДокумент");
	ПечФормы.Колонки.Добавить("Экземпляров");
	
	ЭлементКоллекции = ПечФормы.Добавить();
	ЭлементКоллекции.ИмяМакета = Объект.ИмяМакета;
	ЭлементКоллекции.ИмяВРЕГ = ВРег(ЭлементКоллекции.ИмяМакета);
	ЭлементКоллекции.Экземпляров = 1;
	
	// Вызов самой печати
	ВыводимыйТабДок = РеквизитФормыВЗначение("Объект").Печать(МассивОбъектов, ПечФормы, ОбъектыПечати, ПараметрыХЗ, Истина);
	
	// Показ полученного
	ТабДок.Очистить();
	ТабДок.Вывести(ВыводимыйТабДок);
	
КонецПроцедуры
Показать


Готово. Образец для отладки любых печатных форм готов. Если в БСП что-то поменяют, то достаточно изменить утверждённую функцию и вызов к ней.
Просто вот честно, не понимаю чего там сложного. На всё про всё минут 10-30 первый раз уходит, а потом вообще нисколько.
По такому же алгоритму набросал и остальные шаблоны.
6. Mx00 249 12.02.18 16:11 Сейчас в теме
(5) Всё так, только не понятно это описание самой обработки внешней печатной формы или дополнительной обработки для отладки?
7. strange2007 144 13.02.18 05:12 Сейчас в теме
(6) Сама внешняя печатная форма. Настраиваете её, отлаживаете и потом "скармливаете" БСП.
Я так понимаю забрал у кого-то хлеб? Да?
8. Mx00 249 13.02.18 05:38 Сейчас в теме
(7) Хлеб берут не тут :-)
Да моя обработка именно это и делает, плюс переоткрытие одной кнопкой, а не Меню,Файл,Открыть как у тебя :-)
запоминание последнего объекта и удобный механизм нескольких макетов... ничего сложного, но всё для удобства
я так и написал в описании "В общем и целом в обработке нет ничего революционного, но её использование очень облегчает отладку печатных форм"
Наверно все продвинутые себе такое уже сделали, один я мучился дополнительными обработками отладки ;-)
9. strange2007 144 13.02.18 05:47 Сейчас в теме
(8) В таком случае, Максим, я спокоен, т.к. Ваша разработка предназначена как раз для тех, кто не сможет из моих выкладок выявить что-то полезное для себя.
10. Mx00 249 14.02.18 01:32 Сейчас в теме
(9) Я тоже успокоился - ни кому это не нужно :-)
думал ещё выложить внешнюю обработку заполнения документов с (само)отладкой, но это так же никому не будет интересно :-)
15. unichkin 1579 17.02.18 12:11 Сейчас в теме
16. Mx00 249 18.02.18 11:42 Сейчас в теме
(15) Вот я бы не сказал, что это проще - на время отладки нужно обработку изменить, а перед тем как загружать обратно изменить, это очень не удобно ИМХО.
17. unichkin 1579 19.02.18 10:02 Сейчас в теме
(16) Нет, обработка дорабатывается один раз - вставляется вызов внешней, который можно сразу удалить. Перед тем как загружать обратно ничего менять не нужно. Разве что безопасный режим - но он на работоспособность не влияет.
18. Mx00 249 19.02.18 13:27 Сейчас в теме
(17) как вариант "замороченной" отладки очень хорошо, но это подходит когда печатная форма делается "в один проход", т.е. сделал и больше не дорабатываешь. У меня пример трудового договора и пока будут отработаны все варианты условий может пройти много времени и постоянно менять вызов обработки, да ещё с прописыванием пути в самой обработке - не вариант. Но для отладки какой-нибудь чужой обработки буду пользоваться :-)
19. unichkin 1579 19.02.18 19:19 Сейчас в теме
(18) А его не надо менять "постоянно") Как нужно дорабатывать - делаем вызов один раз, потом загружаем в ИБ как есть - вызов внешней будет закомментирован. При последующих доработках его надо раскомментировать, вот и все. Я пробовал, когда еще сам был начинающим внешние отладчики - сейчас могу с уверенностью сказать что "замороченная" отладка - это как раз про них.
Единственное, где это может быть неудобно - если есть 100500 экспортных методов, т.к. отладка точечная. При таком варианте еще можно сказать что внешний отладчик удобнее - но вообще, странно если у одной внешней обработки настолько большой программный интерфейс.. Я с таким не сталкивался - обычно алгоритмы детализированы.
20. Aleksey81 1186 27.02.18 19:09 Сейчас в теме
Превосходный шаблон!!! Спасибо!
nagaitseff; +1 Ответить
21. Roman_Go 2 17.08.18 13:34 Сейчас в теме
КоллекцияПечатныхФорм=РеквизитФормыВЗначение("Объект").ПолучитьКоллекциюПечатныхФорм();
	Для Каждого ТекПечатнаяФорма Из КоллекцияПечатныхФорм Цикл
		Если ТекПечатнаяФорма.СинонимМакета<>Объект.ИмяПечатнойФормы Тогда
			КоллекцияПечатныхФорм.Удалить(ТекПечатнаяФорма);
		КонецЕсли;
	КонецЦикла;


вот это работает неправильно, нужно менять. Нельзя удалять строки в перебираемой таблице значений, кое что может и остаться.

Вот так что ли:

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


а в целом спасибо.
24. Mx00 249 17.08.18 17:02 Сейчас в теме
(21) да, я согласен, что не правильно - в печатной форме счета уже сделано по другому, а в "шаблоне" забыл поправить, сейчас исправлюсь :-)
теперь там сделано так:
в модуле объекта функция ПолучитьКоллекциюПечатныхФорм обзавелась параметром
Функция ПолучитьКоллекциюПечатныхФорм(ФильтрПоСинониму="*") Экспорт
	КоллекцияПечатныхФорм=Неопределено;
	Для Каждого ТекМакет Из ЭтотОбъект.Метаданные().Макеты Цикл
		Если ЗначениеЗаполнено(ТекМакет.Синоним) И Тип(ПолучитьМакет(ТекМакет.Имя))=Тип("ТабличныйДокумент") Тогда
			Если ФильтрПоСинониму="*" Тогда // Все печатные формы
			ИначеЕсли ТекМакет.Синоним=ФильтрПоСинониму Тогда // Фильтр совпадает с синонимом текущей печатной формы
			Иначе
				Продолжить; // пропускаем текущую печатную форму
			КонецЕсли;
			Если КоллекцияПечатныхФорм=Неопределено Тогда // Создадим ТЗ КоллекцияПечатныхФорм
				КоллекцияПечатныхФорм = УправлениеПечатью.ПодготовитьКоллекциюПечатныхФорм(ТекМакет.Имя);
				СтрокаКоллекцияПечатныхФорм=КоллекцияПечатныхФорм[0]; // выберем первую строку
			Иначе
				СтрокаКоллекцияПечатныхФорм=КоллекцияПечатныхФорм.Добавить();
			КонецЕсли;
			СтрокаКоллекцияПечатныхФорм.ИмяМакета=ТекМакет.Имя;
			СтрокаКоллекцияПечатныхФорм.ИмяВРЕГ=ВРег(СтрокаКоллекцияПечатныхФорм.ИмяМакета);
			СтрокаКоллекцияПечатныхФорм.СинонимМакета=ТекМакет.Синоним;
		КонецЕсли;
	КонецЦикла;
	Возврат КоллекцияПечатныхФорм;
КонецФункции
Показать


а в модуле обработки нет удаления
КоллекцияПечатныхФорм=РеквизитФормыВЗначение("Объект").ПолучитьКоллекциюПечатныхФорм(Объект.ИмяПечатнойФормы);


благодарю за баг-репорт
25. Mx00 249 17.08.18 17:11 Сейчас в теме
и тем кто дочитает то этого комментария :-)
отличие обработок "шаблон" и "счет":
в "шаблоне" все данные для печати предварительно собираются в структуре ПараметрыДляПечати
а в "счете" данные для печати собираются в таблице значений (использовал типовой механизм ТаблицаСведений=ПечатьТорговыхДокументов.ПолучитьОписаниеСчетаНаОплату();
Оставьте свое сообщение