Commit 74904b5c authored by Boxiang Sun's avatar Boxiang Sun

erp5_user_tutorial: Update user-Howto.Manage.Invoices

parent 90c563db
<section class="illustration">
<section class="illustration"> <h1>How to manage Invoices</h1>
<h1>How to manage Invoices</h1> <img alt="Invoice Sample" src="http://img.erp5.cn/user-Howto.Manage.Invoices.Invoice?format=png" title="Invoice Sample" type="image/png" />
<img alt="Invoice Sample" title="Invoice Sample" type="image/png" src="http://img.erp5.cn/user-Howto.Manage.Invoices.Invoice?format=png"> <footer>by <a href="http://www.osoe-project.org/contact">OSOE Project</a>.</footer>
<footer>
by <a href="http://www.osoe-project.org/contact">OSOE Project</a>. <details open="open">
</footer> <p>Now that we have learned how to how to generate invoices from Sales Packing Lists in the previous tutorial <a href="user-Howto.Manage.Packing.Lists/view">&quot;How to Manage Packing Lists&quot;</a>, we are going to explain now <strong>how to manage and how to print the invoices.</strong></p>
<details open="open"> </details>
<p> <test>
Now that we have learned how to how to generate invoices from Sales Packing Lists in the previous tutorial <a href="user-Howto.Manage.Packing.Lists/view">"How to Manage Packing Lists"</a>, we are going to explain now <strong>how to manage and how to print the invoices.</strong> <table class="test" style="display: none;">
</p> <tbody>
</details> <tr style="opacity: 1;">
<test> <td colspan="3">&lt;span metal:use-macro=&quot;container/Zuite_viewTestMacroLibrary/macros/init_test_environment&quot;&gt;init&lt;/span&gt;</td>
<table style="display: none;" class="test"> </tr>
<tbody> <tr style="opacity: 1; z-index: 0;">
<tr style="opacity: 1;"> <td>openAndWait</td>
<td colspan="3">&lt;span metal:use-macro="container/Zuite_viewTestMacroLibrary/macros/init_test_environment"&gt;init&lt;/span&gt;</td> <td>${base_url}/Zuite_createFunctionalTestUser</td>
</tr> <td>&nbsp;</td>
<tr style="opacity: 1; z-index: 0;"> </tr>
<td>openAndWait</td> <tr style="opacity: 1; z-index: 0;">
<td>${base_url}/Zuite_createFunctionalTestUser</td> <td>verifyTextPresent</td>
<td></td> <td>Done.</td>
</tr> <td>&nbsp;</td>
<tr style="opacity: 1; z-index: 0;"> </tr>
<td>verifyTextPresent</td> <tr style="opacity: 1; z-index: 0;">
<td>Done.</td> <td colspan="3">&lt;span metal:use-macro=&quot;container/Zuite_viewTestMacroLibrary/macros/wait_for_activities&quot;&gt; Wait for activities &lt;/span&gt;</td>
<td></td> </tr>
</tr> <tr style="opacity: 1; z-index: 0;">
<tr style="opacity: 1; z-index: 0;"> <td>openAndWait</td>
<td colspan="3">&lt;span metal:use-macro="container/Zuite_viewTestMacroLibrary/macros/wait_for_activities"&gt; Wait for activities &lt;/span&gt;</td> <td>${base_url}/Zuite_setUpSaleOrderTest</td>
</tr> <td>&nbsp;</td>
<tr style="opacity: 1; z-index: 0;"> </tr>
<td>openAndWait</td> <tr style="opacity: 1; z-index: 0;">
<td>${base_url}/Zuite_setUpSaleOrderTest</td> <td>verifyTextPresent</td>
<td></td> <td>Init Ok</td>
</tr> <td>&nbsp;</td>
<tr style="opacity: 1; z-index: 0;"> </tr>
<td>verifyTextPresent</td> <tr style="opacity: 1; z-index: 0;">
<td>Init Ok</td> <td colspan="3">&lt;span metal:use-macro=&quot;container/Zuite_viewTestMacroLibrary/macros/wait_for_activities&quot;&gt; Wait for activities &lt;/span&gt;</td>
<td></td> </tr>
</tr> <tr style="opacity: 1; z-index: 0;">
<tr style="opacity: 1; z-index: 0;"> <td>openAndWait</td>
<td colspan="3">&lt;span metal:use-macro="container/Zuite_viewTestMacroLibrary/macros/wait_for_activities"&gt; Wait for activities &lt;/span&gt;</td> <td>${base_url}/Zuite_setUpSalePackingListTest</td>
</tr> <td>&nbsp;</td>
<tr style="opacity: 1; z-index: 0;"> </tr>
<td>openAndWait</td> <tr>
<td>${base_url}/Zuite_setUpSalePackingListTest</td> <td>verifyTextPresent</td>
<td></td> <td>Init Ok</td>
</tr> <td>&nbsp;</td>
<tr> </tr>
<td>verifyTextPresent</td> <tr style="opacity: 1; z-index: 0;">
<td>Init Ok</td> <td colspan="3">&lt;span metal:use-macro=&quot;container/Zuite_viewTestMacroLibrary/macros/invoke_simulation_alarms&quot;&gt; Invoke simulation alarms &lt;/span&gt;</td>
<td></td> </tr>
</tr> <tr style="opacity: 1; z-index: 0;">
<tr style="opacity: 1; z-index: 0;"> <td>openAndWait</td>
<td colspan="3">&lt;span metal:use-macro="container/Zuite_viewTestMacroLibrary/macros/invoke_simulation_alarms"&gt; Invoke simulation alarms &lt;/span&gt;</td> <td>${base_url}/Zuite_setUpSaleInvoiceTest</td>
</tr> <td>&nbsp;</td>
<tr style="opacity: 1; z-index: 0;"> </tr>
<td>openAndWait</td> <tr>
<td>${base_url}/Zuite_setUpSaleInvoiceTest</td> <td>verifyTextPresent</td>
<td></td> <td>Init Ok</td>
</tr> <td>&nbsp;</td>
<tr> </tr>
<td>verifyTextPresent</td> <tr style="opacity: 1; z-index: 0;">
<td>Init Ok</td> <td colspan="3">&lt;span metal:use-macro=&quot;container/Zuite_viewTestMacroLibrary/macros/invoke_simulation_alarms&quot;&gt; Invoke simulation alarms &lt;/span&gt;</td>
<td></td> </tr>
</tr> <tr style="opacity: 1; z-index: 0;">
<tr style="opacity: 1; z-index: 0;"> <td colspan="3">&lt;span metal:use-macro=&quot;container/Zuite_viewTestMacroLibrary/macros/wait_for_activities&quot;&gt; Wait for activities &lt;/span&gt;</td>
<td colspan="3">&lt;span metal:use-macro="container/Zuite_viewTestMacroLibrary/macros/invoke_simulation_alarms"&gt; Invoke simulation alarms &lt;/span&gt;</td> </tr>
</tr> <tr style="opacity: 1;">
<tr style="opacity: 1; z-index: 0;"> <td colspan="3">&lt;span metal:use-macro=&quot;container/Zuite_viewTestMacroLibrary/macros/login_as_functional_test_user&quot;&gt;Login As Functional Test User&lt;/span&gt;</td>
<td colspan="3">&lt;span metal:use-macro="container/Zuite_viewTestMacroLibrary/macros/wait_for_activities"&gt; Wait for activities &lt;/span&gt;</td> </tr>
</tr> </tbody>
<tr style="opacity: 1;"> </table>
<td colspan="3">&lt;span metal:use-macro="container/Zuite_viewTestMacroLibrary/macros/login_as_functional_test_user"&gt;Login As Functional Test User&lt;/span&gt;</td> </test></section>
</tr>
</tbody> <section>
</table> <h1>Agenda</h1>
</test>
</section><section class=""> <ul>
<h1>Agenda</h1> <li>How to reach an invoice</li>
<ul> <li>How to start, validate and close transaction</li>
<li>How to reach an invoice</li> <li>How to print an invoice</li>
<li>How to start, validate and close transaction</li> </ul>
<li>How to print an invoice</li> </section>
</ul>
</section><section class="screenshot"> <section class="screenshot">
<h1>Reach the Invoice: reach the Packing List</h1> <h1>Reach the Invoice: reach the Packing List</h1>
<img alt="Sale Packing List Module" title="Sale Packing List Module" src="http://img.erp5.cn/user-Howto.Manage.Invoices.Reach.Invoice.Packing.Lists.Module?format=png" type="image/png"> <img alt="Sale Packing List Module" src="http://img.erp5.cn/user-Howto.Manage.Invoices.Reach.Invoice.Packing.Lists.Module?format=png" title="Sale Packing List Module" type="image/png" />
<details open="open"> <details open="open">
<p> <p>If you want to edit the sale invoice, you will have to <strong>locate it first</strong> . This is a two step procedure:</p>
If you want to edit the sale invoice, you will have to <strong>locate it first</strong>
. This is a two step procedure: <p>First, browse the existing Sale Packing Lists from the home menu or the Modules menu, the same you would have done for persons or organisations. Please refer to the <a href="user-Howto.Create.Persons/view">&quot;How to create Persons&quot;</a> or <a href="user-Howto.Create.Organisations/view">&quot;How to create Organisations&quot;</a> tutorials for more information.</p>
</p><p> </details>
First, browse the existing Sale Packing Lists from the home menu or the Modules menu, the same you would have done for persons or organisations. Please refer to the <a href="user-Howto.Create.Persons/view">"How to create Persons"</a> or <a href="user-Howto.Create.Organisations/view">"How to create Organisations"</a> tutorials for more information. <test>
</p> <table class="test" style="display: none;">
</details> <tbody>
<test> <tr style="opacity: 1; z-index: 0;">
<table style="display: none;" class="test"> <td>openAndWait</td>
<tbody> <td>${base_url}</td>
<tr style="opacity: 1; z-index: 0;"> <td>&nbsp;</td>
<td>openAndWait</td> </tr>
<td>${base_url}</td> <tr>
<td></td> <td colspan="3">&lt;tal:block metal:use-macro=&quot;here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_app_loaded&quot;&gt; &lt;/tal:block&gt;</td>
</tr> </tr>
<tr> <tr>
<td>selectAndWait</td> <td colspan="3">&lt;tal:block tal:define=&quot;click_configuration python: {&#39;text&#39;: &#39;Modules&#39;}&quot;&gt; &lt;tal:block metal:use-macro=&quot;here/Zuite_CommonTemplateForRenderjsUi/macros/click_on_panel_link&quot; /&gt; &lt;/tal:block&gt;</td>
<td>//select[@name="select_module"]</td> </tr>
<td>Sale Packing Lists</td> <tr>
</tr> <td colspan="3">&lt;tal:block metal:use-macro=&quot;here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_content_loaded&quot;&gt; &lt;/tal:block&gt;</td>
<tr style="opacity: 1; z-index: 0;"> </tr>
<td colspan="3">&lt;tal:block tal:content="structure python: here.Zuite_generateListboxBrowsing(listbox_selection=(['title', 'ZUITE-TEST-SALEORDER-PRODUCT-001'],), enter_object=True)"/&gt;</td> <tr>
</tr> <td>click</td>
<tr> <td>//input[@name=&quot;editable&quot;]</td>
<td>verifyText</td> <td>&nbsp;</td>
<td>//div[@id="breadcrumb"]/a[2]</td> </tr>
<td>Sale Packing Lists</td> <tr>
</tr> <td colspan="3">&lt;tal:block metal:use-macro=&quot;here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_content_loaded&quot;&gt; &lt;/tal:block&gt;</td>
<tr style="opacity: 1; z-index: 0;"> </tr>
<td>verifyText</td> <tr>
<td>//div[@id="breadcrumb"]/a[3]</td> <td colspan="3">&lt;tal:block tal:define=&quot;click_configuration python: {&#39;text&#39;: &#39;Sale Packing Lists&#39;}&quot;&gt; &lt;tal:block metal:use-macro=&quot;here/Zuite_CommonTemplateForRenderjsUi/macros/click_on_page_link&quot;&gt; &lt;/tal:block&gt; &lt;/tal:block&gt;</td>
<td>ZUITE-TEST-SALEORDER-PRODUCT-001</td> </tr>
</tr> <tr>
</tbody> <td colspan="3">&lt;tal:block metal:use-macro=&quot;here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_content_loaded&quot;&gt;&lt;/tal:block&gt;</td>
</table> </tr>
</test> <tr>
</section><section class="screenshot"> <td colspan="3">&lt;tal:block metal:use-macro=&quot;here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_listbox_loaded&quot; /&gt;</td>
<h1>Reach the Invoice: jump to "Related Sale Invoice Transaction"</h1> </tr>
<img alt="Related Sale Invoice Transaction" title="Related Sale Invoice Transaction" src="http://img.erp5.cn/user-Howto.Manage.Sale.Packing.Lists.Jump.To.Related.Invoice?format=png" type="image/png"> <tr>
<details open="open"> <td>waitForElementPresent</td>
<p> <td>//a[contains(text(), &quot;ZUITE-TEST-SALEORDER-PRODUCT-001&quot;)]</td>
Now you can <strong>reach</strong> <td>&nbsp;</td>
the sale invoice directly from the related Sale Packing List. </tr>
</p><p> <tr>
First, <strong>make sure that the Packing List has been shipped or delivered</strong> <td>click</td>
. You can find that information on the View tab of the Sales Packing List “State”. <td>//a[contains(text(), &quot;ZUITE-TEST-SALEORDER-PRODUCT-001&quot;)]</td>
</p><p> <td>&nbsp;</td>
Now that you have checked the status, please browse the “Jump to “ menu, and click on the line <strong>"Related Sale Invoice Transaction"</strong> </tr>
. Then you will be directed to the related sales invoice. <tr>
</p><p> <td colspan="3">&lt;tal:block metal:use-macro=&quot;here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_content_loaded&quot;&gt;&lt;/tal:block&gt;</td>
Note that an error may return: <strong>"No Related Sale Invoice Transaction"</strong> </tr>
. This means that either the Sale Packing List status is not appropriate, or you just changed the status, and you have to wait at least 30 seconds for the system to take the changes into account. </tbody>
</p> </table>
</details> </test></section>
<test>
<table style="display: none;" class="test"> <section class="screenshot">
<tbody> <h1>Reach the Invoice: jump to &quot;Related Sale Invoice Transaction&quot;</h1>
<tr> <img alt="Related Sale Invoice Transaction" src="http://img.erp5.cn/user-Howto.Manage.Sale.Packing.Lists.Jump.To.Related.Invoice?format=png" title="Related Sale Invoice Transaction" type="image/png" />
<td>selectAndWait</td> <details open="open">
<td>//select[@name="select_jump"]</td> <p>Now you can <strong>reach</strong> the sale invoice directly from the related Sale Packing List.</p>
<td>Related Sale Invoice Transaction</td>
</tr> <p>First, <strong>make sure that the Packing List has been shipped or delivered</strong> . You can find that information on the View tab of the Sales Packing List &ldquo;State&rdquo;.</p>
<tr>
<td>verifyText</td> <p>Now that you have checked the status, please browse the &ldquo;Jump to &ldquo; menu, and click on the line <strong>&quot;Related Sale Invoice Transaction&quot;</strong> . Then you will be directed to the related sales invoice.</p>
<td>//div[@id="breadcrumb"]/a[1]</td>
<td>ERP5</td> <p>Note that an error may return: <strong>&quot;No Related Sale Invoice Transaction&quot;</strong> . This means that either the Sale Packing List status is not appropriate, or you just changed the status, and you have to wait at least 30 seconds for the system to take the changes into account.</p>
</tr> </details>
<tr> <test>
<td>verifyText</td> <table class="test" style="display: none;">
<td>//div[@id="breadcrumb"]/a[2]</td> <tbody>
<td>Accounting</td> <tr>
</tr> <td colspan="3">&lt;tal:block tal:define=&quot;click_configuration python: {&#39;text&#39;: &#39;Related Sale Invoice Transaction&#39;}&quot;&gt; &lt;tal:block metal:use-macro=&quot;here/Zuite_CommonTemplateForRenderjsUi/macros/click_on_panel_link&quot;&gt; &lt;/tal:block&gt; &lt;/tal:block&gt;</td>
<tr> </tr>
<td>storeAttribute</td> <tr>
<td>//div[@id="breadcrumb"]/a[3]@href</td> <td colspan="3">&lt;tal:block metal:use-macro=&quot;here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_content_loaded&quot;&gt;&lt;/tal:block&gt;</td>
<td>invoice</td> </tr>
</tr> </tbody>
<tr style="opacity: 1;"> </table>
<td colspan="3">&lt;span metal:use-macro="container/Zuite_viewTestMacroLibrary/macros/wait_for_activities"&gt; Wait for activities &lt;/span&gt;</td> </test></section>
</tr>
<tr> <section class="screenshot">
<td>open</td> <h1>Check Sale Invoice Tabs</h1>
<td>${invoice}</td> <img alt="Check Sale Invoice Tabs" src="http://img.erp5.cn/user-Howto.Manage.Invoices.Invoice.View.Tabs?format=png" title="Check Sale Invoice Tabs" type="image/png" />
<td></td> <details open="open">
</tr> <p>Reading the message that appears in red on top of the invoice document, you will notice that you landed on the related sale invoice.The tabs of this invoice document incorporates lots of information, which comes directly from the initial Sale Order as well as from the Sale Packing List.</p>
</tbody>
</table> <p>In theory, there should not be anything here to fill out. The first step before trying to start the accounting transaction, is to <strong>check that the information provided by the sale invoice is correct</strong> . As most fields have been updated with your information, there shouldn&#39;t be any changes to implement, but one can never know, so we recommend you to check the information in every tab in your invoice document.</p>
</test>
</section><section class="screenshot"> <p>When complete, <strong>click on the &quot;Accounting View&quot; tab</strong> , and jump to the next page to <strong>start the accounting transaction of the order</strong> .</p>
<h1>Check Sale Invoice Tabs</h1> </details>
<img alt="Check Sale Invoice Tabs" title="Check Sale Invoice Tabs" src="http://img.erp5.cn/user-Howto.Manage.Invoices.Invoice.View.Tabs?format=png" type="image/png"> <test>
<details open="open"> <table class="test" style="display: none;">
<p>Reading the message that appears in red on top of the invoice document, you will notice that you landed on the related sale invoice.The tabs of this invoice document incorporates lots of information, which comes directly from the initial Sale Order as well as from the Sale Packing List.</p><p> <tbody>
In theory, there should not be anything here to fill out. The first step before trying to start the accounting transaction, is to <strong>check that the information provided by the sale invoice is correct</strong> </tbody>
. As most fields have been updated with your information, there shouldn't be any changes to implement, but one can never know, so we recommend you to check the information in every tab in your invoice document. </table>
</p><p> </test></section>
When complete, <strong>click on the "Accounting View" tab</strong>
, and jump to the next page to <section class="screenshot">
<strong>start the accounting transaction of the order</strong> <h1>Journalise Transaction</h1>
. <img alt="Journalise Transaction" src="http://img.erp5.cn/user-Howto.Manage.Invoices.Journalise.Transaction?format=png" title="Journalise Transaction" type="image/png" />
</p> <details open="open">
</details> <p>In order to do an accounting transaction you have to <strong>initiate it</strong> .</p>
<test>
<table style="display: none;" class="test"> <p>An accounting transaction is a three step procedure :<br />
<tbody></tbody> First, you need to start the transaction, which means that the accounting lines will be created. In accounting terms, this is called <strong>Journalise Transaction</strong> . The second step is to validate the transaction, once you have checked the different accounting lines that have been generated automatically by ERP5. In accounting terms, this is called <strong>Post Transaction To General Ledger</strong> . Once those two steps are over, you can <strong>Definitively Close Accounting Transaction</strong> .</p>
</table>
</test> <p>Be careful: once the transaction is closed, you will not be able to modify it. This is why some companies do not close their transactions until the end of their accounting period.</p>
</section><section class="screenshot">
<h1>Journalise Transaction</h1> <p>As you can see in the screenshot of the &quot;Accounting View&quot; tab of the invoice, the state is &quot;Confirmed&quot;, and there is not any &quot;Accounting Transaction Lines&quot; yet. To start the transaction, browse the &ldquo;Action&rdquo; menu on top of the page and click on the line <strong>&quot;Journalise Transaction&quot;</strong> , then you will see on the next page, that this will <strong>create the first accounting lines</strong> .</p>
<img alt="Journalise Transaction" title="Journalise Transaction" src="http://img.erp5.cn/user-Howto.Manage.Invoices.Journalise.Transaction?format=png" type="image/png"> </details>
<details open="open"> <test>
<p> <table class="test" style="display: none;">
In order to do an accounting transaction you have to <strong>initiate it</strong> <tbody>
. <tr>
</p><p> <td>waitForElementPresent</td>
An accounting transaction is a three step procedure :<br> <td>//a[contains(text(), &quot;Journalise Transaction&quot;)]</td>
First, you need to start the transaction, which means that the accounting lines will be created. In accounting terms, this is called <td>&nbsp;</td>
<strong>Journalise Transaction</strong> </tr>
. The second step is to validate the transaction, once you have checked the different accounting lines that have been generated automatically by ERP5. In accounting terms, this is called <tr>
<strong>Post Transaction To General Ledger</strong> <td colspan="3">&lt;tal:block tal:define=&quot;click_configuration python: {&#39;text&#39;: &#39;Journalise Transaction&#39;}&quot;&gt; &lt;tal:block metal:use-macro=&quot;here/Zuite_CommonTemplateForRenderjsUi/macros/click_on_panel_link&quot;&gt; &lt;/tal:block&gt; &lt;/tal:block&gt;</td>
. Once those two steps are over, you can </tr>
<strong>Definitively Close Accounting Transaction</strong> <tr>
. <td colspan="3">&lt;tal:block metal:use-macro=&quot;here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_content_loaded&quot;&gt;&lt;/tal:block&gt;</td>
</p><p>Be careful: once the transaction is closed, you will not be able to modify it. This is why some companies do not close their transactions until the end of their accounting period.</p><p> </tr>
As you can see in the screenshot of the "Accounting View" tab of the invoice, the state is "Confirmed", and there is not any "Accounting Transaction Lines" yet. To start the transaction, browse the “Action” menu on top of the page and click on the line <strong>"Journalise Transaction"</strong> <tr>
, then you will see on the next page, that this will <td colspan="3">&lt;tal:block metal:use-macro=&quot;here/Zuite_CommonTemplateForRenderjsUi/macros/submit_dialog&quot;&gt; &lt;/tal:block&gt;</td>
<strong>create the first accounting lines</strong> </tr>
. <tr>
</p> <td colspan="3">&lt;tal:block metal:use-macro=&quot;here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_content_loaded&quot;&gt; &lt;/tal:block&gt;</td>
</details> </tr>
<test> <tr>
<table style="display: none;" class="test"> <td>waitForElementPresent</td>
<tbody> <td>//p[@id=&quot;field_my_translated_simulation_state_title&quot;]</td>
<tr> <td>&nbsp;</td>
<td>selectAndWait</td> </tr>
<td>//select[@name="select_action"]</td> <tr>
<td>Journalise Transaction</td> <td>verifyText</td>
</tr> <td>//p[@id=&quot;field_my_translated_simulation_state_title&quot;]</td>
<tr> <td>Journalised</td>
<td>clickAndWait</td> </tr>
<td>//button[@id="dialog_submit_button"]</td> </tbody>
<td></td> </table>
</tr> </test></section>
<tr>
<td>verifyText</td> <section class="screenshot">
<td>//label[normalize-space(text())='State']/../div</td> <h1>Check the Accounting Transaction Lines</h1>
<td>Journalised</td> <img alt="Accounting Lines to Check" src="http://img.erp5.cn/user-Howto.Manage.Invoices.Check.Accounting.Lines?format=png" title="Accounting Lines to Check" type="image/png" />
</tr> <details open="open">
<tr style="opacity: 1;"> <p>Before trying to go further in the accounting process, we will analyse what changes occurred to the invoice document after we journalised the transaction.</p>
<td colspan="3">&lt;span metal:use-macro="container/Zuite_viewTestMacroLibrary/macros/wait_for_activities"&gt; Wait for activities &lt;/span&gt;</td>
</tr> <p>First, as you can see in red in the screenshot, the state has changed from &quot;Confirmed&quot; to &quot;Journalised&quot;. This means that ERP5 has created some accounting lines for your transaction.</p>
<tr>
<td>open</td> <p><strong>Note: </strong>It can take up to 5 minutes until the accounting lines have been created. You might have to refresh the page, if you don&#39;t see the accounting lines.</p>
<td>${invoice}</td>
<td></td> <p>This is the second part of the analysis: as you can see in blue, the first accounting transaction lines have been created. They are automatically created by ERP5, and, if you can read the accounting lines, they represent your transaction. In our example, the sell account should be credited with 100000&euro;. If you did not yet subscribe to ERP5, you may not know that more than one accounting plan is available. On this screenshot, the French accounting plan is used, but many others are available. We already have accounting plans catered especially for Africa and Japan, and we are constantly working on developing more plans that will be available soon.</p>
</tr>
</tbody> <p>Note that a transaction can be modified as long as it is at &quot;Journalised&quot; state.</p>
</table>
</test> <p><strong>However, even though the accounting transaction lines have been created, they have not been validated yet</strong>. To validate the transaction, you have to &quot;Post to General Ledger&quot;. Please see the next page.</p>
</section><section class="screenshot"> </details>
<h1>Check the Accounting Transaction Lines</h1> <test>
<img alt="Accounting Lines to Check" title="Accounting Lines to Check" src="http://img.erp5.cn/user-Howto.Manage.Invoices.Check.Accounting.Lines?format=png" type="image/png"> <table class="test" style="display: none;">
<details open="open"> <tbody>
<p>Before trying to go further in the accounting process, we will analyse what changes occurred to the invoice document after we journalised the transaction.</p><p>First, as you can see in red in the screenshot, the state has changed from "Confirmed" to "Journalised". This means that ERP5 has created some accounting lines for your transaction.</p> </tbody>
</table>
<p><strong>Note: </strong>It can take up to 5 minutes until the accounting lines have been created. You might have to refresh the page, if you don't see the accounting lines.</p> </test></section>
<p>This is the second part of the analysis: as you can see in blue, the first accounting transaction lines have been created. They are automatically created by ERP5, and, if you can read the accounting lines, they represent your transaction. In our example, the sell account should be credited with 100000€. If you did not yet subscribe to ERP5, you may not know that more than one accounting plan is available. On this screenshot, the French accounting plan is used, but many others are available. We already have accounting plans catered especially for Africa and Japan, and we are constantly working on developing more plans that will be available soon.</p><p>Note that a transaction can be modified as long as it is at "Journalised" state.</p><p> <section class="screenshot">
<strong>However, even though the accounting transaction lines have been created, they have not been validated yet</strong>. <h1>Post Transaction</h1>
To validate the transaction, you have to "Post to General Ledger". Please see the next page. <img alt="Post Transaction To General Ledger" src="http://img.erp5.cn/user-Howto.Manage.Invoices.Post.Transaction.To.General.Ledger?format=png" title="Post Transaction To General Ledger" type="image/png" />
</p> <details open="open">
</details> <p>Once you have checked all the accounting transaction lines, you can validate them.</p>
<test>
<table style="display: none;" class="test"> <p>To do so, please browse the &ldquo;Action&rdquo; menu and choose <strong>&quot;Post Transaction to General Ledger&quot;</strong> .</p>
<tbody></tbody>
</table> <p>It may occur at this point that you receive an error message, stating &quot;Date is not in a started Accounding Period for source Section&quot;. If you do not receive this error message please jump to the next section &quot;Validated Transaction&quot;. If the error does occur, please return to the homepage after saving all the progress you have made so far. Open the organization you wish to post a transaction for, which in our case is the company Hongzhao. Navigate to the <strong>Financial Information</strong> tab. As you can see there is an accounting period in the state &quot;Started&quot; titled &quot;2015&quot;. Click on this line to navigate to the corresponding view tab. Using the action list, select &quot;cancel accounting period&quot; and validate this action. Once the accounting period is cancelled, create a new accounting period by selecting the corresponding command in the action item list on the <strong>Financial Information</strong> tab of your organization. Next, give the accounting period an appropriate name and select a starting and end date, so that the accounting operation date of the transaction you wish to post lies between them. Finally, select the command &quot;Start Accounting Period&quot; in the action item list. You will now be able to post the transaction to the general ledger and complete the rest of the session.</p>
</test> </details>
</section><section class="screenshot"> <test>
<h1>Post Transaction</h1> <table class="test" style="display: none;">
<img src="http://img.erp5.cn/user-Howto.Manage.Invoices.Post.Transaction.To.General.Ledger?format=png" type="image/png" title="Post Transaction To General Ledger" alt="Post Transaction To General Ledger"> <tbody>
<details open="open"> <tr>
<p>Once you have checked all the accounting transaction lines, you can validate them.</p><p> <td colspan="3">&lt;tal:block tal:define=&quot;click_configuration python: {&#39;text&#39;: &#39;Post Transaction to General Ledger&#39;}&quot;&gt; &lt;tal:block metal:use-macro=&quot;here/Zuite_CommonTemplateForRenderjsUi/macros/click_on_panel_link&quot;&gt; &lt;/tal:block&gt; &lt;/tal:block&gt;</td>
To do so, please browse the “Action” menu and choose <strong>"Post Transaction to General Ledger"</strong> </tr>
.</p><p> <tr>
It may occur at this point that you receive an error message, stating "Date is not in a started Accounding Period for source Section". If you do not receive this error message please jump to the next section "Validated Transaction". <td colspan="3">&lt;tal:block metal:use-macro=&quot;here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_content_loaded&quot;&gt;&lt;/tal:block&gt;</td>
If the error does occur, please return to the homepage after saving all the progress you have made so far. Open the organization you wish to post a transaction for, which in our case is the company Hongzhao. </tr>
Navigate to the <strong>Financial Information</strong> tab. As you can see there is an accounting period in the state "Started" titled "2015". Click on this line to navigate to the corresponding view tab. <tr>
Using the action list, select "cancel accounting period" and validate this action. Once the accounting period is cancelled, create a new accounting period by selecting the corresponding command in the action item list on the <strong>Financial Information</strong> tab of your organization. <td colspan="3">&lt;tal:block metal:use-macro=&quot;here/Zuite_CommonTemplateForRenderjsUi/macros/submit_dialog&quot;&gt; &lt;/tal:block&gt;</td>
Next, give the accounting period an appropriate name and select a starting and end date, so that the accounting operation date of the transaction you wish to post lies between them. Finally, select the command "Start Accounting Period" in the action item list. </tr>
You will now be able to post the transaction to the general ledger and complete the rest of the session. <tr>
</p> <td colspan="3">&lt;tal:block metal:use-macro=&quot;here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_content_loaded&quot;&gt; &lt;/tal:block&gt;</td>
</details> </tr>
<test> <tr>
<table style="display: none;" class="test"> <td>waitForElementPresent</td>
<tbody> <td>//p[@id=&quot;field_my_translated_simulation_state_title&quot;]</td>
<tr> <td>&nbsp;</td>
<td>selectAndWait</td> </tr>
<td>//select[@name="select_action"]</td> <tr>
<td>Post Transaction to General Ledger</td> <td>verifyText</td>
</tr> <td>//p[@id=&quot;field_my_translated_simulation_state_title&quot;]</td>
<tr> <td>Posted to General Ledger</td>
<td>clickAndWait</td> </tr>
<td>//button[@id="dialog_submit_button"]</td> </tbody>
<td></td> </table>
</tr> </test></section>
<tr style="opacity: 1; z-index: 0;">
<td>verifyText</td> <section class="screenshot">
<td>//label[normalize-space(text())='State']/../div</td> <h1>Validated transaction</h1>
<td>Posted to General Ledger</td> <img alt="Validated transaction" src="http://img.erp5.cn/user-Howto.Manage.Invoices.Transaction.Validted?format=png" title="Validated transaction" type="image/svg+xml" />
</tr> <details open="open">
</tbody> <p>After &quot;Post to General Ledger&quot;, as shown in the screenshot, the invoice state changed from &quot;Journalised&quot; to <strong>&quot;Posted to General Ledger&quot;</strong> . In fact, this state is similar to &quot;Journalised&quot;, unless it has to be seen as a transition state between &ldquo;Journalise&rdquo; and &ldquo; Definitely Closed&rdquo; state to indicate that the transaction has been validated.</p>
</table>
</test> <p>When validated by acting &quot;Post Transaction to General Ledger&quot;, a transaction can still be modified. If you browse the action menu, you will find a line that is called <strong>&quot;Restart Transaction (journalise)&quot;</strong> , which helps you invalidate the transaction and return it to the &ldquo;Journalised&rdquo; state.</p>
</section><section class="screenshot">
<h1>Validated transaction</h1> <p>Now the <strong>&ldquo;Post Transaction to General Ledger&rdquo; action insures that the transaction has been accepted, and the management has been transferred from the sales department to the accounting department</strong> .</p>
<img alt="Validated transaction" title="Validated transaction" type="image/svg+xml" src="http://img.erp5.cn/user-Howto.Manage.Invoices.Transaction.Validted?format=png">
<details open="open"> <p>Once this is done, the next step will be to close the transaction, as shown on the next page.</p>
<p> </details>
After "Post to General Ledger", as shown in the screenshot, the invoice state changed from "Journalised" to <strong>"Posted to General Ledger"</strong> </section>
. In fact, this state is similar to "Journalised", unless it has to be seen as a transition state between “Journalise” and “ Definitely Closed” state to indicate that the transaction has been validated.
</p><p> <section class="screenshot">
When validated by acting "Post Transaction to General Ledger", a transaction can still be modified. If you browse the action menu, you will find a line that is called <strong>"Restart Transaction (journalise)"</strong> <h1>Definitively Close Transaction</h1>
, which helps you invalidate the transaction and return it to the “Journalised” state. <img alt="Definitively Close Accounting Action" src="http://img.erp5.cn/user-Howto.Manage.Invoices.Definitely.Close.Transaction?format=png" title="Definitively Close Accounting Action" type="image/png" />
</p><p> <details open="open">
Now the <strong>“Post Transaction to General Ledger” action insures that the transaction has been accepted, and the management has been transferred from the sales department to the accounting department</strong> <p>The very last step of managing an invoice is to &ldquo;<strong>Definitively Close</strong> &rdquo; the accounting transaction.</p>
.
</p><p>Once this is done, the next step will be to close the transaction, as shown on the next page.</p> <p>Once this is done, <strong>you will not be able to go back to another state</strong> , which means that you will not have the possibility to modify the transaction.</p>
</details>
</section><section class="screenshot"> <p><strong>Close the transaction only when you are absolutely sure that the details, figures, etc. are correct</strong> . Some companies for instance, are accustomed to closing all the transactions at the end of the year.</p>
<h1>Definitively Close Transaction</h1>
<img alt="Definitively Close Accounting Action" title="Definitively Close Accounting Action" src="http://img.erp5.cn/user-Howto.Manage.Invoices.Definitely.Close.Transaction?format=png" type="image/png"> <p>To <strong>close a transaction</strong> , browse the &ldquo;Action&rdquo; menu and choose &ldquo; <strong>Definitively Close Transaction</strong> &rdquo;. Once this is done, the state of the transaction will be changed from &quot;Posted to General Ledger&quot; to <strong>Closed</strong> , and you will be able to <strong>create a payment</strong> for it, as we will see on the next tutorial &ldquo;How to create a Payment&rdquo;.</p>
<details open="open"> </details>
<p> <test>
The very last step of managing an invoice is to “<strong>Definitively Close</strong> <table class="test" style="display: none;">
” the accounting transaction. <tbody>
</p><p> <tr>
Once this is done, <strong>you will not be able to go back to another state</strong> <td colspan="3">&lt;tal:block tal:define=&quot;click_configuration python: {&#39;text&#39;: &#39;Definitively Close Transaction&#39;}&quot;&gt; &lt;tal:block metal:use-macro=&quot;here/Zuite_CommonTemplateForRenderjsUi/macros/click_on_panel_link&quot;&gt; &lt;/tal:block&gt; &lt;/tal:block&gt;</td>
, which means that you will not have the possibility to modify the transaction. </tr>
</p><p> <tr>
<strong>Close the transaction only when you are absolutely sure that the details, figures, etc. are correct</strong> <td colspan="3">&lt;tal:block metal:use-macro=&quot;here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_content_loaded&quot;&gt;&lt;/tal:block&gt;</td>
. Some companies for instance, are accustomed to closing all the transactions at the end of the year. </tr>
</p><p> <tr>
To <strong>close a transaction</strong> <td colspan="3">&lt;tal:block metal:use-macro=&quot;here/Zuite_CommonTemplateForRenderjsUi/macros/submit_dialog&quot;&gt; &lt;/tal:block&gt;</td>
, browse the “Action” menu and choose “ </tr>
<strong>Definitively Close Transaction</strong> <tr>
”. Once this is done, the state of the transaction will be changed from "Posted to General Ledger" to <td colspan="3">&lt;tal:block metal:use-macro=&quot;here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_content_loaded&quot;&gt; &lt;/tal:block&gt;</td>
<strong>Closed</strong> </tr>
, and you will be able to <tr>
<strong>create a payment</strong> <td>waitForElementPresent</td>
for it, as we will see on the next tutorial “How to create a Payment”. <td>//p[@id=&quot;field_my_translated_simulation_state_title&quot;]</td>
</p> <td>&nbsp;</td>
</details> </tr>
<test> <tr>
<table style="display: none;" class="test"> <td>verifyText</td>
<tbody> <td>//p[@id=&quot;field_my_translated_simulation_state_title&quot;]</td>
<tr> <td>Closed</td>
<td>selectAndWait</td> </tr>
<td>//select[@name="select_action"]</td> </tbody>
<td>Definitively Close Transaction</td> </table>
</tr> </test></section>
<tr>
<td>clickAndWait</td> <section class="screenshot">
<td>//button[@id="dialog_submit_button"]</td> <h1>Printing the invoice (1)</h1>
<td></td> <img alt="Print Button" src="http://img.erp5.cn/user-Howto.Manage.Invoices.Closed.Transaction.Print?format=png" title="Print Button" type="image/png" />
</tr> <details open="open">
<tr style="opacity: 1; z-index: 0;"> <p>ERP5 allows you to <strong>print</strong> the invoices you have created.</p>
<td>verifyText</td>
<td>//label[normalize-space(text())='State']/../div</td> <p>We will now explain how you can easily <strong>print</strong> an invoice you just created. You can print an invoice at any state, even if the transaction is not closed yet.</p>
<td>Closed</td>
</tr> <p>The first step to print an invoice, is to click on the <strong>Printer</strong> button on top of the invoice sheet, as you can see on the screenshot.</p>
</tbody>
</table> <p>Clicking this icon will open a new window in which you will be able to change the settings of the <strong>Print</strong> .</p>
</test> </details>
</section><section class="screenshot"> <test>
<h1>Printing the invoice (1)</h1> <table class="test" style="display: none;">
<img alt="Print Button" title="Print Button" src="http://img.erp5.cn/user-Howto.Manage.Invoices.Closed.Transaction.Print?format=png" type="image/png"> <tbody>
<details open="open"> </tbody>
<p> </table>
ERP5 allows you to <strong>print</strong> </test></section>
the invoices you have created.
</p><p> <section class="screenshot">
We will now explain how you can easily <strong>print</strong> <h1>Printing the invoice (2)</h1>
an invoice you just created. You can print an invoice at any state, even if the transaction is not closed yet. <img alt="Print Sale Invoice Transaction Dialog" src="http://img.erp5.cn/user-Howto.Manage.Invoices.Closed.Transaction.Print.Options?format=png" title="Print Sale Invoice Transaction Dialog" type="image/png" />
</p><p> <details open="open">
The first step to print an invoice, is to click on the <p>The <strong>print setting page</strong> is now open, so you can browse the different menus to choose which kind of print you need.</p>
<strong>Printer</strong>
button on top of the invoice sheet, as you can see on the screenshot. <p>Firstly, <strong>choose the language</strong> of your print, in our example, the language can be either set to French or English. Secondly, <strong>choose the format</strong> of your print.</p>
</p><p>
Clicking this icon will open a new window in which you will be able to change the settings of the <strong>Print</strong> <p>When you are done, <strong>click the option &quot;Print Invoice&quot;</strong> to create a physical copy of the document. You can either <strong>print directly with your printer</strong> , or <strong>save a copy of the invoice as a PDF or as an other format</strong> to keep it on your computer, so you can print it or send it by email later.</p>
. </details>
</p> <test>
</details> <table class="test" style="display: none;">
<test> <tbody>
<table style="display: none;" class="test"> <tr style="opacity: 1;">
<tbody></tbody> <td colspan="3">&lt;span metal:use-macro=&quot;container/Zuite_viewTestMacroLibrary/macros/wait_for_activities&quot;&gt; Wait for activities &lt;/span&gt;</td>
</table> </tr>
</test> <tr style="opacity: 1;">
</section><section class="screenshot"> <td colspan="3">&lt;span metal:use-macro=&quot;container/Zuite_viewTestMacroLibrary/macros/login_as_manager&quot;&gt;Login As Manager&lt;/span&gt;</td>
<h1>Printing the invoice (2)</h1> </tr>
<img alt="Print Sale Invoice Transaction Dialog" title="Print Sale Invoice Transaction Dialog" src="http://img.erp5.cn/user-Howto.Manage.Invoices.Closed.Transaction.Print.Options?format=png" type="image/png"> <tr>
<details open="open"> <td>open</td>
<p> <td>${base_url}/Zuite_tearDownSaleOrderTest</td>
The <strong>print setting page</strong> <td>&nbsp;</td>
is now open, so you can browse the different menus to choose which kind of print you need. </tr>
</p><p> <tr>
Firstly, <strong>choose the language</strong> <td>verifyTextPresent</td>
of your print, in our example, the language can be either set to French or English. Secondly, <td>Clean Ok</td>
<strong>choose the format</strong> <td>&nbsp;</td>
of your print. </tr>
</p><p> <tr style="opacity: 1; z-index: 0;">
When you are done, <strong>click the option "Print Invoice"</strong> <td colspan="3">&lt;span metal:use-macro=&quot;container/Zuite_viewTestMacroLibrary/macros/wait_for_activities&quot;&gt; Wait for activities &lt;/span&gt;</td>
to create a physical copy of the document. You can either </tr>
<strong>print directly with your printer</strong> </tbody>
, or </table>
<strong>save a copy of the invoice as a PDF or as an other format</strong> </test></section>
to keep it on your computer, so you can print it or send it by email later.
</p>
</details>
<test>
<table style="display: none;" class="test">
<tbody>
<tr style="opacity: 1;">
<td colspan="3">&lt;span metal:use-macro="container/Zuite_viewTestMacroLibrary/macros/wait_for_activities"&gt; Wait for activities &lt;/span&gt;</td>
</tr>
<tr style="opacity: 1;">
<td colspan="3">&lt;span metal:use-macro="container/Zuite_viewTestMacroLibrary/macros/login_as_manager"&gt;Login As Manager&lt;/span&gt;</td>
</tr>
<tr>
<td>open</td>
<td>${base_url}/Zuite_tearDownSaleOrderTest</td>
<td></td>
</tr>
<tr>
<td>verifyTextPresent</td>
<td>Clean Ok</td>
<td></td>
</tr>
<tr style="opacity: 1; z-index: 0;">
<td colspan="3">&lt;span metal:use-macro="container/Zuite_viewTestMacroLibrary/macros/wait_for_activities"&gt; Wait for activities &lt;/span&gt;</td>
</tr>
</tbody>
</table>
</test>
</section>
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -104,104 +104,108 @@ ...@@ -104,104 +104,108 @@
</record> </record>
<record id="6" aka="AAAAAAAAAAY="> <record id="6" aka="AAAAAAAAAAY=">
<pickle> <pickle>
<global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/> <global name="WorkflowHistoryList" module="Products.ERP5Type.Workflow"/>
</pickle> </pickle>
<pickle> <pickle>
<tuple> <dictionary>
<none/> <item>
<list> <key> <string>_log</string> </key>
<dictionary> <value>
<item> <list>
<key> <string>action</string> </key> <dictionary>
<value> <string>edit</string> </value> <item>
</item> <key> <string>action</string> </key>
<item> <value> <string>edit</string> </value>
<key> <string>actor</string> </key> </item>
<value> <string>jingjing</string> </value> <item>
</item> <key> <string>actor</string> </key>
<item> <value> <string>jingjing</string> </value>
<key> <string>comment</string> </key> </item>
<value> <string></string> </value> <item>
</item> <key> <string>comment</string> </key>
<item> <value> <string></string> </value>
<key> <string>error_message</string> </key> </item>
<value> <string></string> </value> <item>
</item> <key> <string>error_message</string> </key>
<item> <value> <string></string> </value>
<key> <string>serial</string> </key> </item>
<value> <string>0.0.0.0</string> </value> <item>
</item> <key> <string>serial</string> </key>
<item> <value> <string>0.0.0.0</string> </value>
<key> <string>state</string> </key> </item>
<value> <string>current</string> </value> <item>
</item> <key> <string>state</string> </key>
<item> <value> <string>current</string> </value>
<key> <string>time</string> </key> </item>
<value> <item>
<object> <key> <string>time</string> </key>
<klass> <value>
<global id="6.1" name="DateTime" module="DateTime.DateTime"/> <object>
</klass> <klass>
<tuple> <global id="6.1" name="DateTime" module="DateTime.DateTime"/>
<none/> </klass>
</tuple> <tuple>
<state> <none/>
<tuple> </tuple>
<float>1354808830.3</float> <state>
<string>GMT</string> <tuple>
</tuple> <float>1354808830.3</float>
</state> <string>GMT</string>
</object> </tuple>
</value> </state>
</item> </object>
</dictionary> </value>
<dictionary> </item>
<item> </dictionary>
<key> <string>action</string> </key> <dictionary>
<value> <string>edit</string> </value> <item>
</item> <key> <string>action</string> </key>
<item> <value> <string>edit</string> </value>
<key> <string>actor</string> </key> </item>
<value> <string>jingjing</string> </value> <item>
</item> <key> <string>actor</string> </key>
<item> <value> <string>jingjing</string> </value>
<key> <string>comment</string> </key> </item>
<value> <item>
<persistent> <string encoding="base64">AAAAAAAAAAc=</string> </persistent> <key> <string>comment</string> </key>
</value> <value>
</item> <persistent> <string encoding="base64">AAAAAAAAAAc=</string> </persistent>
<item> </value>
<key> <string>error_message</string> </key> </item>
<value> <string></string> </value> <item>
</item> <key> <string>error_message</string> </key>
<item> <value> <string></string> </value>
<key> <string>serial</string> </key> </item>
<value> <string>0.0.0.0</string> </value> <item>
</item> <key> <string>serial</string> </key>
<item> <value> <string>0.0.0.0</string> </value>
<key> <string>state</string> </key> </item>
<value> <string>current</string> </value> <item>
</item> <key> <string>state</string> </key>
<item> <value> <string>current</string> </value>
<key> <string>time</string> </key> </item>
<value> <item>
<object> <key> <string>time</string> </key>
<klass> <reference id="6.1"/> </klass> <value>
<tuple> <object>
<none/> <klass> <reference id="6.1"/> </klass>
</tuple> <tuple>
<state> <none/>
<tuple> </tuple>
<float>1354808830.3</float> <state>
<string>GMT</string> <tuple>
</tuple> <float>1354808830.3</float>
</state> <string>GMT</string>
</object> </tuple>
</value> </state>
</item> </object>
</dictionary> </value>
</list> </item>
</tuple> </dictionary>
</list>
</value>
</item>
</dictionary>
</pickle> </pickle>
</record> </record>
<record id="7" aka="AAAAAAAAAAc="> <record id="7" aka="AAAAAAAAAAc=">
......
...@@ -97,104 +97,108 @@ ...@@ -97,104 +97,108 @@
</record> </record>
<record id="6" aka="AAAAAAAAAAY="> <record id="6" aka="AAAAAAAAAAY=">
<pickle> <pickle>
<global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/> <global name="WorkflowHistoryList" module="Products.ERP5Type.Workflow"/>
</pickle> </pickle>
<pickle> <pickle>
<tuple> <dictionary>
<none/> <item>
<list> <key> <string>_log</string> </key>
<dictionary> <value>
<item> <list>
<key> <string>action</string> </key> <dictionary>
<value> <string>edit</string> </value> <item>
</item> <key> <string>action</string> </key>
<item> <value> <string>edit</string> </value>
<key> <string>actor</string> </key> </item>
<value> <string>jingjing</string> </value> <item>
</item> <key> <string>actor</string> </key>
<item> <value> <string>jingjing</string> </value>
<key> <string>comment</string> </key> </item>
<value> <string></string> </value> <item>
</item> <key> <string>comment</string> </key>
<item> <value> <string></string> </value>
<key> <string>error_message</string> </key> </item>
<value> <string></string> </value> <item>
</item> <key> <string>error_message</string> </key>
<item> <value> <string></string> </value>
<key> <string>serial</string> </key> </item>
<value> <string>0.0.0.0</string> </value> <item>
</item> <key> <string>serial</string> </key>
<item> <value> <string>0.0.0.0</string> </value>
<key> <string>state</string> </key> </item>
<value> <string>current</string> </value> <item>
</item> <key> <string>state</string> </key>
<item> <value> <string>current</string> </value>
<key> <string>time</string> </key> </item>
<value> <item>
<object> <key> <string>time</string> </key>
<klass> <value>
<global id="6.1" name="DateTime" module="DateTime.DateTime"/> <object>
</klass> <klass>
<tuple> <global id="6.1" name="DateTime" module="DateTime.DateTime"/>
<none/> </klass>
</tuple> <tuple>
<state> <none/>
<tuple> </tuple>
<float>1354808830.31</float> <state>
<string>GMT</string> <tuple>
</tuple> <float>1354808830.31</float>
</state> <string>GMT</string>
</object> </tuple>
</value> </state>
</item> </object>
</dictionary> </value>
<dictionary> </item>
<item> </dictionary>
<key> <string>action</string> </key> <dictionary>
<value> <string>edit</string> </value> <item>
</item> <key> <string>action</string> </key>
<item> <value> <string>edit</string> </value>
<key> <string>actor</string> </key> </item>
<value> <string>jingjing</string> </value> <item>
</item> <key> <string>actor</string> </key>
<item> <value> <string>jingjing</string> </value>
<key> <string>comment</string> </key> </item>
<value> <item>
<persistent> <string encoding="base64">AAAAAAAAAAg=</string> </persistent> <key> <string>comment</string> </key>
</value> <value>
</item> <persistent> <string encoding="base64">AAAAAAAAAAg=</string> </persistent>
<item> </value>
<key> <string>error_message</string> </key> </item>
<value> <string></string> </value> <item>
</item> <key> <string>error_message</string> </key>
<item> <value> <string></string> </value>
<key> <string>serial</string> </key> </item>
<value> <string>0.0.0.0</string> </value> <item>
</item> <key> <string>serial</string> </key>
<item> <value> <string>0.0.0.0</string> </value>
<key> <string>state</string> </key> </item>
<value> <string>current</string> </value> <item>
</item> <key> <string>state</string> </key>
<item> <value> <string>current</string> </value>
<key> <string>time</string> </key> </item>
<value> <item>
<object> <key> <string>time</string> </key>
<klass> <reference id="6.1"/> </klass> <value>
<tuple> <object>
<none/> <klass> <reference id="6.1"/> </klass>
</tuple> <tuple>
<state> <none/>
<tuple> </tuple>
<float>1354808830.32</float> <state>
<string>GMT</string> <tuple>
</tuple> <float>1354808830.32</float>
</state> <string>GMT</string>
</object> </tuple>
</value> </state>
</item> </object>
</dictionary> </value>
</list> </item>
</tuple> </dictionary>
</list>
</value>
</item>
</dictionary>
</pickle> </pickle>
</record> </record>
<record id="7" aka="AAAAAAAAAAc="> <record id="7" aka="AAAAAAAAAAc=">
......
...@@ -851,104 +851,108 @@ goQBFGAEQRAECQMowAiCIAgSBlCAEQRBECQMoAAjCIIgSBj4f6arw4Y80xjjAAAAAElFTkSuQmCC</st ...@@ -851,104 +851,108 @@ goQBFGAEQRAECQMowAiCIAgSBlCAEQRBECQMoAAjCIIgSBj4f6arw4Y80xjjAAAAAElFTkSuQmCC</st
</record> </record>
<record id="6" aka="AAAAAAAAAAY="> <record id="6" aka="AAAAAAAAAAY=">
<pickle> <pickle>
<global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/> <global name="WorkflowHistoryList" module="Products.ERP5Type.Workflow"/>
</pickle> </pickle>
<pickle> <pickle>
<tuple> <dictionary>
<none/> <item>
<list> <key> <string>_log</string> </key>
<dictionary> <value>
<item> <list>
<key> <string>action</string> </key> <dictionary>
<value> <string>edit</string> </value> <item>
</item> <key> <string>action</string> </key>
<item> <value> <string>edit</string> </value>
<key> <string>actor</string> </key> </item>
<value> <string>jingjing</string> </value> <item>
</item> <key> <string>actor</string> </key>
<item> <value> <string>jingjing</string> </value>
<key> <string>comment</string> </key> </item>
<value> <string></string> </value> <item>
</item> <key> <string>comment</string> </key>
<item> <value> <string></string> </value>
<key> <string>error_message</string> </key> </item>
<value> <string></string> </value> <item>
</item> <key> <string>error_message</string> </key>
<item> <value> <string></string> </value>
<key> <string>serial</string> </key> </item>
<value> <string>0.0.0.0</string> </value> <item>
</item> <key> <string>serial</string> </key>
<item> <value> <string>0.0.0.0</string> </value>
<key> <string>state</string> </key> </item>
<value> <string>current</string> </value> <item>
</item> <key> <string>state</string> </key>
<item> <value> <string>current</string> </value>
<key> <string>time</string> </key> </item>
<value> <item>
<object> <key> <string>time</string> </key>
<klass> <value>
<global id="6.1" name="DateTime" module="DateTime.DateTime"/> <object>
</klass> <klass>
<tuple> <global id="6.1" name="DateTime" module="DateTime.DateTime"/>
<none/> </klass>
</tuple> <tuple>
<state> <none/>
<tuple> </tuple>
<float>1354808830.33</float> <state>
<string>GMT</string> <tuple>
</tuple> <float>1354808830.33</float>
</state> <string>GMT</string>
</object> </tuple>
</value> </state>
</item> </object>
</dictionary> </value>
<dictionary> </item>
<item> </dictionary>
<key> <string>action</string> </key> <dictionary>
<value> <string>edit</string> </value> <item>
</item> <key> <string>action</string> </key>
<item> <value> <string>edit</string> </value>
<key> <string>actor</string> </key> </item>
<value> <string>jingjing</string> </value> <item>
</item> <key> <string>actor</string> </key>
<item> <value> <string>jingjing</string> </value>
<key> <string>comment</string> </key> </item>
<value> <item>
<persistent> <string encoding="base64">AAAAAAAAAAg=</string> </persistent> <key> <string>comment</string> </key>
</value> <value>
</item> <persistent> <string encoding="base64">AAAAAAAAAAg=</string> </persistent>
<item> </value>
<key> <string>error_message</string> </key> </item>
<value> <string></string> </value> <item>
</item> <key> <string>error_message</string> </key>
<item> <value> <string></string> </value>
<key> <string>serial</string> </key> </item>
<value> <string>0.0.0.0</string> </value> <item>
</item> <key> <string>serial</string> </key>
<item> <value> <string>0.0.0.0</string> </value>
<key> <string>state</string> </key> </item>
<value> <string>current</string> </value> <item>
</item> <key> <string>state</string> </key>
<item> <value> <string>current</string> </value>
<key> <string>time</string> </key> </item>
<value> <item>
<object> <key> <string>time</string> </key>
<klass> <reference id="6.1"/> </klass> <value>
<tuple> <object>
<none/> <klass> <reference id="6.1"/> </klass>
</tuple> <tuple>
<state> <none/>
<tuple> </tuple>
<float>1354808830.33</float> <state>
<string>GMT</string> <tuple>
</tuple> <float>1354808830.33</float>
</state> <string>GMT</string>
</object> </tuple>
</value> </state>
</item> </object>
</dictionary> </value>
</list> </item>
</tuple> </dictionary>
</list>
</value>
</item>
</dictionary>
</pickle> </pickle>
</record> </record>
<record id="7" aka="AAAAAAAAAAc="> <record id="7" aka="AAAAAAAAAAc=">
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment