ЗУП 3.1 Не формируется внешний отчет. "Макет "" не существует. Операция прервана"
Добрый день.
Сохранил отчёт как внешний, добавил функции для подключения отчета.
Формирую отчёт, получаю сообщение "Макет "" не существует. Операция прервана".
Погуглив нашёл рекомендацию что нужно добавить строку в процедуру:
"РегистрационныеДанные.Вставить("ОпределитьНастройкиФормы", Истина); "
Но не помогло, может надо как то иначе делать?
Есть вариант скопировать запрос и макет и сделать свой отчет или менять код общего модуля в конфигурации.
Других вариантов нет?
Сохранил отчёт как внешний, добавил функции для подключения отчета.
Формирую отчёт, получаю сообщение "Макет "" не существует. Операция прервана".
Погуглив нашёл рекомендацию что нужно добавить строку в процедуру:
"РегистрационныеДанные.Вставить("ОпределитьНастройкиФормы", Истина); "
Но не помогло, может надо как то иначе делать?
Есть вариант скопировать запрос и макет и сделать свой отчет или менять код общего модуля в конфигурации.
Других вариантов нет?
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(6)В кадрах, "Сверка сведений с военкоматом" или как то так... под рукой конфигурации нет.
Посмотрел отладчиком, в одной из процедур общего модуля заполняется коллекция списком названий макетов вида "Отчет.ИмяОтчета.НазваниеМакета".
Так вот "Отчет.ИмяОтчета" получается программно из имени объекта метаданных. Если имя отчёт внутренний то имя формируется правильно, а если внешний то имя имеет вид "ВнешнийОтчет.ИмяОтчета.НазваниеМакета", затем происходит поиск макета в коллекции... а в коллекции только имена вида "Отчет.Имя...".
Посмотрел отладчиком, в одной из процедур общего модуля заполняется коллекция списком названий макетов вида "Отчет.ИмяОтчета.НазваниеМакета".
Так вот "Отчет.ИмяОтчета" получается программно из имени объекта метаданных. Если имя отчёт внутренний то имя формируется правильно, а если внешний то имя имеет вид "ВнешнийОтчет.ИмяОтчета.НазваниеМакета", затем происходит поиск макета в коллекции... а в коллекции только имена вида "Отчет.Имя...".
(7)
В ЗУПе много где перемудрили, кмк
Так вот "Отчет.ИмяОтчета" получается программно из имени объекта метаданных. Если имя отчёт внутренний то имя формируется правильно, а если внешний то имя имеет вид "ВнешнийОтчет.ИмяОтчета.НазваниеМакета", затем происходит поиск макета в коллекции... а в коллекции только имена вида "Отчет.Имя...".
Сделайте тогда через расширение. Делов-то?
В ЗУПе много где перемудрили, кмк
ясно - не сталкивалась с таким отчетом. А если посмотреть в коде - какой макет нужен отчету? на какой макет ругается?
Скорее всего в коде есть ссылка на макет - возможно вам нужно указать там макет из внешней обработки.
Скорее всего в коде есть ссылка на макет - возможно вам нужно указать там макет из внешней обработки.
(14)
В итоге никак отчет не сделал. По другому решили задачу.
Самому интересно решение :)
Можно скопировать макет, запрос и сделать свой отчёт. Можно через расширение сделать, подменить название макета в одной из процедур. Может есть какие то ещё варианты.
а как сделали то?
В итоге никак отчет не сделал. По другому решили задачу.
Самому интересно решение :)
Можно скопировать макет, запрос и сделать свой отчёт. Можно через расширение сделать, подменить название макета в одной из процедур. Может есть какие то ещё варианты.
Перед компоновкой вставляем пользовательский параметр с указанием нужного макета.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
..............
ИначеЕсли КлючВарианта = "СписокДляСверкиСВоенкоматом" Тогда
...........
ЭтотОбъект.КомпоновщикНастроек.ПользовательскиеНастройки.ДополнительныеСвойства.Вставить("МакетПечатнойФормы", ЭтотОбъект.ПолучитьМакет("ПФ_MXL_СписокДляСверкиСВоенкоматом"));
РезультатКомпоновки = ЗарплатаКадрыОтчеты.РезультатКомпоновкиМакетаПечатнойФормы(ЭтотОбъект, ДанныеРасшифровки, НастройкиОтчета);
........
Показать
(17)
И продолжение....
подставляем макет из внешнего отчета
Все описанное делалось для варианта отчета "СписокДляСверкиСВоенкоматом"
все остальные можно сделать по аналогии.
И продолжение....
подставляем макет из внешнего отчета
Все описанное делалось для варианта отчета "СписокДляСверкиСВоенкоматом"
все остальные можно сделать по аналогии.
Процедура ВывестиМакетСписокДляСверкиСВоенкоматом(ДокументРезультат, РезультатКомпоновки, ДатаОтчета)
............
//Макет = УправлениеПечатью.МакетПечатнойФормы("Отчет.ВоинскийУчетОбщий.ПФ_MXL_СписокДляСверкиСВоенкоматом2021");
//Если ДатаОтчета < '20170801' Тогда
// Макет = УправлениеПечатью.МакетПечатнойФормы("Отчет.ВоинскийУчетОбщий.ПФ_MXL_СписокДляСверкиСВоенкоматом");
//ИначеЕсли ДатаОтчета < '20220108' Тогда
// Макет = УправлениеПечатью.МакетПечатнойФормы("Отчет.ВоинскийУчетОбщий.ПФ_MXL_СписокДляСверкиСВоенкоматом2017");
//КонецЕсли;
Макет = ЭтотОбъект.ПолучитьМакет("ПФ_MXL_СписокДляСверкиСВоенкоматом2021");
Если ДатаОтчета < '20170801' Тогда
Макет = ЭтотОбъект.ПолучитьМакет("ПФ_MXL_СписокДляСверкиСВоенкоматом");
ИначеЕсли ДатаОтчета < '20220108' Тогда
Макет = ЭтотОбъект.ПолучитьМакет("ПФ_MXL_СписокДляСверкиСВоенкоматом2017");
КонецЕсли;
...............................
КонецПроцедуры
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот