diff --git a/00_DB_SETUP_SINGLE/01_DD_ECM/CreateDBObjects_WINDREAM_RELATED.sql b/00_DB_SETUP_SINGLE/01_DD_ECM/CreateDBObjects_WINDREAM_RELATED.sql index 9e31b9e..9a15c12 100644 --- a/00_DB_SETUP_SINGLE/01_DD_ECM/CreateDBObjects_WINDREAM_RELATED.sql +++ b/00_DB_SETUP_SINGLE/01_DD_ECM/CreateDBObjects_WINDREAM_RELATED.sql @@ -97,36 +97,33 @@ DECLARE cursPRDD_USER_REFRESH_WM_ID CURSOR FOR CLOSE cursPRDD_USER_REFRESH_WM_ID DEALLOCATE cursPRDD_USER_REFRESH_WM_ID GO -CREATE VIEW [dbo].[VWDD_WM_ACCESS_RIGHTS_GROUP] AS -SELECT AR.dwObjectID, - UG.dwUserOrGROUPID, - AR.dwAccessRight, - AR.dwObjectDBID -FROM [windreamDB].dbo.AccessRight AR LEFT JOIN [windreamDB].dbo.UserGroup UG ON AR.dwUserOrGroupID = UG.dwGroupID - INNER JOIN TBDD_USER TU ON UG.dwUserOrGroupID = TU.USERID_FK_INT_ECM -WHERE UG.dwUserOrGroupID IS NOT NULL + +CREATE OR ALTER VIEW [dbo].[VWDD_WM_ACCESS_RIGHTS_GROUP] +AS +SELECT [AR].[dwObjectID], + [UG].[dwUserOrGROUPID], + [AR].[dwAccessRight], + [AR].[dwObjectDBID] +FROM [TBDD_USER] TU (NOLOCK) +INNER JOIN [windreamDB].[dbo].[UserGroup] UG (NOLOCK) ON TU.[USERID_FK_INT_ECM] = UG.[dwUserOrGroupID] +INNER JOIN [windreamDB].[dbo].[AccessRight] AR (NOLOCK) ON UG.[dwGroupID] = AR.[dwUserOrGroupID]; GO -CREATE VIEW [dbo].[VWDD_WM_ACCESS_RIGHTS_USER] AS -SELECT AR.dwObjectID, - AR.dwUserOrGROUPID, - AR.dwAccessRight, - AR.dwObjectDBID -FROM [windreamDB].dbo.AccessRight AR LEFT JOIN [windreamDB].dbo.UserGroup UG ON AR.dwUserOrGroupID = UG.dwGroupID - INNER JOIN TBDD_USER TU ON AR.dwUserOrGroupID = TU.USERID_FK_INT_ECM -WHERE UG.dwUserOrGroupID IS NULL +USE [DD_ECM] GO -CREATE VIEW [dbo].[VWDD_WM_ACCESS_RIGHTS] AS -SELECT ARU.dwObjectID, - ARU.dwUserOrGROUPID, - ARU.dwAccessRight, - ARU.dwObjectDBID -FROM VWDD_WM_ACCESS_RIGHTS_USER ARU UNION -SELECT ARG.dwObjectID, - ARG.dwUserOrGROUPID, - ARG.dwAccessRight, - ARG.dwObjectDBID -FROM VWDD_WM_ACCESS_RIGHTS_GROUP ARG +SET ANSI_NULLS ON +GO +SET QUOTED_IDENTIFIER ON +GO + +CREATE OR ALTER VIEW [dbo].[VWDD_WM_ACCESS_RIGHTS_USER] +AS +SELECT [AR].[dwObjectID], + [AR].[dwUserOrGROUPID], + [AR].[dwAccessRight], + [AR].[dwObjectDBID] +FROM [TBDD_USER] TU (NOLOCK) +LEFT JOIN [windreamDB].[dbo].[AccessRight] AR (NOLOCK) ON TU.[USERID_FK_INT_ECM] = AR.[dwUserOrGroupID]; GO diff --git a/00_DB_SETUP_SINGLE/01_DD_ECM/Update/1.9.8.5.sql b/00_DB_SETUP_SINGLE/01_DD_ECM/Update/1.9.8.5.sql index 007ad30..037ad5c 100644 --- a/00_DB_SETUP_SINGLE/01_DD_ECM/Update/1.9.8.5.sql +++ b/00_DB_SETUP_SINGLE/01_DD_ECM/Update/1.9.8.5.sql @@ -1,5 +1,55 @@ UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.9.8.5'; GO + CREATE TABLE [dbo].[TBEDMI_ITEM_VALUE]( + [GUID] [bigint] IDENTITY(1,1) NOT NULL, + [REFERENCE_GUID] NVARCHAR(250) NOT NULL, + [ITEM_DESCRIPTION] NVARCHAR(250) NOT NULL, + [ITEM_VALUE] NVARCHAR(4000) NULL, + [CREATEDWHEN] DATETIME NOT NULL, + [CREATEDWHO] NVARCHAR(100) NULL, + [CHANGEDWHEN] DATETIME NULL, + [GROUP_COUNTER] [int] NULL, + [SPEC_NAME] NVARCHAR(100) NULL, + [IS_REQUIRED] BIT NOT NULL, + [COMMENT] [nvarchar](100) NULL, + [CHANGEDWHO] [nvarchar](100) NULL, + CONSTRAINT [PK_TBEDMI_ITEM_VALUE_GUID] PRIMARY KEY CLUSTERED +( + [GUID] ASC +)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] +) ON [PRIMARY] +GO + +ALTER TABLE [dbo].[TBEDMI_ITEM_VALUE] ADD CONSTRAINT [DEF_TBEDMI_ITEM_VALUE_CREATEDWHEN] DEFAULT (getdate()) FOR [CREATEDWHEN] +GO + +ALTER TABLE [dbo].[TBEDMI_ITEM_VALUE] ADD CONSTRAINT [DEF_TBEDMI_ITEM_VALUE_ISREQUIRED] DEFAULT ((0)) FOR [IS_REQUIRED] +GO + + + +CREATE NONCLUSTERED INDEX IDX_TBEDMI_ITEM_VALUE_SPECNAME_REFGUID +ON TBEDMI_ITEM_VALUE (SPEC_NAME, REFERENCE_GUID) include (ITEM_VALUE, GROUP_COUNTER, ITEM_DESCRIPTION, IS_REQUIRED, CREATEDWHEN, CHANGEDWHEN, CHANGEDWHO) ; + +CREATE NONCLUSTERED INDEX IDX_TBEDMI_ITEM_VALUE_REFGUID +ON TBEDMI_ITEM_VALUE (REFERENCE_GUID) include (ITEM_VALUE, SPEC_NAME, GROUP_COUNTER, ITEM_DESCRIPTION, IS_REQUIRED, CREATEDWHEN, CHANGEDWHEN, CHANGEDWHO) ; +GO +CREATE VIEW VWDD_ZUGFERD_VIEW_RECEIPT_TEMPLATE_ITEMS AS +SELECT + A.SPEC_NAME, + A.ITEM_VALUE, + B.Area, + B.Row_Caption, + B.xPosition, + B.Y_eq_lastrow, + B.SequenceItem, + B.Display, + A.REFERENCE_GUID +FROM + (SELECT * FROM TBEDMI_ITEM_VALUE ) A INNER JOIN + (SELECT * FROM TBDD_ZUGFERD_VIEW_RECEIPT_TEMPLATE WHERE Active = 1) B ON A.SPEC_NAME = B.SPECNAME +GO + /****** Object: StoredProcedure [dbo].[PRDD_SEND_REJECTION_MAIL] Script Date: 15.05.2025 09:29:08 ******/ SET ANSI_NULLS ON GO @@ -505,7 +555,7 @@ Insert INTO TBDD_ZUGFERD_VIEW_RECEIPT_TEMPLATE GO --CHANGED 25.04.2025 INV_POSITION_UNIT_TYPE integriert --CHANGED 06.03.2025 INV_POS_NOTE integriert -ALTER FUNCTION [dbo].[FNDD_ZUGFERD_VIEW_RECEIPT_CUST_RESULT] (@pMSGID VARCHAR(100)) +CREATE OR ALTER FUNCTION [dbo].[FNDD_ZUGFERD_VIEW_RECEIPT_CUST_RESULT] (@pMSGID VARCHAR(100)) RETURNS TABLE AS RETURN ( diff --git a/00_DB_SETUP_SINGLE/01_DD_ECM/Update/2.1.sql b/00_DB_SETUP_SINGLE/01_DD_ECM/Update/2.1.sql index eaa8ca5..73ce428 100644 --- a/00_DB_SETUP_SINGLE/01_DD_ECM/Update/2.1.sql +++ b/00_DB_SETUP_SINGLE/01_DD_ECM/Update/2.1.sql @@ -44,7 +44,43 @@ Insert INTO TBDD_ZUGFERD_VIEW_RECEIPT_TEMPLATE ('INVOICE_PAYMENT_IBAN','IBAN:', 'PAYMENT', 10, 501, 0, 1), ('INVOICE_PAYMENT_BIC','BIC:', 'PAYMENT', 10, 502, 0, 1); GO - +--CHANGED +CREATE OR ALTER FUNCTION [dbo].[FNDD_ZUGFERD_VIEW_ALLOWANCE_POSITIONS] (@pMSGID VARCHAR(100)) +RETURNS @TABLE TABLE(SPEC_NAME VARCHAR(100),ITEM_VALUE VARCHAR(250),Area VARCHAR(60),SequenceItem INT,Display BIT) +AS +BEGIN + + DECLARE @GROUP_COUNTER INT,@INDEX INT + SELECT @INDEX = MIN(SequenceItem) FROM TBDD_ZUGFERD_VIEW_RECEIPT_TEMPLATE WHERE Area = 'ALLOWANCE'; + DECLARE cursGroupCounter CURSOR FOR + select GROUP_COUNTER from TBEDMI_ITEM_VALUE WHERE REFERENCE_GUID = @pMSGID And SPEC_NAME = 'POSITION_ALLOWANCE_ACTUAL_AMOUNT' ORDER BY GROUP_COUNTER + OPEN cursGroupCounter + FETCH NEXT FROM cursGroupCounter INTO @GROUP_COUNTER + WHILE @@FETCH_STATUS = 0 + BEGIN + DECLARE @SPEC_NAME VARCHAR(100),@ITEM_VALUE VARCHAR(100),@Display BIT + DECLARE cursPosItems CURSOR FOR + select A.SPEC_NAME,ITEM_VALUE,Display from TBEDMI_ITEM_VALUE A INNER JOIN TBDD_ZUGFERD_VIEW_RECEIPT_TEMPLATE B ON A.SPEC_NAME = B.SPECNAME WHERE REFERENCE_GUID = @pMSGID And A.SPEC_NAME IN (SELECT SPECNAME FROM TBDD_ZUGFERD_VIEW_RECEIPT_TEMPLATE WHERE Area = 'ALLOWANCE') AND A.GROUP_COUNTER = @GROUP_COUNTER + AND LEN(ITEM_VALUE) > 0 + ORDER BY B.SequenceItem + OPEN cursPosItems + FETCH NEXT FROM cursPosItems INTO @SPEC_NAME,@ITEM_VALUE,@Display + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @INDEX += 1 + INSERT INTO @TABLE (SPEC_NAME,ITEM_VALUE,Area,SequenceItem,Display) VALUES + (@SPEC_NAME,@ITEM_VALUE,'ALLOWANCE',@INDEX,@Display) + FETCH NEXT FROM cursPosItems INTO @SPEC_NAME,@ITEM_VALUE,@Display + END + CLOSE cursPosItems + DEALLOCATE cursPosItems + FETCH NEXT FROM cursGroupCounter INTO @GROUP_COUNTER + END + CLOSE cursGroupCounter + DEALLOCATE cursGroupCounter +RETURN +END +GO --CHANGED 16.09.2025 Nur auf die Area gehen --CHANGED 25.04.2025 INV_POSITION_UNIT_TYPE integriert --CHANGED 25.04.2025 INV_POSITION_UNIT_TYPE integriert @@ -105,39 +141,3 @@ BEGIN RETURN END GO ---CHANGED -ALTER FUNCTION [dbo].[FNDD_ZUGFERD_VIEW_ALLOWANCE_POSITIONS] (@pMSGID VARCHAR(100)) -RETURNS @TABLE TABLE(SPEC_NAME VARCHAR(100),ITEM_VALUE VARCHAR(250),Area VARCHAR(60),SequenceItem INT,Display BIT) -AS -BEGIN - - DECLARE @GROUP_COUNTER INT,@INDEX INT - SELECT @INDEX = MIN(SequenceItem) FROM TBDD_ZUGFERD_VIEW_RECEIPT_TEMPLATE WHERE Area = 'ALLOWANCE'; - DECLARE cursGroupCounter CURSOR FOR - select GROUP_COUNTER from TBEDMI_ITEM_VALUE WHERE REFERENCE_GUID = @pMSGID And SPEC_NAME = 'POSITION_ALLOWANCE_ACTUAL_AMOUNT' ORDER BY GROUP_COUNTER - OPEN cursGroupCounter - FETCH NEXT FROM cursGroupCounter INTO @GROUP_COUNTER - WHILE @@FETCH_STATUS = 0 - BEGIN - DECLARE @SPEC_NAME VARCHAR(100),@ITEM_VALUE VARCHAR(100),@Display BIT - DECLARE cursPosItems CURSOR FOR - select A.SPEC_NAME,ITEM_VALUE,Display from TBEDMI_ITEM_VALUE A INNER JOIN TBDD_ZUGFERD_VIEW_RECEIPT_TEMPLATE B ON A.SPEC_NAME = B.SPECNAME WHERE REFERENCE_GUID = @pMSGID And A.SPEC_NAME IN (SELECT SPECNAME FROM TBDD_ZUGFERD_VIEW_RECEIPT_TEMPLATE WHERE Area = 'ALLOWANCE') AND A.GROUP_COUNTER = @GROUP_COUNTER - AND LEN(ITEM_VALUE) > 0 - ORDER BY B.SequenceItem - OPEN cursPosItems - FETCH NEXT FROM cursPosItems INTO @SPEC_NAME,@ITEM_VALUE,@Display - WHILE @@FETCH_STATUS = 0 - BEGIN - SET @INDEX += 1 - INSERT INTO @TABLE (SPEC_NAME,ITEM_VALUE,Area,SequenceItem,Display) VALUES - (@SPEC_NAME,@ITEM_VALUE,'ALLOWANCE',@INDEX,@Display) - FETCH NEXT FROM cursPosItems INTO @SPEC_NAME,@ITEM_VALUE,@Display - END - CLOSE cursPosItems - DEALLOCATE cursPosItems - FETCH NEXT FROM cursGroupCounter INTO @GROUP_COUNTER - END - CLOSE cursGroupCounter - DEALLOCATE cursGroupCounter -RETURN -END \ No newline at end of file diff --git a/00_DB_SETUP_SINGLE/01_DD_ECM/Update/2.2.sql b/00_DB_SETUP_SINGLE/01_DD_ECM/Update/2.2.sql index e8f5e7d..ef7433b 100644 --- a/00_DB_SETUP_SINGLE/01_DD_ECM/Update/2.2.sql +++ b/00_DB_SETUP_SINGLE/01_DD_ECM/Update/2.2.sql @@ -45,40 +45,41 @@ Insert INTO TBDD_ZUGFERD_VIEW_RECEIPT_TEMPLATE ('INVOICE_BUYER_POSTALCODE', '', 'BUYER', 10, 17, 0, 1), ('INVOICE_BUYER_CITY', '', 'BUYER', 35, 18, 1, 1), --('STATIC_Y_SWITCH', '271', 'INTERNAL', 35, 15, 0, 0), -('INVOICE_POSITION_AMOUNT', '', 'POSITION', 10, 20, 0, 0), -('INVOICE_POSITION_UNIT_TYPE', '', 'POSITION', 10, 21, 0, 0), -('INVOICE_POSITION_ARTICLE', '', 'POSITION', 10, 22, 0, 0), -('INVOICE_POSITION_ARTICLE_DESCRIPTION', '', 'POSITION', 10, 23, 0, 0), -('INVOICE_POSITION_NOTE', '', 'POSITION', 10, 24, 0, 0), -('INVOICE_TAXPOS_TAX_RATE', '', 'POSITION', 10, 25, 0, 0), -('INVOICE_POSITION_TAX_AMOUNT', '', 'POSITION', 10, 26, 0, 1), +('INVOICE_POSITION_AMOUNT', '', 'POSITION', 10, 20, 0, 1), +('INVOICE_POSITION_UNIT_TYPE', '', 'POSITION', 10, 21, 1, 1), +('INVOICE_POSITION_ARTICLE', '', 'POSITION', 10, 22, 1, 1), +('INVOICE_POSITION_ARTICLE_DESCRIPTION', '', 'POSITION', 10, 23, 1, 1), +('INVOICE_POSITION_NOTE', '', 'POSITION', 10, 24, 1, 1), +('INVOICE_TAXPOS_TAX_RATE', '', 'POSITION', 10, 25, 1, 1), +('INVOICE_POSITION_TAX_AMOUNT', '', 'POSITION', 10, 26, 1, 1), ('POSITION_ALLOWANCE_ACTUAL_AMOUNT', '', 'ALLOWANCE',10, 100, 0, 1), -('POSITION_ALLOWANCE_REASON', '', 'ALLOWANCE',10, 101, 0, 1), -('POSITION_ALLOWANCE_REASON_CODE', '', 'ALLOWANCE',10, 102, 0, 1), +('POSITION_ALLOWANCE_REASON', '', 'ALLOWANCE',10, 101, 1, 1), +('POSITION_ALLOWANCE_REASON_CODE', '', 'ALLOWANCE',10, 102, 1, 1), ('POSITION_ALLOWANCE_CALCULATION_PERCENT', '', 'ALLOWANCE',10, 103, 0, 1), ('RECEIPT_ALLOWANCE_CHARGE_INDICATOR', '', 'ALLOWANCE',10, 110, 0, 0), ('RECEIPT_ALLOWANCE_ACTUAL_AMOUNT', '', 'ALLOWANCE',10, 111, 0, 1), -('RECEIPT_ALLOWANCE_REASON', '', 'ALLOWANCE',10, 112, 0, 1), -('RECEIPT_ALLOWANCE_REASON_CODE', '', 'ALLOWANCE',10, 113, 0, 1), +('RECEIPT_ALLOWANCE_REASON', '', 'ALLOWANCE',10, 112, 1, 1), +('RECEIPT_ALLOWANCE_REASON_CODE', '', 'ALLOWANCE',10, 113, 1, 1), ('RECEIPT_ALLOWANCE_CALCULATION_PERCENT', '', 'ALLOWANCE',10, 114, 0, 1), ('RECEIPT_ALLOWANCE_VAT_RATE', '', 'ALLOWANCE',10, 115, 0, 1), -('RECEIPT_ALLOWANCE_VAT_CODE', '', 'ALLOWANCE',10, 116, 0, 1), +('RECEIPT_ALLOWANCE_VAT_CODE', '', 'ALLOWANCE',10, 116, 1, 1), ('INVOICE_TOTAL_NET', 'Nettobetrag/Net amount:', 'AMOUNT', 10, 400, 0, 1), ('INVOICE_TOTAL_TAX', 'Steuerbetrag/Tax amount:', 'AMOUNT', 10, 401, 0, 1), ('INVOICE_TOTAL_GROSS', 'Bruttobetrag/Gross amount:', 'AMOUNT', 10, 402, 0, 1), ('INVOICE_TAXPOS_RATE', '', 'TAXPOS', 10, 403, 1, 0), ('INVOICE_TAXPOS_AMOUNT', '', 'TAXPOS', 10, 404, 0, 0), ('INVOICE_TAXPOS_TYPE', '', 'TAXPOS', 10, 405, 1, 1), -('INVOICE_TAXPOS_EXEMPTION_REASON', '', 'EXEMPTION', 10, 406, 0, 1), -('INVOICE_TAXPOS_EXEMPTION_REASON_CODE', '', 'EXEMPTION', 10, 407, 0, 1), +('INVOICE_TAXPOS_EXEMPTION_REASON', '', 'EXEMPTION',10, 406, 0, 1), +('INVOICE_TAXPOS_EXEMPTION_REASON_CODE', '', 'EXEMPTION',10, 407, 0, 1), ('INVOICE_PAYMENT_TERMS','', 'PAYMENT', 10, 500, 0, 1), ('INVOICE_PAYMENT_IBAN','IBAN:', 'PAYMENT', 10, 501, 0, 1), ('INVOICE_PAYMENT_BIC','BIC:', 'PAYMENT', 10, 502, 0, 1); GO +--Changed 13.11.2025 Y_eq_lastrow --CHANGED 27.10.2025 Beide Allowance Varianten -ALTER FUNCTION [dbo].[FNDD_ZUGFERD_VIEW_ALLOWANCE_POSITIONS] (@pMSGID VARCHAR(100)) -RETURNS @TABLE TABLE(SPEC_NAME VARCHAR(100),ITEM_VALUE VARCHAR(250),Area VARCHAR(60),SequenceItem INT,Display BIT) +CREATE OR ALTER FUNCTION [dbo].[FNDD_ZUGFERD_VIEW_ALLOWANCE_POSITIONS] (@pMSGID VARCHAR(100)) +RETURNS @TABLE TABLE(SPEC_NAME VARCHAR(100),ITEM_VALUE VARCHAR(250),Area VARCHAR(60),SequenceItem INT,Display BIT,Y_eq_lastrow BIT) AS BEGIN @@ -92,21 +93,21 @@ BEGIN FETCH NEXT FROM cursGroupCounter INTO @GROUP_COUNTER WHILE @@FETCH_STATUS = 0 BEGIN - DECLARE @SPEC_NAME VARCHAR(100),@ITEM_VALUE VARCHAR(100),@Display BIT + DECLARE @SPEC_NAME VARCHAR(100),@ITEM_VALUE VARCHAR(100),@Display BIT,@Y_eq_lastrow BIT DECLARE cursPosItems CURSOR FOR - select A.SPEC_NAME,ITEM_VALUE,Display from TBEDMI_ITEM_VALUE A INNER JOIN TBDD_ZUGFERD_VIEW_RECEIPT_TEMPLATE B ON A.SPEC_NAME = B.SPECNAME + select A.SPEC_NAME,ITEM_VALUE,Display,Y_eq_lastrow from TBEDMI_ITEM_VALUE A INNER JOIN TBDD_ZUGFERD_VIEW_RECEIPT_TEMPLATE B ON A.SPEC_NAME = B.SPECNAME WHERE REFERENCE_GUID = @pMSGID And A.SPEC_NAME IN (SELECT SPECNAME FROM TBDD_ZUGFERD_VIEW_RECEIPT_TEMPLATE WHERE Area = 'ALLOWANCE') AND A.GROUP_COUNTER = @GROUP_COUNTER AND LEN(ITEM_VALUE) > 0 ORDER BY B.SequenceItem OPEN cursPosItems - FETCH NEXT FROM cursPosItems INTO @SPEC_NAME,@ITEM_VALUE,@Display + FETCH NEXT FROM cursPosItems INTO @SPEC_NAME,@ITEM_VALUE,@Display,@Y_eq_lastrow WHILE @@FETCH_STATUS = 0 BEGIN SET @INDEX += 1 - INSERT INTO @TABLE (SPEC_NAME,ITEM_VALUE,Area,SequenceItem,Display) VALUES - (@SPEC_NAME,@ITEM_VALUE,'ALLOWANCE',@INDEX,@Display) - FETCH NEXT FROM cursPosItems INTO @SPEC_NAME,@ITEM_VALUE,@Display + INSERT INTO @TABLE (SPEC_NAME,ITEM_VALUE,Area,SequenceItem,Display,Y_eq_lastrow) VALUES + (@SPEC_NAME,@ITEM_VALUE,'ALLOWANCE',@INDEX,@Display,@Y_eq_lastrow) + FETCH NEXT FROM cursPosItems INTO @SPEC_NAME,@ITEM_VALUE,@Display,@Y_eq_lastrow END CLOSE cursPosItems DEALLOCATE cursPosItems @@ -115,4 +116,68 @@ BEGIN CLOSE cursGroupCounter DEALLOCATE cursGroupCounter RETURN -END \ No newline at end of file +END +GO +--CHANGED 13.11.2025 +--CHANGED 06.10.2025 Über Area +--CHANGED 02.06.2025 Nur Items mit INhalt +--CHANGED 25.04.2025 INV_POSITION_UNIT_TYPE integriert +--CHANGED 06.03.2025 INV_POS_NOTE integriert +CREATE OR ALTER FUNCTION [dbo].[FNDD_ZUGFERD_VIEW_RECEIPT_POSITIONS] (@pMSGID VARCHAR(100)) +RETURNS @TABLE TABLE(SPEC_NAME VARCHAR(100),ITEM_VALUE VARCHAR(250),Area VARCHAR(60),SequenceItem INT,Display BIT,Y_eq_lastrow BIT) +AS +BEGIN + DECLARE @GROUP_COUNTER INT,@INDEX INT = 20 + DECLARE cursGroupCounter CURSOR FOR + select GROUP_COUNTER from TBEDMI_ITEM_VALUE WHERE REFERENCE_GUID = @pMSGID And SPEC_NAME = 'INVOICE_POSITION_AMOUNT' ORDER BY GROUP_COUNTER + OPEN cursGroupCounter + FETCH NEXT FROM cursGroupCounter INTO @GROUP_COUNTER + WHILE @@FETCH_STATUS = 0 + BEGIN + DECLARE @SPEC_NAME VARCHAR(100),@ITEM_VALUE VARCHAR(100),@Display BIT,@Y_eq_lastrow BIT + DECLARE cursPosItems CURSOR FOR + select A.SPEC_NAME,ITEM_VALUE,Display,B.Y_eq_lastrow from TBEDMI_ITEM_VALUE A INNER JOIN TBDD_ZUGFERD_VIEW_RECEIPT_TEMPLATE B ON A.SPEC_NAME = B.SPECNAME + WHERE REFERENCE_GUID = @pMSGID And B.Area = 'POSITION' AND GROUP_COUNTER = @GROUP_COUNTER + AND LEN(ITEM_VALUE) > 0 + ORDER BY B.SequenceItem + OPEN cursPosItems + FETCH NEXT FROM cursPosItems INTO @SPEC_NAME,@ITEM_VALUE,@Display,@Y_eq_lastrow + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @INDEX += 1 + INSERT INTO @TABLE (SPEC_NAME,ITEM_VALUE,Area,SequenceItem,Display,Y_eq_lastrow) VALUES + (@SPEC_NAME,@ITEM_VALUE,'POSITION',@INDEX,@Display,@Y_eq_lastrow); + FETCH NEXT FROM cursPosItems INTO @SPEC_NAME,@ITEM_VALUE,@Display,@Y_eq_lastrow + END + CLOSE cursPosItems + DEALLOCATE cursPosItems + FETCH NEXT FROM cursGroupCounter INTO @GROUP_COUNTER + END + CLOSE cursGroupCounter + DEALLOCATE cursGroupCounter +RETURN +END +GO + +--CHANGED 13.11.2025 Y_eq_lastRow +--CHANGED 16.09.2025 Nur auf die Area gehen +--CHANGED 25.04.2025 INV_POSITION_UNIT_TYPE integriert +--CHANGED 25.04.2025 INV_POSITION_UNIT_TYPE integriert +--CHANGED 06.03.2025 INV_POS_NOTE integriert +CREATE OR ALTER FUNCTION [dbo].[FNDD_ZUGFERD_VIEW_RECEIPT_CUST_RESULT] (@pMSGID VARCHAR(100)) +RETURNS TABLE +AS RETURN + ( + SELECt A.SPEC_NAME,A.ITEM_VALUE,A.Area,A.Row_Caption,A.xPosition,A.Y_eq_lastrow,A.SequenceItem ORDER_SEQ,A.Display FROM VWDD_ZUGFERD_VIEW_RECEIPT_TEMPLATE_ITEMS A + WHERE REFERENCE_GUID = @pMSGID + AND A.Area NOT IN ('ALLOWANCE','POSITION') + UNION + SELECT SPEC_NAME,ITEM_VALUE,Area,'' Row_Caption,10 xPosition, Y_eq_lastrow,SequenceItem ORDER_SEQ, Display FROM [dbo].[FNDD_ZUGFERD_VIEW_RECEIPT_POSITIONS] (@pMSGID) + UNION + SELECT SPEC_NAME,ITEM_VALUE,Area,'' Row_Caption,10 xPosition, Y_eq_lastrow ,SequenceItem ORDER_SEQ, Display FROM [dbo].[FNDD_ZUGFERD_VIEW_ALLOWANCE_POSITIONS] (@pMSGID) + UNION + SELECT SPEC_NAME,ITEM_VALUE,Area,'' Row_Caption,10 xPosition, 0 Y_eq_lastrow,SequenceItem ORDER_SEQ, Display FROM [dbo].[FNDD_ZUGFERD_VIEW_RECEIPT_TAX] (@pMSGID) + UNION + SELECT SPECNAME SPEC_NAME,Row_Caption,Area,Row_Caption Row_Caption,10 xPosition, 0 Y_eq_lastrow,SequenceItem ORDER_SEQ, Display FROM TBDD_ZUGFERD_VIEW_RECEIPT_TEMPLATE WHERE Area = 'INTERNAL' + ) +GO \ No newline at end of file diff --git a/00_DB_SETUP_SINGLE/01_DD_ECM/Update/2.3.sql b/00_DB_SETUP_SINGLE/01_DD_ECM/Update/2.3.sql new file mode 100644 index 0000000..f072542 --- /dev/null +++ b/00_DB_SETUP_SINGLE/01_DD_ECM/Update/2.3.sql @@ -0,0 +1,2 @@ +UPDATE TBDD_BASECONFIG SET DB_VERSION = '2.3.0'; +GO \ No newline at end of file diff --git a/01_SMART_UP_TOOLS/02_TASKFLOW/Updates/2.5.sql b/01_SMART_UP_TOOLS/02_TASKFLOW/Updates/2.5.sql new file mode 100644 index 0000000..a9bed3b --- /dev/null +++ b/01_SMART_UP_TOOLS/02_TASKFLOW/Updates/2.5.sql @@ -0,0 +1,8 @@ +UPDATE TBDD_MODULES SET DB_VERSION = '2.5' where NAME = 'Process-Manager'; +GO +ALTER TABLE dbo.TBPM_PROFILE +ADD NOT_RESP_COMMENT BIT NOT NULL DEFAULT 1 ; + + + + diff --git a/01_SMART_UP_TOOLS/02_TASKFLOW/Updates/2.6.sql b/01_SMART_UP_TOOLS/02_TASKFLOW/Updates/2.6.sql new file mode 100644 index 0000000..5f0fbee --- /dev/null +++ b/01_SMART_UP_TOOLS/02_TASKFLOW/Updates/2.6.sql @@ -0,0 +1,8 @@ +UPDATE TBDD_MODULES SET DB_VERSION = '2.6' where NAME = 'Process-Manager'; +GO +ALTER TABLE dbo.TBPM_PROFILE_CONTROLS +ADD TEXT_ALIGNMENT NVARCHAR(20) NOT NULL DEFAULT 'Near'; + + + + diff --git a/01_SMART_UP_TOOLS/02_TASKFLOW/Updates/Added2MainScript/2.4.2.0.sql b/01_SMART_UP_TOOLS/02_TASKFLOW/Updates/Added2MainScript/2.4.2.0.sql index ed57fbb..33a2507 100644 --- a/01_SMART_UP_TOOLS/02_TASKFLOW/Updates/Added2MainScript/2.4.2.0.sql +++ b/01_SMART_UP_TOOLS/02_TASKFLOW/Updates/Added2MainScript/2.4.2.0.sql @@ -1,3 +1,4 @@ +UPDATE TBDD_MODULES SET DB_VERSION = '2.4.2.0' where NAME = 'Process-Manager'; --Das Overview-SQL muss um folgenden LEFT JOIN erweitert werden --############################################################################################# --LEFT JOIN TBTF_PROFILE_FILES_WORK PFW ON T.DOC_ID = PFW.DocID AND T.PROFIL_ID = PFW.ProfileID @@ -43,7 +44,6 @@ BEGIN WHERE DocID = @pDocID AND ProfileID = @pProfilID AND Worked = 0; END GO -UPDATE TBDD_MODULES SET DB_VERSION = '2.4.2.0' where NAME = 'Process-Manager'; --############################################################################################# IF NOT EXISTS(SELECT GUID FROM [DD_ECM].[dbo].[TBPM_KONFIGURATION] where [SQL_PROFILE_MAIN_VIEW] like '%(PFW.DocID IS NULL OR (PFW.InWork = 0 AND PFW.Worked = 0))%') PRINT 'ACHTUNG: Bitte erste Anweisung in Skript beachten: Es fehlt eine Erweiterung im Overview SQL!!!' diff --git a/01_SMART_UP_TOOLS/02_TASKFLOW/Updates/Added2MainScript/2.4.2.1.sql b/01_SMART_UP_TOOLS/02_TASKFLOW/Updates/Added2MainScript/2.4.2.1.sql index 59dbce5..55619fa 100644 --- a/01_SMART_UP_TOOLS/02_TASKFLOW/Updates/Added2MainScript/2.4.2.1.sql +++ b/01_SMART_UP_TOOLS/02_TASKFLOW/Updates/Added2MainScript/2.4.2.1.sql @@ -1,3 +1,4 @@ +UPDATE TBDD_MODULES SET DB_VERSION = '2.4.2.1' where NAME = 'Process-Manager'; --Das Overview-SQL zur Workflowdarstellung muss um folgenden LEFT JOIN erweitert werden --############################################################################################# --LEFT JOIN TBTF_PROFILE_FILES_WORK PFW ON T.DOC_ID = PFW.DocID AND T.PROFIL_ID = PFW.ProfileID @@ -5,7 +6,6 @@ --und einen where-Teil: --############################################################################################# --(PFW.DocID IS NULL OR (PFW.InWork = 0 AND PFW.Worked = 0)) -UPDATE TBDD_MODULES SET DB_VERSION = '2.4.2.1' where NAME = 'Process-Manager'; GO IF EXISTS(SELECT * FROM sys.columns WHERE Name = N'SQL_PROFILE_MAIN_VIEW' diff --git a/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/2.7.1.sql b/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/2.7.1.sql new file mode 100644 index 0000000..a391ea2 Binary files /dev/null and b/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/2.7.1.sql differ diff --git a/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/2.7.sql b/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/2.7.sql index 173f9fa..1183929 100644 Binary files a/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/2.7.sql and b/01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/2.7.sql differ diff --git a/05_ToolCollection/CreateDBObjects_IN DD_ECM Main integriert.sql b/05_ToolCollection/CreateDBObjects_IN DD_ECM Main integriert.sql index bb89147..10edcf6 100644 --- a/05_ToolCollection/CreateDBObjects_IN DD_ECM Main integriert.sql +++ b/05_ToolCollection/CreateDBObjects_IN DD_ECM Main integriert.sql @@ -64,27 +64,4 @@ BEGIN CATCH + ' - ERROR-MESSAGE: ' + CONVERT(VARCHAR(500),ERROR_MESSAGE()) END CATCH -GO -CREATE FUNCTION [dbo].[FNCUST_GET_TC_WD_RIGHTS] ( - @windreamDocID BIGINT -) -RETURNS TABLE -AS -RETURN - - ---------------------------------------------------------------------------------------------------------------------------------- - - SELECT concat([wdGI].[szNTDomain],'\',[wdGI].[szGroupName]) as 'RightGroups' - FROM [@WINDREAM_DB].[dbo].[BaseAttributes] as [wdBA] (NOLOCK) - - INNER JOIN [@WINDREAM_DB].[dbo].[UserInfo] as [wdUI] (NOLOCK) ON UPPER([wdBA].[szText22]) = UPPER([wdUI].[szUserName]) -- Username for UserID - INNER JOIN [@WINDREAM_DB].[dbo].[UserGroup] as [wdU2G] (NOLOCK) ON [wdUI].[dwUserID] = [wdU2G].[dwUserOrGroupID] -- UserID for GroupsID - INNER JOIN [@WINDREAM_DB].[dbo].[GroupInfo] as [wdGI] (NOLOCK) ON [wdU2G].[dwGroupID] = [wdGI].[dwGroupID] -- GroupIDs for Groupnames - - INNER JOIN [DD_ECM].[dbo].[TBDD_USER] as [ddUI] (NOLOCK) ON [wdUI].[dwUserID] = [ddUI].[USERID_FK_INT_ECM] -- windream UserID to DD UserID - INNER JOIN [DD_ECM].[dbo].[TBDD_GROUPS_USER] as [ddU2G] (NOLOCK) ON [ddUI].[GUID] = [ddU2G].[USER_ID] -- UserID for GroupsID - INNER JOIN [DD_ECM].[dbo].[TBDD_GROUPS] as [ddGI] (NOLOCK) ON [ddU2G].[GROUP_ID] = [ddGI].[GUID] -- GroupIDs for Groupnames - - WHERE UPPER([wdGI].[szGroupName]) = UPPER([ddGI].[NAME]) - AND [wdBA].[dwDocID] = @windreamDocID GO \ No newline at end of file diff --git a/05_ToolCollection/CreateObjects_TBTC.sql b/05_ToolCollection/CreateObjects_TBTC.sql index 37cbfd5..b36c604 100644 --- a/05_ToolCollection/CreateObjects_TBTC.sql +++ b/05_ToolCollection/CreateObjects_TBTC.sql @@ -1,6 +1,3 @@ -USE [DD_ECM] -GO - SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON @@ -44,7 +41,7 @@ CREATE TABLE [dbo].[TBTC_FIH_PROFILE]( CONSTRAINT [PK_TBTC_FIH_PROFILE] PRIMARY KEY CLUSTERED ( [GUID] ASC -)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY] +)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] GO CREATE TRIGGER [dbo].[TBTC_FIH_PROFILE_AFT_UPD] ON [dbo].[TBTC_FIH_PROFILE] @@ -76,7 +73,7 @@ CREATE TABLE [dbo].[TBTC_FIH_PROFILE_RIGHTS_RULE]( CONSTRAINT [PK_TBTC_FIH_PROFILE_RIGHTS_RULE] PRIMARY KEY CLUSTERED ( [GUID] ASC -)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY] +)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO CREATE TRIGGER [dbo].[TBTC_FIH_PROFILE_RIGHTS_RULE_AFT_UPD] ON [dbo].[TBTC_FIH_PROFILE_RIGHTS_RULE] @@ -107,7 +104,7 @@ CREATE TABLE [dbo].[TBTC_FIH_PROFILE_RIGHTS_TYPE]( CONSTRAINT [PK_TBTC_FIH_PROFILE_RIGHTS_TYPE] PRIMARY KEY CLUSTERED ( [GUID] ASC -)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY] +)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO CREATE TRIGGER [dbo].[TBTC_FIH_PROFILE_RIGHTS_TYPE_AFT_UPD] ON [dbo].[TBTC_FIH_PROFILE_RIGHTS_TYPE] @@ -147,7 +144,7 @@ CREATE TABLE [dbo].[TBTC_FIH_PROFILE_RULE]( CONSTRAINT [PK_TBTC_FIH_PROFILE_RULE] PRIMARY KEY CLUSTERED ( [GUID] ASC -)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY] +)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] GO CREATE TRIGGER [dbo].[TBTC_FIH_PROFILE_RULE_TYPE_AFT_UPD] ON [dbo].[TBTC_FIH_PROFILE_RULE] @@ -190,7 +187,7 @@ CREATE TABLE [dbo].[TBTC_FIM_PROFILE]( CONSTRAINT [PK_TBTC_FIM_PROFILE] PRIMARY KEY CLUSTERED ( [GUID] ASC -)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY] +)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO CREATE TRIGGER [dbo].[TBTC_FIM_PROFILE_AFT_UPD] ON [dbo].[TBTC_FIM_PROFILE] @@ -230,7 +227,7 @@ CREATE TABLE [dbo].[TBTC_FIM_PROFILE_RULE]( CONSTRAINT [PK_TBTC_FIM_PROFILE_RULE] PRIMARY KEY CLUSTERED ( [GUID] ASC -)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY] +)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO CREATE TRIGGER [dbo].[TBTC_FIM_PROFILE_RULE_UPD] ON [dbo].[TBTC_FIM_PROFILE_RULE] diff --git a/05_ToolCollection/Updates/Added2MainScript/1.1.0.0.sql b/05_ToolCollection/Updates/Added2MainScript/1.1.0.0.sql index 6281951..345996f 100644 --- a/05_ToolCollection/Updates/Added2MainScript/1.1.0.0.sql +++ b/05_ToolCollection/Updates/Added2MainScript/1.1.0.0.sql @@ -2,6 +2,8 @@ IF not EXISTS(SELECT GUID FROM TBDD_MODULES WHERE NAME = 'ToolCollection' ) INSERT INTO TBDD_MODULES (NAME, SHORT_NAME, LICENSE,ACTIVE) VALUES ('ToolCollection','TC','kc6j9HSv/UJVAzFjMZv2A3wHZFy+2nNLKP9Qs8g9EVY=',1) UPDATE TBDD_MODULES SET DB_VERSION = '1.1.0.0' where UPPER(NAME) = UPPER('ToolCollection') GO +EXEC sp_rename 'TBTC_DI_REGEX_MATCH.PROFIL_NAME', 'PROFILE_NAME', 'COLUMN'; +GO CREATE FUNCTION [dbo].[FNCUST_GET_TC_WD_RIGHTS] ( @windreamDocID BIGINT ) diff --git a/Scripts_General/Vorlagen (Cursor, Reseed etc).sql b/Scripts_General/Vorlagen (Cursor, Reseed etc).sql index 88ee7e4..334d267 100644 --- a/Scripts_General/Vorlagen (Cursor, Reseed etc).sql +++ b/Scripts_General/Vorlagen (Cursor, Reseed etc).sql @@ -28,7 +28,7 @@ End SELECT type, * FROM sys.objects -WHERE OBJECT_DEFINITION(object_id) LIKE '%NCHAR(39)%' +WHERE OBJECT_DEFINITION(object_id) LIKE '%TBCUST_WM_FOLDERS%' --AND type IN ('V') ORDER BY name