Внешний отчет файл не обнаружен
Всем добрый вечер.
Коллеги, подскажите.
Конфигурация БП 3.0. Есть стандартный отчет, возникла задача на его основе создать внешний отчет с некоторыми доработками.
Скопировал отчет, допилил, все хорошо. Выгрузил его как внешний отчет. Открыл его в конфигураторе и модуле объекта добавил
функцию СведенияОВнешнейОбработке().
В пользовательском режиме . Администрирование\Печатные формы и отчеты\Доп.отчеты и обработки\Добавить из файла ну и все такое.
Зарегистрировалось.
Запускаю отчет на выполнение . пишет "Поле объекта не обнаружено ( Имя отчета )".
Никто с таким не сталкивался?
Что она от меня хочет и что ей надо дать?
Спасибо.
(7) Не думаю, что подсистема внешних отчетов завязана на общий модуль "БухгалтерскиеОтчетыВызовСервера". Туда лезет сам внешний отчет. Т.к. он был создан копированием типового встроенного отчета, то скорее всего в нем остались подобные вызовы. Их необходимо переписать.
(2)Добрый день.
Имеется в виду что прописано в функции СведенияОВнешнейОбработке()?
Думаю, надо ответить самому- какое поле не обнаружено, где возникает ошибка - при запуске отчета или при его выполнении, выполняется ли отчет при его открытии через Файл - открыть или такая же ошибка возникает.
(6)Судя по всему срубается в общем модуле БухгалтерскиеОтчетыВызовСервера
в строке "МенеджерОтчета = Отчеты[БухгалтерскиеОтчеты.ИмяОтчета(Форма)];".
В "Форме" не правильное
ИмяФормы === ВнешнийОтчет.БЦ_ВедомостьАмортизацииОСБухгалтерскийУчет_ПроцентИзноса.Форма.ФормаОтчета.
По жизни оно "ФормаОтчета".
Я только не понял, где его задавать. По здравому размышлению все в той же функции СведенияОВнешнейОбработке.
А вот где?
(7) Не думаю, что подсистема внешних отчетов завязана на общий модуль "БухгалтерскиеОтчетыВызовСервера". Туда лезет сам внешний отчет. Т.к. он был создан копированием типового встроенного отчета, то скорее всего в нем остались подобные вызовы. Их необходимо переписать.
(10) Да, вы правы. И в модуле объекта, и в модуле формы отчета постоянно используется модуль "БухгалтерскиеОтчетыВызовСервера. Причем в модуле формы на каждом шагу. А вот что понимать под "Их необходимо переписать"? Если просто прибить то толку не будет. Может как-то его в "Отчеты" добавить?
(11) Вынести функционал из общего модуля во внешний отчет и заменить вызовы функций/процедур общего модуля на вызов функций/процедур внешнего отчета. Я думал, это очевидно)
(12)Если я правильно понял, то процедуры и функции общего модуля перенести, скажем , в модуль формы.
Если эти процедуры и функции используют проц. и функ. из других общих модулей, то и их тоже.
Адаптирую модуль формы отчета. В разных местах модуля вызывается процедура общего модуля, причем как с
сервера, так и с клиента. Перетащил эту процедуру из общего модуля в модуль формы, поставил директиву &НаКлиентеНаСервереБезКонтекста, работает. Но в этой процедуре вызывается функция из другого общего модуля.
Повторяю фокус, при чем эта функция компилируется только с директивой &НаКлиентеНаСервереБезКонтекста.
Если я правильно понял, то из процедуры с ключем &НаКлиентеНаСервереБезКонтекста можно вызвать только
процедуру с таким же ключом.
Но в этой функции вызывается функция из другого общего модуля. Делаю тот-же финт и … облом.
Последняя функция содержит запрос. При проверке на клиенте компилятор пишет, что не знает что это за тип:
Запрос = Новый >Запрос; (Проверка: Тонкий клиент) .
Если ставлю ключ компилятора &НаСервере, то из вызывающей функции вызываемая не видна.
Добрый день.Помогите пожалуйста с достаточно простой ситуацией - создала внешний отчет на СКД.Через файл -открыть отчет нормально открывается и работает.А вот через сервис - доп.внешние отчеты - открываться не хочет(но зарегистрировался без вопросов).
Была точно такая же проблема.
Решение: не была определена ФОРМА отчета. При интерактивном открытии она создается "на лету". При программном - должна быть и все тут.
user637233_parensdaga; Natoriys; Ирка; user974746; AloneWolf; ytkfpm; mihapat; Dan1c28; namazi74; + 9 – Ответить
в 8.2 в настоящий момент в толстом клиенте невозможно открыть управляемую форму внешней обработки.
Можно открыть управляемую форму обработки включенной в конфигурацию.
IvanSusanin пишет:
в 8.2 в настоящий момент в толстом клиенте невозможно открыть управляемую форму внешней обработки.
Можно открыть управляемую форму обработки включенной в конфигурацию.
Начала разбираться с этой проблемой,выяснила пока, что на этапе открытия программа сохраняет этот отчет в некоторый внешний файл(*.tmp) в профиле пользователя(виндового) и потом к этому файлу обращается при открытии.Так вот,почему -то на этапе сохранения не формируется данный файл и программа пытается обратиться к несуществующему файлу.
"Корень зла" в тексте процедуры СправочникСписокВыбор формы списка справочника ВнешниеОбработки, что, собственно Вы уже и определили сами, и отсутствие в Вашем отчете формы отчета.Приведите текст этой процедуры с соответствие с текстом аналогичной процедуры из конфигурации УПП. Если Вам "трогать" Вашу конфигурацию по какой-либо причине нельзя, тогда создайте форму отчета в Вашем отчете (прямо через конструктор форм с установленным флажком "Использовать СКД"). Второй способ менее предпочтилен, т.к. в случае если при отработке расшифровки отчета будет вызываться сам отчет,то будет "сваливание".
обр=Справочники.ВнешниеОбработки.НайтиПоКоду("С00000031");
//проверка на найденность
ЭтоОтчет = ?(обр.ВидОбработки = Перечисления.ВидыДополнительныхВнешнихОбработок.Отчет, Истина, Ложь);
Если ЭтоОбработка Тогда
ИмяФайла = ПолучитьИмяВременногоФайла();
ДвоичныеДанные = обр.ХранилищеВнешнейОбработки.Получить();
ДвоичныеДанные.Записать(ИмяФайла);
Форма = ВнешниеОбработки.ПолучитьФорму(ИмяФайла);
Если Не Форма = Неопределено Тогда
Форма.Открыть();
Иначе
ВнешняяОбработка = ВнешниеОбработки.Создать(ИмяФайла);
КонецЕсли;
КонецЕсли;
Была точно такая же проблема.
Решение: не была определена ФОРМА отчета. При интерактивном открытии она создается "на лету". При программном - должна быть и все тут.
user637233_parensdaga; Natoriys; Ирка; user974746; AloneWolf; ytkfpm; mihapat; Dan1c28; namazi74; + 9 – Ответить
Из конфигурации сохраняю отчет ОСВ как внешний, а при загрузки отчета в БП (через Файл/Открыть), идет ошибка:
Ошибка при выполнении функции ОбщегоНазначения.ИдентификаторОбъектМетаданных()
Объект не найден по полному имени:
"ВнешнийОтчет.ОборотноСальдоваяВедомость"
Прочитала, что надо вставить в модуль объекта:
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = Новый Структура;
ПараметрыРегистрации.Вставить("Вид", "ДополнительныйОтчет");
ПараметрыРегистрации.Вставить("Назначение", "");
ПараметрыРегистрации.Вставить("Наименование", "ОСВ");
ПараметрыРегистрации.Вставить("Версия", "1.0.1");
ПараметрыРегистрации.Вставить("БезопасныйРежим", Истина);
ПараметрыРегистрации.Вставить("Информация", "ОСВ");
ПараметрыРегистрации.Вставить("ВерсияБСП", "1.2.1.4");
ТаблицаКоманд = ПолучитьТаблицуКоманд();
ДобавитьКоманду(ТаблицаКоманд,
"ОСВ",
"ОСВ",
"ОткрытиеФормы",
Ложь,
"");
ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);
Возврат ПараметрыРегистрации;
КонецФункции
Функция ПолучитьТаблицуКоманд()
Команды = Новый ТаблицаЗначений;
Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));
Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка"));
Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка"));
Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));
Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка"));
Возврат Команды;
КонецФункции
Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "")
НоваяКоманда = ТаблицаКоманд.Добавить();
НоваяКоманда.Представление = Представление;
НоваяКоманда.Идентификатор = Идентификатор;
НоваяКоманда.Использование = Использование;
НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
НоваяКоманда.Модификатор = Модификатор;
КонецПроцедуры
«Поле объекта не обнаружено» - ошибка, которая встречается довольно часто при работе с программными продуктами 1С:Предприятие. Часто она возникает после обновления программы. Рассмотрим подробнее, в чем ее причины и как с ней бороться.
1. Ошибка в файлах внешних обработок, отчетах и доработанных программных продуктах.
Чаще всего ошибка возникает после обновления в файлах внешних обработок, отчетах, либо дописанных блоках программы, – в том функционале, который не входил в основную поставку 1С. В данном случае ошибка «Поле объекта не обнаружено» означает, что программа пытается обратиться к полю, которого больше нет или имя которого было изменено.
Как правило, данные в программных продуктах 1С не исчезают «в никуда», если некое поле было удалено разработчиками, значит информация, которую оно хранило, перенесена в другое поле (реквизит, переменную, и т.д).
Второй причиной может стать ошибка при проведении обновления – и это относится только к доработанным конфигурациям и не затрагивает внешние отчеты и обработки. В этой ситуации специалист при обновлении случайно «затер» дописанное поле (реквизит, переменную, и т.д.). Понять это можно, сравнив обновленную базу с копией базы, и сравнив конфигурацию текущей базы с типовой (Конфигурация – поддержка – сравнить, объединить). Решение может зависеть от того, что конкретно было «затерто». Но как правило, если ошибка была допущена при обновлении, нельзя знать наверняка - единственная ли это ошибка. Поэтому наилучший выход – восстановить базу из копии и провести обновление снова.
Если вы точно уверенны, что работаете с неизмененной конфигурацией, и ошибка возникает при работе исключительно с типовым функционалом, тогда есть несколько способов, которые могут помочь решить проблему.
2. Ошибка «Поле объекта не обнаружено» в 1С 8.3 при обновлении неизмененной конфигурации.
Иногда ошибка «Поле объекта не обнаружено» в 1С 8.3 возникает при обновлении типовых конфигураций. Причин и решений ошибки может быть несколько:
1). Изменение платформы.
Ошибка может возникать, когда в обновленной конфигурации используются основные механизмы платформы, которые в используемой версии платформы еще не реализованы. Ситуация может быть и обратной. Поэтому одно из правильных решений – обновить платформу до последнего релиза 1С 8.3 либо попытаться использовать более старый, но подходящий релиз платформы.
2). Тестирование и исправление 1С
Во время работы с базой и во время ее обновления бывают ситуации, когда база данных может быть повреждена. В таких случаях базу нужно чинить. Сделать это можно с помощью Тестирования и исправления 1С внутри самой конфигурации (в конфигураторе открыть Администрирование - Тестирование и исправление). Перед любым тестированием обязательно нужно сделать копию базы данных. При тестировании должны стоять галки «Проверка ссылочной целостности информационной базы» и «Проверка логической целостности информационной базы», имеет смысл еще поставить галку «Реструктуризация таблиц информационной базы». Далее нужно выбрать поле «Тестирование и исправление». В блоке «При наличии ссылок на несуществующие объекты» выбрать пункт «Очищать ссылки». А в блоке «При частичной потере данных объектов» выбрать «Удалять объекты». Затем нажать кнопку «Выполнить».
Если это не помогло, можно также попытаться использовать утилиту сhdbfl. Она находится в папке bin в установленной платформе.
3). Очистка настроек пользователей
Затем нужно открыть подменю «Персональные настройки пользователей» и выбрать пункт «Очистка настроек».
Здесь можно выбрать – очистить ли настройки всех пользователей или нескольких. Также можно выбрать конкретную настройку или очистить все настройки (очень удобно, если знаете, у какого пользователя и в каком месте вылетает ошибка).
4). Ошибка разработчиков
Можно подождать следующего обновления или «обновиться» на чуть более старый релиз программы. Как правило, совсем уж явные ошибки разработчики исправляют быстро.
Специалист компании ООО «Кодерлайн»
Вас могут заинтересовать следующие статьи:
94 [PROP_CODE] => TAGS2 [TITLE] => Вас могут заинтересовать следующие семинары: ) --> 95 [PROP_CODE] => TAGS [TITLE] => Вас могут заинтересовать следующие вебинары: ) -->
Вас могут заинтересовать следующие вебинары:
Программирование в 1С [1] => 1С:Бухгалтерия [2] => 1С:Управление производственным предприятием [3] => 1С: Розница [4] => 1С: CRM [5] => 1С: Управление торговлей [6] => Бюджетирование [7] => СКД [8] => 1С: Конвертация данных [9] => Администрирование 1С [10] => Конвертация данных [11] => Лицензии 1С [12] => Оптимизация [13] => 1С: Документооборот [14] => 1С: ERP [15] => Транспортная логистика [16] => Техническое задание [17] => Продажи [18] => Ценообразование [19] => Планирование [20] => MS SQL Server [21] => Полезные обработки [22] => МСФО [23] => Отчеты в 1С [24] => XML [25] => Внедрение ERP [26] => Перенос данных [27] => Торговое оборудование [28] => РСБУ [29] => 1С:Управление корпоративными финансами [30] => 1С: Колледж [31] => 1С: Аренда и управление недвижимостью [32] => Финансовый учет ) -->
«Поле объекта не обнаружено» - ошибка, которая встречается довольно часто при работе с программными продуктами 1С:Предприятие. Часто она возникает после обновления программы. Рассмотрим подробнее, в чем ее причины и как с ней бороться.
1. Ошибка в файлах внешних обработок, отчетах и доработанных программных продуктах.
Чаще всего ошибка возникает после обновления в файлах внешних обработок, отчетах, либо дописанных блоках программы, – в том функционале, который не входил в основную поставку 1С. В данном случае ошибка «Поле объекта не обнаружено» означает, что программа пытается обратиться к полю, которого больше нет или имя которого было изменено.
Как правило, данные в программных продуктах 1С не исчезают «в никуда», если некое поле было удалено разработчиками, значит информация, которую оно хранило, перенесена в другое поле (реквизит, переменную, и т.д).
Второй причиной может стать ошибка при проведении обновления – и это относится только к доработанным конфигурациям и не затрагивает внешние отчеты и обработки. В этой ситуации специалист при обновлении случайно «затер» дописанное поле (реквизит, переменную, и т.д.). Понять это можно, сравнив обновленную базу с копией базы, и сравнив конфигурацию текущей базы с типовой (Конфигурация – поддержка – сравнить, объединить). Решение может зависеть от того, что конкретно было «затерто». Но как правило, если ошибка была допущена при обновлении, нельзя знать наверняка - единственная ли это ошибка. Поэтому наилучший выход – восстановить базу из копии и провести обновление снова.
Если вы точно уверенны, что работаете с неизмененной конфигурацией, и ошибка возникает при работе исключительно с типовым функционалом, тогда есть несколько способов, которые могут помочь решить проблему.
2. Ошибка «Поле объекта не обнаружено» в 1С 8.3 при обновлении неизмененной конфигурации.
Иногда ошибка «Поле объекта не обнаружено» в 1С 8.3 возникает при обновлении типовых конфигураций. Причин и решений ошибки может быть несколько:
1). Изменение платформы.
Ошибка может возникать, когда в обновленной конфигурации используются основные механизмы платформы, которые в используемой версии платформы еще не реализованы. Ситуация может быть и обратной. Поэтому одно из правильных решений – обновить платформу до последнего релиза 1С 8.3 либо попытаться использовать более старый, но подходящий релиз платформы.
2). Тестирование и исправление 1С
Во время работы с базой и во время ее обновления бывают ситуации, когда база данных может быть повреждена. В таких случаях базу нужно чинить. Сделать это можно с помощью Тестирования и исправления 1С внутри самой конфигурации (в конфигураторе открыть Администрирование - Тестирование и исправление). Перед любым тестированием обязательно нужно сделать копию базы данных. При тестировании должны стоять галки «Проверка ссылочной целостности информационной базы» и «Проверка логической целостности информационной базы», имеет смысл еще поставить галку «Реструктуризация таблиц информационной базы». Далее нужно выбрать поле «Тестирование и исправление». В блоке «При наличии ссылок на несуществующие объекты» выбрать пункт «Очищать ссылки». А в блоке «При частичной потере данных объектов» выбрать «Удалять объекты». Затем нажать кнопку «Выполнить».
Если это не помогло, можно также попытаться использовать утилиту сhdbfl. Она находится в папке bin в установленной платформе.
3). Очистка настроек пользователей
Затем нужно открыть подменю «Персональные настройки пользователей» и выбрать пункт «Очистка настроек».
Здесь можно выбрать – очистить ли настройки всех пользователей или нескольких. Также можно выбрать конкретную настройку или очистить все настройки (очень удобно, если знаете, у какого пользователя и в каком месте вылетает ошибка).
4). Ошибка разработчиков
Можно подождать следующего обновления или «обновиться» на чуть более старый релиз программы. Как правило, совсем уж явные ошибки разработчики исправляют быстро.
Специалист компании ООО «Кодерлайн»
Вас могут заинтересовать следующие статьи:
94 [PROP_CODE] => TAGS2 [TITLE] => Вас могут заинтересовать следующие семинары: ) --> 95 [PROP_CODE] => TAGS [TITLE] => Вас могут заинтересовать следующие вебинары: ) -->
Вас могут заинтересовать следующие вебинары:
Программирование в 1С [1] => 1С:Бухгалтерия [2] => 1С:Управление производственным предприятием [3] => 1С: Розница [4] => 1С: CRM [5] => 1С: Управление торговлей [6] => Бюджетирование [7] => СКД [8] => 1С: Конвертация данных [9] => Администрирование 1С [10] => Конвертация данных [11] => Лицензии 1С [12] => Оптимизация [13] => 1С: Документооборот [14] => 1С: ERP [15] => Транспортная логистика [16] => Техническое задание [17] => Продажи [18] => Ценообразование [19] => Планирование [20] => MS SQL Server [21] => Полезные обработки [22] => МСФО [23] => Отчеты в 1С [24] => XML [25] => Внедрение ERP [26] => Перенос данных [27] => Торговое оборудование [28] => РСБУ [29] => 1С:Управление корпоративными финансами [30] => 1С: Колледж [31] => 1С: Аренда и управление недвижимостью [32] => Финансовый учет ) -->
Читайте также: