ASSIGN — различия между версиями
Материал из GB wiki
Alexey (обсуждение | вклад) |
Alexey (обсуждение | вклад) |
||
Строка 2: | Строка 2: | ||
|Название=ASSIGN | |Название=ASSIGN | ||
|Описание=Изменяет одно поле текущей записи [[Датасет|датасета]]. | |Описание=Изменяет одно поле текущей записи [[Датасет|датасета]]. | ||
− | |Синтаксис=ASSIGN ('''Датасет и поле''','''Значение''') | + | |Синтаксис=ASSIGN ('''Датасет и поле''', '''Значение''') |
|Аргументы= | |Аргументы= | ||
{{Аргумент | {{Аргумент | ||
|Название=Датасет и поле | |Название=Датасет и поле | ||
− | |Пояснение=строка, которая состоит из имени одного из датасетов электронной или печатной формы и имени поля этого датасета, разделенных точкой. Особыe режимы: | + | |Пояснение=строка, которая состоит из имени одного из датасетов электронной или печатной формы и имени поля этого датасета, разделенных точкой.<br>Можно указать через ";" сразу несколько полей данного датасета: ''датасет.поле1;поле2;поле3;...'' |
+ | Особыe режимы: | ||
*Если перед именем датасета указан символ "*", то поле изменяется во всех записях датасета. | *Если перед именем датасета указан символ "*", то поле изменяется во всех записях датасета. | ||
*Если вместо имени поля указан символ "*", то изменятся все данные датасета. В этом случае значением должны быть данные другого датасета, либо 1/0 (тогда датасет будет закрыт). | *Если вместо имени поля указан символ "*", то изменятся все данные датасета. В этом случае значением должны быть данные другого датасета, либо 1/0 (тогда датасет будет закрыт). | ||
Строка 15: | Строка 16: | ||
}}<br/>{{Аргумент | }}<br/>{{Аргумент | ||
|Название=Значение | |Название=Значение | ||
− | |Пояснение=значение произвольного типа данных для записи в поле. В режиме изменения всех записей датасета | + | |Пояснение=значение произвольного типа данных для записи в поле. Если изменяется сразу несколько полей датасета, то их значения перечисляются через ",".<br>В режиме изменения всех записей датасета – строка с формулой. |
}} | }} | ||
− | |Пример=Assign("Goodies.Price", 1) изменит текущую запись | + | |Пример=Assign("Goodies.Price", 1) – изменит текущую запись |
− | <br/>Assign("*Goodies.Price", "Price*2") изменит все записи (удвоит цену) | + | <br/>Assign("Dataset.Document;Articul;Certificate;BarCode", :Id, :Art, :Cert, :BC) – изменит сразу несколько полей |
− | <br/>Assign("DataSet.Heap.xxx", 1) изменит хиповое поле | + | <br/>Assign("*Goodies.Price", "Price*2") – изменит все записи (удвоит цену) |
− | <br/>Assign("launchform:HeapSet.@FullName", HeapSet.FullName) изменит поле родительской формы | + | <br/>Assign("DataSet.Heap.xxx", 1) – изменит хиповое поле |
+ | <br/>Assign("launchform:HeapSet.@FullName", HeapSet.FullName) – изменит поле родительской формы | ||
}} | }} |
Версия 07:23, 4 мая 2016
Изменяет одно поле текущей записи датасета.
Синтаксис
ASSIGN (Датасет и поле, Значение)
Аргументы
- Датасет и поле
- строка, которая состоит из имени одного из датасетов электронной или печатной формы и имени поля этого датасета, разделенных точкой.
Можно указать через ";" сразу несколько полей данного датасета: датасет.поле1;поле2;поле3;...
Особыe режимы:
- Если перед именем датасета указан символ "*", то поле изменяется во всех записях датасета.
- Если вместо имени поля указан символ "*", то изменятся все данные датасета. В этом случае значением должны быть данные другого датасета, либо 1/0 (тогда датасет будет закрыт).
- Имя поля может иметь вид Heap.XXX, в этом случае модифицируется одна строка поля Heap
- Префикс EMBEDDED:Имя_контейнера: означает, что датасет нужно искать в форме, внедренной в указанный контейнер
- Префикс EMBEDDING: означает, что датасет нужно искать в форме, в которую внедрена текущая форма
- Префикс LAUNCHFORM: означает, что датасет нужно искать в форме, с которой запущена текущая форма
- Значение
- значение произвольного типа данных для записи в поле. Если изменяется сразу несколько полей датасета, то их значения перечисляются через ",".
В режиме изменения всех записей датасета – строка с формулой.
Тип результата
- Нет
Примеры
Assign("Goodies.Price", 1) – изменит текущую запись
Assign("Dataset.Document;Articul;Certificate;BarCode", :Id, :Art, :Cert, :BC) – изменит сразу несколько полей
Assign("*Goodies.Price", "Price*2") – изменит все записи (удвоит цену)
Assign("DataSet.Heap.xxx", 1) – изменит хиповое поле
Assign("launchform:HeapSet.@FullName", HeapSet.FullName) – изменит поле родительской формы