2009-06-08 5 views

Répondre

1

Lorsque vous enregistrez un document que vous pouvez mettre en place la première partie du numéro en utilisant la date ou toute technique que vous aimez (ej. « PO » format & (date, « AAAAMMJJ ») & confDoc.getitemvalue (« doccounter »)).

En ce qui concerne le compteur, je préfère le stocker dans un document de configuration et le mettre à jour lorsque chaque document est sauvegardé. S'il y a beaucoup de documents créés pendant la journée, vous pouvez rencontrer des conflits de repères sur votre document de configuration, si c'est le cas, vous pouvez demander à un agent sur le serveur d'assigner le numéro, l'inconvénient est que N'obtenez pas le numéro tout de suite lors de l'enregistrement.

Espérons que cela aide.

+0

Juste une note; Vous pouvez éviter la plupart des conflits de réplication sur le document de configuration en le verrouillant avant de saisir le numéro suivant. Si vous affectez des numéros uniquement lorsque le client peut extraire le compteur du serveur d'administration, vous devriez être en sécurité. –

+0

Très bon point. Je serais prudent cependant avec la fonction de verrouillage de doc, j'ai eu le document verrouillé de façon permanente et d'autres choses étranges se produisent. – Carlos

1

Ce n'est pas simplement.

Créer un champ pour une clé unique et cette clé de sauvegarde onSave (ou autre événement), mais vous devez protéger ce numéro pour être unique.

Vous pouvez créer un agent, vérifier le numéro sur le serveur Domino et, si l'agent trouve un conflit, informer l'administrateur de l'application ou une autre personne responsable de la résolution.

Ou chaque réplique génère son propre numéro et après la réplication sur domino, l'agent affecte le numéro au bon format.

1

Une solution utilisée dans notre service d'assistance consiste à prendre les initiales de l'utilisateur actuel et à l'ajouter à un numéro dans le dernier document d'une vue. Ajoutez-en un au numéro et stockez-le comme nouveau document avec les nombres et le nouveau nombre comme clé.

1

Vous pouvez créer une clé unique "presque" dans Domino simplement en utilisant la fonction @Unique, sans arguments. Cela va générer une clé de chaîne, basée sur le prénom et le nom de l'utilisateur actuel et l'heure actuelle. Vous allez vous retrouver avec une chaîne quelque chose comme: "ESCR-12345678". Je dis "presque" unique, parce que ce n'est pas vraiment une colonne d'identité dans SQL - Domino ne garantit pas qu'il ne donnera qu'une seule chaîne une seule fois. Si vous utilisez @unique dans un agent côté serveur qui génère plusieurs ID à la fois - par exemple, et un agent qui boucle et utilise @unique dans la boucle, vous pouvez vous retrouver dans une situation où @unique retournera un doublon - parce que vous créez 2 docs dans la même seconde et parce que votre "nom d'utilisateur" est toujours le nom canonique du serveur. Mais, en dehors de ce scénario, @unique est généralement sûr à utiliser.

Si vous avez besoin d'ouvrir ou de référencer des documents par cet ID, créez simplement une vue triée par cet ID et vous pouvez créer une URL sous la forme ../myView/id?readDocument.

Questions connexes