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

Тема в разделе "Lotus - Программирование", создана пользователем Adron, 22 сен 2006.

  1. Adron

    Adron Гость

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

    ak-47 Гость

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

    Adron Гость

    да
     
  4. ak-47

    ak-47 Гость

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

    Adron Гость

    пробовал. результат тот-же
     
  6. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    <!--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 - это имя поля или номер колонки?

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

    Adron Гость

    вместо 5*@Random я пробовал ставить конкретное число. NumDoc это имя поля
    проблема в том, что результат надо вывести на форму, а форма должна работать в вэб и тип поля Computed for display а там доступен только режим формул. может есть другой вариант или как это можно реализовать на LS?
     
  8. Constantin A Chervonenko

    Constantin A Chervonenko Well-Known Member

    Регистрация:
    30 май 2006
    Сообщения:
    1.288
    Симпатии:
    0
    Ну вот.. Поля-то NumDoc в документе-то и нету! Как-же по нему что-то искать?
    А про формулы колонок типа @DocNumber, @DocChildren, @DocLevel etc читайте HElp. Ключевое понятие "Special Text" - в общем, @DbXXX этих колонок не видит
     
  9. Adron

    Adron Гость

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

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    <!--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]
    Посмотри в свойствах документа значение поля.
     
  11. Adron

    Adron Гость

    Действительно оно пустое. но а как тогда мне сделать такое?
     
  12. ak-47

    ak-47 Гость

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

    Adron Гость

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

    ak-47 Гость

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

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Не надо профильный документ. Задача в получении случайного документа, а не в нумерации документов.
    На срипте делается так.
    Получается коллекция документов из специального представления. Проще через NotesView.AllEntries.
    Получаем случайно число в диапозоне от 1 до NotesViewEntryCollection.Count.
    Берем нужный документ через NotesViewEntryCollection.GetNthEntry(случайное число).Document.
    В нужные поля помещаем нужные значения из полученного документа.
    Для все этого надо использовать серверный агент.
    Как потом вставить данные в веб-форму не могу подсказать, т.к. у меня мало опыта в веб-разработке.
     
  16. Adron

    Adron Гость

    реализовал на языке формул таким образом:
    LST:=@DBColumn("";"";"v1";2);
    CNT:=@Round(@Count(@DBColumn("";"";v1";1))*@Random);
    @If(CNT=0;CNT:=1;"");
    ST:=@Subset(@Subset(LST;CNT);-1);
    ST

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

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Для: Adron, при таком способе ты можешь получить переполнение.
     
  18. Adron

    Adron Гость

    переполнение чего?
     
  19. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    @DbColumn не может вернуть больше 64Кб данных.
     
  20. Adron

    Adron Гость

    ну етить. как быть то тогда?
     
Загрузка...
Похожие Темы - Помогите разобраца @dblookup
  1. limbra
    Ответов:
    3
    Просмотров:
    45
  2. NylevoiChelovek
    Ответов:
    4
    Просмотров:
    102
  3. Ruska132
    Ответов:
    37
    Просмотров:
    314
  4. gURaBA_N
    Ответов:
    7
    Просмотров:
    148
  5. uxbmw3w
    Ответов:
    0
    Просмотров:
    64

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