ипользование данных из документов

Тема в разделе "Lotus - Программирование", создана пользователем kilcher, 30 янв 2008.

  1. kilcher

    kilcher Гость

    Всем добрый день! меня решли полностью окунуть в Lotus и дали задание написать скрипт :D .
    Я конечно в курсе что это и как выглядит,но сложить все воедино не очень пока получается.Если есть возможность помогите!Может у кого то есть похожий скриптик?
    Вобщем задача такая:нажав на кнопку пользователь выбирает из View сотрудника(соответственно документ с данными о нем). При этом данные из полей этого документа должны занестись в поля моего.
    Буду очень благодарна за советы.
     
  2. Sandr

    Sandr Гость

    Такого скриптика универсального нет, так как у Вас свои поля, у других людей свои...

    Могут толкнуть в нужном направлении...

    Используйте
    notesUIWorkspace.PickListCollection method для диалога выбора документа

    notesDocument.Getitemvalue для зачитки значений полей документа

    notesDocument.ReplaceItemvalue для записи значений в поля нужного документа...

    А дальше в хелп :D там все есть...
     
  3. kilcher

    kilcher Гость

    У меня создан лист отзывов, в нем следует пользователю создать список согласующих. Тем самым мне надо записать код в кнопку чтоб можно было выбрать нескольких сотрудников и их данные автоматически занеслись бы в поля листа отзыва.Необходимо создавать массивы?
     
  4. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    хм... эту задачу Вы перед собой поставьте :D

    вот пример кода в помощь :)

    Код (Text):
    Sub Click(Source As Button)

    On Error Goto errHandler

    Dim s As New NotesSession
    Dim ws As New NotesUIWorkspace
    Dim doc As NotesDocument
    Dim pickedCol As NotesDocumentCollection
    Dim pickedDoc As NotesDocument
    Dim multiSel As Boolean
    Dim serverName As String
    Dim dbFilePath As String
    Dim viewName As String
    Dim someValues As Variant
    Dim i As Long

    Set doc = ws.CurrentDocument.Document

    multiSel = True ' множественный выбор
    serverName = s.CurrentDatabase.Server ' например, текущая база является источником для выбора
    dbFilePath = s.CurrentDatabase.FilePath ' путь всегда полный задаем, иначе не сработает, если БД лежит не в папке Data
    viewName = "testView" ' тут лучше всего алиас вида использовать
    Set pickedCol = ws.PickListCollection(3, multiSel, serverName, dbFilePath, viewName, "Выбор документов", "Выделите нужные документы")

    If pickedCol.Count > 0 Then
    ' обрабатываем коллекцию выбранных доков
    Redim someValues (0 To pickedCol.Count - 1)
    For i = 1 To pickedCol.Count
    Set pickedDoc = pickedCol.GetNthDocument(i) ' внимание! этот метод работает со значениями от 1
    someValues(i) = pickedDoc.GetItemValue("itemName")(0)
    Next

    Call doc.ReplaceItemValue("pickedValues", someValues)

    Msgbox doc.GetFirstItem("pickedValues").Text

    End If

    endOfSub:
    Exit Sub

    errHandler:
    Msgbox "Ошибка: " & Error & " (" & Cstr(Erl) & ")"
    Resume endOfSub

    End Sub
     
  5. kilcher

    kilcher Гость

    Могу ли я немного помучать вас покоду? :)
    If pickedCol.Count > 0 Then
    ' обрабатываем коллекцию выбранных доков
    Redim someValues (0 To pickedCol.Count - 1)
    Здесь мы убедились,что выбран хоть один документ.Верно?
    For i = 1 To pickedCol.Count
    Set pickedDoc = pickedCol.GetNthDocument(i) ' внимание! этот метод работает со значениями от 1
    А в данной строке мы получаем все значения из документов?
    someValues(i) = pickedDoc.GetItemValue("itemName")(0)
    А в данных строках мы получаем все значения из документов?

    Call doc.ReplaceItemValue("pickedValues", someValues)- здесь знчения поля someValues применяются для поля pickedValues.

    Msgbox doc.GetFirstItem("pickedValues").Text а это сообщение о том что задано первое значение?
    Я извиняюсь если туплю. Но этот язык увидела сегодня первый раз.
     
  6. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    ну Вы даете! это же знаменитый бейсик, а Вы только сегодня на него взглянули впервые! :)

    верно

    не все, а значение из одного из документов в коллекции. но в конце работы цикла в том массиве будут значения из всех документов коллекции...

    так и есть

    а тут не так немного... notesDocument.getFirstItem - возвращает первый итем с указанным именем в виде объекта NotesItem
    потом мы выводим сообщение со значением свойства notesItem.Text - собираем все значения итема через разделитель, т.е. там будут сидеть все значения, кот. мы передали полю из массива, в виде одной строки...

    тупите себе поначалу, это не страшно! бо потом некогда будет ;)
     
  7. kilcher

    kilcher Гость

    Спасибо огромное!Буду пробовать,может что и получится :)
     
  8. kilcher

    kilcher Гость

    Сори!!! Еще один вопросик.
    someValues-имя поля из которого берется значение
    pickedValues-имя поля,которому присваивается значение
    А itemName что такое?
     
  9. wowa

    wowa Well-Known Member

    Регистрация:
    1 фев 2007
    Сообщения:
    842
    Симпатии:
    0
    someValues - это значение из поля "itemName", => itemName - поле
     
  10. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    someValues - массив, в кот. мы собрали данные из итема "itemName" каждого документа коллекции.
    "pickedValues" - имя итема, в кот. мы записываем этот массив...
     
Загрузка...

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