Личное представление

  • Автор темы Автор темы DNT
  • Дата начала Дата начала
D

DNT

В БД есть представление созданое как "Общие, личное при первом входе". Всё рулит красиво, но... Если я меняю дизайн этого представления, то у людей один раз открывших его нифига не меняется :( . Знаю что этот баг решается путем удаления личных представлений при закрытии БД. Как это делается? Идеальный ответ - кусок кода!!!

СПАСИБО!!!
 
<!--QuoteBegin-DNT+26:01:2006, 15:34 -->
<span class="vbquote">(DNT @ 26:01:2006, 15:34 )</span><!--QuoteEBegin-->Знаю что этот баг решается путем удаления личных представлений при закрытии БД
[snapback]29840" rel="nofollow" target="_blank[/snapback]​
[/quote]
Это не баг.

Скажи а для чего тебе нужны папки вида "Общие, личное при первом входе"?
 
Некоторые пользователи входя в базу видят только это представление со "своими" документами. "Свои документы" - некоторое поле в документе представляет собой набор имен, если текущий юзернейм содержится в этом поле то документ включается в представление.
Почему "Общие, личное при первом входе"? - потому, что они позволяют в формуле отбора использовать @UserName.
 
Вариант 1
Если это поле сделать типом "Читатели" то пользователи будут видет документы в которых они внесены Подойдет?

Вариант 2
Сделать форму со свтроенным видом и "срезать" по имени пользователя
 
<!--QuoteBegin-Guest+26:01:2006, 18:08 -->
<span class="vbquote">(Guest @ 26:01:2006, 18:08 )</span><!--QuoteEBegin-->Вариант 1
Если это поле сделать типом "Читатели" то пользователи будут видет документы в которых они внесены Подойдет?

Не подойдет. В базе есть другие пользователи, которых нет в этом поле, но которые имеют доступ к документу из других вьюшек. Таким образом я же им перекрою кислород? Или нет?

Вариант 2
Сделать форму со свтроенным видом и "срезать" по имени пользователя
[snapback]29851" rel="nofollow" target="_blank[/snapback]​
[/quote]

Что значит ""срезать" по имени пользователя"?
 
<!--QuoteBegin-DNT+26:01:2006, 18:17 -->
<span class="vbquote">(DNT @ 26:01:2006, 18:17 )</span><!--QuoteEBegin-->Что значит ""срезать" по имени пользователя"?
[snapback]29853" rel="nofollow" target="_blank[/snapback]​
[/quote]
Делаеш встроенный вид
В виде 1-я колонка категоризирована по полю с именем
Вов строеном виде указываеш "Показать единую категорию"(Restrict Category)
и вписываеш там @UserNAme
 
<!--QuoteBegin-Domino6+26:01:2006, 18:37 -->
<span class="vbquote">(Domino6 @ 26:01:2006, 18:37 )</span><!--QuoteEBegin-->Делаеш встроенный вид
В виде 1-я колонка категоризирована по полю с именем
Вов строеном виде указываеш "Показать единую категорию"(Restrict Category)
и вписываеш там @UserNAme
[snapback]29854" rel="nofollow" target="_blank[/snapback]​
[/quote]


У меня нет поля с именем. У меня есть поле со списком имен (до 4-х). Мне нужно проверять не входит ли текущий юзер в этот список. Список это конечно громко сказано - просто перечислены имена пользователей.
 
<!--QuoteBegin-DNT+26:01:2006, 18:59 -->
<span class="vbquote">(DNT @ 26:01:2006, 18:59 )</span><!--QuoteEBegin-->У меня есть поле со списком имен (до 4-х)
[snapback]29855" rel="nofollow" target="_blank[/snapback]​
[/quote]
Ну так его икатегоризируй получиш 4 категории
 
Спасибо за ответы но я решил не заморачиваться всё-таки и сделал через "Общие, личное при первом входе". Дизайн меняться будет очень редко, в случае замены меняю имя папки - дизайн обновляется :) . По поему так проще и меньше кода. Личное моё мнение.
 
Позырь еще в хелпе про SetViewInfo !!!
помню на форуме Intertrust был хороший примерчик выложен
 
Dim ss As New NotesSession
Dim db As NotesDatabase
Dim txtList As String
Dim viewList As Variant

On Error Resume Next

Set db = ss.CurrentDatabase
viewList = db.Views
Forall y In viewList
If y.IsPrivate Then
Call y.Remove
End If
End Forall
 
...
On Error Resume Next

Set db = ss.CurrentDatabase
viewList = db.Views
Forall y In viewList
If y.IsPrivate Then
Call y.Remove
End If
End Forall

Не хотелось бы использовать "On Error Resume Next",
а без него возникает ошибка "4005:Notes error: Index is not to be generated on server."
при попытке взять y.IsPrivate для исходной шаблонной вьюшки.

Как корректно лучше удалять личные вьюшки Shared, Private On First Use ?
Как при переборе вьюх ForAll v In db.views взять шаблонную SPOFU вьюху ?
 
Спасибо за ответы но я решил не заморачиваться всё-таки и сделал через "Общие, личное при первом входе". Дизайн меняться будет очень редко, в случае замены меняю имя папки - дизайн обновляется :) . По поему так проще и меньше кода. Личное моё мнение.


смотри функцию
Код:
@UpdateViewDesign(folder; foldertemplate)
 

оно конечно работает, но не во всех случаях
делаем агент с

@UpdateViewDesign("Табель - не заполнен"; "Табель - не заполнен TMPL")

так работает, а если создать такую запись

Evaluate {@UpdateViewDesign("Табель - не заполнен"; "Табель - не заполнен TMPL")}

то будет обновляться дизайн вьюхи которая на сервере и тоже самое будет если запустим агент из LS

Set agent = db.GetAgent("UpdateView")
agent.Run

как обновить десктопную вьюху из LS ??
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

Похожие темы