DD-ECm Zugferd templates

taskFLOW open Kontierung in separatem Fenster
This commit is contained in:
Developer01
2026-06-30 11:03:36 +02:00
parent 061feeba3d
commit 8b1ac1ebbf
3 changed files with 307 additions and 4 deletions

View File

@@ -20,12 +20,95 @@ IF NOT EXISTS (
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'dbo'
AND TABLE_NAME = 'TBPM_PROFILE_CONTROLS'
AND COLUMN_NAME = 'DISPLAY_IN_SEPARATE_FORM'
AND COLUMN_NAME = 'DISPLAY_IN_SEPERATE_FORM'
)
BEGIN
PRINT 'Spalte existiert nicht';
ALTER TABLE TBPM_PROFILE_CONTROLS ADD DISPLAY_IN_SEPARATE_FORM BIT NOT NULL DEFAULT 0
ALTER TABLE TBPM_PROFILE_CONTROLS ADD DISPLAY_IN_SEPERATE_FORM BIT NOT NULL DEFAULT 0
END
GO
--24.06.2026 MS Kontierungstabelle as sep Form
ALTER TRIGGER [dbo].[TBPM_PROFILE_CONTROLS_AFT_UPD]
ON [dbo].[TBPM_PROFILE_CONTROLS]
FOR UPDATE
AS
BEGIN
SET NOCOUNT ON;
DECLARE
@NAME VARCHAR(50),
@WHO VARCHAR(100),
@CTRL_TYPE VARCHAR(10),
@CTRL_TEXT VARCHAR(100),
@CTRL_CONFIG_TITLE VARCHAR(100);
SELECT
@NAME = [NAME],
@WHO = CHANGED_WHO,
@CTRL_TYPE = CTRL_TYPE,
@CTRL_TEXT = CTRL_TEXT
FROM inserted;
IF NOT (UPDATE(NAME) OR UPDATE(CTRL_TEXT))
RETURN;
IF @CTRL_TYPE NOT IN ('LBL', 'CHK', 'BUTTON', 'TABLE')
RETURN;
SET @CTRL_CONFIG_TITLE = @CTRL_TYPE + '.' + @NAME;
SET @WHO = ISNULL(NULLIF(LTRIM(@WHO), ''), 'DD Automatic');
-- Eintrag 1: Standard-Titel (für TABLE nur initial mit angepasstem Text)
DECLARE @CTRL_TEXT_INSERT VARCHAR(100) = @CTRL_TEXT;
IF @CTRL_TYPE = 'TABLE'
AND NOT EXISTS (
SELECT 1 FROM TBDD_GUI_LANGUAGE_PHRASE WITH (NOLOCK)
WHERE MODULE = 'PM'
AND CAPT_TYPE = 'Caption Validator Control'
AND TITLE = @CTRL_CONFIG_TITLE
AND OBJ_NAME = 'frmValidator'
)
SET @CTRL_TEXT_INSERT = 'Öffne ' + @CTRL_TEXT + ' in separatem Fenster';
INSERT INTO TBDD_GUI_LANGUAGE_PHRASE
(MODULE, TITLE, LANGUAGE, CAPT_TYPE, STRING1, STRING2, ADDED_WHO, OBJ_NAME)
SELECT 'PM', @CTRL_CONFIG_TITLE, L.LANG_CODE,
'Caption Validator Control', @CTRL_TEXT_INSERT, '', @WHO, 'frmValidator'
FROM TBDD_GUI_LANGUAGE AS L WITH (NOLOCK)
WHERE NOT EXISTS (
SELECT 1 FROM TBDD_GUI_LANGUAGE_PHRASE WITH (NOLOCK)
WHERE MODULE = 'PM'
AND CAPT_TYPE = 'Caption Validator Control'
AND TITLE = @CTRL_CONFIG_TITLE
AND LANGUAGE = L.LANG_CODE
AND OBJ_NAME = 'frmValidator'
);
-- Eintrag 2: Nur für TABLE FORMCAPTION mit originalem CTRL_TEXT und CAPT_TYPE 'FormTitle'
IF @CTRL_TYPE = 'TABLE'
BEGIN
DECLARE @CTRL_CONFIG_TITLE_FC VARCHAR(100) = @CTRL_TYPE + '.' + @NAME + '.FORMCAPTION';
INSERT INTO TBDD_GUI_LANGUAGE_PHRASE
(MODULE, TITLE, LANGUAGE, CAPT_TYPE, STRING1, STRING2, ADDED_WHO, OBJ_NAME)
SELECT 'PM', @CTRL_CONFIG_TITLE_FC, L.LANG_CODE,
'FormTitle', @CTRL_TEXT, '', @WHO, 'frmValidator'
FROM TBDD_GUI_LANGUAGE AS L WITH (NOLOCK)
WHERE NOT EXISTS (
SELECT 1 FROM TBDD_GUI_LANGUAGE_PHRASE WITH (NOLOCK)
WHERE MODULE = 'PM'
AND CAPT_TYPE = 'FormTitle'
AND TITLE = @CTRL_CONFIG_TITLE_FC
AND LANGUAGE = L.LANG_CODE
AND OBJ_NAME = 'frmValidator'
);
END
-- Zeitstempel aktualisieren
UPDATE pc
SET pc.CHANGED_WHEN = GETDATE()
FROM TBPM_PROFILE_CONTROLS AS pc
JOIN inserted AS i ON pc.GUID = i.GUID;
END;