Anlage des Repos
This commit is contained in:
@@ -0,0 +1,595 @@
|
||||
' Export-WinLineDoc (EWLD)
|
||||
' VB-Script for exporting printed docs to Filesystem.
|
||||
' ----------------------------------------------------------------
|
||||
' Copyright (c) 2021 by Digital Data GmbH
|
||||
'
|
||||
' Digital Data GmbH • Ludwig-Rinn-Strasse 16 • D-35452 Heuchelheim
|
||||
' Tel.: 0641/202360 • E-Mail: info-flow(at)digitaldata.works
|
||||
' ----------------------------------------------------------------
|
||||
' Creation Date / Author: 01.07.2021 / MK
|
||||
' Version Date / Editor: 09.10.2021 / MK
|
||||
' Version Number: 3.1.0.0
|
||||
|
||||
On Error Resume Next
|
||||
|
||||
'#set variables#
|
||||
DocVersionSeparator = "~"
|
||||
ReplaceSpecialChar = ""
|
||||
DebugMode = "Disabled" 'Enabled
|
||||
|
||||
PROFILE_TB = "[T651]"
|
||||
CONFIG_TB = "[T650]"
|
||||
CONFIG_GUID = 0
|
||||
|
||||
WebServiceUser = "meso"
|
||||
WebServiceUser_MandantenstammID = 211
|
||||
|
||||
'#set constants#
|
||||
DEFAULT_TITLE ="Export-WinLineDoc"
|
||||
DEBUG_TITLE ="DEBUG - " & DEFAULT_TITLE
|
||||
|
||||
EWLD_GUID =0
|
||||
DocVersion =1
|
||||
WinLineCurrentUser =CWLStart.CurrentUser.Name
|
||||
MandatorNr =TRIM(CSTR(Value (0,11)))
|
||||
ProgramDocType =TRIM(CSTR(Value (0,20)))
|
||||
RunningNr =TRIM(CSTR(Value (0,31)))
|
||||
OfferNr =TRIM(CSTR(Value (0,34)))
|
||||
OrderNr =TRIM(CSTR(Value (0,35)))
|
||||
DeliveryNoteNr =TRIM(CSTR(Value (0,36)))
|
||||
InvoiceNr =TRIM(CSTR(Value (0,37)))
|
||||
InquireNr =TRIM(CSTR(Value (0,34)))
|
||||
PurchaseNr =TRIM(CSTR(Value (0,35)))
|
||||
DocNr =TRIM(CSTR(Value (0,39)))
|
||||
DocCreationDate =TRIM(CSTR(Value (0,54)))
|
||||
DocChangedDate =TRIM(CSTR(Value (0,55)))
|
||||
DocType =TRIM(CSTR(Value (0,113)))
|
||||
Text1 =TRIM(CSTR(Value (25,63)))
|
||||
Text2 =TRIM(CSTR(Value (25,64)))
|
||||
Text3 =TRIM(CSTR(Value (25,65)))
|
||||
Text4 =TRIM(CSTR(Value (25,66)))
|
||||
Text5 =TRIM(CSTR(Value (25,67)))
|
||||
Text6 =TRIM(CSTR(Value (25,68)))
|
||||
Text7 =TRIM(CSTR(Value (25,69)))
|
||||
Text8 =TRIM(CSTR(Value (25,70)))
|
||||
Text9 =TRIM(CSTR(Value (25,71)))
|
||||
Text10 =TRIM(CSTR(Value (25,72)))
|
||||
DocFinalAmount =TRIM(CSTR(Value (25,100)))
|
||||
ProjectNr =TRIM(CSTR(Value (25,136)))
|
||||
InvoiceForCorrection =TRIM(CSTR(Value (25,147)))
|
||||
DocComment =TRIM(CSTR(Value (25,165)))
|
||||
AccountNr =TRIM(CSTR(Value (50,2)))
|
||||
AccountName =TRIM(CSTR(Value (50,3)))
|
||||
AddText1 =TRIM(CSTR(Value (50,201)))
|
||||
AddText2 =TRIM(CSTR(Value (50,202)))
|
||||
AddText3 =TRIM(CSTR(Value (50,203)))
|
||||
AddText4 =TRIM(CSTR(Value (50,204)))
|
||||
AddText5 =TRIM(CSTR(Value (50,205)))
|
||||
AddText6 =TRIM(CSTR(Value (50,206)))
|
||||
AddText7 =TRIM(CSTR(Value (50,207)))
|
||||
AddText8 =TRIM(CSTR(Value (50,208)))
|
||||
AddText9 =TRIM(CSTR(Value (50,209)))
|
||||
AddText10 =TRIM(CSTR(Value (50,210)))
|
||||
AddText11 =TRIM(CSTR(Value (50,211)))
|
||||
AddText12 =TRIM(CSTR(Value (50,212)))
|
||||
AddText13 =TRIM(CSTR(Value (50,213)))
|
||||
AddText14 =TRIM(CSTR(Value (50,214)))
|
||||
AddText15 =TRIM(CSTR(Value (50,215)))
|
||||
AddText16 =TRIM(CSTR(Value (50,216)))
|
||||
AddText17 =TRIM(CSTR(Value (50,217)))
|
||||
AddText18 =TRIM(CSTR(Value (50,218)))
|
||||
AddText19 =TRIM(CSTR(Value (50,219)))
|
||||
AddText20 =TRIM(CSTR(Value (50,220)))
|
||||
AddText21 =TRIM(CSTR(Value (50,221)))
|
||||
AddText22 =TRIM(CSTR(Value (50,222)))
|
||||
AddText23 =TRIM(CSTR(Value (50,223)))
|
||||
AddText24 =TRIM(CSTR(Value (50,224)))
|
||||
AddText25 =TRIM(CSTR(Value (50,225)))
|
||||
AddText26 =TRIM(CSTR(Value (50,226)))
|
||||
AddText27 =TRIM(CSTR(Value (50,227)))
|
||||
AddText28 =TRIM(CSTR(Value (50,228)))
|
||||
AddText29 =TRIM(CSTR(Value (50,229)))
|
||||
AddText30 =TRIM(CSTR(Value (50,230)))
|
||||
PostingType =TRIM(CSTR(Value (357,6)))
|
||||
ExportType =OutputType
|
||||
ExportDone ="ERROR!"
|
||||
|
||||
PROFILE_SQL_MAN = "[u000] = '"& CONFIG_GUID &"' AND [u001] = 1"
|
||||
PROFILE_SQL_AUTO= "[u001] = 1 AND [u003] IN ('ALL','"& MandatorNr &"') AND [u004] = '"& PostingType &"' AND [u005] = '"& ProgramDocType &"' AND ([u006] = '"& DocType &"' OR [u006] IS NULL)"
|
||||
CONFIG_SQL = "[u001] = 1 AND [u003] IN ('ALL','"& MandatorNr &"') AND [u004] In ('CUSTOM_VARIABLE') AND [u005] IS NOT NULL AND [u006] IS NOT NULL AND ([u007] IS NOT NULL OR [u008] IS NOT NULL OR [u009] IS NOT NULL OR [u010] IS NOT NULL)"
|
||||
|
||||
RegExpValidFilename = "[^a-zA-Z0-9\"&chr(64)&"\ü\ö\ä\Ü\Ö\Ä\ß\{\[\]\}\ \!\§\$\%\&\(\)\=\+\#\,\.\-\;\_\']{1,}"
|
||||
RegExpValidFilepath = "[^a-zA-Z0-9\"&chr(64)&"\ü\ö\ä\Ü\Ö\Ä\ß\{\[\]\}\ \!\§\$\%\&\(\)\=\+\#\,\.\-\;\_\'\\]{1,}"
|
||||
|
||||
SET FileSystemObject= CreateObject("Scripting.FileSystemObject")
|
||||
SET RI = CreateObject("Scripting.Dictionary")
|
||||
RI.CompareMode = vbTextCompare
|
||||
SET RegExpObject = New RegExp
|
||||
RegExpObject.IgnoreCas = true
|
||||
RegExpObject.Global = true
|
||||
|
||||
'#preparing part#
|
||||
'Reset Error Var
|
||||
Err.Clear
|
||||
|
||||
'No msgbox!
|
||||
If (WinLineCurrentUser=WebServiceUser) Then
|
||||
DebugMode="Disabled"
|
||||
End if
|
||||
|
||||
'Use central
|
||||
If (WebServiceUser="") Then
|
||||
WebServiceUser=CWLStart.CurrentCompany.Value(WebServiceUser_MandantenstammID)
|
||||
End if
|
||||
|
||||
'Fallback "Ursp. Beleg"
|
||||
IF (DocNr=Empty) and (InvoiceNr<>Empty) Then
|
||||
DocNr=InvoiceNr
|
||||
ELSEIF (DocNr=Empty) and (DeliveryNoteNr<>Empty) Then
|
||||
DocNr=DeliveryNoteNr
|
||||
ELSEIF (DocNr=Empty) and (OrderNr<>Empty) Then
|
||||
DocNr=OrderNr
|
||||
ELSEIF (DocNr=Empty) and (PurchaseNr<>Empty) Then
|
||||
DocNr=PurchaseNr
|
||||
ELSEIF (DocNr=Empty) and (OfferNr<>Empty) Then
|
||||
DocNr=OfferNr
|
||||
ELSEIF (DocNr=Empty) and (InquireNr<>Empty) Then
|
||||
DocNr=InquireNr
|
||||
End if
|
||||
|
||||
'Fallback
|
||||
If (AccountNr="") Then
|
||||
AccountNr=TRIM(CSTR(Value (5,2)))
|
||||
If (AccountNr="") Then
|
||||
AccountNr=TRIM(CSTR(Value (0,30)))
|
||||
End if
|
||||
End if
|
||||
|
||||
If (AccountName="") Then
|
||||
AccountName=TRIM(CSTR(Value (5,3)))
|
||||
End if
|
||||
|
||||
IF (DebugMode="Enabled") THEN
|
||||
MSGBOX "MandatorNr: " &MandatorNr &vbCrLf&_
|
||||
"ProgramDocType: "&ProgramDocType &vbCrLf&_
|
||||
"RunningNr: " &RunningNr &vbCrLf&_
|
||||
"PostingType: " &PostingType,,DEBUG_TITLE&" - WinLine Runtime Variables"
|
||||
|
||||
MSGBOX "Profile SQL:"&vbCrLf& PROFILE_SQL_AUTO&vbCrLf&vbCrLf&_
|
||||
"Config SQL: "&vbCrLf& CONFIG_SQL,,DEBUG_TITLE&" - SQL Commands (not final!)"
|
||||
END IF
|
||||
|
||||
'RI = Replace Object, because functions are not available
|
||||
RI.ADD "%MandantenNr%",MandatorNr
|
||||
RI.ADD "%Laufnummer%",RunningNr
|
||||
|
||||
RI.ADD "%UserName%",WinLineCurrentUser
|
||||
RI.ADD "%KontoNr%",AccountNr
|
||||
RI.ADD "%KontoName%",AccountName
|
||||
RI.ADD "%ProjektNr%",ProjectNr
|
||||
RI.ADD "%AngebotsNr%",OfferNr
|
||||
RI.ADD "%AuftragsNr%",OrderNr
|
||||
RI.ADD "%LieferscheinNr%",DeliveryNoteNr
|
||||
RI.ADD "%RechnungsNr%",InvoiceNr
|
||||
RI.ADD "%AnfragenNr%",InquireNr
|
||||
RI.ADD "%BestellNr%",PurchaseNr
|
||||
RI.ADD "%Belegart%",DocType
|
||||
RI.ADD "%Belegnummer%",DocNr
|
||||
RI.ADD "%BelegKommentar%",DocComment
|
||||
RI.ADD "%Textzeile1%",Text1
|
||||
RI.ADD "%Textzeile2%",Text2
|
||||
RI.ADD "%Textzeile3%",Text3
|
||||
RI.ADD "%Textzeile4%",Text4
|
||||
RI.ADD "%Textzeile5%",Text5
|
||||
RI.ADD "%Textzeile6%",Text6
|
||||
RI.ADD "%Textzeile7%",Text7
|
||||
RI.ADD "%Textzeile8%",Text8
|
||||
RI.ADD "%Textzeile9%",Text9
|
||||
RI.ADD "%Textzeile10%",Text10
|
||||
|
||||
RI.ADD "%Zusatzfeld1%",AddText1
|
||||
RI.ADD "%Zusatzfeld2%",AddText2
|
||||
RI.ADD "%Zusatzfeld3%",AddText3
|
||||
RI.ADD "%Zusatzfeld4%",AddText4
|
||||
RI.ADD "%Zusatzfeld5%",AddText5
|
||||
RI.ADD "%Zusatzfeld6%",AddText6
|
||||
RI.ADD "%Zusatzfeld7%",AddText7
|
||||
RI.ADD "%Zusatzfeld8%",AddText8
|
||||
RI.ADD "%Zusatzfeld9%",AddText9
|
||||
RI.ADD "%Zusatzfeld10%",AddText10
|
||||
RI.ADD "%Zusatzfeld11%",AddText11
|
||||
RI.ADD "%Zusatzfeld12%",AddText12
|
||||
RI.ADD "%Zusatzfeld13%",AddText13
|
||||
RI.ADD "%Zusatzfeld14%",AddText14
|
||||
RI.ADD "%Zusatzfeld15%",AddText15
|
||||
RI.ADD "%Zusatzfeld16%",AddText16
|
||||
RI.ADD "%Zusatzfeld17%",AddText17
|
||||
RI.ADD "%Zusatzfeld18%",AddText18
|
||||
RI.ADD "%Zusatzfeld19%",AddText19
|
||||
RI.ADD "%Zusatzfeld20%",AddText20
|
||||
RI.ADD "%Zusatzfeld21%",AddText21
|
||||
RI.ADD "%Zusatzfeld22%",AddText22
|
||||
RI.ADD "%Zusatzfeld23%",AddText23
|
||||
RI.ADD "%Zusatzfeld24%",AddText24
|
||||
RI.ADD "%Zusatzfeld25%",AddText25
|
||||
RI.ADD "%Zusatzfeld26%",AddText26
|
||||
RI.ADD "%Zusatzfeld27%",AddText27
|
||||
RI.ADD "%Zusatzfeld28%",AddText28
|
||||
RI.ADD "%Zusatzfeld29%",AddText29
|
||||
RI.ADD "%Zusatzfeld30%",AddText30
|
||||
|
||||
RI.ADD "%DAY%",(day(date))
|
||||
RI.ADD "%DAYNAME%",(WeekdayName(weekday(now())))
|
||||
RI.ADD "%MONTH%",(month(date))
|
||||
RI.ADD "%MONTHNAME%",MonthName((month(date)))
|
||||
RI.ADD "%YEAR%",(Year(date))
|
||||
|
||||
'Get doc profile
|
||||
IF ((Mid(DocFinalAmount,1,1))="-") and (InvoiceForCorrection<>Empty) THEN
|
||||
PROFILE_SQL_AUTO = PROFILE_SQL_AUTO&" AND [u007] like '%NegativAmount%' AND [u008] like '%Correction%'"
|
||||
Elseif ((Mid(DocFinalAmount,1,1))="-") THEN
|
||||
PROFILE_SQL_AUTO = PROFILE_SQL_AUTO&" AND [u007] like '%NegativAmount%'"
|
||||
END IF
|
||||
|
||||
'Override the logic here, by setting the CONFIG_GUID Var with a value higher then 0 (for not FAKT docs).
|
||||
IF (CONFIG_GUID>0) Then
|
||||
SET PROFILE_RESULT=CWLStart.CurrentCompany.SearchRecord(PROFILE_TB,PROFILE_SQL_MAN)
|
||||
Else
|
||||
SET PROFILE_RESULT=CWLStart.CurrentCompany.SearchRecord(PROFILE_TB,PROFILE_SQL_AUTO)
|
||||
End IF
|
||||
|
||||
IF (Err.Number<>0) THEN
|
||||
MSGBOX "Error Code: "& Err.Number & vbCrLf & _
|
||||
"Error Description: "& Err.Description,,"ERROR: Getting Variables from DB Table "&PROFILE
|
||||
Err.Clear
|
||||
ELSE
|
||||
|
||||
IF (PROFILE_RESULT=-1) Then
|
||||
IF (DebugMode="Enabled") THEN
|
||||
MSGBOX "No Rows found, SQL: "&vbCrLf& PROFILE_SQL_AUTO,,DEBUG_TITLE&" Profiles from Database table "&PROFILE
|
||||
END IF
|
||||
|
||||
ELSEIF (PROFILE_RESULT.RowCount>1) Then
|
||||
IF (WinLineCurrentUser<>WebServiceUser) Then
|
||||
msgbox "Achtung, das Export-Profil konnte nicht eindeutig identifiziert werden!"&vbCrLf&_
|
||||
"Das erste passende wird nun verwendet!",,"Bitte den Administrator informieren!"
|
||||
End if
|
||||
Else
|
||||
|
||||
EWLD_GUID =cint(PROFILE_RESULT.Value(0))
|
||||
EWLD_DESCRIPTION =Trim(cstr(PROFILE_RESULT.Value(2)))
|
||||
'14 to 23 -> WILL BE USED LATER!
|
||||
EWLD_PATH =Trim(cstr(PROFILE_RESULT.Value(24)))
|
||||
EWLD_FILENAME =Trim(cstr(PROFILE_RESULT.Value(25)))
|
||||
EWLD_FILENAME_PREVIEW =Trim(cstr(PROFILE_RESULT.Value(26)))
|
||||
EWLD_FILEEXTENSION =cint(PROFILE_RESULT.Value(27))
|
||||
EWLD_VERSIONING =cint(PROFILE_RESULT.Value(28))
|
||||
|
||||
IF (DebugMode="Enabled") THEN
|
||||
MSGBOX "GUID: "&EWLD_GUID&vbCrLf&_
|
||||
"Description: "&EWLD_DESCRIPTION,,DEBUG_TITLE&" document profile from Database table "&PROFILE
|
||||
END IF
|
||||
|
||||
'Get variables from table
|
||||
SET CONFIG_RESULT=CWLStart.CurrentCompany.SearchRecord(CONFIG_TB,CONFIG_SQL)
|
||||
|
||||
IF (Err.Number<>0) THEN
|
||||
MSGBOX "Error Code: "&Err.Number&vbCrLf&_
|
||||
"Error Description: "&Err.Description,,"ERROR: Variables from Database table "&CONFIG_SQL&" !"
|
||||
Err.Clear
|
||||
ELSE
|
||||
|
||||
IF (CONFIG_RESULT=-1) Then
|
||||
|
||||
IF (DebugMode="Enabled") THEN
|
||||
MSGBOX "No Rows found, SQL: "&CONFIG_SQL,,DEBUG_TITLE&" Variables from Database table "&CONFIG_TB
|
||||
END IF
|
||||
|
||||
ELSE
|
||||
|
||||
FOR LoopCounter=1 TO CONFIG_RESULT.RowCount
|
||||
|
||||
EWLD_CONFIG_NAME=CONFIG_RESULT.Value(5)
|
||||
EWLD_CONFIG_TYPE=CONFIG_RESULT.Value(6)
|
||||
EWLD_CONFIG_TEXT=CONFIG_RESULT.Value(7)
|
||||
EWLD_CONFIG_INT =CONFIG_RESULT.Value(8)
|
||||
EWLD_CONFIG_DBL =CONFIG_RESULT.Value(9)
|
||||
EWLD_CONFIG_DATE=CONFIG_RESULT.Value(10)
|
||||
|
||||
IF (DebugMode="Enabled") THEN
|
||||
MSGBOX "Name: " & EWLD_CONFIG_NAME &vbCrLf&_
|
||||
"Type: " & EWLD_CONFIG_TYPE &vbCrLf&vbCrLf&_
|
||||
"Text Value: " & EWLD_CONFIG_TEXT &vbCrLf&_
|
||||
"Integer Value: " & EWLD_CONFIG_INT &vbCrLf&_
|
||||
"Double Value: " & EWLD_CONFIG_DBL &vbCrLf&_
|
||||
"Date Value: " & EWLD_CONFIG_DATE,,DEBUG_TITLE&" - "& LoopCounter &" of "& CONFIG_RESULT.RowCount &" Variables from DB table "& CONFIG_TB
|
||||
END IF
|
||||
|
||||
IF TRIM(((EWLD_CONFIG_TYPE))="TEXT") Then
|
||||
RI.ADD EWLD_CONFIG_NAME,EWLD_CONFIG_TEXT
|
||||
ElseIf TRIM(((EWLD_CONFIG_TYPE))="INTEGER") Then
|
||||
RI.ADD EWLD_CONFIG_NAME,EWLD_CONFIG_INT
|
||||
ElseIf TRIM(((EWLD_CONFIG_TYPE))="DOUBLE") Then
|
||||
RI.ADD EWLD_CONFIG_NAME,EWLD_CONFIG_DBL
|
||||
ElseIf TRIM(((EWLD_CONFIG_TYPE))="DATE") Then
|
||||
RI.ADD EWLD_CONFIG_NAME,EWLD_CONFIG_DATE
|
||||
End if
|
||||
|
||||
CONFIG_RESULT.NextRecord
|
||||
|
||||
NEXT
|
||||
END IF
|
||||
END IF
|
||||
|
||||
'Replace PlaceHolder and ...
|
||||
IF (EWLD_PATH<>"") THEN
|
||||
|
||||
RIKeys = RI.keys
|
||||
For LoopCounter=0 To RI.Count -1
|
||||
|
||||
IF InStr(EWLD_PATH,RIKeys(LoopCounter))>0 Then
|
||||
EWLD_PATH=Replace(EWLD_PATH,RIKeys(LoopCounter),RI(RIKeys(LoopCounter)))
|
||||
END IF
|
||||
|
||||
Next
|
||||
|
||||
'... invalid Characters
|
||||
EWLD_PATH_TEMP1=Mid(EWLD_PATH,1,2)
|
||||
EWLD_PATH_TEMP2=Mid(EWLD_PATH,3)
|
||||
EWLD_PATH_TEMP2=Replace(EWLD_PATH_TEMP2,"\\","\")
|
||||
RegExpObject.Pattern=RegExpValidFilepath
|
||||
EWLD_PATH=EWLD_PATH_TEMP1&RegExpObject.Replace(EWLD_PATH_TEMP2,ReplaceSpecialChar)
|
||||
|
||||
RI.ADD "%EWLD_PATH%",EWLD_PATH
|
||||
|
||||
EWLD_PATH=Replace(EWLD_PATH,vbCr,"")
|
||||
EWLD_PATH=Replace(EWLD_PATH,vbLf,"")
|
||||
|
||||
IF (DebugMode="Enabled") THEN
|
||||
MSGBOX "EWLD_PATH: "&vbCrLf& EWLD_PATH&vbCrLf&vbCrLf&_
|
||||
"RI includes "& RI.count &" Items.",,DEBUG_TITLE&" - EWLD_PATH AFTER replace routine"
|
||||
END IF
|
||||
|
||||
END IF
|
||||
|
||||
'Replace PlaceHolder and ...
|
||||
IF (EWLD_FILENAME<>"") THEN
|
||||
|
||||
RIKeys=RI.keys
|
||||
For LoopCounter=0 To RI.Count -1
|
||||
|
||||
IF InStr(EWLD_FILENAME,RIKeys(LoopCounter))>0 Then
|
||||
EWLD_FILENAME=Replace(EWLD_FILENAME,RIKeys(LoopCounter),RI(RIKeys(LoopCounter)))
|
||||
END IF
|
||||
|
||||
Next
|
||||
|
||||
'... invalid Characters
|
||||
EWLD_FILENAME_TEMP=EWLD_FILENAME
|
||||
RegExpObject.Pattern=RegExpValidFilename
|
||||
EWLD_FILENAME=RegExpObject.Replace(EWLD_FILENAME_TEMP,ReplaceSpecialChar)
|
||||
|
||||
RI.ADD "%EWLD_FILENAME%",EWLD_FILENAME
|
||||
|
||||
EWLD_FILENAME=Replace(EWLD_FILENAME,vbCr,"")
|
||||
EWLD_FILENAME=Replace(EWLD_FILENAME,vbLf,"")
|
||||
|
||||
IF (DebugMode="Enabled") THEN
|
||||
MSGBOX "EWLD_FILENAME: "&vbCrLf& EWLD_FILENAME&vbCrLf&vbCrLf&_
|
||||
"RI includes "& RI.count &" Items.",,DEBUG_TITLE&" - EWLD_FILENAME AFTER replace routine"
|
||||
END IF
|
||||
|
||||
END IF
|
||||
|
||||
'Replace PlaceHolder and ...
|
||||
IF (EWLD_FILENAME_PREVIEW<>"") THEN
|
||||
|
||||
RIKeys=RI.keys
|
||||
For LoopCounter=0 To RI.Count -1
|
||||
|
||||
IF InStr(EWLD_FILENAME_PREVIEW,RIKeys(LoopCounter))>0 Then
|
||||
EWLD_FILENAME_PREVIEW=Replace(EWLD_FILENAME_PREVIEW,RIKeys(LoopCounter),RI(RIKeys(LoopCounter)))
|
||||
END IF
|
||||
|
||||
Next
|
||||
|
||||
'... invalid Characters
|
||||
EWLD_FILENAME_PREVIEW_TEMP=EWLD_FILENAME_PREVIEW
|
||||
RegExpObject.Pattern=RegExpValidFilename
|
||||
EWLD_FILENAME_PREVIEW=RegExpObject.Replace(EWLD_FILENAME_PREVIEW_TEMP,ReplaceSpecialChar)
|
||||
|
||||
RI.ADD "%EWLD_FILENAME_PREVIEW%",EWLD_FILENAME_PREVIEW
|
||||
|
||||
EWLD_FILENAME_PREVIEW=Replace(EWLD_FILENAME_PREVIEW,vbCr,"")
|
||||
EWLD_FILENAME_PREVIEW=Replace(EWLD_FILENAME_PREVIEW,vbLf,"")
|
||||
|
||||
IF (DebugMode = "Enabled") THEN
|
||||
MSGBOX "EWLD_FILENAME_PREVIEW: "&vbCrLf& EWLD_FILENAME_PREVIEW &vbCrLf&vbCrLf&_
|
||||
"RI includes "& RI.count &" Items.",,DEBUG_TITLE&" - EWLD_FILENAME_PREVIEW Variable AFTER replace routine"
|
||||
END IF
|
||||
|
||||
END IF
|
||||
END IF
|
||||
END IF
|
||||
|
||||
'#main part#
|
||||
IF ((EWLD_PATH<>"") AND (EWLD_FILENAME<>"") AND (EWLD_FILEEXTENSION<>"") and ((ExportType=2) or (ExportType=4) or (ExportType=5))) THEN
|
||||
|
||||
'Check if destination structure exists. If not, try to create.
|
||||
IF NOT FileSystemObject.FolderExists(EWLD_PATH) THEN
|
||||
|
||||
strDir=FileSystemObject.GetAbsolutePathName(EWLD_PATH)
|
||||
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
|
||||
|
||||
IF (DebugMode = "Enabled") THEN
|
||||
MSGBOX strDirBuild,,DEBUG_TITLE&" CreateFolder: Level " & idx & " of " & Ubound( arrDirs )
|
||||
END IF
|
||||
|
||||
FileSystemObject.CreateFolder strDirBuild
|
||||
|
||||
End if
|
||||
Next
|
||||
|
||||
END IF
|
||||
|
||||
'Code block to resolve the file extension, fallback is pdf
|
||||
IF (EWLD_FILEEXTENSION<7) Then
|
||||
Select Case EWLD_FILEEXTENSION
|
||||
Case 0
|
||||
EWLD_FILEEXTENSION_NAME="spl"
|
||||
Case 1
|
||||
EWLD_FILEEXTENSION_NAME="mht"
|
||||
Case 4
|
||||
EWLD_FILEEXTENSION_NAME="spl"
|
||||
Case 5
|
||||
EWLD_FILEEXTENSION_NAME="pdf"
|
||||
Case 6
|
||||
EWLD_FILEEXTENSION_NAME="rtf"
|
||||
Case ELSE
|
||||
EWLD_FILEEXTENSION= 5
|
||||
EWLD_FILEEXTENSION_NAME="pdf"
|
||||
End Select
|
||||
Else
|
||||
EWLD_FILEEXTENSION=5
|
||||
EWLD_FILEEXTENSION_NAME="pdf"
|
||||
End if
|
||||
|
||||
'If EWLD_PATH exists, export file - including version tagging.
|
||||
IF ((FileSystemObject.FolderExists(EWLD_PATH)) AND (EWLD_FILENAME<>"") AND (EWLD_FILEEXTENSION<>"")) THEN
|
||||
EWLD_PATH_AND_FILENAME=EWLD_PATH&"\"&EWLD_FILENAME&"."&EWLD_FILEEXTENSION_NAME
|
||||
|
||||
EWLD_PATH_AND_FILENAME=Replace(EWLD_PATH_AND_FILENAME,vbCr,"")
|
||||
EWLD_PATH_AND_FILENAME=Replace(EWLD_PATH_AND_FILENAME,vbLf,"")
|
||||
|
||||
IF (EWLD_VERSIONING= 9) or ((EWLD_VERSIONING<>0) and (EWLD_VERSIONING<>1) and (EWLD_VERSIONING<>2) and (EWLD_VERSIONING<>9)) THEN
|
||||
|
||||
'Reset Var to WinLine known value
|
||||
EWLD_VERSIONING=1
|
||||
|
||||
IF (FileSystemObject.FileExists(EWLD_PATH_AND_FILENAME)) THEN
|
||||
|
||||
EWLD_FILENAME_ORIGINAL=EWLD_FILENAME
|
||||
|
||||
DO
|
||||
DocVersion=DocVersion+1
|
||||
|
||||
EWLD_FILENAME=EWLD_FILENAME_ORIGINAL
|
||||
EWLD_FILENAME=EWLD_FILENAME & DocVersionSeparator & DocVersion
|
||||
EWLD_FILENAME=Replace(EWLD_FILENAME,vbCr,"")
|
||||
EWLD_FILENAME=Replace(EWLD_FILENAME,vbLf,"")
|
||||
|
||||
EWLD_PATH_AND_FILENAME=EWLD_PATH & "\" & EWLD_FILENAME & "." & EWLD_FILEEXTENSION_NAME
|
||||
EWLD_PATH_AND_FILENAME=Replace(EWLD_PATH_AND_FILENAME,vbCr,"")
|
||||
EWLD_PATH_AND_FILENAME=Replace(EWLD_PATH_AND_FILENAME,vbLf,"")
|
||||
|
||||
LOOP UNTIL (FileSystemObject.FileExists(EWLD_PATH_AND_FILENAME) = False)
|
||||
|
||||
RI.Remove("%EWLD_FILENAME%")
|
||||
RI.ADD "%EWLD_FILENAME%",EWLD_FILENAME& "." &EWLD_FILEEXTENSION_NAME
|
||||
RI.ADD "%EWLD_PATH_AND_FILENAME%",EWLD_PATH_AND_FILENAME
|
||||
|
||||
END IF
|
||||
|
||||
END IF
|
||||
|
||||
IF (DebugMode = "Enabled") THEN
|
||||
MSGBOX "FINAL EWLD_PATH_AND_FILENAME: "&vbCrLf&EWLD_PATH_AND_FILENAME&vbCrLf&vbCrLf&_
|
||||
"FINAL EWLD_FILEEXTENSION: "&vbCrLf&EWLD_FILEEXTENSION&vbCrLf&vbCrLf&_
|
||||
"FINAL EWLD_VERSIONING: "&vbCrLf&EWLD_VERSIONING&vbCrLf&vbCrLf&_
|
||||
"RI includes "&RI.count&" Items.",,DEBUG_TITLE&" Final document settings"
|
||||
END IF
|
||||
|
||||
IF (EWLD_FILENAME_PREVIEW<>"") THEN
|
||||
Formtitle=EWLD_FILENAME_PREVIEW
|
||||
|
||||
END IF
|
||||
|
||||
'In preview, ExportOutput will not be executed!
|
||||
ExportOutput EWLD_PATH_AND_FILENAME, EWLD_FILEEXTENSION, EWLD_VERSIONING
|
||||
ExportDone="export_ready"
|
||||
|
||||
END IF
|
||||
|
||||
ELSEIF (EWLD_FILENAME_PREVIEW<>"") THEN
|
||||
IF (DebugMode="Enabled") THEN
|
||||
MsgBox "Only Preview Filename has been set!"&EWLD_FILENAME_PREVIEW,,DEBUG_TITLE
|
||||
End if
|
||||
|
||||
Formtitle=EWLD_FILENAME_PREVIEW
|
||||
ExportDone="export_ready"
|
||||
|
||||
END IF
|
||||
|
||||
'Call Macros
|
||||
IF ((ExportType=2) or (ExportType=4) or (ExportType=5)) Then
|
||||
|
||||
For LoopCounter = 14 To 23
|
||||
|
||||
CALL_MAKRO_PRE_EXPORT=PROFILE_RESULT.Value(LoopCounter)
|
||||
|
||||
IF (CALL_MAKRO_PRE_EXPORT<>"") and (CALL_MAKRO_PRE_EXPORT<>LTRIM(RTRIM("<KEIN MAKRO>"))) Then
|
||||
|
||||
DIM MPs(32)
|
||||
|
||||
MPs(0) =DebugMode
|
||||
MPs(1) =ExportDone
|
||||
MPs(2) =MandatorNr
|
||||
MPs(3) =EWLD_GUID
|
||||
MPs(4) =EWLD_DESCRIPTION
|
||||
MPs(5) =EWLD_PATH
|
||||
MPs(6) =EWLD_FILENAME
|
||||
MPs(7) =EWLD_FILEEXTENSION_NAME
|
||||
MPs(8) =EWLD_PATH_AND_FILENAME
|
||||
MPs(9) =AccountNr
|
||||
MPs(10)=AccountName
|
||||
MPs(11)=RunningNr
|
||||
MPs(12)=DocNr
|
||||
MPs(13)=ProjectNr
|
||||
MPs(14)=ProgramDocType
|
||||
MPs(15)=PostingType
|
||||
MPs(16)=DocType
|
||||
MPs(17)=WinLineCurrentUser
|
||||
MPs(18)=DocVersion
|
||||
MPs(19)=DocComment
|
||||
MPs(20)=DocCreationDate
|
||||
MPs(21)=DocChangedDate
|
||||
MPs(22)=Addition1
|
||||
MPs(23)=Addition2
|
||||
MPs(24)=Addition3
|
||||
MPs(25)=Addition4
|
||||
MPs(26)=Addition5
|
||||
MPs(27)=Addition6
|
||||
MPs(28)=Addition7
|
||||
MPs(29)=Addition8
|
||||
MPs(30)=Addition9
|
||||
MPs(31)=Addition10
|
||||
|
||||
pParams = MPs
|
||||
CWLStart.MacroCommands.MRunMacro CALL_MAKRO_PRE_EXPORT, pParams
|
||||
CWLStart.MacroCommands.MWait 500
|
||||
|
||||
End if
|
||||
Next
|
||||
End if
|
||||
|
||||
'Show Error
|
||||
IF ((ExportDone<>"export_ready") and ((ExportType=2) or (ExportType=4) or (ExportType=5)) and (WinLineCurrentUser<>WebServiceUser) and (EWLD_GUID>0)) Then
|
||||
msgbox "Es ist ein Fehler aufgetreten!"&vbCrLf&vbCrLf&_
|
||||
EWLD_PATH&"\"&EWLD_FILENAME&vbCrLf&_
|
||||
EWLD_FILEEXTENSION&" | "&EWLD_VERSIONING,vbInformation,"ACHTUNG: Export wird abgebrochen!"
|
||||
End if
|
||||
|
||||
ResultValue = ""
|
||||
Reference in New Issue
Block a user