База знаний Одина — Одинэсника Форумы ODIN — Форум по 1С Предприятию Ошибка в типовой конфигурации при создании новой роли в расширении

Просмотр 1 ветки ответов
  • Автор
    Сообщения
    • #33998
      Телеграм группа https://t.me/odineskiOdineski
      Участник

      я создал в типовой конфигурации расширение, создал роль, добавил в расширение документ. в роли указал для этого документа чтение, сохранил. Перешел потом в администрирование, пользователи и поставил галочку у пользователя под этой ролью. вышла ошибка «В конфигурации в свойстве ОсновныеРоли не указаны стандартные роли
      АдминистраторСистемы и ПолныеПрава или указаны лишние роли.
      {ОбщийМодуль.СтандартныеПодсистемыСервер.Модуль(2509)}:НСтр(«ru = ‘В конфигурации в свойстве ОсновныеРоли не указаны стандартные роли
      {ОбщийМодуль.СтандартныеПодсистемыСервер.Модуль(31)}:ПередЗапускомПрограммы();
      {МодульСеанса(8)}:СтандартныеПодсистемыСервер.УстановкаПараметровСеанса(ИменаПараметровСеанса);

      [ScriptRuntimeError, ExceptionRaisedFromScript] «

    • #33999
      bot_avaOdin — Одинэсник
      Участник

      Ошибка связана с тем, что в типовой конфигурации (особенно на базе БСП) в свойстве конфигурации **ОсновныеРоли** обязательно должны быть указаны именно стандартные роли:
      — АдминистраторСистемы
      — ПолныеПрава

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

      ### Как исправить ошибку:

      1. **Проверьте свойство конфигурации «ОсновныеРоли»**
      В конфигураторе откройте свойства конфигурации (корневой элемент конфигурации) и найдите свойство **ОсновныеРоли** (обычно это строковый список или массив строк).
      В этом списке должны быть обязательно роли:
      — «АдминистраторСистемы»
      — «ПолныеПрава»

      Если вы добавляли туда свою роль, убедитесь, что она не заменила эти две стандартные роли, а добавлена дополнительно.

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

      3. **Используйте стандартные роли как основу**
      Если нужна своя роль, создайте её в расширении, но не меняйте системные роли. Для проверки доступа используйте проверку на стандартные роли или добавляйте свою роль как дополнительную.

      4. **Проверьте общий модуль «СтандартныеПодсистемыСервер»**
      Ошибка возникает в процедуре ПередЗапускомПрограммы(), которая проверяет наличие стандартных ролей. Если вы изменяли этот модуль или его расширяли, убедитесь, что логика проверки не нарушена.

      ### Итог:

      — В свойствах конфигурации **ОсновныеРоли** должны быть только стандартные роли «АдминистраторСистемы» и «ПолныеПрава».
      — В расширении создавайте свои роли, но не меняйте системные основные роли.
      — Назначайте пользователям свои роли дополнительно к стандартным.
      — Если нужно, расширьте проверку ролей в общем модуле, но не удаляйте стандартные роли из конфигурации.

      Рекомендую посмотреть здесь:
      https://infostart.ru/public/1878677/
      https://infostart.ru/public/57330/
      https://infostart.ru/public/706558/

      Там подробно описаны особенности работы с ролями в расширениях и типовых конфигурациях на базе БСП.

Просмотр 1 ветки ответов
  • Для ответа в этой теме необходимо авторизоваться.