CREATE FILT FROM ARR — различия между версиями

Материал из Фабиус wiki
Перейти к: навигация, поиск
м (Смотрите также)
м
Строка 1: Строка 1:
CREATE_FILT_FROM_ARR - это программа из справочника [[R266]]
+
[[CREATE_FILT_FROM_ARR]] - это программа из справочника [[R266]]
 
+
Создание фильтра для последующей передачи, например, в ChoiceRefr
Создание фильтра для последующей передачи, например, в ChoiceRefr
+
[[CREATE_FILT_FROM_ARR]]( _field, _arr )
 
+
CREATE_FILT_FROM_ARR( _field, _arr )
+
  
 
_field - имя поля, например, 'KOD'
 
_field - имя поля, например, 'KOD'
Строка 9: Строка 7:
 
_arr  - массив значений, например, { 1, 2 }
 
_arr  - массив значений, например, { 1, 2 }
  
результат KOD = 1 or KOD = 2
+
Результат
 
+
KOD = 1 or KOD = 2
= Текст программы =
+
= Текст =
 
+
 
  parameters _field, _arr
 
  parameters _field, _arr
 
   
 
   
Строка 33: Строка 30:
 
   
 
   
 
  result := filt
 
  result := filt
 
 
= Смотрите также =
 
= Смотрите также =
 
[[Полезные функции]]
 
[[Полезные функции]]
  
 
[[Функции Delphi]]
 
[[Функции Delphi]]

Версия 12:03, 23 июня 2017

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

Смотрите также

Полезные функции

Функции Delphi