К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

Программирование шаблонов ограничений для роли УТ 10.3

Гость
0 - 15.11.2012 - 11:39
Столкнулся с тем что типовой шаблон ограничений для роли «МенеджерПоПродажам» перестал удовлетворять.
Для просмотра документов "Реализация" и отчетов по регистрам "Продажи" и "Взаиморасчеты с контрагентом по документам расчетов" (выбрать разрешенные) применяется шаблон «#ОрганизацияВШапкеКонтрагентВШапке".

Данный шаблон не удовлетворяет тем, что ограничения накладываются через группу доступа к контрагентам.
Проблема заключается в том, что за данным контрагентом может быть закреплено несколько менеджеров и каждый должен видеть в журнале и отчетах (выбрать разрешенные) только свои документы.
И если настраивать права доступа типовым способом, то каждый менеджер будет видеть документы и обороты клиентов другого.

Для расчета комиссии в документы отгрузки и оплаты я уже внес реквизит "Менеджер" (справочник «Пользователи»).
Теперь мне нужно написать шаблон ограничений по данному реквизиту применительно к текущему пользователю.
Как это делать ума не приложу.
Есть ли какие ссылки с примерами.
Также буду признателен за ссылку на пример настройки прав доступа контрагентам типовыми средствами УТ.



Гость
1 - 15.11.2012 - 12:58
(0) покажи что у тебя в #ОрганизацияВШапкеКонтрагентВШапке
Гость
2 - 15.11.2012 - 14:16
##Если &ИспользоватьОграниченияПравДоступаНаУровнеЗапи сей ##Тогда
ТекущаяТаблица ИЗ #ТекущаяТаблица КАК ТекущаяТаблица
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РАЗЛИЧНЫЕ
СоставГруппы.Ссылка КАК ГруппаПользователей
ИЗ
Справочник.ГруппыПользователей.ПользователиГруппы КАК СоставГруппы
ГДЕ
СоставГруппы.Пользователь = &ТекущийПользователь) КАК ГруппыПользователей
ПО (&ИспользоватьОграниченияПравДоступаНаУровнеЗаписе й)
ГДЕ (&ИспользоватьОграниченияПравДоступаНаУровнеЗаписе й = ЛОЖЬ
ИЛИ (НЕ 1 В
(ВЫБРАТЬ ПЕРВЫЕ 1
1 КАК ПолеОтбора
ИЗ
РегистрСведений.НазначениеВидовОбъектовДоступа КАК НазначениеВидовОбъектовДоступа
ГДЕ
НазначениеВидовОбъектовДоступа.ГруппаПользователей = ГруппыПользователей.ГруппаПользователей
И ВЫБОР
КОГДА НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Организа ции)
И ТекущаяТаблица.#Параметр(1) ССЫЛКА Справочник.Организации
И НЕ ТекущаяТаблица.#Параметр(1) = ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)
ТОГДА ВЫБОР
КОГДА 1 В
(ВЫБРАТЬ ПЕРВЫЕ 1
1
ИЗ
(ВЫБРАТЬ
1 КАК ПолеОтбора
) КАК Оптмизация ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.НастройкиПравДоступаПользователей КАК НастройкиПравДоступаПользователей
ПО
НастройкиПравДоступаПользователей.ОбъектДоступа = ТекущаяТаблица.#Параметр(1)
И НастройкиПравДоступаПользователей.ВидОбъектаДоступ а = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Организа ции)
И (НастройкиПравДоступаПользователей.Пользователь = НазначениеВидовОбъектовДоступа.ГруппаПользователей
ИЛИ НастройкиПравДоступаПользователей.Пользователь = ЗНАЧЕНИЕ(Справочник.ГруппыПользователей.ВсеПользов атели)))
ТОГДА ИСТИНА
ИНАЧЕ ЛОЖЬ
КОНЕЦ
КОГДА НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Контраге нты)
И ТекущаяТаблица.#Параметр(2) ССЫЛКА Справочник.Контрагенты
И НЕ ТекущаяТаблица.#Параметр(2) = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
ТОГДА ВЫБОР
КОГДА 1 В
(ВЫБРАТЬ ПЕРВЫЕ 1
1
ИЗ
Справочник.Контрагенты КАК Контрагенты ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.НастройкиПравДоступаПользователей КАК НастройкиПравДоступаПользователей
ПО
НастройкиПравДоступаПользователей.ОбъектДоступа = Контрагенты.ГруппаДоступаККонтрагенту
И НастройкиПравДоступаПользователей.ВидОбъектаДоступ а = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Контраге нты)
И (НастройкиПравДоступаПользователей.Пользователь = НазначениеВидовОбъектовДоступа.ГруппаПользователей
ИЛИ НастройкиПравДоступаПользователей.Пользователь = ЗНАЧЕНИЕ(Справочник.ГруппыПользователей.ВсеПользов атели))
ГДЕ
Контрагенты.Ссылка = ТекущаяТаблица.#Параметр(2))
ТОГДА ИСТИНА
ИНАЧЕ ЛОЖЬ
КОНЕЦ
ИНАЧЕ ИСТИНА
КОНЕЦ = ЛОЖЬ))
И НЕ ГруппыПользователей.ГруппаПользователей ЕСТЬ NULL)
##КонецЕсли


К списку вопросов






Copyright ©, Все права защищены