$doc.clone¶
Description¶
Crée une copie d'un dossier existant.
Après appel de la méthode, le contexte courant (c.-à-d. la valeur retournée
par $script.getContext()) devient le contexte
du nouveau dossier. Ce comportement peut être modifié au moyen de l'option
updateContext (voir ci-dessous).
Mode de gestion single
⚠️ Attention, le fait de créer un dossier par clonage depuis un script ne
signifie pas que le dossier précédemment ouvert soit fermé, quand bien
même que l'application fonctionne avec un mode de gestion de dossiers
single.
Veuillez consulter la note exlicative liée au paramètre documentMode
du fichier de config pour plus
de détail.
Syntaxe¶
$doc.clone( context [ , options ] )
Paramètres¶
contextstring / map- Object décrivant le contexte du dossier source. Le paramètre peut désigner
soit un contexte (exprimé en tant que string en clair, p.ex.
"vendeur[123]"ou sous forme de hash) ou un map décrivant le contexte. Dans ce cas, le map doit a minima contenir une valeur pour les propriétésmodelNameetdocId. optionsmap-
Map d'options relatives au clonage de dossier. Les options reconnues sont:
modestring-
Mode de clônage. Le mode permet d'indiquer quels champs doivent être clonés et lesquels ne doivent pas être clonés (il est clair que les champs identifiant ne peuvent pas être clonés).
Pour rappel, le mode de copie est à définir au niveau de la descript via l'élément
1 2 3 4 5
<clone> <mode name="">false</mode> <mode name="foo">false</mode> <mode name="bar">false</mode> </clone>La documentation au sujet de la descript détaille les options relatives au clonage.
updateContextboolean- Flag
true/falseindiquant si la méthode doit mettre à jour le contexte avec le dossier courant. Sitrue, le contexte est mis à jour, pour autant que le dossier peut être créé. L'option esttruepar défaut. ignorePoliciesboolean-
Flag indiquant de ne pas tenir compte des policies lors du traitement.
Par défaut, les policies sont vérifiées si l'application gère des policies et si le thread courant est un thread "client", c'est-à-dire un thread initié par une requête du client. Si la méthode est invoquée par un script démarré par le scheduler, les policies ne seront pas vérifiées par défaut.
Lorsque le flag est
false, le moteur évalue les policies lors du clônage. Si vous devez effectuer un traitement de masse, l'évaluation des policies peut avoir un impact sur les performances. Il peut donc dans ce cas être recommandé d'activer le flag. docIdstring- Identifiant du dossier à créer. Par défaut le moteur se charge de générer un identifiant, mais la méthode autorise de passer un identifiant personnalisé.
writeableboolean- Flag indiquant le mode d'ouverture du nouveau dossier. Le flag
permet d'indiquer que le moteur doit verrouiller le dossier en cas
de gestion de lock pessimiste. Le flag est activé (
true) par défaut. notifyboolean-
Flag
true/falseindiquant si le moteur doit déclencher la notificationdoc-clone. Par défaut le flag estfalse.Lorsque le flag est activé, les notifications
beforeetaftersont invoquées de la même façon que lors d'une actionclone. Le script est exécuté de façon synchrone, mais par un processeur autre que le processeur en charge du traitement du script courant. Le traitement est interrompu si le script notifié génère une exception.À noter que les notifications peuvent également être envoyées explicitement avec la méthode
$app.sendNotification.L'option est automatiquement activée si l'option
notificationParamsest définie avec une valeur nonnull. notificationParamsmap-
Paramètres supplémentaires à passer lors de la notification
doc-clone. N'est pris en compte que lorsquenotifyesttrue.Le paramètre attendu est un map de clés-valeurs. Les clés
modelNameetdocIdsont réservées et renseignées automatiquement par la méthode.Le fait de spécifier des paramètres de notification active automatiquement l'option
notify(pour autant qu'elle ne soit pas explicitement définir àfalse).
Retour¶
Le contexte décrivant le nouveau dossier, sous forme de map
Exemple¶
Non disponible