Создание Документов По Дереву Папок На Диске

Тема в разделе "Lotus - Программирование", создана пользователем StarikStarik2705, 10 апр 2013.

  1. StarikStarik2705

    StarikStarik2705 Well-Known Member

    Регистрация:
    8 фев 2012
    Сообщения:
    103
    Симпатии:
    0
    создание документов по дереву папок на диске, дерево папок получил, а вот сталкивался ли кто как создать документы что бы сохранить связь папок? что бы респонсы и родители соответствовали тому как это на жёстком диске?
    Function ProcessFolder(folder As Variant, pardoc As NotesDocument, folderName As String, folderPrefix As String,db As NotesDatabase, s As NotesSession )
    'pardoc документ на котором стоит курсор - главный родитель
    On Error GoTo errh
    Dim form As String
    Dim curdoc As NotesDocument
    Dim n As Integer
    Print {Обрабатываем папку: } + folder.path ' текущая папка
    Вот сдесь я хочу создавать документы - папки в БД но, иерархию нужно сохранить ,
    я написал CreateDocumentFolder
    но он криво их связывает, теряеться связь и связываю не с тем кем надо
    'MsgBox getFolderName(folder.path) + "----------" & folder.path
    'Set pardoc = CreateDocumentFolder("Folder", s, db, pardoc,getFolderName(folder.path))
    Stop
    Set curdoc = pardoc

    ForAll File In folder.Files ' файлы в папках
    'MsgBox File.path +"\" + File.name
    'если сюда зашло значит создаём файл к данной папке
    'Call CreateDocument("CardPD", s, db, pardoc, File.path +"\" + File.name)
    End ForAll

    ForAll subfolder In folder.SubFolders
    Call ProcessFolder(subfolder, curdoc, folderName, folderPrefix, db,s)
    End ForAll

    Exit Function
    errh:
    Error Err, Error$ & Chr(10) & GetThreadInfo(1) & " (line " & Erl & ")"
    End Function



    Public Function CreateDocumentFolder(Form As String, s As NotesSession, db As NotesDatabase, pardoc As NotesDocument, Path As String ) As NotesDocument
    On Error GoTo ErrHandler

    Dim doc As NotesDocument
    Dim uiview As NotesUIView
    Dim dc As NotesDocumentCollection
    Dim noteid As String
    Set db = s.CurrentDatabase


    Set doc = db.CreateDocument
    Select Case Form
    Case "Folder"
    If pardoc Is Nothing Then
    Exit Function
    End If
    Call doc.ReplaceItemValue( "Form", Form )
    Call doc.ReplaceItemValue( "FolderName", Path )
    Call doc.MakeResponse( pardoc )
    doc.Replaceitemvalue( "AccessAuthor", pardoc.Getitemvalue( "AccessAuthor" ) ).Isauthors = True
    doc.Replaceitemvalue( "AccessReader", pardoc.Getitemvalue( "AccessReader" ) ).Isauthors = True
    Call doc.Save(True, False)
    End Select

    Set CreateDocumentFolder = doc
    Exit Function
    ErrHandler:
    Error Err, Error$ & Chr(10) & GetThreadInfo(1) & " (line " & Erl & ")"
    End Function
     
Загрузка...

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