поле объекта не обнаружено хранилище вариантов
Ошибка при регистрации внешнего отчета «ХранилищеВариантов»
1С:Предприятие 8.3 (8.3.5.1098)
Управление торговлей и взаимоотношениями с клиентами (CRM), редакция 2.0. Разработано совместно с «1С-Рарус» (2.0.6.2)
При попытке загрузить внешнюю обработку в Дополнительные отчеты и обработки, появляется ошибка:
<ОбщийМодуль.ДополнительныеОтчетыИОбработки.Модуль(2621)>: Поле объекта не обнаружено (ХранилищеВариантов)
Если ВнешнийОбъектМетаданные.ХранилищеВариантов <> Неопределено Тогда
Посмотрел, проблема в том, что в функции
в этой строке
ВнешнийОбъектМетаданные = ВнешнийОбъект.Метаданные();
не добавляется у объекта реквизит ХранилищеВариантов.
Функция ПолучитьРегистрационныеДанные(Знач Объект, Знач ПараметрыРегистрации, Знач ПараметрыОбработки)
Результат = Новый Структура;
ОбработчикиСобытия = ОбщегоНазначения.ОбработчикиСлужебногоСобытия(
«СтандартныеПодсистемы.ДополнительныеОтчетыИОбработки\ПриПолученииРегистрационныхДанных»);
Для каждого Обработчик Из ОбработчикиСобытия Цикл
Обработчик.Модуль.ПриПолученииРегистрационныхДанных(Объект, Результат, СтандартнаяОбработка);
Если Не СтандартнаяОбработка Тогда
Возврат Результат;
КонецЕсли;
Если СтандартнаяОбработка Тогда
// Получение сведений о внешней обработке
ВнешнийОбъект = Менеджер.Создать(ПараметрыОбработки.ИмяОбъекта);
ВнешнийОбъектМетаданные = ВнешнийОбъект.Метаданные();
Попытка
РегистрационныеДанные = ВнешнийОбъект.СведенияОВнешнейОбработке();
Исключение
ТекстПредупреждения = НСтр(«ru=’Невозможно подключить дополнительный отчет/обработку из файла:
|
|%1.'»);
ТекстПредупреждения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстПредупреждения, КраткоеПредставлениеОшибки(ИнформацияОбОшибке()));
ВызватьИсключение ТекстПредупреждения;
КонецПопытки;
Если РегистрационныеДанные.Наименование = Неопределено ИЛИ РегистрационныеДанные.Информация = Неопределено Тогда
Если РегистрационныеДанные.Наименование = Неопределено Тогда
РегистрационныеДанные.Наименование = ВнешнийОбъектМетаданные.Представление();
КонецЕсли;
Если РегистрационныеДанные.Информация = Неопределено Тогда
РегистрационныеДанные.Информация = ВнешнийОбъектМетаданные.Комментарий;
КонецЕсли;
КонецЕсли;
Если ТипЗнч(РегистрационныеДанные.Вид) <> Тип(«ПеречислениеСсылка.ВидыДополнительныхОтчетовИОбработок») Тогда
РегистрационныеДанные.Вид = Перечисления.ВидыДополнительныхОтчетовИОбработок[РегистрационныеДанные.Вид];
КонецЕсли;
РегистрационныеДанные.Вставить(«ХранилищеВариантов»);
Если РегистрационныеДанные.Вид = Перечисления.ВидыДополнительныхОтчетовИОбработок.ДополнительныйОтчет Тогда
Если ВнешнийОбъектМетаданные.ХранилищеВариантов <> Неопределено Тогда
РегистрационныеДанные.ХранилищеВариантов = ВнешнийОбъектМетаданные.ХранилищеВариантов.Имя;
КонецЕсли;
КонецЕсли;
Для Каждого КомандаОписание Из РегистрационныеДанные.Команды Цикл
КомандаОписание.ВариантЗапуска = Перечисления.СпособыВызоваДополнительныхОбработок[КомандаОписание.Использование];
КонецЦикла;
#Если ТолстыйКлиентОбычноеПриложение Тогда
ПараметрыОбработки.ИмяОбъекта = ВнешнийОбъектМетаданные.Имя;
#КонецЕсли
Как устранить ошибку 1С: «Поле объекта не обнаружено»?
При постоянной работе с программой 1С (добавление данных, расширение функциональности, изменение конфигурации) часто может возникать ошибка 1С: «Поле объекта не обнаружено», когда программа затрудняется найти атрибут (объект), указанный пользователем. Это не критическая ошибка 1С, но ей стоит уделить особое внимание.
Рассмотрим, в каких случаях появляется ошибка 1С:«Поле объекта не обнаружено», а также причины возникновения и методы ее устранения.
Ошибка 1С при запуске программы.
Как правило, поводом для сбоя в работе служит установка нового релиза на устаревшую платформу или некорректное изменение конфигурации.
Методы устранения ошибки 1С: «Поле объекта не обнаружено»:
Функционирование одного или нескольких модулей останавливается, но программа 1С находится в рабочем состоянии.
В данном случае, вероятнее всего, понадобиться помощь профессионального программиста, который произведет диагностику и отладку системы с локализацией места возникновения ошибки 1С: «Поле объекта не обнаружено». Однако можно попробовать устранить сбой самостоятельно.
Неверные настройки программы 1С у одного из пользователей.
Для исправления ситуации необходимо воспользоваться системным меню: «Администрирование», «Настройки программы», «Настройки пользователя и прав», «Персональные настройки пользователя». При этом можно выявить устаревшие объекты или атрибуты, на которые ссылается пользователь.
Сбой в информационной базе 1С привел к повреждению объекта.
В этом случае рекомендуется войти в системное меню и выбрать соответствующую опцию: «Администрирование», «Конфигуратор», «Тестирование и исправление информационной базы». В процессе диагностики будут выявлены не существующие ссылки на объекты или устаревшие объекты, с предложением их удалить.
Ошибка 1С: Поле объекта не обнаружено
При обновлении базы 1С, установке новой Платформы, внесении изменений в конфигурацию 1С возможно появление ошибки:
В зависимости от причины, вызвавшей появление ошибки, есть разные варианты ее устранения.
Прочитав статью, вы:
Ошибка в 1С Поле объекта не обнаружено — причины
Получите понятные самоучители 2021 по 1С бесплатно:
Ошибка обновления
Если ошибка появилась после проведенного обновления конфигурации, есть вероятность, что она связана с обновлением. Ваши действия:
Шаг 1. Восстановите базу из копии и убедитесь, что в копии базы ошибок не возникает.
БухЭксперт8 рекомендует всегда делать копии перед обновлением. Копия — ваш спасательный круг на всякие непредвиденные обстоятельства. Есть копия — есть возможность восстановления базы при неудачном обновлении.
Обратите внимание: выгруженные копии желательно проверять, поскольку бывают случаи, когда в них тоже есть ошибки. Или они не восстанавливаются.
Если ошибка в копии базы данных:
Шаг 2. Исключите наличие ошибки разработчиков.
Да, такое тоже возможно. Объем изменений, вносимых разработчиками в конфигурацию огромен, поэтому ошибки при обновлении могут возникать и возникают довольно часто. В сложных случаях обновление даже отзывается.
Чтобы определиться, допущена ли ошибка разработчиками, перейдите по ссылке: Публикация ошибок 1С
В поле Найти введите текст ошибки и выберите конфигурацию, в которой работаете, например, Бухгалтерия предприятия, редакция 3.0.
Если ошибка зафиксирована разработчиками, поиск выдаст:
БухЭксперт8 рекомендует не обновляться сразу после выхода нового релиза конфигурации, а подождать несколько дней. Если будут выявлены какие-то ошибки, разработчики внепланово в течение 3-5 дней выпустят новое обновление с исправлением допущенных ошибок.
Ошибка Платформы
Чистка кешей 1С
Если Платформа 1С не обновлялась или указанных ошибок по Платформе 1С на сайте поддержки пользователей не зафиксировано, имеет смысл почистить кеши 1С.
Все папки с длинными символьными именами являются кешами. В них хранится информация, к которой часто обращается 1С. При возникновении сбоя в программе данные могут браться не из актуальных, а старых папок. Поэтому желательно удалить всю старую информацию, чтобы исключить возможность возникновение ошибок в 1C.
БухЭксперт8 рекомендует выполнять чистку кешей при закрытой программе 1С. Иначе не получится удалить последний кеш, используемый программой. После удаления всех кешей при запуске программы 1С создаст новый кеш с актуальными данными.
Чистка пользовательских настроек
Если ошибка Поле объекта не найдено появляется при формировании отчета или обработки, возможно, возникли нарушения в Хранилище настроек конкретного пользователя.
Изменение конфигурации
Самый сложный случай возникновения ошибки — доработка типовой конфигурации 1С. Здесь никто за вас ошибку не исправит и действовать придется по следующему алгоритму:
Программа сообщит наименование поля и объекта, где произошла ошибка:
Программа автоматически запустит Конфигуратор и установит курсор в место, где формируется ошибка.
Шаг 4. Проанализируйте строчку кода:
В форме справочника поле Табачная продукция отсутствует.
Результат переноса реквизита Табачная продукция в форму справочника Номенклатура :
Шаг 7. Обновите конфигурацию по кнопке F7.
Ошибка Поле объекта не обнаружено (Табачная продукция) исправлена. Открытие формы элемента справочника Номенклатура выполняется без ошибки.
Ошибка 1С 8.3 Поле объекта не обнаружено чаще всего возникает при обновлении и доработке конфигураций. БухЭксперт8 рекомендует все исправления проводить на копии баз, а в наиболее сложных случаях отдавать базу на исправление программистам 1С.
См. также:
Если Вы еще не являетесь подписчиком системы БухЭксперт8:
После оформления подписки вам станут доступны все материалы по 1С Бухгалтерия, записи поддерживающих эфиров и вы сможете задавать любые вопросы по 1С.
Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно
Похожие публикации
Карточка публикации
(4 оценок, среднее: 5,00 из 5)
1С поле объекта не обнаружено
помогите понять, что делать. стандартные проверки совершила. очистить кэш, проверить настройки и тд
Поле объекта не обнаружено (ПредставлениеМОЛОтправителя)
<Документ.ПеремещениеМедикаментов.МодульМенеджера(891)>: ОбластьМакетаПодписи.Параметры.ПредставлениеМОЛОтправителя = ОбщегоНазначенияБК.ФамилияИнициалыФизЛица(ВыборкаПоДокументам.МОЛОтправителя);
<Документ.ПеремещениеМедикаментов.МодульМенеджера(577)>: НСтр(«ru = ‘Накладная на перемещение медикаментов'»),
<ОбщийМодуль.УправлениеПечатью.Модуль(2007)>: МенеджерПечати.Печать(ОбъектыСоответствующиеПечатнойФорме, ПараметрыПечати, ВременнаяКоллекцияДляОднойПечатнойФормы,
<ОбщаяФорма.ПечатьДокументов.Форма(499)>: ПечатныеФормы = УправлениеПечатью.СформироватьПечатныеФормы(Параметры.ИмяМенеджераПечати, ИменаМакетов,
<ОбщаяФорма.ПечатьДокументов.Форма(43)>: КоллекцияПечатныхФорм = СформироватьПечатныеФормы(Параметры.ИменаМакетов, Отказ);
<ОбщийМодуль.УправлениеПечатьюКлиент.Модуль(34)>: ОткрытьФорму(«ОбщаяФорма.ПечатьДокументов», ПараметрыОткрытия, ВладелецФормы, Строка(Новый УникальныйИдентификатор));
<ОбщийМодуль.УправлениеПечатьюБККлиент.Модуль(69)>: УправлениеПечатьюКлиент.ВыполнитьКомандуПечати(ОписаниеКоманды.МенеджерПечати, ОписаниеКоманды.Идентификатор, ОписаниеКоманды.ОбъектыПечати,
<(1)>:УправлениеПечатьюБККлиент.ВыполнитьКомандуПечати(ОписаниеКоманды)
<ОбщийМодуль.УправлениеПечатьюСлужебныйКлиент.Модуль(113)>: Результат = Вычислить(Обработчик);
<ОбщийМодуль.УправлениеПечатьюСлужебныйКлиент.Модуль(26)>: ВыполнитьПодключаемуюКомандуПечатиЗавершение(Истина, ПараметрыВыполнения);
<ОбщийМодуль.ПодключаемыеКомандыКлиент.Модуль(190)>: ВыполнитьОбработкуОповещения(Обработчик, ПараметрКоманды);
<ОбщийМодуль.ПодключаемыеКомандыКлиент.Модуль(34)>: ПродолжитьВыполнениеКоманды(Контекст);
<Документ.ПеремещениеМедикаментов.Форма.ФормаСписка.Форма(56)>: ПодключаемыеКомандыКлиент.НачатьВыполнениеКоманды(ЭтотОбъект, Команда, Элементы.Список);
ПОМОГИТЕ ПОЖАЛУЙСТА. Не могу понять в чем проблема
Перепробовал много вариантов кода результат 0.
Помогите пожалуйста не могу понять в чем ошибка. Конфигурация не пиленная.
Файлик epf могу скинуть, код и ошибка ниже.
Функция ВывестиПечатнуюФормуМХ18( Шапка, СтрокаПродукция)
ТабДокумент = Новый ТабличныйДокумент;
ТабДокумент.ИмяПараметровПечати = «ПАРАМЕТРЫ_ПЕЧАТИ_ОтчетПроизводстваЗаСмену_МХ18»;
// Выводим общие реквизиты шапки
ОбластьМакета = Макет.ПолучитьОбласть(«Шапка»);
ОбластьМакета.Параметры.Заполнить(Шапка);
ОбластьМакета.Параметры.НомерДокумента = ОбщегоНазначения.ПолучитьНомерНаПечать(Шапка);
ОбластьМакета.Параметры.ДатаДокумента = Шапка.ДатаДокумента;
ОбластьМакета.Параметры.Получатель = СтрокаПродукция.Родитель.Получатель;
ОбластьМакета.Параметры.КоррСчет = СтрокаПродукция.Родитель.КоррСчет;
СведенияОбОрганизации = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Организация, Шапка.ДатаДокумента);
ОбластьМакета.Параметры.ПредставлениеОрганизации = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОбОрганизации);
ОбластьМакета.Параметры.ПредставлениеПодразделения = Шапка.Подразделение;
// Выводим всевозможные коды
ОбластьМакета.Параметры.ОрганизацияПоОКПО = СведенияОбОрганизации.КодПоОКПО;
СтрокНаСтранице = 20;
СтрокШапки = 10;
СтрокПодвала = 9;
НомерСтраницы = 1;
// Выводим заголовок таблицы
ЗаголовокТаблицы = Макет.ПолучитьОбласть(«ЗаголовокТаблицы»);
ЗаголовокТаблицы.Параметры.НомерСтраницы = «Страница » + НомерСтраницы;
ТабДокумент.Вывести(ЗаголовокТаблицы);
Если КоличествоСтрок Неопределено И МассаБрутто <> NULL, МассаБрутто, 0);
КонецЕсли;
// увеличим итоги по странице
ИтогоМассаБруттоНаСтранице = ИтогоМассаБруттоНаСтранице + МассаБрутто;
ИтогоМестНаСтранице = ИтогоМестНаСтранице + Мест;
ИтогоКоличествоНаСтранице = ИтогоКоличествоНаСтранице + Количество;
ИтогоСуммаНаСтранице = ИтогоСуммаНаСтранице + ВыборкаСтрок.Сумма;
// увеличим итоги по дукументу
ИтогоМассаБрутто = ИтогоМассаБрутто + МассаБрутто;
ИтогоМест = ИтогоМест + Мест;
ИтогоКоличество = ИтогоКоличество + Количество;
ИтогоСумма = ИтогоСумма + ВыборкаСтрок.Сумма;
// Выводим итоги по документу в целом
ОбластьМакета = Макет.ПолучитьОбласть(«Итого»);
ОбластьМакета.Параметры.ИтогМассаБрутто = ИтогоМассаБрутто;
ОбластьМакета.Параметры.ИтогМест = ИтогоМест;
ОбластьМакета.Параметры.ИтогКоличество = ИтогоКоличество;
ОбластьМакета.Параметры.ИтогСумма = ИтогоСумма;
// Выводим подвал документа
ОбластьМакета = Макет.ПолучитьОбласть(«Подвал»);
// Зададим параметры макета
ТабДокумент.ПолеСверху = 0;
ТабДокумент.ПолеСлева = 0;
ТабДокумент.ПолеСнизу = 0;
ТабДокумент.ПолеСправа = 0;
ТабДокумент.РазмерКолонтитулаСверху = 0;
ТабДокумент.РазмерКолонтитулаСнизу = 0;
ТабДокумент.АвтоМасштаб = Истина;
ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
Функция Печать() Экспорт
ДопКолонка = Константы.ДополнительнаяКолонкаПечатныхФормДокументов.Получить();
Если ДопКолонка = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.Артикул Тогда
ТоварКод = «Артикул»;
Иначе
ТоварКод = «Код»;
КонецЕсли;
Запрос = Новый Запрос;
Запрос.УстановитьПараметр(«ТекущийДокумент», СсылкаНаОбъект.Ссылка);
Запрос.Текст =
«ВЫБРАТЬ
| Номер,
| Дата КАК ДатаДокумента,
| Организация,
| Подразделение
|ИЗ
| Документ.ОтчетПроизводстваЗаСмену КАК ОтчетПроизводстваЗаСмену
|
|ГДЕ
| ОтчетПроизводстваЗаСмену.Ссылка = &ТекущийДокумент»;
Шапка = Запрос.Выполнить().Выбрать();
Шапка.Следующий();
//определим курс валюты УУ для перевода в рубли цены и суммы по документу
Если СсылкаНаОбъект.ОтражатьВБухгалтерскомУчете Тогда
КоэффициентПересчета = 1;
Иначе
СтруктураКурсУпр = РегистрыСведений.КурсыВалют.ПолучитьПоследнее(СсылкаНаОбъект.Дата, Новый Структура(«Валюта», СсылкаНаОбъект.мВалютаУправленческогоУчета));
СтруктураКурсРегл = РегистрыСведений.КурсыВалют.ПолучитьПоследнее(СсылкаНаОбъект.Дата, Новый Структура(«Валюта», СсылкаНаОбъект.мВалютаРегламентированногоУчета));
Если (СтруктураКурсРегл.Курс * СтруктураКурсУпр.Кратность) = 0 Тогда
КоэффициентПересчета = 1;
Иначе
КоэффициентПересчета = (СтруктураКурсУпр.Курс * СтруктураКурсРегл.Кратность) / (СтруктураКурсРегл.Курс * СтруктураКурсУпр.Кратность);
КонецЕсли;
КонецЕсли;
Запрос = Новый Запрос;
Запрос.УстановитьПараметр( «ТекущийДокумент», СсылкаНаОбъект.Ссылка);
Запрос.УстановитьПараметр( «НачГраница», Новый Граница(СсылкаНаОбъект.Дата, ВидГраницы.Включая));
Запрос.УстановитьПараметр( «КонГраница», Новый Граница(СсылкаНаОбъект.Дата, ВидГраницы.Включая));
Запрос.УстановитьПараметр( «НаСклад», Перечисления.НаправленияВыпуска.НаСклад);
Запрос.УстановитьПараметр( «НаЗатраты», Перечисления.НаправленияВыпуска.НаЗатраты);
Запрос.УстановитьПараметр( «НаЗатратыСписок», Перечисления.НаправленияВыпуска.НаЗатратыСписок);
Запрос.УстановитьПараметр( «КоэффициентПересчета», КоэффициентПересчета);
Если СсылкаНаОбъект.ОтражатьВБухгалтерскомУчете Тогда
Запрос.Текст = СтрЗаменить( ТекстЗапроса, «%Суффикс%», «БухгалтерскийУчет»);
Иначе
Запрос.Текст = СтрЗаменить( ТекстЗапроса, «%Суффикс%», «»);
КонецЕсли;
ЗапросТовары = Запрос.Выполнить().Выгрузить( ОбходРезультатаЗапроса.ПоГруппировкам);
ТабДокумент = Новый Массив;
Для Каждого СтрокаПолучатель Из ЗапросТовары.Строки Цикл
Для Каждого СтрокаКоррСчет Из СтрокаПолучатель.Строки Цикл
ТабДокумент.Добавить( ВывестиПечатнуюФормуМХ18( Шапка, СтрокаКоррСчет.Строки));
КонецЦикла;
КонецЦикла;
err <ОбщийМодуль.УниверсальныеМеханизмы.Модуль(1389)>: Поле объекта не обнаружено (АвтоМасштаб)
Если НЕ ПечДокумент.АвтоМасштаб