Не самые полные права

Внимание! Данный форум является модерируемым.
Для получения к нему доступа необходимо зарегистрироваться или авторизоваться на сайте.

Страницы: 1
RSS
Не самые полные права
 
Конфигурация CRM 2.0.6.2

1. под администратором - При вставке внешней обработки нет доступа для определения подсистемы, в которой будет размещена ссылка на обработку

2. из-за постоянного "пересчета ролей" для администраторов системы возникли проблемы при доработке CRM - мы добавили новые роли для определенных действий без выдачи дополнительных прав для роли "Полные права".
После установки новой группы доступа для любого пользователя происходит пересчет всех ролей, что сбрасывает любые роли, установленные администраторам в режиме конфигуратора. Пример, новая роль "НашаРоль" дает права на новые объекты, к которым нет доступа у типовых ролей CRM. После "пересчета ролей" у пользователя с полными правами CRM новой роли уже нет. Изменение шаблона прав тоже закрыто для изменения.
Для простых пользователей проблем нет - у них роли складываются.
Попытка создать альтернативные полные права тоже не дали нормального результата - нет многих нужных прав.
 
В догонку - файл с "записью" по п. 1
 
По поводу ролей - отвечу по частям.
Цитата
Станислав Патырило пишет:
После установки новой группы доступа для любого пользователя происходит пересчет всех ролей, что сбрасывает любые роли, установленные администраторам в режиме конфигуратора.
Во всех новых продуктах на основе БСП (библиотеки стандартных подсистем) и даже в старых, в которые интегрирована система управления группами и профилями доступа - нельзя  устанавливать права в конфигураторе. После записи пользователя они все равно будут удалены и заменены на роли из групп доступа.
Это во всех продуктах, а не конкретно в CRM.
Все новые роли необходимо добавлять в текущие или новые "профили групп доступа", на их основе создавать "профили доступа" и добавлять в них необходимых пользователей.

Цитата
Станислав Патырило пишет:
мы добавили новые роли для определенных действий без выдачи дополнительных прав для роли "Полные права".
Не совсем понял, что вы имели ввиду... Роль "Полные права" подразумевает  что у нее именно полные права на все объекты метаданных (не имеются ввиду права на администрирование и т.п.)
Хотя никто не запрещает для некоторых объектов не давать доступ для Полных прав....

Цитата
Станислав Патырило пишет:
После "пересчета ролей" у пользователя с полными правами CRM новой роли уже нет. Изменение шаблона прав тоже закрыто для изменения.

Особенность реализации механизма настроек доступа БСП при работы с ролью "Полные права" в том, что если пользователь имеет роль "Полные права" - все другие установленные роли сбрасываются, даже если добавить пользователя в группы доступа с различными наборами ролей.
Это не наша прихоть или ошибка, так работает механизм во всех типовых продуктах.

Это так же приводит к следующей особенности - в некоторых случаях необходимо создать "фиктивные" роли. То есть роли, у которых нет никаких установленных прав на данные, они используются  как некие настройки.
Ну, например, роль "РазрешенаСменаОтветственного". Эта роль проверяется программно и если она  назначена  пользователю, то в формах появится кнопка "сменить ответственного".  Поскольку ее нельзя назначить пользователю с Полными правами, необходимо везде, где программно проверяется доступность роли  "РазрешенаСменаОтветственного", так же вставлять проверку на "ПолныеПрава"
Код
 РольДоступна("РазрешенаСменаОтветственного") ИЛИ РольДоступна("ПолныеПрава");

Иначе у админа этих прав не будет, хотя по определению ему должно быть доступно все.
Изменено: Алексей Полубенский - 19.07.2013 02:15:32
 
Кстати, создавать пользователей ИБ тоже нужно только в режиме предприятие. В конфигураторе больше никаких работ с пользователями ИБ или их правами, паролями  и т.п. быть не должно.
 
Спасибо за отве.

