Не найдено под для объекта метаданных 1с
Несмотря на то, что мне приходится много кодировать на java (да, к сожалению другого слова я подобрать не могу, объясню в отдельной статье «романтику» промышленного программирования), в регионах большие деньги можно заработать в программировании только на 1С, чем и занимаюсь, когда есть возможность. Несмотря на кажущуюся простоту, подводных камней в этой желтенькой программке просто уйма. Такое ощущение, что сама 1с делает так, чтобы денежный поток на доработке никогда не заканчивался. Например, нередки случаи, когда через несколько обновлений важные отчеты просто помечаются как снимаемые с поддержки и будут просто удалены. И тогда начинается интересный квест по возврату утраченного функционала, ничего уже не говоря о том, если приходится доработать свой отчет или обработку (да и иногда и объект метаданных). И вот, вы запилили свой отчет или обработку, уже нашли, куда его воткнуть в конфигурацию (на самом деле, в 1с все же предпочтительнее создавать внешние отчеты и обработки, на случай, если охота оставить обновления), обновили конфигурацию и… система вас «радует» оповещением « : Ошибка при выполнении функции ОбщегоНазначения.ИдентификаторОбъектаМетаданных()» и т. д. Кто сталкивался с подобным, тот поймет. На самом деле, я сам столкнулся с этим относительно недавно. Помню, как был в «дичайшем» восторге. К сожалению, информация по том, как это устранить настолько разрознена, что решил написать небольшое руководство. В тексте ошибки есть и небольшие рекомендации по ее устранению. 1С советует проделать довольно-таки спорные манипуляции:
Это на скриншоте у меня выглядит так: Честно говоря, данный способ я вообще не пробовал. Кому-то он помогает, я не стал этим пользоваться. Но знайте — это один из официальных способов решения данной ошибки. Я же использую третий способ, хоть он и сопряжен с некоторыми трудностями. Дело в том, что все идентификаторы объектов метаданных хранятся в одноименном справочнике. Найти его можно в разделе «Все функции». На самом деле, этот способ самый простой и безобидный. Просто находите в списке кнопку «Обновить справочник» и ждете завершения команды. Но вот в силу своей колоссальной везучести, на тех платформах, которые мне приходится дорабатывать, этой кнопки в списке этого справочника просто нет. Вам нужно просто обновить идентификатор, поэтому создайте внешнюю обработку, разместите на ней команду и запишите в нее код:
После запуска этой команды идентификатор обновится.
Сразу оговорюсь — этой кнопки в данном списке может как не быть, так и она там может находиться. Все зависит от конфигурации.
Ошибка дублирования появляется в момент обновления конфигурации базы данных после обновления:
- При объединении конфигураций вместо обновления типовой (внутренние идентификаторы у них различные, а имя объекта метаданных совпадает)
- При обновлении конфигурации из хранилища (в случае, если 1 и тот же объект добавили различные пользователи)
Как это выглядит после обновления:
Из иллюстрации видно, что объект захвачен для разработки, следовательно исправлять его следует в месте захвата. Сразу сделайте копию информационной базы (не важно, что она некорректная, может стать еще хуже).
- В общем случае, следует удалить один из них, либо переименовать(когда они отличаются) и поместить в хранилище .
- В случае когда это типовой объект, его следует снять с поддержки перед удалением.
- Такие ошибки преимущественно возникают на 1С 8.3.6, возможно следует обновить платформу.
- В самом худшем случае, следует пересоздать хранилище заново, если объект в базе в единственном числе (перед этим следует выгрузить конфигурации из всех баз разработки, и перед развертыванием объединить их в ручном режиме.
При обновлении типовой конфигурации могут быть две основные проблемы:
Возможно ситуация, когда при следующем обновлении ситуация повторяется, по причине совпадения внутренних идентификаторов объектов , тогда потребуется перенос данных на вновь созданные объекты/реквизиты посредством конвертации данных или других способов и повторить удаление объекта
Как выяснить какой объект удалять?
- Сначала переименовываете и обновляете конфигурацию.
- Заходите в режим предприятия и смотрите какие объекты в наличии или заполнены (если это реквизит).
- Если объект новый, то можно удалить любой.
Реклама — искусство превращения полуправды в полную ложь.
— Эдгар Шоф
При добавлении новых объектов в типовые конфигурации возможна ошибка при обращении к этому объекту в режиме 1C:Предприятие: "Объект не найден в Справочнике "ИдентификаторыОбъектовМетаданных".
Для объекта метаданных "Отчет.РИК_РасчетыСПартнерами" не найден идентификатор в справочнике "Идентификаторы объектов метаданных".
Для разработчика: возможно требуется обновить вспомогательные данные, которые влияют на работу программы. Для выполнения обновления можно:
- воспользоваться внешней обработкой "Инструменты разработчика: Обновление вспомогательных данных",
- либо запустить программу с параметром командной строки 1С:Предприятия 8 "/С ЗапуститьОбновлениеИнформационнойБазы",
- либо увеличить номер версии конфигурации, чтобы при очередном запуске выполнились процедуры обновления данных информационной базы.
Варианты решения:
1. В некоторых конфигурациях режиме предприятия
Все функции - Обработки - "Инструменты разработчика: Обновление вспомогательных данных", Если обработки нет, то пункт 2
Все функции - Справочники - "Идентификаторы объектов метаданных", нажать кнопку "Обновить данные справочника", Если кнопки обновить нет, то пункт 2
2. Из Конфигуратора запустить с параметром «/С ЗапуститьОбновлениеИнформационнойБазы», т.к. обработки может не оказаться под руками, а изменение версии производится с обновлением конфигурации и базы, что может оказаться не удобным:
Сервис/Параметры - Вкладка Запуск1С:Предприятия - В свойстве «Параметр запуска» добавляем «/С ЗапуститьОбновлениеИнформационнойБазы»
При запуске Предприятия появится окно обновления конфигурации. Потом не забудьте Убрать параметр запуска, чтобы больше не запускалось обновление!
3. Обновить конфигурацию или вручную увеличить номер версии конфигурации, чтобы при очередном запуске выполнились процедуры обновления данных информационной базы.
При добавлении новых объектов в типовые конфигурации возможна ошибка при обращении к этому объекту в режиме 1C:Предприятие: "Объект не найден в Справочнике "ИдентификаторыОбъектовМетаданных".
Для объекта метаданных "Отчет.РИК_РасчетыСПартнерами" не найден идентификатор в справочнике "Идентификаторы объектов метаданных".
Для разработчика: возможно требуется обновить вспомогательные данные, которые влияют на работу программы. Для выполнения обновления можно:
- воспользоваться внешней обработкой "Инструменты разработчика: Обновление вспомогательных данных",
- либо запустить программу с параметром командной строки 1С:Предприятия 8 "/С ЗапуститьОбновлениеИнформационнойБазы",
- либо увеличить номер версии конфигурации, чтобы при очередном запуске выполнились процедуры обновления данных информационной базы.
Варианты решения:
1. В некоторых конфигурациях режиме предприятия
Все функции - Обработки - "Инструменты разработчика: Обновление вспомогательных данных", Если обработки нет, то пункт 2
Все функции - Справочники - "Идентификаторы объектов метаданных", нажать кнопку "Обновить данные справочника", Если кнопки обновить нет, то пункт 2
2. Из Конфигуратора запустить с параметром «/С ЗапуститьОбновлениеИнформационнойБазы», т.к. обработки может не оказаться под руками, а изменение версии производится с обновлением конфигурации и базы, что может оказаться не удобным:
Сервис/Параметры - Вкладка Запуск1С:Предприятия - В свойстве «Параметр запуска» добавляем «/С ЗапуститьОбновлениеИнформационнойБазы»
При запуске Предприятия появится окно обновления конфигурации. Потом не забудьте Убрать параметр запуска, чтобы больше не запускалось обновление!
3. Обновить конфигурацию или вручную увеличить номер версии конфигурации, чтобы при очередном запуске выполнились процедуры обновления данных информационной базы.
Читайте также: