• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

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

  • Автор темы fxnjpfyfhty
  • Дата начала
Статус
Закрыто для дальнейших ответов.
F

fxnjpfyfhty

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

lionk

Добавь панель, в неё укажи datasouce другую базу и потом в как обычно находи документ и выводи поля.
 
F

fxnjpfyfhty

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

<!--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]
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!