Имя: Пароль:
1C
 
Подключение внешней печатной формы к документу 8.3
0 sergey198
 
06.12.18
09:32
Всем привет.
Вчера так и не получилось, подключить, что я делаю не так?

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

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

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

    Возврат Команды;

КонецФункции
Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование = "ВызовСерверногоМетода", ПоказыватьОповещение = Ложь, Модификатор = "ПечатьMXL")

    НоваяКоманда = ТаблицаКоманд.Добавить();
    НоваяКоманда.Представление = Представление;
    НоваяКоманда.Идентификатор = Идентификатор;
    НоваяКоманда.Использование = Использование;
    НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
    НоваяКоманда.Модификатор = Модификатор;

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

Функция ПолучитьПараметрыРегистрации(ОбъектыНазначенияФормы = Неопределено, НаименованиеОбработки = "", Информация = "", Версия = "1.0")

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

    Возврат ПараметрыРегистрации;

КонецФункции
1 famnam
 
06.12.18
09:40
Функция СведенияОВнешнейОбработке() Экспорт
    
    ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке();
    ПараметрыРегистрации.Наименование = Метаданные().Синоним;
    ПараметрыРегистрации.Вид  = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиПечатнаяФорма();
    ПараметрыРегистрации.Версия = "1.0";                                                
    ПараметрыРегистрации.БезопасныйРежим = Ложь;
    
    ПараметрыРегистрации.Назначение.Добавить("Документ.ДвижениеПродукцииИМатериалов");
    
    НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
    НоваяКоманда.Представление = НСтр("ru = 'Требование-накладная (М-11) (внеш.)'");    
    НоваяКоманда.Идентификатор = "ТребованиеНакладная_М11";    
    НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода();
    НоваяКоманда.Модификатор = "ПечатьMXL";
        
    Возврат ПараметрыРегистрации;
    
КонецФункции
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший