Attached Files | 40441_1.diff [^] (1,015 bytes) 2019-03-26 12:17 [Show Content] [Hide Content]diff --git a/web/org.openbravo.retail.posterminal/js/components/modalsplitlines.js b/web/org.openbravo.retail.posterminal/js/components/modalsplitlines.js
--- a/web/org.openbravo.retail.posterminal/js/components/modalsplitlines.js
+++ b/web/org.openbravo.retail.posterminal/js/components/modalsplitlines.js
@@ -436,7 +436,7 @@
return promo.manual;
});
_.forEach(promotionManual, function (promo, index) {
- if (promo.discountType === 'D1D193305A6443B09B299259493B272A' || promo.discountType === '7B49D8CC4E084A75B7CB4D85A6A3A578') {
+ if (promo.discountType === 'D1D193305A6443B09B299259493B272A' || promo.discountType === '7B49D8CC4E084A75B7CB4D85A6A3A578' || promo.discountType === 'F3B0FB45297844549D9E6B5F03B23A82') {
var adjustedPromotion = this.getAdjustedPromotion(promo, this.orderline.get('qty'));
var splittedAmount = _.reduce(this.splittedLines, function (sum, line) {
var linePromo = _.find(line.get('promotions'), function (lp) {
40441_3.diff [^] (1,108 bytes) 2019-03-26 12:18 [Show Content] [Hide Content]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
@@ -41,7 +41,7 @@
<!--22948CD8B1254D90A355A00548A6F539--> <AD_COLUMN_ID><![CDATA[DF71B32B41954952B8F3606BAE52BF24]]></AD_COLUMN_ID>
<!--22948CD8B1254D90A355A00548A6F539--> <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD>
<!--22948CD8B1254D90A355A00548A6F539--> <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
-<!--22948CD8B1254D90A355A00548A6F539--> <DISPLAYLOGIC><![CDATA[@M_Offer_Type_ID@='D1D193305A6443B09B299259493B272A' | @M_Offer_Type_ID@='20E4EC27397344309A2185097392D964' |
+<!--22948CD8B1254D90A355A00548A6F539--> <DISPLAYLOGIC><![CDATA[@M_Offer_Type_ID@='D1D193305A6443B09B299259493B272A' | @M_Offer_Type_ID@='F3B0FB45297844549D9E6B5F03B23A82' | @M_Offer_Type_ID@='20E4EC27397344309A2185097392D964' |
@M_Offer_Type_ID@='7B49D8CC4E084A75B7CB4D85A6A3A578' |
@M_Offer_Type_ID@='8338556C0FBF45249512DB343FEFD280']]></DISPLAYLOGIC>
<!--22948CD8B1254D90A355A00548A6F539--> <DISPLAYLENGTH><![CDATA[32]]></DISPLAYLENGTH>
40441_4.diff [^] (1,386 bytes) 2019-03-26 12:18 [Show Content] [Hide Content]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
@@ -345,7 +345,7 @@
<!--A88B9D3EE9924E25A4E51D3D8DC4E0CE--> <AD_COLUMN_ID><![CDATA[D9A0129498144A299B1DEDDE1F18F83E]]></AD_COLUMN_ID>
<!--A88B9D3EE9924E25A4E51D3D8DC4E0CE--> <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD>
<!--A88B9D3EE9924E25A4E51D3D8DC4E0CE--> <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
-<!--A88B9D3EE9924E25A4E51D3D8DC4E0CE--> <DISPLAYLOGIC><![CDATA[@M_Offer_Type_ID@!'7B49D8CC4E084A75B7CB4D85A6A3A578' & @M_Offer_Type_ID@!'20E4EC27397344309A2185097392D964' &@M_Offer_Type_ID@!'8338556C0FBF45249512DB343FEFD280' & @M_Offer_Type_ID@!'D1D193305A6443B09B299259493B272A']]></DISPLAYLOGIC>
+<!--A88B9D3EE9924E25A4E51D3D8DC4E0CE--> <DISPLAYLOGIC><![CDATA[@M_Offer_Type_ID@!'7B49D8CC4E084A75B7CB4D85A6A3A578' & @M_Offer_Type_ID@!'F3B0FB45297844549D9E6B5F03B23A82' & @M_Offer_Type_ID@!'20E4EC27397344309A2185097392D964' & @M_Offer_Type_ID@!'8338556C0FBF45249512DB343FEFD280' & @M_Offer_Type_ID@!'D1D193305A6443B09B299259493B272A']]></DISPLAYLOGIC>
<!--A88B9D3EE9924E25A4E51D3D8DC4E0CE--> <DISPLAYLENGTH><![CDATA[1]]></DISPLAYLENGTH>
<!--A88B9D3EE9924E25A4E51D3D8DC4E0CE--> <ISREADONLY><![CDATA[N]]></ISREADONLY>
<!--A88B9D3EE9924E25A4E51D3D8DC4E0CE--> <SEQNO><![CDATA[315]]></SEQNO>
40441_5.diff [^] (522 bytes) 2019-03-26 12:18 [Show Content] [Hide Content]diff --git a/web/org.openbravo.retail.posterminal/js/model/order.js b/web/org.openbravo.retail.posterminal/js/model/order.js
--- a/web/org.openbravo.retail.posterminal/js/model/order.js
+++ b/web/org.openbravo.retail.posterminal/js/model/order.js
@@ -3254,7 +3254,7 @@
disc.chunks = undefined;
}
-
+ disc.obdiscLineFinalgross = rule.get('obdiscLineFinalgross');
disc.hidden = discount.hidden === true || (discount.actualAmt && !disc.amt);
disc.preserve = discount.preserve === true;
40441_6.diff [^] (626 bytes) 2019-03-26 14:24 [Show Content] [Hide Content]diff --git a/web/org.openbravo.retail.discounts.category/js/discountsButton.js b/web/org.openbravo.retail.discounts.category/js/discountsButton.js
--- a/web/org.openbravo.retail.discounts.category/js/discountsButton.js
+++ b/web/org.openbravo.retail.discounts.category/js/discountsButton.js
@@ -226,7 +231,7 @@
this.inherited(arguments);
this.doChangeDiscount({
model: this.model,
- amt: this.amt,
+ amt: !OB.UTIL.isNullOrUndefined(this.amt) ? this.amt : this.model.get('obdiscLineFinalgross'),
originalText: this.originalText,
units: this.units,
requiresQty: this.requiresQty,
40441_2.diff [^] (17,944 bytes) 2019-03-26 14:26 [Show Content] [Hide Content]diff --git a/src-db/database/model/modifiedTables/M_OFFER.xml b/src-db/database/model/modifiedTables/M_OFFER.xml
--- a/src-db/database/model/modifiedTables/M_OFFER.xml
+++ b/src-db/database/model/modifiedTables/M_OFFER.xml
@@ -61,6 +61,10 @@
<default><![CDATA[N]]></default>
<onCreateDefault/>
</column>
+ <column name="EM_OBDISC_LINE_FINALGROSS" primaryKey="false" required="false" type="DECIMAL" autoIncrement="false">
+ <default/>
+ <onCreateDefault/>
+ </column>
<foreign-key foreignTable="C_CURRENCY" name="EM_OBDISC_CURRENCY">
<reference local="EM_OBDISC_C_CURRENCY_ID" foreign="C_CURRENCY_ID"/>
</foreign-key>
diff --git a/src-db/database/model/triggers/OBDISC_OFFER_TRG.xml b/src-db/database/model/triggers/OBDISC_OFFER_TRG.xml
--- a/src-db/database/model/triggers/OBDISC_OFFER_TRG.xml
+++ b/src-db/database/model/triggers/OBDISC_OFFER_TRG.xml
@@ -16,12 +16,16 @@
RAISE_APPLICATION_ERROR(-20000, '@OBDISC_MandatoryAmount@');
end if;
+ if :new.m_offer_type_id = 'F3B0FB45297844549D9E6B5F03B23A82' and :new.em_obdisc_line_finalgross is null then --User Defined Line Amount
+ RAISE_APPLICATION_ERROR(-20000, '@OBDISC_LineFinalGross@');
+ end if;
+
if :new.m_offer_type_id = '8338556C0FBF45249512DB343FEFD280' and :new.em_obdisc_percentage is null then --Discretionary Fixed Percentage
RAISE_APPLICATION_ERROR(-20000, '@OBDISC_MandatoryPercentage@');
end if;
-- check currency is set if price is present
- if :new.em_obdisc_price is not null or :new.em_obdisc_amt is not null then
+ if :new.em_obdisc_price is not null or :new.em_obdisc_amt is not null or :new.em_obdisc_line_finalgross is not null then
if :new.em_obdisc_c_currency_id is null then
RAISE_APPLICATION_ERROR(-20000, '@OBDISC_MandatoryCurrency@');
end if;
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
@@ -614,6 +614,42 @@
<!--7F213AD63DFF42F294DA59B25A2AFCC4--> <ALLOWED_CROSS_ORG_LINK><![CDATA[N]]></ALLOWED_CROSS_ORG_LINK>
<!--7F213AD63DFF42F294DA59B25A2AFCC4--></AD_COLUMN>
+<!--99D8D7AE772848F089E1D33EEFA4FEE1--><AD_COLUMN>
+<!--99D8D7AE772848F089E1D33EEFA4FEE1--> <AD_COLUMN_ID><![CDATA[99D8D7AE772848F089E1D33EEFA4FEE1]]></AD_COLUMN_ID>
+<!--99D8D7AE772848F089E1D33EEFA4FEE1--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--99D8D7AE772848F089E1D33EEFA4FEE1--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--99D8D7AE772848F089E1D33EEFA4FEE1--> <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--99D8D7AE772848F089E1D33EEFA4FEE1--> <NAME><![CDATA[EM_Obdisc_Line_Finalgross]]></NAME>
+<!--99D8D7AE772848F089E1D33EEFA4FEE1--> <COLUMNNAME><![CDATA[EM_Obdisc_Line_Finalgross]]></COLUMNNAME>
+<!--99D8D7AE772848F089E1D33EEFA4FEE1--> <AD_TABLE_ID><![CDATA[800062]]></AD_TABLE_ID>
+<!--99D8D7AE772848F089E1D33EEFA4FEE1--> <AD_REFERENCE_ID><![CDATA[800008]]></AD_REFERENCE_ID>
+<!--99D8D7AE772848F089E1D33EEFA4FEE1--> <FIELDLENGTH><![CDATA[8]]></FIELDLENGTH>
+<!--99D8D7AE772848F089E1D33EEFA4FEE1--> <ISKEY><![CDATA[N]]></ISKEY>
+<!--99D8D7AE772848F089E1D33EEFA4FEE1--> <ISPARENT><![CDATA[N]]></ISPARENT>
+<!--99D8D7AE772848F089E1D33EEFA4FEE1--> <ISMANDATORY><![CDATA[N]]></ISMANDATORY>
+<!--99D8D7AE772848F089E1D33EEFA4FEE1--> <ISUPDATEABLE><![CDATA[Y]]></ISUPDATEABLE>
+<!--99D8D7AE772848F089E1D33EEFA4FEE1--> <ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER>
+<!--99D8D7AE772848F089E1D33EEFA4FEE1--> <SEQNO><![CDATA[610]]></SEQNO>
+<!--99D8D7AE772848F089E1D33EEFA4FEE1--> <ISTRANSLATED><![CDATA[N]]></ISTRANSLATED>
+<!--99D8D7AE772848F089E1D33EEFA4FEE1--> <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--99D8D7AE772848F089E1D33EEFA4FEE1--> <ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN>
+<!--99D8D7AE772848F089E1D33EEFA4FEE1--> <AD_ELEMENT_ID><![CDATA[2C6D26E5DB10440FAB39056230AB6462]]></AD_ELEMENT_ID>
+<!--99D8D7AE772848F089E1D33EEFA4FEE1--> <ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR>
+<!--99D8D7AE772848F089E1D33EEFA4FEE1--> <ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY>
+<!--99D8D7AE772848F089E1D33EEFA4FEE1--> <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE>
+<!--99D8D7AE772848F089E1D33EEFA4FEE1--> <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS>
+<!--99D8D7AE772848F089E1D33EEFA4FEE1--> <AD_MODULE_ID><![CDATA[B0801CBD73C74727AA4E27E8B2C206F6]]></AD_MODULE_ID>
+<!--99D8D7AE772848F089E1D33EEFA4FEE1--> <POSITION><![CDATA[58]]></POSITION>
+<!--99D8D7AE772848F089E1D33EEFA4FEE1--> <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT>
+<!--99D8D7AE772848F089E1D33EEFA4FEE1--> <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE>
+<!--99D8D7AE772848F089E1D33EEFA4FEE1--> <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
+<!--99D8D7AE772848F089E1D33EEFA4FEE1--> <IMAGESIZEVALUESACTION><![CDATA[N]]></IMAGESIZEVALUESACTION>
+<!--99D8D7AE772848F089E1D33EEFA4FEE1--> <ISUSEDSEQUENCE><![CDATA[N]]></ISUSEDSEQUENCE>
+<!--99D8D7AE772848F089E1D33EEFA4FEE1--> <ALLOWSORTING><![CDATA[Y]]></ALLOWSORTING>
+<!--99D8D7AE772848F089E1D33EEFA4FEE1--> <ALLOWFILTERING><![CDATA[Y]]></ALLOWFILTERING>
+<!--99D8D7AE772848F089E1D33EEFA4FEE1--> <ALLOWED_CROSS_ORG_LINK><![CDATA[N]]></ALLOWED_CROSS_ORG_LINK>
+<!--99D8D7AE772848F089E1D33EEFA4FEE1--></AD_COLUMN>
+
<!--9B347F231C314B23A2F0401A673D5514--><AD_COLUMN>
<!--9B347F231C314B23A2F0401A673D5514--> <AD_COLUMN_ID><![CDATA[9B347F231C314B23A2F0401A673D5514]]></AD_COLUMN_ID>
<!--9B347F231C314B23A2F0401A673D5514--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
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
@@ -55,6 +55,18 @@
<!--27E0DF5BFEFC49FDB9964083E699AA74--> <ISGLOSSARY><![CDATA[N]]></ISGLOSSARY>
<!--27E0DF5BFEFC49FDB9964083E699AA74--></AD_ELEMENT>
+<!--2C6D26E5DB10440FAB39056230AB6462--><AD_ELEMENT>
+<!--2C6D26E5DB10440FAB39056230AB6462--> <AD_ELEMENT_ID><![CDATA[2C6D26E5DB10440FAB39056230AB6462]]></AD_ELEMENT_ID>
+<!--2C6D26E5DB10440FAB39056230AB6462--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--2C6D26E5DB10440FAB39056230AB6462--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--2C6D26E5DB10440FAB39056230AB6462--> <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--2C6D26E5DB10440FAB39056230AB6462--> <COLUMNNAME><![CDATA[EM_Obdisc_Line_Finalgross]]></COLUMNNAME>
+<!--2C6D26E5DB10440FAB39056230AB6462--> <NAME><![CDATA[Line Final Gross]]></NAME>
+<!--2C6D26E5DB10440FAB39056230AB6462--> <PRINTNAME><![CDATA[Line Final Gross]]></PRINTNAME>
+<!--2C6D26E5DB10440FAB39056230AB6462--> <AD_MODULE_ID><![CDATA[B0801CBD73C74727AA4E27E8B2C206F6]]></AD_MODULE_ID>
+<!--2C6D26E5DB10440FAB39056230AB6462--> <ISGLOSSARY><![CDATA[N]]></ISGLOSSARY>
+<!--2C6D26E5DB10440FAB39056230AB6462--></AD_ELEMENT>
+
<!--302474B973F640BD9D96448C22F82D8B--><AD_ELEMENT>
<!--302474B973F640BD9D96448C22F82D8B--> <AD_ELEMENT_ID><![CDATA[302474B973F640BD9D96448C22F82D8B]]></AD_ELEMENT_ID>
<!--302474B973F640BD9D96448C22F82D8B--> <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
@@ -388,6 +388,33 @@
<!--AD347FECB0274F7A9E931AF5B25B51C8--> <EM_OBUIAPP_SHOWSUMMARY><![CDATA[N]]></EM_OBUIAPP_SHOWSUMMARY>
<!--AD347FECB0274F7A9E931AF5B25B51C8--></AD_FIELD>
+<!--B8084250700740AE8C6453A023161923--><AD_FIELD>
+<!--B8084250700740AE8C6453A023161923--> <AD_FIELD_ID><![CDATA[B8084250700740AE8C6453A023161923]]></AD_FIELD_ID>
+<!--B8084250700740AE8C6453A023161923--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--B8084250700740AE8C6453A023161923--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--B8084250700740AE8C6453A023161923--> <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--B8084250700740AE8C6453A023161923--> <NAME><![CDATA[Line Final Gross]]></NAME>
+<!--B8084250700740AE8C6453A023161923--> <ISCENTRALLYMAINTAINED><![CDATA[Y]]></ISCENTRALLYMAINTAINED>
+<!--B8084250700740AE8C6453A023161923--> <AD_TAB_ID><![CDATA[800079]]></AD_TAB_ID>
+<!--B8084250700740AE8C6453A023161923--> <AD_COLUMN_ID><![CDATA[99D8D7AE772848F089E1D33EEFA4FEE1]]></AD_COLUMN_ID>
+<!--B8084250700740AE8C6453A023161923--> <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD>
+<!--B8084250700740AE8C6453A023161923--> <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
+<!--B8084250700740AE8C6453A023161923--> <DISPLAYLOGIC><![CDATA[@M_Offer_Type_ID@='F3B0FB45297844549D9E6B5F03B23A82']]></DISPLAYLOGIC>
+<!--B8084250700740AE8C6453A023161923--> <DISPLAYLENGTH><![CDATA[8]]></DISPLAYLENGTH>
+<!--B8084250700740AE8C6453A023161923--> <ISREADONLY><![CDATA[N]]></ISREADONLY>
+<!--B8084250700740AE8C6453A023161923--> <SEQNO><![CDATA[280]]></SEQNO>
+<!--B8084250700740AE8C6453A023161923--> <ISSAMELINE><![CDATA[N]]></ISSAMELINE>
+<!--B8084250700740AE8C6453A023161923--> <ISFIELDONLY><![CDATA[N]]></ISFIELDONLY>
+<!--B8084250700740AE8C6453A023161923--> <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--B8084250700740AE8C6453A023161923--> <SHOWINRELATION><![CDATA[Y]]></SHOWINRELATION>
+<!--B8084250700740AE8C6453A023161923--> <ISFIRSTFOCUSEDFIELD><![CDATA[N]]></ISFIRSTFOCUSEDFIELD>
+<!--B8084250700740AE8C6453A023161923--> <AD_MODULE_ID><![CDATA[B0801CBD73C74727AA4E27E8B2C206F6]]></AD_MODULE_ID>
+<!--B8084250700740AE8C6453A023161923--> <STARTINODDCOLUMN><![CDATA[N]]></STARTINODDCOLUMN>
+<!--B8084250700740AE8C6453A023161923--> <STARTNEWLINE><![CDATA[N]]></STARTNEWLINE>
+<!--B8084250700740AE8C6453A023161923--> <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR>
+<!--B8084250700740AE8C6453A023161923--> <EM_OBUIAPP_SHOWSUMMARY><![CDATA[N]]></EM_OBUIAPP_SHOWSUMMARY>
+<!--B8084250700740AE8C6453A023161923--></AD_FIELD>
+
<!--BAFBCF51844C48EC8BED01A9210F8023--><AD_FIELD>
<!--BAFBCF51844C48EC8BED01A9210F8023--> <AD_FIELD_ID><![CDATA[BAFBCF51844C48EC8BED01A9210F8023]]></AD_FIELD_ID>
<!--BAFBCF51844C48EC8BED01A9210F8023--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -400,7 +427,7 @@
<!--BAFBCF51844C48EC8BED01A9210F8023--> <AD_COLUMN_ID><![CDATA[028CC4B3966643ACB62569A508400BCB]]></AD_COLUMN_ID>
<!--BAFBCF51844C48EC8BED01A9210F8023--> <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD>
<!--BAFBCF51844C48EC8BED01A9210F8023--> <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
-<!--BAFBCF51844C48EC8BED01A9210F8023--> <DISPLAYLOGIC><![CDATA[@M_Offer_Type_ID@='D1D193305A6443B09B299259493B272A'|@M_Offer_Type_ID@='7B49D8CC4E084A75B7CB4D85A6A3A578']]></DISPLAYLOGIC>
+<!--BAFBCF51844C48EC8BED01A9210F8023--> <DISPLAYLOGIC><![CDATA[@M_Offer_Type_ID@='D1D193305A6443B09B299259493B272A' | @M_Offer_Type_ID@='7B49D8CC4E084A75B7CB4D85A6A3A578']]></DISPLAYLOGIC>
<!--BAFBCF51844C48EC8BED01A9210F8023--> <DISPLAYLENGTH><![CDATA[8]]></DISPLAYLENGTH>
<!--BAFBCF51844C48EC8BED01A9210F8023--> <ISREADONLY><![CDATA[N]]></ISREADONLY>
<!--BAFBCF51844C48EC8BED01A9210F8023--> <SEQNO><![CDATA[255]]></SEQNO>
@@ -482,7 +509,7 @@
<!--DAC9395999C04B75849FD1F00621F426--> <AD_COLUMN_ID><![CDATA[A08BA32D319F41469990060D6D2A67A1]]></AD_COLUMN_ID>
<!--DAC9395999C04B75849FD1F00621F426--> <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD>
<!--DAC9395999C04B75849FD1F00621F426--> <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
-<!--DAC9395999C04B75849FD1F00621F426--> <DISPLAYLOGIC><![CDATA[@M_Offer_Type_ID@='BE5D42E554644B6AA262CCB097753951'|@M_Offer_Type_ID@='D1D193305A6443B09B299259493B272A'|@M_Offer_Type_ID@='7B49D8CC4E084A75B7CB4D85A6A3A578']]></DISPLAYLOGIC>
+<!--DAC9395999C04B75849FD1F00621F426--> <DISPLAYLOGIC><![CDATA[@M_Offer_Type_ID@='BE5D42E554644B6AA262CCB097753951' | @M_Offer_Type_ID@='F3B0FB45297844549D9E6B5F03B23A82' | @M_Offer_Type_ID@='D1D193305A6443B09B299259493B272A' | @M_Offer_Type_ID@='7B49D8CC4E084A75B7CB4D85A6A3A578']]></DISPLAYLOGIC>
<!--DAC9395999C04B75849FD1F00621F426--> <DISPLAYLENGTH><![CDATA[32]]></DISPLAYLENGTH>
<!--DAC9395999C04B75849FD1F00621F426--> <ISREADONLY><![CDATA[N]]></ISREADONLY>
<!--DAC9395999C04B75849FD1F00621F426--> <SEQNO><![CDATA[260]]></SEQNO>
@@ -512,7 +539,7 @@
<!--E348A0008E8C43F2AFB9DE815D6FA699--> <AD_COLUMN_ID><![CDATA[AF0949F54B654ED983735E239B16FACD]]></AD_COLUMN_ID>
<!--E348A0008E8C43F2AFB9DE815D6FA699--> <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD>
<!--E348A0008E8C43F2AFB9DE815D6FA699--> <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
-<!--E348A0008E8C43F2AFB9DE815D6FA699--> <DISPLAYLOGIC><![CDATA[@M_Offer_Type_ID@='8338556C0FBF45249512DB343FEFD280'|@M_Offer_Type_ID@='20E4EC27397344309A2185097392D964'|@M_Offer_Type_ID@='7B49D8CC4E084A75B7CB4D85A6A3A578'|@M_Offer_Type_ID@='D1D193305A6443B09B299259493B272A'|@M_Offer_Type_ID@='4776954A80E747C5BAA565AD464759BF']]></DISPLAYLOGIC>
+<!--E348A0008E8C43F2AFB9DE815D6FA699--> <DISPLAYLOGIC><![CDATA[@M_Offer_Type_ID@='8338556C0FBF45249512DB343FEFD280' | @M_Offer_Type_ID@='F3B0FB45297844549D9E6B5F03B23A82' | @M_Offer_Type_ID@='20E4EC27397344309A2185097392D964' | @M_Offer_Type_ID@='7B49D8CC4E084A75B7CB4D85A6A3A578' | @M_Offer_Type_ID@='D1D193305A6443B09B299259493B272A' | @M_Offer_Type_ID@='4776954A80E747C5BAA565AD464759BF']]></DISPLAYLOGIC>
<!--E348A0008E8C43F2AFB9DE815D6FA699--> <DISPLAYLENGTH><![CDATA[1]]></DISPLAYLENGTH>
<!--E348A0008E8C43F2AFB9DE815D6FA699--> <ISREADONLY><![CDATA[N]]></ISREADONLY>
<!--E348A0008E8C43F2AFB9DE815D6FA699--> <SEQNO><![CDATA[300]]></SEQNO>
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
@@ -72,6 +72,18 @@
<!--5E93F1C12B5345FFA18682333C7C35EF--> <ISINCLUDEINI18N><![CDATA[N]]></ISINCLUDEINI18N>
<!--5E93F1C12B5345FFA18682333C7C35EF--></AD_MESSAGE>
+<!--6FAA31CF85054D63AC9FA6CCC58F3551--><AD_MESSAGE>
+<!--6FAA31CF85054D63AC9FA6CCC58F3551--> <AD_MESSAGE_ID><![CDATA[6FAA31CF85054D63AC9FA6CCC58F3551]]></AD_MESSAGE_ID>
+<!--6FAA31CF85054D63AC9FA6CCC58F3551--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--6FAA31CF85054D63AC9FA6CCC58F3551--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--6FAA31CF85054D63AC9FA6CCC58F3551--> <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--6FAA31CF85054D63AC9FA6CCC58F3551--> <VALUE><![CDATA[OBDISC_LineFinalGross]]></VALUE>
+<!--6FAA31CF85054D63AC9FA6CCC58F3551--> <MSGTEXT><![CDATA[Line Final Gross field is mandatory.]]></MSGTEXT>
+<!--6FAA31CF85054D63AC9FA6CCC58F3551--> <MSGTYPE><![CDATA[E]]></MSGTYPE>
+<!--6FAA31CF85054D63AC9FA6CCC58F3551--> <AD_MODULE_ID><![CDATA[B0801CBD73C74727AA4E27E8B2C206F6]]></AD_MODULE_ID>
+<!--6FAA31CF85054D63AC9FA6CCC58F3551--> <ISINCLUDEINI18N><![CDATA[N]]></ISINCLUDEINI18N>
+<!--6FAA31CF85054D63AC9FA6CCC58F3551--></AD_MESSAGE>
+
<!--7EF55187858149578C54B1FD0A493DA7--><AD_MESSAGE>
<!--7EF55187858149578C54B1FD0A493DA7--> <AD_MESSAGE_ID><![CDATA[7EF55187858149578C54B1FD0A493DA7]]></AD_MESSAGE_ID>
<!--7EF55187858149578C54B1FD0A493DA7--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff --git a/src-db/database/sourcedata/M_OFFER_TYPE.xml b/src-db/database/sourcedata/M_OFFER_TYPE.xml
--- a/src-db/database/sourcedata/M_OFFER_TYPE.xml
+++ b/src-db/database/sourcedata/M_OFFER_TYPE.xml
@@ -100,4 +100,15 @@
<!--E08EE3C23EBA49358A881EF06C139D63--> <EM_OBPOS_ISCATEGORY><![CDATA[N]]></EM_OBPOS_ISCATEGORY>
<!--E08EE3C23EBA49358A881EF06C139D63--></M_OFFER_TYPE>
+<!--F3B0FB45297844549D9E6B5F03B23A82--><M_OFFER_TYPE>
+<!--F3B0FB45297844549D9E6B5F03B23A82--> <M_OFFER_TYPE_ID><![CDATA[F3B0FB45297844549D9E6B5F03B23A82]]></M_OFFER_TYPE_ID>
+<!--F3B0FB45297844549D9E6B5F03B23A82--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--F3B0FB45297844549D9E6B5F03B23A82--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--F3B0FB45297844549D9E6B5F03B23A82--> <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--F3B0FB45297844549D9E6B5F03B23A82--> <AD_MODULE_ID><![CDATA[B0801CBD73C74727AA4E27E8B2C206F6]]></AD_MODULE_ID>
+<!--F3B0FB45297844549D9E6B5F03B23A82--> <NAME><![CDATA[User Defined Line Amount]]></NAME>
+<!--F3B0FB45297844549D9E6B5F03B23A82--> <DESCRIPTION><![CDATA[Discretionary discount that allows user to set the amount of the line. This discount is never automatically applied.]]></DESCRIPTION>
+<!--F3B0FB45297844549D9E6B5F03B23A82--> <EM_OBPOS_ISCATEGORY><![CDATA[N]]></EM_OBPOS_ISCATEGORY>
+<!--F3B0FB45297844549D9E6B5F03B23A82--></M_OFFER_TYPE>
+
</data>
diff --git a/web/org.openbravo.retail.discounts/js/promotion-manual.js b/web/org.openbravo.retail.discounts/js/promotion-manual.js
--- a/web/org.openbravo.retail.discounts/js/promotion-manual.js
+++ b/web/org.openbravo.retail.discounts/js/promotion-manual.js
@@ -66,6 +66,36 @@
}
};
+ // User Defined Line Amount
+ OB.Model.Discounts.discountRules.F3B0FB45297844549D9E6B5F03B23A82 = {
+ isManual: true,
+ isFixed: false,
+ isAmount: true,
+ previousPromotion: {},
+ addManual: function(receipt, line, promotion) {
+ if (promotion && promotion.definition && promotion.rule && !OB.UTIL.isNullOrUndefined(promotion.rule.get('obdiscLineFinalgross'))) {
+ var amount = promotion.rule.get('obdiscLineFinalgross');
+ if (!promotion.instance || promotion.instance !== this.previousPromotion.promotionInstance) {
+ this.previousPromotion.promotionInstance = OB.UTIL.get_UUID();
+ promotion.instance = this.previousPromotion.promotionInstance;
+ this.previousPromotion.userAmt = amount;
+ } else {
+ amount = promotion.rule.get('obdiscLineFinalgross');
+ }
+ var finalAmount = OB.DEC.sub(line.getTotalLine(), amount);
+ if (finalAmount > 0) {
+ promotion.definition.userAmt = finalAmount;
+ } else {
+ promotion.definition.userAmt = line.getTotalLine();
+ }
+ }
+ add(receipt, line, promotion);
+ },
+ getAmountProperty: function() {
+ return 'obdiscAmt';
+ }
+ };
+
// Discretionary Discount Fixed Amount
OB.Model.Discounts.discountRules['7B49D8CC4E084A75B7CB4D85A6A3A578'] = {
isManual: true,
|