1с программная печать внешней печатной формы

zerbite 15.01.2016 10:36
Прочитано: 7549

Добрый день, всем.

имеется обработка в которой есть реквизит Объект.ПрихНакл, в которой хранится ссылка на документ ПоступлениеТоваровУслуг, для этого документа прописана внешняя печатная форма «Приемо-сдаточный акт», из документа все печатает. а как эту форму сформировать из обработки, или с любого другого случайного места?

Yandex
Возможно, вас также заинтересует
IBReiter 15.01.2016 11:30
Ответ № 1

В синтакс-помощнике посмотрите: Нужно сначала ее подключить, потом создать, а потом уже использовать по назначению

zerbite 15.01.2016 11:58
Ответ № 2

вот такой вариант?:

Процедура НапечататьРеестр(СсылкаНаОбъект) ВнешняяПФорма = Справочники.ДополнительныеОтчетыИОбработки.НайтиПоНаименованию(«Реестр для отгрузки построчный»); ОбработкаОбъект = ВнешняяПФорма.ПолучитьОбъект(); ДанныеОбработки = ОбработкаОбъект.ХранилищеОбработки.Получить(); АдресХранилищаОбработки = ПоместитьВоВременноеХранилище(ДанныеОбработки); ИмяОбработки = Строка(ВнешняяПФорма.Ссылка.УникальныйИдентификатор()); Подключение = ВнешниеОбработки.Подключить(АдресХранилищаОбработки, ИмяОбработки , Истина); Отчет = ВнешниеОбработки.Создать(Подключение); Макет = Новый ТаблицаЗначений; Макет.Колонки.Добавить(«ИмяВРЕГ»); Стр = Макет.Добавить(); Стр.ИмяВРЕГ = «Макет»; Отчет.Печать(СсылкаНаОбъект, Макет, Неопределено, Неопределено);

zerbite 15.01.2016 11:59
Ответ № 3
Код 1C v 8.2 УП
IBReiter 15.01.2016 14:49
Ответ № 4

В обычном приложении можно так

Код 1C v 8.3

zerbite 19.01.2016 09:30
Ответ № 5

добрый день, IBReiter, спасибо за ваш ответ. но есть моменты.

метод Печать в модуле внешней печатной форме — это не функция, а процедура и выглядит она вот так

в свою очередь есть другая функция СформироватьПечатнуюФормуПриемоСдаточногоАкта(МассивОбъектов[0], ОбъектыПечати), которую при желании можно сделать Экспортной, и там действительно в конце происходит

возврат табличного документа.

но сейчас если печатаешь из документа то открывается специалальная обработка печати документов. а если будет просто ТабличныйДокумент.показать() то будет открыто просто табличное поле.

zerbite 19.01.2016 15:14
Ответ № 6

ответ оказался очень простой

код должен выполняться на клиенте, а функция НайтиВПФ() — должны быть на сервере и возвращать ссылку из Справочники.ДополнительныеОтчетыИОбработки

Платформа:

Конфигурация:

Иногда возникает необходимость программного вывода на печать внешней печатной формы. Ниже приведён пример кода для реализации такой задачи в конфигурациях, разработанных на основе библиотеки стандартных подсистем (БСП) 2.х.

1. ИдентификаторКомандыПечати — это идентификатор команды печати, указанный в функции СведенияОВнешнейОбработке() модуля объекта внешней печатной формы.

2. НаименованиеВПФ — наименование, под которым внешняя печатная форма зарегистрирована в базе..

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

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

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

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

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

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

Форма тестов

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

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

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

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

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

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

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

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

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

Понравилась статья? Поделиться с друзьями:
Vkontakte.INFO
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: