AdvancePaymentPack_Webinar.ppt
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

AdvancePaymentPack_Webinar.ppt

on

  • 281 views

 

Statistics

Views

Total Views
281
Views on SlideShare
281
Embed Views
0

Actions

Likes
0
Downloads
3
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • Good ...... and wellcome to all of you my name is Gorka Mauleon and i'd like to present you this Webinar that is going to go throw a module called Intercompany documents.
  • First of all we ae going to review the modult itself, we are going to explain what does it do of how to use it and configure it and also in which way can this module help in your company daily work. In the process tool section we are going to discover the documentation neede to complete a fine developmeent cicle. In the Development Technique section we are going to go throug and interesant tool named Extension points.
  • Lets start with the first part of the webinar, In this part we are going to review the module namer Inter-company documents
  • The objective of this module is to automate the creation of matching documents (orders or invoices) for transactions between organizations of the same business group. This means that for example each time a SALES invoice is completed in Headquarters organization for its Subsidiary, matching PURCHASE invoice is created automatically in the Subsidiary Organization for Headquarters. While the initial scope of the module was limited to inter-company invoices created from sales invoices (that was initial collaborative development requirement), the design of the solution finally allows to support additional inter-company documents and flows. We can have Inter-company invoices initiated also from PURCHASE invoices. Inter-company ORDERS initiated either from PURCHASE orders or SALES orders. And we also can drill down from the generated document to the original document and vice versa. To allow such transactions we extended Document type entity in OB ERP where we can define rules for the documents to be inter-company once. So now users of the modlue are able to identify which source and target organizations allow inter-company trading and which ones, among them, trigger the creation of an automatic matching document in the target organization. As if this functionality is specific to a particular type of companies we decided to delivery it as a module not to add complexity to the core product but allow those who needed it to easily enable it. To create matching documents we originally opted for a separate background process that can be scheduled to run at regular intervals but we have reversed this decision and went for an on line extension of the Invoice Complete process through Extension Points.
  • El término AJAX se presentó por primera vez en el artículo "Ajax: A New Approach to Web Applications" publicado por Jesse James Garrett el 18 de Febrero de 2005. Hasta ese momento, no existía un término normalizado que hiciera referencia a un nuevo tipo de aplicación web que estaba apareciendo. En realidad, el término AJAX es un acrónimo de Asynchronous JavaScript + XML, que se puede traducir como "JavaScript asíncrono + XML". El artículo define AJAX de la siguiente forma: Ajax no es una tecnología en sí mismo. En realidad, se trata de varias tecnologías independientes que se unen de formas nuevas y sorprendentes.

AdvancePaymentPack_Webinar.ppt Presentation Transcript

  • 1. Advanced Payments Pack Extension Module Webinar 12 nd of November 2009
  • 2. Agenda Functionality and Demo 10 min. Process and Tools 10 min. Development Technique 10 min. Q & A 30 min.
  • 3. Agenda Functionality and Demo Process and Tools Development Technique Q & A
  • 4. Functional Highlights Functional Concepts: Ability to create several payments to the selected business partners. New Form of Payment, Direct Debit, to automatically generate bank statements. Ability to consolidate pending payments of selected business partners. Goal: Package to support the management of advanced payments among business partners, with particular emphasis - but not restricted to - the management of advanced payments among subsidiaries of the same business group.
    • Solution Approach:
      • Deliver as a Pack containing 3 modules
    Advanced Payments Pack
  • 5. Functional Highlights Advanced Payments Pack
  • 6. DEMO Advanced payments Demo Functional Highlights Advanced Payments Pack
  • 7. BUSINESS SCENARIO:
    • Organization A and “Standard” customers agreement:
    • 1 st day of the month: Payment in advance 2000 €
    • Invoice run every week
    • Last day of the month, consolidation of debt: Month invoice total - Payment in advance = Final amount to pay
  • 8. Agenda Functionality and Demo Process and Tools Development Technique Q & A
  • 9. Version Control System. Overview
    • - Security - Team working (sharing)
    • Track of changes - Managing different efforts (branch)‏
    • - Centralized vs. Distributed
    Tool to manage changes in a set of documents, programs, and other information stored as computer files. --From Wikipedia Advanced Payments Pack
  • 10. Version Control System. Centralized VCS Central Repository USER A USER B USER C EDIT FILE Subversion Advanced Payments Pack
  • 11. Version Control System. Distributed VCS Central Repository USER A USER B USER C EDIT FILE Commit Mercurial Advanced Payments Pack
  • 12. Version Control System: Each project in the forge has a SVN repository available by default, just enabling the code module. It is possible to add as many external repositories as desired. Checkout or clone your module's code in the modules folder of your Openbravo ERP's installation. Openbravo developed module's code is available at: https://code.openbravo.com/erp/mods Advanced Payments Pack
  • 13. Version Control System: DEMO Quick code.openbravo review Advanced Payments Pack
  • 14. Agenda Functionality and Demo Process and Tools Development Technique Q & A
  • 15. Dinamic Combo Box With AJAX DINAMIC COMBO BOXES WITH AJAX Advanced Payments Pack
  • 16. Dinamic Combo Box With AJAX. Overview Ajax isn’t a technology. It’s really several technologies, each flourishing in its own right, coming together in powerful new ways. Ajax incorporates: --Jesse James Garrett -XHTML and CSS, to create a presentation based on standards. -DOM, to interact with and dinamicaly manipulation of the presentation. -XML, XSLT and JSON, to exchange and manipulate information. -XMLHttpRequest, for asynchronous information exchange. -JavaScript, to merge all other technologies. Advanced Payments Pack
  • 17. Dinamic Combo Box With AJAX. Overview Advanced Payments Pack <script language=&quot;JavaScript&quot; src=&quot;../../../../../web/js/ajax.js&quot; type=&quot;text/javascript&quot;></script>
  • 18. Dinamic Combo Box With AJAX. Overview Advanced Payments Pack 1. Change of the organization combo 2. Call to the servlet to retrieve new list of bank accounts 3. Server processes request 4. Retrieve the servlet response containing the list of bank accounts as html code. 3 2 1 4
  • 19. Dinamic Combo Box With AJAX. Development Approach function loadBankAccountList() { try { var url = &quot;../bpdebtconsolidation/BPDebtConciliation.html&quot; var paramXMLReq = null; return submitXmlHttpRequest(callBackBankAccountList, document.frmMain, &quot;BANKACCOUNTLIST&quot;, url, false, null, paramXMLReq)‏ } catch (e) { alert(e); } } function callBackBankAccountList(paramXMLParticular, XMLHttpRequestObj) { var strText = &quot;&quot;; if (getReadyStateHandler(XMLHttpRequestObj)) { try { if (XMLHttpRequestObj.responseText) { strText = XMLHttpRequestObj.responseText; document.getElementById('inpcBankAccountId').innerHTML = strText; } } catch (e) { } } return true; } //JS METHODS TO MANAGE REQUESTS Advanced Payments Pack 3 2 1 4
  • 20. Dinamic Combo Box With AJAX. Development Approach --Method that send the request whenever the organization combo box is updated function loadBankAccountList() { try { var url = &quot;../bpdebtconsolidation/BPDebtConciliation.html&quot; var paramXMLReq = null; return submitXmlHttpRequest(callBackBankAccountList, document.frmMain, &quot;BANKACCOUNTLIST&quot;, url, false, null, paramXMLReq)‏ } catch (e) { alert(e); } } function callBackBankAccountList(paramXMLParticular, XMLHttpRequestObj) { var strText = &quot;&quot;; if (getReadyStateHandler(XMLHttpRequestObj)) { try { if (XMLHttpRequestObj.responseText) { strText = XMLHttpRequestObj.responseText; document.getElementById('inpcBankAccountId').innerHTML = strText; } } catch (e) { } } return true; } //JS METHODS TO MANAGE REQUESTS Advanced Payments Pack 3 2 1 4
  • 21. Dinamic Combo Box With AJAX. Development Approach //JS METHODS TO MANAGE REQUESTS Advanced Payments Pack function loadBankAccountList() { try { var url = &quot;../bpdebtconsolidation/BPDebtConciliation.html&quot; var paramXMLReq = null; return submitXmlHttpRequest(callBackBankAccountList, document.frmMain, &quot;BANKACCOUNTLIST&quot;, url, false, null, paramXMLReq)‏ } catch (e) { alert(e); } } function callBackBankAccountList(paramXMLParticular, XMLHttpRequestObj) { var strText = &quot;&quot;; if (getReadyStateHandler(XMLHttpRequestObj)) { try { if (XMLHttpRequestObj.responseText) { strText = XMLHttpRequestObj.responseText; document.getElementById('inpcBankAccountId').innerHTML = strText; } } catch (e) { } } return true; } 3 2 1 4
  • 22. Dinamic Combo Box With AJAX. Development Approach function loadBankAccountList() { try { var url = &quot;../bpdebtconsolidation/BPDebtConciliation.html&quot; var paramXMLReq = null; return submitXmlHttpRequest(callBackBankAccountList, document.frmMain, &quot;BANKACCOUNTLIST&quot;, url, false, null, paramXMLReq)‏ } catch (e) { alert(e); } } --Method that wait for the server response and injects the html code with the new bank accounts within the combo box function callBackBankAccountList(paramXMLParticular, XMLHttpRequestObj) { var strText = &quot;&quot;; if (getReadyStateHandler(XMLHttpRequestObj)) { try { if (XMLHttpRequestObj.responseText) { strText = XMLHttpRequestObj.responseText; document.getElementById('inpcBankAccountId').innerHTML = strText; } } catch (e) { } } return true; } //JS METHODS TO MANAGE REQUESTS Advanced Payments Pack 3 2 1 4
  • 23. Dinamic Combo Box With AJAX. DEMO Dinamic Combo box working Advanced Payments Pack
  • 24. Wrap-Up Functionality and Demo Process and Tools Development Technique
  • 25. Q & A Next webinar: Spanish Profesional Localization Pack November 12 th 4-5 PM (CET) [email_address] [email_address] Advanced Payments Pack [email_address]
  • 26.