CREATE FILT FROM ARR — различия между версиями
Материал из Фабиус wiki
Hisava (обсуждение | вклад) м (→Текст программы) |
Hisava (обсуждение | вклад) м (→Текст программы) |
||
Строка 26: | Строка 26: | ||
for i := 1 to [[len]]( _arr ) | for i := 1 to [[len]]( _arr ) | ||
if [[ValType]]( _arr[i] ) = 'C' | if [[ValType]]( _arr[i] ) = 'C' | ||
− | filt := filt + iif( Empty( filt ), [], [ or ] ) + _field + [ = '] + _arr[ i ] + [' ] | + | filt := filt + iif( [[Empty]]( filt ), [], [ or ] ) + _field + [ = '] + _arr[ i ] + [' ] |
else | else | ||
− | filt := filt + iif( Empty( filt ), '', ' or ' ) + _field + ' = ' + _arr[ i ] | + | filt := filt + iif( [[Empty]]( filt ), '', ' or ' ) + _field + ' = ' + _arr[ i ] |
endif | endif | ||
next | next |
Версия 13:05, 17 октября 2016
CREATE_FILT_FROM_ARR - это программа из справочника R266
Создание фильтра для последующей передачи, например, в ChoiceRefr
CREATE_FILT_FROM_ARR( _field, _arr )
_field - имя поля, например, 'KOD'
_arr - массив значений, например, { 1, 2 }
результат KOD = 1 or KOD = 2
Текст программы
parameters _field, _arr local i, filt if IsEmpty( _arr ) or Empty( _field ) result := return endif filt := "" for i := 1 to len( _arr ) if ValType( _arr[i] ) = 'C' filt := filt + iif( Empty( filt ), [], [ or ] ) + _field + [ = '] + _arr[ i ] + [' ] else filt := filt + iif( Empty( filt ), , ' or ' ) + _field + ' = ' + _arr[ i ] endif next result := filt