Роль не найдена в метаданных 1с
При добавлении новых объектов в типовые конфигурации возможна ошибка при обращении к этому объекту в режиме 1C:Предприятие: "Объект не найден в Справочнике "ИдентификаторыОбъектовМетаданных". В данной статье описываются способы устранения этой ошибки.
При добавлении в типовые конфигурации новых объектов возможна ошибка при обращении к этому объекту в режиме 1С:Предприятие.
Текст ошибки примерно следующий:
Для решения этой проблемы требуется обновить вспомогательные данные, которые влияют на работу программы.
Для выполнения обновления можно:
- открыть через меню "Все функции" справочник "Идентификаторы объектов метаданных", нажать кнопку "Обновить данные справочника";
- если указанной кнопки нет - выполнить программный код:
- либо запустить программу с параметром командной строки 1С:Предприятия 8
"/С ЗапуститьОбновлениеИнформационнойБазы"; - либо увеличить номер версии конфигурации, чтобы при очередном запуске выполнились процедуры обновления данных информационной базы.
Специальные предложения
В составе БСП для этих же целей есть целая обработка ИнструментыРазработчикаОбновлениеВспомогательныхДанных.
Она делает и это и еще многое другое
Первый пункт понятный и очевидный, одна проблема - делать нужно монопольно. А бывает так, что внедришь объект в базу, обновишься, а в боевой базе забудешь выполнить этот пункт. А с утра уже пользователи залезли в базу и выходить не хотят. Можно ли 2-й и/или 3-й пункты делать НЕ монопольно?
>Справочники.ИдентификаторыОбъектовМетаданных.ОбновитьДанныеСправочника();
>"/С ЗапуститьОбновлениеИнформационнойБазы";
да, оба варианта требуют монопольный режим
Вариант через команду Справочники.ИдентификаторыОбъектовМетаданных.ОбновитьДанныеСправочника();
избавляет от ошибки "Объект не найден в Справочнике "ИдентификаторыОбъектовМетаданных"
но является неполноценным, например при добавлении новых ролей доступа через конфигуратор
роли становятся видны из 1с для настройки профилей через справочник "Профили групп доступа"
но потом при назначении профиля пользователю роль ему не назначается .
Поэтому рекомендую не искать приключений и пользоваться вариантом
запуска программы с параметром командной строки 1С:Предприятия 8
"/С ЗапуститьОбновлениеИнформационнойБазы";
параметр кстати можно указать в конфигураторе в
Сервис-Параметры-Запуск 1сПредприятия-Основные-Параметр запуска
запустить один раз, потом когда вы параметр уберете 1с будет его там помнить в выпадающем списке
(8) Проблема решается выполнением (монопольно, естественно) команды ПользователиСлужебный.ОбновитьПараметрыРаботыПользователей(Истина);
Совет актуален для БСП версии 2.1.3.50
(14)разобрался, для пользователя не должно быть групп доступа в которые входят роли которые отмеченные как Основные роли в свойствах конфигурации. в таких ситуациях пользователю подключаются только такие роли, все другие не применяются. я так расцениваю что эти роли (основные) на столько максимальные по доступам что другие не могут быть шире.
как выяснилось, правильно набирать:
/c ЗапуститьОбновлениеИнформационнойБазы
Т.е. /c должно быть на латинице, а в тексте выше это написано на кириллице
При добавлении новых объектов в типовые конфигурации возможна ошибка при обращении к этому объекту в режиме 1C:Предприятие: "Объект не найден в Справочнике "ИдентификаторыОбъектовМетаданных".
Для объекта метаданных "Отчет.РИК_РасчетыСПартнерами" не найден идентификатор в справочнике "Идентификаторы объектов метаданных".
Для разработчика: возможно требуется обновить вспомогательные данные, которые влияют на работу программы. Для выполнения обновления можно:
- воспользоваться внешней обработкой "Инструменты разработчика: Обновление вспомогательных данных",
- либо запустить программу с параметром командной строки 1С:Предприятия 8 "/С ЗапуститьОбновлениеИнформационнойБазы",
- либо увеличить номер версии конфигурации, чтобы при очередном запуске выполнились процедуры обновления данных информационной базы.
Варианты решения:
1. В некоторых конфигурациях режиме предприятия
Все функции - Обработки - "Инструменты разработчика: Обновление вспомогательных данных", Если обработки нет, то пункт 2
Все функции - Справочники - "Идентификаторы объектов метаданных", нажать кнопку "Обновить данные справочника", Если кнопки обновить нет, то пункт 2
2. Из Конфигуратора запустить с параметром «/С ЗапуститьОбновлениеИнформационнойБазы», т.к. обработки может не оказаться под руками, а изменение версии производится с обновлением конфигурации и базы, что может оказаться не удобным:
Сервис/Параметры - Вкладка Запуск1С:Предприятия - В свойстве «Параметр запуска» добавляем «/С ЗапуститьОбновлениеИнформационнойБазы»
При запуске Предприятия появится окно обновления конфигурации. Потом не забудьте Убрать параметр запуска, чтобы больше не запускалось обновление!
3. Обновить конфигурацию или вручную увеличить номер версии конфигурации, чтобы при очередном запуске выполнились процедуры обновления данных информационной базы.
Похожие FAQ
Бывает в работе с 1С возникает такая ситуация, вы создали в конфигураторе новые Роли, прописали их права, создали новый Профиль групп доступа, отметили ему необходимые Роли, назначили Профиль пользователю. После чего понимаете что нужных прав у пользователя не появилось. Заходите в конфигуратор, а галочки напротив новых ролей не стоят.
Роли в конфигураторе 1С
Очень неприятно, много работы впустую. В чем же может быть дело? Мне известно 2 причины, рассмотрим их в данной статье.
1. Нужно запустить обработку Обновление вспомогательных данных
Данная обработка может быть либо встроена в конфигурацию, либо ее можно найти на диске ИТС. Эту обработку нужно запускать после добавления новых ролей. Она обновит данные в справочнике «Идентификаторы объектов метаданных». Причем порядок ваших действий должен быть такой:
- Снять галочки в правах пользователей с вашего нерабочего профиля
- Удалить нерабочий профиль
- Запустить обработку
- Создать новый профиль с вашей новой ролью
- Назначить профиль пользователям
Если у вас планируется обновление конфигурации можете вместо запуска обработки выполнить его, т.к. во время обновления все эти функции тоже запускаются.
2. Назначение новой роли пользователю с правами Администратора
Если вы проделали все предыдущие пункты, но ваш профиль групп доступа все равно не назначает роли и права, обратите внимание на такой момент — в типовых конфигурациях 1С последних версий, если у пользователя есть роль Администратор или Полные права то вы не сможете присвоить ему какую-либо другую роль. Это прописано в коде программы и при назначении ролей идет проверка «Если роль Администратор или Полные права тогда» назначение ролей пропускается.
Видимо разработчики пользовались такой логикой, что раз у пользователя итак полные права, дополнительные роли ему не понадобятся. Но мы конечно понимаем, что это не так и ситуации и запросы у пользователей к разработчику могут быть разными.
Покажу вам, один пример как я поступила в данной ситуации, может это конечно не лучший вариант, но со свой задачей он справляется.
Задача была запретить пользователю с полными правами открывать справочник пользователей, причем чтоб раздавать этот запрет мог руководитель при помощи профилей групп доступа.
При добавлении новых объектов в типовые конфигурации возможна ошибка при обращении к этому объекту в режиме 1C:Предприятие: "Объект не найден в Справочнике "ИдентификаторыОбъектовМетаданных".
Для объекта метаданных "Отчет.РИК_РасчетыСПартнерами" не найден идентификатор в справочнике "Идентификаторы объектов метаданных".
Для разработчика: возможно требуется обновить вспомогательные данные, которые влияют на работу программы. Для выполнения обновления можно:
- воспользоваться внешней обработкой "Инструменты разработчика: Обновление вспомогательных данных",
- либо запустить программу с параметром командной строки 1С:Предприятия 8 "/С ЗапуститьОбновлениеИнформационнойБазы",
- либо увеличить номер версии конфигурации, чтобы при очередном запуске выполнились процедуры обновления данных информационной базы.
Варианты решения:
1. В некоторых конфигурациях режиме предприятия
Все функции - Обработки - "Инструменты разработчика: Обновление вспомогательных данных", Если обработки нет, то пункт 2
Все функции - Справочники - "Идентификаторы объектов метаданных", нажать кнопку "Обновить данные справочника", Если кнопки обновить нет, то пункт 2
2. Из Конфигуратора запустить с параметром «/С ЗапуститьОбновлениеИнформационнойБазы», т.к. обработки может не оказаться под руками, а изменение версии производится с обновлением конфигурации и базы, что может оказаться не удобным:
Сервис/Параметры - Вкладка Запуск1С:Предприятия - В свойстве «Параметр запуска» добавляем «/С ЗапуститьОбновлениеИнформационнойБазы»
При запуске Предприятия появится окно обновления конфигурации. Потом не забудьте Убрать параметр запуска, чтобы больше не запускалось обновление!
3. Обновить конфигурацию или вручную увеличить номер версии конфигурации, чтобы при очередном запуске выполнились процедуры обновления данных информационной базы.
Похожие FAQ
17 правил для составления оптимального ЗАПРОСа к данным базы 1С 44
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ 1C: Enterprise Development Tools 50
И вот случилось долгожданное: Вышел 1C: Enterprise Development Tools - это среда для разработки конфигурации в IDE Eclipse. С сайта 1С: « 1C:Enterprise Development Tools » – это инструмент нового поколения для разработчиков бизнес-приложений систем Cодержимое указанного ниже веб-сайта в этом приложении блокируется. Aboutsecurity_1cv8c.exe 1
Проблема: После обновления на 1С:Бухгалтерию предприятия 3-й версии, при нажатии на закладку командного интерфейса 1С:предприятие, выскакивает ошибка: Aboutsecurity_1cv8c.exe или Aboutsecurity_1cv8.exe «Содержимое указанного ниже веб-узла в э Google maps : вывод точек на карту и режим панорамы 7
В отличие от яндекс карт в GMaps можно использовать панорамы - за что им большой плюс! Надеюсь в яндексе прочитают этот пост и тоже когда-нибудь это сделают! Для клиента нужно было сделать вывод объектов на карту С возможностью просмотра панора Microsoft SQL Server Native Client Добавление значения в столбец "datetime" привело к переполнению 2
При формировании отчета на СКД получили ошибку: Microsoft SQL Server Native Client 11.0: Добавление значения в столбец "datetime" привело к переполнению Подробнее текст такой: . по причине: Ошибка компоновки данных по причине: Ошибка получени Посмотреть все результаты поиска похожих
Еще в этой же категории
Столкнулся с небольшой проблемкой при создании "своих" ролей в конфигураторе и добавлении их пользователям. Пользователю не добавляются созданные в конфигураторе роли, 1С 8.3, Управляемые формы. Гуглил много, ответа толкового не нашёл, поэтому пришлось разбираться самому и как результат, решил поделиться опытом. Возможно, кому-то пригодится.
Столкнулся с небольшой проблемкой при создании "своих" ролей в конфигураторе и добавлении их пользователям. Гуглил много, ответа толкового не нашёл, поэтому пришлось разбираться самому и как результат, решил поделиться опытом. Возможно кому-то пригодится.
Итак, проблема заключалась в следующем:
В какой-либо конфигурации на управляемых формах создаём свою роль (или несколько ролей, как в примере) (см. рис.1), обновляем конфигурацию. В режиме предприятия создаём профиль групп доступа с нашей новой ролью (см. рис.2), добавляем пользователю этот профиль (см. рис.3) и. ничего не происходит, как-будто у этого пользователя не добавлена наша роль. Заходим в конфигуратор, администрирование, пользователи, заходим в пользователя, смотрим "доступные роли" и видим, что у нашего пользователя не выбрана наша роль (см. рис.4).
Почему так происходит? Всё очень просто, разработчики сделали так, что если пользователь "администратор", то есть у него полные права, то собственно говоря, зачем же ему ещё какие-то роли? Ведь у него же и так полные права!
В целом вполне логично и кстати если пользователь не администратор, то всё работает корректно (см. рис.5 и рис.6). Сложности возникают только в том случае, если мы хотим добавить нашу роль/роли пользователю с полными правами. Можно конечно просто в конфигураторе выбрать у пользователя нашу роль/роли, но всё будет работать ровно до тех пор, пока кто-нибудь не решит перезаписать в режиме предприятия права доступа у этого пользователя, после этого "галочка" у добавленной роли "слетит".
Что же делать и где это происходит?
Идём в общие модули - "УправлениеДоступомСлужебный", находим процедуру "ОбновитьРолиПользователей". В ней есть следующий код:
"НовыеРоли" это Таблица значений, в которой выбраны все роли пользователя, которые мы ему назначили в режиме предприятия (включая "наши" роли). Как видно далее по коду, эта таблица очищается, в неё добавляются "ОбязательныеРолиАдминистратора" (Администратор системы, Полные права) и если выбрано, "ДополнительныеРолиАдминистратора" (Интерактивное открытие внешних отчетов и обработок).
Как мне показалось, самый простой и очевидный вариант, это добавить "наши" роли в таблицу "НовыеРоли". Для этого нам надо как-то отделить эти роли от всех остальных, поэтому у всех добавленных нами в конфигураторе ролей, делаем префикс "Доп_". Те "наши" роли, которые мы выбрали для пользователя, собираем в массив "ВыбранныеДополнительныеРоли" и далее из этого массива добавляем роли в таблицу значений "НовыеРоли". Ниже представлен код:
В заключение добавлю, процедура "ОбновитьРолиПользователей" абсолютна одинакова у многих конфигураций (благодаря "унификации" 1С), смотрел в УНФ 1.6, Бухгалтерия предприятия 3.0, Управление торговлей 11.4 (все конфигурации в нескольких версиях), поэтому сделал расширение, которое по идее должно работать на многих конфигурациях на управляемых формах. Можете скачать и добавить его себе, но предварительно не забудьте, что все добавленные роли должны иметь префикс "Доп_". Расширение написано на версии платформы: 8.3.12.1685. В расширение добавлен один общий модуль "УправлениеДоступомСлужебный", в котором только одна процедура "ОбновитьРолиПользователей" (&Вместо) с добавленным, по описанию выше, кодом. При добавлении расширения, не забываем снять галочки "безопасный режим" и "защита от опасных действий".
Читайте также: