Передача параметров/значений во внешнюю печатную форму для конфигураций на БСП (1С:Предприятие 8.2/8.3)

Печать - Универсальные печатные формы

189
В статье описан один из способов интерактивной передачи параметров во внешнюю печатную форму для конфигураций на БСП

В некоторых случаях перед печатью документа требуется вручную указать какие-либо значения или параметры и передать в процедуру Печать() обработки. Для конфигураций линии УТ 10.3, БП 2.0 есть возможность передачи параметров, а также возможность без особых ухищрений вызвать форму обработки перед печатью с последующим выводом результата печати в штатное окно. В конфигурациях на основе Библиотеки стандартных процедур (Управление торговлей 11, Розница 2, УНФ, Бухгалтерия предприятия 3 и прочие) предусмотрены способы вызова команды печати в виде "ОткрытиеФормы" или "ВызовКлиентскогоМетода", но в этом случае вывод сформированного табличного документа необходимо реализовывать самостоятельно.

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

В качестве примера выбрана печать простой накладной для УТ 11.0.9.15 - УТ 11.3 с возможностью печати со скидками или без них.

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

Заготовка печатной формы.png

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

Параметры обработки

   

Ключевой параметр

Далее определяем команду для печати или вывода печатной формы, навешиваем кнопку на форму.

Команда Печать

Присваиваем команде обработчик действия (код следует поместить в модуль формы)

&НаСервереБезКонтекста
Функция ЕстьОбщийМодуль(НазваниеМодуля)
    Возврат
Метаданные.ОбщиеМодули.Найти(НазваниеМодуля) <> Неопределено;
КонецФункции


&НаСервереБезКонтекста
Функция ПолучитьВерсиюБСП()
    Возврат
СтандартныеПодсистемыСервер.ВерсияБиблиотеки();
КонецФункции


&НаКлиенте
Процедура ВыполнитьОткрытиеПечатнойФормы(Команда)

   
ВыполняемаяКоманда = Параметры;

   
СтандартнаяОбработка = Истина;
   
//Проверка на релиз БСП для универсальности.
    //Общий модуль ДополнительныеОтчетыИОбработкиКлиентПереопределяемый существует в версии БСП выше 2.0.1.19
   
Если ЕстьОбщийМодуль("ДополнительныеОтчетыИОбработкиКлиентПереопределяемый") Тогда
        Выполнить(
"ДополнительныеОтчетыИОбработкиКлиентПереопределяемый.ПередВыполнениемКомандыПечатиВнешнейПечатнойФормы(ВыполняемаяКоманда.ОбъектыНазначения, СтандартнаяОбработка);");
    КонецЕсли;

   
Отказ = Ложь;
   
//Проверка на релиз БСП для универсальности.
    //Если необходимо печатать из непроведённых документов, удалите этот фрагмент
   
ВерсияБСП = ПолучитьВерсиюБСП();
    Если
СравнитьВерсии(ВерсияБСП, "2.2.3") >= 0 Тогда
        Выполнить(
"СписокДокументов = ВыполняемаяКоманда.ОбъектыНазначения;
        |НепроведенныеДокументы = ОбщегоНазначенияВызовСервера.ПроверитьПроведенностьДокументов(СписокДокументов);
        |Если СтандартнаяОбработка И НепроведенныеДокументы.Количество() > 0 Тогда Отказ = Истина; КонецЕсли;
        |"
);
    Иначе
        Выполнить(
"Если СтандартнаяОбработка И Не УправлениеПечатьюКлиент.ПроверитьДокументыПроведены(ВыполняемаяКоманда.ОбъектыНазначения) Тогда Отказ = Истина; КонецЕсли;");
    КонецЕсли;

    Если Не
Отказ Тогда

       
//Определение и заполнение штатных параметров для общей формы ПечатьДокументов
       
ПараметрыОткрытия = Новый Структура("ИсточникДанных, ПараметрыИсточника");
       
ПараметрыОткрытия.ИсточникДанных    = ВыполняемаяКоманда.ДополнительнаяОбработкаСсылка;
       
ПараметрыОткрытия.ПараметрыИсточника = Новый Структура("ИдентификаторКоманды, ОбъектыНазначения");
       
