Настройка подмены типовых печатных форм внешними печатными формами
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) Надо создать экспортную функцию СведенияОВнешнейОбработке() в модуле объекта
По идее "Наименование" при совпадении должно заменить имя существующей печатной формы
СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = Новый Структура;
МассивНазначений = Новый Массив;
МассивНазначений.Добавить("Документ.РеализацияТоваровУслуг"); //Указываем документ к которому делаем внешнюю печ. форму
ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма"); //может быть - ПечатнаяФорма, ЗаполнениеОбъекта, ДополнительныйОтчет, СозданиеСвязанныхОбъектов...
ПараметрыРегистрации.Вставить("Назначение", МассивНазначений);
ПараметрыРегистрации.Вставить("Наименование", "Счет на оплату (шаблон)"); //имя под которым обработка будет зарегестрирована в справочнике внешних обработок
ПараметрыРегистрации.Вставить("БезопасныйРежим", ЛОЖЬ);
ПараметрыРегистрации.Вставить("Версия", "1.0");
ПараметрыРегистрации.Вставить("Информация", "Возможности БСП ");
ТаблицаКоманд = ПолучитьТаблицуКоманд();
ДобавитьКоманду(ТаблицаКоманд, "Счет на оплату (шаблон)", "СчетНаОплатуВРТУ", "ВызовСерверногоМетода", Истина, "ПечатьMXL");
ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);
Возврат ПараметрыРегистрации;
КонецФункции
ПоказатьПо идее "Наименование" при совпадении должно заменить имя существующей печатной формы
(3) Надо пробовать обратиться к реквизитам документа открывающего печатную форму.
Всё в этой же функции проанализировать родителя контрагента и соответственно сформировать параметр "Наименование" печатной формы.
Вопрос же был в принципе, а в каждом конкретном случае могут быть совершенно разные рекомендации.
Так то можно анализировать условия и по результатам, либо регистрировать печатную форму, либо не регистрировать.
Можно ведь сделать несколько форм для каждого контрагента.
Всё в этой же функции проанализировать родителя контрагента и соответственно сформировать параметр "Наименование" печатной формы.
Вопрос же был в принципе, а в каждом конкретном случае могут быть совершенно разные рекомендации.
Так то можно анализировать условия и по результатам, либо регистрировать печатную форму, либо не регистрировать.
Можно ведь сделать несколько форм для каждого контрагента.
(4) CaptainMorgan, спасибо что уделили внимание и за подробный ответ, я удивлен, что в УТ11 нет столь удобного механизма. В одной фирме было около 30 спец. печатных форм (хотелки клиентов) и в УТ10.3 очень легко это разруливалось без дополнительного программирования.
Команда = ПараметрыРегистрации.Команды.Добавить();
Команда.Представление = НСтр("ru = 'Счет на оплату (внешняя печатная форма)'");
Команда.Идентификатор = "Счет";
Команда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода();
Команда.ПоказыватьОповещение = Истина;
Команда.Модификатор = "ПечатьMXL";
Команда.ЗаменяемыеКоманды = "Счет,Квитанция";
Команда.Представление = НСтр("ru = 'Счет на оплату (внешняя печатная форма)'");
Команда.Идентификатор = "Счет";
Команда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода();
Команда.ПоказыватьОповещение = Истина;
Команда.Модификатор = "ПечатьMXL";
Команда.ЗаменяемыеКоманды = "Счет,Квитанция";
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот