![]() ![]() ![]() ![]() |
|||||||||||||||||||||||
JET DMS Anlage einer Such -und AblagestrukturUm eine standardisierte Struktur zu definieren, ist in Kplus ein Assistent zur Erstellung integriert. Struktur erstellen - Damit wird die Struktur in Kplus für die Ablage und Suche der Dokumente angelegt Kopiervorlage in DMS erzeugen - Mit dieser Schaltfläche wird die Vorlagenstruktur in der DMS erstellt. Diese Struktur passt genau zu der Struktur, welche man mit der Schaltfläche Struktur erstellen definieren kann. Manuelle Anlage einer Struktur Zu verwendende Typen und Basistypen.
Jeder Eintrag kann zusätzlich für eine Abteilung, Auftragsart oder Sparte übersteuert werden. Beispiel: Belege mit der Auftragsart Handel sollen anders abgelegt werden. Der Auftrag soll im Bereich Rechnungswesen\Verkauf\Kunde\ abgelegt werden. Hat man sich entschieden für ein bestimmtes Merkmal (in diesem Beispiel die Sparte) eine andere Ablagestruktur zu definieren, dann muss man für alle Belege die das Betrifft je einen Eintrag machen. Also für jeden Belege der in diesem Auftragsordner landen soll:
Man muss für jeden Beleg definieren wo er in der Struktur abgelegt bzw. gesucht werden soll.
Der Aktendeckel für eine Rechnung ist so definiert: Rechnung [Rechnungsnummer] [Betreff] So wird der Folder für die Aktenablage gesucht. Die ersten drei ebenen sind fix und somit immer gleich zu suchen, den Folder für den Buchstaben nicht beachten, dann beginnend mit der Kundennummer und als letztes den Folder mit dem Namen Rechnungen. Um den Aktendeckel zu suchen wird die Foldersuche um folgendes erweitert: /Object[contains(@Name,'[Belegnummer]')] Die komplette Aktendeckelsuche sieht dann so aus: <JDMS_SUCHE_BELEGFOLDER>/Object[contains(@Name,'[Belegnummer]')] oder so //Folder[@Name='02 Rechnungswesen']/Folder[@Name='Verkauf']/Folder[@Name='Kunden']/Folder/Folder[starts-with(@Name,'[Kundennummer]')]/Folder[@Name='Rechnungen']/Object[contains(@Name,'[Belegnummer]')] Beide Varianten sind richtig, wobei die erste den Vorteil hat dass man weniger verwalten muss. Besondere Funktionen
Es macht absolut Sinn einen Basisidatensatz zu erstellen und dann auf diesen zu verweisen. Beispiel Kunde: Calculate JDMS_TYP as "KundeBasis" Calculate JDMS_SUCHE_BELEGFOLDER as con("//Folder[@Name='","03 Rechnungswesen","']","/Folder[@Name='","01 Kunden","']","/Folder","/Folder[starts-with(@Name,'","[KtoNr] ","')]") ;; deckfoldersuche Calculate JDMS_ABLAGE_BELEGFOLDER as con("03 Rechnungswesen","\","01 Kunden","\[Buchstabe]\[KtoNr] [KundenName]") Ein anderer Datensatz würde dann so darauf verweisen: Calculate JDMS_SUCHE_BELEGFOLDER as "..{KundeBasis}" Calculate JDMS_ABLAGE_BELEGFOLDER as con("..{KundeBasis}","\Jahr]") oder kombiniert mit einer weiteren Suche Calculate JDMS_SUCHE_BELEGFOLDER as con("..{KundeBasis}" ,"/Folder[contains(@Name,'","[Jahr]","')]") Calculate JDMS_ABLAGE_BELEGFOLDER as con("..{KundeBasis}","\Jahr]") Wenn Sie die Felder aus den übergeordneten Basisdaten verwenden, dann müssen Sie auch sicherstellen, dass die Variablen Felder alle vorhanden sind. Beispielcode zur Anlage der Vorlageneinträge Clear selected files {D_JETDMS_VORLAGEN} Calculate JDMS_TYP as "Auftrag" Calculate JDMS_FELD1 as "KostenstellenNr=[AUF_BELEGNR]" Calculate JDMS_FELD2 as "KostenstellenName=[AUF_NAME1]" Calculate JDMS_FELD3 as "Jahr=[jst(AUF_EDATUM,'D:y')]" Calculate JDMS_FELD4 as "Kst=[AUF_BEZUG]" Calculate JDMS_FELD5 as "Auftragsnummer=[AUF_BELEGNR]" Calculate JDMS_ABLAGE_BELEGFOLDER as con(F_ZIELPFAD_VERKAUF,"\[Jahr]\","[KostenstellenNr] [KostenstellenName]") Calculate JDMS_SUCHE_BELEGFOLDER as con("//Folder[contains(@Name,'",F_ZIELPFAD_VERKAUF,"')]","/Folder","/Folder[contains(@Name,'","[KostenstellenNr]","')]") ;; Auftragdeckfoldersuche Calculate JDMS_ABLAGE_AKT as "Auftag [Auftragsnummer] [KostenstellenName]" Calculate JDMS_SUCHE_AKT as con(JDMS_SUCHE_BELEGFOLDER,"/Object[contains(@Name,'","[Auftragsnummer]","')]") Calculate JDMS_SUCHE_NACH_AKT as 0 Calculate JDMS_ABLAGE as 1 Call procedure Kplus_SQL/130 (999,"D_JETDMS_VORLAGEN") {kSQL insert table} ; Kopiervorlage Clear selected files {D_JETDMS_VORLAGEN} Calculate JDMS_TYP as "Auftrag" Calculate JDMS_FELD1 as "KostenstellenNr=[AUF_BELEGNR]" Calculate JDMS_FELD2 as "KostenstellenName=[AUF_NAME1]" Calculate JDMS_FELD3 as "Jahr=[jst(AUF_EDATUM,'D:y')]" Calculate JDMS_FELD4 as "Kst=[AUF_BEZUG]" Calculate JDMS_QUELLPFAD as con(F_KOPIERVORLAGE_ROOT,"\Projekte\GroßBaustelle\[Jahr]") Calculate JDMS_ZIELPFAD as F_ZIELPFAD_VERKAUF Calculate JDMS_SUCHE_BELEGFOLDER as con("//Folder[@Name='",F_ZIELPFAD_VERKAUF,"']","/Folder","/Folder[contains(@Name,'","[KostenstellenNr]","')]","/Folder[starts-with(@Name,'00')]") ;; Auftragdeckfoldersuche Calculate JDMS_SUCHE_AKT as con(JDMS_SUCHE_BELEGFOLDER,"/Object[contains(@Name,'","[Belegnummer]","')]") Calculate JDMS_KOPIERVORLAGE as 1 Call procedure Kplus_SQL/130 (999,"D_JETDMS_VORLAGEN") {kSQL insert table} Clear selected files {D_JETDMS_VORLAGEN} Calculate JDMS_TYP as "Kunde" Calculate JDMS_TYP_BASIS as "" Calculate JDMS_FELD1 as "KtoNr=[KD_NUMMER]" Calculate JDMS_FELD2 as "Buchstabe=[upp(mid(KD_NAME1,1,1))]" Calculate JDMS_FELD3 as "KundenName=[KD_NAME1]" Calculate JDMS_FELD4 as "Jahr=[jst(#D,'D:y')]" Calculate JDMS_SUCHE_BELEGFOLDER as con("//Folder[@Name='",L_ROOT_OHNE_AUFTRAG1,"']","/Folder[@Name='",L_ROOT_OHNE_AUFTRAG2,"']","/Folder","/Folder[contains(@Name,'","[KtoNr]","')]") ;; deckfoldersuche Calculate JDMS_ABLAGE_BELEGFOLDER as con(L_ROOT_OHNE_AUFTRAG1,"\",L_ROOT_OHNE_AUFTRAG2,"\[Buchstabe]\[KtoNr] [KundenName]") Calculate JDMS_SUCHE_AKT as JDMS_SUCHE_BELEGFOLDER Calculate JDMS_ABLAGE_AKT as "[KtoNr] [KundenName]" (All windows) Calculate JDMS_SUCHE_NACH_AKT as 0 Calculate JDMS_ABLAGE as 1 Call procedure Kplus_SQL/130 (999,"D_JETDMS_VORLAGEN") {kSQL insert table} Clear selected files {D_JETDMS_VORLAGEN} Calculate JDMS_TYP as "Rechnung" Calculate JDMS_TYP_BASIS as "Auftrag" Calculate JDMS_FELD1 as "KostenstellenNr=[AUF_BELEGNR]" Calculate JDMS_FELD2 as "KostenstellenName=[AUF_NAME1]" Calculate JDMS_FELD3 as "Jahr=[jst(AUF_EDATUM,'D:y')]" Calculate JDMS_FELD4 as "Kst=[AUF_BEZUG]" Calculate JDMS_FELD5 as "Belegnummer=[RGK_BELEGNR]" Calculate JDMS_FELD6 as "KtoNr=[RGK_KDNR]" Calculate JDMS_FELD7 as "KundenName=[RGK_NAME1]" Calculate JDMS_FELD8 as "Betreff=[RGK_Betreff]" Calculate JDMS_QUELLPFAD as "" Calculate JDMS_ZIELPFAD as "" Calculate JDMS_SUCHE_BELEGFOLDER as con("..","/Folder[contains(@Name,'08')]","/Folder[contains(@Name,'82')]") Calculate JDMS_SUCHE_AKT as con("<JDMS_SUCHE_BELEGFOLDER>","/Object[contains(@Name,'","[Belegnummer]","')]") Calculate JDMS_ABLAGE_BELEGFOLDER as con("..","\08 Rechnungen\82 Ausgangsrechnungen") Calculate JDMS_ABLAGE_AKT as "Rechnung [Belegnummer] [Betreff]" Calculate JDMS_KOPIERVORLAGE as 0 Calculate JDMS_SUCHE_NACH_AKT as 1 Calculate JDMS_ABLAGE as 1 Call procedure Kplus_SQL/130 (999,"D_JETDMS_VORLAGEN") {kSQL insert table} Clear selected files {D_JETDMS_VORLAGEN} Calculate JDMS_TYP as "Rechnung" Calculate JDMS_TYP_BASIS as "" Calculate JDMS_FELD1 as "KtoNr=[RGK_KDNR]" Calculate JDMS_FELD2 as "Kst=[AUF_BEZUG]" Calculate JDMS_FELD3 as "Belegnummer=[RGK_BELEGNR]" Calculate JDMS_FELD4 as "Betreff=[RGK_Betreff]" Calculate JDMS_FELD5 as "Buchstabe=[upp(mid(RGK_NAME1,1,1))]" Calculate JDMS_FELD6 as "Name=[RGK_NAME1]" Calculate JDMS_QUELLPFAD as "" Calculate JDMS_ZIELPFAD as "" Calculate JDMS_SUCHE_BELEGFOLDER as con("..{Kunde,}","/Folder[starts-with(@Name,'02')]") ;; deckfoldersuche Rechnung Kunde ohne Auftragsbezug Calculate JDMS_ABLAGE_BELEGFOLDER as con("..{Kunde,}","\02 Rechnungen") Calculate JDMS_SUCHE_AKT as con("<JDMS_SUCHE_BELEGFOLDER>","/Object[contains(@Name,'","[Belegnummer]","')]") Calculate JDMS_ABLAGE_AKT as "Rechnung [Belegnummer] [Betreff]" Calculate JDMS_KOPIERVORLAGE as 0 Calculate JDMS_SUCHE_NACH_AKT as 1 Calculate JDMS_ABLAGE as 1 Call procedure Kplus_SQL/130 (999,"D_JETDMS_VORLAGEN") {kSQL insert table}
Jet DMS KopiervorlagenBei Kopiervorlagen werden folgende Felder verwendet
|
|||||||||||||||||||||||
Zum Seitenanfang |
![]() ![]() |
||||||||||||||||||||||
|