Skip to content

$doc.open

Description

Charge un dossier en mémoire. Le dossier ouvert depuis un script reste ouvert au refresh s'il n'est pas fermé, pour autant que le traitement soit effectué pour la même session que celle utilisée pour l'affichage (ce qui n'est pas le cas par exemple si la requête ne fournit pas d'identifiant de session).

Après appel de la méthode $doc.open, 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).

Méthode $script.setContext

La méthode $doc.open permet d'ouvrir un dossier en mémoire et de basculer l'exécution du script dans le contexte de ce dossier (pour autant que le flag updateContext ne l'empêche pas).

Le basculement de contexte est également possible avec la méthode $script.setContext. Dans ce cas, la portée du changement de contexte se limite au script lui-même et n'a pas d'influence sur le dossier affiché au refresh. Si vous devez travailler avec plusieurs dossiers simultanément, il est préférable d'utiliser $script.setContext pour basculer de l'un à l'autre. Veuillez consulter la documentation de $script.setContext pour les détails.

Mode de gestion single

⚠️ Attention, le fait d'ouvrir un dossier 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

Syntaxe

$doc.open( context [ , options ] )

Paramètres

context string / map
Object décrivant le contexte. 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és modelName et docId.
options map

Map d'options relatives à l'ouverture de dossier. Les options reconnues sont:

updateContext boolean
Flag true/false indiquant si la méthode doit mettre à jour le contexte avec le dossier courant. Si true, le contexte est mis à jour, pour autant que le dossier peut être ouvert. L'option est true par défaut.
ignorePolicies boolean

Flag indiquant de ne pas tenir compte des policies lors de l'ouverture.

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 à l'ouverture. 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.

loadBinaries boolean
Flag true/false indiquant si la méthode doit charger les champs binaires. La valeur par défaut est false car dans la mesure du possible on évitera de charger inutilement la mémoire avec les binaires. Le flag est à définir à true si l'on souhaite explicitement charger le dossier dans le but de traiter les fichiers binaires qu'il contient. À noter que les binaires sont automatiquement chargés lorsque l'on référence un champ qui en contient à l'aide des notations #champ ou $data.get("champ"). À noter également que les éventuelles métadonnées liées au champ en question sont chargées, indépendamment de la valeur passée à cette option.
notify boolean

Flag true/false indiquant si le moteur doit déclencher la notification doc-open. Par défaut le flag est false.

Voir la description détaillée dans la documentation de la méthode $doc.create.

notificationParams map

Paramètres supplémentaires à passer lors de la notification doc-open. N'est pris en compte que lorsque notify est true.

Le paramètre attendu est un map de clés-valeurs. Les clés modelName et docId sont 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

La méthode retourne le contexte du nouveau dossier sous forme de map si celui-ci a pu être créé, ou null si le dossier n'a pas pu être créé.

Exemple

Non disponible