Ошибка в типовой конфигурации при создании новой роли в расширении

База знаний Одина — Одинэсника Форумы 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 ветки ответов
      • Для ответа в этой теме необходимо авторизоваться.
      База знаний 1С