| 4D v18entity.save( ) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 
 | 
    4D v18
 entity.save( ) 
         | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Propriété | Type | Description | |
| success | booléen | vrai si la sauvegarde a été effectuée avec succès, sinon faux. | |
| Disponible uniquement si l'option dk auto merge a été utilisée : | |||
| autoMerged | booléen | vrai si un "auto merge" a été effectué, sinon faux. | |
| Disponible uniquement en cas d'erreur (status=faux) : | |||
| status(*) | numérique | Code d'errreur, voir ci-dessous | |
| statusText(*) | texte | Description de l'errreur, voir ci-dessous | |
| Disponible uniquement en cas d'erreur en verrouillage pessimiste : | |||
| lockKindText | texte | "Locked by record"/"'Verrouillé par enregistrement" | |
| lockInfo | objet | Information sur l'origine du verrouillage | |
| task_id | numérique | ID du process | |
| user_name | texte | Nom de l'utilisateur de la session sur la machine | |
| user4d_id | texte | Nom de l'utilisateur 4D dans le répertoire de la base | |
| host_name | texte | Nom de la machine | |
| task_name | texte | Nom du process | |
| client_version | texte | ||
| Disponible uniquement en cas d'erreur sérieuse (clé primaire dupliquée, disque plein...) : | |||
| errors | collection d'objets | ||
| message | texte | Message d'erreur | |
| componentSignature | texte | Signature de composant interne (ex. "dmbg" pour le composant base de données) | |
| errCode | numérique | Code d'erreur | 
(*) Les valeurs suivantes peuvent être retournées dans les propriétés status et statusText de l'objet Résultat en cas d'erreur :
| Constante | Valeur | Comment | 
| dk status automerge failed | 6 | (Uniquement si l'option dk auto merge est utilisée) Echec du mécanisme de merge automatique lors de la sauvegarde de l'entité. statusText associé : "Auto merge failed" | 
| dk status entity does not exist anymore | 5 | L'entité n'existe plus dans les données. Cette erreur peut se produire dans les cas suivants : 
 statusText associé : "Entity does not exist anymore" | 
| dk status locked | 3 | L'entité est verrouillée par un verrou pessimiste. statusText associé : "Already locked" | 
| dk status serious error | 4 | Une erreur critique peut être une erreur de bas niveau de la base de données (ex. clé dupliquée), une erreur matérielle, etc. statusText associé : "Other error" | 
| dk status stamp has changed | 2 | La valeur du marqueur interne (stamp) de l'entité ne correspond pas à celle de l'entité stockée dans les données (verrouillage optimiste). 
 | 
Création d'une nouvelle entité :
 C_OBJECT($status;$employee)
 $employee:=ds.Employee.new()
 $employee.firstName:="Mary"
 $employee.lastName:="Smith"
 $status:=$employee.save()
 If($status.success)
    ALERT("Employé(e) créé(e)")
 End ifMise à jour d'une entité sans option dk auto merge :
 C_OBJECT($status;$employees;$employee)
 $employees:=ds.Employee.query("lastName=:1";"Smith")
 $employee:=$employees.first()
 $employee.lastName:="Mac Arthur"
 $status:=$employee.save()
 Case of
    :($status.success)
       ALERT("Employé(e) mis(e) à jour")
    :($status.status=dk status stamp has changed)
       ALERT($status.statusText)
 End caseMise à jour d'une entité avec option dk auto merge :
 C_OBJECT($status;$employees;$employee)
 
 $employees:=ds.Employee.query("lastName=:1";"Smith")
 $employee:=$employees.first()
 $employee.lastName:="Mac Arthur"
 $status:=$employee.save(dk auto merge)
 Case of
    :($status.success)
       ALERT("Employé(e) mis(e) à jour")
    :($status.status=dk status automerge failed)
       ALERT($status.statusText)
 End case
	Produit :  4D
	Thème :  ORDA - Entity
	
        
        
	
	4D - Langage ( 4D v18)
	
	
	
 Ajouter un commentaire
Ajouter un commentaire