• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Программное создание папок

  • Автор темы lmed
  • Дата начала
L

lmed

Добрый день.
Подскажите пожалуйста: программно создаю папку с помощью EnableFolder.
Как потом заставить отобразиться эту папку в списке папок/во внедренных видах?

У меня эта папка показывается после того, как я в дизайнере нажму F9.

PS. Если эта тема уже обсуждалась, не пинайне, плиз - не нашел..
 
A

alik86

F9 - "Обновить" (причем не только в дизайнере). Вот и гляньте всякого рода Refresh method'ы.
 
L

lmed

Было бы так просто, я бы не спрашивал. ;)
И F9, и SHIFT+F9, и CTRL+SHIFT+F9 малополезны...
 
O

Omh

lmed
Вроде же надо было базу переоткрыть, что бы увидеть свежесозданный view/folder.
А когда сталкивался с этой проблемой, тогда воркараунда не нашёл...
 
L

lmed

lmed
Вроде же надо было базу переоткрыть, что бы увидеть свежесозданный view/folder.
А когда сталкивался с этой проблемой, тогда воркараунда не нашёл...

Если просто закрыть/открыть базу - то не помогает.
А вот если закрыть/открыть клиента - то да, работает! :) Может все же есть более простое решение?
 
L

lmed

:)
Если она у тебя была открыта в дизайнере, она не будет переоткрытой.
Я думаю, именно в этом проблема.

Вы оказались правы ;) Действительно, база не переоткрывалась потому что была открыта в дизайнере. Спасибо!
 
O

Omh

[off]Мне можно смело "ты"-кать, если что.[/off]
 
N

nayke

А нельзя ли поточнее как именно переоткрыть базу. С Лотусом работаю недавно. Пробовал уже и uidb.close и delete uidb. Все равно не могу увидеть только что созданную view.
 
X

Xalet

А нельзя ли поточнее как именно переоткрыть базу. С Лотусом работаю недавно. Пробовал уже и uidb.close и delete uidb. Все равно не могу увидеть только что созданную view.

А в чем проблема? Код из хелпа работает на ура:

Код:
Dim ws As New NotesUIWorkspace
Dim uidb As NotesUIDatabase
Set uidb = ws.CurrentDatabase
Call uidb.Close
 
N

nayke

проблема вот в чем создаю программно вид, пытаюсь его открыть для просмотра.
Set view = db.CreateView(viewname & "_user" ,viewformula,db.GetView(viewname),False)
Call workspace.CurrentDatabase.OpenView(viewname & "_user") или Call uidb.OpenView(viewname & "_user" , "",True,True)
Появляется ошибка, что такого вида нет. Поискал в сети - вроде как надо переоткрыть базу. Как вы пишите пробовал - говорит база уже открыта.
и проблема с видом не решается. Т.е. закрываю как написано выше потом снова открываю базу.
 
X

Xalet

проблема вот в чем создаю программно вид, пытаюсь его открыть для просмотра.
Set view = db.CreateView(viewname & "_user" ,viewformula,db.GetView(viewname),False)
Call workspace.CurrentDatabase.OpenView(viewname & "_user") или Call uidb.OpenView(viewname & "_user" , "",True,True)
Появляется ошибка, что такого вида нет. Поискал в сети - вроде как надо переоткрыть базу. Как вы пишите пробовал - говорит база уже открыта.
и проблема с видом не решается. Т.е. закрываю как написано выше потом снова открываю базу.

А база закроется, пока в ней что-то исполняется? =)

А зачем вообще создавать праграмно новые вьюшки? Не проще формулы менять у существующих(сделав их прайвит он фирст юз)?
 
N

nayke

Не проще формулы менять у существующих(сделав их прайвит он фирст юз)?
Замена структуры коряво происходит и предполагается что вновь созданные и будут приватными, но удаляться после выполнения необходимых действий. А виды нужны для решения задачи фильтрации документов.
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
Это на каждый чих в фильтре будешь новое представление создавать? Индексер не опухнет?
Наверное, база маленькая и сервер мощный.
 
N

nayke

Принцип примерно такой
1.пользователь запрашивает форму фильтра
2.вводит необходимые параметры
3. Создается вид и открывается после выполнения необходимых операций он удаляется.

Если есть способы проще рад буду услышать, но желательно поконкретнее.
SetViewInfo не подходит по критериям для отбора.
Используя метод search результат вывести не могу пробовал через папки - не получилось(скорее всего не хватило опыта и информации).
поэтому решил остановиться на таком варианте
 
X

Xalet

Принцип примерно такой
1.пользователь запрашивает форму фильтра
2.вводит необходимые параметры
3. Создается вид и открывается после выполнения необходимых операций он удаляется.

Если есть способы проще рад буду услышать, но желательно поконкретнее.
SetViewInfo не подходит по критериям для отбора.
Используя метод search результат вывести не могу пробовал через папки - не получилось(скорее всего не хватило опыта и информации).
поэтому решил остановиться на таком варианте

точно так же, только вьюшку открываешь один раз и меняешь формулу(view.selectionformula=formula), на закрытии базы ее удаляешь. Если вьюшка шеред, прайвит он ферст юз, то при первом открытии создастся локальная копия без танцев с бубном с переоткрытиями базы.
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
В хелпе есть пример.

Examples: PutAllInFolder method
The following example puts all the documents found through the FTSearch method of NotesDatabase into a folder "Spicy" inside another folder "Recipes."

Код:
Sub Click(Source As Button)
Dim session As New NotesSession
Dim db As NotesDatabase
Dim collection As NotesDocumentCollection
Set db = session.CurrentDatabase
Set collection = db.FTSearch( "cayenne", 20 )
Call collection.PutAllInFolder( "Recipes\Spicy" )
End Sub
 
N

nvyush

точно так же, только вьюшку открываешь один раз и меняешь формулу(view.selectionformula=formula), на закрытии базы ее удаляешь. Если вьюшка шеред, прайвит он ферст юз, то при первом открытии создастся локальная копия без танцев с бубном с переоткрытиями базы.
Вот с этого места поподробнее, пожалуйста. Насколько я помню, локальные приватные представления из ЛС недоступны, можно только хитрым образом удалить его. Каким образом пользователь сможет изменить формулу отбора несколько раз в одном сеансе?
 
N

nayke

Examples: PutAllInFolder method
The following example puts all the documents found through the FTSearch method of NotesDatabase into a folder "Spicy" inside another folder "Recipes."

Sub Click(Source As Button)
Dim session As New NotesSession
Dim db As NotesDatabase
Dim collection As NotesDocumentCollection
Set db = session.CurrentDatabase
Set collection = db.FTSearch( "cayenne", 20 )
Call collection.PutAllInFolder( "Recipes\Spicy" )
End Sub
делал тоже самое тоьлко с методом search при перемещении файла в папку выдается ошибка что документ не является родительский необходим родительский документ.
И по папкам гораздо меньше информации(ее итак мало совсем если честно) например как их отобразить без формы и т.д.
точно так же, только вьюшку открываешь один раз и меняешь формулу(view.selectionformula=formula), на закрытии базы ее удаляешь. Если вьюшка шеред, прайвит он ферст юз, то при первом открытии создастся локальная копия без танцев с бубном с переоткрытиями базы.
Это обязательно попробую. Я так понимаю что шеред, прайвит он ферст юз выставляется в свойствах при создании? И не будет ли проблем потомм с заменой структуры(просто порекомендовали именно из-за этого ими не пользоваться).
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
делал тоже самое тоьлко с методом search при перемещении файла в папку выдается ошибка что документ не является родительский необходим родительский документ.
И по папкам гораздо меньше информации(ее итак мало совсем если честно) например как их отобразить без формы и т.д.
В настройках папки надо убрать галку Show response documents in a hierarchy. Или перемещать с родительским.
Про информацию в папке и форму не понял. Папки практически ничем не отличаются от представления.
 
Мы в соцсетях:

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