Вопрос по вьюхе

  • Автор темы sanch
  • Дата начала
S

sanch

Доброго времени!!
Подскажите плз как во вьюхе отображать только те доки которые чел создал. то есть чтоб не видел доков созданных другими.
 
D

DNT

Для: sanch

Есть несколько путей решения. Смотря что нужно. Если просто фильтр по тек. юзеру. Тогда меняй формулу отбора (6-ка и выше). Если нужно доступ ограничить то используй поле "readers" в документах.
 
S

sanch

Да нужен отбор по юзеру. Что Ты имеешь ввиду под "менять формулу"?
 
M

morpheus

<!--QuoteBegin-sanch+14:12:2006, 12:39 -->
<span class="vbquote">(sanch @ 14:12:2006, 12:39 )</span><!--QuoteEBegin-->Да нужен отбор по юзеру
[snapback]50798" rel="nofollow" target="_blank[/snapback]​
[/quote]
Что говорит нам хэлп
When a formula runs on a server, the agent signer is considered the current user. Using @UserName on a local database or in a private view in a server-based database returns the user's name. You should not use @UserName in a public view, doing so produces unpredictable results. Also, if the field that you are referencing changes, you will get unpredictable results because the index has to be rebuilt to accommodate the new information.
One use for @UserName is to display only those documents relevant to the current user. For example, your Service Request database could use @UserName in the private view named Assignments to display each technician's assignments, weeding out everyone else's:
SELECT @UserName=AssignedTo
However, the user can still design a different private view that retrieves all documents, so don't depend on @UserName as a security mechanism.
For an alternative way to display only documents relevant to the current user, see "To show a single category in an embedded view."
If you are using Release 5 and have an alternate name as well as a primary name, it is best to store the alternate name in the document as author information when using the extended feature of @UserName.
 
F

Fossil Code

В дополнение к сказанному Morpheus: ключевые слова -- private view.
 
D

DNT

Для: sanch
<!--QuoteBegin-sanch+14:12:2006, 12:39 -->
<span class="vbquote">(sanch @ 14:12:2006, 12:39 )</span><!--QuoteEBegin-->Да нужен отбор по юзеру. Что Ты имеешь ввиду под "менять формулу"?
[snapback]50798" rel="nofollow" target="_blank[/snapback]​
[/quote]

когда говорю "менять формулу", имею ввиду "менять формулу" :D :
SELECT ((Form = "form name") & ("имя поля с именем создателя дока" = @UserName))
 
M

morpheus

Для: DNT
<!--QuoteBegin-Fossil Code+14:12:2006, 12:49 -->
<span class="vbquote">(Fossil Code @ 14:12:2006, 12:49 )</span><!--QuoteEBegin-->В дополнение к сказанному Morpheus: ключевые слова -- private view.
[snapback]50802" rel="nofollow" target="_blank[/snapback]​
[/quote]
в принципе после этого уже и не надо ничего менять
 
S

sanch

<!--QuoteBegin-DNT+14:12:2006, 12:58 -->
<span class="vbquote">(DNT @ 14:12:2006, 12:58 )</span><!--QuoteEBegin-->когда говорю "менять формулу", имею ввиду "менять формулу" :
SELECT ((Form = "form name") & ("имя поля с именем создателя дока" = @UserName))
[snapback]50804" rel="nofollow" target="_blank[/snapback]​
[/quote]
Ну я так и делал. Не работает!!! :D
 
D

DNT

Для: Morpheus

Ну приват вью это отдельная пестня. я стараюсь их не юзать после того как 6-ка разрешила использовать в формуле отбора @UserName.

Для: sanch

значит у тебя "имя поля с именем создателя дока" НЕ РАВНО @UserName

проверь как заполняется поле
 
M

morpheus

Для: DNT
а тормозов не бывает?
You should not use @UserName in a public view, doing so produces unpredictable results. Also, if the field that you are referencing changes, you will get unpredictable results because the index has to be rebuilt to accommodate the new information.
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
6
<!--QuoteBegin-DNT+14:12:2006, 14:07 -->
<span class="vbquote">(DNT @ 14:12:2006, 14:07 )</span><!--QuoteEBegin-->после того как 6-ка разрешила использовать в формуле отбора @UserName.
[snapback]50808" rel="nofollow" target="_blank[/snapback]​
[/quote]
Может быть она еще корректно работает ? :D
Короче, нельзя так делать.
 
D

DNT

Для: Medevic

я не с пальца высосал. у меня работает такая вьюха.
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
6
<!--QuoteBegin-DNT+14:12:2006, 14:17 -->
<span class="vbquote">(DNT @ 14:12:2006, 14:17 )</span><!--QuoteEBegin-->я не с пальца высосал. у меня работает такая вьюха.
[snapback]50814" rel="nofollow" target="_blank[/snapback]​
[/quote]
Допустим у тебя работает, а у других пользователей?
База не локальная?
 
D

DNT

Для: Morpheus

да нет вроде, не жаловались

Для: Medevic

База не локальная. База рабочая. База используется и активно. База выполняет функцию менеджера задач сотрудника. Так вот в ней есть представление в котором в формуле отбора я использовал вышеуказанную формулу для показа "своих" задач. Работает... Спор не уместен.
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
6
Для: DNT
Да что спорить.
Мне личный опыт говорит обратное, и хелп подтверждает это. :D
 
E

Elena Nefedova

Для: Medevic
У меня тоже что-то перестали обновляться данные private-вьюшек.
А поскольку вывод подмножества документов критичен (из-за объемов), пришлось всех обмануть и использовать форму со встроенной вьюхой и отбором по категории вместо самой вьюхи.
Тоже не особенно удачное решение - новичкам не посоветуешь, слишком многое приходится учитывать.
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
6
<!--QuoteBegin-Elena Nefedova+14:12:2006, 15:02 -->
<span class="vbquote">(Elena Nefedova @ 14:12:2006, 15:02 )</span><!--QuoteEBegin-->У меня тоже что-то перестали обновляться данные private-вьюшек.
[snapback]50830" rel="nofollow" target="_blank[/snapback]​
[/quote]
Только эта проблема не в @UserName, а в private представлении.
Вроде бы desktop private представления лишены этого недостатка.
 
A

Azrael

У меня вот такая фишка работает нормально абсолютно:
SELECT Form="Order" & to_del!="1" &
@Trim(@UpperCase(IN_FIO))=@Trim(@UpperCase(@Name([CN];@UserName)))

база рабочая, лежит на сервере
 
S

sanch

ХМ.. ниче не пойму все перепробовал.Не работает.((((
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!