ITERATEDATASET — различия между версиями

Материал из GB wiki
Перейти к: навигация, поиск
Строка 7: Строка 7:
 
  |Название=Имя датасета
 
  |Название=Имя датасета
 
  |Пояснение=строка, определяющая имя датасета. Может сопровождаться постфиксом .CLONE, в этом случае будет обработана копия заданного датасета.
 
  |Пояснение=строка, определяющая имя датасета. Может сопровождаться постфиксом .CLONE, в этом случае будет обработана копия заданного датасета.
:Вместо строки с именем датасета можно задавать поле, содержащее датасет, либо выражение, результатом которого является датасет.
+
:Вместо строки с именем датасета можно задавать поле (или переменную), содержащее датасет, либо выражение, результатом которого является датасет.
 
}}<br/>{{Аргумент
 
}}<br/>{{Аргумент
 
  |Название=Выражение
 
  |Название=Выражение
Строка 14: Строка 14:
 
|Пример=IterateDataSet(`Res`, Info(Id)) <--датасет задан по имени<br/>
 
|Пример=IterateDataSet(`Res`, Info(Id)) <--датасет задан по имени<br/>
 
IterateDataSet(dsWorks.GBActions, Info(Id)) <--датасет задан полем<br/>
 
IterateDataSet(dsWorks.GBActions, Info(Id)) <--датасет задан полем<br/>
 +
:varDS:=ds.$data, IterateDataSet(:varDS, Info(Id)) <--датасет задан переменной<br/>
 
IterateDataSet(Gb_Get(11, 1128, `Goodies`), Info(Id)) <--датасет задан выражением
 
IterateDataSet(Gb_Get(11, 1128, `Goodies`), Info(Id)) <--датасет задан выражением
 
}}
 
}}

Версия 11:55, 13 апреля 2017

Осуществляет поочередное обращение к строкам датасета. Пробегает по датасету любой структуры и для каждой его строки выполняет указанное выражение.

Синтаксис

ITERATEDATASET (Имя датасета,Выражение)

Аргументы

Имя датасета
строка, определяющая имя датасета. Может сопровождаться постфиксом .CLONE, в этом случае будет обработана копия заданного датасета.
Вместо строки с именем датасета можно задавать поле (или переменную), содержащее датасет, либо выражение, результатом которого является датасет.
Выражение
действие, которое будет выполнено на каждой строке датасета. Обращаться к полям датасета, по которому осуществляется проход, следует без префикса. В примере, приведенном ниже, обращение Res.Id было бы неверным.

Тип результата

Нет

Примеры

IterateDataSet(`Res`, Info(Id)) <--датасет задан по имени
IterateDataSet(dsWorks.GBActions, Info(Id)) <--датасет задан полем

varDS:=ds.$data, IterateDataSet(:varDS, Info(Id)) <--датасет задан переменной

IterateDataSet(Gb_Get(11, 1128, `Goodies`), Info(Id)) <--датасет задан выражением