Обновление значений справочника ИдентификаторыОбъектовМетаданных и добавление новых ролей в УТ 11 или Бух 3.0

16.07.15

База данных - Обновление 1С

Решение проблем, которые возникают при создании в конфигурациях УТ11 и Бух3.0 новых ролей, отчетов и также других объектов, работа с которыми хоть как-то будет связана с: идентификатором метаданных, настройками пользователей и вариантами отчетов.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
ОбновитьМетаданныеИРоли
.epf 5,79Kb
33 1 850 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Я как программист очень часто сталкивался с моментами, когда нужно создать новый справочник, документ, отчет или обработку в структуре выше перечисленных конфигураций. В результате у нас может выскочить ошибка идентификатора объекта метаданных (когда сохраняются какие-то настройки).  Это связано с тем, что параллельно с системными метаданными разработчики также заполняют справочник ИдентификаторыОбъектовМетаданных, который потом используют для процесса сохранения различных настроек в системе. В более ранних версиях конфигураций в этом справочнике была кнопочка, которая позволяла обновить данные справочника, теперь ее убрали. Но функция-то осталась, соответственно ее можно использовать (обработка и код прилагаются ниже). Некоторые скажут, мол, "есть же инструкция в сообщении, что надо запустить конфигурацию с параметром обновления", но куда удобнее быстро запустить обработку, которая сделает именно то, что тебе надо, а не ждать выполнения глобального обновления после каждого нового созданного объекта.

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

Самым интересным является работа по созданию новых ролей для этих конфигураций. В конфигураторе роль создается без проблем, но когда мы начинаем работать с группами пользователей уже в рабочей среде, применение этой роли опять-таки может выдать ошибку идентификатора метаданных. Но даже после обновления справочника, роль автоматически не применяется к выбранным пользователям, это можно сделать только из конфигуратора. Причиной такого поведения является то, что все роли, с которыми может работать система, при первом старте записываются в константу ПараметрыРаботыПользователей, и эти значения опять-таки нужно перезаполнить. Делается это тоже просто, так как в конфигураторе есть процедура, которая вызывается при первом старте, но никто нам не мешает вызвать ее вручную уже в рабочей базе. Реальной проблемой является только найти ее, я один раз все отдал бы, лиш бы мне кто ее показал. Но таки нашел ее сам, чем я сейчас и поделюсь.

Код, скорее всего, также будет работать в других типовых решениях на управляемых формах, так как было замечено, что этот механизм стал шаблонным. Но я лично не тестировал на других конфигурациях, поэтому обещать не буду. 

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

Код простой:

&НаКлиенте
Процедура ОбновитьПараметрыСистемы(Команда)
	ОбновитьПараметрыСистемыСервер();
КонецПроцедуры

&НаСервере
Процедура ОбновитьПараметрыСистемыСервер()
	//обновляет справочник идентефикаторов метаданных
	Справочники.ИдентификаторыОбъектовМетаданных.ОбновитьДанныеСправочника(Истина); 
	
	//обновляет варианты отчетов системы
	ВариантыОтчетов.Обновить(); 
	
	//Обновляет параметры пользователей системы (в том числе и новые роли конфигурации)
	Константы.ПараметрыРаботыПользователей.СоздатьМенеджерЗначения().ОбновитьОбщиеПараметры(); 
КонецПроцедуры

Вступайте в нашу телеграмм-группу Инфостарт

ИдентификаторыОбъектовМетаданных метаданных метаданные роли новые роли варианты отчетов

См. также

Обновление 1С Программист 1С v8.3 1С:Бухгалтерия 3.0 Россия Абонемент ($m)

Обработка, загружающая по расписанию пакет правил обмена в случае их изменения из установленного в настройках каталога.

2 стартмани

27.10.2025    195    2    cheiser1982    2    

1

Нейросети Рефакторинг и качество кода Обновление 1С Программист Бесплатно (free)

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

24.10.2025    1093    1c-izh    6    

6

