|
Ошибка при регистрации внешнего отчета "ХранилищеВариантов" | ☑ | ||
---|---|---|---|---|
0
ffidelite
21.08.14
✎
20:23
|
Добрый день!
Уже была тема v8: Ошибка при регистрации внешнего отчета "ХранилищеВариантов" УТ 11.1 но там нет решения. 1С:Предприятие 8.3 (8.3.5.1098) Управление торговлей и взаимоотношениями с клиентами (CRM), редакция 2.0. Разработано совместно с "1С-Рарус" (2.0.6.2) При попытке загрузить внешнюю обработку в Дополнительные отчеты и обработки, появляется ошибка: {ОбщийМодуль.ДополнительныеОтчетыИОбработки.Модуль(2621)}: Поле объекта не обнаружено (ХранилищеВариантов) Если ВнешнийОбъектМетаданные.ХранилищеВариантов <> Неопределено Тогда Посмотрел, проблема в том, что в функции в этой строке ВнешнийОбъектМетаданные = ВнешнийОбъект.Метаданные(); не добавляется у объекта реквизит ХранилищеВариантов. Функция ПолучитьРегистрационныеДанные(Знач Объект, Знач ПараметрыРегистрации, Знач ПараметрыОбработки) Результат = Новый Структура; СтандартнаяОбработка = Истина; ОбработчикиСобытия = ОбщегоНазначения.ОбработчикиСлужебногоСобытия( "СтандартныеПодсистемы.ДополнительныеОтчетыИОбработки\ПриПолученииРегистрационныхДанных"); Для каждого Обработчик Из ОбработчикиСобытия Цикл Обработчик.Модуль.ПриПолученииРегистрационныхДанных(Объект, Результат, СтандартнаяОбработка); Если Не СтандартнаяОбработка Тогда Возврат Результат; КонецЕсли; КонецЦикла; Если СтандартнаяОбработка Тогда // Подключение и получение имени, под которым объект будет подключаться Менеджер = ?(ПараметрыРегистрации.ЭтоОтчет, ВнешниеОтчеты, ВнешниеОбработки); #Если ТолстыйКлиентОбычноеПриложение Тогда ПараметрыОбработки.ИмяОбъекта = ПолучитьИмяВременногоФайла(); ДвоичныеДанные = ПолучитьИзВременногоХранилища(ПараметрыРегистрации.АдресДанныхОбработки); ДвоичныеДанные.Записать(ПараметрыОбработки.ИмяОбъекта); #Иначе ПараметрыОбработки.ИмяОбъекта = СокрЛП(Менеджер.Подключить(ПараметрыРегистрации.АдресДанныхОбработки, , Истина)); #КонецЕсли // Получение сведений о внешней обработке ВнешнийОбъект = Менеджер.Создать(ПараметрыОбработки.ИмяОбъекта); ВнешнийОбъектМетаданные = ВнешнийОбъект.Метаданные(); Попытка РегистрационныеДанные = ВнешнийОбъект.СведенияОВнешнейОбработке(); Исключение ТекстПредупреждения = НСтр("ru='Невозможно подключить дополнительный отчет/обработку из файла: | |%1.'"); ТекстПредупреждения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстПредупреждения, КраткоеПредставлениеОшибки(ИнформацияОбОшибке())); ВызватьИсключение ТекстПредупреждения; КонецПопытки; Если РегистрационныеДанные.Наименование = Неопределено ИЛИ РегистрационныеДанные.Информация = Неопределено Тогда Если РегистрационныеДанные.Наименование = Неопределено Тогда РегистрационныеДанные.Наименование = ВнешнийОбъектМетаданные.Представление(); КонецЕсли; Если РегистрационныеДанные.Информация = Неопределено Тогда РегистрационныеДанные.Информация = ВнешнийОбъектМетаданные.Комментарий; КонецЕсли; КонецЕсли; Если ТипЗнч(РегистрационныеДанные.Вид) <> Тип("ПеречислениеСсылка.ВидыДополнительныхОтчетовИОбработок") Тогда РегистрационныеДанные.Вид = Перечисления.ВидыДополнительныхОтчетовИОбработок[РегистрационныеДанные.Вид]; КонецЕсли; РегистрационныеДанные.Вставить("ХранилищеВариантов"); Если РегистрационныеДанные.Вид = Перечисления.ВидыДополнительныхОтчетовИОбработок.ДополнительныйОтчет Тогда Если ВнешнийОбъектМетаданные.ХранилищеВариантов <> Неопределено Тогда РегистрационныеДанные.ХранилищеВариантов = ВнешнийОбъектМетаданные.ХранилищеВариантов.Имя; КонецЕсли; КонецЕсли; РегистрационныеДанные.Команды.Колонки.Добавить("ВариантЗапуска"); Для Каждого КомандаОписание Из РегистрационныеДанные.Команды Цикл КомандаОписание.ВариантЗапуска = Перечисления.СпособыВызоваДополнительныхОбработок[КомандаОписание.Использование]; КонецЦикла; #Если ТолстыйКлиентОбычноеПриложение Тогда ПараметрыОбработки.ИмяОбъекта = ВнешнийОбъектМетаданные.Имя; #КонецЕсли Возврат РегистрационныеДанные; КонецЕсли; КонецФункции Может, кто чего подскажет. |
|||
1
ffidelite
22.08.14
✎
10:57
|
ап
|
|||
2
ffidelite
22.08.14
✎
21:22
|
тупил долго.
Подсказали Файл имеет расширение epf, а в Функция СведенияОВнешнейОбработке() указано было: РегистрационныеДанные.Вставить("Вид", "ДополнительнаяОтчет"); а должно быть РегистрационныеДанные.Вставить("Вид", "ДополнительнаяОбработка"); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |