Web-сервис

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

Статус темы:
Закрыта.
  1. Vado

    Vado Гость

    День добрый!
    Может кто-то помочь не лотусисту.

    из демо-примера сделал веб-сервис - даже работает с простыми значениями

    [codebox]Option Public
    %INCLUDE "lsxsd.lss"
    Class Test
    Function getProductName(productNumber As String, Fault1 As WS_FAULT) As Variant
    Dim session As NotesSession
    Set session = New NotesSession
    Dim db As notesdatabase
    Dim view As notesview
    Dim doc As notesdocument
    Set db = session.GetDatabase("","referent/portal.nsf")
    Set view = db.GetView("$NewAll")
    Set doc = view.GetFirstDocument () '.GetDocumentByKey(productNumber, True)
    If doc Is Nothing Then
    Else
    getProductName = doc.GetFirstItem ("From").text +" | "+ doc.GetFirstItem ("EnterSendFrom").text +" | "+ doc.GetFirstItem ("SendToRus").text +" | "+ doc.GetFirstItem ("Subject").text +" | "+ doc.GetFirstItem ("Body").text
    End If
    End Function
    End Class[/codebox]

    Вопрос - как передать вьюшку ил коллекцию док-ов (не знаю как правильнее сформулировать). Т.е. мне надо чтобы вебсервис возвращал что-то, что потом можно превратить в таблицу.

    пытался пристроить
    Set db = session.GetDatabase("","referent/portal.nsf")
    Set view = db.GetView("$All")
    Set col = view.GetAllDocumentsByKey("Eugenia V Eugenya/OU=DB/OU=UA/O=RUS", True)
    но вернуть col не получилось.

    Помогите.
    Заранее спасибо
     
  2. abbatik

    abbatik Lotus team
    Lotus team

    Регистрация:
    20 окт 2008
    Сообщения:
    277
    Симпатии:
    0
    столбцы в виде должны быть отсортированы..
    ищет по-моему этими функциями по первым трем столбцам...
     
  3. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    сразу предупрежу, что с веб-сервисами не работал...
    суть такова, что тебе нужно просто сформировать данные таким образом, чтобы принимающая программа смогла правильно преобразовать данные в отображаемые.
    передать с пом. веб-сервисов структуру в виде Notes-объектов врядли получится, но сформировать набор текстовых данных тебе никто не мешает... главное, придумать какой вид это должно иметь, чтобы было более менее оптимально применимо...
    как вариант - нужно пройтись по виду, и собрать нужные данные для ответа...
    для прохода по документам вида можно воспользоваться методами NotesView.GetFirstDocument/GetNextDocument
    если воспользоваться свойством notesView.AllEntries, то можно получить другой объект-коллекцию (NotesViewEntryCollection) записей в виде в том порядке, что они идут в виде, т.е. отсортированы
    аналогично виду у NotesViewEntryCollection есть методы для прохода по коллекции GetFirstEntry/GetNextEntry
    только в случае с NotesView ты работаешь на прямую с документами, а в случае с NotesViewEntryCollection ты работаешь с записями NotesViewEntry
    чтобы получить из записи документ достаточно "одной таблэтки" notesViewEntry.Document

    читай справку разработчика! для твоей задачи там достаточно инфы, да и для большинства задач!
    будут вопросы, спрашивай, желательно, описывая задачу, а не "почему у меня эта строка не работает"
     
  4. abbatik

    abbatik Lotus team
    Lotus team

    Регистрация:
    20 окт 2008
    Сообщения:
    277
    Симпатии:
    0
    Entry тормозные при большом объеме данных, так что лучше первым способом..
     
  5. Akupaka

    Akupaka А че я?.. О.о

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

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