Получить Значение Поля Из Другой Базы

Тема в разделе "Lotus - Xpages", создана пользователем fxnjpfyfhty, 21 янв 2014.

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

    fxnjpfyfhty New Member

    Регистрация:
    5 янв 2014
    Сообщения:
    4
    Симпатии:
    0
    Есть база docl.nsf. В ней есть обычная Notes форма fdolg, а на форме поле idname. Несколько пользователей создали в этой базе с помощью формы fdolg документы. Есть другая база acreq.nsf. В ней есть страница xPages с вычисляемым полем (ComputedField). Как можно с помощью JavaScript получить значение поля idname из базы docl.nsf для конкретного пользователя и отобразить его в вычисляемом поле базы acreq.nsf?
     
  2. lionk

    lionk Well-Known Member

    Регистрация:
    5 апр 2007
    Сообщения:
    308
    Симпатии:
    3
    Добавь панель, в неё укажи datasouce другую базу и потом в как обычно находи документ и выводи поля.
     
  3. fxnjpfyfhty

    fxnjpfyfhty New Member

    Регистрация:
    5 янв 2014
    Сообщения:
    4
    Симпатии:
    0
    В одной базе у меня хранятся сведения о пользователях. Из другой базы мне нужно было их вытягивать для текущего пользователя и отображать на странице. Покопавшись в справке, сделал это так:

    <!--shcode--><pre><code class='Javascript'>var db:NotesDatabase = null;
    var dbdoc:NotesDocumentCollection = null;
    var curdoc:NotesDocument = null;
    var vl:string = null;

    db = sessionAsSigner.getDatabase(session.getServerName(),"docl.nsf",false);

    if (db == null)
    {
    return "";
    }
    else
    {

    dbdoc = db.getAllDocuments();
    if (dbdoc == null)
    {
    return "";
    }
    curdoc = dbdoc.getFirstDocument();
    while(curdoc != null)
    {
    if (curdoc.getItemValue("idname").toString() != null || curdoc.getItemValue("idname").toString() != "")
    {
    vl = getComponent("djTextarea1").getValue();
    getComponent("djTextarea1").setValue(vl + curdoc.getItemValue("idname").toString());
    }
    curdoc = dbdoc.getNextDocument();
    }
    }[/CODE]

    А если значение поля idname известно, то можно не получать всю коллекцию:

    <!--shcode--><pre><code class='Javascript'>var db:NotesDatabase = null;
    var dbdoc:NotesDocumentCollection = null;
    var curdoc:NotesDocument = null;
    var formula:string = null;

    db = sessionAsSigner.getDatabase(session.getServerName(),"docl.nsf",false);

    if (db == null)
    {
    return "";
    }
    else
    {
    formula = "idname=\"" + session.getCommonUserName() + "\"";
    dbdoc = db.search(formula);
    if (dbdoc == null)
    {
    return "";
    }
    curdoc = dbdoc.getFirstDocument();
    getComponent("djTextarea1").setValue(curdoc.getItemValue("idname").toString());
    }[/CODE]
     
Загрузка...
Похожие Темы - Получить Значение Поля
  1. Kizarek86
    Ответов:
    22
    Просмотров:
    7.793
  2. Vlan
    Ответов:
    8
    Просмотров:
    5.263
  3. Cheburan
    Ответов:
    9
    Просмотров:
    623
  4. JohnLemon
    Ответов:
    26
    Просмотров:
    3.957
  5. Amfion
    Ответов:
    0
    Просмотров:
    1.328
Статус темы:
Закрыта.

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