|
При создании внешнего отчета Поле объекта не обнаружено (название отчета) | ☑ | ||
---|---|---|---|---|
0
vienya
03.04.24
✎
09:15
|
При создании внешнего отчета АнализПродажМенеджеров.erf из отчета ВаловаяПрибыль в БП Корп выходит ошибка:
Поле объекта не обнаружено (АнализПродажМенеджеров) {ОбщийМодуль.БухгалтерскиеОтчетыВызовСервера.Модуль(3255)}:МенеджерОтчета = Отчеты[БухгалтерскиеОтчеты.ИмяОтчета(Форма)]; {ОбщийМодуль.БухгалтерскиеОтчетыВызовСервера.Модуль(962)}:ИнициализацияФормыОтчета(Отчет, РеквизитыФормы, Форма); {ВнешнийОтчет.АнализПродажМенеджеров.Форма.ФормаОтчета.Форма(16)}:БухгалтерскиеОтчетыВызовСервера.ПриСозданииНаСервере(ЭтотОбъект, Отказ, СтандартнаяОбработка); [ОшибкаВоВремяВыполненияВстроенногоЯзыка, ОшибкаИспользованияВстроенногоЯзыка] При создании внешнего отчета в общем модуле был использован следующий код: Функция СведенияОВнешнейОбработке() Экспорт ПараметрыРегистрации = Новый Структура; ПараметрыРегистрации.Вставить("Вид", "Отчет"); //отчет ПараметрыРегистрации.Вставить("Назначение", Новый СписокЗначений); ПараметрыРегистрации.Вставить("Наименование", "Анализ Продаж Менеджеров"); ПараметрыРегистрации.Вставить("Версия", "1.1"); ПараметрыРегистрации.Вставить("Информация", "Анализ Продаж Менеджеров"); ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь); Команды = ПолучитьТаблицуКоманд(); //ДобавитьКоманду(Команды,"Анализ Продаж Менеджеров","АнализПродажМенеджеров","ОткрытиеФормы",Ложь,""); ПараметрыРегистрации.Вставить("Команды",Команды); Возврат ПараметрыРегистрации; КонецФункции Функция ПолучитьТаблицуКоманд() Команды = Новый ТаблицаЗначений; Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка")); Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка")); Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка")); Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево")); Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка")); Возврат Команды; КонецФункции Почему не видит поле с названием внешнего отчета? |
|||
1
vienya
03.04.24
✎
10:08
|
Есть специалист, который подскажет что не так или куда копать в таких случаях?
|
|||
2
vienya
03.04.24
✎
10:20
|
Исправил код (см. ниже), но ошибка выходит та же. Возможно, дело в чём-то другом.
Функция СведенияОВнешнейОбработке() Экспорт ОбъектыНазначенияФормы = Новый Массив; //ОбъектыНазначенияФормы.Добавить("Справочник.Сотрудники"); //размещает в Сотрудниках ПараметрыРегистрации = ПолучитьПараметрыРегистрации(ОбъектыНазначенияФормы, "Распечатать"); ПараметрыРегистрации.Версия = "1.1"; ПараметрыРегистрации.Информация = "Распечатать"; ТаблицаКоманд = ПолучитьТаблицуКоманд(); ДобавитьКоманду(ТаблицаКоманд, "Анализ Печатных Форм", // Представление команды в пользовательском интерфейсе "Анализ_Печатных_Форм", // Уникальный идентификатор команды "ОткрытиеФормы", //"ВызовСерверногоМетода", //Использование команды Истина, // Показывать оповещение. "ПочтаДока" // Дополнительный модификатор команды. ); ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд); Возврат ПараметрыРегистрации; КонецФункции Функция ПолучитьПараметрыРегистрации(ОбъектыНазначенияФормы = Неопределено, НаименованиеОбработки = "Анализ Печатных Форм", Информация = "", Версия = "1.0.0") Если ТипЗнч(ОбъектыНазначенияФормы) = Тип("Строка") Тогда ОбъектНазначенияФормы = ОбъектыНазначенияФормы; ОбъектыНазначенияФормы = Новый Массив; ОбъектыНазначенияФормы.Добавить(ОбъектНазначенияФормы); КонецЕсли; ПараметрыРегистрации = Новый Структура; ПараметрыРегистрации.Вставить("Вид", "Отчет"); ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь); ///ИСТИНА ПараметрыРегистрации.Вставить("Назначение", ОбъектыНазначенияФормы); Если Не ЗначениеЗаполнено(НаименованиеОбработки) Тогда НаименованиеОбработки = ЭтотОбъект.Метаданные().Представление(); КонецЕсли; ПараметрыРегистрации.Вставить("Наименование", НаименованиеОбработки); Если Не ЗначениеЗаполнено(Информация) Тогда Информация = ЭтотОбъект.Метаданные().Комментарий; КонецЕсли; ПараметрыРегистрации.Вставить("Информация", Информация); ПараметрыРегистрации.Вставить("Версия", Версия); Возврат ПараметрыРегистрации; КонецФункции Функция ПолучитьТаблицуКоманд() Команды = Новый ТаблицаЗначений; Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка")); Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка")); Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка")); Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево")); Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка")); Возврат Команды; КонецФункции Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "") // Добавляем команду в таблицу команд по переданному описанию. // Параметры и их значения можно посмотреть в функции ПолучитьТаблицуКоманд НоваяКоманда = ТаблицаКоманд.Добавить(); НоваяКоманда.Представление = Представление; НоваяКоманда.Идентификатор = Идентификатор; НоваяКоманда.Использование = Использование; НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение; НоваяКоманда.Модификатор = Модификатор; КонецПроцедуры |
|||
3
vienya
03.04.24
✎
10:46
|
Поговорил сам с собой
|
|||
4
Волшебник
03.04.24
✎
10:48
|
Все ошибки типа "Поле объекта не обнаружено" исправляются пониманием типов и/или отладчиком.
Просто не обращайтесь к полям, которых нет в объекте. А уж если наткнулись на такую ошибку, то нечего на форум лезть и демонстрировать собственную "мудрость" |
|||
5
Garykom
гуру
03.04.24
✎
10:54
|
(0) Пробовал в код модулей ДополнительныеОтчетыИОбработки.. заглядывать?
Вот нафига ты вручную когда там куча функций есть? Начиная с Функция СведенияОВнешнейОбработке(ВерсияБСП = "") Экспорт |
|||
6
Garykom
гуру
03.04.24
✎
10:57
|
(5)+ Значения берутся из ДополнительныеОтчетыИОбработкиКлиентСервер
Например Функция ВидОбработкиОтчет() Экспорт |
|||
7
vienya
03.04.24
✎
11:03
|
(4) (5) (6) Спасибо за подсказки. Буду искать.
|
|||
8
vienya
04.04.24
✎
08:22
|
Решил пойти другим путём создания внешней обработки Анализ Продаж из отчета ВаловаяПродукция. Вместо копирования превращения отчета во внешнюю форму, я вначале создал внешнюю форму, а потом скопировал туда данные СКД.
Однако столкнулся с другой проблемой - при формировании СКД во внешней обработке настройки пустые. Параметры в СКД открыжил, но всё равно ничего не выходит. |
|||
9
vienya
04.04.24
✎
08:26
|
||||
10
vienya
04.04.24
✎
11:17
|
Оказывается я ссылался на пустой макет ))
Теперь, когда должно вроде бы грузиться то, что надо, не видит поле ХозрасчетныйОборотыДтКт.СубконтоКт2 https://ltdfoto.ru/image/OIp7PB Пробовал хотя бы закомментить этот счет в запросе, но жалуется на несовпадение по столбцам. А, главное, я не понимаю откуда он подтягивается... Свой путь пройдя до половины, я очутился в сумрачном лесу. |
|||
11
Мультук
гуру
04.04.24
✎
11:21
|
(10)
Я думаю, вам стоит начать например вот с этого. Иначе всё будет долго, медленно и очень печально. https://курсы-по-1с.рф/1c-v8/skd/ P.S. Ну или поискать free курсы (видео) и т.п. Их тоже много. |
|||
12
Гена
гуру
04.04.24
✎
11:30
|
(10) Дантист?
|
|||
13
vienya
05.04.24
✎
10:10
|
Первый раз создаю внешний отчет, пробую выгрузить СКД, при нажатии кнопки Сформировать выходит пустой экран.
Код в модуле объекта взят из модуля объекта, модуля менеджера и модуля команды типового отчета ВаловаяПрибыль. Запрос и настройки СКД идентичны типовому отчету. Почему ничего не выводится на экран? |
|||
14
vienya
05.04.24
✎
12:06
|
(10) (12) Из божественной
|
|||
15
Гена
гуру
05.04.24
✎
12:07
|
(14) Я поэтому и спросил.
|
|||
16
vienya
06.04.24
✎
16:37
|
Как же всё просто разрешилось:
БП демо база версии 3.0.148.41. Взял этот отчет и сохранит как внешний, закомментировал в модуле формы «ФормаОтчета» строку 16 ВызовСервера. Отчет запустился и формируется. Отчет валовая прибыль Если дорабатывать, можно и в расширении это сделать, тогда не потеряется код из модулей. https://ltdfoto.ru/image/OJpQni |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |