Export/import For Views And Forms

Тема в разделе "Lotus - Программирование", создана пользователем Pikolu, 8 июл 2010.

  1. Pikolu

    Pikolu Гость

    добрый день

    У меня вот такая проблема я незнаю как мне сделать экспорт и импорт для формы и видов !

    А. мне надо что формы и виды экспортировать все в разные файлы, тоесть мне надо что каждая форма и вид получил свой файл в XML.

    Б. мне надо после экспорта все это импортировать в XPAGE .

    как мне это лутше всего сделать?

    или возможно ли так сделать ?

    Спосибо
    Александр
     
  2. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    См. в справке дизайнера классы NotesNoteCollection, NotesDXLExporter, NotesDXLImporter
     
  3. alik86

    alik86 Lotus team
    Lotus team

    Регистрация:
    20 ноя 2008
    Сообщения:
    465
    Симпатии:
    0
    Если не программно, то гляньте тут.
     
  4. Pikolu

    Pikolu Гость

    а как сделать чтобы по экспортированию всех видов, каждый вид имел свой XML ?
    Код (Text):
    Sub Initialize()
    Dim session As New NotesSession
    Dim db As NotesDatabase
    Dim docDesign As NotesDocument
    Dim notes As NotesNoteCollection
    Dim objExporter As NotesDXLExporter
    Dim objStream As NotesStream
    Dim strNoteID As String
    Dim strDXL As String

    Set db=session.Currentdatabase
    Set objStream=session.Createstream
    Set notes=db.Createnotecollection(False)
    Set objExporter=session.Createdxlexporter

    notes.Selectviews=True
    'notes.Selectfolders=True
    notes.Selectforms=True

    notes.Buildcollection
    strNoteID=notes.Getfirstnoteid
    Do Until strNoteID=""
    Set docDesign=db.Getdocumentbyid(strNoteid)

    strDXL=objExporter.Export(docDesign)
    objStream.Open Environ("Temp") & "\" & strNoteID & ".dxl"
    objStream.Writetext strDXL
    objStream.Close

    strNoteID=notes.Getnextnoteid(strNoteid)
    Loop
    End Sub
    можно этим примером так сделать ?
     
  5. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    можно, оно же в отдельный файл каждое пишет. только код и формы отбирает - notes.Selectforms=True

    Добавлено: PS не обратила внимания в стартовом, что формы тоже надо
     
  6. Pikolu

    Pikolu Гость

    один вопрос а куда он экспортирует ? в какую папку ?

    я навичок так извените меня ))
     
  7. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.073
    Симпатии:
    299
    Environ("Temp") & "\" & strNoteID & ".dxl"
    временная папка ОС (верно тока для винды)
    для кроссплатформенности надо слэш ставить, а не бэксэш!
     
  8. Pikolu

    Pikolu Гость

    а как сделать что бы можно было видеть ее на компе ?
     
  9. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    если код выполняется в серверном агенте, то папка будет на сервере, иначе - на компе того, кто выполняет код, т.е. собственно, у вас)
    если у вас установлена переменная окружения Temp, то в ней ищите. Если нет, скорее всего, в рабочем каталоге нотуса будет файлик с цифирьками в имени и расширением ".dxl"
     
  10. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.073
    Симпатии:
    299
    уточняйте систему! В винде, в проводнике %TEMP% - набрать в адресной строке
    ЗЫ: мда - люди зачем-то юзают винду... и МСО..., а знать их не знают, вот я их знаю и не юзаю (наверное именно потому :) )
     
  11. Pikolu

    Pikolu Гость

    у меня все пошло )) вот мой скрипт как я сделал

    Код (Text):
    Sub Initialize()
    Dim session As New NotesSession
    Dim db As NotesDatabase
    Dim docDesign As NotesDocument
    Dim notes As NotesNoteCollection
    Dim objExporter As NotesDXLExporter
    Dim objStream As NotesStream
    Dim strNoteID As String
    Dim strDXL As String

    Set db=session.Currentdatabase
    Set objStream=session.Createstream
    Set notes=db.Createnotecollection(False)
    Set objExporter=session.Createdxlexporter

    'Views
    notes.Selectviews=True
    notes.Buildcollection
    strNoteID=notes.Getfirstnoteid
    Do Until strNoteID=""
    Set docDesign=db.Getdocumentbyid(strNoteid)

    strDXL=objExporter.Export(docDesign)
    objStream.Open "C:\DXL\views" & strNoteID & ".dxl"
    objStream.Writetext strDXL
    objStream.Close

    strNoteID=notes.Getnextnoteid(strNoteid)
    Loop

    'Forms
    notes.Selectforms=True
    notes.Buildcollection
    strNoteID=notes.Getfirstnoteid
    Do Until strNoteID=""
    Set docDesign=db.Getdocumentbyid(strNoteid)

    strDXL=objExporter.Export(docDesign)
    objStream.Open "C:\DXL\forms" & strNoteID & ".dxl"
    objStream.Writetext strDXL
    objStream.Close

    strNoteID=notes.Getnextnoteid(strNoteid)
    Loop

    End Sub
    теперь как мне сделать импорт всех файлов в xpage ?
    а можно их сразу переделать в xsp формат ?
     
  12. turumbay

    Регистрация:
    13 мар 2009
    Сообщения:
    625
    Симпатии:
    2
    поздравляю! лиха беда начало :)
    что имеется в виду под импортом формы в xpage?
    хочется для каждой формы сделать xpage с аналогичным функционалом? это врятли.
    В теории - пишем xslt по преобразованию dxl->xsp.
    На практике - ничего не получица, если на форме есть хоть сколько-нибудь кода( а он там есть всегда :) )
     
  13. Pikolu

    Pikolu Гость

    а что вы мне предложить можете ?
    а можно сделать их в CustomControls ?
    так пойдет ? или тоже не идет ?
     
  14. turumbay

    Регистрация:
    13 мар 2009
    Сообщения:
    625
    Симпатии:
    2
    я правильно понимаю задачу: нужен скрипт, преобразующий существующие формы и виды в xpages?
    в такой постановке задача не решаема.
    вам как минимум будет необходимо реализовать преобразование кода ls в javascript( что-то в клиент-сайд, что-то в сервер-сайд ).

    на пальцах: форма с единственной кнопкой, скрытой по роли, с кодом
    Код (Text):
        Dim ws As New NotesUIWorkspace
    Call ws.Prompt( PROMPT_OKCANCELLIST , "Preved!" , "Где медвед?" , "тут" , Evaluate( { "там":"тут" } ) )
    Как такое конвертить автоматом?
     
  15. Pikolu

    Pikolu Гость

    задача у меня счас види и формы которые я экспортировал в DXL
    их переделать автоматом в XSP и импортировать их в XPAGE или в CustomControls.

    Да и это все должно иди автоматом !!!

    такое возможно ?
     
  16. turumbay

    Регистрация:
    13 мар 2009
    Сообщения:
    625
    Симпатии:
    2
    нет
     
  17. Pikolu

    Pikolu Гость

    а как нибуть можно это сделать ? вручную или через специальные проги ?
     
  18. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    вручную — можно (в смысле нарисовать в xpages всё самому, если функционал позволяет)
    через специальные проги — если напишите утилиту конвертации form-dxl-xsp-xpages, не забудьте выложить на :lovecodeby: для свободного скачивания :)
     
  19. Pikolu

    Pikolu Гость

    но какой нибуть способ должен быть ?
    но как то же луди делают это все в xpage !!
    что никак это сделать нельзя ?
     
  20. turumbay

    Регистрация:
    13 мар 2009
    Сообщения:
    625
    Симпатии:
    2
    луди садяца и пишут. ручками. с нуля. т.е жмут в дизайнере "new xpage" и понеслась....
    а чтоб вот так взять шаблон discussion от пятерки, нажать кнопку и сгенерить из него шаблон 8.51 - это ни в жизнь.
    Если бы в середине прошлого века был интернет и lingvo.ru - все равно бы Пастернак переводил Фауста вручную. А лотусскриптовый код иногда посильнее фауста бывает :)
    Короче: не решается ваша задача в общем случае. Забудьте.
     
Загрузка...
Похожие Темы - Export import For
  1. MaxP
    Ответов:
    3
    Просмотров:
    661
  2. NickProstoNick
    Ответов:
    14
    Просмотров:
    3.560
  3. Eugen
    Ответов:
    70
    Просмотров:
    13.615
  4. z53dimon
    Ответов:
    4
    Просмотров:
    2.790
  5. fedotxxl
    Ответов:
    1
    Просмотров:
    3.549

Поделиться этой страницей