Kundebeabeit, MDMDatenverarb., Fakt, Syska-Einarbeitung, Offerten, etc.

This commit is contained in:
2025-08-08 10:47:22 +02:00
parent 58fb8e2cea
commit 59f19c2f9f
11 changed files with 448 additions and 201 deletions

View File

@@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
' übernehmen, indem Sie "*" eingeben:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("1.4.3.1")>
<Assembly: AssemblyFileVersion("1.4.3.1")>
<Assembly: AssemblyVersion("1.4.3.2")>
<Assembly: AssemblyFileVersion("1.4.3.2")>

View File

@@ -324,7 +324,7 @@ Partial Class frmKundenblatt
Me.tbFirmendaten.Location = New System.Drawing.Point(4, 25)
Me.tbFirmendaten.Name = "tbFirmendaten"
Me.tbFirmendaten.Padding = New System.Windows.Forms.Padding(3)
Me.tbFirmendaten.Size = New System.Drawing.Size(1644, 1339)
Me.tbFirmendaten.Size = New System.Drawing.Size(1644, 1356)
Me.tbFirmendaten.TabIndex = 3
Me.tbFirmendaten.Text = "Firmendaten"
'
@@ -334,7 +334,7 @@ Partial Class frmKundenblatt
Me.Panel4.Dock = System.Windows.Forms.DockStyle.Fill
Me.Panel4.Location = New System.Drawing.Point(3, 3)
Me.Panel4.Name = "Panel4"
Me.Panel4.Size = New System.Drawing.Size(1638, 1333)
Me.Panel4.Size = New System.Drawing.Size(1638, 1350)
Me.Panel4.TabIndex = 0
'
'UsrcntlKundeBearbeitenFull1
@@ -344,7 +344,7 @@ Partial Class frmKundenblatt
Me.UsrcntlKundeBearbeitenFull1.Location = New System.Drawing.Point(0, 0)
Me.UsrcntlKundeBearbeitenFull1.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
Me.UsrcntlKundeBearbeitenFull1.Name = "UsrcntlKundeBearbeitenFull1"
Me.UsrcntlKundeBearbeitenFull1.Size = New System.Drawing.Size(1638, 1333)
Me.UsrcntlKundeBearbeitenFull1.Size = New System.Drawing.Size(1638, 1350)
Me.UsrcntlKundeBearbeitenFull1.TabIndex = 0
'
'tbcntrMain
@@ -590,7 +590,7 @@ Partial Class frmKundenblatt
Me.TabPage2.Location = New System.Drawing.Point(4, 22)
Me.TabPage2.Name = "TabPage2"
Me.TabPage2.Padding = New System.Windows.Forms.Padding(3)
Me.TabPage2.Size = New System.Drawing.Size(710, 725)
Me.TabPage2.Size = New System.Drawing.Size(710, 742)
Me.TabPage2.TabIndex = 1
Me.TabPage2.Text = "Umsatzbericht"
Me.TabPage2.UseVisualStyleBackColor = True
@@ -635,7 +635,7 @@ Partial Class frmKundenblatt
Me.dgvUmsaetze.RowHeadersDefaultCellStyle = DataGridViewCellStyle8
Me.dgvUmsaetze.RowHeadersVisible = False
Me.dgvUmsaetze.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect
Me.dgvUmsaetze.Size = New System.Drawing.Size(707, 700)
Me.dgvUmsaetze.Size = New System.Drawing.Size(707, 717)
Me.dgvUmsaetze.TabIndex = 182
'
'Label13
@@ -683,7 +683,7 @@ Partial Class frmKundenblatt
Me.TabPage3.Controls.Add(Me.dgvUmsatzNachLeistngsNr)
Me.TabPage3.Location = New System.Drawing.Point(4, 22)
Me.TabPage3.Name = "TabPage3"
Me.TabPage3.Size = New System.Drawing.Size(710, 725)
Me.TabPage3.Size = New System.Drawing.Size(710, 742)
Me.TabPage3.TabIndex = 2
Me.TabPage3.Text = "Umsatz nach LeistungsNr"
Me.TabPage3.UseVisualStyleBackColor = True
@@ -739,7 +739,7 @@ Partial Class frmKundenblatt
Me.dgvUmsatzNachLeistngsNr.RowHeadersDefaultCellStyle = DataGridViewCellStyle12
Me.dgvUmsatzNachLeistngsNr.RowHeadersVisible = False
Me.dgvUmsatzNachLeistngsNr.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect
Me.dgvUmsatzNachLeistngsNr.Size = New System.Drawing.Size(705, 702)
Me.dgvUmsatzNachLeistngsNr.Size = New System.Drawing.Size(705, 719)
Me.dgvUmsatzNachLeistngsNr.TabIndex = 183
'
'lblAdressenzusatz
@@ -1154,7 +1154,7 @@ Partial Class frmKundenblatt
Me.tbZoll.Location = New System.Drawing.Point(4, 25)
Me.tbZoll.Name = "tbZoll"
Me.tbZoll.Padding = New System.Windows.Forms.Padding(3)
Me.tbZoll.Size = New System.Drawing.Size(1644, 1339)
Me.tbZoll.Size = New System.Drawing.Size(1644, 1356)
Me.tbZoll.TabIndex = 9
Me.tbZoll.Text = "ZOLL"
Me.tbZoll.UseVisualStyleBackColor = True
@@ -1166,7 +1166,7 @@ Partial Class frmKundenblatt
Me.tbcntrZOLL.Location = New System.Drawing.Point(3, 3)
Me.tbcntrZOLL.Name = "tbcntrZOLL"
Me.tbcntrZOLL.SelectedIndex = 0
Me.tbcntrZOLL.Size = New System.Drawing.Size(1638, 1333)
Me.tbcntrZOLL.Size = New System.Drawing.Size(1638, 1350)
Me.tbcntrZOLL.TabIndex = 0
'
'tabZoll_Artikel
@@ -1174,7 +1174,7 @@ Partial Class frmKundenblatt
Me.tabZoll_Artikel.Location = New System.Drawing.Point(4, 22)
Me.tabZoll_Artikel.Name = "tabZoll_Artikel"
Me.tabZoll_Artikel.Padding = New System.Windows.Forms.Padding(3)
Me.tabZoll_Artikel.Size = New System.Drawing.Size(1630, 1307)
Me.tabZoll_Artikel.Size = New System.Drawing.Size(1630, 1324)
Me.tabZoll_Artikel.TabIndex = 1
Me.tabZoll_Artikel.Text = "Artikel"
Me.tabZoll_Artikel.UseVisualStyleBackColor = True
@@ -1185,7 +1185,7 @@ Partial Class frmKundenblatt
Me.tbMdm.Location = New System.Drawing.Point(4, 25)
Me.tbMdm.Name = "tbMdm"
Me.tbMdm.Padding = New System.Windows.Forms.Padding(3)
Me.tbMdm.Size = New System.Drawing.Size(1644, 1339)
Me.tbMdm.Size = New System.Drawing.Size(1644, 1356)
Me.tbMdm.TabIndex = 10
Me.tbMdm.Text = "MDM"
Me.tbMdm.UseVisualStyleBackColor = True
@@ -1204,7 +1204,7 @@ Partial Class frmKundenblatt
Me.tbcntrMDM.Margin = New System.Windows.Forms.Padding(0)
Me.tbcntrMDM.Name = "tbcntrMDM"
Me.tbcntrMDM.SelectedIndex = 0
Me.tbcntrMDM.Size = New System.Drawing.Size(1638, 1333)
Me.tbcntrMDM.Size = New System.Drawing.Size(1638, 1350)
Me.tbcntrMDM.TabIndex = 0
'
'tbSDL
@@ -1216,7 +1216,7 @@ Partial Class frmKundenblatt
Me.tbSDL.Margin = New System.Windows.Forms.Padding(0)
Me.tbSDL.Name = "tbSDL"
Me.tbSDL.Padding = New System.Windows.Forms.Padding(3)
Me.tbSDL.Size = New System.Drawing.Size(1630, 1307)
Me.tbSDL.Size = New System.Drawing.Size(1630, 1324)
Me.tbSDL.TabIndex = 5
Me.tbSDL.Text = "SDL-Leistungen"
Me.tbSDL.UseVisualStyleBackColor = True
@@ -1258,7 +1258,7 @@ Partial Class frmKundenblatt
DataGridViewCellStyle21.WrapMode = System.Windows.Forms.DataGridViewTriState.[True]
Me.dgvSDLLeistungenFull.RowHeadersDefaultCellStyle = DataGridViewCellStyle21
Me.dgvSDLLeistungenFull.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect
Me.dgvSDLLeistungenFull.Size = New System.Drawing.Size(1624, 1111)
Me.dgvSDLLeistungenFull.Size = New System.Drawing.Size(1624, 1128)
Me.dgvSDLLeistungenFull.TabIndex = 5
'
'Panel6
@@ -1363,7 +1363,7 @@ Partial Class frmKundenblatt
Me.Panel5.Controls.Add(Me.lblLetzterSA_SDL)
Me.Panel5.Controls.Add(Me.rtbVermerke)
Me.Panel5.Dock = System.Windows.Forms.DockStyle.Bottom
Me.Panel5.Location = New System.Drawing.Point(3, 1161)
Me.Panel5.Location = New System.Drawing.Point(3, 1178)
Me.Panel5.Name = "Panel5"
Me.Panel5.Size = New System.Drawing.Size(1624, 143)
Me.Panel5.TabIndex = 177
@@ -2249,7 +2249,7 @@ Partial Class frmKundenblatt
Me.tbOfferte.Location = New System.Drawing.Point(4, 25)
Me.tbOfferte.Margin = New System.Windows.Forms.Padding(2)
Me.tbOfferte.Name = "tbOfferte"
Me.tbOfferte.Size = New System.Drawing.Size(1644, 1339)
Me.tbOfferte.Size = New System.Drawing.Size(1644, 1356)
Me.tbOfferte.TabIndex = 11
Me.tbOfferte.Text = "Offerte"
Me.tbOfferte.UseVisualStyleBackColor = True
@@ -2261,7 +2261,7 @@ Partial Class frmKundenblatt
Me.UsrCntlOfferte1.Location = New System.Drawing.Point(0, 0)
Me.UsrCntlOfferte1.Margin = New System.Windows.Forms.Padding(1)
Me.UsrCntlOfferte1.Name = "UsrCntlOfferte1"
Me.UsrCntlOfferte1.Size = New System.Drawing.Size(1644, 1339)
Me.UsrCntlOfferte1.Size = New System.Drawing.Size(1644, 1356)
Me.UsrCntlOfferte1.TabIndex = 0
'
'tbUSTV
@@ -2269,7 +2269,7 @@ Partial Class frmKundenblatt
Me.tbUSTV.Controls.Add(Me.tbcntrUSTV)
Me.tbUSTV.Location = New System.Drawing.Point(4, 25)
Me.tbUSTV.Name = "tbUSTV"
Me.tbUSTV.Size = New System.Drawing.Size(1644, 1339)
Me.tbUSTV.Size = New System.Drawing.Size(1644, 1356)
Me.tbUSTV.TabIndex = 12
Me.tbUSTV.Text = "USTV"
Me.tbUSTV.UseVisualStyleBackColor = True
@@ -2283,7 +2283,7 @@ Partial Class frmKundenblatt
Me.tbcntrUSTV.Margin = New System.Windows.Forms.Padding(0)
Me.tbcntrUSTV.Name = "tbcntrUSTV"
Me.tbcntrUSTV.SelectedIndex = 0
Me.tbcntrUSTV.Size = New System.Drawing.Size(1644, 1339)
Me.tbcntrUSTV.Size = New System.Drawing.Size(1644, 1356)
Me.tbcntrUSTV.TabIndex = 1
'
'tbUSTVDokumente
@@ -2296,7 +2296,7 @@ Partial Class frmKundenblatt
Me.tbUSTVDokumente.Controls.Add(Me.scanUSTVVollmachten)
Me.tbUSTVDokumente.Location = New System.Drawing.Point(4, 22)
Me.tbUSTVDokumente.Name = "tbUSTVDokumente"
Me.tbUSTVDokumente.Size = New System.Drawing.Size(1636, 1313)
Me.tbUSTVDokumente.Size = New System.Drawing.Size(1636, 1330)
Me.tbUSTVDokumente.TabIndex = 8
Me.tbUSTVDokumente.Text = "Dokumente"
Me.tbUSTVDokumente.UseVisualStyleBackColor = True
@@ -2419,7 +2419,7 @@ Partial Class frmKundenblatt
Me.tbFIBU.Controls.Add(Me.txtFIBUKuerzel)
Me.tbFIBU.Location = New System.Drawing.Point(4, 25)
Me.tbFIBU.Name = "tbFIBU"
Me.tbFIBU.Size = New System.Drawing.Size(1644, 1339)
Me.tbFIBU.Size = New System.Drawing.Size(1644, 1356)
Me.tbFIBU.TabIndex = 13
Me.tbFIBU.Text = "FIBU"
Me.tbFIBU.UseVisualStyleBackColor = True
@@ -2446,7 +2446,7 @@ Partial Class frmKundenblatt
'
Me.btnFirmendatenFormularSpeichern.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.btnFirmendatenFormularSpeichern.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnFirmendatenFormularSpeichern.Location = New System.Drawing.Point(-1397, 18)
Me.btnFirmendatenFormularSpeichern.Location = New System.Drawing.Point(-2849, 18)
Me.btnFirmendatenFormularSpeichern.Name = "btnFirmendatenFormularSpeichern"
Me.btnFirmendatenFormularSpeichern.Size = New System.Drawing.Size(71, 52)
Me.btnFirmendatenFormularSpeichern.TabIndex = 17
@@ -2724,7 +2724,7 @@ Partial Class frmKundenblatt
'
Me.cntxtCntxtMDM.ImageScalingSize = New System.Drawing.Size(24, 24)
Me.cntxtCntxtMDM.Name = "cntxtCntxtMDM"
Me.cntxtCntxtMDM.OwnerItem = Me.ToolStripMenuItem4
Me.cntxtCntxtMDM.OwnerItem = Me.ToolStripMenuItem8
Me.cntxtCntxtMDM.Size = New System.Drawing.Size(61, 4)
Me.cntxtCntxtMDM.Text = "cntxtMDM"
'

