рлс

1. H0nesty 29.08.18 15:54 Сейчас в теме
Есть стандартный шаблон по РЛС "КонтрагентОрганизацияПодразделение"
необходимо переписать чтоб учитывалось следующее, если не заполнено подразделение (т.е. пустая ссылка) РЛС не ограничивал эту запись. Помогите, пожалуйста, уже голову сломал, все не пашет (

#Если &ИспользоватьОграничениеПоКонтрагенты ИЛИ &ИспользоватьОграничениеПоОрганизации ИЛИ &ИспользоватьОграничениеПоПодразделения #Тогда
ТекущаяТаблица
ИЗ
#ТекущаяТаблица КАК ТекущаяТаблица
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РАЗЛИЧНЫЕ
СоставГруппы.Ссылка КАК ГруппаПользователей
ИЗ
Справочник.ГруппыПользователей.ПользователиГруппы КАК СоставГруппы
ГДЕ
СоставГруппы.Пользователь = &ТекущийПользователь) КАК ГруппыПользователей
ПО (ИСТИНА)
ГДЕ
НЕ ГруппыПользователей.ГруппаПользователей ЕСТЬ NULL
И
(НЕ 1 В
(ВЫБРАТЬ ПЕРВЫЕ 1
1
ИЗ
РегистрСведений.НазначениеВидовОбъектовДоступа КАК НазначениеВидовОбъектовДоступа

#Если &ИспользоватьОграничениеПоКонтрагенты #Тогда
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты
ПО Контрагенты.Ссылка = ТекущаяТаблица.#Параметр(1)
#КонецЕсли

ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НастройкиПравДоступаПользователей КАК НастройкиПравДоступаПользователей
ПО
НастройкиПравДоступаПользователей.ОбъектДоступа = ВЫБОР

#Если &ИспользоватьОграничениеПоКонтрагенты #Тогда
КОГДА НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Контрагенты)
ТОГДА ЕСТЬNULL(Контрагенты.ГруппаДоступаКонтрагента, ЗНАЧЕНИЕ(Справочник.ГруппыДоступаКонтрагентов.ПустаяСсылка))
#КонецЕсли

#Если &ИспользоватьОграничениеПоОрганизации #Тогда
КОГДА НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Организации)
ТОГДА ТекущаяТаблица.#Параметр(2)
#КонецЕсли

#Если &ИспользоватьОграничениеПоПодразделения #Тогда
КОГДА НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Подразделения)
ТОГДА ТекущаяТаблица.#Параметр(3)
Конец
#КонецЕсли

КОНЕЦ
И НастройкиПравДоступаПользователей.ВидОбъектаДоступа = НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа
И
НастройкиПравДоступаПользователей.ОбластьДанных =
#Если &ИспользоватьОграничениеПоКонтрагенты #Тогда
ВЫБОР КОГДА НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Контрагенты)
ТОГДА ЗНАЧЕНИЕ(Перечисление.ОбластиДанныхОбъектовДоступа.КонтрагентыДанные)
ИНАЧЕ
ЗНАЧЕНИЕ(Перечисление.ОбластиДанныхОбъектовДоступа.ПустаяСсылка)
КОНЕЦ
#Иначе
ЗНАЧЕНИЕ(Перечисление.ОбластиДанныхОбъектовДоступа.ПустаяСсылка)
#КонецЕсли

И НастройкиПравДоступаПользователей.Пользователь = ГруппыПользователей.ГруппаПользователей
ГДЕ
НазначениеВидовОбъектовДоступа.ГруппаПользователей = ГруппыПользователей.ГруппаПользователей
И НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа В (
ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.ПустаяСсылка)

#Если &ИспользоватьОграничениеПоКонтрагенты #Тогда
, ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Контрагенты)
#КонецЕсли

#Если &ИспользоватьОграничениеПоОрганизации #Тогда
, ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Организации)
#КонецЕсли

#Если &ИспользоватьОграничениеПоПодразделения #Тогда
, ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Подразделения)
#КонецЕсли

)

И НастройкиПравДоступаПользователей.ОбъектДоступа ЕСТЬ NULL))
#КонецЕсли
Показать
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. Fox-trot 163 29.08.18 22:30 Сейчас в теме
(1) добавь условие
ЗначениеЗаполнено(#Параметр(3))
2. VmvLer 29.08.18 19:40 Сейчас в теме
не понял задачи, что значит не огранивал, в чем?

а вообще может обойтись модулем объекта в расширении, привилегиями или просто добавить новую роль

по-моему, проще привязать "моську"(новую роль), чем "слона"(рлс)
4. H0nesty 30.08.18 00:45 Сейчас в теме
(2) РЛС ограничивает в получении данных, не ограничивал в получении данных
Как обойтись модулем объекта? какого объекта? Речь идет и про все отчеты и т.д. они ограничены уже РЛС и туда не попадают данные, а мне нужно чтоб попало.
Даже если Вы советуете новую роль, то туда приедтся дописать РЛС с теми же условиями.

(3) Я понимаю что дописать, хотя мне больше нравится
ТекущаяТаблица.#Параметр(3) = ЗНАЧЕНИЕ(Справочник.Подразделения.ПустаяСсылка)
Я не понимал куда
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот