270 lines
10 KiB
VB.net
270 lines
10 KiB
VB.net
|
|
Imports System.Globalization
|
|
Imports System.IO
|
|
Imports VERAG_PROG_ALLGEMEIN
|
|
|
|
Public Class frmKundenUebersichtZollRgDetails
|
|
Dim RK_ID As Integer = -1
|
|
Dim Sammelrechnung As Integer = -1
|
|
Dim SQL As New SQL
|
|
|
|
Dim sammelrechnungskopie As Boolean
|
|
Dim filialeTmp As String
|
|
Dim abfertigungsNrTmp As String
|
|
Dim ZugferdDaId As Integer = -1
|
|
|
|
Sub New(RK_ID)
|
|
' Dieser Aufruf ist für den Designer erforderlich.
|
|
InitializeComponent()
|
|
Me.RK_ID = RK_ID
|
|
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
|
|
|
|
End Sub
|
|
|
|
Sub New(RK_ID, Kopie)
|
|
' Dieser Aufruf ist für den Designer erforderlich.
|
|
InitializeComponent()
|
|
Me.RK_ID = RK_ID
|
|
Me.sammelrechnungskopie = Kopie
|
|
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
|
|
|
|
End Sub
|
|
Private Sub frmKundenUebersichtZollRg_Load(sender As Object, e As EventArgs) Handles Me.Load
|
|
|
|
|
|
Dim dt As DataRow = SQL.loadDgvBySql("SELECT *, /*[SteuerpflichtigerGesamtbetrag]*[Steuersatz %]*/ SteuerpflichtigerGesamtbetrag/(1+[Steuersatz %])*[Steuersatz %] as ErgSteuerbetrag , [SteuerpflichtigerGesamtbetrag]+[SteuerfreierGesamtbetrag] as RgBetrag,cast(isnull(zugferdcheck,0) as Bit) as zugferdcheck, isnull(zugferdcheck_daid, -1) as zugferdcheck_daid FROM Rechnungsausgang WHERE RK_ID = " & RK_ID & "", "FMZOLL").Rows(0)
|
|
|
|
lblRgNr.Text = dt("RechnungsNr").ToString
|
|
lblRgBetrag.Text = CDbl(dt("RgBetrag")).ToString("N2", CultureInfo.CurrentCulture)
|
|
lblRgDat.Text = dt("RechnungsDatum").ToString
|
|
lblKunde.Text = dt("RechnungsName 1").ToString
|
|
lblKdNr.Text = dt("RechnungsKundenNr").ToString
|
|
lblOrt.Text = dt("RechnungsOrt").ToString
|
|
lblUID.Text = dt("RechnungsUstIdKz").ToString & " " & dt("RechnungsUstIdNr").ToString
|
|
lblSteuerbetrag.Text = CDbl(dt("ErgSteuerbetrag")).ToString("N2", CultureInfo.CurrentCulture)
|
|
lblAbfDat.Text = dt("Abfertigungsdatum").ToString
|
|
|
|
lblAbfNr.Text = dt("FilialenNr").ToString & " " & dt("AbfertigungsNr").ToString
|
|
filialeTmp = dt("FilialenNr").ToString
|
|
abfertigungsNrTmp = dt("AbfertigungsNr").ToString
|
|
|
|
lblSteuersatz.Text = (CDbl(dt("Steuersatz %")) * 100).ToString("N2", CultureInfo.CurrentCulture)
|
|
cbxLastschrift.Checked = CBool(dt("Lastschrift").ToString)
|
|
lblBelegartNr.Text = dt("BelegartenNr").ToString
|
|
lblWaerung.Text = dt("Währungscode").ToString
|
|
|
|
If Not IsDBNull(dt("zugferdcheck")) Then
|
|
|
|
If dt("zugferdcheck") Then
|
|
btnZugferd.BackColor = Color.LightGreen
|
|
If IsNumeric(dt("zugferdcheck_daid")) Then ZugferdDaId = dt("zugferdcheck_daid")
|
|
btnZugferd.Enabled = True
|
|
Else
|
|
If IsNumeric(dt("zugferdcheck_daid")) Then ZugferdDaId = dt("zugferdcheck_daid")
|
|
btnZugferd.BackColor = Color.IndianRed
|
|
btnZugferd.Enabled = True
|
|
End If
|
|
|
|
Else
|
|
btnZugferd.BackColor = Color.White
|
|
btnZugferd.Enabled = False
|
|
End If
|
|
|
|
Sammelrechnung = CInt(dt("Sammelrechnung").ToString)
|
|
|
|
If RK_ID > 0 Then initDGV()
|
|
|
|
If Environment.MachineName = "H6CCWP3" Then
|
|
Button2.Visible = True
|
|
Else
|
|
Button2.Visible = False
|
|
End If
|
|
|
|
End Sub
|
|
Sub initDGV()
|
|
|
|
With DataGridView
|
|
.Columns.Clear()
|
|
.DataSource = SQL.loadDgvBySql("SELECT LeistungsNr, [Steuerpflichtig], Anzahl ,[LeistungsBez],Preis as Einzelpreis, ([SteuerpflichtigerBetrag]+[SteuerfreierBetrag]) AS Betrag " &
|
|
" FROM RechnungsausgangPositionen " &
|
|
" WHERE RK_ID = " & RK_ID & "", "FMZOLL")
|
|
' " ORDER BY Rechnungsausgang.RechnungsDatum DESC , Rechnungsausgang.RechnungsNr, Rechnungsausgang.Abfertigungsdatum DESC , Rechnungsausgang.FilialenNr, Rechnungsausgang.AbfertigungsNr, Rechnungsausgang.UnterNr ", "FMZOLL")
|
|
|
|
.Columns("LeistungsNr").Width = 85
|
|
.Columns("LeistungsNr").HeaderText = "LeistungsNr"
|
|
.Columns("LeistungsNr").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopCenter
|
|
|
|
.Columns("Steuerpflichtig").Width = 60
|
|
.Columns("Steuerpflichtig").HeaderText = "Steuerpfl."
|
|
.Columns("Steuerpflichtig").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopCenter
|
|
|
|
.Columns("Anzahl").Width = 50
|
|
|
|
.Columns("LeistungsBez").MinimumWidth = 150
|
|
.Columns("LeistungsBez").HeaderText = "LeistungsNr"
|
|
.Columns("LeistungsBez").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
|
|
|
|
.Columns("Einzelpreis").Width = 80
|
|
.Columns("Einzelpreis").DefaultCellStyle.Format = "N2"
|
|
.Columns("Einzelpreis").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopRight
|
|
|
|
.Columns("Betrag").Width = 100
|
|
.Columns("Betrag").HeaderText = "Betrag"
|
|
.Columns("Betrag").DefaultCellStyle.Format = "N2"
|
|
.Columns("Betrag").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopRight
|
|
|
|
|
|
End With
|
|
|
|
|
|
End Sub
|
|
|
|
Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click
|
|
Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
|
|
Case "ATILLA" : Exit Sub
|
|
Case "IMEX" 'Imex nur mit Berechtigungsgruppe FAKTURIERUNG im SDL
|
|
If Not VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("FAKTURIERUNG", "SDL") Then
|
|
Exit Sub
|
|
End If
|
|
End Select
|
|
Try
|
|
|
|
If DataGridView.SelectedRows.Count = 0 Then Exit Sub
|
|
If Not IsNumeric(filialeTmp) Then Exit Sub
|
|
If Not IsNumeric(abfertigungsNrTmp) Then Exit Sub
|
|
cProgramFunctions.openThereforeNavigator(filialeTmp.ToString & abfertigungsNrTmp.ToString, filialeTmp)
|
|
Catch ex As Exception
|
|
MsgBox("Fehler beim Öffnen!" & vbNewLine & ex.Message & ex.StackTrace)
|
|
End Try
|
|
End Sub
|
|
|
|
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
|
|
|
|
If RK_ID > 0 Then
|
|
Dim RE As New cRechnungsausgang(RK_ID)
|
|
|
|
If RE.dsId > 0 Then
|
|
Dim RE_PDF As New cDATENSERVER(RE.dsId)
|
|
Dim tmpPath = RE_PDF.GET_TOP1_PATH
|
|
If tmpPath <> "" Then
|
|
Process.Start(tmpPath)
|
|
|
|
|
|
|
|
End If
|
|
|
|
Else
|
|
Dim SRAnhangen As Boolean = False
|
|
If Sammelrechnung <> 0 Then
|
|
If vbYes = MsgBox("Soll die Sammelrechnung mit Anlagen angezeigt werden?", vbYesNoCancel) Then SRAnhangen = True
|
|
End If
|
|
|
|
cFakturierung.doRechnungsDruck_SRorER(RK_ID,, False, 3,,,,, sammelrechnungskopie,, SRAnhangen)
|
|
End If
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
End Sub
|
|
|
|
Public Shared Function ConvertToPdfA3_WithMustang(inputPdf As String) As String
|
|
|
|
Dim outputPdf As String = inputPdf & ".a3.pdf"
|
|
|
|
Dim mustangJar As String = "C:\Users\d.breimaier\Downloads\Mustang-CLI-2.21.0.jar" ' Pfad anpassen!
|
|
|
|
Dim psi As New ProcessStartInfo()
|
|
psi.FileName = "C:\Program Files\Eclipse Adoptium\jre-11.0.28.6-hotspot\bin\java.exe"
|
|
psi.Arguments = $"-Xmx1G -Dfile.encoding=UTF-8 -jar ""{mustangJar}"" --action a3only --source ""{inputPdf}"" --out ""{outputPdf}"""
|
|
psi.UseShellExecute = False
|
|
psi.RedirectStandardOutput = True
|
|
psi.RedirectStandardError = True
|
|
psi.CreateNoWindow = True
|
|
|
|
Using proc As Process = Process.Start(psi)
|
|
Dim stdout As String = proc.StandardOutput.ReadToEnd()
|
|
Dim stderr As String = proc.StandardError.ReadToEnd()
|
|
|
|
proc.WaitForExit()
|
|
|
|
If proc.ExitCode <> 0 Then
|
|
Throw New Exception("Mustang Fehler: " & stderr)
|
|
End If
|
|
End Using
|
|
|
|
Return outputPdf
|
|
|
|
End Function
|
|
|
|
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles btnZugferd.Click
|
|
|
|
|
|
If ZugferdDaId > 0 Then
|
|
|
|
Dim ZUG As New cDATENSERVER(ZugferdDaId)
|
|
Dim tmpPath_Report = ZUG.GET_TOP1_PATH
|
|
If tmpPath_Report <> "" Then
|
|
Process.Start(tmpPath_Report)
|
|
End If
|
|
|
|
Else
|
|
|
|
End If
|
|
|
|
End Sub
|
|
|
|
|
|
Private Sub PictureBox5_Click(sender As Object, e As EventArgs) Handles PictureBox5.Click
|
|
Dim webAddress As String = "https://wiki.verag.ag/de/software/aviso/howtos/E-Rechnung"
|
|
Process.Start(webAddress)
|
|
End Sub
|
|
|
|
Private Sub Button2_Click_1(sender As Object, e As EventArgs) Handles Button2.Click
|
|
|
|
Dim Path_temp As String = ""
|
|
|
|
If Sammelrechnung = 0 Then
|
|
cFakturierung.doRechnungsDruck_SRorER(RK_ID,, False, 3, Path_temp,,,, sammelrechnungskopie,, False)
|
|
Else
|
|
cFakturierung.doRechnungsDruck_SRorER(RK_ID,, False, 3, Path_temp,,,, sammelrechnungskopie,, False)
|
|
End If
|
|
|
|
|
|
|
|
If Path_temp <> "" Then
|
|
|
|
|
|
Dim psi As New ProcessStartInfo()
|
|
|
|
psi.FileName = "C:\Program Files\Eclipse Adoptium\jre-11.0.28.6-hotspot\bin\java.exe"
|
|
psi.Arguments = "-jar ""C:\Users\d.breimaier\Downloads\Mustang-CLI-2.21.0.jar"" --no-notices --action validate --source " & Path_temp & ""
|
|
|
|
psi.RedirectStandardOutput = True
|
|
psi.RedirectStandardError = True
|
|
psi.UseShellExecute = False
|
|
psi.CreateNoWindow = True
|
|
|
|
Using p As Process = Process.Start(psi)
|
|
Dim output = p.StandardOutput.ReadToEnd()
|
|
Dim err = p.StandardError.ReadToEnd()
|
|
p.WaitForExit()
|
|
|
|
Console.WriteLine("ExitCode: " & p.ExitCode)
|
|
Console.WriteLine(output)
|
|
Console.WriteLine(err)
|
|
|
|
If output <> "" Then
|
|
Dim tmpPath_Report = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath("MUSTANG-REPORT.pdf", ".pdf", , False)
|
|
VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.CreateValidationPdf(output, Path_temp, RK_ID, tmpPath_Report)
|
|
If tmpPath_Report <> "" Then Process.Start(tmpPath_Report)
|
|
End If
|
|
|
|
End Using
|
|
|
|
End If
|
|
|
|
|
|
End Sub
|
|
End Class |