Устранение ошибки «Объект не найден в Справочнике «ИдентификаторыОбъектовМетаданных»

Несмотря на то, что мне приходится много кодировать на java (да, к сожалению другого слова я подобрать не могу, объясню в отдельной статье «романтику» промышленного программирования), в регионах большие деньги можно заработать в программировании только на 1С, чем и занимаюсь, когда есть возможность. Несмотря на кажущуюся простоту, подводных камней в этой желтенькой программке просто уйма. Такое ощущение, что сама 1с делает так, чтобы денежный поток на доработке никогда не заканчивался. Например, нередки случаи, когда через несколько обновлений важные отчеты просто помечаются как снимаемые с поддержки и будут просто удалены. И тогда начинается интересный квест по возврату утраченного функционала, ничего уже не говоря о том, если приходится доработать свой отчет или обработку (да и иногда и объект метаданных). И вот, вы запилили свой отчет или обработку, уже нашли, куда его воткнуть в конфигурацию (на самом деле, в 1с все же предпочтительнее создавать внешние отчеты и обработки, на случай, если охота оставить обновления), обновили конфигурацию и… система вас «радует» оповещением « {ОбщийМодуль.ОбщегоНазначения.Модуль(2646)}: Ошибка при выполнении функции ОбщегоНазначения.ИдентификаторОбъектаМетаданных()» и т. д. Кто сталкивался с подобным, тот поймет. На самом деле, я сам столкнулся с этим относительно недавно. Помню, как был в «дичайшем» восторге. К сожалению, информация по том, как это устранить настолько разрознена, что решил написать небольшое руководство. В тексте ошибки есть и небольшие рекомендации по ее устранению. 1С советует проделать довольно-таки спорные манипуляции:

  1. «Поднять» версию конфигурации. Например, у меня есть Розница 2.1.7.18. Я должен поменять ее на 2.1.7.19, обновить конфигурацию и будет все замечательно. Честно, спорный момент, так как проблема потом будет с обновлением и, что самое главное, лично у меня никогда в таких случаях данное «решение» проблемы не имело успеха.
  2. Запустить конфигурацию с параметром командой строки «/С ЗапуститьОбновлениеИнформационнойБазы»

Это на скриншоте у меня выглядит так:Запуск Честно говоря, данный способ я вообще не пробовал. Кому-то он помогает, я не стал этим пользоваться. Но знайте — это один из официальных способов решения данной ошибки. Я же использую третий способ, хоть он и сопряжен с некоторыми трудностями. Дело в том, что все идентификаторы объектов метаданных хранятся в одноименном справочнике. Найти его можно в разделе «Все функции». На самом деле, этот способ самый простой и безобидный. Просто находите в списке кнопку «Обновить справочник» и ждете завершения команды. Но вот в силу своей колоссальной везучести, на тех платформах, которые мне приходится дорабатывать, этой кнопки в списке этого справочника просто нет.

Вам нужно просто обновить идентификатор, поэтому создайте внешнюю обработку, разместите на ней команду и запишите в него код:

 

Справочники.ИдентификаторыОбъектовМетаданных.ОбновитьДанныеСправочника();

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

Сразу оговорюсь — этой кнопки в данном списке может как не быть, так и она там может находиться. Все зависит от конфигурации.

 

Яндекс.Метрика