0
pumba055
19.04.21
✎
17:05
|
Коллеги, добрый день!
Интересная штука. У меня есть отчет во внешних отчетах и обработках.
Я его вызываю программно с передачей параметров-->
УсловияОтбора = Новый Структура;
УсловияОтбора.Вставить("Сотрудник", Объект.Сотрудник);
УсловияОтбора.Вставить("ДатаСреза", Объект.ДатаСреза);
ПараметрыФормы = Новый Структура("Отбор, СформироватьПриОткрытии", УсловияОтбора, Истина);
ОткрытьФорму("ВнешнийОтчет.ЦветаСотрудника.Форма.ФормаОтчета" , ПараметрыФормы);
Все хорошо, он открывается, но только если я заново перезаходу в предприятие, то он уже не открывается --> не известное имя формы пишет...
Приходится заново заходить во внешние отчеты и его заново перевыбирать и перерегистрировать, тогда он заработает, но это же не выход...
|
|
2
acht
19.04.21
✎
17:27
|
Потому что при регистрации он подключается (не в базу, а в платформе, при помощи ВнешниеОтчеты.Подключить) с именем по умолчанию, которое берется из его метаданных. Это приводит к "кэшированию" и неявно позволяет работать твоему изврату с "ОткрытьФорму("ВнешнийОтчет.ЦветаСотрудника" без подключения внешнего отчета. При новом сеансе, оно естественно ничего про соответствие имени "ЦветаСотрудника" и тушки отчета не знает.
Так что давай, делай все по человечески - тушку отчета на диск, подключение самостоятельно, открытие формы самостоятельно.
Ну и (1) где в потрохах тоже самое
|
|
3
Kassern
19.04.21
✎
17:35
|
попробуй так.
ПараметрыЗапуска = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(СсылкаНаВнешнийОтчет, "БезопасныйРежим, ХранилищеОбработки");
ИмяОтчета = ВнешниеОтчеты.Подключить(АдресВоВременномХранилище, , БезопасныйРежим);
ОткрытьФорму("ВнешнийОтчет." + ИмяОтчета + ".Форма", ПолученныеДанные.ПараметрыФормы, ЭтаФорма);
|
|