ПараметрыОткрытия.ПараметрыИсточника.ИдентификаторКоманды = ВыполняемаяКоманда.ИдентификаторКоманды;

       
//Здесь передаём наши значения в модуль обработки.
        //Структура для передачи параметров или значений в процедуру Печать обработки
        //В процедуре печати она будет доступна в качестве первого элемента массива МассивОбъектовНазначения
       
ДополнительныеПараметры = Новый Структура();
       
//Значения для передачи
       
ДополнительныеПараметры.Вставить("ПечататьСкидки", ЭтаФорма.ПечататьСкидки);

       
//Еще какие-то значения
        //ДополнительныеПараметры.Вставить("РеквизитФормы1", РеквизитФормы1);
        //ДополнительныеПараметры.Вставить("РеквизитФормы2", РеквизитФормы2);

        //В массиве ОбъектыНазначения будут содержаться ссылки на вызвавший форму объект (документ, справочник)
        // и наши значения из реквизитов формы или обработки
       
ОбъектыНазначения = Новый СписокЗначений;
       
ОбъектыНазначения.Добавить(ДополнительныеПараметры);

       
//Ссылки на вызвавшие форму объекты
       
Для каждого ОбъектНазначения Из ВыполняемаяКоманда.ОбъектыНазначения Цикл
           
ОбъектыНазначения.Добавить(ОбъектНазначения);
        КонецЦикла;
//Для каждого ОбъектНазначения Из
       
ПараметрыОткрытия.ПараметрыИсточника.ОбъектыНазначения = ОбъектыНазначения;

       
//Вывод сформированного табличного документа в штатную форму.
       
ОткрытьФорму("ОбщаяФорма.ПечатьДокументов", ПараметрыОткрытия);
    КонецЕсли;
   
ЭтаФорма.Закрыть();

КонецПроцедуры

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

// Экспортная процедура печати, вызываемая из основной программы
//
// Параметры:
// ВХОДЯЩИЕ:
//  МассивОбъектовНазначения - Массив - список объектов ссылочного типа для печати документа
//              Как правило, содержит один элемент с ссылкой на вызвавший форму объект (документ, справочник)
//
// ИСХОДЯЩИЕ:
//  КоллекцияПечатныхФорм - ТаблицаЗначений - таблица сформированных табличных документов.
//              Как правило, содержит одну строку с именем текущей печатной формы
//  ОбъектыПечати - СписокЗначений - список объектов печати.
//  ПараметрыВывода - Структура - Параметры сформированных табличных документов. Содержит поля:
//                        ДоступнаПечатьПоКомплектно - булево - по умолчанию Ложь
//                        ПолучательЭлектронногоПисьма
//                        ОтправительЭлектронногоПисьма
//

Процедура Печать(МассивОбъектовНазначения, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт

   
ПараметрыВывода.ДоступнаПечатьПоКомплектно = Истина;

   
//Получаем переданные из формы параметры для печати документа
    //Из формы МассивОбъектовНазначения передаётся как список значений, поэтому преобразуем его в массив
   
Если ТипЗнч(МассивОбъектовНазначения) = Тип("СписокЗначений") Тогда
       
МассивОбъектовНазначения = МассивОбъектовНазначения.ВыгрузитьЗначения();
    КонецЕсли;

   
//Присваиваем значение по умолчанию нашему параметру, переданному из формы
   
ПечататьСкидки = Истина;

   
//Смотрим, что содержится в первом элементе массива МассивОбъектовНазначения
    //Если это структура, значит есть дополнительные параметры, почти как в прежних конфигурациях
   
Если ТипЗнч(МассивОбъектовНазначения[0]) = Тип("Структура") Тогда
       
ДополнительныеПараметры = МассивОбъектовНазначения[0];
        Если
ДополнительныеПараметры.Свойство("ПечататьСкидки") Тогда
           
ПечататьСкидки = ДополнительныеПараметры.ПечататьСкидки;
        КонецЕсли;
       
//А теперь структуру из массива объектов можно удалить, больше она там не нужна
       
МассивОбъектовНазначения.Удалить(0);
    КонецЕсли;

   
//Дальше используем штатный функционал БСП
   
Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "РасходнаяНакладнаяСДиалогомВыбора") Тогда
       
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "РасходнаяНакладнаяСДиалогомВыбора", "Расходная накладная", СформироватьПечатнуюФормуНакладная(МассивОбъектовНазначения, ОбъектыПечати, ПечататьСкидки));
    КонецЕсли;

 Реализация функции СформироватьПечатнуюФормуНакладная() зависит от конкретной задачи и здесь не рассматривается.

