Настройка роли менеджера по продажам в 1С 8.2 УПП (RLS и немного кода)

02.04.12

Администрирование - Роли и права

Требовалось настроить роль МенеджераПоПродажам, с условием, что менеджер видит только «своих» контрагентов (контрагентов, для которых он является менеджером), только документы «своих» контрагентов и в отчетах цифры «своих».

Скачать файлы

Наименование Файл Версия Размер
Настройка роли менеджера по продажам в 1С 8.2 УПП (RLS и немного кода):
.doc 32,00Kb
1
.doc 1.0 32,00Kb 1 Скачать

Имеем справочник Контрагенты с табличной частью содержащую поля МенеджерПокупателя и Статус, для ввода менеджеров и их помощников, которые работают  с этим контрагентом. Поле Статус с типом перечисление, основной и помощник.


Перво-наперво нужно было чтобы менеджер и его помощники видели только своих контрагентов, для этого в роли МенеджерПоПродажам в правах на чтение поставил ограничение.

 

Следующим шагом в журнале "Документы контрагентов" оставляем документы контрагетов данного менеджера. Также в роли МенеджерПоПродажам в правах на чтение поставил ограничение.


После поправил отчет Продажи, чтобы не отображались продажи контрагентов для которых данный пользователь не является менеджером, сделал следующим образом:
- отчет оставил в списке справочника Контрагенты, в списке справочника Номенклатуры и в меню Отчеты.
- в модуле объекта отчета Продажи, в процедуре УстановитьНачальныеНастройки, дописал следующее.


Функция ЭтоМенеджер() вызывается из общего модуля МенеджерПоПродажам. Условились что пользователь имеющий роль МенеджерПоПродажам является менеджером, все остальные пользователи не должны иметь этой роли.

Установкой начальных настроек устанавливается отбор по контрагенту "В списке" по списку контрагентов для которых пользователь является менеджером. Чтобы пользователь не менял настройку отчета "заблокировал" кнопку "Настройка".


Таким образом, если менеджер хочет получить отчет по контрагенту, он запускает отчет из списка справочника Контрагенты, если хочет получить отчет по номенклатуре - из списка справочника Номенклатура, если по всем его контрагентам и номенклатуре из меню Отчеты.

Еще убрал "лишние" кнопки из командной панели списка справочника Контрагенты.

В роли на чтение журнала «Документы Контрагентов» добавил условие, чтобы были видны документы только «его» контрагентов.

См. также

Infostart Toolkit: Инструменты разработчика 1С 8.3 на управляемых формах

Инструментарий разработчика Роли и права Запросы СКД Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

13000 руб.

02.09.2020    120006    656    389    

702

Запрет доступа к данным по зарплате для БП 3.0 и КА 2.5

Зарплата Роли и права Платформа 1С v8.3 Бухгалтерский учет Управление правами 1С:Бухгалтерия 3.0 1С:Комплексная автоматизация 2.х Молдова Россия Казахстан Бухгалтерский учет Платные (руб)

Расширение позволяет максимально полно ограничить доступ пользователей к данным по заработной плате, а именно закрывает доступ к документам начисления и выплаты заработной платы, не позволяет просматривать бухгалтерские отчеты по счету учета зарплаты а также убирает зарплатные проводки из журнала проводок. Расширение запрещает просматривать платежные документы на выплату зарплаты, так же не доступны регламентные отчеты в ПФР и ИФНС. Расширение предлагает готовые настроенные профили "Бухгалтер без зарплаты", "Только просмотр без зарплаты".

5700 руб.

27.05.2021    32528    202    89    

162

Автоподбор ролей для профилей и групп доступа в любых типовых базах 1С УТ 11, КА 2, ERP2, Розница 2/3, УНФ 16/3, БП 3, ЗУП 3 и подобных (УФ, Платформа 8.3.14+)

Инструменты администратора БД Роли и права 8.3.14 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Документооборот 1С:Зарплата и кадры государственного учреждения 3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Роли… Вы тратите много времени и сил на подбор ролей среди около 2400 в ERP или 1500 в Рознице 2, пытаясь понять какими правами они обладают? Вы все время смотрите права в конфигураторе или отчетах чтоб создать нормальные профили доступа? Вы хотите наглядно видеть какие права дает профиль и редактировать все в простом виде? А может хотите просто указать подсистему и дать права на просмотр и добавление на объекты и не лезть в дебри прав и чтоб обработка сама подобрала нужные роли? Все это теперь стало возможно! Обновление от 15.12.2023, версия 1.1.

12000 руб.

06.12.2023    2772    11    1    

30

Infostart УДиФ: Управление данными и формами

Инструменты администратора БД Инструментарий разработчика Роли и права Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

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

10000 руб.

10.11.2023    3263    10    1    

31

Роли для кладовщика

Логистика, склад и ТМЦ Роли и права Платформа 1С v8.3 Бухгалтерский учет Управление правами 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Расширение, которое позволяет использовать отдельные роли для доступа к складским документам, для доступа к документам раздела "Производство" и для доступа к документам раздела "Покупки".

2520 руб.

21.05.2019    1692169    551    192    

131

Расширение для разграничения доступа к контрагентам и обработка для группового назначения доступа для Бухгалтерии (RLS) 3.0.143.42

Роли и права Платформа 1С v8.3 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение предназначено для Бухгалтерии предприятия (версии ПРОФ и КОРП). Типовая конфигурация остается на поддержке. С помощью расширения менеджер по продажам будет иметь доступ к контрагентам и списку их документов только в случае, если он является для них ответственным. Пользователю с полными правами также доступна обработка «Назначение ответственных» для группового добавления/удаления ответственного в карточке контрагента. Есть версия данного расширения для клиентов Fresh - в магазине расширений (Fresh)

9360 руб.

14.09.2022    5734    6    4    

8

Универсальная система оповещений в базе или по почте по произвольным условиям, расписанием, ролям и пользователям (Расширение / конфигурация для платформ 8.3.6+, для ЛЮБЫХ баз)

Роли и права Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 11 Платные (руб)

Данная система разработана как альтернатива стандартной системе напоминаний. Но имеет ряд существенных преимуществ: отображение в базе или с отправкой по почте, свое расписание, возможность фильтрации по ролям и пользователям, формирование своих запросов и макетов, шаблоны писем, работа в фоне. А также может блокировать работу пользователей при заданных условиях. Может работать в составе любой конфигурации. Имеется справка с описанием возможностей. (Обновление от 20.02.2024, версия 2.2, расширение)

18000 руб.

29.11.2019    24659    13    8    

33
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
0. Nucky 35 02.04.12 12:35 Сейчас в теме
Требовалось настроить роль МенеджераПоПродажам, с условием, что менеджер видит только «своих» контрагентов (контрагентов, для которых он является менеджером), только документы «своих» контрагентов и в отчета цифры «своих».


Перейти к публикации

1. q_i 577 02.04.12 12:35 Сейчас в теме
По-моему, что-то не то с некоторыми запросами.
Насколько я понимаю, в них получается полное соединение таблицы Контрагенты и таб.части МенеджерПокупателя, на которое потом накладывается отбор по &ТекущийПользователь, что должно давать задвои/затрои/т.п. по контрагентам, у которых в таб.части МенеджерыПокупателя больше одного менеджера. Если это так, то, как минимум, это будет медленно работать, а как максимум, если такой запрос будет использован где-то, где получаются цифры (в отчётах/расчётах), будет врать.
Примеры настораживающих запросов:
ВЫБРАТЬ
	Контрагенты.Ссылка
ИЗ
	Справочник.Контрагенты КАК Контрагенты
ГДЕ
	Контрагенты.МенеджерыПокупателя.МенеджерПокупателя = &МенеджерПокупателя

