IDEMPIERE-4479 - Allow define columnSql in AD_Field (#710)
* IDEMPIERE-4479 - Allow define columnSql in AD_Field * IDEMPIERE-4479 Added View Update, ColumnSql fix FieldLength * IDEMPIERE-4479 Updated AD_Field Model * IDEMPIERE-4479 MFIeld update model logic * IDEMPIERE-4479 Move Migration scripts to 8.2
This commit is contained in:
parent
98dc9e796c
commit
3e64dc6737
|
@ -1,5 +1,5 @@
|
||||||
CREATE OR REPLACE VIEW ad_field_v AS
|
CREATE OR REPLACE VIEW ad_field_v AS
|
||||||
SELECT t.ad_window_id, f.ad_tab_id, f.ad_field_id, tbl.ad_table_id, f.ad_column_id, f.name, f.description, f.help, f.isdisplayed, f.displaylogic, f.displaylength, f.seqno, f.sortno, f.issameline, f.isheading, f.isfieldonly, f.isreadonly, f.isencrypted AS isencryptedfield, f.obscuretype, c.columnname, c.columnsql, c.fieldlength, COALESCE(f.VFormat, c.VFormat) AS VFormat, COALESCE(f.defaultvalue, c.defaultvalue) AS defaultvalue, c.iskey, c.isparent, COALESCE(f.ismandatory, c.ismandatory) AS ismandatory, c.isidentifier, c.istranslated, COALESCE(f.ad_reference_value_id, c.ad_reference_value_id) AS ad_reference_value_id, c.callout, COALESCE(f.ad_reference_id, c.ad_reference_id) AS ad_reference_id, COALESCE(f.ad_val_rule_id, c.ad_val_rule_id) AS ad_val_rule_id, c.ad_process_id, COALESCE(f.isalwaysupdateable, c.isalwaysupdateable) AS isalwaysupdateable, COALESCE(f.readonlylogic, c.readonlylogic) AS readonlylogic, COALESCE(f.mandatorylogic, c.mandatorylogic) AS mandatorylogic, COALESCE(f.isupdateable, c.isupdateable) AS isupdateable, c.isencrypted AS isencryptedcolumn, COALESCE(f.isselectioncolumn, c.isselectioncolumn) AS isselectioncolumn, tbl.tablename, c.valuemin, c.valuemax, fg.name AS fieldgroup, vr.code AS validationcode, f.included_tab_id, fg.fieldgrouptype, fg.iscollapsedbydefault, COALESCE(f.infofactoryclass, c.infofactoryclass) AS infofactoryclass, c.isautocomplete, COALESCE(f.isallowcopy, c.isallowcopy) AS isallowcopy, f.isdisplayedgrid, f.seqnogrid, c.seqnoselection, f.xposition, f.columnspan, f.numlines, COALESCE(f.istoolbarbutton, c.istoolbarbutton) AS istoolbarbutton, c.formatpattern, f.isadvancedfield, f.isdefaultfocus, c.ad_chart_id, f.ad_labelstyle_id, f.ad_fieldstyle_id, c.pa_dashboardcontent_id, COALESCE(f.placeholder, c.placeholder) AS placeholder, c.ishtml, f.isquickform, COALESCE(f.ad_val_rule_Lookup_id, c.ad_val_rule_Lookup_id) AS ad_val_rule_Lookup_id, vrf.code AS validationcodeLookup
|
SELECT t.ad_window_id, f.ad_tab_id, f.ad_field_id, tbl.ad_table_id, f.ad_column_id, f.name, f.description, f.help, f.isdisplayed, f.displaylogic, f.displaylength, f.seqno, f.sortno, f.issameline, f.isheading, f.isfieldonly, f.isreadonly, f.isencrypted AS isencryptedfield, f.obscuretype, c.columnname, COALESCE(f.columnsql, c.columnsql) AS columnsql, c.fieldlength, COALESCE(f.VFormat, c.VFormat) AS VFormat, COALESCE(f.defaultvalue, c.defaultvalue) AS defaultvalue, c.iskey, c.isparent, COALESCE(f.ismandatory, c.ismandatory) AS ismandatory, c.isidentifier, c.istranslated, COALESCE(f.ad_reference_value_id, c.ad_reference_value_id) AS ad_reference_value_id, c.callout, COALESCE(f.ad_reference_id, c.ad_reference_id) AS ad_reference_id, COALESCE(f.ad_val_rule_id, c.ad_val_rule_id) AS ad_val_rule_id, c.ad_process_id, COALESCE(f.isalwaysupdateable, c.isalwaysupdateable) AS isalwaysupdateable, COALESCE(f.readonlylogic, c.readonlylogic) AS readonlylogic, COALESCE(f.mandatorylogic, c.mandatorylogic) AS mandatorylogic, COALESCE(f.isupdateable, c.isupdateable) AS isupdateable, c.isencrypted AS isencryptedcolumn, COALESCE(f.isselectioncolumn, c.isselectioncolumn) AS isselectioncolumn, tbl.tablename, c.valuemin, c.valuemax, fg.name AS fieldgroup, vr.code AS validationcode, f.included_tab_id, fg.fieldgrouptype, fg.iscollapsedbydefault, COALESCE(f.infofactoryclass, c.infofactoryclass) AS infofactoryclass, c.isautocomplete, COALESCE(f.isallowcopy, c.isallowcopy) AS isallowcopy, f.isdisplayedgrid, f.seqnogrid, c.seqnoselection, f.xposition, f.columnspan, f.numlines, COALESCE(f.istoolbarbutton, c.istoolbarbutton) AS istoolbarbutton, c.formatpattern, f.isadvancedfield, f.isdefaultfocus, c.ad_chart_id, f.ad_labelstyle_id, f.ad_fieldstyle_id, c.pa_dashboardcontent_id, COALESCE(f.placeholder, c.placeholder) AS placeholder, c.ishtml, f.isquickform, COALESCE(f.ad_val_rule_Lookup_id, c.ad_val_rule_Lookup_id) AS ad_val_rule_Lookup_id, vrf.code AS validationcodeLookup
|
||||||
FROM ad_field f
|
FROM ad_field f
|
||||||
JOIN ad_tab t ON f.ad_tab_id = t.ad_tab_id
|
JOIN ad_tab t ON f.ad_tab_id = t.ad_tab_id
|
||||||
LEFT JOIN ad_fieldgroup fg ON f.ad_fieldgroup_id = fg.ad_fieldgroup_id
|
LEFT JOIN ad_fieldgroup fg ON f.ad_fieldgroup_id = fg.ad_fieldgroup_id
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
CREATE OR REPLACE VIEW ad_field_vt AS
|
CREATE OR REPLACE VIEW ad_field_vt AS
|
||||||
SELECT trl.ad_language, t.ad_window_id, f.ad_tab_id, f.ad_field_id, tbl.ad_table_id, f.ad_column_id, trl.name, trl.description, trl.help, f.isdisplayed, f.displaylogic, f.displaylength, f.seqno, f.sortno, f.issameline, f.isheading, f.isfieldonly, f.isreadonly, f.isencrypted AS isencryptedfield, f.obscuretype, c.columnname, c.columnsql, c.fieldlength, COALESCE(f.VFormat, c.VFormat) AS VFormat, COALESCE(f.defaultvalue, c.defaultvalue) AS defaultvalue, c.iskey, c.isparent, COALESCE(f.ismandatory, c.ismandatory) AS ismandatory, c.isidentifier, c.istranslated, COALESCE(f.ad_reference_value_id, c.ad_reference_value_id) AS ad_reference_value_id, c.callout, COALESCE(f.ad_reference_id, c.ad_reference_id) AS ad_reference_id, COALESCE(f.ad_val_rule_id, c.ad_val_rule_id) AS ad_val_rule_id, c.ad_process_id, COALESCE(f.isalwaysupdateable, c.isalwaysupdateable) AS isalwaysupdateable, COALESCE(f.readonlylogic, c.readonlylogic) AS readonlylogic, COALESCE(f.mandatorylogic, c.mandatorylogic) AS mandatorylogic, COALESCE(f.isupdateable, c.isupdateable) AS isupdateable, c.isencrypted AS isencryptedcolumn, COALESCE(f.isselectioncolumn, c.isselectioncolumn) AS isselectioncolumn, tbl.tablename, c.valuemin, c.valuemax, fgt.name AS fieldgroup, vr.code AS validationcode, f.included_tab_id, fg.fieldgrouptype, fg.iscollapsedbydefault, COALESCE(f.infofactoryclass, c.infofactoryclass) AS infofactoryclass, c.isautocomplete, COALESCE(f.isallowcopy, c.isallowcopy) AS isallowcopy, f.isdisplayedgrid, f.seqnogrid, c.seqnoselection, f.xposition, f.columnspan, f.numlines, COALESCE(f.istoolbarbutton, c.istoolbarbutton) AS istoolbarbutton, c.formatpattern, f.isadvancedfield, f.isdefaultfocus, c.ad_chart_id, f.ad_labelstyle_id, f.ad_fieldstyle_id, c.pa_dashboardcontent_id, COALESCE(trl.placeholder, ct.placeholder) AS placeholder, c.ishtml, f.isquickform, COALESCE(f.ad_val_rule_Lookup_id, c.ad_val_rule_Lookup_id) AS ad_val_rule_Lookup_id, vrf.code AS validationcodeLookup
|
SELECT trl.ad_language, t.ad_window_id, f.ad_tab_id, f.ad_field_id, tbl.ad_table_id, f.ad_column_id, trl.name, trl.description, trl.help, f.isdisplayed, f.displaylogic, f.displaylength, f.seqno, f.sortno, f.issameline, f.isheading, f.isfieldonly, f.isreadonly, f.isencrypted AS isencryptedfield, f.obscuretype, c.columnname, COALESCE(f.columnsql, c.columnsql) AS columnsql, c.fieldlength, COALESCE(f.VFormat, c.VFormat) AS VFormat, COALESCE(f.defaultvalue, c.defaultvalue) AS defaultvalue, c.iskey, c.isparent, COALESCE(f.ismandatory, c.ismandatory) AS ismandatory, c.isidentifier, c.istranslated, COALESCE(f.ad_reference_value_id, c.ad_reference_value_id) AS ad_reference_value_id, c.callout, COALESCE(f.ad_reference_id, c.ad_reference_id) AS ad_reference_id, COALESCE(f.ad_val_rule_id, c.ad_val_rule_id) AS ad_val_rule_id, c.ad_process_id, COALESCE(f.isalwaysupdateable, c.isalwaysupdateable) AS isalwaysupdateable, COALESCE(f.readonlylogic, c.readonlylogic) AS readonlylogic, COALESCE(f.mandatorylogic, c.mandatorylogic) AS mandatorylogic, COALESCE(f.isupdateable, c.isupdateable) AS isupdateable, c.isencrypted AS isencryptedcolumn, COALESCE(f.isselectioncolumn, c.isselectioncolumn) AS isselectioncolumn, tbl.tablename, c.valuemin, c.valuemax, fgt.name AS fieldgroup, vr.code AS validationcode, f.included_tab_id, fg.fieldgrouptype, fg.iscollapsedbydefault, COALESCE(f.infofactoryclass, c.infofactoryclass) AS infofactoryclass, c.isautocomplete, COALESCE(f.isallowcopy, c.isallowcopy) AS isallowcopy, f.isdisplayedgrid, f.seqnogrid, c.seqnoselection, f.xposition, f.columnspan, f.numlines, COALESCE(f.istoolbarbutton, c.istoolbarbutton) AS istoolbarbutton, c.formatpattern, f.isadvancedfield, f.isdefaultfocus, c.ad_chart_id, f.ad_labelstyle_id, f.ad_fieldstyle_id, c.pa_dashboardcontent_id, COALESCE(trl.placeholder, ct.placeholder) AS placeholder, c.ishtml, f.isquickform, COALESCE(f.ad_val_rule_Lookup_id, c.ad_val_rule_Lookup_id) AS ad_val_rule_Lookup_id, vrf.code AS validationcodeLookup
|
||||||
FROM ad_field f
|
FROM ad_field f
|
||||||
JOIN ad_field_trl trl ON f.ad_field_id = trl.ad_field_id
|
JOIN ad_field_trl trl ON f.ad_field_id = trl.ad_field_id
|
||||||
JOIN ad_tab t ON f.ad_tab_id = t.ad_tab_id
|
JOIN ad_tab t ON f.ad_tab_id = t.ad_tab_id
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
CREATE OR REPLACE VIEW ad_field_v AS
|
CREATE OR REPLACE VIEW ad_field_v AS
|
||||||
SELECT t.ad_window_id, f.ad_tab_id, f.ad_field_id, tbl.ad_table_id, f.ad_column_id, f.name, f.description, f.help, f.isdisplayed, f.displaylogic, f.displaylength, f.seqno, f.sortno, f.issameline,
|
SELECT t.ad_window_id, f.ad_tab_id, f.ad_field_id, tbl.ad_table_id, f.ad_column_id, f.name, f.description, f.help, f.isdisplayed, f.displaylogic, f.displaylength, f.seqno, f.sortno, f.issameline,
|
||||||
f.isheading, f.isfieldonly, f.isreadonly, f.isencrypted AS isencryptedfield, f.obscuretype, c.columnname, c.columnsql, c.fieldlength, COALESCE(f.VFormat, c.VFormat) AS VFormat, COALESCE(f.defaultvalue, c.defaultvalue) AS defaultvalue,
|
f.isheading, f.isfieldonly, f.isreadonly, f.isencrypted AS isencryptedfield, f.obscuretype, c.columnname, COALESCE(f.columnsql, c.columnsql) AS columnsql, c.fieldlength, COALESCE(f.VFormat, c.VFormat) AS VFormat, COALESCE(f.defaultvalue, c.defaultvalue) AS defaultvalue,
|
||||||
c.iskey, c.isparent, COALESCE(f.ismandatory, c.ismandatory) AS ismandatory, c.isidentifier, c.istranslated, COALESCE(f.ad_reference_value_id, c.ad_reference_value_id) AS ad_reference_value_id,
|
c.iskey, c.isparent, COALESCE(f.ismandatory, c.ismandatory) AS ismandatory, c.isidentifier, c.istranslated, COALESCE(f.ad_reference_value_id, c.ad_reference_value_id) AS ad_reference_value_id,
|
||||||
c.callout, COALESCE(f.ad_reference_id, c.ad_reference_id) AS ad_reference_id, COALESCE(f.ad_val_rule_id, c.ad_val_rule_id) AS ad_val_rule_id, c.ad_process_id, COALESCE(f.isalwaysupdateable, c.isalwaysupdateable) AS isalwaysupdateable,
|
c.callout, COALESCE(f.ad_reference_id, c.ad_reference_id) AS ad_reference_id, COALESCE(f.ad_val_rule_id, c.ad_val_rule_id) AS ad_val_rule_id, c.ad_process_id, COALESCE(f.isalwaysupdateable, c.isalwaysupdateable) AS isalwaysupdateable,
|
||||||
COALESCE(f.readonlylogic, c.readonlylogic) AS readonlylogic, COALESCE(f.mandatorylogic, c.mandatorylogic) AS mandatorylogic, COALESCE(f.isupdateable, c.isupdateable) AS isupdateable,
|
COALESCE(f.readonlylogic, c.readonlylogic) AS readonlylogic, COALESCE(f.mandatorylogic, c.mandatorylogic) AS mandatorylogic, COALESCE(f.isupdateable, c.isupdateable) AS isupdateable,
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
CREATE OR REPLACE VIEW ad_field_vt AS
|
CREATE OR REPLACE VIEW ad_field_vt AS
|
||||||
SELECT trl.ad_language, t.ad_window_id, f.ad_tab_id, f.ad_field_id, tbl.ad_table_id, f.ad_column_id, trl.name, trl.description, trl.help, f.isdisplayed, f.displaylogic, f.displaylength, f.seqno,
|
SELECT trl.ad_language, t.ad_window_id, f.ad_tab_id, f.ad_field_id, tbl.ad_table_id, f.ad_column_id, trl.name, trl.description, trl.help, f.isdisplayed, f.displaylogic, f.displaylength, f.seqno,
|
||||||
f.sortno, f.issameline, f.isheading, f.isfieldonly, f.isreadonly, f.isencrypted AS isencryptedfield, f.obscuretype, c.columnname, c.columnsql, c.fieldlength, COALESCE(f.VFormat, c.VFormat) AS VFormat, COALESCE(f.defaultvalue, c.defaultvalue) AS defaultvalue,
|
f.sortno, f.issameline, f.isheading, f.isfieldonly, f.isreadonly, f.isencrypted AS isencryptedfield, f.obscuretype, c.columnname, COALESCE(f.columnsql, c.columnsql) AS columnsql, c.fieldlength, COALESCE(f.VFormat, c.VFormat) AS VFormat, COALESCE(f.defaultvalue, c.defaultvalue) AS defaultvalue,
|
||||||
c.iskey, c.isparent, COALESCE(f.ismandatory, c.ismandatory) AS ismandatory, c.isidentifier, c.istranslated, COALESCE(f.ad_reference_value_id, c.ad_reference_value_id) AS ad_reference_value_id,
|
c.iskey, c.isparent, COALESCE(f.ismandatory, c.ismandatory) AS ismandatory, c.isidentifier, c.istranslated, COALESCE(f.ad_reference_value_id, c.ad_reference_value_id) AS ad_reference_value_id,
|
||||||
c.callout, COALESCE(f.ad_reference_id, c.ad_reference_id) AS ad_reference_id, COALESCE(f.ad_val_rule_id, c.ad_val_rule_id) AS ad_val_rule_id, c.ad_process_id, COALESCE(f.isalwaysupdateable,
|
c.callout, COALESCE(f.ad_reference_id, c.ad_reference_id) AS ad_reference_id, COALESCE(f.ad_val_rule_id, c.ad_val_rule_id) AS ad_val_rule_id, c.ad_process_id, COALESCE(f.isalwaysupdateable,
|
||||||
c.isalwaysupdateable) AS isalwaysupdateable, COALESCE(f.readonlylogic, c.readonlylogic) AS readonlylogic, COALESCE(f.mandatorylogic, c.mandatorylogic) AS mandatorylogic, COALESCE(f.isupdateable, c.isupdateable) AS isupdateable,
|
c.isalwaysupdateable) AS isalwaysupdateable, COALESCE(f.readonlylogic, c.readonlylogic) AS readonlylogic, COALESCE(f.mandatorylogic, c.mandatorylogic) AS mandatorylogic, COALESCE(f.isupdateable, c.isupdateable) AS isupdateable,
|
||||||
|
|
|
@ -0,0 +1,254 @@
|
||||||
|
SET SQLBLANKLINES ON
|
||||||
|
SET DEFINE OFF
|
||||||
|
|
||||||
|
-- IDEMPIERE-4479
|
||||||
|
-- Jun 3, 2021, 1:36:39 PM CEST
|
||||||
|
INSERT INTO AD_Column (AD_Column_ID,Version,Name,Description,Help,AD_Table_ID,ColumnName,FieldLength,IsKey,IsParent,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsEncrypted,AD_Reference_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Element_ID,IsUpdateable,IsSelectionColumn,EntityType,IsSyncDatabase,IsAlwaysUpdateable,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsAllowCopy,SeqNoSelection,IsToolbarButton,IsSecure,IsHtml) VALUES (214499,0,'Column SQL','Virtual Column (r/o)','You can define virtual columns (not stored in the database). If defined, the Column name is the synonym of the SQL expression defined here. The SQL expression must be valid.<br>
|
||||||
|
Example: "Updated-Created" would list the age of the entry in days',107,'ColumnSQL',255,'N','N','N','N','N',0,'N',10,0,0,'Y',TO_DATE('2021-06-03 13:36:38','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2021-06-03 13:36:38','YYYY-MM-DD HH24:MI:SS'),100,2699,'Y','N','D','N','N','N','Y','5726e9db-774b-4257-956e-ae067fb23f33','Y',0,'N','N','N')
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jun 3, 2021, 1:36:42 PM CEST
|
||||||
|
ALTER TABLE AD_Field ADD ColumnSQL VARCHAR2(255 CHAR) DEFAULT NULL
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jun 3, 2021, 1:37:45 PM CEST
|
||||||
|
INSERT INTO AD_Field (AD_Field_ID,Name,Description,Help,AD_Tab_ID,AD_Column_ID,IsDisplayed,DisplayLength,SeqNo,IsSameLine,IsHeading,IsFieldOnly,IsEncrypted,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,IsReadOnly,IsCentrallyMaintained,EntityType,AD_Field_UU,IsDisplayedGrid,SeqNoGrid,ColumnSpan) VALUES (206665,'Column SQL','Virtual Column (r/o)','You can define virtual columns (not stored in the database). If defined, the Column name is the synonym of the SQL expression defined here. The SQL expression must be valid.<br>
|
||||||
|
Example: "Updated-Created" would list the age of the entry in days',107,214499,'Y',255,500,'N','N','N','N',0,0,'Y',TO_DATE('2021-06-03 13:37:44','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2021-06-03 13:37:44','YYYY-MM-DD HH24:MI:SS'),100,'N','Y','D','f2dc4a54-a4c2-4be4-83b4-0134783c12cd','Y',490,5)
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jun 3, 2021, 1:40:24 PM CEST
|
||||||
|
UPDATE AD_Field SET SeqNo=180, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2021-06-03 13:40:24','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=924
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jun 3, 2021, 1:40:24 PM CEST
|
||||||
|
UPDATE AD_Field SET SeqNo=190, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2021-06-03 13:40:24','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=133
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jun 3, 2021, 1:40:24 PM CEST
|
||||||
|
UPDATE AD_Field SET SeqNo=390, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2021-06-03 13:40:24','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200838
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jun 3, 2021, 1:40:24 PM CEST
|
||||||
|
UPDATE AD_Field SET SeqNo=400, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2021-06-03 13:40:24','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200834
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jun 3, 2021, 1:40:24 PM CEST
|
||||||
|
UPDATE AD_Field SET SeqNo=410, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2021-06-03 13:40:24','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=13424
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jun 3, 2021, 1:40:24 PM CEST
|
||||||
|
UPDATE AD_Field SET SeqNo=420, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2021-06-03 13:40:24','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=62468
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jun 3, 2021, 1:40:24 PM CEST
|
||||||
|
UPDATE AD_Field SET IsDisplayed='Y', SeqNo=440, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, XPosition=4, ColumnSpan=2, IsToolbarButton=NULL,Updated=TO_DATE('2021-06-03 13:40:24','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=206665
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jun 3, 2021, 1:40:24 PM CEST
|
||||||
|
UPDATE AD_Field SET SeqNo=450, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2021-06-03 13:40:24','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=53280
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jun 3, 2021, 1:40:24 PM CEST
|
||||||
|
UPDATE AD_Field SET SeqNo=460, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2021-06-03 13:40:24','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=203500
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jun 3, 2021, 1:40:24 PM CEST
|
||||||
|
UPDATE AD_Field SET SeqNo=470, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2021-06-03 13:40:24','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200836
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jun 3, 2021, 1:40:24 PM CEST
|
||||||
|
UPDATE AD_Field SET SeqNo=480, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2021-06-03 13:40:24','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200835
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jun 3, 2021, 1:40:24 PM CEST
|
||||||
|
UPDATE AD_Field SET SeqNo=490, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2021-06-03 13:40:24','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=136
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jun 3, 2021, 1:40:24 PM CEST
|
||||||
|
UPDATE AD_Field SET SeqNo=500, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2021-06-03 13:40:24','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=139
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jun 3, 2021, 3:42:52 PM CEST
|
||||||
|
UPDATE AD_Column SET FieldLength=4000,Updated=TO_DATE('2021-06-03 15:42:52','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=214499
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jun 3, 2021, 3:42:57 PM CEST
|
||||||
|
ALTER TABLE AD_Field MODIFY ColumnSQL VARCHAR2(4000 CHAR) DEFAULT NULL
|
||||||
|
;
|
||||||
|
|
||||||
|
CREATE OR REPLACE VIEW ad_field_v
|
||||||
|
AS
|
||||||
|
SELECT t.ad_window_id,
|
||||||
|
f.ad_tab_id,
|
||||||
|
f.ad_field_id,
|
||||||
|
tbl.ad_table_id,
|
||||||
|
f.ad_column_id,
|
||||||
|
f.name,
|
||||||
|
f.description,
|
||||||
|
f.help,
|
||||||
|
f.isdisplayed,
|
||||||
|
f.displaylogic,
|
||||||
|
f.displaylength,
|
||||||
|
f.seqno,
|
||||||
|
f.sortno,
|
||||||
|
f.issameline,
|
||||||
|
f.isheading,
|
||||||
|
f.isfieldonly,
|
||||||
|
f.isreadonly,
|
||||||
|
f.isencrypted AS isencryptedfield,
|
||||||
|
f.obscuretype,
|
||||||
|
c.columnname,
|
||||||
|
COALESCE(f.columnsql,c.columnsql) AS columnsql,
|
||||||
|
c.fieldlength,
|
||||||
|
COALESCE(f.VFormat,c.VFormat) AS VFormat,
|
||||||
|
COALESCE(f.defaultvalue,c.defaultvalue) AS defaultvalue,
|
||||||
|
c.iskey,
|
||||||
|
c.isparent,
|
||||||
|
COALESCE(f.ismandatory,c.ismandatory) AS ismandatory,
|
||||||
|
c.isidentifier,
|
||||||
|
c.istranslated,
|
||||||
|
COALESCE(f.ad_reference_value_id,c.ad_reference_value_id) AS ad_reference_value_id,
|
||||||
|
c.callout,
|
||||||
|
COALESCE(f.ad_reference_id,c.ad_reference_id) AS ad_reference_id,
|
||||||
|
COALESCE(f.ad_val_rule_id,c.ad_val_rule_id) AS ad_val_rule_id,
|
||||||
|
c.ad_process_id,
|
||||||
|
COALESCE(f.isalwaysupdateable,c.isalwaysupdateable) AS isalwaysupdateable,
|
||||||
|
COALESCE(f.readonlylogic,c.readonlylogic) AS readonlylogic,
|
||||||
|
COALESCE(f.mandatorylogic,c.mandatorylogic) AS mandatorylogic,
|
||||||
|
COALESCE(f.isupdateable,c.isupdateable) AS isupdateable,
|
||||||
|
c.isencrypted AS isencryptedcolumn,
|
||||||
|
COALESCE(f.isselectioncolumn,c.isselectioncolumn) AS isselectioncolumn,
|
||||||
|
tbl.tablename,
|
||||||
|
c.valuemin,
|
||||||
|
c.valuemax,
|
||||||
|
fg.name AS fieldgroup,
|
||||||
|
vr.code AS validationcode,
|
||||||
|
f.included_tab_id,
|
||||||
|
fg.fieldgrouptype,
|
||||||
|
fg.iscollapsedbydefault,
|
||||||
|
COALESCE(f.infofactoryclass,c.infofactoryclass) AS infofactoryclass,
|
||||||
|
c.isautocomplete,
|
||||||
|
COALESCE(f.isallowcopy,c.isallowcopy) AS isallowcopy,
|
||||||
|
f.isdisplayedgrid,
|
||||||
|
f.seqnogrid,
|
||||||
|
c.seqnoselection,
|
||||||
|
f.xposition,
|
||||||
|
f.columnspan,
|
||||||
|
f.numlines,
|
||||||
|
COALESCE(f.istoolbarbutton,c.istoolbarbutton) AS istoolbarbutton,
|
||||||
|
c.formatpattern,
|
||||||
|
f.isadvancedfield,
|
||||||
|
f.isdefaultfocus,
|
||||||
|
c.ad_chart_id,
|
||||||
|
f.ad_labelstyle_id,
|
||||||
|
f.ad_fieldstyle_id,
|
||||||
|
c.pa_dashboardcontent_id,
|
||||||
|
COALESCE(f.placeholder,c.placeholder) AS placeholder,
|
||||||
|
c.ishtml,
|
||||||
|
f.isquickform,
|
||||||
|
COALESCE(f.ad_val_rule_Lookup_id,c.ad_val_rule_Lookup_id) AS ad_val_rule_Lookup_id,
|
||||||
|
vrf.code AS validationcodeLookup
|
||||||
|
FROM ad_field f
|
||||||
|
JOIN ad_tab t ON f.ad_tab_id = t.ad_tab_id
|
||||||
|
LEFT JOIN ad_fieldgroup fg ON f.ad_fieldgroup_id = fg.ad_fieldgroup_id
|
||||||
|
LEFT JOIN ad_column c ON f.ad_column_id = c.ad_column_id
|
||||||
|
JOIN ad_table tbl ON c.ad_table_id = tbl.ad_table_id
|
||||||
|
LEFT JOIN ad_val_rule vr ON vr.ad_val_rule_id = COALESCE (f.ad_val_rule_id,c.ad_val_rule_id)
|
||||||
|
LEFT JOIN ad_val_rule vrf ON vrf.ad_val_rule_id = COALESCE (f.ad_val_rule_Lookup_id,c.ad_val_rule_Lookup_id)
|
||||||
|
WHERE f.isactive = 'Y'
|
||||||
|
AND c.isactive = 'Y';
|
||||||
|
|
||||||
|
|
||||||
|
CREATE OR REPLACE VIEW ad_field_vt
|
||||||
|
AS
|
||||||
|
SELECT trl.ad_language,
|
||||||
|
t.ad_window_id,
|
||||||
|
f.ad_tab_id,
|
||||||
|
f.ad_field_id,
|
||||||
|
tbl.ad_table_id,
|
||||||
|
f.ad_column_id,
|
||||||
|
trl.name,
|
||||||
|
trl.description,
|
||||||
|
trl.help,
|
||||||
|
f.isdisplayed,
|
||||||
|
f.displaylogic,
|
||||||
|
f.displaylength,
|
||||||
|
f.seqno,
|
||||||
|
f.sortno,
|
||||||
|
f.issameline,
|
||||||
|
f.isheading,
|
||||||
|
f.isfieldonly,
|
||||||
|
f.isreadonly,
|
||||||
|
f.isencrypted AS isencryptedfield,
|
||||||
|
f.obscuretype,
|
||||||
|
c.columnname,
|
||||||
|
COALESCE(f.columnsql,c.columnsql) AS columnsql,
|
||||||
|
c.fieldlength,
|
||||||
|
COALESCE(f.VFormat,c.VFormat) AS VFormat,
|
||||||
|
COALESCE(f.defaultvalue,c.defaultvalue) AS defaultvalue,
|
||||||
|
c.iskey,
|
||||||
|
c.isparent,
|
||||||
|
COALESCE(f.ismandatory,c.ismandatory) AS ismandatory,
|
||||||
|
c.isidentifier,
|
||||||
|
c.istranslated,
|
||||||
|
COALESCE(f.ad_reference_value_id,c.ad_reference_value_id) AS ad_reference_value_id,
|
||||||
|
c.callout,
|
||||||
|
COALESCE(f.ad_reference_id,c.ad_reference_id) AS ad_reference_id,
|
||||||
|
COALESCE(f.ad_val_rule_id,c.ad_val_rule_id) AS ad_val_rule_id,
|
||||||
|
c.ad_process_id,
|
||||||
|
COALESCE(f.isalwaysupdateable,c.isalwaysupdateable) AS isalwaysupdateable,
|
||||||
|
COALESCE(f.readonlylogic,c.readonlylogic) AS readonlylogic,
|
||||||
|
COALESCE(f.mandatorylogic,c.mandatorylogic) AS mandatorylogic,
|
||||||
|
COALESCE(f.isupdateable,c.isupdateable) AS isupdateable,
|
||||||
|
c.isencrypted AS isencryptedcolumn,
|
||||||
|
COALESCE(f.isselectioncolumn,c.isselectioncolumn) AS isselectioncolumn,
|
||||||
|
tbl.tablename,
|
||||||
|
c.valuemin,
|
||||||
|
c.valuemax,
|
||||||
|
fgt.name AS fieldgroup,
|
||||||
|
vr.code AS validationcode,
|
||||||
|
f.included_tab_id,
|
||||||
|
fg.fieldgrouptype,
|
||||||
|
fg.iscollapsedbydefault,
|
||||||
|
COALESCE(f.infofactoryclass,c.infofactoryclass) AS infofactoryclass,
|
||||||
|
c.isautocomplete,
|
||||||
|
COALESCE(f.isallowcopy,c.isallowcopy) AS isallowcopy,
|
||||||
|
f.isdisplayedgrid,
|
||||||
|
f.seqnogrid,
|
||||||
|
c.seqnoselection,
|
||||||
|
f.xposition,
|
||||||
|
f.columnspan,
|
||||||
|
f.numlines,
|
||||||
|
COALESCE(f.istoolbarbutton,c.istoolbarbutton) AS istoolbarbutton,
|
||||||
|
c.formatpattern,
|
||||||
|
f.isadvancedfield,
|
||||||
|
f.isdefaultfocus,
|
||||||
|
c.ad_chart_id,
|
||||||
|
f.ad_labelstyle_id,
|
||||||
|
f.ad_fieldstyle_id,
|
||||||
|
c.pa_dashboardcontent_id,
|
||||||
|
COALESCE(trl.placeholder,ct.placeholder) AS placeholder,
|
||||||
|
c.ishtml,
|
||||||
|
f.isquickform,
|
||||||
|
COALESCE(f.ad_val_rule_Lookup_id,c.ad_val_rule_Lookup_id) AS ad_val_rule_Lookup_id,
|
||||||
|
vrf.code AS validationcodeLookup
|
||||||
|
FROM ad_field f
|
||||||
|
JOIN ad_field_trl trl ON f.ad_field_id = trl.ad_field_id
|
||||||
|
JOIN ad_tab t ON f.ad_tab_id = t.ad_tab_id
|
||||||
|
LEFT JOIN ad_fieldgroup fg ON f.ad_fieldgroup_id = fg.ad_fieldgroup_id
|
||||||
|
LEFT JOIN ad_fieldgroup_trl fgt
|
||||||
|
ON f.ad_fieldgroup_id = fgt.ad_fieldgroup_id
|
||||||
|
AND trl.ad_language = fgt.ad_language
|
||||||
|
LEFT JOIN ad_column c ON f.ad_column_id = c.ad_column_id
|
||||||
|
LEFT JOIN ad_column_trl ct
|
||||||
|
ON f.ad_column_id = ct.ad_column_id
|
||||||
|
AND trl.ad_language = ct.ad_language
|
||||||
|
JOIN ad_table tbl ON c.ad_table_id = tbl.ad_table_id
|
||||||
|
LEFT JOIN ad_val_rule vr ON vr.ad_val_rule_id = COALESCE (f.ad_val_rule_id,c.ad_val_rule_id)
|
||||||
|
LEFT JOIN ad_val_rule vrf ON vrf.ad_val_rule_id = COALESCE (f.ad_val_rule_Lookup_id,c.ad_val_rule_Lookup_id)
|
||||||
|
WHERE f.isactive = 'Y'
|
||||||
|
AND c.isactive = 'Y';
|
||||||
|
|
||||||
|
|
||||||
|
SELECT Register_Migration_Script ('202106031340_IDEMPIERE-4479.sql') FROM DUAL
|
||||||
|
;
|
|
@ -0,0 +1,249 @@
|
||||||
|
-- IDEMPIERE-4479
|
||||||
|
-- Jun 3, 2021, 1:36:39 PM CEST
|
||||||
|
INSERT INTO AD_Column (AD_Column_ID,Version,Name,Description,Help,AD_Table_ID,ColumnName,FieldLength,IsKey,IsParent,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsEncrypted,AD_Reference_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Element_ID,IsUpdateable,IsSelectionColumn,EntityType,IsSyncDatabase,IsAlwaysUpdateable,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsAllowCopy,SeqNoSelection,IsToolbarButton,IsSecure,IsHtml) VALUES (214499,0,'Column SQL','Virtual Column (r/o)','You can define virtual columns (not stored in the database). If defined, the Column name is the synonym of the SQL expression defined here. The SQL expression must be valid.<br>
|
||||||
|
Example: "Updated-Created" would list the age of the entry in days',107,'ColumnSQL',255,'N','N','N','N','N',0,'N',10,0,0,'Y',TO_TIMESTAMP('2021-06-03 13:36:38','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2021-06-03 13:36:38','YYYY-MM-DD HH24:MI:SS'),100,2699,'Y','N','D','N','N','N','Y','5726e9db-774b-4257-956e-ae067fb23f33','Y',0,'N','N','N')
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jun 3, 2021, 1:36:42 PM CEST
|
||||||
|
ALTER TABLE AD_Field ADD COLUMN ColumnSQL VARCHAR(255) DEFAULT NULL
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jun 3, 2021, 1:37:45 PM CEST
|
||||||
|
INSERT INTO AD_Field (AD_Field_ID,Name,Description,Help,AD_Tab_ID,AD_Column_ID,IsDisplayed,DisplayLength,SeqNo,IsSameLine,IsHeading,IsFieldOnly,IsEncrypted,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,IsReadOnly,IsCentrallyMaintained,EntityType,AD_Field_UU,IsDisplayedGrid,SeqNoGrid,ColumnSpan) VALUES (206665,'Column SQL','Virtual Column (r/o)','You can define virtual columns (not stored in the database). If defined, the Column name is the synonym of the SQL expression defined here. The SQL expression must be valid.<br>
|
||||||
|
Example: "Updated-Created" would list the age of the entry in days',107,214499,'Y',255,500,'N','N','N','N',0,0,'Y',TO_TIMESTAMP('2021-06-03 13:37:44','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2021-06-03 13:37:44','YYYY-MM-DD HH24:MI:SS'),100,'N','Y','D','f2dc4a54-a4c2-4be4-83b4-0134783c12cd','Y',490,5)
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jun 3, 2021, 1:40:24 PM CEST
|
||||||
|
UPDATE AD_Field SET SeqNo=180, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2021-06-03 13:40:24','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=924
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jun 3, 2021, 1:40:24 PM CEST
|
||||||
|
UPDATE AD_Field SET SeqNo=190, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2021-06-03 13:40:24','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=133
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jun 3, 2021, 1:40:24 PM CEST
|
||||||
|
UPDATE AD_Field SET SeqNo=390, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2021-06-03 13:40:24','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200838
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jun 3, 2021, 1:40:24 PM CEST
|
||||||
|
UPDATE AD_Field SET SeqNo=400, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2021-06-03 13:40:24','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200834
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jun 3, 2021, 1:40:24 PM CEST
|
||||||
|
UPDATE AD_Field SET SeqNo=410, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2021-06-03 13:40:24','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=13424
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jun 3, 2021, 1:40:24 PM CEST
|
||||||
|
UPDATE AD_Field SET SeqNo=420, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2021-06-03 13:40:24','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=62468
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jun 3, 2021, 1:40:24 PM CEST
|
||||||
|
UPDATE AD_Field SET IsDisplayed='Y', SeqNo=440, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, XPosition=4, ColumnSpan=2, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2021-06-03 13:40:24','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=206665
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jun 3, 2021, 1:40:24 PM CEST
|
||||||
|
UPDATE AD_Field SET SeqNo=450, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2021-06-03 13:40:24','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=53280
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jun 3, 2021, 1:40:24 PM CEST
|
||||||
|
UPDATE AD_Field SET SeqNo=460, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2021-06-03 13:40:24','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=203500
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jun 3, 2021, 1:40:24 PM CEST
|
||||||
|
UPDATE AD_Field SET SeqNo=470, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2021-06-03 13:40:24','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200836
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jun 3, 2021, 1:40:24 PM CEST
|
||||||
|
UPDATE AD_Field SET SeqNo=480, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2021-06-03 13:40:24','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200835
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jun 3, 2021, 1:40:24 PM CEST
|
||||||
|
UPDATE AD_Field SET SeqNo=490, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2021-06-03 13:40:24','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=136
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jun 3, 2021, 1:40:24 PM CEST
|
||||||
|
UPDATE AD_Field SET SeqNo=500, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2021-06-03 13:40:24','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=139
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jun 3, 2021, 3:42:52 PM CEST
|
||||||
|
UPDATE AD_Column SET FieldLength=4000,Updated=TO_TIMESTAMP('2021-06-03 15:42:52','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=214499
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Jun 3, 2021, 3:42:57 PM CEST
|
||||||
|
INSERT INTO t_alter_column values('ad_field','ColumnSQL','VARCHAR(4000)',null,'NULL')
|
||||||
|
;
|
||||||
|
|
||||||
|
CREATE OR REPLACE VIEW ad_field_v
|
||||||
|
AS
|
||||||
|
SELECT t.ad_window_id,
|
||||||
|
f.ad_tab_id,
|
||||||
|
f.ad_field_id,
|
||||||
|
tbl.ad_table_id,
|
||||||
|
f.ad_column_id,
|
||||||
|
f.name,
|
||||||
|
f.description,
|
||||||
|
f.help,
|
||||||
|
f.isdisplayed,
|
||||||
|
f.displaylogic,
|
||||||
|
f.displaylength,
|
||||||
|
f.seqno,
|
||||||
|
f.sortno,
|
||||||
|
f.issameline,
|
||||||
|
f.isheading,
|
||||||
|
f.isfieldonly,
|
||||||
|
f.isreadonly,
|
||||||
|
f.isencrypted AS isencryptedfield,
|
||||||
|
f.obscuretype,
|
||||||
|
c.columnname,
|
||||||
|
COALESCE(f.columnsql,c.columnsql) AS columnsql,
|
||||||
|
c.fieldlength,
|
||||||
|
COALESCE(f.VFormat,c.VFormat) AS VFormat,
|
||||||
|
COALESCE(f.defaultvalue,c.defaultvalue) AS defaultvalue,
|
||||||
|
c.iskey,
|
||||||
|
c.isparent,
|
||||||
|
COALESCE(f.ismandatory,c.ismandatory) AS ismandatory,
|
||||||
|
c.isidentifier,
|
||||||
|
c.istranslated,
|
||||||
|
COALESCE(f.ad_reference_value_id,c.ad_reference_value_id) AS ad_reference_value_id,
|
||||||
|
c.callout,
|
||||||
|
COALESCE(f.ad_reference_id,c.ad_reference_id) AS ad_reference_id,
|
||||||
|
COALESCE(f.ad_val_rule_id,c.ad_val_rule_id) AS ad_val_rule_id,
|
||||||
|
c.ad_process_id,
|
||||||
|
COALESCE(f.isalwaysupdateable,c.isalwaysupdateable) AS isalwaysupdateable,
|
||||||
|
COALESCE(f.readonlylogic,c.readonlylogic) AS readonlylogic,
|
||||||
|
COALESCE(f.mandatorylogic,c.mandatorylogic) AS mandatorylogic,
|
||||||
|
COALESCE(f.isupdateable,c.isupdateable) AS isupdateable,
|
||||||
|
c.isencrypted AS isencryptedcolumn,
|
||||||
|
COALESCE(f.isselectioncolumn,c.isselectioncolumn) AS isselectioncolumn,
|
||||||
|
tbl.tablename,
|
||||||
|
c.valuemin,
|
||||||
|
c.valuemax,
|
||||||
|
fg.name AS fieldgroup,
|
||||||
|
vr.code AS validationcode,
|
||||||
|
f.included_tab_id,
|
||||||
|
fg.fieldgrouptype,
|
||||||
|
fg.iscollapsedbydefault,
|
||||||
|
COALESCE(f.infofactoryclass,c.infofactoryclass) AS infofactoryclass,
|
||||||
|
c.isautocomplete,
|
||||||
|
COALESCE(f.isallowcopy,c.isallowcopy) AS isallowcopy,
|
||||||
|
f.isdisplayedgrid,
|
||||||
|
f.seqnogrid,
|
||||||
|
c.seqnoselection,
|
||||||
|
f.xposition,
|
||||||
|
f.columnspan,
|
||||||
|
f.numlines,
|
||||||
|
COALESCE(f.istoolbarbutton,c.istoolbarbutton) AS istoolbarbutton,
|
||||||
|
c.formatpattern,
|
||||||
|
f.isadvancedfield,
|
||||||
|
f.isdefaultfocus,
|
||||||
|
c.ad_chart_id,
|
||||||
|
f.ad_labelstyle_id,
|
||||||
|
f.ad_fieldstyle_id,
|
||||||
|
c.pa_dashboardcontent_id,
|
||||||
|
COALESCE(f.placeholder,c.placeholder) AS placeholder,
|
||||||
|
c.ishtml,
|
||||||
|
f.isquickform,
|
||||||
|
COALESCE(f.ad_val_rule_Lookup_id,c.ad_val_rule_Lookup_id) AS ad_val_rule_Lookup_id,
|
||||||
|
vrf.code AS validationcodeLookup
|
||||||
|
FROM ad_field f
|
||||||
|
JOIN ad_tab t ON f.ad_tab_id = t.ad_tab_id
|
||||||
|
LEFT JOIN ad_fieldgroup fg ON f.ad_fieldgroup_id = fg.ad_fieldgroup_id
|
||||||
|
LEFT JOIN ad_column c ON f.ad_column_id = c.ad_column_id
|
||||||
|
JOIN ad_table tbl ON c.ad_table_id = tbl.ad_table_id
|
||||||
|
LEFT JOIN ad_val_rule vr ON vr.ad_val_rule_id = COALESCE (f.ad_val_rule_id,c.ad_val_rule_id)
|
||||||
|
LEFT JOIN ad_val_rule vrf ON vrf.ad_val_rule_id = COALESCE (f.ad_val_rule_Lookup_id,c.ad_val_rule_Lookup_id)
|
||||||
|
WHERE f.isactive = 'Y'
|
||||||
|
AND c.isactive = 'Y';
|
||||||
|
|
||||||
|
|
||||||
|
CREATE OR REPLACE VIEW ad_field_vt
|
||||||
|
AS
|
||||||
|
SELECT trl.ad_language, t.ad_window_id,
|
||||||
|
f.ad_tab_id,f.ad_field_id,
|
||||||
|
tbl.ad_table_id,
|
||||||
|
f.ad_column_id,
|
||||||
|
trl.name,
|
||||||
|
trl.description,
|
||||||
|
trl.help,
|
||||||
|
f.isdisplayed,
|
||||||
|
f.displaylogic,
|
||||||
|
f.displaylength,
|
||||||
|
f.seqno,
|
||||||
|
f.sortno,
|
||||||
|
f.issameline,
|
||||||
|
f.isheading,
|
||||||
|
f.isfieldonly,
|
||||||
|
f.isreadonly,
|
||||||
|
f.isencrypted AS isencryptedfield,
|
||||||
|
f.obscuretype,
|
||||||
|
c.columnname,
|
||||||
|
COALESCE(f.columnsql,c.columnsql) AS columnsql,
|
||||||
|
c.fieldlength,
|
||||||
|
COALESCE(f.VFormat,c.VFormat) AS VFormat,
|
||||||
|
COALESCE(f.defaultvalue,c.defaultvalue) AS defaultvalue,
|
||||||
|
c.iskey,
|
||||||
|
c.isparent,
|
||||||
|
COALESCE(f.ismandatory,c.ismandatory) AS ismandatory,
|
||||||
|
c.isidentifier,
|
||||||
|
c.istranslated,
|
||||||
|
COALESCE(f.ad_reference_value_id,c.ad_reference_value_id) AS ad_reference_value_id,
|
||||||
|
c.callout,
|
||||||
|
COALESCE(f.ad_reference_id,c.ad_reference_id) AS ad_reference_id,
|
||||||
|
COALESCE(f.ad_val_rule_id,c.ad_val_rule_id) AS ad_val_rule_id,
|
||||||
|
c.ad_process_id,
|
||||||
|
COALESCE(f.isalwaysupdateable,c.isalwaysupdateable) AS isalwaysupdateable,
|
||||||
|
COALESCE(f.readonlylogic,c.readonlylogic) AS readonlylogic,
|
||||||
|
COALESCE(f.mandatorylogic,c.mandatorylogic) AS mandatorylogic,
|
||||||
|
COALESCE(f.isupdateable,c.isupdateable) AS isupdateable,
|
||||||
|
c.isencrypted AS isencryptedcolumn,
|
||||||
|
COALESCE(f.isselectioncolumn,c.isselectioncolumn) AS isselectioncolumn,
|
||||||
|
tbl.tablename,
|
||||||
|
c.valuemin,
|
||||||
|
c.valuemax,
|
||||||
|
fgt.name AS fieldgroup,
|
||||||
|
vr.code AS validationcode,
|
||||||
|
f.included_tab_id,
|
||||||
|
fg.fieldgrouptype,
|
||||||
|
fg.iscollapsedbydefault,
|
||||||
|
COALESCE(f.infofactoryclass,c.infofactoryclass) AS infofactoryclass,
|
||||||
|
c.isautocomplete,
|
||||||
|
COALESCE(f.isallowcopy,c.isallowcopy) AS isallowcopy,
|
||||||
|
f.isdisplayedgrid,
|
||||||
|
f.seqnogrid,
|
||||||
|
c.seqnoselection,
|
||||||
|
f.xposition,
|
||||||
|
f.columnspan,
|
||||||
|
f.numlines,
|
||||||
|
COALESCE(f.istoolbarbutton,c.istoolbarbutton) AS istoolbarbutton,
|
||||||
|
c.formatpattern,
|
||||||
|
f.isadvancedfield,
|
||||||
|
f.isdefaultfocus,
|
||||||
|
c.ad_chart_id,
|
||||||
|
f.ad_labelstyle_id,
|
||||||
|
f.ad_fieldstyle_id,
|
||||||
|
c.pa_dashboardcontent_id,
|
||||||
|
COALESCE(trl.placeholder,ct.placeholder) AS placeholder,
|
||||||
|
c.ishtml,
|
||||||
|
f.isquickform,
|
||||||
|
COALESCE(f.ad_val_rule_Lookup_id,c.ad_val_rule_Lookup_id) AS ad_val_rule_Lookup_id,
|
||||||
|
vrf.code AS validationcodeLookup
|
||||||
|
FROM ad_field f
|
||||||
|
JOIN ad_field_trl trl ON f.ad_field_id = trl.ad_field_id
|
||||||
|
JOIN ad_tab t ON f.ad_tab_id = t.ad_tab_id
|
||||||
|
LEFT JOIN ad_fieldgroup fg ON f.ad_fieldgroup_id = fg.ad_fieldgroup_id
|
||||||
|
LEFT JOIN ad_fieldgroup_trl fgt
|
||||||
|
ON f.ad_fieldgroup_id = fgt.ad_fieldgroup_id
|
||||||
|
AND trl.ad_language::TEXT = fgt.ad_language::TEXT
|
||||||
|
LEFT JOIN ad_column c ON f.ad_column_id = c.ad_column_id
|
||||||
|
LEFT JOIN ad_column_trl ct
|
||||||
|
ON f.ad_column_id = ct.ad_column_id
|
||||||
|
AND trl.ad_language::TEXT = ct.ad_language::TEXT
|
||||||
|
JOIN ad_table tbl ON c.ad_table_id = tbl.ad_table_id
|
||||||
|
LEFT JOIN ad_val_rule vr ON vr.ad_val_rule_id = COALESCE (f.ad_val_rule_id,c.ad_val_rule_id)
|
||||||
|
LEFT JOIN ad_val_rule vrf ON vrf.ad_val_rule_id = COALESCE (f.ad_val_rule_Lookup_id,c.ad_val_rule_Lookup_id)
|
||||||
|
WHERE f.isactive = 'Y'
|
||||||
|
AND c.isactive = 'Y';
|
||||||
|
|
||||||
|
|
||||||
|
SELECT Register_Migration_Script ('202106031340_IDEMPIERE-4479.sql') FROM DUAL
|
||||||
|
;
|
|
@ -79,19 +79,6 @@ public interface I_AD_Field
|
||||||
|
|
||||||
public org.compiere.model.I_AD_FieldGroup getAD_FieldGroup() throws RuntimeException;
|
public org.compiere.model.I_AD_FieldGroup getAD_FieldGroup() throws RuntimeException;
|
||||||
|
|
||||||
/** Column name AD_Field_ID */
|
|
||||||
public static final String COLUMNNAME_AD_Field_ID = "AD_Field_ID";
|
|
||||||
|
|
||||||
/** Set Field.
|
|
||||||
* Field on a database table
|
|
||||||
*/
|
|
||||||
public void setAD_Field_ID (int AD_Field_ID);
|
|
||||||
|
|
||||||
/** Get Field.
|
|
||||||
* Field on a database table
|
|
||||||
*/
|
|
||||||
public int getAD_Field_ID();
|
|
||||||
|
|
||||||
/** Column name AD_FieldStyle_ID */
|
/** Column name AD_FieldStyle_ID */
|
||||||
public static final String COLUMNNAME_AD_FieldStyle_ID = "AD_FieldStyle_ID";
|
public static final String COLUMNNAME_AD_FieldStyle_ID = "AD_FieldStyle_ID";
|
||||||
|
|
||||||
|
@ -107,6 +94,19 @@ public interface I_AD_Field
|
||||||
|
|
||||||
public org.compiere.model.I_AD_Style getAD_FieldStyle() throws RuntimeException;
|
public org.compiere.model.I_AD_Style getAD_FieldStyle() throws RuntimeException;
|
||||||
|
|
||||||
|
/** Column name AD_Field_ID */
|
||||||
|
public static final String COLUMNNAME_AD_Field_ID = "AD_Field_ID";
|
||||||
|
|
||||||
|
/** Set Field.
|
||||||
|
* Field on a database table
|
||||||
|
*/
|
||||||
|
public void setAD_Field_ID (int AD_Field_ID);
|
||||||
|
|
||||||
|
/** Get Field.
|
||||||
|
* Field on a database table
|
||||||
|
*/
|
||||||
|
public int getAD_Field_ID();
|
||||||
|
|
||||||
/** Column name AD_Field_UU */
|
/** Column name AD_Field_UU */
|
||||||
public static final String COLUMNNAME_AD_Field_UU = "AD_Field_UU";
|
public static final String COLUMNNAME_AD_Field_UU = "AD_Field_UU";
|
||||||
|
|
||||||
|
@ -219,6 +219,19 @@ public interface I_AD_Field
|
||||||
|
|
||||||
public org.compiere.model.I_AD_Val_Rule getAD_Val_Rule_Lookup() throws RuntimeException;
|
public org.compiere.model.I_AD_Val_Rule getAD_Val_Rule_Lookup() throws RuntimeException;
|
||||||
|
|
||||||
|
/** Column name ColumnSQL */
|
||||||
|
public static final String COLUMNNAME_ColumnSQL = "ColumnSQL";
|
||||||
|
|
||||||
|
/** Set Column SQL.
|
||||||
|
* Virtual Column (r/o)
|
||||||
|
*/
|
||||||
|
public void setColumnSQL (String ColumnSQL);
|
||||||
|
|
||||||
|
/** Get Column SQL.
|
||||||
|
* Virtual Column (r/o)
|
||||||
|
*/
|
||||||
|
public String getColumnSQL();
|
||||||
|
|
||||||
/** Column name ColumnSpan */
|
/** Column name ColumnSpan */
|
||||||
public static final String COLUMNNAME_ColumnSpan = "ColumnSpan";
|
public static final String COLUMNNAME_ColumnSpan = "ColumnSpan";
|
||||||
|
|
||||||
|
|
|
@ -216,13 +216,6 @@ public class MField extends X_AD_Field implements ImmutablePOSupport
|
||||||
setAD_Val_Rule_ID(0);
|
setAD_Val_Rule_ID(0);
|
||||||
setIsToolbarButton(null);
|
setIsToolbarButton(null);
|
||||||
}
|
}
|
||||||
if (isDisplayed()) {
|
|
||||||
MColumn column = (MColumn) getAD_Column();
|
|
||||||
if (column.isVirtualSearchColumn()) {
|
|
||||||
setIsDisplayed(false);
|
|
||||||
setIsDisplayedGrid(false);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
} // beforeSave
|
} // beforeSave
|
||||||
|
|
|
@ -32,7 +32,7 @@ public class X_AD_Field extends PO implements I_AD_Field, I_Persistent
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
private static final long serialVersionUID = 20201220L;
|
private static final long serialVersionUID = 20210604L;
|
||||||
|
|
||||||
/** Standard Constructor */
|
/** Standard Constructor */
|
||||||
public X_AD_Field (Properties ctx, int AD_Field_ID, String trxName)
|
public X_AD_Field (Properties ctx, int AD_Field_ID, String trxName)
|
||||||
|
@ -148,29 +148,6 @@ public class X_AD_Field extends PO implements I_AD_Field, I_Persistent
|
||||||
return ii.intValue();
|
return ii.intValue();
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Set Field.
|
|
||||||
@param AD_Field_ID
|
|
||||||
Field on a database table
|
|
||||||
*/
|
|
||||||
public void setAD_Field_ID (int AD_Field_ID)
|
|
||||||
{
|
|
||||||
if (AD_Field_ID < 1)
|
|
||||||
set_ValueNoCheck (COLUMNNAME_AD_Field_ID, null);
|
|
||||||
else
|
|
||||||
set_ValueNoCheck (COLUMNNAME_AD_Field_ID, Integer.valueOf(AD_Field_ID));
|
|
||||||
}
|
|
||||||
|
|
||||||
/** Get Field.
|
|
||||||
@return Field on a database table
|
|
||||||
*/
|
|
||||||
public int getAD_Field_ID ()
|
|
||||||
{
|
|
||||||
Integer ii = (Integer)get_Value(COLUMNNAME_AD_Field_ID);
|
|
||||||
if (ii == null)
|
|
||||||
return 0;
|
|
||||||
return ii.intValue();
|
|
||||||
}
|
|
||||||
|
|
||||||
public org.compiere.model.I_AD_Style getAD_FieldStyle() throws RuntimeException
|
public org.compiere.model.I_AD_Style getAD_FieldStyle() throws RuntimeException
|
||||||
{
|
{
|
||||||
return (org.compiere.model.I_AD_Style)MTable.get(getCtx(), org.compiere.model.I_AD_Style.Table_Name)
|
return (org.compiere.model.I_AD_Style)MTable.get(getCtx(), org.compiere.model.I_AD_Style.Table_Name)
|
||||||
|
@ -199,6 +176,29 @@ public class X_AD_Field extends PO implements I_AD_Field, I_Persistent
|
||||||
return ii.intValue();
|
return ii.intValue();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Set Field.
|
||||||
|
@param AD_Field_ID
|
||||||
|
Field on a database table
|
||||||
|
*/
|
||||||
|
public void setAD_Field_ID (int AD_Field_ID)
|
||||||
|
{
|
||||||
|
if (AD_Field_ID < 1)
|
||||||
|
set_ValueNoCheck (COLUMNNAME_AD_Field_ID, null);
|
||||||
|
else
|
||||||
|
set_ValueNoCheck (COLUMNNAME_AD_Field_ID, Integer.valueOf(AD_Field_ID));
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Get Field.
|
||||||
|
@return Field on a database table
|
||||||
|
*/
|
||||||
|
public int getAD_Field_ID ()
|
||||||
|
{
|
||||||
|
Integer ii = (Integer)get_Value(COLUMNNAME_AD_Field_ID);
|
||||||
|
if (ii == null)
|
||||||
|
return 0;
|
||||||
|
return ii.intValue();
|
||||||
|
}
|
||||||
|
|
||||||
/** Set AD_Field_UU.
|
/** Set AD_Field_UU.
|
||||||
@param AD_Field_UU AD_Field_UU */
|
@param AD_Field_UU AD_Field_UU */
|
||||||
public void setAD_Field_UU (String AD_Field_UU)
|
public void setAD_Field_UU (String AD_Field_UU)
|
||||||
|
@ -381,6 +381,23 @@ public class X_AD_Field extends PO implements I_AD_Field, I_Persistent
|
||||||
return ii.intValue();
|
return ii.intValue();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Set Column SQL.
|
||||||
|
@param ColumnSQL
|
||||||
|
Virtual Column (r/o)
|
||||||
|
*/
|
||||||
|
public void setColumnSQL (String ColumnSQL)
|
||||||
|
{
|
||||||
|
set_Value (COLUMNNAME_ColumnSQL, ColumnSQL);
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Get Column SQL.
|
||||||
|
@return Virtual Column (r/o)
|
||||||
|
*/
|
||||||
|
public String getColumnSQL ()
|
||||||
|
{
|
||||||
|
return (String)get_Value(COLUMNNAME_ColumnSQL);
|
||||||
|
}
|
||||||
|
|
||||||
/** Set Column Span.
|
/** Set Column Span.
|
||||||
@param ColumnSpan
|
@param ColumnSpan
|
||||||
Number of column for a box of field
|
Number of column for a box of field
|
||||||
|
|
Loading…
Reference in New Issue