В экспортной функции СведенияОВнешнейОбработке() необходимо указать использование команды печати "ОткрытиеФормы" с модификатором "ПечатьMXL".

Подробнее смотрите статью Внешние обработки и отчеты 1С:Предприятие 8.2 или прилагаемый пример обработки.

    //Определяем команды для печати формы

   
ТаблицаКоманд = ПолучитьТаблицуКоманд();

   
ДобавитьКоманду(ТаблицаКоманд,
       
"Расходная накладная (с диалогом выбора)"// Представление команды в пользовательском интерфейсе
       
"РасходнаяНакладнаяСДиалогомВыбора",        // Уникальный идентификатор команды
       
"ОткрытиеФормы",                            // Использование команды
       
Истина,                                  // Показывать оповещение.
       
"ПечатьMXL"                              // Дополнительный модификатор команды.
   
);
В 

Если всё сделано правильно, после регистрации внешней печатной формы в справочнике "ДополнительныеОбработки" она будет доступна из формы списка или документа в меню "Дополнительные печатные формы". После выбора из списка ВПФ на экране появится форма обработки.

Диалог перед печатью

Всё описанное выше изложено и прокомментировано в прилагаемой обработке.

Другой пример обработки можно скачать в  Cпецификация на товар к договору с контрагентом - Бухгалтерия предприятия 3.0

189

Скачать файлы

Наименование Файл Версия Размер
Расходная накладная для УТ 11.0-11.2 с диалогом выбора- РеализацияТоваров.epf
.epf 29,27Kb
19.05.17
403
.epf 1.0.5 29,27Kb 403 Скачать

См. также

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. EddieTocha 28 02.12.13 21:26 Сейчас в теме
Бухгалтерия предприятия, редакция 3.0 (3.0.26.11)

Все скопировал из Вашего описания. Функция СформироватьПечатнуюФормуНакладная() пустая, только создает ТабличныйДокумент и возвращает его. Поставил в этой функции Сообщить("ааа"), сообщение не появилось, видимо она не выполнялась.

Результат работы, ошибка:

