Имя: Пароль:
1C
1С v8
ВПФ - Печатная форма недоступна в тонком клиенте
0 camojiet
 
18.07.14
09:43
Делаю свою первую ВПФ в УФ. В тонком клиенте при вызове из формы обработки (при вызове процедуры печати из модуля объекта обработки) - работает, в случае вызова команды из формы дока - "Печатная форма недоступна" и всё - тупик.
В толстом клиенте отрабатывает штатно обоими способами. Подскажите где копнуть.

Функция СведенияОВнешнейОбработке() Экспорт
    
    ПараметрыРегистрации = Новый Структура;
    
    МассивНазначений = Новый Массив;
    МассивНазначений.Добавить("Документ.РеализацияТоваровУслуг");
    
    ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма"); //возможны варианты - ЗаполнениеОбъекта, ДополнительныйОтчет, СозданиеСвязанныхОбъектов,
    ПараметрыРегистрации.Вставить("Назначение", МассивНазначений);
    ПараметрыРегистрации.Вставить("Наименование", "Спецификация"); //имя под kt обработка зарегистрирована будет в справочнике внешних обработок
    ПараметрыРегистрации.Вставить("Версия", "1.1");
    ПараметрыРегистрации.Вставить("БезопасныйРежим", Истина);
    ПараметрыРегистрации.Вставить("Информация", "Дополнительная печатная форма к документу РеализацияТоваровУслуг ");
    
    //команды
    ТаблицаКоманд = Новый ТаблицаЗначений;
    ТаблицаКоманд.Колонки.Добавить("Представление"); //как будет выглядеть описание печ.формы для пользователя
    ТаблицаКоманд.Колонки.Добавить("Идентификатор"); //имя нашего макета
    ТаблицаКоманд.Колонки.Добавить("Использование"); //ВызовСерверногоМетода
    ТаблицаКоманд.Колонки.Добавить("ПоказыватьОповещение"); //Истина
    ТаблицаКоманд.Колонки.Добавить("Модификатор"); //ПечатьМХL
    
    НоваяКоманда = ТаблицаКоманд.Добавить();
    НоваяКоманда.Представление = "Спецификация";
    НоваяКоманда.Идентификатор = "Спецификация"; //Внешняя печатная форма
    НоваяКоманда.Использование = "ВызовСерверногоМетода"; //здесь можно прописать использование как серверного так и клиентского, отличие в том, что серверный метод будет обращаться к экспортной процедуре из модуля объекта, клиентский - к экспортной процедуре из модуля формы объекта
    НоваяКоманда.ПоказыватьОповещение = Истина;
    НоваяКоманда.Модификатор = "ПечатьMXL";
    
    ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);
    
    Возврат ПараметрыРегистрации;
    
КонецФункции

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

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