Получить макет из внешней обработки...?

Автор Злоп, 16 января 2025, 00:36

« назад - далее »

Злоп

Что-то я туплю, вроде как есть же что-то такое...
.
Конфигурация, Документ.Счет, куча разных печатных форм для этого документа, (условно) та же самая печатная форма счета с вариациями в зависимости от галочек пользоваnей, настроек итд. Все - внутри конфигурации. При необходимости что-то поправить - надо обновлять конфигу. Начинаем выносить макеты во внешние моксели. Ок. Но для разных вариантов печатной формы счета есть нескольо разных мокселей. Начинаем их как-то в файловом хранилище "группировать" итд.
.
А хотелось бы чтобы типа был, например, внешняя обработка, в которой кроме набора макетов ничего и не было: надо поправить макет - открыл обработку, поправил, сохранил.
.
и хотелось бы чтобы было типа НЕ
Если ФС.СуществуетФайл(ИмяВнешнегоМоксельМакета)=1 Тогда
 Таб.ИсходнаяТаблица(ИмяВнешнегоМоксельМакета)
а чтобы было типа возможность назначить для Таб какой-либо моксель, лежащий в "контейнере"-внешней обработке.
.
Вот есть же Сервис.ПолучитьМодульВнешнейОбработки(<ПолныйПутьОбработки>)
вот чтобы что-то типа
Таб.ИсходнаяТаблица(Сервис.ПолучитьМакетВнешнейОбработки(ПолныйПутьОбработки.ТутИмяМакета)
.
Есть что-то такое? Илия бред несу..?
.
Понятно, что можно сэмулировать типа
Параметры = СоздатьОбъект("СписокЗначений");
  Параметры.ДобавитьЗначение("ТаблицаКакаяТо","ИмяМакета");
ОткрытьФормуМодально("Отчет",Параметры,ПутьВнешнейОбработки)
  Таб = Параметры.Получить("Макет");
.
А внутри обработки
Процедура ПриОткрытии()
  Таб = СоздатьОбъект("Таблица");
  Таб.ИсходнаяТаблица(ФормаПараметр.Получить("ИмяМакета"));
  Форма.Параметр.ДобавитьЗначение(Таб,"Макет");
  СтатусВозврата(0);
КонецПроцедуры // ПриОткрытии
.
но это же некузяво, м.б. как-то проще..?

Злоп

Есть РасширениеФормы.ПолучитьИменаТаблиц() - но это только имена...

АЛьФ

Эм... Если я правильно понял задачу, то просто пишешь:
Таб.ИсходнаяТаблица("ИмяТаблицы", ПутьКФайлуВнешнейОбработки);
или как-то так для встроенных объектов конфигурации:
Таб.ИсходнаяТаблица("ИмяТаблицы", "MD.Обработка.ХранилищеМакетов");

Злоп


Arbuz


Злоп