Veröffentlicht Mon, 06 Mar 2023 19:22:26 GMT von Oliver Acker Property Manager
Hallo zusammen,<br> <br> folgendes Problem hat sich eingeschlichen:<br> <br> Wir haben ein Bauteilarchiv, in dem reine Datensätze (keine Dokumente) vorhandnen sind (ca. 40.000 Stück).<br> In diesem Archiv gibt es ein Indexfeld, welches sich &quot;Bauteil-ID&quot; nennt. Eigentlich sollte in diesem Archiv jede ID nur einmal vorkommen (sonst wär es ja keine ID).<br> <br> Leider haben sich ca. 400-500 doppelte Datensätze eingeschlichen.<br> <br> Welche Möglichkeiten stehen uns zur Verfügung, diese zu suchen/löschen?<br> (gerne mit Workflowdesigner).<br> <br> Vielen Dank im Voraus.<br> <br> MfG Oliver A.
Veröffentlicht Tue, 07 Mar 2023 12:26:03 GMT von Frank Meyer Docuplan GmbH & Co. KG | IT-Leiter
Hallo Oliver,<br> <br> ich glaube, wenn man die Ergebnisliste mit den ca. 40.000 Stück nicht ab- oder aufsteigend sortiert manuell durchgucken will, um so Dubletten zu finden und zu löschen, würde ich hier einen ganz anderen Weg gehen.<br> Anhand deiner Beschreibung würde ich die Ergebnisliste aller Bauteil-IDs als CSV-Datei exportieren und dann Excel über hierin eingebaute Funktionen (wie z.B. doppelte Werte hervorheben) die Arbeit machen lassen, die entsprechenden IDs zu finden.<br> Hiernach könntest du dann gezielt die doppelten Datensätze manuell im DocuWare entfernen.<br> Alternativ könnte das ja auch schon durch Excel innerhalb der CSV-Datei durchgeführt werden, aber dann müsstest du danach zuerst alle Datensätze im DocuWare löschen und die Dubletten-bereinigte CSV-Datei wieder importieren usw.<br> <br> Viele Grüße<br> Frank
Veröffentlicht Tue, 07 Mar 2023 13:07:34 GMT von Erich Gegenschatz
Hallo<br> Ich mach's jeweils über einen Autoindex und/der SQL-Select, der mit die doppelten ID's ermittelt und anhand von Kriterien (bsp. kleinere, grössere DWDOCID oder DWSTOREDATETIME) die zu löschenden, resp. zu behaltenden ID's ermittelt.<br> Dazu erstelle ich noch ein separates Index-Feld in Docuware in welches dann anhand des Treffers aus dem SQL im Autoindex einen fixen Wert enhalten soll. Bsp. &quot;zum Löschen&quot;.<br> Dann kann ich mir mal alle Dokumente ansehen und prüfen und danach die mit &quot;zum Löschen&quot; markierten Dokumente über einen Löschworkflow löschen.<br> Bsp: Select: (bitte mit Vorsicht, ich hab's nicht getestet)<br> select A.dwdocid as dowdocid_orig_zum_loeschen, A.Bauteil_ID as A_Bauteil_ID_zum_löschen<br> , B.dwdocid as dwdocid_behalten, B.Bauteil_ID as Bauteil_ID_behalten<br> &#160; FROM &lt;Archivname&gt; A<br> &#160; join &lt;Archivname&gt; B on A.Bauteil_ID = B.Bauteil_ID and A.dwdocid &lt; B.dwdocid&#160;<br> <br> Oder ein Select um die doppelten ID's zu ermitteln:<br> SELECT Bauteil_ID ,COUNT(Bauteil_ID)<br> FROM [dwdata].[dbo].[&lt;archivname&gt;]<br> GROUP BY Bauteil_ID<br> HAVING (COUNT(Bauteil_ID) &gt;= 2)<br> <br> Viele Grüsse<br> Erich<br> &#160;
Veröffentlicht Tue, 07 Mar 2023 13:08:15 GMT von Simon H. Hellmann Toshiba Tec Germany Imaging Systems GmbH IT-Consultant Document Management Solutions
<p>Hallo zusammen,</p> <p>ich würde einen ähnlichen Weg gehen, falls es sich um ein on-premise System handelt.</p> <p>Direkt über die Datenbanktabelle (DWDATA.dbo.&lt;Archivname&gt;) des Archivs einen SELECT Befehl absetzen, welcher direkt die mehrfach verwendeten Nummern auflistet mit Anzahl - ungefähr so:</p> <pre class="linenums prettyprint">SELECT BAUTEIL_ID, COUNT(BAUTEIL_ID) FROM dbo.&lt;Archivname&gt; GROUP BY BAUTEIL_ID HAVING COUNT(BAUTEIL_ID) &gt; 1 ORDER BY BAUTEIL_ID DESC;</pre> <p>(ist ungetestet aus dem Kopf geschrieben, keine Garantie für richtige Syntax.)<br> <br> Gruß aus Neuss,<br> Simon H. Hellmann<br> DocuWare System Consultant</p>
Veröffentlicht Tue, 07 Mar 2023 18:52:03 GMT von Oliver Acker Property Manager
<p>Vielen Dank für die Zahlreichen Antworten.</p> <p>Ähnliche Szenarien habe ich mir ebenfalls überlegt.</p> <p>Allerdings haben wir ein Cloud-System.</p> <p>Wie könnte hier die Abfrage aller doppelten Bauteile stattfinden, um dann die Ergebnisse in ein Indexfeld zu schreiben?</p> <p></p> <p>Vg Oliver A.</p>
Veröffentlicht Tue, 14 Mar 2023 09:54:16 GMT von Timo Bröcher Itarius UG ECM-Consultant
Hallo Herr Acker,<br> <br> das könnte man mit einem Workflow lösen, den man dann auf allen Dokumenten einmal starten müsste um die Dubletten herauszufinden. Dann würde man in die Dubletten einen Indexwert wegschreiben und diese Dokumente löschen.<br> <br> Viele Grüße<br> Timo Bröcher
Veröffentlicht Tue, 14 Mar 2023 10:57:35 GMT von Oliver Acker Property Manager
<p>Hallo Herr Bröcher,</p> <p>das ist erfreulich zu hören, dass dies über einen Workflow stattfinden kann.</p> <p>Wie könnte hierzu ein Beispielcode aussehen?</p>
Veröffentlicht Wed, 15 Mar 2023 12:25:15 GMT von Gerardo Lisanti Team Leader Product Management
Hallo zusammen,<br> <br> für diesen Anwendungsfall ist Autoindex besser geeignet, da die zeitgesteuerte Ausführung im Workflow auf maximal 100 Dokumente pro Lauf begrenzt ist.<br> <br> Autoindex müsste folgendermaßen konfiguriert werden: <ul> <li>Auslöser:&#160;Zeitsteuerung <ul> <li>Ausführung: Nie</li> <li>Filter: &quot;Status&quot; ist leer</li> </ul> </li> <li>Indexdaten: <ul> <li>Quelle: Archivdatenbank (selbes Archiv) <ul> <li>Filter: &quot;Status&quot; ist nicht gleich &quot;zum Löschen&quot;</li> </ul> </li> <li>Matchcode: <ul> <li>&quot;Bauteil-ID&quot; ist gleich &quot;Bauteil-ID&quot;</li> <li>&quot;Doc ID&quot; ist <strong>nicht</strong> gleich &quot;Doc ID&quot;</li> </ul> </li> <li>Abarbeitungsliste: Anhand von Archiv</li> <li>Mehrere Treffer:&#160;Ersten Datensatz für Indexierung verwenden</li> <li>Keine Treffer: Indexierung für Dokument ändern <ul> <li>&quot;Status&quot; Fester Eintrag &quot;OK&quot;</li> </ul> </li> <li>Datenzuweisung: <ul> <li>&quot;Status&quot; Fester Eintrag &quot;zum Löschen&quot;</li> </ul> </li> <li>Zurückschreiben: <ul> <li>Treffer:&#160;Datensätze nicht ändern</li> <li>Keine Treffer:&#160;Datensätze nicht ändern</li> </ul> </li> </ul> </li> </ul> Erläuterung: <ul> <li>Der Autoindex bearbeitet alle Datensätze die noch keinen Status haben&#160;(&quot;Status ist leer&quot;).</li> <li>Die Quelle ist dasselbe Archiv, aber bereinigt.<br> Also nur die Datensätze die keinen Status &quot;zum Löschen&quot; haben, da diese ja bereits als fehlerhaft markiert sind.</li> <li>Der Matchcode für einen Treffer ist, dass die &quot;Bauteil-ID&quot; gleich ist und dass die &quot;Doc ID&quot; unterschiedlich ist.</li> <li>Wenn kein Treffer gefunden wird, gilt der aktuell bearbeitete Datensatz als korrekt&#160;und wird mit dem Status &quot;OK&quot; versehen.</li> <li>Wenn es einen Treffer gibt wird,&#160;gilt der aktuell bearbeitete Datensatz als fehlerhaft und wird mit dem Status &quot;zum Löschen&quot; versehen.</li> </ul> <br> Nachdem Autoindex einmalig (manueller Start) alle vorhandenen Datensätze geprüft hat, empfehle ich den Auslöser von &quot;Zeitsteuerung&quot; auf &quot;Archivereignis&quot; umzustellen: <ul> <li>Archiveriegnis: für neue Dokumente</li> <li>Filter: &quot;Status&quot; ist leer</li> </ul> Somit wird jeder Datensatz diekt nach der Ablage automatisch geprüft. Dadurch ist Verarbeitung schneller und zugleich effiizienter.<br> <br> Mit einer Löschregel kann man regelmäßig (z.B. jede Woche) die fehlerhaften Datensätze (&quot;Status&quot; ist gleich &quot;zum Löschen&quot;) löschen.<br> <br> <br> Viele Grüße / With best regards,<br> --<br> Gerardo Lisanti<br> Product Manager &#160;| &#160;DocuWare GmbH
Veröffentlicht Sat, 18 Mar 2023 13:46:38 GMT von Oliver Acker Property Manager
<p>Vielen Dank für all die Tipps.</p> <p>Folgende &quot;unkomplizierte&quot; Lösung sind mir durch die Ratschäge eingefallen:</p> <p>Schritt 1: Gesamte Bauteil-Archiv als CSV Datei exportieren</p> <p>Schritt 2: Via Excel &quot;doppelte Werte&quot; hervorheben / in neues Blatt kopieren</p> <p>Schritt 2b: in Spalte &quot;Löschstatus&quot; löschen eintragen</p> <p>Schritt 3: neue CSV für Autoindex verwenden. somit wird das Wort &quot;löschen&quot; in das Feld &quot;Löschstatus&quot; geschrieben.</p> <p>Schritt 4: Löschregel erstellen (Bedingung: Wenn im Indexfeld &quot;löschen&quot; vorkommt, dann Dokument/Datensatz löschen)</p> <p>Fertig :-)</p> <p></p> <p>Vielen Dank an Alle.</p>

Sie müssen angemeldet sein um Beiträge in den Foren zu erstellen.