Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

БСП 3.1.3 Управление доступом. Не работает ЧтениеОбъектаРазрешено

БСП 3.1.3 Управление доступом. Не работает ЧтениеОбъектаРазрешено
Я
   Georg_QQ
 
01.04.21 - 09:26
Имеем справочник организаций, иерархический и две организации. Головная и подчиненная. Есть константа "список должностей головной организации для подчиненных"
В группе доступа задано ограничение что пользователю разрешена на чтение только подчиненная организация.
В модуле менеджера справочника организации прописано, что если константа установлена в истину, то на чтение доступна и головная организация подчиненного. для справочника организаций все работает корректно, устанавливаем константу - видим под пользователем обе организации, редактировать можем только подчиненную. Снимаем константу головная организация становится недоступной и для чтения тоже.

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

Для справочника должностей прописано что читать можем те для которых разрешено чтение объекта организация(владелец), а изменение, только где разрешено значение. Однако, функция ЧтениеОбъектаРазрешено(Владелец) всегда выдает ЛОЖЬ. и на одна должность не доступна.

Ограничение.Текст =
  "РазрешитьЧтение
  |ГДЕ
  |  ЧтениеОбъектаРазрешено(Владелец)
  |;
  |РазрешитьИзменениеЕслиРазрешеноЧтение
  |ГДЕ
  |   ЗначениеРазрешено(Владелец)";

По описанию из документации на БСП: Следует иметь в виду, что ограничения доступа к документу в виде ЗначениеРазрешено(Организация) и в виде ЧтениеОбъектаРазрешено(Организация) являются разными. В первом случае проверяется разрешенность значения в группах доступа с правами на документ, а во втором случае проверяется, что группа доступа с правами на документ предоставляет право Чтение на проверяемую организацию.

что я делаю не так? почему ЧтениеОбъектаРазрешено всегда ЛОЖЬ, даже для организации разрешенной в группе доступа?

Список тем форума
 
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух.
Фредерик Брукс-младший
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.