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

16.07.15

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

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

Скачать файл

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

Наименование По подписке [?] Купить один файл
ОбновитьМетаданныеИРоли
.epf 5,79Kb
31
31 Скачать (1 SM) Купить за 1 850 руб.

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

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

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

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

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

Код простой:

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

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

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

См. также

Работа с интерфейсом Обновление 1С Программист Пользователь Платформа 1С v8.3 1С:Управление нашей фирмой 3.0 Бесплатно (free)

После обновления УНФ до 3.0.10.178 у ряда клиентов исчезла часть функционала: отчёт "Движение товаров", кнопка "Глаз" в Расходной накладной, часть документов складских перемещений. Для решения проблемы надо установить константы, чьё название подпадает под шаблон "Использовать подсистему NNN (Константы)" и соответствует "пропавшему" функционалу по смыслу.

16.01.2025    406    dime2    0    

3

Обновление 1С Программист Платформа 1С v8.3 1С:Управление торговлей 10 Россия Бухгалтерский учет Налоговый учет Управленческий учет ИП, ПБОЮЛ, КФХ НДС УСН Абонемент ($m)

Обновление, доработка для 1С: Управление торговлей 10.3 (УТ 10.3) организаций на упрощенной системе с 2025 года для использования ставок НДС 5 и 7 % в документах и печатных формах документов. Начиная с релиза 10.3.40.

4 стартмани

10.01.2025    1843    41    zhuravlev_as    37    

6

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

В статье рассматривается использование WinMerge для сравнения, объединения и обновления конфигураций 1С. Отдельно рассматривается методика трехстороннего сравнения при обновлении конфигурации

21.10.2024    3345    mixaeel    18    

17

Обновление 1С Программист Платформа 1С v8.3 1С:ERP Управление предприятием 2 Абонемент ($m)

Те кто объединял конфигурации находящиеся на поддержке, обновлял подсистемы БСП прекрасно помнят упражнение «10000 тысяч кликов мышкой» или, непонятное словесное заклинание, после которого конфигурация снимается с поддержки целиком.

1 стартмани

26.09.2024    671    7    milkers    2    

7

Обновление 1С Пользователь Платформа 1С v8.3 1С:Управление торговлей 11 Россия Бесплатно (free)

Вышел новый релиз для УТ11 5.19.63. На копии базы было выполнено обновление и вылезли проблемы с номенклатурой, подлежащей маркировке. В публикации описаны проблемы, обнаруженные в копии базы конкретной организации.

24.09.2024    1296    gull22    2    

9

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

Как исправить медленное сравнение конфигурации с файлом cf, сохраненным из хранилища.

17.09.2024    4696    vatkir    15    

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

А чем вас не устраивает вариант с внешней стандартной обработкой "ИнструментыРазработчикаОбновлениеВспомогательныхДанных" (про которую у вас кстати и написано в скриншоте)?
2. Поручик 4661 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 363 28.01.16 15:52 Сейчас в теме
(1) klinval, Оно то конечно удобнее, если есть возможность выгнать из базы всех пользователей.
Главный недостаток стандартной обработки - это то что она требует монопольный режим.
6. klinval 343 28.01.16 16:50 Сейчас в теме
(5) Spacer, Ну так этот код тоже требует монопольного доступа!
В ИТСовской обработке при установке настройки "Идентификаторы объектов метаданных" тоже выполняется код:
Справочники.ИдентификаторыОбъектовМетаданных.ОбновитьДанныеСправочника(Истина);

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