Функция печать внешней печатной формы

Функция печать внешней печатной формы

Программирование системы 10.04.2018 07:51 10290

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

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

Обработка для внешней печатной формы

Обработка содержит две формы: ФормаТестов, ФормаНастроек.

В функции СведенияОВнешнейОбработке() для свойства "Использование" нужно установить значение "ВызовКлиентскогоМетода". Это означает, что при запуске печатной формы из 1С Предприятия, будет автоматически запускаться экспортная функция Печать() ИЗ ОСНОВНОЙ ФОРМЫ ОБРАБОТКИ, при этом форма не открывается.

Форма тестов

Так как в свойствах команды было указано "ВызовКлиентскогоМетода", то экспортная функция Печать(), должна быть расположена в модуле основной формы обработки (в данном случае ФормаТестов), сама форма открыта не будет. Но для отладки, печатная форма будет запускаться через главное меню Файл->Открыть. Поэтому предусмотрим на форме тестов команду для вызова экспортной функции Печать().

Форма настроек

На форме настроек расположим несколько полей ввода. Зададим обработчик действия для кнопки "ПродолжитьПечать".

Еще нужно добавить 2 параметра формы: ИдентификаторКоманды, МассивОбъектов, которые передаются при открытии формы. Эти параметры должны быть с признаком Ключевой параметр.

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

Читайте также:  Потеряно соединение со стимом

1. Владислав 13.09.2018 11:14 <ВнешняяОбработка.ВнешняяОбработка1.Форма.ФормаНастроек.Форма(17)>: Поле объекта не обнаружено (ИдентификаторКоманды)
КоллекцияПечатныхФорм = УправлениеПечатью.ПодготовитьКоллекциюПечатныхФорм(Параметры.ИдентификаторКоманды);

Подскажите, в чем ошибка?

2. Admin 04.10.2018 10:20 Возможно в форме настроек не добавлен параметр ИдентификаторКоманды типа "строка" с признаком Ключевой параметр.

Для того чтобы добавить сообщение, необходимо Войти или Зарегистрироваться

Пример создания внешней печатной формы АКТа для Бухгалтерии 3.0

1. В конфигураторе 1C Предприятия 8 создаем внешнюю обработку (Файл->Новый->Внешняя обработка), задаем имя.

2. В модуле обработки пишем код. Постараюсь его максимально комментировать. Главное должно быть:

  • функция ПечатьВнешнейПечатнойФормы табличного документа — которая выведет данные в макет
  • функция Печать — вызывается из конфигурации! в нее передается массив печатаемых объектов
  • и функция СведенияОВнешнейОбработке(). Она необходима для регистрации печатной формы в справочнике ДополнительныеОтчетыИОбработки, в ней собирается структура с данными для подключения формы. Эта функция, а также ряд сопутствующих ей, практически одинаковы для всех печатных форм, поэтому их можно просто копировать в новую печатную форму ничего не меняя.

3. Добавляем макет вывода печатной формы:

4. Сохраняем и добавляем в конфигурацию:

Подключается через Администрирование — Печатные формы, отчеты и обработки:

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

Понадобилась однажды срочно внешняя печатная форма на основе word-шаблона для типовой БП 3.0. Я себе примерно представлял как можно сделать такую внешнюю обработку с обычным макетом и встроить её в справочник ‘Дополнительные отчеты и обработки’, но как проделать то же самое с word я не представлял. Но все оказалось довольно-таки просто, правда и пришлось убить на это полдня.

Внимание! После прочтения этой статьи можете ознакомиться с более универсальным вариантом по этой статье ‘Внешняя печатная форма word.Часть2’ !

Читайте также:  Чем звукоизолировать стены в квартире от соседей

Итак, для начала создаем наш печатный макет word:

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

Далее создаем новый макет ‘МакетWORD’ с типом ‘Двоичные данные’:

После чего щелкаем по нему два раза и загружаем туда наш файл-шаблон ‘word’:

Переходим теперь к реквизитам и форме нашей внешней печатной обработки. Добавляем реквизит ‘СсылкаНаОбъект‘ с типом объекта, для которого мы делаем нашу печатную форму:

Добавляем реквизит формы ‘ОбъектыНазначения’ – для печати из дополнительных отчетов и обработок. На форму выводим наш реквизит ‘СсылкаНаОбъект’ и созданную нами команду ‘ПечатьСФормы’:

Итак, теперь приступаем к 1 этапу – делаем печать из формы обработки:

Ссылка на основную публикацию
Функция overdrive в мониторе
Технология компенсации времени отклика LCD-матрицы, известная как Overdrive (у каждого производителя она имеет свое фирменное название) обеспечивает существенное ускорение переключения...
Формула рандома в паскале
Здравствуйте, уважаемые читатели нашего сайта. Сегодня мы рассмотрим две полезные процедуры в паскале - Random и Randomize.И опять я начну...
Формула расчета мощности конденсатора
Реактивная мощность обусловлена способностью реактивных элементов накапливать и отдавать электрическую или магнитную энергию. Eмкостная нагрузка в цепи переменного тока за...
Функция еош в excel
Всем добрый день! Эта статья посвящается вопросу, как можно избавится от ошибки в результате вычисления, так как это делает функция...
Adblock detector