details: https://code.openbravo.com/erp/devel/pi/rev/72b43cae0aef changeset: 13801:72b43cae0aef user: Víctor Martínez Romanos <victor.martinez <at> openbravo.com> date: Mon Sep 19 13:38:52 2011 +0200 summary: Fixed issue 18342: Added accounting dimensions to GL Items created through a payment - Modified UI: * Payment In/Out | Add Details popup. When selecting GL Item, the configured by the user Accounting Dimensions are shown. When adding a GL Item, the associatted acct. dimension will be shown in the included GL Item table * Payment In/Out | Lines. The accounting dimensions related to the GL Items are shown
- The accounting for Payments, Transactions and Reconciliations has been updated to take into account the acct. dimensions for GL Items details: https://code.openbravo.com/erp/devel/pi/rev/c5dbabaa1c81 changeset: 13802:c5dbabaa1c81 user: Víctor Martínez Romanos <victor.martinez <at> openbravo.com> date: Tue Sep 20 09:19:45 2011 +0200 summary: Issue 18342: updated AD_TEXTINTERFACES diffstat: modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_TEXTINTERFACES.xml | 22 + modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddOrderOrInvoice.html | 231 +++++- modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddOrderOrInvoice.java | 59 +- modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddOrderOrInvoice.xml | 8 + modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddPaymentFromTransaction.html | 231 +++++- modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddPaymentFromTransaction.java | 66 +- modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddPaymentFromTransaction.xml | 8 + modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/dao/AdvPaymentMngtDao.java | 32 + modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_AddPayment.java | 48 + src-db/database/model/tables/FIN_PAYMENT_SCHEDULEDETAIL.xml | 42 + src-db/database/model/views/FIN_PAYMENT_DETAIL_V.xml | 2 +- src-db/database/sourcedata/AD_COLUMN.xml | 400 ++++++++++ src-db/database/sourcedata/AD_FIELD.xml | 348 ++++++++ src/org/openbravo/erpCommon/ad_forms/DocFINFinAccTransaction.java | 22 +- src/org/openbravo/erpCommon/ad_forms/DocFINPayment.java | 50 +- src/org/openbravo/erpCommon/ad_forms/DocFINReconciliation.java | 29 +- 16 files changed, 1550 insertions(+), 48 deletions(-) diffs (truncated from 2219 to 300 lines): diff -r f1b684a7b5ad -r c5dbabaa1c81 modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_TEXTINTERFACES.xml --- a/modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_TEXTINTERFACES.xml Tue Sep 20 10:28:51 2011 +0200 +++ b/modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_TEXTINTERFACES.xml Tue Sep 20 09:19:45 2011 +0200 @@ -2409,6 +2409,28 @@ <!--AC02A8EF9F4F4FF6A8011C70A0F8553C--> <AD_MODULE_ID><![CDATA[A918E3331C404B889D69AA9BFAFB23AC]]></AD_MODULE_ID> <!--AC02A8EF9F4F4FF6A8011C70A0F8553C--></AD_TEXTINTERFACES> +<!--AD4B47A653568779E040007F010055A7--><AD_TEXTINTERFACES> +<!--AD4B47A653568779E040007F010055A7--> <AD_TEXTINTERFACES_ID><![CDATA[AD4B47A653568779E040007F010055A7]]></AD_TEXTINTERFACES_ID> +<!--AD4B47A653568779E040007F010055A7--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--AD4B47A653568779E040007F010055A7--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--AD4B47A653568779E040007F010055A7--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--AD4B47A653568779E040007F010055A7--> <TEXT><![CDATA[Accounting Dimensions]]></TEXT> +<!--AD4B47A653568779E040007F010055A7--> <FILENAME><![CDATA[/org/openbravo/advpaymentmngt/ad_actionbutton/AddPaymentFromTransaction.html]]></FILENAME> +<!--AD4B47A653568779E040007F010055A7--> <ISUSED><![CDATA[Y]]></ISUSED> +<!--AD4B47A653568779E040007F010055A7--> <AD_MODULE_ID><![CDATA[A918E3331C404B889D69AA9BFAFB23AC]]></AD_MODULE_ID> +<!--AD4B47A653568779E040007F010055A7--></AD_TEXTINTERFACES> + +<!--AD4B47A653588779E040007F010055A7--><AD_TEXTINTERFACES> +<!--AD4B47A653588779E040007F010055A7--> <AD_TEXTINTERFACES_ID><![CDATA[AD4B47A653588779E040007F010055A7]]></AD_TEXTINTERFACES_ID> +<!--AD4B47A653588779E040007F010055A7--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--AD4B47A653588779E040007F010055A7--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--AD4B47A653588779E040007F010055A7--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--AD4B47A653588779E040007F010055A7--> <TEXT><![CDATA[Accounting Dimensions]]></TEXT> +<!--AD4B47A653588779E040007F010055A7--> <FILENAME><![CDATA[/org/openbravo/advpaymentmngt/ad_actionbutton/AddOrderOrInvoice.html]]></FILENAME> +<!--AD4B47A653588779E040007F010055A7--> <ISUSED><![CDATA[Y]]></ISUSED> +<!--AD4B47A653588779E040007F010055A7--> <AD_MODULE_ID><![CDATA[A918E3331C404B889D69AA9BFAFB23AC]]></AD_MODULE_ID> +<!--AD4B47A653588779E040007F010055A7--></AD_TEXTINTERFACES> + <!--AF139B1C12C0477AB902B9DF23D53779--><AD_TEXTINTERFACES> <!--AF139B1C12C0477AB902B9DF23D53779--> <AD_TEXTINTERFACES_ID><![CDATA[AF139B1C12C0477AB902B9DF23D53779]]></AD_TEXTINTERFACES_ID> <!--AF139B1C12C0477AB902B9DF23D53779--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> diff -r f1b684a7b5ad -r c5dbabaa1c81 modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddOrderOrInvoice.html --- a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddOrderOrInvoice.html Tue Sep 20 10:28:51 2011 +0200 +++ b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddOrderOrInvoice.html Tue Sep 20 09:19:45 2011 +0200 @@ -131,7 +131,8 @@ var table = document.getElementById('sectionGLItemGrid'), glitemCount = OB.APRM.APFT_GLItems.length, glitemAmount = 0, - rowCount, row, cellGLItemDesc, cellGLITemReceivedInAmt, cellGLITemPaidOutAmt, cellRemoveButton, i, textNode; + glitemDescLength = 20, glitemDescCont = "...", + cellCount, row, cellGLItemDesc, cellGLITemReceivedInAmt, cellGLITemPaidOutAmt, cellRemoveButton, i, textNode, glAcctDimsDesc, acctDim, cellGLItemDim; table.innerHTML = ''; if (glitemCount === 0) { @@ -140,31 +141,57 @@ } OB.APRM.HasGLItems = true; for (i = 0; i < glitemCount; i++) { - rowCount = table.rows.length; - row = table.insertRow(rowCount); + row = table.insertRow(table.rows.length); row.className = 'DataGrid_Body_Row DataGrid_Body_Row_'+i%2; + cellCount = 0; - cellGLItemDesc = row.insertCell(0); + cellGLItemDesc = row.insertCell(cellCount); textNode = document.createTextNode(OB.APRM.APFT_GLItems[i].glitemDesc); cellGLItemDesc.appendChild(textNode); cellGLItemDesc.className = 'DataGrid_Body_Cell'; + cellCount++; - cellGLITemReceivedInAmt = row.insertCell(1); + // Accounting Dimensions + glAcctDimsDesc = ["cBpartnerDimDesc", "cActivityDimDesc", "mProductDimDesc", "cCampaignDimDesc", "cProjectDimDesc", "cSalesregionDimDesc"]; + for (acctDim = 0; acctDim < glAcctDimsDesc.length; acctDim++) { + if (OB.APRM.APFT_GLItems[i][glAcctDimsDesc[acctDim]]) { + cellGLItemDim = row.insertCell(cellCount); + if (OB.APRM.APFT_GLItems[i][glAcctDimsDesc[acctDim]].length > glitemDescLength + glitemDescCont.length) { + textNode = document.createTextNode(OB.APRM.APFT_GLItems[i][glAcctDimsDesc[acctDim]].slice(0, glitemDescLength) + glitemDescCont); + } else { + textNode = document.createTextNode(OB.APRM.APFT_GLItems[i][glAcctDimsDesc[acctDim]]); + } + cellGLItemDim.appendChild(textNode); + cellGLItemDim.className = 'DataGrid_Body_Cell'; + cellCount++; + } else if (OB.APRM.APFT_GLItems[i][glAcctDimsDesc[acctDim].replace("Desc", "Displayed")]) { + // The Acct. Dimen is displayed and the user has left it empty + cellGLItemDim = row.insertCell(cellCount); + textNode = document.createTextNode(""); + cellGLItemDim.appendChild(textNode); + cellGLItemDim.className = 'DataGrid_Body_Cell'; + cellCount++; + } + } + + cellGLITemReceivedInAmt = row.insertCell(cellCount); textNode = document.createTextNode(applyFormatJSToOBMasked(OB.APRM.APFT_GLItems[i].glitemReceivedInAmt)); cellGLITemReceivedInAmt.appendChild(textNode); cellGLITemReceivedInAmt.className = 'DataGrid_Body_Cell_Amount'; + cellCount++; - cellGLITemPaidOutAmt = row.insertCell(2); + cellGLITemPaidOutAmt = row.insertCell(cellCount); textNode = document.createTextNode(applyFormatJSToOBMasked(OB.APRM.APFT_GLItems[i].glitemPaidOutAmt)); cellGLITemPaidOutAmt.appendChild(textNode); cellGLITemPaidOutAmt.className = 'DataGrid_Body_Cell_Amount'; + cellCount++; if (isTrue('isReceipt')) { glitemAmount = subtract(applyFormatJSToOBMasked(OB.APRM.APFT_GLItems[i].glitemReceivedInAmt), applyFormatJSToOBMasked(OB.APRM.APFT_GLItems[i].glitemPaidOutAmt)); } else { glitemAmount = subtract(applyFormatJSToOBMasked(OB.APRM.APFT_GLItems[i].glitemPaidOutAmt), applyFormatJSToOBMasked(OB.APRM.APFT_GLItems[i].glitemReceivedInAmt)); } - cellRemoveButton = row.insertCell(3); + cellRemoveButton = row.insertCell(cellCount); cellRemoveButton.innerHTML = '<div><button type="button" id="buttonRemoveGLItem"' + ' class="ButtonLink_focus" onclick="removeGLItem(' + i + ', ' + glitemAmount + ');return false;"' + ' onfocus="buttonEvent(\'onfocus\', this); window.status=\'OK\'; return true;"' @@ -224,6 +251,24 @@ id: OB.APRM.APFT_GLItemsId, glitemId: frm.inpcGlitemId.value, glitemDesc: sc_C_Glitem_ID.selectorField.getDisplayValue(), + cBpartnerDim: frm.inpCBPartnerId_dim && frm.inpCBPartnerId_dim.value, + cBpartnerDimDesc: sc_C_BPartner_ID_dim.selectorField.getDisplayValue(), + cBpartnerDimDisplayed: frm.strElement_BP.value, + cActivityDim: frm.inpCActivityId && frm.inpCActivityId.value, + cActivityDimDesc: sc_C_Activity_ID.selectorField.getDisplayValue(), + cActivityDimDisplayed: frm.strElement_AY.value, + mProductDim: frm.inpMProductId && frm.inpMProductId.value, + mProductDimDesc: sc_M_Product_ID.selectorField.getDisplayValue(), + mProductDimDisplayed: frm.strElement_PR.value, + cCampaignDim: frm.inpCampaignId && frm.inpCampaignId.value, + cCampaignDimDesc: sc_C_Campaign_ID.selectorField.getDisplayValue(), + cCampaignDimDisplayed: frm.strElement_MC.value, + cProjectDim: frm.inpCProjectId && frm.inpCProjectId.value, + cProjectDimDesc: sc_C_Project_ID.selectorField.getDisplayValue(), + cProjectDimDisplayed: frm.strElement_PJ.value, + cSalesregionDim: frm.inpCSalesRegionId && frm.inpCSalesRegionId.value, + cSalesregionDimDesc: sc_C_SalesRegion_ID.selectorField.getDisplayValue(), + cSalesregionDimDisplayed: frm.strElement_SR.value, glitemReceivedInAmt: OB.Utilities.Number.OBMaskedToJS(frm.inpGLItemReceivedInAmount.value, getGlobalDecSeparator(), getGlobalGroupSeparator()), @@ -360,6 +405,7 @@ } else { displayLogicElement('bpartnerfilterRow', !hasBPartner); } + autoDisplayLogicDimensions(toGLItem); resizeAreaCreateFrom(); if (toGLItem) { @@ -367,6 +413,59 @@ } return true; } +function autoDisplayLogicDimensions(isDisplayed) { + var displayLogicDimension = function (dimension, isDisplayed) { + displayLogicElement(dimension + '_dim_label', isDisplayed); + displayLogicElement(dimension + '_dim_inp', isDisplayed); + displayLogicElement(dimension + '_th', isDisplayed) + } + var displayTitle = false; + if (document.frmMain.strElement_BP.value === 'Y' && isDisplayed) { + displayLogicDimension('c_bpartner_id', true); + displayTitle = true; + } else { + displayLogicDimension('c_bpartner_id', false); + } + if (document.frmMain.strElement_AY.value === 'Y' && isDisplayed) { + displayLogicDimension('c_activity_id', true); + displayTitle = true; + } else { + displayLogicDimension('c_activity_id', false); + } + + if (document.frmMain.strElement_PR.value === 'Y' && isDisplayed) { + displayLogicDimension('m_product_id', true); + displayTitle = true; + } else { + displayLogicDimension('m_product_id', false); + } + if (document.frmMain.strElement_MC.value === 'Y' && isDisplayed) { + displayLogicDimension('c_campaign_id', true); + displayTitle = true; + } else { + displayLogicDimension('c_campaign_id', false); + } + + if (document.frmMain.strElement_PJ.value === 'Y' && isDisplayed) { + displayLogicDimension('c_project_id', true); + displayTitle = true; + } else { + displayLogicDimension('c_project_id', false); + } + if (document.frmMain.strElement_SR.value === 'Y' && isDisplayed) { + displayLogicDimension('c_salesregion_id', true); + displayTitle = true; + } else { + displayLogicDimension('c_salesregion_id', false); + } + + if (displayTitle) { + displayLogicElement('acctDimensionsTitle', true); + } else { + displayLogicElement('acctDimensionsTitle', false); + } +} + function documentTypeOnChange(value){ if ('G' === value) { //if we are not already on GL Item mode. @@ -504,6 +603,12 @@ <input type="hidden" name="inpGLItems" value=""/> <input type="hidden" name="inpDeleteGLItem" value=""/> <input type="hidden" id="paramGeneratedCredit" name="inpGeneratedCredit" value="0"/> + <input type="hidden" name="strElement_BP" id="paramStrElement_BP" value=""/> + <input type="hidden" name="strElement_PR" id="paramStrElement_PR" value=""/> + <input type="hidden" name="strElement_PJ" id="paramStrElement_PJ" value=""/> + <input type="hidden" name="strElement_AY" id="paramStrElement_AY" value=""/> + <input type="hidden" name="strElement_SR" id="paramStrElement_SR" value=""/> + <input type="hidden" name="strElement_MC" id="paramStrElement_MC" value=""/> <div class="Popup_ContentPane_CircleLogo"> <div class="Popup_WindowLogo"> <img class="Popup_WindowLogo_Icon Popup_WindowLogo_Icon_process" src="../../../../../web/images/blank.gif" border=0/></img> @@ -1034,6 +1139,110 @@ </td> <td class="TitleCell"></td> </tr> + + <tr id="acctDimensionsTitle"> + <td colspan="6"> + <table class="FieldGroup" cellspacing="0" cellpadding="0" border="0"> + <tbody> + <tr class="FieldGroup_TopMargin"/> + <tr> + <td class="FieldGroupTitle_Left"><img class="FieldGroupTitle_Left_bg" border="0" src="../../../../../web/images/blank.gif"/></td> + <td class="FieldGroupTitle">Accounting Dimensions</td> + <td class="FieldGroupTitle_Right"><img class="FieldGroupTitle_Right_bg" border="0" src="../../../../../web/images/blank.gif"/></td> + <td class="FieldGroupContent"/> + </tr> + <tr class="FieldGroup_BottomMargin"/> + </tbody> + </table> + </td> + </tr> + <tr id="GLItemSection1_Dim"> + <!-- Business Partner Dimension --> + <td id="c_bpartner_id_dim_label" class="TitleCell"><span class="LabelText">Business Partner</span></td> + <td id="c_bpartner_id_dim_inp" class="TextBox_ContentCell" colspan="2"> + <table style="border:0px;border-collapse:collapse;"> + <tr> + <td style="padding-top: 0px;"> + <script>var sc_C_BPartner_ID_dim = null;</script> + <input type="hidden" name="inpCBPartnerId_dim" id="C_BPartner_ID_dim" value="" onreset="sc_C_BPartner_ID_dim.resetSelector();" onchange="openbravo.Utilities.updateSmartClientComponentValue(this, sc_C_BPartner_ID_dim.selectorField);"></input> + <script id="selectorLink" src="../org.openbravo.client.kernel/OBUISEL_Selector/A98899B1C75A4F4EBD3414F1B654EFAB?columnName=C_BPartner_ID_dim&disabled=false&CssSize=TwoCells&DisplayLength=45.0&required=false"></script> + </td> + </tr> + </table> + </td> + <!-- Activity Dimension --> + <td id="c_activity_id_dim_label" class="TitleCell"><span class="LabelText">Activity</span></td> + <td id="c_activity_id_dim_inp" class="TextBox_ContentCell" colspan="1"> + <table style="border:0px;border-collapse:collapse;"> + <tr> + <td style="padding-top: 0px;"> + <script>var sc_C_Activity_ID = null;</script> + <input type="hidden" name="inpCActivityId" id="C_Activity_ID" value="" onreset="sc_C_Activity_ID.resetSelector();" onchange="openbravo.Utilities.updateSmartClientComponentValue(this, sc_C_Activity_ID.selectorField);"></input> + <script id="selectorLink" src="../org.openbravo.client.kernel/OBUISEL_Selector/FF808181312D569C01312D8C1EC40036?columnName=C_Activity_ID&disabled=false&CssSize=TwoCells&DisplayLength=45.0&required=false"></script> + </td> + </tr> + </table> + </td> + <td class="TitleCell"></td> + </tr> + <tr id="GLItemSection2_Dim"> + <!-- Product Dimension --> + <td id="m_product_id_dim_label" class="TitleCell"><span class="LabelText">Product</span></td> + <td id="m_product_id_dim_inp" class="TextBox_ContentCell" colspan="2"> + <table style="border:0px;border-collapse:collapse;"> + <tr> + <td style="padding-top: 0px;"> + <script>var sc_M_Product_ID = null;</script> + <input type="hidden" name="inpMProductId" id="M_Product_ID" value="" onreset="sc_M_Product_ID.resetSelector();" onchange="openbravo.Utilities.updateSmartClientComponentValue(this, sc_M_Product_ID.selectorField);"></input> + <script id="selectorLink" src="../org.openbravo.client.kernel/OBUISEL_Selector/FF808181312DA8D801312DDE869B000C?columnName=M_Product_ID&disabled=false&CssSize=TwoCells&DisplayLength=45.0&required=false"></script> + </td> + </tr> + </table> + </td> + <!-- Campaign Dimension --> + <td id="c_campaign_id_dim_label" class="TitleCell"><span class="LabelText">Campaign</span></td> + <td id="c_campaign_id_dim_inp" class="TextBox_ContentCell" colspan="1"> + <table style="border:0px;border-collapse:collapse;"> + <tr> + <td style="padding-top: 0px;"> + <script>var sc_C_Campaign_ID = null;</script> + <input type="hidden" name="inpCampaignId" id="C_Campaign_ID" value="" onreset="sc_C_Campaign_ID.resetSelector();" onchange="openbravo.Utilities.updateSmartClientComponentValue(this, sc_C_Campaign_ID.selectorField);"></input> + <script id="selectorLink" src="../org.openbravo.client.kernel/OBUISEL_Selector/FF808181312D569C01312D8DCCD50045?columnName=C_Campaign_ID&disabled=false&CssSize=TwoCells&DisplayLength=45.0&required=false"></script> + </td> + </tr> + </table> + </td> + <td class="TitleCell"></td> + </tr> + <tr id="GLItemSection3_Dim"> + <!-- Project Dimension --> + <td id="c_project_id_dim_label" class="TitleCell"><span class="LabelText">Project</span></td> + <td id="c_project_id_dim_inp" class="TextBox_ContentCell" colspan="2"> + <table style="border:0px;border-collapse:collapse;"> + <tr> ------------------------------------------------------------------------------ All the data continuously generated in your IT infrastructure contains a definitive record of customers, application performance, security threats, fraudulent activity and more. Splunk takes this data and makes sense of it. Business sense. IT sense. Common sense. http://p.sf.net/sfu/splunk-d2dcopy1 _______________________________________________ Openbravo-commits mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/openbravo-commits
