Project:
View Issue Details[ Jump to Notes ] | [ Issue History ] [ Print ] | |||||||
ID | ||||||||
0027722 | ||||||||
Type | Category | Severity | Reproducibility | Date Submitted | Last Update | |||
feature request | [Retail Modules] Web POS | major | N/A | 2014-10-01 08:54 | 2015-01-31 10:46 | |||
Reporter | guillermogil | View Status | public | |||||
Assigned To | guillermogil | |||||||
Priority | high | Resolution | fixed | Fixed in Version | RR15Q2 | |||
Status | closed | Fix in branch | Fixed in SCM revision | 107c621ecd4e | ||||
Projection | none | ETA | none | Target Version | ||||
OS | Any | Database | Any | Java version | ||||
OS Version | Database version | Ant version | ||||||
Product Version | SCM revision | |||||||
Merge Request Status | ||||||||
Review Assigned To | marvintm | |||||||
OBNetwork customer | No | |||||||
Support ticket | ||||||||
Regression level | ||||||||
Regression date | ||||||||
Regression introduced in release | ||||||||
Regression introduced by commit | ||||||||
Triggers an Emergency Pack | No | |||||||
Summary | 0027722: Give the possibility to leave a payment method without financial account | |||||||
Description | It could be nice to have the possibility to have a payment method defined on WebPOS that does not have a financial account associated. This could leave that payment on credit and it should not invoice the tickets on which that payment method is used. | |||||||
Steps To Reproduce | N/A | |||||||
Tags | No tags attached. | |||||||
Attached Files | ![]() diff --git a/src-db/database/model/tables/OBPOS_APP_PAYMENT.xml b/src-db/database/model/tables/OBPOS_APP_PAYMENT.xml --- a/src-db/database/model/tables/OBPOS_APP_PAYMENT.xml +++ b/src-db/database/model/tables/OBPOS_APP_PAYMENT.xml @@ -37,7 +37,7 @@ <default/> <onCreateDefault/> </column> - <column name="FIN_FINANCIAL_ACCOUNT_ID" primaryKey="false" required="true" type="VARCHAR" size="32" autoIncrement="false"> + <column name="FIN_FINANCIAL_ACCOUNT_ID" primaryKey="false" required="false" type="VARCHAR" size="32" autoIncrement="false"> <default/> <onCreateDefault/> </column> diff --git a/src-db/database/model/tables/OBPOS_APP_PAYMENT_TYPE.xml b/src-db/database/model/tables/OBPOS_APP_PAYMENT_TYPE.xml --- a/src-db/database/model/tables/OBPOS_APP_PAYMENT_TYPE.xml +++ b/src-db/database/model/tables/OBPOS_APP_PAYMENT_TYPE.xml @@ -81,7 +81,7 @@ <default/> <onCreateDefault/> </column> - <column name="C_GLITEM_DIFF_ID" primaryKey="false" required="true" type="VARCHAR" size="32" autoIncrement="false"> + <column name="C_GLITEM_DIFF_ID" primaryKey="false" required="false" type="VARCHAR" size="32" autoIncrement="false"> <default/> <onCreateDefault/> </column> @@ -141,6 +141,10 @@ <default><![CDATA[Y]]></default> <onCreateDefault><![CDATA['Y']]></onCreateDefault> </column> + <column name="LEAVEASCREDIT" primaryKey="false" required="true" type="CHAR" size="1" autoIncrement="false"> + <default><![CDATA[N]]></default> + <onCreateDefault/> + </column> <foreign-key foreignTable="AD_CLIENT" name="OBPOS_APPPAYTYPE_AD_CLIENT"> <reference local="AD_CLIENT_ID" foreign="AD_CLIENT_ID"/> </foreign-key> @@ -187,6 +191,7 @@ <check name="OBPOS_APP_PAYTYPE_DEPGL_CHK"><![CDATA[(ALLOWDEPOSITS = 'N') OR (C_GLITEM_DEPOSITS_ID IS NOT NULL)]]></check> <check name="OBPOS_APP_PAYTYPE_DROPGL_CHK"><![CDATA[(ALLOWDROPS = 'N') OR (C_GLITEM_DROPS_ID IS NOT NULL)]]></check> <check name="OBPOS_APP_PAYTYPE_FIXEDAM_CHK"><![CDATA[(KEEPFIXEDAMOUNT = 'N') OR (AMOUNT IS NOT NULL)]]></check> + <check name="OBPOS_APPPAY_LEAVECREDIT_CHK"><![CDATA[LEAVEASCREDIT IN ('Y', 'N')]]></check> <check name="OBPOS_APPPAYTYPE_AUTO_CHK"><![CDATA[AUTOMATEMOVEMENTTOOTHER IN ('Y', 'N')]]></check> <check name="OBPOS_APPPAYTYPE_CASH_CHK"><![CDATA[ISCASH IN ('Y', 'N')]]></check> <check name="OBPOS_APPPAYTYPE_COUNTCASH_CHK"><![CDATA[COUNTCASH IN ('Y', 'N')]]></check> diff --git a/src-db/database/sourcedata/AD_AUXILIARINPUT.xml b/src-db/database/sourcedata/AD_AUXILIARINPUT.xml new file mode 100644 --- /dev/null +++ b/src-db/database/sourcedata/AD_AUXILIARINPUT.xml @@ -0,0 +1,14 @@ +<?xml version='1.0' encoding='UTF-8'?> +<data> +<!--D04496856E194B3A800EC08C0E09B842--><AD_AUXILIARINPUT> +<!--D04496856E194B3A800EC08C0E09B842--> <AD_AUXILIARINPUT_ID><![CDATA[D04496856E194B3A800EC08C0E09B842]]></AD_AUXILIARINPUT_ID> +<!--D04496856E194B3A800EC08C0E09B842--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--D04496856E194B3A800EC08C0E09B842--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--D04496856E194B3A800EC08C0E09B842--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--D04496856E194B3A800EC08C0E09B842--> <AD_TAB_ID><![CDATA[027E3BB9B7114CA68F976D0C0133E682]]></AD_TAB_ID> +<!--D04496856E194B3A800EC08C0E09B842--> <NAME><![CDATA[FinAcc_Disabled]]></NAME> +<!--D04496856E194B3A800EC08C0E09B842--> <CODE><![CDATA[@SQL=SELECT LEAVEASCREDIT FROM OBPOS_APP_PAYMENT_TYPE WHERE OBPOS_APP_PAYMENT_TYPE_ID = @OBPOS_APP_PAYMENT_TYPE_ID@]]></CODE> +<!--D04496856E194B3A800EC08C0E09B842--> <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID> +<!--D04496856E194B3A800EC08C0E09B842--></AD_AUXILIARINPUT> + +</data> diff --git a/src-db/database/sourcedata/AD_COLUMN.xml b/src-db/database/sourcedata/AD_COLUMN.xml --- a/src-db/database/sourcedata/AD_COLUMN.xml +++ b/src-db/database/sourcedata/AD_COLUMN.xml @@ -1490,6 +1490,40 @@ <!--24723B46017345AFB4E5413AF3526776--> <ISUSEDSEQUENCE><![CDATA[N]]></ISUSEDSEQUENCE> <!--24723B46017345AFB4E5413AF3526776--></AD_COLUMN> +<!--24CA9F6F48DA4453911DDCA77DA7DE2B--><AD_COLUMN> +<!--24CA9F6F48DA4453911DDCA77DA7DE2B--> <AD_COLUMN_ID><![CDATA[24CA9F6F48DA4453911DDCA77DA7DE2B]]></AD_COLUMN_ID> +<!--24CA9F6F48DA4453911DDCA77DA7DE2B--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--24CA9F6F48DA4453911DDCA77DA7DE2B--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--24CA9F6F48DA4453911DDCA77DA7DE2B--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--24CA9F6F48DA4453911DDCA77DA7DE2B--> <NAME><![CDATA[Leaveascredit]]></NAME> +<!--24CA9F6F48DA4453911DDCA77DA7DE2B--> <COLUMNNAME><![CDATA[Leaveascredit]]></COLUMNNAME> +<!--24CA9F6F48DA4453911DDCA77DA7DE2B--> <AD_TABLE_ID><![CDATA[B096FDF43917472D8FDE9693E9CCFFD4]]></AD_TABLE_ID> +<!--24CA9F6F48DA4453911DDCA77DA7DE2B--> <AD_REFERENCE_ID><![CDATA[20]]></AD_REFERENCE_ID> +<!--24CA9F6F48DA4453911DDCA77DA7DE2B--> <FIELDLENGTH><![CDATA[1]]></FIELDLENGTH> +<!--24CA9F6F48DA4453911DDCA77DA7DE2B--> <DEFAULTVALUE><![CDATA[N]]></DEFAULTVALUE> +<!--24CA9F6F48DA4453911DDCA77DA7DE2B--> <ISKEY><![CDATA[N]]></ISKEY> +<!--24CA9F6F48DA4453911DDCA77DA7DE2B--> <ISPARENT><![CDATA[N]]></ISPARENT> +<!--24CA9F6F48DA4453911DDCA77DA7DE2B--> <ISMANDATORY><![CDATA[Y]]></ISMANDATORY> +<!--24CA9F6F48DA4453911DDCA77DA7DE2B--> <ISUPDATEABLE><![CDATA[Y]]></ISUPDATEABLE> +<!--24CA9F6F48DA4453911DDCA77DA7DE2B--> <ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER> +<!--24CA9F6F48DA4453911DDCA77DA7DE2B--> <SEQNO><![CDATA[445]]></SEQNO> +<!--24CA9F6F48DA4453911DDCA77DA7DE2B--> <ISTRANSLATED><![CDATA[N]]></ISTRANSLATED> +<!--24CA9F6F48DA4453911DDCA77DA7DE2B--> <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED> +<!--24CA9F6F48DA4453911DDCA77DA7DE2B--> <ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN> +<!--24CA9F6F48DA4453911DDCA77DA7DE2B--> <AD_ELEMENT_ID><![CDATA[9E94E84AB7E54849ABE0CEF12E6E9414]]></AD_ELEMENT_ID> +<!--24CA9F6F48DA4453911DDCA77DA7DE2B--> <ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR> +<!--24CA9F6F48DA4453911DDCA77DA7DE2B--> <ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY> +<!--24CA9F6F48DA4453911DDCA77DA7DE2B--> <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE> +<!--24CA9F6F48DA4453911DDCA77DA7DE2B--> <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS> +<!--24CA9F6F48DA4453911DDCA77DA7DE2B--> <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID> +<!--24CA9F6F48DA4453911DDCA77DA7DE2B--> <POSITION><![CDATA[36]]></POSITION> +<!--24CA9F6F48DA4453911DDCA77DA7DE2B--> <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT> +<!--24CA9F6F48DA4453911DDCA77DA7DE2B--> <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE> +<!--24CA9F6F48DA4453911DDCA77DA7DE2B--> <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW> +<!--24CA9F6F48DA4453911DDCA77DA7DE2B--> <IMAGESIZEVALUESACTION><![CDATA[N]]></IMAGESIZEVALUESACTION> +<!--24CA9F6F48DA4453911DDCA77DA7DE2B--> <ISUSEDSEQUENCE><![CDATA[N]]></ISUSEDSEQUENCE> +<!--24CA9F6F48DA4453911DDCA77DA7DE2B--></AD_COLUMN> + <!--25201F26AB3647C598A1539E7F1C03DF--><AD_COLUMN> <!--25201F26AB3647C598A1539E7F1C03DF--> <AD_COLUMN_ID><![CDATA[25201F26AB3647C598A1539E7F1C03DF]]></AD_COLUMN_ID> <!--25201F26AB3647C598A1539E7F1C03DF--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> @@ -1637,6 +1671,8 @@ <!--2A66D8FDB84347F3BC2EDD0922F9210F--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> <!--2A66D8FDB84347F3BC2EDD0922F9210F--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> <!--2A66D8FDB84347F3BC2EDD0922F9210F--> <NAME><![CDATA[Unlinkdevice]]></NAME> +<!--2A66D8FDB84347F3BC2EDD0922F9210F--> <DESCRIPTION><![CDATA[POS Terminal Unlink Device]]></DESCRIPTION> +<!--2A66D8FDB84347F3BC2EDD0922F9210F--> <HELP><![CDATA[POS Terminal Unlink Device]]></HELP> <!--2A66D8FDB84347F3BC2EDD0922F9210F--> <COLUMNNAME><![CDATA[Unlinkdevice]]></COLUMNNAME> <!--2A66D8FDB84347F3BC2EDD0922F9210F--> <AD_TABLE_ID><![CDATA[FF80818132F311740132F31E2C9A0016]]></AD_TABLE_ID> <!--2A66D8FDB84347F3BC2EDD0922F9210F--> <AD_REFERENCE_ID><![CDATA[28]]></AD_REFERENCE_ID> @@ -1822,7 +1858,7 @@ <!--349309D809134679955395B9655E8236--> <FIELDLENGTH><![CDATA[32]]></FIELDLENGTH> <!--349309D809134679955395B9655E8236--> <ISKEY><![CDATA[N]]></ISKEY> <!--349309D809134679955395B9655E8236--> <ISPARENT><![CDATA[N]]></ISPARENT> -<!--349309D809134679955395B9655E8236--> <ISMANDATORY><![CDATA[Y]]></ISMANDATORY> +<!--349309D809134679955395B9655E8236--> <ISMANDATORY><![CDATA[N]]></ISMANDATORY> <!--349309D809134679955395B9655E8236--> <ISUPDATEABLE><![CDATA[Y]]></ISUPDATEABLE> <!--349309D809134679955395B9655E8236--> <ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER> <!--349309D809134679955395B9655E8236--> <SEQNO><![CDATA[220]]></SEQNO> @@ -6407,11 +6443,13 @@ <!--DA36F2891C2A4ED2B4CF4C838C70170E--> <COLUMNNAME><![CDATA[FIN_Financial_Account_ID]]></COLUMNNAME> <!--DA36F2891C2A4ED2B4CF4C838C70170E--> <AD_TABLE_ID><![CDATA[CCE07BDBDC344FD98E52C293A987203F]]></AD_TABLE_ID> <!--DA36F2891C2A4ED2B4CF4C838C70170E--> <AD_REFERENCE_ID><![CDATA[19]]></AD_REFERENCE_ID> +<!--DA36F2891C2A4ED2B4CF4C838C70170E--> <AD_VAL_RULE_ID><![CDATA[7153C74CF9CC45D2BBFA524A79146269]]></AD_VAL_RULE_ID> <!--DA36F2891C2A4ED2B4CF4C838C70170E--> <FIELDLENGTH><![CDATA[32]]></FIELDLENGTH> <!--DA36F2891C2A4ED2B4CF4C838C70170E--> <ISKEY><![CDATA[N]]></ISKEY> <!--DA36F2891C2A4ED2B4CF4C838C70170E--> <ISPARENT><![CDATA[N]]></ISPARENT> -<!--DA36F2891C2A4ED2B4CF4C838C70170E--> <ISMANDATORY><![CDATA[Y]]></ISMANDATORY> +<!--DA36F2891C2A4ED2B4CF4C838C70170E--> <ISMANDATORY><![CDATA[N]]></ISMANDATORY> <!--DA36F2891C2A4ED2B4CF4C838C70170E--> <ISUPDATEABLE><![CDATA[Y]]></ISUPDATEABLE> +<!--DA36F2891C2A4ED2B4CF4C838C70170E--> <READONLYLOGIC><![CDATA[@FinAcc_Disabled@='Y']]></READONLYLOGIC> <!--DA36F2891C2A4ED2B4CF4C838C70170E--> <ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER> <!--DA36F2891C2A4ED2B4CF4C838C70170E--> <SEQNO><![CDATA[110]]></SEQNO> <!--DA36F2891C2A4ED2B4CF4C838C70170E--> <ISTRANSLATED><![CDATA[N]]></ISTRANSLATED> diff --git a/src-db/database/sourcedata/AD_ELEMENT.xml b/src-db/database/sourcedata/AD_ELEMENT.xml --- a/src-db/database/sourcedata/AD_ELEMENT.xml +++ b/src-db/database/sourcedata/AD_ELEMENT.xml @@ -839,6 +839,18 @@ <!--9A08A9CC0EAD4B1DADB9CC98D0137EE4--> <ISGLOSSARY><![CDATA[N]]></ISGLOSSARY> <!--9A08A9CC0EAD4B1DADB9CC98D0137EE4--></AD_ELEMENT> +<!--9E94E84AB7E54849ABE0CEF12E6E9414--><AD_ELEMENT> +<!--9E94E84AB7E54849ABE0CEF12E6E9414--> <AD_ELEMENT_ID><![CDATA[9E94E84AB7E54849ABE0CEF12E6E9414]]></AD_ELEMENT_ID> +<!--9E94E84AB7E54849ABE0CEF12E6E9414--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--9E94E84AB7E54849ABE0CEF12E6E9414--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--9E94E84AB7E54849ABE0CEF12E6E9414--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--9E94E84AB7E54849ABE0CEF12E6E9414--> <COLUMNNAME><![CDATA[Leaveascredit]]></COLUMNNAME> +<!--9E94E84AB7E54849ABE0CEF12E6E9414--> <NAME><![CDATA[Leave as credit]]></NAME> +<!--9E94E84AB7E54849ABE0CEF12E6E9414--> <PRINTNAME><![CDATA[Leave as credit]]></PRINTNAME> +<!--9E94E84AB7E54849ABE0CEF12E6E9414--> <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID> +<!--9E94E84AB7E54849ABE0CEF12E6E9414--> <ISGLOSSARY><![CDATA[N]]></ISGLOSSARY> +<!--9E94E84AB7E54849ABE0CEF12E6E9414--></AD_ELEMENT> + <!--9E95A0C00A6C4BDF8BC7D88C0BD4292A--><AD_ELEMENT> <!--9E95A0C00A6C4BDF8BC7D88C0BD4292A--> <AD_ELEMENT_ID><![CDATA[9E95A0C00A6C4BDF8BC7D88C0BD4292A]]></AD_ELEMENT_ID> <!--9E95A0C00A6C4BDF8BC7D88C0BD4292A--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> diff --git a/src-db/database/sourcedata/AD_FIELD.xml b/src-db/database/sourcedata/AD_FIELD.xml --- a/src-db/database/sourcedata/AD_FIELD.xml +++ b/src-db/database/sourcedata/AD_FIELD.xml @@ -13,7 +13,7 @@ <!--005DC166ED6C48AF89E3280213F6F6F7--> <AD_COLUMN_ID><![CDATA[BC0C496F16C94F51A37ECF9AD0C2BDFA]]></AD_COLUMN_ID> <!--005DC166ED6C48AF89E3280213F6F6F7--> <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD> <!--005DC166ED6C48AF89E3280213F6F6F7--> <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED> -<!--005DC166ED6C48AF89E3280213F6F6F7--> <DISPLAYLOGIC><![CDATA[@Automatemovementtoother@='Y']]></DISPLAYLOGIC> +<!--005DC166ED6C48AF89E3280213F6F6F7--> <DISPLAYLOGIC><![CDATA[@Automatemovementtoother@='Y' & @leaveascredit@='N']]></DISPLAYLOGIC> <!--005DC166ED6C48AF89E3280213F6F6F7--> <DISPLAYLENGTH><![CDATA[1]]></DISPLAYLENGTH> <!--005DC166ED6C48AF89E3280213F6F6F7--> <ISREADONLY><![CDATA[N]]></ISREADONLY> <!--005DC166ED6C48AF89E3280213F6F6F7--> <SEQNO><![CDATA[110]]></SEQNO> @@ -42,7 +42,7 @@ <!--00BF273D2E3A4308B0ED31A46BD4AC52--> <AD_COLUMN_ID><![CDATA[57CF66A9D10F48AF8DD4D07ABE392F44]]></AD_COLUMN_ID> <!--00BF273D2E3A4308B0ED31A46BD4AC52--> <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD> <!--00BF273D2E3A4308B0ED31A46BD4AC52--> <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED> -<!--00BF273D2E3A4308B0ED31A46BD4AC52--> <DISPLAYLOGIC><![CDATA[@Iscash@='Y']]></DISPLAYLOGIC> +<!--00BF273D2E3A4308B0ED31A46BD4AC52--> <DISPLAYLOGIC><![CDATA[@Iscash@='Y' & @leaveascredit@='N']]></DISPLAYLOGIC> <!--00BF273D2E3A4308B0ED31A46BD4AC52--> <DISPLAYLENGTH><![CDATA[1]]></DISPLAYLENGTH> <!--00BF273D2E3A4308B0ED31A46BD4AC52--> <ISREADONLY><![CDATA[N]]></ISREADONLY> <!--00BF273D2E3A4308B0ED31A46BD4AC52--> <SEQNO><![CDATA[160]]></SEQNO> @@ -465,6 +465,7 @@ <!--134B712F829041F58A8D96ECD5052739--> <AD_COLUMN_ID><![CDATA[12556DBF01154B3A85F77D7587583391]]></AD_COLUMN_ID> <!--134B712F829041F58A8D96ECD5052739--> <IGNOREINWAD><![CDATA[Y]]></IGNOREINWAD> <!--134B712F829041F58A8D96ECD5052739--> <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED> +<!--134B712F829041F58A8D96ECD5052739--> <DISPLAYLOGIC><![CDATA[@leaveascredit@='N']]></DISPLAYLOGIC> <!--134B712F829041F58A8D96ECD5052739--> <DISPLAYLENGTH><![CDATA[32]]></DISPLAYLENGTH> <!--134B712F829041F58A8D96ECD5052739--> <ISREADONLY><![CDATA[N]]></ISREADONLY> <!--134B712F829041F58A8D96ECD5052739--> <SEQNO><![CDATA[103]]></SEQNO> @@ -691,6 +692,7 @@ <!--2032C68C1FAF43B2B6970EF0E3CCC362--> <AD_COLUMN_ID><![CDATA[4C31D9531AF848058BF9E66963BCD3F5]]></AD_COLUMN_ID> <!--2032C68C1FAF43B2B6970EF0E3CCC362--> <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD> <!--2032C68C1FAF43B2B6970EF0E3CCC362--> <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED> +<!--2032C68C1FAF43B2B6970EF0E3CCC362--> <DISPLAYLOGIC><![CDATA[@leaveascredit@='N']]></DISPLAYLOGIC> <!--2032C68C1FAF43B2B6970EF0E3CCC362--> <DISPLAYLENGTH><![CDATA[1]]></DISPLAYLENGTH> <!--2032C68C1FAF43B2B6970EF0E3CCC362--> <ISREADONLY><![CDATA[N]]></ISREADONLY> <!--2032C68C1FAF43B2B6970EF0E3CCC362--> <SEQNO><![CDATA[190]]></SEQNO> @@ -805,6 +807,7 @@ <!--2AE3F424DF984CEC8B3FFAEB9E468577--> <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD> <!--2AE3F424DF984CEC8B3FFAEB9E468577--> <AD_FIELDGROUP_ID><![CDATA[DA6785B66E1A41D98B03B2BFE5AAAB75]]></AD_FIELDGROUP_ID> <!--2AE3F424DF984CEC8B3FFAEB9E468577--> <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED> +<!--2AE3F424DF984CEC8B3FFAEB9E468577--> <DISPLAYLOGIC><![CDATA[@leaveascredit@='N']]></DISPLAYLOGIC> <!--2AE3F424DF984CEC8B3FFAEB9E468577--> <DISPLAYLENGTH><![CDATA[1]]></DISPLAYLENGTH> <!--2AE3F424DF984CEC8B3FFAEB9E468577--> <ISREADONLY><![CDATA[N]]></ISREADONLY> <!--2AE3F424DF984CEC8B3FFAEB9E468577--> <SEQNO><![CDATA[170]]></SEQNO> @@ -1567,7 +1570,7 @@ <!--49C20B545A65400E9B36E0BC9AC843F1--> <AD_COLUMN_ID><![CDATA[D8DD5F42308E4A7893E5766DA2B0C383]]></AD_COLUMN_ID> <!--49C20B545A65400E9B36E0BC9AC843F1--> <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD> <!--49C20B545A65400E9B36E0BC9AC843F1--> <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED> -<!--49C20B545A65400E9B36E0BC9AC843F1--> <DISPLAYLOGIC><![CDATA[@Allowdrops@='Y']]></DISPLAYLOGIC> +<!--49C20B545A65400E9B36E0BC9AC843F1--> <DISPLAYLOGIC><![CDATA[@Allowdrops@='Y' & @leaveascredit@='N']]></DISPLAYLOGIC> <!--49C20B545A65400E9B36E0BC9AC843F1--> <DISPLAYLENGTH><![CDATA[32]]></DISPLAYLENGTH> <!--49C20B545A65400E9B36E0BC9AC843F1--> <ISREADONLY><![CDATA[N]]></ISREADONLY> <!--49C20B545A65400E9B36E0BC9AC843F1--> <SEQNO><![CDATA[180]]></SEQNO> @@ -2132,7 +2135,7 @@ <!--67E47907D1BE41AC80D9F3DDCF9A1BEF--> <AD_COLUMN_ID><![CDATA[69DE59465CCE41F08575F610A4CE51C3]]></AD_COLUMN_ID> <!--67E47907D1BE41AC80D9F3DDCF9A1BEF--> <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD> <!--67E47907D1BE41AC80D9F3DDCF9A1BEF--> <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED> -<!--67E47907D1BE41AC80D9F3DDCF9A1BEF--> <DISPLAYLOGIC><![CDATA[@Allowdeposits@='Y']]></DISPLAYLOGIC> +<!--67E47907D1BE41AC80D9F3DDCF9A1BEF--> <DISPLAYLOGIC><![CDATA[@Allowdeposits@='Y' & @leaveascredit@='N']]></DISPLAYLOGIC> <!--67E47907D1BE41AC80D9F3DDCF9A1BEF--> <DISPLAYLENGTH><![CDATA[32]]></DISPLAYLENGTH> <!--67E47907D1BE41AC80D9F3DDCF9A1BEF--> <ISREADONLY><![CDATA[N]]></ISREADONLY> <!--67E47907D1BE41AC80D9F3DDCF9A1BEF--> <SEQNO><![CDATA[200]]></SEQNO> @@ -2394,6 +2397,7 @@ <!--77E9DB910177422EAD6C2649FB4559C7--> <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD> <!--77E9DB910177422EAD6C2649FB4559C7--> <AD_FIELDGROUP_ID><![CDATA[F1A8FF12D50241979A7882FA69F7066B]]></AD_FIELDGROUP_ID> <!--77E9DB910177422EAD6C2649FB4559C7--> <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED> +<!--77E9DB910177422EAD6C2649FB4559C7--> <DISPLAYLOGIC><![CDATA[@leaveascredit@='N']]></DISPLAYLOGIC> <!--77E9DB910177422EAD6C2649FB4559C7--> <DISPLAYLENGTH><![CDATA[32]]></DISPLAYLENGTH> <!--77E9DB910177422EAD6C2649FB4559C7--> <ISREADONLY><![CDATA[N]]></ISREADONLY> <!--77E9DB910177422EAD6C2649FB4559C7--> <SEQNO><![CDATA[100]]></SEQNO> @@ -2759,16 +2763,17 @@ <!--8949A7E66C06454A9DAC2289ADB2E057--> <AD_COLUMN_ID><![CDATA[DA36F2891C2A4ED2B4CF4C838C70170E]]></AD_COLUMN_ID> <!--8949A7E66C06454A9DAC2289ADB2E057--> <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD> <!--8949A7E66C06454A9DAC2289ADB2E057--> <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED> +<!--8949A7E66C06454A9DAC2289ADB2E057--> <DISPLAYLOGIC><![CDATA[@FinAcc_Disabled@='N' & @Obpos_App_Payment_Type_ID@!'']]></DISPLAYLOGIC> <!--8949A7E66C06454A9DAC2289ADB2E057--> <DISPLAYLENGTH><![CDATA[32]]></DISPLAYLENGTH> <!--8949A7E66C06454A9DAC2289ADB2E057--> <ISREADONLY><![CDATA[N]]></ISREADONLY> -<!--8949A7E66C06454A9DAC2289ADB2E057--> <SEQNO><![CDATA[30]]></SEQNO> +<!--8949A7E66C06454A9DAC2289ADB2E057--> <SEQNO><![CDATA[40]]></SEQNO> <!--8949A7E66C06454A9DAC2289ADB2E057--> <ISSAMELINE><![CDATA[N]]></ISSAMELINE> <!--8949A7E66C06454A9DAC2289ADB2E057--> <ISFIELDONLY><![CDATA[N]]></ISFIELDONLY> <!--8949A7E66C06454A9DAC2289ADB2E057--> <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED> <!--8949A7E66C06454A9DAC2289ADB2E057--> <SHOWINRELATION><![CDATA[Y]]></SHOWINRELATION> <!--8949A7E66C06454A9DAC2289ADB2E057--> <ISFIRSTFOCUSEDFIELD><![CDATA[N]]></ISFIRSTFOCUSEDFIELD> <!--8949A7E66C06454A9DAC2289ADB2E057--> <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID> -<!--8949A7E66C06454A9DAC2289ADB2E057--> <GRID_SEQNO><![CDATA[30]]></GRID_SEQNO> +<!--8949A7E66C06454A9DAC2289ADB2E057--> <GRID_SEQNO><![CDATA[40]]></GRID_SEQNO> <!--8949A7E66C06454A9DAC2289ADB2E057--> <STARTINODDCOLUMN><![CDATA[N]]></STARTINODDCOLUMN> <!--8949A7E66C06454A9DAC2289ADB2E057--> <STARTNEWLINE><![CDATA[N]]></STARTNEWLINE> <!--8949A7E66C06454A9DAC2289ADB2E057--> <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR> @@ -3303,6 +3308,7 @@ <!--AE596D0D4C654EA4A0B6E33ECB1FDE7C--> <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD> <!--AE596D0D4C654EA4A0B6E33ECB1FDE7C--> <AD_FIELDGROUP_ID><![CDATA[F1A8FF12D50241979A7882FA69F7066B]]></AD_FIELDGROUP_ID> <!--AE596D0D4C654EA4A0B6E33ECB1FDE7C--> <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED> +<!--AE596D0D4C654EA4A0B6E33ECB1FDE7C--> <DISPLAYLOGIC><![CDATA[@leaveascredit@='N']]></DISPLAYLOGIC> <!--AE596D0D4C654EA4A0B6E33ECB1FDE7C--> <DISPLAYLENGTH><![CDATA[1]]></DISPLAYLENGTH> <!--AE596D0D4C654EA4A0B6E33ECB1FDE7C--> <ISREADONLY><![CDATA[N]]></ISREADONLY> <!--AE596D0D4C654EA4A0B6E33ECB1FDE7C--> <SEQNO><![CDATA[105]]></SEQNO> @@ -3605,7 +3611,7 @@ <!--C1041D18C3B2459CAE2FE20114C63F7A--> <AD_COLUMN_ID><![CDATA[C5AD82AFB0A54FEDBD24F32375F2A4D5]]></AD_COLUMN_ID> <!--C1041D18C3B2459CAE2FE20114C63F7A--> <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD> <!--C1041D18C3B2459CAE2FE20114C63F7A--> <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED> -<!--C1041D18C3B2459CAE2FE20114C63F7A--> <DISPLAYLOGIC><![CDATA[@Automatemovementtoother@='Y']]></DISPLAYLOGIC> +<!--C1041D18C3B2459CAE2FE20114C63F7A--> <DISPLAYLOGIC><![CDATA[@Automatemovementtoother@='Y'& @leaveascredit@='N']]></DISPLAYLOGIC> <!--C1041D18C3B2459CAE2FE20114C63F7A--> <DISPLAYLENGTH><![CDATA[1]]></DISPLAYLENGTH> <!--C1041D18C3B2459CAE2FE20114C63F7A--> <ISREADONLY><![CDATA[N]]></ISREADONLY> <!--C1041D18C3B2459CAE2FE20114C63F7A--> <SEQNO><![CDATA[130]]></SEQNO> @@ -3634,7 +3640,7 @@ <!--C3A536DDD04641ECA2104E406259B060--> <AD_COLUMN_ID><![CDATA[CC960982D9B14E0DAAC4D95EA3DBAA79]]></AD_COLUMN_ID> <!--C3A536DDD04641ECA2104E406259B060--> <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD> <!--C3A536DDD04641ECA2104E406259B060--> <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED> -<!--C3A536DDD04641ECA2104E406259B060--> <DISPLAYLOGIC><![CDATA[@Automatemovementtoother@='Y']]></DISPLAYLOGIC> +<!--C3A536DDD04641ECA2104E406259B060--> <DISPLAYLOGIC><![CDATA[@Automatemovementtoother@='Y' & @leaveascredit@='N']]></DISPLAYLOGIC> <!--C3A536DDD04641ECA2104E406259B060--> <DISPLAYLENGTH><![CDATA[1]]></DISPLAYLENGTH> <!--C3A536DDD04641ECA2104E406259B060--> <ISREADONLY><![CDATA[N]]></ISREADONLY> <!--C3A536DDD04641ECA2104E406259B060--> <SEQNO><![CDATA[150]]></SEQNO> @@ -3807,7 +3813,7 @@ <!--CF3109E18E5148CB81183EB989E420A3--> <AD_COLUMN_ID><![CDATA[2286CFE5E2074432B7723288554677F6]]></AD_COLUMN_ID> <!--CF3109E18E5148CB81183EB989E420A3--> <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD> <!--CF3109E18E5148CB81183EB989E420A3--> <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED> -<!--CF3109E18E5148CB81183EB989E420A3--> <DISPLAYLOGIC><![CDATA[@Automatemovementtoother@='Y']]></DISPLAYLOGIC> +<!--CF3109E18E5148CB81183EB989E420A3--> <DISPLAYLOGIC><![CDATA[@Automatemovementtoother@='Y' & @leaveascredit@='N']]></DISPLAYLOGIC> <!--CF3109E18E5148CB81183EB989E420A3--> <DISPLAYLENGTH><![CDATA[1]]></DISPLAYLENGTH> <!--CF3109E18E5148CB81183EB989E420A3--> <ISREADONLY><![CDATA[N]]></ISREADONLY> <!--CF3109E18E5148CB81183EB989E420A3--> <SEQNO><![CDATA[140]]></SEQNO> @@ -4176,7 +4182,7 @@ <!--DF1087E6BE4148A3AF237F986ECAFD69--> <AD_COLUMN_ID><![CDATA[1EB3DAB3554949B182943774B94E09DE]]></AD_COLUMN_ID> <!--DF1087E6BE4148A3AF237F986ECAFD69--> <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD> <!--DF1087E6BE4148A3AF237F986ECAFD69--> <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED> -<!--DF1087E6BE4148A3AF237F986ECAFD69--> <DISPLAYLOGIC><![CDATA[@Keepfixedamount@='Y' & @Automatemovementtoother@='Y']]></DISPLAYLOGIC> +<!--DF1087E6BE4148A3AF237F986ECAFD69--> <DISPLAYLOGIC><![CDATA[@Keepfixedamount@='Y' & @Automatemovementtoother@='Y' & @leaveascredit@='N']]></DISPLAYLOGIC> <!--DF1087E6BE4148A3AF237F986ECAFD69--> <DISPLAYLENGTH><![CDATA[2]]></DISPLAYLENGTH> <!--DF1087E6BE4148A3AF237F986ECAFD69--> <ISREADONLY><![CDATA[N]]></ISREADONLY> <!--DF1087E6BE4148A3AF237F986ECAFD69--> <SEQNO><![CDATA[120]]></SEQNO> @@ -4332,6 +4338,32 @@ <!--E0C14EB436F64DD898CBF154E7C1F882--> <EM_OBUIAPP_SHOWSUMMARY><![CDATA[N]]></EM_OBUIAPP_SHOWSUMMARY> <!--E0C14EB436F64DD898CBF154E7C1F882--></AD_FIELD> +<!--E4641870AEC84A8D8E76A3B55DB18FE0--><AD_FIELD> +<!--E4641870AEC84A8D8E76A3B55DB18FE0--> <AD_FIELD_ID><![CDATA[E4641870AEC84A8D8E76A3B55DB18FE0]]></AD_FIELD_ID> +<!--E4641870AEC84A8D8E76A3B55DB18FE0--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--E4641870AEC84A8D8E76A3B55DB18FE0--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--E4641870AEC84A8D8E76A3B55DB18FE0--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--E4641870AEC84A8D8E76A3B55DB18FE0--> <NAME><![CDATA[Leave as credit]]></NAME> +<!--E4641870AEC84A8D8E76A3B55DB18FE0--> <ISCENTRALLYMAINTAINED><![CDATA[Y]]></ISCENTRALLYMAINTAINED> +<!--E4641870AEC84A8D8E76A3B55DB18FE0--> <AD_TAB_ID><![CDATA[4D9F5E9CC0014A96861CEFB64BBF013B]]></AD_TAB_ID> +<!--E4641870AEC84A8D8E76A3B55DB18FE0--> <AD_COLUMN_ID><![CDATA[24CA9F6F48DA4453911DDCA77DA7DE2B]]></AD_COLUMN_ID> +<!--E4641870AEC84A8D8E76A3B55DB18FE0--> <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD> +<!--E4641870AEC84A8D8E76A3B55DB18FE0--> <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED> +<!--E4641870AEC84A8D8E76A3B55DB18FE0--> <DISPLAYLENGTH><![CDATA[1]]></DISPLAYLENGTH> +<!--E4641870AEC84A8D8E76A3B55DB18FE0--> <ISREADONLY><![CDATA[N]]></ISREADONLY> +<!--E4641870AEC84A8D8E76A3B55DB18FE0--> <SEQNO><![CDATA[98]]></SEQNO> +<!--E4641870AEC84A8D8E76A3B55DB18FE0--> <ISSAMELINE><![CDATA[N]]></ISSAMELINE> +<!--E4641870AEC84A8D8E76A3B55DB18FE0--> <ISFIELDONLY><![CDATA[N]]></ISFIELDONLY> +<!--E4641870AEC84A8D8E76A3B55DB18FE0--> <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED> +<!--E4641870AEC84A8D8E76A3B55DB18FE0--> <SHOWINRELATION><![CDATA[N]]></SHOWINRELATION> +<!--E4641870AEC84A8D8E76A3B55DB18FE0--> <ISFIRSTFOCUSEDFIELD><![CDATA[N]]></ISFIRSTFOCUSEDFIELD> +<!--E4641870AEC84A8D8E76A3B55DB18FE0--> <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID> +<!--E4641870AEC84A8D8E76A3B55DB18FE0--> <STARTINODDCOLUMN><![CDATA[N]]></STARTINODDCOLUMN> +<!--E4641870AEC84A8D8E76A3B55DB18FE0--> <STARTNEWLINE><![CDATA[N]]></STARTNEWLINE> +<!--E4641870AEC84A8D8E76A3B55DB18FE0--> <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR> +<!--E4641870AEC84A8D8E76A3B55DB18FE0--> <EM_OBUIAPP_SHOWSUMMARY><![CDATA[N]]></EM_OBUIAPP_SHOWSUMMARY> +<!--E4641870AEC84A8D8E76A3B55DB18FE0--></AD_FIELD> + <!--E5EBCFED984240BCA9842D21A8380349--><AD_FIELD> <!--E5EBCFED984240BCA9842D21A8380349--> <AD_FIELD_ID><![CDATA[E5EBCFED984240BCA9842D21A8380349]]></AD_FIELD_ID> <!--E5EBCFED984240BCA9842D21A8380349--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> @@ -4376,14 +4408,14 @@ <!--E6D4FAAE415149528A8BC38C91C397D8--> <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED> <!--E6D4FAAE415149528A8BC38C91C397D8--> <DISPLAYLENGTH><![CDATA[32]]></DISPLAYLENGTH> <!--E6D4FAAE415149528A8BC38C91C397D8--> <ISREADONLY><![CDATA[N]]></ISREADONLY> -<!--E6D4FAAE415149528A8BC38C91C397D8--> <SEQNO><![CDATA[40]]></SEQNO> +<!--E6D4FAAE415149528A8BC38C91C397D8--> <SEQNO><![CDATA[30]]></SEQNO> <!--E6D4FAAE415149528A8BC38C91C397D8--> <ISSAMELINE><![CDATA[N]]></ISSAMELINE> <!--E6D4FAAE415149528A8BC38C91C397D8--> <ISFIELDONLY><![CDATA[N]]></ISFIELDONLY> <!--E6D4FAAE415149528A8BC38C91C397D8--> <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED> <!--E6D4FAAE415149528A8BC38C91C397D8--> <SHOWINRELATION><![CDATA[Y]]></SHOWINRELATION> <!--E6D4FAAE415149528A8BC38C91C397D8--> <ISFIRSTFOCUSEDFIELD><![CDATA[N]]></ISFIRSTFOCUSEDFIELD> <!--E6D4FAAE415149528A8BC38C91C397D8--> <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID> -<!--E6D4FAAE415149528A8BC38C91C397D8--> <GRID_SEQNO><![CDATA[40]]></GRID_SEQNO> +<!--E6D4FAAE415149528A8BC38C91C397D8--> <GRID_SEQNO><![CDATA[30]]></GRID_SEQNO> <!--E6D4FAAE415149528A8BC38C91C397D8--> <STARTINODDCOLUMN><![CDATA[N]]></STARTINODDCOLUMN> <!--E6D4FAAE415149528A8BC38C91C397D8--> <STARTNEWLINE><![CDATA[N]]></STARTNEWLINE> <!--E6D4FAAE415149528A8BC38C91C397D8--> <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR> diff --git a/src-db/database/sourcedata/AD_MESSAGE.xml b/src-db/database/sourcedata/AD_MESSAGE.xml --- a/src-db/database/sourcedata/AD_MESSAGE.xml +++ b/src-db/database/sourcedata/AD_MESSAGE.xml @@ -1176,6 +1176,18 @@ <!--39EABA22733043DC88329BEA3A659AC1--> <ISINCLUDEINI18N><![CDATA[N]]></ISINCLUDEINI18N> <!--39EABA22733043DC88329BEA3A659AC1--></AD_MESSAGE> +<!--3A25E7FF206F42DD8B98F30D0D3A595E--><AD_MESSAGE> +<!--3A25E7FF206F42DD8B98F30D0D3A595E--> <AD_MESSAGE_ID><![CDATA[3A25E7FF206F42DD8B98F30D0D3A595E]]></AD_MESSAGE_ID> +<!--3A25E7FF206F42DD8B98F30D0D3A595E--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--3A25E7FF206F42DD8B98F30D0D3A595E--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--3A25E7FF206F42DD8B98F30D0D3A595E--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--3A25E7FF206F42DD8B98F30D0D3A595E--> <VALUE><![CDATA[OBPOS_FinAccLeaveCredit]]></VALUE> +<!--3A25E7FF206F42DD8B98F30D0D3A595E--> <MSGTEXT><![CDATA[It is mandatory to select a Financial Account or a Payment Method leave as credit]]></MSGTEXT> +<!--3A25E7FF206F42DD8B98F30D0D3A595E--> <MSGTYPE><![CDATA[I]]></MSGTYPE> +<!--3A25E7FF206F42DD8B98F30D0D3A595E--> <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID> +<!--3A25E7FF206F42DD8B98F30D0D3A595E--> <ISINCLUDEINI18N><![CDATA[N]]></ISINCLUDEINI18N> +<!--3A25E7FF206F42DD8B98F30D0D3A595E--></AD_MESSAGE> + <!--3AEE277A5F2543558720992E1CED2C2C--><AD_MESSAGE> <!--3AEE277A5F2543558720992E1CED2C2C--> <AD_MESSAGE_ID><![CDATA[3AEE277A5F2543558720992E1CED2C2C]]></AD_MESSAGE_ID> <!--3AEE277A5F2543558720992E1CED2C2C--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> @@ -1861,6 +1873,18 @@ <!--57870DFDE61D4E2F8AEF51B931B13DEA--> <ISINCLUDEINI18N><![CDATA[N]]></ISINCLUDEINI18N> <!--57870DFDE61D4E2F8AEF51B931B13DEA--></AD_MESSAGE> +<!--57FBE2E7D28140EA996A25CAE57AFC80--><AD_MESSAGE> +<!--57FBE2E7D28140EA996A25CAE57AFC80--> <AD_MESSAGE_ID><![CDATA[57FBE2E7D28140EA996A25CAE57AFC80]]></AD_MESSAGE_ID> +<!--57FBE2E7D28140EA996A25CAE57AFC80--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--57FBE2E7D28140EA996A25CAE57AFC80--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--57FBE2E7D28140EA996A25CAE57AFC80--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--57FBE2E7D28140EA996A25CAE57AFC80--> <VALUE><![CDATA[OBPOS_CashDiffLeaveCredit]]></VALUE> +<!--57FBE2E7D28140EA996A25CAE57AFC80--> <MSGTEXT><![CDATA[It is mandatory to select Cash Differences or leave the Payment Method as credit]]></MSGTEXT> +<!--57FBE2E7D28140EA996A25CAE57AFC80--> <MSGTYPE><![CDATA[E]]></MSGTYPE> +<!--57FBE2E7D28140EA996A25CAE57AFC80--> <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID> +<!--57FBE2E7D28140EA996A25CAE57AFC80--> <ISINCLUDEINI18N><![CDATA[N]]></ISINCLUDEINI18N> +<!--57FBE2E7D28140EA996A25CAE57AFC80--></AD_MESSAGE> + <!--582715E35F2B449584BEB484566A3381--><AD_MESSAGE> <!--582715E35F2B449584BEB484566A3381--> <AD_MESSAGE_ID><![CDATA[582715E35F2B449584BEB484566A3381]]></AD_MESSAGE_ID> <!--582715E35F2B449584BEB484566A3381--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> @@ -2606,6 +2630,18 @@ <!--7EC813AE2A094FE18CEA6ADD6071BA5C--> <ISINCLUDEINI18N><![CDATA[N]]></ISINCLUDEINI18N> <!--7EC813AE2A094FE18CEA6ADD6071BA5C--></AD_MESSAGE> +<!--7EF083B7E1F246EC81CFECAF0B81DB78--><AD_MESSAGE> +<!--7EF083B7E1F246EC81CFECAF0B81DB78--> <AD_MESSAGE_ID><![CDATA[7EF083B7E1F246EC81CFECAF0B81DB78]]></AD_MESSAGE_ID> +<!--7EF083B7E1F246EC81CFECAF0B81DB78--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--7EF083B7E1F246EC81CFECAF0B81DB78--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--7EF083B7E1F246EC81CFECAF0B81DB78--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--7EF083B7E1F246EC81CFECAF0B81DB78--> <VALUE><![CDATA[OBPOS_LeaveAsCreditNotConfigured]]></VALUE> +<!--7EF083B7E1F246EC81CFECAF0B81DB78--> <MSGTEXT><![CDATA[There was an error loading the POS terminal. There is one payment type defined for this terminal whose payment method is checked as Leave as Credit and it has a Financial Account. To fix this, go to the POS Terminal window in Openbravo, look for the financial account of the affected payment method, and make sure to set the appropriate payment method in the "Payment Method" tab.]]></MSGTEXT> +<!--7EF083B7E1F246EC81CFECAF0B81DB78--> <MSGTYPE><![CDATA[E]]></MSGTYPE> +<!--7EF083B7E1F246EC81CFECAF0B81DB78--> <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID> +<!--7EF083B7E1F246EC81CFECAF0B81DB78--> <ISINCLUDEINI18N><![CDATA[N]]></ISINCLUDEINI18N> +<!--7EF083B7E1F246EC81CFECAF0B81DB78--></AD_MESSAGE> + <!--7EF243C4B75B402D9C48D4F1ED7FE919--><AD_MESSAGE> <!--7EF243C4B75B402D9C48D4F1ED7FE919--> <AD_MESSAGE_ID><![CDATA[7EF243C4B75B402D9C48D4F1ED7FE919]]></AD_MESSAGE_ID> <!--7EF243C4B75B402D9C48D4F1ED7FE919--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> diff --git a/src-db/database/sourcedata/AD_VAL_RULE.xml b/src-db/database/sourcedata/AD_VAL_RULE.xml --- a/src-db/database/sourcedata/AD_VAL_RULE.xml +++ b/src-db/database/sourcedata/AD_VAL_RULE.xml @@ -68,6 +68,17 @@ <!--40BFCC34D83D4733ADD598251FB1F8A9--> <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID> <!--40BFCC34D83D4733ADD598251FB1F8A9--></AD_VAL_RULE> +<!--7153C74CF9CC45D2BBFA524A79146269--><AD_VAL_RULE> +<!--7153C74CF9CC45D2BBFA524A79146269--> <AD_VAL_RULE_ID><![CDATA[7153C74CF9CC45D2BBFA524A79146269]]></AD_VAL_RULE_ID> +<!--7153C74CF9CC45D2BBFA524A79146269--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--7153C74CF9CC45D2BBFA524A79146269--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--7153C74CF9CC45D2BBFA524A79146269--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--7153C74CF9CC45D2BBFA524A79146269--> <NAME><![CDATA[Payment Type financial account]]></NAME> +<!--7153C74CF9CC45D2BBFA524A79146269--> <TYPE><![CDATA[S]]></TYPE> +<!--7153C74CF9CC45D2BBFA524A79146269--> <CODE><![CDATA[@Obpos_App_Payment_Type_ID@ is not null]]></CODE> +<!--7153C74CF9CC45D2BBFA524A79146269--> <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID> +<!--7153C74CF9CC45D2BBFA524A79146269--></AD_VAL_RULE> + <!--7E72CA2E0AC546EEB0F80920F0C36CC8--><AD_VAL_RULE> <!--7E72CA2E0AC546EEB0F80920F0C36CC8--> <AD_VAL_RULE_ID><![CDATA[7E72CA2E0AC546EEB0F80920F0C36CC8]]></AD_VAL_RULE_ID> <!--7E72CA2E0AC546EEB0F80920F0C36CC8--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> diff --git a/src/org/openbravo/retail/posterminal/CashCloseProcessor.java b/src/org/openbravo/retail/posterminal/CashCloseProcessor.java --- a/src/org/openbravo/retail/posterminal/CashCloseProcessor.java +++ b/src/org/openbravo/retail/posterminal/CashCloseProcessor.java @@ -1,6 +1,6 @@ /* ************************************************************************************ - * Copyright (C) 2012 Openbravo S.L.U. + * Copyright (C) 2012-2014 Openbravo S.L.U. * Licensed under the Openbravo Commercial License version 1.0 * You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html * or in the legal folder of this module distribution. @@ -67,7 +67,9 @@ } String paymentTypeId = cashCloseObj.getString("paymentTypeId"); OBPOSAppPayment paymentType = OBDal.getInstance().get(OBPOSAppPayment.class, paymentTypeId); - + if (paymentType.getFinancialAccount() == null) { + continue; + } FIN_Reconciliation reconciliation = createReconciliation(cashCloseObj, posTerminal, paymentType.getFinancialAccount(), cashUpDate); diff --git a/src/org/openbravo/retail/posterminal/InitialValidations.java b/src/org/openbravo/retail/posterminal/InitialValidations.java --- a/src/org/openbravo/retail/posterminal/InitialValidations.java +++ b/src/org/openbravo/retail/posterminal/InitialValidations.java @@ -1,6 +1,6 @@ /* ************************************************************************************ - * Copyright (C) 2012 Openbravo S.L.U. + * Copyright (C) 2012-2014 Openbravo S.L.U. * Licensed under the Openbravo Commercial License version 1.0 * You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html * or in the legal folder of this module distribution. @@ -44,8 +44,8 @@ throw new JSONException("OBPOS_OrgDesynchronization"); } - String whereclausePM = " as e where e.obposApplications=:terminal and not exists " - + "(select 1 from FinancialMgmtFinAccPaymentMethod as pmacc where " + String whereclausePM = " as e where e.obposApplications=:terminal and e.financialAccount is not null " + + "and not exists (select 1 from FinancialMgmtFinAccPaymentMethod as pmacc where " + "pmacc.paymentMethod = e.paymentMethod.paymentMethod and pmacc.account = e.financialAccount" + ")"; OBQuery<OBPOSAppPayment> queryFinAccounts = OBDal.getInstance().createQuery( @@ -55,7 +55,7 @@ throw new JSONException("OBPOS_PayMethodNotConfiguredInAccount"); } - String whereclauseCMEV = " as e where e.obposApplications=:terminal and exists " + String whereclauseCMEV = " as e where e.obposApplications=:terminal and e.financialAccount is not null and exists " + "(select 1 from OBRETCO_CashManagementEvents as cmev where " + "cmev.financialAccount = e.financialAccount)"; OBQuery<OBPOSAppPayment> queryEventAccounts = OBDal.getInstance().createQuery( @@ -64,5 +64,14 @@ if (queryEventAccounts.list().size() > 0) { throw new JSONException("OBPOS_CMEVAccountIsUsedInPayMethod"); } + + String whereclauseLAC = " as e where e.obposApplications=:terminal and ((e.financialAccount is null " + + "and e.paymentMethod.leaveascredit = false) or (e.financialAccount is not null and e.paymentMethod.leaveascredit = true))"; + OBQuery<OBPOSAppPayment> queryLeaveAsCredit = OBDal.getInstance().createQuery( + OBPOSAppPayment.class, whereclauseLAC); + queryLeaveAsCredit.setNamedParameter("terminal", posTerminal); + if (queryLeaveAsCredit.list().size() > 0) { + throw new JSONException("OBPOS_LeaveAsCreditNotConfigured"); + } } } diff --git a/src/org/openbravo/retail/posterminal/OrderLoader.java b/src/org/openbravo/retail/posterminal/OrderLoader.java --- a/src/org/openbravo/retail/posterminal/OrderLoader.java +++ b/src/org/openbravo/retail/posterminal/OrderLoader.java @@ -1,6 +1,6 @@ /* ************************************************************************************ - * Copyright (C) 2012-2013 Openbravo S.L.U. + * Copyright (C) 2012-2014 Openbravo S.L.U. * Licensed under the Openbravo Commercial License version 1.0 * You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html * or in the legal folder of this module distribution. @@ -161,9 +161,14 @@ && !isQuotation && Math.abs(jsonorder.getDouble("payment")) < Math.abs(new Double(jsonorder .getDouble("gross"))); - createInvoice = wasPaidOnCredit - || (!isQuotation && (!isLayaway && !partialpayLayaway || fullpayLayaway) && (jsonorder - .has("generateInvoice") && jsonorder.getBoolean("generateInvoice"))); + if (jsonorder.has("oBPOSNotInvoiceOnCashUp") + && jsonorder.getBoolean("oBPOSNotInvoiceOnCashUp")) { + createInvoice = false; + } else { + createInvoice = wasPaidOnCredit + || (!isQuotation && (!isLayaway && !partialpayLayaway || fullpayLayaway) && (jsonorder + .has("generateInvoice") && jsonorder.getBoolean("generateInvoice"))); + } createShipment = !isQuotation && (!isLayaway && !partialpayLayaway || fullpayLayaway); if (jsonorder.has("generateShipment")) { createShipment &= jsonorder.getBoolean("generateShipment"); @@ -1325,6 +1330,9 @@ paymentinst.process(payment, order, invoice, i == (payments.length() - 1) ? writeoffAmt : BigDecimal.ZERO); } else { + if (paymentType.getFinancialAccount() == null) { + continue; + } processPayments(paymentSchedule, paymentScheduleInvoice, order, invoice, paymentType, payment, i == (payments.length() - 1) ? writeoffAmt : BigDecimal.ZERO, jsonorder); } diff --git a/src/org/openbravo/retail/posterminal/ProcessCashClose.java b/src/org/openbravo/retail/posterminal/ProcessCashClose.java --- a/src/org/openbravo/retail/posterminal/ProcessCashClose.java +++ b/src/org/openbravo/retail/posterminal/ProcessCashClose.java @@ -1,6 +1,6 @@ /* ************************************************************************************ - * Copyright (C) 2012 Openbravo S.L.U. + * Copyright (C) 2012-2014 Openbravo S.L.U. * Licensed under the Openbravo Commercial License version 1.0 * You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html * or in the legal folder of this module distribution. @@ -58,6 +58,9 @@ // check if there is a reconciliation in draft status for (OBPOSAppPayment payment : posTerminal.getOBPOSAppPaymentList()) { + if (payment.getFinancialAccount() == null) { + continue; + } final OBCriteria<FIN_Reconciliation> recconciliations = OBDal.getInstance().createCriteria( FIN_Reconciliation.class); recconciliations.add(Restrictions.eq(FIN_Reconciliation.PROPERTY_DOCUMENTSTATUS, "DR")); diff --git a/src/org/openbravo/retail/posterminal/ProcessVoidLayaway.java b/src/org/openbravo/retail/posterminal/ProcessVoidLayaway.java --- a/src/org/openbravo/retail/posterminal/ProcessVoidLayaway.java +++ b/src/org/openbravo/retail/posterminal/ProcessVoidLayaway.java @@ -1,6 +1,6 @@ /* ************************************************************************************ - * Copyright (C) 2012 Openbravo S.L.U. + * Copyright (C) 2012-2014 Openbravo S.L.U. * Licensed under the Openbravo Commercial License version 1.0 * You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html * or in the legal folder of this module distribution. @@ -144,6 +144,9 @@ paymentType = type; } } + if (paymentType.getFinancialAccount() == null) { + continue; + } FIN_FinancialAccount account = paymentType.getFinancialAccount(); FIN_PaymentScheduleDetail newPaymentScheduleDetail = OBProvider.getInstance().get( diff --git a/src/org/openbravo/retail/posterminal/ad_reports/CashUpReport.java b/src/org/openbravo/retail/posterminal/ad_reports/CashUpReport.java --- a/src/org/openbravo/retail/posterminal/ad_reports/CashUpReport.java +++ b/src/org/openbravo/retail/posterminal/ad_reports/CashUpReport.java @@ -11,7 +11,7 @@ * under the License. * The Original Code is Openbravo ERP. * The Initial Developer of the Original Code is Openbravo SLU - * All portions are Copyright (C) 2013 Openbravo SLU + * All portions are Copyright (C) 2013-2014 Openbravo SLU * All Rights Reserved. * Contributor(s): ______________________________________. ************************************************************************ @@ -138,7 +138,10 @@ reconsQuery.setNamedParameter("cashUpId", cashup.getId()); List<OBPOSAppCashReconcil> recons = reconsQuery.list(); for (int i = 0; i < recons.size(); i++) { - + if (recons.get(i).getReconciliation().getAccount().getOBPOSAppPaymentList().get(0) + .getFinancialAccount() == null) { + continue; + } expected = BigDecimal.ZERO; if (i != 0) diff --git a/src/org/openbravo/retail/posterminal/event/PaymentMethodEventHandler.java b/src/org/openbravo/retail/posterminal/event/PaymentMethodEventHandler.java new file mode 100644 --- /dev/null +++ b/src/org/openbravo/retail/posterminal/event/PaymentMethodEventHandler.java @@ -0,0 +1,89 @@ +/* + ************************************************************************************ + * Copyright (C) 2014 Openbravo S.L.U. + * Licensed under the Openbravo Commercial License version 1.0 + * You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html + * or in the legal folder of this module distribution. + ************************************************************************************ + */ + +package org.openbravo.retail.posterminal.event; + +import javax.enterprise.event.Observes; + +import org.apache.log4j.Logger; +import org.openbravo.base.exception.OBException; +import org.openbravo.base.model.Entity; +import org.openbravo.base.model.ModelProvider; +import org.openbravo.base.model.Property; +import org.openbravo.client.kernel.event.EntityNewEvent; +import org.openbravo.client.kernel.event.EntityPersistenceEventObserver; +import org.openbravo.client.kernel.event.EntityUpdateEvent; +import org.openbravo.dal.core.OBContext; +import org.openbravo.erpCommon.utility.Utility; +import org.openbravo.model.financialmgmt.payment.FIN_FinancialAccount; +import org.openbravo.retail.posterminal.OBPOSAppPayment; +import org.openbravo.retail.posterminal.TerminalTypePaymentMethod; +import org.openbravo.service.db.DalConnectionProvider; + +/** + * @author guillermogil + * + */ + +public class PaymentMethodEventHandler extends EntityPersistenceEventObserver { + private static Entity[] entities = { ModelProvider.getInstance().getEntity( + OBPOSAppPayment.ENTITY_NAME) }; + protected Logger logger = Logger.getLogger(this.getClass()); + + @Override + protected Entity[] getObservedEntities() { + return entities; + } + + public void onUpdate(@Observes + EntityUpdateEvent event) { + if (!isValidEvent(event)) { + return; + } + + FIN_FinancialAccount financialAccount = (FIN_FinancialAccount) event.getTargetInstance().get( + "financialAccount"); + TerminalTypePaymentMethod paymentMethod = (TerminalTypePaymentMethod) event.getTargetInstance() + .get("paymentMethod"); + Boolean leaveascredit = paymentMethod.isLeaveascredit(); + if (leaveascredit && financialAccount != null) { + final Entity appPaymentEntity = ModelProvider.getInstance().getEntity( + OBPOSAppPayment.ENTITY_NAME); + final Property financialAccountProperty = appPaymentEntity.getProperty("financialAccount"); + event.setCurrentState(financialAccountProperty, null); + } else if (!leaveascredit && financialAccount == null) { + throw new OBException(Utility.messageBD(new DalConnectionProvider(false), + "OBPOS_FinAccLeaveCredit", OBContext.getOBContext().getLanguage().getLanguage())); + } + + } + + public void onSave(@Observes + EntityNewEvent event) { + if (!isValidEvent(event)) { + return; + } + + FIN_FinancialAccount financialAccount = (FIN_FinancialAccount) event.getTargetInstance().get( + "financialAccount"); + TerminalTypePaymentMethod paymentMethod = (TerminalTypePaymentMethod) event.getTargetInstance() + .get("paymentMethod"); + Boolean leaveascredit = paymentMethod.isLeaveascredit(); + if (leaveascredit && financialAccount != null) { + final Entity appPaymentEntity = ModelProvider.getInstance().getEntity( + OBPOSAppPayment.ENTITY_NAME); + final Property financialAccountProperty = appPaymentEntity.getProperty("financialAccount"); + event.setCurrentState(financialAccountProperty, null); + } else if (!leaveascredit && financialAccount == null) { + throw new OBException(Utility.messageBD(new DalConnectionProvider(false), + "OBPOS_FinAccLeaveCredit", OBContext.getOBContext().getLanguage().getLanguage())); + } + + } +} \ No newline at end of file diff --git a/src/org/openbravo/retail/posterminal/event/PaymentMethodTypeEventHandler.java b/src/org/openbravo/retail/posterminal/event/PaymentMethodTypeEventHandler.java new file mode 100644 --- /dev/null +++ b/src/org/openbravo/retail/posterminal/event/PaymentMethodTypeEventHandler.java @@ -0,0 +1,96 @@ +/* + ************************************************************************************ + * Copyright (C) 2014 Openbravo S.L.U. + * Licensed under the Openbravo Commercial License version 1.0 + * You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html + * or in the legal folder of this module distribution. + ************************************************************************************ + */ + +package org.openbravo.retail.posterminal.event; + +import javax.enterprise.event.Observes; + +import org.apache.log4j.Logger; +import org.openbravo.base.exception.OBException; +import org.openbravo.base.model.Entity; +import org.openbravo.base.model.ModelProvider; +import org.openbravo.client.kernel.event.EntityNewEvent; +import org.openbravo.client.kernel.event.EntityPersistenceEventObserver; +import org.openbravo.client.kernel.event.EntityUpdateEvent; +import org.openbravo.dal.core.OBContext; +import org.openbravo.erpCommon.utility.Utility; +import org.openbravo.retail.posterminal.TerminalTypePaymentMethod; +import org.openbravo.service.db.DalConnectionProvider; + +/** + * @author guillermogil + * + */ + +public class PaymentMethodTypeEventHandler extends EntityPersistenceEventObserver { + private static Entity[] entities = { ModelProvider.getInstance().getEntity( + TerminalTypePaymentMethod.ENTITY_NAME) }; + protected Logger logger = Logger.getLogger(this.getClass()); + + @Override + protected Entity[] getObservedEntities() { + return entities; + } + + public void onUpdate(@Observes + EntityUpdateEvent event) { + if (!isValidEvent(event)) { + return; + } + + Boolean leaveascredit = (Boolean) event.getTargetInstance().get("leaveascredit"); + Entity appPaymentTypeEntity = ModelProvider.getInstance().getEntity( + TerminalTypePaymentMethod.ENTITY_NAME); + if (leaveascredit) { + event.setCurrentState(appPaymentTypeEntity.getProperty("allowdrops"), false); + event.setCurrentState(appPaymentTypeEntity.getProperty("allowdeposits"), false); + event.setCurrentState(appPaymentTypeEntity.getProperty("allowvariableamount"), false); + event.setCurrentState(appPaymentTypeEntity.getProperty("allowdontmove"), false); + event.setCurrentState(appPaymentTypeEntity.getProperty("allowmoveeverything"), false); + event.setCurrentState(appPaymentTypeEntity.getProperty("automatemovementtoother"), false); + event.setCurrentState(appPaymentTypeEntity.getProperty("keepfixedamount"), false); + event.setCurrentState(appPaymentTypeEntity.getProperty("cashDifferences"), null); + event.setCurrentState(appPaymentTypeEntity.getProperty("glitemDropdep"), null); + } else { + if (event.getCurrentState(appPaymentTypeEntity.getProperty("cashDifferences")) == null) { + throw new OBException(Utility.messageBD(new DalConnectionProvider(false), + "OBPOS_CashDiffLeaveCredit", OBContext.getOBContext().getLanguage().getLanguage())); + } + } + + } + + public void onSave(@Observes + EntityNewEvent event) { + if (!isValidEvent(event)) { + return; + } + + Boolean leaveascredit = (Boolean) event.getTargetInstance().get("leaveascredit"); + Entity appPaymentTypeEntity = ModelProvider.getInstance().getEntity( + TerminalTypePaymentMethod.ENTITY_NAME); + if (leaveascredit) { + event.setCurrentState(appPaymentTypeEntity.getProperty("allowdrops"), false); + event.setCurrentState(appPaymentTypeEntity.getProperty("allowdeposits"), false); + event.setCurrentState(appPaymentTypeEntity.getProperty("allowvariableamount"), false); + event.setCurrentState(appPaymentTypeEntity.getProperty("allowdontmove"), false); + event.setCurrentState(appPaymentTypeEntity.getProperty("allowmoveeverything"), false); + event.setCurrentState(appPaymentTypeEntity.getProperty("automatemovementtoother"), false); + event.setCurrentState(appPaymentTypeEntity.getProperty("keepfixedamount"), false); + event.setCurrentState(appPaymentTypeEntity.getProperty("cashDifferences"), null); + event.setCurrentState(appPaymentTypeEntity.getProperty("glitemDropdep"), null); + } else { + if (event.getCurrentState(appPaymentTypeEntity.getProperty("cashDifferences")) == null) { + throw new OBException(Utility.messageBD(new DalConnectionProvider(false), + "OBPOS_CashDiffLeaveCredit", OBContext.getOBContext().getLanguage().getLanguage())); + } + } + + } +} \ No newline at end of file diff --git a/src/org/openbravo/retail/posterminal/term/Payments.java b/src/org/openbravo/retail/posterminal/term/Payments.java --- a/src/org/openbravo/retail/posterminal/term/Payments.java +++ b/src/org/openbravo/retail/posterminal/term/Payments.java @@ -39,12 +39,12 @@ JSONArray respArray = new JSONArray(); String posId = RequestContext.get().getSessionAttribute("POSTerminal").toString(); String hqlPayments = "select p as payment, p.paymentMethod as paymentMethod, " - + "c_currency_rate(p.financialAccount.currency, p.obposApplications.organization.currency, null, null, p.obposApplications.client.id, p.obposApplications.organization.id) as rate, c_currency_rate(p.obposApplications.organization.currency, p.financialAccount.currency, null, null, p.obposApplications.client.id, p.obposApplications.organization.id) as mulrate, " - + "p.financialAccount.currency.iSOCode as isocode, " - + "p.financialAccount.currency.symbol as symbol, p.financialAccount.currency.currencySymbolAtTheRight as currencySymbolAtTheRight, " - + "p.financialAccount.currentBalance as currentBalance " - + "from OBPOS_App_Payment as p where p.obposApplications.id=? " - + "and p.$readableCriteria order by p.line, p.commercialName"; + + "c_currency_rate(coalesce(c, p.paymentMethod.currency), p.obposApplications.organization.currency, null, null, p.obposApplications.client.id, p.obposApplications.organization.id) as rate, c_currency_rate(p.obposApplications.organization.currency, coalesce(c, p.paymentMethod.currency), null, null, p.obposApplications.client.id, p.obposApplications.organization.id) as mulrate, " + + "coalesce(c.iSOCode, p.paymentMethod.currency.iSOCode) as isocode, " + + "coalesce(c.symbol, p.paymentMethod.currency.symbol) as symbol, coalesce(c.currencySymbolAtTheRight, p.paymentMethod.currency.currencySymbolAtTheRight) as currencySymbolAtTheRight, " + + "coalesce(f.currentBalance, 0) as currentBalance " + + "from OBPOS_App_Payment as p left join p.financialAccount as f left join f.currency as c " + + "where p.obposApplications.id=? and p.$readableCriteria order by p.line, p.commercialName"; SimpleQueryBuilder querybuilder = new SimpleQueryBuilder(hqlPayments, OBContext .getOBContext().getCurrentClient().getId(), OBContext.getOBContext() diff --git a/web/org.openbravo.retail.posterminal/js/pointofsale/model/pointofsale-model.js b/web/org.openbravo.retail.posterminal/js/pointofsale/model/pointofsale-model.js --- a/web/org.openbravo.retail.posterminal/js/pointofsale/model/pointofsale-model.js +++ b/web/org.openbravo.retail.posterminal/js/pointofsale/model/pointofsale-model.js @@ -422,6 +422,13 @@ })); } receipt.set('change', oldChange); + for (var i = 0; i < receipt.get('payments').length; i++) { + var payment = OB.MobileApp.model.paymentnames[receipt.get('payments').models[i].get('kind')]; + if (payment && payment.paymentMethod && payment.paymentMethod.leaveascredit) { + receipt.set('payment', OB.DEC.sub(receipt.get('payment'), receipt.get('payments').models[i].get('amount'))); + receipt.set('paidOnCredit', true); + } + } receipt.trigger('closed', { callback: function () { receipt.get('payments').reset(); @@ -439,6 +446,13 @@ } }); } else { + for (var i = 0; i < receipt.get('payments').length; i++) { + var payment = OB.MobileApp.model.paymentnames[receipt.get('payments').models[i].get('kind')]; + if (payment && payment.paymentMethod && payment.paymentMethod.leaveascredit) { + receipt.set('payment', OB.DEC.sub(receipt.get('payment'), receipt.get('payments').models[i].get('amount'))); + receipt.set('paidOnCredit', true); + } + } receipt.trigger('closed', { callback: function () { receipt.trigger('print', null, { ![]() diff --git a/src-db/database/model/tables/OBPOS_APP_PAYMENT.xml b/src-db/database/model/tables/OBPOS_APP_PAYMENT.xml --- a/src-db/database/model/tables/OBPOS_APP_PAYMENT.xml +++ b/src-db/database/model/tables/OBPOS_APP_PAYMENT.xml @@ -37,7 +37,7 @@ <default/> <onCreateDefault/> </column> - <column name="FIN_FINANCIAL_ACCOUNT_ID" primaryKey="false" required="true" type="VARCHAR" size="32" autoIncrement="false"> + <column name="FIN_FINANCIAL_ACCOUNT_ID" primaryKey="false" required="false" type="VARCHAR" size="32" autoIncrement="false"> <default/> <onCreateDefault/> </column> diff --git a/src-db/database/model/tables/OBPOS_APP_PAYMENT_TYPE.xml b/src-db/database/model/tables/OBPOS_APP_PAYMENT_TYPE.xml --- a/src-db/database/model/tables/OBPOS_APP_PAYMENT_TYPE.xml +++ b/src-db/database/model/tables/OBPOS_APP_PAYMENT_TYPE.xml @@ -81,7 +81,7 @@ <default/> <onCreateDefault/> </column> - <column name="C_GLITEM_DIFF_ID" primaryKey="false" required="true" type="VARCHAR" size="32" autoIncrement="false"> + <column name="C_GLITEM_DIFF_ID" primaryKey="false" required="false" type="VARCHAR" size="32" autoIncrement="false"> <default/> <onCreateDefault/> </column> @@ -149,6 +149,10 @@ <default><![CDATA[N]]></default> <onCreateDefault/> </column> + <column name="LEAVEASCREDIT" primaryKey="false" required="true" type="CHAR" size="1" autoIncrement="false"> + <default><![CDATA[N]]></default> + <onCreateDefault/> + </column> <foreign-key foreignTable="AD_CLIENT" name="OBPOS_APPPAYTYPE_AD_CLIENT"> <reference local="AD_CLIENT_ID" foreign="AD_CLIENT_ID"/> </foreign-key> @@ -195,6 +199,7 @@ <check name="OBPOS_APP_PAYTYPE_DEPGL_CHK"><![CDATA[(ALLOWDEPOSITS = 'N') OR (C_GLITEM_DEPOSITS_ID IS NOT NULL)]]></check> <check name="OBPOS_APP_PAYTYPE_DROPGL_CHK"><![CDATA[(ALLOWDROPS = 'N') OR (C_GLITEM_DROPS_ID IS NOT NULL)]]></check> <check name="OBPOS_APP_PAYTYPE_FIXEDAM_CHK"><![CDATA[(KEEPFIXEDAMOUNT = 'N') OR (AMOUNT IS NOT NULL)]]></check> + <check name="OBPOS_APPPAY_LEAVECREDIT_CHK"><![CDATA[LEAVEASCREDIT IN ('Y', 'N')]]></check> <check name="OBPOS_APPPAYTYPE_AUTO_CHK"><![CDATA[AUTOMATEMOVEMENTTOOTHER IN ('Y', 'N')]]></check> <check name="OBPOS_APPPAYTYPE_CASH_CHK"><![CDATA[ISCASH IN ('Y', 'N')]]></check> <check name="OBPOS_APPPAYTYPE_COUNTCASH_CHK"><![CDATA[COUNTCASH IN ('Y', 'N')]]></check> diff --git a/src-db/database/sourcedata/AD_AUXILIARINPUT.xml b/src-db/database/sourcedata/AD_AUXILIARINPUT.xml new file mode 100644 --- /dev/null +++ b/src-db/database/sourcedata/AD_AUXILIARINPUT.xml @@ -0,0 +1,14 @@ +<?xml version='1.0' encoding='UTF-8'?> +<data> +<!--D04496856E194B3A800EC08C0E09B842--><AD_AUXILIARINPUT> +<!--D04496856E194B3A800EC08C0E09B842--> <AD_AUXILIARINPUT_ID><![CDATA[D04496856E194B3A800EC08C0E09B842]]></AD_AUXILIARINPUT_ID> +<!--D04496856E194B3A800EC08C0E09B842--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--D04496856E194B3A800EC08C0E09B842--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--D04496856E194B3A800EC08C0E09B842--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--D04496856E194B3A800EC08C0E09B842--> <AD_TAB_ID><![CDATA[027E3BB9B7114CA68F976D0C0133E682]]></AD_TAB_ID> +<!--D04496856E194B3A800EC08C0E09B842--> <NAME><![CDATA[FinAcc_Disabled]]></NAME> +<!--D04496856E194B3A800EC08C0E09B842--> <CODE><![CDATA[@SQL=SELECT LEAVEASCREDIT FROM OBPOS_APP_PAYMENT_TYPE WHERE OBPOS_APP_PAYMENT_TYPE_ID = @OBPOS_APP_PAYMENT_TYPE_ID@]]></CODE> +<!--D04496856E194B3A800EC08C0E09B842--> <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID> +<!--D04496856E194B3A800EC08C0E09B842--></AD_AUXILIARINPUT> + +</data> diff --git a/src-db/database/sourcedata/AD_COLUMN.xml b/src-db/database/sourcedata/AD_COLUMN.xml --- a/src-db/database/sourcedata/AD_COLUMN.xml +++ b/src-db/database/sourcedata/AD_COLUMN.xml @@ -1798,6 +1798,40 @@ <!--24723B46017345AFB4E5413AF3526776--> <ISUSEDSEQUENCE><![CDATA[N]]></ISUSEDSEQUENCE> <!--24723B46017345AFB4E5413AF3526776--></AD_COLUMN> +<!--24CA9F6F48DA4453911DDCA77DA7DE2B--><AD_COLUMN> +<!--24CA9F6F48DA4453911DDCA77DA7DE2B--> <AD_COLUMN_ID><![CDATA[24CA9F6F48DA4453911DDCA77DA7DE2B]]></AD_COLUMN_ID> +<!--24CA9F6F48DA4453911DDCA77DA7DE2B--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--24CA9F6F48DA4453911DDCA77DA7DE2B--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--24CA9F6F48DA4453911DDCA77DA7DE2B--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--24CA9F6F48DA4453911DDCA77DA7DE2B--> <NAME><![CDATA[Leaveascredit]]></NAME> +<!--24CA9F6F48DA4453911DDCA77DA7DE2B--> <COLUMNNAME><![CDATA[Leaveascredit]]></COLUMNNAME> +<!--24CA9F6F48DA4453911DDCA77DA7DE2B--> <AD_TABLE_ID><![CDATA[B096FDF43917472D8FDE9693E9CCFFD4]]></AD_TABLE_ID> +<!--24CA9F6F48DA4453911DDCA77DA7DE2B--> <AD_REFERENCE_ID><![CDATA[20]]></AD_REFERENCE_ID> +<!--24CA9F6F48DA4453911DDCA77DA7DE2B--> <FIELDLENGTH><![CDATA[1]]></FIELDLENGTH> +<!--24CA9F6F48DA4453911DDCA77DA7DE2B--> <DEFAULTVALUE><![CDATA[N]]></DEFAULTVALUE> +<!--24CA9F6F48DA4453911DDCA77DA7DE2B--> <ISKEY><![CDATA[N]]></ISKEY> +<!--24CA9F6F48DA4453911DDCA77DA7DE2B--> <ISPARENT><![CDATA[N]]></ISPARENT> +<!--24CA9F6F48DA4453911DDCA77DA7DE2B--> <ISMANDATORY><![CDATA[Y]]></ISMANDATORY> +<!--24CA9F6F48DA4453911DDCA77DA7DE2B--> <ISUPDATEABLE><![CDATA[Y]]></ISUPDATEABLE> +<!--24CA9F6F48DA4453911DDCA77DA7DE2B--> <ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER> +<!--24CA9F6F48DA4453911DDCA77DA7DE2B--> <SEQNO><![CDATA[445]]></SEQNO> +<!--24CA9F6F48DA4453911DDCA77DA7DE2B--> <ISTRANSLATED><![CDATA[N]]></ISTRANSLATED> +<!--24CA9F6F48DA4453911DDCA77DA7DE2B--> <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED> +<!--24CA9F6F48DA4453911DDCA77DA7DE2B--> <ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN> +<!--24CA9F6F48DA4453911DDCA77DA7DE2B--> <AD_ELEMENT_ID><![CDATA[9E94E84AB7E54849ABE0CEF12E6E9414]]></AD_ELEMENT_ID> +<!--24CA9F6F48DA4453911DDCA77DA7DE2B--> <ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR> +<!--24CA9F6F48DA4453911DDCA77DA7DE2B--> <ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY> +<!--24CA9F6F48DA4453911DDCA77DA7DE2B--> <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE> +<!--24CA9F6F48DA4453911DDCA77DA7DE2B--> <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS> +<!--24CA9F6F48DA4453911DDCA77DA7DE2B--> <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID> +<!--24CA9F6F48DA4453911DDCA77DA7DE2B--> <POSITION><![CDATA[36]]></POSITION> +<!--24CA9F6F48DA4453911DDCA77DA7DE2B--> <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT> +<!--24CA9F6F48DA4453911DDCA77DA7DE2B--> <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE> +<!--24CA9F6F48DA4453911DDCA77DA7DE2B--> <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW> +<!--24CA9F6F48DA4453911DDCA77DA7DE2B--> <IMAGESIZEVALUESACTION><![CDATA[N]]></IMAGESIZEVALUESACTION> +<!--24CA9F6F48DA4453911DDCA77DA7DE2B--> <ISUSEDSEQUENCE><![CDATA[N]]></ISUSEDSEQUENCE> +<!--24CA9F6F48DA4453911DDCA77DA7DE2B--></AD_COLUMN> + <!--25201F26AB3647C598A1539E7F1C03DF--><AD_COLUMN> <!--25201F26AB3647C598A1539E7F1C03DF--> <AD_COLUMN_ID><![CDATA[25201F26AB3647C598A1539E7F1C03DF]]></AD_COLUMN_ID> <!--25201F26AB3647C598A1539E7F1C03DF--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> @@ -2269,7 +2303,7 @@ <!--349309D809134679955395B9655E8236--> <FIELDLENGTH><![CDATA[32]]></FIELDLENGTH> <!--349309D809134679955395B9655E8236--> <ISKEY><![CDATA[N]]></ISKEY> <!--349309D809134679955395B9655E8236--> <ISPARENT><![CDATA[N]]></ISPARENT> -<!--349309D809134679955395B9655E8236--> <ISMANDATORY><![CDATA[Y]]></ISMANDATORY> +<!--349309D809134679955395B9655E8236--> <ISMANDATORY><![CDATA[N]]></ISMANDATORY> <!--349309D809134679955395B9655E8236--> <ISUPDATEABLE><![CDATA[Y]]></ISUPDATEABLE> <!--349309D809134679955395B9655E8236--> <ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER> <!--349309D809134679955395B9655E8236--> <SEQNO><![CDATA[220]]></SEQNO> @@ -7539,11 +7573,13 @@ <!--DA36F2891C2A4ED2B4CF4C838C70170E--> <COLUMNNAME><![CDATA[FIN_Financial_Account_ID]]></COLUMNNAME> <!--DA36F2891C2A4ED2B4CF4C838C70170E--> <AD_TABLE_ID><![CDATA[CCE07BDBDC344FD98E52C293A987203F]]></AD_TABLE_ID> <!--DA36F2891C2A4ED2B4CF4C838C70170E--> <AD_REFERENCE_ID><![CDATA[19]]></AD_REFERENCE_ID> +<!--DA36F2891C2A4ED2B4CF4C838C70170E--> <AD_VAL_RULE_ID><![CDATA[7153C74CF9CC45D2BBFA524A79146269]]></AD_VAL_RULE_ID> <!--DA36F2891C2A4ED2B4CF4C838C70170E--> <FIELDLENGTH><![CDATA[32]]></FIELDLENGTH> <!--DA36F2891C2A4ED2B4CF4C838C70170E--> <ISKEY><![CDATA[N]]></ISKEY> <!--DA36F2891C2A4ED2B4CF4C838C70170E--> <ISPARENT><![CDATA[N]]></ISPARENT> -<!--DA36F2891C2A4ED2B4CF4C838C70170E--> <ISMANDATORY><![CDATA[Y]]></ISMANDATORY> +<!--DA36F2891C2A4ED2B4CF4C838C70170E--> <ISMANDATORY><![CDATA[N]]></ISMANDATORY> <!--DA36F2891C2A4ED2B4CF4C838C70170E--> <ISUPDATEABLE><![CDATA[Y]]></ISUPDATEABLE> +<!--DA36F2891C2A4ED2B4CF4C838C70170E--> <READONLYLOGIC><![CDATA[@FinAcc_Disabled@='Y']]></READONLYLOGIC> <!--DA36F2891C2A4ED2B4CF4C838C70170E--> <ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER> <!--DA36F2891C2A4ED2B4CF4C838C70170E--> <SEQNO><![CDATA[110]]></SEQNO> <!--DA36F2891C2A4ED2B4CF4C838C70170E--> <ISTRANSLATED><![CDATA[N]]></ISTRANSLATED> diff --git a/src-db/database/sourcedata/AD_ELEMENT.xml b/src-db/database/sourcedata/AD_ELEMENT.xml --- a/src-db/database/sourcedata/AD_ELEMENT.xml +++ b/src-db/database/sourcedata/AD_ELEMENT.xml @@ -970,6 +970,18 @@ <!--9A08A9CC0EAD4B1DADB9CC98D0137EE4--> <ISGLOSSARY><![CDATA[N]]></ISGLOSSARY> <!--9A08A9CC0EAD4B1DADB9CC98D0137EE4--></AD_ELEMENT> +<!--9E94E84AB7E54849ABE0CEF12E6E9414--><AD_ELEMENT> +<!--9E94E84AB7E54849ABE0CEF12E6E9414--> <AD_ELEMENT_ID><![CDATA[9E94E84AB7E54849ABE0CEF12E6E9414]]></AD_ELEMENT_ID> +<!--9E94E84AB7E54849ABE0CEF12E6E9414--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--9E94E84AB7E54849ABE0CEF12E6E9414--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--9E94E84AB7E54849ABE0CEF12E6E9414--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--9E94E84AB7E54849ABE0CEF12E6E9414--> <COLUMNNAME><![CDATA[Leaveascredit]]></COLUMNNAME> +<!--9E94E84AB7E54849ABE0CEF12E6E9414--> <NAME><![CDATA[Leave as credit]]></NAME> +<!--9E94E84AB7E54849ABE0CEF12E6E9414--> <PRINTNAME><![CDATA[Leave as credit]]></PRINTNAME> +<!--9E94E84AB7E54849ABE0CEF12E6E9414--> <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID> +<!--9E94E84AB7E54849ABE0CEF12E6E9414--> <ISGLOSSARY><![CDATA[N]]></ISGLOSSARY> +<!--9E94E84AB7E54849ABE0CEF12E6E9414--></AD_ELEMENT> + <!--9E95A0C00A6C4BDF8BC7D88C0BD4292A--><AD_ELEMENT> <!--9E95A0C00A6C4BDF8BC7D88C0BD4292A--> <AD_ELEMENT_ID><![CDATA[9E95A0C00A6C4BDF8BC7D88C0BD4292A]]></AD_ELEMENT_ID> <!--9E95A0C00A6C4BDF8BC7D88C0BD4292A--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> diff --git a/src-db/database/sourcedata/AD_FIELD.xml b/src-db/database/sourcedata/AD_FIELD.xml --- a/src-db/database/sourcedata/AD_FIELD.xml +++ b/src-db/database/sourcedata/AD_FIELD.xml @@ -13,7 +13,7 @@ <!--005DC166ED6C48AF89E3280213F6F6F7--> <AD_COLUMN_ID><![CDATA[BC0C496F16C94F51A37ECF9AD0C2BDFA]]></AD_COLUMN_ID> <!--005DC166ED6C48AF89E3280213F6F6F7--> <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD> <!--005DC166ED6C48AF89E3280213F6F6F7--> <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED> -<!--005DC166ED6C48AF89E3280213F6F6F7--> <DISPLAYLOGIC><![CDATA[@Automatemovementtoother@='Y']]></DISPLAYLOGIC> +<!--005DC166ED6C48AF89E3280213F6F6F7--> <DISPLAYLOGIC><![CDATA[@Automatemovementtoother@='Y' & @leaveascredit@='N']]></DISPLAYLOGIC> <!--005DC166ED6C48AF89E3280213F6F6F7--> <DISPLAYLENGTH><![CDATA[1]]></DISPLAYLENGTH> <!--005DC166ED6C48AF89E3280213F6F6F7--> <ISREADONLY><![CDATA[N]]></ISREADONLY> <!--005DC166ED6C48AF89E3280213F6F6F7--> <SEQNO><![CDATA[110]]></SEQNO> @@ -42,7 +42,7 @@ <!--00BF273D2E3A4308B0ED31A46BD4AC52--> <AD_COLUMN_ID><![CDATA[57CF66A9D10F48AF8DD4D07ABE392F44]]></AD_COLUMN_ID> <!--00BF273D2E3A4308B0ED31A46BD4AC52--> <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD> <!--00BF273D2E3A4308B0ED31A46BD4AC52--> <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED> -<!--00BF273D2E3A4308B0ED31A46BD4AC52--> <DISPLAYLOGIC><![CDATA[@Iscash@='Y']]></DISPLAYLOGIC> +<!--00BF273D2E3A4308B0ED31A46BD4AC52--> <DISPLAYLOGIC><![CDATA[@Iscash@='Y' & @leaveascredit@='N']]></DISPLAYLOGIC> <!--00BF273D2E3A4308B0ED31A46BD4AC52--> <DISPLAYLENGTH><![CDATA[1]]></DISPLAYLENGTH> <!--00BF273D2E3A4308B0ED31A46BD4AC52--> <ISREADONLY><![CDATA[N]]></ISREADONLY> <!--00BF273D2E3A4308B0ED31A46BD4AC52--> <SEQNO><![CDATA[160]]></SEQNO> @@ -492,6 +492,7 @@ <!--134B712F829041F58A8D96ECD5052739--> <AD_COLUMN_ID><![CDATA[12556DBF01154B3A85F77D7587583391]]></AD_COLUMN_ID> <!--134B712F829041F58A8D96ECD5052739--> <IGNOREINWAD><![CDATA[Y]]></IGNOREINWAD> <!--134B712F829041F58A8D96ECD5052739--> <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED> +<!--134B712F829041F58A8D96ECD5052739--> <DISPLAYLOGIC><![CDATA[@leaveascredit@='N']]></DISPLAYLOGIC> <!--134B712F829041F58A8D96ECD5052739--> <DISPLAYLENGTH><![CDATA[32]]></DISPLAYLENGTH> <!--134B712F829041F58A8D96ECD5052739--> <ISREADONLY><![CDATA[N]]></ISREADONLY> <!--134B712F829041F58A8D96ECD5052739--> <SEQNO><![CDATA[103]]></SEQNO> @@ -772,6 +773,7 @@ <!--2032C68C1FAF43B2B6970EF0E3CCC362--> <AD_COLUMN_ID><![CDATA[4C31D9531AF848058BF9E66963BCD3F5]]></AD_COLUMN_ID> <!--2032C68C1FAF43B2B6970EF0E3CCC362--> <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD> <!--2032C68C1FAF43B2B6970EF0E3CCC362--> <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED> +<!--2032C68C1FAF43B2B6970EF0E3CCC362--> <DISPLAYLOGIC><![CDATA[@leaveascredit@='N']]></DISPLAYLOGIC> <!--2032C68C1FAF43B2B6970EF0E3CCC362--> <DISPLAYLENGTH><![CDATA[1]]></DISPLAYLENGTH> <!--2032C68C1FAF43B2B6970EF0E3CCC362--> <ISREADONLY><![CDATA[N]]></ISREADONLY> <!--2032C68C1FAF43B2B6970EF0E3CCC362--> <SEQNO><![CDATA[190]]></SEQNO> @@ -999,6 +1001,7 @@ <!--2AE3F424DF984CEC8B3FFAEB9E468577--> <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD> <!--2AE3F424DF984CEC8B3FFAEB9E468577--> <AD_FIELDGROUP_ID><![CDATA[DA6785B66E1A41D98B03B2BFE5AAAB75]]></AD_FIELDGROUP_ID> <!--2AE3F424DF984CEC8B3FFAEB9E468577--> <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED> +<!--2AE3F424DF984CEC8B3FFAEB9E468577--> <DISPLAYLOGIC><![CDATA[@leaveascredit@='N']]></DISPLAYLOGIC> <!--2AE3F424DF984CEC8B3FFAEB9E468577--> <DISPLAYLENGTH><![CDATA[1]]></DISPLAYLENGTH> <!--2AE3F424DF984CEC8B3FFAEB9E468577--> <ISREADONLY><![CDATA[N]]></ISREADONLY> <!--2AE3F424DF984CEC8B3FFAEB9E468577--> <SEQNO><![CDATA[170]]></SEQNO> @@ -1846,7 +1849,7 @@ <!--49C20B545A65400E9B36E0BC9AC843F1--> <AD_COLUMN_ID><![CDATA[D8DD5F42308E4A7893E5766DA2B0C383]]></AD_COLUMN_ID> <!--49C20B545A65400E9B36E0BC9AC843F1--> <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD> <!--49C20B545A65400E9B36E0BC9AC843F1--> <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED> -<!--49C20B545A65400E9B36E0BC9AC843F1--> <DISPLAYLOGIC><![CDATA[@Allowdrops@='Y']]></DISPLAYLOGIC> +<!--49C20B545A65400E9B36E0BC9AC843F1--> <DISPLAYLOGIC><![CDATA[@Allowdrops@='Y' & @leaveascredit@='N']]></DISPLAYLOGIC> <!--49C20B545A65400E9B36E0BC9AC843F1--> <DISPLAYLENGTH><![CDATA[32]]></DISPLAYLENGTH> <!--49C20B545A65400E9B36E0BC9AC843F1--> <ISREADONLY><![CDATA[N]]></ISREADONLY> <!--49C20B545A65400E9B36E0BC9AC843F1--> <SEQNO><![CDATA[180]]></SEQNO> @@ -2465,7 +2468,7 @@ <!--67E47907D1BE41AC80D9F3DDCF9A1BEF--> <AD_COLUMN_ID><![CDATA[69DE59465CCE41F08575F610A4CE51C3]]></AD_COLUMN_ID> <!--67E47907D1BE41AC80D9F3DDCF9A1BEF--> <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD> <!--67E47907D1BE41AC80D9F3DDCF9A1BEF--> <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED> -<!--67E47907D1BE41AC80D9F3DDCF9A1BEF--> <DISPLAYLOGIC><![CDATA[@Allowdeposits@='Y']]></DISPLAYLOGIC> +<!--67E47907D1BE41AC80D9F3DDCF9A1BEF--> <DISPLAYLOGIC><![CDATA[@Allowdeposits@='Y' & @leaveascredit@='N']]></DISPLAYLOGIC> <!--67E47907D1BE41AC80D9F3DDCF9A1BEF--> <DISPLAYLENGTH><![CDATA[32]]></DISPLAYLENGTH> <!--67E47907D1BE41AC80D9F3DDCF9A1BEF--> <ISREADONLY><![CDATA[N]]></ISREADONLY> <!--67E47907D1BE41AC80D9F3DDCF9A1BEF--> <SEQNO><![CDATA[200]]></SEQNO> @@ -2754,6 +2757,7 @@ <!--77E9DB910177422EAD6C2649FB4559C7--> <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD> <!--77E9DB910177422EAD6C2649FB4559C7--> <AD_FIELDGROUP_ID><![CDATA[F1A8FF12D50241979A7882FA69F7066B]]></AD_FIELDGROUP_ID> <!--77E9DB910177422EAD6C2649FB4559C7--> <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED> +<!--77E9DB910177422EAD6C2649FB4559C7--> <DISPLAYLOGIC><![CDATA[@leaveascredit@='N']]></DISPLAYLOGIC> <!--77E9DB910177422EAD6C2649FB4559C7--> <DISPLAYLENGTH><![CDATA[32]]></DISPLAYLENGTH> <!--77E9DB910177422EAD6C2649FB4559C7--> <ISREADONLY><![CDATA[N]]></ISREADONLY> <!--77E9DB910177422EAD6C2649FB4559C7--> <SEQNO><![CDATA[100]]></SEQNO> @@ -3146,16 +3150,17 @@ <!--8949A7E66C06454A9DAC2289ADB2E057--> <AD_COLUMN_ID><![CDATA[DA36F2891C2A4ED2B4CF4C838C70170E]]></AD_COLUMN_ID> <!--8949A7E66C06454A9DAC2289ADB2E057--> <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD> <!--8949A7E66C06454A9DAC2289ADB2E057--> <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED> +<!--8949A7E66C06454A9DAC2289ADB2E057--> <DISPLAYLOGIC><![CDATA[@FinAcc_Disabled@='N' & @Obpos_App_Payment_Type_ID@!'']]></DISPLAYLOGIC> <!--8949A7E66C06454A9DAC2289ADB2E057--> <DISPLAYLENGTH><![CDATA[32]]></DISPLAYLENGTH> <!--8949A7E66C06454A9DAC2289ADB2E057--> <ISREADONLY><![CDATA[N]]></ISREADONLY> -<!--8949A7E66C06454A9DAC2289ADB2E057--> <SEQNO><![CDATA[30]]></SEQNO> +<!--8949A7E66C06454A9DAC2289ADB2E057--> <SEQNO><![CDATA[40]]></SEQNO> <!--8949A7E66C06454A9DAC2289ADB2E057--> <ISSAMELINE><![CDATA[N]]></ISSAMELINE> <!--8949A7E66C06454A9DAC2289ADB2E057--> <ISFIELDONLY><![CDATA[N]]></ISFIELDONLY> <!--8949A7E66C06454A9DAC2289ADB2E057--> <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED> <!--8949A7E66C06454A9DAC2289ADB2E057--> <SHOWINRELATION><![CDATA[Y]]></SHOWINRELATION> <!--8949A7E66C06454A9DAC2289ADB2E057--> <ISFIRSTFOCUSEDFIELD><![CDATA[N]]></ISFIRSTFOCUSEDFIELD> <!--8949A7E66C06454A9DAC2289ADB2E057--> <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID> -<!--8949A7E66C06454A9DAC2289ADB2E057--> <GRID_SEQNO><![CDATA[30]]></GRID_SEQNO> +<!--8949A7E66C06454A9DAC2289ADB2E057--> <GRID_SEQNO><![CDATA[40]]></GRID_SEQNO> <!--8949A7E66C06454A9DAC2289ADB2E057--> <STARTINODDCOLUMN><![CDATA[N]]></STARTINODDCOLUMN> <!--8949A7E66C06454A9DAC2289ADB2E057--> <STARTNEWLINE><![CDATA[N]]></STARTNEWLINE> <!--8949A7E66C06454A9DAC2289ADB2E057--> <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR> @@ -3878,6 +3883,7 @@ <!--AE596D0D4C654EA4A0B6E33ECB1FDE7C--> <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD> <!--AE596D0D4C654EA4A0B6E33ECB1FDE7C--> <AD_FIELDGROUP_ID><![CDATA[F1A8FF12D50241979A7882FA69F7066B]]></AD_FIELDGROUP_ID> <!--AE596D0D4C654EA4A0B6E33ECB1FDE7C--> <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED> +<!--AE596D0D4C654EA4A0B6E33ECB1FDE7C--> <DISPLAYLOGIC><![CDATA[@leaveascredit@='N']]></DISPLAYLOGIC> <!--AE596D0D4C654EA4A0B6E33ECB1FDE7C--> <DISPLAYLENGTH><![CDATA[1]]></DISPLAYLENGTH> <!--AE596D0D4C654EA4A0B6E33ECB1FDE7C--> <ISREADONLY><![CDATA[N]]></ISREADONLY> <!--AE596D0D4C654EA4A0B6E33ECB1FDE7C--> <SEQNO><![CDATA[105]]></SEQNO> @@ -4287,7 +4293,7 @@ <!--C1041D18C3B2459CAE2FE20114C63F7A--> <AD_COLUMN_ID><![CDATA[C5AD82AFB0A54FEDBD24F32375F2A4D5]]></AD_COLUMN_ID> <!--C1041D18C3B2459CAE2FE20114C63F7A--> <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD> <!--C1041D18C3B2459CAE2FE20114C63F7A--> <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED> -<!--C1041D18C3B2459CAE2FE20114C63F7A--> <DISPLAYLOGIC><![CDATA[@Automatemovementtoother@='Y']]></DISPLAYLOGIC> +<!--C1041D18C3B2459CAE2FE20114C63F7A--> <DISPLAYLOGIC><![CDATA[@Automatemovementtoother@='Y'& @leaveascredit@='N']]></DISPLAYLOGIC> <!--C1041D18C3B2459CAE2FE20114C63F7A--> <DISPLAYLENGTH><![CDATA[1]]></DISPLAYLENGTH> <!--C1041D18C3B2459CAE2FE20114C63F7A--> <ISREADONLY><![CDATA[N]]></ISREADONLY> <!--C1041D18C3B2459CAE2FE20114C63F7A--> <SEQNO><![CDATA[130]]></SEQNO> @@ -4344,7 +4350,7 @@ <!--C3A536DDD04641ECA2104E406259B060--> <AD_COLUMN_ID><![CDATA[CC960982D9B14E0DAAC4D95EA3DBAA79]]></AD_COLUMN_ID> <!--C3A536DDD04641ECA2104E406259B060--> <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD> <!--C3A536DDD04641ECA2104E406259B060--> <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED> -<!--C3A536DDD04641ECA2104E406259B060--> <DISPLAYLOGIC><![CDATA[@Automatemovementtoother@='Y']]></DISPLAYLOGIC> +<!--C3A536DDD04641ECA2104E406259B060--> <DISPLAYLOGIC><![CDATA[@Automatemovementtoother@='Y' & @leaveascredit@='N']]></DISPLAYLOGIC> <!--C3A536DDD04641ECA2104E406259B060--> <DISPLAYLENGTH><![CDATA[1]]></DISPLAYLENGTH> <!--C3A536DDD04641ECA2104E406259B060--> <ISREADONLY><![CDATA[N]]></ISREADONLY> <!--C3A536DDD04641ECA2104E406259B060--> <SEQNO><![CDATA[150]]></SEQNO> @@ -4545,7 +4551,7 @@ <!--CF3109E18E5148CB81183EB989E420A3--> <AD_COLUMN_ID><![CDATA[2286CFE5E2074432B7723288554677F6]]></AD_COLUMN_ID> <!--CF3109E18E5148CB81183EB989E420A3--> <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD> <!--CF3109E18E5148CB81183EB989E420A3--> <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED> -<!--CF3109E18E5148CB81183EB989E420A3--> <DISPLAYLOGIC><![CDATA[@Automatemovementtoother@='Y']]></DISPLAYLOGIC> +<!--CF3109E18E5148CB81183EB989E420A3--> <DISPLAYLOGIC><![CDATA[@Automatemovementtoother@='Y' & @leaveascredit@='N']]></DISPLAYLOGIC> <!--CF3109E18E5148CB81183EB989E420A3--> <DISPLAYLENGTH><![CDATA[1]]></DISPLAYLENGTH> <!--CF3109E18E5148CB81183EB989E420A3--> <ISREADONLY><![CDATA[N]]></ISREADONLY> <!--CF3109E18E5148CB81183EB989E420A3--> <SEQNO><![CDATA[140]]></SEQNO> @@ -4914,7 +4920,7 @@ <!--DF1087E6BE4148A3AF237F986ECAFD69--> <AD_COLUMN_ID><![CDATA[1EB3DAB3554949B182943774B94E09DE]]></AD_COLUMN_ID> <!--DF1087E6BE4148A3AF237F986ECAFD69--> <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD> <!--DF1087E6BE4148A3AF237F986ECAFD69--> <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED> -<!--DF1087E6BE4148A3AF237F986ECAFD69--> <DISPLAYLOGIC><![CDATA[@Keepfixedamount@='Y' & @Automatemovementtoother@='Y']]></DISPLAYLOGIC> +<!--DF1087E6BE4148A3AF237F986ECAFD69--> <DISPLAYLOGIC><![CDATA[@Keepfixedamount@='Y' & @Automatemovementtoother@='Y' & @leaveascredit@='N']]></DISPLAYLOGIC> <!--DF1087E6BE4148A3AF237F986ECAFD69--> <DISPLAYLENGTH><![CDATA[2]]></DISPLAYLENGTH> <!--DF1087E6BE4148A3AF237F986ECAFD69--> <ISREADONLY><![CDATA[N]]></ISREADONLY> <!--DF1087E6BE4148A3AF237F986ECAFD69--> <SEQNO><![CDATA[120]]></SEQNO> @@ -5098,6 +5104,32 @@ <!--E0C14EB436F64DD898CBF154E7C1F882--> <EM_OBUIAPP_SHOWSUMMARY><![CDATA[N]]></EM_OBUIAPP_SHOWSUMMARY> <!--E0C14EB436F64DD898CBF154E7C1F882--></AD_FIELD> +<!--E4641870AEC84A8D8E76A3B55DB18FE0--><AD_FIELD> +<!--E4641870AEC84A8D8E76A3B55DB18FE0--> <AD_FIELD_ID><![CDATA[E4641870AEC84A8D8E76A3B55DB18FE0]]></AD_FIELD_ID> +<!--E4641870AEC84A8D8E76A3B55DB18FE0--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--E4641870AEC84A8D8E76A3B55DB18FE0--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--E4641870AEC84A8D8E76A3B55DB18FE0--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--E4641870AEC84A8D8E76A3B55DB18FE0--> <NAME><![CDATA[Leave as credit]]></NAME> +<!--E4641870AEC84A8D8E76A3B55DB18FE0--> <ISCENTRALLYMAINTAINED><![CDATA[Y]]></ISCENTRALLYMAINTAINED> +<!--E4641870AEC84A8D8E76A3B55DB18FE0--> <AD_TAB_ID><![CDATA[4D9F5E9CC0014A96861CEFB64BBF013B]]></AD_TAB_ID> +<!--E4641870AEC84A8D8E76A3B55DB18FE0--> <AD_COLUMN_ID><![CDATA[24CA9F6F48DA4453911DDCA77DA7DE2B]]></AD_COLUMN_ID> +<!--E4641870AEC84A8D8E76A3B55DB18FE0--> <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD> +<!--E4641870AEC84A8D8E76A3B55DB18FE0--> <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED> +<!--E4641870AEC84A8D8E76A3B55DB18FE0--> <DISPLAYLENGTH><![CDATA[1]]></DISPLAYLENGTH> +<!--E4641870AEC84A8D8E76A3B55DB18FE0--> <ISREADONLY><![CDATA[N]]></ISREADONLY> +<!--E4641870AEC84A8D8E76A3B55DB18FE0--> <SEQNO><![CDATA[98]]></SEQNO> +<!--E4641870AEC84A8D8E76A3B55DB18FE0--> <ISSAMELINE><![CDATA[N]]></ISSAMELINE> +<!--E4641870AEC84A8D8E76A3B55DB18FE0--> <ISFIELDONLY><![CDATA[N]]></ISFIELDONLY> +<!--E4641870AEC84A8D8E76A3B55DB18FE0--> <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED> +<!--E4641870AEC84A8D8E76A3B55DB18FE0--> <SHOWINRELATION><![CDATA[N]]></SHOWINRELATION> +<!--E4641870AEC84A8D8E76A3B55DB18FE0--> <ISFIRSTFOCUSEDFIELD><![CDATA[N]]></ISFIRSTFOCUSEDFIELD> +<!--E4641870AEC84A8D8E76A3B55DB18FE0--> <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID> +<!--E4641870AEC84A8D8E76A3B55DB18FE0--> <STARTINODDCOLUMN><![CDATA[N]]></STARTINODDCOLUMN> +<!--E4641870AEC84A8D8E76A3B55DB18FE0--> <STARTNEWLINE><![CDATA[N]]></STARTNEWLINE> +<!--E4641870AEC84A8D8E76A3B55DB18FE0--> <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR> +<!--E4641870AEC84A8D8E76A3B55DB18FE0--> <EM_OBUIAPP_SHOWSUMMARY><![CDATA[N]]></EM_OBUIAPP_SHOWSUMMARY> +<!--E4641870AEC84A8D8E76A3B55DB18FE0--></AD_FIELD> + <!--E5EBCFED984240BCA9842D21A8380349--><AD_FIELD> <!--E5EBCFED984240BCA9842D21A8380349--> <AD_FIELD_ID><![CDATA[E5EBCFED984240BCA9842D21A8380349]]></AD_FIELD_ID> <!--E5EBCFED984240BCA9842D21A8380349--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> @@ -5142,14 +5174,14 @@ <!--E6D4FAAE415149528A8BC38C91C397D8--> <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED> <!--E6D4FAAE415149528A8BC38C91C397D8--> <DISPLAYLENGTH><![CDATA[32]]></DISPLAYLENGTH> <!--E6D4FAAE415149528A8BC38C91C397D8--> <ISREADONLY><![CDATA[N]]></ISREADONLY> -<!--E6D4FAAE415149528A8BC38C91C397D8--> <SEQNO><![CDATA[40]]></SEQNO> +<!--E6D4FAAE415149528A8BC38C91C397D8--> <SEQNO><![CDATA[30]]></SEQNO> <!--E6D4FAAE415149528A8BC38C91C397D8--> <ISSAMELINE><![CDATA[N]]></ISSAMELINE> <!--E6D4FAAE415149528A8BC38C91C397D8--> <ISFIELDONLY><![CDATA[N]]></ISFIELDONLY> <!--E6D4FAAE415149528A8BC38C91C397D8--> <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED> <!--E6D4FAAE415149528A8BC38C91C397D8--> <SHOWINRELATION><![CDATA[Y]]></SHOWINRELATION> <!--E6D4FAAE415149528A8BC38C91C397D8--> <ISFIRSTFOCUSEDFIELD><![CDATA[N]]></ISFIRSTFOCUSEDFIELD> <!--E6D4FAAE415149528A8BC38C91C397D8--> <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID> -<!--E6D4FAAE415149528A8BC38C91C397D8--> <GRID_SEQNO><![CDATA[40]]></GRID_SEQNO> +<!--E6D4FAAE415149528A8BC38C91C397D8--> <GRID_SEQNO><![CDATA[30]]></GRID_SEQNO> <!--E6D4FAAE415149528A8BC38C91C397D8--> <STARTINODDCOLUMN><![CDATA[N]]></STARTINODDCOLUMN> <!--E6D4FAAE415149528A8BC38C91C397D8--> <STARTNEWLINE><![CDATA[N]]></STARTNEWLINE> <!--E6D4FAAE415149528A8BC38C91C397D8--> <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR> diff --git a/src-db/database/sourcedata/AD_MESSAGE.xml b/src-db/database/sourcedata/AD_MESSAGE.xml --- a/src-db/database/sourcedata/AD_MESSAGE.xml +++ b/src-db/database/sourcedata/AD_MESSAGE.xml @@ -1224,6 +1224,18 @@ <!--39EABA22733043DC88329BEA3A659AC1--> <ISINCLUDEINI18N><![CDATA[N]]></ISINCLUDEINI18N> <!--39EABA22733043DC88329BEA3A659AC1--></AD_MESSAGE> +<!--3A25E7FF206F42DD8B98F30D0D3A595E--><AD_MESSAGE> +<!--3A25E7FF206F42DD8B98F30D0D3A595E--> <AD_MESSAGE_ID><![CDATA[3A25E7FF206F42DD8B98F30D0D3A595E]]></AD_MESSAGE_ID> +<!--3A25E7FF206F42DD8B98F30D0D3A595E--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--3A25E7FF206F42DD8B98F30D0D3A595E--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--3A25E7FF206F42DD8B98F30D0D3A595E--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--3A25E7FF206F42DD8B98F30D0D3A595E--> <VALUE><![CDATA[OBPOS_FinAccLeaveCredit]]></VALUE> +<!--3A25E7FF206F42DD8B98F30D0D3A595E--> <MSGTEXT><![CDATA[It is mandatory to select a Financial Account or a Payment Method leave as credit]]></MSGTEXT> +<!--3A25E7FF206F42DD8B98F30D0D3A595E--> <MSGTYPE><![CDATA[I]]></MSGTYPE> +<!--3A25E7FF206F42DD8B98F30D0D3A595E--> <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID> +<!--3A25E7FF206F42DD8B98F30D0D3A595E--> <ISINCLUDEINI18N><![CDATA[N]]></ISINCLUDEINI18N> +<!--3A25E7FF206F42DD8B98F30D0D3A595E--></AD_MESSAGE> + <!--3AEE277A5F2543558720992E1CED2C2C--><AD_MESSAGE> <!--3AEE277A5F2543558720992E1CED2C2C--> <AD_MESSAGE_ID><![CDATA[3AEE277A5F2543558720992E1CED2C2C]]></AD_MESSAGE_ID> <!--3AEE277A5F2543558720992E1CED2C2C--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> @@ -1909,6 +1921,18 @@ <!--57870DFDE61D4E2F8AEF51B931B13DEA--> <ISINCLUDEINI18N><![CDATA[N]]></ISINCLUDEINI18N> <!--57870DFDE61D4E2F8AEF51B931B13DEA--></AD_MESSAGE> +<!--57FBE2E7D28140EA996A25CAE57AFC80--><AD_MESSAGE> +<!--57FBE2E7D28140EA996A25CAE57AFC80--> <AD_MESSAGE_ID><![CDATA[57FBE2E7D28140EA996A25CAE57AFC80]]></AD_MESSAGE_ID> +<!--57FBE2E7D28140EA996A25CAE57AFC80--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--57FBE2E7D28140EA996A25CAE57AFC80--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--57FBE2E7D28140EA996A25CAE57AFC80--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--57FBE2E7D28140EA996A25CAE57AFC80--> <VALUE><![CDATA[OBPOS_CashDiffLeaveCredit]]></VALUE> +<!--57FBE2E7D28140EA996A25CAE57AFC80--> <MSGTEXT><![CDATA[It is mandatory to select Cash Differences or leave the Payment Method as credit]]></MSGTEXT> +<!--57FBE2E7D28140EA996A25CAE57AFC80--> <MSGTYPE><![CDATA[E]]></MSGTYPE> +<!--57FBE2E7D28140EA996A25CAE57AFC80--> <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID> +<!--57FBE2E7D28140EA996A25CAE57AFC80--> <ISINCLUDEINI18N><![CDATA[N]]></ISINCLUDEINI18N> +<!--57FBE2E7D28140EA996A25CAE57AFC80--></AD_MESSAGE> + <!--582715E35F2B449584BEB484566A3381--><AD_MESSAGE> <!--582715E35F2B449584BEB484566A3381--> <AD_MESSAGE_ID><![CDATA[582715E35F2B449584BEB484566A3381]]></AD_MESSAGE_ID> <!--582715E35F2B449584BEB484566A3381--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> @@ -2654,6 +2678,18 @@ <!--7EC813AE2A094FE18CEA6ADD6071BA5C--> <ISINCLUDEINI18N><![CDATA[N]]></ISINCLUDEINI18N> <!--7EC813AE2A094FE18CEA6ADD6071BA5C--></AD_MESSAGE> +<!--7EF083B7E1F246EC81CFECAF0B81DB78--><AD_MESSAGE> +<!--7EF083B7E1F246EC81CFECAF0B81DB78--> <AD_MESSAGE_ID><![CDATA[7EF083B7E1F246EC81CFECAF0B81DB78]]></AD_MESSAGE_ID> +<!--7EF083B7E1F246EC81CFECAF0B81DB78--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--7EF083B7E1F246EC81CFECAF0B81DB78--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--7EF083B7E1F246EC81CFECAF0B81DB78--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--7EF083B7E1F246EC81CFECAF0B81DB78--> <VALUE><![CDATA[OBPOS_LeaveAsCreditNotConfigured]]></VALUE> +<!--7EF083B7E1F246EC81CFECAF0B81DB78--> <MSGTEXT><![CDATA[There was an error loading the POS terminal. There is one payment type defined for this terminal whose payment method is checked as Leave as Credit and it has a Financial Account. To fix this, go to the POS Terminal window in Openbravo, look for the financial account of the affected payment method, and make sure to set the appropriate payment method in the "Payment Method" tab.]]></MSGTEXT> +<!--7EF083B7E1F246EC81CFECAF0B81DB78--> <MSGTYPE><![CDATA[E]]></MSGTYPE> +<!--7EF083B7E1F246EC81CFECAF0B81DB78--> <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID> +<!--7EF083B7E1F246EC81CFECAF0B81DB78--> <ISINCLUDEINI18N><![CDATA[N]]></ISINCLUDEINI18N> +<!--7EF083B7E1F246EC81CFECAF0B81DB78--></AD_MESSAGE> + <!--7EF243C4B75B402D9C48D4F1ED7FE919--><AD_MESSAGE> <!--7EF243C4B75B402D9C48D4F1ED7FE919--> <AD_MESSAGE_ID><![CDATA[7EF243C4B75B402D9C48D4F1ED7FE919]]></AD_MESSAGE_ID> <!--7EF243C4B75B402D9C48D4F1ED7FE919--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> diff --git a/src-db/database/sourcedata/AD_VAL_RULE.xml b/src-db/database/sourcedata/AD_VAL_RULE.xml --- a/src-db/database/sourcedata/AD_VAL_RULE.xml +++ b/src-db/database/sourcedata/AD_VAL_RULE.xml @@ -79,6 +79,17 @@ <!--42129C185BD247A3927C76614A5B8D2B--> <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID> <!--42129C185BD247A3927C76614A5B8D2B--></AD_VAL_RULE> +<!--7153C74CF9CC45D2BBFA524A79146269--><AD_VAL_RULE> +<!--7153C74CF9CC45D2BBFA524A79146269--> <AD_VAL_RULE_ID><![CDATA[7153C74CF9CC45D2BBFA524A79146269]]></AD_VAL_RULE_ID> +<!--7153C74CF9CC45D2BBFA524A79146269--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--7153C74CF9CC45D2BBFA524A79146269--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--7153C74CF9CC45D2BBFA524A79146269--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--7153C74CF9CC45D2BBFA524A79146269--> <NAME><![CDATA[Payment Type financial account]]></NAME> +<!--7153C74CF9CC45D2BBFA524A79146269--> <TYPE><![CDATA[S]]></TYPE> +<!--7153C74CF9CC45D2BBFA524A79146269--> <CODE><![CDATA[@Obpos_App_Payment_Type_ID@ is not null]]></CODE> +<!--7153C74CF9CC45D2BBFA524A79146269--> <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID> +<!--7153C74CF9CC45D2BBFA524A79146269--></AD_VAL_RULE> + <!--7E72CA2E0AC546EEB0F80920F0C36CC8--><AD_VAL_RULE> <!--7E72CA2E0AC546EEB0F80920F0C36CC8--> <AD_VAL_RULE_ID><![CDATA[7E72CA2E0AC546EEB0F80920F0C36CC8]]></AD_VAL_RULE_ID> <!--7E72CA2E0AC546EEB0F80920F0C36CC8--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> diff --git a/src/org/openbravo/retail/posterminal/CashCloseProcessor.java b/src/org/openbravo/retail/posterminal/CashCloseProcessor.java --- a/src/org/openbravo/retail/posterminal/CashCloseProcessor.java +++ b/src/org/openbravo/retail/posterminal/CashCloseProcessor.java @@ -1,6 +1,6 @@ /* ************************************************************************************ - * Copyright (C) 2012 Openbravo S.L.U. + * Copyright (C) 2012-2015 Openbravo S.L.U. * Licensed under the Openbravo Commercial License version 1.0 * You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html * or in the legal folder of this module distribution. @@ -73,7 +73,9 @@ } String paymentTypeId = cashCloseObj.getString("paymentTypeId"); OBPOSAppPayment paymentType = OBDal.getInstance().get(OBPOSAppPayment.class, paymentTypeId); - + if (paymentType.getFinancialAccount() == null) { + continue; + } FIN_Reconciliation reconciliation = createReconciliation(cashCloseObj, posTerminal, paymentType.getFinancialAccount(), cashUpDate); diff --git a/src/org/openbravo/retail/posterminal/InitialValidations.java b/src/org/openbravo/retail/posterminal/InitialValidations.java --- a/src/org/openbravo/retail/posterminal/InitialValidations.java +++ b/src/org/openbravo/retail/posterminal/InitialValidations.java @@ -1,6 +1,6 @@ /* ************************************************************************************ - * Copyright (C) 2012 Openbravo S.L.U. + * Copyright (C) 2012-2015 Openbravo S.L.U. * Licensed under the Openbravo Commercial License version 1.0 * You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html * or in the legal folder of this module distribution. @@ -48,8 +48,8 @@ throw new JSONException("OBPOS_OrgDesynchronization"); } - String whereclausePM = " as e where e.obposApplications=:terminal and not exists " - + "(select 1 from FinancialMgmtFinAccPaymentMethod as pmacc where " + String whereclausePM = " as e where e.obposApplications=:terminal and e.financialAccount is not null " + + "and not exists (select 1 from FinancialMgmtFinAccPaymentMethod as pmacc where " + "pmacc.paymentMethod = e.paymentMethod.paymentMethod and pmacc.account = e.financialAccount" + ")"; OBQuery<OBPOSAppPayment> queryFinAccounts = OBDal.getInstance().createQuery( @@ -59,7 +59,7 @@ throw new JSONException("OBPOS_PayMethodNotConfiguredInAccount"); } - String whereclauseCMEV = " as e where e.obposApplications=:terminal and exists " + String whereclauseCMEV = " as e where e.obposApplications=:terminal and e.financialAccount is not null and exists " + "(select 1 from OBRETCO_CashManagementEvents as cmev where " + "cmev.financialAccount = e.financialAccount)"; OBQuery<OBPOSAppPayment> queryEventAccounts = OBDal.getInstance().createQuery( @@ -68,5 +68,14 @@ if (queryEventAccounts.list().size() > 0) { throw new JSONException("OBPOS_CMEVAccountIsUsedInPayMethod"); } + + String whereclauseLAC = " as e where e.obposApplications=:terminal and ((e.financialAccount is null " + + "and e.paymentMethod.leaveascredit = false) or (e.financialAccount is not null and e.paymentMethod.leaveascredit = true))"; + OBQuery<OBPOSAppPayment> queryLeaveAsCredit = OBDal.getInstance().createQuery( + OBPOSAppPayment.class, whereclauseLAC); + queryLeaveAsCredit.setNamedParameter("terminal", posTerminal); + if (queryLeaveAsCredit.list().size() > 0) { + throw new JSONException("OBPOS_LeaveAsCreditNotConfigured"); + } } } diff --git a/src/org/openbravo/retail/posterminal/OrderLoader.java b/src/org/openbravo/retail/posterminal/OrderLoader.java --- a/src/org/openbravo/retail/posterminal/OrderLoader.java +++ b/src/org/openbravo/retail/posterminal/OrderLoader.java @@ -1,6 +1,6 @@ /* ************************************************************************************ - * Copyright (C) 2012-2013 Openbravo S.L.U. + * Copyright (C) 2012-2015 Openbravo S.L.U. * Licensed under the Openbravo Commercial License version 1.0 * You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html * or in the legal folder of this module distribution. @@ -177,9 +177,14 @@ && !isQuotation && Math.abs(jsonorder.getDouble("payment")) < Math.abs(new Double(jsonorder .getDouble("gross"))); - createInvoice = wasPaidOnCredit - || (!isQuotation && (!isLayaway && !partialpayLayaway || fullpayLayaway) && (jsonorder - .has("generateInvoice") && jsonorder.getBoolean("generateInvoice"))); + if (jsonorder.has("oBPOSNotInvoiceOnCashUp") + && jsonorder.getBoolean("oBPOSNotInvoiceOnCashUp")) { + createInvoice = false; + } else { + createInvoice = wasPaidOnCredit + || (!isQuotation && (!isLayaway && !partialpayLayaway || fullpayLayaway) && (jsonorder + .has("generateInvoice") && jsonorder.getBoolean("generateInvoice"))); + } createShipment = !isQuotation && (!isLayaway && !partialpayLayaway || fullpayLayaway); if (jsonorder.has("generateShipment")) { createShipment &= jsonorder.getBoolean("generateShipment"); @@ -1385,6 +1390,9 @@ paymentinst.process(payment, order, invoice, i == (payments.length() - 1) ? writeoffAmt : BigDecimal.ZERO); } else { + if (paymentType.getFinancialAccount() == null) { + continue; + } processPayments(paymentSchedule, paymentScheduleInvoice, order, invoice, paymentType, payment, i == (payments.length() - 1) ? writeoffAmt : BigDecimal.ZERO, jsonorder); } diff --git a/src/org/openbravo/retail/posterminal/ProcessCashClose.java b/src/org/openbravo/retail/posterminal/ProcessCashClose.java --- a/src/org/openbravo/retail/posterminal/ProcessCashClose.java +++ b/src/org/openbravo/retail/posterminal/ProcessCashClose.java @@ -1,6 +1,6 @@ /* ************************************************************************************ - * Copyright (C) 2012 Openbravo S.L.U. + * Copyright (C) 2012-2015 Openbravo S.L.U. * Licensed under the Openbravo Commercial License version 1.0 * You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html * or in the legal folder of this module distribution. @@ -64,6 +64,9 @@ if (cashUp.isProcessed() && !cashUp.isProcessedbo()) { // check if there is a reconciliation in draft status for (OBPOSAppPayment payment : posTerminal.getOBPOSAppPaymentList()) { + if (payment.getFinancialAccount() == null) { + continue; + } final OBCriteria<FIN_Reconciliation> recconciliations = OBDal.getInstance().createCriteria( FIN_Reconciliation.class); recconciliations.add(Restrictions.eq(FIN_Reconciliation.PROPERTY_DOCUMENTSTATUS, "DR")); diff --git a/src/org/openbravo/retail/posterminal/ProcessVoidLayaway.java b/src/org/openbravo/retail/posterminal/ProcessVoidLayaway.java --- a/src/org/openbravo/retail/posterminal/ProcessVoidLayaway.java +++ b/src/org/openbravo/retail/posterminal/ProcessVoidLayaway.java @@ -1,6 +1,6 @@ /* ************************************************************************************ - * Copyright (C) 2012 Openbravo S.L.U. + * Copyright (C) 2012-2015 Openbravo S.L.U. * Licensed under the Openbravo Commercial License version 1.0 * You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html * or in the legal folder of this module distribution. @@ -144,6 +144,9 @@ paymentType = type; } } + if (paymentType.getFinancialAccount() == null) { + continue; + } FIN_FinancialAccount account = paymentType.getFinancialAccount(); FIN_PaymentScheduleDetail newPaymentScheduleDetail = OBProvider.getInstance().get( diff --git a/src/org/openbravo/retail/posterminal/ad_reports/CashUpReport.java b/src/org/openbravo/retail/posterminal/ad_reports/CashUpReport.java --- a/src/org/openbravo/retail/posterminal/ad_reports/CashUpReport.java +++ b/src/org/openbravo/retail/posterminal/ad_reports/CashUpReport.java @@ -11,7 +11,7 @@ * under the License. * The Original Code is Openbravo ERP. * The Initial Developer of the Original Code is Openbravo SLU - * All portions are Copyright (C) 2013 Openbravo SLU + * All portions are Copyright (C) 2013-2015 Openbravo SLU * All Rights Reserved. * Contributor(s): ______________________________________. ************************************************************************ @@ -140,7 +140,10 @@ List<OBPOSAppCashReconcil> recons = reconsQuery.list(); Date cashUpDate = cashup.getCashUpDate(); for (int i = 0; i < recons.size(); i++) { - + if (recons.get(i).getReconciliation().getAccount().getOBPOSAppPaymentList().get(0) + .getFinancialAccount() == null) { + continue; + } expected = BigDecimal.ZERO; if (i != 0) diff --git a/src/org/openbravo/retail/posterminal/event/PaymentMethodEventHandler.java b/src/org/openbravo/retail/posterminal/event/PaymentMethodEventHandler.java new file mode 100644 --- /dev/null +++ b/src/org/openbravo/retail/posterminal/event/PaymentMethodEventHandler.java @@ -0,0 +1,87 @@ +/* + ************************************************************************************ + * Copyright (C) 2015 Openbravo S.L.U. + * Licensed under the Openbravo Commercial License version 1.0 + * You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html + * or in the legal folder of this module distribution. + ************************************************************************************ + */ + +package org.openbravo.retail.posterminal.event; + +import javax.enterprise.event.Observes; + +import org.apache.log4j.Logger; +import org.openbravo.base.exception.OBException; +import org.openbravo.base.model.Entity; +import org.openbravo.base.model.ModelProvider; +import org.openbravo.base.model.Property; +import org.openbravo.client.kernel.event.EntityNewEvent; +import org.openbravo.client.kernel.event.EntityPersistenceEventObserver; +import org.openbravo.client.kernel.event.EntityUpdateEvent; +import org.openbravo.dal.core.OBContext; +import org.openbravo.erpCommon.utility.Utility; +import org.openbravo.model.financialmgmt.payment.FIN_FinancialAccount; +import org.openbravo.retail.posterminal.OBPOSAppPayment; +import org.openbravo.retail.posterminal.TerminalTypePaymentMethod; +import org.openbravo.service.db.DalConnectionProvider; + +/** + * @author guillermogil + * + */ + +public class PaymentMethodEventHandler extends EntityPersistenceEventObserver { + private static Entity[] entities = { ModelProvider.getInstance().getEntity( + OBPOSAppPayment.ENTITY_NAME) }; + protected Logger logger = Logger.getLogger(this.getClass()); + + @Override + protected Entity[] getObservedEntities() { + return entities; + } + + public void onUpdate(@Observes EntityUpdateEvent event) { + if (!isValidEvent(event)) { + return; + } + + FIN_FinancialAccount financialAccount = (FIN_FinancialAccount) event.getTargetInstance().get( + "financialAccount"); + TerminalTypePaymentMethod paymentMethod = (TerminalTypePaymentMethod) event.getTargetInstance() + .get("paymentMethod"); + Boolean leaveascredit = paymentMethod.isLeaveascredit(); + if (leaveascredit && financialAccount != null) { + final Entity appPaymentEntity = ModelProvider.getInstance().getEntity( + OBPOSAppPayment.ENTITY_NAME); + final Property financialAccountProperty = appPaymentEntity.getProperty("financialAccount"); + event.setCurrentState(financialAccountProperty, null); + } else if (!leaveascredit && financialAccount == null) { + throw new OBException(Utility.messageBD(new DalConnectionProvider(false), + "OBPOS_FinAccLeaveCredit", OBContext.getOBContext().getLanguage().getLanguage())); + } + + } + + public void onSave(@Observes EntityNewEvent event) { + if (!isValidEvent(event)) { + return; + } + + FIN_FinancialAccount financialAccount = (FIN_FinancialAccount) event.getTargetInstance().get( + "financialAccount"); + TerminalTypePaymentMethod paymentMethod = (TerminalTypePaymentMethod) event.getTargetInstance() + .get("paymentMethod"); + Boolean leaveascredit = paymentMethod.isLeaveascredit(); + if (leaveascredit && financialAccount != null) { + final Entity appPaymentEntity = ModelProvider.getInstance().getEntity( + OBPOSAppPayment.ENTITY_NAME); + final Property financialAccountProperty = appPaymentEntity.getProperty("financialAccount"); + event.setCurrentState(financialAccountProperty, null); + } else if (!leaveascredit && financialAccount == null) { + throw new OBException(Utility.messageBD(new DalConnectionProvider(false), + "OBPOS_FinAccLeaveCredit", OBContext.getOBContext().getLanguage().getLanguage())); + } + + } +} \ No newline at end of file diff --git a/src/org/openbravo/retail/posterminal/event/PaymentMethodTypeEventHandler.java b/src/org/openbravo/retail/posterminal/event/PaymentMethodTypeEventHandler.java new file mode 100644 --- /dev/null +++ b/src/org/openbravo/retail/posterminal/event/PaymentMethodTypeEventHandler.java @@ -0,0 +1,96 @@ +/* + ************************************************************************************ + * Copyright (C) 2015 Openbravo S.L.U. + * Licensed under the Openbravo Commercial License version 1.0 + * You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html + * or in the legal folder of this module distribution. + ************************************************************************************ + */ + +package org.openbravo.retail.posterminal.event; + +import javax.enterprise.event.Observes; + +import org.apache.log4j.Logger; +import org.openbravo.base.exception.OBException; +import org.openbravo.base.model.Entity; +import org.openbravo.base.model.ModelProvider; +import org.openbravo.client.kernel.event.EntityNewEvent; +import org.openbravo.client.kernel.event.EntityPersistenceEventObserver; +import org.openbravo.client.kernel.event.EntityUpdateEvent; +import org.openbravo.dal.core.OBContext; +import org.openbravo.erpCommon.utility.Utility; +import org.openbravo.retail.posterminal.TerminalTypePaymentMethod; +import org.openbravo.service.db.DalConnectionProvider; + +/** + * @author guillermogil + * + */ + +public class PaymentMethodTypeEventHandler extends EntityPersistenceEventObserver { + private static Entity[] entities = { ModelProvider.getInstance().getEntity( + TerminalTypePaymentMethod.ENTITY_NAME) }; + protected Logger logger = Logger.getLogger(this.getClass()); + + @Override + protected Entity[] getObservedEntities() { + return entities; + } + + public void onUpdate(@Observes + EntityUpdateEvent event) { + if (!isValidEvent(event)) { + return; + } + + Boolean leaveascredit = (Boolean) event.getTargetInstance().get("leaveascredit"); + Entity appPaymentTypeEntity = ModelProvider.getInstance().getEntity( + TerminalTypePaymentMethod.ENTITY_NAME); + if (leaveascredit) { + event.setCurrentState(appPaymentTypeEntity.getProperty("allowdrops"), false); + event.setCurrentState(appPaymentTypeEntity.getProperty("allowdeposits"), false); + event.setCurrentState(appPaymentTypeEntity.getProperty("allowvariableamount"), false); + event.setCurrentState(appPaymentTypeEntity.getProperty("allowdontmove"), false); + event.setCurrentState(appPaymentTypeEntity.getProperty("allowmoveeverything"), false); + event.setCurrentState(appPaymentTypeEntity.getProperty("automatemovementtoother"), false); + event.setCurrentState(appPaymentTypeEntity.getProperty("keepfixedamount"), false); + event.setCurrentState(appPaymentTypeEntity.getProperty("cashDifferences"), null); + event.setCurrentState(appPaymentTypeEntity.getProperty("glitemDropdep"), null); + } else { + if (event.getCurrentState(appPaymentTypeEntity.getProperty("cashDifferences")) == null) { + throw new OBException(Utility.messageBD(new DalConnectionProvider(false), + "OBPOS_CashDiffLeaveCredit", OBContext.getOBContext().getLanguage().getLanguage())); + } + } + + } + + public void onSave(@Observes + EntityNewEvent event) { + if (!isValidEvent(event)) { + return; + } + + Boolean leaveascredit = (Boolean) event.getTargetInstance().get("leaveascredit"); + Entity appPaymentTypeEntity = ModelProvider.getInstance().getEntity( + TerminalTypePaymentMethod.ENTITY_NAME); + if (leaveascredit) { + event.setCurrentState(appPaymentTypeEntity.getProperty("allowdrops"), false); + event.setCurrentState(appPaymentTypeEntity.getProperty("allowdeposits"), false); + event.setCurrentState(appPaymentTypeEntity.getProperty("allowvariableamount"), false); + event.setCurrentState(appPaymentTypeEntity.getProperty("allowdontmove"), false); + event.setCurrentState(appPaymentTypeEntity.getProperty("allowmoveeverything"), false); + event.setCurrentState(appPaymentTypeEntity.getProperty("automatemovementtoother"), false); + event.setCurrentState(appPaymentTypeEntity.getProperty("keepfixedamount"), false); + event.setCurrentState(appPaymentTypeEntity.getProperty("cashDifferences"), null); + event.setCurrentState(appPaymentTypeEntity.getProperty("glitemDropdep"), null); + } else { + if (event.getCurrentState(appPaymentTypeEntity.getProperty("cashDifferences")) == null) { + throw new OBException(Utility.messageBD(new DalConnectionProvider(false), + "OBPOS_CashDiffLeaveCredit", OBContext.getOBContext().getLanguage().getLanguage())); + } + } + + } +} \ No newline at end of file diff --git a/src/org/openbravo/retail/posterminal/term/Payments.java b/src/org/openbravo/retail/posterminal/term/Payments.java --- a/src/org/openbravo/retail/posterminal/term/Payments.java +++ b/src/org/openbravo/retail/posterminal/term/Payments.java @@ -1,6 +1,6 @@ /* ************************************************************************************ - * Copyright (C) 2012-2014 Openbravo S.L.U. + * Copyright (C) 2012-2015 Openbravo S.L.U. * Licensed under the Openbravo Commercial License version 1.0 * You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html * or in the legal folder of this module distribution. @@ -39,13 +39,13 @@ JSONArray respArray = new JSONArray(); String posId = RequestContext.get().getSessionAttribute("POSTerminal").toString(); String hqlPayments = "select p as payment, p.paymentMethod as paymentMethod, " - + "c_currency_rate(p.financialAccount.currency, p.obposApplications.organization.currency, null, null, p.obposApplications.client.id, p.obposApplications.organization.id) as rate, c_currency_rate(p.obposApplications.organization.currency, p.financialAccount.currency, null, null, p.obposApplications.client.id, p.obposApplications.organization.id) as mulrate, " - + "p.financialAccount.currency.iSOCode as isocode, " - + "p.financialAccount.currency.symbol as symbol, p.financialAccount.currency.currencySymbolAtTheRight as currencySymbolAtTheRight, " - + "p.financialAccount.currentBalance as currentBalance, " - + "p.financialAccount.currency.obposPosprecision as obposPosprecision " - + "from OBPOS_App_Payment as p where p.obposApplications.id=? " - + "and p.$readableSimpleCriteria and p.$activeCriteria order by p.line, p.commercialName"; + + "c_currency_rate(coalesce(c, p.paymentMethod.currency), p.obposApplications.organization.currency, null, null, p.obposApplications.client.id, p.obposApplications.organization.id) as rate, c_currency_rate(p.obposApplications.organization.currency, coalesce(c, p.paymentMethod.currency), null, null, p.obposApplications.client.id, p.obposApplications.organization.id) as mulrate, " + + "coalesce(c.iSOCode, p.paymentMethod.currency.iSOCode) as isocode, " + + "coalesce(c.symbol, p.paymentMethod.currency.symbol) as symbol, coalesce(c.currencySymbolAtTheRight, p.paymentMethod.currency.currencySymbolAtTheRight) as currencySymbolAtTheRight, " + + "coalesce(f.currentBalance, 0) as currentBalance, " + + "coalesce(c.obposPosprecision, null) as obposPosprecision " + + "from OBPOS_App_Payment as p left join p.financialAccount as f left join f.currency as c " + + "where p.obposApplications.id=? and p.$readableSimpleCriteria and p.$activeCriteria order by p.line, p.commercialName"; SimpleQueryBuilder querybuilder = new SimpleQueryBuilder(hqlPayments, OBContext .getOBContext().getCurrentClient().getId(), OBContext.getOBContext() diff --git a/web/org.openbravo.retail.posterminal/js/pointofsale/model/pointofsale-model.js b/web/org.openbravo.retail.posterminal/js/pointofsale/model/pointofsale-model.js --- a/web/org.openbravo.retail.posterminal/js/pointofsale/model/pointofsale-model.js +++ b/web/org.openbravo.retail.posterminal/js/pointofsale/model/pointofsale-model.js @@ -442,6 +442,13 @@ })); } receipt.set('change', oldChange); + for (var i = 0; i < receipt.get('payments').length; i++) { + var payment = OB.MobileApp.model.paymentnames[receipt.get('payments').models[i].get('kind')]; + if (payment && payment.paymentMethod && payment.paymentMethod.leaveascredit) { + receipt.set('payment', OB.DEC.sub(receipt.get('payment'), receipt.get('payments').models[i].get('amount'))); + receipt.set('paidOnCredit', true); + } + } receipt.trigger('closed', { callback: function () { receipt.get('payments').reset(); @@ -464,6 +471,13 @@ } }); } else { + for (var i = 0; i < receipt.get('payments').length; i++) { + var payment = OB.MobileApp.model.paymentnames[receipt.get('payments').models[i].get('kind')]; + if (payment && payment.paymentMethod && payment.paymentMethod.leaveascredit) { + receipt.set('payment', OB.DEC.sub(receipt.get('payment'), receipt.get('payments').models[i].get('amount'))); + receipt.set('paidOnCredit', true); + } + } receipt.trigger('closed', { callback: function () { // receipt is cloned because the receipt is deleted when event "closed" is triggered @@ -720,4 +734,4 @@ callback(approved, supervisor, approvalType); } } -}); +}); \ No newline at end of file | |||||||
![]() |
|||||||||||||||||||||||||||||
|
![]() |
|
(0070609) guillermogil (viewer) 2014-10-01 15:45 |
You can find attached the proposed solution |
(0073372) guillermogil (viewer) 2015-01-08 16:35 |
You can find attached the proposed solution for PI |
(0073398) hgbot (developer) 2015-01-09 14:36 |
Repository: erp/pmods/org.openbravo.retail.posterminal Changeset: 107c621ecd4e649b2eee601aa6d4dc1c6e94aa6a Author: Guillermo Gil <guillermo.gil <at> openbravo.com> Date: Thu Jan 08 17:02:17 2015 +0100 URL: http://code.openbravo.com/erp/pmods/org.openbravo.retail.posterminal/rev/107c621ecd4e649b2eee601aa6d4dc1c6e94aa6a [^] Fixed issue 27722:Possibility to leave a payment method without financial account Added the infrastucture to allow payment methods without finacc if they are checked as leave as credit Added sanity checks and query filters to take the development into account --- M src-db/database/model/tables/OBPOS_APP_PAYMENT.xml M src-db/database/model/tables/OBPOS_APP_PAYMENT_TYPE.xml M src-db/database/sourcedata/AD_COLUMN.xml M src-db/database/sourcedata/AD_ELEMENT.xml M src-db/database/sourcedata/AD_FIELD.xml M src-db/database/sourcedata/AD_MESSAGE.xml M src-db/database/sourcedata/AD_VAL_RULE.xml M src/org/openbravo/retail/posterminal/CashCloseProcessor.java M src/org/openbravo/retail/posterminal/InitialValidations.java M src/org/openbravo/retail/posterminal/OrderLoader.java M src/org/openbravo/retail/posterminal/ProcessCashClose.java M src/org/openbravo/retail/posterminal/ProcessVoidLayaway.java M src/org/openbravo/retail/posterminal/ad_reports/CashUpReport.java M src/org/openbravo/retail/posterminal/term/Payments.java M web/org.openbravo.retail.posterminal/js/pointofsale/model/pointofsale-model.js A src-db/database/sourcedata/AD_AUXILIARINPUT.xml A src/org/openbravo/retail/posterminal/event/PaymentMethodEventHandler.java A src/org/openbravo/retail/posterminal/event/PaymentMethodTypeEventHandler.java --- |
![]() |
|||
Date Modified | Username | Field | Change |
2014-10-01 08:54 | guillermogil | New Issue | |
2014-10-01 08:54 | guillermogil | Assigned To | => guillermogil |
2014-10-01 08:54 | guillermogil | OBNetwork customer | => No |
2014-10-01 08:54 | guillermogil | Triggers an Emergency Pack | => No |
2014-10-01 15:44 | guillermogil | Issue Monitored: marvintm | |
2014-10-01 15:45 | guillermogil | File Added: paymentWithoutFinAcc.diff | |
2014-10-01 15:45 | guillermogil | Review Assigned To | => marvintm |
2014-10-01 15:45 | guillermogil | Note Added: 0070609 | |
2014-10-02 13:14 | guillermogil | File Deleted: paymentWithoutFinAcc.diff | |
2014-10-02 13:14 | guillermogil | File Added: paymentWithoutFinAcc.diff | |
2014-10-27 15:04 | guillermogil | Assigned To | guillermogil => marvintm |
2014-11-05 10:33 | guillermogil | Relationship added | related to 0028086 |
2014-11-26 11:01 | guillermogil | Relationship added | related to 0028287 |
2015-01-08 16:35 | guillermogil | File Added: paymentWithoutFinAccPI.diff | |
2015-01-08 16:35 | guillermogil | Note Added: 0073372 | |
2015-01-08 16:36 | guillermogil | Assigned To | marvintm => guillermogil |
2015-01-09 14:36 | hgbot | Checkin | |
2015-01-09 14:36 | hgbot | Note Added: 0073398 | |
2015-01-09 14:36 | hgbot | Status | new => resolved |
2015-01-09 14:36 | hgbot | Resolution | open => fixed |
2015-01-09 14:36 | hgbot | Fixed in SCM revision | => http://code.openbravo.com/erp/pmods/org.openbravo.retail.posterminal/rev/107c621ecd4e649b2eee601aa6d4dc1c6e94aa6a [^] |
2015-01-16 13:05 | marvintm | Status | resolved => closed |
2015-01-16 13:05 | marvintm | Fixed in Version | => RR15Q1 |
2015-01-19 15:44 | guillermogil | Relationship added | related to 0028678 |
2015-01-31 10:46 | mtaal | Fixed in Version | RR15Q1 => RR15Q2 |
2015-09-08 11:42 | Orekaria | Relationship added | causes 0030550 |
Copyright © 2000 - 2009 MantisBT Group |