fremdrechnungen, etc.
This commit is contained in:
@@ -79,10 +79,12 @@ Public Class usrcntlFremdrechnungen
|
||||
KUNDE = kundenSQL.getKundeByKdNr(kdNr)
|
||||
dtkeineMWST = (New SQL).loadDgvBySql("select Land, Erstattungsland, Lieferant from tblKeineMWSTErstattung", "FMZOLL")
|
||||
|
||||
If KUNDE IsNot Nothing Then
|
||||
If KUNDE.KundenNr > 0 Then
|
||||
dtKundeMWST = (New SQL).loadDgvBySql("select LandKz from tblKundenMWST where KdNr = " & KUNDE.KundenNr, "FMZOLL")
|
||||
cbx.Visible = True
|
||||
End If
|
||||
|
||||
|
||||
SET_SDL("")
|
||||
|
||||
dgvInitWait = False
|
||||
@@ -211,7 +213,6 @@ Public Class usrcntlFremdrechnungen
|
||||
aktLieferant = SDLNrTmp
|
||||
|
||||
|
||||
|
||||
Dim anzahlTop = 1000
|
||||
Dim sqlfehlendePDF As String = ""
|
||||
Dim sqlfehlendePDF_PLOSE As String = ""
|
||||
@@ -367,6 +368,7 @@ Public Class usrcntlFremdrechnungen
|
||||
|
||||
Private Function setSQLWhere(aktLieferant As String, land As String) As String
|
||||
|
||||
'das hier geht (aktuell) nur PRO KUNDE -> ALSO nicht in der Gesamtübersicht!!!!!!!!
|
||||
|
||||
Dim SQLWhere = " between '" & dat_Sum_Von.Value.ToShortDateString & "' and '" & dat_Sum_Bis.Value.ToShortDateString & "'"
|
||||
|
||||
@@ -451,6 +453,8 @@ Public Class usrcntlFremdrechnungen
|
||||
Private Function setSQLDetailWhere(aktLieferant As String, land As String, Optional alle As Boolean = False) As String
|
||||
|
||||
|
||||
'das hier ist nur PRO KUNDE möglich!!!
|
||||
|
||||
Dim SQLWhere = ""
|
||||
|
||||
If cbx.Checked AndAlso KUNDE IsNot Nothing Then
|
||||
@@ -704,9 +708,6 @@ Public Class usrcntlFremdrechnungen
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Private Sub Button4_Click_1(sender As Object, e As EventArgs) Handles Button4.Click
|
||||
If SplitContainer1.Panel2Collapsed Then
|
||||
SplitContainer1.Panel2Collapsed = False
|
||||
@@ -788,7 +789,7 @@ Public Class usrcntlFremdrechnungen
|
||||
|
||||
If groups.Count > 0 Then
|
||||
|
||||
If Not vbYes = MsgBox("Möchten Sie die Rechnungen von " & groups.Count & " Kunden per Mail verschicken? " & IIf(Not cbxMailoeffnen.Checked, vbNewLine & "Die Mails werden sofort verschickt!", ""), vbYesNoCancel) Then
|
||||
If Not vbYes = MsgBox("Möchten Sie die Rechnungen von " & groups.Count & " Kunden per Mail verschicken? " & IIf(Not cbxMailoeffnen.Checked, vbNewLine & "Die Mails werden sofort ohne Dialogfeld verschickt!", ""), vbYesNoCancel) Then
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
@@ -797,227 +798,369 @@ Public Class usrcntlFremdrechnungen
|
||||
|
||||
Dim TextHTMLtable = ""
|
||||
|
||||
TextHTMLtable &= "<table border=1>"
|
||||
TextHTMLtable &= "<tr><td>Supplier</td><td>Country</td><td>Date</td></tr>"
|
||||
|
||||
Dim pdflist As New List(Of String)
|
||||
|
||||
For Each row In kvp.Value
|
||||
|
||||
|
||||
Dim Lieferant = ""
|
||||
|
||||
If dgvLFRechnung.Columns.Contains("Lieferant") Then
|
||||
Lieferant = row.Cells("Lieferant").Value
|
||||
Else
|
||||
Lieferant = aktLieferant
|
||||
End If
|
||||
|
||||
If Lieferant = "VERAG" Then
|
||||
'VERAG IGNORIEREN
|
||||
'Dim ReDat = row.Cells("Rechnungsdatum").Value
|
||||
'Dim ReNr = row.Cells("Rechnungsnummer").Value
|
||||
|
||||
'If ReDat IsNot Nothing AndAlso ReNr > 0 Then
|
||||
' Me.Cursor = Cursors.WaitCursor
|
||||
' Dim da_id = SQL.getValueTxtBySql("SELECT TOP(1) RK_ID FROM Rechnungsausgang where cast(Rechnungsausgang.RechnungsDatum as Date) ='" & ReDat & "' and Rechnungsausgang.RechnungsNr='" & ReNr & "' AND FilialenNr = 4814 AND RK_ID is not null", "FMZOLL")
|
||||
' cFakturierung.doRechnungsDruck_SRorER(da_id,, False, 3)
|
||||
'End If
|
||||
|
||||
Else
|
||||
|
||||
If Lieferant = "IDS" Then
|
||||
|
||||
Dim dt As New DataTable
|
||||
dt = initDGVRechnungsdetails(row.Cells("invoice_id").Value, True)
|
||||
|
||||
For Each r As DataRow In dt.Rows
|
||||
|
||||
TextHTMLtable &= "<tr>"
|
||||
TextHTMLtable &= "<td><b>" & Lieferant & "</b></td>"
|
||||
TextHTMLtable &= "<td><b>" & r.Item("Land") & "</b></td>"
|
||||
TextHTMLtable &= "<td><b>" & r.Item("Rechnungsdatum") & "</b></td>"
|
||||
TextHTMLtable &= "</tr>"
|
||||
|
||||
Dim daId As Integer = IIf(IsDBNull(r.Item("daId")), -1, r.Item("daId"))
|
||||
If daId > 0 Then
|
||||
Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER(daId)
|
||||
pdflist.Add(DS.GET_TOP1_PATH())
|
||||
End If
|
||||
|
||||
Next
|
||||
|
||||
|
||||
|
||||
Else
|
||||
TextHTMLtable &= "<tr>"
|
||||
TextHTMLtable &= "<td><b>" & Lieferant & "</b></td>"
|
||||
TextHTMLtable &= "<td><b>" & row.Cells("Land").Value & "</b></td>"
|
||||
TextHTMLtable &= "<td><b>" & row.Cells("Rechnungsdatum").Value & "</b></td>"
|
||||
TextHTMLtable &= "</tr>"
|
||||
|
||||
Dim daId As Integer = IIf(IsDBNull(row.Cells("daId").Value), -1, row.Cells("daId").Value)
|
||||
If daId > 0 Then
|
||||
Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER(daId)
|
||||
pdflist.Add(DS.GET_TOP1_PATH())
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
|
||||
|
||||
End If
|
||||
|
||||
Next
|
||||
|
||||
|
||||
TextHTMLtable &= "</table>"
|
||||
|
||||
Dim outl As New Outlook.Application
|
||||
Dim Mail As Microsoft.Office.Interop.Outlook.MailItem
|
||||
Mail = outl.CreateItem(0)
|
||||
|
||||
Dim kundeMail As New cKunden()
|
||||
kundeMail = kundenSQL.getKundeByKdNr(kvp.Key)
|
||||
|
||||
Select Case kundeMail.LandKz
|
||||
Case "TR"
|
||||
Mail.Subject = kundeMail.Kurzname & " - ORIJINAL FATURA "
|
||||
|
||||
|
||||
Mail.HTMLBody = "Bayanlar ve Baylar!,<br><br>Ekte izlere orijinal faturalarinizi gönderiyoruz.<br><br>"
|
||||
|
||||
Mail.HTMLBody &= TextHTMLtable
|
||||
|
||||
Mail.HTMLBody &= "<br><br><br>Iyi calismalar dileriz.<br><br>"
|
||||
|
||||
Case "A", "AT", "D", "DE", "CH"
|
||||
|
||||
Mail.Subject = kundeMail.Kurzname & " - ORIGINAL RECHNUNG "
|
||||
|
||||
Mail.HTMLBody = "Sehr geehrte Damen und Herren,<br><br>im Anhang senden wir Ihnen die Originalrechnungen.<br><br>"
|
||||
|
||||
Mail.HTMLBody &= TextHTMLtable
|
||||
|
||||
Mail.HTMLBody &= "<br><br><br>Mit freundlichen Grüßen<br><br>"
|
||||
Case "RO"
|
||||
|
||||
Mail.Subject = kundeMail.Kurzname & " - FACTURI RETURNATE "
|
||||
|
||||
Mail.HTMLBody = "Stimati domni, stimate doamne,<br><br>Va returnam facturile originale care nu au fost utilizate spre recuperare TVA.<br><br>Va multumim pentru colaborarea.<br><br>"
|
||||
|
||||
Mail.HTMLBody &= TextHTMLtable
|
||||
|
||||
Mail.HTMLBody &= "<br><br><br>Cu stima<br><br>"
|
||||
|
||||
Case "HR", "BIH", "SLO", "SRB", "BIH"
|
||||
Mail.Subject = kundeMail.Kurzname & " - ORGINALNI RACUNI "
|
||||
|
||||
|
||||
Mail.HTMLBody = "Postovanje,<br><br>prilozeno Vam dostavljamo orginalne racune za Vasu daljnu upotrebu.<br><br>Za pitanja stojimo na raspolaganju.<br><br>"
|
||||
|
||||
Mail.HTMLBody &= TextHTMLtable
|
||||
|
||||
Mail.HTMLBody &= "<br><br><br>Srdacan pozdrav<br><br>"
|
||||
|
||||
Case Else
|
||||
Mail.Subject = kundeMail.Kurzname & " - Invoice No."
|
||||
|
||||
Mail.HTMLBody = TextHTMLtable
|
||||
|
||||
Mail.HTMLBody = "Dear Sir or Madam,<br><br>attached we send you the original invoice mentioned above.<br><br>"
|
||||
|
||||
Mail.HTMLBody &= TextHTMLtable
|
||||
|
||||
Mail.HTMLBody &= "<br><br><br>Best regards<br><br>"
|
||||
|
||||
|
||||
End Select
|
||||
|
||||
Mail.HTMLBody &= VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME & "<br>"
|
||||
Mail.HTMLBody &= "<br>"
|
||||
Mail.HTMLBody &= cFakturierung.getSignature("DE", 19, True, True)
|
||||
|
||||
If pdflist.Count > 0 Then
|
||||
For Each pdf In pdflist
|
||||
Mail.Attachments.Add(pdf, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue, , )
|
||||
Next
|
||||
End If
|
||||
|
||||
Mail.To &= kundeMail.EMail
|
||||
Mail.CC &= kundeMail.EMail2
|
||||
|
||||
If cbxMailoeffnen.Checked Then
|
||||
Try
|
||||
Mail.Display()
|
||||
Catch ex As Exception
|
||||
MsgBox(ex.Message)
|
||||
End Try
|
||||
|
||||
|
||||
Else
|
||||
Try
|
||||
|
||||
If Mail IsNot Nothing Then
|
||||
|
||||
|
||||
Dim API = VERAG_PROG_ALLGEMEIN.cAPI.INSERT_API(VERAG_PROG_ALLGEMEIN.cAPI_INOUT.OUT, VERAG_PROG_ALLGEMEIN.cAPI_Type.MAIL, VERAG_PROG_ALLGEMEIN.cAPI_ART.SDL_OUT_SAMMELRECHNUNG, "MAIL-ORIG-RG",,, kvp.Key)
|
||||
|
||||
API.api_EMail = Mail.To
|
||||
API.api_EMailCC = Mail.CC
|
||||
API.api_EMailBCC = IIf(Mail.BCC <> "", Mail.BCC & ";mmdabrechnung@verag.ag", "mmdabrechnung@verag.ag")
|
||||
API.api_EMailSubject = Mail.Subject
|
||||
API.api_EMailText = Mail.HTMLBody
|
||||
API.api_EMailAttCnt = Mail.Attachments.Count
|
||||
|
||||
If Mail IsNot Nothing Then
|
||||
|
||||
If VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail(API.api_EMail, API.api_EMailSubject, API.api_EMailText, "mmdabrechnung@verag.ag", False, False, API.api_EMailCC, API.api_EMailBCC, pdflist,, "mmdabrechnung@verag.ag") Then
|
||||
API.UPDTAE_OK()
|
||||
|
||||
Else
|
||||
API.UPDTAE_ERR()
|
||||
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
Catch ex As Exception
|
||||
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
||||
Me.Cursor = Cursors.Default
|
||||
End Try
|
||||
|
||||
End If
|
||||
Dim pdflist = createEMailTable(TextHTMLtable, kvp, cbx.Checked)
|
||||
|
||||
createEmail(kvp.Key, TextHTMLtable, pdflist)
|
||||
|
||||
Next
|
||||
|
||||
|
||||
End If
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
'Sub SelectRow(kdnr, kfz, SDLNr, history)
|
||||
' dgvInitWait = True
|
||||
' dgvSDL.ClearSelection()
|
||||
' For Each r As DataGridViewRow In dgvSDL.Rows
|
||||
' If r.Cells("KundenNr").Value = kdnr AndAlso
|
||||
' r.Cells("SDLNr").Value = SDLNr AndAlso
|
||||
' r.Cells("KfzKennzeichen").Value = kfz AndAlso
|
||||
' r.Cells("History").Value = history Then
|
||||
' r.Selected = True
|
||||
' dgvSDL.FirstDisplayedScrollingRowIndex = r.Index
|
||||
' Exit For
|
||||
' End If
|
||||
' Next
|
||||
' dgvInitWait = False
|
||||
' 'ReloadLeistung()
|
||||
' dgvSDL.PerformLayout()
|
||||
'End Sub
|
||||
Private Function createEMailTable(ByRef TextHTMLtable As String, kvp As KeyValuePair(Of Object, List(Of DataGridViewRow)), onlyRelevantInvioces As Boolean) As List(Of String)
|
||||
|
||||
|
||||
|
||||
'------------------------------------------------------------
|
||||
'toDo-Logik für die Ausnahmen - START - wie in Function "setSQLWhere(aktLieferant As String, land As String) As String"
|
||||
'------------------------------------------------------------
|
||||
|
||||
'1. wenn die Rechnung in dem Land in dem er ansässig ist ausgestellt wurde (rumän. Kunde – Rechnung ausgestellt in Rumänien = z.B. IDS in RO getankt…)
|
||||
|
||||
Dim landKZiso2 = ""
|
||||
Dim KUNDE_TEMP As cKunden
|
||||
KUNDE_TEMP = kundenSQL.getKundeByKdNr(kvp.Key)
|
||||
|
||||
If KUNDE_TEMP.LandKz <> "" Then
|
||||
If KUNDE_TEMP.LandKz.Length = 2 Then
|
||||
landKZiso2 = KUNDE_TEMP.LandKz
|
||||
ElseIf KUNDE_TEMP.LandKz.Length = 3 Then
|
||||
landKZiso2 = VERAG_PROG_ALLGEMEIN.cProgramFunctions.getISO2LandFromISO3Land(KUNDE_TEMP.LandKz)
|
||||
ElseIf KUNDE_TEMP.LandKz.Length = 1 Then
|
||||
landKZiso2 = VERAG_PROG_ALLGEMEIN.cProgramFunctions.getISO2LandFromISO1Land(KUNDE_TEMP.LandKz)
|
||||
End If
|
||||
|
||||
|
||||
End If
|
||||
|
||||
Dim dtKundeMWSTTemp As DataTable = (New SQL).loadDgvBySql("select LandKz from tblKundenMWST where KdNr = " & KUNDE_TEMP.KundenNr, "FMZOLL")
|
||||
|
||||
|
||||
|
||||
'2. wenn die Rechnung die Summe NULL aufweist
|
||||
|
||||
'3. Rechnungen der Länder in denen der Kunde keine MWST erstattet bekommt (auch nicht auf Diesel -> IDS)
|
||||
|
||||
'4. Rechnungen der Länder, in denen der Kunde selber MWST beantragt
|
||||
|
||||
|
||||
'If cbx.Checked AndAlso aktLieferant <> "IDS" AndAlso KUNDE IsNot Nothing Then
|
||||
' Dim erw As New cKundenErweitert(KUNDE.KundenNr)
|
||||
' If erw.kde_keineMWSt Then Return SQLWhere
|
||||
|
||||
' SQLWhere &= "AND ("
|
||||
' 'ORIGINAL-RECHNUNG senden wenn:
|
||||
' '1. wenn die Rechnung in dem Land in dem er ansässig ist ausgestellt wurde (rumän. Kunde – Rechnung ausgestellt in Rumänien = z.B. IDS in RO getankt…)
|
||||
|
||||
' Dim landKZiso2 = ""
|
||||
|
||||
' If LAND <> "" Then 'LandKZ vom Kunden muss auf ISO2 konvertiert werden, weil da ein Misch-Masch in der Datenbank herrscht!
|
||||
' If KUNDE.LandKz <> "" Then
|
||||
' If KUNDE.LandKz.Length = 2 Then
|
||||
' landKZiso2 = KUNDE.LandKz
|
||||
' ElseIf KUNDE.LandKz.Length = 3 Then
|
||||
' landKZiso2 = VERAG_PROG_ALLGEMEIN.cProgramFunctions.getISO2LandFromISO3Land(KUNDE.LandKz)
|
||||
' ElseIf KUNDE.LandKz.Length = 1 Then
|
||||
' landKZiso2 = VERAG_PROG_ALLGEMEIN.cProgramFunctions.getISO2LandFromISO1Land(KUNDE.LandKz)
|
||||
' End If
|
||||
|
||||
' SQLWhere &= " " & LAND & " in ('" & landKZiso2 & "')"
|
||||
' End If
|
||||
' End If
|
||||
|
||||
' '2. wenn die Rechnung die MWST-SUMME 0 aufweist!!!
|
||||
' Select Case aktLieferant
|
||||
' Case "UTA" : SQLWhere &= " OR Gesamtbetrag_Umsatzsteuer_in_Darstellwährung = 0 " 'UTA bei UTA auch EPN ausblenden!
|
||||
' Case "PLOSE" : SQLWhere &= " OR plInv_MWSTBetrag = 0" 'PLOSE
|
||||
' Case "VERAG" : SQLWhere &= " OR tblTrdinInvoice.SteuerbetragLokal = 0" 'VERAG
|
||||
' Case "MSE" : SQLWhere &= " OR total_vat_amount_euro = 0" 'MSE
|
||||
' Case "RMC" : SQLWhere &= " OR rmc_betragMWST = 0" 'RMC
|
||||
' Case "ALLE" : SQLWhere &= " OR temp.MWSt = 0" 'ALLE
|
||||
' Case "UTA_" : SQLWhere &= " 1 <> 1"
|
||||
' Case Else : SQLWhere &= " 1 <> 1"
|
||||
|
||||
' End Select
|
||||
|
||||
' '3. Rechnungen der Länder in denen der Kunde keine MWST erstattet bekommt
|
||||
' If LAND <> "" AndAlso dtkeineMWST.Rows.Count > 0 Then
|
||||
' Dim dtkeineMWST_ohneContraint As DataTable = dtkeineMWST.Select("Lieferant <> 'IDS' AND Land = '" & landKZiso2 & "'").CopyToDataTable
|
||||
' Dim counter = 0
|
||||
' Dim landBez As String = ""
|
||||
' For Each row As DataRow In dtkeineMWST_ohneContraint.Rows
|
||||
' landBez &= "'" & row.Item("Erstattungsland") & "'"
|
||||
' counter = counter + 1
|
||||
' If (dtkeineMWST_ohneContraint.Rows.Count <> 0 And counter <> dtkeineMWST_ohneContraint.Rows.Count) Then landBez &= ","
|
||||
' Next
|
||||
' SQLWhere &= " OR " & LAND & " in (" & landBez & ")"
|
||||
' If aktLieferant = "ALLE" Then SQLWhere &= " OR " & LAND & " in ('')" 'damit IDS ohne Land nicht ausgeschlossen wird.
|
||||
' End If
|
||||
|
||||
' '4. Rechnungen der Länder, in denen der Kunde selber MWST beantragt
|
||||
' If LAND <> "" AndAlso dtKundeMWST.Rows.Count > 0 Then
|
||||
' Dim counter = 0
|
||||
' Dim landBez As String = ""
|
||||
' For Each row As DataRow In dtKundeMWST.Rows
|
||||
' landBez &= "'" & row.Item("LandKz") & "'"
|
||||
' counter = counter + 1
|
||||
' If (dtKundeMWST.Rows.Count <> 0 And counter <> dtKundeMWST.Rows.Count) Then landBez &= ","
|
||||
' Next
|
||||
' SQLWhere &= " OR " & LAND & " in (" & landBez & ")"
|
||||
' End If
|
||||
' SQLWhere &= ")"
|
||||
|
||||
|
||||
|
||||
'------------------------------------------------------------
|
||||
'toDo-Logik für die Ausnahmen - END
|
||||
'------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
TextHTMLtable &= "<table border=1>"
|
||||
TextHTMLtable &= "<tr><td>Supplier</td><td>Country</td><td>Date</td></tr>"
|
||||
|
||||
Dim pdflist As New List(Of String)
|
||||
|
||||
For Each row In kvp.Value
|
||||
|
||||
Dim erw As New cKundenErweitert(kvp.Key)
|
||||
Dim Lieferant = ""
|
||||
|
||||
If dgvLFRechnung.Columns.Contains("Lieferant") Then
|
||||
Lieferant = row.Cells("Lieferant").Value
|
||||
Else
|
||||
Lieferant = aktLieferant
|
||||
End If
|
||||
|
||||
If onlyRelevantInvioces AndAlso Lieferant <> "IDS" AndAlso erw.kde_keineMWSt Then Exit For 'abbruchbedingung
|
||||
|
||||
Dim sendÍnvoice As Boolean = IIf(onlyRelevantInvioces, False, True)
|
||||
|
||||
'ORIGINAL-RECHNUNG senden wenn:
|
||||
If onlyRelevantInvioces Then
|
||||
|
||||
'1. wenn die Rechnung in dem Land in dem er ansässig ist ausgestellt wurde (rumän. Kunde – Rechnung ausgestellt in Rumänien = z.B. IDS in RO getankt…)
|
||||
If row.Cells("Land").Value <> "" AndAlso landKZiso2 = row.Cells("Land").Value Then sendÍnvoice = True
|
||||
|
||||
'2. wenn die Rechnung die MWST-SUMME 0 aufweist!!!
|
||||
If Not sendÍnvoice AndAlso row.Cells("MWSt").Value = 0 Then sendÍnvoice = True
|
||||
|
||||
'3. Rechnungen der Länder in denen der Kunde keine MWST erstattet bekommt -> dtkeineMWST
|
||||
If Not sendÍnvoice AndAlso landKZiso2 <> "" AndAlso dtkeineMWST.Rows.Count > 0 Then
|
||||
Dim rows() As DataRow = dtkeineMWST.Select("Lieferant <> 'IDS' AND Land = '" & landKZiso2 & "' and Erstattungsland = '" & row.Cells("Land").Value & "'")
|
||||
Dim dtkeineMWST_ohneContraint As New DataTable
|
||||
If rows.Length > 0 Then dtkeineMWST_ohneContraint = rows.CopyToDataTable()
|
||||
If dtkeineMWST_ohneContraint.Rows.Count > 0 Then sendÍnvoice = True
|
||||
End If
|
||||
|
||||
'4. Rechnungen der Länder, in denen der Kunde selber MWST beantragt
|
||||
|
||||
If Not sendÍnvoice AndAlso landKZiso2 <> "" AndAlso dtKundeMWSTTemp.Rows.Count > 0 Then
|
||||
Dim rows() As DataRow = dtKundeMWSTTemp.Select("LandKz = '" & row.Cells("Land").Value & "'")
|
||||
Dim dtKundeMWSTTemp_ohneContraint As New DataTable
|
||||
If rows.Length > 0 Then dtKundeMWSTTemp_ohneContraint = rows.CopyToDataTable()
|
||||
If dtKundeMWSTTemp_ohneContraint.Rows.Count > 0 Then sendÍnvoice = True
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
|
||||
If Lieferant = "VERAG" Then
|
||||
|
||||
'VERAG IGNORIEREN
|
||||
'Dim ReDat = row.Cells("Rechnungsdatum").Value
|
||||
'Dim ReNr = row.Cells("Rechnungsnummer").Value
|
||||
|
||||
'If ReDat IsNot Nothing AndAlso ReNr > 0 Then
|
||||
' Me.Cursor = Cursors.WaitCursor
|
||||
' Dim da_id = SQL.getValueTxtBySql("Select TOP(1) RK_ID FROM Rechnungsausgang where cast(Rechnungsausgang.RechnungsDatum As Date) ='" & ReDat & "' and Rechnungsausgang.RechnungsNr='" & ReNr & "' AND FilialenNr = 4814 AND RK_ID is not null", "FMZOLL")
|
||||
' cFakturierung.doRechnungsDruck_SRorER(da_id,, False, 3)
|
||||
'End If
|
||||
|
||||
Else
|
||||
|
||||
If Lieferant = "IDS" Then
|
||||
|
||||
Dim dt As New DataTable
|
||||
dt = initDGVRechnungsdetails(row.Cells("invoice_id").Value, True)
|
||||
|
||||
For Each r As DataRow In dt.Rows
|
||||
|
||||
TextHTMLtable &= "<tr>"
|
||||
TextHTMLtable &= "<td><b>" & Lieferant & "</b></td>"
|
||||
TextHTMLtable &= "<td><b>" & r.Item("Land") & "</b></td>"
|
||||
TextHTMLtable &= "<td><b>" & r.Item("Rechnungsdatum") & "</b></td>"
|
||||
TextHTMLtable &= "</tr>"
|
||||
|
||||
|
||||
|
||||
|
||||
Dim daId As Integer = IIf(IsDBNull(r.Item("daId")), -1, r.Item("daId"))
|
||||
If daId > 0 Then
|
||||
Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER(daId)
|
||||
pdflist.Add(DS.GET_TOP1_PATH())
|
||||
End If
|
||||
|
||||
Next
|
||||
|
||||
|
||||
|
||||
Else
|
||||
If sendÍnvoice Then
|
||||
TextHTMLtable &= "<tr>"
|
||||
TextHTMLtable &= "<td><b>" & Lieferant & "</b></td>"
|
||||
TextHTMLtable &= "<td><b>" & row.Cells("Land").Value & "</b></td>"
|
||||
TextHTMLtable &= "<td><b>" & row.Cells("Rechnungsdatum").Value & "</b></td>"
|
||||
TextHTMLtable &= "</tr>"
|
||||
|
||||
Dim daId As Integer = IIf(IsDBNull(row.Cells("daId").Value), -1, row.Cells("daId").Value)
|
||||
If daId > 0 Then
|
||||
Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER(daId)
|
||||
pdflist.Add(DS.GET_TOP1_PATH())
|
||||
End If
|
||||
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
|
||||
|
||||
End If
|
||||
|
||||
Next
|
||||
|
||||
TextHTMLtable &= "</table>"
|
||||
|
||||
Return pdflist
|
||||
|
||||
End Function
|
||||
|
||||
Private Sub createEmail(kdNr As Integer, ByRef TextHTMLtable As String, pdflist As List(Of String))
|
||||
|
||||
|
||||
Dim outl As New Outlook.Application
|
||||
Dim Mail As Microsoft.Office.Interop.Outlook.MailItem
|
||||
Mail = outl.CreateItem(0)
|
||||
|
||||
Dim kundeMail As New cKunden()
|
||||
kundeMail = kundenSQL.getKundeByKdNr(kdNr)
|
||||
|
||||
Select Case kundeMail.LandKz
|
||||
Case "TR"
|
||||
Mail.Subject = kundeMail.Kurzname & " - ORIJINAL FATURA "
|
||||
|
||||
|
||||
Mail.HTMLBody = "Bayanlar ve Baylar!,<br><br>Ekte izlere orijinal faturalarinizi gönderiyoruz.<br><br>"
|
||||
|
||||
Mail.HTMLBody &= TextHTMLtable
|
||||
|
||||
Mail.HTMLBody &= "<br><br><br>Iyi calismalar dileriz.<br><br>"
|
||||
|
||||
Case "A", "AT", "D", "DE", "CH"
|
||||
|
||||
Mail.Subject = kundeMail.Kurzname & " - ORIGINAL RECHNUNG "
|
||||
|
||||
Mail.HTMLBody = "Sehr geehrte Damen und Herren,<br><br>im Anhang senden wir Ihnen die Originalrechnungen.<br><br>"
|
||||
|
||||
Mail.HTMLBody &= TextHTMLtable
|
||||
|
||||
Mail.HTMLBody &= "<br><br><br>Mit freundlichen Grüßen<br><br>"
|
||||
Case "RO"
|
||||
|
||||
Mail.Subject = kundeMail.Kurzname & " - FACTURI RETURNATE "
|
||||
|
||||
Mail.HTMLBody = "Stimati domni, stimate doamne,<br><br>Va returnam facturile originale care nu au fost utilizate spre recuperare TVA.<br><br>Va multumim pentru colaborarea.<br><br>"
|
||||
|
||||
Mail.HTMLBody &= TextHTMLtable
|
||||
|
||||
Mail.HTMLBody &= "<br><br><br>Cu stima<br><br>"
|
||||
|
||||
Case "HR", "BIH", "SLO", "SRB", "BIH"
|
||||
Mail.Subject = kundeMail.Kurzname & " - ORGINALNI RACUNI "
|
||||
|
||||
|
||||
Mail.HTMLBody = "Postovanje,<br><br>prilozeno Vam dostavljamo orginalne racune za Vasu daljnu upotrebu.<br><br>Za pitanja stojimo na raspolaganju.<br><br>"
|
||||
|
||||
Mail.HTMLBody &= TextHTMLtable
|
||||
|
||||
Mail.HTMLBody &= "<br><br><br>Srdacan pozdrav<br><br>"
|
||||
|
||||
Case Else
|
||||
Mail.Subject = kundeMail.Kurzname & " - Invoice No."
|
||||
|
||||
Mail.HTMLBody = TextHTMLtable
|
||||
|
||||
Mail.HTMLBody = "Dear Sir or Madam,<br><br>attached we send you the original invoice mentioned above.<br><br>"
|
||||
|
||||
Mail.HTMLBody &= TextHTMLtable
|
||||
|
||||
Mail.HTMLBody &= "<br><br><br>Best regards<br><br>"
|
||||
|
||||
|
||||
End Select
|
||||
|
||||
Mail.HTMLBody &= VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME & "<br>"
|
||||
Mail.HTMLBody &= "<br>"
|
||||
Mail.HTMLBody &= cFakturierung.getSignature("DE", 19, True, True)
|
||||
|
||||
If pdflist.Count > 0 Then
|
||||
For Each pdf In pdflist
|
||||
Mail.Attachments.Add(pdf, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue, , )
|
||||
Next
|
||||
End If
|
||||
|
||||
Mail.To &= kundeMail.EMail
|
||||
Mail.CC &= kundeMail.EMail2
|
||||
|
||||
If cbxMailoeffnen.Checked Then
|
||||
Try
|
||||
Mail.Display()
|
||||
Catch ex As Exception
|
||||
MsgBox(ex.Message)
|
||||
End Try
|
||||
|
||||
|
||||
Else
|
||||
Try
|
||||
|
||||
If Mail IsNot Nothing Then
|
||||
|
||||
|
||||
Dim API = VERAG_PROG_ALLGEMEIN.cAPI.INSERT_API(VERAG_PROG_ALLGEMEIN.cAPI_INOUT.OUT, VERAG_PROG_ALLGEMEIN.cAPI_Type.MAIL, VERAG_PROG_ALLGEMEIN.cAPI_ART.SDL_OUT_SAMMELRECHNUNG, "MAIL-ORIG-RG",,, kdNr)
|
||||
|
||||
API.api_EMail = Mail.To
|
||||
API.api_EMailCC = Mail.CC
|
||||
API.api_EMailBCC = IIf(Mail.BCC <> "", Mail.BCC & ";mmdabrechnung@verag.ag", "mmdabrechnung@verag.ag")
|
||||
API.api_EMailSubject = Mail.Subject
|
||||
API.api_EMailText = Mail.HTMLBody
|
||||
API.api_EMailAttCnt = Mail.Attachments.Count
|
||||
|
||||
If Mail IsNot Nothing Then
|
||||
|
||||
If VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail(API.api_EMail, API.api_EMailSubject, API.api_EMailText, "mmdabrechnung@verag.ag", False, False, API.api_EMailCC, API.api_EMailBCC, pdflist,, "mmdabrechnung@verag.ag") Then
|
||||
API.UPDTAE_OK()
|
||||
|
||||
Else
|
||||
API.UPDTAE_ERR()
|
||||
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
Catch ex As Exception
|
||||
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
||||
Me.Cursor = Cursors.Default
|
||||
End Try
|
||||
|
||||
End If
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub ToolStripMenuItem3_Click(sender As Object, e As EventArgs) Handles ToolStripMenuItem3.Click
|
||||
Me.Cursor = Cursors.WaitCursor
|
||||
cProgramFunctions.genExcelFromDGV(dgvLFRechnung, True)
|
||||
@@ -1042,16 +1185,6 @@ Public Class usrcntlFremdrechnungen
|
||||
SET_SDL(aktLieferant)
|
||||
End Sub
|
||||
|
||||
|
||||
Private Sub dgvSDL_RELOADED() Handles dgvLFRechnung.RELOADED
|
||||
' redRows()
|
||||
End Sub
|
||||
|
||||
Private Sub usrCntlKartenDaten_SizeChanged(sender As Object, e As EventArgs) Handles Me.SizeChanged
|
||||
' initDGVWidth()
|
||||
End Sub
|
||||
|
||||
|
||||
Dim vval As Integer
|
||||
Private Sub dgvSDL_GotFocus(sender As Object, e As EventArgs) Handles dgvLFRechnung.GotFocus
|
||||
'dgvSDL.VerticalScrollingOffset = vval
|
||||
|
||||
Reference in New Issue
Block a user