Как создать внешнюю печатную форму для обычного приложения 1С
Внешние печатные формы для обычного приложения (для конфигурация Бухгалтерия предприятия 2.0, Зарплата и управление персоналом 2.5, Управление торговлей 10.3 и т.д.) создаются довольно просто по сравнению с внешними печатными формами для управляемого приложения.
Для чего создавать внешние печатные формы
Преимущество внешней печатной формы по сравнению с обычной в том, что она позволяет избежать изменения конфигурации информационной базы. А это значит, что процесс последующего обновления конфигурации не будет усложнен. Кроме того, внешние печатные формы наряду с внешними обработками являются единственным вариантом расширения функционала базовых версий конфигураций 1С, которые нельзя изменять вообще.
Ну и последнее: внешние печатные формы легче тиражировать, т.к. они представляют собой отдельный файл, который можно быстро подключить к информационной базе.
Как создать внешнюю печатную форму
Рассмотрим процесс создания внешней печатной формы 1С по шагам:
- Создаем внешнюю обработку. Для этого в конфигураторе выбираем пункт меню
- Создаем реквизит внешней обработки с именем СсылкаНаОбъект. Тип реквизита — ссылка на справочник или документ, для которого создается внешняя печатная форма. Одна и та же форма может применяться для нескольких типов объектов, в этом случае тип данных реквизита СсылкаНаОбъект должен быть составным.
- В модуле объекта создаем экспортную функцию с именем Печать, которая должна возвращать готовый табличный документ печатной формы.
Функция Печать () Экспорт
ТабДок=новый ТабличныйДокумент;
//здесь должен быть модуль, формирующий печатную форму
Возврат ТабДок;
КонецФункции
Часто бывает, что нужно слегка подкорректировать макет уже существующей печатной формы и сделать ее внешней. Например, добавить на макет печать организации и подпись руководителя.
Создание внешней печатной формы на основе стандартной с незначительными изменениями
Рассмотрим эту процедуру на примере создания внешней печатной формы универсального передаточного документа для документа Реализация товаров и услуг 1С:Бухгалтерии. От стандартной печатной формы она будет отличаться наличием печати организации.
- Создаем внешнюю обработку с реквизитом СсылкаНаОбъект, тип данных — ДокументСсылка.РеализацияТоваровУслуг.
- Находим макет стандартной печатной формы УПД (он находится в общих макетах) и копируем (перетаскиваем) его в окно внешней обработки. Макеты других печатных форм могут находиться в самих документах или справочниках.
- Вносим необходимые изменения в скопированный макет печатной формы.
- Находим функцию, отвечающую за формирование печатной формы. Эта функция должна возвращать сформированный табличный документ. Копируем ее содержание в экспортную функцию Печать() в модуле объекта внешней обработки.
В нашем случае это функция ПечатьУниверсальногоПередаточногоДокумента() Экспорт из модуля объекта документа
Если изменения макета были существенными (изменялись области и/или параметры), то необходимо внести соответствующие корректировки в функцию печати. - Пытаемся сохранить внешнюю обработку. При этом, скорее всего, появятся сообщения об ошибках, связанных с отсутствием некоторых процедур и функций, вызываемых функцией печати. Эти функции и процедуры необходимо найти в исходном документе и так же скопировать в модуль объекта внешней обработки. Либо скорректировать ссылку, если исходная функция или процедура экспортная.
- (не обязательно). Для тестирования внешней печатной формы удобно сделать ее форму, на которую вынести реквизит СсылкаНаОбъект. Кнопка Выполнить должна вызывать процедуру Печать() из модуля объекта. Для этого событию нажатия кнопки задается процедура:
Процедура КнопкаВыполнитьНажатие(Кнопка)
Таб = Печать();
Таб.Показать();
КонецПроцедуры
chel1c.ru
Статья: Создание внешней печатной формы
Этап 1: Создание внешней обработки
1.1. Открываем программу в режиме «Конфигуратор».
1.2. Создаем новый файл внешней обработки.
1.3. Добавляем реквизит СсылкаНаОбъект.
1.4. В свойстве ТипДанных реквизита СсылкаНаОбъект выбираем документы или справочники, из которых будет вызываться эта печатная форма (типы данных ДокументСсылка.* и СправочникСсылка.*).
1.5. Копируем нужный макет из документа или справочника или создаём новый.
1.6. Открываем модуль объекта обработки.
1.7. В модуле объекта обработки создаём функцию Печать() с ключевым словом Экспорт.
1.8. В функции Печать() описываем алгоритм заполнения печатной формы. Функция должна возвращать значение типа ТабличныйДокумент.
1.9. Создаём новый макет Параметры_Авторегистрации. В первом столбце макета указываем объекты, для которых будет регистрироваться печатная форма, в виде «Документы.<ИмяДокумента>».1
1.10. Сохраняем обработку.
Этап 2: Регистрация внешней печатной формы
2.1. Открываем программу в режиме «1С:Предприятие».
2.2. Открываем меню «Сервис» ⇒
«Внешние печатные формы и обработки» ⇒ «Внешние печатные формы» (Управление торговлей 10.3, Розница 1.0)
«Дополнительные отчеты и обработки» ⇒ «Дополнительные внешние печатные формы» (Бухгалтерия предприятия 1.6, 2.0, Зарплата и управление персоналом 2.5)
2.3. Нажимаем кнопку «Добавить».
2.4. В открывшейся форме нажимаем кнопку «Заменить файл внешней обработки».
2.5. В табличной части «Принадлежность печатной формы» добавляем строку.2 Устанавливаем в поле «Представление объекта» нужный документ или справочник.2 В поле «Заменяемая печатная форма» — заменяемую печатную форму.3 Сохраняем внешнюю обработку.
Теперь при нажатии кнопки «Печать» в документе будет вызываться внешняя печатная форма.
Примечания:
1 — Необязательный пункт.
2 — Если не был выполнен п.1.9.
3 — При добавлении новой печатной формы без замены старой поле «Заменяемая печатная форма» не заполняется.
novichok1c.ru
Программист 1C — 1С. Создание внешней печатной формы на основе встроенной.
Зачастую возникает потребность сделать внешнюю печатную форму, набор данных для которой схож с какой-нибудь из встроенных штатных печатных форм.
Например, в программе «1С Управление торговлей 11.2» нам нужно создать печатную форму «Спецификация товара», которая будет распечатываться из документа «Заказ клиента».
Набор данных для новой внешней печатной формы схож с набором данных для встроенной печатной формы «Заказ клиента». Поэтому, выберем эту печатную форму в качестве основы для конструирования новой формы.
Создадим заготовку внешней печатной формы, как описано в статье «Создание внешнего отчёта, обработки, печатной формы».
Потом откроем менеджер объекта конфигурации Документ «Заказ клиента», и найдём в нём Функцию «ПолучитьДанныеДляПечатнойФормыЗаказаНаТоварыУслуги». Скопируем её в модуль объекта нашей внешней печатной формы. В этой функции находится запрос, который получает данные для печатной формы. Мы можем изменить запрос, чтобы получить в нём какие-то дополнительные данные и отменить получение ненужных.
Найдём объект конфигурации Обработка «ПечатьЗаказовНаТоварыУслуги». В нём хранится макет печатной формы «Заказ клиента». Скопируем его во внешнюю печатную форму. Переименуем макет в «ПФ_MXL_Спецификация» и доработаем его под свои нужды. Из модуля менеджера обработки скопируем процедуру Печать, а также другие процедуры и функции, необходимые для печати. Их можно определить по названию. Естественно все эти процедуры и функции мы «затачиваем» под свои задачи.
Например, изменяем Функцию СформироватьПечатнуюФормуЗаказаНаТоварыИУслуги таким образом, чтобы переменная ДанныеДляПечати формировалась из процедуры нашей внешней печатной формы.
Важный момент: в процедуре ЗаполнитьТабличныйДокументЗаказаНаТоварыУслуги мы должны вместо штатного макета подставить свой.
Макет выбиратся здесь:
Пока ДанныеПечати.Следующий() Цикл Макет = УправлениеПечатью.МакетПечатнойФормы(ИмяМакета);
Мы заменим вторую строку приведённого кода на такую:
Макет = ПолучитьМакет("ПФ_MXL_Спецификация");
Всё остальное, что называется, по вкусу.
Подключается внешняя обработка в разделе Администрирование —> Дополнительные обработки.
О том, как выполнять отладку внешних печатных форм и обработок, можно почитать здесь.
avditor.ru
Печатные формы 1С 8.3 и 8.2
Рассмотрим настройку и создание новых печатных форм в системе 1С 8.3.
Создание внешних печатных форм для управляемого приложения рассмотрено в отдельной статье.
Самый простой способ создания печатной формы — с помощью встроенного конструктора печатных форм. Рассмотрим пошаговую инструкцию по созданию и настройке печатной формы на примере создания печатной формы «Счет покупателю».
Создание и настройка печатной формы 1С 8.3
Первый шаг — необходимо зайти в палитру свойств нужного нам документа и выбрать Действия — Конструкторы — Конструктор печати:
Первый вопрос системы — выбор варианта работы конструктора. Настройки аналогичны, если у Вас конфигурация работает в управляемом режиме — выберите его, если нет — выберите обычные формы. Мы рассмотрим создание на обычной форме.
Следующий шаг — выбор названия процедуры для печати. Назовём её «Печать счета».
Далее необходимо выбрать реквизиты, которые нужно указать в шапке печатной формы в том порядке, который нам необходим:
После выбора реквизитов шапки печатной формы 1С 8.2 следует сделать выбор данных для табличной части:
Когда и этот шаг сделан, нужно выбрать реквизиты подвала аналогично реквизитам в шапке.
На последней странице можно оставить всё по умолчанию и нажать ОК:
Что получаем в итоге?
Правильно оформленный макет печатной формы:
Процедура, полностью формирующая печатную форму документа:
Получите 267 видеоуроков по 1С бесплатно:
Процедура ПечатьСчета() Экспорт //{{_КОНСТРУКТОР_ПЕЧАТИ_ЭЛЕМЕНТ(ПечатьСчета) // Данный фрагмент построен конструктором. // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!! ТабДок = Новый ТабличныйДокумент; Макет = Документы.РеализацияТоваровУслуг.ПолучитьМакет("Печать"); // Заголовок Область = Макет.ПолучитьОбласть("Заголовок"); ТабДок.Вывести(Область); // Шапка Шапка = Макет.ПолучитьОбласть("Шапка"); Шапка.Параметры.Заполнить(ЭтотОбъект); ТабДок.Вывести(Шапка); // Товары Область = Макет.ПолучитьОбласть("ТоварыШапка"); ТабДок.Вывести(Область); ОбластьТовары = Макет.ПолучитьОбласть("Товары"); Для Каждого ТекСтрокаТовары Из Товары Цикл ОбластьТовары.Параметры.Заполнить(ТекСтрокаТовары); ТабДок.Вывести(ОбластьТовары); КонецЦикла; // Подвал Подвал = Макет.ПолучитьОбласть("Подвал"); Подвал.Параметры.Заполнить(ЭтотОбъект); ТабДок.Вывести(Подвал); ТабДок.ОтображатьСетку = Ложь; ТабДок.Защита = Ложь; ТабДок.ТолькоПросмотр = Ложь; ТабДок.ОтображатьЗаголовки = Ложь; ТабДок.Показать(); //}}_КОНСТРУКТОР_ПЕЧАТИ_ЭЛЕМЕНТ КонецПроцедуры
Которые можно настроить в 1С 8.2, как нужно нам.
Вывод вызова созданной печатной формы 1С
Для вызова созданной печатной формы нужно просто разместить кнопку на форму документа. Это сделать очень просто. Для начала создадим кнопку на форме, назовем её «Печать счета»:
Нажимаем на кнопку «лупы» у действия — мы попадем в модуль формы, где вписываем вызов процедуры печати вновь созданного счета:
Где «ПечатьСчета» — имя нашей процедуры.
Вот и всё!
Созданная и настроенная печатная форма выглядит так:
Другие статьи по 1С:
В дополнение — наш видеоурок по созданию внешних печатных форм и подключению их на примере конфигурации 1С Бухгалтерии:
К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.
programmist1s.ru
Печатная форма 1С
Как известно – без бумажки ты.. не может обойтись ни один серьезный бизнес. И когда мы говорим, что в 1С есть какие-то там электронные документы, то сразу же возникает вопрос как их распечатать в бумажном виде.
Процесс печати электронного документа 1С называется печатная форма 1С.
У каждого документа может быть несколько печатных форм 1С. Например, документ Реализация товаров и услуг (т.е. продажа) печатается в печатные формы 1С: ТОРГ-12, Накладная, Товарно-транспортная накладная, Акт оказанных услуг и так далее.
Суть печатной формы 1С – это шаблон (типа документа Excel), в котором заданы переменные. При процессе печати вместо переменных подставляется текст из электронного документа. Шаблон обычно хранится в конфигурации.
Проблема изменения типовой печатной формы 1С в том, что обычно типовую конфигурацию не желательно изменять, иначе будет сложнее обновляться. Поэтому появились начали изобретать велосипед различные методики использования внешних печатных форм 1С.
Внешняя печатная форма 1С – это шаблон печати, который хранится как то отдельно от самой конфигурации.
Однако это все теория. А как создать самому печатную форму? А еще лучше – как внести изменения в существующую?
Кому интересен ответ – читайте дальше.
Как печатается документ 1С
Чтобы распечатать любой документ 1С (который может быть распечатан) – нужно в документе нажать кнопку Печать. 1С предложит выбрать печатную форму 1С для этого документа из списка.
Слева от кнопки Печать обычно находится кнопка быстрого доступа к последней выбранной печатной форме 1С.
Результат печати выглядит вот так. Чтобы распечатать его на принтер, нужно поставить курсор в печатную форму 1С, нажать Ctrl+P или кнопку с принтером на панели кнопок или в меню Файл/Печать.
Настройки печати (поля, ориентация листа и т.п.) расположены в меню Файл/Параметры страницы. Также в настройках пользователя можно сделать, чтобы печать производилась сразу на принтер.
Откуда берется эта печатная форма?
Где находится печатная форма 1С
Зайдем в конфигуратор. Найдем в окне конфигурации нужный документ. Раскроем его ветку Макеты. Именно они и превращаются в печатную форму 1С при печати.
Однако маловато будет – нам предлагали выбрать гораздо больше вариантов при печати. Дело в том, что множество макетов печатных форм 1С спрятано в другом месте.
Вернемся вверх окна конфигурации 1С. Откроем ветку Общие, а потом ветку Общие макеты. Именно здесь и находится большинство макетов. Особенно это касается регламентированных государством печатных форм 1С – ТОРГ 12, Счет фактура и т.п.
Кстати не сложно заметить, что макетов ТОРГ12 или СчетФактуры Вы увидите несколько. Почему? Это легко объяснить. Законы и требования периодически меняются. Но мы не можем просто изменить один и тот же макет – а если придется распечатать документ от даты, которая находится ранее даты изменения. Поэтому делается несколько макетов и в зависимости от даты документа используется правильный.
Но и это не все! Есть же еще внешние макеты. Где же хранятся они?
Вернемся в режим 1С Предприятие. Через меню пользователя с административными правами Операции/Справочники, выберем справочник Внешние обработки.
Строки этого справочника, которые имеют вид Печатная форма, добавляют варианты печати для документа, указанного в таблице Принадлежность печатной формы (на картинке это Реализация товаров услуг).
Для того, чтобы это заработало – Вы должны сделать внешнюю обработку, которая имеет в своем модуле объекта процедуру Печать() с пометкой Экспорт, которая организует процесс печати.
Но мы забегаем вперед. Давайте сначала посмотрим как организован макет печатной формы 1С.
Макет печатной формы 1С
Макет печатной формы 1С выглядит следующим образом.
Как Вы видите – он поделен на блоки. Блоки могут быть горизонтальные (имя слева) и вертикальные (имя вверху).
Сам макет в том виде какой он есть – не печатается. Печатаются отдельные блоки. Программист в процедуре обработки печати указывает порядок блоков и количество повторений каждого блока. В результате складывается печатная форма.
Для того, чтобы назначить область – выделите несколько строк (или несколько колонок) и выберите в меню Таблица/Имена/Назначить имя. Чтобы убрать – там же есть команда Убрать имя.
Название нужно для того, чтобы к области можно было обращаться из программного кода. Название можно назначить не только строкам или колонкам, но и просто нескольким ячейкам. Для этого выделите ячейки и выберите то же меню.
Однако по умолчанию названия произвольных ячеек не отображаются. Чтобы увидеть их – выберите пункт меню Таблица/Имена/Отображать именованные ячейки.
Итоги
Итак, сегодня мы узнали, что печатная форма 1С формируется с помощью макета. Макет состоит из блоков – по умному – именуемых областей.
Типовые (обычно используемые) блоки для печатной формы:
- Шапка – выводится заголовок документа
- Строка – выводится одна строка таблицы, этот блок повторяют столько раз, сколько нужно распечатать строк
- Подвал – выводится окончание документа.
Теперь нам нужно разобраться с тем, как происходит печать макета 1С?
howknow1c.ru
Как подключить внешнюю печатную форму 1С
Здравствуйте дорогие читатели.
Статья появилась как продолжение обработки Счет На Оплату Покупателю с Печатью и Подписью.
Многие спрашивают:
- Как подключить внешнюю печатную форму в 1С?
- Как зарегистрировать внешнюю печатную форму?
Привожу вам подробнаю инструкцию по подключению внешней печатной формы 1С
- Запустим информационную базу БП, УТ, УПП или другую в режиме 1С:Предприятия. Я В примере использую 1С Бухгалтерия Предприятия 2.0
- Через меню Сервис – Дополнительные отчеты и обработки – Дополнительные внешние печатные формы
- Появиться справочник «Дополнительные внешние печатные формы»
- Здесь нам необходимо добавить новый элемент стандартным способ (Кнопка Добавить)
- В открывшемся окне выбираем нужную нам внешнюю печатную форму и загрузим ее
- В нашем случае печатная форма содержит параметры авторегистрации, согласимся использовать их.
Если печатная форма не содержит параметры авторегистрации (что в последнее время встречается очень редко), то нам необходимо вручную указать «Принадлежность печатной формы» и представление кнопки, как она будет отображаться в списке печатных форм.
- Так как наша внешняя печатная форма имеет параметры авторегистрации, то нам необходимо указать только представление кнопки. Представление у нас будет: Счет с Логотипом
- Вот и все мы подключили внешнюю печатную форму к документу. Если мы зайдем в наш документ «Счет на оплату покупателю» и откроем выбор печатных форм то увидим нашу печатную форму Счет с Логотипом
- Мы также можем указать эту печатную форму по умолчанию
Вот и все наша печатная форма отличается от стандартной, что видно на рисунке. Мы не изменяли конфигурацию, даже не открывали конфигуратор.
Механизм внешних печатных форм очень удобен, основной его плюс это целостность конфигурации, что позволяет без проблем обновлять конфигурацию 1С.
Совет! Если вам надо изменить печатную форму в 1С, то используйте внешние печатные формы.
Если вам необходимо создать внешнюю печатную форму то обращайтесь, все будет выполнено быстро и качественно.
1c-md.com
Как подключить внешнюю печатную форму в 1С 8.2
В данной статье описано как подключить внешнюю печатную форму в базу 1С на примере конфигурации «Управление торговлей 10.3»
Конфигурация «Управление торговлей 10.3» — это конфигурация на, так называемых, «ОБЫЧНЫХ» формах, а не на «УПРАВЛЯЕМЫХ» как «Управление торговлей 11.2», для «УПРАВЛЯЕМЫХ» форм рекомендуем прочитать инструкцию по подключению внешней печатной формы для 1С 8.3 (на примере «УТ 11.2»).
Наша инструкция «показывает» как подключить внешнюю печатную форму в 1С с конфигурацией на «ОБЫЧНЫХ» формах а именно:
- «Бухгалтерия 2.0»
- «Управление торговлей 10.3»
- «Зарплата и управление персоналом 2.5»
- «Комплексная автоматизация 1.1»
- «Управление производственным предприятием 1.3»
- «Розница 1.0»
- и другие подобные конфигурации.
Для того чтобы подключить внешнюю печатную форму в 1С нам понадобится пройти 11 шагов.
1 — Меню «Сервис». 2 — Выбираем «Внешние печатные формы и обработки». 3 — Далее — «Внешние печатные формы» (см. рис. ниже ↓)
Для того чтобы убедить вас в том, что данная инструкция подходит и для других конфигураций на «ОБЫЧНЫХ» формах — представим те же начальные 1-2-3 шага, но уже не в «Управление торговлей 10.3», а в «Бухгалтерия 2.0» там всё также за исключением чуть-чуть измененных слов в подпунктах, а именно…
1 — Меню «Сервис»(так же как и в «УТ 10.3», да и в других).
2 — Здесь «Дополнительные отчеты и обработки», а не «Внешние печатные формы и обработки» как в «УТ 10.3»,
но все-равно смысл тот-же и находится там же в меню «Сервис».
3 — И затем — «Дополнительные внешние печатные формы», т.е. лишнее слово «Дополнительные», если сравнивать с «УТ 10.3» (см. рис. ниже ↓)
Далее продолжим все-таки на примере «Управление торговлей 10.3» без лишних сравнений.
4 — Нажимаем на кнопку «+« т.е. «Добавить». 5 — Кнопка где нарисована папка (при наведении появится подсказка: «Заменить файл внешней обработки»).
В новых версиях 1С (начиная с августа 2016 года) в программу встроен механизм предупреждения об опасности использования неизвестных внешних обработок, которые могут содержать «вирусы», в более ранних версиях программы предупреждение возникать не будет! Если оно возникло, то для подключения внешней обработки будет необходимо — 6 — нажать кнопку «Продолжить». (см. рис. ниже ↓)
7 — Выбираем каталог, в котором размещен нужный нам файл внешней печатной формы. 8 — Выделяем наш файл. 9 — Нажимаем «Открыть» (см. рис. ниже ↓)
10 — Внешняя печатная форма может иметь параметры авторегистрации, как в нашем случае, здесь имеет смысл нажать «Да» — тем самым использовать эти параметры при регистрации, т.е. автоматически выбрать те объекты (документы или может, например, справочники) в которых можно будет использовать подключаемую внешнюю печатную форму (см. рис. ниже ↓)
Вот и все, у нас заполнилась таблица «Принадлежность печатной формы», благодаря параметрам авторегистрации, мы видим наименование подключаемой внешней печатной формы, возможно у вас заполнится поле «Комментарий» и т.п. Вы можете добавлять свои объекты в таблицу «Принадлежность печатной формы», например, для наших обработок «Универсальная печатная форма договора», которая поддерживает печать многих документов и справочников, но параметры авторегистрации установлены только для основных: 10* — Нажимаете на зеленую кнопку «Добавить» и выбираете в какие объекты так же разместить в обработку. Теперь остается только — 11 — нажать на кнопку «ОК» и (см. рис. ниже ↓)
Сейчас стоит проверить — все ли мы сделали правильно?
Для этого выберем, объект для проверки, например документ «Реализация товаров и услуг», который указан в таблице «Принадлежность печатной формы», это значит что подключенную печатную форму можно использовать в данном документе! Проверим… (см. рис. ниже ↓)
Для проверки возможности печати открываем любой документ вида: «Реализация товаров и услуг». 13 — Нажимаем кнопку «Печать».
Видим — появилось окно выбора печатных форм, среди них присутствует — 14 — подключенная нами внешняя печатная форма (см. рис. ниже ↓)
tekdata.ru