Обновление 1С Рефакторинг и качество кода Программист 1С v8.3 Россия Абонемент ($m)

Представляю вашему вниманию конфигурацию "Проверка конфигураций (версия 3)", которая позволяет проверять любые конфигурации и расширения на наличие ошибок, связанных с вызовом экспортных функций и процедур общих модулей и модулей менеджеров объектов. Проверяются ошибки: 1) Метод объекта не обнаружен 2) Недостаточно фактических параметров. 3) Слишком много фактических параметров. Рекомендуется выполнять при подготовке обновлений.

10 стартмани

17.10.2025    3924    17    Suker86    12    

18

Обновление 1С Программист 1С v8.3 Бесплатно (free)

Как быстро починить обновление при ошибках в данных без использования внешних обработок.

13.10.2025    3515    VetalDV    7    

8

Обновление 1С Программист 1С v8.3 Бесплатно (free)

При обновлении конфигураций ЕРП/КА/УТ типовыми обновлениями можно получить ошибку  Превышен максимальный расход памяти сервера за один вызов". С чем это связано? Рассмотрим исправление этой ошибки.

18.08.2025    3914    iolko    10    

20

Обновление 1С Системный администратор Программист 1С v8.3 Россия Абонемент ($m)

Внешняя обработка "Запуск процедур обновления" предназначена для запуска процедур обновления в типовых конфигурациях, а также в конфигурациях, где поддерживается типовой механизм обновления по подсистемам. Это может быть полезно тем, кто разрабатывает и поддерживает свои подсистемы на базе типового механизма. Тестировщики, разработчики.

1 стартмани

16.07.2025    1351    9    lastpioneer    0    

9
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. klinval 344 16.07.15 09:46 Сейчас в теме
Некоторые скажут, мол, "есть же инструкция в сообщении, что надо запустить конфигурацию с параметром обновления", но куда удобнее быстро запустить обработку

А чем вас не устраивает вариант с внешней стандартной обработкой "ИнструментыРазработчикаОбновлениеВспомогательныхДанных" (про которую у вас кстати и написано в скриншоте)?
2. Поручик 4596 16.07.15 10:19 Сейчас в теме
(1) Пацанчик сделал открытие и решил вывалить в интернет, что уже давно изжёвано до дыр, а эти коды вылазят в гугле в числе первых.
3. hitchkock 11 16.07.15 15:43 Сейчас в теме
(2) Это далеко не открытие, просто за последнее время лично ко мне стали часто обращаться с этой темой. Особенно люди которые не имеют доступа к https://users.v8.1c.ru. Были такие которые пытались найти стандартную обработку просто на форумах и в итоге они по той или иной причине вываливали ошибки при выполнении. Так почему бы просто не поделится с незнающими конкретной темой, а не перешаривать пачки строк на форумах?
4. SunSun1979 21.07.15 10:18 Сейчас в теме
(2) Поручик, Все понятно, но грубо то так зачем? Мне вот пригодилось, не то что бы это нельзя было найти отдельно, но лишний раз напомнило мне что надо сделать, Так что профит есть.
5. Spacer 364 28.01.16 15:52 Сейчас в теме
(1) klinval, Оно то конечно удобнее, если есть возможность выгнать из базы всех пользователей.
Главный недостаток стандартной обработки - это то что она требует монопольный режим.
6. klinval 344 28.01.16 16:50 Сейчас в теме
(5) Spacer, Ну так этот код тоже требует монопольного доступа!
В ИТСовской обработке при установке настройки "Идентификаторы объектов метаданных" тоже выполняется код:
Справочники.ИдентификаторыОбъектовМетаданных.ОбновитьДанныеСправочника(Истина);

Который в свою очередь лезит в модуль менеджера справочника ИдентификаторыОбъектовМетаданных, где и происходит:
УстановитьМонопольныйРежим(Истина);
7. tatoshka0403 120 27.09.18 10:13 Сейчас в теме
Для отправки сообщения требуется регистрация/авторизация