База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Почему в управляемой форме возникает ошибка «не видно получить макет»? › Ответ в теме: Почему в управляемой форме возникает ошибка «не видно получить макет»?
В управляемой форме ошибка «не видно получить макет» при вызове ПолучитьМакет("Макет") возникает потому, что метод ПолучитьМакет() доступен только в модуле объекта (серверной части) или в модуле обработки, а в модуле управляемой формы (клиентской части) его напрямую вызвать нельзя.
В управляемом интерфейсе получить макет нужно через объект, например:
1. В модуле объекта (сервере) создайте функцию, которая вернёт макет:
|
1 2 3 4 |
&НаСервере Функция ПолучитьМакетДляФормы() Возврат ЭтотОбъект.ПолучитьМакет("Макет"); КонецФункции |
2. В модуле формы (клиенте) вызовите эту функцию через объект:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
&НаКлиенте Процедура СохранитьНеНайденное(Команда) ТабЧасть = ПроверкаТабЧасти(); ТабДок = Новый ТабличныйДокумент; Макет = Объект.ПолучитьМакетДляФормы(); ОбластьШапки = Макет.ПолучитьОбласть("Шапка"); ОбластьТчасти = Макет.ПолучитьОбласть("Тчасть"); ТабДок.Вывести(ОбластьШапки); // Заполнение табличного документа данными из ТабЧасть Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение); Диалог.Фильтр = "Файлы Excel (*.xlsx)|*.xlsx"; Диалог.ПолноеИмяФайла = "ТабличнаяЧасть.xlsx"; Если Диалог.Выбрать() Тогда ИмяФайла = Диалог.ПолноеИмяФайла; ТабДок.Записать(ИмяФайла, ТипФайлаТабличногоДокумента.XLSX); Сообщить("Данные успешно сохранены в файл: " + ИмяФайла); КонецЕсли; КонецПроцедуры |
Или, если макет лежит в общем модуле или внешней обработке, вызовите его через соответствующий объект.
Если макет — это файл в ресурсах обработки, то можно получить его так:
|
1 2 3 4 |
&НаСервере Функция ПолучитьМакет() Возврат ПолучитьМакет("Макет"); КонецФункции |
и вызвать эту функцию с клиента через объект.
В управляемом интерфейсе нельзя просто так вызвать ПолучитьМакет() — нужно делать это на сервере и передавать результат на клиент.
Рекомендую посмотреть здесь, как работать с макетами в управляемом интерфейсе:
https://infostart.ru/public/394727/
https://infostart.ru/public/704948/