View - формула Select

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

  1. gsir

    gsir Гость

    Условия: в базу кидают всякие документы для разных отделов. Мне надо, чтобы пользователи отдела видели только свои документы. Номер отдела - первые три знака имени пользователя. Формула:

    vn:=@Name([CN]; @UserName);
    v1:=@If(@Left(vn;3) = "adm"; ""; @IsError(@ToNumber(@Left(vn;3))); @Return(@Prompt([OK]; "Ошибка";"Вы не имеете права открывать эту базу"));@Left(vn;3));
    Select (Form = "Doc1" & NPodr = v1)

    для админа срабатывет правильно, а для пользователей - ни одного документа не показывает.
    Помогите, пожалуйста!
     
  2. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    остановись пока не поздно! и подумай.

    во-первых, кто же так придумал называть пользователей?! ведь есть подразделения! для организации иерархии (Organization Unit)
    при этом, если Вася Пупкин работает в бухгалтерии компании Эконом, то у него можно сделать имя:
    Вася Пупкин/Бухгалтерия/Эконом, а не БХГ Вася Пупкин/Эконом.
    лучше конечно имена латиницей писать, а для представления более дружественного вида можно использовать альтернативные имена (alternative name)

    во-вторых, формула такого вида как ты хочешь - убийца приложения с ходу! т.к. индекс вида не постоянен.

    в-третьих, чтобы таким образом организовать доступ к документам приложения необходимо использовать Authors/Readers поля доступа.
    а уже по имени пользователя, вернее, по части его иерархического имени определять доступ к документу. еще можно позволить пользователям управлять доступом к документу.
     
  3. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Надо взять это на вооружение!
     
Загрузка...

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