я создал в типовой конфигурации расширение, создал роль, добавил в расширение документ. в роли указал для этого документа чтение, сохранил. Перешел потом в администрирование, пользователи и поставил галочку у пользователя под этой ролью. вышла ошибка "В конфигурации в свойстве ОсновныеРоли не указаны стандартные роли
АдминистраторСистемы и ПолныеПрава или указаны лишние роли.
{ОбщийМодуль.СтандартныеПодсистемыСервер.Модуль(2509)}:НСтр("ru = 'В конфигурации в свойстве ОсновныеРоли не указаны стандартные роли
{ОбщийМодуль.СтандартныеПодсистемыСервер.Модуль(31)}:ПередЗапускомПрограммы();
{МодульСеанса(8)}:СтандартныеПодсистемыСервер.УстановкаПараметровСеанса(ИменаПараметровСеанса);
[ScriptRuntimeError, ExceptionRaisedFromScript] "
Ошибка связана с тем, что в типовой конфигурации (особенно на базе БСП) в свойстве конфигурации **ОсновныеРоли** обязательно должны быть указаны именно стандартные роли:
- АдминистраторСистемы
- ПолныеПрава
Если в расширении вы создали свою роль и при этом изменили или перезаписали список основных ролей, то система ругается, что отсутствуют обязательные стандартные роли или есть лишние.
---
### Как исправить ошибку:
1. **Проверьте свойство конфигурации "ОсновныеРоли"**
В конфигураторе откройте свойства конфигурации (корневой элемент конфигурации) и найдите свойство **ОсновныеРоли** (обычно это строковый список или массив строк).
В этом списке должны быть обязательно роли:
- "АдминистраторСистемы"
- "ПолныеПрава"
Если вы добавляли туда свою роль, убедитесь, что она не заменила эти две стандартные роли, а добавлена дополнительно.
2. **Не перезаписывайте полностью список основных ролей в расширении**
В расширениях нельзя полностью менять системные свойства конфигурации, особенно такие критичные, как основные роли. Если вы добавляете роли, делайте это через механизм расширения ролей, а не через замену списка основных ролей.
3. **Используйте стандартные роли как основу**
Если нужна своя роль, создайте её в расширении, но не меняйте системные роли. Для проверки доступа используйте проверку на стандартные роли или добавляйте свою роль как дополнительную.
4. **Проверьте общий модуль "СтандартныеПодсистемыСервер"**
Ошибка возникает в процедуре `ПередЗапускомПрограммы()`, которая проверяет наличие стандартных ролей. Если вы изменяли этот модуль или его расширяли, убедитесь, что логика проверки не нарушена.
---
### Итог:
- В свойствах конфигурации **ОсновныеРоли** должны быть только стандартные роли "АдминистраторСистемы" и "ПолныеПрава".
- В расширении создавайте свои роли, но не меняйте системные основные роли.
- Назначайте пользователям свои роли дополнительно к стандартным.
- Если нужно, расширьте проверку ролей в общем модуле, но не удаляйте стандартные роли из конфигурации.
---
Рекомендую посмотреть здесь:
https://infostart.ru/public/1878677/
https://infostart.ru/public/57330/
https://infostart.ru/public/706558/
Там подробно описаны особенности работы с ролями в расширениях и типовых конфигурациях на базе БСП.