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

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

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

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

Количество значений в поле документа

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

San40S

Собственно вопрос...
Есть документ с мультивальовым полем авторз.
Мне нужно из этого поля взять все значения и добавить в уже существующий массив значений, а потом этот массив записать в другое поле.
Я вот думаю, как узнать сколько значений в поле авторз, чтобы переопределить массив под конкретное число значений? :rolleyes:
Все выполняется в бэкенде, никаких UI.
 
K

Klido

ну... мультивэлью поле либо массив, либо список... выбор действий широк - от @elements до ArrayAppend после ReDim относительно Ubound...
хелп сложно почитать?
 
S

San40S

Мда... про Ubound совсем забыл :rolleyes:

может кому-то потом понадобится:

Dim ws As New NotesUIWorkspace
Dim doc As NotesDocument
Dim item As NotesItem
Dim i As Integer

Set doc = ws.CurrentDocument.Document
Set item = doc.GetFirstItem("test1")
i = Ubound(item.Values)

і будет равно количеству значений в поле -1. То есть, если значений 5, то i=4
 
A

alik86

А чему будет равно i если поле пустое? :rolleyes:
 
K

Klido

San40S
Option Base statement
Sets the default lower bound for array subscripts to 0 or 1.

Я ж говорю, лень хелп читать :rolleyes: Соответственно, Ubound будет нормальным относительно кол-ва элементов....
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 941
609
BIT
214
еще проверку делать IsArray
 
R

RonTermit

ненавижу Ubound и Redim
Call doc.ReplaceItemValue({FieldName3}, ArrayAppend(doc.getitemvalue({FieldName1}),doc.getitemvalue({FieldName2}) ))
..при этом вместо doc.getitemvalue({FieldName1} можно вставить всеми так любимую переменную массива типа Variant
 
H

hosm

про "всеми так любимую переменную массива типа Variant": а автор топика с ней знаком? :) думаю, ему стоило бы познакомиться с массивами поближе.
кстати, а еще давайте вспомним про наличие Fulltrim и ArrayUnique - иногда пригодятся: поля-то не резиновые, больше 32К для авторов пока от IBM не получили вроде как.
В общем, соединив вместе условие lmike и вариант RonTermit и подумав, что иногда (в некоторых отдельных случаях) стоит еще задавать явно Notesitem.IsAuthors = True, получим решение искомой задачи.

И вообще - я сегодня злой модер... Возможно, я не права, но, честно, прям детский сад. Ребята, давайте сейчас каждый начнет пересказывать хелп в оригинале. Да если бы автор его сам прочитать сумел, то сам бы смог найти решение гораздо быстрее... А так в очередной раз забудет через месяц.
В общем, в ожидании вопросов, как на лотусскрипте соединить 2 строки и присвоить третьей, я эту тему просто закрываю)
Все претензии принимаются в личку.
КСТАТИ. На форуме, кроме смайлов, есть еще теги форматирования кода...
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

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