4D v16.3

OB Copier

Accueil

 
4D v16.3
OB Copier

OB Copier 


 

OB Copier ( objet {; résoudrePtrs} ) -> Résultat 
Paramètre Type   Description
objet  Objet, Champ objet in Objet structuré
résoudrePtrs  Booléen in Vrai = résoudre les pointeurs, Faux ou omis = ne pas les résoudre
Résultat  Objet in 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"}...]



Voir aussi  

OB Lire

 
PROPRIÉTÉS 

Produit : 4D
Thème : Objets (Langage)
Numéro : 1225
Nom intl. : OB Copy

Commande(s) éligible(s) à l'exécution dans un process préemptif

 
HISTORIQUE 

Créé : 4D v14
Modifié : 4D v15

 
UTILISATION DE L'ARTICLE

4D - Langage ( 4D v16)
4D - Langage ( 4D v16.1)
4D - Langage ( 4D v16.2)
4D - Langage ( 4D v16.3)