4D v16.3OB Copier |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
OB Copier
|
OB Copier ( 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 Copier 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_OBJET 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_OBJET($Object)
C_TEXTE($JsonString)
TABLEAU OBJET($arraySel;0)
TOUT SELECTIONNER([Product])
Tant que(Non(Fin de selection([Product])))
OB FIXER($Object;"id";[Product]ID_Product)
OB FIXER($Object;"Product Name";[Product]Product_Name)
OB FIXER($Object;"Price";[Product]Price)
OB FIXER($Object;"Tax rate";[Product]Tax_rate)
$ref_value:=OB Copier($Object) //copie directe
AJOUTER A TABLEAU($arraySel;$ref_value)
//le contenu de $ref_value est identique à celui de $Object
ENREGISTREMENT SUIVANT([Product])
Fin tant que
//le contenu de $ref_value
$JsonString:=JSON Stringify tableau($arraySel)
Vous dupliquez un objet contenant des pointeurs :
C_OBJET($ref)
OB FIXER($ref;"name";->[Company]name) //objet avec pointeurs
OB FIXER($ref;"country";->[Company]country)
TABLEAU OBJET($sel;0)
TABLEAU OBJET($sel2;0)
TOUT SELECTIONNER([Company])
Tant que(Non(Fin de selection([Company])))
$ref_comp:=OB Copier($ref) // copie sans évaluation des pointeurs
//$ref_comp={"name":"->[Company]name","country":"->[Company]Country"}
$ref_comp2:=OB Copier($ref;Vrai) //copie avec évaluation des pointeurs
//$ref_comp={"name":"4D SAS","country":"France"}
AJOUTER A TABLEAU($sel;$ref_comp)
AJOUTER A TABLEAU($sel2;$ref_comp2)
ENREGISTREMENT SUIVANT([Company])
Fin tant que
$Object:=JSON Stringify tableau($sel)
$Object2:=JSON Stringify tableau($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
Nom intl. : OB Copy
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)