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

Материал из GB wiki
Перейти к: навигация, поиск
 
Строка 19: Строка 19:
 
GB_GET(0, 999, 'ActiveContracts[ContractType=1].First.Id')<br/>
 
GB_GET(0, 999, 'ActiveContracts[ContractType=1].First.Id')<br/>
 
GB_GET(11, Id, `$nocache.Heap.@Check`)
 
GB_GET(11, Id, `$nocache.Heap.@Check`)
 +
<br><br>Получение значения нескольких полей в виде массива:
 +
:var.p :=gb_get(1,Articul,`RatioSale;RatioStock;Name;Heap.ExpDate;Heap.@Serial;Heap.@NeedParty;Heap.ExpDateDay`),
 +
:TSD.ExpDate:=ifempty(:var.p[3],0),
 +
:TSD.ExpDateDay:=ifempty(:var.p[6],0),
 +
:TSD.Serial:=ifempty(:var.p[4],0)
 +
 
}}
 
}}

Текущая версия на 08:14, 15 декабря 2021

Позволяет получить значение любого атрибута объекта заданного типа с данным кодом, а также результат выражения, связанного с атрибутами объекта. Кроме того, можно получить значения для нескольких объектов в виде списка через ";"

Синтаксис

GB_GET (Тип объекта,Код объекта,Выражение)

Аргументы

Тип объекта
Целое число, являющееся кодом типа объекта ГБ
Код объекта
Целое число, являющееся кодом объекта данного типа, либо строка с кодами через ";"
Выражение
Строка, являющаяся именем атрибута объекта данного типа или выражением, которое начинается с одного из атрибутов.
Префикс $nocache гарантирует, что значение будет получено из БД, отключая использование любых кэшей.

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

Значение произвольного типа.

Примеры

GB_GET(0, 99, 'Name')
GB_GET(0, 999, 'ActiveContracts[ContractType=1].First.Id')
GB_GET(11, Id, `$nocache.Heap.@Check`)

Получение значения нескольких полей в виде массива:

:var.p :=gb_get(1,Articul,`RatioSale;RatioStock;Name;Heap.ExpDate;Heap.@Serial;Heap.@NeedParty;Heap.ExpDateDay`),
:TSD.ExpDate:=ifempty(:var.p[3],0),
:TSD.ExpDateDay:=ifempty(:var.p[6],0),
:TSD.Serial:=ifempty(:var.p[4],0)