0
Georg_QQ
01.04.21
✎
09:26
|
Имеем справочник организаций, иерархический и две организации. Головная и подчиненная. Есть константа "список должностей головной организации для подчиненных"
В группе доступа задано ограничение что пользователю разрешена на чтение только подчиненная организация.
В модуле менеджера справочника организации прописано, что если константа установлена в истину, то на чтение доступна и головная организация подчиненного. для справочника организаций все работает корректно, устанавливаем константу - видим под пользователем обе организации, редактировать можем только подчиненную. Снимаем константу головная организация становится недоступной и для чтения тоже.
Ограничение.Текст =
"ПрисоединитьДополнительныеТаблицы
|ЭтотСписок КАК ЭтотСписок
|
|ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Организации КАК Зависимости
| ПО ЭтотСписок.Ссылка = Зависимости.ГоловнаяОрганизация
|
|ЛЕВОЕ СОЕДИНЕНИЕ Константа.ДолжностиПоГоловнойОрганизации КАК ДолжностиПоГоловнойОрганизации
| ПО ИСТИНА
|;
|РазрешитьЧтение
|ГДЕ
| ЗначениеРазрешено(ЭтотСписок.Ссылка) ИЛИ ВЫБОР
| КОГДА ЕстьNULL(ДолжностиПоГоловнойОрганизации.Значение,Ложь)
| ТОГДА ЗначениеРазрешено(Зависимости.Ссылка, NULL КАК ЛОЖЬ, ПУСТАЯССЫЛКА КАК ЛОЖЬ)
| ИНАЧЕ Ложь
| КОНЕЦ
|
|;
|РазрешитьИзменениеЕслиРазрешеноЧтение
|ГДЕ
| ЗначениеРазрешено(Ссылка)";
Для справочника должностей прописано что читать можем те для которых разрешено чтение объекта организация(владелец), а изменение, только где разрешено значение. Однако, функция ЧтениеОбъектаРазрешено(Владелец) всегда выдает ЛОЖЬ. и на одна должность не доступна.
Ограничение.Текст =
"РазрешитьЧтение
|ГДЕ
| ЧтениеОбъектаРазрешено(Владелец)
|;
|РазрешитьИзменениеЕслиРазрешеноЧтение
|ГДЕ
| ЗначениеРазрешено(Владелец)";
По описанию из документации на БСП: Следует иметь в виду, что ограничения доступа к документу в виде ЗначениеРазрешено(Организация) и в виде ЧтениеОбъектаРазрешено(Организация) являются разными. В первом случае проверяется разрешенность значения в группах доступа с правами на документ, а во втором случае проверяется, что группа доступа с правами на документ предоставляет право Чтение на проверяемую организацию.
что я делаю не так? почему ЧтениеОбъектаРазрешено всегда ЛОЖЬ, даже для организации разрешенной в группе доступа?
|
|