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

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

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

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

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

Програмно скопировать элементы дизайна из одной БД в другую

dimat

Well-known member
31.07.2008
508
0
BIT
0
Есть необходимость скопировать определенные элементы дизайна (вьюхи, формы и т.д.) из одной БД в несколько других.
Возможно ли сделать это на LS? Если да, то как?
 
N

nvyush

Почитайте в справке про класс NotesNoteCollection. И имейте ввиду, что элементы дизайна также являются документами Лотус и могут быть получены/скопированы в другую базу как и другие документы. Попробуйте в дизайнере кликнуть правой кнопкой по к-либо элементу дизайна и посмотреть свойства.
 
O

Omh

Строишь NotesNoteCollection, получаешь документ дизайн-элемента по NoteID, копируешь как документ.
Вообще, это канадский баян.
 

dimat

Well-known member
31.07.2008
508
0
BIT
0
Почитайте в справке про класс NotesNoteCollection. И имейте ввиду, что элементы дизайна также являются документами Лотус и могут быть получены/скопированы в другую базу как и другие документы. Попробуйте в дизайнере кликнуть правой кнопкой по к-либо элементу дизайна и посмотреть свойства.
Строишь NotesNoteCollection, получаешь документ дизайн-элемента по NoteID, копируешь как документ.
Вообще, это канадский баян
Можно примерчик?
 
N

nvyush

Можно примерчик?

Код:
Dim s As New NotesSession
Dim dbFrom as NotesDatabase
Dim dbTo as NotesDatabase
Set dbFrom = s.GetDatabase(...)
Set dbTo = s.GetDatabase(...)
Dim doc as NotesDocument
Set doc = dbFrom.GetDocumentByID(...) 
call doc.CopyToDatabase(dbTo)
Документ можно получить по ID или перебирать коллекцию доков и анализировать поле $TITLE.
 

dimat

Well-known member
31.07.2008
508
0
BIT
0
Спасибо nvy.
Еще один вопрос:
Как я понимаю поле $title(0) содержит название объекта, а $title(1) псевдоним?
 
N

nvyush

Спасибо nvy.
Еще один вопрос:
Как я понимаю поле $title(0) содержит название объекта, а $title(1) псевдоним?
Нужно смотреть свойства нужного элемента дизайна (вторая закладка свойств, поля). Например, для представлений это не так, там название и псевдонимы собраны в одно значение через |.
 
I

iki

Можно еще через DXL. Вот нашел в закромах кнопочку для экспорта. Импорт по аналогии.
<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">код</div></div><div class="sp-body"><div class="sp-content">
Код:
Sub Click(Source As Button)
Dim session As New NotesSession
Dim db As NotesDatabase
Set db = session.CurrentDatabase

REM Open xml file named after current database
Dim stream As NotesStream
Set stream = session.CreateStream
path$ = "r:\dxl\"
filename$ = Left(db.FileName, Len(db.FileName) - 3) & "dxl"
filename$ = path$ & filename$
If Not stream.Open(filename$) Then
Messagebox "Cannot open " & filename$,, "Error"
Exit Sub
End If
Call stream.Truncate

REM Create note collection
Dim nc As NotesNoteCollection
Set nc = db.CreateNoteCollection(False)
Call nc.SelectAllFormatElements(False)
nc.SelectForms = True
Call nc.BuildCollection

REM Export note collection as DXL
Dim exporter As NotesDXLExporter
Set exporter = session.CreateDXLExporter(nc, stream)
Call exporter.Process
End Sub
 
Мы в соцсетях:

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