Цитата
Алексей Полубенский пишет:
Это так же приводит к следующей особенности - в некоторых случаях необходимо создать "фиктивные" роли.
мы так и делаем.
Не хотели вмешиваться в типовые права и роли и все доработки привязываем "сверху" на свои роли. В итоге, получилось, что при наличии типовых "полных прав" приходится заводить "фикстивные".

Цитата
Алексей Полубенский пишет:
Кстати, создавать пользователей ИБ тоже нужно только в режиме предприятие
Это мы знаем, тут вопросов нет,  профили удобны, но вот поведение конфигурации с полными правами меня до сих пор вводят в ступор - не могу понять зачем такое делается :)
 
Цитата
Станислав Патырило пишет:
но вот поведение конфигурации с полными правами меня до сих пор вводят в ступор - не могу понять зачем такое делается
Нас тоже :)
Вероятно это делают чтобы облегчить и оптимизировать работу  с данными и правами доступа. Раз уже  полные права - значит доступ априори ко всем данным есть и другие роли не нужно анализировать и тратить на этот анализ время. Ведь иначе система объединяет сначала все права ролей, а потом уже предоставляет доступ к тому, что разрешено хотя бы в одной Роли.
Изменено: Алексей Полубенский - 19.07.2013 04:07:14
 
Цитата
Станислав Патырило пишет:
1. под администратором - При вставке внешней обработки нет доступа для определения подсистемы, в которой будет размещена ссылка на обработку

Ошибка исправлена, исправление будет в релизе 2.0.7

Исправление ошибки:

1) в модуль формы элемента справочника ДополнительныеОтчетыИОбработки
перед процедурой "УказатьРазделыКомандногоИнтерфейса"  вставить 2 метода:

Код
//+CRM
&НаСервере
Функция ПолучитьСписокРазделов()
   Разделы = Новый СписокЗначений;
   Для Каждого СтрокаТаблицы Из Объект.Разделы Цикл
      Разделы.Добавить(СтрокаТаблицы.Раздел);
   КонецЦикла;
   Возврат Разделы;
КонецФункции

&НаСервере
Процедура ЗаполнитьРазделыПоСписку(СписокРазделов)
   Объект.Разделы.Очистить();
   Для Каждого ЭлементСписка Из СписокРазделов Цикл
      НоваяСтрока = Объект.Разделы.Добавить();
      НоваяСтрока.Раздел = ЭлементСписка.Значение;
   КонецЦикла;
КонецПроцедуры
//-CRM


и саму процедуру "УказатьРазделыКомандногоИнтерфейса" заменить на
Код
&НаКлиенте
Процедура УказатьРазделыКомандногоИнтерфейса(Команда)
   
   //+CRM
   //Разделы = Новый СписокЗначений;
   Разделы = ПолучитьСписокРазделов();
   //Для Каждого СтрокаТаблицы Из Объект.Разделы Цикл
   //   Разделы.Добавить(СтрокаТаблицы.Раздел);
   //КонецЦикла;
   //-CRM
   
   СписокРазделов = ОткрытьФормуМодально(
      "Справочник.ДополнительныеОтчетыИОбработки.Форма.ПодборРазделов",
      Новый Структура("Разделы,ВидОбработки", Разделы, Объект.Вид)
   );
   
   Если ТипЗнч(СписокРазделов) = Тип("СписокЗначений") Тогда
      //+CRM
      ЗаполнитьРазделыПоСписку(СписокРазделов);
      //Объект.Разделы.Очистить();
      //Для Каждого ЭлементСписка Из СписокРазделов Цикл
      //   НоваяСтрока = Объект.Разделы.Добавить();
      //   НоваяСтрока.Раздел = ЭлементСписка.Значение;
      //КонецЦикла;
      //-CRM
      Модифицированность = Истина;
   КонецЕсли;
   
КонецПроцедуры


После этого все будет добавляться корректно. Пересоздавать обработки не нужно.
Страницы: 1
Читают тему
Поддержка отраслевых решений «1С-Рарус»
Услуги 1С