Помогите разобраца с @dblookup

  • Автор темы Adron
  • Дата начала
A

Adron

#1
Имеется представление view1, в нем документы с полями NumDoc, Subject и Body. Поде NumDoc заполняется автоматически по формуле @DocNumber. Как мне сделать общее поле в которое бы выводилось рандомный документ (Subject + Body)? Пробовал так:
Shared code\Fields\Test
AA:=@DBLookup("";"";"view1";5*@Random;NumDoc);
AA
ничего не выходит :p
 
A

ak-47

#2
А сортировка по первому столбцу точно включена?
 
A

ak-47

#4
Как я понимаю, NumDoc - название поля (литерал), может стоит взять в кавычки?
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
1
#6
<!--QuoteBegin-Adron+22:09:2006, 06:34 -->
<span class="vbquote">(Adron @ 22:09:2006, 06:34 )</span><!--QuoteEBegin-->Поде NumDoc заполняется автоматически по формуле @DocNumber.
[snapback]44223" rel="nofollow" target="_blank[/snapback]​
[/quote]
Как заполняется ? И некорректно использовать @DocNumber для этого.

<!--QuoteBegin-Adron+22:09:2006, 06:34 -->
<span class="vbquote">(Adron @ 22:09:2006, 06:34 )</span><!--QuoteEBegin-->AA:=@DBLookup("";"";"view1";5*@Random;NumDoc);
[snapback]44223" rel="nofollow" target="_blank[/snapback]​
[/quote]
5*@Random - это дробное число. С таким ключом ты ничего не найдешь.
NumDoc - это имя поля или номер колонки?

А вообще, делай на скрипте.
 
A

Adron

#7
вместо 5*@Random я пробовал ставить конкретное число. NumDoc это имя поля
проблема в том, что результат надо вывести на форму, а форма должна работать в вэб и тип поля Computed for display а там доступен только режим формул. может есть другой вариант или как это можно реализовать на LS?
 
30.05.2006
1 345
11
#8
вместо 5*@Random я пробовал ставить конкретное число. NumDoc это имя поля
проблема в том, что результат надо вывести на форму, а форма должна работать в вэб и тип поля Computed for display а там доступен только режим формул. может есть другой вариант или как это можно реализовать на LS?
Ну вот.. Поля-то NumDoc в документе-то и нету! Как-же по нему что-то искать?
А про формулы колонок типа @DocNumber, @DocChildren, @DocLevel etc читайте HElp. Ключевое понятие "Special Text" - в общем, @DbXXX этих колонок не видит
 
A

Adron

#9
вот как раз поле NumDoc я как раз завел в документе. его значением является @DocNumber. тип поля Computed when compose
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
1
#10
<!--QuoteBegin-Adron+22:09:2006, 10:31 -->
<span class="vbquote">(Adron @ 22:09:2006, 10:31 )</span><!--QuoteEBegin-->вот как раз поле NumDoc я как раз завел в документе. его значением является @DocNumber. тип поля Computed when compose
[snapback]44249" rel="nofollow" target="_blank[/snapback]​
[/quote]
Посмотри в свойствах документа значение поля.
 
A

ak-47

#12
Создать профильный документ, в котором будет находиться счетчик... и при создании нового документа значение docnum будет браться из профиля, а значение счетчика инкрементироваться
 
A

Adron

#13
а можно с этого места подробнее. я в лотусе ламер полный. подсадили тут меня на него. на, типа, разбирайся и вот тебе задание...
 
A

ak-47

#14
Кури хэлп... вот в этом направлении
Profile forms
@GetProfileField
@SetProfileField
EditProfileDocument @Command
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
1
#15
Не надо профильный документ. Задача в получении случайного документа, а не в нумерации документов.
На срипте делается так.
Получается коллекция документов из специального представления. Проще через NotesView.AllEntries.
Получаем случайно число в диапозоне от 1 до NotesViewEntryCollection.Count.
Берем нужный документ через NotesViewEntryCollection.GetNthEntry(случайное число).Document.
В нужные поля помещаем нужные значения из полученного документа.
Для все этого надо использовать серверный агент.
Как потом вставить данные в веб-форму не могу подсказать, т.к. у меня мало опыта в веб-разработке.
 
A

Adron

#16
Не надо профильный документ. Задача в получении случайного документа, а не в нумерации документов.
На срипте делается так.
Получается коллекция документов из специального представления. Проще через NotesView.AllEntries.
Получаем случайно число в диапозоне от 1 до NotesViewEntryCollection.Count.
Берем нужный документ через NotesViewEntryCollection.GetNthEntry(случайное число).Document.
В нужные поля помещаем нужные значения из полученного документа.
Для все этого надо использовать серверный агент.
Как потом вставить данные в веб-форму не могу подсказать, т.к. у меня мало опыта в веб-разработке.
реализовал на языке формул таким образом:
LST:=@DBColumn("";"";"v1";2);
CNT:=@Round(@Count(@DBColumn("";"";v1";1))*@Random);
@If(CNT=0;CNT:=1;"");
ST:=@Subset(@Subset(LST;CNT);-1);
ST

все работает, но хотелось бы все это как-то проще видеть
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
1
#17
Для: Adron, при таком способе ты можешь получить переполнение.