{Форма.ФормаПечати.Форма(83)}: Ошибка при вызове метода контекста (ОткрытьФорму)
ОткрытьФорму("ОбщаяФорма.ПечатьДокументов", ПараметрыОткрытия);
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства 'val':
форма: Элемент
имя: {http://v8.1c.ru/8.2/mngsrv/ws}val
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства 'Value':
форма: Элемент
имя: {http://v8.1c.ru/8.1/data/core}Value
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства 'value':
форма: Элемент
имя: {http://v8.1c.ru/8.1/data/core}value
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства 'Value':
форма: Элемент
2. Поручик 4170 02.12.13 21:33 Сейчас в теме
(1) Откуда мне знать, куда вы что скопировали и как что сделали.
3. Поручик 4170 02.12.13 23:45 Сейчас в теме
(1) Добавил печатную форму с выбором для Бухгалтерии предприятия 3.0. Ссылку найдёте в описании. Учитесь.
4. Поручик 4170 28.12.13 14:38 Сейчас в теме
Ещё одна обработка с использованием методики.
Внешняя печатная форма "Счет на оплату покупателю" для БУ 3.0 с ручным выбором параметров http://infostart.ru/public/248458/
temdj; simy4; MaximKor; qwinter; SlavaVNL; TorLink; +6 1 Ответить
5. Поручик 4170 04.03.14 09:37 Сейчас в теме
Небольшие изменения в обработке для БСП недавних релизов.
6. SlavaVNL 8 16.04.14 08:10 Сейчас в теме
7. Dima69 3 18.04.14 10:16 Сейчас в теме
Небольшие изменения в обработке для БСП недавних релизов.?????????

А что за изменения, а то моя обработка вдруг перестала работать
выдает ошибку МЕТОД ОБЪЕКТА НЕ ОБНАРУЖЕН (МЕТАДАННЫЕ)
8. Поручик 4170 18.04.14 10:30 Сейчас в теме
(7) Одноэсники через одного дятлы, точнее из трёх два дятла. И вот почему - что за обработка, какая конфигурация, типа протелепатируй, мне лень писать.
Короче, разбирайся сам как знаешь. Приложенная ВПФ нормально работает в Управление торговлей 11.0.9 - 11.1.4.
9. alexpvs 53 19.05.14 17:57 Сейчас в теме
Большое спасибо за подсказанную методику по использованию общей формы ПечатьДокументов. У меня как раз с этим был затык, открытие формы для ввода параметров делается без проблем просто в описании сведений о внешней обработке
10. Поручик 4170 18.06.14 12:44 Сейчас в теме
Обработка портирована для использования с БСП 2.2.3
11. Поручик 4170 23.06.14 13:02 Сейчас в теме
Обработка портирована для использования с УТ 11.1.6
12. davdykin 17 26.07.14 07:18 Сейчас в теме
Поручик, спасибо большое за классную инструкцию. Хотелось бы уточнить:
1. Где можно почитать мануал про БСП, на ИТС разбирался с данной обработкой печати - ни хорошего примера, нифига не нашел.
2. Как отлаживать такую обработку?
14. jobkostya1c8 09.11.14 09:42 Сейчас в теме
(12) davdykin, (12) davdykin, найти то в закрытке на ИТС, но там паролик нужен. Отдельно то конфигурация БСП поставляется как демка, но она, как и вся документация больше разработчикам в крупных фирмах нужна, где есть корпоративные стандарты.
И это только для разработчиков новых конфигураций. Все равно подстраиваться приходится под то что есть.
Прикрепленные файлы:
13. jobkostya1c8 09.11.14 09:06 Сейчас в теме
Хорошо написано. Главное по делу и с примером.
Возможность то вызова есть
Для конфигураций линии УТ 10.3, БП 2.0 есть возможность передачи параметров, а также возможность без особых ухищрений вызвать форму обработки перед печатью с последующим выводом результата печати в штатное окно.
вот только никто не использует :(
В отраслевом ВДГБ Ломбард столкнулся. Печатные формы реализованы в виде отчета в конфигурации. Чтоб не передавать параметры (или, вернее чтоб передать параметр-объект документа, для вызова его (ДокументОбъекта) методов:
ИначеЕсли ИмяМакета = "ЗалоговыйБилетМакетНаБланке" Тогда
		
		ОтчетЗБ = Отчеты.ЛМБ_ЗалоговыйБилетПоМакету.Создать();
		ОтчетЗБ.мДокументОбъект          = ЭтотОбъект;
		ОтчетЗБ.СсылкаНаОбъект           = Ссылка;
		ОтчетЗБ.мДанныеОСхеме            = мДанныеКредитования;
		ОтчетЗБ.мУчетнаяПолитикаЛомбарда = мУчетнаяПолитикаЛомбарда;
		
		ТабДокумент = ОтчетЗБ.Печать(Истина);
		
	КонецЕсли;
Показать

А уже от нажатой кнопки и как параметра "галочки" зависит вариант печати. Такой вот "штатный" механизм передачи параметров.
Прикрепленные файлы:
15. Pipapalamm 13.01.15 10:34 Сейчас в теме
Автору спасибо.
Разжевано специально для ленивых программистов.
16. cassyan 12.02.15 09:12 Сейчас в теме
Спасибо за статью. Всё разжёвано, и при этом ни капли воды. То, что нужно.
17. markgenuine 24.02.15 10:26 Сейчас в теме
Спасибо за статью, очень интересный метод.
20. Sam13 250 17.03.15 09:55 Сейчас в теме
Все верно. Кроме как таких "танцев с бубном" передать в обработку печати свое значение невозможно.
Почему в БСП процедура написана таким образом? Что мешает добавить еще один параметр для передачи произвольных значений в эту процедуру. Непонятно.
Если бы в процедуре печати была доступна ссылка на внешнюю обработку (справочник "ДополнительныеВнешниеОтчетыИОбработки"), то это облегчило бы жизнь.

Иногда бывает нужно печатать с доп.параметрами, но при этом не открывать предварительно диалоговое окно. Классический пример - печатная форма с какими-нибудь ответственными или должностями, которые меняются время от времени, но не часто. Вбивать их в макет - тупо, показывать каждый раз при печати тоже не айс.
Я использовал такой метод: сделал две команды печати, одна команда печатной формы - для настройки параметров печати, вторая команда - для печати с уже настроенными ранее параметрами.
Форма для настройки параметров открывается и сохраняет значения в реквизит "ХранилищеНастроек" справочника "ДополнительныеВнешниеОтчетыИОбработки".
Вторая команда (печать с готовыми настройками) при открытии имея ссылку на справочник "ДополнительныеВнешниеОтчетыИОбработки" читает сохраненные настройки и сразу уходит на печать не открывая форму.
Единственный недостаток такого метода - видимость двух команд печати в списке команд (с открытием формы и без). Победить можно, но это предмет отдельного поста, пожалуй.
21. andreycom 8 18.03.15 10:17 Сейчас в теме
При запуске печатной формы такие проблемы:
{ОбщийМодуль.ДополнительныеОтчетыИОбработки.Модуль(54)}: Поле объекта не обнаружено (БезопасныйРежим)
ВнешняяОбработкаОбъект = ПолучитьОбъектВнешнейОбработки(ИсточникДанных, ПараметрыИсточника.БезопасныйРежим);

Подскажите пжл куда копать?
22. Поручик 4170 18.03.15 10:41 Сейчас в теме
(21) И как мне протелепатировать релиз используемой БСП или конфы? И какая именно обработка?
23. andreycom 8 18.03.15 11:07 Сейчас в теме
обработка - "Расходная накладная с диалогом выбора" (параметры в печатную форму передать нужно)
конфигурация - УТ11.0.6.9 платформа 8.3.5.1383

При выборе печатной формы с документа происходит открытие диалогового окна, после нажатия "печать" вываливается в данную ошибку.
24. Поручик 4170 18.03.15 11:27 Сейчас в теме
(23) Спасибо, поржал. Вы бы ещё УТ 11.0.4 от 2010 года использовали. Со старой УТ разбирайтесь сами.
25. WhiteOwl 251 03.04.15 13:31 Сейчас в теме
Благодарю, пригодилось!
26. FarFar 30 20.05.15 14:16 Сейчас в теме
Нашел, скачал, заработало.
Хороший пример!
УТ 11.1.9.66
27. Nx6600 04.06.15 10:13 Сейчас в теме
А можно ли как-нибудь реализовать печать с выводом диалоговой формы при печати комплекта? Команда печати комплекта отличается от команды печати отдельной формы тем, что комплект подготавливается полностью серверной процедурой.

Имеется ввиду комплект, настраиваемый через форму "НастройкаПечатиКомплекта". Готовый комплект (список форм и их количество) печатаются модулем менеджера регистра НастройкаПечатиОбъектов (процедура СформироватьКомплектВнешнихПечатныхФорм). Я не знаю как вызвать форму (причем логично и удобней) один раз для всего комплекта. (это где то в БСП 2.1.9)
28. Поручик 4170 04.06.15 11:03 Сейчас в теме
(27) Наверное, можно. Сам не интересовался
29. avsav 01.07.15 11:35 Сейчас в теме
Работает ли подобный код в Бухгалтерии предприятия 3.0?
У меня возникает ошибка "Поле объекта не обнаружено(ИдентификаторКоманды)"
30. Поручик 4170 01.07.15 12:23 Сейчас в теме
(29) С чего она у тебя возникает? Скачай обработку для БП 3.0 и сделай по образцу. Предварительно вкурись в матчасть.
31. smallwood13 21.08.15 05:27 Сейчас в теме
Спасибо, хоть и не с первого раза, но всё получилось.
32. JimmyBacsk 11.09.15 10:55 Сейчас в теме
Спасибо ERP 2.0 все работает. Долго парился с задачей пока не нашел эту статью.
33. tofree 14 24.11.15 23:40 Сейчас в теме
Отличная статья. Можно еще ВызовКлиентскогоМетода вместо ОткрытиеФормы опробывать, все равно в итоге общая форма .печатьдокументов вызывается.
34. Perk0n 13 10.03.16 19:01 Сейчас в теме
Подскажите, как методами БСП вывести ВПФ документа (Акт) из произвольной обработки?
Сама ВПФ превосходно зарегистрирована и печатается из самого документа, а вот из обработки/другого документа (Реализация) не получается.

Разобрался. При вызове общей формы "ПечатьДокументов" в качестве "ПараметрыОткрытия.ИсточникДанных" передал Справочники.ДополнительныеОтчетыИОбработки.НайтиПоНаименованию(Моя_ВПФ).
35. user597906_kivolgin 12.10.16 20:21 Сейчас в теме
Добрый день,

Очень интересная и разжеванная статья!
Подскажите как модуле формы обработки можно получить ссылку на документ? Мне необходимо вывести для пользователя некоторые реквизиты из документа.
36. Поручик 4170 12.10.16 23:42 Сейчас в теме
(35)
        //Ссылки на вызвавшие форму объекты
        Для каждого ОбъектНазначения Из ВыполняемаяКоманда.ОбъектыНазначения Цикл
            ОбъектыНазначения.Добавить(ОбъектНазначения);
        КонецЦикла; //Для каждого ОбъектНазначения Из
37. salikoff 21.09.17 10:21 Сейчас в теме
Передо мной стояла аналогичная задача и я решил её таким же способом — посредством передачи параметра в первом элементе массива ОбъектыНазначения. Решение не очень красивое, но работает и альтернативы ему я не вижу. Жаль что 1С не предоставила удобного механизма решения этой задачи.
38. ulovka 6 24.11.17 20:29 Сейчас в теме
Добрый вечер!
Подскажите пожалуйста: у вас в форме обработки есть реквизит ТаблицаНоменклатуры, в которую попадает номенклатура из документа, и можно установить пометку. А как сделать так, чтоб в печатную форму попадала только помеченная номенклатура? У меня аналогичная задача. С обычными реквизитами все ок, а вот с тз что-то никак (((
39. Поручик 4170 24.11.17 22:03 Сейчас в теме
(38) Только помеченная и попадает, что не так?
41. ulovka 6 27.11.17 09:10 Сейчас в теме
(39) Странно, попадает вся. Приложу скриншоты, чтоб не быть голословным. УТ 11.3.4.103
Прикрепленные файлы:
40. Поручик 4170 24.11.17 22:05 Сейчас в теме
(38) https://infostart.ru/public/73548/
ТоварныйЧек для УТ 11078 (с выбором товара).epf - для Управление Торговлей 11.0.7.8 и позднее (для документов Чек ККМ, реализация товаров/услуг, заказ клиента) с формой выбора позиций для печати
42. koloss 57 05.12.17 15:35 Сейчас в теме
Использовал Вызов клиентского метода. В форме обработки в процедуре Печать(ИдентификаторКоманды,ОбъектыНазначения) Экспорт

АдресХранилища=ПоместитьВоВременноеХранилище(ОбъектыНазначения,Новый УникальныйИдентификатор);	
КлючУникальностиФормы = АдресХранилища;
ОткрытьФорму(ПолучитьПолноеИмяФормы("Форма"),,ЭтаФорма,КлючУникальностиФормы);

Функция ПолучитьПолноеИмяФормы(ИмяФормы)
     Возврат Лев(ЭтотОбъект.ИмяФормы, СтрНайти(ЭтотОбъект.ИмяФормы, ".", НаправлениеПоиска.СКонца)) + ИмяФормы; 
КонецФункции


На кнопку Выполнить формы повесил команду, в ней написал
ОбъектыНазначения = ПолучитьИзВременногоХранилища(ЭтаФорма.КлючУникальности);
Через реквизиты формы(обработки) достал нужные данные (ЭтаФорма.Объект.ИмяРеквизита)
https://infostart.ru/public/310553/
43. XelOla 16 18.12.17 15:14 Сейчас в теме
А как перед печатью ВПФ задать вопрос и по ответу печатать ту или иную форму (без кнопочки печать)
44. lisav 109 22.02.18 07:39 Сейчас в теме
ошибка как в первом посте "Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа." может возникнуть, когда в список в качестве значения добавляется элемент списка, а не его значение. Надо тогда исправить следующую строчку:
            ОбъектыНазначения.Добавить(ОбъектНазначения.Значение);    
45. leda69@list.ru 28.09.18 12:41 Сейчас в теме
Спасибо большое за подробное объяснение! Всё получилось.
Оставьте свое сообщение