Добрый день, всем.
имеется обработка в которой есть реквизит Объект.ПрихНакл, в которой хранится ссылка на документ ПоступлениеТоваровУслуг, для этого документа прописана внешняя печатная форма «Приемо-сдаточный акт», из документа все печатает. а как эту форму сформировать из обработки, или с любого другого случайного места?
В синтакс-помощнике посмотрите: Нужно сначала ее подключить, потом создать, а потом уже использовать по назначению
вот такой вариант?:
Процедура НапечататьРеестр(СсылкаНаОбъект) ВнешняяПФорма = Справочники.ДополнительныеОтчетыИОбработки.НайтиПоНаименованию(«Реестр для отгрузки построчный»); ОбработкаОбъект = ВнешняяПФорма.ПолучитьОбъект(); ДанныеОбработки = ОбработкаОбъект.ХранилищеОбработки.Получить(); АдресХранилищаОбработки = ПоместитьВоВременноеХранилище(ДанныеОбработки); ИмяОбработки = Строка(ВнешняяПФорма.Ссылка.УникальныйИдентификатор()); Подключение = ВнешниеОбработки.Подключить(АдресХранилищаОбработки, ИмяОбработки , Истина); Отчет = ВнешниеОбработки.Создать(Подключение); Макет = Новый ТаблицаЗначений; Макет.Колонки.Добавить(«ИмяВРЕГ»); Стр = Макет.Добавить(); Стр.ИмяВРЕГ = «Макет»; Отчет.Печать(СсылкаНаОбъект, Макет, Неопределено, Неопределено);
В обычном приложении можно так
Код 1C v 8.3
добрый день, IBReiter, спасибо за ваш ответ. но есть моменты.
метод Печать в модуле внешней печатной форме — это не функция, а процедура и выглядит она вот так
в свою очередь есть другая функция СформироватьПечатнуюФормуПриемоСдаточногоАкта(МассивОбъектов[0], ОбъектыПечати), которую при желании можно сделать Экспортной, и там действительно в конце происходит
возврат табличного документа.
но сейчас если печатаешь из документа то открывается специалальная обработка печати документов. а если будет просто ТабличныйДокумент.показать() то будет открыто просто табличное поле.
ответ оказался очень простой
код должен выполняться на клиенте, а функция НайтиВПФ() — должны быть на сервере и возвращать ссылку из Справочники.ДополнительныеОтчетыИОбработки
Содержание
- Платформа:
- Конфигурация:
- Обработка для внешней печатной формы
- Форма тестов
- Форма настроек
Платформа:
Конфигурация:
Иногда возникает необходимость программного вывода на печать внешней печатной формы. Ниже приведён пример кода для реализации такой задачи в конфигурациях, разработанных на основе библиотеки стандартных подсистем (БСП) 2.х.
1. ИдентификаторКомандыПечати — это идентификатор команды печати, указанный в функции СведенияОВнешнейОбработке() модуля объекта внешней печатной формы.
2. НаименованиеВПФ — наименование, под которым внешняя печатная форма зарегистрирована в базе..
При запуске печатной формы из 1С Предприятия может потребоваться интерактивный выбор каких либо настроек для продолжения печати. Для решения этой задачи необходимо в печатную форму внедрить механизм вывода формы настроек, на которой будут расположены определенные настройки. В типовых конфигурациях, в управляемом приложении печатные формы программируются и подключаются по другому, чем в обычном приложении.
Внешняя печатная форма в управляемом приложении — это обработка, которая содержит в модуле обработки или в основной форме экспортную функцию Печать() и в модуле обработки экспортную функцию СведенияОВнешнейОбработке(). Базовый пример того как сделать внешнюю печатную форму для управляемого приложения. В базовую печатную форму необходимо внести ряд изменений, для того чтобы перед формированием выводилась дополнительная форма настроек.
Обработка для внешней печатной формы
Обработка содержит две формы: ФормаТестов, ФормаНастроек.
В функции СведенияОВнешнейОбработке() для свойства «Использование» нужно установить значение «ВызовКлиентскогоМетода». Это означает, что при запуске печатной формы из 1С Предприятия, будет автоматически запускаться экспортная функция Печать() ИЗ ОСНОВНОЙ ФОРМЫ ОБРАБОТКИ, при этом форма не открывается.
Форма тестов
Так как в свойствах команды было указано «ВызовКлиентскогоМетода», то экспортная функция Печать(), должна быть расположена в модуле основной формы обработки (в данном случае ФормаТестов), сама форма открыта не будет. Но для отладки, печатная форма будет запускаться через главное меню Файл->Открыть. Поэтому предусмотрим на форме тестов команду для вызова экспортной функции Печать().
Форма настроек
На форме настроек расположим несколько полей ввода. Зададим обработчик действия для кнопки «ПродолжитьПечать».
Еще нужно добавить 2 параметра формы: ИдентификаторКоманды, МассивОбъектов, которые передаются при открытии формы. Эти параметры должны быть с признаком Ключевой параметр.
В модуле объекта обработки, разместим экспортную функцию печать, которая занимается формированием табличного документа.
КоллекцияПечатныхФорм = УправлениеПечатью.ПодготовитьКоллекциюПечатныхФорм(Параметры.ИдентификаторКоманды);
Подскажите, в чем ошибка?
Для того чтобы добавить сообщение, необходимо Войти или Зарегистрироваться
Источник: