В качестве введения хочу отметить, что настройка прав доступа на уровне пользователей никогда не было моей сильной стороной. Но, здесь я был приятно удивлен.
Во-первых, типовое решение Управление производственным предприятием позволяет настроить права на просмотр чего-либо максимально легко. Потому как права, необходимые для чтения большинства данных, настроены у роли "Пользователь". Надеюсь для Вас не будет секретом, что попасть в 1С:Предприятие УПП можно только с установленной ролью "Пользователь" или "Полные права".
Во-вторых, наша задача уже решена на 60% в типовом прикладном решении. По задумке разработчиков (честь им и хвала за экономию нашего времени) в правах доступа для роли "Пользователь" уже настроены правила и ограничения для чтения, изменения и добавления документов "Установка цен номенклатуры". Правда пришлось потерять немного времени на анализ самих ограничений в правах доступа. Но, как говорится нет худа без добра, лишние сведения еще никому не мешали... Итак, посидев и поразмышляв над увиденным, можно сделать вывод, что все ограничения (по крайней мере в данном случае) настраиваются через "Группы пользователей".
Разрешите сказать пару слов о настройке этих пресловутых групп пользователей. Для начала необходимо понимать, что группы пользователя и ограничения вообще имеют смысл только при включенном режиме ограничения прав на уровне записей. Чтобы включить этот режим идем в пункт "Сервис -> Настройки доступа пользователей -> Параметры доступа на уровне записей". В открытой форме мы должны определиться стоит ли вообще ограничивать доступ, и в случае положительного ответа нашего внутреннего голоса - отмечаем объекты, по которым будем ограничивать.
Итак, у нас есть параметры. Теперь создадим сами группы пользователей. Я думаю не сделаю Вам открытия если скажу что группы пользователей следует искать в справочнике "Группы пользователей". В системе имеется предопределенная группа "Все пользователи". Так вот, если Вы хотите настраивать свои группы - позаботьтесь о том, чтобы Ваши созданные группы не были в иерархии предопределенной группы прав. Иначе индивидуальная настройка будет просто-напросто НЕВОЗМОЖНА.
Пример записи в иерархии предопределенной
Если Вы сделали все правильно, то вид будет следующий
Все условия для настройки доступности объектов
Одним из ключевых моментов является состав группы, по которой задаются ограничения. В данную таблицу необходимо добавить пользователей, которые будут попадать под настроенные ограничения.
Хотелось бы отметить еще один момент. Если нет желания возиться с группами - можно вовсе не включать режим ограничения доступа на уровне записей. Этот режим влияет на ограничение видимости данных, а не объектов. То есть если есть право у роли на изменение документа с ограничением прав, а режим ограничения доступа не установлен, то пользователь все-равно будет в праве изменить документ. Решать как всегда Вам.
Вернемся к нашей задаче. На предприятии, у которого возникла потребность в настройке прав, используются ограничения на уровне записей. Давайте составим пошаговую инструкцию для решения нашей задачи.
1. Добавляем новую роль, к примеру "Ценники и прайсы". Делаем это в конфигураторе примерно так
2. В открывшемся окне нас будет интересовать дерево на закладке "Права". Ищем ветку "Обработки", а в ней "ПечатьПрайсЛиста". Переводим свой взор правее, на верхнюю таблицу типа "Права". Ставим оба флага.
3. Аналогичные действия проделываем с обработкой "ПечатьЦенников"
4. Пожалуй, самое сложное в этой процедуре. Необходимо разрешить использование общих объектов конфигурации. Для построения прайс-листа в УПП используется отчет "ОтчетСписокКроссТаблица". Ищем его в ветке "Отчеты" и тоже ставим флаг для использования и просмотра (хотя только использования тоже было бы достаточно, но мы подстрахуемся).
Всё. Обновляем конфигурацию (F7). В случае параллельной работы пользователей можно воспользоваться предложением динамического обновления. И назначаем эту роль интересующему нас пользователю параллельно с ролью "Пользователь".
Примечание: в случае использования ограничения прав на уровне записей необходимо следить за тем, чтобы в модуле Ваших объектов все запросы имели диррективу "Разрешенные", в противном случае быдет ошибка выполнения запроса (предприятию, ставившему задачу переживать за это не стоит
).
Надеюсь кому-нить поможет...