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

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

Версия 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) – изменит поле родительской формы