Отображение Документов В View (представлении) , Если Текущий Пользоват

Тема в разделе "Lotus - Программирование", создана пользователем Erlan, 25 дек 2014.

  1. Erlan

    Erlan Member

    Регистрация:
    9 апр 2012
    Сообщения:
    11
    Симпатии:
    0
    Здравствуйте!
    Помогите пожалуйста разобраться в чем у меня проблема.

    Задача:
    Отображать документы в view (представлении) только для автора и для пользователей , которых автор указал в документе.

    Делал так:
    В документе есть поле Автор, и Есть поле Читатели - оно Text List (allow multiple values).
    При создании документа указываю других пользователей и записываю их в поле ReadersNA - поле типа Readers
    В представлении делаю выборку так
    SELECT((Form = "MyForm") & @Contains(ReadersNA; @UserName)) - не работает
    пробывал так
    SELECT((Form = "MyForm") & @IsMember(@UserName;ReadersNA) - не работает

    Запихивал условие - @IsMember(@UserName;ReadersNA) в постопен представления , срабатывает правильно, но в Select (выборке) не работает.

    Где я ошибся? Или может у меня подход не верный?
    Заранее благодарен!
     
  2. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    http://codeby.net/forum/threads/30662.html - по ссылке, читать то, что надо для понимания работы представлений с @UserName, остальное - на досуге. Потом посмотрите, что вам удобней из предложенного. поле Readers вот у вас уже есть.
     
  3. Kizarek86

    Kizarek86 Lotus team
    Lotus team

    Регистрация:
    20 июл 2007
    Сообщения:
    857
    Симпатии:
    5
    Неверный, по сути вариантов адекватных несколько
    1. В представлении отображать все документы по уровню доступа к ним (Readers/Authors поля)
    2. То что делаете Вы должно быть в личных представлениях.
    3. Общее представление с первой категорией по сотруднику и на PostOpen view вешать код аля @SetViewInfo([SetViewFilter]; @UserName; "имя_колонки"; @True)
     
  4. Erlan

    Erlan Member

    Регистрация:
    9 апр 2012
    Сообщения:
    11
    Симпатии:
    0
    Спасибо большое за подсказки
    Поле READERS не правильно забивал значениями. (совсем заработался)
    Теперь в поле READERS сохраняю нужных пользователей и в представлении выборку делаю только по форме а документы видны только тем пользователям кто указан в поле типа READERS и Author

    С наступающим новым годом !
     
  5. ty3uk

    ty3uk Well-Known Member

    Регистрация:
    31 мар 2008
    Сообщения:
    169
    Симпатии:
    0
    А автор топика точно понимает смысл этих полей? Поля типа "Ридерс", это не те поля, которыми ограничивается видимость документов в вьюхе, это поле, которым ораничивается видимость для субъектов вообще. К примеру, если в списке видимости нет сервера, то у вас будут крайне большие проблемы.
    Надо понимать что вы хотите делать, правильно сделать представления или настроить безопасность. В данный момент, вы вышли к решению безопасности (ещё вопрос о том, корректно-ли вы его сделали), но не решили вопрос с вьюхами.

    По полю типа "авторы". Работает исключительно для тех людей, у которых доступ до базы на уровне авторов (т.е. если уровень редактор и выше, то данное поле работать не будет, пользователь сможет изменять документ, аналогично, если уровень у пользователя ридер и ниже, он сможет только просматривать документ). Т.е. это очердное ограничение по безопасности. Смысл достаточно простой (как ранее написал работает исключительно для пользователей/серверов/групп с уровнем доступа в ACL=автор), если пользователь есть в списке авторов, то он может изменять документ, иначе банан (типичная ошибка новичков, человек создаёт документ, но после его сохранения не может его редактировать.)

    Если вам нужно именно выборка в представление, то категорически реккомендую воспользоваться советом kizarek, т.е. использовать @SetViewInfo Как вариант, можете воспользоваться приватными вьюхами/папками (в них работает выборка по имени пользователя, но такие вьюхи, лично у меня, крайне часто ломаются, и чинить их достаточно сложно)
     
  6. Erlan

    Erlan Member

    Регистрация:
    9 апр 2012
    Сообщения:
    11
    Симпатии:
    0
    Спасибо за разъяснения. Буду делать через @SetViewInfo.
     
  7. Constantin A Chervonenko

    Constantin A Chervonenko Well-Known Member

    Регистрация:
    30 май 2006
    Сообщения:
    1.288
    Симпатии:
    0
    Не совсем так. По поводу прав редактирования - Вы правы (действует только на юзеров с уровнем Автор).
    НО: поля типа Authors логически дополняют поля типа Readers и, таким образом, влияют на ВСЕХ пользователей
     
Загрузка...

Поделиться этой страницей