Поле объекта не обнаружено как исправить

от admin

Исправление ошибки при обмене «Поле объекта не обнаружено»

Причина возникновения ошибки в 1С «Поле объекта не обнаружено» при загрузке файла обмена

Чаще всего такая ошибка возникает во время обмена, сразу же после обновления одной из синхронизируемых конфигураций. Дело в том, что при обновлении конфигурации, правила обмена по какой-то причине обновлены не были. И в правилах остались ссылки на объекты, которых в новой конфигурации уже нет. Это может быть реквизит какого-то справочника или документа. Что и вызывает при загрузке файла обмена ошибку «Поле объекта не обнаружено».

В данной статье, мы на примере рассмотрим, как исправить эту ошибку. Рассматривать будем на реальном случае поломки обмена между конфигурациями Бухгалтерия Предприятия 3.0 (8.3) и Автомойка и Шиномонтаж 2.0. Принципы, описанные в данной статье, подойдут для исправления ошибки «Поле объекта не обнаружено» при обмене любых конфигураций.

В данном случае, выгрузка из конфигурации Автомойка и Шиномонтаж 2.0 прошла без проблем, но при попытке загрузить этот файл в обновленную конфигурацию Бухгалтерия предприятия 3.0, 1С выдала ошибку «Поле объекта не обнаружено (РедактированиеТолькоВДиалоге)».

Внешний вид ошибки

Данная ошибка должна натолкнуть нас на мысль о том, что в конфигурации 1С Бухгалтерия предприятия есть какой-то объект , у которого до обновления был реквизит с именем «Редактирование только в диалоге», а после обновления объект остался, а реквизит с таким именем был удален либо переименован. И для того, чтобы система не пыталась загрузить этот не существующий реквизит, нам нужно подправить правила обмена, которые обычно хранятся в обработке, расположенной в базе из которой происходит выгрузка — в нашем случае в конфигурации Автомойка и Шиномонтаж.

Исправление ошибки

Приступим к исправлению ошибки. Для этого нам нужно открыть базу, из которой вы выгружаете данные в Конфигураторе. Затем сделать копию вашей базы! Далее найти обработку, при помощи которой происходит выгрузка. В данном случае в пользовательском режиме обработка называется «Выгрузка данных в конфигурацию БП 3.0» а в конфигураторе её имя «УниверсальныйОбменДаннымиXMLБП30». Нам нужно развернуть эту обработку, а затем развернуть ее макеты. Скорее всего, там будут находиться правила обмена. Выглядеть они будут примерно как на рисунке ниже.

Нажав сочетание клавиш «Ctrl+F» найдем интересующее нас свойство «РедактированиеТолькоВДиалоге». И удалим выгрузку этого свойства из правил обмена. Удалить нужно все начиная от <Свойство> и заканчивая </Свойство> (см. рисунок выше).

Далее нужно нажать Конфигурация/Обновить конфигурацию базы данных. После чего уже можно запускать конфигурацию и пробовать сделать выгрузку. А затем загрузку. Если загрузка прошла без проблем — значит проблема решена. Надеюсь, данная статья была вам полезна, если исправить ошибку не удалось, вы всегда можете обратиться ко мне.

Поле объекта не обнаружено (ПараметрыПрописиНаРусском)

Решил пора переходить с КА2.2 на КА2.4. Удивился, что правила конвертации с КА1.1 не изменились. При обмене КА (1.1.91.1 — 2.4.1.227) сразу нарвался на ошибки:
Ошибка при загрузке данных: <Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(8172)>: Тип не определен (СправочникСсылка.КлассификаторБанковРФ)
Ошибка в обработчике события ПослеЗагрузкиДанных (конвертация)
Обработчик = ПослеЗагрузкиДанных (конвертация)
ОписаниеОшибки = Поле объекта не обнаружено (СчетУчетаРасчетовПоВознаграждению)
ПозицияМодуля = (157)
КодСообщения = 23

Ошибка при загрузке данных: <Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(8358)>: Поле объекта не обнаружено (ПараметрыПрописиНаРусском)
Ошибка в обработчике события ПослеЗагрузкиДанных (конвертация)
Обработчик = ПослеЗагрузкиДанных (конвертация)
ОписаниеОшибки = Поле объекта не обнаружено (СчетУчетаРасчетовПоВознаграждению)
ПозицияМодуля = (157)
КодСообщения = 23

1-ю ошибку быстро нашел, исправил. А 2-ю — не знаю где искать?

+ Еще была Ошибка в обработчике события ПослеЗагрузкиДанных (конвертация)
Обработчик = ПослеЗагрузкиДанных (конвертация)
ОписаниеОшибки = Поле объекта не обнаружено (СчетУчетаРасчетовПоВознаграждению)
ПозицияМодуля = (180)
КодСообщения = 23
в обработчике события ПослеЗагрузкиДанных вызываются Алгоритмы, в одном из них нашел записи в РС ПорядокОтраженияРасчетовСПартнерами, у которого в 2.4 теперь УдалитьСчетУчетаРасчетовПоВознаграждению — за комментировал эти записи.

