Syska (MDM-Import), uta, etc.
This commit is contained in:
@@ -953,6 +953,16 @@ Public Class cUTA
|
||||
Sub New()
|
||||
End Sub
|
||||
|
||||
Sub New(RechnungsNr, KundenNr, Datum, DocumentTyp)
|
||||
Me.RechnungsNr = RechnungsNr
|
||||
Me.KundenNr = KundenNr
|
||||
Me.Datum = Datum
|
||||
Me.DocumentTyp = DocumentTyp
|
||||
LOAD(RechnungsNr, KundenNr, Datum, DocumentTyp)
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
|
||||
Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Id", Id,, True))
|
||||
@@ -978,6 +988,38 @@ Public Class cUTA
|
||||
Return SQL.doSQLVarList(sqlstr, "FMZOLL", , list)
|
||||
End Function
|
||||
|
||||
Public Sub LOAD(RechnungsNr As String, KundenNr As Integer, Datum As Date, DocumentTyp As String)
|
||||
Try
|
||||
hasEntry = False
|
||||
Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
|
||||
Using cmd As New SqlCommand("Select * FROM tblUTADocuments WHERE Datum=@Datum AND KundenNr = @KundenNr AND RechnungsNr=@RechnungsNr AND DocumentTyp = @DocumentTyp ", conn)
|
||||
cmd.Parameters.AddWithValue("@Datum", Datum)
|
||||
cmd.Parameters.AddWithValue("@KundenNr", KundenNr)
|
||||
cmd.Parameters.AddWithValue("@RechnungsNr", RechnungsNr)
|
||||
cmd.Parameters.AddWithValue("@DocumentTyp", DocumentTyp)
|
||||
|
||||
Dim dr = cmd.ExecuteReader()
|
||||
If dr.Read Then
|
||||
For Each li In getParameterList()
|
||||
Dim propInfo As PropertyInfo = Me.GetType.GetProperty(li.Scalarvariable)
|
||||
|
||||
If dr.Item(li.Text) Is DBNull.Value Then
|
||||
propInfo.SetValue(Me, Nothing)
|
||||
Else
|
||||
propInfo.SetValue(Me, dr.Item(li.Text))
|
||||
End If
|
||||
|
||||
Next
|
||||
hasEntry = True
|
||||
End If
|
||||
dr.Close()
|
||||
End Using
|
||||
End Using
|
||||
Catch ex As Exception
|
||||
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Public Sub LOAD()
|
||||
Try
|
||||
hasEntry = False
|
||||
|
||||
@@ -6,15 +6,44 @@ Public Class cSyska_Interface
|
||||
|
||||
'STAMMDATEN
|
||||
Shared Function getStammdaten(FiBuSchnittstelleNr) As DataTable
|
||||
Dim sqlStr = " Select KundenNrZentrale As [Konto-Nr],isnull([Name 1],'') as Name,isnull([Name 2],'') as [Name2],(isnull(UstIdKz,'') + isnull(UstIdNr,'')) as [UST-Id-Nummer],isnull(UstIdGeprüft,'') as [UID-Datum],[Strasse],Adressen.landkz ,PLZ,LTRIM([Ort]) as Ort,isnull(BLZ,'') as [BLZ],isnull(KTO,'') as [KTO], CASE WHEN CAST(Zahlungsziel as VARCHAR(3)) ='0' THEN '' ELSE CAST(Zahlungsziel as VARCHAR(3)) END as [ZZiel],/*'' as [SPz],'' as [STg],*/isnull([E-Mail],'') as [mail],'' AS Info1,'' AS Inf2, Zahlungsziel2, Zahlungsziel3,[E-Mail],[Telefon] ,Telefax "
|
||||
sqlStr &= " ,Ordnungsbegriff ,Kunden.Währungscode,Anrede,Ansprechpartner,Lastschrift,Kunden.[Eingegeben am] as EingegebenAm"
|
||||
sqlStr &= " FROM Adressen INNER JOIN Kunden ON Kundennr=AdressenNr "
|
||||
sqlStr &= " LEFT JOIN tblKundenErweitert ON KundenNr=kde_KundenNr "
|
||||
sqlStr &= " LEFT JOIN [Länderverzeichnis für die Außenhandelsstatistik] as St ON St.LandKz=Adressen.LandKz "
|
||||
sqlStr &= " LEFT JOIN Währungstabelle ON St.LandNr = Währungstabelle.Währungsschlüssel "
|
||||
sqlStr &= " WHERE FiBuSchnittstelle=1 AND Auswahl='A' AND FiBuSchnittstelleNr='" & FiBuSchnittstelleNr & "' "
|
||||
sqlStr &= " Order by [Konto-Nr] "
|
||||
Return SQL.loadDgvBySql(sqlStr, "FMZOLL")
|
||||
|
||||
Dim SQLString = "Select Top(100)
|
||||
KundenNrZentrale As [Konto-Nr],
|
||||
isnull([Name 1],'') as Name,
|
||||
isnull([Name 2],'') as [Name2],
|
||||
(isnull(UstIdKz,'') + isnull(UstIdNr,'')) as [UST-Id-Nummer],
|
||||
isnull(UstIdGeprüft,'') as [UID-Datum],
|
||||
[Strasse],
|
||||
Adressen.landkz ,
|
||||
PLZ,LTRIM([Ort]) as Ort,
|
||||
isnull(BLZ,'') as [BLZ],
|
||||
isnull(KTO,'') as [KTO],
|
||||
CASE WHEN CAST(Zahlungsziel as VARCHAR(3)) ='0' THEN '' ELSE CAST(Zahlungsziel as VARCHAR(3)) END as [ZZiel],
|
||||
isnull([E-Mail],'') as [mail],
|
||||
'' AS Info1,
|
||||
'' AS Inf2,
|
||||
Zahlungsziel2,
|
||||
Zahlungsziel3,
|
||||
[E-Mail],
|
||||
[Telefon] ,
|
||||
Telefax,Ordnungsbegriff,
|
||||
Kunden.Währungscode,
|
||||
Anrede,
|
||||
Ansprechpartner,
|
||||
Lastschrift,
|
||||
Kunden.[Eingegeben am] as EingegebenAm,
|
||||
isnull(tblKundenErweitert.kde_BezFIBU,'') as [Kürzel],
|
||||
2811 as [präf. Bank],
|
||||
isnull(tblKundenErweitert.kde_Fakturierung_Sprache,'') as Sprache,
|
||||
isnull(Adressen.Steuernummer,'')as [SteuerNr],
|
||||
isnull(tblKundenErweitert.kde_betreuer,'') as Betreuer
|
||||
FROM Adressen INNER JOIN Kunden ON Kundennr=AdressenNr
|
||||
Left Join tblKundenErweitert ON KundenNr=kde_KundenNr
|
||||
Left Join [Länderverzeichnis für die Außenhandelsstatistik] as St ON St.LandKz=Adressen.LandKz
|
||||
Left Join Währungstabelle ON St.LandNr = Währungstabelle.Währungsschlüssel
|
||||
WHERE FiBuSchnittstelle = 0 And Auswahl ='A' AND FiBuSchnittstelleNr='" & FiBuSchnittstelleNr & "' and KundenNr = 203152 Order by [Konto-Nr]"
|
||||
|
||||
Return SQL.loadDgvBySql(SQLString, "FMZOLL")
|
||||
End Function
|
||||
|
||||
' Shared Function getStammdatenTEST(FiBuSchnittstelleNr) As DataTable
|
||||
@@ -80,9 +109,6 @@ Public Class cSyska_Interface
|
||||
Dim cleanStringName As String = Regex.Replace(row("Name"), "[^A-Za-z0-9\-/]", "").Replace(" ", "").ToUpper
|
||||
|
||||
Dim Lastschrift = CBool(row("Lastschrift"))
|
||||
'If FormatStringSYS(row("Name2"), 50) <> "" Then
|
||||
' MsgBox(FormatStringSYS(row("Name2"), 50) & vbTab)
|
||||
'End If
|
||||
getPersonenKto = ""
|
||||
getPersonenKto &= row("Konto-Nr") & vbTab
|
||||
getPersonenKto &= FormatStringSYS(cleanStringName, 2) & row("Konto-Nr") & vbTab
|
||||
@@ -113,7 +139,73 @@ Public Class cSyska_Interface
|
||||
getPersonenKto &= FormatStringSYS(row("Telefax")) & vbTab
|
||||
getPersonenKto &= FormatStringSYS(row("E-Mail")) & vbTab
|
||||
getPersonenKto &= vbTab
|
||||
' getPersonenKto &= vbTab
|
||||
|
||||
End Function
|
||||
|
||||
|
||||
Public Shared Function getPersonenKto_MDM(row As DataRow) As String
|
||||
|
||||
Dim LandKz = row("LandKz")
|
||||
Dim Gegenkontonummer = ""
|
||||
Dim Gegenkontonummer2 = ""
|
||||
If LandKz Is DBNull.Value Or LandKz.trim = "" Or LandKz = "A" Then
|
||||
Gegenkontonummer = "4000" ' Erl. 20%
|
||||
Gegenkontonummer2 = "4000" ' Erl. 20%
|
||||
Else
|
||||
If CBool(SQL.DLookup("[MitgliedslandEU]", "[Währungstabelle]", "[LandKz]='" & LandKz & "'", "FMZOLL", False)) Then
|
||||
Gegenkontonummer = "4020" ' Erl. 0% EU
|
||||
Gegenkontonummer2 = "4020" ' Erl. 0% EU
|
||||
Else
|
||||
Gegenkontonummer = "4021" ' Erl. 0% 3.Land
|
||||
Gegenkontonummer2 = "4021" ' Erl. 0% 3.Land
|
||||
End If
|
||||
End If
|
||||
|
||||
Dim cleanStringName As String = Regex.Replace(row("Name"), "[^A-Za-z0-9\-/]", "").Replace(" ", "").ToUpper
|
||||
|
||||
Dim SteuerNr As String = ""
|
||||
|
||||
If Not IsDBNull(row("SteuerNr")) Then
|
||||
SteuerNr = Regex.Replace(row("SteuerNr").ToString(), "[^0-9]", "")
|
||||
End If
|
||||
|
||||
Dim Lastschrift = CBool(row("Lastschrift"))
|
||||
getPersonenKto_MDM = ""
|
||||
getPersonenKto_MDM &= row("Konto-Nr") & vbTab
|
||||
getPersonenKto_MDM &= FormatStringSYS(row("Kürzel"), 24) & vbTab
|
||||
getPersonenKto_MDM &= FormatStringSYS(row("Name"), 50) & vbTab
|
||||
getPersonenKto_MDM &= FormatStringSYS(row("Name2"), 50) & vbTab
|
||||
getPersonenKto_MDM &= FormatStringSYS(row("Strasse"), 50) & vbTab
|
||||
getPersonenKto_MDM &= FormatStringSYS(row("PLZ"), 20) & vbTab
|
||||
getPersonenKto_MDM &= FormatStringSYS(row("Ort"), 50) & vbTab
|
||||
getPersonenKto_MDM &= cProgramFunctions.getISO2Land(FormatStringSYS(LandKz, 5)) & vbTab
|
||||
getPersonenKto_MDM &= CDate(row("EingegebenAm")).ToShortDateString & vbTab 'Eröffnungsdatum
|
||||
'getPersonenKto_MDM &= Gegenkontonummer & vbTab
|
||||
getPersonenKto_MDM &= vbTab 'Bankname
|
||||
getPersonenKto_MDM &= If(Lastschrift, row("BLZ"), "") & vbTab
|
||||
getPersonenKto_MDM &= If(Lastschrift, row("KTO"), "") & vbTab
|
||||
getPersonenKto_MDM &= FormatStringSYS(row("Name"), 50) & vbTab 'Inhaber
|
||||
getPersonenKto_MDM &= "00" & vbTab 'Skontotage
|
||||
getPersonenKto_MDM &= If(row("ZZiel") IsNot DBNull.Value AndAlso row("ZZiel") <> String.Empty, CDbl(row("ZZiel")).ToString("00"), "") & vbTab
|
||||
getPersonenKto_MDM &= "00,00" & vbTab 'Skonto
|
||||
getPersonenKto_MDM &= "01" & vbTab 'Mahnkennung
|
||||
getPersonenKto_MDM &= FormatStringSYS(row("UST-Id-Nummer"), 50) & vbTab
|
||||
'getPersonenKto_MDM &= vbTab
|
||||
getPersonenKto_MDM &= row("Währungscode") & vbTab
|
||||
'getPersonenKto_MDM &= vbTab 'Forderungsonto
|
||||
'getPersonenKto_MDM &= vbTab
|
||||
'getPersonenKto_MDM &= Gegenkontonummer2 & vbTab 'Platzhalter??
|
||||
getPersonenKto_MDM &= FormatStringSYS(row("Anrede") & " " & row("Ansprechpartner"), 100) & vbTab
|
||||
'getPersonenKto_MDM &= vbTab
|
||||
getPersonenKto_MDM &= FormatStringSYS(row("Telefon")) & vbTab
|
||||
getPersonenKto_MDM &= FormatStringSYS(row("Telefax")) & vbTab
|
||||
getPersonenKto_MDM &= FormatStringSYS(row("E-Mail")) & vbTab
|
||||
getPersonenKto_MDM &= FormatStringSYS(row("präf. Bank")) & vbTab
|
||||
getPersonenKto_MDM &= FormatStringSYS(row("Sprache")) & vbTab
|
||||
getPersonenKto_MDM &= FormatStringSYS(SteuerNr) & vbTab
|
||||
getPersonenKto_MDM &= FormatStringSYS(row("Betreuer")) & vbTab
|
||||
|
||||
getPersonenKto_MDM &= vbTab
|
||||
|
||||
End Function
|
||||
|
||||
@@ -146,43 +238,50 @@ Public Class cSyska_Interface
|
||||
If True Then 'boolKunden Then
|
||||
'----------------- STAMMDATEN -----------------
|
||||
Dim dt_Stamm As DataTable = getStammdaten(FiBuSchnittstelleNr)
|
||||
Dim postfix As String = ""
|
||||
If dt_Stamm IsNot Nothing AndAlso dt_Stamm.Rows.Count > 0 Then
|
||||
|
||||
If FiBuSchnittstelleNr = 19 Then postfix = "MDM_"
|
||||
Dim fileKD As System.IO.StreamWriter
|
||||
Dim DateinameKD = "AVISO_DEBI_" & Now.ToString("ddMMyyyy_HHmm") & ".txt"
|
||||
Dim DateinameKD = "AVISO_DEBI_" & postfix & Now.ToString("ddMMyyyy_HHmm") & ".txt"
|
||||
fileKD = My.Computer.FileSystem.OpenTextFileWriter(pathKD & DateinameKD, True, System.Text.Encoding.GetEncoding("iso-8859-15"))
|
||||
|
||||
|
||||
'fileKD.WriteLine(genStammdatenBeginn())
|
||||
'fileKD.WriteLine(genStammdatenBeginn())
|
||||
|
||||
|
||||
|
||||
initKDNr(dt_Stamm)
|
||||
initKDNr(dt_Stamm)
|
||||
For Each r In dt_Stamm.Rows
|
||||
fileKD.WriteLine(getPersonenKto(r))
|
||||
If FiBuSchnittstelleNr = 19 Then
|
||||
fileKD.WriteLine(getPersonenKto_MDM(r))
|
||||
Else
|
||||
fileKD.WriteLine(getPersonenKto(r))
|
||||
End If
|
||||
|
||||
|
||||
Next
|
||||
bool_DatenVorhanden = True
|
||||
|
||||
|
||||
fileKD.Close()
|
||||
fileKD.Close()
|
||||
|
||||
'In Archiv sichern
|
||||
If pathArchivKD <> "" Then
|
||||
If Not System.IO.Directory.Exists(pathArchivKD) Then System.IO.Directory.CreateDirectory(pathArchivKD)
|
||||
If pathKD <> pathArchivKD Then System.IO.File.Copy(pathKD & DateinameKD, pathArchivKD & DateinameKD)
|
||||
End If
|
||||
|
||||
If bool_DatenVorhanden Then
|
||||
If OpenFile Then Process.Start(pathKD & DateinameKD)
|
||||
Else
|
||||
System.IO.File.Delete(pathKD & DateinameKD)
|
||||
End If
|
||||
|
||||
'NOCH NICHT!!!
|
||||
updateFibu(FiBuSchnittstelleNr) ' UPDATE FiBuSchnittstelle --> 0
|
||||
|
||||
'In Archiv sichern
|
||||
If pathArchivKD <> "" Then
|
||||
If Not System.IO.Directory.Exists(pathArchivKD) Then System.IO.Directory.CreateDirectory(pathArchivKD)
|
||||
If pathKD <> pathArchivKD Then System.IO.File.Copy(pathKD & DateinameKD, pathArchivKD & DateinameKD)
|
||||
End If
|
||||
|
||||
If bool_DatenVorhanden Then
|
||||
If OpenFile Then Process.Start(pathKD & DateinameKD)
|
||||
Else
|
||||
System.IO.File.Delete(pathKD & DateinameKD)
|
||||
End If
|
||||
|
||||
'NOCH NICHT!!!
|
||||
updateFibu(FiBuSchnittstelleNr) ' UPDATE FiBuSchnittstelle --> 0
|
||||
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user