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) ##КонецЕсли | |
| Интернет-форум Краснодарского края и Краснодара |