4D v16.3OB Copy |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
OB Copy
|
OB Copy ( objet {; résoudrePtrs} ) -> Résultat | ||||||||
Paramètre | Type | Description | ||||||
objet | Objet, Champ objet |
![]() |
Objet structuré | |||||
résoudrePtrs | Booléen |
![]() |
Vrai = résoudre les pointeurs, Faux ou omis = ne pas les résoudre | |||||
Résultat | Objet |
![]() |
Copie de objet | |||||
La commande OB Copy retourne un objet contenant une copie complète des propriétés, sous-objets et valeurs de objet.
objet doit avoir été défini via la commande C_OBJECT ou désigner un champ objet 4D.
Si objet contient des valeurs de type pointeur, par défaut la copie contient également les pointeurs. Vous pouvez cependant résoudre les pointeurs au moment de la copie : pour cela, passez Vrai dans le paramètre résoudrePtrs. Dans ce cas, chaque pointeur présent comme valeur dans objet sera évalué au moment de la copie et sa valeur dépointée sera utilisée.
Vous souhaitez dupliquer un objet contenant des valeurs simples :
C_OBJECT($Object)
C_TEXT($JsonString)
ARRAY OBJECT($arraySel;0)
ALL RECORDS([Product])
While(Not(End selection([Product])))
OB SET($Object;"id";[Product]ID_Product)
OB SET($Object;"Product Name";[Product]Product_Name)
OB SET($Object;"Price";[Product]Price)
OB SET($Object;"Tax rate";[Product]Tax_rate)
$ref_value:=OB Copy($Object) //copie directe
APPEND TO ARRAY($arraySel;$ref_value)
//le contenu de $ref_value est identique à celui de $Object
NEXT RECORD([Product])
End while
//le contenu de $ref_value
$JsonString:=JSON Stringify array($arraySel)
Vous dupliquez un objet contenant des pointeurs :
C_OBJECT($ref)
OB SET($ref;"name";->[Company]name) //objet avec pointeurs
OB SET($ref;"country";->[Company]country)
ARRAY OBJECT($sel;0)
ARRAY OBJECT($sel2;0)
ALL RECORDS([Company])
While(Not(End selection([Company])))
$ref_comp:=OB Copy($ref) // copie sans évaluation des pointeurs
//$ref_comp={"name":"->[Company]name","country":"->[Company]Country"}
$ref_comp2:=OB Copy($ref;True) //copie avec évaluation des pointeurs
//$ref_comp={"name":"4D SAS","country":"France"}
APPEND TO ARRAY($sel;$ref_comp)
APPEND TO ARRAY($sel2;$ref_comp2)
NEXT RECORD([Company])
End while
$Object:=JSON Stringify array($sel)
$Object2:=JSON Stringify array($sel2)
// $Object = [{"name":"","country":""},{"name":"","country":""},...]
// $Object2 = [{"name":"4D SAS","country":"France"},{"name":"4D, Inc","country":"USA"},{"name":"Catalan","country":"France"}...]
Produit : 4D
Thème : Objets (Langage)
Numéro :
1225
Créé : 4D v14
Modifié : 4D v15
4D - Langage ( 4D v16)
4D - Langage ( 4D v16.1)
4D - Langage ( 4D v16.2)
4D - Langage ( 4D v16.3)