Autor Thema: 1. Replizier-Speicherungskonflikt 2. Nicht alle Dokumente wurden repliziert  (Gelesen 15095 mal)

Offline sja

  • Senior Mitglied
  • ****
  • Beiträge: 328
  • Geschlecht: Weiblich
  • Ich liebe dieses Forum!
ok, alles klar.

Danke Semeaphoros.

Gruesse
Sofia

Offline ctillmanns

  • Aktives Mitglied
  • ***
  • Beiträge: 115
Guten Morgen
Das Computewithform macht dem Dokument klar, welche Konfliktaktion es auszuführen hat. Wenn man Dokumente mit Skript erstellt ist die Eigenschaft die man nur auf der Maske einstellt wirkungslos. Selbst wenn man nachträglich das Dokument im Frontend speichert, hat das laut IBM keine Wirkung mehr. Das Dokument muss ganz zu Anfang richtig erstellt werden, sonst wird das nichts. Man kann auch das Item $ConflictAction mit dem richtigen Wert drauf schreiben. Nur so zur Sicherheit.
Tilsche

Offline sja

  • Senior Mitglied
  • ****
  • Beiträge: 328
  • Geschlecht: Weiblich
  • Ich liebe dieses Forum!
Hallo ctillmanns,

vielen Dank für die Erklärung. Jetzt mit dem Computewithform ist mir alles klar.

Da noch weitere Fragen, wenn jemand damit Erfahrung hat:
- wozu  in der Situation fixup und compact gut sind?
- sollen die nur auf Haupt-Replik ausgeführt werden?
- und wann am besten bevor alle Daten in der Haupt-Replik wieder richtig hergestellt werden oder nachdem?

Herzlichen Dank für Hilfe

Gruesse
Sofia

Offline ctillmanns

  • Aktives Mitglied
  • ***
  • Beiträge: 115
Bitte schön
Ich würde jetzt so vorgehen.
0. SICHERHEITSKOPIE von der Hauptreplik anlegen. Man weiss ja nie.
1. Alle verteilten Repliken - ausser der Hauptreplik natürlich - löschen. Wenn das möglich ist.
2. Die Hauptreplik in Ordnung bringen und zwar:
2.1 Überprüfen, ob noch irgendwelche Konfliktdokumente vorhanden sind.
2.2 Dann in einer Ansicht mit allen Dokumenten eine Aktion mit der Formel @command([ToolsRefreshAllDocs]) mal alle Masken durchrechnen lassen. Wenn diese Aktion nicht durchläuft, sind noch Dokumente vorhanden, die irgendwelche Fehler haben. In der Statusleiste steht zwar eine DokID für ein fehlerhaftes Dokument, aber mit dieser habe bisher nie was anfangen können, Bzw. ich habe das Dokument mit der ID nie gefunden. Aber Du kannst mit @command([ToolsRefreshSelectedDocs]) versuchen das fehlerhafte Dokument einzugrenzen. Ist halt ein Gefummele, bis man das alles hat.
3. Mit dem Administrator Client als erstes mal einen Fixup starten. Das sollte dann irgendwelche Fehler in der DB finden und korrigieren. Findet sich im Register "Files" wenn Du mit der rechten Maustaste auf die DB klickst.
4. Im Administrator Client in der Konsole compact für diese eine DB starten. Es gibt verschiedene Parameter dafür und die solltest Du Dir in der Hilfe mal gut durchlesen. compact copy style ist hier eine Möglichkeit die hilft, die DB wieder sauber zu machen.

5. Neue Repliken erstellen und beten.

Wenn das alles nicht hilft, pack die DB ein, mach eine Briefmarke drauf und schick sie an Jens und leg ein genug Euros dazu. Will heissen, dass Du Dich vielleicht an den Entwickler Deines Vertrauens wenden solltest, damit Ihr das mal zusammen anschaut.

Hoffe, dass dies jetzt hilft
Fröhliches Schwitzen noch.
Tilsche

Offline sja

  • Senior Mitglied
  • ****
  • Beiträge: 328
  • Geschlecht: Weiblich
  • Ich liebe dieses Forum!
Hallo ctillmanns,

