• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

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

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

Adron

Имеется представление view1, в нем документы с полями NumDoc, Subject и Body. Поде NumDoc заполняется автоматически по формуле @DocNumber. Как мне сделать общее поле в которое бы выводилось рандомный документ (Subject + Body)? Пробовал так:
Shared code\Fields\Test
AA:=@DBLookup("";"";"view1";5*@Random;NumDoc);
AA
ничего не выходит :P
 
А сортировка по первому столбцу точно включена?
 
Как я понимаю, NumDoc - название поля (литерал), может стоит взять в кавычки?
 
<!--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 - это имя поля или номер колонки?

А вообще, делай на скрипте.
 
вместо 5*@Random я пробовал ставить конкретное число. NumDoc это имя поля
проблема в том, что результат надо вывести на форму, а форма должна работать в вэб и тип поля Computed for display а там доступен только режим формул. может есть другой вариант или как это можно реализовать на LS?
 
вместо 5*@Random я пробовал ставить конкретное число. NumDoc это имя поля
проблема в том, что результат надо вывести на форму, а форма должна работать в вэб и тип поля Computed for display а там доступен только режим формул. может есть другой вариант или как это можно реализовать на LS?
Ну вот.. Поля-то NumDoc в документе-то и нету! Как-же по нему что-то искать?
А про формулы колонок типа @DocNumber, @DocChildren, @DocLevel etc читайте HElp. Ключевое понятие "Special Text" - в общем, @DbXXX этих колонок не видит
 
вот как раз поле NumDoc я как раз завел в документе. его значением является @DocNumber. тип поля Computed when compose
 
<!--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]
Посмотри в свойствах документа значение поля.
 
Создать профильный документ, в котором будет находиться счетчик... и при создании нового документа значение docnum будет браться из профиля, а значение счетчика инкрементироваться
 
а можно с этого места подробнее. я в лотусе ламер полный. подсадили тут меня на него. на, типа, разбирайся и вот тебе задание...
 
Кури хэлп... вот в этом направлении
Profile forms
@GetProfileField
@SetProfileField
EditProfileDocument @Command
 
Не надо профильный документ. Задача в получении случайного документа, а не в нумерации документов.
На срипте делается так.
Получается коллекция документов из специального представления. Проще через NotesView.AllEntries.
Получаем случайно число в диапозоне от 1 до NotesViewEntryCollection.Count.
Берем нужный документ через NotesViewEntryCollection.GetNthEntry(случайное число).Document.
В нужные поля помещаем нужные значения из полученного документа.
Для все этого надо использовать серверный агент.
Как потом вставить данные в веб-форму не могу подсказать, т.к. у меня мало опыта в веб-разработке.
 
Не надо профильный документ. Задача в получении случайного документа, а не в нумерации документов.
На срипте делается так.
Получается коллекция документов из специального представления. Проще через 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

все работает, но хотелось бы все это как-то проще видеть
 
Для: Adron, при таком способе ты можешь получить переполнение.
 
@DbColumn не может вернуть больше 64Кб данных.
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab