Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: CLI_Andreas_Schmidt am 01.09.04 - 10:59:29

Titel: Nachträglich eine neue documentuniqueid vergeben
Beitrag von: CLI_Andreas_Schmidt am 01.09.04 - 10:59:29
Hi @all,

wie kann man nach dem Kopieren eines Dokuments dem erstellten Dokument eine DocumentUniqueId vergeben. Beim Kopieren wird ja alles 1 zu 1 kopiert auch die id's

Gruss

Andreas
Titel: Re:Nachträglich eine neue documentuniqueid vergeben
Beitrag von: koehlerbv am 01.09.04 - 11:00:31
Beim Kopieren wird ja alles 1 zu 1 kopiert auch die id's

Seit wann denn das ??
Titel: Re:Nachträglich eine neue documentuniqueid vergeben
Beitrag von: Marinero Atlántico am 01.09.04 - 11:08:38
Probiers mal aus... (das kopieren meine ich und schau dir die DocUnid an und die DocId).

Versuch es mit Script, normal kopieren über den Notes Oberfläche.
Dann Replizieren...

Du kannst die DocUnid nicht überschreiben, was auch ziemlich üblich für eindeutige Identifizierer von Datenstrukturen ist (was auch gute Gründe hat).
(z.B. wird bei Java durch den == Operator die Speicheradresse 2er Objekte verglichen (eindeutig pro Rechner).
Bei RDBMS werden gerne Spalten für Primary Keys genommen, die von der Datenbank generiert werden (z.B. auch in Access).

Beides kann eigentlich NICHT vom Entwickler überschrieben werden.

Bei Notes gibt es nur diesen Zusatzpunkt Replizierung...

Gruß Axel
Titel: Re:Nachträglich eine neue documentuniqueid vergeben
Beitrag von: Glombi am 01.09.04 - 11:22:37
Intern wird immer eine neue DocID vergeben. Wenn Du aber ein Feld hast, wo die ID berechnet Beim Anlegen reingeschrieben wird, gibt es natürlich doppelte Einträge.
Ist es das was Du meinst?
Falls ja, einfach das Feld beim Kopieren neu setzen:
FIELD DocID := @Text(@DocumentUnqiueID)
oder in Script
doc.DocID = doc.UniversalID

Andreas
Titel: Re:Nachträglich eine neue documentuniqueid vergeben
Beitrag von: koehlerbv am 01.09.04 - 11:25:16
Normalerweise hat solch ein explizites Feld ja eine bestimmte Funktion - eben die ursprüngliche DokID beim Kopieren NICHT z uverlieren. Wenn dies nicht so ist, dann ist es lediglich eine redundante und überflüssige Information.

Bernhard
Titel: Re:Nachträglich eine neue documentuniqueid vergeben
Beitrag von: Semeaphoros am 01.09.04 - 12:48:20
Der Vollständigkeit halber, die DocUNID lässt sich via API und auch via LS ändern, das ist aber mit grösster Vorsicht zu geniessen und normalerweise überhaupt nicht notwendig. Es hat Nebenwirkungen bei der Replikation und wenn man einen Wert erwischt, der schon existiert, wird das irgendwann einmal als Korruption angesehen. Also Finger davon, solange man nicht die Interna der Unique-ID genau kennt (in der API dokumentiert oder im Buch von Normunds Kalnberzins LS to C-API: www.ls2capi.com )
Titel: Re:Nachträglich eine neue documentuniqueid vergeben
Beitrag von: koehlerbv am 01.09.04 - 12:55:24
Na, nicht nur doppelte IDs sind verheerend - die ID muss auch so aufgebaut sein, dass sie zur DB selber passt. Die Wahrscheinlichkeit, dass man "frei Schnauze" (und ohne das erforderliche Know-How) eine gültige UNID erzeugt, liegt bei eins zu irgendwas-mit-vielen-Nullen.

Bernhard
Titel: Re:Nachträglich eine neue documentuniqueid vergeben
Beitrag von: CLI_Andreas_Schmidt am 01.09.04 - 13:28:51
Läuft.

Danke.
Titel: Re:Nachträglich eine neue documentuniqueid vergeben
Beitrag von: Glombi am 01.09.04 - 13:33:34
Läuft.

Danke.
Was läuft wie  ???

Sei doch so nett und gib mal Bescheid.

Andreas