Prüfung bei Rechnungsdruck ob ReNr in DB gespeichert wurde, ansonsten abbruch!
This commit is contained in:
@@ -1315,7 +1315,7 @@ Public Class cFakturierung
|
|||||||
Return False
|
Return False
|
||||||
End If
|
End If
|
||||||
Else
|
Else
|
||||||
MsgBox("Fehler: Kein Rechnugsempfänger gefunden!")
|
MsgBox("Fehler: Kein Rechnungsempfänger gefunden!")
|
||||||
Return False
|
Return False
|
||||||
End If
|
End If
|
||||||
Else
|
Else
|
||||||
@@ -1325,6 +1325,10 @@ Public Class cFakturierung
|
|||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
If Not RECHNUNG.checkRechnungsNrIsSet() Then
|
||||||
|
MsgBox("Rechnungsnummer wurde nicht in Datenbank eingetragen" & vbNewLine & "Vorgang wird abgebrochen")
|
||||||
|
Return False
|
||||||
|
End If
|
||||||
|
|
||||||
'Rechnugnsdruck = Individuell für deise Rechnung, wird optional mitgegeben
|
'Rechnugnsdruck = Individuell für deise Rechnung, wird optional mitgegeben
|
||||||
' Dim RG_Bezeichnung = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA & "_Rechnung_" & If(RECHNUNG.RechnungsNr, "") & ".pdf"
|
' Dim RG_Bezeichnung = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA & "_Rechnung_" & If(RECHNUNG.RechnungsNr, "") & ".pdf"
|
||||||
@@ -1450,7 +1454,7 @@ Public Class cFakturierung
|
|||||||
End If
|
End If
|
||||||
|
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
MsgBox("Fehler bim Öffnen des Mail-Programmes. PDF wird geladen!")
|
MsgBox("Fehler beim Öffnen des Mail-Programmes. PDF wird geladen!")
|
||||||
Process.Start(tmpPath)
|
Process.Start(tmpPath)
|
||||||
End Try
|
End Try
|
||||||
rpt.Dispose()
|
rpt.Dispose()
|
||||||
@@ -2065,7 +2069,14 @@ Public Class cFakturierung
|
|||||||
End If
|
End If
|
||||||
RG.SAVE()
|
RG.SAVE()
|
||||||
|
|
||||||
found = True
|
|
||||||
|
If Not RG.checkRechnungsNrIsSet() Then
|
||||||
|
MsgBox("Rechnungsnummer wurde nicht in Datenbank eingetragen" & vbNewLine & "Vorgang wird abgebrochen")
|
||||||
|
Return False
|
||||||
|
Else
|
||||||
|
found = True
|
||||||
|
End If
|
||||||
|
|
||||||
End If
|
End If
|
||||||
Next
|
Next
|
||||||
|
|
||||||
@@ -2076,6 +2087,7 @@ Public Class cFakturierung
|
|||||||
If path <> "" Then listPDFs.Add(path)
|
If path <> "" Then listPDFs.Add(path)
|
||||||
End If
|
End If
|
||||||
lastAktuelle_RgNr = Aktuelle_RgNr
|
lastAktuelle_RgNr = Aktuelle_RgNr
|
||||||
|
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
MsgBox(ex.Message & ex.StackTrace)
|
MsgBox(ex.Message & ex.StackTrace)
|
||||||
End Try
|
End Try
|
||||||
|
|||||||
@@ -275,9 +275,10 @@ Public Class frmFaktEmail
|
|||||||
Dim lastAktuelle_RgNr As Integer = -1
|
Dim lastAktuelle_RgNr As Integer = -1
|
||||||
'Rechnung erstellen:
|
'Rechnung erstellen:
|
||||||
'-----------------------------------------------------------------
|
'-----------------------------------------------------------------
|
||||||
|
Dim RechnungsNrisSet As Boolean = False
|
||||||
Dim AD As New VERAG_PROG_ALLGEMEIN.cAdressen(KdNr)
|
Dim AD As New VERAG_PROG_ALLGEMEIN.cAdressen(KdNr)
|
||||||
If RechnungsNr <= 0 Then
|
If RechnungsNr <= 0 Then
|
||||||
cFakturierung.doSAMMELRechnungsDruck(Firma_ID, SammelrechungArt, DatumBis, Rechnungsdatum, "", EinzelAnlagen, Sammelbericht, KdNr, 4, listPDFs, SB, lastAktuelle_RgNr, DruckDatumZeit, AvisoIds, cbxExcelEvolog.Checked, SonstAnlagen,, cbxTransFerry.Checked, FakturierungsGruppe, Abfertigungsart)
|
RechnungsNrisSet = cFakturierung.doSAMMELRechnungsDruck(Firma_ID, SammelrechungArt, DatumBis, Rechnungsdatum, "", EinzelAnlagen, Sammelbericht, KdNr, 4, listPDFs, SB, lastAktuelle_RgNr, DruckDatumZeit, AvisoIds, cbxExcelEvolog.Checked, SonstAnlagen,, cbxTransFerry.Checked, FakturierungsGruppe, Abfertigungsart)
|
||||||
RechnungsNr = lastAktuelle_RgNr
|
RechnungsNr = lastAktuelle_RgNr
|
||||||
Else
|
Else
|
||||||
Dim path = ""
|
Dim path = ""
|
||||||
@@ -287,6 +288,9 @@ Public Class frmFaktEmail
|
|||||||
listPDFs.Add(path)
|
listPDFs.Add(path)
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
If Not RechnungsNrisSet Then 'Abbruch bei fehlender RE-Nr
|
||||||
|
Exit Sub
|
||||||
|
End If
|
||||||
|
|
||||||
If cbxRgKopieDrucken.Checked Then
|
If cbxRgKopieDrucken.Checked Then
|
||||||
'KOPIE DRUCK
|
'KOPIE DRUCK
|
||||||
@@ -299,83 +303,83 @@ Public Class frmFaktEmail
|
|||||||
End If
|
End If
|
||||||
|
|
||||||
Dim outl As New Outlook.Application
|
Dim outl As New Outlook.Application
|
||||||
Dim Mail As Microsoft.Office.Interop.Outlook.MailItem
|
Dim Mail As Microsoft.Office.Interop.Outlook.MailItem
|
||||||
Mail = outl.CreateItem(0)
|
Mail = outl.CreateItem(0)
|
||||||
Mail.Subject = txtSubject.Text
|
Mail.Subject = txtSubject.Text
|
||||||
|
|
||||||
|
|
||||||
'Mail-Adressen eintragen
|
'Mail-Adressen eintragen
|
||||||
'-----------------------------------------------------------------
|
'-----------------------------------------------------------------
|
||||||
For Each r In dgvEmail.Rows
|
For Each r In dgvEmail.Rows
|
||||||
If r.cells(0).value <> "" Then Mail.To &= r.cells(0).value & ";"
|
If r.cells(0).value <> "" Then Mail.To &= r.cells(0).value & ";"
|
||||||
Next
|
|
||||||
For Each r In dgvEmailCC.Rows
|
|
||||||
If r.cells(0).value <> "" Then Mail.CC &= r.cells(0).value & ";"
|
|
||||||
Next
|
|
||||||
For Each r In dgvEmailBCC.Rows
|
|
||||||
If r.cells(0).value <> "" Then Mail.BCC &= r.cells(0).value & ";"
|
|
||||||
Next
|
|
||||||
|
|
||||||
|
|
||||||
RichTextBox.Text = RichTextBox.Text.Replace("%RgNr%", lastAktuelle_RgNr)
|
|
||||||
txtSubject.Text = txtSubject.Text.Replace("%RgNr%", lastAktuelle_RgNr)
|
|
||||||
|
|
||||||
|
|
||||||
Dim TextHTML = "<div style=""font-family:Calibri, Arial"">" & RichTextBox.Text.Replace(ControlChars.Lf, "<br>") & cFakturierung.getSignature(AD.LandKz, Firma_ID,,,, additionalLine) & "</div>"
|
|
||||||
|
|
||||||
Mail.HTMLBody = TextHTML
|
|
||||||
Mail.Subject = txtSubject.Text
|
|
||||||
|
|
||||||
ATTACHMENTS.Clear()
|
|
||||||
'-----------------------------------------------------------------
|
|
||||||
'Rechnungen anfügen
|
|
||||||
'-----------------------------------------------------------------
|
|
||||||
For Each l In listPDFs
|
|
||||||
' Mail.Attachments.Add(l, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue)
|
|
||||||
ATTACHMENTS.Add(New cFakt_MailATTach(l, ""))
|
|
||||||
Next
|
|
||||||
For Each l In SonstAnlagen
|
|
||||||
' Mail.Attachments.Add(l, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue)
|
|
||||||
ATTACHMENTS.Add(New cFakt_MailATTach(l, ""))
|
|
||||||
Next
|
|
||||||
addAttachments(Mail, lastAktuelle_RgNr, cbxMergeRg.Checked)
|
|
||||||
|
|
||||||
'-----------------------------------------------------------------
|
|
||||||
'Steuerbescheid/VDB anfügen
|
|
||||||
'-----------------------------------------------------------------
|
|
||||||
getAnhaenge()
|
|
||||||
'For Each l In listPDFs
|
|
||||||
' ' Mail.Attachments.Add(l, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue)
|
|
||||||
' ATTACHMENTS.Add(New cFakt_MailATTach(l, ""))
|
|
||||||
'Next
|
|
||||||
|
|
||||||
'Rechnungsanhänge anfügen
|
|
||||||
'-----------------------------------------------------------------
|
|
||||||
If SR_DT IsNot Nothing AndAlso SR_DT.Rows.Count > 0 Then
|
|
||||||
For Each r In SR_DT.Rows
|
|
||||||
Dim RG_ANH = VERAG_PROG_ALLGEMEIN.cRechnungsausgang.LOAD_ANHAENGE_LIST(r("RK_ID"))
|
|
||||||
If RG_ANH IsNot Nothing Then
|
|
||||||
For Each ANH In RG_ANH
|
|
||||||
ATTACHMENTS.Add(New cFakt_MailATTach(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(ANH.dsId), ANH.Bezeichnung))
|
|
||||||
Next
|
|
||||||
End If
|
|
||||||
Next
|
Next
|
||||||
|
For Each r In dgvEmailCC.Rows
|
||||||
|
If r.cells(0).value <> "" Then Mail.CC &= r.cells(0).value & ";"
|
||||||
|
Next
|
||||||
|
For Each r In dgvEmailBCC.Rows
|
||||||
|
If r.cells(0).value <> "" Then Mail.BCC &= r.cells(0).value & ";"
|
||||||
|
Next
|
||||||
|
|
||||||
|
|
||||||
|
RichTextBox.Text = RichTextBox.Text.Replace("%RgNr%", lastAktuelle_RgNr)
|
||||||
|
txtSubject.Text = txtSubject.Text.Replace("%RgNr%", lastAktuelle_RgNr)
|
||||||
|
|
||||||
|
|
||||||
|
Dim TextHTML = "<div style=""font-family:Calibri, Arial"">" & RichTextBox.Text.Replace(ControlChars.Lf, "<br>") & cFakturierung.getSignature(AD.LandKz, Firma_ID,,,, additionalLine) & "</div>"
|
||||||
|
|
||||||
|
Mail.HTMLBody = TextHTML
|
||||||
|
Mail.Subject = txtSubject.Text
|
||||||
|
|
||||||
|
ATTACHMENTS.Clear()
|
||||||
|
'-----------------------------------------------------------------
|
||||||
|
'Rechnungen anfügen
|
||||||
|
'-----------------------------------------------------------------
|
||||||
|
For Each l In listPDFs
|
||||||
|
' Mail.Attachments.Add(l, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue)
|
||||||
|
ATTACHMENTS.Add(New cFakt_MailATTach(l, ""))
|
||||||
|
Next
|
||||||
|
For Each l In SonstAnlagen
|
||||||
|
' Mail.Attachments.Add(l, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue)
|
||||||
|
ATTACHMENTS.Add(New cFakt_MailATTach(l, ""))
|
||||||
|
Next
|
||||||
|
addAttachments(Mail, lastAktuelle_RgNr, cbxMergeRg.Checked)
|
||||||
|
|
||||||
|
'-----------------------------------------------------------------
|
||||||
|
'Steuerbescheid/VDB anfügen
|
||||||
|
'-----------------------------------------------------------------
|
||||||
|
getAnhaenge()
|
||||||
|
'For Each l In listPDFs
|
||||||
|
' ' Mail.Attachments.Add(l, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue)
|
||||||
|
' ATTACHMENTS.Add(New cFakt_MailATTach(l, ""))
|
||||||
|
'Next
|
||||||
|
|
||||||
|
'Rechnungsanhänge anfügen
|
||||||
|
'-----------------------------------------------------------------
|
||||||
|
If SR_DT IsNot Nothing AndAlso SR_DT.Rows.Count > 0 Then
|
||||||
|
For Each r In SR_DT.Rows
|
||||||
|
Dim RG_ANH = VERAG_PROG_ALLGEMEIN.cRechnungsausgang.LOAD_ANHAENGE_LIST(r("RK_ID"))
|
||||||
|
If RG_ANH IsNot Nothing Then
|
||||||
|
For Each ANH In RG_ANH
|
||||||
|
ATTACHMENTS.Add(New cFakt_MailATTach(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(ANH.dsId), ANH.Bezeichnung))
|
||||||
|
Next
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
End If
|
||||||
|
'-----------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
addAttachments(Mail, lastAktuelle_RgNr, cbxMergePDF.Checked)
|
||||||
|
|
||||||
|
|
||||||
|
Mail.Display()
|
||||||
|
'------------------------------------------------------------------------------------------
|
||||||
|
' STB /FA SR: ABFRAGE FISKAL-VZ
|
||||||
|
If isFiskal Then
|
||||||
|
send_StbFAMail(AD.AdressenNr, " Rg-Nr.: " & lastAktuelle_RgNr, lastAktuelle_RgNr)
|
||||||
|
End If
|
||||||
|
'------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
End If
|
End If
|
||||||
'-----------------------------------------------------------------
|
|
||||||
|
|
||||||
|
|
||||||
addAttachments(Mail, lastAktuelle_RgNr, cbxMergePDF.Checked)
|
|
||||||
|
|
||||||
|
|
||||||
Mail.Display()
|
|
||||||
'------------------------------------------------------------------------------------------
|
|
||||||
' STB /FA SR: ABFRAGE FISKAL-VZ
|
|
||||||
If isFiskal Then
|
|
||||||
send_StbFAMail(AD.AdressenNr, " Rg-Nr.: " & lastAktuelle_RgNr, lastAktuelle_RgNr)
|
|
||||||
End If
|
|
||||||
'------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
End If
|
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
MsgBox("Fehler beim Öffnen des Mail-Programmes." & ex.Message & ex.StackTrace)
|
MsgBox("Fehler beim Öffnen des Mail-Programmes." & ex.Message & ex.StackTrace)
|
||||||
'Process.Start(a)
|
'Process.Start(a)
|
||||||
@@ -390,6 +394,8 @@ Public Class frmFaktEmail
|
|||||||
If RECHNUNG.Status <> 0 OrElse vbYes = MsgBox("Möchten Sie das PDF als Mail-Anhang erstellen?" & vbNewLine & "Es wird eine Rechnungsnummer vergeben, die Rechnung gilt somit als gedruckt und kann nicht mehr bearbeitet werden.", vbYesNoCancel) Then
|
If RECHNUNG.Status <> 0 OrElse vbYes = MsgBox("Möchten Sie das PDF als Mail-Anhang erstellen?" & vbNewLine & "Es wird eine Rechnungsnummer vergeben, die Rechnung gilt somit als gedruckt und kann nicht mehr bearbeitet werden.", vbYesNoCancel) Then
|
||||||
abfNr = " Pos-Nr.: " & RECHNUNG.FilialenNr & "-" & RECHNUNG.AbfertigungsNr & "-" & RECHNUNG.SpeditionsbuchUnterNr
|
abfNr = " Pos-Nr.: " & RECHNUNG.FilialenNr & "-" & RECHNUNG.AbfertigungsNr & "-" & RECHNUNG.SpeditionsbuchUnterNr
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Try
|
Try
|
||||||
Dim outl As New Outlook.Application
|
Dim outl As New Outlook.Application
|
||||||
Dim Mail As Microsoft.Office.Interop.Outlook.MailItem
|
Dim Mail As Microsoft.Office.Interop.Outlook.MailItem
|
||||||
@@ -414,6 +420,12 @@ Public Class frmFaktEmail
|
|||||||
If Not cFakturierung.doRechnungsDruck(RECHNUNG,,, 4, pathRG,, cbxOriginalPrint.Checked) Then
|
If Not cFakturierung.doRechnungsDruck(RECHNUNG,,, 4, pathRG,, cbxOriginalPrint.Checked) Then
|
||||||
Exit Sub
|
Exit Sub
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
'If Not RECHNUNG.checkRechnungsNrIsSet() Then
|
||||||
|
' MsgBox("Rechnungsnummer wurde nicht in Datenbank eingetragen" & vbNewLine & "Vorgang wird abgebrochen")
|
||||||
|
' Exit Sub
|
||||||
|
'End If
|
||||||
|
|
||||||
RechnungsNr = RECHNUNG.RechnungsNr
|
RechnungsNr = RECHNUNG.RechnungsNr
|
||||||
|
|
||||||
If cbxRgKopieDrucken.Checked Then
|
If cbxRgKopieDrucken.Checked Then
|
||||||
|
|||||||
@@ -254,10 +254,16 @@ Public Class frmFaktSammelRgDrucken
|
|||||||
Me.Cursor = Cursors.WaitCursor
|
Me.Cursor = Cursors.WaitCursor
|
||||||
Dim listPDFs As New List(Of String)
|
Dim listPDFs As New List(Of String)
|
||||||
Dim SonstAnlagen As New List(Of String)
|
Dim SonstAnlagen As New List(Of String)
|
||||||
cFakturierung.doSAMMELRechnungsDruck(cboFirma._value, Sammelrechung, CDate(txtZeitraumBis.Text), CDate(txtRechnungsdatum.Text), cboPrinter.Text, cbxEinzelAnlagen.Checked, cbxSammelbericht.Checked, getSelectionKdNr, If(ausgabeArt = 1, -1, 4), listPDFs, cboSB._value,,, getAvisoIds, cbxEVOLOG.Checked, SonstAnlagen, vorschau, cbxTransFerry.Checked, cboFaktGrp._value, cboAbfertigungsart._value)
|
Dim RechnungsNrisSet As Boolean = False
|
||||||
|
RechnungsNrisSet = cFakturierung.doSAMMELRechnungsDruck(cboFirma._value, Sammelrechung, CDate(txtZeitraumBis.Text), CDate(txtRechnungsdatum.Text), cboPrinter.Text, cbxEinzelAnlagen.Checked, cbxSammelbericht.Checked, getSelectionKdNr, If(ausgabeArt = 1, -1, 4), listPDFs, cboSB._value,,, getAvisoIds, cbxEVOLOG.Checked, SonstAnlagen, vorschau, cbxTransFerry.Checked, cboFaktGrp._value, cboAbfertigungsart._value)
|
||||||
|
|
||||||
'-------------- für PDF-Sammel-Rechnung --------------
|
'-------------- für PDF-Sammel-Rechnung --------------
|
||||||
|
|
||||||
|
If Not RechnungsNrisSet Then
|
||||||
|
MsgBox("Rechnungsnummer wurde nicht in Datenbank eingetragen" & vbNewLine & "Vorgang wird abgebrochen")
|
||||||
|
Exit Sub
|
||||||
|
End If
|
||||||
|
|
||||||
If cbxZusammenfassen.Checked Then ' Gibt an, ob mehrere Sammelrechnung zusammengefasst werden sollten
|
If cbxZusammenfassen.Checked Then ' Gibt an, ob mehrere Sammelrechnung zusammengefasst werden sollten
|
||||||
|
|
||||||
Select Case ausgabeArt
|
Select Case ausgabeArt
|
||||||
|
|||||||
@@ -148,6 +148,13 @@ Public Class cRechnungsausgang
|
|||||||
Return cnt > 0
|
Return cnt > 0
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
|
Public Function checkRechnungsNrIsSet() As Boolean
|
||||||
|
'Prüfugn ob Eintrag mit dieser Rechnungsnr in DB existiert
|
||||||
|
If Me.RechnungsNr <= 0 Then Return False
|
||||||
|
Dim cnt = SQL.getValueTxtBySql("SELECT COUNT(*) FROM [Rechnungsausgang] WHERE RechnungsNr='" & Me.RechnungsNr & "' and DruckDatumZeit is not null and Buchungsjahr = " & Me.Buchungsjahr & " and Firma_ID = '" & Me.Firma_ID & "'", "FMZOLL")
|
||||||
|
Return cnt > 0
|
||||||
|
End Function
|
||||||
|
|
||||||
Public Shared Function getMaxRGUnterNr(FilialenNr As Integer, AbfertigungsNr As Integer, SpeditionsbuchUnterNr As Integer) As Integer
|
Public Shared Function getMaxRGUnterNr(FilialenNr As Integer, AbfertigungsNr As Integer, SpeditionsbuchUnterNr As Integer) As Integer
|
||||||
' Dim Nr = SQL.getValueTxtBySql("Select isnull([UnterNr], -1) + 1 FROM [Rechnungsausgang] where [FilialenNr]='" & FilialenNr & "' And AbfertigungsNr='" & AbfertigungsNr & "' And SpeditionsbuchUnterNr='" & SpeditionsbuchUnterNr & "' ORDER BY [UnterNr] desc", "FMZOLL")
|
' Dim Nr = SQL.getValueTxtBySql("Select isnull([UnterNr], -1) + 1 FROM [Rechnungsausgang] where [FilialenNr]='" & FilialenNr & "' And AbfertigungsNr='" & AbfertigungsNr & "' And SpeditionsbuchUnterNr='" & SpeditionsbuchUnterNr & "' ORDER BY [UnterNr] desc", "FMZOLL")
|
||||||
Dim Nr = SQL.getValueTxtBySql("Select TOP 1 isnull([UnterNr], -1) + 1 FROM [Rechnungsausgang] where [FilialenNr]='" & FilialenNr & "' And AbfertigungsNr='" & AbfertigungsNr & "' ORDER BY [UnterNr] desc", "FMZOLL")
|
Dim Nr = SQL.getValueTxtBySql("Select TOP 1 isnull([UnterNr], -1) + 1 FROM [Rechnungsausgang] where [FilialenNr]='" & FilialenNr & "' And AbfertigungsNr='" & AbfertigungsNr & "' ORDER BY [UnterNr] desc", "FMZOLL")
|
||||||
@@ -485,7 +492,7 @@ Public Class cRechnungsausgang
|
|||||||
End If
|
End If
|
||||||
|
|
||||||
Return True
|
Return True
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Public Function SAVE_POSITIONEN(RK_ID) As Boolean
|
Public Function SAVE_POSITIONEN(RK_ID) As Boolean
|
||||||
If DELETE_POSITIONEN() Then ' zuerst Einträge löschen...
|
If DELETE_POSITIONEN() Then ' zuerst Einträge löschen...
|
||||||
|
|||||||
Reference in New Issue
Block a user