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

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

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

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

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

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

Adron

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

ak-47

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

ak-47

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

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
<!--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

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

Adron

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

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
<!--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

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

Adron

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

ak-47

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

Medevic

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

Adron

Не надо профильный документ. Задача в получении случайного документа, а не в нумерации документов.
На срипте делается так.
Получается коллекция документов из специального представления. Проще через 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

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
Для: Adron, при таком способе ты можешь получить переполнение.
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
@DbColumn не может вернуть больше 64Кб данных.
 
Мы в соцсетях:

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