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

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

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

View или не View

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

Guest_Den_*

Нужна подсказка... :)

В одном из документов базы есть поле "Дата создания документа" и "Курс валюты". Необходимо что бы поле "Курс валюты" автоматом заполнялось в зависимости от поля "Дата создания документа". Курсы валют должен вводить ручками один из пользователей БД, Я создал формочку "Курс валют" и вьюху "Курс валют". Соответственно имею данные за каждый месяц. Вопрос : как програмно выбрать во вьюхе документы только за нужный мне месяц и взять из этого вью документ с большей датой за необходимый месяц? Никак не могу разобраться..... А может эта задача решается по другому? Может не надо вью использовать?????

Спасибо огромное! :(

Р.S. Если непонятно объяснил - постараюсь исправить.
 
Вид название "currency"
1-я колонка категоризация по месяцу (текст)
2-я колонка сортировка по дате (убывание)
3-я колонка курс

Формула определения курса
REM "номер месяца текстовый";
m:="11";
rez:=@DbLookUP("":"NoCache";"":"";"currency";m;3);
FIELD kurs:=@If(@Iserror(rez);@Failure("Курс не определен");rez);
""
 
<!--QuoteBegin-Domino6+1:11:2005, 18:34 -->
<span class="vbquote">(Domino6 @ 1:11:2005, 18:34 )</span><!--QuoteEBegin-->Вид название "currency"
1-я колонка категоризация по месяцу (текст)
2-я колонка сортировка по дате (убывание)
3-я колонка курс

Формула определения курса
REM "номер месяца текстовый";
m:="11";
rez:=@DbLookUP("":"NoCache";"":"";"currency";m;3);
FIELD kurs:=@If(@Iserror(rez);@Failure("Курс не определен");rez);
""
[snapback]26565" rel="nofollow" target="_blank[/snapback]​
[/quote]


Спасибо за внимание, но чего-то не выходит.
Попробовал проверить что выдает @DbLookUP : Ошибка сервера: Не найдена запись в индексе.
База проиндексирована. В чём лажа???
 
В виде в 1-ой колонке должен быть текстовый номер месяца
Формула для колонки

@Text(@Month(DateField))

Дяа для взятия последнего (первого из списка поскольку сортировка по убыванию)

FIELD kurs:=@If(@Iserror(rez);@Failure("Курс не определен");@Subset(rez;1));
 
Спасибо получилось. Причём только тогда когда я сделал ВСЕ столбцы во вьюхе текстовыми.

Вопрос: я могу "построить" из вьюхи средствами LotusScript что-то вроде массива курсов за определенный месяц и потом уже искать необходимую мне дату?

Просто задача усложнилась: необходимо брать курс по следующему алгоритму: если за искомое число курс не обнаружен то надо брать ближайшее меньшее число.
Т.е. если бы это был C++ я бы в цикле построил алгоритм выборки, а как здесь (в lotus) решаются такие таски?
 
на скриптах получаеш коллекцию

Set col=view.GetAllDocumentsByKey

и ходиш по ней как тебе надо
 
ОК. А col это какой тип данных?
Нет ли у Вас примерчика использования?
 
Смотри пример в хелпе по функии GetAllDocumentsByKey в классе NotesView
 
Понял. Будем разбираться. :blink: Спасибо за ответы!
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

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