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

02.04.12

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

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Настройка роли менеджера по продажам в 1С 8.2 УПП (RLS и немного кода):
.doc 32,00Kb ver:1.0
1
1 Скачать (1 SM) Купить за 1 850 руб.

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


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

 

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


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


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

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


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

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

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

См. также

SALE! 15%

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

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

10000 руб.

02.09.2020    159410    872    399    

861

Инструменты администратора БД Роли и права Системный администратор Программист Пользователь 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, пытаясь понять какими правами они обладают? Вы все время смотрите права в конфигураторе или отчетах чтоб создать нормальные профили доступа? Вы хотите наглядно видеть какие права дает профиль и редактировать все в простом виде? А может хотите просто указать подсистему и дать права на просмотр и добавление на объекты и не лезть в дебри прав и чтоб обработка сама подобрала нужные роли? Все это теперь стало возможно! Обновление от 18.09.2024, версия 1.2

16800 руб.

06.12.2023    8842    42    5    

73

SALE! 15%

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

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

10000 8500 руб.

10.11.2023    10416    36    21    

61

SALE! 20%

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

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

5940 4752 руб.

27.05.2021    37561    264    92    

205

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

Расширение для 1С:Бухгалтерия 3.0, которое позволяет использовать отдельные роли для доступа к складским документам, для доступа к документам раздела "Производство" и для доступа к документам раздела "Покупки".

4560 руб.

21.05.2019    1694763    570    194    

137

Ценообразование, анализ цен Роли и права Системный администратор Платформа 1С v8.3 Управление правами 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Расширение возможностей программы 1С УНФ. Функционал расширения - разграничение всевозможных прав пользователей и контроль при совершении различных действий.

3000 руб.

23.02.2018    58452    160    261    

152

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

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

19200 руб.

29.11.2019    25657    16    8    

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


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

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

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

2. Nucky 35 02.04.12 12:45 Сейчас в теме
"давать задвои/затрои/т.п. по контрагентам"
А как сделать так чтобы два или три пользователя работали в одном сеансе?...
3. q_i 584 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 584 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 38 22.08.13 16:02 Сейчас в теме
Статья интересная, но мне кажется, что можно кое что подправить
Например,
1.
Функция ЭтоМенеджер()
Возврат РольДоступна("Менеджер")
КонецФункции


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