View - формула Select

  • Автор темы gsir
  • Дата начала
G

gsir

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

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)

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

Akupaka

А че я?.. О.о
04.10.2007
3 360
1
#2
остановись пока не поздно! и подумай.

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

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

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