4D v19entity.save( ) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v19
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_alias | texte | Alias utilisateur défini avec FIXER ALIAS UTILISATEUR, sinon le nom d'utilisateur dans le répertoire de la base 4D | |
user4d_id | numérique | Numéro de l'utilisateur 4D (Disponible uniquement dans les bases 4D binaires) | |
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_OBJET($status;$employee)
$employee:=ds.Employee.new()
$employee.firstName:="Mary"
$employee.lastName:="Smith"
$status:=$employee.save()
Si($status.success)
ALERTE("Employé(e) créé(e)")
Fin de si
Mise à jour d'une entité sans option dk auto merge :
C_OBJET($status;$employees;$employee)
$employees:=ds.Employee.query("lastName=:1";"Smith")
$employee:=$employees.first()
$employee.lastName:="Mac Arthur"
$status:=$employee.save()
Au cas ou
:($status.success)
ALERTE("Employé(e) mis(e) à jour")
:($status.status=dk status stamp has changed)
ALERTE($status.statusText)
Fin de cas
Mise à jour d'une entité avec option dk auto merge :
C_OBJET($status;$employees;$employee)
$employees:=ds.Employee.query("lastName=:1";"Smith")
$employee:=$employees.first()
$employee.lastName:="Mac Arthur"
$status:=$employee.save(dk auto merge)
Au cas ou
:($status.success)
ALERTE("Employé(e) mis(e) à jour")
:($status.status=dk status automerge failed)
ALERTE($status.statusText)
Fin de cas
Produit : 4D
Thème : ORDA - Entity
Nom intl. : entity.save( )
4D - Langage ( 4D v19)
4D - Langage ( 4D v19.1)