View File

@@ -26,6 +26,8 @@ Partial Class frmOffertenBearbeiten
Me.FlowLayoutPanel = New System.Windows.Forms.FlowLayoutPanel()
Me.btnOK = New System.Windows.Forms.Button()
Me.lblBitteWahlenSieDieOffertenFurDenKundenAus = New System.Windows.Forms.Label()
Me.Label1 = New System.Windows.Forms.Label()
Me.cboSprache = New VERAG_PROG_ALLGEMEIN.MyComboBox()
Me.SuspendLayout()
'
'FlowLayoutPanel
@@ -34,10 +36,10 @@ Partial Class frmOffertenBearbeiten
Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.FlowLayoutPanel.AutoScroll = True
Me.FlowLayoutPanel.Location = New System.Drawing.Point(9, 32)
Me.FlowLayoutPanel.Location = New System.Drawing.Point(9, 46)
Me.FlowLayoutPanel.Margin = New System.Windows.Forms.Padding(2)
Me.FlowLayoutPanel.Name = "FlowLayoutPanel"
Me.FlowLayoutPanel.Size = New System.Drawing.Size(321, 472)
Me.FlowLayoutPanel.Size = New System.Drawing.Size(321, 458)
Me.FlowLayoutPanel.TabIndex = 0
'
'btnOK
@@ -64,12 +66,38 @@ Partial Class frmOffertenBearbeiten
Me.lblBitteWahlenSieDieOffertenFurDenKundenAus.TabIndex = 2
Me.lblBitteWahlenSieDieOffertenFurDenKundenAus.Text = "Bitte wählen Sie die Offerten für den Kunden aus:"
'
'Label1
'
Me.Label1.AutoSize = True
Me.Label1.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Label1.Location = New System.Drawing.Point(11, 27)
Me.Label1.Margin = New System.Windows.Forms.Padding(2, 0, 2, 0)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(58, 13)
Me.Label1.TabIndex = 3
Me.Label1.Text = "Sprache:"
'
'cboSprache
'
Me.cboSprache._allowedValuesFreiText = Nothing
Me.cboSprache._allowFreiText = False
Me.cboSprache._value = ""
Me.cboSprache.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend
Me.cboSprache.DropDownWidth = 50
Me.cboSprache.FormattingEnabled = True
Me.cboSprache.Location = New System.Drawing.Point(74, 24)
Me.cboSprache.Name = "cboSprache"
Me.cboSprache.Size = New System.Drawing.Size(51, 21)
Me.cboSprache.TabIndex = 13
'
'frmOffertenBearbeiten
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.BackColor = System.Drawing.Color.White
Me.ClientSize = New System.Drawing.Size(337, 559)
Me.Controls.Add(Me.cboSprache)
Me.Controls.Add(Me.Label1)
Me.Controls.Add(Me.lblBitteWahlenSieDieOffertenFurDenKundenAus)
Me.Controls.Add(Me.btnOK)
Me.Controls.Add(Me.FlowLayoutPanel)
@@ -85,4 +113,6 @@ Partial Class frmOffertenBearbeiten
Friend WithEvents FlowLayoutPanel As System.Windows.Forms.FlowLayoutPanel
Friend WithEvents btnOK As System.Windows.Forms.Button
Friend WithEvents lblBitteWahlenSieDieOffertenFurDenKundenAus As System.Windows.Forms.Label
Friend WithEvents Label1 As Label
Friend WithEvents cboSprache As VERAG_PROG_ALLGEMEIN.MyComboBox
End Class

