Невозможно отсортировать массив дат по убыванию в Lotusscript
Ищу твоей помощи. Я пытаюсь отсортировать массив дат в порядке убывания, но безрезультатно.
Вот фрагмент моего кода:
Dim sortValue as Variant
Dim sortValueResult as Variant
Dim r1 as String
SortValue = entry.Columnvalues(1)
' The values are (0) 19/5/2018 and (1) 26/5/2018
r1 = Join(sortValue, ";")
sortValueResult = Evaluate ( {@Sort("} & r1 & {";[DESCENDING])})
`
Я получаю 19/5/2018; 26/5/2018
26/5/2018 должен прийти первым до 19/5/2018.
Кто-нибудь может мне помочь?
Спасибо.
1 ответ
@Sort
может работать со списками дат, но вы не переходите в список. Вы передаете в строке.
В синтаксисе языка формул Notes список представлен элементами, разделенными символами ":"; строковое представление с ";" символы на самом деле не список. Вы можете перемещаться между строковым и списочным форматами с помощью @Explode
а также @Implode
, но на выходе @Explode
это всегда текстовый список, а не список дат. Вы могли бы справиться с этим с @TextToTime
, но вы действительно можете просто избежать этого, создавая нотацию списка. Вам необходимо заключить каждую строку данных в квадратные скобки, чтобы превратить ее в константу даты, и разделить их символами двоеточия, поместив их все в строку LotusScript.
Нечто подобное (не проверенное) должно привести к правильной записи списка перед тем, как вы сделаете свой вызов Evaluate:
forall r in r1
r = "[" + r + "]" ' [19/5/2018] is proper date constant notation
end forall
r1 = Join(sortValue, ":") ' colon is list separator
' result here should be r1 = "[9/5/2018] : [26/5/2018]"