1. Набираем команду codeby webinar. Набираем команду для организации и проведения вебинаров. Подробнее ...

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление
  3. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление

Нужен совет

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

  1. TAPAKAHATOP

    TAPAKAHATOP Active Member

    Репутация:
    0
    Регистрация:
    18 сен 2009
    Сообщения:
    29
    Симпатии:
    0
    Необходимо сделать такую фичу как:
    Пользователь заходит в документ, и после нажатия определенной кнопки на экране его данные (берутся из другой базы на сервере) подгружались в этот документ.
    Проблема у меня возникла именно по части поиска и взятия данных из другой базы.
    Пробовал по примерам из хелпа, но получилась некая нерабочая как.
    Посоветуйте как лучше решить эту ситуацию?
     
  2. RAJ

    RAJ Well-Known Member

    Репутация:
    0
    Регистрация:
    17 янв 2007
    Сообщения:
    440
    Симпатии:
    0
    есть @-функции: @DBColumn, @DBLookup для выгр*цензура*ия данных,
    в хелпе есть примеры.
    И не понятно, что у вас не работает, приведите ваш код хотя бы
     
  3. ToxaRat

    ToxaRat Чёрный маг
    Lotus team

    Репутация:
    0
    Регистрация:
    6 ноя 2007
    Сообщения:
    3.185
    Симпатии:
    22
    Скришитон
    приводи тут свой кусок кода и конкретно какая его часть не работает
    будем обьяснять по существу
     
  4. TAPAKAHATOP

    TAPAKAHATOP Active Member

    Репутация:
    0
    Регистрация:
    18 сен 2009
    Сообщения:
    29
    Симпатии:
    0
    Вот целиком... да да... от такой я чайник.
    Самое вероятное что накосячено в объявлениях и сетах...

    Код:
    Sub Click(Source As Button)
    Dim uiwsp As New NotesUIWorkSpace	
    Dim uidoc As NotesUIDocument
    Dim session As New NotesSession
    Dim db As NotesDatabase
    Dim doc As NotesDocument
    
    Set db = session.CurrentDatabase
    Set doc= CurentDocument
    Set uidoc=uiwsp.CurrentDocument
    Set doc=uidoc.Document 
    
    server=db.Server
    
    Dim sprav As New NotesDatabase( server, "nninf.nsf" )
    Dim col1 As NotesDocumentCollection
    Set col1= sprav.AllDocuments
    Set persdoc=col1.GetFirstDocument
    
    
    While persdoc.Col_LNA =doc.Cur_Lna 
    Set persdoc=col1.GetNextDocument(persdoc)
    
    Wend
    doc.Per_Name=persdoc.Sotr_Name
    
    End Sub
     
  5. amigolinx

    amigolinx Гость

    Репутация:
    0
    так вроде ж ниче этим кодом и не подгребается с другой базы, максимум - в doc заносится значение поля Sotr_Name из последнего persdoc в коллекции col1. зачем в col1 перебираются все доки из другой базы? в этом цикле и читай в doc все что нужно взять из persdoc. а еще лучше - получить из doc какой-нить ключ и по нему забирать из другой базы совпадающие доки

    а чтоб не грешить на объявления и сеты, включай Option Declare - это мастхев в любом агенте
     
  6. Akupaka

    Akupaka А че я?.. О.о

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

    скорее всего ничего не работает потому что условие перебора документов не соответсвует верному, тут скорее всего надо было так:
    Код:
    While not(persdoc.Col_LNA(0) = doc.Cur_Lna(0))
    тогда будет выполнен перебор доков пока не найдем нужный по ключу.
    последняя строка скорее всего не записывает значение поля (если не записывает), потому что первый документ в коллекции не имеет итема Sotr_Name.

    я бы предложил такие варианты решения:
    - поиск по базе notesDatabase.Search() с условием "Col_LNA = \"" & doc.Cur_Lna(0) & "\""
    - полнотекстовый поиск по базе notesDatabase.FTSearch() с условием "[Col_LNA] = \"" & doc.Cur_Lna(0) & "\""
    - полнотекстовый поиск по одному из представлений notesView.FTSearch() с условием "[Col_LNA] = \"" & doc.Cur_Lna(0) & "\""
    - поиск по подготовленному представлению notesView.GetDocumentByKey()
     
Загрузка...

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