View File

@@ -1,4 +1,6 @@
Public Class frmOffertenBearbeiten
Imports VERAG_PROG_ALLGEMEIN
Public Class frmOffertenBearbeiten
Dim FIRMA_TMP = ""
@@ -22,14 +24,36 @@
If Not KUNDE.hasEntry Then Me.Close()
FIRMA_TMP = VERAG_PROG_ALLGEMEIN.cAllgemein.getFirmaFromFiliale(KUNDE.FilialenNr)
Dim KUNDE_ERW As New cKundenErweitert(kdnr)
cboSprache.Items.Clear()
cboSprache.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("DE", "DE"))
cboSprache.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("EN", "EN"))
cboSprache.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("RO", "RO"))
cboSprache.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("TR", "TR"))
'Dim OFFERTE As New cOfferteList(kdnr, False)
Dim where = ""
Select Case FIRMA_TMP
Case "IMEX"
' where = " WHERE [Offertenstamm].[OffertenNr] IN (1,2,3,4,5,6,7,8,9,10,26,27,29,50,51)"
cboSprache.Enabled = False
cboSprache.changeItem("DE")
where = " WHERE [Offertenstamm].[OffertenNr] IN (SELECT ao_OffertenNr FROM tblAbfertigungsartenFiliale inner join tblAbfertigungsartOffertenstamm on ao_Abfertigungsart=Abfertigungsart WHERE FilialenNr=5501 ) "
Case "VERAG"
If KUNDE_ERW IsNot Nothing AndAlso KUNDE_ERW.kde_Fakturierung_Sprache IsNot Nothing AndAlso KUNDE_ERW.kde_Fakturierung_Sprache <> "" AndAlso KUNDE.FilialenNr = 8001 AndAlso (KUNDE.KundenNrZentrale <> 140000 And KUNDE.KundenNrZentrale <> 150000 And KUNDE.KundenNrZentrale <> 180000) Then
cboSprache.changeItem(KUNDE_ERW.kde_Fakturierung_Sprache)
cboSprache.Enabled = True
Else
cboSprache.changeItem("DE")
cboSprache.Enabled = False
End If
Case Else
cboSprache.changeItem("DE")
cboSprache.Enabled = False
End Select
Dim SQLsrt = " SELECT (select case when COUNT(*)>0 then 1 else 0 end FROM Offerten where KundenNr=" & kdnr & " and [Offerten].[OffertenNr]=[Offertenstamm].[OffertenNr]) as vorhanden," &
" [Offertenstamm].[OffertenNr],[OffertenBez] FROM Offertenstamm " & where & " order by OffertenNr"
@@ -46,6 +70,12 @@
Next
End Sub
Private Sub btnOK_Click(sender As Object, e As EventArgs) Handles btnOK.Click
@@ -59,7 +89,7 @@
o.SAVE() 'speichern
o.LOAD_POSITIONEN() 'positionen Laden
If o.POSITIONEN.Count = 0 Then 'wenn keine POS --> neues Offert
o.RESET_STANDARTOFFERTEN_FIRMA(VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME, FIRMA_TMP) '--> Standartofferten laden
o.RESET_STANDARTOFFERTEN_FIRMA(VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME, FIRMA_TMP, cboSprache.SelectedItem.ToString) '--> Standartofferten laden
End If

View File

@@ -484,10 +484,22 @@ Public Class usrCntlOfferte
Dim KUNDE As New VERAG_PROG_ALLGEMEIN.cKunde(kdNr)
Dim KUNDE_ERW As New VERAG_PROG_ALLGEMEIN.cKundenErweitert(kdNr)
Dim FIRMA_TMP = VERAG_PROG_ALLGEMEIN.cAllgemein.getFirmaFromFiliale(KUNDE.FilialenNr)
If Not vbYes = MsgBox("Möchten Sie die Standardofferte für den Kunden " & KUNDE.KundenNr & " laden?" & vbNewLine & "Aktuelle Offerteneinstellungen werden gelöscht.", vbYesNo) Then Exit Sub
Dim SPRACHE As String = "DE"
If FIRMA_TMP = "VERAG" Then
If KUNDE_ERW IsNot Nothing AndAlso KUNDE_ERW.kde_Fakturierung_Sprache IsNot Nothing AndAlso KUNDE_ERW.kde_Fakturierung_Sprache <> "" AndAlso KUNDE.FilialenNr = 8001 AndAlso (KUNDE.KundenNrZentrale <> 140000 And KUNDE.KundenNrZentrale <> 150000 And KUNDE.KundenNrZentrale <> 180000) Then
If vbYes = MsgBox("Möchten Sie die Standardofferte in der Fakturierungssprache des Kunden (" & KUNDE_ERW.kde_Fakturierung_Sprache & ") einfügen ", vbYesNo) Then
SPRACHE = KUNDE_ERW.kde_Fakturierung_Sprache
End If
End If
End If
edit = True
handleEditMode(edit)
saveCurrentOffert()
@@ -499,7 +511,7 @@ Public Class usrCntlOfferte
currentOffert.SAVE()
currentOffert.LOAD_POSITIONEN()
If currentOffert.POSITIONEN.Count = 0 Then '
currentOffert.RESET_STANDARTOFFERTEN_FIRMA(VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME, FIRMA_TMP)
currentOffert.RESET_STANDARTOFFERTEN_FIRMA(VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME, FIRMA_TMP, SPRACHE)
End If
dgvOfferteNew.GetOrder()

View File

@@ -3185,159 +3185,6 @@ Public Class frmMDMDatenverarbetiung
End Function
'Function genPLOSE_RECHNUNG_BySPEDBUCH(KdNr As String, PLOSEKundenNr As String, SPEDBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch, von As Date, bis As Date)
' Try
' Dim AD As New VERAG_PROG_ALLGEMEIN.cAdressen(SPEDBUCH.VermittlerKundenNr)
' Dim KD As New VERAG_PROG_ALLGEMEIN.cKunde(SPEDBUCH.VermittlerKundenNr)
' Dim RG As New VERAG_PROG_ALLGEMEIN.cRechnungsausgang
' Dim OffertenNr = 80
' Dim Abfertigungsart = 10
' RG.FilialenNr = SPEDBUCH.FilialenNr
' RG.AbfertigungsNr = SPEDBUCH.AbfertigungsNr
' RG.SpeditionsbuchUnterNr = SPEDBUCH.UnterNr
' RG.UnterNr = RG.getMaxRGUnterNr()
' RG.Buchungsjahr = cRKSV.getGJ(datPloseAnhang.Value) 'If(Now.Month = 1, Now.Year - 1, Now.Year)
' RG.FilialenNr = SPEDBUCH.FilialenNr
' RG.Abfertigungsdatum = SPEDBUCH.Abfertigungsdatum
' RG.Sammelrechnung = 6 'MAUT/DIESEL
' RG.BelegartenKz = "AR"
' RG.BelegartenNr = 70
' RG.BelegartenBez = "Rechnung"
' RG.Vorzeichen = "+"
' RG.VermittlerKundenNr = AD.AdressenNr
' RG.VermittlerLandKz = AD.LandKz
' RG.VermittlerName_1 = AD.Name_1
' RG.VermittlerName_2 = AD.Name_2
' RG.VermittlerOffertenNr = OffertenNr
' RG.VermittlerOrt = (If(AD.LandKz, "") & " " & If(AD.PLZ, "") & " " & If(AD.Ort, ""))
' RG.VermittlerStraße = AD.Straße
' RG.Rechnung_an = 3
' RG.OffertenNr = OffertenNr
' RG.KundenNrZentrale = KD.KundenNrZentrale
' RG.RechnungsKundenNr = AD.AdressenNr
' RG.RechnungsLandKz = AD.LandKz
' RG.RechnungsName_1 = AD.Name_1
' RG.RechnungsName_2 = AD.Name_2
' RG.RechnungsOrt = (If(AD.LandKz, "") & " " & If(AD.PLZ, "") & " " & If(AD.Ort, ""))
' RG.RechnungsStraße = AD.Straße
' RG.RechnungsUstIdKz = AD.UstIdKz
' RG.RechnungsUstIdNr = AD.UstIdNr
' RG.RechnungsUstIdGeprüft = AD.UstIdGeprüft
' RG.Lastschrift = KD.Lastschrift
' RG.Kunden_SVS = KD.SVS
' RG.Steuerschlüssel = KD.Steuerschlüssel
' RG.Vorkasse = KD.Vorkasse
' RG.Vorlageprovision_Proz = KD.Vorlageprovision
' RG.Kreditaufwendungen_Proz = KD.Kreditaufwendungen
' RG.RechnungSprache = "DE"
' RG.Anlage_1 = ""
' RG.Anlage_2 = ""
' RG.Anlage_3 = ""
' RG.Anlage_4 = ""
' RG.Anlage_5 = ""
' RG.Anlage_6 = ""
' RG.Text = ""
' RG.EMailRechnungstext = Nothing ' ""
' RG.Firma_ID = 15
' RG.Nettozahlungsziel = KD.Zahlungsziel
' RG.SteuerpflichtigerGesamtbetrag = 0
' RG.SteuerfreierGesamtbetrag = 0
' RG.Status = 0
' RG.[Vorkosten] = 0
' RG.[Erlös] = 0
' RG.[Buchungsjahr] = 0
' RG.[Währungscode] = "EUR"
' RG.ReErfZeitstempel = Now
' RG.Sachbearbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME
' RG.Buchungsjahr = cRKSV.getGJ(RG.RechnungsDatum)
' Dim OFFERTE As New VERAG_PROG_ALLGEMEIN.cOfferte(KdNr, OffertenNr, True)
' RG.LOAD_OFFERT_POSITIONEN() ' --> OFFERTE MIT ANZAHL >0 und Preis >0
' ' RG.LOAD_POSITIONEN_FROM_OFFERTE(OFFERTE)
' Dim sqlstr As String = ""
' sqlstr &= " SELECT [plp_LeistungsNr],sum([plose_NettobetragWaehrungAbbuchung]) as plose_NettobetragWaehrungAbbuchung,sum([plose_MWSTBetragWaehrungAbbuchung]) as [plose_MWSTBetragWaehrungAbbuchung],sum([plose_BruttobetragWaehrungAbbuchung]) as [plose_BruttobetragWaehrungAbbuchung] "
' sqlstr &= " FROM tblPLOSE_Details INNER JOIN [tblPLOSE_Produktbeschreibung] on plose_ProduktCode=plp_ProductCode "
' sqlstr &= " WHERE 1=1 "
' sqlstr &= " AND plose_Fakturiert=0 "
' sqlstr &= " AND plose_ProduktCode NOT IN (" & ProduktCode_NOT_IN & " ) "
' sqlstr &= " AND plose_POLSEKundennummer = '" & PLOSEKundenNr & "' "
' sqlstr &= " AND plp_LeistungsNr is not null "
' sqlstr &= " AND plose_DatumTransaktion between '" & von.ToShortDateString & "' and '" & bis.ToShortDateString & "' "
' sqlstr &= " group by [plp_LeistungsNr]"
' sqlstr &= " order by plp_LeistungsNr"
' Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL")
' For Each r In dt.Rows
' Dim BLNr = r("plp_LeistungsNr")
' 'Dim BProz = r("plose_BruttobetragWaehrungAbbuchung")
' Dim NettoBetrag As Double = r("plose_NettobetragWaehrungAbbuchung")
' Dim BruttoBetrag As Double = r("plose_BruttobetragWaehrungAbbuchung")
' Dim LeistungsNr As Integer = r("plp_LeistungsNr")
' allPos(RG, OFFERTE, LeistungsNr, NettoBetrag, BruttoBetrag)
' 'Rückvergütung Consortio !!
' If r("plp_LeistungsNr") = "190" Then '(PRODUCTCODE=301; VERAG-LEISTUNGSNR=190!!
' rabattPlosePos(RG, OFFERTE, LeistungsNr, NettoBetrag, BruttoBetrag)
' End If
' Next
' Dim dtSt As DataTable = SQL.loadDgvBySql("SELECT TOP 1 isnull([Steuersatz %],0),isnull([Steuerbezeichnung],'') FROM [Steuertabelle] WHERE [Steuerschlüssel]='" & RG.Steuerschlüssel & "'", "FMZOLL")
' If dtSt IsNot Nothing AndAlso dtSt.Rows.Count > 0 Then
' RG.Steuersatz_Proz = dtSt.Rows(0)(0)
' End If
' cFakturierung.setGesamtBetraege(RG)
' RG.Text = (cFakturierung.przRechnungstextTXT(RG, SPEDBUCH) & vbNewLine & cFakturierung.przRechnungstextZZ(RG)).Trim
' Call usrCntlFaktAbrechnung.przFixeTaxe(RG) ' Fixe Taxe errechnen
' Call usrCntlFaktAbrechnung.przPP(RG) ' Porto/Papiere errechnen
' Call usrCntlFaktAbrechnung.przBS415(RG) ' Bankspesen errechnen
' If RG.SAVE Then
' Return True
' Else
' Return False
' End If
' Catch ex As System.Exception
' MsgBox(ex.Message & ex.StackTrace)
' End Try
' Return ""
'End Function
Function gen_RECHNUNG_BySPEDBUCH(KdNr As String, SPEDBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch, Lieferant As String, Optional PLOSEKundenNr As String = "", Optional von As Date = Nothing, Optional bis As Date = Nothing, Optional ByRef RE As cRechnungsausgang = Nothing)
Try
@@ -3458,7 +3305,6 @@ Public Class frmMDMDatenverarbetiung
sqlstr &= " AND plose_POLSEKundennummer = '" & PLOSEKundenNr & "' "
sqlstr &= " AND plp_LeistungsNr is not null "
sqlstr &= " AND plose_DatumTransaktion between '" & von.ToShortDateString & "' and '" & bis.ToShortDateString & "' "
sqlstr &= " group by [plp_LeistungsNr]"
sqlstr &= " order by plp_LeistungsNr"
@@ -3676,7 +3522,7 @@ Public Class frmMDMDatenverarbetiung
Try
For Each o In OFFERTE.POSITIONEN
If o.LeistungsNr = LeistungsNr AndAlso IIf(leistungsBez <> "", o.LeistungsBez = leistungsBez, True) Then ' bei IDS muss ebenfalls die Leistungsbezeichnung eindeutig sein!
If o.LeistungsNr = LeistungsNr AndAlso IIf(leistungsBez <> "", o.LeistungsBez = leistungsBez, True) Then 'TODO: bei IDS muss ebenfalls die Leistungsbezeichnung eindeutig sein!, muss noch auf Mehrsprachigkeit geändert werden
'Dim PARK = RECHNUNG.POSITIONEN.FindAll(Function(x) (x.LeistungsNr = 313 Or x.LeistungsNr = 312))
'If PARK Is Nothing Then

View File

@@ -900,6 +900,8 @@ Public Class usrcntlFakturierung
Dim sql As New SQL
NEWPOS.Steuerpflichtig = (New VERAG_PROG_ALLGEMEIN.SQL).DLookup("Steuerpflichtig", "Leistungen", "LeistungsNr= 415", "FMZOLL")
End If
'TODO: Übersetzung in Fakt.Sprache
NEWPOS.LeistungsBez = "Überweisungs/Bankspesen"
Dim preis As Double = 0

View File

@@ -225,7 +225,7 @@ Public Class cOfferte
End Function
Function RESET_STANDARTOFFERTEN(Sachbearbeiter) As Boolean
Function RESET_STANDARTOFFERTEN(Sachbearbeiter As String, Optional Sprache As String = "DE") As Boolean
'Zuserst alle OffertenPos von dem Offert löschen
If SQL.doSQL("DELETE FROM [Offertenpositionen] WHERE KundenNr=" & Me.KundenNr & " and OffertenNr=" & Me.OffertenNr, "FMZOLL") Then
'jetzt die Standartofferten einfügen
@@ -233,12 +233,28 @@ Public Class cOfferte
Dim P As New cOffertPosition()
Dim Leistung As New cLeistungen(r("LeistungsNr"))
P.KundenNr = Me.KundenNr
P.OffertenNr = Me.OffertenNr
P.LeistungsNr = r("LeistungsNr")
P.LeistungsBez = r("LeistungsBez")
Dim leistBez As String = ""
Select Case Sprache
Case "EN" : leistBez = IIf(Not IsDBNull(r("LeistungsBez_EN")), r("LeistungsBez_EN"), "")
Case "RO" : leistBez = IIf(Not IsDBNull(r("LeistungsBez_RO")), r("LeistungsBez_RO"), "")
Case "TR" : leistBez = IIf(Not IsDBNull(r("LeistungsBez_TR")), r("LeistungsBez_TR"), "")
Case Else
P.LeistungsBez = r("LeistungsBez")
End Select
If leistBez.Length > 30 Then
P.LeistungsBez = leistBez.Substring(0, 30)
Else
P.LeistungsBez = leistBez
End If
If IsDBNull(P.LeistungsBez) OrElse P.LeistungsBez = "" Then P.LeistungsBez = r("LeistungsBez")
P.BerechnungsartNr = Leistung.BerechnungsartNr
P.Preis = r("Preis")
P.Anzahl = r("Anzahl")
@@ -253,6 +269,23 @@ Public Class cOfferte
'P.Preisänderung = XXXXXXXXX
'P.PreisänderungProzent = XXXXXXXXX
'P.PreisAlt = XXXXXXXXX
Dim LandISO As String = ""
Select Case P.OffertenNr
Case 31, 15, 14
If (P.LeistungsNr = 124 Or P.LeistungsNr = 125 Or P.LeistungsNr = 126) Then
LandISO = P.LeistungsBez.ToString.Substring(P.LeistungsBez.ToString.Length - 2, 2)
End If
End Select
If LandISO <> "" AndAlso LandISO.All(Function(c) Char.IsUpper(c)) Then
P.Land = LandISO
End If
If Not P.INSERT() Then
Return False
End If
@@ -262,9 +295,9 @@ Public Class cOfferte
End If
Return True
End Function
Public Function RESET_STANDARTOFFERTEN_FIRMA(Sachbearbeiter, Firma) As Boolean
Public Function RESET_STANDARTOFFERTEN_FIRMA(Sachbearbeiter As String, Firma As String, Optional Sprache As String = "DE") As Boolean
If Firma = "" Or Firma = "VERAG" Then
Return RESET_STANDARTOFFERTEN(Sachbearbeiter)
Return RESET_STANDARTOFFERTEN(Sachbearbeiter, Sprache)
Else
'Zuserst alle OffertenPos von dem Offert löschen
@@ -279,7 +312,25 @@ Public Class cOfferte
P.OffertenNr = Me.OffertenNr
P.LeistungsNr = r("LeistungsNr")
P.LeistungsBez = r("LeistungsBez")
Dim leistBez As String = ""
Select Case Sprache
Case "EN" : leistBez = r("LeistungsBez_EN")
Case "RO" : leistBez = r("LeistungsBez_RO")
Case "TR" : leistBez = r("LeistungsBez_TR")
Case Else
P.LeistungsBez = r("LeistungsBez")
End Select
If leistBez.Length > 30 Then
P.LeistungsBez = leistBez.Substring(0, 30)
Else
P.LeistungsBez = leistBez
End If
If IsDBNull(P.LeistungsBez) OrElse P.LeistungsBez = "" Then P.LeistungsBez = r("LeistungsBez")
P.BerechnungsartNr = Leistung.BerechnungsartNr
P.Preis = r("Preis")
P.Anzahl = r("Anzahl")
@@ -294,6 +345,20 @@ Public Class cOfferte
'P.Preisänderung = XXXXXXXXX
'P.PreisänderungProzent = XXXXXXXXX
'P.PreisAlt = XXXXXXXXX
Dim LandISO As String = ""
Select Case P.OffertenNr
Case 31, 15, 14
LandISO = P.LeistungsBez.ToString.Substring(P.LeistungsBez.ToString.Length - 2, 2)
End Select
If LandISO <> "" AndAlso LandISO.All(Function(c) Char.IsUpper(c)) Then
P.Land = LandISO
End If
If Not P.INSERT() Then
Return False
End If
@@ -328,6 +393,10 @@ Public Class cOffertPosition
Property PreisAlt As Object = Nothing
Property BerechnungsartPosInkludiert As Object = Nothing
Property SSMA_TimeStamp As Object = Nothing
Property Land As Object = Nothing
Property VZ As Object = Nothing
Property RMC As Object = Nothing
Property Fremd As Object = Nothing
Dim SQL As New SQL
@@ -355,6 +424,11 @@ Public Class cOffertPosition
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("PreisänderungProzent", PreisänderungProzent))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("PreisAlt", PreisAlt))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BerechnungsartPosInkludiert", BerechnungsartPosInkludiert))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Land", Land))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("VZ", VZ))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RMC", RMC))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Fremd", Fremd))
Return list
End Function
@@ -735,3 +809,143 @@ Public Class cOffertPositionArchiv
End Class
Public Class cStandardofferten
Property OffertenNr As Integer
Property Währungscode As Object = Nothing
Property LeistungsNr As Integer
Property LeistungsBez As Object = Nothing
Property Preis As Object = Nothing
Property Anzahl As Object = Nothing
Property BGebLeistungsNr As Object = Nothing
Property BGebProzent As Object = Nothing
Property BGebMinBetrag As Object = Nothing
Property BerechnungsartPosInkludiert As Object = Nothing
Property BerechnungsartNr As Object = Nothing
Property LeistungsBez_EN As Object = Nothing
Property LeistungsBez_RO As Object = Nothing
Property LeistungsBez_TR As Object = Nothing
Public hasEntry = False
Dim SQL As New SQL
Sub New(OffertenNr, Währungscode, LeistungsNr, LeistungsBez)
Me.OffertenNr = OffertenNr
Me.Währungscode = Währungscode
Me.LeistungsNr = LeistungsNr
Me.LeistungsBez = LeistungsBez
LOAD()
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("OffertenNr", OffertenNr))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Währungscode", Währungscode))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LeistungsNr", LeistungsNr))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LeistungsBez", LeistungsBez))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Preis", Preis))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Anzahl", Anzahl))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BGebLeistungsNr", BGebLeistungsNr))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BGebProzent", BGebProzent))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BGebMinBetrag", BGebMinBetrag))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BerechnungsartPosInkludiert", BerechnungsartPosInkludiert))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BerechnungsartNr", BerechnungsartNr))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LeistungsBez_EN", LeistungsBez_EN))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LeistungsBez_RO", LeistungsBez_RO))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LeistungsBez_TR", LeistungsBez_TR))
Return list
End Function
Public Function SAVE() As Boolean
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM Standardofferten WHERE OffertenNr=@OffertenNr AND Währungscode=@Währungscode AND LeistungsNr=@LeistungsNr AND LeistungsBez=@LeistungsBez) " &
" BEGIN " & getUpdateCmd() & " END " &
" Else " &
" BEGIN " & getInsertCmd() & " END " &
" commit tran "
Return SQL.doSQLVarList(sqlstr, "FMZOLL", , list)
End Function
Public Sub LOAD()
Try
hasEntry = False
Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
Using cmd As New SqlCommand("SELECT * FROM Standardofferten WHERE OffertenNr=@OffertenNr AND Währungscode=@Währungscode AND LeistungsNr=@LeistungsNr AND LeistungsBez=@LeistungsBez ", conn)
cmd.Parameters.AddWithValue("@OffertenNr", OffertenNr)
cmd.Parameters.AddWithValue("@Währungscode", Währungscode)
cmd.Parameters.AddWithValue("@LeistungsNr", LeistungsNr)
cmd.Parameters.AddWithValue("@LeistungsBez", LeistungsBez)
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.MethodInfo.GetCurrentMethod.Name)
End Try
End Sub
Public Function getUpdateCmd() As String
Try
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
Dim str As String = ""
For Each i In list
If Not i.isPrimaryParam Then
str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
End If
Next
str = str.Substring(0, str.Length - 1) 'wg. ','
Return (" UPDATE [Standardofferten] SET " & str & " WHERE OffertenNr=@OffertenNr AND Währungscode=@Währungscode AND LeistungsNr=@LeistungsNr AND LeistungsBez=@LeistungsBez ")
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
End Try
Return ""
End Function
Public Function getInsertCmd() As String
Try
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
Dim str As String = ""
Dim values As String = ""
For Each i In list
If Not i.isPrimaryParam Then
str &= "[" & i.Text & "],"
values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
End If
Next
str = str.Substring(0, str.Length - 1) 'wg. ','
values = values.Substring(0, values.Length - 1) 'wg. ','
Return (" INSERT INTO Standardofferten (" & str & ") VALUES(" & values & ") ")
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
End Try
Return ""
End Function
End Class

View File

@@ -371,8 +371,8 @@ Public Class cRechnungsausgang
Public Sub LOAD(FilialeNr As Integer, AbfertigungsNr As Integer, Optional loadPos As Boolean = True)
Try
Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
Using cmd As New SqlCommand("SELECT * FROM Rechnungsausgang WHERE FilialeNr=@FilialeNr AND AbfertigungsNr=@AbfertigungsNr ", conn)
cmd.Parameters.AddWithValue("@FilialeNr", FilialeNr)
Using cmd As New SqlCommand("SELECT * FROM Rechnungsausgang WHERE FilialenNr=@FilialenNr AND AbfertigungsNr=@AbfertigungsNr ", conn)
cmd.Parameters.AddWithValue("@FilialenNr", FilialeNr)
cmd.Parameters.AddWithValue("@AbfertigungsNr", AbfertigungsNr)
Dim dr = cmd.ExecuteReader()
If dr.Read Then

View File

@@ -34,6 +34,7 @@ Public Class cTrdInvoice
Property Nettozahlungsziel As Object = Nothing
Property Firma_ID As Object = Nothing
Property UStVAn_ID As Object = Nothing
Property VZ As Integer
Property hasEntry As Boolean = False
@@ -89,6 +90,7 @@ Public Class cTrdInvoice
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Nettozahlungsziel", Nettozahlungsziel))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_ID", Firma_ID))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_ID", UStVAn_ID))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("VZ", VZ))
Return list
@@ -238,6 +240,7 @@ Public Class cTrdProduct
Property Belegdaten As Object = Nothing
Property Sachkonto As Object = Nothing
Property Buchungstext As Object = Nothing
Property VZBetrag As Object = Nothing
Dim SQL As New SQL
@@ -262,6 +265,7 @@ Public Class cTrdProduct
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Belegdaten", Belegdaten))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Sachkonto", Sachkonto))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Buchungstext", Buchungstext))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("VZBetrag", VZBetrag))
Return list
End Function
@@ -447,6 +451,7 @@ Class TrdInvoice_FUNCTIONS
TRD_INVOICE.SteuerfreierBetragLokal = 0
TRD_INVOICE.SteuerbetragLokal = 0
TRD_INVOICE.RechnungsbetragLokal = 0
TRD_INVOICE.RechnungsbetragLokal = 0
WährungsdifferenzSteuerpflichtigerBetrag = TRD_INVOICE.SteuerpflichtigerBetragLokal
WährungsdifferenzSteuerfreierBetrag = TRD_INVOICE.SteuerfreierBetragLokal
@@ -475,10 +480,11 @@ Class TrdInvoice_FUNCTIONS
TRD_INVOICE.Abgleich_op_debitor = 0
TRD_INVOICE.Nettozahlungsziel = ROW("RK_Nettozahlungsziel")
TRD_INVOICE.Firma_ID = ROW("RK_Firma_ID")
TRD_INVOICE.UStVAn_ID = Nothing
TRD_INVOICE.UStVAn_ID = ROW("AntragsID")
TRD_INVOICE.VZ = ROW("VZ")
If TRD_INVOICE.SAVE Then
If TrdinSchreibenProduct(TRD_INVOICE.Rechnungsdatum, ROW("RK_RechnungsNr"), TRD_INVOICE.Rechnungsnummer, RK_Währungscode, ROW("RK_RechnungsLandKz"), ROW("RK_Buchungstext"), TRD_INVOICE.Firma_ID, lngSatzzähler, WährungsdifferenzSteuerpflichtigerBetrag, WährungsdifferenzSteuerfreierBetrag, Buchungsjahr) Then
If TrdinSchreibenProduct(TRD_INVOICE.Rechnungsdatum, ROW("RK_RechnungsNr"), TRD_INVOICE.Rechnungsnummer, RK_Währungscode, ROW("RK_RechnungsLandKz"), ROW("RK_Buchungstext"), TRD_INVOICE.Firma_ID, lngSatzzähler, WährungsdifferenzSteuerpflichtigerBetrag, WährungsdifferenzSteuerfreierBetrag, Buchungsjahr, ROW("VZ")) Then
'UPDATE rechnugnsausgang
Dim firmaTmpsql = If(Firma > 0, " AND Firma_ID= '" & Firma & "' ", "")
Dim buchungsjahrTmpsql = If(Buchungsjahr > 0, " AND Buchungsjahr= '" & Buchungsjahr & "' ", "")
@@ -504,7 +510,7 @@ Class TrdInvoice_FUNCTIONS
Shared Function TrdinSchreibenProduct(RechnungsDatum, RK_RechnungsNr, TRD_RechnungsNr, RK_Währungscode, RK_RechnungsLandKz, RK_Buchungstext, RK_Firma_ID, ByRef lngSatzzähler, ByRef WährungsdifferenzSteuerpflichtigerBetrag, ByRef WährungsdifferenzSteuerfreierBetrag, Buchungsjahr) As Boolean
Shared Function TrdinSchreibenProduct(RechnungsDatum, RK_RechnungsNr, TRD_RechnungsNr, RK_Währungscode, RK_RechnungsLandKz, RK_Buchungstext, RK_Firma_ID, ByRef lngSatzzähler, ByRef WährungsdifferenzSteuerpflichtigerBetrag, ByRef WährungsdifferenzSteuerfreierBetrag, Buchungsjahr, isVZ) As Boolean
Try
Dim LOKALWÄHRUNG = "EUR"
@@ -555,6 +561,18 @@ Class TrdInvoice_FUNCTIONS
TRD_PRODUCT.Sachkonto = getSachkonto(RK_Firma_ID, ROW("RP_LeistungsNr"), RK_RechnungsLandKz, ROW("RP_Steuerpflichtig"), ROW("AufschubkontoNr"))
TRD_PRODUCT.Buchungstext = RK_Buchungstext
If isVZ > 0 Then
Select Case ROW("RP_LeistungsNr")
Case "124", "125", "126", "117", "118", "119"
TRD_PRODUCT.VZBetrag = TRD_PRODUCT.SteuerfreierBetragLokal
Case Else
TRD_PRODUCT.VZBetrag = 0
End Select
End If
TRD_PRODUCT.SAVE()
@@ -676,8 +694,8 @@ Class TrdInvoice_FUNCTIONS
Sum(RechnungsausgangPositionen.SteuerfreierBetrag) AS RK_SteuerfreierBetrag
, (Sum(RechnungsausgangPositionen.SteuerpflichtigerBetrag)*min(Rechnungsausgang.[Steuersatz %])*100)/100 AS RK_Steuerbetrag,
Sum(RechnungsausgangPositionen.SteuerpflichtigerBetrag)+Sum(RechnungsausgangPositionen.SteuerfreierBetrag)+((Sum(RechnungsausgangPositionen.SteuerpflichtigerBetrag)*min(Rechnungsausgang.[Steuersatz %])*100)/100) AS RK_Rechnungsbetrag,
Count(1) AS RK_Satzzähler
FROM Rechnungsausgang INNER JOIN RechnungsausgangPositionen ON Rechnungsausgang.RK_ID = RechnungsausgangPositionen.RK_ID
Count(1) AS RK_Satzzähler, max(CONVERT(int,isnull(tblUStVPositionen.UStVPo_VZ,0))) as VZ, MAX(isnull(tblUStVPositionen.UStVAn_ID,0)) as AntragsID
FROM Rechnungsausgang INNER JOIN RechnungsausgangPositionen ON Rechnungsausgang.RK_ID = RechnungsausgangPositionen.RK_ID LEFT JOIN tblUStVPositionen on Rechnungsausgang.RK_ID = UStVPo_VZ_RKID
WHERE (((Rechnungsausgang.RechnungsDatum) Is Not Null) AND ((Rechnungsausgang.RechnungsNr) Is Not Null) AND ((Rechnungsausgang.Trdin)=0)) " & If(Firma > 0, " and Firma_ID=" & Firma, "") & If(Buchungsjahr > 0, " and Buchungsjahr=" & Buchungsjahr, "") & "
GROUP BY Rechnungsausgang.RechnungsDatum, Rechnungsausgang.RechnungsNr
ORDER BY Rechnungsausgang.RechnungsDatum, Rechnungsausgang.RechnungsNr, min(Rechnungsausgang.Abfertigungsdatum), min(Rechnungsausgang.FilialenNr), min(Rechnungsausgang.AbfertigungsNr), min(Rechnungsausgang.UnterNr);"

