4D v17.4entity.save( ) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v17.4
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(*) | 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 | |
component signature | 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 if
Mise à 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 case
Mise à 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 v17)
4D - Langage ( 4D v17.1)
4D - Langage ( 4D v17.2)
4D - Langage ( 4D v17.3)
4D - Langage ( 4D v17.4)