ГДЕ МенеджерыПокупателя.МенеджерПокупателя = &ТекущийПользователь
    ИЛИ ЭтоГруппа = Истина

2. Nucky 35 02.04.12 12:45 Сейчас в теме
"давать задвои/затрои/т.п. по контрагентам"
А как сделать так чтобы два или три пользователя работали в одном сеансе?...
3. q_i 577 02.04.12 16:57 Сейчас в теме
(2) я в восторге от 1с!
оказывается она может запрос
ВЫБРАТЬ
   Контрагенты.Ссылка
ИЗ
   Справочник.Контрагенты КАК Контрагенты
ГДЕ
   Контрагенты.МенеджерыПокупателя.МенеджерПокупателя = &МенеджерПокупателя

оттранслировать в
SELECT
T1._IDRRef
FROM _Reference7 T1
WHERE EXISTS(
SELECT 1 
FROM _Reference7_VT9 T2
WHERE T1._IDRRef = T2._Reference7_IDRRef AND ((T2._Fld11RRef = 0xA084005056C0000811E17CC165ADD72E)))

я же был в полной уверенности что на выходе будет нечто вроде
SELECT
T1._IDRRef
FROM _Reference7 T1 LEFT OUTER JOIN _Reference7_VT9 T2 ON T1._IDRRef = T2._Reference7_IDRRef 
WHERE T2._Fld11RRef = 0xA084005056C0000811E17CC165ADD72E

Интересно, как она догадалась? Это где-нибудь в документации есть?
4. Nucky 35 02.04.12 18:05 Сейчас в теме
:-) Как получил транслированный код?
Документации нет. К такому запросу пришел методом проб и ошибок.
5. q_i 577 02.04.12 19:16 Сейчас в теме
(4) пользую технологический журнал.
Создаёшь файл "C:\Program Files\1cv82\conf\logcfg.xml" с примерно таким содержимым ("Z:\LOGS82\" заменить на свой каталог для логов):
<config xmlns="http://v8.1c.ru/v8/tech-log">
  <log location="Z:\LOGS82\" history="1">
    <event>
     <eq property="name" value="dbmssql"/>
    </event>
    <event>
     <eq property="name" value="dbpostgrs"/>
    </event>
    <event>
     <eq property="name" value="dbv8dbeng"/>
    </event>
    <property name="sql">
    </property>
  </log>
</config>
Показать

К такому запросу пришел методом проб и ошибок.

Ну работает - и хорошо. )))
Впрочем, если стоит задача выбрать контрагентов определённого менеджера, то я бы предложил такой вариант:
ВЫБРАТЬ [РАЗЛИЧНЫЕ]
   Ссылка
ИЗ
   Справочник.МенеджерыПокупателя
ГДЕ
   МенеджерПокупателя = &МенеджерПокупателя
6. Гость 25.04.12 11:02
Спасибо, полезная штука
7. Nucky 35 25.04.12 11:08 Сейчас в теме
Рад, что вам пригодилось.
8. Масянечка 30.05.12 21:59 Сейчас в теме
СПАСИБОЧКИ!!!!!!!!!!!!!!!!!!!!
9. Nucky 35 31.05.12 10:25 Сейчас в теме
Рад, что и вам пригодилось.
10. luchyk007 27.05.13 19:25 Сейчас в теме
Спасибо, было интересно ознакомиться, хотелось бы почитать побольше материала про RLS - интересная тема
11. Yimaida 37 22.08.13 16:02 Сейчас в теме
Статья интересная, но мне кажется, что можно кое что подправить
Например,
1.
Функция ЭтоМенеджер()
Возврат РольДоступна("Менеджер")
КонецФункции


2. В запросах, в частности в отчете правильнее будет использовать ВЫБРАТЬ РАЗРЕШЕННЫЕ...
Т.е. я бы ограничил список контрагентов уже с учетом RLS.
12. pavelyar 03.10.15 21:05 Сейчас в теме
Оставьте свое сообщение