666 lines
27 KiB
Plaintext
666 lines
27 KiB
Plaintext
' VB Script Document
|
|
'
|
|
' Export Script for WinLine documents.
|
|
' Configuration has to be done in the additional fields in the "WinLine Mandantenstamm"
|
|
'
|
|
' Digital Data
|
|
' Ludwig-Rinn-Straße 16
|
|
' 35452 Heuchelheim
|
|
' Tel.: 0641 / 202360
|
|
' E-Mail: info(at)didalog.de
|
|
'
|
|
' Version Number: 1.0.1.0
|
|
' Version Date: 15.07.2019
|
|
|
|
On Error Resume Next
|
|
|
|
'#-----------------------------------------------------------------------------------------------------#
|
|
'############################################ set variables ############################################
|
|
'#-----------------------------------------------------------------------------------------------------#
|
|
|
|
DIM DateTime, SplitChar, ReplaceSpecialChar, DocExtension, DocVersion, DocVersionSeparator, DocType, MandatorShortName, DocAccountNumber, DocAANGExportPath, DocAABExportPath, DocALSExportPath, DocAREExportPath
|
|
DIM FileSystemObject, Shell, DocAANGConvention, DocAABConvention, DocALSConvention, DocAREConvention, DocAANGNumber, DocAABNumber, DocALSNumber, DocARENumber, DocTargetPath, DocTargetFileName, FullPath
|
|
SET FileSystemObject = CreateObject("Scripting.FileSystemObject")
|
|
SET Shell = CreateObject("WScript.Shell")
|
|
|
|
'Standard / default variables.
|
|
DateTime = now
|
|
SplitChar = "|"
|
|
ReplaceSpecialChar = " "
|
|
DocExtension = ".pdf"
|
|
DocExportCheck = "true"
|
|
DocExportCheckTry = 0
|
|
DocExportCheckMaxTrys = 10
|
|
DocVersion = 1
|
|
DocVersionSeparator = "~"
|
|
Timestamp = ((year(DateTime)*100 + month(DateTime))*100 + day(DateTime))*10000 + hour(DateTime)*100 + minute(DateTime)
|
|
DocType = Value (25,139) 'WinLine Belegstufe
|
|
RecordNumber = Value (25,22) 'WinLine Laufnummer
|
|
PostingType = Value (357,6) 'WinLine Buchungsart (Debitorisch = 1 / Kreditorisch = 2)
|
|
Amount = Value (0,201) 'WinLine Betrag (Artikel, Gutschrift)
|
|
MandatorShortName = TRIM(CSTR(Value (1,200))) 'WinLine Mandantenkürzel (individual Feld)
|
|
DocAccountNumber = TRIM(CSTR(Value (0,30))) 'WinLine Kontonummer (Debitor / Kreditor)
|
|
DocAANGNumber = TRIM(CSTR(Value (0,34))) 'WinLine Angebotsnummer
|
|
DocAABNumber = TRIM(CSTR(Value (0,35))) 'WinLine Auftragsnummer
|
|
DocALSNumber = TRIM(CSTR(Value (0,36))) 'WinLine Lieferscheinnummer
|
|
DocARENumber = TRIM(CSTR(Value (0,37))) 'WinLine Rechnungsnummer
|
|
DocAANFNumber = TRIM(CSTR(Value (0,34))) 'WinLine Anfragennummer
|
|
DocABENumber = TRIM(CSTR(Value (0,35))) 'WinLine Bestellnummer
|
|
DocAANGExportPath = TRIM(CSTR(Split(Value (1,201),SplitChar)(0))) 'WinLine Exportpfad für Angebote (individual Feld)
|
|
DocAABExportPath = TRIM(CSTR(Split(Value (1,202),SplitChar)(0))) 'WinLine Exportpfad für Aufträge (individual Feld)
|
|
DocALSExportPath = TRIM(CSTR(Split(Value (1,203),SplitChar)(0))) 'WinLine Exportpfad für Lieferscheine (individual Feld)
|
|
DocAREExportPath = TRIM(CSTR(Split(Value (1,204),SplitChar)(0))) 'WinLine Exportpfad für Rechnungen (individual Feld)
|
|
DocAGUExportPath = TRIM(CSTR(Split(Value (1,205),SplitChar)(0))) 'WinLine Exportpfad für Gutschriften (individual Feld)
|
|
DocAANFExportPath = TRIM(CSTR(Split(Value (1,206),SplitChar)(0))) 'WinLine Exportpfad für Anfragen (individual Feld)
|
|
DocABEExportPath = TRIM(CSTR(Split(Value (1,207),SplitChar)(0))) 'WinLine Exportpfad für Bestellungen (individual Feld)
|
|
DocAANGConvention = TRIM(CSTR(Split(Value (1,201),SplitChar)(1))) 'WinLine Benennungsschema für Angebote (individual Feld)
|
|
DocAABConvention = TRIM(CSTR(Split(Value (1,202),SplitChar)(1))) 'WinLine Benennungsschema für Aufträge (individual Feld)
|
|
DocALSConvention = TRIM(CSTR(Split(Value (1,203),SplitChar)(1))) 'WinLine Benennungsschema für Lieferscheine (individual Feld)
|
|
DocAREConvention = TRIM(CSTR(Split(Value (1,204),SplitChar)(1))) 'WinLine Benennungsschema für Rechnungen (individual Feld)
|
|
DocAGUConvention = TRIM(CSTR(Split(Value (1,205),SplitChar)(1))) 'WinLine Benennungsschema für Gutschriften (individual Feld)
|
|
DocAANFConvention = TRIM(CSTR(Split(Value (1,206),SplitChar)(1))) 'WinLine Benennungsschema für Anfragen (individual Feld)
|
|
DocABEConvention = TRIM(CSTR(Split(Value (1,207),SplitChar)(1))) 'WinLine Benennungsschema für Bestellungen (individual Feld)
|
|
|
|
MandatorSpecificVarCount = 50
|
|
MandatorSpecificVarCounter = 0
|
|
|
|
i = 1 : s = ""
|
|
'Loop for mass declaration of Mandator specific Variables
|
|
DO
|
|
s = s & i '& ", "
|
|
MandatorSpecificVarCounter = MandatorSpecificVarCounter+1
|
|
|
|
msgbox i
|
|
LOOP WHILE MandatorSpecificVarCounter < MandatorSpecificVarCount
|
|
|
|
|
|
MandatorShortName = TRIM(CSTR(Value (1,200))) 'WinLine Mandantenkürzel (individual Feld)
|
|
MandatorShortName = TRIM(CSTR(Value (1,201))) 'WinLine Mandantenkürzel (individual Feld)
|
|
MandatorShortName = TRIM(CSTR(Value (1,202))) 'WinLine Mandantenkürzel (individual Feld)
|
|
MandatorShortName = TRIM(CSTR(Value (1,203))) 'WinLine Mandantenkürzel (individual Feld)
|
|
MandatorShortName = TRIM(CSTR(Value (1,204))) 'WinLine Mandantenkürzel (individual Feld)
|
|
MandatorShortName = TRIM(CSTR(Value (1,205))) 'WinLine Mandantenkürzel (individual Feld)
|
|
MandatorShortName = TRIM(CSTR(Value (1,206))) 'WinLine Mandantenkürzel (individual Feld)
|
|
MandatorShortName = TRIM(CSTR(Value (1,207))) 'WinLine Mandantenkürzel (individual Feld)
|
|
MandatorShortName = TRIM(CSTR(Value (1,208))) 'WinLine Mandantenkürzel (individual Feld)
|
|
MandatorShortName = TRIM(CSTR(Value (1,209))) 'WinLine Mandantenkürzel (individual Feld)
|
|
MandatorShortName = TRIM(CSTR(Value (1,210))) 'WinLine Mandantenkürzel (individual Feld)
|
|
MandatorShortName = TRIM(CSTR(Value (1,211))) 'WinLine Mandantenkürzel (individual Feld)
|
|
MandatorShortName = TRIM(CSTR(Value (1,212))) 'WinLine Mandantenkürzel (individual Feld)
|
|
MandatorShortName = TRIM(CSTR(Value (1,213))) 'WinLine Mandantenkürzel (individual Feld)
|
|
MandatorShortName = TRIM(CSTR(Value (1,214))) 'WinLine Mandantenkürzel (individual Feld)
|
|
MandatorShortName = TRIM(CSTR(Value (1,215))) 'WinLine Mandantenkürzel (individual Feld)
|
|
MandatorShortName = TRIM(CSTR(Value (1,216))) 'WinLine Mandantenkürzel (individual Feld)
|
|
MandatorShortName = TRIM(CSTR(Value (1,217))) 'WinLine Mandantenkürzel (individual Feld)
|
|
MandatorShortName = TRIM(CSTR(Value (1,218))) 'WinLine Mandantenkürzel (individual Feld)
|
|
MandatorShortName = TRIM(CSTR(Value (1,219))) 'WinLine Mandantenkürzel (individual Feld)
|
|
MandatorShortName = TRIM(CSTR(Value (1,220))) 'WinLine Mandantenkürzel (individual Feld)
|
|
MandatorShortName = TRIM(CSTR(Value (1,221))) 'WinLine Mandantenkürzel (individual Feld)
|
|
MandatorShortName = TRIM(CSTR(Value (1,222))) 'WinLine Mandantenkürzel (individual Feld)
|
|
MandatorShortName = TRIM(CSTR(Value (1,223))) 'WinLine Mandantenkürzel (individual Feld)
|
|
MandatorShortName = TRIM(CSTR(Value (1,224))) 'WinLine Mandantenkürzel (individual Feld)
|
|
MandatorShortName = TRIM(CSTR(Value (1,225))) 'WinLine Mandantenkürzel (individual Feld)
|
|
MandatorShortName = TRIM(CSTR(Value (1,226))) 'WinLine Mandantenkürzel (individual Feld)
|
|
MandatorShortName = TRIM(CSTR(Value (1,227))) 'WinLine Mandantenkürzel (individual Feld)
|
|
MandatorShortName = TRIM(CSTR(Value (1,228))) 'WinLine Mandantenkürzel (individual Feld)
|
|
MandatorShortName = TRIM(CSTR(Value (1,229))) 'WinLine Mandantenkürzel (individual Feld)
|
|
MandatorShortName = TRIM(CSTR(Value (1,230))) 'WinLine Mandantenkürzel (individual Feld)
|
|
MandatorShortName = TRIM(CSTR(Value (1,231))) 'WinLine Mandantenkürzel (individual Feld)
|
|
MandatorShortName = TRIM(CSTR(Value (1,232))) 'WinLine Mandantenkürzel (individual Feld)
|
|
MandatorShortName = TRIM(CSTR(Value (1,233))) 'WinLine Mandantenkürzel (individual Feld)
|
|
MandatorShortName = TRIM(CSTR(Value (1,234))) 'WinLine Mandantenkürzel (individual Feld)
|
|
MandatorShortName = TRIM(CSTR(Value (1,235))) 'WinLine Mandantenkürzel (individual Feld)
|
|
MandatorShortName = TRIM(CSTR(Value (1,236))) 'WinLine Mandantenkürzel (individual Feld)
|
|
MandatorShortName = TRIM(CSTR(Value (1,237))) 'WinLine Mandantenkürzel (individual Feld)
|
|
MandatorShortName = TRIM(CSTR(Value (1,238))) 'WinLine Mandantenkürzel (individual Feld)
|
|
MandatorShortName = TRIM(CSTR(Value (1,239))) 'WinLine Mandantenkürzel (individual Feld)
|
|
MandatorShortName = TRIM(CSTR(Value (1,240))) 'WinLine Mandantenkürzel (individual Feld)
|
|
|
|
'Costumer variables - dont forget to add the replace function in the lower preparing part.
|
|
'VarName = mesoField 'Description
|
|
|
|
'#-----------------------------------------------------------------------------------------------------#
|
|
'########################################### preparing part ############################################
|
|
'#-----------------------------------------------------------------------------------------------------#
|
|
|
|
'Retrive Document Type (0 = Vorschau).
|
|
IF (DocType = 0) THEN
|
|
|
|
'Nothing will happen, its just a Preview ;-)
|
|
|
|
'Retrive Document Type (1 = Angebot/Anfrage). Depending on it, the Targetpath and Targetfilename.
|
|
ELSEIF (DocType = 1) THEN)
|
|
|
|
'If document is for a debtor.
|
|
IF (PostingType = 1) THEN
|
|
|
|
'If ExportPath has content
|
|
IF NOT (IsEmpty(DocAANGExportPath) Or IsNull(DocAANGExportPath) Or DocAANGExportPath = "") THEN
|
|
|
|
DocTargetPath = DocAANGExportPath
|
|
|
|
'If ExportPath has no content, fallback on the general WinLine network path.
|
|
ELSE
|
|
|
|
DocTargetPath = "%NETWORK%"
|
|
|
|
END IF
|
|
|
|
'If Convention has content.
|
|
IF NOT (IsEmpty(DocAANGConvention) Or IsNull(DocAANGConvention) Or DocAANGConvention = "") THEN
|
|
|
|
DocTargetFileName = DocAANGConvention
|
|
|
|
'If Convention AND ExportPath had both no content.
|
|
ELSEIF (DocTargetPath = "%NETWORK%") THEN
|
|
|
|
DocTargetFileName = Nothing
|
|
|
|
'If ExportPath has content, but Convention hasnt.
|
|
ELSE
|
|
|
|
MSGBOX("Ungültige Export Dateinamens Einstellung für Ausgangsangebote. FailSafe ist AANG_" & DocAccountNumber & "_" & Timestamp & ".pdf" & "!")
|
|
DocTargetFileName = "AANG_" & DocAccountNumber & Timestamp
|
|
|
|
END IF
|
|
|
|
'If document is for a creditor.
|
|
ELSEIF (PostingType = 2) THEN
|
|
|
|
'If ExportPath has content
|
|
IF NOT (IsEmpty(DocAANFExportPath) Or IsNull(DocAANFExportPath) Or DocAANFExportPath = "") THEN
|
|
|
|
DocTargetPath = DocAANFExportPath
|
|
|
|
'If ExportPath has no content, fallback on the general WinLine network path.
|
|
ELSE
|
|
|
|
DocTargetPath = "%NETWORK%"
|
|
|
|
END IF
|
|
|
|
'If Convention has content.
|
|
IF NOT (IsEmpty(DocAANFConvention) Or IsNull(DocAANFConvention) Or DocAANFConvention = "") THEN
|
|
|
|
DocTargetFileName = DocAANFConvention
|
|
|
|
'If Convention AND ExportPath had both no content.
|
|
ELSEIF (DocTargetPath = "%NETWORK%") THEN
|
|
|
|
DocTargetFileName = Nothing
|
|
|
|
'If ExportPath has content, but Convention hasnt.
|
|
ELSE
|
|
|
|
MSGBOX("Ungültige Export Dateinamens Einstellung für Ausgangsanfragen. FailSafe ist AANF_" & DocAccountNumber & "_" & Timestamp & ".pdf" & "!")
|
|
DocTargetFileName = "AANF_" & DocAccountNumber & Timestamp
|
|
|
|
END IF
|
|
|
|
'If document is not for a debtor or creditor.
|
|
ELSE
|
|
|
|
MSGBOX("Undefinierte Export Einstellung! Abbruch des Exports.")
|
|
|
|
END IF
|
|
|
|
'########## working on it'#########
|
|
'Retrive Document Type (10 = StornoAngebot/Anfrage). Depending on it, the Targetpath and Targetfilename.
|
|
ELSEIF (DocType = 1) THEN)
|
|
|
|
'If document is for a debtor.
|
|
IF (PostingType = 1) THEN
|
|
|
|
'If ExportPath has content
|
|
IF NOT (IsEmpty(DocAANGExportPath) Or IsNull(DocAANGExportPath) Or DocAANGExportPath = "") THEN
|
|
|
|
DocTargetPath = DocAANGExportPath
|
|
|
|
'If ExportPath has no content, fallback on the general WinLine network path.
|
|
ELSE
|
|
|
|
DocTargetPath = "%NETWORK%"
|
|
|
|
END IF
|
|
|
|
'If Convention has content.
|
|
IF NOT (IsEmpty(DocAANGConvention) Or IsNull(DocAANGConvention) Or DocAANGConvention = "") THEN
|
|
|
|
DocTargetFileName = DocAANGConvention
|
|
|
|
'If Convention AND ExportPath had both no content.
|
|
ELSEIF (DocTargetPath = "%NETWORK%") THEN
|
|
|
|
DocTargetFileName = Nothing
|
|
|
|
'If ExportPath has content, but Convention hasnt.
|
|
ELSE
|
|
|
|
MSGBOX("Ungültige Export Dateinamens Einstellung für Ausgangsangebote. FailSafe ist AANG_" & DocAccountNumber & "_" & Timestamp & ".pdf" & "!")
|
|
DocTargetFileName = "AANG_" & DocAccountNumber & Timestamp
|
|
|
|
END IF
|
|
|
|
'If document is for a creditor.
|
|
ELSEIF (PostingType = 2) THEN
|
|
|
|
'If ExportPath has content
|
|
IF NOT (IsEmpty(DocAANFExportPath) Or IsNull(DocAANFExportPath) Or DocAANFExportPath = "") THEN
|
|
|
|
DocTargetPath = DocAANFExportPath
|
|
|
|
'If ExportPath has no content, fallback on the general WinLine network path.
|
|
ELSE
|
|
|
|
DocTargetPath = "%NETWORK%"
|
|
|
|
END IF
|
|
|
|
'If Convention has content.
|
|
IF NOT (IsEmpty(DocAANFConvention) Or IsNull(DocAANFConvention) Or DocAANFConvention = "") THEN
|
|
|
|
DocTargetFileName = DocAANFConvention
|
|
|
|
'If Convention AND ExportPath had both no content.
|
|
ELSEIF (DocTargetPath = "%NETWORK%") THEN
|
|
|
|
DocTargetFileName = Nothing
|
|
|
|
'If ExportPath has content, but Convention hasnt.
|
|
ELSE
|
|
|
|
MSGBOX("Ungültige Export Dateinamens Einstellung für Ausgangsanfragen. FailSafe ist AANF_" & DocAccountNumber & "_" & Timestamp & ".pdf" & "!")
|
|
DocTargetFileName = "AANF_" & DocAccountNumber & Timestamp
|
|
|
|
END IF
|
|
|
|
'If document is not for a debtor or creditor.
|
|
ELSE
|
|
|
|
MSGBOX("Undefinierte Export Einstellung! Abbruch des Exports.")
|
|
|
|
END IF
|
|
|
|
|
|
'########## working on it
|
|
|
|
|
|
'Retrive Document Type (2 = Auftrag/Bestellung). Depending on it, the Targetpath and Targetfilename.
|
|
ELSEIF (DocType = 2) THEN
|
|
|
|
'If document is for a debtor.
|
|
IF (PostingType = 1) THEN
|
|
|
|
'If ExportPath has content
|
|
IF NOT (IsEmpty(DocAABExportPath) Or IsNull(DocAABExportPath) Or DocAABExportPath = "") THEN
|
|
|
|
DocTargetPath = DocAABExportPath
|
|
|
|
'If ExportPath has no content, try to exit. But exit wont work, so fallback on the general WinLine network path.
|
|
ELSE
|
|
|
|
DocTargetPath = "%NETWORK%"
|
|
|
|
END IF
|
|
|
|
'If Convention has content.
|
|
IF NOT (IsEmpty(DocAABConvention) Or IsNull(DocAABConvention) Or DocAABConvention = "") THEN
|
|
|
|
DocTargetFileName = DocAABConvention
|
|
|
|
'If Convention AND ExportPath had both no content.
|
|
ELSEIF (DocTargetPath = "%NETWORK%") THEN
|
|
|
|
DocTargetFileName = Nothing
|
|
|
|
'If ExportPath has content, but Convention hasnt.
|
|
ELSE
|
|
|
|
MSGBOX("Ungültige Export Dateinamens Einstellung für Ausgangsauftragsbestätgrechnungen. FailSafe ist AAB_" & DocAccountNumber & "_" & Timestamp & ".pdf" & "!")
|
|
DocTargetFileName = "AAB_" & DocAccountNumber & Timestamp
|
|
|
|
END IF
|
|
|
|
'If document is for a creditor.
|
|
ELSEIF (PostingType = 2) THEN
|
|
|
|
'If ExportPath has content
|
|
IF NOT (IsEmpty(DocABEExportPath) Or IsNull(DocABEExportPath) Or DocABEExportPath = "") THEN
|
|
|
|
DocTargetPath = DocABEExportPath
|
|
|
|
'If ExportPath has no content, fallback on the general WinLine network path.
|
|
ELSE
|
|
|
|
DocTargetPath = "%NETWORK%"
|
|
|
|
END IF
|
|
|
|
'If Convention has content.
|
|
IF NOT (IsEmpty(DocABEConvention) Or IsNull(DocABEConvention) Or DocABEConvention = "") THEN
|
|
|
|
DocTargetFileName = DocABEConvention
|
|
|
|
'If Convention AND ExportPath had both no content.
|
|
ELSEIF (DocTargetPath = "%NETWORK%") THEN
|
|
|
|
DocTargetFileName = Nothing
|
|
|
|
'If ExportPath has content, but Convention hasnt.
|
|
ELSE
|
|
|
|
MSGBOX("Ungültige Export Dateinamens Einstellung für Ausgangsbestellungen. FailSafe ist ABE_" & DocAccountNumber & "_" & Timestamp & ".pdf" & "!")
|
|
DocTargetFileName = "ABE_" & DocAccountNumber & Timestamp
|
|
|
|
END IF
|
|
|
|
'If document is not for a debtor or creditor.
|
|
ELSE
|
|
|
|
MSGBOX("Undefinierte Export Einstellung! Abbruch des Exports.")
|
|
|
|
END IF
|
|
|
|
'Retrive Document Type (3 = Lieferschein / -3 = Teillieferschein). Depending on it, the Targetpath and Targetfilename.
|
|
ELSEIF (DocType = 3 OR DocType = -3) THEN
|
|
|
|
'If document is for a debtor.
|
|
IF (PostingType = 1) THEN
|
|
|
|
'If ExportPath has content
|
|
IF NOT (IsEmpty(DocALSExportPath) Or IsNull(DocALSExportPath) Or DocALSExportPath = "") THEN
|
|
|
|
DocTargetPath = DocALSExportPath
|
|
|
|
'If ExportPath has no content, try to exit. But exit wont work, so fallback on the general WinLine network path.
|
|
ELSE
|
|
|
|
DocTargetPath = "%NETWORK%"
|
|
|
|
END IF
|
|
|
|
'If Convention has content.
|
|
IF NOT (IsEmpty(DocALSConvention) Or IsNull(DocALSConvention) Or DocALSConvention = "") THEN
|
|
|
|
DocTargetFileName = DocALSConvention
|
|
|
|
'If Convention AND ExportPath had both no content.
|
|
ELSEIF (DocTargetPath = "%NETWORK%") THEN
|
|
|
|
DocTargetFileName = Nothing
|
|
|
|
'If ExportPath has content, but Convention hasnt.
|
|
ELSE
|
|
|
|
MSGBOX("Ungültige Export Dateinamens Einstellung für Ausgangslieferscheine. FailSafe ist ALS_" & DocAccountNumber & "_" & Timestamp & ".pdf" & "!")
|
|
DocTargetFileName = "ALS_" & DocAccountNumber & Timestamp
|
|
|
|
END IF
|
|
|
|
'If document is for a creditor.
|
|
ELSEIF (PostingType = 2) THEN
|
|
|
|
'########################################### Currently not implemented ###########################################
|
|
|
|
'If document is not for a debtor or creditor.
|
|
ELSE
|
|
|
|
MSGBOX("Undefinierte Export Einstellung! Abbruch des Exports.")
|
|
|
|
END IF
|
|
|
|
'Retrive Document Type (4 = Rechnung). Depending on it, the Targetpath and Targetfilename.
|
|
ELSEIF (DocType = 4) THEN
|
|
|
|
'If document is for a debtor.
|
|
IF (PostingType = 1) THEN
|
|
|
|
IF (LEFT(Amount,1) = "-") THEN
|
|
|
|
'If ExportPath has content
|
|
IF NOT (IsEmpty(DocAGUExportPath) Or IsNull(DocAGUExportPath) Or DocAGUExportPath = "") THEN
|
|
|
|
DocTargetPath = DocAGUExportPath
|
|
|
|
'If ExportPath has no content, try to exit. But exit wont work, so fallback on the general WinLine network path.
|
|
ELSE
|
|
|
|
DocTargetPath = "%NETWORK%"
|
|
|
|
END IF
|
|
|
|
'If Convention has content.
|
|
IF NOT (IsEmpty(DocAGUConvention) Or IsNull(DocAGUConvention) Or DocAGUConvention = "") THEN
|
|
|
|
DocTargetFileName = DocAGUConvention
|
|
|
|
'If Convention AND ExportPath had both no content.
|
|
ELSEIF (DocTargetPath = "%NETWORK%") THEN
|
|
|
|
DocTargetFileName = Nothing
|
|
|
|
'If ExportPath has content, but Convention hasnt.
|
|
ELSE
|
|
|
|
MSGBOX("Ungültige Export Dateinamens Einstellung für Ausgangsgutschriften. FailSafe ist AGU_" & DocAccountNumber & "_" & Timestamp & ".pdf" & "!")
|
|
DocTargetFileName = "AGU_" & DocAccountNumber & Timestamp
|
|
|
|
END IF
|
|
|
|
ELSE
|
|
|
|
'If ExportPath has content
|
|
IF NOT (IsEmpty(DocAREExportPath) Or IsNull(DocAREExportPath) Or DocAREExportPath = "") THEN
|
|
|
|
DocTargetPath = DocAREExportPath
|
|
|
|
'If ExportPath has no content, try to exit. But exit wont work, so fallback on the general WinLine network path.
|
|
ELSE
|
|
|
|
DocTargetPath = "%NETWORK%"
|
|
|
|
END IF
|
|
|
|
'If Convention has content.
|
|
IF NOT (IsEmpty(DocAREConvention) Or IsNull(DocAREConvention) Or DocAREConvention = "") THEN
|
|
|
|
DocTargetFileName = DocAREConvention
|
|
|
|
'If Convention AND ExportPath had both no content.
|
|
ELSEIF (DocTargetPath = "%NETWORK%") THEN
|
|
|
|
DocTargetFileName = Nothing
|
|
|
|
'If ExportPath has content, but Convention hasnt.
|
|
ELSE
|
|
|
|
MSGBOX("Ungültige Export Dateinamens Einstellung für Ausgangsrechnungen. FailSafe ist ARE_" & DocAccountNumber & "_" & Timestamp & ".pdf" & "!")
|
|
DocTargetFileName = "ARE_" & DocAccountNumber & Timestamp
|
|
|
|
END IF
|
|
|
|
END IF
|
|
|
|
'If document is for a creditor.
|
|
ELSEIF (PostingType = 2) THEN
|
|
|
|
'########################################### Currently not implemented ###########################################
|
|
|
|
'If document is not for a debtor or creditor.
|
|
ELSE
|
|
|
|
MSGBOX("Undefinierte Export Einstellung! Abbruch des Exports.")
|
|
|
|
END IF
|
|
|
|
'Retrive Document Type (14 = StornoRechnung). Depending on it, the Targetpath and Targetfilename.
|
|
ELSEIF (DocType = 14) THEN
|
|
|
|
|
|
'If DocType was unknown.
|
|
ELSE
|
|
|
|
MSGBOX("Undefinierte Belegstufe (" & DocType & ")! Abbruch des Exports.")
|
|
|
|
END IF
|
|
|
|
'Replace PlaceHolder in DocTargetPath from Configuration, including invalid Characters.
|
|
IF (DocTargetPath <> "") THEN
|
|
|
|
DocTargetPath = Replace(DocTargetPath,"%Mandantenkürzel%",MandatorShortName)
|
|
DocTargetPath = Replace(DocTargetPath,"%Jahr%",(Year(date)))
|
|
DocTargetPath = Replace(DocTargetPath,"%Monat%",(month(date)))
|
|
DocTargetPath = Replace(DocTargetPath,"%Monatsname%",MonthName((month(date))))
|
|
DocTargetPath = Replace(DocTargetPath,"%Tag%",(day(date)))
|
|
DocTargetPath = Replace(DocTargetPath,"%KontoNr%",DocAccountNumber)
|
|
DocTargetPath = Replace(DocTargetPath,"%Laufnummer%",RecordNumber)
|
|
DocTargetPath = Replace(Replace(Replace(Replace(Replace(Replace(DocTargetPath,"/",ReplaceSpecialChar),"*",ReplaceSpecialChar),"?",ReplaceSpecialChar),"<",ReplaceSpecialChar),">",ReplaceSpecialChar),"|",ReplaceSpecialChar)
|
|
|
|
END IF
|
|
|
|
'Replace PlaceHolder in DocTargetFileName from Configuration, including invalid Characters.
|
|
IF (DocTargetFileName <> "") THEN
|
|
|
|
DocTargetFileName = Replace(DocTargetFileName,"%Mandantenkürzel%",MandatorShortName)
|
|
DocTargetFileName = Replace(DocTargetFileName,"%AngebotsNr%",DocAANGNumber)
|
|
DocTargetFileName = Replace(DocTargetFileName,"%AuftragsNr%",DocAABNumber)
|
|
DocTargetFileName = Replace(DocTargetFileName,"%LieferscheinNr%",DocALSNumber)
|
|
DocTargetFileName = Replace(DocTargetFileName,"%RechnungsNr%",DocARENumber)
|
|
DocTargetFileName = Replace(DocTargetFileName,"%AnfragenNr%",DocAANFNumber)
|
|
DocTargetFileName = Replace(DocTargetFileName,"%BestellNr%",DocABENumber)
|
|
DocTargetFileName = Replace(DocTargetFileName,"%Jahr%",(Year(date)))
|
|
DocTargetFileName = Replace(DocTargetFileName,"%Monat%",(month(date)))
|
|
DocTargetFileName = Replace(DocTargetFileName,"%Monatsname%",MonthName((month(date))))
|
|
DocTargetFileName = Replace(DocTargetFileName,"%Tag%",(day(date)))
|
|
DocTargetFileName = Replace(DocTargetFileName,"%KontoNr%",DocAccountNumber)
|
|
DocTargetFileName = Replace(DocTargetFileName,"%Laufnummer%",RecordNumber)
|
|
DocTargetFileName = Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(DocTargetFileName,"\",ReplaceSpecialChar),"/",ReplaceSpecialChar),":",ReplaceSpecialChar),"*",ReplaceSpecialChar),"?",ReplaceSpecialChar),"<",ReplaceSpecialChar),">",ReplaceSpecialChar),"|",ReplaceSpecialChar)
|
|
|
|
END IF
|
|
|
|
'#-----------------------------------------------------------------------------------------------------#
|
|
'############################################# main part ###############################################
|
|
'#-----------------------------------------------------------------------------------------------------#
|
|
|
|
'Check if all necessary export parameters are set.
|
|
IF ((DocTargetPath <> "") AND (DocTargetFileName <> "") AND (DocExtension <> "")) THEN
|
|
|
|
'Check if destination folder / folder strukture exists. If not, try to create.
|
|
IF NOT FileSystemObject.FolderExists(DocTargetPath) THEN
|
|
|
|
strDir = FileSystemObject.GetAbsolutePathName(DocTargetPath)
|
|
arrDirs = Split( strDir, "\" )
|
|
|
|
If Left( strDir, 2 ) = "\\" THEN
|
|
strDirBuild = "\\" & arrDirs(2) & "\" & arrDirs(3) & "\"
|
|
idxFirst = 4
|
|
Else
|
|
strDirBuild = arrDirs(0) & "\"
|
|
idxFirst = 1
|
|
End If
|
|
|
|
For idx = idxFirst to Ubound( arrDirs )
|
|
strDirBuild = FileSystemObject.BuildPath( strDirBuild, arrDirs(idx) )
|
|
If Not FileSystemObject.FolderExists( strDirBuild ) THEN
|
|
FileSystemObject.CreateFolder strDirBuild
|
|
End if
|
|
Next
|
|
|
|
END IF
|
|
|
|
'If DocTargetPath exists, export file - including version tagging.
|
|
IF (FileSystemObject.FolderExists(DocTargetPath)) THEN
|
|
|
|
FullPath = DocTargetPath & "\" & DocTargetFileName & DocExtension
|
|
|
|
IF (FileSystemObject.FileExists(FullPath)) THEN
|
|
|
|
DO
|
|
|
|
DocVersion = DocVersion + 1
|
|
FullPath = DocTargetPath & "\" & DocTargetFileName & DocVersionSeparator & DocVersion & DocExtension
|
|
|
|
LOOP UNTIL (FileSystemObject.FileExists(FullPath) = False)
|
|
|
|
END IF
|
|
|
|
ExportOutput FullPath, 5, 0
|
|
|
|
'Optional check if file was exported successfully.
|
|
IF (DocExportCheck = "true") THEN
|
|
|
|
CheckExportScriptPath = FileSystemObject.FolderExists(Shell.ExpandEnvironmentStrings("%TEMP%") & "\" & "Digital_Data")
|
|
CheckExportScript = "CheckExport-" & DocTargetFileName & ((year(DateTime)*100 + month(DateTime))*100 + day(DateTime))*10000 + hour(DateTime)*100 + minute(DateTime) & ".vbs"
|
|
|
|
IF NOT (CheckExportScriptPath) THEN
|
|
|
|
FileSystemObject.CreateFolder(CheckExportScriptPath)
|
|
|
|
END IF
|
|
|
|
IF (FileSystemObject.FolderExists(CheckExportScriptPath)) THEN
|
|
|
|
|
|
|
|
ELSE
|
|
|
|
|
|
|
|
END IF
|
|
|
|
END IF
|
|
|
|
ELSE
|
|
|
|
MSGBOX("ACHTUNG: Zielpfad für Export konnte nicht erstellt werden! Export wird abgebrochen.")
|
|
|
|
END IF
|
|
|
|
ELSE
|
|
|
|
'Missing Value in DocTargetPath, DocTargetFileName or DocExtension
|
|
WScript.Quit(1)
|
|
|
|
END IF
|
|
|
|
'#-----------------------------------------------------------------------------------------------------#
|
|
'########################################### finishing part ############################################
|
|
'#-----------------------------------------------------------------------------------------------------#
|
|
|
|
FileSystemObject = Nothing
|
|
Shell = Nothing
|
|
DateTime = Nothing
|
|
SplitChar = Nothing
|
|
ReplaceSpecialChar = Nothing
|
|
DocExtension = Nothing
|
|
DocExportCheck = Nothing
|
|
DocExportCheckTry = Nothing
|
|
DocExportCheckMaxTrys = Nothing
|
|
DocType = Nothing
|
|
DocVersion = Nothing
|
|
DocVersionSeparator = Nothing
|
|
MandatorShortName = Nothing
|
|
DocAccountNumber = Nothing
|
|
DocAANGExportPath = Nothing
|
|
DocAABExportPath = Nothing
|
|
DocALSExportPath = Nothing
|
|
DocAREExportPath = Nothing
|
|
DocAANFExportPath = Nothing
|
|
DocABExportPath = Nothing
|
|
DocAANGConvention = Nothing
|
|
DocAABConvention = Nothing
|
|
DocALSConvention = Nothing
|
|
DocAREConvention = Nothing
|
|
DocAANFConvention = Nothing
|
|
DocABEConvention = Nothing
|
|
DocAANGNumber = Nothing
|
|
DocAABNumber = Nothing
|
|
DocALSNumber = Nothing
|
|
DocARENumber = Nothing
|
|
DocAANFNumber = Nothing
|
|
DocABENumber = Nothing
|
|
DocTargetPath = Nothing
|
|
DocTargetFileName = Nothing
|
|
FullPath = Nothing
|
|
|
|
Result = "" |