По теме из базы знаний
- Поиск неликвидных товаров (УТ 10.3, КА 1.1, УПП 1.3)
- Динамика количества и стоимости продажи номенклатуры по периодам по сравнению с прошлыми указываемыми периодами с количеством остатков
- Раздел меню внешних отчетов и обработок (расширение конфигурации на БСП)
- Расшифровка отчета. Код, который я использую
- Анализ (сравнение) цен номенклатуры за период (УНФ 1.6 - 3.0)
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
IvanSusanin пишет:
в 8.2 в настоящий момент в толстом клиенте невозможно открыть управляемую форму внешней обработки.
Можно открыть управляемую форму обработки включенной в конфигурацию.
в 8.2 в настоящий момент в толстом клиенте невозможно открыть управляемую форму внешней обработки.
Можно открыть управляемую форму обработки включенной в конфигурацию.
Странно, а как это удается мне в УТ 11?
Не в толстом клиенте, а в обычном приложении.
Начала разбираться с этой проблемой,выяснила пока, что на этапе открытия программа сохраняет этот отчет в некоторый внешний файл(*.tmp) в профиле пользователя(виндового) и потом к этому файлу обращается при открытии.Так вот,почему -то на этапе сохранения не формируется данный файл и программа пытается обратиться к несуществующему файлу.
"Корень зла" в тексте процедуры СправочникСписокВыбор формы списка справочника ВнешниеОбработки, что, собственно Вы уже и определили сами, и отсутствие в Вашем отчете формы отчета.Приведите текст этой процедуры с соответствие с текстом аналогичной процедуры из конфигурации УПП. Если Вам "трогать" Вашу конфигурацию по какой-либо причине нельзя, тогда создайте форму отчета в Вашем отчете (прямо через конструктор форм с установленным флажком "Использовать СКД"). Второй способ менее предпочтилен, т.к. в случае если при отработке расшифровки отчета будет вызываться сам отчет,то будет "сваливание".
Вот код:
обр=Справочники.ВнешниеОбработки.НайтиПоКоду("С00000031");
//проверка на найденность
ЭтоОтчет = ?(обр.ВидОбработки = Перечисления.ВидыДополнительныхВнешнихОбработок.Отчет, Истина, Ложь);
Если ЭтоОбработка Тогда
ИмяФайла = ПолучитьИмяВременногоФайла();
ДвоичныеДанные = обр.ХранилищеВнешнейОбработки.Получить();
ДвоичныеДанные.Записать(ИмяФайла);
Форма = ВнешниеОбработки.ПолучитьФорму(ИмяФайла);
Если Не Форма = Неопределено Тогда
Форма.Открыть();
Иначе
ВнешняяОбработка = ВнешниеОбработки.Создать(ИмяФайла);
КонецЕсли;
КонецЕсли;
обр=Справочники.ВнешниеОбработки.НайтиПоКоду("С00000031");
//проверка на найденность
ЭтоОтчет = ?(обр.ВидОбработки = Перечисления.ВидыДополнительныхВнешнихОбработок.Отчет, Истина, Ложь);
Если ЭтоОбработка Тогда
ИмяФайла = ПолучитьИмяВременногоФайла();
ДвоичныеДанные = обр.ХранилищеВнешнейОбработки.Получить();
ДвоичныеДанные.Записать(ИмяФайла);
Форма = ВнешниеОбработки.ПолучитьФорму(ИмяФайла);
Если Не Форма = Неопределено Тогда
Форма.Открыть();
Иначе
ВнешняяОбработка = ВнешниеОбработки.Создать(ИмяФайла);
КонецЕсли;
КонецЕсли;
Была точно такая же проблема.
Решение: не была определена ФОРМА отчета. При интерактивном открытии она создается "на лету". При программном - должна быть и все тут.
Решение: не была определена ФОРМА отчета. При интерактивном открытии она создается "на лету". При программном - должна быть и все тут.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот