Merge development (859fa5991fa8) into zk7 branch

This commit is contained in:
Carlos Ruiz 2014-07-03 16:44:22 -05:00
commit 20c500553a
63 changed files with 2788 additions and 216 deletions

View File

@ -0,0 +1,23 @@
create view M_InoutLineMA_Returned as
SELECT sma.m_inoutline_id,
sma.m_attributesetinstance_id,
sma.ad_client_id,
sma.ad_org_id,
sma.isactive,
sma.created,
sma.createdby,
sma.updated,
sma.updatedby,
sma.movementqty,
sma.m_inoutlinema_uu,
sma.datematerialpolicy,
sma.isautogenerated,
sum (crma.movementqty) returnedQty
FROM M_InoutLineMA sma inner join M_InoutLine sl on (sma.M_InoutLine_ID =sl.M_InoutLine_ID)
inner join M_InOut sio on (sio.M_InOut_ID=sl.M_InOut_ID) left join M_RMALine rl on (rl.M_InOutLine_ID = sl.M_InOutLine_ID )
left join M_InoutLine crl on (rl.M_RMALine_ID =crl.M_RMALine_ID)
left join M_inout cr on (cr.M_Inout_ID = crl.M_Inout_ID and not cr.docstatus in ('CO','RE'))
left join M_InoutLineMA crma on (crma.M_InoutLine_Id = crl.M_InoutLine_ID and sma.M_AttributeSetInstance_ID=crma.M_AttributeSetInstance_ID)
group by sma.M_AttributeSetInstance_ID,sma.m_inoutline_id,sma.ad_client_id,sma.ad_org_id,sma.isactive,sma.created,sma.createdby,sma.updated
,sma.updatedby,sma.movementqty,sma.m_inoutlinema_uu,sma.datematerialpolicy;

View File

@ -0,0 +1,23 @@
create view M_InoutLineMA_Returned as
SELECT sma.m_inoutline_id,
sma.m_attributesetinstance_id,
sma.ad_client_id,
sma.ad_org_id,
sma.isactive,
sma.created,
sma.createdby,
sma.updated,
sma.updatedby,
sma.movementqty,
sma.m_inoutlinema_uu,
sma.datematerialpolicy,
sma.isautogenerated,
sum (crma.movementqty) returnedQty
FROM M_InoutLineMA sma inner join M_InoutLine sl on (sma.M_InoutLine_ID =sl.M_InoutLine_ID)
inner join M_InOut sio on (sio.M_InOut_ID=sl.M_InOut_ID) left join M_RMALine rl on (rl.M_InOutLine_ID = sl.M_InOutLine_ID )
left join M_InoutLine crl on (rl.M_RMALine_ID =crl.M_RMALine_ID)
left join M_inout cr on (cr.M_Inout_ID = crl.M_Inout_ID and not cr.docstatus in ('CO','RE'))
left join M_InoutLineMA crma on (crma.M_InoutLine_Id = crl.M_InoutLine_ID and sma.M_AttributeSetInstance_ID=crma.M_AttributeSetInstance_ID)
group by sma.M_AttributeSetInstance_ID,sma.m_inoutline_id,sma.ad_client_id,sma.ad_org_id,sma.isactive,sma.created,sma.createdby,sma.updated
,sma.updatedby,sma.movementqty,sma.m_inoutlinema_uu,sma.datematerialpolicy;

View File

@ -0,0 +1,200 @@
SET SQLBLANKLINES ON
SET DEFINE OFF
-- Jan 17, 2014 7:55:51 PM CET
-- IDEMPIERE-1697 Ability to filter available column for print format
INSERT INTO AD_Table (AD_Client_ID,AD_Org_ID,AD_Table_ID,AD_Table_UU,AD_Window_ID,AccessLevel,CopyColumnsFromTable,Created,CreatedBy,DatabaseViewDrop,EntityType,ImportTable,IsActive,IsCentrallyMaintained,IsChangeLog,IsDeleteable,IsHighVolume,IsSecurityEnabled,IsView,LoadSeq,Name,Processing,ReplicationType,TableName,Updated,UpdatedBy) VALUES (0,0,200109,'61c4df89-6a05-4cdf-8cfb-f911aefe92b4',180,'4','N',TO_DATE('2014-01-17 19:55:50','YYYY-MM-DD HH24:MI:SS'),100,'N','D','N','Y','Y','N','Y','N','N','N',0,'Report View Selected column','N','L','AD_ReportView_Column',TO_DATE('2014-01-17 19:55:50','YYYY-MM-DD HH24:MI:SS'),100)
;
-- Jan 17, 2014 7:55:56 PM CET
INSERT INTO AD_Sequence (AD_Client_ID,AD_Org_ID,AD_Sequence_ID,AD_Sequence_UU,Created,CreatedBy,CurrentNext,CurrentNextSys,Description,IncrementNo,IsActive,IsAudited,IsAutoSequence,IsTableID,Name,StartNewYear,StartNo,Updated,UpdatedBy) VALUES (0,0,200157,'d643471e-4216-4de0-b8fc-9a9a17567c70',TO_DATE('2014-01-17 19:55:55','YYYY-MM-DD HH24:MI:SS'),100,1000000,200000,'Table AD_ReportView_Column',1,'Y','N','Y','Y','AD_ReportView_Column','N',1000000,TO_DATE('2014-01-17 19:55:55','YYYY-MM-DD HH24:MI:SS'),100)
;
-- Jan 17, 2014 7:56:31 PM CET
INSERT INTO AD_Column (AD_Client_ID,AD_Column_ID,AD_Column_UU,AD_Element_ID,AD_Org_ID,AD_Reference_ID,AD_Table_ID,AD_Val_Rule_ID,ColumnName,Created,CreatedBy,DefaultValue,Description,EntityType,FieldLength,Help,IsActive,IsAllowCopy,IsAllowLogging,IsAlwaysUpdateable,IsAutocomplete,IsEncrypted,IsIdentifier,IsKey,IsMandatory,IsParent,IsSecure,IsSelectionColumn,IsSyncDatabase,IsToolbarButton,IsTranslated,IsUpdateable,Name,ReadOnlyLogic,SeqNo,SeqNoSelection,Updated,UpdatedBy,Version) VALUES (0,210934,'fef5898b-5b3a-4820-9c5c-b49d38f47c4b',102,0,19,200109,116,'AD_Client_ID',TO_DATE('2014-01-17 19:56:30','YYYY-MM-DD HH24:MI:SS'),100,'@#AD_Client_ID@','Client/Tenant for this installation.','D',22,'A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client.','Y','N','Y','N','N','N','N','N','N','N','N','N','N','N','N','N','Client','1=1',0,0,TO_DATE('2014-01-17 19:56:30','YYYY-MM-DD HH24:MI:SS'),100,0)
;
-- Jan 17, 2014 7:57:02 PM CET
INSERT INTO AD_Val_Rule (AD_Client_ID,AD_Org_ID,AD_Val_Rule_ID,AD_Val_Rule_UU,Code,Created,CreatedBy,EntityType,IsActive,Name,Type,Updated,UpdatedBy) VALUES (0,0,200055,'a95018ef-f591-4e92-a494-92d875ae7462','AD_Column.AD_Table_ID=@AD_Table_ID@ AND AD_Column.AD_Column_ID NOT IN (SELECT AD_Column_ID FROM AD_ReportView_Column WHERE AD_ReportView_ID=@AD_ReportView_ID@)',TO_DATE('2014-01-17 19:57:01','YYYY-MM-DD HH24:MI:SS'),100,'D','Y','AD_Column in AD_Table (not present in AD_ReportView_Column)','S',TO_DATE('2014-01-17 19:57:01','YYYY-MM-DD HH24:MI:SS'),100)
;
-- Jan 17, 2014 7:57:32 PM CET
INSERT INTO AD_Column (AD_Client_ID,AD_Column_ID,AD_Column_UU,AD_Element_ID,AD_Org_ID,AD_Reference_ID,AD_Table_ID,AD_Val_Rule_ID,ColumnName,Created,CreatedBy,Description,EntityType,FKConstraintType,FieldLength,Help,IsActive,IsAllowCopy,IsAllowLogging,IsAlwaysUpdateable,IsAutocomplete,IsEncrypted,IsIdentifier,IsKey,IsMandatory,IsParent,IsSecure,IsSelectionColumn,IsSyncDatabase,IsToolbarButton,IsTranslated,IsUpdateable,Name,SeqNo,SeqNoSelection,Updated,UpdatedBy,Version) VALUES (0,210935,'e5fe354e-7566-4a08-a601-b0d97ca5f186',104,0,19,200109,200055,'AD_Column_ID',TO_DATE('2014-01-17 19:57:32','YYYY-MM-DD HH24:MI:SS'),100,'Column in the table','D','N',22,'Link to the database column of the table','Y','Y','Y','N','N','N','N','N','Y','Y','N','N','N','N','N','N','Column',0,0,TO_DATE('2014-01-17 19:57:32','YYYY-MM-DD HH24:MI:SS'),100,0)
;
-- Jan 17, 2014 7:57:50 PM CET
INSERT INTO AD_Column (AD_Client_ID,AD_Column_ID,AD_Column_UU,AD_Element_ID,AD_Org_ID,AD_Reference_ID,AD_Table_ID,AD_Val_Rule_ID,ColumnName,Created,CreatedBy,DefaultValue,Description,EntityType,FieldLength,Help,IsActive,IsAllowCopy,IsAllowLogging,IsAlwaysUpdateable,IsAutocomplete,IsEncrypted,IsIdentifier,IsKey,IsMandatory,IsParent,IsSecure,IsSelectionColumn,IsSyncDatabase,IsToolbarButton,IsTranslated,IsUpdateable,Name,SeqNo,SeqNoSelection,Updated,UpdatedBy,Version) VALUES (0,210936,'60086644-8471-499c-bf88-44478e949c93',113,0,19,200109,148,'AD_Org_ID',TO_DATE('2014-01-17 19:57:50','YYYY-MM-DD HH24:MI:SS'),100,'@#AD_Org_ID@','Organizational entity within client','D',22,'An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations.','Y','N','Y','N','N','N','N','N','Y','N','N','N','N','N','N','N','Organization',0,0,TO_DATE('2014-01-17 19:57:50','YYYY-MM-DD HH24:MI:SS'),100,0)
;
-- Jan 17, 2014 7:58:03 PM CET
INSERT INTO AD_Element (AD_Client_ID,AD_Element_ID,AD_Element_UU,AD_Org_ID,ColumnName,Created,CreatedBy,EntityType,IsActive,Name,PrintName,Updated,UpdatedBy) VALUES (0,202644,'befda76c-f925-4b83-9a67-dc04aee798fe',0,'AD_ReportView_Column_UU',TO_DATE('2014-01-17 19:58:02','YYYY-MM-DD HH24:MI:SS'),100,'D','Y','AD_ReportView_Column_UU','AD_ReportView_Column_UU',TO_DATE('2014-01-17 19:58:02','YYYY-MM-DD HH24:MI:SS'),100)
;
-- Jan 17, 2014 7:58:17 PM CET
INSERT INTO AD_Column (AD_Client_ID,AD_Column_ID,AD_Column_UU,AD_Element_ID,AD_Org_ID,AD_Reference_ID,AD_Table_ID,ColumnName,Created,CreatedBy,EntityType,FKConstraintType,FieldLength,IsActive,IsAllowCopy,IsAllowLogging,IsAlwaysUpdateable,IsAutocomplete,IsEncrypted,IsIdentifier,IsKey,IsMandatory,IsParent,IsSecure,IsSelectionColumn,IsSyncDatabase,IsToolbarButton,IsTranslated,IsUpdateable,Name,SeqNo,SeqNoSelection,Updated,UpdatedBy,Version) VALUES (0,210937,'60cbf348-8cbf-4801-a914-60ac3e550bea',202644,0,10,200109,'AD_ReportView_Column_UU',TO_DATE('2014-01-17 19:58:16','YYYY-MM-DD HH24:MI:SS'),100,'D','N',36,'Y','N','Y','N','N','N','N','N','N','N','N','N','N','N','N','N','AD_ReportView_Column_UU',0,0,TO_DATE('2014-01-17 19:58:16','YYYY-MM-DD HH24:MI:SS'),100,0)
;
-- Jan 17, 2014 7:58:21 PM CET
UPDATE AD_Column SET EntityType='D',Updated=TO_DATE('2014-01-17 19:58:21','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=210936
;
-- Jan 17, 2014 7:58:23 PM CET
UPDATE AD_Column SET EntityType='D', IsUpdateable='N',Updated=TO_DATE('2014-01-17 19:58:23','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=210935
;
-- Jan 17, 2014 7:58:47 PM CET
INSERT INTO AD_Column (AD_Client_ID,AD_Column_ID,AD_Column_UU,AD_Element_ID,AD_Org_ID,AD_Reference_ID,AD_Table_ID,ColumnName,Created,CreatedBy,Description,EntityType,FKConstraintType,FieldLength,Help,IsActive,IsAllowCopy,IsAllowLogging,IsAlwaysUpdateable,IsAutocomplete,IsEncrypted,IsIdentifier,IsKey,IsMandatory,IsParent,IsSecure,IsSelectionColumn,IsSyncDatabase,IsToolbarButton,IsTranslated,IsUpdateable,Name,SeqNo,SeqNoSelection,Updated,UpdatedBy,Version) VALUES (0,210938,'6d8f48d0-07e3-49c3-a0e6-5e5539279496',1252,0,30,200109,'AD_ReportView_ID',TO_DATE('2014-01-17 19:58:46','YYYY-MM-DD HH24:MI:SS'),100,'View used to generate this report','D','N',22,'The Report View indicates the view used to generate this report.','Y','Y','Y','N','N','N','N','N','Y','Y','N','N','N','N','N','N','Report View',0,0,TO_DATE('2014-01-17 19:58:46','YYYY-MM-DD HH24:MI:SS'),100,0)
;
-- Jan 17, 2014 7:58:56 PM CET
INSERT INTO AD_Column (AD_Client_ID,AD_Column_ID,AD_Column_UU,AD_Element_ID,AD_Org_ID,AD_Reference_ID,AD_Table_ID,ColumnName,Created,CreatedBy,Description,EntityType,FieldLength,Help,IsActive,IsAllowCopy,IsAllowLogging,IsAlwaysUpdateable,IsAutocomplete,IsEncrypted,IsIdentifier,IsKey,IsMandatory,IsParent,IsSecure,IsSelectionColumn,IsSyncDatabase,IsToolbarButton,IsTranslated,IsUpdateable,Name,SeqNo,SeqNoSelection,Updated,UpdatedBy,Version) VALUES (0,210939,'0a89a617-6e81-4e20-a890-408943ee7e64',245,0,16,200109,'Created',TO_DATE('2014-01-17 19:58:55','YYYY-MM-DD HH24:MI:SS'),100,'Date this record was created','D',7,'The Created field indicates the date that this record was created.','Y','N','Y','N','N','N','N','N','Y','N','N','N','N','N','N','N','Created',0,0,TO_DATE('2014-01-17 19:58:55','YYYY-MM-DD HH24:MI:SS'),100,0)
;
-- Jan 17, 2014 7:59:06 PM CET
INSERT INTO AD_Column (AD_Client_ID,AD_Column_ID,AD_Column_UU,AD_Element_ID,AD_Org_ID,AD_Reference_ID,AD_Reference_Value_ID,AD_Table_ID,ColumnName,Created,CreatedBy,Description,EntityType,FieldLength,Help,IsActive,IsAllowCopy,IsAllowLogging,IsAlwaysUpdateable,IsAutocomplete,IsEncrypted,IsIdentifier,IsKey,IsMandatory,IsParent,IsSecure,IsSelectionColumn,IsSyncDatabase,IsToolbarButton,IsTranslated,IsUpdateable,Name,SeqNo,SeqNoSelection,Updated,UpdatedBy,Version) VALUES (0,210940,'5d88374b-0ec9-4791-856f-816aa6a03ac1',246,0,18,110,200109,'CreatedBy',TO_DATE('2014-01-17 19:59:05','YYYY-MM-DD HH24:MI:SS'),100,'User who created this records','D',22,'The Created By field indicates the user who created this record.','Y','N','Y','N','N','N','N','N','Y','N','N','N','N','N','N','N','Created By',0,0,TO_DATE('2014-01-17 19:59:05','YYYY-MM-DD HH24:MI:SS'),100,0)
;
-- Jan 17, 2014 7:59:18 PM CET
INSERT INTO AD_Column (AD_Client_ID,AD_Column_ID,AD_Column_UU,AD_Element_ID,AD_Org_ID,AD_Reference_ID,AD_Table_ID,ColumnName,Created,CreatedBy,DefaultValue,Description,EntityType,FieldLength,Help,IsActive,IsAllowCopy,IsAllowLogging,IsAlwaysUpdateable,IsAutocomplete,IsEncrypted,IsIdentifier,IsKey,IsMandatory,IsParent,IsSecure,IsSelectionColumn,IsSyncDatabase,IsToolbarButton,IsTranslated,IsUpdateable,Name,SeqNo,SeqNoSelection,Updated,UpdatedBy,Version) VALUES (0,210941,'1ab404bd-25de-432c-8a80-afe50d47c0a5',348,0,20,200109,'IsActive',TO_DATE('2014-01-17 19:59:17','YYYY-MM-DD HH24:MI:SS'),100,'Y','The record is active in the system','D',1,'There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports.
There are two reasons for de-activating and not deleting records:
(1) The system requires the record for audit purposes.
(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries.','Y','N','Y','N','N','N','N','N','Y','N','N','N','N','N','N','Y','Active',0,0,TO_DATE('2014-01-17 19:59:17','YYYY-MM-DD HH24:MI:SS'),100,0)
;
-- Jan 17, 2014 7:59:27 PM CET
INSERT INTO AD_Column (AD_Client_ID,AD_Column_ID,AD_Column_UU,AD_Element_ID,AD_Org_ID,AD_Reference_ID,AD_Table_ID,ColumnName,Created,CreatedBy,Description,EntityType,FieldLength,Help,IsActive,IsAllowCopy,IsAllowLogging,IsAlwaysUpdateable,IsAutocomplete,IsEncrypted,IsIdentifier,IsKey,IsMandatory,IsParent,IsSecure,IsSelectionColumn,IsSyncDatabase,IsToolbarButton,IsTranslated,IsUpdateable,Name,SeqNo,SeqNoSelection,Updated,UpdatedBy,Version) VALUES (0,210942,'d5dc79c0-7fd6-4751-92d3-e944116523ff',607,0,16,200109,'Updated',TO_DATE('2014-01-17 19:59:26','YYYY-MM-DD HH24:MI:SS'),100,'Date this record was updated','D',7,'The Updated field indicates the date that this record was updated.','Y','N','Y','N','N','N','N','N','Y','N','N','N','N','N','N','N','Updated',0,0,TO_DATE('2014-01-17 19:59:26','YYYY-MM-DD HH24:MI:SS'),100,0)
;
-- Jan 17, 2014 7:59:34 PM CET
INSERT INTO AD_Column (AD_Client_ID,AD_Column_ID,AD_Column_UU,AD_Element_ID,AD_Org_ID,AD_Reference_ID,AD_Reference_Value_ID,AD_Table_ID,ColumnName,Created,CreatedBy,Description,EntityType,FieldLength,Help,IsActive,IsAllowCopy,IsAllowLogging,IsAlwaysUpdateable,IsAutocomplete,IsEncrypted,IsIdentifier,IsKey,IsMandatory,IsParent,IsSecure,IsSelectionColumn,IsSyncDatabase,IsToolbarButton,IsTranslated,IsUpdateable,Name,SeqNo,SeqNoSelection,Updated,UpdatedBy,Version) VALUES (0,210943,'c6d3683c-cb92-40d5-9e1b-9622b08b487a',608,0,18,110,200109,'UpdatedBy',TO_DATE('2014-01-17 19:59:34','YYYY-MM-DD HH24:MI:SS'),100,'User who updated this records','D',22,'The Updated By field indicates the user who updated this record.','Y','N','Y','N','N','N','N','N','Y','N','N','N','N','N','N','N','Updated By',0,0,TO_DATE('2014-01-17 19:59:34','YYYY-MM-DD HH24:MI:SS'),100,0)
;
-- Jan 17, 2014 7:59:43 PM CET
UPDATE AD_Column SET EntityType='D', IsUpdateable='N',Updated=TO_DATE('2014-01-17 19:59:43','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=210938
;
-- Jan 17, 2014 8:00:29 PM CET
UPDATE AD_Column SET FKConstraintName='ADClient_ADReportViewColumn', FKConstraintType='N',Updated=TO_DATE('2014-01-17 20:00:29','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=210934
;
-- Jan 17, 2014 8:00:29 PM CET
UPDATE AD_Column SET FKConstraintName='ADColumn_ADReportViewColumn', FKConstraintType='N', IsUpdateable='N',Updated=TO_DATE('2014-01-17 20:00:29','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=210935
;
-- Jan 17, 2014 8:00:29 PM CET
UPDATE AD_Column SET FKConstraintName='ADOrg_ADReportViewColumn', FKConstraintType='N',Updated=TO_DATE('2014-01-17 20:00:29','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=210936
;
-- Jan 17, 2014 8:00:30 PM CET
UPDATE AD_Column SET FKConstraintName='ADReportView_ADReportViewColum', FKConstraintType='N', IsUpdateable='N',Updated=TO_DATE('2014-01-17 20:00:30','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=210938
;
-- Jan 17, 2014 8:00:30 PM CET
UPDATE AD_Column SET FKConstraintName='CreatedBy_ADReportViewColumn', FKConstraintType='N',Updated=TO_DATE('2014-01-17 20:00:30','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=210940
;
-- Jan 17, 2014 8:00:30 PM CET
UPDATE AD_Column SET FKConstraintName='UpdatedBy_ADReportViewColumn', FKConstraintType='N',Updated=TO_DATE('2014-01-17 20:00:30','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=210943
;
-- Jan 17, 2014 8:00:30 PM CET
CREATE TABLE AD_ReportView_Column (AD_Client_ID NUMBER(10) DEFAULT NULL , AD_Column_ID NUMBER(10) NOT NULL, AD_Org_ID NUMBER(10) NOT NULL, AD_ReportView_Column_UU VARCHAR2(36) DEFAULT NULL , AD_ReportView_ID NUMBER(10) NOT NULL, Created DATE NOT NULL, CreatedBy NUMBER(10) NOT NULL, IsActive CHAR(1) DEFAULT 'Y' CHECK (IsActive IN ('Y','N')) NOT NULL, Updated DATE NOT NULL, UpdatedBy NUMBER(10) NOT NULL, CONSTRAINT AD_ReportView_Column_Key PRIMARY KEY (AD_Column_ID, AD_ReportView_ID), CONSTRAINT AD_ReportView_Column_UU_idx UNIQUE (AD_ReportView_Column_UU))
;
-- Jan 17, 2014 8:00:32 PM CET
ALTER TABLE AD_ReportView_Column ADD CONSTRAINT ADClient_ADReportViewColumn FOREIGN KEY (AD_Client_ID) REFERENCES AD_CLIENT(AD_CLIENT_ID) DEFERRABLE INITIALLY DEFERRED
;
-- Jan 17, 2014 8:00:32 PM CET
ALTER TABLE AD_ReportView_Column ADD CONSTRAINT ADColumn_ADReportViewColumn FOREIGN KEY (AD_Column_ID) REFERENCES AD_COLUMN(AD_COLUMN_ID) DEFERRABLE INITIALLY DEFERRED
;
-- Jan 17, 2014 8:00:32 PM CET
ALTER TABLE AD_ReportView_Column ADD CONSTRAINT ADOrg_ADReportViewColumn FOREIGN KEY (AD_Org_ID) REFERENCES AD_ORG(AD_ORG_ID) DEFERRABLE INITIALLY DEFERRED
;
-- Jan 17, 2014 8:00:32 PM CET
ALTER TABLE AD_ReportView_Column ADD CONSTRAINT ADReportView_ADReportViewColum FOREIGN KEY (AD_ReportView_ID) REFERENCES AD_REPORTVIEW(AD_REPORTVIEW_ID) DEFERRABLE INITIALLY DEFERRED
;
-- Jan 17, 2014 8:00:33 PM CET
ALTER TABLE AD_ReportView_Column ADD CONSTRAINT CreatedBy_ADReportViewColumn FOREIGN KEY (CreatedBy) REFERENCES AD_USER(AD_USER_ID) DEFERRABLE INITIALLY DEFERRED
;
-- Jan 17, 2014 8:00:33 PM CET
ALTER TABLE AD_ReportView_Column ADD CONSTRAINT UpdatedBy_ADReportViewColumn FOREIGN KEY (UpdatedBy) REFERENCES AD_USER(AD_USER_ID) DEFERRABLE INITIALLY DEFERRED
;
-- Jan 17, 2014 8:01:17 PM CET
INSERT INTO AD_Tab (AD_Client_ID,AD_Column_ID,AD_Org_ID,AD_Tab_ID,AD_Tab_UU,AD_Table_ID,AD_Window_ID,Created,CreatedBy,EntityType,HasTree,ImportFields,IsActive,IsAdvancedTab,IsInfoTab,IsInsertRecord,IsReadOnly,IsSingleRow,IsSortTab,IsTranslationTab,Name,Processing,SeqNo,TabLevel,Updated,UpdatedBy) VALUES (0,210938,0,200116,'4776b336-7794-48c0-96ec-9a3eed2f8143',200109,180,TO_DATE('2014-01-17 20:01:17','YYYY-MM-DD HH24:MI:SS'),100,'D','N','N','Y','N','N','Y','N','N','N','N','Available Columns','N',30,1,TO_DATE('2014-01-17 20:01:17','YYYY-MM-DD HH24:MI:SS'),100)
;
-- Jan 17, 2014 8:01:19 PM CET
INSERT INTO AD_Field (AD_Client_ID,AD_Column_ID,AD_Field_ID,AD_Field_UU,AD_Org_ID,AD_Tab_ID,ColumnSpan,Created,CreatedBy,Description,DisplayLength,EntityType,Help,IsActive,IsCentrallyMaintained,IsDisplayed,IsDisplayedGrid,IsEncrypted,IsFieldOnly,IsHeading,IsReadOnly,IsSameLine,Name,SeqNo,Updated,UpdatedBy) VALUES (0,210934,202588,'0c47e223-4972-4689-9c92-2734e9814657',0,200116,2,TO_DATE('2014-01-17 20:01:19','YYYY-MM-DD HH24:MI:SS'),100,'Client/Tenant for this installation.',22,'D','A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client.','Y','Y','Y','N','N','N','N','N','N','Client',10,TO_DATE('2014-01-17 20:01:19','YYYY-MM-DD HH24:MI:SS'),100)
;
-- Jan 17, 2014 8:01:21 PM CET
INSERT INTO AD_Field (AD_Client_ID,AD_Column_ID,AD_Field_ID,AD_Field_UU,AD_Org_ID,AD_Tab_ID,ColumnSpan,Created,CreatedBy,Description,DisplayLength,EntityType,Help,IsActive,IsAllowCopy,IsCentrallyMaintained,IsDisplayed,IsDisplayedGrid,IsEncrypted,IsFieldOnly,IsHeading,IsReadOnly,IsSameLine,Name,SeqNo,Updated,UpdatedBy,XPosition) VALUES (0,210936,202589,'708987d3-f611-4f68-aa66-7245b5112e76',0,200116,2,TO_DATE('2014-01-17 20:01:20','YYYY-MM-DD HH24:MI:SS'),100,'Organizational entity within client',22,'D','An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations.','Y','Y','Y','Y','N','N','N','N','N','N','Organization',20,TO_DATE('2014-01-17 20:01:20','YYYY-MM-DD HH24:MI:SS'),100,4)
;
-- Jan 17, 2014 8:01:21 PM CET
INSERT INTO AD_Field (AD_Client_ID,AD_Column_ID,AD_Field_ID,AD_Field_UU,AD_Org_ID,AD_Tab_ID,ColumnSpan,Created,CreatedBy,Description,DisplayLength,EntityType,Help,IsActive,IsCentrallyMaintained,IsDisplayed,IsEncrypted,IsFieldOnly,IsHeading,IsReadOnly,IsSameLine,Name,SeqNo,Updated,UpdatedBy) VALUES (0,210935,202590,'89a6cda0-0a98-43ca-9d40-ee2c62a15994',0,200116,2,TO_DATE('2014-01-17 20:01:21','YYYY-MM-DD HH24:MI:SS'),100,'Column in the table',22,'D','Link to the database column of the table','Y','Y','Y','N','N','N','N','N','Column',30,TO_DATE('2014-01-17 20:01:21','YYYY-MM-DD HH24:MI:SS'),100)
;
-- Jan 17, 2014 8:01:22 PM CET
INSERT INTO AD_Field (AD_Client_ID,AD_Column_ID,AD_Field_ID,AD_Field_UU,AD_Org_ID,AD_Tab_ID,ColumnSpan,Created,CreatedBy,DisplayLength,EntityType,IsActive,IsCentrallyMaintained,IsDisplayed,IsDisplayedGrid,IsEncrypted,IsFieldOnly,IsHeading,IsReadOnly,IsSameLine,Name,SeqNo,Updated,UpdatedBy) VALUES (0,210937,202591,'e9e6dced-10bc-4f72-a808-9a09bf02cca6',0,200116,2,TO_DATE('2014-01-17 20:01:21','YYYY-MM-DD HH24:MI:SS'),100,36,'D','Y','Y','N','N','N','N','N','N','N','AD_ReportView_Column_UU',40,TO_DATE('2014-01-17 20:01:21','YYYY-MM-DD HH24:MI:SS'),100)
;
-- Jan 17, 2014 8:01:23 PM CET
INSERT INTO AD_Field (AD_Client_ID,AD_Column_ID,AD_Field_ID,AD_Field_UU,AD_Org_ID,AD_Tab_ID,ColumnSpan,Created,CreatedBy,Description,DisplayLength,EntityType,Help,IsActive,IsCentrallyMaintained,IsDisplayed,IsEncrypted,IsFieldOnly,IsHeading,IsReadOnly,IsSameLine,Name,SeqNo,Updated,UpdatedBy) VALUES (0,210938,202592,'aeaa9eab-26d1-4a0c-bced-743065cc7aa1',0,200116,2,TO_DATE('2014-01-17 20:01:22','YYYY-MM-DD HH24:MI:SS'),100,'View used to generate this report',22,'D','The Report View indicates the view used to generate this report.','Y','Y','Y','N','N','N','N','N','Report View',50,TO_DATE('2014-01-17 20:01:22','YYYY-MM-DD HH24:MI:SS'),100)
;
-- Jan 17, 2014 8:01:24 PM CET
INSERT INTO AD_Field (AD_Client_ID,AD_Column_ID,AD_Field_ID,AD_Field_UU,AD_Org_ID,AD_Tab_ID,ColumnSpan,Created,CreatedBy,Description,DisplayLength,EntityType,Help,IsActive,IsCentrallyMaintained,IsDisplayed,IsEncrypted,IsFieldOnly,IsHeading,IsReadOnly,IsSameLine,Name,SeqNo,Updated,UpdatedBy,XPosition) VALUES (0,210941,202593,'1321abf5-3832-4c51-82a2-ea9a6b9955f0',0,200116,2,TO_DATE('2014-01-17 20:01:23','YYYY-MM-DD HH24:MI:SS'),100,'The record is active in the system',1,'D','There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports.
There are two reasons for de-activating and not deleting records:
(1) The system requires the record for audit purposes.
(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries.','Y','Y','Y','N','N','N','N','N','Active',60,TO_DATE('2014-01-17 20:01:23','YYYY-MM-DD HH24:MI:SS'),100,2)
;
-- Jan 17, 2014 8:01:59 PM CET
UPDATE AD_Tab SET Description='You can define on this tab which columns will be available as the print format items',Updated=TO_DATE('2014-01-17 20:01:59','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=200116
;
-- Jan 17, 2014 8:02:24 PM CET
UPDATE AD_Field SET SeqNoGrid=10,IsDisplayedGrid='Y' WHERE AD_Field_ID=202592
;
-- Jan 17, 2014 8:02:24 PM CET
UPDATE AD_Field SET SeqNoGrid=20,IsDisplayedGrid='Y' WHERE AD_Field_ID=202590
;
-- Jan 17, 2014 8:02:24 PM CET
UPDATE AD_Field SET SeqNoGrid=30,IsDisplayedGrid='Y' WHERE AD_Field_ID=202593
;
-- Jan 17, 2014 8:02:30 PM CET
UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=202591
;
-- Jan 17, 2014 8:02:30 PM CET
UPDATE AD_Field SET SeqNo=30,IsDisplayed='Y' WHERE AD_Field_ID=202592
;
-- Jan 17, 2014 8:02:30 PM CET
UPDATE AD_Field SET SeqNo=40,IsDisplayed='Y' WHERE AD_Field_ID=202590
;
-- Jan 17, 2014 8:02:30 PM CET
UPDATE AD_Field SET SeqNo=50,IsDisplayed='Y' WHERE AD_Field_ID=202593
;
-- Jan 17, 2014 8:02:46 PM CET
UPDATE AD_Field SET IsSameLine='Y',Updated=TO_DATE('2014-01-17 20:02:46','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202589
;
-- Jan 17, 2014 8:03:16 PM CET
UPDATE AD_Field SET IsSameLine='Y',Updated=TO_DATE('2014-01-17 20:03:16','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202590
;
SELECT register_migration_script('201401172019_IDEMPIERE-1697.sql') FROM dual
;

View File

@ -0,0 +1,75 @@
SET SQLBLANKLINES ON
SET DEFINE OFF
-- May 30, 2014 10:02:41 PM ICT
-- I forgot to set the DICTIONARY_ID_COMMENTS System Configurator
INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,DefaultValue,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,IsSecure,AD_Element_ID,AD_Reference_ID,AD_Table_ID) VALUES (0,'N',0,211273,'N','N','N',0,'N',1,'N','N','N','Y','bf98ee02-ec0f-4279-8577-11b8d267c7a7','Y','IsMandatory','Data entry is required in this column','N','The field must have a value for the record to be saved to the database.','Mandatory','Y',TO_DATE('2014-05-30 22:02:40','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_DATE('2014-05-30 22:02:40','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N','N',392,20,897)
;
-- May 30, 2014 10:02:47 PM ICT
ALTER TABLE AD_InfoColumn ADD IsMandatory CHAR(1) DEFAULT 'N' CHECK (IsMandatory IN ('Y','N'))
;
-- May 30, 2014 10:02:56 PM ICT
UPDATE AD_Column SET IsMandatory='Y',Updated=TO_DATE('2014-05-30 22:02:56','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=211273
;
-- May 30, 2014 10:05:01 PM ICT
INSERT INTO AD_Field (SortNo,IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,CreatedBy,Updated,IsActive,IsDisplayedGrid,SeqNoGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,AD_Column_ID,EntityType,Created) VALUES (0,'N',844,0,'N','N',250,'Y',203049,'N','The field must have a value for the record to be saved to the database.','Data entry is required in this column','Mandatory','0a2c4d46-748b-4451-988b-d9f6931ed62d','Y','N',100,0,100,TO_DATE('2014-05-30 22:05:00','YYYY-MM-DD HH24:MI:SS'),'Y','Y',160,1,'N',0,1,1,'N','N',211273,'D',TO_DATE('2014-05-30 22:05:00','YYYY-MM-DD HH24:MI:SS'))
;
-- May 30, 2014 10:06:40 PM ICT
UPDATE AD_Field SET SeqNo=150, IsDisplayed='Y', XPosition=2, ColumnSpan=2,Updated=TO_DATE('2014-05-30 22:06:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=203049
;
-- May 30, 2014 10:06:40 PM ICT
UPDATE AD_Field SET SeqNo=160, IsDisplayed='Y', XPosition=4,Updated=TO_DATE('2014-05-30 22:06:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=201719
;
-- May 30, 2014 10:06:40 PM ICT
UPDATE AD_Field SET SeqNo=170, IsDisplayed='Y', XPosition=7, ColumnSpan=2,Updated=TO_DATE('2014-05-30 22:06:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=201720
;
-- May 30, 2014 10:06:40 PM ICT
UPDATE AD_Field SET SeqNo=180,Updated=TO_DATE('2014-05-30 22:06:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=201625
;
-- May 30, 2014 10:06:40 PM ICT
UPDATE AD_Field SET SeqNo=190,Updated=TO_DATE('2014-05-30 22:06:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=203048
;
-- May 30, 2014 10:06:40 PM ICT
UPDATE AD_Field SET SeqNo=200,Updated=TO_DATE('2014-05-30 22:06:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=201635
;
-- May 30, 2014 10:06:40 PM ICT
UPDATE AD_Field SET SeqNo=210,Updated=TO_DATE('2014-05-30 22:06:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=201636
;
-- May 30, 2014 10:06:40 PM ICT
UPDATE AD_Field SET SeqNo=220,Updated=TO_DATE('2014-05-30 22:06:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=13603
;
-- May 30, 2014 10:06:40 PM ICT
UPDATE AD_Field SET SeqNo=230,Updated=TO_DATE('2014-05-30 22:06:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=201622
;
-- May 30, 2014 10:06:40 PM ICT
UPDATE AD_Field SET SeqNo=240,Updated=TO_DATE('2014-05-30 22:06:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=201623
;
-- May 30, 2014 10:06:40 PM ICT
UPDATE AD_Field SET SeqNo=250,Updated=TO_DATE('2014-05-30 22:06:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=13597
;
UPDATE ad_infocolumn SET ismandatory = 'N'
;
ALTER TABLE ad_infocolumn MODIFY (ismandatory CHAR(1) NOT NULL)
;
-- Jun 11, 2014 8:59:36 AM ICT
-- I forgot to set the DICTIONARY_ID_COMMENTS System Configurator
UPDATE AD_Field SET DisplayLogic='@IsQueryCriteria@=Y',Updated=TO_DATE('2014-06-11 08:59:36','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=203049
;
SELECT register_migration_script('201405301604_IDEMPIERE-1973.sql') FROM dual
;

View File

@ -0,0 +1,63 @@
SET SQLBLANKLINES ON
SET DEFINE OFF
-- May 31, 2014 10:33:25 AM ICT
-- I forgot to set the DICTIONARY_ID_COMMENTS System Configurator
INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,IsSecure,AD_Element_ID,AD_Reference_ID,AD_Table_ID) VALUES (0,'N',0,211274,'N','N','N',0,'N',2000,'N','N','N','Y','f39fb481-a7f3-477b-924f-653478cf27b5','Y','DisplayLogic','If the Field is displayed, the result determines if the field is actually displayed','format := {expression} [{logic} {expression}]<br>
expression := @{context}@{operand}{value} or @{context}@{operand}{value}<br>
logic := {|}|{&}<br>
context := any global or window context <br>
value := strings or numbers<br>
logic operators := AND or OR with the previous result from left to right <br>
operand := eq{=}, gt{&gt;}, le{&lt;}, not{~^!} <br>
Examples: <br>
'||chr(64)||'AD_Table_ID@=14 | @Language@!GERGER <br>
'||chr(64)||'PriceLimit@>10 | @PriceList@>@PriceActual@<br>
'||chr(64)||'Name@>J<br>
Strings may be in single quotes (optional)','Display Logic','Y',TO_DATE('2014-05-31 10:33:19','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_DATE('2014-05-31 10:33:19','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N','N',283,14,200129)
;
-- May 31, 2014 10:33:35 AM ICT
ALTER TABLE AD_InfoProcess ADD DisplayLogic VARCHAR2(2000) DEFAULT NULL
;
-- May 31, 2014 10:35:29 AM ICT
INSERT INTO AD_Field (SortNo,IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,CreatedBy,Updated,IsActive,IsDisplayedGrid,SeqNoGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,AD_Column_ID,EntityType,Created) VALUES (0,'N',200142,0,'N','N',120,'Y',203050,'N','format := {expression} [{logic} {expression}]<br>
expression := @{context}@{operand}{value} or @{context}@{operand}{value}<br>
logic := {|}|{&}<br>
context := any global or window context <br>
value := strings or numbers<br>
logic operators := AND or OR with the previous result from left to right <br>
operand := eq{=}, gt{&gt;}, le{&lt;}, not{~^!} <br>
Examples: <br>
'||chr(64)||'AD_Table_ID@=14 | @Language@!GERGER <br>
'||chr(64)||'PriceLimit@>10 | @PriceList@>@PriceActual@<br>
'||chr(64)||'Name@>J<br>
Strings may be in single quotes (optional)','If the Field is displayed, the result determines if the field is actually displayed','Display Logic','c6112319-f905-4614-a2ee-f27945e414be','Y','N',100,0,100,TO_DATE('2014-05-31 10:35:23','YYYY-MM-DD HH24:MI:SS'),'Y','Y',60,1,'N',0,1,1,'N','N',211274,'D',TO_DATE('2014-05-31 10:35:23','YYYY-MM-DD HH24:MI:SS'))
;
-- May 31, 2014 10:36:44 AM ICT
UPDATE AD_Field SET SeqNo=50,Updated=TO_DATE('2014-05-31 10:36:44','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=203035
;
-- May 31, 2014 10:36:44 AM ICT
UPDATE AD_Field SET SeqNo=60,Updated=TO_DATE('2014-05-31 10:36:44','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=203036
;
-- May 31, 2014 10:36:44 AM ICT
UPDATE AD_Field SET SeqNo=70,Updated=TO_DATE('2014-05-31 10:36:44','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=203037
;
-- May 31, 2014 10:36:44 AM ICT
UPDATE AD_Field SET SeqNo=80,Updated=TO_DATE('2014-05-31 10:36:44','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=203038
;
-- May 31, 2014 10:36:44 AM ICT
UPDATE AD_Field SET SeqNo=90, ColumnSpan=5,Updated=TO_DATE('2014-05-31 10:36:44','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=203050
;
-- May 31, 2014 10:39:24 AM ICT
UPDATE AD_Field SET SeqNo=90, NumLines=2,Updated=TO_DATE('2014-05-31 10:39:24','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=203050
;
SELECT register_migration_script('201405311604_IDEMPIERE-1972.sql') FROM dual
;

View File

@ -0,0 +1,256 @@
SET SQLBLANKLINES ON
SET DEFINE OFF
-- Apr 14, 2014 5:56:06 PM IST
-- IDEMPIERE-1770 Making Attribute tab Manually editable
INSERT INTO AD_Message (MsgType,MsgText,AD_Message_ID,EntityType,AD_Message_UU,Value,IsActive,Updated,CreatedBy,UpdatedBy,Created,AD_Org_ID,AD_Client_ID) VALUES ('I','More than line qty on attribute tab for line ',200270,'D','4726e9ac-3831-4ca4-b860-23b2364160f0','Over_Qty_On_Attribute_Tab','Y',TO_DATE('2014-04-14 17:56:04','YYYY-MM-DD HH24:MI:SS'),100,100,TO_DATE('2014-04-14 17:56:04','YYYY-MM-DD HH24:MI:SS'),0,0)
;
-- Apr 14, 2014 5:56:27 PM IST
UPDATE AD_Tab SET IsReadOnly='N',Updated=TO_DATE('2014-04-14 17:56:27','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=751
;
-- Apr 14, 2014 6:01:47 PM IST
UPDATE AD_Tab SET IsInsertRecord='Y',Updated=TO_DATE('2014-04-14 18:01:47','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=751
;
-- Apr 14, 2014 6:15:24 PM IST
UPDATE AD_Field SET IsReadOnly='N',Updated=TO_DATE('2014-04-14 18:15:24','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=12194
;
-- Apr 14, 2014 6:15:38 PM IST
UPDATE AD_Field SET IsReadOnly='N',Updated=TO_DATE('2014-04-14 18:15:38','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=12196
;
-- Apr 14, 2014 7:48:10 PM IST
-- IDEMPIERE-1770 Making Attribute tab Manually editable
UPDATE AD_Column SET DefaultValue='@AD_Org_ID@',Updated=TO_DATE('2014-04-14 19:48:10','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=13325
;
-- Apr 14, 2014 7:54:02 PM IST
UPDATE AD_Column SET IsParent='N',Updated=TO_DATE('2014-04-14 19:54:02','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=208342
;
-- Apr 14, 2014 7:56:15 PM IST
UPDATE AD_Column SET IsUpdateable='Y',Updated=TO_DATE('2014-04-14 19:56:15','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=208342
;
-- Apr 15, 2014 4:26:24 PM IST
-- IDEMPIERE-1770 Making Attribute tab Manually editable
INSERT INTO AD_Tab (ImportFields,Processing,IsSingleRow,SeqNo,IsTranslationTab,IsSortTab,HasTree,IsInfoTab,IsReadOnly,IsInsertRecord,IsAdvancedTab,TabLevel,AD_Tab_UU,EntityType,Name,Description,AD_Tab_ID,AD_Org_ID,Created,CreatedBy,Updated,UpdatedBy,IsActive,AD_Table_ID,AD_Client_ID,AD_Window_ID,TreeDisplayedOn) VALUES ('N','N','Y',40,'N','N','N','N','N','Y','N',2,'d771d2e8-42a0-426e-ba58-c4f459bbbc1e','D','Attributes','Product Instance Attribute Material Allocation',200137,0,TO_DATE('2014-04-15 16:26:23','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2014-04-15 16:26:23','YYYY-MM-DD HH24:MI:SS'),100,'Y',762,0,184,'B')
;
-- Apr 15, 2014 4:27:05 PM IST
UPDATE AD_Tab SET SeqNo=50,Updated=TO_DATE('2014-04-15 16:27:05','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=688
;
-- Apr 15, 2014 4:27:20 PM IST
UPDATE AD_Tab SET SeqNo=60,Updated=TO_DATE('2014-04-15 16:27:20','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=689
;
-- Apr 15, 2014 4:27:56 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,IsDisplayedGrid,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',22,'N','N',13324,10,'Y',202855,'N','A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client.','Client/Tenant for this installation.','Client','59fa77cd-26e2-4603-abf3-371353ba0006','Y','N',100,0,TO_DATE('2014-04-15 16:27:55','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2014-04-15 16:27:55','YYYY-MM-DD HH24:MI:SS'),'Y','N',0,2,'D',200137)
;
-- Apr 15, 2014 4:27:57 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,IsAllowCopy,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,XPosition,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',22,'N','N',13325,20,'Y',202856,'N','An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations.','Organizational entity within client','Organization','e46f8fd7-d445-4664-8232-cef0e6bc362b','Y','N','Y',100,0,TO_DATE('2014-04-15 16:27:56','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2014-04-15 16:27:56','YYYY-MM-DD HH24:MI:SS'),'Y',4,0,2,'D',200137)
;
-- Apr 15, 2014 4:27:59 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',22,'N','N',13322,30,'Y',202857,'N','The Shipment/Receipt Line indicates a unique line in a Shipment/Receipt document','Line on Shipment or Receipt document','Shipment/Receipt Line','726ab1f8-fd3f-49b1-a927-b33abb65747e','Y','N',100,0,TO_DATE('2014-04-15 16:27:57','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2014-04-15 16:27:57','YYYY-MM-DD HH24:MI:SS'),'Y',0,2,'D',200137)
;
-- Apr 15, 2014 4:27:59 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',22,'N','N',13323,40,'Y',202858,'N','The values of the actual Product Attribute Instances. The product level attributes are defined on Product level.','Product Attribute Set Instance','Attribute Set Instance','b9e93296-2cd5-47d0-81e3-0923434e82c2','Y','N',100,0,TO_DATE('2014-04-15 16:27:59','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2014-04-15 16:27:59','YYYY-MM-DD HH24:MI:SS'),'Y',0,2,'D',200137)
;
-- Apr 15, 2014 4:28:00 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',22,'N','N',13331,50,'Y',202859,'N','The Movement Quantity indicates the quantity of a product that has been moved.','Quantity of a product moved.','Movement Quantity','92faf768-01a2-4ad7-b4f4-44161d9c6460','Y','N',100,0,TO_DATE('2014-04-15 16:27:59','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2014-04-15 16:27:59','YYYY-MM-DD HH24:MI:SS'),'Y',0,2,'D',200137)
;
-- Apr 15, 2014 4:28:01 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,IsDisplayedGrid,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',36,'N','N',60900,60,'Y',202860,'N','M_InOutLineMA_UU','0c446edf-38f0-4948-8871-591260db1db9','N','N',100,0,TO_DATE('2014-04-15 16:28:00','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2014-04-15 16:28:00','YYYY-MM-DD HH24:MI:SS'),'Y','N',0,2,'D',200137)
;
-- Apr 15, 2014 4:28:01 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',7,'N','N',208342,70,'Y',202861,'N','This field is used to record time used for LIFO and FIFO material policy','Time used for LIFO and FIFO Material Policy','Date Material Policy','92265f55-892e-4814-9922-9bf1c35fd43b','Y','N',100,0,TO_DATE('2014-04-15 16:28:01','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2014-04-15 16:28:01','YYYY-MM-DD HH24:MI:SS'),'Y',0,2,'D',200137)
;
-- Apr 15, 2014 4:28:02 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,XPosition,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',1,'N','N',13326,80,'Y',202862,'N','There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports.
There are two reasons for de-activating and not deleting records:
(1) The system requires the record for audit purposes.
(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries.','The record is active in the system','Active','13f448e6-c398-4ea2-97e8-89c901f24124','Y','N',100,0,TO_DATE('2014-04-15 16:28:01','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2014-04-15 16:28:01','YYYY-MM-DD HH24:MI:SS'),'Y',2,0,2,'D',200137)
;
-- Apr 15, 2014 4:28:44 PM IST
UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=202862
;
-- Apr 15, 2014 4:28:44 PM IST
UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=202860
;
-- Apr 15, 2014 4:28:44 PM IST
UPDATE AD_Field SET SeqNo=60,IsDisplayed='Y' WHERE AD_Field_ID=202861
;
-- Apr 15, 2014 4:29:26 PM IST
UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=202862
;
-- Apr 15, 2014 4:29:26 PM IST
UPDATE AD_Field SET SeqNoGrid=10,IsDisplayedGrid='Y' WHERE AD_Field_ID=202858
;
-- Apr 15, 2014 4:29:26 PM IST
UPDATE AD_Field SET SeqNoGrid=20,IsDisplayedGrid='Y' WHERE AD_Field_ID=202861
;
-- Apr 15, 2014 4:29:26 PM IST
UPDATE AD_Field SET SeqNoGrid=30,IsDisplayedGrid='Y' WHERE AD_Field_ID=202859
;
-- Apr 15, 2014 4:29:26 PM IST
UPDATE AD_Field SET SeqNoGrid=40,IsDisplayedGrid='Y' WHERE AD_Field_ID=202856
;
-- Apr 15, 2014 4:29:26 PM IST
UPDATE AD_Field SET SeqNoGrid=50,IsDisplayedGrid='Y' WHERE AD_Field_ID=202857
;
-- Apr 15, 2014 4:30:34 PM IST
UPDATE AD_Field SET IsReadOnly='Y',Updated=TO_DATE('2014-04-15 16:30:34','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202857
;
-- Apr 15, 2014 4:53:49 PM IST
UPDATE AD_Field SET XPosition=4,Updated=TO_DATE('2014-04-15 16:53:49','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202858
;
-- Apr 15, 2014 4:54:23 PM IST
UPDATE AD_Field SET XPosition=4,Updated=TO_DATE('2014-04-15 16:54:23','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202861
;
-- Apr 16, 2014 6:24:54 PM IST
-- IDEMPIERE-1770 Making Attribute tab Manually editable
INSERT INTO AD_Tab (ImportFields,Processing,IsSingleRow,SeqNo,IsTranslationTab,IsSortTab,HasTree,IsInfoTab,IsReadOnly,IsInsertRecord,IsAdvancedTab,TabLevel,AD_Tab_UU,EntityType,Name,Description,AD_Tab_ID,AD_Org_ID,Created,CreatedBy,Updated,UpdatedBy,IsActive,AD_Table_ID,AD_Client_ID,AD_Window_ID,TreeDisplayedOn) VALUES ('N','N','Y',40,'N','N','N','N','N','Y','N',2,'8cf5abeb-4146-4581-b353-24ee510bcaff','D','Attributes','Product Instance Attribute Material Allocation',200138,0,TO_DATE('2014-04-16 18:24:52','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2014-04-16 18:24:52','YYYY-MM-DD HH24:MI:SS'),100,'Y',762,0,53097,'B')
;
-- Apr 16, 2014 6:25:03 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,IsDisplayedGrid,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',22,'N','N',13324,10,'Y',202863,'N','A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client.','Client/Tenant for this installation.','Client','490b0733-4890-4e19-af23-acd31c1adb2e','Y','N',100,0,TO_DATE('2014-04-16 18:25:02','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2014-04-16 18:25:02','YYYY-MM-DD HH24:MI:SS'),'Y','N',0,2,'D',200138)
;
-- Apr 16, 2014 6:25:04 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,IsAllowCopy,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,XPosition,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',22,'N','N',13325,20,'Y',202864,'N','An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations.','Organizational entity within client','Organization','b4f28546-657c-47cc-9d41-0631c71c1616','Y','N','Y',100,0,TO_DATE('2014-04-16 18:25:03','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2014-04-16 18:25:03','YYYY-MM-DD HH24:MI:SS'),'Y',4,0,2,'D',200138)
;
-- Apr 16, 2014 6:25:04 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',22,'N','N',13322,30,'Y',202865,'N','The Shipment/Receipt Line indicates a unique line in a Shipment/Receipt document','Line on Shipment or Receipt document','Shipment/Receipt Line','f83a86f6-472d-494f-8abf-6b5b84f71f99','Y','N',100,0,TO_DATE('2014-04-16 18:25:04','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2014-04-16 18:25:04','YYYY-MM-DD HH24:MI:SS'),'Y',0,2,'D',200138)
;
-- Apr 16, 2014 6:25:05 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',22,'N','N',13323,40,'Y',202866,'N','The values of the actual Product Attribute Instances. The product level attributes are defined on Product level.','Product Attribute Set Instance','Attribute Set Instance','a81d331b-79d1-450d-9856-945b0d713556','Y','N',100,0,TO_DATE('2014-04-16 18:25:04','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2014-04-16 18:25:04','YYYY-MM-DD HH24:MI:SS'),'Y',0,2,'D',200138)
;
-- Apr 16, 2014 6:25:06 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',22,'N','N',13331,50,'Y',202867,'N','The Movement Quantity indicates the quantity of a product that has been moved.','Quantity of a product moved.','Movement Quantity','637b8625-8cba-4a2c-b67e-fb6d2537e3ae','Y','N',100,0,TO_DATE('2014-04-16 18:25:05','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2014-04-16 18:25:05','YYYY-MM-DD HH24:MI:SS'),'Y',0,2,'D',200138)
;
-- Apr 16, 2014 6:25:07 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,IsDisplayedGrid,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',36,'N','N',60900,60,'Y',202868,'N','M_InOutLineMA_UU','153a008e-e046-4014-b466-7c03e7694ff1','N','N',100,0,TO_DATE('2014-04-16 18:25:06','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2014-04-16 18:25:06','YYYY-MM-DD HH24:MI:SS'),'Y','N',0,2,'D',200138)
;
-- Apr 16, 2014 6:25:07 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',7,'N','N',208342,70,'Y',202869,'N','This field is used to record time used for LIFO and FIFO material policy','Time used for LIFO and FIFO Material Policy','Date Material Policy','74d11884-f339-481d-a278-3eadc2c7cfde','Y','N',100,0,TO_DATE('2014-04-16 18:25:07','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2014-04-16 18:25:07','YYYY-MM-DD HH24:MI:SS'),'Y',0,2,'D',200138)
;
-- Apr 16, 2014 6:25:08 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,XPosition,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',1,'N','N',13326,80,'Y',202870,'N','There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports.
There are two reasons for de-activating and not deleting records:
(1) The system requires the record for audit purposes.
(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries.','The record is active in the system','Active','381c7afe-31bd-4499-a5b5-fbdae4afefaf','Y','N',100,0,TO_DATE('2014-04-16 18:25:07','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2014-04-16 18:25:07','YYYY-MM-DD HH24:MI:SS'),'Y',2,0,2,'D',200138)
;
-- Apr 16, 2014 6:25:49 PM IST
UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=202870
;
-- Apr 16, 2014 6:25:49 PM IST
UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=202868
;
-- Apr 16, 2014 6:25:49 PM IST
UPDATE AD_Field SET SeqNo=60,IsDisplayed='Y' WHERE AD_Field_ID=202869
;
-- Apr 16, 2014 6:27:46 PM IST
UPDATE AD_Field SET IsReadOnly='Y',Updated=TO_DATE('2014-04-16 18:27:46','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202863
;
-- Apr 16, 2014 6:28:41 PM IST
UPDATE AD_Field SET IsReadOnly='Y',Updated=TO_DATE('2014-04-16 18:28:41','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202864
;
-- Apr 16, 2014 6:29:03 PM IST
UPDATE AD_Field SET IsReadOnly='Y',Updated=TO_DATE('2014-04-16 18:29:03','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202865
;
-- Apr 16, 2014 6:29:21 PM IST
UPDATE AD_Field SET XPosition=4,Updated=TO_DATE('2014-04-16 18:29:21','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202866
;
-- Apr 16, 2014 6:29:45 PM IST
UPDATE AD_Field SET XPosition=4,Updated=TO_DATE('2014-04-16 18:29:45','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202869
;
-- Apr 16, 2014 6:30:00 PM IST
UPDATE AD_Tab SET SeqNo=50,Updated=TO_DATE('2014-04-16 18:30:00','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=53274
;
-- Apr 16, 2014 6:30:21 PM IST
UPDATE AD_Tab SET SeqNo=30,Updated=TO_DATE('2014-04-16 18:30:21','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=200138
;
-- Apr 16, 2014 6:30:27 PM IST
UPDATE AD_Tab SET SeqNo=40,Updated=TO_DATE('2014-04-16 18:30:27','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=53273
;
-- Apr 16, 2014 6:30:48 PM IST
UPDATE AD_Tab SET SeqNo=60,Updated=TO_DATE('2014-04-16 18:30:48','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=53275
;
-- Apr 16, 2014 7:52:20 PM IST
-- IDEMPIERE-1770 Making Attribute tab Manually editable
UPDATE AD_Tab SET IsReadOnly='N', IsInsertRecord='Y',Updated=TO_DATE('2014-04-16 19:52:20','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=53279
;
-- Apr 16, 2014 7:52:44 PM IST
UPDATE AD_Field SET IsReadOnly='N',Updated=TO_DATE('2014-04-16 19:52:44','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=57942
;
-- Apr 16, 2014 7:52:52 PM IST
UPDATE AD_Field SET IsReadOnly='N',Updated=TO_DATE('2014-04-16 19:52:52','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=57943
;
-- Apr 16, 2014 7:53:07 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,IsDisplayedGrid,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',36,'N','N',60900,60,'Y',202871,'N','M_InOutLineMA_UU','966b40fa-a67b-4014-adf6-6e4e549357e2','N','N',100,0,TO_DATE('2014-04-16 19:53:06','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2014-04-16 19:53:06','YYYY-MM-DD HH24:MI:SS'),'Y','N',0,2,'D',53279)
;
-- Apr 16, 2014 7:53:08 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',7,'N','N',208342,70,'Y',202872,'N','This field is used to record time used for LIFO and FIFO material policy','Time used for LIFO and FIFO Material Policy','Date Material Policy','1a789397-4670-40f6-9dfd-2f366bd1deb7','Y','N',100,0,TO_DATE('2014-04-16 19:53:07','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2014-04-16 19:53:07','YYYY-MM-DD HH24:MI:SS'),'Y',0,2,'D',53279)
;
-- Apr 16, 2014 7:53:43 PM IST
UPDATE AD_Field SET XPosition=4,Updated=TO_DATE('2014-04-16 19:53:43','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202872
;
-- Apr 16, 2014 8:16:21 PM IST
UPDATE AD_Field SET XPosition=4,Updated=TO_DATE('2014-04-16 20:16:21','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=57942
;
-- Apr 16, 2014 8:17:03 PM IST
UPDATE AD_Field SET XPosition=1,Updated=TO_DATE('2014-04-16 20:17:03','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=57943
;
SELECT register_migration_script('201407010830_IDEMPIERE-1770.sql') FROM dual
;

View File

@ -0,0 +1,84 @@
SET SQLBLANKLINES ON
SET DEFINE OFF
-- Apr 18, 2014 12:49:29 AM IST
-- IDEMPIERE-1770 Making Attribute tab Manually editable
UPDATE AD_Tab SET IsReadOnly='N', IsInsertRecord='Y',Updated=TO_DATE('2014-04-18 00:49:29','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=749
;
-- Apr 18, 2014 12:49:54 AM IST
UPDATE AD_Field SET IsReadOnly='N',Updated=TO_DATE('2014-04-18 00:49:54','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=12182
;
-- Apr 18, 2014 12:49:59 AM IST
UPDATE AD_Field SET IsReadOnly='N',Updated=TO_DATE('2014-04-18 00:49:59','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=12184
;
-- Apr 18, 2014 12:54:05 AM IST
UPDATE AD_Tab SET IsReadOnly='N', IsInsertRecord='Y',Updated=TO_DATE('2014-04-18 00:54:05','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=750
;
-- Apr 18, 2014 12:54:25 AM IST
UPDATE AD_Field SET IsReadOnly='N',Updated=TO_DATE('2014-04-18 00:54:25','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=12188
;
-- Apr 18, 2014 12:54:27 AM IST
UPDATE AD_Field SET IsReadOnly='N',Updated=TO_DATE('2014-04-18 00:54:27','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=12191
;
-- Apr 18, 2014 2:37:40 PM IST
UPDATE AD_Column SET DefaultValue='@AD_Org_ID@',Updated=TO_DATE('2014-04-18 14:37:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=13357
;
-- Apr 18, 2014 3:53:52 PM IST
UPDATE AD_Column SET DefaultValue='@AD_Org_ID@',Updated=TO_DATE('2014-04-18 15:53:52','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=13305
;
-- Apr 20, 2014 11:44:44 AM IST
-- IDEMPIERE-1770 Making Attribute tab Manually editable
UPDATE AD_Column SET IsUpdateable='N',Updated=TO_DATE('2014-04-20 11:44:44','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=13355
;
-- Apr 20, 2014 11:45:36 AM IST
UPDATE AD_Column SET IsUpdateable='N',Updated=TO_DATE('2014-04-20 11:45:36','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=210653
;
-- Apr 20, 2014 11:46:25 AM IST
UPDATE AD_Column SET IsUpdateable='N',Updated=TO_DATE('2014-04-20 11:46:25','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=13303
;
-- Apr 20, 2014 11:46:56 AM IST
UPDATE AD_Column SET IsUpdateable='N',Updated=TO_DATE('2014-04-20 11:46:56','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=210651
;
-- Apr 20, 2014 12:43:45 PM IST
UPDATE AD_Tab SET IsReadOnly='N', IsInsertRecord='Y',Updated=TO_DATE('2014-04-20 12:43:45','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=53134
;
-- Apr 20, 2014 12:43:57 PM IST
UPDATE AD_Field SET IsReadOnly='Y',Updated=TO_DATE('2014-04-20 12:43:57','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=55368
;
-- Apr 20, 2014 12:44:24 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,IsDisplayedGrid,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',36,'N','N',60903,60,'Y',202873,'N','M_InventoryLineMA_UU','56f2de3d-9fa1-4e67-bcd5-cdbfc3199071','N','N',100,0,TO_DATE('2014-04-20 12:44:22','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2014-04-20 12:44:22','YYYY-MM-DD HH24:MI:SS'),'Y','N',0,2,'D',53134)
;
-- Apr 20, 2014 12:44:25 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',7,'N','N',210653,70,'Y',202874,'N','This field is used to record time used for LIFO and FIFO material policy','Time used for LIFO and FIFO Material Policy','Date Material Policy','0d13babb-408e-43c1-ad73-8b5056ef3f5d','Y','N',100,0,TO_DATE('2014-04-20 12:44:24','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2014-04-20 12:44:24','YYYY-MM-DD HH24:MI:SS'),'Y',0,2,'D',53134)
;
-- Apr 20, 2014 12:45:00 PM IST
UPDATE AD_Field SET XPosition=4,Updated=TO_DATE('2014-04-20 12:45:00','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202874
;
-- Apr 20, 2014 12:46:49 PM IST
UPDATE AD_Field SET XPosition=4,Updated=TO_DATE('2014-04-20 12:46:49','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=55364
;
-- Apr 20, 2014 12:48:30 PM IST
UPDATE AD_Field SET XPosition=1,Updated=TO_DATE('2014-04-20 12:48:30','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=55366
;
SELECT register_migration_script('201407010831_IDEMPIERE-1770.sql') FROM dual
;

View File

@ -0,0 +1,111 @@
SET SQLBLANKLINES ON
SET DEFINE OFF
-- May 29, 2014 10:41:22 PM IST
-- I forgot to set the DICTIONARY_ID_COMMENTS System Configurator
INSERT INTO AD_Element (ColumnName,AD_Element_ID,Help,Name,PrintName,AD_Element_UU,Created,Updated,AD_Org_ID,CreatedBy,UpdatedBy,IsActive,AD_Client_ID,EntityType) VALUES ('IsAutoGenerated',202701,'Record is Auto Generated by System.','Auto Generated','Auto Generated','88bf1864-a7b4-490d-836d-ae2eb3a08a97',TO_DATE('2014-05-29 22:41:22','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2014-05-29 22:41:22','YYYY-MM-DD HH24:MI:SS'),0,100,100,'Y',0,'D')
;
-- May 29, 2014 10:41:23 PM IST
INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,DefaultValue,Help,Name,IsAllowCopy,CreatedBy,Updated,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,IsSecure,FKConstraintType,AD_Element_ID,AD_Table_ID) VALUES (0,'Y',0,211211,'N','N','N',0,'N',1,'N',20,'N','N','N','5fa29a45-c0e0-44a6-be20-63a8e05bb836','N','IsAutoGenerated','N','Record is Auto Generated by System.','Auto Generated','N',100,TO_DATE('2014-05-29 22:41:23','YYYY-MM-DD HH24:MI:SS'),0,'Y',TO_DATE('2014-05-29 22:41:23','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N','N','N',202701,762)
;
-- May 29, 2014 10:41:23 PM IST
ALTER TABLE M_InOutLineMA ADD IsAutoGenerated CHAR(1) DEFAULT 'N' CHECK (IsAutoGenerated IN ('Y','N'))
;
-- May 29, 2014 10:41:24 PM IST
INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,IsDisplayedGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,EntityType) VALUES ('N',751,1,'N','N',211211,70,'Y',202878,'Y','Record is Auto Generated by System.','Auto Generated','d94f1477-cb26-41ec-a677-4162d13f5339','Y','N',100,0,TO_DATE('2014-05-29 22:41:24','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2014-05-29 22:41:24','YYYY-MM-DD HH24:MI:SS'),'Y','Y',2,'N',0,2,1,'N','N','D')
;
-- May 29, 2014 10:41:24 PM IST
INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,IsDisplayedGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,EntityType) VALUES ('N',200137,1,'N','N',211211,70,'Y',202879,'Y','Record is Auto Generated by System.','Auto Generated','c50c3d51-cc6a-49a1-919a-2ebd13fbc994','Y','N',100,0,TO_DATE('2014-05-29 22:41:24','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2014-05-29 22:41:24','YYYY-MM-DD HH24:MI:SS'),'Y','Y',2,'N',0,2,1,'N','N','D')
;
-- May 29, 2014 10:41:25 PM IST
INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,DefaultValue,Help,Name,IsAllowCopy,CreatedBy,Updated,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,IsSecure,FKConstraintType,AD_Element_ID,AD_Table_ID) VALUES (0,'Y',0,211212,'N','N','N',0,'N',1,'N',20,'N','N','N','6d814e7b-3f7e-4f51-91f0-f5d6a80a9ec8','N','IsAutoGenerated','N','Record is Auto Generated by System.','Auto Generated','N',100,TO_DATE('2014-05-29 22:41:25','YYYY-MM-DD HH24:MI:SS'),0,'Y',TO_DATE('2014-05-29 22:41:25','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N','N','N',202701,763)
;
-- May 29, 2014 10:41:25 PM IST
ALTER TABLE M_InventoryLineMA ADD IsAutoGenerated CHAR(1) DEFAULT 'N' CHECK (IsAutoGenerated IN ('Y','N'))
;
-- May 29, 2014 10:41:25 PM IST
INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,IsDisplayedGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,EntityType) VALUES ('N',749,1,'N','N',211212,70,'Y',202880,'Y','Record is Auto Generated by System.','Auto Generated','040f311d-d321-46ac-a1b8-0650df7b9b8b','Y','N',100,0,TO_DATE('2014-05-29 22:41:25','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2014-05-29 22:41:25','YYYY-MM-DD HH24:MI:SS'),'Y','Y',2,'N',0,2,1,'N','N','D')
;
-- May 29, 2014 10:41:25 PM IST
INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,DefaultValue,Help,Name,IsAllowCopy,CreatedBy,Updated,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,IsSecure,FKConstraintType,AD_Element_ID,AD_Table_ID) VALUES (0,'Y',0,211213,'N','N','N',0,'N',1,'N',20,'N','N','N','b41d414b-71e2-4df9-a8b7-1c30119eebbf','N','IsAutoGenerated','N','Record is Auto Generated by System.','Auto Generated','N',100,TO_DATE('2014-05-29 22:41:25','YYYY-MM-DD HH24:MI:SS'),0,'Y',TO_DATE('2014-05-29 22:41:25','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N','N','N',202701,764)
;
-- May 29, 2014 10:41:25 PM IST
ALTER TABLE M_MovementLineMA ADD IsAutoGenerated CHAR(1) DEFAULT 'N' CHECK (IsAutoGenerated IN ('Y','N'))
;
-- May 29, 2014 10:41:25 PM IST
INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,IsDisplayedGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,EntityType) VALUES ('N',750,1,'N','N',211213,70,'Y',202881,'Y','Record is Auto Generated by System.','Auto Generated','9e2cc848-53dc-4ad8-916a-bf58ff5c3184','Y','N',100,0,TO_DATE('2014-05-29 22:41:25','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2014-05-29 22:41:25','YYYY-MM-DD HH24:MI:SS'),'Y','Y',2,'N',0,2,1,'N','N','D')
;
-- May 29, 2014 10:41:26 PM IST
INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,IsDisplayedGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,EntityType) VALUES ('N',53134,1,'N','N',211212,80,'Y',202882,'Y','Record is Auto Generated by System.','Auto Generated','c597cd68-10ed-46b0-8d80-f50e68d5f89b','Y','N',100,0,TO_DATE('2014-05-29 22:41:25','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2014-05-29 22:41:25','YYYY-MM-DD HH24:MI:SS'),'Y','Y',2,'N',0,2,1,'N','N','D')
;
-- May 29, 2014 11:01:22 PM IST
-- I forgot to set the DICTIONARY_ID_COMMENTS System Configurator
UPDATE AD_Column SET DefaultValue='1',Updated=TO_DATE('2014-05-29 23:01:22','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=13331
;
-- May 29, 2014 11:01:27 PM IST
ALTER TABLE M_InOutLineMA MODIFY MovementQty NUMBER DEFAULT 1
;
-- May 29, 2014 11:01:27 PM IST
UPDATE M_InOutLineMA SET MovementQty=1 WHERE MovementQty IS NULL
;
-- May 29, 2014 11:04:42 PM IST
UPDATE AD_Column SET DefaultValue='1',Updated=TO_DATE('2014-05-29 23:04:42','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=13363
;
-- May 29, 2014 11:04:47 PM IST
ALTER TABLE M_InventoryLineMA MODIFY MovementQty NUMBER DEFAULT 1
;
-- May 29, 2014 11:04:47 PM IST
UPDATE M_InventoryLineMA SET MovementQty=1 WHERE MovementQty IS NULL
;
-- May 29, 2014 11:06:10 PM IST
UPDATE AD_Column SET DefaultValue='1',Updated=TO_DATE('2014-05-29 23:06:10','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=13311
;
-- May 29, 2014 11:06:14 PM IST
ALTER TABLE M_MovementLineMA MODIFY MovementQty NUMBER DEFAULT 1
;
create view M_InoutLineMA_Returned as
SELECT sma.m_inoutline_id,
sma.m_attributesetinstance_id,
sma.ad_client_id,
sma.ad_org_id,
sma.isactive,
sma.created,
sma.createdby,
sma.updated,
sma.updatedby,
sma.movementqty,
sma.m_inoutlinema_uu,
sma.datematerialpolicy,
sma.isautogenerated,
sum (crma.movementqty) returnedQty
FROM M_InoutLineMA sma inner join M_InoutLine sl on (sma.M_InoutLine_ID =sl.M_InoutLine_ID)
inner join M_InOut sio on (sio.M_InOut_ID=sl.M_InOut_ID) left join M_RMALine rl on (rl.M_InOutLine_ID = sl.M_InOutLine_ID )
left join M_InoutLine crl on (rl.M_RMALine_ID =crl.M_RMALine_ID)
left join M_inout cr on (cr.M_Inout_ID = crl.M_Inout_ID and not cr.docstatus in ('CO','RE'))
left join M_InoutLineMA crma on (crma.M_InoutLine_Id = crl.M_InoutLine_ID and sma.M_AttributeSetInstance_ID=crma.M_AttributeSetInstance_ID)
group by sma.M_AttributeSetInstance_ID,sma.m_inoutline_id,sma.ad_client_id,sma.ad_org_id,sma.isactive,sma.created,sma.createdby,sma.updated
,sma.updatedby,sma.movementqty,sma.m_inoutlinema_uu,sma.datematerialpolicy,sma.isautogenerated;
SELECT register_migration_script('201407010832_IDEMPIERE-1770.sql') FROM dual
;

View File

@ -0,0 +1,11 @@
SET SQLBLANKLINES ON
SET DEFINE OFF
ALTER TABLE AD_PrintFormat_Trl DROP CONSTRAINT AD_PrintFormat_Trl_Key
;
ALTER TABLE AD_PrintFormat_Trl ADD CONSTRAINT AD_PrintFormat_Trl_Key PRIMARY KEY (AD_PrintFormat_ID, AD_Language)
;
SELECT register_migration_script('201407021604_IDEMPIERE-1878-wrong-key.sql') FROM dual
;

View File

@ -0,0 +1,197 @@
-- Jan 17, 2014 7:55:51 PM CET
-- IDEMPIERE-1697 Ability to filter available column for print format
INSERT INTO AD_Table (AD_Client_ID,AD_Org_ID,AD_Table_ID,AD_Table_UU,AD_Window_ID,AccessLevel,CopyColumnsFromTable,Created,CreatedBy,DatabaseViewDrop,EntityType,ImportTable,IsActive,IsCentrallyMaintained,IsChangeLog,IsDeleteable,IsHighVolume,IsSecurityEnabled,IsView,LoadSeq,Name,Processing,ReplicationType,TableName,Updated,UpdatedBy) VALUES (0,0,200109,'61c4df89-6a05-4cdf-8cfb-f911aefe92b4',180,'4','N',TO_TIMESTAMP('2014-01-17 19:55:50','YYYY-MM-DD HH24:MI:SS'),100,'N','D','N','Y','Y','N','Y','N','N','N',0,'Report View Selected column','N','L','AD_ReportView_Column',TO_TIMESTAMP('2014-01-17 19:55:50','YYYY-MM-DD HH24:MI:SS'),100)
;
-- Jan 17, 2014 7:55:56 PM CET
INSERT INTO AD_Sequence (AD_Client_ID,AD_Org_ID,AD_Sequence_ID,AD_Sequence_UU,Created,CreatedBy,CurrentNext,CurrentNextSys,Description,IncrementNo,IsActive,IsAudited,IsAutoSequence,IsTableID,Name,StartNewYear,StartNo,Updated,UpdatedBy) VALUES (0,0,200157,'d643471e-4216-4de0-b8fc-9a9a17567c70',TO_TIMESTAMP('2014-01-17 19:55:55','YYYY-MM-DD HH24:MI:SS'),100,1000000,200000,'Table AD_ReportView_Column',1,'Y','N','Y','Y','AD_ReportView_Column','N',1000000,TO_TIMESTAMP('2014-01-17 19:55:55','YYYY-MM-DD HH24:MI:SS'),100)
;
-- Jan 17, 2014 7:56:31 PM CET
INSERT INTO AD_Column (AD_Client_ID,AD_Column_ID,AD_Column_UU,AD_Element_ID,AD_Org_ID,AD_Reference_ID,AD_Table_ID,AD_Val_Rule_ID,ColumnName,Created,CreatedBy,DefaultValue,Description,EntityType,FieldLength,Help,IsActive,IsAllowCopy,IsAllowLogging,IsAlwaysUpdateable,IsAutocomplete,IsEncrypted,IsIdentifier,IsKey,IsMandatory,IsParent,IsSecure,IsSelectionColumn,IsSyncDatabase,IsToolbarButton,IsTranslated,IsUpdateable,Name,ReadOnlyLogic,SeqNo,SeqNoSelection,Updated,UpdatedBy,Version) VALUES (0,210934,'fef5898b-5b3a-4820-9c5c-b49d38f47c4b',102,0,19,200109,116,'AD_Client_ID',TO_TIMESTAMP('2014-01-17 19:56:30','YYYY-MM-DD HH24:MI:SS'),100,'@#AD_Client_ID@','Client/Tenant for this installation.','D',22,'A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client.','Y','N','Y','N','N','N','N','N','N','N','N','N','N','N','N','N','Client','1=1',0,0,TO_TIMESTAMP('2014-01-17 19:56:30','YYYY-MM-DD HH24:MI:SS'),100,0)
;
-- Jan 17, 2014 7:57:02 PM CET
INSERT INTO AD_Val_Rule (AD_Client_ID,AD_Org_ID,AD_Val_Rule_ID,AD_Val_Rule_UU,Code,Created,CreatedBy,EntityType,IsActive,Name,Type,Updated,UpdatedBy) VALUES (0,0,200055,'a95018ef-f591-4e92-a494-92d875ae7462','AD_Column.AD_Table_ID=@AD_Table_ID@ AND AD_Column.AD_Column_ID NOT IN (SELECT AD_Column_ID FROM AD_ReportView_Column WHERE AD_ReportView_ID=@AD_ReportView_ID@)',TO_TIMESTAMP('2014-01-17 19:57:01','YYYY-MM-DD HH24:MI:SS'),100,'D','Y','AD_Column in AD_Table (not present in AD_ReportView_Column)','S',TO_TIMESTAMP('2014-01-17 19:57:01','YYYY-MM-DD HH24:MI:SS'),100)
;
-- Jan 17, 2014 7:57:32 PM CET
INSERT INTO AD_Column (AD_Client_ID,AD_Column_ID,AD_Column_UU,AD_Element_ID,AD_Org_ID,AD_Reference_ID,AD_Table_ID,AD_Val_Rule_ID,ColumnName,Created,CreatedBy,Description,EntityType,FKConstraintType,FieldLength,Help,IsActive,IsAllowCopy,IsAllowLogging,IsAlwaysUpdateable,IsAutocomplete,IsEncrypted,IsIdentifier,IsKey,IsMandatory,IsParent,IsSecure,IsSelectionColumn,IsSyncDatabase,IsToolbarButton,IsTranslated,IsUpdateable,Name,SeqNo,SeqNoSelection,Updated,UpdatedBy,Version) VALUES (0,210935,'e5fe354e-7566-4a08-a601-b0d97ca5f186',104,0,19,200109,200055,'AD_Column_ID',TO_TIMESTAMP('2014-01-17 19:57:32','YYYY-MM-DD HH24:MI:SS'),100,'Column in the table','D','N',22,'Link to the database column of the table','Y','Y','Y','N','N','N','N','N','Y','Y','N','N','N','N','N','N','Column',0,0,TO_TIMESTAMP('2014-01-17 19:57:32','YYYY-MM-DD HH24:MI:SS'),100,0)
;
-- Jan 17, 2014 7:57:50 PM CET
INSERT INTO AD_Column (AD_Client_ID,AD_Column_ID,AD_Column_UU,AD_Element_ID,AD_Org_ID,AD_Reference_ID,AD_Table_ID,AD_Val_Rule_ID,ColumnName,Created,CreatedBy,DefaultValue,Description,EntityType,FieldLength,Help,IsActive,IsAllowCopy,IsAllowLogging,IsAlwaysUpdateable,IsAutocomplete,IsEncrypted,IsIdentifier,IsKey,IsMandatory,IsParent,IsSecure,IsSelectionColumn,IsSyncDatabase,IsToolbarButton,IsTranslated,IsUpdateable,Name,SeqNo,SeqNoSelection,Updated,UpdatedBy,Version) VALUES (0,210936,'60086644-8471-499c-bf88-44478e949c93',113,0,19,200109,148,'AD_Org_ID',TO_TIMESTAMP('2014-01-17 19:57:50','YYYY-MM-DD HH24:MI:SS'),100,'@#AD_Org_ID@','Organizational entity within client','D',22,'An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations.','Y','N','Y','N','N','N','N','N','Y','N','N','N','N','N','N','N','Organization',0,0,TO_TIMESTAMP('2014-01-17 19:57:50','YYYY-MM-DD HH24:MI:SS'),100,0)
;
-- Jan 17, 2014 7:58:03 PM CET
INSERT INTO AD_Element (AD_Client_ID,AD_Element_ID,AD_Element_UU,AD_Org_ID,ColumnName,Created,CreatedBy,EntityType,IsActive,Name,PrintName,Updated,UpdatedBy) VALUES (0,202644,'befda76c-f925-4b83-9a67-dc04aee798fe',0,'AD_ReportView_Column_UU',TO_TIMESTAMP('2014-01-17 19:58:02','YYYY-MM-DD HH24:MI:SS'),100,'D','Y','AD_ReportView_Column_UU','AD_ReportView_Column_UU',TO_TIMESTAMP('2014-01-17 19:58:02','YYYY-MM-DD HH24:MI:SS'),100)
;
-- Jan 17, 2014 7:58:17 PM CET
INSERT INTO AD_Column (AD_Client_ID,AD_Column_ID,AD_Column_UU,AD_Element_ID,AD_Org_ID,AD_Reference_ID,AD_Table_ID,ColumnName,Created,CreatedBy,EntityType,FKConstraintType,FieldLength,IsActive,IsAllowCopy,IsAllowLogging,IsAlwaysUpdateable,IsAutocomplete,IsEncrypted,IsIdentifier,IsKey,IsMandatory,IsParent,IsSecure,IsSelectionColumn,IsSyncDatabase,IsToolbarButton,IsTranslated,IsUpdateable,Name,SeqNo,SeqNoSelection,Updated,UpdatedBy,Version) VALUES (0,210937,'60cbf348-8cbf-4801-a914-60ac3e550bea',202644,0,10,200109,'AD_ReportView_Column_UU',TO_TIMESTAMP('2014-01-17 19:58:16','YYYY-MM-DD HH24:MI:SS'),100,'D','N',36,'Y','N','Y','N','N','N','N','N','N','N','N','N','N','N','N','N','AD_ReportView_Column_UU',0,0,TO_TIMESTAMP('2014-01-17 19:58:16','YYYY-MM-DD HH24:MI:SS'),100,0)
;
-- Jan 17, 2014 7:58:21 PM CET
UPDATE AD_Column SET EntityType='D',Updated=TO_TIMESTAMP('2014-01-17 19:58:21','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=210936
;
-- Jan 17, 2014 7:58:24 PM CET
UPDATE AD_Column SET EntityType='D', IsUpdateable='N',Updated=TO_TIMESTAMP('2014-01-17 19:58:23','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=210935
;
-- Jan 17, 2014 7:58:47 PM CET
INSERT INTO AD_Column (AD_Client_ID,AD_Column_ID,AD_Column_UU,AD_Element_ID,AD_Org_ID,AD_Reference_ID,AD_Table_ID,ColumnName,Created,CreatedBy,Description,EntityType,FKConstraintType,FieldLength,Help,IsActive,IsAllowCopy,IsAllowLogging,IsAlwaysUpdateable,IsAutocomplete,IsEncrypted,IsIdentifier,IsKey,IsMandatory,IsParent,IsSecure,IsSelectionColumn,IsSyncDatabase,IsToolbarButton,IsTranslated,IsUpdateable,Name,SeqNo,SeqNoSelection,Updated,UpdatedBy,Version) VALUES (0,210938,'6d8f48d0-07e3-49c3-a0e6-5e5539279496',1252,0,30,200109,'AD_ReportView_ID',TO_TIMESTAMP('2014-01-17 19:58:46','YYYY-MM-DD HH24:MI:SS'),100,'View used to generate this report','D','N',22,'The Report View indicates the view used to generate this report.','Y','Y','Y','N','N','N','N','N','Y','Y','N','N','N','N','N','N','Report View',0,0,TO_TIMESTAMP('2014-01-17 19:58:46','YYYY-MM-DD HH24:MI:SS'),100,0)
;
-- Jan 17, 2014 7:58:56 PM CET
INSERT INTO AD_Column (AD_Client_ID,AD_Column_ID,AD_Column_UU,AD_Element_ID,AD_Org_ID,AD_Reference_ID,AD_Table_ID,ColumnName,Created,CreatedBy,Description,EntityType,FieldLength,Help,IsActive,IsAllowCopy,IsAllowLogging,IsAlwaysUpdateable,IsAutocomplete,IsEncrypted,IsIdentifier,IsKey,IsMandatory,IsParent,IsSecure,IsSelectionColumn,IsSyncDatabase,IsToolbarButton,IsTranslated,IsUpdateable,Name,SeqNo,SeqNoSelection,Updated,UpdatedBy,Version) VALUES (0,210939,'0a89a617-6e81-4e20-a890-408943ee7e64',245,0,16,200109,'Created',TO_TIMESTAMP('2014-01-17 19:58:55','YYYY-MM-DD HH24:MI:SS'),100,'Date this record was created','D',7,'The Created field indicates the date that this record was created.','Y','N','Y','N','N','N','N','N','Y','N','N','N','N','N','N','N','Created',0,0,TO_TIMESTAMP('2014-01-17 19:58:55','YYYY-MM-DD HH24:MI:SS'),100,0)
;
-- Jan 17, 2014 7:59:06 PM CET
INSERT INTO AD_Column (AD_Client_ID,AD_Column_ID,AD_Column_UU,AD_Element_ID,AD_Org_ID,AD_Reference_ID,AD_Reference_Value_ID,AD_Table_ID,ColumnName,Created,CreatedBy,Description,EntityType,FieldLength,Help,IsActive,IsAllowCopy,IsAllowLogging,IsAlwaysUpdateable,IsAutocomplete,IsEncrypted,IsIdentifier,IsKey,IsMandatory,IsParent,IsSecure,IsSelectionColumn,IsSyncDatabase,IsToolbarButton,IsTranslated,IsUpdateable,Name,SeqNo,SeqNoSelection,Updated,UpdatedBy,Version) VALUES (0,210940,'5d88374b-0ec9-4791-856f-816aa6a03ac1',246,0,18,110,200109,'CreatedBy',TO_TIMESTAMP('2014-01-17 19:59:05','YYYY-MM-DD HH24:MI:SS'),100,'User who created this records','D',22,'The Created By field indicates the user who created this record.','Y','N','Y','N','N','N','N','N','Y','N','N','N','N','N','N','N','Created By',0,0,TO_TIMESTAMP('2014-01-17 19:59:05','YYYY-MM-DD HH24:MI:SS'),100,0)
;
-- Jan 17, 2014 7:59:18 PM CET
INSERT INTO AD_Column (AD_Client_ID,AD_Column_ID,AD_Column_UU,AD_Element_ID,AD_Org_ID,AD_Reference_ID,AD_Table_ID,ColumnName,Created,CreatedBy,DefaultValue,Description,EntityType,FieldLength,Help,IsActive,IsAllowCopy,IsAllowLogging,IsAlwaysUpdateable,IsAutocomplete,IsEncrypted,IsIdentifier,IsKey,IsMandatory,IsParent,IsSecure,IsSelectionColumn,IsSyncDatabase,IsToolbarButton,IsTranslated,IsUpdateable,Name,SeqNo,SeqNoSelection,Updated,UpdatedBy,Version) VALUES (0,210941,'1ab404bd-25de-432c-8a80-afe50d47c0a5',348,0,20,200109,'IsActive',TO_TIMESTAMP('2014-01-17 19:59:17','YYYY-MM-DD HH24:MI:SS'),100,'Y','The record is active in the system','D',1,'There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports.
There are two reasons for de-activating and not deleting records:
(1) The system requires the record for audit purposes.
(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries.','Y','N','Y','N','N','N','N','N','Y','N','N','N','N','N','N','Y','Active',0,0,TO_TIMESTAMP('2014-01-17 19:59:17','YYYY-MM-DD HH24:MI:SS'),100,0)
;
-- Jan 17, 2014 7:59:27 PM CET
INSERT INTO AD_Column (AD_Client_ID,AD_Column_ID,AD_Column_UU,AD_Element_ID,AD_Org_ID,AD_Reference_ID,AD_Table_ID,ColumnName,Created,CreatedBy,Description,EntityType,FieldLength,Help,IsActive,IsAllowCopy,IsAllowLogging,IsAlwaysUpdateable,IsAutocomplete,IsEncrypted,IsIdentifier,IsKey,IsMandatory,IsParent,IsSecure,IsSelectionColumn,IsSyncDatabase,IsToolbarButton,IsTranslated,IsUpdateable,Name,SeqNo,SeqNoSelection,Updated,UpdatedBy,Version) VALUES (0,210942,'d5dc79c0-7fd6-4751-92d3-e944116523ff',607,0,16,200109,'Updated',TO_TIMESTAMP('2014-01-17 19:59:26','YYYY-MM-DD HH24:MI:SS'),100,'Date this record was updated','D',7,'The Updated field indicates the date that this record was updated.','Y','N','Y','N','N','N','N','N','Y','N','N','N','N','N','N','N','Updated',0,0,TO_TIMESTAMP('2014-01-17 19:59:26','YYYY-MM-DD HH24:MI:SS'),100,0)
;
-- Jan 17, 2014 7:59:34 PM CET
INSERT INTO AD_Column (AD_Client_ID,AD_Column_ID,AD_Column_UU,AD_Element_ID,AD_Org_ID,AD_Reference_ID,AD_Reference_Value_ID,AD_Table_ID,ColumnName,Created,CreatedBy,Description,EntityType,FieldLength,Help,IsActive,IsAllowCopy,IsAllowLogging,IsAlwaysUpdateable,IsAutocomplete,IsEncrypted,IsIdentifier,IsKey,IsMandatory,IsParent,IsSecure,IsSelectionColumn,IsSyncDatabase,IsToolbarButton,IsTranslated,IsUpdateable,Name,SeqNo,SeqNoSelection,Updated,UpdatedBy,Version) VALUES (0,210943,'c6d3683c-cb92-40d5-9e1b-9622b08b487a',608,0,18,110,200109,'UpdatedBy',TO_TIMESTAMP('2014-01-17 19:59:34','YYYY-MM-DD HH24:MI:SS'),100,'User who updated this records','D',22,'The Updated By field indicates the user who updated this record.','Y','N','Y','N','N','N','N','N','Y','N','N','N','N','N','N','N','Updated By',0,0,TO_TIMESTAMP('2014-01-17 19:59:34','YYYY-MM-DD HH24:MI:SS'),100,0)
;
-- Jan 17, 2014 7:59:43 PM CET
UPDATE AD_Column SET EntityType='D', IsUpdateable='N',Updated=TO_TIMESTAMP('2014-01-17 19:59:43','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=210938
;
-- Jan 17, 2014 8:00:29 PM CET
UPDATE AD_Column SET FKConstraintName='ADClient_ADReportViewColumn', FKConstraintType='N',Updated=TO_TIMESTAMP('2014-01-17 20:00:29','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=210934
;
-- Jan 17, 2014 8:00:29 PM CET
UPDATE AD_Column SET FKConstraintName='ADColumn_ADReportViewColumn', FKConstraintType='N', IsUpdateable='N',Updated=TO_TIMESTAMP('2014-01-17 20:00:29','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=210935
;
-- Jan 17, 2014 8:00:29 PM CET
UPDATE AD_Column SET FKConstraintName='ADOrg_ADReportViewColumn', FKConstraintType='N',Updated=TO_TIMESTAMP('2014-01-17 20:00:29','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=210936
;
-- Jan 17, 2014 8:00:30 PM CET
UPDATE AD_Column SET FKConstraintName='ADReportView_ADReportViewColum', FKConstraintType='N', IsUpdateable='N',Updated=TO_TIMESTAMP('2014-01-17 20:00:30','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=210938
;
-- Jan 17, 2014 8:00:30 PM CET
UPDATE AD_Column SET FKConstraintName='CreatedBy_ADReportViewColumn', FKConstraintType='N',Updated=TO_TIMESTAMP('2014-01-17 20:00:30','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=210940
;
-- Jan 17, 2014 8:00:30 PM CET
UPDATE AD_Column SET FKConstraintName='UpdatedBy_ADReportViewColumn', FKConstraintType='N',Updated=TO_TIMESTAMP('2014-01-17 20:00:30','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=210943
;
-- Jan 17, 2014 8:00:30 PM CET
CREATE TABLE AD_ReportView_Column (AD_Client_ID NUMERIC(10) DEFAULT NULL , AD_Column_ID NUMERIC(10) NOT NULL, AD_Org_ID NUMERIC(10) NOT NULL, AD_ReportView_Column_UU VARCHAR(36) DEFAULT NULL , AD_ReportView_ID NUMERIC(10) NOT NULL, Created TIMESTAMP NOT NULL, CreatedBy NUMERIC(10) NOT NULL, IsActive CHAR(1) DEFAULT 'Y' CHECK (IsActive IN ('Y','N')) NOT NULL, Updated TIMESTAMP NOT NULL, UpdatedBy NUMERIC(10) NOT NULL, CONSTRAINT AD_ReportView_Column_Key PRIMARY KEY (AD_Column_ID, AD_ReportView_ID), CONSTRAINT AD_ReportView_Column_UU_idx UNIQUE (AD_ReportView_Column_UU))
;
-- Jan 17, 2014 8:00:32 PM CET
ALTER TABLE AD_ReportView_Column ADD CONSTRAINT ADClient_ADReportViewColumn FOREIGN KEY (AD_Client_ID) REFERENCES AD_CLIENT(AD_CLIENT_ID) DEFERRABLE INITIALLY DEFERRED
;
-- Jan 17, 2014 8:00:32 PM CET
ALTER TABLE AD_ReportView_Column ADD CONSTRAINT ADColumn_ADReportViewColumn FOREIGN KEY (AD_Column_ID) REFERENCES AD_COLUMN(AD_COLUMN_ID) DEFERRABLE INITIALLY DEFERRED
;
-- Jan 17, 2014 8:00:32 PM CET
ALTER TABLE AD_ReportView_Column ADD CONSTRAINT ADOrg_ADReportViewColumn FOREIGN KEY (AD_Org_ID) REFERENCES AD_ORG(AD_ORG_ID) DEFERRABLE INITIALLY DEFERRED
;
-- Jan 17, 2014 8:00:32 PM CET
ALTER TABLE AD_ReportView_Column ADD CONSTRAINT ADReportView_ADReportViewColum FOREIGN KEY (AD_ReportView_ID) REFERENCES AD_REPORTVIEW(AD_REPORTVIEW_ID) DEFERRABLE INITIALLY DEFERRED
;
-- Jan 17, 2014 8:00:33 PM CET
ALTER TABLE AD_ReportView_Column ADD CONSTRAINT CreatedBy_ADReportViewColumn FOREIGN KEY (CreatedBy) REFERENCES AD_USER(AD_USER_ID) DEFERRABLE INITIALLY DEFERRED
;
-- Jan 17, 2014 8:00:33 PM CET
ALTER TABLE AD_ReportView_Column ADD CONSTRAINT UpdatedBy_ADReportViewColumn FOREIGN KEY (UpdatedBy) REFERENCES AD_USER(AD_USER_ID) DEFERRABLE INITIALLY DEFERRED
;
-- Jan 17, 2014 8:01:17 PM CET
INSERT INTO AD_Tab (AD_Client_ID,AD_Column_ID,AD_Org_ID,AD_Tab_ID,AD_Tab_UU,AD_Table_ID,AD_Window_ID,Created,CreatedBy,EntityType,HasTree,ImportFields,IsActive,IsAdvancedTab,IsInfoTab,IsInsertRecord,IsReadOnly,IsSingleRow,IsSortTab,IsTranslationTab,Name,Processing,SeqNo,TabLevel,Updated,UpdatedBy) VALUES (0,210938,0,200116,'4776b336-7794-48c0-96ec-9a3eed2f8143',200109,180,TO_TIMESTAMP('2014-01-17 20:01:17','YYYY-MM-DD HH24:MI:SS'),100,'D','N','N','Y','N','N','Y','N','N','N','N','Available Columns','N',30,1,TO_TIMESTAMP('2014-01-17 20:01:17','YYYY-MM-DD HH24:MI:SS'),100)
;
-- Jan 17, 2014 8:01:19 PM CET
INSERT INTO AD_Field (AD_Client_ID,AD_Column_ID,AD_Field_ID,AD_Field_UU,AD_Org_ID,AD_Tab_ID,ColumnSpan,Created,CreatedBy,Description,DisplayLength,EntityType,Help,IsActive,IsCentrallyMaintained,IsDisplayed,IsDisplayedGrid,IsEncrypted,IsFieldOnly,IsHeading,IsReadOnly,IsSameLine,Name,SeqNo,Updated,UpdatedBy) VALUES (0,210934,202588,'0c47e223-4972-4689-9c92-2734e9814657',0,200116,2,TO_TIMESTAMP('2014-01-17 20:01:19','YYYY-MM-DD HH24:MI:SS'),100,'Client/Tenant for this installation.',22,'D','A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client.','Y','Y','Y','N','N','N','N','N','N','Client',10,TO_TIMESTAMP('2014-01-17 20:01:19','YYYY-MM-DD HH24:MI:SS'),100)
;
-- Jan 17, 2014 8:01:21 PM CET
INSERT INTO AD_Field (AD_Client_ID,AD_Column_ID,AD_Field_ID,AD_Field_UU,AD_Org_ID,AD_Tab_ID,ColumnSpan,Created,CreatedBy,Description,DisplayLength,EntityType,Help,IsActive,IsAllowCopy,IsCentrallyMaintained,IsDisplayed,IsDisplayedGrid,IsEncrypted,IsFieldOnly,IsHeading,IsReadOnly,IsSameLine,Name,SeqNo,Updated,UpdatedBy,XPosition) VALUES (0,210936,202589,'708987d3-f611-4f68-aa66-7245b5112e76',0,200116,2,TO_TIMESTAMP('2014-01-17 20:01:20','YYYY-MM-DD HH24:MI:SS'),100,'Organizational entity within client',22,'D','An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations.','Y','Y','Y','Y','N','N','N','N','N','N','Organization',20,TO_TIMESTAMP('2014-01-17 20:01:20','YYYY-MM-DD HH24:MI:SS'),100,4)
;
-- Jan 17, 2014 8:01:21 PM CET
INSERT INTO AD_Field (AD_Client_ID,AD_Column_ID,AD_Field_ID,AD_Field_UU,AD_Org_ID,AD_Tab_ID,ColumnSpan,Created,CreatedBy,Description,DisplayLength,EntityType,Help,IsActive,IsCentrallyMaintained,IsDisplayed,IsEncrypted,IsFieldOnly,IsHeading,IsReadOnly,IsSameLine,Name,SeqNo,Updated,UpdatedBy) VALUES (0,210935,202590,'89a6cda0-0a98-43ca-9d40-ee2c62a15994',0,200116,2,TO_TIMESTAMP('2014-01-17 20:01:21','YYYY-MM-DD HH24:MI:SS'),100,'Column in the table',22,'D','Link to the database column of the table','Y','Y','Y','N','N','N','N','N','Column',30,TO_TIMESTAMP('2014-01-17 20:01:21','YYYY-MM-DD HH24:MI:SS'),100)
;
-- Jan 17, 2014 8:01:22 PM CET
INSERT INTO AD_Field (AD_Client_ID,AD_Column_ID,AD_Field_ID,AD_Field_UU,AD_Org_ID,AD_Tab_ID,ColumnSpan,Created,CreatedBy,DisplayLength,EntityType,IsActive,IsCentrallyMaintained,IsDisplayed,IsDisplayedGrid,IsEncrypted,IsFieldOnly,IsHeading,IsReadOnly,IsSameLine,Name,SeqNo,Updated,UpdatedBy) VALUES (0,210937,202591,'e9e6dced-10bc-4f72-a808-9a09bf02cca6',0,200116,2,TO_TIMESTAMP('2014-01-17 20:01:21','YYYY-MM-DD HH24:MI:SS'),100,36,'D','Y','Y','N','N','N','N','N','N','N','AD_ReportView_Column_UU',40,TO_TIMESTAMP('2014-01-17 20:01:21','YYYY-MM-DD HH24:MI:SS'),100)
;
-- Jan 17, 2014 8:01:23 PM CET
INSERT INTO AD_Field (AD_Client_ID,AD_Column_ID,AD_Field_ID,AD_Field_UU,AD_Org_ID,AD_Tab_ID,ColumnSpan,Created,CreatedBy,Description,DisplayLength,EntityType,Help,IsActive,IsCentrallyMaintained,IsDisplayed,IsEncrypted,IsFieldOnly,IsHeading,IsReadOnly,IsSameLine,Name,SeqNo,Updated,UpdatedBy) VALUES (0,210938,202592,'aeaa9eab-26d1-4a0c-bced-743065cc7aa1',0,200116,2,TO_TIMESTAMP('2014-01-17 20:01:22','YYYY-MM-DD HH24:MI:SS'),100,'View used to generate this report',22,'D','The Report View indicates the view used to generate this report.','Y','Y','Y','N','N','N','N','N','Report View',50,TO_TIMESTAMP('2014-01-17 20:01:22','YYYY-MM-DD HH24:MI:SS'),100)
;
-- Jan 17, 2014 8:01:24 PM CET
INSERT INTO AD_Field (AD_Client_ID,AD_Column_ID,AD_Field_ID,AD_Field_UU,AD_Org_ID,AD_Tab_ID,ColumnSpan,Created,CreatedBy,Description,DisplayLength,EntityType,Help,IsActive,IsCentrallyMaintained,IsDisplayed,IsEncrypted,IsFieldOnly,IsHeading,IsReadOnly,IsSameLine,Name,SeqNo,Updated,UpdatedBy,XPosition) VALUES (0,210941,202593,'1321abf5-3832-4c51-82a2-ea9a6b9955f0',0,200116,2,TO_TIMESTAMP('2014-01-17 20:01:23','YYYY-MM-DD HH24:MI:SS'),100,'The record is active in the system',1,'D','There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports.
There are two reasons for de-activating and not deleting records:
(1) The system requires the record for audit purposes.
(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries.','Y','Y','Y','N','N','N','N','N','Active',60,TO_TIMESTAMP('2014-01-17 20:01:23','YYYY-MM-DD HH24:MI:SS'),100,2)
;
-- Jan 17, 2014 8:01:59 PM CET
UPDATE AD_Tab SET Description='You can define on this tab which columns will be available as the print format items',Updated=TO_TIMESTAMP('2014-01-17 20:01:59','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=200116
;
-- Jan 17, 2014 8:02:24 PM CET
UPDATE AD_Field SET SeqNoGrid=10,IsDisplayedGrid='Y' WHERE AD_Field_ID=202592
;
-- Jan 17, 2014 8:02:24 PM CET
UPDATE AD_Field SET SeqNoGrid=20,IsDisplayedGrid='Y' WHERE AD_Field_ID=202590
;
-- Jan 17, 2014 8:02:24 PM CET
UPDATE AD_Field SET SeqNoGrid=30,IsDisplayedGrid='Y' WHERE AD_Field_ID=202593
;
-- Jan 17, 2014 8:02:30 PM CET
UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=202591
;
-- Jan 17, 2014 8:02:30 PM CET
UPDATE AD_Field SET SeqNo=30,IsDisplayed='Y' WHERE AD_Field_ID=202592
;
-- Jan 17, 2014 8:02:30 PM CET
UPDATE AD_Field SET SeqNo=40,IsDisplayed='Y' WHERE AD_Field_ID=202590
;
-- Jan 17, 2014 8:02:31 PM CET
UPDATE AD_Field SET SeqNo=50,IsDisplayed='Y' WHERE AD_Field_ID=202593
;
-- Jan 17, 2014 8:02:46 PM CET
UPDATE AD_Field SET IsSameLine='Y',Updated=TO_TIMESTAMP('2014-01-17 20:02:46','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202589
;
-- Jan 17, 2014 8:03:16 PM CET
UPDATE AD_Field SET IsSameLine='Y',Updated=TO_TIMESTAMP('2014-01-17 20:03:16','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202590
;
SELECT register_migration_script('201401172019_IDEMPIERE-1697.sql') FROM dual
;

View File

@ -0,0 +1,71 @@
-- May 30, 2014 10:02:41 PM ICT
-- I forgot to set the DICTIONARY_ID_COMMENTS System Configurator
INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,DefaultValue,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,IsSecure,AD_Element_ID,AD_Reference_ID,AD_Table_ID) VALUES (0,'N',0,211273,'N','N','N',0,'N',1,'N','N','N','Y','bf98ee02-ec0f-4279-8577-11b8d267c7a7','Y','IsMandatory','Data entry is required in this column','N','The field must have a value for the record to be saved to the database.','Mandatory','Y',TO_TIMESTAMP('2014-05-30 22:02:40','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_TIMESTAMP('2014-05-30 22:02:40','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N','N',392,20,897)
;
-- May 30, 2014 10:02:47 PM ICT
ALTER TABLE AD_InfoColumn ADD COLUMN IsMandatory CHAR(1) DEFAULT 'N' CHECK (IsMandatory IN ('Y','N'))
;
-- May 30, 2014 10:02:56 PM ICT
UPDATE AD_Column SET IsMandatory='Y',Updated=TO_TIMESTAMP('2014-05-30 22:02:56','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=211273
;
-- May 30, 2014 10:05:01 PM ICT
INSERT INTO AD_Field (SortNo,IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,CreatedBy,Updated,IsActive,IsDisplayedGrid,SeqNoGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,AD_Column_ID,EntityType,Created) VALUES (0,'N',844,0,'N','N',250,'Y',203049,'N','The field must have a value for the record to be saved to the database.','Data entry is required in this column','Mandatory','0a2c4d46-748b-4451-988b-d9f6931ed62d','Y','N',100,0,100,TO_TIMESTAMP('2014-05-30 22:05:00','YYYY-MM-DD HH24:MI:SS'),'Y','Y',160,1,'N',0,1,1,'N','N',211273,'D',TO_TIMESTAMP('2014-05-30 22:05:00','YYYY-MM-DD HH24:MI:SS'))
;
-- May 30, 2014 10:06:40 PM ICT
UPDATE AD_Field SET SeqNo=150, IsDisplayed='Y', XPosition=2, ColumnSpan=2,Updated=TO_TIMESTAMP('2014-05-30 22:06:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=203049
;
-- May 30, 2014 10:06:40 PM ICT
UPDATE AD_Field SET SeqNo=160, IsDisplayed='Y', XPosition=4,Updated=TO_TIMESTAMP('2014-05-30 22:06:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=201719
;
-- May 30, 2014 10:06:40 PM ICT
UPDATE AD_Field SET SeqNo=170, IsDisplayed='Y', XPosition=7, ColumnSpan=2,Updated=TO_TIMESTAMP('2014-05-30 22:06:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=201720
;
-- May 30, 2014 10:06:40 PM ICT
UPDATE AD_Field SET SeqNo=180,Updated=TO_TIMESTAMP('2014-05-30 22:06:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=201625
;
-- May 30, 2014 10:06:40 PM ICT
UPDATE AD_Field SET SeqNo=190,Updated=TO_TIMESTAMP('2014-05-30 22:06:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=203048
;
-- May 30, 2014 10:06:40 PM ICT
UPDATE AD_Field SET SeqNo=200,Updated=TO_TIMESTAMP('2014-05-30 22:06:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=201635
;
-- May 30, 2014 10:06:40 PM ICT
UPDATE AD_Field SET SeqNo=210,Updated=TO_TIMESTAMP('2014-05-30 22:06:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=201636
;
-- May 30, 2014 10:06:40 PM ICT
UPDATE AD_Field SET SeqNo=220,Updated=TO_TIMESTAMP('2014-05-30 22:06:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=13603
;
-- May 30, 2014 10:06:40 PM ICT
UPDATE AD_Field SET SeqNo=230,Updated=TO_TIMESTAMP('2014-05-30 22:06:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=201622
;
-- May 30, 2014 10:06:40 PM ICT
UPDATE AD_Field SET SeqNo=240,Updated=TO_TIMESTAMP('2014-05-30 22:06:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=201623
;
-- May 30, 2014 10:06:40 PM ICT
UPDATE AD_Field SET SeqNo=250,Updated=TO_TIMESTAMP('2014-05-30 22:06:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=13597
;
UPDATE ad_infocolumn SET ismandatory = 'N'
;
ALTER TABLE ad_infocolumn ALTER COLUMN ismandatory SET NOT NULL
;
-- I forgot to set the DICTIONARY_ID_COMMENTS System Configurator
UPDATE AD_Field SET DisplayLogic='@IsQueryCriteria@=Y',Updated=TO_TIMESTAMP('2014-06-11 08:59:36','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=203049
;
SELECT register_migration_script('201405301604_IDEMPIERE-1973.sql') FROM dual
;

View File

@ -0,0 +1,60 @@
-- May 31, 2014 10:33:25 AM ICT
-- I forgot to set the DICTIONARY_ID_COMMENTS System Configurator
INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,IsSecure,AD_Element_ID,AD_Reference_ID,AD_Table_ID) VALUES (0,'N',0,211274,'N','N','N',0,'N',2000,'N','N','N','Y','f39fb481-a7f3-477b-924f-653478cf27b5','Y','DisplayLogic','If the Field is displayed, the result determines if the field is actually displayed','format := {expression} [{logic} {expression}]<br>
expression := @{context}@{operand}{value} or @{context}@{operand}{value}<br>
logic := {|}|{&}<br>
context := any global or window context <br>
value := strings or numbers<br>
logic operators := AND or OR with the previous result from left to right <br>
operand := eq{=}, gt{&gt;}, le{&lt;}, not{~^!} <br>
Examples: <br>
@AD_Table_ID@=14 | @Language@!GERGER <br>
@PriceLimit@>10 | @PriceList@>@PriceActual@<br>
@Name@>J<br>
Strings may be in single quotes (optional)','Display Logic','Y',TO_TIMESTAMP('2014-05-31 10:33:19','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_TIMESTAMP('2014-05-31 10:33:19','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N','N',283,14,200129)
;
-- May 31, 2014 10:33:35 AM ICT
ALTER TABLE AD_InfoProcess ADD COLUMN DisplayLogic VARCHAR(2000) DEFAULT NULL
;
-- May 31, 2014 10:35:29 AM ICT
INSERT INTO AD_Field (SortNo,IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,CreatedBy,Updated,IsActive,IsDisplayedGrid,SeqNoGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,AD_Column_ID,EntityType,Created) VALUES (0,'N',200142,0,'N','N',120,'Y',203050,'N','format := {expression} [{logic} {expression}]<br>
expression := @{context}@{operand}{value} or @{context}@{operand}{value}<br>
logic := {|}|{&}<br>
context := any global or window context <br>
value := strings or numbers<br>
logic operators := AND or OR with the previous result from left to right <br>
operand := eq{=}, gt{&gt;}, le{&lt;}, not{~^!} <br>
Examples: <br>
@AD_Table_ID@=14 | @Language@!GERGER <br>
@PriceLimit@>10 | @PriceList@>@PriceActual@<br>
@Name@>J<br>
Strings may be in single quotes (optional)','If the Field is displayed, the result determines if the field is actually displayed','Display Logic','c6112319-f905-4614-a2ee-f27945e414be','Y','N',100,0,100,TO_TIMESTAMP('2014-05-31 10:35:23','YYYY-MM-DD HH24:MI:SS'),'Y','Y',60,1,'N',0,1,1,'N','N',211274,'D',TO_TIMESTAMP('2014-05-31 10:35:23','YYYY-MM-DD HH24:MI:SS'))
;
-- May 31, 2014 10:36:44 AM ICT
UPDATE AD_Field SET SeqNo=50,Updated=TO_TIMESTAMP('2014-05-31 10:36:44','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=203035
;
-- May 31, 2014 10:36:44 AM ICT
UPDATE AD_Field SET SeqNo=60,Updated=TO_TIMESTAMP('2014-05-31 10:36:44','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=203036
;
-- May 31, 2014 10:36:44 AM ICT
UPDATE AD_Field SET SeqNo=70,Updated=TO_TIMESTAMP('2014-05-31 10:36:44','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=203037
;
-- May 31, 2014 10:36:44 AM ICT
UPDATE AD_Field SET SeqNo=80,Updated=TO_TIMESTAMP('2014-05-31 10:36:44','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=203038
;
-- May 31, 2014 10:36:44 AM ICT
UPDATE AD_Field SET SeqNo=90, ColumnSpan=5,Updated=TO_TIMESTAMP('2014-05-31 10:36:44','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=203050
;
-- May 31, 2014 10:39:24 AM ICT
UPDATE AD_Field SET SeqNo=90, NumLines=2,Updated=TO_TIMESTAMP('2014-05-31 10:39:24','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=203050
;
SELECT register_migration_script('201405311604_IDEMPIERE-1972.sql') FROM dual
;

View File

@ -0,0 +1,253 @@
-- Apr 14, 2014 5:56:06 PM IST
-- IDEMPIERE-1770 Making Attribute tab Manually editable
INSERT INTO AD_Message (MsgType,MsgText,AD_Message_ID,EntityType,AD_Message_UU,Value,IsActive,Updated,CreatedBy,UpdatedBy,Created,AD_Org_ID,AD_Client_ID) VALUES ('I','More than line qty on attribute tab for line ',200270,'D','4726e9ac-3831-4ca4-b860-23b2364160f0','Over_Qty_On_Attribute_Tab','Y',TO_TIMESTAMP('2014-04-14 17:56:04','YYYY-MM-DD HH24:MI:SS'),100,100,TO_TIMESTAMP('2014-04-14 17:56:04','YYYY-MM-DD HH24:MI:SS'),0,0)
;
-- Apr 14, 2014 5:56:27 PM IST
UPDATE AD_Tab SET IsReadOnly='N',Updated=TO_TIMESTAMP('2014-04-14 17:56:27','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=751
;
-- Apr 14, 2014 6:01:47 PM IST
UPDATE AD_Tab SET IsInsertRecord='Y',Updated=TO_TIMESTAMP('2014-04-14 18:01:47','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=751
;
-- Apr 14, 2014 6:15:24 PM IST
UPDATE AD_Field SET IsReadOnly='N',Updated=TO_TIMESTAMP('2014-04-14 18:15:24','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=12194
;
-- Apr 14, 2014 6:15:38 PM IST
UPDATE AD_Field SET IsReadOnly='N',Updated=TO_TIMESTAMP('2014-04-14 18:15:38','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=12196
;
-- Apr 14, 2014 7:48:10 PM IST
-- IDEMPIERE-1770 Making Attribute tab Manually editable
UPDATE AD_Column SET DefaultValue='@AD_Org_ID@',Updated=TO_TIMESTAMP('2014-04-14 19:48:10','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=13325
;
-- Apr 14, 2014 7:54:02 PM IST
UPDATE AD_Column SET IsParent='N',Updated=TO_TIMESTAMP('2014-04-14 19:54:02','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=208342
;
-- Apr 14, 2014 7:56:15 PM IST
UPDATE AD_Column SET IsUpdateable='Y',Updated=TO_TIMESTAMP('2014-04-14 19:56:15','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=208342
;
-- Apr 15, 2014 4:26:24 PM IST
-- IDEMPIERE-1770 Making Attribute tab Manually editable
INSERT INTO AD_Tab (ImportFields,Processing,IsSingleRow,SeqNo,IsTranslationTab,IsSortTab,HasTree,IsInfoTab,IsReadOnly,IsInsertRecord,IsAdvancedTab,TabLevel,AD_Tab_UU,EntityType,Name,Description,AD_Tab_ID,AD_Org_ID,Created,CreatedBy,Updated,UpdatedBy,IsActive,AD_Table_ID,AD_Client_ID,AD_Window_ID,TreeDisplayedOn) VALUES ('N','N','Y',40,'N','N','N','N','N','Y','N',2,'d771d2e8-42a0-426e-ba58-c4f459bbbc1e','D','Attributes','Product Instance Attribute Material Allocation',200137,0,TO_TIMESTAMP('2014-04-15 16:26:23','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2014-04-15 16:26:23','YYYY-MM-DD HH24:MI:SS'),100,'Y',762,0,184,'B')
;
-- Apr 15, 2014 4:27:05 PM IST
UPDATE AD_Tab SET SeqNo=50,Updated=TO_TIMESTAMP('2014-04-15 16:27:05','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=688
;
-- Apr 15, 2014 4:27:20 PM IST
UPDATE AD_Tab SET SeqNo=60,Updated=TO_TIMESTAMP('2014-04-15 16:27:20','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=689
;
-- Apr 15, 2014 4:27:56 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,IsDisplayedGrid,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',22,'N','N',13324,10,'Y',202855,'N','A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client.','Client/Tenant for this installation.','Client','59fa77cd-26e2-4603-abf3-371353ba0006','Y','N',100,0,TO_TIMESTAMP('2014-04-15 16:27:55','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2014-04-15 16:27:55','YYYY-MM-DD HH24:MI:SS'),'Y','N',0,2,'D',200137)
;
-- Apr 15, 2014 4:27:57 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,IsAllowCopy,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,XPosition,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',22,'N','N',13325,20,'Y',202856,'N','An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations.','Organizational entity within client','Organization','e46f8fd7-d445-4664-8232-cef0e6bc362b','Y','N','Y',100,0,TO_TIMESTAMP('2014-04-15 16:27:56','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2014-04-15 16:27:56','YYYY-MM-DD HH24:MI:SS'),'Y',4,0,2,'D',200137)
;
-- Apr 15, 2014 4:27:59 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',22,'N','N',13322,30,'Y',202857,'N','The Shipment/Receipt Line indicates a unique line in a Shipment/Receipt document','Line on Shipment or Receipt document','Shipment/Receipt Line','726ab1f8-fd3f-49b1-a927-b33abb65747e','Y','N',100,0,TO_TIMESTAMP('2014-04-15 16:27:57','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2014-04-15 16:27:57','YYYY-MM-DD HH24:MI:SS'),'Y',0,2,'D',200137)
;
-- Apr 15, 2014 4:27:59 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',22,'N','N',13323,40,'Y',202858,'N','The values of the actual Product Attribute Instances. The product level attributes are defined on Product level.','Product Attribute Set Instance','Attribute Set Instance','b9e93296-2cd5-47d0-81e3-0923434e82c2','Y','N',100,0,TO_TIMESTAMP('2014-04-15 16:27:59','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2014-04-15 16:27:59','YYYY-MM-DD HH24:MI:SS'),'Y',0,2,'D',200137)
;
-- Apr 15, 2014 4:28:00 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',22,'N','N',13331,50,'Y',202859,'N','The Movement Quantity indicates the quantity of a product that has been moved.','Quantity of a product moved.','Movement Quantity','92faf768-01a2-4ad7-b4f4-44161d9c6460','Y','N',100,0,TO_TIMESTAMP('2014-04-15 16:27:59','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2014-04-15 16:27:59','YYYY-MM-DD HH24:MI:SS'),'Y',0,2,'D',200137)
;
-- Apr 15, 2014 4:28:01 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,IsDisplayedGrid,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',36,'N','N',60900,60,'Y',202860,'N','M_InOutLineMA_UU','0c446edf-38f0-4948-8871-591260db1db9','N','N',100,0,TO_TIMESTAMP('2014-04-15 16:28:00','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2014-04-15 16:28:00','YYYY-MM-DD HH24:MI:SS'),'Y','N',0,2,'D',200137)
;
-- Apr 15, 2014 4:28:01 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',7,'N','N',208342,70,'Y',202861,'N','This field is used to record time used for LIFO and FIFO material policy','Time used for LIFO and FIFO Material Policy','Date Material Policy','92265f55-892e-4814-9922-9bf1c35fd43b','Y','N',100,0,TO_TIMESTAMP('2014-04-15 16:28:01','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2014-04-15 16:28:01','YYYY-MM-DD HH24:MI:SS'),'Y',0,2,'D',200137)
;
-- Apr 15, 2014 4:28:02 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,XPosition,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',1,'N','N',13326,80,'Y',202862,'N','There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports.
There are two reasons for de-activating and not deleting records:
(1) The system requires the record for audit purposes.
(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries.','The record is active in the system','Active','13f448e6-c398-4ea2-97e8-89c901f24124','Y','N',100,0,TO_TIMESTAMP('2014-04-15 16:28:01','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2014-04-15 16:28:01','YYYY-MM-DD HH24:MI:SS'),'Y',2,0,2,'D',200137)
;
-- Apr 15, 2014 4:28:44 PM IST
UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=202862
;
-- Apr 15, 2014 4:28:44 PM IST
UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=202860
;
-- Apr 15, 2014 4:28:44 PM IST
UPDATE AD_Field SET SeqNo=60,IsDisplayed='Y' WHERE AD_Field_ID=202861
;
-- Apr 15, 2014 4:29:26 PM IST
UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=202862
;
-- Apr 15, 2014 4:29:26 PM IST
UPDATE AD_Field SET SeqNoGrid=10,IsDisplayedGrid='Y' WHERE AD_Field_ID=202858
;
-- Apr 15, 2014 4:29:26 PM IST
UPDATE AD_Field SET SeqNoGrid=20,IsDisplayedGrid='Y' WHERE AD_Field_ID=202861
;
-- Apr 15, 2014 4:29:26 PM IST
UPDATE AD_Field SET SeqNoGrid=30,IsDisplayedGrid='Y' WHERE AD_Field_ID=202859
;
-- Apr 15, 2014 4:29:26 PM IST
UPDATE AD_Field SET SeqNoGrid=40,IsDisplayedGrid='Y' WHERE AD_Field_ID=202856
;
-- Apr 15, 2014 4:29:26 PM IST
UPDATE AD_Field SET SeqNoGrid=50,IsDisplayedGrid='Y' WHERE AD_Field_ID=202857
;
-- Apr 15, 2014 4:30:34 PM IST
UPDATE AD_Field SET IsReadOnly='Y',Updated=TO_TIMESTAMP('2014-04-15 16:30:34','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202857
;
-- Apr 15, 2014 4:53:49 PM IST
UPDATE AD_Field SET XPosition=4,Updated=TO_TIMESTAMP('2014-04-15 16:53:49','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202858
;
-- Apr 15, 2014 4:54:23 PM IST
UPDATE AD_Field SET XPosition=4,Updated=TO_TIMESTAMP('2014-04-15 16:54:23','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202861
;
-- Apr 16, 2014 6:24:54 PM IST
-- IDEMPIERE-1770 Making Attribute tab Manually editable
INSERT INTO AD_Tab (ImportFields,Processing,IsSingleRow,SeqNo,IsTranslationTab,IsSortTab,HasTree,IsInfoTab,IsReadOnly,IsInsertRecord,IsAdvancedTab,TabLevel,AD_Tab_UU,EntityType,Name,Description,AD_Tab_ID,AD_Org_ID,Created,CreatedBy,Updated,UpdatedBy,IsActive,AD_Table_ID,AD_Client_ID,AD_Window_ID,TreeDisplayedOn) VALUES ('N','N','Y',40,'N','N','N','N','N','Y','N',2,'8cf5abeb-4146-4581-b353-24ee510bcaff','D','Attributes','Product Instance Attribute Material Allocation',200138,0,TO_TIMESTAMP('2014-04-16 18:24:52','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2014-04-16 18:24:52','YYYY-MM-DD HH24:MI:SS'),100,'Y',762,0,53097,'B')
;
-- Apr 16, 2014 6:25:03 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,IsDisplayedGrid,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',22,'N','N',13324,10,'Y',202863,'N','A Client is a company or a legal entity. You cannot share data between Clients. Tenant is a synonym for Client.','Client/Tenant for this installation.','Client','490b0733-4890-4e19-af23-acd31c1adb2e','Y','N',100,0,TO_TIMESTAMP('2014-04-16 18:25:02','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2014-04-16 18:25:02','YYYY-MM-DD HH24:MI:SS'),'Y','N',0,2,'D',200138)
;
-- Apr 16, 2014 6:25:04 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,IsAllowCopy,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,XPosition,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',22,'N','N',13325,20,'Y',202864,'N','An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations.','Organizational entity within client','Organization','b4f28546-657c-47cc-9d41-0631c71c1616','Y','N','Y',100,0,TO_TIMESTAMP('2014-04-16 18:25:03','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2014-04-16 18:25:03','YYYY-MM-DD HH24:MI:SS'),'Y',4,0,2,'D',200138)
;
-- Apr 16, 2014 6:25:04 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',22,'N','N',13322,30,'Y',202865,'N','The Shipment/Receipt Line indicates a unique line in a Shipment/Receipt document','Line on Shipment or Receipt document','Shipment/Receipt Line','f83a86f6-472d-494f-8abf-6b5b84f71f99','Y','N',100,0,TO_TIMESTAMP('2014-04-16 18:25:04','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2014-04-16 18:25:04','YYYY-MM-DD HH24:MI:SS'),'Y',0,2,'D',200138)
;
-- Apr 16, 2014 6:25:05 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',22,'N','N',13323,40,'Y',202866,'N','The values of the actual Product Attribute Instances. The product level attributes are defined on Product level.','Product Attribute Set Instance','Attribute Set Instance','a81d331b-79d1-450d-9856-945b0d713556','Y','N',100,0,TO_TIMESTAMP('2014-04-16 18:25:04','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2014-04-16 18:25:04','YYYY-MM-DD HH24:MI:SS'),'Y',0,2,'D',200138)
;
-- Apr 16, 2014 6:25:06 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',22,'N','N',13331,50,'Y',202867,'N','The Movement Quantity indicates the quantity of a product that has been moved.','Quantity of a product moved.','Movement Quantity','637b8625-8cba-4a2c-b67e-fb6d2537e3ae','Y','N',100,0,TO_TIMESTAMP('2014-04-16 18:25:05','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2014-04-16 18:25:05','YYYY-MM-DD HH24:MI:SS'),'Y',0,2,'D',200138)
;
-- Apr 16, 2014 6:25:07 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,IsDisplayedGrid,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',36,'N','N',60900,60,'Y',202868,'N','M_InOutLineMA_UU','153a008e-e046-4014-b466-7c03e7694ff1','N','N',100,0,TO_TIMESTAMP('2014-04-16 18:25:06','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2014-04-16 18:25:06','YYYY-MM-DD HH24:MI:SS'),'Y','N',0,2,'D',200138)
;
-- Apr 16, 2014 6:25:07 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',7,'N','N',208342,70,'Y',202869,'N','This field is used to record time used for LIFO and FIFO material policy','Time used for LIFO and FIFO Material Policy','Date Material Policy','74d11884-f339-481d-a278-3eadc2c7cfde','Y','N',100,0,TO_TIMESTAMP('2014-04-16 18:25:07','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2014-04-16 18:25:07','YYYY-MM-DD HH24:MI:SS'),'Y',0,2,'D',200138)
;
-- Apr 16, 2014 6:25:08 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,XPosition,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',1,'N','N',13326,80,'Y',202870,'N','There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reports.
There are two reasons for de-activating and not deleting records:
(1) The system requires the record for audit purposes.
(2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are invoices for this partner record existing. You de-activate the Business Partner and prevent that this record is used for future entries.','The record is active in the system','Active','381c7afe-31bd-4499-a5b5-fbdae4afefaf','Y','N',100,0,TO_TIMESTAMP('2014-04-16 18:25:07','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2014-04-16 18:25:07','YYYY-MM-DD HH24:MI:SS'),'Y',2,0,2,'D',200138)
;
-- Apr 16, 2014 6:25:49 PM IST
UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=202870
;
-- Apr 16, 2014 6:25:49 PM IST
UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=202868
;
-- Apr 16, 2014 6:25:49 PM IST
UPDATE AD_Field SET SeqNo=60,IsDisplayed='Y' WHERE AD_Field_ID=202869
;
-- Apr 16, 2014 6:27:46 PM IST
UPDATE AD_Field SET IsReadOnly='Y',Updated=TO_TIMESTAMP('2014-04-16 18:27:46','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202863
;
-- Apr 16, 2014 6:28:41 PM IST
UPDATE AD_Field SET IsReadOnly='Y',Updated=TO_TIMESTAMP('2014-04-16 18:28:41','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202864
;
-- Apr 16, 2014 6:29:03 PM IST
UPDATE AD_Field SET IsReadOnly='Y',Updated=TO_TIMESTAMP('2014-04-16 18:29:03','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202865
;
-- Apr 16, 2014 6:29:21 PM IST
UPDATE AD_Field SET XPosition=4,Updated=TO_TIMESTAMP('2014-04-16 18:29:21','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202866
;
-- Apr 16, 2014 6:29:45 PM IST
UPDATE AD_Field SET XPosition=4,Updated=TO_TIMESTAMP('2014-04-16 18:29:45','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202869
;
-- Apr 16, 2014 6:30:00 PM IST
UPDATE AD_Tab SET SeqNo=50,Updated=TO_TIMESTAMP('2014-04-16 18:30:00','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=53274
;
-- Apr 16, 2014 6:30:21 PM IST
UPDATE AD_Tab SET SeqNo=30,Updated=TO_TIMESTAMP('2014-04-16 18:30:21','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=200138
;
-- Apr 16, 2014 6:30:27 PM IST
UPDATE AD_Tab SET SeqNo=40,Updated=TO_TIMESTAMP('2014-04-16 18:30:27','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=53273
;
-- Apr 16, 2014 6:30:48 PM IST
UPDATE AD_Tab SET SeqNo=60,Updated=TO_TIMESTAMP('2014-04-16 18:30:48','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=53275
;
-- Apr 16, 2014 7:52:20 PM IST
-- IDEMPIERE-1770 Making Attribute tab Manually editable
UPDATE AD_Tab SET IsReadOnly='N', IsInsertRecord='Y',Updated=TO_TIMESTAMP('2014-04-16 19:52:20','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=53279
;
-- Apr 16, 2014 7:52:44 PM IST
UPDATE AD_Field SET IsReadOnly='N',Updated=TO_TIMESTAMP('2014-04-16 19:52:44','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=57942
;
-- Apr 16, 2014 7:52:52 PM IST
UPDATE AD_Field SET IsReadOnly='N',Updated=TO_TIMESTAMP('2014-04-16 19:52:52','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=57943
;
-- Apr 16, 2014 7:53:07 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,IsDisplayedGrid,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',36,'N','N',60900,60,'Y',202871,'N','M_InOutLineMA_UU','966b40fa-a67b-4014-adf6-6e4e549357e2','N','N',100,0,TO_TIMESTAMP('2014-04-16 19:53:06','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2014-04-16 19:53:06','YYYY-MM-DD HH24:MI:SS'),'Y','N',0,2,'D',53279)
;
-- Apr 16, 2014 7:53:08 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',7,'N','N',208342,70,'Y',202872,'N','This field is used to record time used for LIFO and FIFO material policy','Time used for LIFO and FIFO Material Policy','Date Material Policy','1a789397-4670-40f6-9dfd-2f366bd1deb7','Y','N',100,0,TO_TIMESTAMP('2014-04-16 19:53:07','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2014-04-16 19:53:07','YYYY-MM-DD HH24:MI:SS'),'Y',0,2,'D',53279)
;
-- Apr 16, 2014 7:53:43 PM IST
UPDATE AD_Field SET XPosition=4,Updated=TO_TIMESTAMP('2014-04-16 19:53:43','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202872
;
-- Apr 16, 2014 8:16:21 PM IST
UPDATE AD_Field SET XPosition=4,Updated=TO_TIMESTAMP('2014-04-16 20:16:21','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=57942
;
-- Apr 16, 2014 8:17:03 PM IST
UPDATE AD_Field SET XPosition=1,Updated=TO_TIMESTAMP('2014-04-16 20:17:03','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=57943
;
SELECT register_migration_script('201407010830_IDEMPIERE-1770.sql') FROM dual
;

View File

@ -0,0 +1,80 @@
-- Apr 18, 2014 12:49:29 AM IST
-- IDEMPIERE-1770 Making Attribute tab Manually editable
UPDATE AD_Tab SET IsReadOnly='N', IsInsertRecord='Y',Updated=TO_TIMESTAMP('2014-04-18 00:49:29','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=749
;
-- Apr 18, 2014 12:49:54 AM IST
UPDATE AD_Field SET IsReadOnly='N',Updated=TO_TIMESTAMP('2014-04-18 00:49:54','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=12182
;
-- Apr 18, 2014 12:49:59 AM IST
UPDATE AD_Field SET IsReadOnly='N',Updated=TO_TIMESTAMP('2014-04-18 00:49:59','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=12184
;
-- Apr 18, 2014 12:54:05 AM IST
UPDATE AD_Tab SET IsReadOnly='N', IsInsertRecord='Y',Updated=TO_TIMESTAMP('2014-04-18 00:54:05','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=750
;
-- Apr 18, 2014 12:54:25 AM IST
UPDATE AD_Field SET IsReadOnly='N',Updated=TO_TIMESTAMP('2014-04-18 00:54:25','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=12188
;
-- Apr 18, 2014 12:54:27 AM IST
UPDATE AD_Field SET IsReadOnly='N',Updated=TO_TIMESTAMP('2014-04-18 00:54:27','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=12191
;
-- Apr 18, 2014 2:37:40 PM IST
UPDATE AD_Column SET DefaultValue='@AD_Org_ID@',Updated=TO_TIMESTAMP('2014-04-18 14:37:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=13357
;
-- Apr 18, 2014 3:53:52 PM IST
UPDATE AD_Column SET DefaultValue='@AD_Org_ID@',Updated=TO_TIMESTAMP('2014-04-18 15:53:52','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=13305
;
-- Apr 20, 2014 11:44:45 AM IST
-- IDEMPIERE-1770 Making Attribute tab Manually editable
UPDATE AD_Column SET IsUpdateable='N',Updated=TO_TIMESTAMP('2014-04-20 11:44:44','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=13355
;
-- Apr 20, 2014 11:45:36 AM IST
UPDATE AD_Column SET IsUpdateable='N',Updated=TO_TIMESTAMP('2014-04-20 11:45:36','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=210653
;
-- Apr 20, 2014 11:46:25 AM IST
UPDATE AD_Column SET IsUpdateable='N',Updated=TO_TIMESTAMP('2014-04-20 11:46:25','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=13303
;
-- Apr 20, 2014 11:46:56 AM IST
UPDATE AD_Column SET IsUpdateable='N',Updated=TO_TIMESTAMP('2014-04-20 11:46:56','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=210651
;
-- Apr 20, 2014 12:43:45 PM IST
UPDATE AD_Tab SET IsReadOnly='N', IsInsertRecord='Y',Updated=TO_TIMESTAMP('2014-04-20 12:43:45','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=53134
;
-- Apr 20, 2014 12:43:57 PM IST
UPDATE AD_Field SET IsReadOnly='Y',Updated=TO_TIMESTAMP('2014-04-20 12:43:57','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=55368
;
-- Apr 20, 2014 12:44:24 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,IsDisplayedGrid,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',36,'N','N',60903,60,'Y',202873,'N','M_InventoryLineMA_UU','56f2de3d-9fa1-4e67-bcd5-cdbfc3199071','N','N',100,0,TO_TIMESTAMP('2014-04-20 12:44:22','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2014-04-20 12:44:22','YYYY-MM-DD HH24:MI:SS'),'Y','N',0,2,'D',53134)
;
-- Apr 20, 2014 12:44:25 PM IST
INSERT INTO AD_Field (IsEncrypted,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,AD_Client_ID,ColumnSpan,EntityType,AD_Tab_ID) VALUES ('N',7,'N','N',210653,70,'Y',202874,'N','This field is used to record time used for LIFO and FIFO material policy','Time used for LIFO and FIFO Material Policy','Date Material Policy','0d13babb-408e-43c1-ad73-8b5056ef3f5d','Y','N',100,0,TO_TIMESTAMP('2014-04-20 12:44:24','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2014-04-20 12:44:24','YYYY-MM-DD HH24:MI:SS'),'Y',0,2,'D',53134)
;
-- Apr 20, 2014 12:45:00 PM IST
UPDATE AD_Field SET XPosition=4,Updated=TO_TIMESTAMP('2014-04-20 12:45:00','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202874
;
-- Apr 20, 2014 12:46:49 PM IST
UPDATE AD_Field SET XPosition=4,Updated=TO_TIMESTAMP('2014-04-20 12:46:49','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=55364
;
-- Apr 20, 2014 12:48:30 PM IST
UPDATE AD_Field SET XPosition=1,Updated=TO_TIMESTAMP('2014-04-20 12:48:30','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=55366
;
SELECT register_migration_script('201407010831_IDEMPIERE-1770.sql') FROM dual
;

View File

@ -0,0 +1,107 @@
-- May 29, 2014 10:41:22 PM IST
-- I forgot to set the DICTIONARY_ID_COMMENTS System Configurator
INSERT INTO AD_Element (ColumnName,AD_Element_ID,Help,Name,PrintName,AD_Element_UU,Created,Updated,AD_Org_ID,CreatedBy,UpdatedBy,IsActive,AD_Client_ID,EntityType) VALUES ('IsAutoGenerated',202701,'Record is Auto Generated by System.','Auto Generated','Auto Generated','88bf1864-a7b4-490d-836d-ae2eb3a08a97',TO_TIMESTAMP('2014-05-29 22:41:22','YYYY-MM-DD HH24:MI:SS'),TO_TIMESTAMP('2014-05-29 22:41:22','YYYY-MM-DD HH24:MI:SS'),0,100,100,'Y',0,'D')
;
-- May 29, 2014 10:41:23 PM IST
INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,DefaultValue,Help,Name,IsAllowCopy,CreatedBy,Updated,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,IsSecure,FKConstraintType,AD_Element_ID,AD_Table_ID) VALUES (0,'Y',0,211211,'N','N','N',0,'N',1,'N',20,'N','N','N','5fa29a45-c0e0-44a6-be20-63a8e05bb836','N','IsAutoGenerated','N','Record is Auto Generated by System.','Auto Generated','N',100,TO_TIMESTAMP('2014-05-29 22:41:23','YYYY-MM-DD HH24:MI:SS'),0,'Y',TO_TIMESTAMP('2014-05-29 22:41:23','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N','N','N',202701,762)
;
-- May 29, 2014 10:41:23 PM IST
ALTER TABLE M_InOutLineMA ADD COLUMN IsAutoGenerated CHAR(1) DEFAULT 'N' CHECK (IsAutoGenerated IN ('Y','N'))
;
-- May 29, 2014 10:41:24 PM IST
INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,IsDisplayedGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,EntityType) VALUES ('N',751,1,'N','N',211211,70,'Y',202878,'Y','Record is Auto Generated by System.','Auto Generated','d94f1477-cb26-41ec-a677-4162d13f5339','Y','N',100,0,TO_TIMESTAMP('2014-05-29 22:41:24','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2014-05-29 22:41:24','YYYY-MM-DD HH24:MI:SS'),'Y','Y',2,'N',0,2,1,'N','N','D')
;
-- May 29, 2014 10:41:24 PM IST
INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,IsDisplayedGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,EntityType) VALUES ('N',200137,1,'N','N',211211,70,'Y',202879,'Y','Record is Auto Generated by System.','Auto Generated','c50c3d51-cc6a-49a1-919a-2ebd13fbc994','Y','N',100,0,TO_TIMESTAMP('2014-05-29 22:41:24','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2014-05-29 22:41:24','YYYY-MM-DD HH24:MI:SS'),'Y','Y',2,'N',0,2,1,'N','N','D')
;
-- May 29, 2014 10:41:25 PM IST
INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,DefaultValue,Help,Name,IsAllowCopy,CreatedBy,Updated,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,IsSecure,FKConstraintType,AD_Element_ID,AD_Table_ID) VALUES (0,'Y',0,211212,'N','N','N',0,'N',1,'N',20,'N','N','N','6d814e7b-3f7e-4f51-91f0-f5d6a80a9ec8','N','IsAutoGenerated','N','Record is Auto Generated by System.','Auto Generated','N',100,TO_TIMESTAMP('2014-05-29 22:41:25','YYYY-MM-DD HH24:MI:SS'),0,'Y',TO_TIMESTAMP('2014-05-29 22:41:25','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N','N','N',202701,763)
;
-- May 29, 2014 10:41:25 PM IST
ALTER TABLE M_InventoryLineMA ADD COLUMN IsAutoGenerated CHAR(1) DEFAULT 'N' CHECK (IsAutoGenerated IN ('Y','N'))
;
-- May 29, 2014 10:41:25 PM IST
INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,IsDisplayedGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,EntityType) VALUES ('N',749,1,'N','N',211212,70,'Y',202880,'Y','Record is Auto Generated by System.','Auto Generated','040f311d-d321-46ac-a1b8-0650df7b9b8b','Y','N',100,0,TO_TIMESTAMP('2014-05-29 22:41:25','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2014-05-29 22:41:25','YYYY-MM-DD HH24:MI:SS'),'Y','Y',2,'N',0,2,1,'N','N','D')
;
-- May 29, 2014 10:41:25 PM IST
INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,DefaultValue,Help,Name,IsAllowCopy,CreatedBy,Updated,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,IsSecure,FKConstraintType,AD_Element_ID,AD_Table_ID) VALUES (0,'Y',0,211213,'N','N','N',0,'N',1,'N',20,'N','N','N','b41d414b-71e2-4df9-a8b7-1c30119eebbf','N','IsAutoGenerated','N','Record is Auto Generated by System.','Auto Generated','N',100,TO_TIMESTAMP('2014-05-29 22:41:25','YYYY-MM-DD HH24:MI:SS'),0,'Y',TO_TIMESTAMP('2014-05-29 22:41:25','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N','N','N',202701,764)
;
-- May 29, 2014 10:41:25 PM IST
ALTER TABLE M_MovementLineMA ADD COLUMN IsAutoGenerated CHAR(1) DEFAULT 'N' CHECK (IsAutoGenerated IN ('Y','N'))
;
-- May 29, 2014 10:41:25 PM IST
INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,IsDisplayedGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,EntityType) VALUES ('N',750,1,'N','N',211213,70,'Y',202881,'Y','Record is Auto Generated by System.','Auto Generated','9e2cc848-53dc-4ad8-916a-bf58ff5c3184','Y','N',100,0,TO_TIMESTAMP('2014-05-29 22:41:25','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2014-05-29 22:41:25','YYYY-MM-DD HH24:MI:SS'),'Y','Y',2,'N',0,2,1,'N','N','D')
;
-- May 29, 2014 10:41:26 PM IST
INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,IsDisplayedGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,EntityType) VALUES ('N',53134,1,'N','N',211212,80,'Y',202882,'Y','Record is Auto Generated by System.','Auto Generated','c597cd68-10ed-46b0-8d80-f50e68d5f89b','Y','N',100,0,TO_TIMESTAMP('2014-05-29 22:41:25','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2014-05-29 22:41:25','YYYY-MM-DD HH24:MI:SS'),'Y','Y',2,'N',0,2,1,'N','N','D')
;
-- May 29, 2014 11:01:22 PM IST
-- I forgot to set the DICTIONARY_ID_COMMENTS System Configurator
UPDATE AD_Column SET DefaultValue='1',Updated=TO_TIMESTAMP('2014-05-29 23:01:22','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=13331
;
-- May 29, 2014 11:01:27 PM IST
INSERT INTO t_alter_column values('m_inoutlinema','MovementQty','NUMERIC',null,'1')
;
-- May 29, 2014 11:01:27 PM IST
UPDATE M_InOutLineMA SET MovementQty=1 WHERE MovementQty IS NULL
;
-- May 29, 2014 11:04:42 PM IST
UPDATE AD_Column SET DefaultValue='1',Updated=TO_TIMESTAMP('2014-05-29 23:04:42','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=13363
;
-- May 29, 2014 11:04:47 PM IST
INSERT INTO t_alter_column values('m_inventorylinema','MovementQty','NUMERIC',null,'1')
;
-- May 29, 2014 11:04:47 PM IST
UPDATE M_InventoryLineMA SET MovementQty=1 WHERE MovementQty IS NULL
;
-- May 29, 2014 11:06:10 PM IST
UPDATE AD_Column SET DefaultValue='1',Updated=TO_TIMESTAMP('2014-05-29 23:06:10','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=13311
;
-- May 29, 2014 11:06:14 PM IST
INSERT INTO t_alter_column values('m_movementlinema','MovementQty','NUMERIC',null,'1')
;
create view M_InoutLineMA_Returned as
SELECT sma.m_inoutline_id,
sma.m_attributesetinstance_id,
sma.ad_client_id,
sma.ad_org_id,
sma.isactive,
sma.created,
sma.createdby,
sma.updated,
sma.updatedby,
sma.movementqty,
sma.m_inoutlinema_uu,
sma.datematerialpolicy,
sma.isautogenerated,
sum (crma.movementqty) returnedQty
FROM M_InoutLineMA sma inner join M_InoutLine sl on (sma.M_InoutLine_ID =sl.M_InoutLine_ID)
inner join M_InOut sio on (sio.M_InOut_ID=sl.M_InOut_ID) left join M_RMALine rl on (rl.M_InOutLine_ID = sl.M_InOutLine_ID )
left join M_InoutLine crl on (rl.M_RMALine_ID =crl.M_RMALine_ID)
left join M_inout cr on (cr.M_Inout_ID = crl.M_Inout_ID and not cr.docstatus in ('CO','RE'))
left join M_InoutLineMA crma on (crma.M_InoutLine_Id = crl.M_InoutLine_ID and sma.M_AttributeSetInstance_ID=crma.M_AttributeSetInstance_ID)
group by sma.M_AttributeSetInstance_ID,sma.m_inoutline_id,sma.ad_client_id,sma.ad_org_id,sma.isactive,sma.created,sma.createdby,sma.updated
,sma.updatedby,sma.movementqty,sma.m_inoutlinema_uu,sma.datematerialpolicy,sma.isautogenerated;
SELECT register_migration_script('201407010832_IDEMPIERE-1770.sql') FROM dual
;

View File

@ -0,0 +1,10 @@
-- May 27, 2014 10:33:16 PM ICT
-- I forgot to set the DICTIONARY_ID_COMMENTS System Configurator
ALTER TABLE AD_PrintFormat_Trl DROP CONSTRAINT AD_PrintFormat_Trl_Key
;
ALTER TABLE AD_PrintFormat_Trl ADD CONSTRAINT AD_PrintFormat_Trl_Key PRIMARY KEY (AD_PrintFormat_ID, AD_Language)
;
SELECT register_migration_script('201407021604_IDEMPIERE-1878-wrong-key.sql') FROM dual
;

View File

@ -315,7 +315,7 @@ public class InventoryCountCreate extends SvrProcess
else if (m_line.getM_AttributeSetInstance_ID() != 0) else if (m_line.getM_AttributeSetInstance_ID() != 0)
{ {
MInventoryLineMA ma = new MInventoryLineMA (m_line, MInventoryLineMA ma = new MInventoryLineMA (m_line,
m_line.getM_AttributeSetInstance_ID(), m_line.getQtyBook(),oldDateMPolicy); m_line.getM_AttributeSetInstance_ID(), m_line.getQtyBook(),oldDateMPolicy,true);
if (!ma.save()) if (!ma.save())
; ;
} }
@ -326,7 +326,7 @@ public class InventoryCountCreate extends SvrProcess
// //
MInventoryLineMA ma = new MInventoryLineMA (m_line, MInventoryLineMA ma = new MInventoryLineMA (m_line,
M_AttributeSetInstance_ID, QtyOnHand,dateMPolicy); M_AttributeSetInstance_ID, QtyOnHand,dateMPolicy,true);
if (!ma.save()) if (!ma.save())
; ;
return 0; return 0;

View File

@ -160,7 +160,7 @@ public class InventoryCountUpdate extends SvrProcess
continue; continue;
// Save ASI // Save ASI
ma = new MInventoryLineMA (il, ma = new MInventoryLineMA (il,
storage.getM_AttributeSetInstance_ID(), storage.getQtyOnHand(),storage.getDateMaterialPolicy()); storage.getM_AttributeSetInstance_ID(), storage.getQtyOnHand(),storage.getDateMaterialPolicy(),true);
if (!ma.save()) if (!ma.save())
; ;
} }

View File

@ -13,9 +13,7 @@
</classpathentry> </classpathentry>
<classpathentry exported="true" kind="lib" path="groovy-all-1.7.5.jar"/> <classpathentry exported="true" kind="lib" path="groovy-all-1.7.5.jar"/>
<classpathentry kind="lib" path="super-csv-2.0.0-beta-1.jar" sourcepath="/home/carlos/libsources/super-csv-2.0.0-beta-1-sources.jar"/> <classpathentry kind="lib" path="super-csv-2.0.0-beta-1.jar" sourcepath="/home/carlos/libsources/super-csv-2.0.0-beta-1-sources.jar"/>
<classpathentry kind="lib" path="bctsp-jdk14-1.38.jar"/> <classpathentry kind="lib" path="bcprov-jdk15on-1.46.jar"/>
<classpathentry kind="lib" path="bcmail-jdk14-1.38.jar"/>
<classpathentry kind="lib" path="bcprov-jdk14-1.38.jar"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6">
<accessrules> <accessrules>
<accessrule kind="accessible" pattern="com/sun/rowset/*"/> <accessrule kind="accessible" pattern="com/sun/rowset/*"/>

View File

@ -20,9 +20,7 @@ Bundle-ClassPath: base.jar,
vt-password-3.1.1.jar, vt-password-3.1.1.jar,
super-csv-2.0.0-beta-1.jar, super-csv-2.0.0-beta-1.jar,
barcode4j-2.1.jar, barcode4j-2.1.jar,
bctsp-jdk14-1.38.jar, bcprov-jdk15on-1.46.jar
bcmail-jdk14-1.38.jar,
bcprov-jdk14-1.38.jar
Export-Package: bsh, Export-Package: bsh,
bsh.classpath, bsh.classpath,
bsh.collection, bsh.collection,
@ -127,10 +125,13 @@ Export-Package: bsh,
org.adempiere.util, org.adempiere.util,
org.bouncycastle, org.bouncycastle,
org.bouncycastle.asn1, org.bouncycastle.asn1,
org.bouncycastle.asn1.bc,
org.bouncycastle.asn1.cmp, org.bouncycastle.asn1.cmp,
org.bouncycastle.asn1.cms, org.bouncycastle.asn1.cms,
org.bouncycastle.asn1.cms.ecc,
org.bouncycastle.asn1.crmf, org.bouncycastle.asn1.crmf,
org.bouncycastle.asn1.cryptopro, org.bouncycastle.asn1.cryptopro,
org.bouncycastle.asn1.eac,
org.bouncycastle.asn1.esf, org.bouncycastle.asn1.esf,
org.bouncycastle.asn1.ess, org.bouncycastle.asn1.ess,
org.bouncycastle.asn1.gnu, org.bouncycastle.asn1.gnu,
@ -154,14 +155,15 @@ Export-Package: bsh,
org.bouncycastle.asn1.tsp, org.bouncycastle.asn1.tsp,
org.bouncycastle.asn1.util, org.bouncycastle.asn1.util,
org.bouncycastle.asn1.x500, org.bouncycastle.asn1.x500,
org.bouncycastle.asn1.x500.style,
org.bouncycastle.asn1.x509, org.bouncycastle.asn1.x509,
org.bouncycastle.asn1.x509.qualified, org.bouncycastle.asn1.x509.qualified,
org.bouncycastle.asn1.x509.sigi, org.bouncycastle.asn1.x509.sigi,
org.bouncycastle.asn1.x9, org.bouncycastle.asn1.x9,
org.bouncycastle.cms,
org.bouncycastle.crypto, org.bouncycastle.crypto,
org.bouncycastle.crypto.agreement, org.bouncycastle.crypto.agreement,
org.bouncycastle.crypto.agreement.kdf, org.bouncycastle.crypto.agreement.kdf,
org.bouncycastle.crypto.agreement.srp,
org.bouncycastle.crypto.digests, org.bouncycastle.crypto.digests,
org.bouncycastle.crypto.encodings, org.bouncycastle.crypto.encodings,
org.bouncycastle.crypto.engines, org.bouncycastle.crypto.engines,
@ -170,6 +172,7 @@ Export-Package: bsh,
org.bouncycastle.crypto.io, org.bouncycastle.crypto.io,
org.bouncycastle.crypto.macs, org.bouncycastle.crypto.macs,
org.bouncycastle.crypto.modes, org.bouncycastle.crypto.modes,
org.bouncycastle.crypto.modes.gcm,
org.bouncycastle.crypto.paddings, org.bouncycastle.crypto.paddings,
org.bouncycastle.crypto.params, org.bouncycastle.crypto.params,
org.bouncycastle.crypto.prng, org.bouncycastle.crypto.prng,
@ -184,22 +187,18 @@ Export-Package: bsh,
org.bouncycastle.jce.interfaces, org.bouncycastle.jce.interfaces,
org.bouncycastle.jce.netscape, org.bouncycastle.jce.netscape,
org.bouncycastle.jce.provider, org.bouncycastle.jce.provider,
org.bouncycastle.jce.provider.asymmetric,
org.bouncycastle.jce.provider.asymmetric.ec,
org.bouncycastle.jce.provider.symmetric, org.bouncycastle.jce.provider.symmetric,
org.bouncycastle.jce.spec, org.bouncycastle.jce.spec,
org.bouncycastle.mail.smime,
org.bouncycastle.mail.smime.examples,
org.bouncycastle.mail.smime.handlers,
org.bouncycastle.mail.smime.util,
org.bouncycastle.mail.smime.validator,
org.bouncycastle.math.ec, org.bouncycastle.math.ec,
org.bouncycastle.mozilla, org.bouncycastle.mozilla,
org.bouncycastle.ocsp, org.bouncycastle.ocsp,
org.bouncycastle.openssl, org.bouncycastle.openssl,
org.bouncycastle.sasn1,
org.bouncycastle.sasn1.cms,
org.bouncycastle.tsp,
org.bouncycastle.util, org.bouncycastle.util,
org.bouncycastle.util.encoders, org.bouncycastle.util.encoders,
org.bouncycastle.util.io,
org.bouncycastle.util.io.pem,
org.bouncycastle.util.test, org.bouncycastle.util.test,
org.bouncycastle.voms, org.bouncycastle.voms,
org.bouncycastle.x509, org.bouncycastle.x509,

View File

@ -35,9 +35,7 @@ bin.includes = META-INF/,\
OSGI-INF/addressvalidationeventhandler.xml,\ OSGI-INF/addressvalidationeventhandler.xml,\
schema/,\ schema/,\
barcode4j-2.1.jar,\ barcode4j-2.1.jar,\
bctsp-jdk14-1.38.jar,\ bcprov-jdk15on-1.46.jar
bcmail-jdk14-1.38.jar,\
bcprov-jdk14-1.38.jar
output.base.jar = build/ output.base.jar = build/
src.includes = schema/ src.includes = schema/
source.base.jar = src/ source.base.jar = src/

View File

@ -15,8 +15,12 @@ package org.adempiere.model;
import java.sql.ResultSet; import java.sql.ResultSet;
import java.util.Properties; import java.util.Properties;
import java.util.logging.Level;
import org.compiere.model.MProcess;
import org.compiere.model.X_AD_InfoProcess; import org.compiere.model.X_AD_InfoProcess;
import org.compiere.util.Env;
import org.compiere.util.Evaluatee;
import org.compiere.util.Evaluator;
/** /**
* Contain info of process in info window * Contain info of process in info window
@ -28,7 +32,7 @@ public class MInfoProcess extends X_AD_InfoProcess {
/** /**
* *
*/ */
private static final long serialVersionUID = 4978433930748011554L; private static final long serialVersionUID = -7324387365288006121L;
/** /**
* {@inheritDoc} * {@inheritDoc}
@ -52,4 +56,34 @@ public class MInfoProcess extends X_AD_InfoProcess {
} }
/**************************************************************************
* Is the Column Visible ? Evaluater base in display logic expression and context of this po
* @return true, if visible
*/
public boolean isDisplayed (final int windowNo)
{
return isDisplayed(this.getCtx(), windowNo);
}
/**************************************************************************
* Is the Column Visible ? Evaluater base in display logic expression and context
* @param ctx
* @return
*/
public boolean isDisplayed(final Properties ctx, final int windowNo) {
if (getDisplayLogic() == null || getDisplayLogic().trim().length() == 0)
return true;
Evaluatee evaluatee = new Evaluatee() {
public String get_ValueAsString(String variableName) {
return Env.getContext (ctx, windowNo, variableName, true);
}
};
boolean retValue = Evaluator.evaluateLogic(evaluatee, getDisplayLogic());
if (log.isLoggable(Level.FINEST)) log.finest(MProcess.get(getCtx(), getAD_Process_ID()).getName()
+ " (" + getDisplayLogic() + ") => " + retValue);
return retValue;
}
} }

View File

@ -423,10 +423,6 @@ public class GridField
|| (m_vo.ColumnName.equals("Record_ID") && m_vo.displayType == DisplayType.Button)) // Zoom || (m_vo.ColumnName.equals("Record_ID") && m_vo.displayType == DisplayType.Button)) // Zoom
return true; return true;
// Fields always updareable
if (m_vo.IsAlwaysUpdateable) // Zoom
return true;
// Tab or field is R/O // Tab or field is R/O
if (m_vo.tabReadOnly || m_vo.IsReadOnly) if (m_vo.tabReadOnly || m_vo.IsReadOnly)
{ {
@ -434,6 +430,10 @@ public class GridField
return false; return false;
} }
// Fields always updateable
if (m_vo.IsAlwaysUpdateable) // Zoom
return true;
//check tab context //check tab context
if (checkContext && getGridTab() != null && if (checkContext && getGridTab() != null &&
! "Y".equals(Env.getContext(Env.getCtx(), getWindowNo(), "_QUICK_ENTRY_MODE_"))) ! "Y".equals(Env.getContext(Env.getCtx(), getWindowNo(), "_QUICK_ENTRY_MODE_")))

View File

@ -113,7 +113,7 @@ public class GridTab implements DataStatusListener, Evaluatee, Serializable
/** /**
* *
*/ */
private static final long serialVersionUID = 1583164211079643636L; private static final long serialVersionUID = 1377113168185797983L;
public static final String DEFAULT_STATUS_MESSAGE = "NavigateOrUpdate"; public static final String DEFAULT_STATUS_MESSAGE = "NavigateOrUpdate";
@ -210,8 +210,6 @@ public class GridTab implements DataStatusListener, Evaluatee, Serializable
private DataStatusEvent m_lastDataStatusEvent; private DataStatusEvent m_lastDataStatusEvent;
private String m_parsedWhere;
//Contains currently selected rows //Contains currently selected rows
private ArrayList<Integer> selection = null; private ArrayList<Integer> selection = null;
@ -626,9 +624,6 @@ public class GridTab implements DataStatusListener, Evaluatee, Serializable
if (log.isLoggable(Level.FINE)) log.fine("#" + m_vo.TabNo if (log.isLoggable(Level.FINE)) log.fine("#" + m_vo.TabNo
+ " - Only Current Rows=" + onlyCurrentRows + " - Only Current Rows=" + onlyCurrentRows
+ ", Days=" + onlyCurrentDays + ", Detail=" + isDetail()); + ", Days=" + onlyCurrentDays + ", Detail=" + isDetail());
// is it same query?
boolean refresh = m_oldQuery.equals(m_query.getWhereClause())
&& m_vo.onlyCurrentRows == onlyCurrentRows && m_vo.onlyCurrentDays == onlyCurrentDays;
m_oldQuery = m_query.getWhereClause(); m_oldQuery = m_query.getWhereClause();
m_vo.onlyCurrentRows = onlyCurrentRows; m_vo.onlyCurrentRows = onlyCurrentRows;
m_vo.onlyCurrentDays = onlyCurrentDays; m_vo.onlyCurrentDays = onlyCurrentDays;
@ -670,8 +665,6 @@ public class GridTab implements DataStatusListener, Evaluatee, Serializable
} }
// Same link value? // Same link value?
if (refresh)
refresh = m_linkValue.equals(value);
if (! m_linkValue.equals(value)) if (! m_linkValue.equals(value))
setQuery(null); setQuery(null);
m_linkValue = value; m_linkValue = value;
@ -704,23 +697,6 @@ public class GridTab implements DataStatusListener, Evaluatee, Serializable
m_extendedWhere = where.toString(); m_extendedWhere = where.toString();
if (m_extendedWhere.indexOf("@") > 1)
{
String s = Env.parseContext(Env.getCtx(), getWindowNo(), m_extendedWhere, false);
if (s != null)
{
if (!(s.equals(m_parsedWhere)))
{
refresh = false;
}
}
else
{
refresh = false;
}
m_parsedWhere = s;
}
// Final Query // Final Query
if (m_query.isActive()) if (m_query.isActive())
{ {
@ -740,10 +716,7 @@ public class GridTab implements DataStatusListener, Evaluatee, Serializable
if (log.isLoggable(Level.FINE)) log.fine("#" + m_vo.TabNo + " - " + where); if (log.isLoggable(Level.FINE)) log.fine("#" + m_vo.TabNo + " - " + where);
if (m_mTable.isOpen()) if (m_mTable.isOpen())
{ {
if (refresh) m_mTable.dataRequery(where.toString(), m_vo.onlyCurrentRows && !isDetail(), onlyCurrentDays);
m_mTable.dataRefreshAll();
else
m_mTable.dataRequery(where.toString(), m_vo.onlyCurrentRows && !isDetail(), onlyCurrentDays);
} }
else else
{ {

View File

@ -309,6 +309,19 @@ public interface I_AD_InfoColumn
*/ */
public boolean isIdentifier(); public boolean isIdentifier();
/** Column name IsMandatory */
public static final String COLUMNNAME_IsMandatory = "IsMandatory";
/** Set Mandatory.
* Data entry is required in this column
*/
public void setIsMandatory (boolean IsMandatory);
/** Get Mandatory.
* Data entry is required in this column
*/
public boolean isMandatory();
/** Column name IsQueryCriteria */ /** Column name IsQueryCriteria */
public static final String COLUMNNAME_IsQueryCriteria = "IsQueryCriteria"; public static final String COLUMNNAME_IsQueryCriteria = "IsQueryCriteria";

View File

@ -126,6 +126,19 @@ public interface I_AD_InfoProcess
*/ */
public int getCreatedBy(); public int getCreatedBy();
/** Column name DisplayLogic */
public static final String COLUMNNAME_DisplayLogic = "DisplayLogic";
/** Set Display Logic.
* If the Field is displayed, the result determines if the field is actually displayed
*/
public void setDisplayLogic (String DisplayLogic);
/** Get Display Logic.
* If the Field is displayed, the result determines if the field is actually displayed
*/
public String getDisplayLogic();
/** Column name ImageURL */ /** Column name ImageURL */
public static final String COLUMNNAME_ImageURL = "ImageURL"; public static final String COLUMNNAME_ImageURL = "ImageURL";

View File

@ -104,6 +104,15 @@ public interface I_M_InOutLineMA
*/ */
public boolean isActive(); public boolean isActive();
/** Column name IsAutoGenerated */
public static final String COLUMNNAME_IsAutoGenerated = "IsAutoGenerated";
/** Set Auto Generated */
public void setIsAutoGenerated (boolean IsAutoGenerated);
/** Get Auto Generated */
public boolean isAutoGenerated();
/** Column name M_AttributeSetInstance_ID */ /** Column name M_AttributeSetInstance_ID */
public static final String COLUMNNAME_M_AttributeSetInstance_ID = "M_AttributeSetInstance_ID"; public static final String COLUMNNAME_M_AttributeSetInstance_ID = "M_AttributeSetInstance_ID";

View File

@ -104,6 +104,15 @@ public interface I_M_InventoryLineMA
*/ */
public boolean isActive(); public boolean isActive();
/** Column name IsAutoGenerated */
public static final String COLUMNNAME_IsAutoGenerated = "IsAutoGenerated";
/** Set Auto Generated */
public void setIsAutoGenerated (boolean IsAutoGenerated);
/** Get Auto Generated */
public boolean isAutoGenerated();
/** Column name M_AttributeSetInstance_ID */ /** Column name M_AttributeSetInstance_ID */
public static final String COLUMNNAME_M_AttributeSetInstance_ID = "M_AttributeSetInstance_ID"; public static final String COLUMNNAME_M_AttributeSetInstance_ID = "M_AttributeSetInstance_ID";

View File

@ -104,6 +104,15 @@ public interface I_M_MovementLineMA
*/ */
public boolean isActive(); public boolean isActive();
/** Column name IsAutoGenerated */
public static final String COLUMNNAME_IsAutoGenerated = "IsAutoGenerated";
/** Set Auto Generated */
public void setIsAutoGenerated (boolean IsAutoGenerated);
/** Get Auto Generated */
public boolean isAutoGenerated();
/** Column name M_AttributeSetInstance_ID */ /** Column name M_AttributeSetInstance_ID */
public static final String COLUMNNAME_M_AttributeSetInstance_ID = "M_AttributeSetInstance_ID"; public static final String COLUMNNAME_M_AttributeSetInstance_ID = "M_AttributeSetInstance_ID";

View File

@ -131,16 +131,14 @@ public class MBPartnerLocation extends X_C_BPartner_Location {
/** /**
* Get Location/Address * Get Location/Address
* *
* @param requery * @param requery get again the location from DB - please note that if used out of transaction the result is get from the cache
* requery
* @return location * @return location
*/ */
public MLocation getLocation(boolean requery) { public MLocation getLocation(boolean requery) {
if (m_location == null) if (requery || m_location == null)
m_location = MLocation.get(getCtx(), getC_Location_ID(), m_location = MLocation.get(getCtx(), getC_Location_ID(), get_TrxName());
get_TrxName());
return m_location; return m_location;
} // getLoaction } // getLocation
/** /**
* String Representation * String Representation

View File

@ -65,6 +65,7 @@ public class MInOut extends X_M_InOut implements DocAction
*/ */
private static final long serialVersionUID = -239302197968535277L; private static final long serialVersionUID = -239302197968535277L;
/** /**
* Create Shipment From Order * Create Shipment From Order
* @param order order * @param order order
@ -1317,7 +1318,17 @@ public class MInOut extends X_M_InOut implements DocAction
//Ignore the Material Policy when is Reverse Correction //Ignore the Material Policy when is Reverse Correction
if(!isReversal()) if(!isReversal())
{ {
checkMaterialPolicy(sLine); BigDecimal movementQty = sLine.getMovementQty();
BigDecimal qtyOnLineMA = MInOutLineMA.getManualQty(sLine.getM_InOutLine_ID(), get_TrxName());
if(qtyOnLineMA.compareTo(movementQty)>0)
{
// More then line qty on attribute tab for line 10
m_processMsg = "@Over_Qty_On_Attribute_Tab@ " + sLine.getLine();
return DOCSTATUS_Invalid;
}
checkMaterialPolicy(sLine,movementQty.subtract(qtyOnLineMA));
} }
log.fine("Material Transaction"); log.fine("Material Transaction");
@ -1751,17 +1762,20 @@ public class MInOut extends X_M_InOut implements DocAction
* Check Material Policy * Check Material Policy
* Sets line ASI * Sets line ASI
*/ */
private void checkMaterialPolicy(MInOutLine line) private void checkMaterialPolicy(MInOutLine line,BigDecimal qty)
{ {
int no = MInOutLineMA.deleteInOutLineMA(line.getM_InOutLine_ID(), get_TrxName()); int no = MInOutLineMA.deleteInOutLineMA(line.getM_InOutLine_ID(), get_TrxName());
if (no > 0) if (no > 0)
if (log.isLoggable(Level.CONFIG)) log.config("Delete old #" + no); if (log.isLoggable(Level.CONFIG)) log.config("Delete old #" + no);
if(Env.ZERO.compareTo(qty)==0)
return;
// Incoming Trx // Incoming Trx
String MovementType = getMovementType(); String MovementType = getMovementType();
boolean inTrx = MovementType.charAt(1) == '+'; // V+ Vendor Receipt boolean inTrx = MovementType.charAt(1) == '+'; // V+ Vendor Receipt
boolean needSave = false; boolean needSave = false;
MProduct product = line.getProduct(); MProduct product = line.getProduct();
@ -1784,30 +1798,33 @@ public class MInOut extends X_M_InOut implements DocAction
if (getMovementType().compareTo(MInOut.MOVEMENTTYPE_VendorReceipts) == 0 ) if (getMovementType().compareTo(MInOut.MOVEMENTTYPE_VendorReceipts) == 0 )
{ {
//auto balance negative on hand //auto balance negative on hand
BigDecimal qtyToReceive = autoBalanceNegative(line, product); BigDecimal qtyToReceive = autoBalanceNegative(line, product,qty);
//Allocate remaining qty. //Allocate remaining qty.
if (qtyToReceive.compareTo(Env.ZERO)>0) if (qtyToReceive.compareTo(Env.ZERO)>0)
{ {
MInOutLineMA ma = MInOutLineMA.addOrCreate(line, 0, qtyToReceive, getMovementDate()); MInOutLineMA ma = MInOutLineMA.addOrCreate(line, 0, qtyToReceive, getMovementDate(),true);
ma.saveEx(); ma.saveEx();
} }
} else if (getMovementType().compareTo(MInOut.MOVEMENTTYPE_CustomerReturns) == 0){ } else if (getMovementType().compareTo(MInOut.MOVEMENTTYPE_CustomerReturns) == 0){
BigDecimal qtyToReturn = autoBalanceNegative(line, product); BigDecimal qtyToReturn = autoBalanceNegative(line, product,qty);
if (line.getM_RMALine_ID()!=0 && qtyToReturn.compareTo(Env.ZERO)>0){ if (line.getM_RMALine_ID()!=0 && qtyToReturn.compareTo(Env.ZERO)>0){
//Linking to shipment line //Linking to shipment line
MRMALine rmaLine = new MRMALine(getCtx(), line.getM_RMALine_ID(), get_TrxName()); MRMALine rmaLine = new MRMALine(getCtx(), line.getM_RMALine_ID(), get_TrxName());
if(rmaLine.getM_InOutLine_ID()>0){ if(rmaLine.getM_InOutLine_ID()>0){
MInOutLineMA shipmentMAS[] = MInOutLineMA.get(getCtx(), rmaLine.getM_InOutLine_ID(), get_TrxName()); //retrieving ASI which is not already returned
MInOutLineMA shipmentMAS[] = MInOutLineMA.getNonReturned(getCtx(), rmaLine.getM_InOutLine_ID(), get_TrxName());
for(MInOutLineMA sMA : shipmentMAS){ for(MInOutLineMA sMA : shipmentMAS){
BigDecimal lineMAQty = qtyToReturn; BigDecimal lineMAQty = qtyToReturn;
if(lineMAQty.compareTo(sMA.getMovementQty())>0){ BigDecimal qtyReturnable = (BigDecimal)sMA.get_Value(MInOutLineMA.COLUMNNAME_ReturnedQty);
lineMAQty = sMA.getMovementQty(); if(lineMAQty.compareTo(qtyReturnable)>0){
lineMAQty = qtyReturnable;
} }
MInOutLineMA ma = MInOutLineMA.addOrCreate(line, sMA.getM_AttributeSetInstance_ID(), lineMAQty, sMA.getDateMaterialPolicy()); MInOutLineMA ma = MInOutLineMA.addOrCreate(line, sMA.getM_AttributeSetInstance_ID(), lineMAQty, sMA.getDateMaterialPolicy(),true);
ma.saveEx(); ma.saveEx();
qtyToReturn = qtyToReturn.subtract(lineMAQty); qtyToReturn = qtyToReturn.subtract(lineMAQty);
@ -1818,7 +1835,7 @@ public class MInOut extends X_M_InOut implements DocAction
} }
if(qtyToReturn.compareTo(Env.ZERO)>0){ if(qtyToReturn.compareTo(Env.ZERO)>0){
//Use movement data for Material policy if no linkage found to Shipment. //Use movement data for Material policy if no linkage found to Shipment.
MInOutLineMA ma = MInOutLineMA.addOrCreate(line, 0, qtyToReturn, getMovementDate()); MInOutLineMA ma = MInOutLineMA.addOrCreate(line, 0, qtyToReturn, getMovementDate(),true);
ma.saveEx(); ma.saveEx();
} }
} }
@ -1829,14 +1846,14 @@ public class MInOut extends X_M_InOut implements DocAction
Timestamp minGuaranteeDate = getMovementDate(); Timestamp minGuaranteeDate = getMovementDate();
MStorageOnHand[] storages = MStorageOnHand.getWarehouse(getCtx(), getM_Warehouse_ID(), line.getM_Product_ID(), line.getM_AttributeSetInstance_ID(), MStorageOnHand[] storages = MStorageOnHand.getWarehouse(getCtx(), getM_Warehouse_ID(), line.getM_Product_ID(), line.getM_AttributeSetInstance_ID(),
minGuaranteeDate, MClient.MMPOLICY_FiFo.equals(MMPolicy), true, line.getM_Locator_ID(), get_TrxName(), true); minGuaranteeDate, MClient.MMPOLICY_FiFo.equals(MMPolicy), true, line.getM_Locator_ID(), get_TrxName(), true);
BigDecimal qtyToDeliver = line.getMovementQty(); BigDecimal qtyToDeliver = qty;
for (MStorageOnHand storage: storages) for (MStorageOnHand storage: storages)
{ {
if (storage.getQtyOnHand().compareTo(qtyToDeliver) >= 0) if (storage.getQtyOnHand().compareTo(qtyToDeliver) >= 0)
{ {
MInOutLineMA ma = new MInOutLineMA (line, MInOutLineMA ma = new MInOutLineMA (line,
storage.getM_AttributeSetInstance_ID(), storage.getM_AttributeSetInstance_ID(),
qtyToDeliver,storage.getDateMaterialPolicy()); qtyToDeliver,storage.getDateMaterialPolicy(),true);
ma.saveEx(); ma.saveEx();
qtyToDeliver = Env.ZERO; qtyToDeliver = Env.ZERO;
} }
@ -1844,7 +1861,7 @@ public class MInOut extends X_M_InOut implements DocAction
{ {
MInOutLineMA ma = new MInOutLineMA (line, MInOutLineMA ma = new MInOutLineMA (line,
storage.getM_AttributeSetInstance_ID(), storage.getM_AttributeSetInstance_ID(),
storage.getQtyOnHand(),storage.getDateMaterialPolicy()); storage.getQtyOnHand(),storage.getDateMaterialPolicy(),true);
ma.saveEx(); ma.saveEx();
qtyToDeliver = qtyToDeliver.subtract(storage.getQtyOnHand()); qtyToDeliver = qtyToDeliver.subtract(storage.getQtyOnHand());
if (log.isLoggable(Level.FINE)) log.fine( ma + ", QtyToDeliver=" + qtyToDeliver); if (log.isLoggable(Level.FINE)) log.fine( ma + ", QtyToDeliver=" + qtyToDeliver);
@ -1857,7 +1874,7 @@ public class MInOut extends X_M_InOut implements DocAction
if (qtyToDeliver.signum() != 0) if (qtyToDeliver.signum() != 0)
{ {
//Over Delivery //Over Delivery
MInOutLineMA ma = MInOutLineMA.addOrCreate(line, line.getM_AttributeSetInstance_ID(), qtyToDeliver, getMovementDate()); MInOutLineMA ma = MInOutLineMA.addOrCreate(line, line.getM_AttributeSetInstance_ID(), qtyToDeliver, getMovementDate(),true);
ma.saveEx(); ma.saveEx();
if (log.isLoggable(Level.FINE)) log.fine("##: " + ma); if (log.isLoggable(Level.FINE)) log.fine("##: " + ma);
} }
@ -1870,12 +1887,11 @@ public class MInOut extends X_M_InOut implements DocAction
} }
} // checkMaterialPolicy } // checkMaterialPolicy
private BigDecimal autoBalanceNegative(MInOutLine line, MProduct product) { private BigDecimal autoBalanceNegative(MInOutLine line, MProduct product,BigDecimal qtyToReceive) {
MStorageOnHand[] storages = MStorageOnHand.getWarehouseNegative(getCtx(), getM_Warehouse_ID(), line.getM_Product_ID(), 0, MStorageOnHand[] storages = MStorageOnHand.getWarehouseNegative(getCtx(), getM_Warehouse_ID(), line.getM_Product_ID(), 0,
null, MClient.MMPOLICY_FiFo.equals(product.getMMPolicy()), line.getM_Locator_ID(), get_TrxName(), true); null, MClient.MMPOLICY_FiFo.equals(product.getMMPolicy()), line.getM_Locator_ID(), get_TrxName(), true);
Timestamp dateMPolicy = null; Timestamp dateMPolicy = null;
BigDecimal qtyToReceive = line.getMovementQty();
for (MStorageOnHand storage : storages) for (MStorageOnHand storage : storages)
{ {
@ -1887,7 +1903,7 @@ public class MInOut extends X_M_InOut implements DocAction
lineMAQty = storage.getQtyOnHand().negate(); lineMAQty = storage.getQtyOnHand().negate();
//Using ASI from storage record //Using ASI from storage record
MInOutLineMA ma = new MInOutLineMA (line, storage.getM_AttributeSetInstance_ID(), lineMAQty,dateMPolicy); MInOutLineMA ma = new MInOutLineMA (line, storage.getM_AttributeSetInstance_ID(), lineMAQty,dateMPolicy,true);
ma.saveEx(); ma.saveEx();
qtyToReceive = qtyToReceive.subtract(lineMAQty); qtyToReceive = qtyToReceive.subtract(lineMAQty);
} }
@ -2177,7 +2193,7 @@ public class MInOut extends X_M_InOut implements DocAction
{ {
MInOutLineMA ma = new MInOutLineMA (rLine, MInOutLineMA ma = new MInOutLineMA (rLine,
mas[j].getM_AttributeSetInstance_ID(), mas[j].getM_AttributeSetInstance_ID(),
mas[j].getMovementQty().negate(),mas[j].getDateMaterialPolicy()); mas[j].getMovementQty().negate(),mas[j].getDateMaterialPolicy(),true);
ma.saveEx(); ma.saveEx();
} }
} }

View File

@ -17,11 +17,17 @@
package org.compiere.model; package org.compiere.model;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.sql.PreparedStatement;
import java.sql.ResultSet; import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Timestamp; import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Properties; import java.util.Properties;
import java.util.logging.Level;
import org.adempiere.exceptions.AdempiereException;
import org.compiere.util.CLogger;
import org.compiere.util.DB; import org.compiere.util.DB;
import org.compiere.util.Env; import org.compiere.util.Env;
import org.compiere.util.Util; import org.compiere.util.Util;
@ -37,7 +43,11 @@ public class MInOutLineMA extends X_M_InOutLineMA
/** /**
* *
*/ */
private static final long serialVersionUID = -3229418883339488380L; private static final long serialVersionUID = -4131812777103744727L;
/** Log */
private static CLogger s_log = CLogger.getCLogger (MInOutLineMA.class);
public static String COLUMNNAME_ReturnedQty ="returnedQty";
/** /**
* Get Material Allocations for Line * Get Material Allocations for Line
@ -79,7 +89,7 @@ public class MInOutLineMA extends X_M_InOutLineMA
*/ */
public static int deleteInOutLineMA (int M_InOutLine_ID, String trxName) public static int deleteInOutLineMA (int M_InOutLine_ID, String trxName)
{ {
String sql = "DELETE FROM M_InOutLineMA ma WHERE ma.M_InOutLine_ID=?"; String sql = "DELETE FROM M_InOutLineMA ma WHERE ma.M_InOutLine_ID=? AND ma.IsAutoGenerated='Y'";
return DB.executeUpdate(sql, M_InOutLine_ID, trxName); return DB.executeUpdate(sql, M_InOutLine_ID, trxName);
} // deleteInOutLineMA } // deleteInOutLineMA
@ -119,6 +129,18 @@ public class MInOutLineMA extends X_M_InOutLineMA
* @param DateMaterialPolicy * @param DateMaterialPolicy
*/ */
public MInOutLineMA (MInOutLine parent, int M_AttributeSetInstance_ID, BigDecimal MovementQty,Timestamp DateMaterialPolicy) public MInOutLineMA (MInOutLine parent, int M_AttributeSetInstance_ID, BigDecimal MovementQty,Timestamp DateMaterialPolicy)
{
this (parent,M_AttributeSetInstance_ID,MovementQty,DateMaterialPolicy,true);
}
/**
* @param parent
* @param M_AttributeSetInstance_ID
* @param MovementQty
* @param DateMaterialPolicy
* @param isAutoGenerated
*/
public MInOutLineMA (MInOutLine parent, int M_AttributeSetInstance_ID, BigDecimal MovementQty,Timestamp DateMaterialPolicy,boolean isAutoGenerated)
{ {
this (parent.getCtx(), 0, parent.get_TrxName()); this (parent.getCtx(), 0, parent.get_TrxName());
setClientOrg(parent); setClientOrg(parent);
@ -139,6 +161,7 @@ public class MInOutLineMA extends X_M_InOutLineMA
} }
} }
setDateMaterialPolicy(DateMaterialPolicy); setDateMaterialPolicy(DateMaterialPolicy);
setIsAutoGenerated(isAutoGenerated);
} // MInOutLineMA } // MInOutLineMA
@Override @Override
@ -162,16 +185,106 @@ public class MInOutLineMA extends X_M_InOutLineMA
return sb.toString (); return sb.toString ();
} // toString } // toString
public static MInOutLineMA addOrCreate(MInOutLine line, int M_AttributeSetInstance_ID, BigDecimal MovementQty, Timestamp DateMaterialPolicy) public static MInOutLineMA addOrCreate(MInOutLine line, int M_AttributeSetInstance_ID, BigDecimal MovementQty, Timestamp DateMaterialPolicy){
return addOrCreate(line,M_AttributeSetInstance_ID,MovementQty,DateMaterialPolicy,true);
}
public static MInOutLineMA addOrCreate(MInOutLine line, int M_AttributeSetInstance_ID, BigDecimal MovementQty, Timestamp DateMaterialPolicy,boolean isAutoGenerated)
{ {
Query query = new Query(Env.getCtx(), I_M_InOutLineMA.Table_Name, "M_InOutLine_ID=? AND M_AttributeSetInstance_ID=? AND DateMaterialPolicy=trunc(cast(? as date))", Query query = new Query(Env.getCtx(), I_M_InOutLineMA.Table_Name, "M_InOutLine_ID=? AND M_AttributeSetInstance_ID=? AND DateMaterialPolicy=trunc(cast(? as date))",
line.get_TrxName()); line.get_TrxName());
MInOutLineMA po = query.setParameters(line.getM_InOutLine_ID(), M_AttributeSetInstance_ID, DateMaterialPolicy).first(); MInOutLineMA po = query.setParameters(line.getM_InOutLine_ID(), M_AttributeSetInstance_ID, DateMaterialPolicy).first();
if (po == null) if (po == null)
po = new MInOutLineMA(line, M_AttributeSetInstance_ID, MovementQty, DateMaterialPolicy); po = new MInOutLineMA(line, M_AttributeSetInstance_ID, MovementQty, DateMaterialPolicy,isAutoGenerated);
else else
po.setMovementQty(po.getMovementQty().add(MovementQty)); po.setMovementQty(po.getMovementQty().add(MovementQty));
return po; return po;
} }
/**
* Total qty on LineMA for M_InoutLine
* @param M_InOutLine_ID
* @param trxName
* @return
*/
public static BigDecimal getManualQty (int M_InOutLine_ID, String trxName)
{
String sql = "SELECT SUM(movementqty) FROM M_InOutLineMA ma WHERE ma.M_InOutLine_ID=? AND ma.IsAutoGenerated='N'";
BigDecimal totalQty = DB.getSQLValueBD(trxName, sql, M_InOutLine_ID);
return totalQty==null?Env.ZERO:totalQty;
} //totalLineQty
/**
* Get Material Allocations from shipment which is not returned
* @param ctx context
* @param M_InOutLine_ID line
* @param trxName trx
* @return allocations
*/
public static MInOutLineMA[] getNonReturned (Properties ctx, int M_InOutLine_ID, String trxName)
{
String sql = "SELECT * FROM M_InoutLineMA_Returned WHERE (returnedQty<>movementQty or returnedQty is null) and m_inoutline_id=? ";
PreparedStatement pstmt = null;
ResultSet rs = null;
ArrayList<MInOutLineMA> list = new ArrayList<MInOutLineMA>();
try
{
pstmt = DB.prepareStatement(sql, trxName);
pstmt.setInt(1, M_InOutLine_ID);
rs = pstmt.executeQuery();
while (rs.next())
{
MInOutLineMA lineMA = new MInOutLineMA(ctx, rs, trxName);
lineMA.set_Value(COLUMNNAME_ReturnedQty, rs.getBigDecimal(COLUMNNAME_ReturnedQty));
list.add(lineMA);
}
}catch (SQLException ex)
{
s_log.log(Level.SEVERE, sql, ex);
throw new AdempiereException(ex.getLocalizedMessage(),ex);
}finally
{
DB.close(rs, pstmt);
rs = null; pstmt = null;
}
MInOutLineMA[] retValue = new MInOutLineMA[list.size ()];
list.toArray (retValue);
return retValue;
} // getNonReturned
/**************************************************************************
* Before Save
* @param newRecord new
* @return save
*/
protected boolean beforeSave (boolean newRecord)
{
//Set DateMaterialPolicy
if(is_ValueChanged(COLUMNNAME_M_AttributeSetInstance_ID)){
//TODO Require testing for all scenario
I_M_InOutLine line = getM_InOutLine();
Timestamp dateMPolicy = null;
if(getM_AttributeSetInstance_ID()>0)
{
dateMPolicy = getM_AttributeSetInstance().getCreated();
}
if(dateMPolicy == null)
{
I_M_InOut inout = line.getM_InOut();
dateMPolicy = inout.getMovementDate();
}
setDateMaterialPolicy(dateMPolicy);
}
return true;
} //beforeSave
} // MInOutLineMA } // MInOutLineMA

View File

@ -433,9 +433,22 @@ public class MInventory extends X_M_Inventory implements DocAction
continue; continue;
//Ignore the Material Policy when is Reverse Correction //Ignore the Material Policy when is Reverse Correction
if(!isReversal()) if(!isReversal()){
checkMaterialPolicy(line, qtyDiff); BigDecimal qtyOnLineMA = MInventoryLineMA.getManualQty(line.getM_InventoryLine_ID(), get_TrxName());
if(qtyDiff.signum()<0){
if(qtyOnLineMA.compareTo(qtyDiff)<0){
m_processMsg = "@Over_Qty_On_Attribute_Tab@ " + line.getLine();
return DOCSTATUS_Invalid;
}
}else{
if(qtyOnLineMA.compareTo(qtyDiff)>0){
m_processMsg = "@Over_Qty_On_Attribute_Tab@ " + line.getLine();
return DOCSTATUS_Invalid;
}
}
checkMaterialPolicy(line, qtyDiff.subtract(qtyOnLineMA));
}
// Stock Movement - Counterpart MOrder.reserveStock // Stock Movement - Counterpart MOrder.reserveStock
if (product != null if (product != null
&& product.isStocked() ) && product.isStocked() )
@ -595,10 +608,14 @@ public class MInventory extends X_M_Inventory implements DocAction
*/ */
private void checkMaterialPolicy(MInventoryLine line, BigDecimal qtyDiff) private void checkMaterialPolicy(MInventoryLine line, BigDecimal qtyDiff)
{ {
int no = MInventoryLineMA.deleteInventoryLineMA(line.getM_InventoryLine_ID(), get_TrxName()); int no = MInventoryLineMA.deleteInventoryLineMA(line.getM_InventoryLine_ID(), get_TrxName());
if (no > 0) if (no > 0)
if (log.isLoggable(Level.CONFIG)) log.config("Delete old #" + no); if (log.isLoggable(Level.CONFIG)) log.config("Delete old #" + no);
if(qtyDiff.compareTo(Env.ZERO)==0)
return;
// Check Line // Check Line
boolean needSave = false; boolean needSave = false;
// Attribute Set Instance // Attribute Set Instance
@ -621,7 +638,7 @@ public class MInventory extends X_M_Inventory implements DocAction
} }
//backward compatibility: -ve in MA is incoming trx, +ve in MA is outgoing trx //backward compatibility: -ve in MA is incoming trx, +ve in MA is outgoing trx
MInventoryLineMA lineMA = new MInventoryLineMA(line, storage.getM_AttributeSetInstance_ID(), maQty.negate(), storage.getDateMaterialPolicy()); MInventoryLineMA lineMA = new MInventoryLineMA(line, storage.getM_AttributeSetInstance_ID(), maQty.negate(), storage.getDateMaterialPolicy(),true);
lineMA.saveEx(); lineMA.saveEx();
qtyDiff = qtyDiff.subtract(maQty); qtyDiff = qtyDiff.subtract(maQty);
@ -632,7 +649,7 @@ public class MInventory extends X_M_Inventory implements DocAction
if(qtyDiff.compareTo(Env.ZERO)>0) if(qtyDiff.compareTo(Env.ZERO)>0)
{ {
MInventoryLineMA lineMA = MInventoryLineMA.addOrCreate(line, 0, qtyDiff.negate(), getMovementDate()); MInventoryLineMA lineMA = MInventoryLineMA.addOrCreate(line, 0, qtyDiff.negate(), getMovementDate(),true);
lineMA.saveEx(); lineMA.saveEx();
} }
} }
@ -649,7 +666,7 @@ public class MInventory extends X_M_Inventory implements DocAction
{ {
MInventoryLineMA ma = new MInventoryLineMA (line, MInventoryLineMA ma = new MInventoryLineMA (line,
storage.getM_AttributeSetInstance_ID(), storage.getM_AttributeSetInstance_ID(),
qtyToDeliver,storage.getDateMaterialPolicy()); qtyToDeliver,storage.getDateMaterialPolicy(),true);
ma.saveEx(); ma.saveEx();
qtyToDeliver = Env.ZERO; qtyToDeliver = Env.ZERO;
if (log.isLoggable(Level.FINE)) log.fine( ma + ", QtyToDeliver=" + qtyToDeliver); if (log.isLoggable(Level.FINE)) log.fine( ma + ", QtyToDeliver=" + qtyToDeliver);
@ -658,7 +675,7 @@ public class MInventory extends X_M_Inventory implements DocAction
{ {
MInventoryLineMA ma = new MInventoryLineMA (line, MInventoryLineMA ma = new MInventoryLineMA (line,
storage.getM_AttributeSetInstance_ID(), storage.getM_AttributeSetInstance_ID(),
storage.getQtyOnHand(),storage.getDateMaterialPolicy()); storage.getQtyOnHand(),storage.getDateMaterialPolicy(),true);
ma.saveEx(); ma.saveEx();
qtyToDeliver = qtyToDeliver.subtract(storage.getQtyOnHand()); qtyToDeliver = qtyToDeliver.subtract(storage.getQtyOnHand());
if (log.isLoggable(Level.FINE)) log.fine( ma + ", QtyToDeliver=" + qtyToDeliver); if (log.isLoggable(Level.FINE)) log.fine( ma + ", QtyToDeliver=" + qtyToDeliver);
@ -670,7 +687,7 @@ public class MInventory extends X_M_Inventory implements DocAction
// No AttributeSetInstance found for remainder // No AttributeSetInstance found for remainder
if (qtyToDeliver.signum() != 0) if (qtyToDeliver.signum() != 0)
{ {
MInventoryLineMA lineMA = MInventoryLineMA.addOrCreate(line, 0, qtyToDeliver, getMovementDate()); MInventoryLineMA lineMA = MInventoryLineMA.addOrCreate(line, 0, qtyToDeliver, getMovementDate(),true);
lineMA.saveEx(); lineMA.saveEx();
if (log.isLoggable(Level.FINE)) log.fine("##: " + lineMA); if (log.isLoggable(Level.FINE)) log.fine("##: " + lineMA);
} }
@ -859,7 +876,7 @@ public class MInventory extends X_M_Inventory implements DocAction
{ {
MInventoryLineMA ma = new MInventoryLineMA (rLine, MInventoryLineMA ma = new MInventoryLineMA (rLine,
mas[j].getM_AttributeSetInstance_ID(), mas[j].getM_AttributeSetInstance_ID(),
mas[j].getMovementQty().negate(),mas[j].getDateMaterialPolicy()); mas[j].getMovementQty().negate(),mas[j].getDateMaterialPolicy(),true);
ma.saveEx(); ma.saveEx();
} }
} }

View File

@ -41,7 +41,7 @@ public class MInventoryLineMA extends X_M_InventoryLineMA
/** /**
* *
*/ */
private static final long serialVersionUID = 811710371747854597L; private static final long serialVersionUID = -5654504108476140057L;
/** /**
@ -104,7 +104,7 @@ public class MInventoryLineMA extends X_M_InventoryLineMA
{ {
StringBuilder sql = new StringBuilder("DELETE FROM M_InventoryLineMA ma WHERE EXISTS ") StringBuilder sql = new StringBuilder("DELETE FROM M_InventoryLineMA ma WHERE EXISTS ")
.append("(SELECT * FROM M_InventoryLine l WHERE l.M_InventoryLine_ID=ma.M_InventoryLine_ID") .append("(SELECT * FROM M_InventoryLine l WHERE l.M_InventoryLine_ID=ma.M_InventoryLine_ID")
.append(" AND M_InventoryLine_ID=").append(M_InventoryLine_ID).append(")"); .append(" AND M_InventoryLine_ID=").append(M_InventoryLine_ID).append(") AND ma.IsAutoGenerated='Y'");
return DB.executeUpdate(sql.toString(), trxName); return DB.executeUpdate(sql.toString(), trxName);
} // deleteInventoryMA } // deleteInventoryMA
@ -144,6 +144,18 @@ public class MInventoryLineMA extends X_M_InventoryLineMA
* @param DateMaterialPolicy * @param DateMaterialPolicy
*/ */
public MInventoryLineMA (MInventoryLine parent, int M_AttributeSetInstance_ID, BigDecimal MovementQty,Timestamp DateMaterialPolicy) public MInventoryLineMA (MInventoryLine parent, int M_AttributeSetInstance_ID, BigDecimal MovementQty,Timestamp DateMaterialPolicy)
{
this(parent,M_AttributeSetInstance_ID,MovementQty,DateMaterialPolicy,true);
}
/**
* @param parent
* @param M_AttributeSetInstance_ID
* @param MovementQty
* @param DateMaterialPolicy
* @param isAutoGenerated
*/
public MInventoryLineMA (MInventoryLine parent, int M_AttributeSetInstance_ID, BigDecimal MovementQty,Timestamp DateMaterialPolicy,boolean isAutoGenerated)
{ {
this (parent.getCtx(), 0, parent.get_TrxName()); this (parent.getCtx(), 0, parent.get_TrxName());
setClientOrg(parent); setClientOrg(parent);
@ -164,6 +176,7 @@ public class MInventoryLineMA extends X_M_InventoryLineMA
} }
} }
setDateMaterialPolicy(DateMaterialPolicy); setDateMaterialPolicy(DateMaterialPolicy);
setIsAutoGenerated(isAutoGenerated);
} // MInventoryLineMA } // MInventoryLineMA
@Override @Override
@ -187,15 +200,62 @@ public class MInventoryLineMA extends X_M_InventoryLineMA
return sb.toString (); return sb.toString ();
} // toString } // toString
public static MInventoryLineMA addOrCreate(MInventoryLine line, int M_AttributeSetInstance_ID, BigDecimal MovementQty, Timestamp DateMaterialPolicy)
public static MInventoryLineMA addOrCreate(MInventoryLine line, int M_AttributeSetInstance_ID, BigDecimal MovementQty, Timestamp DateMaterialPolicy){
return addOrCreate(line, M_AttributeSetInstance_ID, MovementQty,DateMaterialPolicy,true);
}
public static MInventoryLineMA addOrCreate(MInventoryLine line, int M_AttributeSetInstance_ID, BigDecimal MovementQty, Timestamp DateMaterialPolicy,boolean isAutoGenerated)
{ {
Query query = new Query(Env.getCtx(), I_M_InventoryLineMA.Table_Name, "M_InventoryLine_ID=? AND M_AttributeSetInstance_ID=? AND DateMaterialPolicy=trunc(cast(? as date))", Query query = new Query(Env.getCtx(), I_M_InventoryLineMA.Table_Name, "M_InventoryLine_ID=? AND M_AttributeSetInstance_ID=? AND DateMaterialPolicy=trunc(cast(? as date))",
line.get_TrxName()); line.get_TrxName());
MInventoryLineMA po = query.setParameters(line.getM_InventoryLine_ID(), M_AttributeSetInstance_ID, DateMaterialPolicy).first(); MInventoryLineMA po = query.setParameters(line.getM_InventoryLine_ID(), M_AttributeSetInstance_ID, DateMaterialPolicy).first();
if (po == null) if (po == null)
po = new MInventoryLineMA(line, M_AttributeSetInstance_ID, MovementQty, DateMaterialPolicy); po = new MInventoryLineMA(line, M_AttributeSetInstance_ID, MovementQty, DateMaterialPolicy,isAutoGenerated);
else else
po.setMovementQty(po.getMovementQty().add(MovementQty)); po.setMovementQty(po.getMovementQty().add(MovementQty));
return po; return po;
} }
/**
*
* @param M_MovementLine_ID
* @param trxName
* @return
*/
public static BigDecimal getManualQty (int M_MovementLine_ID, String trxName)
{
String sql = "SELECT SUM(movementqty) FROM M_InventoryLineMA ma WHERE ma.M_InventoryLine_ID=? AND IsAutoGenerated='N'";
BigDecimal totalQty = DB.getSQLValueBD(trxName, sql, M_MovementLine_ID);
return totalQty==null?Env.ZERO:totalQty.negate();
} //totalLineQty
/**************************************************************************
* Before Save
* @param newRecord new
* @return save
*/
protected boolean beforeSave (boolean newRecord)
{
//Set DateMaterialPolicy
if(is_ValueChanged(COLUMNNAME_M_AttributeSetInstance_ID)){
I_M_InventoryLine line = getM_InventoryLine();
Timestamp dateMPolicy = null;
if(getM_AttributeSetInstance_ID()>0)
{
dateMPolicy = getM_AttributeSetInstance().getCreated();
}
if(dateMPolicy == null)
{
I_M_Inventory inventory = line.getM_Inventory();
dateMPolicy = inventory.getMovementDate();
}
setDateMaterialPolicy(dateMPolicy);
}
return true;
} //beforeSave
} // MInventoryLineMA } // MInventoryLineMA

View File

@ -389,8 +389,20 @@ public class MMovement extends X_M_Movement implements DocAction
&& product.isStocked() ) && product.isStocked() )
{ {
//Ignore the Material Policy when is Reverse Correction //Ignore the Material Policy when is Reverse Correction
if(!isReversal()) if(!isReversal()){
checkMaterialPolicy(line); BigDecimal qtyOnLineMA = MMovementLineMA.getManualQty(line.getM_MovementLine_ID(), get_TrxName());
BigDecimal movementQty = line.getMovementQty();
if(qtyOnLineMA.compareTo(movementQty)>0)
{
// More then line qty on attribute tab for line 10
m_processMsg = "@Over_Qty_On_Attribute_Tab@ " + line.getLine();
return DOCSTATUS_Invalid;
}
checkMaterialPolicy(line,movementQty.subtract(qtyOnLineMA));
}
if (line.getM_AttributeSetInstance_ID() == 0) if (line.getM_AttributeSetInstance_ID() == 0)
{ {
@ -548,23 +560,27 @@ public class MMovement extends X_M_Movement implements DocAction
* Check Material Policy * Check Material Policy
* Sets line ASI * Sets line ASI
*/ */
private void checkMaterialPolicy(MMovementLine line) private void checkMaterialPolicy(MMovementLine line,BigDecimal qtyToDeliver)
{ {
int no = MMovementLineMA.deleteMovementLineMA(line.getM_MovementLine_ID(), get_TrxName()); int no = MMovementLineMA.deleteMovementLineMA(line.getM_MovementLine_ID(), get_TrxName());
if (no > 0) if (no > 0)
if (log.isLoggable(Level.CONFIG)) log.config("Delete old #" + no); if (log.isLoggable(Level.CONFIG)) log.config("Delete old #" + no);
if(Env.ZERO.compareTo(qtyToDeliver)==0)
return;
boolean needSave = false; boolean needSave = false;
// Attribute Set Instance // Attribute Set Instance
if (line.getM_AttributeSetInstance_ID() == 0) if (line.getM_AttributeSetInstance_ID() == 0)
{ {
MProduct product = MProduct.get(getCtx(), line.getM_Product_ID()); MProduct product = MProduct.get(getCtx(), line.getM_Product_ID());
String MMPolicy = product.getMMPolicy(); String MMPolicy = product.getMMPolicy();
MStorageOnHand[] storages = MStorageOnHand.getWarehouse(getCtx(), 0, line.getM_Product_ID(), 0, MStorageOnHand[] storages = MStorageOnHand.getWarehouse(getCtx(), 0, line.getM_Product_ID(), 0,
null, MClient.MMPOLICY_FiFo.equals(MMPolicy), true, line.getM_Locator_ID(), get_TrxName()); null, MClient.MMPOLICY_FiFo.equals(MMPolicy), true, line.getM_Locator_ID(), get_TrxName());
BigDecimal qtyToDeliver = line.getMovementQty();
for (MStorageOnHand storage: storages) for (MStorageOnHand storage: storages)
{ {
@ -572,7 +588,7 @@ public class MMovement extends X_M_Movement implements DocAction
{ {
MMovementLineMA ma = new MMovementLineMA (line, MMovementLineMA ma = new MMovementLineMA (line,
storage.getM_AttributeSetInstance_ID(), storage.getM_AttributeSetInstance_ID(),
qtyToDeliver,storage.getDateMaterialPolicy()); qtyToDeliver,storage.getDateMaterialPolicy(),true);
ma.saveEx(); ma.saveEx();
qtyToDeliver = Env.ZERO; qtyToDeliver = Env.ZERO;
if (log.isLoggable(Level.FINE)) log.fine( ma + ", QtyToDeliver=" + qtyToDeliver); if (log.isLoggable(Level.FINE)) log.fine( ma + ", QtyToDeliver=" + qtyToDeliver);
@ -581,7 +597,7 @@ public class MMovement extends X_M_Movement implements DocAction
{ {
MMovementLineMA ma = new MMovementLineMA (line, MMovementLineMA ma = new MMovementLineMA (line,
storage.getM_AttributeSetInstance_ID(), storage.getM_AttributeSetInstance_ID(),
storage.getQtyOnHand(),storage.getDateMaterialPolicy()); storage.getQtyOnHand(),storage.getDateMaterialPolicy(),true);
ma.saveEx(); ma.saveEx();
qtyToDeliver = qtyToDeliver.subtract(storage.getQtyOnHand()); qtyToDeliver = qtyToDeliver.subtract(storage.getQtyOnHand());
if (log.isLoggable(Level.FINE)) log.fine( ma + ", QtyToDeliver=" + qtyToDeliver); if (log.isLoggable(Level.FINE)) log.fine( ma + ", QtyToDeliver=" + qtyToDeliver);
@ -593,7 +609,7 @@ public class MMovement extends X_M_Movement implements DocAction
// No AttributeSetInstance found for remainder // No AttributeSetInstance found for remainder
if (qtyToDeliver.signum() != 0) if (qtyToDeliver.signum() != 0)
{ {
MMovementLineMA ma = MMovementLineMA.addOrCreate(line, 0, qtyToDeliver, getMovementDate()) ; MMovementLineMA ma = MMovementLineMA.addOrCreate(line, 0, qtyToDeliver, getMovementDate(),true) ;
ma.saveEx(); ma.saveEx();
if (log.isLoggable(Level.FINE)) log.fine("##: " + ma); if (log.isLoggable(Level.FINE)) log.fine("##: " + ma);
@ -789,7 +805,7 @@ public class MMovement extends X_M_Movement implements DocAction
{ {
MMovementLineMA ma = new MMovementLineMA (rLine, MMovementLineMA ma = new MMovementLineMA (rLine,
mas[j].getM_AttributeSetInstance_ID(), mas[j].getM_AttributeSetInstance_ID(),
mas[j].getMovementQty().negate(),mas[j].getDateMaterialPolicy()); mas[j].getMovementQty().negate(),mas[j].getDateMaterialPolicy(),true);
ma.saveEx(); ma.saveEx();
} }
} }

View File

@ -41,7 +41,8 @@ public class MMovementLineMA extends X_M_MovementLineMA
/** /**
* *
*/ */
private static final long serialVersionUID = -8812388635431003742L; private static final long serialVersionUID = -155379485409000271L;
/** /**
* Get Material Allocations for Line * Get Material Allocations for Line
@ -104,8 +105,8 @@ public class MMovementLineMA extends X_M_MovementLineMA
*/ */
public static int deleteMovementLineMA (int M_MovementLine_ID, String trxName) public static int deleteMovementLineMA (int M_MovementLine_ID, String trxName)
{ {
String sql = "DELETE FROM M_MovementLineMA WHERE M_MovementLine_ID=" + M_MovementLine_ID; String sql = "DELETE FROM M_MovementLineMA WHERE M_MovementLine_ID=? AND IsAutoGenerated='Y' ";
return DB.executeUpdate(sql, trxName); return DB.executeUpdate(sql,M_MovementLine_ID ,trxName);
} // deleteMovementLineMA } // deleteMovementLineMA
/** Logger */ /** Logger */
@ -145,6 +146,18 @@ public class MMovementLineMA extends X_M_MovementLineMA
* @param DateMaterialPolicy * @param DateMaterialPolicy
*/ */
public MMovementLineMA (MMovementLine parent, int M_AttributeSetInstance_ID, BigDecimal MovementQty,Timestamp DateMaterialPolicy) public MMovementLineMA (MMovementLine parent, int M_AttributeSetInstance_ID, BigDecimal MovementQty,Timestamp DateMaterialPolicy)
{
this(parent,M_AttributeSetInstance_ID,MovementQty,DateMaterialPolicy,true);
}
/**
* @param parent
* @param M_AttributeSetInstance_ID
* @param MovementQty
* @param DateMaterialPolicy
* @param isAutoGenerated
*/
public MMovementLineMA (MMovementLine parent, int M_AttributeSetInstance_ID, BigDecimal MovementQty,Timestamp DateMaterialPolicy,boolean isAutoGenerated)
{ {
this (parent.getCtx(), 0, parent.get_TrxName()); this (parent.getCtx(), 0, parent.get_TrxName());
setClientOrg(parent); setClientOrg(parent);
@ -165,6 +178,7 @@ public class MMovementLineMA extends X_M_MovementLineMA
} }
} }
setDateMaterialPolicy(DateMaterialPolicy); setDateMaterialPolicy(DateMaterialPolicy);
setIsAutoGenerated(isAutoGenerated);
} // MMovementLineMA } // MMovementLineMA
@Override @Override
@ -188,15 +202,66 @@ public class MMovementLineMA extends X_M_MovementLineMA
return sb.toString (); return sb.toString ();
} // toString } // toString
public static MMovementLineMA addOrCreate(MMovementLine line, int M_AttributeSetInstance_ID, BigDecimal MovementQty, Timestamp DateMaterialPolicy) public static MMovementLineMA addOrCreate(MMovementLine line, int M_AttributeSetInstance_ID, BigDecimal MovementQty, Timestamp DateMaterialPolicy)
{
return addOrCreate(line,M_AttributeSetInstance_ID,MovementQty,DateMaterialPolicy,true);
}
public static MMovementLineMA addOrCreate(MMovementLine line, int M_AttributeSetInstance_ID, BigDecimal MovementQty, Timestamp DateMaterialPolicy,boolean isAutoGenerated)
{ {
Query query = new Query(Env.getCtx(), I_M_MovementLineMA.Table_Name, "M_MovementLine_ID=? AND M_AttributeSetInstance_ID=? AND DateMaterialPolicy=trunc(cast(? as date))", Query query = new Query(Env.getCtx(), I_M_MovementLineMA.Table_Name, "M_MovementLine_ID=? AND M_AttributeSetInstance_ID=? AND DateMaterialPolicy=trunc(cast(? as date))",
line.get_TrxName()); line.get_TrxName());
MMovementLineMA po = query.setParameters(line.getM_MovementLine_ID(), M_AttributeSetInstance_ID, DateMaterialPolicy).first(); MMovementLineMA po = query.setParameters(line.getM_MovementLine_ID(), M_AttributeSetInstance_ID, DateMaterialPolicy).first();
if (po == null) if (po == null)
po = new MMovementLineMA(line, M_AttributeSetInstance_ID, MovementQty, DateMaterialPolicy); po = new MMovementLineMA(line, M_AttributeSetInstance_ID, MovementQty, DateMaterialPolicy,isAutoGenerated);
else else
po.setMovementQty(po.getMovementQty().add(MovementQty)); po.setMovementQty(po.getMovementQty().add(MovementQty));
return po; return po;
} }
/**
*
* @param M_MovementLine_ID
* @param trxName
* @return
*/
public static BigDecimal getManualQty (int M_MovementLine_ID, String trxName)
{
String sql = "SELECT SUM(movementqty) FROM M_MovementLineMA ma WHERE ma.M_MovementLine_ID=? AND ma.IsAutoGenerated='N'";
BigDecimal totalQty = DB.getSQLValueBD(trxName, sql, M_MovementLine_ID);
return totalQty==null?Env.ZERO:totalQty;
} //totalLineQty
/**************************************************************************
* Before Save
* @param newRecord new
* @return save
*/
protected boolean beforeSave (boolean newRecord)
{
//Set DateMaterialPolicy
if(is_ValueChanged(COLUMNNAME_M_AttributeSetInstance_ID)){
I_M_MovementLine line = getM_MovementLine();
Timestamp dateMPolicy = null;
if(getM_AttributeSetInstance_ID()>0)
{
dateMPolicy = getM_AttributeSetInstance().getCreated();
}
if(dateMPolicy == null)
{
I_M_Movement movement = line.getM_Movement();
dateMPolicy = movement.getMovementDate();
}
setDateMaterialPolicy(dateMPolicy);
}
return true;
} //beforeSave
} // MMovementLineMA } // MMovementLineMA

View File

@ -44,7 +44,7 @@ public class MStorageOnHand extends X_M_StorageOnHand
/** /**
* *
*/ */
private static final long serialVersionUID = -9202148574984537051L; private static final long serialVersionUID = -4934837951332485064L;
/** /**
* *
@ -1008,4 +1008,40 @@ public class MStorageOnHand extends X_M_StorageOnHand
return sb.toString(); return sb.toString();
} // toString } // toString
/**
*
* @param M_Product_ID
* @param M_AttributeSetInstance_ID
* @return
*/
public static Timestamp getDateMaterialPolicy(int M_Product_ID, int M_AttributeSetInstance_ID,String trxName){
String sql = "SELECT dateMaterialPolicy FROM M_StorageOnHand WHERE M_Product_ID=? and M_AttributeSetInstance_ID=?";
PreparedStatement pstmt = null;
ResultSet rs = null;
try
{
pstmt = DB.prepareStatement(sql, trxName);
pstmt.setInt(1, M_Product_ID);
pstmt.setInt(2, M_AttributeSetInstance_ID);
rs = pstmt.executeQuery();
if (rs.next())
{
return rs.getTimestamp(1);
}
}catch (SQLException ex)
{
s_log.log(Level.SEVERE, sql, ex);
}finally
{
DB.close(rs, pstmt);
rs = null; pstmt = null;
}
return null;
} //getDateMaterialPolicy
} // MStorageOnHand } // MStorageOnHand

View File

@ -42,6 +42,7 @@ import org.compiere.util.Env;
import org.compiere.util.Msg; import org.compiere.util.Msg;
import org.compiere.util.Secure; import org.compiere.util.Secure;
import org.compiere.util.SecureEngine; import org.compiere.util.SecureEngine;
import org.compiere.util.Util;
/** /**
* User Model * User Model
@ -899,7 +900,7 @@ public class MUser extends X_AD_User
setEMailVerifyDate(null); setEMailVerifyDate(null);
// IDEMPIERE-1409 // IDEMPIERE-1409
if (getEMail() != null && (newRecord || is_ValueChanged("EMail"))) { if (!Util.isEmpty(getEMail()) && (newRecord || is_ValueChanged("EMail"))) {
if (! EMail.validate(getEMail())) { if (! EMail.validate(getEMail())) {
log.saveError("SaveError", Msg.getMsg(getCtx(), "InvalidEMailFormat") + Msg.getElement(getCtx(), COLUMNNAME_EMail) + " - [" + getEMail() + "]"); log.saveError("SaveError", Msg.getMsg(getCtx(), "InvalidEMailFormat") + Msg.getElement(getCtx(), COLUMNNAME_EMail) + " - [" + getEMail() + "]");
return false; return false;

View File

@ -30,7 +30,7 @@ public class X_AD_InfoColumn extends PO implements I_AD_InfoColumn, I_Persistent
/** /**
* *
*/ */
private static final long serialVersionUID = 20140529L; private static final long serialVersionUID = 20140530L;
/** Standard Constructor */ /** Standard Constructor */
public X_AD_InfoColumn (Properties ctx, int AD_InfoColumn_ID, String trxName) public X_AD_InfoColumn (Properties ctx, int AD_InfoColumn_ID, String trxName)
@ -49,6 +49,8 @@ public class X_AD_InfoColumn extends PO implements I_AD_InfoColumn, I_Persistent
setIsDisplayed (true); setIsDisplayed (true);
// Y // Y
setIsIdentifier (false); setIsIdentifier (false);
// N
setIsMandatory (false);
// N // N
setIsQueryCriteria (false); setIsQueryCriteria (false);
setName (null); setName (null);
@ -440,6 +442,30 @@ public class X_AD_InfoColumn extends PO implements I_AD_InfoColumn, I_Persistent
return false; return false;
} }
/** Set Mandatory.
@param IsMandatory
Data entry is required in this column
*/
public void setIsMandatory (boolean IsMandatory)
{
set_Value (COLUMNNAME_IsMandatory, Boolean.valueOf(IsMandatory));
}
/** Get Mandatory.
@return Data entry is required in this column
*/
public boolean isMandatory ()
{
Object oo = get_Value(COLUMNNAME_IsMandatory);
if (oo != null)
{
if (oo instanceof Boolean)
return ((Boolean)oo).booleanValue();
return "Y".equals(oo);
}
return false;
}
/** Set Query Criteria. /** Set Query Criteria.
@param IsQueryCriteria @param IsQueryCriteria
The column is also used as a query criteria The column is also used as a query criteria

View File

@ -30,7 +30,7 @@ public class X_AD_InfoProcess extends PO implements I_AD_InfoProcess, I_Persiste
/** /**
* *
*/ */
private static final long serialVersionUID = 20140529L; private static final long serialVersionUID = 20140531L;
/** Standard Constructor */ /** Standard Constructor */
public X_AD_InfoProcess (Properties ctx, int AD_InfoProcess_ID, String trxName) public X_AD_InfoProcess (Properties ctx, int AD_InfoProcess_ID, String trxName)
@ -174,6 +174,23 @@ public class X_AD_InfoProcess extends PO implements I_AD_InfoProcess, I_Persiste
return new KeyNamePair(get_ID(), String.valueOf(getAD_Process_ID())); return new KeyNamePair(get_ID(), String.valueOf(getAD_Process_ID()));
} }
/** Set Display Logic.
@param DisplayLogic
If the Field is displayed, the result determines if the field is actually displayed
*/
public void setDisplayLogic (String DisplayLogic)
{
set_Value (COLUMNNAME_DisplayLogic, DisplayLogic);
}
/** Get Display Logic.
@return If the Field is displayed, the result determines if the field is actually displayed
*/
public String getDisplayLogic ()
{
return (String)get_Value(COLUMNNAME_DisplayLogic);
}
/** Set Image URL. /** Set Image URL.
@param ImageURL @param ImageURL
URL of image URL of image

View File

@ -33,7 +33,7 @@ public class X_M_InOutLineMA extends PO implements I_M_InOutLineMA, I_Persistent
/** /**
* *
*/ */
private static final long serialVersionUID = 20131031L; private static final long serialVersionUID = 20140508L;
/** Standard Constructor */ /** Standard Constructor */
public X_M_InOutLineMA (Properties ctx, int M_InOutLineMA_ID, String trxName) public X_M_InOutLineMA (Properties ctx, int M_InOutLineMA_ID, String trxName)
@ -92,6 +92,27 @@ public class X_M_InOutLineMA extends PO implements I_M_InOutLineMA, I_Persistent
return (Timestamp)get_Value(COLUMNNAME_DateMaterialPolicy); return (Timestamp)get_Value(COLUMNNAME_DateMaterialPolicy);
} }
/** Set Auto Generated.
@param IsAutoGenerated Auto Generated */
public void setIsAutoGenerated (boolean IsAutoGenerated)
{
set_ValueNoCheck (COLUMNNAME_IsAutoGenerated, Boolean.valueOf(IsAutoGenerated));
}
/** Get Auto Generated.
@return Auto Generated */
public boolean isAutoGenerated ()
{
Object oo = get_Value(COLUMNNAME_IsAutoGenerated);
if (oo != null)
{
if (oo instanceof Boolean)
return ((Boolean)oo).booleanValue();
return "Y".equals(oo);
}
return false;
}
public I_M_AttributeSetInstance getM_AttributeSetInstance() throws RuntimeException public I_M_AttributeSetInstance getM_AttributeSetInstance() throws RuntimeException
{ {
return (I_M_AttributeSetInstance)MTable.get(getCtx(), I_M_AttributeSetInstance.Table_Name) return (I_M_AttributeSetInstance)MTable.get(getCtx(), I_M_AttributeSetInstance.Table_Name)

View File

@ -33,7 +33,7 @@ public class X_M_InventoryLineMA extends PO implements I_M_InventoryLineMA, I_Pe
/** /**
* *
*/ */
private static final long serialVersionUID = 20131031L; private static final long serialVersionUID = 20140508L;
/** Standard Constructor */ /** Standard Constructor */
public X_M_InventoryLineMA (Properties ctx, int M_InventoryLineMA_ID, String trxName) public X_M_InventoryLineMA (Properties ctx, int M_InventoryLineMA_ID, String trxName)
@ -92,6 +92,27 @@ public class X_M_InventoryLineMA extends PO implements I_M_InventoryLineMA, I_Pe
return (Timestamp)get_Value(COLUMNNAME_DateMaterialPolicy); return (Timestamp)get_Value(COLUMNNAME_DateMaterialPolicy);
} }
/** Set Auto Generated.
@param IsAutoGenerated Auto Generated */
public void setIsAutoGenerated (boolean IsAutoGenerated)
{
set_ValueNoCheck (COLUMNNAME_IsAutoGenerated, Boolean.valueOf(IsAutoGenerated));
}
/** Get Auto Generated.
@return Auto Generated */
public boolean isAutoGenerated ()
{
Object oo = get_Value(COLUMNNAME_IsAutoGenerated);
if (oo != null)
{
if (oo instanceof Boolean)
return ((Boolean)oo).booleanValue();
return "Y".equals(oo);
}
return false;
}
public I_M_AttributeSetInstance getM_AttributeSetInstance() throws RuntimeException public I_M_AttributeSetInstance getM_AttributeSetInstance() throws RuntimeException
{ {
return (I_M_AttributeSetInstance)MTable.get(getCtx(), I_M_AttributeSetInstance.Table_Name) return (I_M_AttributeSetInstance)MTable.get(getCtx(), I_M_AttributeSetInstance.Table_Name)

View File

@ -33,7 +33,7 @@ public class X_M_MovementLineMA extends PO implements I_M_MovementLineMA, I_Pers
/** /**
* *
*/ */
private static final long serialVersionUID = 20131031L; private static final long serialVersionUID = 20140508L;
/** Standard Constructor */ /** Standard Constructor */
public X_M_MovementLineMA (Properties ctx, int M_MovementLineMA_ID, String trxName) public X_M_MovementLineMA (Properties ctx, int M_MovementLineMA_ID, String trxName)
@ -91,6 +91,27 @@ public class X_M_MovementLineMA extends PO implements I_M_MovementLineMA, I_Pers
return (Timestamp)get_Value(COLUMNNAME_DateMaterialPolicy); return (Timestamp)get_Value(COLUMNNAME_DateMaterialPolicy);
} }
/** Set Auto Generated.
@param IsAutoGenerated Auto Generated */
public void setIsAutoGenerated (boolean IsAutoGenerated)
{
set_ValueNoCheck (COLUMNNAME_IsAutoGenerated, Boolean.valueOf(IsAutoGenerated));
}
/** Get Auto Generated.
@return Auto Generated */
public boolean isAutoGenerated ()
{
Object oo = get_Value(COLUMNNAME_IsAutoGenerated);
if (oo != null)
{
if (oo instanceof Boolean)
return ((Boolean)oo).booleanValue();
return "Y".equals(oo);
}
return false;
}
public I_M_AttributeSetInstance getM_AttributeSetInstance() throws RuntimeException public I_M_AttributeSetInstance getM_AttributeSetInstance() throws RuntimeException
{ {
return (I_M_AttributeSetInstance)MTable.get(getCtx(), I_M_AttributeSetInstance.Table_Name) return (I_M_AttributeSetInstance)MTable.get(getCtx(), I_M_AttributeSetInstance.Table_Name)

View File

@ -842,6 +842,8 @@ public class MPrintFormat extends X_AD_PrintFormat
+ "WHERE IsActive='Y' AND AD_Tab_ID=(SELECT MIN(AD_Tab_ID) FROM AD_Tab WHERE AD_Table_ID=? AND IsActive='Y')" + "WHERE IsActive='Y' AND AD_Tab_ID=(SELECT MIN(AD_Tab_ID) FROM AD_Tab WHERE AD_Table_ID=? AND IsActive='Y')"
+ " AND IsEncrypted='N' AND ObscureType IS NULL " + " AND IsEncrypted='N' AND ObscureType IS NULL "
+ " AND AD_Column_ID NOT IN (SELECT pfi.AD_Column_ID FROM AD_PrintFormatItem pfi WHERE pfi.AD_PrintFormat_ID=? AND pfi.AD_Column_ID IS NOT NULL) " + " AND AD_Column_ID NOT IN (SELECT pfi.AD_Column_ID FROM AD_PrintFormatItem pfi WHERE pfi.AD_PrintFormat_ID=? AND pfi.AD_Column_ID IS NOT NULL) "
+ " AND (AD_Column_ID IN (SELECT AD_Column_ID FROM AD_ReportView_Column WHERE AD_ReportView_ID=? AND IsActive='Y')"
+ " OR ((SELECT COUNT(*) FROM AD_ReportView_Column WHERE AD_ReportView_ID=? AND IsActive='Y') = 0))"
+ "ORDER BY COALESCE(IsDisplayed,'N') DESC, SortNo, SeqNo, Name"; + "ORDER BY COALESCE(IsDisplayed,'N') DESC, SortNo, SeqNo, Name";
PreparedStatement pstmt = null; PreparedStatement pstmt = null;
ResultSet rs = null; ResultSet rs = null;
@ -850,6 +852,8 @@ public class MPrintFormat extends X_AD_PrintFormat
pstmt = DB.prepareStatement(sql, format.get_TrxName()); pstmt = DB.prepareStatement(sql, format.get_TrxName());
pstmt.setInt(1, format.getAD_Table_ID()); pstmt.setInt(1, format.getAD_Table_ID());
pstmt.setInt(2, format.getAD_PrintFormat_ID()); pstmt.setInt(2, format.getAD_PrintFormat_ID());
pstmt.setInt(3, format.getAD_ReportView_ID());
pstmt.setInt(4, format.getAD_ReportView_ID());
rs = pstmt.executeQuery(); rs = pstmt.executeQuery();
int seqNo = 1; int seqNo = 1;
while (rs.next()) while (rs.next())
@ -878,12 +882,16 @@ public class MPrintFormat extends X_AD_PrintFormat
+ "FROM AD_Column " + "FROM AD_Column "
+ "WHERE IsActive='Y' AND AD_Table_ID=? " + "WHERE IsActive='Y' AND AD_Table_ID=? "
+ " AND AD_Column_ID NOT IN (SELECT pfi.AD_Column_ID FROM AD_PrintFormatItem pfi WHERE pfi.AD_PrintFormat_ID=? AND pfi.AD_Column_ID IS NOT NULL) " + " AND AD_Column_ID NOT IN (SELECT pfi.AD_Column_ID FROM AD_PrintFormatItem pfi WHERE pfi.AD_PrintFormat_ID=? AND pfi.AD_Column_ID IS NOT NULL) "
+ " AND (AD_Column_ID IN (SELECT AD_Column_ID FROM AD_ReportView_Column WHERE AD_ReportView_ID=? AND IsActive='Y')"
+ " OR ((SELECT COUNT(*) FROM AD_ReportView_Column WHERE AD_ReportView_ID=?) = 0 AND IsActive='Y'))"
+ "ORDER BY IsIdentifier DESC, SeqNo, Name"; + "ORDER BY IsIdentifier DESC, SeqNo, Name";
try try
{ {
pstmt = DB.prepareStatement(sql, format.get_TrxName()); pstmt = DB.prepareStatement(sql, format.get_TrxName());
pstmt.setInt(1, format.getAD_Table_ID()); pstmt.setInt(1, format.getAD_Table_ID());
pstmt.setInt(2, format.getAD_PrintFormat_ID()); pstmt.setInt(2, format.getAD_PrintFormat_ID());
pstmt.setInt(3, format.getAD_ReportView_ID());
pstmt.setInt(4, format.getAD_ReportView_ID());
rs = pstmt.executeQuery(); rs = pstmt.executeQuery();
int seqNo = 1; int seqNo = 1;
while (rs.next()) while (rs.next())

File diff suppressed because one or more lines are too long

View File

@ -430,6 +430,12 @@ public class VSortTab extends CPanel implements APanelTab
sql.append(" WHERE 1=?"); sql.append(" WHERE 1=?");
} }
int reportView_ID = Env.getContextAsInt(Env.getCtx(), m_WindowNo, "AD_ReportView_ID");
if (reportView_ID > 0)
sql.append(" AND (t.AD_Column_ID IN (SELECT AD_Column_ID FROM AD_ReportView_Column WHERE AD_ReportView_ID=")
.append(reportView_ID).append(" AND IsActive='Y')")
.append(" OR ((SELECT COUNT(*) FROM AD_ReportView_Column WHERE AD_ReportView_ID=").append(reportView_ID).append(" AND IsActive='Y') = 0))");
if (m_IdentifierTranslated) if (m_IdentifierTranslated)
sql.append(" AND t.").append(m_KeyColumnName).append("=tt.").append(m_KeyColumnName) sql.append(" AND t.").append(m_KeyColumnName).append("=tt.").append(m_KeyColumnName)
.append(" AND tt.AD_Language=?"); .append(" AND tt.AD_Language=?");

View File

@ -396,6 +396,14 @@ public class ADSortTab extends Panel implements IADTabpanel
{ {
sql.append(" WHERE 1=?"); sql.append(" WHERE 1=?");
} }
int reportView_ID = Env.getContextAsInt(Env.getCtx(), m_WindowNo, "AD_ReportView_ID");
if ("AD_PrintFormatItem".equals(m_TableName) && reportView_ID > 0) {
sql.append(" AND (t.AD_Column_ID IN (SELECT AD_Column_ID FROM AD_ReportView_Column WHERE AD_ReportView_ID=")
.append(reportView_ID).append(" AND IsActive='Y')")
.append(" OR ((SELECT COUNT(*) FROM AD_ReportView_Column WHERE AD_ReportView_ID=").append(reportView_ID).append(" AND IsActive='Y') = 0))");
}
if (m_IdentifierTranslated) if (m_IdentifierTranslated)
sql.append(" AND t.").append(m_KeyColumnName).append("=tt.").append(m_KeyColumnName) sql.append(" AND t.").append(m_KeyColumnName).append("=tt.").append(m_KeyColumnName)
.append(" AND tt.AD_Language=?"); .append(" AND tt.AD_Language=?");

View File

@ -142,6 +142,7 @@ public class ADWindowContent extends AbstractADWindowContent
LayoutUtils.addSclass("adwindow-status", statusBar); LayoutUtils.addSclass("adwindow-status", statusBar);
contentArea = new Div(); contentArea = new Div();
contentArea.setRenderdefer(50);
contentArea.setParent(layout); contentArea.setParent(layout);
contentArea.setVflex("1"); contentArea.setVflex("1");
contentArea.setHflex("1"); contentArea.setHflex("1");

View File

@ -1360,7 +1360,8 @@ public abstract class AbstractADWindowContent extends AbstractUIPart implements
if (GridTab.DEFAULT_STATUS_MESSAGE.equals(e.getAD_Message())) if (GridTab.DEFAULT_STATUS_MESSAGE.equals(e.getAD_Message()))
{ {
if (detailTab) { if (detailTab) {
adTabbox.setDetailPaneStatusMessage("", false); String msg = e.getTotalRows() + " " + Msg.getMsg(Env.getCtx(), "Records");
adTabbox.setDetailPaneStatusMessage(msg, false);
} else { } else {
statusBar.setStatusLine ("", false); statusBar.setStatusLine ("", false);
} }

View File

@ -581,7 +581,11 @@ public class CompositeADTabbox extends AbstractADTabbox
selectDetailPanel.switchRowPresentation(); selectDetailPanel.switchRowPresentation();
} }
if (selectDetailPanel instanceof ADTabpanel) if (selectDetailPanel instanceof ADTabpanel)
{
((ADTabpanel)selectDetailPanel).activated = true; ((ADTabpanel)selectDetailPanel).activated = true;
String msg = ((ADTabpanel)selectDetailPanel).getGridTab().getRowCount() + " " + Msg.getMsg(Env.getCtx(), "Records");
setDetailPaneStatusMessage(msg, false);
}
if (selectDetailPanel.getGridTab().isTreeTab()) { if (selectDetailPanel.getGridTab().isTreeTab()) {
if (selectDetailPanel.getGridTab().getTreeDisplayedOn().equals(MTab.TREEDISPLAYEDON_MasterTab)) if (selectDetailPanel.getGridTab().getTreeDisplayedOn().equals(MTab.TREEDISPLAYEDON_MasterTab))

View File

@ -62,6 +62,7 @@ import org.zkoss.zul.Row;
import org.zkoss.zul.Tabpanel; import org.zkoss.zul.Tabpanel;
import org.zkoss.zul.Vbox; import org.zkoss.zul.Vbox;
import org.zkoss.zul.event.ZulEvents; import org.zkoss.zul.event.ZulEvents;
import org.zkoss.zul.impl.CustomGridDataLoader;
/** /**
* Grid view implemented using the Grid component. * Grid view implemented using the Grid component.
@ -156,8 +157,9 @@ public class GridView extends Vbox implements EventListener<Event>, IdSpace, IFi
else else
{ {
pageSize = MSysConfig.getIntValue(MSysConfig.ZK_PAGING_SIZE, DEFAULT_PAGE_SIZE); pageSize = MSysConfig.getIntValue(MSysConfig.ZK_PAGING_SIZE, DEFAULT_PAGE_SIZE);
if (Library.getProperty("org.zkoss.zul.grid.DataLoader.limit") == null) { String limit = Library.getProperty(CustomGridDataLoader.GRID_DATA_LOADER_LIMIT);
Library.setProperty("org.zkoss.zul.grid.DataLoader.limit", Integer.toString(pageSize)); if (limit == null || !(limit.equals(Integer.toString(pageSize)))) {
Library.setProperty(CustomGridDataLoader.GRID_DATA_LOADER_LIMIT, Integer.toString(pageSize));
} }
} }
@ -766,7 +768,7 @@ public class GridView extends Vbox implements EventListener<Event>, IdSpace, IFi
*/ */
public void onPostSelectedRowChanged() { public void onPostSelectedRowChanged() {
removeAttribute(ATTR_ON_POST_SELECTED_ROW_CHANGED); removeAttribute(ATTR_ON_POST_SELECTED_ROW_CHANGED);
if (listbox.getRows().getChildren().isEmpty()) if (listbox.getRows() == null || listbox.getRows().getChildren().isEmpty())
return; return;
int rowIndex = gridTab.isOpen() ? gridTab.getCurrentRow() : -1; int rowIndex = gridTab.isOpen() ? gridTab.getCurrentRow() : -1;

View File

@ -116,7 +116,7 @@ public class CalendarWindow extends Window implements EventListener<Event>, ITab
calendars.setModel(scm); calendars.setModel(scm);
if (calendars.getCurrentDate() != null) if (calendars.getCurrentDate() != null)
calendars.setCurrentDate(calendars.getCurrentDate()); calendars.setCurrentDate(calendars.getCurrentDate());
calendars.setTimeZone(getTimeZone()); setTimeZone();
btnRefresh = (Toolbarbutton) component.getFellow("btnRefresh"); btnRefresh = (Toolbarbutton) component.getFellow("btnRefresh");
btnRefresh.addEventListener(Events.ON_CLICK, this); btnRefresh.addEventListener(Events.ON_CLICK, this);
@ -387,22 +387,17 @@ public class CalendarWindow extends Window implements EventListener<Event>, ITab
syncModel(); syncModel();
} }
private String getTimeZone() private void setTimeZone()
{ {
String alternateTimeZone = MSysConfig.getValue(MSysConfig.CALENDAR_ALTERNATE_TIMEZONE, "Pacific Time=PST", Env.getAD_Client_ID(Env.getCtx())); String alternateTimeZone = MSysConfig.getValue(MSysConfig.CALENDAR_ALTERNATE_TIMEZONE, "Pacific Time=PST", Env.getAD_Client_ID(Env.getCtx()));
TimeZone defaultTimeZone = TimeZone.getDefault(); TimeZone defaultTimeZone = TimeZone.getDefault();
StringBuilder defaultTimeZoneName = new StringBuilder(defaultTimeZone.getDisplayName()); calendars.addTimeZone (defaultTimeZone.getDisplayName(), defaultTimeZone);
int defaultTimeZoneOffset = defaultTimeZone.getOffset(0) / 3600000;
defaultTimeZoneName.append("=GMT");
if (defaultTimeZoneOffset >= 0)
defaultTimeZoneName.append("+");
defaultTimeZoneName.append(defaultTimeZoneOffset);
if (!Util.isEmpty(alternateTimeZone, true)) { if (!Util.isEmpty(alternateTimeZone, true)) {
if (!alternateTimeZone.equalsIgnoreCase(defaultTimeZoneName.toString())) { if (!alternateTimeZone.equalsIgnoreCase(defaultTimeZone.getDisplayName())) {
defaultTimeZoneName.append(",").append(alternateTimeZone); String[] pair = alternateTimeZone.split("=");
calendars.addTimeZone(pair[0].trim(), pair[1].trim());
} }
} }
return defaultTimeZoneName.toString();
} }
private void updateDateLabel() { private void updateDateLabel() {

View File

@ -40,7 +40,6 @@ import org.zkoss.image.AImage;
import org.zkoss.util.media.AMedia; import org.zkoss.util.media.AMedia;
import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.event.Event; import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zk.ui.event.Events; import org.zkoss.zk.ui.event.Events;
import org.zkoss.zul.Iframe; import org.zkoss.zul.Iframe;
import org.zkoss.zul.Tab; import org.zkoss.zul.Tab;
@ -53,7 +52,6 @@ import org.zkoss.zul.Tabpanels;
*/ */
public abstract class TabbedDesktop extends AbstractDesktop { public abstract class TabbedDesktop extends AbstractDesktop {
private static final String IN_PROGRESS_IMAGE = "~./zk/img/progress3.gif";
protected WindowContainer windowContainer; protected WindowContainer windowContainer;
public TabbedDesktop() { public TabbedDesktop() {
@ -162,17 +160,10 @@ public abstract class TabbedDesktop extends AbstractDesktop {
String id = AdempiereIdGenerator.escapeId(adWindow.getTitle()); String id = AdempiereIdGenerator.escapeId(adWindow.getTitle());
tabPanel.setId(id+"_"+adWindow.getADWindowContent().getWindowNo()); tabPanel.setId(id+"_"+adWindow.getADWindowContent().getWindowNo());
final Tab tab = windowContainer.addWindow(tabPanel, adWindow.getTitle(), true); final Tab tab = windowContainer.addWindow(tabPanel, adWindow.getTitle(), true);
tab.setImage(IN_PROGRESS_IMAGE);
tab.setClosable(false); tab.setClosable(false);
final OpenWindowRunnable runnable = new OpenWindowRunnable(adWindow, tab, tabPanel, callback); final OpenWindowRunnable runnable = new OpenWindowRunnable(adWindow, tab, tabPanel, callback);
tabPanel.addEventListener("onOpenWindow", new EventListener<Event>() {
@Override
public void onEvent(Event event) throws Exception {
runnable.run();
}
});
preOpenNewTab(); preOpenNewTab();
Events.echoEvent(new Event("onOpenWindow", tabPanel)); runnable.run();
} }
/** /**
@ -254,17 +245,10 @@ public abstract class TabbedDesktop extends AbstractDesktop {
final DesktopTabpanel tabPanel = new DesktopTabpanel(); final DesktopTabpanel tabPanel = new DesktopTabpanel();
final Tab tab = windowContainer.insertAfter(windowContainer.getSelectedTab(), tabPanel, wnd.getTitle(), true, true); final Tab tab = windowContainer.insertAfter(windowContainer.getSelectedTab(), tabPanel, wnd.getTitle(), true, true);
tab.setImage(IN_PROGRESS_IMAGE);
tab.setClosable(false); tab.setClosable(false);
final OpenWindowRunnable runnable = new OpenWindowRunnable(wnd, tab, tabPanel, null); final OpenWindowRunnable runnable = new OpenWindowRunnable(wnd, tab, tabPanel, null);
tabPanel.addEventListener("onOpenWindow", new EventListener<Event>() {
@Override
public void onEvent(Event event) throws Exception {
runnable.run();
}
});
preOpenNewTab(); preOpenNewTab();
Events.echoEvent(new Event("onOpenWindow", tabPanel)); runnable.run();
} }
/** /**
@ -395,7 +379,6 @@ public abstract class TabbedDesktop extends AbstractDesktop {
@Override @Override
public void run() { public void run() {
if (adWindow.createPart(tabPanel) != null ) { if (adWindow.createPart(tabPanel) != null ) {
tab.setImage(null);
tab.setClosable(true); tab.setClosable(true);
if (adWindow.getMImage() != null) { if (adWindow.getMImage() != null) {
try { try {

View File

@ -123,7 +123,7 @@ public class WEditorPopupMenu extends Menupopup implements EventListener<Event>
int winID = lookup.getZoom(); int winID = lookup.getZoom();
int winIDPO = lookup.getZoom(false) ; int winIDPO = lookup.getZoom(false) ;
Boolean canAccess = MRole.getDefault().getWindowAccess(winID); Boolean canAccess = MRole.getDefault().getWindowAccess(winID);
if (winID <= 0 || canAccess == null || ! canAccess) { if (winID <= 0 || canAccess == null) {
this.zoomEnabled = false; this.zoomEnabled = false;
this.newEnabled = false; this.newEnabled = false;
this.updateEnabled = false; this.updateEnabled = false;

View File

@ -116,6 +116,14 @@ public class InfoProductWindow extends InfoWindow {
@Override @Override
protected String getSQLWhere() { protected String getSQLWhere() {
/**
* when query not by click requery button, reuse prev where clause
* IDEMPIERE-1979
*/
if (!isQueryByUser && prevWhereClause != null){
return prevWhereClause;
}
StringBuilder where = new StringBuilder(super.getSQLWhere()); StringBuilder where = new StringBuilder(super.getSQLWhere());
if (getSelectedWarehouseId() > 0) { if (getSelectedWarehouseId() > 0) {
if (where.length() > 0) { if (where.length() > 0) {
@ -123,7 +131,9 @@ public class InfoProductWindow extends InfoWindow {
} }
where.append("p.IsSummary='N' "); where.append("p.IsSummary='N' ");
} }
return where.toString(); // IDEMPIERE-1979
prevWhereClause = where.toString();
return prevWhereClause;
} }
@Override @Override
@ -131,6 +141,8 @@ public class InfoProductWindow extends InfoWindow {
super.createParameterPanel(); super.createParameterPanel();
initParameters(); initParameters();
dynamicDisplay(null); dynamicDisplay(null);
// update display of mandatory field
validateParameters();
} }
@Override @Override

View File

@ -78,7 +78,6 @@ import org.zkoss.zul.Checkbox;
import org.zkoss.zul.Comboitem; import org.zkoss.zul.Comboitem;
import org.zkoss.zul.ComboitemRenderer; import org.zkoss.zul.ComboitemRenderer;
import org.zkoss.zul.Div; import org.zkoss.zul.Div;
import org.zkoss.zul.ListModel;
import org.zkoss.zul.ListModelList; import org.zkoss.zul.ListModelList;
import org.zkoss.zul.Menuitem; import org.zkoss.zul.Menuitem;
import org.zkoss.zul.North; import org.zkoss.zul.North;
@ -97,7 +96,7 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL
/** /**
* *
*/ */
private static final long serialVersionUID = 1958501982483183179L; private static final long serialVersionUID = 5015742153094526149L;
protected Grid parameterGrid; protected Grid parameterGrid;
private Borderlayout layout; private Borderlayout layout;
@ -123,7 +122,30 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL
private List<GridField> gridFields; private List<GridField> gridFields;
private int AD_InfoWindow_ID; private int AD_InfoWindow_ID;
private Checkbox checkAND; private Checkbox checkAND;
/**
* All info process of this infoWindow
*/
protected MInfoProcess [] infoProcessList;
/**
* flag detect exists info process
*/
protected boolean haveProcess = false;
/**
* Info process have style is button
*/
protected List<MInfoProcess> infoProcessBtList;
/**
* Info process have style is drop down list
*/
protected List<MInfoProcess> infoProcessDropList;
/**
* Info process have style is menu
*/
protected List<MInfoProcess> infoProcessMenuList;
/**
* Menu contail process menu item
*/
protected Menupopup ipMenu;
/** /**
* @param WindowNo * @param WindowNo
* @param tableName * @param tableName
@ -169,7 +191,7 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL
// make process button only in windown mode // make process button only in windown mode
if (!m_lookup){ if (!m_lookup){
// IDEMPIERE-1334 // IDEMPIERE-1334
boolean haveProcess = initInfoProcess(); initInfoProcess();
// when have a process, force multi select mode // when have a process, force multi select mode
if (haveProcess) if (haveProcess)
p_multipleSelection = true; p_multipleSelection = true;
@ -194,29 +216,38 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL
/** /**
* IDEMPIERE-1334 * IDEMPIERE-1334
* load info process info * load info process info
* layout each info process as button or dropdown item * separate by layout type
* init drop list and menu control
* set status of haveProcess flag
* @return true when have process, false when no process * @return true when have process, false when no process
*/ */
protected boolean initInfoProcess() { protected void initInfoProcess() {
if (infoWindow == null){ if (infoWindow == null){
return false; return;
} }
MInfoProcess [] infoProcessList = infoWindow.getInfoProcess(false); infoProcessList = infoWindow.getInfoProcess(false);
if (infoProcessList.length == 0)
return;
haveProcess = true;
// ** layout info process flow order (button list, drop down, dialog,...) // ** layout info process flow order (button list, drop down, dialog,...)
// each layout type in a loop to ensure this order
// get info from process (name, help, des), set to name of button, item menu,...
MProcess process = null;
// make list process button // make list process button
for (MInfoProcess infoProcess : infoProcessList){ for (MInfoProcess infoProcess : infoProcessList){
// just add info process have layout is button // just add info process have layout is button
if (!MInfoProcess.LAYOUTTYPE_Button.equals(infoProcess.getLayoutType())){ if (!MInfoProcess.LAYOUTTYPE_Button.equals(infoProcess.getLayoutType()))
continue; continue;
}
process = MProcess.get(Env.getCtx(), infoProcess.getAD_Process_ID()); if (infoProcessBtList == null)
infoProcessBtList = new ArrayList<MInfoProcess> ();
infoProcessBtList.add(infoProcess);
// make process button
MProcess process = MProcess.get(Env.getCtx(), infoProcess.getAD_Process_ID());
Button btProcess = confirmPanel.addProcessButton(process.get_Translation(MProcess.COLUMNNAME_Name), infoProcess.getImageURL()); Button btProcess = confirmPanel.addProcessButton(process.get_Translation(MProcess.COLUMNNAME_Name), infoProcess.getImageURL());
if (Util.isEmpty(infoProcess.getImageURL(), true)) { if (Util.isEmpty(infoProcess.getImageURL(), true)) {
btProcess.setImage(null); btProcess.setImage(null);
@ -233,18 +264,21 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL
btProcessList.add(btProcess); btProcessList.add(btProcess);
} }
// filte just infoprocess have layout type is drop list for model of combobox // make list process for drop down
List<MInfoProcess> infoProcessDropList = new ArrayList<MInfoProcess>();
for (MInfoProcess infoProcess : infoProcessList){ for (MInfoProcess infoProcess : infoProcessList){
if (!MInfoProcess.LAYOUTTYPE_List.equals(infoProcess.getLayoutType())){ if (!MInfoProcess.LAYOUTTYPE_List.equals(infoProcess.getLayoutType()))
continue; continue;
}
if (infoProcessDropList == null)
infoProcessDropList = new ArrayList<MInfoProcess>();
infoProcessDropList.add(infoProcess); infoProcessDropList.add(infoProcess);
} }
// make combobox contain list info process
if (infoProcessDropList.size() > 0){ // init combobox control
if (infoProcessDropList != null && infoProcessDropList.size() > 0){
cbbProcess = new Combobox (); cbbProcess = new Combobox ();
ListModel<MInfoProcess> infoProccessModel = new ListModelList<MInfoProcess>(infoProcessDropList);
// render item, use name to display // render item, use name to display
cbbProcess.setItemRenderer(new ComboitemRenderer<MInfoProcess>() { cbbProcess.setItemRenderer(new ComboitemRenderer<MInfoProcess>() {
public void render(Comboitem item, MInfoProcess data, int index){ public void render(Comboitem item, MInfoProcess data, int index){
@ -260,22 +294,24 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL
// update tooltip hepl when select a item // update tooltip hepl when select a item
cbbProcess.addEventListener(Events.ON_SELECT, this); cbbProcess.addEventListener(Events.ON_SELECT, this);
cbbProcess.setModel(infoProccessModel);
confirmPanel.addComponentsCenter(cbbProcess); confirmPanel.addComponentsCenter(cbbProcess);
btCbbProcess = confirmPanel.addProcessButton(Msg.getMsg(Env.getCtx(), ConfirmPanel.A_PROCESS), null); btCbbProcess = confirmPanel.addProcessButton(Msg.getMsg(Env.getCtx(), ConfirmPanel.A_PROCESS), null);
btCbbProcess.addEventListener(Events.ON_CLICK, this); btCbbProcess.addEventListener(Events.ON_CLICK, this);
} }
// make menu button // make list process for menu
Menupopup ipMenu = null;
for (MInfoProcess infoProcess : infoProcessList){ for (MInfoProcess infoProcess : infoProcessList){
// just add info process have layout is bt_menu // just add info process have layout is bt_menu
if (!MInfoProcess.LAYOUTTYPE_Menu.equals(infoProcess.getLayoutType())){ if (!MInfoProcess.LAYOUTTYPE_Menu.equals(infoProcess.getLayoutType())){
continue; continue;
} }
process = MProcess.get(Env.getCtx(), infoProcess.getAD_Process_ID()); if (infoProcessMenuList == null)
infoProcessMenuList = new ArrayList<MInfoProcess>();
infoProcessMenuList.add(infoProcess);
// init popup menu // init popup menu
if (ipMenu == null){ if (ipMenu == null){
@ -287,7 +323,88 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL
btMenuProcess = confirmPanel.addProcessButton("ProcessMenu", null); btMenuProcess = confirmPanel.addProcessButton("ProcessMenu", null);
btMenuProcess.setPopup("ipMenu, before_start"); btMenuProcess.setPopup("ipMenu, before_start");
} }
}
}
/**
* {@inheritDoc}
*/
@Override
protected void bindInfoProcess (){
bindInfoProcessBt ();
bindInfoProcessDropDown ();
bindInfoProcessMenu ();
}
/**
* evel display logic of process info button
* set visible of button base in display logic
* when two button set for same process, two button can hiden too, or display too.
* this is bug of implementor by never have this case
*/
protected void bindInfoProcessBt (){
if (infoProcessBtList == null){
return;
}
// display process in button style
for (MInfoProcess infoProcessBt : infoProcessBtList){
// eval display logic
for (Button evlBt: btProcessList){
Integer processId = (Integer)evlBt.getAttribute(PROCESS_ID_KEY);
if (processId.intValue() == infoProcessBt.getAD_Process_ID()){
// display or hiden button
evlBt.setVisible(infoProcessBt.isDisplayed(infoContext, p_WindowNo));
break;
}
}
}
}
/**
* recreate drop down item by recreate model to set hiden, display of drop down item
* when all item is hiden, hiden combobox and process button too
*/
protected void bindInfoProcessDropDown (){
if (infoProcessDropList == null || infoProcessDropList.size() == 0){
return;
}
// list info process after eval display logic
List<MInfoProcess> infoProcessDropListTmp = new ArrayList<MInfoProcess> ();
// filter item not display
for (MInfoProcess infoProcessDropDown : infoProcessDropList){
if (infoProcessDropDown.isDisplayed(infoContext, p_WindowNo)){
infoProcessDropListTmp.add(infoProcessDropDown);
}
}
// when item is filter out all. don't show combobox
cbbProcess.setVisible(infoProcessDropListTmp.size() > 0);
btCbbProcess.setVisible(infoProcessDropListTmp.size() > 0);
if (infoProcessDropListTmp.size() > 0){
ListModelList<MInfoProcess> infoProccessModel = new ListModelList<MInfoProcess>(infoProcessDropListTmp);
cbbProcess.setModel(infoProccessModel);
}
}
/**
* recreate menu item by set hiden, display of menu item
* when all menu item is hiden, hiden process menu button too
*/
protected void bindInfoProcessMenu (){
if (infoProcessMenuList == null || infoProcessMenuList == null)
return;
ipMenu.getChildren().clear();
for (MInfoProcess infoProcess : infoProcessMenuList){
if (!infoProcess.isDisplayed(infoContext, p_WindowNo)){
continue;
}
MProcess process = MProcess.get(Env.getCtx(), infoProcess.getAD_Process_ID());
// make menu item for each info process // make menu item for each info process
Menuitem ipMenuItem = new Menuitem(); Menuitem ipMenuItem = new Menuitem();
ipMenuItem.setLabel(process.get_Translation(MProcess.COLUMNNAME_Name)); ipMenuItem.setLabel(process.get_Translation(MProcess.COLUMNNAME_Name));
@ -299,7 +416,7 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL
ipMenu.appendChild(ipMenuItem); ipMenu.appendChild(ipMenuItem);
} }
return infoProcessList.length > 0; btMenuProcess.setVisible(ipMenu.getChildren().size() > 0);
} }
private void processQueryValue() { private void processQueryValue() {
@ -369,9 +486,11 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL
gridFields = new ArrayList<GridField>(); gridFields = new ArrayList<GridField>();
for(MInfoColumn infoColumn : infoColumns) { for(MInfoColumn infoColumn : infoColumns) {
String columnName = infoColumn.getColumnName(); String columnName = infoColumn.getColumnName();
/*!m_lookup && infoColumn.isMandatory():apply Mandatory only case open as window and only for criteria field*/
boolean isMandatory = !m_lookup && infoColumn.isMandatory() && infoColumn.isQueryCriteria();
GridFieldVO vo = GridFieldVO.createParameter(infoContext, p_WindowNo, 0, GridFieldVO vo = GridFieldVO.createParameter(infoContext, p_WindowNo, 0,
columnName, infoColumn.get_Translation("Name"), infoColumn.getAD_Reference_ID(), columnName, infoColumn.get_Translation("Name"), infoColumn.getAD_Reference_ID(),
infoColumn.getAD_Reference_Value_ID(), false, false); infoColumn.getAD_Reference_Value_ID(), isMandatory, false);
if (infoColumn.getAD_Val_Rule_ID() > 0) { if (infoColumn.getAD_Val_Rule_ID() > 0) {
vo.ValidationCode = infoColumn.getAD_Val_Rule().getCode(); vo.ValidationCode = infoColumn.getAD_Val_Rule().getCode();
if (vo.lookupInfo != null) { if (vo.lookupInfo != null) {
@ -590,6 +709,14 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL
*/ */
@Override @Override
protected String getSQLWhere() { protected String getSQLWhere() {
/**
* when query not by click requery button, reuse prev where clause
* IDEMPIERE-1979
*/
if (!isQueryByUser && prevWhereClause != null){
return prevWhereClause;
}
StringBuilder builder = new StringBuilder(); StringBuilder builder = new StringBuilder();
MTable table = MTable.get(Env.getCtx(), infoWindow.getAD_Table_ID()); MTable table = MTable.get(Env.getCtx(), infoWindow.getAD_Table_ID());
if (!hasIsActiveEditor() && table.get_ColumnIndex("IsActive") >=0 ) { if (!hasIsActiveEditor() && table.get_ColumnIndex("IsActive") >=0 ) {
@ -678,6 +805,10 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL
if (sql.indexOf("@") >= 0) { if (sql.indexOf("@") >= 0) {
sql = Env.parseContext(infoContext, p_WindowNo, sql, true, true); sql = Env.parseContext(infoContext, p_WindowNo, sql, true, true);
} }
// IDEMPIERE-1979
prevWhereClause = sql;
return sql; return sql;
} }
@ -696,6 +827,23 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL
@Override @Override
protected void setParameters(PreparedStatement pstmt, boolean forCount) protected void setParameters(PreparedStatement pstmt, boolean forCount)
throws SQLException { throws SQLException {
// when query not by click requery button, reuse parameter value
if (!isQueryByUser && prevParameterValues != null){
for (int parameterIndex = 0; parameterIndex < prevParameterValues.size(); parameterIndex++){
setParameter (pstmt, parameterIndex + 1, prevParameterValues.get(parameterIndex), prevQueryOperators.get(parameterIndex));
}
return;
}
// init collection to save current parameter value
if (prevParameterValues == null){
prevParameterValues = new ArrayList<Object> ();
prevQueryOperators = new ArrayList<String> ();
}else{
prevParameterValues.clear();
prevQueryOperators.clear();
}
int parameterIndex = 0; int parameterIndex = 0;
for(WEditor editor : editors) { for(WEditor editor : editors) {
if (!editor.isVisible()) if (!editor.isVisible())
@ -708,10 +856,28 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL
} }
Object value = editor.getValue(); Object value = editor.getValue();
parameterIndex++; parameterIndex++;
prevParameterValues.add(value);
prevQueryOperators.add(mInfoColumn.getQueryOperator());
setParameter (pstmt, parameterIndex, value, mInfoColumn.getQueryOperator());
}
}
}
/**
* set parameter for statement.
* not need check null for value
* @param pstmt
* @param parameterIndex
* @param value
* @param queryOperator
* @throws SQLException
*/
protected void setParameter (PreparedStatement pstmt, int parameterIndex, Object value, String queryOperator) throws SQLException{
if (value instanceof Boolean) { if (value instanceof Boolean) {
pstmt.setString(parameterIndex, ((Boolean) value).booleanValue() ? "Y" : "N"); pstmt.setString(parameterIndex, ((Boolean) value).booleanValue() ? "Y" : "N");
} else if (value instanceof String) { } else if (value instanceof String) {
if (mInfoColumn.getQueryOperator().equals(X_AD_InfoColumn.QUERYOPERATOR_Like)) { if (queryOperator.equals(X_AD_InfoColumn.QUERYOPERATOR_Like)) {
StringBuilder valueStr = new StringBuilder(value.toString().toUpperCase()); StringBuilder valueStr = new StringBuilder(value.toString().toUpperCase());
if (!valueStr.toString().endsWith("%")) if (!valueStr.toString().endsWith("%"))
valueStr.append("%"); valueStr.append("%");
@ -722,10 +888,6 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL
} else { } else {
pstmt.setObject(parameterIndex, value); pstmt.setObject(parameterIndex, value);
} }
}
}
} }
@Override @Override
@ -792,6 +954,7 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL
confirmPanel.getButton(ConfirmPanel.A_ZOOM).setDisabled(true); confirmPanel.getButton(ConfirmPanel.A_ZOOM).setDisabled(true);
// IDEMPIERE-1334 start when init all button process is disable because nothing record is selected // IDEMPIERE-1334 start when init all button process is disable because nothing record is selected
for (Button btProcess : btProcessList){ for (Button btProcess : btProcessList){
btProcess.setDisabled(true); btProcess.setDisabled(true);
} }
@ -948,6 +1111,7 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL
editor.getLabel().setVisible(true); editor.getLabel().setVisible(true);
} }
} }
} }
/** /**
@ -973,7 +1137,6 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL
else else
{ {
editor = WebEditorFactory.getEditor(mField, false); editor = WebEditorFactory.getEditor(mField, false);
editor.setMandatory(false);
editor.setReadWrite(true); editor.setReadWrite(true);
editor.dynamicDisplay(); editor.dynamicDisplay();
editor.addValueChangeListener(this); editor.addValueChangeListener(this);
@ -1005,9 +1168,10 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL
fieldEditor.addEventListener(Events.ON_OK, this); fieldEditor.addEventListener(Events.ON_OK, this);
mField.addPropertyChangeListener(editor);
if (! Util.isEmpty(mField.getVO().DefaultValue, true)) { if (! Util.isEmpty(mField.getVO().DefaultValue, true)) {
// set default value // set default value
mField.addPropertyChangeListener(editor);
mField.setValue(mField.getDefault(), true); mField.setValue(mField.getDefault(), true);
} }
} // addSelectionColumn } // addSelectionColumn
@ -1039,7 +1203,13 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL
} }
if (!(fieldEditor instanceof Checkbox)) if (!(fieldEditor instanceof Checkbox))
{ {
panel.appendChild(label.rightAlign()); Div div = new Div();
div.setStyle("text-align: right;");
div.appendChild(label);
if (label.getDecorator() != null){
div.appendChild (label.getDecorator());
}
panel.appendChild(div);
} else { } else {
panel.appendChild(new Space()); panel.appendChild(new Space());
} }
@ -1182,6 +1352,7 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL
} }
protected void dynamicDisplay(WEditor editor) { protected void dynamicDisplay(WEditor editor) {
validateField(editor);
// if attribute set changed (from any value to any value) clear the attribute set instance m_pAttributeWhere // if attribute set changed (from any value to any value) clear the attribute set instance m_pAttributeWhere
boolean asiChanged = false; boolean asiChanged = false;
if (editor != null && editor instanceof WTableDirEditor && editor.getColumnName().equals("M_AttributeSet_ID")) if (editor != null && editor instanceof WTableDirEditor && editor.getColumnName().equals("M_AttributeSet_ID"))
@ -1551,4 +1722,51 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL
return data; return data;
} }
/**
* {@inheritDoc}
* eval input value of mandatory field, if null show field in red color
*/
@Override
public boolean validateParameters() {
boolean isValid = true;
for (int i = 0; i < editors.size(); i++){
WEditor wEditor = (WEditor) editors.get(i);
// cancel editor not display
if (wEditor == null || !wEditor.isVisible() || wEditor.getGridField() == null){
continue;
}
isValid = isValid & validateField (wEditor);
}
return isValid;
}
/**
* valid mandatory of a not null, display field
* display red color when a mandatory field is not input
* @param wEditor
* @return
*/
protected boolean validateField (WEditor wEditor){
if (wEditor == null || !wEditor.isVisible() || wEditor.getGridField() == null){
return true;
}
GridField validateGrid = wEditor.getGridField();
// eval only mandatory field
if (validateGrid.isMandatory(true)){
// update color of field
wEditor.updateLabelStyle();
Object data = wEditor.getValue();
if (data == null || data.toString().length() == 0) {
return false;
}
}
return true;
}
} }

View File

@ -32,6 +32,7 @@ import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Vector; import java.util.Vector;
import java.util.logging.Level; import java.util.logging.Level;
import org.adempiere.webui.AdempiereWebUI; import org.adempiere.webui.AdempiereWebUI;
import org.adempiere.webui.apps.AEnv; import org.adempiere.webui.apps.AEnv;
import org.adempiere.webui.apps.BusyDialog; import org.adempiere.webui.apps.BusyDialog;
@ -104,7 +105,7 @@ public abstract class InfoPanel extends Window implements EventListener<Event>,
/** /**
* *
*/ */
private static final long serialVersionUID = 7396541753653210881L; private static final long serialVersionUID = -6885406231649824253L;
private final static int PAGE_SIZE = 100; private final static int PAGE_SIZE = 100;
protected List<Button> btProcessList = new ArrayList<Button>(); protected List<Button> btProcessList = new ArrayList<Button>();
@ -300,7 +301,20 @@ public abstract class InfoPanel extends Window implements EventListener<Event>,
private boolean m_useDatabasePaging = false; private boolean m_useDatabasePaging = false;
private BusyDialog progressWindow; private BusyDialog progressWindow;
private Listitem m_lastOnSelectItem; private Listitem m_lastOnSelectItem;
/**
* false, use saved where clause
* IDEMPIERE-1979
*/
protected boolean isQueryByUser = false;
/**
* save where clause of prev requery
*/
protected String prevWhereClause = null;
/**
* save value of parameter to set info query paramenter
*/
protected List<Object> prevParameterValues = null;
protected List<String> prevQueryOperators = null;
private static final String[] lISTENER_EVENTS = {}; private static final String[] lISTENER_EVENTS = {};
/** /**
@ -987,6 +1001,7 @@ public abstract class InfoPanel extends Window implements EventListener<Event>,
/************************************************************************** /**************************************************************************
* Get dynamic WHERE part of SQL * Get dynamic WHERE part of SQL
* To be overwritten by concrete classes * To be overwritten by concrete classes
* When override this method, please consider isQueryByUser and prevWhereClause
* @return WHERE clause * @return WHERE clause
*/ */
protected abstract String getSQLWhere(); protected abstract String getSQLWhere();
@ -994,6 +1009,7 @@ public abstract class InfoPanel extends Window implements EventListener<Event>,
/** /**
* Set Parameters for Query * Set Parameters for Query
* To be overwritten by concrete classes * To be overwritten by concrete classes
* When override this method, please consider isQueryByUser and prevWhereClause
* @param pstmt statement * @param pstmt statement
* @param forCount for counting records * @param forCount for counting records
* @throws SQLException * @throws SQLException
@ -1114,8 +1130,7 @@ public abstract class InfoPanel extends Window implements EventListener<Event>,
} }
else if (event.getTarget().equals(confirmPanel.getButton(ConfirmPanel.A_REFRESH))) else if (event.getTarget().equals(confirmPanel.getButton(ConfirmPanel.A_REFRESH)))
{ {
showBusyDialog(); onUserQuery();
Clients.response(new AuEcho(this, "onQueryCallback", null));
} }
else if (event.getTarget().equals(confirmPanel.getButton(ConfirmPanel.A_CANCEL))) else if (event.getTarget().equals(confirmPanel.getButton(ConfirmPanel.A_CANCEL)))
{ {
@ -1210,20 +1225,38 @@ public abstract class InfoPanel extends Window implements EventListener<Event>,
else else
SessionManager.getAppDesktop().updateHelpContext(X_AD_CtxHelp.CTXTYPE_Home, 0); SessionManager.getAppDesktop().updateHelpContext(X_AD_CtxHelp.CTXTYPE_Home, 0);
} }
//default //when user push enter keyboard at input parameter field
else else
{ {
showBusyDialog(); onUserQuery();
Clients.response(new AuEcho(this, "onQueryCallback", null));
} }
} // onEvent } // onEvent
/**
* Call query when user click to query button enter in parameter field
*/
public void onUserQuery (){
if (validateParameters()){
showBusyDialog();
isQueryByUser = true;
Clients.response(new AuEcho(this, "onQueryCallback", null));
}
}
/**
* validate parameter before run query
* @return
*/
public boolean validateParameters(){
return true;
}
void preRunProcess (Integer processId){ void preRunProcess (Integer processId){
// disable all control button when run process // disable all control button when run process
enableButtons(false); enableButtons(false);
// call run process in next request to disable all button control // call run process in next request to disable all button control
Events.echoEvent(ON_RUN_PROCESS, this, processId); Events.echoEvent(ON_RUN_PROCESS, this, processId);
} }
/** /**
* Run a process. * Run a process.
@ -1269,7 +1302,6 @@ public abstract class InfoPanel extends Window implements EventListener<Event>,
}else if (!m_pi.isError() && m_pi.getSummary() != null && m_pi.getSummary().trim().length() > 0){ }else if (!m_pi.isError() && m_pi.getSummary() != null && m_pi.getSummary().trim().length() > 0){
// when success, show summary if exists // when success, show summary if exists
FDialog.info(p_WindowNo, null, m_pi.getSummary()); FDialog.info(p_WindowNo, null, m_pi.getSummary());
//showBusyDialog();
Clients.response(new AuEcho(InfoPanel.this, "onQueryCallback", m_results)); Clients.response(new AuEcho(InfoPanel.this, "onQueryCallback", m_results));
} }
@ -1317,14 +1349,25 @@ public abstract class InfoPanel extends Window implements EventListener<Event>,
contentPanel.setSelectedByKeys(lsSelectedKey); contentPanel.setSelectedByKeys(lsSelectedKey);
m_results.clear(); m_results.clear();
} }
// just evaluate display logic of process button when requery by use click requery button
if (isQueryByUser){
bindInfoProcess();
}
// IDEMPIERE-1334 after refresh, restore prev selected item end // IDEMPIERE-1334 after refresh, restore prev selected item end
} }
finally finally
{ {
isQueryByUser = false;
hideBusyDialog(); hideBusyDialog();
} }
} }
/**
* evaluate display logic of button process
* empty method. implement at child class extend
*/
protected void bindInfoProcess (){}
private void onOk() private void onOk()
{ {
if (!contentPanel.getChildren().isEmpty() && contentPanel.getSelectedRowKey()!=null) if (!contentPanel.getChildren().isEmpty() && contentPanel.getSelectedRowKey()!=null)

View File

@ -25,9 +25,9 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.StringTokenizer; import java.util.StringTokenizer;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.activation.DataSource; import javax.activation.DataSource;
import org.adempiere.webui.AdempiereWebUI; import org.adempiere.webui.AdempiereWebUI;
import org.adempiere.webui.component.AttachmentItem; import org.adempiere.webui.component.AttachmentItem;
import org.adempiere.webui.component.Button; import org.adempiere.webui.component.Button;
@ -92,7 +92,7 @@ public class WEMailDialog extends Window implements EventListener<Event>, ValueC
/** /**
* *
*/ */
private static final long serialVersionUID = -2960343329714019910L; private static final long serialVersionUID = 4540369233682337505L;
/** /**
* EMail Dialog * EMail Dialog
@ -497,7 +497,7 @@ public class WEMailDialog extends Window implements EventListener<Event>, ValueC
StringTokenizer st = new StringTokenizer(getTo(), " ,;", false); StringTokenizer st = new StringTokenizer(getTo(), " ,;", false);
String to = st.nextToken(); String to = st.nextToken();
EMail email = m_client.createEMail(getFrom(), to, getSubject(), getMessage(), true); EMail email = m_client.createEMail(getFrom(), to, getSubject(), replaceBASE64Img(getMessage()), true);
String status = "Check Setup"; String status = "Check Setup";
if (email != null) if (email != null)
{ {
@ -671,12 +671,133 @@ public class WEMailDialog extends Window implements EventListener<Event>, ValueC
} }
} }
/**
* convert attach image as base64 and embed to message content for preview in cfEditor
* @param mt
* @param attachment
* @return
*/
public static String embedImgToEmail (MMailText mt, MAttachment attachment){
String origonSign = mt.getMailText(true);
// pattern to get src value of attach image.
Pattern imgPattern = Pattern.compile("\\s+src\\s*=\\s*\"cid:(.*?)\"");
// matcher object to anlysic image tab in sign
Matcher imgMatcher = imgPattern.matcher(origonSign);
// part not include "cid:imageName"
List<String> lsPart = new ArrayList<String> ();
// list image name in sign
List<String> lsImgSrc = new ArrayList<String> ();
// start index of text part not include "cid:imageName"
int startIndex = 0;
// start index of "cid:imageName"
int startIndexMatch = 0;
// end index of "cid:imageName"
int endIndexMatch = 0;
// split sign string to part
// example: acb <img src="cid:image1"/> def <img src="cid:image2"/> ghi
// lsPart will include "acb <img ", "/> def <img ", "/> ghi"
// lsImgSrc wil include "image1", "image2"
while (imgMatcher.find()){
startIndexMatch = imgMatcher.start();
endIndexMatch = imgMatcher.end();
// split text from end last matcher to start matcher
String startString = origonSign.substring(startIndex, startIndexMatch);
lsPart.add(startString);
// get image name
lsImgSrc.add(imgMatcher.group(1).trim());
startIndex = endIndexMatch;
}
// end string not include "cid:imageName"
String startString = origonSign.substring(startIndex);
lsPart.add(startString);
// no image in sign return origon
if (lsPart.size() < 0){
return origonSign;
}
StringBuilder reconstructSign = new StringBuilder();
// no attachment because add server warning and return origon without src value,
// maybe can improve to remove img tag
if(attachment == null){
//TODO: add server warning log
for (String strPart : lsPart){
reconstructSign.append(strPart);
}
return reconstructSign.toString();
}
// resconstruct with image source convert to embed image by base64 encode
for (int i = 0; i < lsImgSrc.size(); i++){
if (i == 0)
reconstructSign.append(lsPart.get(0));
MAttachmentEntry[] entries = attachment.getEntries();
String imageBase64 = null;
// find file attach map with this name
for (MAttachmentEntry entry : entries) {
if (entry.getName().equalsIgnoreCase(lsImgSrc.get(i))){
imageBase64 = javax.xml.bind.DatatypeConverter.printBase64Binary(entry.getData());
break;
}
}
if (imageBase64 == null){
// no attach map with this src value
// add server warning and return origon without src value,
// maybe can improve to remove img tag
//TODO: add server warning log
}else{
// convert image to base64 encode and embed to img tag
reconstructSign.append(" alt=\"inline_image_").append(lsImgSrc.get(i)).append("\" src=\"data:image/jpeg;base64,").append(imageBase64).append("\"");
}
reconstructSign.append(lsPart.get(i + 1));
}
return reconstructSign.toString();
}
/**
* remove base64 image encode in message content before sent email
* @param base64
* @return
*/
public static String replaceBASE64Img (String base64){
// pattern map base64 in image
Pattern imgPattern = Pattern.compile(" alt=\"inline_image_(.*?)\" src=\"data:image/jpeg;base64,.*?\"");
// matcher object replace base64
Matcher imgMatcher = imgPattern.matcher(base64);
StringBuffer result = new StringBuffer();
// replace base64 string with original image name to sent email
while (imgMatcher.find()){
imgMatcher.appendReplacement(result, " src=\"cid:$1\"");
}
if (result.length() > 0){
imgMatcher.appendTail(result);
return result.toString();
}else{
// no base64 in input string
return base64;
}
}
private void addMailText() private void addMailText()
{ {
MMailText mt = (MMailText) MUser.get(Env.getCtx()).getR_DefaultMailText(); MMailText mt = (MMailText) MUser.get(Env.getCtx()).getR_DefaultMailText();
if (mt.get_ID() > 0) { if (mt.get_ID() > 0) {
mt.setPO(MUser.get(Env.getCtx())); mt.setPO(MUser.get(Env.getCtx()));
fMessage.setValue(getMessage() + "\n" + mt.getMailText(true));
MAttachment attachment = MAttachment.get(Env.getCtx(), MMailText.Table_ID, mt.get_ID()); MAttachment attachment = MAttachment.get(Env.getCtx(), MMailText.Table_ID, mt.get_ID());
if (attachment != null) { if (attachment != null) {
MAttachmentEntry[] entries = attachment.getEntries(); MAttachmentEntry[] entries = attachment.getEntries();
@ -693,6 +814,9 @@ public class WEMailDialog extends Window implements EventListener<Event>, ValueC
addAttachment(dataSource, true); addAttachment(dataSource, true);
} }
} }
fMessage.setValue(getMessage() + "\n" + embedImgToEmail(mt, attachment));
} }
} }

View File

@ -147,6 +147,8 @@ public class WTextEditorDialog extends Window implements EventListener<Event>{
} }
tabbox.addEventListener(Events.ON_SELECT, this); tabbox.addEventListener(Events.ON_SELECT, this);
//Bug IDEMPIERE-1992 Ensure that text editor dialog has a close button
setClosable(true);
} }
private void createEditor(org.zkoss.zul.Tabpanel tabPanel) { private void createEditor(org.zkoss.zul.Tabpanel tabPanel) {

View File

@ -596,6 +596,8 @@ public class ZkReportViewer extends Window implements EventListener<Event>, ITab
if (AD_Window_ID == 0) if (AD_Window_ID == 0)
AD_Window_ID = Env.getZoomWindowID(m_reportEngine.getQuery()); AD_Window_ID = Env.getZoomWindowID(m_reportEngine.getQuery());
int reportViewID = m_reportEngine.getPrintFormat().getAD_ReportView_ID();
// fill Report Options // fill Report Options
String sql = MRole.getDefault().addAccessSQL( String sql = MRole.getDefault().addAccessSQL(
"SELECT * " "SELECT * "
@ -605,6 +607,7 @@ public class ZkReportViewer extends Window implements EventListener<Event>, ITab
+ "AND IsActive='Y' " + "AND IsActive='Y' "
//End of Added Lines //End of Added Lines
+ (AD_Window_ID > 0 ? "AND (AD_Window_ID=? OR AD_Window_ID IS NULL) " : "") + (AD_Window_ID > 0 ? "AND (AD_Window_ID=? OR AD_Window_ID IS NULL) " : "")
+ (reportViewID > 0 ? "AND AD_ReportView_ID=? " : "")
+ "ORDER BY Name", + "ORDER BY Name",
"AD_PrintFormat", MRole.SQL_NOTQUALIFIED, MRole.SQL_RO); "AD_PrintFormat", MRole.SQL_NOTQUALIFIED, MRole.SQL_RO);
int AD_Table_ID = m_reportEngine.getPrintFormat().getAD_Table_ID(); int AD_Table_ID = m_reportEngine.getPrintFormat().getAD_Table_ID();
@ -613,9 +616,12 @@ public class ZkReportViewer extends Window implements EventListener<Event>, ITab
try try
{ {
pstmt = DB.prepareStatement(sql, null); pstmt = DB.prepareStatement(sql, null);
pstmt.setInt(1, AD_Table_ID); int idx = 1;
pstmt.setInt(idx++, AD_Table_ID);
if (AD_Window_ID > 0) if (AD_Window_ID > 0)
pstmt.setInt(2, AD_Window_ID); pstmt.setInt(idx++, AD_Window_ID);
if (reportViewID > 0)
pstmt.setInt(idx++, reportViewID);
rs = pstmt.executeQuery(); rs = pstmt.executeQuery();
while (rs.next()) while (rs.next())
{ {

View File

@ -101,6 +101,14 @@
<name>org.zkoss.web.util.resource.dir</name> <name>org.zkoss.web.util.resource.dir</name>
<value>/WEB-INF/cwr</value> <value>/WEB-INF/cwr</value>
</library-property> </library-property>
<library-property>
<name>org.zkoss.zul.grid.DataLoader.class</name>
<value>org.zkoss.zul.impl.CustomGridDataLoader</value>
</library-property>
<library-property>
<name>org.zkoss.zul.grid.rod</name>
<value>true</value>
</library-property>
<preference> <preference>
<name>org.zkoss.zk.ui.WebApp.name</name> <name>org.zkoss.zk.ui.WebApp.name</name>

View File

@ -499,7 +499,7 @@ public class Match
if (sLine.getProduct() != null && sLine.getProduct().isStocked()) if (sLine.getProduct() != null && sLine.getProduct().isStocked())
success = MStorageReservation.add (Env.getCtx(), sLine.getM_Warehouse_ID(), success = MStorageReservation.add (Env.getCtx(), sLine.getM_Warehouse_ID(),
sLine.getM_Product_ID(), sLine.getM_Product_ID(),
sLine.getM_AttributeSetInstance_ID(), oLine.getM_AttributeSetInstance_ID(), sLine.getM_AttributeSetInstance_ID(),
qty.negate(), false, trxName); qty.negate(), false, trxName);
} }
} }

View File

@ -0,0 +1,44 @@
/******************************************************************************
* Copyright (C) 2014 TrekGlobal *
* This program is free software; you can redistribute it and/or modify it *
* under the terms version 2 of the GNU General Public License as published *
* by the Free Software Foundation. This program is distributed in the hope *
* that it will be useful, but WITHOUT ANY WARRANTY; without even the implied *
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
* See the GNU General Public License for more details. *
* You should have received a copy of the GNU General Public License along *
* with this program; if not, write to the Free Software Foundation, Inc., *
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. *
*****************************************************************************/
package org.zkoss.zul.impl;
import org.zkoss.lang.Library;
import org.zkoss.zul.impl.GridDataLoader;
/**
* @author hengsin
*
*/
public class CustomGridDataLoader extends GridDataLoader {
public static final String GRID_DATA_LOADER_LIMIT = "org.zkoss.zul.grid.DataLoader.limit";
/**
*
*/
public CustomGridDataLoader() {
}
/* (non-Javadoc)
* @see org.zkoss.zul.impl.GridDataLoader#getLimit()
*/
@Override
public int getLimit() {
String limit = Library.getProperty(GRID_DATA_LOADER_LIMIT);
if (limit != null) {
return Integer.parseInt(limit);
}
return super.getLimit();
}
}