Поле список с окном

dimat

Well-known member
31.07.2008
508
0
BIT
0
Есть поле тип - список с окном, в нем предопределены значения: 1, 2, 3, 4 к примеру.
в этом поле могут быть выбраны несколько значений(напр. 1,2; 1,2,3,4; 1,3; и т.д.)
Вопрос: как на LS узнать сколько и какие значения выбраны?
 
H

hosm

а в чем проблема? взять значение поля: doc.getitemvalue("имяПоля") и перебрать их?
 
N

nvyush

Есть поле тип - список с окном, в нем предопределены значения: 1, 2, 3, 4 к примеру.
в этом поле могут быть выбраны несколько значений(напр. 1,2; 1,2,3,4; 1,3; и т.д.)
Вопрос: как на LS узнать сколько и какие значения выбраны?
doc.GetItemValue("Filed") вернёт в первом случае массив значений (1, 2), во втором - (1, 2, 3, 4), в третьем (1, 3). Тестить можно с помощью
If Isnumeric(Arraygetindex(doc.GetItemValue("Filed"), testedValue)) then ...
 

dimat

Well-known member
31.07.2008
508
0
BIT
0
Думал может какие то стандартные средства есть.
значит придется парсить строку?
 
H

hosm

еще сколько: в общем случае Ubound(doc.getitemvalue("имяПоля"))-Lbound(doc.getitemvalue("имяПоля")) +1.
разве что если поле пустое (ничего не выбрано), т.е. doc.getitemvalue("имяПоля")(0) = "", то 0.
(для простоты записи индекса приняла в этом случае условие Ubound(...)=Lbound(...) = 0)
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 983
611
BIT
454
есть ArrayGetIndex - IsNull ежели значение не содержит
можно перебирать в цикле forall - что бы не учитывать размер массива
 

maliy

Green Team
20.03.2007
180
2
BIT
76
Есть richtext поле. в нем файлы, к примеру - 1.docx, 2.docx,3.docx. Задача - по кнопке открывалось окно - в котором пользователь мог выбрать (к примеру 1.docx и 3.docx). и далее выбранные файлы далее обрабатываются скриптом.
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 983
611
BIT
454
Есть richtext поле. в нем файлы, к примеру - 1.docx, 2.docx,3.docx. Задача - по кнопке открывалось окно - в котором пользователь мог выбрать (к примеру 1.docx и 3.docx). и далее выбранные файлы далее обрабатываются скриптом.
где проблема то?
еще и по процессу вопрос - как юзер должен угадать нужное имя файла, если оно что-то харрактерезует - это ужос, ибо свободное наименование файлов в ФС (а в результате - в аттачах) - это что-то ;) + ограничение списков по восприятию пробелов и нек знаков (которые допустимы в именах файлов)
 
Последнее редактирование:

maliy

Green Team
20.03.2007
180
2
BIT
76
проблема - организовать всплывающее диалоговое окно со списком файлов в поле rich text и чтоб выбранные файлы пользователем далее передавались скрипту.
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 983
611
BIT
454
проблема - организовать всплывающее диалоговое окно со списком файлов в поле rich text и чтоб выбранные файлы пользователем далее передавались скрипту.
такой проблемы нет, список файлов доступен из скрипта (AttachmentsName=Evaluate("@AttachmentNames(0)", objdoc)), с нужной формой (где в список добавлены имена) и инмемори доком (в кот. будут хранится введенные значения)
ЗЫЖ вы на форуме (а стало быть и с LDN) уже давно, все эти подходы известны, потому и вопрос вызывает недоумение (у меня)
 

maliy

Green Team
20.03.2007
180
2
BIT
76
У меня недоумение - что получить файлы и выбрать их пользователем - слишком все сложно(" с нужной формой (где в список добавлены имена) и инмемори доком (в кот. будут хранится введенные значения) ") - думал есть вариант куда проще...
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 983
611
BIT
454
У меня недоумение - что получить файлы и выбрать их пользователем - слишком все сложно(" с нужной формой (где в список добавлены имена) и инмемори доком (в кот. будут хранится введенные значения) ") - думал есть вариант куда проще...
5 минут кодирования - это сложно?
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 983
611
BIT
454
Все бы хорошо, только вот этим способом получаем список всех аттачментов в документе. а хотелось бы получить список аттачментов из указанного RT-поля.
ну значит получайте все ембеды из конкретного поля
Код:
    If objdoc.Hasembedded Then  
        If ( Not rtItem Is Nothing ) Then
            If (Not Isempty(rtitem.EmbeddedObjects))Then
                Forall o In rtitem.EmbeddedObjects
                    Dim detach As Boolean
                    detach=True
                    If (filter<>"") Then
                        If Not (Lcase(o.Name) Like filter) Then
                            detach=False
                        End If
                    End If
                    If detach Then
                        file=o.Name
                        filesList(file)=path
                        Call o.ExtractFile(path & file)
                    End If
                End Forall
            End If
        End If          
    End If
вам лень напрягаться в кодинге, но больше времени уходит на "переписку"...
задача плевая, больше текста написали на форуме ;)
 
Мы в соцсетях:

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