Далее Ошибка в обработчике события ПослеЗагрузкиДанных (конвертация)
Обработчик = ПослеЗагрузкиДанных (конвертация)
ОписаниеОшибки = Ошибка компиляции при вычислении выражения или выполнении фрагмента кода: <(22,2)>: Переменная не определена (ПрисоединенныеФайлыСлужебный)
ПозицияМодуля = (197)
КодСообщения = 23
Это не переменная а общий модуль, который переименовали в РаботаСФайламиСлужебный (или в РаботаСФайламиСлужебныйВызовСервера)

А вот с Ошибка в обработчике события ПослеЗагрузкиДанных (конвертация)
Обработчик = ПослеЗагрузкиДанных (конвертация)
ОписаниеОшибки = Значение не является значением объектного типа (ЗаписатьВПротоколВыполнения)
ПозицияМодуля = (121)
КодСообщения = 23

Читать:
Windows live mesh activex что это за программа

В Алгоритмах нашел вызов ОбщиеПроцедурыФункции.ЗаписатьВПротоколВыполнения(). Модуля ОбщиеПроцедурыФункции нет такого, есть макет у обработки УниверсальныйОбменДаннымиXML в обеих КА2.2 и 2.4, и в модулях этой обработки. В 2.4 еще в обработке КонвертацияОбъектовИнформационныхБаз появилась функция ЗаписатьВПротоколВыполнения().
Не пойму как исправить?

«Поле объекта не обнаружено» — довольно распространенная ошибка. Обычно во время отладки конфигуратора никаких проблем не возникает, но только происходит запуск программы – появляется окно ошибки.

image002

В 1С любой объект имеет поля. Если взглянуть с точки зрения программиста, то ошибка возникает при обращении программы к несуществующему в объекте полю. Если рассматривать проблему широко (с точки зрения пользователя), то ошибка «Поле объекта не обнаружено» значит, что программа пытается найти и не находит заданный атрибут.

Эта проблема может возникнуть в различных случаях:

  • При попытке входа;
  • При введении данных в форму;
  • Перед помещением информации в шаблоны.

Причины ее появления разнообразны, а способы решения зависят от подробностей ошибки.

Поле объекта не обнаружено 1С (АутентификацияOpenID)

image003

В последних версиях программы появилась возможность входа по OpenID. Это новая функция, которая упрощает процесс входа после разорванного соединения. В предыдущих конфигурациях 1С данное свойство просто не распознается.

Проблема решается двумя путями:

  • Обновлением платформы до более свежего релиза (скачивать его лучше с официального сайта 1С, где всегда доступна самая актуальная версия программы);
  • Откатом к предыдущей версии платформы (для этого необходимо периодически выполнять резервное копирование).

Есть и варианты без операции обновления, это:

  • Игнорирование внутренней проверки;
  • Смена правил обмена.

Но при первой возможности рекомендуется обновиться до более свежего релиза.

Иногда ошибка появляется, если пользователь открывает старую конфигурацию в момент ее обновления.

Поле объекта не обнаружено (Склад)

Ошибка может возникнуть и в ситуации, когда реквизит должен быть расположен в шапке документа, а указывается в середине, например, в таблице. Чтобы найти проблему, нужно:

  • Создать останову на точке ошибки;
  • Проверить в конфигураторе корректность введенных данных.
Поле объекта не обнаружено (ПрефиксВесовогоТовара)

image005

Чтобы решить проблему, необходимо:

  • Установить коды для весовых товаров;
  • В настройках оборудования создать для них шаблон.
Поле объекта не обнаружено (СтрокаПоиска)

Для решения этой проблемы требуется:

  • Тщательно изучить код (если ошибка возникает в перечислении, то не для каждого пункта задано соответствие);
  • Установить другую обработку Конвертации.
Поле объекта не обнаружено (Контрагент)

Ошибка исправляется включением в настройках функции «Независимое ведение партнеров и контрагентов». Для перехода: Администрирование – CRM и продажи.

Данная ошибка периодически появляется на свежих версиях платформы, когда внедряются новые программные механизмы. Ситуация обычно исправляется сама собой с выходом следующего релиза. Чтобы не ждать этого момента, рекомендуется время от времени производить резервное копирование. Это позволит откатиться к предыдущей версии. Опция универсальна, она будет полезна при самых разных ошибках в программе.

Поле объекта не обнаружено как исправить

У всех после обновления на 1С:Бухгалтерию 3.0.43.251 появится вот такое окно с выбором:

А после выбора у некоторых выскочит ошибка «Поле объекта не обнаружено (ПарольАдминистратораИнформационнойБазы)»:

И сколько бы вы не перезапускали базу окно с предупреждением безопасности и последующей ошибкой будет показываться вновь и вновь

Решение проблемы

Нужно сбросить константу «Параметры администрирования информационной базы» в значение по умолчанию.

Для этого я написал простенькую обработку.

1. Откройте её в базе и нажмите кнопку «Сбросить параметры. «:

2. После этого перезапустите базу и сделайте выбор в окне предупреждения безопасности.

3. В этот раз ошибка не повторится и окно с предупреждением появляться больше не будет.

С уважением, Владимир Милькин (преподаватель школы 1С программистов и разработчик обновлятора).

Владимир Милькин

Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.

Похожие статьи