erst Mal herzlichen Dank für so hilfreiche Information. Und ich werde ja nach diesem Plan vorgehen.
Nur möchte dazu sagen, dass ich jetzt überhaupt keine Konflikte habe, seit Afwand-Dokumente nicht als "Response", sondern als "Dokument" in der Projekt-Datenbank kopiert wurden. Die Eigenschaft "Konfliktbehandl." in der Maske "aufwand" in der Projekt-Datenbank ist auf "Konflikte nicht erstellen" gesetzt.
Im Gegenteil einige Dokumente verschwinden bei der Replizierung und obwohl die in der Haupt-Replik nach der Ausführung des Agentes wieder geladen werden, werden einige davon nicht in den anderen Repliken repliziert.  ??? Das finde ich noch schlimmer als Konflikte.

Noch eine Frage. Nach meiner Meinung, spielt hier auch nicht letzte Rolle das, was in  "Replizierparameter->Andere->Nur eingehende Dokumente replizieren, die gespeichert oder geändert wurden nach dem:" steht. Sollte die Eigenschaft am besten leer sein?
Vielen Dank im Voraus.

Was betrifft die bezahlte Hilfe, dann leider sieh es so aus, dass ich muss ohne zu Recht zu kommen, da unsere Firma kein Cent nach Draussen bezahlen wird, weil schon zweites Jahr steht die Frage "to be or not to be" und ich selbst bin nicht reich und glaube nicht, dass ich kann das entsprechend bezahlen.  :(

Danke schön für so reiche Hilfe
Gruesse
Sofia
« Letzte Änderung: 23.06.05 - 13:08:55 von sja »

Offline sja

  • Senior Mitglied
  • ****
  • Beiträge: 328
  • Geschlecht: Weiblich
  • Ich liebe dieses Forum!
Hallo,

ob ich richtig verstehe, dass die Methode
removePermanently
löscht die Dokumente sofort aus der Datenbank.
Wenn in der Datenbank die Eigenschaft "Wiederherstellbare Löschungen zulassen" nicht aktiviert ist, werden die Dokumente aus der Datenbank mit der Methode
remove
auch sofort gelöscht, oder bleiben die noch eine Weile in der Datenbank, und wenn ja, dann wie lange?

Werden bei der Ausführung von compact alle soft deletion aus der Datenbank raus?

Vielen Dank schon mal im Voraus
Sofia

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Sofia, es tut mir leid, das ich mich um Dein Problem nicht mehr kümmern konnte, aber momentan bi nich zeitlich extrem eingeschänkt. Und Dein Problem erfordert (und verdient) einigen Aufwand.

Du erwähnst jetzt SoftDeletions. Die können - gerade mit den von Dir beschriebenen Effekten - ein übles Problem hervorrufen.

Nochmals mit der Bitte um Entschuldigung für meine Nicht-Beteiligung an dieser so schwerwiegenden Fragestellung, aber an alle Mit-Macher: Richtet bitte mal das Augenmerk auf die Soft-Deletions. Ich habe da so eine Ahnung ... und leider nicht genug Zeit bis Sonntagabend für so ein ernsthaftes Problem.

Danke an alle Beteiligten,
Bernhard

Offline sja

  • Senior Mitglied
  • ****
  • Beiträge: 328
  • Geschlecht: Weiblich
  • Ich liebe dieses Forum!
Hallo

Bernhard, erst Mal vielen Dank für Deine Aufmerksamkeit.


Habe noch etwas in dem Ablauf diesen Funktionen in meinen Datenbanken entdeckt, was meiner Meinung nach, auf Soft-Deletions zeigen sollte.
Also, ich vorbereite  eine abgespeckte Test-Version von meinen Datenbanken und dann melde mich.

Schöne Gruesse
Sofia

Offline sja

  • Senior Mitglied
  • ****
  • Beiträge: 328
  • Geschlecht: Weiblich
  • Ich liebe dieses Forum!
Hallo,

wie gesprochen sind hier die abgespeckte Test-Version von meinen Datenbanken:

1.   "Proejekte“-> projekt.nsf  (leer)
Die Felder
 Feld = “AWNTitel“ in der Form = “projekt“ 
und
 Feld = “projekt“ in der Form = “aufwand“ für
sind für die Identifizierung zwischen Projekt-Dokument und Aufwand-Dokumenten vorgesehen. D. h. es muss “AWNTitel“ = “projekt“ für das Projekt und dazu gehörige Aufwand-Dokumente

2.   “Zeitaufwand“ -> aufwand.nsf  (Agenten/Aktionen in der Db "Projekte“ sind für test\aufwand.nsf programmiert)
Form “aufwand“
enthält Beispiele Aufwand-Dokumente für drei Projekte mit Titel (Feld “projekt“):
Test1
Test2
Test3

Was sollte für Testen gemacht werden:

Wäre gut die  Db “Zeitaufwand“ in dem Verzeichnis „test“ anlegen, sonst müssen die source für Agenten/Aktionen in der Db "Projekte“ korrigiert werden.

In der Db "Projekte“  (z.B. in der Ansicht “2.Projekte und Aufwand“) mit der Aktion "Projekt“ drei Projekte anlegen
In jedem Projekt in das Feld mit der Bezeichnung “Titel“ jeweils Test1, Test2, Test3 eintragen

In Db "Projekte“ sollte folgendes funktionieren

1.
Aktion “Agent starten“ in der Ansicht “2.Projekte und Aufwand“ (in der Produktions-Datenbank ist es periodischer Agent).
Der Agent lädt in der Db "Proejekte“  aus der Db “Zeitaufwand“ Aufwand-Dokumente
-   alle, wenn das Projekt noch keine hat
-   wenn das Projekt hat welche, dann werden alle Aufwand-Dokumente für das Projekt, die von aktuellem Datum 42 Tagen zurück liegen, gelöscht und aus der Db “Zeitaufwand“ alle Aufwand-Dokumente für letzten 42 Tagen in der Db "Projekte“ geladen werden

Dim s As  NotesSession
'***************  Projekt ****************************************************
Dim db As NotesDatabase
Dim viewPYM As NotesView
Dim VEC As NotesViewEntryCollection   
Dim ve As NotesViewEntry
Dim viewPymAWN As NotesView
Dim viewPymAWN6 As NotesView
Dim vecPymAWN As NotesViewEntryCollection   
Dim vePymAWN As NotesViewEntry
Dim PymDoc As NotesDocument
Dim PymDocAWN As NotesDocument
Dim docTmp As NotesDocument
Dim tmpAWNTitel As String
Dim tmpAWNTitel_alt As String
Dim tmpIstWert As Single
Dim tmpSchaetzWert As Single
Dim tmpIstProzent As Single
Dim tmpIndikator As String
Dim dateTime As NotesDateTime
Dim searchFormulaPYM As String
Dim collection As NotesDocumentCollection
'***************  Zeitaufwand ************************************************
Dim dbAWN As NotesDatabase
Dim viewAWN As NotesView
Dim vecAWN As NotesViewEntryCollection   
Dim veAWN As NotesViewEntry
Dim docAWN As NotesDocument
Dim tmpStunden As Single
Dim searchFormulaAWN As String
Dim collectionAWN As NotesDocumentCollection

Sub Initialize
   Set s = New NotesSession
   '***************  Projekte ****************************************************
   Set db = s.CurrentDatabase
   Set viewPYM =db.getview("tmpAWN_PYM")
   Set viewPymAWN=db.getview("tmpAWN")   
   Set viewPymAWN6 =db.getview("tmpAWN6")   
   '***************  Aufwand ************************************************
   Set dbAWN = s.GetDatabase( "", "test\aufwand.nsf" )
   Set viewAWN =dbAWN.getview("awnPYM6")
   '**************************************************************************
   If Not(viewPYM.EntryCount = 0) Then
      Set VEC = viewPYM.AllEntries      
      Set ve = VEC.GetFirstEntry()
      Set PymDoc = ve.Document
      While Not (ve Is Nothing)
         Set PymDoc = ve.Document
   '*****************Werte initialisieren ******************************************         
         'PymDoc.istProzent = tmpIstProzent
         If Cstr(PymDoc.istProzent(0)) = "" Then
            tmpIstProzent = 0
            PymDoc.istProzent= 0
         Else
            tmpIstProzent   = PymDoc.istProzent(0)   
         End If               
         If Cstr(PymDoc.Schaetzwert(0)) = "" Then
            tmpSchaetzWert = 0
         Else
            tmpSchaetzWert  = PymDoc.Schaetzwert(0)   
         End If         
         If Cstr(PymDoc.Istwert(0)) = "" Then
            tmpIstWert = 0
         Else
            tmpIstWert = 8.5 * PymDoc.Istwert(0)
         End If         
   '********************************************************************************
         tmpAWNTitel = PymDoc.AWNTitel(0)            
         tmpAWNTitel_alt = PymDoc.AWNTitel_alt(0)
         Messagebox tmpAWNTitel
         If tmpAWNTitel_alt = "" Then
            Call LoadAll(tmpAWNTitel)
         Elseif tmpAWNTitel <> tmpAWNTitel_alt  Then
            Call RemoveAll(tmpAWNTitel_alt)
            Call LoadAll(tmpAWNTitel)
         Else
            Call Remove6Wo(tmpAWNTitel)
            Call Load6Wo(tmpAWNTitel)
         End If
         Call WerteBerechnung()
         PymDoc.Istwert = tmpIstWert
         PymDoc.istProzent = tmpIstProzent
         PymDoc.Indikator = tmpIndikator
'PymDoc.AWNTitel_alt = tmpAWNTitel
         Call PymDoc.Save( True, True )
         Set ve = VEC.getNextEntry(ve)      
      Wend
   End If   
End Sub

Function LoadAll(AWNTitel As String)
'Kopieren alle Aufwand-Dokumente  für das Projekt-Dokument    aus der Db "Zeitaufwand" in die Db "Projekte"
   searchFormula = |projekt = "| + AWNTitel +|"|
   Set collectionAWN = dbAWN.Search(searchFormula, Nothing, 0)
   Set docAWN = collectionAWN.GetFirstDocument
   Messagebox "LoadAll  " & collectionAWN.Count
   If Not(collectionAWN.Count = 0) Then         
      tmpIstWert =0
      While Not(docAWN Is Nothing)
'**********************************************************************************************      
         Set PymDocAWN = docAWN.CopyToDatabase( db )
         'Call PymDocAWN.MakeResponse(PymDoc)
         'Call PymDocAWN.ComputeWithForm(False, False)
         Call PymDocAWN.Save(True, True)
'**********************************************************************************************      
         tmpStunden = docAWN.Stunden(0)
         tmpIstWert = tmpIstWert +tmpStunden
               'Messagebox Cstr(tmpIstWert)
         Set docAWN = collectionAWN.GetNextDocument(docAWN)
      Wend
      PymDoc.AWNTitel_alt = tmpAWNTitel
      PymDoc.awnFlag = "1"
   Else
      PymDoc.AWNTitel_alt = ""
   End If
End Function

Function Load6Wo(AWNTitel As String)
'Kopieren Aufwand-Collection (letzten 6 Wochen) aus der Db "Zeitaufwand" in die Db "Projekte"  für das Projekt-Dokument
   Set vecAWN = viewAWN.GetAllEntriesByKey(AWNTitel, True)
   Messagebox  "Load6Wo  " & vecAWN.Count
   If Not(vecAWN.Count = 0) Then
      Set veAWN = vecAWN.GetFirstEntry()
      While Not(veAWN Is Nothing)
         Set docAWN = veAWN.Document
'**********************************************************************************************      
         Set PymDocAWN = docAWN.CopyToDatabase( db )
         'Call PymDocAWN.MakeResponse(PymDoc)
         'Call PymDocAWN.ComputeWithForm(False, False)
         Call PymDocAWN.Save(True, True)               
'**********************************************************************************************      
         tmpStunden = docAWN.Stunden(0)
         tmpIstWert = tmpIstWert +tmpStunden
         Set veAWN = vecAWN.getNextEntry(veAWN)
      Wend
      PymDoc.AWNTitel_alt = tmpAWNTitel
   End If
End Function

Function RemoveAll(AWNTitel As String)
   'Löschen alle Aufwand-Dokumente für das Projekt-Dokument in der Db "Projekte"
   tmpIstWert = 0
   Set vecPymAWN = viewPymAWN.GetAllEntriesByKey(AWNTitel, True)      
   Messagebox  "RemoveAll  " & vecPymAWN.Count
   If Not(vecPymAWN.Count = 0) Then
      Set vePymAWN = vecPymAWN.GetFirstEntry()
      While Not(vePymAWN Is Nothing)
         Set PymDocAWN = vePymAWN.Document
         Set docTmp = PymDocAWN      
         Set vePymAWN = vecPymAWN.getNextEntry(vePymAWN)
         docTmp.Remove(True)
         'docTmp.RemovePermanently(True)
      Wend
      PymDoc.awnFlag = ""
      PymDoc.AWNTitel_alt = ""
   End If
End Function

Function Remove6Wo(AWNTitel As String)
'Löschen Aufwand-Dokumente (letzten 6 Wochen) für das Projekt-Dokument   in der Db "Projekte"
   Set vecPymAWN = viewPymAWN6.GetAllEntriesByKey(AWNTitel, True)      
   Messagebox "Remove6Wo  " & vecPymAWN.Count
   If Not(vecPymAWN.Count = 0) Then
      Set vePymAWN = vecPymAWN.GetFirstEntry()
      While Not(vePymAWN Is Nothing)
         Set PymDocAWN = vePymAWN.Document
         tmpStunden = PymDocAWN.Stunden(0)
         tmpIstWert = tmpIstWert - tmpStunden
         Set docTmp = PymDocAWN      
         Set vePymAWN = vecPymAWN.getNextEntry(vePymAWN)
         docTmp.Remove(True)
         'docTmp.RemovePermanently(True)
      Wend
   End If
End Function

Function WerteBerechnung()
'Berechnung von Istwert und IstProzent in dem Projekt-Dokument      
'@If(Schaetzwert = 0;@If(Istwert = 0; 0;100); (Istwert/ Schaetzwert *100))
'@If(istProzent > 100;  "rot"; istProzent <= 75; "gruen"; "gelb")         
   tmpIstWert  = tmpIstWert /8.5   
   If tmpSchaetzWert = 0 Then
      If tmpIstWert = 0 Then
         tmpIstProzent = 0
         tmpIndikator = "gruen"
      Else
         tmpIstProzent = 100
         tmpIndikator = "gelb"
      End If
   Else                        
      tmpIstProzent = tmpIstWert *100/tmpSchaetzWert                  
      If tmpIstProzent > 100 Then
         tmpIndikator = "rot"
      Elseif tmpIstProzent <= 75 Then
         tmpIndikator = "gruen"
      Else
         tmpIndikator = "gelb"
      End If
   End If
End Function

2.
In dem Dokument “Projekt“
Button “Reset“
- löscht alle Aufwand-Dokumente für das Projekt
- aktualisiert die Aufwandschätzung für das Projekt
Button “Löschen und neu laden“
- löscht alle Aufwand-Dokumente für das Projekt
- lädt alle Aufwand-Dokumente für das Projekt aus der Db “Zeitaufwand“ neu
- aktualisiert die Aufwandschätzung für das Projekt


Problem-Beschreibung

TEST mit ComputeWithForm (bzw. auch wenn Aufwand-Dokumente als Response)
Keine Probleme zu erwarten, habe keine Ahnung, wo Du das gelesen hast. Das Schlimmste, was passieren kann, ist, dass es keinen Nutzen hat.
Für alle gelöschte und neu geladenen Aufwand-Dokumenten entstehen bei der Replizierung Replizier- Speicherungskonflikte.
Wobei die Eigenschaft "Konfliktbehandl." in der Maske "aufwand" in der Db “Projekt“  ist auf "Konflikte nicht erstellen" gesetzt.

TEST ohne ComputeWithForm (Aufwand-Dokumente als Document)
Wenn Aufwand-Dokumente (z. B. mit dem Button “Reset“) aus der Replik, wo Agent laufen sollte, gelöscht werden und mit anderer Replik repliziert werden. Dann nach der Ausführung des Agnetes, die Aufwand-Dokumente werden zwar in der Replik geladen, aber replizieren sich nicht in der Replik, wo die schon ein Mal gelöscht waren.
Meiner Meinung nach, liegt es  in Verbindung mit Soft Deletion.
Wobei die Eigenschaft "Wiederherstellbare Löschungen zulassen" nicht aktiviert ist.

Bei meinen Testen habe ich folgendes entdeckt:
Wie bekannt,
hat jedes Dokument in der Lotus Notes Datenbank eine eindeutige ID.
Wenn man repliziert ein Dokument, dann haben die Replik-Dokumente die gleiche ID und diese ID wird von Notes für die Replizierung  benutzt.
Wenn man erstellt eine Kopie (z.B. per copy&paste) von einem Dokument, dann haben die Dokumente verschiedene ID und können nicht repliziert werden. Bei Testen habe ich fest gestellt, dass das gelöschte Dokument und per Script in Agent neu kopiertes Dokument haben absolut gleiche ID. ???
Meiner Meinung nach, genau da liegt das Problem. Ich stelle mir vor, dass Soft Deletion für diese ID in der Db noch vorhanden sind ???


Vielen Dank für jede Hilfe, Tip, Hinweis
Gruesse
Sofia
« Letzte Änderung: 28.06.05 - 17:24:51 von sja »

Offline sja

  • Senior Mitglied
  • ****
  • Beiträge: 328
  • Geschlecht: Weiblich
  • Ich liebe dieses Forum!
Hallo Zusammen,

werde sehr dankbar, wenn jemand sagt mir was dazu:

- ist das sehr komplizierte Fall und nur bezahlte Beratung helfen könnte
oder
- meine Fragen sind sehr dumm, um was dazu man sagen könnte
oder
- meine keine perfekte deutsche Sprache ist so schlecht, dass meine Fragen und Beschreibungen unverständlich und falsch sind. In diesem Fall versuche ich noch Mal formulieren:

Passiert das folgendes nur bei mir?
wenn man erstellt eine Kopie (z.B. per copy&paste) von einem Dokument, dann haben die Original und weitere Kopien verschiedene ID
aber
in einem Script mit CopyToDatabase() alle weitere Kopien haben die gleiche ID.
?
Oder es ist sonicht nur bei mir, sondern allgemein?
Wenn es ist so, dann ob ich richtig verstehe, dass es den Grund für folgendes ist:
-   Replizier- Speicherungskonflikte in dem Fall mit ComputeWithForm
-   Die Dokumente lassen sich nicht mehr replizieren, wenn die Löschungen schon ein Mal repliziert wurden.

Danke viel Mals schon im Voraus für jeden Antwort

Schöne Gruesse
Sofia
« Letzte Änderung: 29.06.05 - 11:17:36 von sja »

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Meine Meinung: Ich denke mal, das liegt ausserhalb der normalen Problematik. Sprich, um Dir helfen zu können, müsste man den Fall selber rekonstruieren und das braucht Zeit. Es liegt auf der Hand, dass man da nicht unbedingt verlangen kann, dass jemand seine Freizeit dafür spendet. Sinnvollerweise wirst Du Dir also Unterstützung einkaufen.
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline sja

  • Senior Mitglied
  • ****
  • Beiträge: 328
  • Geschlecht: Weiblich
  • Ich liebe dieses Forum!
alles klar.

Danke schön

Sofia

Offline sja

  • Senior Mitglied
  • ****
  • Beiträge: 328
  • Geschlecht: Weiblich
  • Ich liebe dieses Forum!
Hallo Zusammen,

ich freue mich riesig mitzuteilen, dass danke Bernhard ist das Problem gelöst!

Zitat von: koehlerbv
Hallo Sofia,

Du schreibst:
Zitat
Bei Testen habe ich fest gestellt, dass das gelöschte Dokument und per Script in Agent neu kopiertes Dokument haben absolut gleiche ID.

Das ist genau richtig und ist auch von den Notes-Machern so vorgesehen: CopyToDatabase bewirkt, dass die Kopie des Dokuments die gleiche UNID behält - also ein Verfahren, dass man innerhalb von Repliken nicht verwenden darf.
Bevor wir jetzt lange probieren, mache doch mal bitte folgendes: Ändere den Code so ab, dass Du ohne CopyToDatabase auskommst (CreateDocument und dann CopyAllItems). Da Du mit CreateDocument innerhalb von Repliken sowieso in Trouble kommst, kann dieses Verfahren zumindest nicht schaden, und Du erzwingst neue UNIDs.

Liebe Grüsse und viel Glück,
Bernhard

Ich habe CopyToDatabase durch CreateDocument und CopyAllItems ersetzt und alles funktioniert ohne Problem.

Bernhard, noch Mal herzlichen unbegrenzten Dank!


Liebe Gruesse
Sofia


 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz