This commit is contained in:
2024-03-01 15:18:29 +01:00
47 changed files with 12318 additions and 814 deletions

View File

@@ -1988,7 +1988,30 @@ Public Class cVermerkeDAL
End Function
Shared Function insertSendungsVermerk(SendungID As Integer, AvisoID As Integer, Text As String, VermerkCodeId As Integer, Optional Beschreibung As String = "", Optional VorauskasseId As Object = Nothing, Optional addAuto As Boolean = False) As Integer
'Daten zuweisen und speichern
Dim myVermerk As New cVermerk
myVermerk.VermerkID = 0
myVermerk.AvisoID = AvisoID
myVermerk.Datum = Now
myVermerk.Mitarbeiter = cGlobal.AktiverMitarbeiter.Mitarbeiter & If(addAuto, " (AUTO)", "")
myVermerk.MitarbeiterId = cGlobal.AktiverMitarbeiter.MitarbeiterID
myVermerk.Hinweis_Vermerk = Text
myVermerk.VermerkCodeId = VermerkCodeId
'myVermerk.her = VermerkCodeId
myVermerk.SendungID = SendungID
If VorauskasseId IsNot Nothing AndAlso VorauskasseId IsNot DBNull.Value Then myVermerk.VorauskasseId = VorauskasseId
myVermerk.VermerkArt = "S"
Dim VermerkeDAL As New cVermerkeDAL
insertSendungsVermerk = VermerkeDAL.SpeichernVermerk(myVermerk)
If myVermerk.VermerkCodeId = 18 Then
VermerkeDAL.UpdateLKW(myVermerk.AvisoID, False)
End If
End Function
Public Function loadTableMyAviso(maId As Integer) As DataTable
' While True 'Endlosschleife; wird verlassen durch Return oder Application.Exit()
Try
@@ -2263,7 +2286,7 @@ Public Class cVermerkeDAL
End Sub
Public Sub toggleHervorheben(ByVal hID As Integer)
Public Shared Sub toggleHervorheben(ByVal hID As Integer)
Dim sql = String.Format("UPDATE Vermerke SET Hervorheben=Hervorheben-1 WHERE VermerkID = {0}", hID)
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
@@ -2276,6 +2299,21 @@ Public Class cVermerkeDAL
End Using
conn.Close()
End Sub
Public Shared Sub DeleteSNDVermerkCode(ByVal SendungID As Integer, VermerkeCode As Integer)
Dim sql = "DELETE Vermerke WHERE VermerkeCode = '" & VermerkeCode & "' and SendungID= '" & SendungID & "'"
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
Using cmd As New SqlCommand(sql, conn)
Try
cmd.ExecuteNonQuery()
Catch ex As SqlException
MsgBox("Hervorheben kann nicht gesetzt werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Hervorheben")
End Try
End Using
conn.Close()
End Sub
Public Function Vermerke_einlesen(hAvisoID As Integer) As String
'falls ID mitgegeben, dann diese laden, ansonsten den anderen Wert suchen

View File

@@ -265,7 +265,7 @@ Public Class MySearchBox
If srch <> "" And SQL_WhereParamList.Count > 0 Then 'erster Suchparameter
SQLstr &= " AND ( 1<>1 "
For Each s In SQL_WhereParamList
SQLstr &= " OR " & s & " LIKE '" & srch & "%' "
SQLstr &= " OR " & s & " LIKE '" & srch.Replace("*", "%") & "%' "
Next
SQLstr &= " ) "
End If
@@ -273,7 +273,7 @@ Public Class MySearchBox
If srch2 <> "" And SQL_WhereParamList.Count > 0 Then 'Wenn zweiter Suchparameter
SQLstr &= " AND ( 1<>1 "
For Each s In SQL_WhereParamList
SQLstr &= " OR " & s & " LIKE '" & srch2 & "%' "
SQLstr &= " OR " & s & " LIKE '" & srch2.Replace("*", "%") & "%' "
Next
SQLstr &= " ) "
End If

View File

@@ -787,7 +787,7 @@ Public Class SQL
Return defaultReturn
End Function
Public Function doSQL(ByVal sql As String, Optional conn_art As String = "SDL", Optional showErr As Boolean = True, Optional list As List(Of MyListItem2) = Nothing, Optional conn As SqlConnection = Nothing) As Boolean
Public Function doSQL(ByVal sql As String, Optional conn_art As String = "SDL", Optional showErr As Boolean = True, Optional list As List(Of MyListItem2) = Nothing, Optional conn As SqlConnection = Nothing, Optional timeout As Integer = 0) As Boolean
If conn Is Nothing Then
conn = New SqlConnection
@@ -812,9 +812,11 @@ Public Class SQL
conn.Open()
End Select
End If
Try
' MsgBox(sql)
Using cmd As New SqlCommand(sql, conn)
If timeout > 0 Then cmd.CommandTimeout = timeout
If list IsNot Nothing Then
For Each i In list
'MsgBox(i.Text.trim & " " & IIf(i.Value Is Nothing, DBNull.Value, i.Value))

View File

@@ -0,0 +1,128 @@

Imports System.Data.SqlClient
Imports System.Reflection
Public Class cAvisoStatusMails
Property asm_AvisoId As Integer
Property asm_KdNr As Integer
Property asm_StatuscodeSent As Integer
Property asm_datetime As Date = Now
Public hasEntry = False
Dim SQL As New SQL
Sub New(asm_AvisoId, asm_KdNr, asm_StatuscodeSent)
Me.asm_AvisoId = asm_AvisoId
Me.asm_KdNr = asm_KdNr
Me.asm_StatuscodeSent = asm_StatuscodeSent
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("asm_AvisoId", asm_AvisoId))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("asm_KdNr", asm_KdNr))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("asm_StatuscodeSent", asm_StatuscodeSent))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("asm_datetime", asm_datetime))
Return list
End Function
Public Shared Function INSERT_INTO(asm_AvisoId, asm_KdNr, asm_StatuscodeSent) As Boolean
Dim AST As New cAvisoStatusMails(asm_AvisoId, asm_KdNr, asm_StatuscodeSent)
AST.asm_AvisoId = asm_AvisoId
AST.asm_KdNr = asm_KdNr
AST.asm_StatuscodeSent = asm_StatuscodeSent
Return AST.SAVE()
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 tblAvisoStatusMails WHERE asm_AvisoId=@asm_AvisoId and asm_KdNr=@asm_KdNr and asm_StatuscodeSent=@asm_StatuscodeSent) " &
" BEGIN " & getUpdateCmd() & " END " &
" Else " &
" BEGIN " & getInsertCmd() & " END " &
" commit tran "
Return SQL.doSQLVarList(sqlstr, "AVISO", , list)
End Function
Public Sub LOAD()
Try
hasEntry = False
Using conn As SqlConnection = SQL.GetNewOpenConnectionAVISO()
Using cmd As New SqlCommand("SELECT * FROM tblAvisoStatusMails WHERE asm_AvisoId=@asm_AvisoId and asm_KdNr=@asm_KdNr and asm_StatuscodeSent=@asm_StatuscodeSent ", conn)
cmd.Parameters.AddWithValue("@asm_AvisoId", asm_AvisoId)
cmd.Parameters.AddWithValue("@asm_KdNr", asm_KdNr)
cmd.Parameters.AddWithValue("@asm_StatuscodeSent", asm_StatuscodeSent)
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 [tblAvisoStatusMails] SET " & str & " WHERE asm_AvisoId=@asm_AvisoId and asm_KdNr=@asm_KdNr and asm_StatuscodeSent=@asm_StatuscodeSent ")
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 tblAvisoStatusMails (" & 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

@@ -62,7 +62,7 @@ Public Class cKundenErweitert
Property Veranlagungskunde As Boolean = False
Property Anmerkungen_Warnhinweis As Object = Nothing
Property kde_VERAG_INTERFACE_ID As Object = Nothing
Property kde_BesonderheitenNeu As Boolean = False
Property kde_BesonderheitenNeu As Boolean = True
Property kde_InfoAuftragsNr As Object = Nothing
Property kde_KundeFremdspedition As Boolean = False
Property kde_verzolltBei As Object = Nothing
@@ -76,6 +76,7 @@ Public Class cKundenErweitert
Property kde_Abrechnung_SendungsdatenAusSTB As Boolean = False
Property kde_EORIgeprueftAm As Object = Nothing
Property kde_AdressZusatz As Object = Nothing
Property kde_abweichendesZZVL As Object = Nothing
Dim SQL As New SQL
@@ -153,6 +154,7 @@ Public Class cKundenErweitert
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_UIDMehrfachverwendung", kde_UIDMehrfachverwendung))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_EORIgeprueftAm", kde_EORIgeprueftAm))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_AdressZusatz", kde_AdressZusatz))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_abweichendesZZVL", kde_abweichendesZZVL))
Return list
End Function

View File

@@ -14,8 +14,8 @@ Public Class cOrigianlATR
Property atr_empfaengerkdnr As Integer = -1
Property atr_absenderkdnr As Integer = -1
Property atr_austellungsdatum As Object = Nothing
Property atr_AvisoId As Object = Nothing
Property atr_SendungsId As Object = Nothing
Property atr_AvisoId As Integer = -1
Property atr_SendungsId As Integer = -1
Property atr_LKW As Object = Nothing
Property atr_dsId As Object = Nothing
Property atr_DHL_ReferenzNr As Object = Nothing

View File

@@ -614,8 +614,9 @@ Class TrdInvoice_FUNCTIONS
Count(1) AS RK_Satzzähler
FROM Rechnungsausgang INNER JOIN RechnungsausgangPositionen ON Rechnungsausgang.RK_ID = RechnungsausgangPositionen.RK_ID
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
GROUP BY Rechnungsausgang.RechnungsDatum, Rechnungsausgang.RechnungsNr
ORDER BY Rechnungsausgang.RechnungsDatum, Rechnungsausgang.RechnungsNr, min(Rechnungsausgang.Abfertigungsdatum), min(Rechnungsausgang.FilialenNr), min(Rechnungsausgang.AbfertigungsNr), min(Rechnungsausgang.UnterNr);"
'" & If(Firma = 4, " and Rechnungsausgang.RechnungsNr='23800029'", "") & "
End Function

View File

@@ -9,7 +9,6 @@ Public Class cUeberstunden
Property uest_timasId As Object = Nothing
Property uest_100 As Object = Nothing
Property uest_50 As Object = Nothing
Property uest_25 As Object = Nothing
Property uest_0 As Object = Nothing
Property uest_date As Date = Nothing
Property uest_created As Object = Nothing
@@ -23,7 +22,7 @@ Public Class cUeberstunden
Public hasEntry = False
Dim SQL As New SQL
Dim SQL As New SQL
@@ -40,13 +39,12 @@ Public Class cUeberstunden
End Sub
Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uest_id", uest_id,, True, True))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uest_maId", uest_maId))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uest_timasId", uest_timasId))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uest_100", uest_100))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uest_50", uest_50))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uest_25", uest_25))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uest_0", uest_0))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uest_date", uest_date))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uest_created", uest_created))
@@ -59,12 +57,12 @@ Public Class cUeberstunden
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uest_paidout_sum", uest_paidout_sum))
Return list
End Function
End Function
Public Function SAVE() As Boolean
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
Public Function SAVE() As Boolean
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblUeberstunden WHERE uest_maId=@uest_maId AND uest_date=@uest_date AND uest_deleted = 0) " &
" BEGIN " & getUpdateCmd() & " END " &
@@ -75,9 +73,9 @@ Public Class cUeberstunden
Return SQL.doSQLVarList(sqlstr, "ADMIN", , list)
End Function
Public Sub LOAD()
Try
hasEntry = False
Public Sub LOAD()
Try
hasEntry = False
Using conn As SqlConnection = SQL.GetNewOpenConnectionADMIN()
Using cmd As New SqlCommand("SELECT TOP(1) * FROM tblUeberstunden WHERE uest_maId=@uest_maId AND uest_date=@uest_date AND uest_deleted = 0 order by uest_created desc", conn)
cmd.Parameters.AddWithValue("@uest_maId", uest_maId)
@@ -100,31 +98,31 @@ Public Class cUeberstunden
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
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
End Try
End Sub
Public Function getUpdateCmd() As String
Try
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. ','
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 [tblUeberstunden] SET " & str & " WHERE uest_maId=@uest_maId AND uest_date=@uest_date AND uest_deleted = 0 ")
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
End Try
Return ""
End Function
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
End Try
Return ""
End Function
Public Function getInsertCmd() As String

View File

@@ -24,7 +24,6 @@ Partial Class frmMessenger
'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container()
Dim DataGridViewCellStyle1 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
Dim DataGridViewCellStyle2 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
Dim DataGridViewCellStyle3 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
@@ -39,11 +38,11 @@ Partial Class frmMessenger
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmMessenger))
Me.SplitContainer = New System.Windows.Forms.SplitContainer()
Me.SplitContainer2 = New System.Windows.Forms.SplitContainer()
Me.dgvChats = New VERAG_PROG_ALLGEMEIN.MyDatagridview(Me.components)
Me.dgvChats = New VERAG_PROG_ALLGEMEIN.MyDatagridview()
Me.Panel6 = New System.Windows.Forms.Panel()
Me.lblLKWChat_MsgCntInaktiv = New System.Windows.Forms.Label()
Me.cbxInaktiveChats = New System.Windows.Forms.CheckBox()
Me.DGVSonstige = New VERAG_PROG_ALLGEMEIN.MyDatagridview(Me.components)
Me.DGVSonstige = New VERAG_PROG_ALLGEMEIN.MyDatagridview()
Me.Panel5 = New System.Windows.Forms.Panel()
Me.MyTextBox2 = New VERAG_PROG_ALLGEMEIN.MyTextBox()
Me.PictureBox2 = New System.Windows.Forms.PictureBox()
@@ -64,7 +63,7 @@ Partial Class frmMessenger
Me.btnNeu = New System.Windows.Forms.Button()
Me.Button1 = New System.Windows.Forms.Button()
Me.SplitContainer1 = New System.Windows.Forms.SplitContainer()
Me.MyFlowLayoutPanel1 = New VERAG_PROG_ALLGEMEIN.MyFlowLayoutPanel(Me.components)
Me.MyFlowLayoutPanel1 = New VERAG_PROG_ALLGEMEIN.MyFlowLayoutPanel()
Me.UsrCntlMessenger_ChatElement1 = New VERAG_PROG_ALLGEMEIN.usrCntlMessenger_ChatElement()
Me.Panel3 = New System.Windows.Forms.Panel()
Me.btnTeilnehmer = New System.Windows.Forms.Button()
@@ -92,9 +91,9 @@ Partial Class frmMessenger
Me.btnSendAtt = New System.Windows.Forms.Button()
Me.btnSenden = New System.Windows.Forms.Button()
Me.rtbChatMessage = New System.Windows.Forms.RichTextBox()
Me.TimerNEW_MESSAGE = New System.Windows.Forms.Timer(Me.components)
Me.Timer_REFRESH = New System.Windows.Forms.Timer(Me.components)
Me.cntxt = New System.Windows.Forms.ContextMenuStrip(Me.components)
Me.TimerNEW_MESSAGE = New System.Windows.Forms.Timer()
Me.Timer_REFRESH = New System.Windows.Forms.Timer()
Me.cntxt = New System.Windows.Forms.ContextMenuStrip()
Me.ChatDeaktivierenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.toolChatReminder = New System.Windows.Forms.ToolStripMenuItem()
Me.DataGridViewTextBoxColumn1 = New System.Windows.Forms.DataGridViewTextBoxColumn()

View File

@@ -810,6 +810,7 @@ Public Class frmMessenger
Try
If Not VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_ChatBenutzer Then Return False
Dim Dt_New As DataTable = SQL.loadDgvBySql("SELECT [chat_id],CASE WHEN chat_name<>'' THEN chat_name ELSE (SELECT TOP 1 mit_vname + ' ' + mit_nname FROM tblMessenger_ChatMembers INNER JOIN tblMitarbeiter ON mit_id=chatMb_maId where chatMb_chatId=chat_id AND chatMb_maId <>" & VERAG_PROG_ALLGEMEIN.cAllgemein.USRID & ") END as chat_name
,(SELECT REPLACE(COUNT(*),'0','') FROM tblMessenger_ChatMessages INNER JOIN tblMessenger_ChatMessageStatus ON chatMgSt_chatMsgId=chatMg_id WHERE [chat_id]=chatMg_chatId AND chatMgSt_MaId=" & VERAG_PROG_ALLGEMEIN.cAllgemein.USRID & " AND chatMgSt_gelesen=0) as ungelesen
FROM [tblMessenger_Chat] WHERE (SELECT COUNT(*) FROM tblMessenger_ChatMembers WHERE chatMB_chatId=chat_id AND chatMB_maId=" & VERAG_PROG_ALLGEMEIN.cAllgemein.USRID & ")>0

View File

@@ -48,7 +48,7 @@ Partial Class frmUeberstundenauszahlen
Me.txtberAusz100 = New System.Windows.Forms.TextBox()
Me.Label1 = New System.Windows.Forms.Label()
Me.txtlfdSaldo = New System.Windows.Forms.TextBox()
Me.lbllfdSaldo = New System.Windows.Forms.Label()
Me.Label6 = New System.Windows.Forms.Label()
Me.picDel = New System.Windows.Forms.PictureBox()
Me.txtAusz50vonSaldo = New System.Windows.Forms.TextBox()
Me.Panel1 = New System.Windows.Forms.Panel()
@@ -92,7 +92,7 @@ Partial Class frmUeberstundenauszahlen
'Label2
'
Me.Label2.AutoSize = True
Me.Label2.Location = New System.Drawing.Point(33, 11)
Me.Label2.Location = New System.Drawing.Point(13, 11)
Me.Label2.Name = "Label2"
Me.Label2.Size = New System.Drawing.Size(196, 13)
Me.Label2.TabIndex = 2
@@ -101,7 +101,7 @@ Partial Class frmUeberstundenauszahlen
'Label3
'
Me.Label3.AutoSize = True
Me.Label3.Location = New System.Drawing.Point(32, 131)
Me.Label3.Location = New System.Drawing.Point(12, 131)
Me.Label3.Name = "Label3"
Me.Label3.Size = New System.Drawing.Size(138, 13)
Me.Label3.TabIndex = 3
@@ -110,7 +110,7 @@ Partial Class frmUeberstundenauszahlen
'Label4
'
Me.Label4.AutoSize = True
Me.Label4.Location = New System.Drawing.Point(33, 53)
Me.Label4.Location = New System.Drawing.Point(13, 53)
Me.Label4.Name = "Label4"
Me.Label4.Size = New System.Drawing.Size(113, 13)
Me.Label4.TabIndex = 4
@@ -118,7 +118,7 @@ Partial Class frmUeberstundenauszahlen
'
'txt100
'
Me.txt100.Location = New System.Drawing.Point(36, 27)
Me.txt100.Location = New System.Drawing.Point(16, 27)
Me.txt100.Name = "txt100"
Me.txt100.ReadOnly = True
Me.txt100.Size = New System.Drawing.Size(47, 20)
@@ -127,7 +127,7 @@ Partial Class frmUeberstundenauszahlen
'
'txt50
'
Me.txt50.Location = New System.Drawing.Point(36, 69)
Me.txt50.Location = New System.Drawing.Point(16, 69)
Me.txt50.Name = "txt50"
Me.txt50.ReadOnly = True
Me.txt50.Size = New System.Drawing.Size(47, 20)
@@ -136,7 +136,7 @@ Partial Class frmUeberstundenauszahlen
'
'txtMehr
'
Me.txtMehr.Location = New System.Drawing.Point(35, 147)
Me.txtMehr.Location = New System.Drawing.Point(15, 147)
Me.txtMehr.Name = "txtMehr"
Me.txtMehr.ReadOnly = True
Me.txtMehr.Size = New System.Drawing.Size(47, 20)
@@ -145,7 +145,7 @@ Partial Class frmUeberstundenauszahlen
'
'txtAusz
'
Me.txtAusz.Location = New System.Drawing.Point(212, 196)
Me.txtAusz.Location = New System.Drawing.Point(192, 196)
Me.txtAusz.Name = "txtAusz"
Me.txtAusz.Size = New System.Drawing.Size(54, 20)
Me.txtAusz.TabIndex = 9
@@ -154,7 +154,7 @@ Partial Class frmUeberstundenauszahlen
'lblMA
'
Me.lblMA.AutoSize = True
Me.lblMA.Location = New System.Drawing.Point(236, 25)
Me.lblMA.Location = New System.Drawing.Point(238, 6)
Me.lblMA.Name = "lblMA"
Me.lblMA.Size = New System.Drawing.Size(56, 13)
Me.lblMA.TabIndex = 10
@@ -163,7 +163,7 @@ Partial Class frmUeberstundenauszahlen
'Label7
'
Me.Label7.AutoSize = True
Me.Label7.Location = New System.Drawing.Point(236, 45)
Me.Label7.Location = New System.Drawing.Point(238, 26)
Me.Label7.Name = "Label7"
Me.Label7.Size = New System.Drawing.Size(65, 13)
Me.Label7.TabIndex = 11
@@ -181,7 +181,7 @@ Partial Class frmUeberstundenauszahlen
'
'txt100x2
'
Me.txt100x2.Location = New System.Drawing.Point(132, 27)
Me.txt100x2.Location = New System.Drawing.Point(112, 27)
Me.txt100x2.Name = "txt100x2"
Me.txt100x2.ReadOnly = True
Me.txt100x2.Size = New System.Drawing.Size(49, 20)
@@ -190,7 +190,7 @@ Partial Class frmUeberstundenauszahlen
'
'txt50x15
'
Me.txt50x15.Location = New System.Drawing.Point(132, 69)
Me.txt50x15.Location = New System.Drawing.Point(112, 69)
Me.txt50x15.Name = "txt50x15"
Me.txt50x15.ReadOnly = True
Me.txt50x15.Size = New System.Drawing.Size(49, 20)
@@ -199,7 +199,7 @@ Partial Class frmUeberstundenauszahlen
'
'txtAusz100
'
Me.txtAusz100.Location = New System.Drawing.Point(217, 27)
Me.txtAusz100.Location = New System.Drawing.Point(197, 27)
Me.txtAusz100.Name = "txtAusz100"
Me.txtAusz100.ReadOnly = True
Me.txtAusz100.Size = New System.Drawing.Size(54, 20)
@@ -208,7 +208,7 @@ Partial Class frmUeberstundenauszahlen
'
'txtAusz50
'
Me.txtAusz50.Location = New System.Drawing.Point(217, 69)
Me.txtAusz50.Location = New System.Drawing.Point(197, 69)
Me.txtAusz50.Name = "txtAusz50"
Me.txtAusz50.ReadOnly = True
Me.txtAusz50.Size = New System.Drawing.Size(54, 20)
@@ -253,7 +253,7 @@ Partial Class frmUeberstundenauszahlen
'
'txtSummeAuszb
'
Me.txtSummeAuszb.Location = New System.Drawing.Point(130, 196)
Me.txtSummeAuszb.Location = New System.Drawing.Point(110, 196)
Me.txtSummeAuszb.Name = "txtSummeAuszb"
Me.txtSummeAuszb.ReadOnly = True
Me.txtSummeAuszb.Size = New System.Drawing.Size(49, 20)
@@ -289,21 +289,21 @@ Partial Class frmUeberstundenauszahlen
'
'txtlfdSaldo
'
Me.txtlfdSaldo.Location = New System.Drawing.Point(36, 108)
Me.txtlfdSaldo.Location = New System.Drawing.Point(17, 108)
Me.txtlfdSaldo.Name = "txtlfdSaldo"
Me.txtlfdSaldo.ReadOnly = True
Me.txtlfdSaldo.Size = New System.Drawing.Size(49, 20)
Me.txtlfdSaldo.TabIndex = 26
Me.txtlfdSaldo.Text = "0"
'
'lbllfdSaldo
'Label6
'
Me.lbllfdSaldo.AutoSize = True
Me.lbllfdSaldo.Location = New System.Drawing.Point(33, 92)
Me.lbllfdSaldo.Name = "lbllfdSaldo"
Me.lbllfdSaldo.Size = New System.Drawing.Size(48, 13)
Me.lbllfdSaldo.TabIndex = 27
Me.lbllfdSaldo.Text = "lfd Saldo"
Me.Label6.AutoSize = True
Me.Label6.Location = New System.Drawing.Point(18, 92)
Me.Label6.Name = "Label6"
Me.Label6.Size = New System.Drawing.Size(48, 13)
Me.Label6.TabIndex = 27
Me.Label6.Text = "lfd Saldo"
'
'picDel
'
@@ -317,7 +317,7 @@ Partial Class frmUeberstundenauszahlen
'
'txtAusz50vonSaldo
'
Me.txtAusz50vonSaldo.Location = New System.Drawing.Point(217, 108)
Me.txtAusz50vonSaldo.Location = New System.Drawing.Point(197, 108)
Me.txtAusz50vonSaldo.Name = "txtAusz50vonSaldo"
Me.txtAusz50vonSaldo.ReadOnly = True
Me.txtAusz50vonSaldo.Size = New System.Drawing.Size(49, 20)
@@ -341,7 +341,7 @@ Partial Class frmUeberstundenauszahlen
Me.Panel1.Controls.Add(Me.Label3)
Me.Panel1.Controls.Add(Me.picDel)
Me.Panel1.Controls.Add(Me.Label4)
Me.Panel1.Controls.Add(Me.lbllfdSaldo)
Me.Panel1.Controls.Add(Me.Label6)
Me.Panel1.Controls.Add(Me.txt100)
Me.Panel1.Controls.Add(Me.txtlfdSaldo)
Me.Panel1.Controls.Add(Me.txt50)
@@ -422,7 +422,7 @@ Partial Class frmUeberstundenauszahlen
'Label8
'
Me.Label8.AutoSize = True
Me.Label8.Location = New System.Drawing.Point(214, 179)
Me.Label8.Location = New System.Drawing.Point(194, 179)
Me.Label8.Name = "Label8"
Me.Label8.Size = New System.Drawing.Size(56, 13)
Me.Label8.TabIndex = 33
@@ -430,7 +430,7 @@ Partial Class frmUeberstundenauszahlen
'
'txt50x1
'
Me.txt50x1.Location = New System.Drawing.Point(132, 108)
Me.txt50x1.Location = New System.Drawing.Point(112, 108)
Me.txt50x1.Name = "txt50x1"
Me.txt50x1.ReadOnly = True
Me.txt50x1.Size = New System.Drawing.Size(49, 20)
@@ -461,15 +461,17 @@ Partial Class frmUeberstundenauszahlen
Me.dgvUeberstunden.TabIndex = 13
Me.dgvUeberstunden.Visible = False
'
'PictureBox1
'cbxoverwrite
'
Me.PictureBox1.BackgroundImage = CType(resources.GetObject("PictureBox1.BackgroundImage"), System.Drawing.Image)
Me.PictureBox1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
Me.PictureBox1.Location = New System.Drawing.Point(422, 12)
Me.PictureBox1.Name = "PictureBox1"
Me.PictureBox1.Size = New System.Drawing.Size(29, 26)
Me.PictureBox1.TabIndex = 38
Me.PictureBox1.TabStop = False
Me.cbxoverwrite.AutoSize = True
Me.cbxoverwrite.Checked = True
Me.cbxoverwrite.CheckState = System.Windows.Forms.CheckState.Checked
Me.cbxoverwrite.Location = New System.Drawing.Point(59, 179)
Me.cbxoverwrite.Name = "cbxoverwrite"
Me.cbxoverwrite.Size = New System.Drawing.Size(102, 17)
Me.cbxoverwrite.TabIndex = 31
Me.cbxoverwrite.Text = "max. auszahlbar"
Me.cbxoverwrite.UseVisualStyleBackColor = True
'
'picShow
'
@@ -537,7 +539,7 @@ Partial Class frmUeberstundenauszahlen
Friend WithEvents txtberAusz100 As Windows.Forms.TextBox
Friend WithEvents Label1 As Windows.Forms.Label
Friend WithEvents txtlfdSaldo As Windows.Forms.TextBox
Friend WithEvents lbllfdSaldo As Windows.Forms.Label
Friend WithEvents Label6 As Windows.Forms.Label
Friend WithEvents picDel As Windows.Forms.PictureBox
Friend WithEvents txtAusz50vonSaldo As Windows.Forms.TextBox
Friend WithEvents Panel1 As Windows.Forms.Panel

View File

@@ -5,7 +5,6 @@ Imports System.Threading
Imports System.Windows.Forms
Imports System.Windows.Forms.VisualStyles.VisualStyleElement.ToolTip
Public Class frmUeberstundenauszahlen
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
@@ -18,9 +17,7 @@ Public Class frmUeberstundenauszahlen
Dim tag As cFeiertage
Dim auszahlugsdatum As New Date
Dim maxUberstundenpruefung As Boolean = True
Dim istTeilzeit As Boolean = False
Dim faktorTeilzeit As Double = 100
Dim stunden100ausz, stunden50ausz, stunden100auszbere, stunden50auszbere, stunden100bereitsausbezahl, stunden50bereitsausbezahlt, stunden25bereitsausbezahlt, mehrabeit, stundenlfdSaldo, stundenlfdSaldobere, overwrittenSum As Double
Dim stunden100ausz, stunden50ausz, stunden100auszbere, stunden50auszbere, stunden100bereitsausbezahl, stunden50bereitsausbezahlt, mehrabeit, stundenlfdSaldo, stundenlfdSaldobere As Double
Sub New(mit_id)
@@ -98,11 +95,6 @@ Public Class frmUeberstundenauszahlen
End Sub
Private Sub cbxTeilzeit_CheckedChanged(sender As Object, e As EventArgs) Handles cbxTeilzeit.CheckedChanged
istTeilzeit = cbxTeilzeit.Checked
changeTeilzeit()
End Sub
Private Sub getUeberstunden(abwDatum As Boolean)
Dim startdate, enddate As Date
@@ -145,7 +137,7 @@ Public Class frmUeberstundenauszahlen
End Sub
Private Function getUeberstunden(dtAccouts As DataTable, dtSumUeberstunden As DataTable) As DataTable
Private Function calcUeberstunden(dtAccouts As DataTable, dtSumUeberstunden As DataTable) As DataTable
Dim dtmerged As DataTable
If dtAccouts IsNot Nothing AndAlso dtSumUeberstunden IsNot Nothing Then
@@ -293,13 +285,9 @@ Public Class frmUeberstundenauszahlen
End If
Next
'alle zurücksetzen, falls im neuen Monat dieser Wert nicht mitgegeben wird!
stunden50ausz = 0
stunden100ausz = 0
mehrabeit = 0
stunden50bereitsausbezahlt = 0
stunden100bereitsausbezahl = 0
stunden25bereitsausbezahlt = 0
If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then
Dim calc As Double = 0
@@ -342,15 +330,6 @@ Public Class frmUeberstundenauszahlen
stunden50bereitsausbezahlt = calc
End If
If r.Item("accountid") = "1553" Then
txtberAusz25.Visible = True
calc = CDbl(txtberAusz25.Text)
calc += r.Item("value") * (r.Item("multiplier") & "1")
txtberAusz25.Text = calc
stunden25bereitsausbezahlt = calc
cbxTeilzeit.Checked = True
End If
'Berechnung von lfd Saldo im Zeitraum -> deaktiviert, es soll immer der aktuelle Saldo gezogen werden, egal in welchem Monat ich bin (22.02.2024)
'If r.Item("accountid") = "65" Then
' calc = CDbl(txtlfdSaldo.Text)
@@ -361,7 +340,7 @@ Public Class frmUeberstundenauszahlen
End If
Next
If (stunden100bereitsausbezahl + stunden50bereitsausbezahlt + stunden25bereitsausbezahlt) > 0 Then
If (stunden100bereitsausbezahl + stunden50bereitsausbezahlt) > 0 Then
picDel.Visible = True
Button1.Enabled = False
txtAusz.Enabled = False
@@ -390,13 +369,75 @@ Public Class frmUeberstundenauszahlen
calxMaxauszahlbar()
End If
End If
End Sub
Private Sub txtAusz_TextChanged(sender As Object, e As EventArgs) Handles txtAusz.TextChanged
calcUeberstunden()
If txtAusz.Text <> "" AndAlso IsNumeric(txtAusz.Text) Then
Dim summeAusz = CDbl(txtAusz.Text)
If summeAusz <= 0 Then
txtAusz50vonSaldo.Text = "0"
txtAusz50.Text = "0"
txtAusz100.Text = "0"
txtAusz.Text = "0"
Button1.Enabled = False
Exit Sub
End If
txt100x2.Text = stunden100auszbere
txt50x15.Text = stunden50auszbere
txt50x1.Text = stundenlfdSaldobere
If stundenlfdSaldo >= summeAusz Then 'Prüfung, damit nicht zuviele ÜS ausbezahlt werden können!
Button1.Enabled = True
Else
If maxUberstundenpruefung Then
Button1.Enabled = False
Else
Button1.Enabled = True
End If
End If
If summeAusz >= stunden100auszbere Then
txtAusz100.Text = stunden100auszbere
Else
txtAusz100.Text = summeAusz
End If
summeAusz = Math.Round(summeAusz - stunden100auszbere, 2)
If summeAusz >= stunden50auszbere Then
txtAusz50.Text = stunden50auszbere
summeAusz = Math.Round(summeAusz - stunden50auszbere, 2)
ElseIf summeAusz < 0 Then
txtAusz50.Text = "0"
Else
txtAusz50.Text = summeAusz
summeAusz = Math.Round(summeAusz - stunden50auszbere, 2)
End If
If summeAusz >= stundenlfdSaldo Then
txtAusz50vonSaldo.Text = stundenlfdSaldo
summeAusz = Math.Round(summeAusz - stundenlfdSaldo, 2)
ElseIf summeAusz < 0 Then
txtAusz50vonSaldo.Text = "0"
Else
txtAusz50vonSaldo.Text = summeAusz
summeAusz = Math.Round(summeAusz - stundenlfdSaldo, 2)
End If
End If
End Sub
@@ -420,19 +461,12 @@ Public Class frmUeberstundenauszahlen
Dim sum100, sum50, sum0, gesamt As Double
sum100 = RoundOfDigits(CDbl(txtAusz100.Text) * 100 / 200, 2) 'Übergabe in ZE-System als heruntergerechnete 100%ige bzw. 50%ige ÜS!
sum100 = RoundOfDigits(CDbl(txtAusz100.Text) * 0.5, 2) 'Übergabe in ZE-System als heruntergerechnete 100%ige bzw. 50%ige ÜS!
sum50 = RoundOfDigits(CDbl(txtAusz50.Text) * 100 / 150, 2)
sum0 = RoundOfDigits(CDbl(txtAusz50vonSaldo.Text) * 100 / faktorTeilzeit, 2)
gesamt = IIf(overwrittenSum > 0, overwrittenSum, CDbl(txtAusz.Text))
sum0 = CDbl(txtAusz50vonSaldo.Text)
gesamt = CDbl(txtAusz.Text)
Dim txtAusgabe As New StringBuilder
txtAusgabe.Append("Überstunden für " & MA.mit_vname & " " & MA.mit_nname & " mit " & auszahlugsdatum.ToShortDateString() & " auszahlen?" & vbNewLine)
txtAusgabe.Append(sum100 & "x 100% ÜS :" & txtAusz100.Text & vbNewLine)
txtAusgabe.Append(IIf(Not istTeilzeit, sum50 + sum0, sum50) & "x 50% ÜS: " & CDbl(txtAusz50.Text) + IIf(Not istTeilzeit, CDbl(txtAusz50vonSaldo.Text), 0) & vbNewLine)
If istTeilzeit Then txtAusgabe.Append(sum0 & "x 25% ÜS: " & CDbl(txtAusz50vonSaldo.Text) & vbNewLine)
txtAusgabe.Append("ÜS gesamt: " & gesamt)
Dim aksAuszahlung As MsgBoxResult = MsgBox(txtAusgabe.ToString, vbYesNo)
Dim aksAuszahlung As MsgBoxResult = MsgBox("Überstunden für " & MA.mit_vname & " " & MA.mit_nname & " mit " & auszahlugsdatum.ToShortDateString() & " auszahlen?" & vbNewLine & sum100 & "x 100% ÜS :" & txtAusz100.Text & vbNewLine & sum50 & "x 50% ÜS: " & CDbl(txtAusz50.Text) + CDbl(txtAusz50vonSaldo.Text) & vbNewLine & "ÜS gesamt: " & gesamt, vbYesNo)
If aksAuszahlung = vbYes Then
Dim dtsetEntries As New DataTable
@@ -440,28 +474,28 @@ Public Class frmUeberstundenauszahlen
dtsetEntries.Columns.Add("accountid", GetType(Integer))
dtsetEntries.Columns.Add("value", GetType(String))
If sum100 > 0 Then
If sum100 >= 0 Then
Dim row = dtsetEntries.NewRow
row.Item("accountid") = 1550
row.Item("value") = sum100.ToString.Replace(",", ".")
dtsetEntries.Rows.InsertAt(row, dtsetEntries.Rows.Count)
End If
If sum50 > 0 Then
If sum50 >= 0 Then
Dim row = dtsetEntries.NewRow
row.Item("accountid") = 1551
row.Item("value") = sum50.ToString.Replace(",", ".")
dtsetEntries.Rows.InsertAt(row, dtsetEntries.Rows.Count)
End If
If sum0 > 0 Then
If sum0 >= 0 Then
Dim row = dtsetEntries.NewRow
row.Item("accountid") = IIf(istTeilzeit, 1553, 1551)
row.Item("accountid") = 1551
row.Item("value") = sum0.ToString.Replace(",", ".")
dtsetEntries.Rows.InsertAt(row, dtsetEntries.Rows.Count)
End If
If gesamt > 0 Then 'vom ldf Saldo, ev. über API Möglich monatliche Korrektur direkt zu befüllen, dann muss dieser If Zweig überarbeitet werden!!!!!!!!!!!!!!
If gesamt >= 0 Then 'vom ldf Saldo, ev. über API Möglich monatliche Korrektur direkt zu befüllen, dann muss dieser If Zweig überarbeitet werden!!!!!!!!!!!!!!
Dim row = dtsetEntries.NewRow
row.Item("accountid") = 993
row.Item("value") = gesamt.ToString.Replace(",", ".")
@@ -472,7 +506,7 @@ Public Class frmUeberstundenauszahlen
ues.uest_timasId = MA.mit_timasId
ues.uest_100 = sum100
ues.uest_50 = sum50
ues.uest_overwriteValue = IIf(cbx100.Checked Or cbx50.Checked Or cx25.Checked, True, False)
ues.uest_0 = sum0
ues.uest_systemuser = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME
ues.uest_ignoreLimit = Not maxUberstundenpruefung
ues.uest_maxUE = CDbl(txtSummeAuszb.Text)
@@ -498,17 +532,7 @@ Public Class frmUeberstundenauszahlen
End Sub
Private Sub picDel_Click(sender As Object, e As EventArgs) Handles picDel.Click
Dim txtAusgabe As New StringBuilder
txtAusgabe.Append("Ausbezahlte Überstunden für " & MA.mit_vname & " " & MA.mit_nname & " mit " & auszahlugsdatum.ToShortDateString() & " zurücksetzen?" & vbNewLine)
txtAusgabe.Append("100% ÜS: " & txtberAusz100.Text & vbNewLine)
txtAusgabe.Append("50% ÜS: " & txtberAusz50.Text + IIf(Not istTeilzeit, CDbl(txtberAusz25.Text), 0) & vbNewLine)
If istTeilzeit Then txtAusgabe.Append("25% ÜS: " & CDbl(txtberAusz25.Text) & vbNewLine)
txtAusgabe.Append("ÜS gesamt: " & CDbl(txtberAusz100.Text) + CDbl(txtberAusz50.Text) + CDbl(txtberAusz25.Text))
Dim aksAuszahlung As MsgBoxResult = MsgBox(txtAusgabe.ToString, vbYesNo)
Dim aksAuszahlung As MsgBoxResult = MsgBox("Ausbezahlte Überstunden für " & MA.mit_vname & " " & MA.mit_nname & " mit " & auszahlugsdatum.ToShortDateString() & " zurücksetzen?" & vbNewLine & "100% ÜS: " & txtberAusz100.Text & vbNewLine & "50% ÜS: " & txtberAusz50.Text & vbNewLine & "ÜS gesamt: " & CDbl(txtberAusz100.Text) + CDbl(txtberAusz50.Text), vbYesNo)
If aksAuszahlung = vbYes Then
Dim dtdeleteEntries As New DataTable
@@ -531,18 +555,12 @@ Public Class frmUeberstundenauszahlen
dtdeleteEntries.Rows.InsertAt(row, dtdeleteEntries.Rows.Count)
End If
If txtberAusz25.Text <> "" AndAlso IsNumeric(txtberAusz25.Text) Then
Dim row = dtdeleteEntries.NewRow
row.Item("accountid") = 1553
dtdeleteEntries.Rows.InsertAt(row, dtdeleteEntries.Rows.Count)
End If
If timas.deleteTimeAccounts(auszahlugsdatum, auszahlugsdatum, MA.mit_timasId, dtdeleteEntries) Then
Dim ues As New cUeberstunden(MA.mit_id, auszahlugsdatum.ToString("dd/MM/yyyy"))
ues.uest_deleted = True
ues.uest_lastChanged = Now()
ues.uest_systemuser = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME
ues.SAVE()
ues.SAVE()
MsgBox("Erfolgreich aus Timas zurückgesetzt!")
picDel.Visible = False

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,364 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns="http://xmlns.ec.eu/BusinessObjects/CBAM/Types/V1"
targetNamespace="http://xmlns.ec.eu/BusinessObjects/CBAM/Types/V1"
elementFormDefault="qualified"
attributeFormDefault="unqualified"
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
jaxb:version="2.1">
<xs:include schemaLocation="stypes.xsd"/>
<xs:element name="QReport" type="QReportType" />
<xs:complexType name="QReportType">
<xs:sequence>
<xs:element name="SubmissionDate" type="DateTimeContentType"/>
<xs:element name="DraftReportId" type="an..22"/>
<xs:element name="ReportId" type="an..22" minOccurs="0"/>
<xs:element name="ReportingPeriod" type="an2"/>
<xs:element name="Year" type="n4"/>
<xs:element name="TotalImported" type="n..5"/>
<xs:element name="TotalEmissions" type="dec16-5"/>
<xs:element name="Declarant" type="DeclarantType"/>
<xs:element name="Representative" type="RepresentativeType" minOccurs="0"/>
<xs:element name="Importer" type="ImporterType" minOccurs="0"/>
<xs:element name="NationalCompetentAuth" type="NationalCompetentAuthType"/>
<xs:element name="Signatures" type="SignaturesType"/>
<xs:element name="Remarks" type="RemarksType" minOccurs="0"/>
<xs:element name="ImportedGood" type="ImportedGoodType" maxOccurs="99999"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="DeclarantType">
<xs:sequence>
<xs:element name="IdentificationNumber" type="an..17"/>
<xs:element name="Name" type="an..70"/>
<xs:element name="Role" type="an..5"/>
<xs:element name="ActorAddress" type="AddressType"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ImporterType">
<xs:sequence>
<xs:element name="IdentificationNumber" type="an..17"/>
<xs:element name="Name" type="an..70"/>
<xs:element name="ImporterAddress" type="AddressType"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="RepresentativeType">
<xs:sequence>
<xs:element name="IdentificationNumber" type="an..17"/>
<xs:element name="Name" type="an..70"/>
<xs:element name="RepresentativeAddress" type="AddressType"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="NationalCompetentAuthType">
<xs:sequence>
<xs:element name="ReferenceNumber" type="an..128"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="SignaturesType">
<xs:sequence>
<xs:element name="ReportConfirmation" type="ReportConfirmationType"/>
<xs:element name="ApplicableMethdologyConfirmation" type="ApplicableMethodologyConfirmationType" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ReportConfirmationType">
<xs:sequence>
<xs:element name="GlobalDataConfirmation" type="xs:boolean"/>
<xs:element name="UseOfDataConfirmation" type="xs:boolean"/>
<xs:element name="SignatureDate" type="n8"/>
<xs:element name="SignaturePlace" type="an..128"/>
<xs:element name="Signature" type="an..128"/>
<xs:element name ="PositionOfPersonSending" type="an..128"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ApplicableMethodologyConfirmationType">
<xs:sequence>
<xs:element name="OtherApplicableReportingMethodology" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="RemarksType">
<xs:sequence>
<xs:element name="AdditionalInformation" type="an..512"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ImportedGoodType">
<xs:sequence>
<xs:element name="ItemNumber" type="n..5"/>
<xs:element name="Representative" type="RepresentativeType" minOccurs="0"/>
<xs:element name="Importer" type="ImporterType" minOccurs="0"/>
<xs:element name="CommodityCode" type="CommodityCodeType" minOccurs="0"/>
<xs:element name="OriginCountry" type="OriginCountryType"/>
<xs:element name="ImportedQuantity" type="ImportedQuantityType" minOccurs="1" maxOccurs="9"/>
<xs:element name="MeasureImported" type="MeasureType"/>
<xs:element name="TotalEmissions" type="TotalEmissionsType"/>
<xs:element name="SupportingDocuments" type="SupportingDocumentsType" minOccurs="0" maxOccurs="99"/>
<xs:element name="Remarks" type="RemarksType" minOccurs="0"/>
<xs:element name="GoodsEmissions" type="GoodsEmissionsType" minOccurs="1" maxOccurs="999"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="CommodityCodeType">
<xs:sequence>
<xs:element name="HsCode" type="an6"/>
<xs:element name="CnCode" type="an2"/>
<xs:element name="CommodityDetails" type="CommodityDetailsType"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="CommodityDetailsType">
<xs:sequence>
<xs:element name="Description" type="an..512"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="OriginCountryType">
<xs:sequence>
<xs:element name="Country" type="a2"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ImportedQuantityType">
<xs:sequence>
<xs:element name="SequenceNumber" type="n..5"/>
<xs:element name="Procedure" type="ProcedureType"/>
<xs:element name="ImportArea" type="ImportAreaType"/>
<xs:element name="MeasureProcedureImported" type="MeasureProcedureType" maxOccurs="2"/>
<xs:element name="SpecialReferences" type="SpecialReferencesType" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ProcedureType">
<xs:sequence>
<xs:element name="RequestedProc" type="an2"/>
<xs:element name="PreviousProc" type="an2" minOccurs="0"/>
<xs:element name="InwardProcessingInfo" type="InwardProcessingInfoType" minOccurs="0" maxOccurs="999"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="InwardProcessingInfoType">
<xs:sequence>
<xs:element name="MemberStateAuth" type="a2"/>
<xs:element name="DischargeBillWaiver" type="n1"/>
<xs:element name="Authorisation" type="an..512" />
<xs:element name="StartTime" type="n8"/>
<xs:element name="EndTime" type="n8"/>
<xs:element name="Deadline" type="n8"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ImportAreaType">
<xs:sequence>
<xs:element name="ImportArea" type="an..5"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="MeasureType">
<xs:sequence>
<xs:element name="NetMass" type="dec16-6" minOccurs="0"/>
<xs:element name="SupplementaryUnits" type="dec16-6" minOccurs="0"/>
<xs:element name="MeasurementUnit" type="an..5"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="MeasureProcedureType">
<xs:sequence>
<xs:element name="Indicator" type="n1"/>
<xs:element name="NetMass" type="dec16-6" minOccurs="0"/>
<xs:element name="SupplementaryUnits" type="dec16-6" minOccurs="0"/>
<xs:element name="MeasurementUnit" type="an..5"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="SpecialReferencesType">
<xs:sequence>
<xs:element name="AdditionalInformation" type="an..512"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="TotalEmissionsType">
<xs:sequence>
<xs:element name="EmissionsPerUnit" type="xs:decimal"/>
<xs:element name="OverallEmissions" type="xs:decimal"/>
<xs:element name="TotalDirect" type="xs:decimal"/>
<xs:element name="TotalIndirect" type="xs:decimal"/>
<xs:element name="MeasurementUnit" type="an..5"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="SupportingDocumentsType">
<xs:sequence>
<xs:element name="SequenceNumber" type="n..5"/>
<xs:element name="Type" type="an4"/>
<xs:element name="Country" type="a2" minOccurs="0"/>
<xs:element name="ReferenceNumber" type="an..70"/>
<xs:element name="LineItemNumber" type="n..5" minOccurs="0"/>
<xs:element name="IssuingAuthName" type="an..70" minOccurs="0"/>
<xs:element name="ValidityStartDate" type="DateContentType" minOccurs="0"/>
<xs:element name="ValidityEndDate" type="DateContentType" minOccurs="0"/>
<xs:element name="Description" type="an..256" minOccurs="0"/>
<xs:element name="Attachment" type="AttachmentType" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="AttachmentType">
<xs:sequence>
<xs:element name="Filename" type="an..256"/>
<xs:element name="URI" type="an..2048" minOccurs="0"/>
<xs:element name="MIME" type="an..70"/>
<xs:element name="Binary" type="xs:base64Binary"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="QualifyingParametersType">
<xs:sequence>
<xs:element name="SequenceNumber" type="n..5"/>
<xs:element name="DeterminationType" type="an..5"/>
<xs:element name="ParameterId" type="an..5"/>
<xs:element name="ParameterName" type="an..256"/>
<xs:element name="Description" type="an..256" minOccurs="0"/>
<xs:element name="ParameterValueType" type="an..256"/>
<xs:element name="ParameterValue" type="an..256"/>
<xs:element name="AdditionalInformation" type="an..512" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="GoodsEmissionsType">
<xs:sequence>
<xs:element name="SequenceNumber" type="n..5"/>
<xs:element name="ProductionCountry" type="a2" minOccurs="0"/>
<xs:element name="InstallationOperator" type="InstallationOperatorType" minOccurs="0"/>
<xs:element name="Installation" type="InstallationType" minOccurs="0"/>
<xs:element name="ProducedMeasure" type="MeasureType"/>
<xs:element name="InstallationEmissions" type="InstallationEmissionsType"/>
<xs:element name="DirectEmissions" type="DirectEmissionsType"/>
<xs:element name="IndirectEmissions" type="IndirectEmissionsType" minOccurs="0"/>
<xs:element name="ProdMethodQualifyingParams" type="ProdMethodQualifyingParamsType" maxOccurs="99"/>
<xs:element name="SupportingDocuments" type="SupportingDocumentsType" minOccurs="0" maxOccurs="99"/>
<xs:element name="CarbonPriceDue" type="CarbonPriceDueType" minOccurs="0" maxOccurs="99"/>
<xs:element name="RemarksEmissions" type="RemarksEmissionsType" minOccurs="0" maxOccurs="9"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="InstallationType">
<xs:sequence>
<xs:element name="InstallationId" type="an..17"/>
<xs:element name="InstallationName" type="an..256"/>
<xs:element name="EconomicActivity" type="an..256" minOccurs="0"/>
<xs:element name="Address" type="InstallationAddressType"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="InstallationAddressType">
<xs:sequence>
<xs:element name="EstablishmentCountry" type="a2"/>
<xs:element name="SubDivision" type="an..35" minOccurs="0"/>
<xs:element name="City" type="an..35" minOccurs="0"/>
<xs:element name="Street" type="an..70" minOccurs="0"/>
<xs:element name="StreetAdditionalLine" type="an..70" minOccurs="0"/>
<xs:element name="Number" type="an..35" minOccurs="0"/>
<xs:element name="Postcode" type="an..17" minOccurs="0"/>
<xs:element name="POBox" type="an..70" minOccurs="0"/>
<xs:element name="PlotParcelNumber" type="an..15" minOccurs="0"/>
<xs:element name="UNLOCODE" type="an..17" minOccurs="0"/>
<xs:element name="Latitude" type="an..17" minOccurs="0"/>
<xs:element name="Longitude" type="an..17" minOccurs="0"/>
<xs:element name="CoordinatesType" type="an..5" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="InstallationOperatorType">
<xs:sequence>
<xs:element name="OperatorId" type="an..17"/>
<xs:element name="OperatorName" type="an..70"/>
<xs:element name="OperatorAddress" type="AddressType"/>
<xs:element name="ContactDetails" type="ContactDetailsType" maxOccurs="9"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="AddressType">
<xs:sequence>
<xs:element name="Country" type="a2"/>
<xs:element name="SubDivision" type="an..35" minOccurs="0"/>
<xs:element name="City" type="an..35"/>
<xs:element name="Street" type="an..70" minOccurs="0"/>
<xs:element name="StreetAdditionalLine" type="an..70" minOccurs="0"/>
<xs:element name="Number" type="an..35" minOccurs="0"/>
<xs:element name="Postcode" type="an..17" minOccurs="0"/>
<xs:element name="POBox" type="an..70" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ContactDetailsType">
<xs:sequence>
<xs:element name="Name" type="an..70"/>
<xs:element name="Phone" type="an..35"/>
<xs:element name="Email" type="an..256"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ProdMethodQualifyingParamsType">
<xs:sequence>
<xs:element name="SequenceNumber" type="n..5"/>
<xs:element name="MethodId" type="an..5"/>
<xs:element name="MethodName" type="an..256"/>
<xs:element name="SteelMillNumber" type="an..256" minOccurs="0"/>
<xs:element name="AdditionalInformation" type="an..512" minOccurs="0"/>
<xs:element name="DirectQualifyingParameters" type="QualifyingParametersType" minOccurs="0" maxOccurs="99"/>
<xs:element name="IndirectQualifyingParameters" type="QualifyingParametersType" minOccurs="0" maxOccurs="99"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ProducedGoodsMeasureType">
<xs:sequence>
<xs:element name="NetMass" type="dec16-6" minOccurs="0"/>
<xs:element name="SupplementaryUnits" type="dec16-6" minOccurs="0"/>
<xs:element name="MeasurementUnit" type="an..5"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="InstallationEmissionsType">
<xs:sequence>
<xs:element name="OverallEmissions" type="xs:decimal"/>
<xs:element name="TotalDirect" type="xs:decimal"/>
<xs:element name="TotalIndirect" type="xs:decimal"/>
<xs:element name="MeasurementUnit" type="an..5"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="DirectEmissionsType">
<xs:sequence>
<xs:element name="DeterminationType" type="an..5" minOccurs="0"/>
<xs:element name="DeterminationTypeElectricity" type="an..5" minOccurs="0"/>
<xs:element name="ApplicableReportingTypeMethodology" type="an..5"/>
<xs:element name="ApplicableReportingMethodology" type="an..256" minOccurs="0"/>
<xs:element name="SpecificEmbeddedEmissions" type="dec16-5" minOccurs="0"/>
<xs:element name="OtherSourceIndication" type="an..256" minOccurs="0"/>
<xs:element name="EmissionFactorSourceElectricity" type="an..5" minOccurs="0"/>
<xs:element name="EmissionFactor" type="dec16-5" minOccurs="0"/>
<xs:element name="ElectricityImported" type="xs:decimal" minOccurs="0"/>
<xs:element name="TotalEmbeddedElectricityImported" type="dec16-5" minOccurs="0"/>
<xs:element name="MeasurementUnit" type="an..5"/>
<xs:element name="EmissionFactorSourceValue" type="an..512" minOccurs="0"/>
<xs:element name="Justification" type="an..512" minOccurs="0"/>
<xs:element name="ConditionalityFulfillment" type="an..512" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="IndirectEmissionsType">
<xs:sequence>
<xs:element name="DeterminationType" type="an..5"/>
<xs:element name="EmissionFactorSource" type="an..5" minOccurs="0"/>
<xs:element name="EmissionFactor" type="dec16-5" minOccurs="0"/>
<xs:element name="SpecificEmbeddedEmissions" type="xs:decimal"/>
<xs:element name="MeasurementUnit" type="an..5"/>
<xs:element name="ElectricityConsumed" type="dec5-2" minOccurs="0"/>
<xs:element name="ElectricitySource" type="an..5"/>
<xs:element name="OtherSourceIndication" type="an..256" minOccurs="0"/>
<xs:element name="EmissionFactorSourceValue" type="an..512" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="CarbonPriceDueType">
<xs:sequence>
<xs:element name="SequenceNumber" type="n..5"/>
<xs:element name="InstrumentType" type="an..5"/>
<xs:element name="LegalActDescription" type="an..512"/>
<xs:element name="Amount" type="xs:decimal"/>
<xs:element name="Currency" type="a3"/>
<xs:element name="ExchangeRate" type="an..2"/>
<xs:element name="EURO" type="xs:decimal"/>
<xs:element name="Country" type="a2"/>
<xs:element name="ProductsCovered" type="ProductsCoveredType" minOccurs="0" maxOccurs="9"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ProductsCoveredType">
<xs:sequence>
<xs:element name="SequenceNumber" type="n..5"/>
<xs:element name="Type" type="an..5"/>
<xs:element name="CN" type="an..8" minOccurs="0"/>
<xs:element name="QuantityCovered" type="dec16-5"/>
<xs:element name="QuantityCoveredFreeAloc" type="dec16-5"/>
<xs:element name="SupplementaryInformation" type="an..256" minOccurs="0"/>
<xs:element name="AdditionalInformation" type="an..512" minOccurs="0"/>
<xs:element name="Measure" type="MeasureType"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="RemarksEmissionsType">
<xs:sequence>
<xs:element name="SequenceNumber" type="n..5"/>
<xs:element name="AdditionalInformation" type="an..512"/>
</xs:sequence>
</xs:complexType>
</xs:schema>

View File

@@ -0,0 +1,202 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns="http://xmlns.ec.eu/BusinessObjects/CBAM/Types/V1"
targetNamespace="http://xmlns.ec.eu/BusinessObjects/CBAM/Types/V1"
elementFormDefault="qualified"
attributeFormDefault="unqualified">
<xs:simpleType name="an20">
<xs:restriction base="xs:string">
<xs:minLength value="20"/>
<xs:maxLength value="20"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="an..20">
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="20"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="an2">
<xs:restriction base="xs:string">
<xs:minLength value="2"/>
<xs:maxLength value="2"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="an8">
<xs:restriction base="xs:string">
<xs:minLength value="8"/>
<xs:maxLength value="8"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="an..15">
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="15"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="an..17">
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="17"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="an..70">
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="70"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="an..5">
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="5"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="an..2">
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="2"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="an..128">
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="128"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="an..512">
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="512"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="an..256">
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="256"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="an..2048">
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="2048"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="an4">
<xs:restriction base="xs:string">
<xs:minLength value="4"/>
<xs:maxLength value="4"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="an9">
<xs:restriction base="xs:string">
<xs:minLength value="9"/>
<xs:maxLength value="9"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="an6">
<xs:restriction base="xs:string">
<xs:minLength value="6"/>
<xs:maxLength value="6"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="a2">
<xs:restriction base="xs:string">
<xs:minLength value="2"/>
<xs:maxLength value="2"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="n4">
<xs:restriction base="xs:int">
<xs:totalDigits value="4"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="n1">
<xs:restriction base="xs:int">
<xs:totalDigits value="1"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="n2">
<xs:restriction base="xs:int">
<xs:totalDigits value="2"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="n8">
<xs:restriction base="xs:int">
<xs:totalDigits value="8"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="n6.16">
<xs:restriction base="xs:integer">
<xs:pattern value="\d{6,16}" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="n..5">
<xs:restriction base="xs:integer">
<xs:pattern value="\d{1,5}" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="n..2">
<xs:restriction base="xs:integer">
<xs:pattern value="\d{1,2}" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="dec5-2">
<xs:restriction base="xs:decimal">
<xs:totalDigits value="7"/>
<xs:fractionDigits value="2"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="dec16-6">
<xs:restriction base="xs:decimal">
<xs:totalDigits value="16"/>
<xs:fractionDigits value="6"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="dec16-5">
<xs:restriction base="xs:decimal">
<xs:totalDigits value="16"/>
<xs:fractionDigits value="5"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="an..35">
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="35"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="an3">
<xs:restriction base="xs:string">
<xs:minLength value="3"/>
<xs:maxLength value="3"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="a3">
<xs:restriction base="xs:string">
<xs:minLength value="3"/>
<xs:maxLength value="3"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="DateTimeContentType">
<xs:restriction base="xs:dateTime">
<xs:pattern value="\d{4}-\d\d-\d\dT\d\d:\d\d:\d\dZ" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="DateContentType">
<xs:restriction base="xs:date">
<xs:pattern value="\d{4}-\d\d-\d\d" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="an..22">
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="22"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="an..8">
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="8"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>

View File

@@ -267,12 +267,14 @@ Public Class cSyska_Interface
' If Not genDatensatz_Stammdaten(OpenFile) Then genDatensatz_ALL = False
If Not genDatensatz_Stammdaten(1, OpenFile) Then genDatensatz_ALL = False
If Not genDatensatz_Stammdaten(7, OpenFile) Then genDatensatz_ALL = False
If Not genDatensatz_Stammdaten(4, OpenFile) Then genDatensatz_ALL = False
If Not genDatensatz_Stammdaten(11, OpenFile) Then genDatensatz_ALL = False
If Not genDatensatz_Stammdaten(17, OpenFile) Then genDatensatz_ALL = False
If Not genDatensatz_Stammdaten(19, OpenFile) Then genDatensatz_ALL = False
End If
If boolBuchungen Then
If Not genDatensatz_Buchungen(1, OpenFile, WdhDateiname) Then genDatensatz_ALL = False
If Not genDatensatz_Buchungen(4, OpenFile, WdhDateiname) Then genDatensatz_ALL = False
If Not genDatensatz_Buchungen(7, OpenFile, WdhDateiname) Then genDatensatz_ALL = False
If Not genDatensatz_Buchungen(11, OpenFile, WdhDateiname) Then genDatensatz_ALL = False
If Not genDatensatz_Buchungen(17, OpenFile, WdhDateiname) Then genDatensatz_ALL = False
@@ -1366,7 +1368,7 @@ Public Class cSyska_Interface
Return False
End Try
End Function
Public Shared Function OP_LFD_SALDO_AKTUALISIERN(Firma_ID As Integer, Optional KdNr As Integer = -1) As Boolean
Public Shared Function OP_LFD_SALDO_AKTUALISIERN(Firma_ID As Integer) As Boolean
Try
Dim sqlStr = "
@@ -1377,10 +1379,9 @@ Public Class cSyska_Interface
Kunden
WHERE (SELECT COUNT(*) FROM [Offene Posten] WHERE KundenNrZentrale=Kontonummer " & If(Firma_ID > 0, " AND Firma_ID='" & Firma_ID & "' ", "") & ")>=0 "
If KdNr > 0 Then sqlStr &= " AND KundenNrZentrale='" & KdNr & "' "
SQL.doSQL(sqlStr, "FMZOLL")
SQL.doSQL(sqlStr, "FMZOLL",,,, 1800)
Return True
Catch ex As Exception
@@ -1390,6 +1391,32 @@ Public Class cSyska_Interface
End Function
Public Shared Function OP_LFD_SALDO_AKTUALISIERN(Firma_ID As Integer, KdNr As Integer) As Boolean
If KdNr <= 0 Then
Return OP_LFD_SALDO_AKTUALISIERN(Firma_ID)
End If
Try
Dim sqlStr = "
UPDATE KUNDEN
SET LfdSaldo=(SELECT TOP 1 [KumSaldoEUR] FROM [Offene Posten] where Kontonummer=KundenNrZentrale order by [OP_ID] desc )
FROM
Kunden
WHERE (SELECT COUNT(*) FROM [Offene Posten] WHERE KundenNrZentrale=Kontonummer " & If(Firma_ID > 0, " AND Firma_ID='" & Firma_ID & "' ", "") & ")>=0
AND KundenNrZentrale='" & KdNr & "'
"
SQL.doSQL(sqlStr, "FMZOLL",,,, 600)
Return True
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name, VERAG_PROG_ALLGEMEIN.ERROR_OP.MAIL)
Return False
End Try
End Function

View File

@@ -330,6 +330,7 @@
<Compile Include="Classes\cAvisoAnhaenge.vb" />
<Compile Include="Classes\cAvisoAnhangsarten.vb" />
<Compile Include="Classes\cAvisoBenachrichtigungen.vb" />
<Compile Include="Classes\cAvisoStatusMails.vb" />
<Compile Include="Classes\cBesuchsbericht.vb" />
<Compile Include="Classes\cBonitaetsauskunft.vb" />
<Compile Include="Classes\cChilkat_Helper.vb" />
@@ -392,6 +393,7 @@
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Include="Schnittstellen\CBAM\QReport_v17.00.Designer.vb" />
<Compile Include="Schnittstellen\Digicast\cDigicustAPI.vb" />
<Compile Include="Schnittstellen\Modaltrans\cOregonNCTSDeclarations.vb" />
<Compile Include="Classes\cParameter.vb" />
@@ -794,6 +796,12 @@
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="ProgAllg.pfx" />
<None Include="Schnittstellen\CBAM\QReport_v17.00.xsd">
<SubType>Designer</SubType>
</None>
<None Include="Schnittstellen\CBAM\stypes.xsd">
<SubType>Designer</SubType>
</None>
<None Include="Schnittstellen\GASTON_SCHUL\agsCustomsExchange.xsd">
<SubType>Designer</SubType>
</None>

View File

@@ -493,19 +493,23 @@ Public Class cProgramFunctions
End Sub
Public Shared Function getFilePathTypeValid(filePath) As String
Dim fi As New FileInfo(filePath)
Dim filename = fi.Name
Dim Typ = ""
Select Case fi.Extension.ToString.Replace(".", "").ToUpper
Case "PDF" : Typ = "PDF"
Case "XLS", "XLM", "XLSM", "XLSX", "CSV" : Typ = "EXCEL"
Case "DOC", "DOCX" : Typ = "WORD"
Case "TXT" : Typ = "TEXT"
Case "JPEG", "JPG", "GIF", "TFF" : Typ = "BILD"
Case "EXE" : MsgBox("Aviso-Anhänge: Ungültiges Datei-Format!") : Return False
Case Else : Typ = "SONSTIGES"
End Select
If filePath <> "" Then
Dim fi As New FileInfo(filePath)
Dim filename = fi.Name
Select Case fi.Extension.ToString.Replace(".", "").ToUpper
Case "PDF" : Typ = "PDF"
Case "XLS", "XLM", "XLSM", "XLSX", "CSV" : Typ = "EXCEL"
Case "DOC", "DOCX" : Typ = "WORD"
Case "TXT" : Typ = "TEXT"
Case "JPEG", "JPG", "GIF", "TFF" : Typ = "BILD"
Case "EXE" : MsgBox("Aviso-Anhänge: Ungültiges Datei-Format!") : Return False
Case Else : Typ = "SONSTIGES"
End Select
End If
Return Typ
End Function