View File

@@ -1,4 +1,5 @@
Imports System.Text.RegularExpressions
Imports sun.util.resources.cldr.ve
Public Class cSyska_Interface
Shared SQL As New VERAG_PROG_ALLGEMEIN.SQL
@@ -359,6 +360,9 @@ Public Class cSyska_Interface
If r("BelegartenNr") = 71 And Not ambargubuchungen Then 'GUTSCHRIFT ---> Immer am Schluss
file.WriteLine(genBuchungsZeileSum(r, SummeBuchungen, Geschaeftsjahr, FIRMA, ambargubuchungen))
End If
If r("VZ") = 1 Then
file.WriteLine(genBuchungsZeileVZ(r, SummeBuchungen, Geschaeftsjahr, FIRMA, ambargubuchungen))
End If
Next
' file.WriteLine(genBuchungenEnd(SummeBuchungen))
bool_DatenVorhanden = True
@@ -545,7 +549,7 @@ Public Class cSyska_Interface
,min(WährungFremd) as WährungFremd,min(SteuerbetragFremd) as SteuerbetragFremd,min(RechnungsbetragFremd) as RechnungsbetragFremd,min(TrdinDateiname) as TrdinDateiname,min(Abgleich_op_debitor+0) as Abgleich_op_debitor
,min(Nettozahlungsziel) as Nettozahlungsziel,min(Firma_ID) as Firma_ID,min(UStVAn_ID) as UStVAn_ID /*,Leistungsnummer,Leistungsbezeichnung,Steuerpflichtig*/,sum(PROD.SteuerpflichtigerBetragLokal) as SteuerpflichtigerBetragLokal
,sum(PROD.SteuerfreierBetragLokal) as SteuerfreierBetragLokal,sum(PROD.SteuerpflichtigerBetragFremd) as SteuerpflichtigerBetragFremd,sum(PROD.SteuerfreierBetragFremd) as SteuerfreierBetragFremd,min(Belegdaten) as Belegdaten
,min(Sachkonto) as Sachkonto,min(Buchungstext) as Buchungstext,Sum(PROD.[SteuerpflichtigerBetragLokal] + PROD.[SteuerfreierBetragLokal]) As BetragLokal, Sum(PROD.[SteuerpflichtigerBetragFremd]+PROD.[SteuerfreierBetragFremd]) As BetragFremd
,min(Sachkonto) as Sachkonto,min(Buchungstext) as Buchungstext,Sum(PROD.[SteuerpflichtigerBetragLokal] + PROD.[SteuerfreierBetragLokal]) As BetragLokal, Sum(PROD.[SteuerpflichtigerBetragFremd]+PROD.[SteuerfreierBetragFremd]) As BetragFremd, MAX(VZ) as VZ, SUM(isnull(PROD.VZBetrag,0)) as VZBetrag
FROM VERAG.dbo.tblTrdinInvoice as IVO left JOIN tblTrdinProduct as PROD on IVO.Rechnungsnummer=PROD.Rechnungsnummer and IVO.Rechnungsdatum=PROD.Rechnungsdatum
" & where & "
@@ -821,6 +825,97 @@ Public Class cSyska_Interface
End Function
Public Shared Function genBuchungsZeileVZ(row As DataRow, ByRef SummeBuchungen As Double, ByRef Geschäftsjahr As Integer, ByRef FIRMA As VERAG_PROG_ALLGEMEIN.cFirmen, ByRef curDifferenzbetrag As Double, Optional ambargubuchungen As Boolean = False) As String
Dim curSteuerbetrag As Double
Dim curNettobetrag As Double
Dim curBruttobetrag As Double
Dim FiBuBruttobetrag As String
Dim FiBuEigenbruttobetrag As Double
Dim FiBuSteuersatz As Double
Dim FiBuSteuerbetrag As String
Dim FiBuSollkontonummer As Integer
Dim FiBuHabenkontonummer As Integer
Dim FiBuWährung = "EUR"
Dim ANTRAG As New cUSTVAntrag(row("UStVAn_ID"))
Dim KUNDE_ERW As New cKundenErweitert(ANTRAG.UStVAn_KuNr)
Dim MonthStart As String = IIf(CDate(ANTRAG.UStVAn_ReDatVon).Month < 10, "0", "") & CDate(ANTRAG.UStVAn_ReDatVon).Month
Dim MonthEnd As String = IIf(CDate(ANTRAG.UStVAn_ReDatBis).Month < 10, "0", "") & CDate(ANTRAG.UStVAn_ReDatBis).Month
Select Case row("BelegartenNr")
Case 71 'Gutschrift
If Not ambargubuchungen Then
Select Case row("KundenNrZentrale")
Case "150000", "180000" : FiBuSollkontonummer = 2865
Case "140000" : FiBuSollkontonummer = 2868
Case Else
FiBuSollkontonummer = 2866
End Select
FiBuHabenkontonummer = If(row("Sachkonto") IsNot DBNull.Value, row("Sachkonto"), " ")
If row("WährungFremd") Is DBNull.Value Then
curNettobetrag = 0 - row("VZBetrag")
Else
curNettobetrag = 0 - row("VZBetrag")
End If
End If
End Select
'If CBool(row("steuerpflichtig")) Then
' curSteuerbetrag = CLng(curNettobetrag * CDbl(row("Steuersatz")) * 100) / 100
' curBruttobetrag = curNettobetrag + curSteuerbetrag
' FiBuBruttobetrag = curBruttobetrag.ToString("N2")
' curDifferenzbetrag = Math.Round(curDifferenzbetrag, 2) - Math.Round(CDbl(FiBuBruttobetrag), 2)
' FiBuSteuersatz = Format(CDbl(row("Steuersatz")) * 100, "00.00")
' ' Die folgende Zeile führt zu Buchungsfehler bei Fremdwährung,
' ' Buchungssatz.FiBuSteuerbetrag = Format(curSteuerbetrag, "########0.00")
' ' deshalb nur Steuerprozent und keinen Steuerbetrag übergeben.
' FiBuSteuerbetrag = ""
'Else
curBruttobetrag = curNettobetrag
FiBuBruttobetrag = curBruttobetrag.ToString("N2")
curDifferenzbetrag = Math.Round(curDifferenzbetrag, 2) - Math.Round(CDbl(FiBuBruttobetrag), 2)
FiBuSteuersatz = "00,00"
FiBuSteuerbetrag = ""
'End If
If row("WährungFremd") Is DBNull.Value Then
FiBuEigenbruttobetrag = CDbl(row("RechnungsbetragLokal")) 'Bruttobetrag
FiBuWährung = row("WährungLokal")
Else
FiBuWährung = row("WährungFremd")
FiBuEigenbruttobetrag = CDbl(row("RechnungsbetragFremd")) 'Bruttobetrag
End If
genBuchungsZeileVZ = "L" & vbTab
genBuchungsZeileVZ &= CDate(row("Rechnungsdatum")).ToString("dd.MM.yyyy") & vbTab
genBuchungsZeileVZ &= "VZ " & CDate(row("Rechnungsdatum")).ToString("ddMMyy") & vbTab
genBuchungsZeileVZ &= FiBuSollkontonummer & vbTab
genBuchungsZeileVZ &= FiBuHabenkontonummer & vbTab
genBuchungsZeileVZ &= ANTRAG.UStVAn_KuNr & " " & IIf(Not IsDBNull(KUNDE_ERW.kde_BezFIBU), KUNDE_ERW.kde_BezFIBU, "") & " / " & ANTRAG.UStVAn_LandKz & " " & MonthStart & "-" & MonthEnd & "/" & CDate(ANTRAG.UStVAn_ReDatBis).Year.ToString.Substring(2) & " VZ" & vbTab
genBuchungsZeileVZ &= Format(CDbl(FiBuBruttobetrag), fmt) & vbTab
genBuchungsZeileVZ &= Format(CDbl(FiBuSteuersatz), fmt) & vbTab 'FiBuSteuersatz
genBuchungsZeileVZ &= FormatStringDbl(FiBuSteuerbetrag) & vbTab 'FiBuSteuerbetrag
genBuchungsZeileVZ &= FiBuWährung & vbTab
genBuchungsZeileVZ &= Format(CDbl(FiBuBruttobetrag), fmt) & vbTab
End Function
Public Shared Function genBuchungsZeileDiffBetrag(row As DataRow, ByRef SummeBuchungen As Double, ByRef Geschäftsjahr As Integer, ByRef FIRMA As VERAG_PROG_ALLGEMEIN.cFirmen, ByRef curDifferenzbetrag As Double) As String
' Buchungssatz Steuerdifferenz