• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

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

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

DNT

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

СПАСИБО!!!
 
D

Domino6

<!--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]
Это не баг.

Скажи а для чего тебе нужны папки вида "Общие, личное при первом входе"?
 
D

DNT

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

Guest

Вариант 1
Если это поле сделать типом "Читатели" то пользователи будут видет документы в которых они внесены Подойдет?

Вариант 2
Сделать форму со свтроенным видом и "срезать" по имени пользователя
 
D

DNT

<!--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]

Что значит ""срезать" по имени пользователя"?
 
D

Domino6

<!--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
 
D

DNT

<!--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-х). Мне нужно проверять не входит ли текущий юзер в этот список. Список это конечно громко сказано - просто перечислены имена пользователей.
 
D

Domino6

<!--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 категории
 
D

DNT

Спасибо за ответы но я решил не заморачиваться всё-таки и сделал через "Общие, личное при первом входе". Дизайн меняться будет очень редко, в случае замены меняю имя папки - дизайн обновляется :) . По поему так проще и меньше кода. Личное моё мнение.
 
G

GROMILA

Позырь еще в хелпе про SetViewInfo !!!
помню на форуме Intertrust был хороший примерчик выложен
 
O

osmor

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
 
P

PaVaP

...
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 вьюху ?
 
R

RAJ

Спасибо за ответы но я решил не заморачиваться всё-таки и сделал через "Общие, личное при первом входе". Дизайн меняться будет очень редко, в случае замены меняю имя папки - дизайн обновляется :) . По поему так проще и меньше кода. Личное моё мнение.


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

MMN


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

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

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

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

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

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

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

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