Имя: Пароль:
1C
 
Ошибка при использовании внешнего отчета
0 Antony8x
 
12.02.18
08:18
Доброго времени! Есть конфигурация ERP 2.0. Сохраняю карточку счета как внешний отчет. Открываю, ошибка:
...
Объект метаданных не найден по полному имени:
"ВнешнийОтчет.КарточкаСчета".
            ВызватьИсключение ЗаголовокОшибки +  Символы.ПС + Символы.ПС + ОписаниеОшибки()
...

Отладчиком прошёлся вижу одно решение - нужно изменять конфигурацию.
Кто сталкивался с таким, можно как-нибудь не меняя конфигурацию обойти ошибку?
1 Повелитель
 
12.02.18
08:35
(0) Отладчиком прошёлся вижу одно решение - нужно изменять конфигурацию.

Не верно. Нужно изменить внешний отчет.
2 Мимохожий Однако
 
12.02.18
08:40
Внеси изменения в обработку с правильной регистрацией по правилам БСП.
3 FIXXXL
 
12.02.18
08:44
(0) у внешней нет МодуляМенеджера, а разработчики типовой понапихали туда всякого
но переписать можно
4 Antony8x
 
12.02.18
08:44
(2) Пробовал не взлетело:

Функция СведенияОВнешнейОбработке() Экспорт
    
    ПараметрыРегистрации = Новый Структура;
    
    Команды = Новый ТаблицаЗначений;
    Команды.Колонки.Добавить("Идентификатор");
    Команды.Колонки.Добавить("Представление");
    Команды.Колонки.Добавить("Модификатор");
    Команды.Колонки.Добавить("ПоказыватьОповещение");
    Команды.Колонки.Добавить("Использование");
    
    СтрокаКоманды                                      = Команды.Добавить();
    СтрокаКоманды.Идентификатор                        = "ОткрытиеФормы";
    СтрокаКоманды.Представление                        = НСтр("ru = 'Карточка счета'");
    СтрокаКоманды.ПоказыватьОповещение                 = Истина;
    СтрокаКоманды.Модификатор                          = "";
    СтрокаКоманды.Использование                        = "ОткрытиеФормы";
    
    ПараметрыРегистрации.Вставить("Вид",                           "ДополнительнаяОбработка");
    ПараметрыРегистрации.Вставить("Версия",                        "1.0");
    ПараметрыРегистрации.Вставить("Наименование",                  НСтр("ru = 'Карточка счета'"));
    ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь);
    ПараметрыРегистрации.Вставить("Информация",                    НСтр("ru = 'Карточка счета.'"));
    ПараметрыРегистрации.Вставить("Команды",                       Команды);
    
    //ПараметрыРегистрации.Вставить("РассылкаОтчетов", Истина); //Варианты: Истина, Ложь
    
    Возврат ПараметрыРегистрации;

    
КонецФункции
5 Antony8x
 
12.02.18
08:46
(3) Да, только так, похоже. Правда там не так просто
6 Мимохожий Однако
 
12.02.18
08:47
(4) Не информативно. Какая версия БСП в конфигурации? Расшифруй "не взлетело". Есть отладчик?
7 FIXXXL
 
12.02.18
08:49
(6) БСП сгенерит код МодуляМенеджера, к которому обращаются глобальные процедуры, что бы вытащить Название и т.п. хрень?
там засада в построении вызовов функций при типовом формировании отчета
8 Мимохожий Однако
 
12.02.18
08:49
Процедуры модуля менеджера можно перенести в модуль отчета. Но сам по себе подход не очень. Для получения подобного отчета лучше взять только СКД и настройки.
9 Мимохожий Однако
 
12.02.18
08:50
(7) Согласен
10 Antony8x
 
12.02.18
08:52
(6) Не поможет это. Время только тратить
11 FIXXXL
 
12.02.18
08:53
(5) смотри в модуле объекта вызовы аля
БухгалтерскиеОтчетыВызовСервера.ОбработкаПроверкиЗаполнения(ЭтотОбъект, Отказ);
я их просто скопировал в модуль объекта внешнего отчета и вызывал вместо глобальных
12 FIXXXL
 
12.02.18
08:55
(11) +
    //МенеджерОтчета = Отчеты[БухгалтерскиеОтчетыКлиентСервер.ПолучитьИдентификаторОбъекта(Форма)];

кароч выцепляй по ошибкам :)
13 Antony8x
 
12.02.18
09:52
(11) Да, так и сделал. Спасибо!)