Commit 7721412c authored by Boxiang Sun's avatar Boxiang Sun

erp5_user_tutorial: Update user-Howto.Create.Trade.Conditions.008.en

parent f6508de2
<section class="master">
<section class="master"> <h1>How to Create Sale Trade Conditions</h1>
<h1>How to Create Sale Trade Conditions</h1>
<footer> <footer>by <a href="http://www.osoe-project.org/contact">OSOE Project</a>.</footer>
by <a href="http://www.osoe-project.org/contact">OSOE Project</a>. <test>
</footer> <table class="test" style="display: none;">
<test> <tbody>
<table class="test" style="display: none;"> <tr>
<tbody> <td colspan="3">&lt;span metal:use-macro=&quot;container/Zuite_viewTestMacroLibrary/macros/init_test_environment&quot;&gt;init&lt;/span&gt;</td>
<tr> </tr>
<td colspan="3">&lt;span metal:use-macro="container/Zuite_viewTestMacroLibrary/macros/init_test_environment"&gt;init&lt;/span&gt;</td> <tr style="opacity: 1;">
</tr> <td>openAndWait</td>
<tr style="opacity: 1;"> <td>${base_url}/Zuite_createFunctionalTestUser</td>
<td>openAndWait</td> <td>&nbsp;</td>
<td>${base_url}/Zuite_createFunctionalTestUser</td> </tr>
<td></td> <tr style="opacity: 1;">
</tr> <td>verifyTextPresent</td>
<tr style="opacity: 1;"> <td>Done</td>
<td>verifyTextPresent</td> <td>&nbsp;</td>
<td>Done</td> </tr>
<td></td> <tr style="opacity: 1;">
</tr> <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>
<tr style="opacity: 1;"> </tr>
<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> <td>openAndWait</td>
<tr> <td>${base_url}/Zuite_setUpSaleTradeConditionTest</td>
<td>openAndWait</td> <td>&nbsp;</td>
<td>${base_url}/Zuite_setUpSaleTradeConditionTest</td> </tr>
<td></td> <tr style="opacity: 1;">
</tr> <td>verifyTextPresent</td>
<tr style="opacity: 1;"> <td>Init Ok</td>
<td>verifyTextPresent</td> <td>&nbsp;</td>
<td>Init Ok</td> </tr>
<td></td> <tr style="opacity: 1;">
</tr> <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>
<tr style="opacity: 1;"> </tr>
<td colspan="3">&lt;span metal:use-macro="container/Zuite_viewTestMacroLibrary/macros/wait_for_activities"&gt; Wait for activities &lt;/span&gt;</td> <tr style="opacity: 1;">
</tr> <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>
<tr style="opacity: 1;"> </tr>
<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> </tbody>
</tr> </table>
</tbody> </test></section>
</table>
</test> <section>
</section><section> <h1>Agenda</h1>
<h1>Agenda</h1>
<ul> <ul>
<li>What are trade conditions?</li> <li>What are trade conditions?</li>
<li>How to create trade conditions</li> <li>How to create trade conditions</li>
<li>How and where to apply them</li> <li>How and where to apply them</li>
</ul> </ul>
<details open="open">
<p>This guide will teach you how to create Sale Trade Conditions in ERP5 Express, using ERP5 Express Trade. You will also learn how to apply a Trade Condition to a Sale Order. Note that Sale Trade Conditions and Purchase Trade Condition are strictly identical, which means that after reading this tutorial, you will be able to create both purchase and sale trade conditions.</p> <details open="open">
</details> <p>This guide will teach you how to create Sale Trade Conditions in ERP5 Express, using ERP5 Express Trade. You will also learn how to apply a Trade Condition to a Sale Order. Note that Sale Trade Conditions and Purchase Trade Condition are strictly identical, which means that after reading this tutorial, you will be able to create both purchase and sale trade conditions.</p>
<test> </details>
<table class="test" style="display: none;"> <test>
<tbody></tbody> <table class="test" style="display: none;">
</table> <tbody>
</test> </tbody>
</section><section class="screenshot"> </table>
<h1>What are Trade Conditions?</h1> </test></section>
<img src="http://www.erp5.com/user-Howto.Create.Trade.Conditions.Explanation?format=png" type="image/png" title="What are Trade Conditions?" alt="What are Trade Conditions?">
<details open="open"> <section class="screenshot">
<p>Trade conditions, as you will notice in this tutorial look like sale or purchase orders documents. The idea is that trade conditions help you store some information that you use in a specific type of order. Once this information is stored, you can import it from the Trade Condition to the Sale or Purchase Order in order to save time. On a Trade Condition, you can set information about the payment mode, the currency, the tax behaviour, the discount behaviour, the delivery mode, the incoterm. This information will be stored only in those trade conditions, and imported whenever necessary to different sale/purchase orders, as many times as you need.</p> <h1>What are Trade Conditions?</h1>
</details> <img alt="What are Trade Conditions?" src="http://www.erp5.com/user-Howto.Create.Trade.Conditions.Explanation?format=png" title="What are Trade Conditions?" type="image/png" />
<test> <details open="open">
<table class="test" style="display: none;"> <p>Trade conditions, as you will notice in this tutorial look like sale or purchase orders documents. The idea is that trade conditions help you store some information that you use in a specific type of order. Once this information is stored, you can import it from the Trade Condition to the Sale or Purchase Order in order to save time. On a Trade Condition, you can set information about the payment mode, the currency, the tax behaviour, the discount behaviour, the delivery mode, the incoterm. This information will be stored only in those trade conditions, and imported whenever necessary to different sale/purchase orders, as many times as you need.</p>
<tbody></tbody> </details>
</table> <test>
</test> <table class="test" style="display: none;">
</section><section class="screenshot"> <tbody>
<h1>Create a Sale Trade Condition</h1> </tbody>
<img src="http://www.erp5.com/user-Howto.Create.Trade.Conditions.New?format=png" type="image/png" title="Create a Sale Trade Condition" alt="Create a Sale Trade Condition"> </table>
<details open="open"> </test></section>
<p>In order to create a Sale Trade Condition document from the home page of your instance, click the "New" tab and click on "Sale Trade Condition" in the Trade area.</p>
</details> <section class="screenshot">
<test> <h1>Create a Sale Trade Condition</h1>
<table class="test" style="display: none;"> <img alt="Create a Sale Trade Condition" src="http://www.erp5.com/user-Howto.Create.Trade.Conditions.New?format=png" title="Create a Sale Trade Condition" type="image/png" />
<tbody> <details open="open">
<tr> <p>In order to create a Sale Trade Condition document from the home page of your instance, click the &quot;New&quot; tab and click on &quot;Sale Trade Condition&quot; in the Trade area.</p>
<td>selectAndWait</td> </details>
<td>//select[@name="select_module"]</td> <test>
<td>Sale Trade Conditions</td> <table class="test" style="display: none;">
</tr> <tbody>
<tr> <tr>
<td>selectAndWait</td> <td colspan="3">&lt;tal:block tal:define=&quot;click_configuration python: {&#39;text&#39;: &#39;New&#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_action"]</td> </tr>
<td>Add Sale Trade Condition</td> <tr>
</tr> <td>waitForElementPresent</td>
</tbody> <td>//button[text()=&quot;Sale Trade Condition&quot;]</td>
</table> <td>&nbsp;</td>
</test> </tr>
</section><section class="screenshot"> <tr>
<h1>The Trade Conditions document</h1> <td>click</td>
<img src="http://www.erp5.com/user-Howto.Create.Trade.Conditions.Document?format=png" type="image/png" title="Trade Conditions document" alt="Trade Conditions document"> <td>//input[@name=&quot;editable&quot;]</td>
<details open="open"> <td>&nbsp;</td>
<p>Your Sale Trade Condition document has been created successfully, and as you can see in the picture, Sale Trade Conditions look exactly the same as Sale Orders. The reason for this is that the information borne on Sale Trade Conditions are identical as the information borne by Sale Oders.</p> </tr>
</details> <tr>
<test> <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 class="test" style="display: none;"> </tr>
<tbody></tbody> <tr>
</table> <td>click</td>
</test> <td>//button[text()=&quot;Sale Trade Condition&quot;]</td>
</section><section class="screenshot"> <td>&nbsp;</td>
<h1>Fill the View Tab</h1> </tr>
<img src="http://www.erp5.com/user-Howto.Create.Trade.Conditions.Edit.View?format=png" type="image/png" title="Fill the View Tab" alt="Fill the View Tab"> </tbody>
<details open="open"> </table>
<p>Add a title to your Trade Condition in the Red area, and then add the blue fields with information about the sender, the seller and the supplier. The green area displays the effective and validity dates, and comments for the other users of your ERP5 instance.</p><p> </test></section>
Another important field which is necessary to fill when you are creating any Sale/Purchase Trade Conditions, is the "Specialised Trade Conditions and Business Processes ". It defines the workflow of the ERP5 trade module (Sale/Purchase Orders, Sale/Purchase Packing Lists and Invoices) which you need to apply this Trade Condition later. To fill the field, <strong>click on the Wheel</strong>
. <section class="screenshot">
</p><p>Note: Please replace "Hongzhao" with the company you created when you configured your ERP5 instance.</p> <h1>The Trade Conditions document</h1>
</details> <img alt="Trade Conditions document" src="http://www.erp5.com/user-Howto.Create.Trade.Conditions.Document?format=png" title="Trade Conditions document" type="image/png" />
<test> <details open="open">
<table class="test" style="display: none;"> <p>Your Sale Trade Condition document has been created successfully, and as you can see in the picture, Sale Trade Conditions look exactly the same as Sale Orders. The reason for this is that the information borne on Sale Trade Conditions are identical as the information borne by Sale Oders.</p>
<tbody> </details>
<tr style="opacity: 1;"> <test>
<td>type</td> <table class="test" style="display: none;">
<td>//input[@name="field_my_title"]</td> <tbody>
<td>ZUITE-TEST-SALE-TRADE-CONDITION-001</td> </tbody>
</tr> </table>
<tr> </test></section>
<td>type</td>
<td>//textarea[@name="field_my_specialise_title_list"]</td> <section class="screenshot">
<td>erp5_default_business_process</td> <h1>Fill the View Tab</h1>
</tr> <img alt="Fill the View Tab" src="http://www.erp5.com/user-Howto.Create.Trade.Conditions.Edit.View?format=png" title="Fill the View Tab" type="image/png" />
<tr> <details open="open">
<td>type</td> <p>Add a title to your Trade Condition in the Red area, and then add the blue fields with information about the sender, the seller and the supplier. The green area displays the effective and validity dates, and comments for the other users of your ERP5 instance.</p>
<td>//input[@name="field_my_reference"]</td>
<td>ZUITE-TEST-SALE-TRADE-CONDITION-001</td> <p>Another important field which is necessary to fill when you are creating any Sale/Purchase Trade Conditions, is the &quot;Specialised Trade Conditions and Business Processes &quot;. It defines the workflow of the ERP5 trade module (Sale/Purchase Orders, Sale/Purchase Packing Lists and Invoices) which you need to apply this Trade Condition later. To fill the field, <strong>click on the Wheel</strong> .</p>
</tr>
<tr> <p>Note: Please replace &quot;Hongzhao&quot; with the company you created when you configured your ERP5 instance.</p>
<td>select</td> </details>
<td>//select[@name="field_my_price_currency"]</td> <test>
<td>EUR</td> <table class="test" style="display: none;">
</tr> <tbody>
<tr style="opacity: 1;"> <tr>
<td>select</td> <td>waitForElementPresent</td>
<td>//select[@name="field_my_incoterm"]</td> <td>//input[@name=&quot;field_my_title&quot;]</td>
<td>Carriage Paid To</td> <td>&nbsp;</td>
</tr> </tr>
<tr style="opacity: 1;"> <tr style="opacity: 1;">
<td>type</td> <td>type</td>
<td>//textarea[@name="field_my_comment"]</td> <td>//input[@name=&quot;field_my_title&quot;]</td>
<td>VAT</td> <td>ZUITE-TEST-SALE-TRADE-CONDITION-001</td>
</tr> </tr>
<tr> <tr>
<td>type</td> <td>type</td>
<td>//input[@name="subfield_field_my_effective_date_year"]</td> <td>//div[@data-gadget-scope=&quot;field_my_description&quot;]//textarea</td>
<td>2011</td> <td>erp5_default_business_process</td>
</tr> </tr>
<tr> <tr>
<td>type</td> <td>type</td>
<td>//input[@name="subfield_field_my_effective_date_month"]</td> <td>//input[@name=&quot;field_my_reference&quot;]</td>
<td>01</td> <td>ZUITE-TEST-SALE-TRADE-CONDITION-001</td>
</tr> </tr>
<tr> <tr>
<td>type</td> <td>select</td>
<td>//input[@name="subfield_field_my_effective_date_day"]</td> <td>//select[@name=&quot;field_my_price_currency&quot;]</td>
<td>01</td> <td>EUR</td>
</tr> </tr>
<tr> <tr style="opacity: 1;">
<td>type</td> <td>select</td>
<td>//input[@name="subfield_field_my_expiration_date_year"]</td> <td>//select[@name=&quot;field_my_incoterm&quot;]</td>
<td>2100</td> <td>Carriage Paid To</td>
</tr> </tr>
<tr> <tr style="opacity: 1;">
<td>type</td> <td>type</td>
<td>//input[@name="subfield_field_my_expiration_date_month"]</td> <td>//textarea[@name=&quot;field_my_comment&quot;]</td>
<td>12</td> <td>VAT</td>
</tr> </tr>
<tr> <tr>
<td>type</td> <td colspan="3">&lt;tal:block metal:use-macro=&quot;here/Zuite_CommonTemplateForRenderjsUi/macros/save&quot;&gt; &lt;tal:block metal:use-macro=&quot;here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_content_loaded&quot;&gt; &lt;/tal:block&gt; &lt;/tal:block&gt;</td>
<td>//input[@name="subfield_field_my_expiration_date_day"]</td> </tr>
<td>31</td> </tbody>
</tr> </table>
<tr style="opacity: 1;"> </test></section>
<td>clickAndWait</td>
<td>//input[@name="Base_edit:method"]</td> <section class="screenshot">
<td></td> <h1>&quot;Specialised Trade Conditions and Business Processes &quot; (1)</h1>
</tr> <img alt="Specialised Business Processes" src="http://www.erp5.com/user-Howto.Create.Trade.Conditions.Set.Relations.Business.Processes?format=png" title="Specialised Business Processes" type="image/svg+xml" />
<tr style="opacity: 1;"> <details open="open">
<td>verifyTextPresent</td> <p>In this page, you can choose Specialised Trade Conditions and Business Processes. Because we are creating a Sale Trade Condition, so here we <strong>choose in the first line &quot;Business Processes&quot;</strong> . This goes the same when you create any other Sale/Purchase Trade Conditions.</p>
<td>Data updated.</td> </details>
<td></td> </section>
</tr>
</tbody> <section class="screenshot">
</table> <h1>&quot;Specialised Trade Conditions and Business Processes&quot; (2)</h1>
</test> <img alt="Default Business Processes" src="http://www.erp5.com/user-Howto.Create.Trade.Conditions.Set.Relations.Default.Trade.Business.Process?format=png" title="Default Business Processes" type="image/svg+xml" />
</section><section class="screenshot"> <details open="open">
<h1>"Specialised Trade Conditions and Business Processes " (1)</h1> <p>Now you can see there is an option &quot;Default Trade Business Process&quot; on the &quot;Specialised Trade Conditions and Business Processes&quot; list, it is created automatically by the ERP5 configurator when you configurated your instance. Please first <strong>check off</strong> the option &quot;Default Trade Business Process&quot;, and then <strong>click on &quot;Set Relation&quot;</strong> .</p>
<img src="http://www.erp5.com/user-Howto.Create.Trade.Conditions.Set.Relations.Business.Processes?format=png" type="image/svg+xml" title="Specialised Business Processes" alt="Specialised Business Processes">
<details open="open"> <p>Note that you can also create your own &quot;Business Process&quot; using the &quot;Business Processes Module&quot; in ERP5.</p>
<p> </details>
In this page, you can choose Specialised Trade Conditions and Business Processes. Because we are creating a Sale Trade Condition, so here we <strong>choose in the first line "Business Processes"</strong> </section>
. This goes the same when you create any other Sale/Purchase Trade Conditions.
</p> <section class="screenshot">
</details> <h1>&quot;Specialised Trade Conditions and Business Processes&quot; (3)</h1>
</section><section class="screenshot"> <img alt="Specialised Trade Conditions and Business Processes" src="http://www.erp5.com/user-Howto.Create.Trade.Conditions.View.Specialised.Trade.Conditions.And.Business.Processes?format=png" title="Specialised Trade Conditions and Business Processes" type="image/svg+xml" />
<h1>"Specialised Trade Conditions and Business Processes" (2)</h1> <details open="open">
<img src="http://www.erp5.com/user-Howto.Create.Trade.Conditions.Set.Relations.Default.Trade.Business.Process?format=png" type="image/svg+xml" title="Default Business Processes" alt="Default Business Processes"> <p>Now you are led again to the View page of the sale trade condition you created. You will see the <strong>&quot;Specialised Trade Conditions and Business Processes&quot; has been defined</strong> . Remember that this field is necessary to fill up when you create any Sale/Purchase Trade Conditions.</p>
<details open="open"> </details>
<p> </section>
Now you can see there is an option "Default Trade Business Process" on the "Specialised Trade Conditions and Business Processes" list, it is created automatically by the ERP5 configurator when you configurated your instance. Please first <strong>check off</strong>
the option "Default Trade Business Process", and then <section class="screenshot">
<strong>click on "Set Relation"</strong> <h1>Fill the Payment Tab(1)</h1>
. <img alt="Fill Payment Tab" src="http://www.erp5.com/user-Howto.Create.Trade.Conditions.Fill.Payment.Tab?format=png" title="Fill Payment Tab" type="image/png" />
</p><p>Note that you can also create your own "Business Process" using the "Business Processes Module" in ERP5.</p> <details open="open">
</details> <p>The Payment tab displays the payment mode you want to apply to your orders. In order to edit the Payment mode, click on the payment tab of the Sale Trade Condition document and jump to this page.</p>
</section><section class="screenshot">
<h1>"Specialised Trade Conditions and Business Processes" (3)</h1> <p>The area circled in blue in the picture is the default payment condition that will be applied to your orders whenever you decide to import those sale trade conditions to them. In this area, you can set the following information: payment mode, trade date, term, end of month and additional term. When you are done, click the save button and jump to next page.</p>
<img src="http://www.erp5.com/user-Howto.Create.Trade.Conditions.View.Specialised.Trade.Conditions.And.Business.Processes?format=png" type="image/svg+xml" title="Specialised Trade Conditions and Business Processes" alt="Specialised Trade Conditions and Business Processes"> </details>
<details open="open"> <test>
<p> <table class="test" style="display: none;">
Now you are led again to the View page of the sale trade condition you created. You will see the <strong>"Specialised Trade Conditions and Business Processes" has been defined</strong> <tbody>
. Remember that this field is necessary to fill up when you create any Sale/Purchase Trade Conditions. <tr>
</p> <td colspan="3">&lt;tal:block tal:define=&quot;click_configuration python: {&#39;text&#39;: &#39;Payment&#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>
</details> </tr>
</section><section class="screenshot"> <tr>
<h1>Fill the Payment Tab(1)</h1> <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>
<img src="http://www.erp5.com/user-Howto.Create.Trade.Conditions.Fill.Payment.Tab?format=png" type="image/png" title="Fill Payment Tab" alt="Fill Payment Tab"> </tr>
<details open="open"> <tr>
<p>The Payment tab displays the payment mode you want to apply to your orders. In order to edit the Payment mode, click on the payment tab of the Sale Trade Condition document and jump to this page.</p><p>The area circled in blue in the picture is the default payment condition that will be applied to your orders whenever you decide to import those sale trade conditions to them. In this area, you can set the following information: payment mode, trade date, term, end of month and additional term. When you are done, click the save button and jump to next page.</p> <td>select</td>
</details> <td>//select[@name=&quot;field_my_payment_condition_payment_mode&quot;]</td>
<test> <td>Credit Card</td>
<table class="test" style="display: none;"> </tr>
<tbody> <tr>
<tr> <td>select</td>
<td>clickAndWait</td> <td>//select[@name=&quot;field_my_payment_condition_trade_date&quot;]</td>
<td>link=Payment</td> <td>Invoice</td>
<td></td> </tr>
</tr> <tr>
<tr> <td colspan="3">&lt;tal:block metal:use-macro=&quot;here/Zuite_CommonTemplateForRenderjsUi/macros/save&quot;&gt; &lt;tal:block metal:use-macro=&quot;here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_content_loaded&quot;&gt; &lt;/tal:block&gt; &lt;/tal:block&gt;</td>
<td>select</td> </tr>
<td>//select[@name="field_my_payment_condition_payment_mode"]</td> </tbody>
<td>Credit Card</td> </table>
</tr> </test></section>
<tr>
<td>select</td> <section class="screenshot">
<td>//select[@name="field_my_payment_condition_trade_date"]</td> <h1>Fill the Payment Tab (2)</h1>
<td>Invoice</td> <img alt="Add Payment Conditions" src="http://www.erp5.com/user-Howto.Create.Trade.Conditions.Add.Payment.Condition?format=png" title="Add Payment Conditions" type="image/png" />
</tr> <details open="open">
<tr> <p>In many cases, you will need more complex payment options. For instance you might need your customers to pay an advance on payment, and pay the balance when the goods are delivered. This is possible in ERP5 Express to add more than one payment conditions, which means that you can build complex payment conditions, following this procedure:</p>
<td>clickAndWait</td>
<td>//input[@name="Base_edit:method"]</td> <p>Open the Action Item List and choose Add Payment Condition.</p>
<td></td> </details>
</tr> <test>
<tr style="opacity: 1;"> <table class="test" style="display: none;">
<td>verifyTextPresent</td> <tbody>
<td>Data updated.</td> <tr>
<td></td> <td>click</td>
</tr> <td>//a[contains(text(), &quot;Add&quot;)]</td>
</tbody> <td>Payment Condition</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_content_loaded&quot;&gt; &lt;/tal:block&gt;</td>
<h1>Fill the Payment Tab (2)</h1> </tr>
<img src="http://www.erp5.com/user-Howto.Create.Trade.Conditions.Add.Payment.Condition?format=png" type="image/png" title="Add Payment Conditions" alt="Add Payment Conditions"> <tr>
<details open="open"> <td>waitForElementPresent</td>
<p>In many cases, you will need more complex payment options. For instance you might need your customers to pay an advance on payment, and pay the balance when the goods are delivered. This is possible in ERP5 Express to add more than one payment conditions, which means that you can build complex payment conditions, following this procedure:</p><p>Open the Action Item List and choose Add Payment Condition.</p> <td>//select[@name=&quot;field_your_select_action&quot;]</td>
</details> <td>&nbsp;</td>
<test> </tr>
<table class="test" style="display: none;"> <tr>
<tbody> <td>select</td>
<tr> <td>//select[@name=&quot;field_your_select_action&quot;]</td>
<td>selectAndWait</td> <td>Payment Condition</td>
<td>//select[@name="select_action"]</td> </tr>
<td>Add Payment Condition</td> <tr>
</tr> <td colspan="3">&lt;tal:block metal:use-macro=&quot;here/Zuite_CommonTemplateForRenderjsUi/macros/submit_dialog&quot;&gt; &lt;/tal:block&gt;</td>
</tbody> </tr>
</table> <tr>
</test> <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>
</section><section class="screenshot"> </tr>
<h1>Fill the Payment Tab(3)</h1> </tbody>
<img src="http://www.erp5.com/user-Howto.Create.Trade.Conditions.New.Payment.Condition?format=png" type="image/png" title="New Payment Condition" alt="New Payment Condition"> </table>
<details open="open"> </test></section>
<p>This is the new payment condition that has been created in previous page. This condition will not replace the default payment conditions but will be added to them. As you can see circled in red on the picture, you can first decide the % or the amount that will have to be paid following the rules of this payment condition. When you are done, click the save button.</p>
</details> <section class="screenshot">
<test> <h1>Fill the Payment Tab(3)</h1>
<table class="test" style="display: none;"> <img alt="New Payment Condition" src="http://www.erp5.com/user-Howto.Create.Trade.Conditions.New.Payment.Condition?format=png" title="New Payment Condition" type="image/png" />
<tbody> <details open="open">
<tr> <p>This is the new payment condition that has been created in previous page. This condition will not replace the default payment conditions but will be added to them. As you can see circled in red on the picture, you can first decide the % or the amount that will have to be paid following the rules of this payment condition. When you are done, click the save button.</p>
<td>type</td> </details>
<td>//input[@name="field_my_title"]</td> <test>
<td>ZUITE-TEST-PAYMENT-CONDITON-002</td> <table class="test" style="display: none;">
</tr> <tbody>
<tr style="opacity: 1;"> <tr>
<td>type</td> <td>waitForElementPresent</td>
<td>//textarea[@name="field_my_description"]</td> <td>//input[@name=&quot;field_my_title&quot;]</td>
<td>Description of ZUITE-TEST-PAYMENT-CONDITION-002</td> <td>&nbsp;</td>
</tr> </tr>
<tr> <tr>
<td>clickAndWait</td> <td>type</td>
<td>//input[@name="Base_edit:method"]</td> <td>//input[@name=&quot;field_my_title&quot;]</td>
<td></td> <td>ZUITE-TEST-PAYMENT-CONDITON-002</td>
</tr> </tr>
<tr style="opacity: 1;"> <tr style="opacity: 1;">
<td>verifyTextPresent</td> <td>type</td>
<td>Data updated.</td> <td>//div[@data-gadget-scope=&quot;field_my_description&quot;]//textarea</td>
<td></td> <td>Description of ZUITE-TEST-PAYMENT-CONDITION-002</td>
</tr> </tr>
</tbody> <tr>
</table> <td colspan="3">&lt;tal:block metal:use-macro=&quot;here/Zuite_CommonTemplateForRenderjsUi/macros/save&quot;&gt; &lt;tal:block metal:use-macro=&quot;here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_content_loaded&quot;&gt; &lt;/tal:block&gt; &lt;/tal:block&gt;</td>
</test> </tr>
</section><section class="screenshot"> <tr>
<h1>Fill the Payment Tab(4)</h1> <td>storeLocation</td>
<img src="http://www.erp5.com/user-Howto.Create.Trade.Conditions.Advance.Payment?format=png" type="image/png" title="Advance Payment" alt="Advance Payment"> <td>before_sale_trade_condition</td>
<details open="open"> <td>&nbsp;</td>
<p>This Payment condition is in fact an Advance on Payment of 20%. We have put some information about when this advance should be paid and the payment mode. Refer to the picture for more details. When you are done, click the "save" button.</p> </tr>
</details> <tr style="opacity: 1;">
<test> <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 class="test" style="display: none;"> </tr>
<tbody></tbody> <tr>
</table> <td>open</td>
</test> <td>${before_sale_trade_condition}</td>
</section><section class="screenshot"> <td>&nbsp;</td>
<h1>Fill the Payment Tab(5)</h1> </tr>
<img src="http://www.erp5.com/user-Howto.Create.Trade.Conditions.Additional.Payments?format=png" type="image/png" title="Additional Payments" alt="Additional Payments"> <tr>
<details open="open"> <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>
<p>Back on the Payment Tab of the Sale Trade Condition, you can see that the Payment Condition you have created has been added to the Additional Payment Lines. For your information, the default_payment line is the line that has been created automatically when you filled the Payment tab in the previous steps.</p><p>We will now edit the default payment line, in order to change its name. Click on the line, and jump to next page.</p> </tr>
</details> </tbody>
<test> </table>
<table class="test" style="display: none;"> </test></section>
<tbody>
<tr style="opacity: 1;"> <section class="screenshot">
<td>clickAndWait</td> <h1>Fill the Payment Tab(4)</h1>
<td>link=ZUITE-TEST-SALE-TRADE-CONDITION-001</td> <img alt="Advance Payment" src="http://www.erp5.com/user-Howto.Create.Trade.Conditions.Advance.Payment?format=png" title="Advance Payment" type="image/png" />
<td></td> <details open="open">
</tr> <p>This Payment condition is in fact an Advance on Payment of 20%. We have put some information about when this advance should be paid and the payment mode. Refer to the picture for more details. When you are done, click the &quot;save&quot; button.</p>
<tr> </details>
<td>clickAndWait</td> <test>
<td>link=Payment</td> <table class="test" style="display: none;">
<td></td> <tbody>
</tr> <tr>
</tbody> <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>
</table> </tr>
</test> <tr>
</section><section class="screenshot"> <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>
<h1>Fill the Payment Tab(6)</h1> </tr>
<img src="http://www.erp5.com/user-Howto.Create.Trade.Conditions.Default.Payment.Condition?format=png" type="image/png" title="Edit default payment condition" alt="Edit default payment condition"> <tr>
<details open="open"> <td colspan="3">&lt;tal:block tal:define=&quot;click_configuration python: {&#39;text&#39;: &#39;Sale Trade Conditions&#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>
<p>We will only change the title of the line and add a description. This line in fact is the balance of the Payment.</p> </tr>
</details> <tr>
<test> <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 class="test" style="display: none;"> </tr>
<tbody> <tr>
<tr> <td colspan="3">&lt;tal:block metal:use-macro=&quot;here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_listbox_loaded&quot; /&gt;</td>
<td>clickAndWait</td> </tr>
<td>link=default_payment_condition</td> </tbody>
<td></td> </table>
</tr> </test></section>
<tr>
<td>type</td> <section class="screenshot">
<td>//input[@name="field_my_title"]</td> <h1>Fill the Payment Tab(5)</h1>
<td>ZUITE-TEST-PAYMENT-CONDITION-001</td> <img alt="Additional Payments" src="http://www.erp5.com/user-Howto.Create.Trade.Conditions.Additional.Payments?format=png" title="Additional Payments" type="image/png" />
</tr> <details open="open">
<tr style="opacity: 1;"> <p>Back on the Payment Tab of the Sale Trade Condition, you can see that the Payment Condition you have created has been added to the Additional Payment Lines. For your information, the default_payment line is the line that has been created automatically when you filled the Payment tab in the previous steps.</p>
<td>type</td>
<td>//textarea[@name="field_my_description"]</td> <p>We will now edit the default payment line, in order to change its name. Click on the line, and jump to next page.</p>
<td>Description of ZUITE-TEST-PAYMENT-CONDITION-001</td> </details>
</tr> <test>
<tr style="opacity: 1;"> <table class="test" style="display: none;">
<td>clickAndWait</td> <tbody>
<td>//input[@name="Base_edit:method"]</td> <tr>
<td></td> <td>waitForElementPresent</td>
</tr> <td>//a[contains(text(), &quot;ZUITE-TEST-SALE-TRADE-CONDITION-001&quot;)]</td>
<tr style="opacity: 1;"> <td>&nbsp;</td>
<td>verifyTextPresent</td> </tr>
<td>Data updated.</td> <tr>
<td></td> <td>click</td>
</tr> <td>//a[contains(text(), &quot;ZUITE-TEST-SALE-TRADE-CONDITION-001&quot;)]</td>
</tbody> <td>&nbsp;</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_content_loaded&quot;&gt; &lt;/tal:block&gt;</td>
<h1>Fill the Payment Tab(7)</h1> </tr>
<img title="Balance" alt="Balance" src="http://www.erp5.com/user-Howto.Create.Trade.Conditions.Default.Payment.Condition.Edit?format=png" type="image/png"> <tr>
<details open="open"> <td colspan="3">&lt;tal:block tal:define=&quot;click_configuration python: {&#39;text&#39;: &#39;Payment&#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>
<p>When you are done, save your work and go back to the payment tab of your Sale Trade Conditions.</p> </tr>
</details> <tr>
<test> <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 class="test" style="display: none;"> </tr>
<tbody> </tbody>
<tr> </table>
<td>verifyValue</td> </test></section>
<td>//input[@name="field_my_title"]</td>
<td>ZUITE-TEST-PAYMENT-CONDITION-001</td> <section class="screenshot">
</tr> <h1>Fill the Payment Tab(6)</h1>
</tbody> <img alt="Edit default payment condition" src="http://www.erp5.com/user-Howto.Create.Trade.Conditions.Default.Payment.Condition?format=png" title="Edit default payment condition" type="image/png" />
</table> <details open="open">
</test> <p>We will only change the title of the line and add a description. This line in fact is the balance of the Payment.</p>
</section><section class="screenshot"> </details>
<h1>Finalized Payment Conditions</h1> <test>
<img src="http://www.erp5.com/user-Howto.Create.Trade.Conditions.Payment.Condition.Finalized?format=png" type="image/png" title="Finalized Payment Conditions" alt="Finalized Payment Conditions"> <table class="test" style="display: none;">
<details open="open"> <tbody>
<p>As you can see here, the two lines have been created, one line for the Advance Payment and one line for the Balance. We are done with the payment Conditions, we will now see the "Profile" Tab.</p> <tr>
</details> <td>waitForElementPresent</td>
<test> <td>//p[contains(text(), &quot;default_payment_condition&quot;)]</td>
<table class="test" style="display: none;"> <td>&nbsp;</td>
<tbody> </tr>
<tr style="opacity: 1;"> <tr>
<td>clickAndWait</td> <td>click</td>
<td>link=ZUITE-TEST-SALE-TRADE-CONDITION-001</td> <td>//p[contains(text(), &quot;default_payment_condition&quot;)]</td>
<td></td> <td>&nbsp;</td>
</tr> </tr>
<tr style="opacity: 1;"> <tr>
<td>clickAndWait</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>link=Payment</td> </tr>
<td></td> <tr>
</tr> <td>waitForElementPresent</td>
<tr style="opacity: 1;"> <td>//input[@name=&quot;field_my_title&quot;]</td>
<td>verifyTextPresent</td> <td>&nbsp;</td>
<td>ZUITE-TEST-PAYMENT-CONDITION-001</td> </tr>
<td></td> <tr>
</tr> <td>type</td>
<tr> <td>//input[@name=&quot;field_my_title&quot;]</td>
<td>verifyTextPresent</td> <td>ZUITE-TEST-PAYMENT-CONDITION-001</td>
<td>ZUITE-TEST-PAYMENT-CONDITION-002</td> </tr>
<td></td> <tr style="opacity: 1;">
</tr> <td>type</td>
</tbody> <td>//div[@data-gadget-scope=&quot;field_my_description&quot;]//textarea</td>
</table> <td>Description of ZUITE-TEST-PAYMENT-CONDITION-001</td>
</test> </tr>
</section><section class="screenshot"> <tr>
<h1>The Profile Tab</h1> <td colspan="3">&lt;tal:block metal:use-macro=&quot;here/Zuite_CommonTemplateForRenderjsUi/macros/save&quot;&gt; &lt;tal:block metal:use-macro=&quot;here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_content_loaded&quot;&gt; &lt;/tal:block&gt; &lt;/tal:block&gt;</td>
<img src="http://www.erp5.com/user-Howto.Create.Trade.Conditions.Profile.Supplier?format=png" type="image/png" title="The Profile Tab" alt="The Profile Tab"> </tr>
<details open="open"> </tbody>
<p>This tab gathers information about the two parties of the sale order-the supplier parts are circled in red and the client parts are circled in blue. Some information of the supplier part have already been filled if you filled the view tab out correctly. The only fields you have to edit here are the "Invoice Sender" and the "Payee". You will notice that the "Payee" has no options, this is because you haven't edited the "Financial Information" tab of your organisation which you put in the supplier fields. So we will now add a "Bank Account" in the "Financial Information" tab of the organisation.</p><p>Note that for the client fields which are circled in blue, it is necessary to fill out the information when you set a sale order with your customer, but you don't have to edit them now, because these fields are different according to different sale orders. So you can edit them individually in each particular Sale Order document, after you have imported the general Sale Payment Conditions which we just created.</p> </table>
</details> </test></section>
<test>
<table class="test" style="display: none;"> <section class="screenshot">
<tbody> <h1>Fill the Payment Tab(7)</h1>
<tr> <img alt="Balance" src="http://www.erp5.com/user-Howto.Create.Trade.Conditions.Default.Payment.Condition.Edit?format=png" title="Balance" type="image/png" />
<td>clickAndWait</td> <details open="open">
<td>link=Profile</td> <p>When you are done, save your work and go back to the payment tab of your Sale Trade Conditions.</p>
<td></td> </details>
</tr> <test>
</tbody> <table class="test" style="display: none;">
</table> <tbody>
</test> <tr>
</section><section class="screenshot"> <td>verifyValue</td>
<h1>Add Payee</h1> <td>//input[@name=&quot;field_my_title&quot;]</td>
<img title="Sale Trade Conditions-Supplier" alt="Sale Trade Conditions-Supplier" src="http://www.erp5.com/user-Howto.Create.Trade.Conditions.Choose.Payee?format=png" type="image/png"> <td>ZUITE-TEST-PAYMENT-CONDITION-001</td>
<details open="open"> </tr>
<p> </tbody>
In a Sale Order, the one who gets paid is usually the supplier. Therefore we define in the <strong>Payee</strong> </table>
field our own bank account. If you cannot select any bank account, than you first have to create a bank account for your organisation as described in the tutorial <a href="user-Howto.Create.Bank.Account/view"><strong>How to create Bank Accounts</strong></a> </test></section>
</p>
</details> <section class="screenshot">
<test> <h1>Finalized Payment Conditions</h1>
<table class="test" style="display: none;"> <img alt="Finalized Payment Conditions" src="http://www.erp5.com/user-Howto.Create.Trade.Conditions.Payment.Condition.Finalized?format=png" title="Finalized Payment Conditions" type="image/png" />
<tbody> <details open="open">
<tr> <p>As you can see here, the two lines have been created, one line for the Advance Payment and one line for the Balance. We are done with the payment Conditions, we will now see the &quot;Profile&quot; Tab.</p>
<td>type</td> </details>
<td>//input[@name="field_my_source_section_title"]</td> <test>
<td>ZUITE-TEST-SALEORDER-ORGANISATION-001</td> <table class="test" style="display: none;">
</tr> <tbody>
<tr style="opacity: 1;"> <tr>
<td>type</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>//input[@name="field_my_source_title"]</td> </tr>
<td>ZUITE-TEST-SALEORDER-ORGANISATION-001</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> </tr>
<td>type</td> <tr>
<td>//input[@name="field_my_source_decision_title"]</td> <td colspan="3">&lt;tal:block tal:define=&quot;click_configuration python: {&#39;text&#39;: &#39;Sale Trade Conditions&#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-ORGANISATION-001</td> </tr>
</tr> <tr>
<tr style="opacity: 1;"> <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>type</td> </tr>
<td>//input[@name="field_my_source_administration_title"]</td> <tr>
<td>ZUITE-TEST-SALEORDER-ORGANISATION-001</td> <td colspan="3">&lt;tal:block metal:use-macro=&quot;here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_listbox_loaded&quot; /&gt;</td>
</tr> </tr>
<tr style="opacity: 1;"> <tr>
<td>clickAndWait</td> <td>waitForElementPresent</td>
<td>//input[@name="Base_edit:method"]</td> <td>//a[contains(text(), &quot;ZUITE-TEST-SALE-TRADE-CONDITION-001&quot;)]</td>
<td></td> <td>&nbsp;</td>
</tr> </tr>
<tr> <tr>
<td>verifyValue</td> <td>click</td>
<td>//input[@name="field_my_source_section_title"]</td> <td>//a[contains(text(), &quot;ZUITE-TEST-SALE-TRADE-CONDITION-001&quot;)]</td>
<td>ZUITE-TEST-SALEORDER-ORGANISATION-001</td> <td>&nbsp;</td>
</tr> </tr>
<tr style="opacity: 1;"> <tr>
<td>verifyValue</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>//input[@name="field_my_source_title"]</td> </tr>
<td>ZUITE-TEST-SALEORDER-ORGANISATION-001</td> <tr>
</tr> <td colspan="3">&lt;tal:block tal:define=&quot;click_configuration python: {&#39;text&#39;: &#39;Payment&#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>verifyValue</td> <tr>
<td>//input[@name="field_my_source_decision_title"]</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>ZUITE-TEST-SALEORDER-ORGANISATION-001</td> </tr>
</tr> <tr>
<tr style="opacity: 1;"> <td colspan="3">&lt;tal:block metal:use-macro=&quot;here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_listbox_loaded&quot; /&gt;</td>
<td>verifyValue</td> </tr>
<td>//input[@name="field_my_source_administration_title"]</td> <tr>
<td>ZUITE-TEST-SALEORDER-ORGANISATION-001</td> <td>waitForElementPresent</td>
</tr> <td>//p[text()=&quot;ZUITE-TEST-SALE-TRADE-CONDITION-001&quot;]</td>
</tbody> <td>&nbsp;</td>
</table> </tr>
</test> <tr style="opacity: 1;">
</section><section class="screenshot"> <td>verifyTextPresent</td>
<h1>Validate the Sale Trade Condition</h1> <td>ZUITE-TEST-PAYMENT-CONDITION-001</td>
<img alt="Validate Sale Trade Condition" title="Validate Sale Trade Condition" type="image/svg+xml" src="http://www.erp5.com/user-Howto.Create.Trade.Conditions.Validate?format=png"> <td>&nbsp;</td>
<details open="open"> </tr>
<p> <tr>
The final step to create the Sale Trade Condition, is to go back to the View tab and <strong>Validate</strong> <td>verifyTextPresent</td>
it. <td>ZUITE-TEST-PAYMENT-CONDITION-002</td>
</p><p>For now, you have successfully created a Sale Trade Condition, which you can apply later. The steps to create a Purchase Trade Condition are the same. Now we will show you how and where to apply them.</p> <td>&nbsp;</td>
</details> </tr>
</section><section class="screenshot"> </tbody>
<h1>Create a Sale Order</h1> </table>
<img alt="Create a Sale Order" title="Create a Sale Order" src="http://www.erp5.com/user-Howto.Apply.Trade.Conditions.Create.Sale.Order.New?format=png" type="image/png"> </test></section>
<details open="open">
<p>Now we have created Sale Trade Conditions, how can we apply them?</p><p> <section class="screenshot">
The Trade Conditions are mostly used when we create a Sale/Purchase order from the "Home Page" of your ERP5 instance. So click on the new tab and choose Sale Order in the Trade Area. <h1>The Profile Tab</h1>
. <img alt="The Profile Tab" src="http://www.erp5.com/user-Howto.Create.Trade.Conditions.Profile.Supplier?format=png" title="The Profile Tab" type="image/png" />
</p> <details open="open">
</details> <p>This tab gathers information about the two parties of the sale order-the supplier parts are circled in red and the client parts are circled in blue. Some information of the supplier part have already been filled if you filled the view tab out correctly. The only fields you have to edit here are the &quot;Invoice Sender&quot; and the &quot;Payee&quot;. You will notice that the &quot;Payee&quot; has no options, this is because you haven&#39;t edited the &quot;Financial Information&quot; tab of your organisation which you put in the supplier fields. So we will now add a &quot;Bank Account&quot; in the &quot;Financial Information&quot; tab of the organisation.</p>
<test>
<table class="test" style="display: none;"> <p>Note that for the client fields which are circled in blue, it is necessary to fill out the information when you set a sale order with your customer, but you don&#39;t have to edit them now, because these fields are different according to different sale orders. So you can edit them individually in each particular Sale Order document, after you have imported the general Sale Payment Conditions which we just created.</p>
<tbody> </details>
<tr style="opacity: 1;"> <test>
<td colspan="3">&lt;span metal:use-macro="container/Zuite_viewTestMacroLibrary/macros/wait_for_activities"&gt; Wait for activities &lt;/span&gt;</td> <table class="test" style="display: none;">
</tr> <tbody>
<tr style="opacity: 1;"> <tr>
<td>openAndWait</td> <td colspan="3">&lt;tal:block tal:define=&quot;click_configuration python: {&#39;text&#39;: &#39;Profile&#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>
<td>${base_url}</td> </tr>
<td></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> </tr>
<td>selectAndWait</td> </tbody>
<td>//select[@name="select_module"]</td> </table>
<td>Sale Orders</td> </test></section>
</tr>
<tr> <section class="screenshot">
<td>selectAndWait</td> <h1>Add Payee</h1>
<td>//select[@name="select_action"]</td> <img alt="Sale Trade Conditions-Supplier" src="http://www.erp5.com/user-Howto.Create.Trade.Conditions.Choose.Payee?format=png" title="Sale Trade Conditions-Supplier" type="image/png" />
<td>Add Sale Order</td> <details open="open">
</tr> <p>In a Sale Order, the one who gets paid is usually the supplier. Therefore we define in the <strong>Payee</strong> field our own bank account. If you cannot select any bank account, than you first have to create a bank account for your organisation as described in the tutorial <a href="user-Howto.Create.Bank.Account/view"><strong>How to create Bank Accounts</strong></a></p>
<tr> </details>
<td>type</td> <test>
<td>//input[@name="field_my_title"]</td> <table class="test" style="display: none;">
<td>ZUITE-TEST-TRADE-CONDITION-SALE-ORDER-001</td> <tbody>
</tr> <tr>
<tr> <td>waitForElementPresent</td>
<td>type</td> <td>//input[@name=&quot;field_my_source_section_title&quot;]</td>
<td>//input[@name="field_my_specialise_title"]</td> <td>&nbsp;</td>
<td>ZUITE-TEST-SALE-TRADE-CONDITION-001</td> </tr>
</tr> <tr>
<tr> <td>type</td>
<td>clickAndWait</td> <td>//input[@name=&quot;field_my_source_section_title&quot;]</td>
<td>//input[@name="Base_edit:method"]</td> <td>ZUITE-TEST-SALEORDER-ORGANISATION-001</td>
<td></td> </tr>
</tr> <tr>
</tbody> <td>fireEvent</td>
</table> <td>//input[@name=&quot;field_my_source_section_title&quot;]</td>
</test> <td>input</td>
</section><section class="screenshot"> </tr>
<h1>Apply Trade Conditions</h1> <tr>
<img alt="Apply Sale Trade Condition" title="Apply Sale Trade Condition" src="http://www.erp5.com/user-Howto.Apply.Trade.Conditions.Fill.Save.Apply?format=png" type="image/png"> <td>waitForElementPresent</td>
<details open="open"> <td>//ul[@class=&quot;search_ul&quot;]//li</td>
<p> <td>&nbsp;</td>
When the order is created, <strong>enter the name of your Trade Condition in the Trade Condition field</strong> </tr>
, as shown in Blue in the picture (You can also choose from the Sale Trade Conditions list by clicking on the Wheel). When it is done, <tr>
<strong>save by clicking the Save Button</strong> <td>click</td>
, as shown in red in the picture. The third step, in black in the picture, is to open the Action Item List and <td>//ul[@class=&quot;search_ul&quot;]/li[1]</td>
<strong>choose Apply Sale Trade Condition</strong> <td>&nbsp;</td>
. </tr>
</p> <tr style="opacity: 1;">
</details> <td>type</td>
<test> <td>//input[@name=&quot;field_my_source_title&quot;]</td>
<table class="test" style="display: none;"> <td>ZUITE-TEST-SALEORDER-ORGANISATION-001</td>
<tbody> </tr>
<tr> <tr>
<td>selectAndWait</td> <td>fireEvent</td>
<td>//select[@name="select_action"]</td> <td>//input[@name=&quot;field_my_source_title&quot;]</td>
<td>Apply Sale Trade Condition</td> <td>input</td>
</tr> </tr>
<tr style="opacity: 1;"> <tr>
<td>verifyText</td> <td>waitForElementPresent</td>
<td>//div[@id="transition_message"]</td> <td>//ul[@class=&quot;search_ul&quot;]//li</td>
<td>Order updated.</td> <td>&nbsp;</td>
</tr> </tr>
</tbody> <tr>
</table> <td>click</td>
</test> <td>//ul[@class=&quot;search_ul&quot;]//li[1]</td>
</section><section class="screenshot"> <td>&nbsp;</td>
<h1>Imported trade condition information on View tab</h1> </tr>
<img alt="Imported information on View tab" title="Imported information on View tab" src="http://www.erp5.com/user-Howto.Apply.Trade.Conditions.Information.Imported.View?format=png" type="image/png"> <tr>
<details open="open"> <td>type</td>
<p>As you can see, the View tab has been filled with information imported from the Sale Trade Condition you choose to apply.</p> <td>//input[@name=&quot;field_my_source_decision_title&quot;]</td>
</details> <td>ZUITE-TEST-SALEORDER-ORGANISATION-001</td>
<test> </tr>
<table class="test" style="display: none;"> <tr>
<tbody> <td>fireEvent</td>
<tr> <td>//input[@name=&quot;field_my_source_decision_title&quot;]</td>
<td>verifyValue</td> <td>input</td>
<td>//input[@name="field_my_source_decision_title"]</td> </tr>
<td>ZUITE-TEST-SALEORDER-ORGANISATION-001</td> <tr>
</tr> <td>waitForElementPresent</td>
<tr style="opacity: 1;"> <td>//ul[@class=&quot;search_ul&quot;]//li</td>
<td>verifyValue</td> <td>&nbsp;</td>
<td>//input[@name="field_my_source_title"]</td> </tr>
<td>ZUITE-TEST-SALEORDER-ORGANISATION-001</td> <tr>
</tr> <td>click</td>
</tbody> <td>//ul[@class=&quot;search_ul&quot;]//li[1]</td>
</table> <td>&nbsp;</td>
</test> </tr>
</section><!--<section class="screenshot"> <tr style="opacity: 1;">
<td>type</td>
<td>//input[@name=&quot;field_my_source_administration_title&quot;]</td>
<td>ZUITE-TEST-SALEORDER-ORGANISATION-001</td>
</tr>
<tr>
<td>fireEvent</td>
<td>//input[@name=&quot;field_my_source_administration_title&quot;]</td>
<td>input</td>
</tr>
<tr>
<td>waitForElementPresent</td>
<td>//ul[@class=&quot;search_ul&quot;]//li</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>click</td>
<td>//ul[@class=&quot;search_ul&quot;]//li[1]</td>
<td>&nbsp;</td>
</tr>
<tr>
<td colspan="3">&lt;tal:block metal:use-macro=&quot;here/Zuite_CommonTemplateForRenderjsUi/macros/save&quot;&gt; &lt;tal:block metal:use-macro=&quot;here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_content_loaded&quot;&gt; &lt;/tal:block&gt; &lt;/tal:block&gt;</td>
</tr>
<tr>
<td>verifyValue</td>
<td>//input[@name=&quot;field_my_source_section_title&quot;]</td>
<td>ZUITE-TEST-SALEORDER-ORGANISATION-001</td>
</tr>
<tr style="opacity: 1;">
<td>verifyValue</td>
<td>//input[@name=&quot;field_my_source_title&quot;]</td>
<td>ZUITE-TEST-SALEORDER-ORGANISATION-001</td>
</tr>
<tr>
<td>verifyValue</td>
<td>//input[@name=&quot;field_my_source_decision_title&quot;]</td>
<td>ZUITE-TEST-SALEORDER-ORGANISATION-001</td>
</tr>
<tr style="opacity: 1;">
<td>verifyValue</td>
<td>//input[@name=&quot;field_my_source_administration_title&quot;]</td>
<td>ZUITE-TEST-SALEORDER-ORGANISATION-001</td>
</tr>
</tbody>
</table>
</test></section>
<section class="screenshot">
<h1>Validate the Sale Trade Condition</h1>
<img alt="Validate Sale Trade Condition" src="http://www.erp5.com/user-Howto.Create.Trade.Conditions.Validate?format=png" title="Validate Sale Trade Condition" type="image/svg+xml" />
<details open="open">
<p>The final step to create the Sale Trade Condition, is to go back to the View tab and <strong>Validate</strong> it.</p>
<p>For now, you have successfully created a Sale Trade Condition, which you can apply later. The steps to create a Purchase Trade Condition are the same. Now we will show you how and where to apply them.</p>
</details>
</section>
<section class="screenshot">
<h1>Create a Sale Order</h1>
<img alt="Create a Sale Order" src="http://www.erp5.com/user-Howto.Apply.Trade.Conditions.Create.Sale.Order.New?format=png" title="Create a Sale Order" type="image/png" />
<details open="open">
<p>Now we have created Sale Trade Conditions, how can we apply them?</p>
<p>The Trade Conditions are mostly used when we create a Sale/Purchase order from the &quot;Home Page&quot; of your ERP5 instance. So click on the new tab and choose Sale Order in the Trade Area. .</p>
</details>
<test>
<table class="test" style="display: none;">
<tbody>
<tr style="opacity: 1;">
<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>
</tr>
<tr style="opacity: 1;">
<td>open</td>
<td>${base_url}</td>
<td>&nbsp;</td>
</tr>
<tr>
<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>
<td colspan="3">&lt;tal:block tal:define=&quot;click_configuration python: {&#39;text&#39;: &#39;New&#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>
</tr>
<tr>
<td>waitForElementPresent</td>
<td>//button[text()=&quot;Sale Order&quot;]</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>click</td>
<td>//input[@name=&quot;editable&quot;]</td>
<td>&nbsp;</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>
<tr>
<td>click</td>
<td>//button[text()=&quot;Sale Order&quot;]</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>waitForElementPresent</td>
<td>//input[@name=&quot;field_my_title&quot;]</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>type</td>
<td>//input[@name=&quot;field_my_title&quot;]</td>
<td>ZUITE-TEST-TRADE-CONDITION-SALE-ORDER-001</td>
</tr>
<tr>
<td>type</td>
<td>//input[@name=&quot;field_my_specialise_title&quot;]</td>
<td>ZUITE-TEST-SALE-TRADE-CONDITION-001</td>
</tr>
<tr>
<td>fireEvent</td>
<td>//input[@name=&quot;field_my_specialise_title&quot;]</td>
<td>input</td>
</tr>
<tr>
<td>waitForElementPresent</td>
<td>//ul[@class=&quot;search_ul&quot;]//li</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>click</td>
<td>//ul[@class=&quot;search_ul&quot;]//li[1]</td>
<td>&nbsp;</td>
</tr>
<tr>
<td colspan="3">&lt;tal:block metal:use-macro=&quot;here/Zuite_CommonTemplateForRenderjsUi/macros/save&quot;&gt; &lt;tal:block metal:use-macro=&quot;here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_content_loaded&quot;&gt; &lt;/tal:block&gt; &lt;/tal:block&gt;</td>
</tr>
</tbody>
</table>
</test></section>
<section class="screenshot">
<h1>Apply Trade Conditions</h1>
<img alt="Apply Sale Trade Condition" src="http://www.erp5.com/user-Howto.Apply.Trade.Conditions.Fill.Save.Apply?format=png" title="Apply Sale Trade Condition" type="image/png" />
<details open="open">
<p>When the order is created, <strong>enter the name of your Trade Condition in the Trade Condition field</strong> , as shown in Blue in the picture (You can also choose from the Sale Trade Conditions list by clicking on the Wheel). When it is done, <strong>save by clicking the Save Button</strong> , as shown in red in the picture. The third step, in black in the picture, is to open the Action Item List and <strong>choose Apply Sale Trade Condition</strong> .</p>
</details>
<test>
<table class="test" style="display: none;">
<tbody>
<tr>
<td colspan="3">&lt;tal:block tal:define=&quot;click_configuration python: {&#39;text&#39;: &#39;Apply Sale Trade Condition&#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 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>
</tbody>
</table>
</test></section>
<section class="screenshot">
<h1>Imported trade condition information on View tab</h1>
<img alt="Imported information on View tab" src="http://www.erp5.com/user-Howto.Apply.Trade.Conditions.Information.Imported.View?format=png" title="Imported information on View tab" type="image/png" />
<details open="open">
<p>As you can see, the View tab has been filled with information imported from the Sale Trade Condition you choose to apply.</p>
</details>
<test>
<table class="test" style="display: none;">
<tbody>
<tr>
<td>waitForElementPresent</td>
<td>//input[@name=&quot;field_my_source_decision_title&quot;]</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>verifyValue</td>
<td>//input[@name=&quot;field_my_source_decision_title&quot;]</td>
<td>ZUITE-TEST-SALEORDER-ORGANISATION-001</td>
</tr>
<tr style="opacity: 1;">
<td>verifyValue</td>
<td>//input[@name=&quot;field_my_source_title&quot;]</td>
<td>ZUITE-TEST-SALEORDER-ORGANISATION-001</td>
</tr>
</tbody>
</table>
</test></section>
<!--<section class="screenshot">
<h1>The Payment tab is updated</h1> <h1>The Payment tab is updated</h1>
<img alt="The Payment tab is updated" title="The Payment tab is updated" src="http://www.erp5.com/user-Howto.Apply.Trade.Conditions.Information.Imported.Payment?format=png" type="image/png"> <img alt="The Payment tab is updated" title="The Payment tab is updated" src="http://www.erp5.com/user-Howto.Apply.Trade.Conditions.Information.Imported.Payment?format=png" type="image/png">
<details open="open"> <details open="open">
...@@ -614,11 +797,12 @@ ...@@ -614,11 +797,12 @@
<test> <test>
<table class="test" style="display: none;"> <table class="test" style="display: none;">
<tbody> <tbody>
<tr> <tr>
<td>clickAndWait</td> <td colspan="3">&lt;tal:block tal:define=&quot;click_configuration python: {&#39;text&#39;: &#39;Payment&#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>
<td>link=Payment</td> </tr>
<td></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>
<tr> <tr>
<td>verifyTextPresent</td> <td>verifyTextPresent</td>
<td>ZUITE-TEST-PAYMENT-CONDITION-001</td> <td>ZUITE-TEST-PAYMENT-CONDITION-001</td>
...@@ -632,61 +816,64 @@ ...@@ -632,61 +816,64 @@
</tbody> </tbody>
</table> </table>
</test> </test>
</section>--><section class="screenshot"> </section>-->
<h1>The profile tab is updated</h1>
<img alt="The profile tab is updated" title="The profile tab is updated" src="http://www.erp5.com/user-Howto.Apply.Trade.Conditions.Information.Imported.Profile?format=png" type="image/png"> <section class="screenshot">
<details open="open"> <h1>The profile tab is updated</h1>
<p>The Profile Tab has been updated as well.</p><p>In the following tutorials about sale/purchase orders, packing lists, invoices and payments, you will see the Specialised Business Processes you just defined in the Trade Conditions will also be applied automatically once you apply the Trade Conditions with the defined business processes.</p> <img alt="The profile tab is updated" src="http://www.erp5.com/user-Howto.Apply.Trade.Conditions.Information.Imported.Profile?format=png" title="The profile tab is updated" type="image/png" />
</details> <details open="open">
<test> <p>The Profile Tab has been updated as well.</p>
<table class="test" style="display: none;">
<tbody> <p>In the following tutorials about sale/purchase orders, packing lists, invoices and payments, you will see the Specialised Business Processes you just defined in the Trade Conditions will also be applied automatically once you apply the Trade Conditions with the defined business processes.</p>
<tr> </details>
<td>clickAndWait</td> <test>
<td>link=Profile</td> <table class="test" style="display: none;">
<td></td> <tbody>
</tr> <tr>
<tr> <td colspan="3">&lt;tal:block tal:define=&quot;click_configuration python: {&#39;text&#39;: &#39;Profile&#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>
<td>verifyValue</td> </tr>
<td>//input[@name="field_my_source_section_title"]</td> <tr>
<td>ZUITE-TEST-SALEORDER-ORGANISATION-001</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>
</tr> </tr>
<tr style="opacity: 1;"> <tr>
<td>verifyValue</td> <td>verifyValue</td>
<td>//input[@name="field_my_source_title"]</td> <td>//input[@name=&quot;field_my_source_section_title&quot;]</td>
<td>ZUITE-TEST-SALEORDER-ORGANISATION-001</td> <td>ZUITE-TEST-SALEORDER-ORGANISATION-001</td>
</tr> </tr>
<tr> <tr style="opacity: 1;">
<td>verifyValue</td> <td>verifyValue</td>
<td>//input[@name="field_my_source_decision_title"]</td> <td>//input[@name=&quot;field_my_source_title&quot;]</td>
<td>ZUITE-TEST-SALEORDER-ORGANISATION-001</td> <td>ZUITE-TEST-SALEORDER-ORGANISATION-001</td>
</tr> </tr>
<tr style="opacity: 1;"> <tr>
<td>verifyValue</td> <td>verifyValue</td>
<td>//input[@name="field_my_source_administration_title"]</td> <td>//input[@name=&quot;field_my_source_decision_title&quot;]</td>
<td>ZUITE-TEST-SALEORDER-ORGANISATION-001</td> <td>ZUITE-TEST-SALEORDER-ORGANISATION-001</td>
</tr> </tr>
<tr style="opacity: 1;"> <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> <td>verifyValue</td>
</tr> <td>//input[@name=&quot;field_my_source_administration_title&quot;]</td>
<tr style="opacity: 1;"> <td>ZUITE-TEST-SALEORDER-ORGANISATION-001</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> <tr style="opacity: 1;">
<tr> <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>
<td>openAndWait</td> </tr>
<td>${base_url}/Zuite_tearDownSaleTradeConditionTest</td> <tr style="opacity: 1;">
<td></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>
</tr> </tr>
<tr> <tr>
<td>verifyTextPresent</td> <td>openAndWait</td>
<td>Clean Ok</td> <td>${base_url}/Zuite_tearDownSaleTradeConditionTest</td>
<td></td> <td>&nbsp;</td>
</tr> </tr>
<tr style="opacity: 1;"> <tr>
<td colspan="3">&lt;span metal:use-macro="container/Zuite_viewTestMacroLibrary/macros/wait_for_activities"&gt; Wait for activities &lt;/span&gt;</td> <td>verifyTextPresent</td>
</tr> <td>Clean Ok</td>
</tbody> <td>&nbsp;</td>
</table> </tr>
</test> <tr style="opacity: 1;">
</section> <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>
</tr>
\ No newline at end of file </tbody>
</table>
</test></section>
...@@ -362,609 +362,1337 @@ ...@@ -362,609 +362,1337 @@
</record> </record>
<record id="7" aka="AAAAAAAAAAc="> <record id="7" aka="AAAAAAAAAAc=">
<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>ni.yan</string> </value> <item>
</item> <key> <string>actor</string> </key>
<item> <value> <string>ni.yan</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="7.1" name="DateTime" module="DateTime.DateTime"/> <object>
</klass> <klass>
<tuple> <global id="7.1" name="DateTime" module="DateTime.DateTime"/>
<none/> </klass>
</tuple> <tuple>
<state> <none/>
<tuple> </tuple>
<float>1468941368.92</float> <state>
<string>UTC</string> <tuple>
</tuple> <float>1468941368.92</float>
</state> <string>UTC</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>ni.yan</string> </value> <item>
</item> <key> <string>actor</string> </key>
<item> <value> <string>ni.yan</string> </value>
<key> <string>comment</string> </key> </item>
<value> <item>
<persistent> <string encoding="base64">AAAAAAAAAAk=</string> </persistent> <key> <string>comment</string> </key>
</value> <value>
</item> <persistent> <string encoding="base64">AAAAAAAAAAk=</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="7.1"/> </klass> <value>
<tuple> <object>
<none/> <klass> <reference id="7.1"/> </klass>
</tuple> <tuple>
<state> <none/>
<tuple> </tuple>
<float>1468941368.94</float> <state>
<string>UTC</string> <tuple>
</tuple> <float>1468941368.94</float>
</state> <string>UTC</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>ni.yan</string> </value> <item>
</item> <key> <string>actor</string> </key>
<item> <value> <string>ni.yan</string> </value>
<key> <string>comment</string> </key> </item>
<value> <item>
<none/> <key> <string>comment</string> </key>
</value> <value>
</item> <none/>
<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>952.43284.14783.45395</string> </value> <item>
</item> <key> <string>serial</string> </key>
<item> <value> <string>952.43284.14783.45395</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="7.1"/> </klass> <value>
<tuple> <object>
<none/> <klass> <reference id="7.1"/> </klass>
</tuple> <tuple>
<state> <none/>
<tuple> </tuple>
<float>1468941376.73</float> <state>
<string>UTC</string> <tuple>
</tuple> <float>1468941376.73</float>
</state> <string>UTC</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>ni.yan</string> </value> <item>
</item> <key> <string>actor</string> </key>
<item> <value> <string>ni.yan</string> </value>
<key> <string>comment</string> </key> </item>
<value> <item>
<none/> <key> <string>comment</string> </key>
</value> <value>
</item> <none/>
<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>952.43284.32849.41816</string> </value> <item>
</item> <key> <string>serial</string> </key>
<item> <value> <string>952.43284.32849.41816</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="7.1"/> </klass> <value>
<tuple> <object>
<none/> <klass> <reference id="7.1"/> </klass>
</tuple> <tuple>
<state> <none/>
<tuple> </tuple>
<float>1469087800.57</float> <state>
<string>UTC</string> <tuple>
</tuple> <float>1469087800.57</float>
</state> <string>UTC</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>ni.yan</string> </value> <item>
</item> <key> <string>actor</string> </key>
<item> <value> <string>ni.yan</string> </value>
<key> <string>comment</string> </key> </item>
<value> <item>
<none/> <key> <string>comment</string> </key>
</value> <value>
</item> <none/>
<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>952.45724.49709.20334</string> </value> <item>
</item> <key> <string>serial</string> </key>
<item> <value> <string>952.45724.49709.20334</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="7.1"/> </klass> <value>
<tuple> <object>
<none/> <klass> <reference id="7.1"/> </klass>
</tuple> <tuple>
<state> <none/>
<tuple> </tuple>
<float>1469087823.99</float> <state>
<string>UTC</string> <tuple>
</tuple> <float>1469087823.99</float>
</state> <string>UTC</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>ni.yan</string> </value> <item>
</item> <key> <string>actor</string> </key>
<item> <value> <string>ni.yan</string> </value>
<key> <string>comment</string> </key> </item>
<value> <item>
<none/> <key> <string>comment</string> </key>
</value> <value>
</item> <none/>
<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>952.45725.10005.34920</string> </value> <item>
</item> <key> <string>serial</string> </key>
<item> <value> <string>952.45725.10005.34920</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="7.1"/> </klass> <value>
<tuple> <object>
<none/> <klass> <reference id="7.1"/> </klass>
</tuple> <tuple>
<state> <none/>
<tuple> </tuple>
<float>1469087834.89</float> <state>
<string>UTC</string> <tuple>
</tuple> <float>1469087834.89</float>
</state> <string>UTC</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>ni.yan</string> </value> <item>
</item> <key> <string>actor</string> </key>
<item> <value> <string>ni.yan</string> </value>
<key> <string>comment</string> </key> </item>
<value> <item>
<none/> <key> <string>comment</string> </key>
</value> <value>
</item> <none/>
<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>952.45725.10005.34920</string> </value> <item>
</item> <key> <string>serial</string> </key>
<item> <value> <string>952.45725.10005.34920</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="7.1"/> </klass> <value>
<tuple> <object>
<none/> <klass> <reference id="7.1"/> </klass>
</tuple> <tuple>
<state> <none/>
<tuple> </tuple>
<float>1469087851.0</float> <state>
<string>UTC</string> <tuple>
</tuple> <float>1469087851.0</float>
</state> <string>UTC</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>ni.yan</string> </value> <item>
</item> <key> <string>actor</string> </key>
<item> <value> <string>ni.yan</string> </value>
<key> <string>comment</string> </key> </item>
<value> <item>
<none/> <key> <string>comment</string> </key>
</value> <value>
</item> <none/>
<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>952.45725.10005.34920</string> </value> <item>
</item> <key> <string>serial</string> </key>
<item> <value> <string>952.45725.10005.34920</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="7.1"/> </klass> <value>
<tuple> <object>
<none/> <klass> <reference id="7.1"/> </klass>
</tuple> <tuple>
<state> <none/>
<tuple> </tuple>
<float>1469087851.72</float> <state>
<string>UTC</string> <tuple>
</tuple> <float>1469087851.72</float>
</state> <string>UTC</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>supertristan</string> </value> <item>
</item> <key> <string>actor</string> </key>
<item> <value> <string>supertristan</string> </value>
<key> <string>comment</string> </key> </item>
<value> <item>
<none/> <key> <string>comment</string> </key>
</value> <value>
</item> <none/>
<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>952.45725.10005.34920</string> </value> <item>
</item> <key> <string>serial</string> </key>
<item> <value> <string>952.45725.10005.34920</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="7.1"/> </klass> <value>
<tuple> <object>
<none/> <klass> <reference id="7.1"/> </klass>
</tuple> <tuple>
<state> <none/>
<tuple> </tuple>
<float>1469092684.05</float> <state>
<string>UTC</string> <tuple>
</tuple> <float>1469092684.05</float>
</state> <string>UTC</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>supertristan</string> </value> <item>
</item> <key> <string>actor</string> </key>
<item> <value> <string>supertristan</string> </value>
<key> <string>comment</string> </key> </item>
<value> <item>
<none/> <key> <string>comment</string> </key>
</value> <value>
</item> <none/>
<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>952.45806.5574.44638</string> </value> <item>
</item> <key> <string>serial</string> </key>
<item> <value> <string>952.45806.5574.44638</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="7.1"/> </klass> <value>
<tuple> <object>
<none/> <klass> <reference id="7.1"/> </klass>
</tuple> <tuple>
<state> <none/>
<tuple> </tuple>
<float>1469092791.8</float> <state>
<string>UTC</string> <tuple>
</tuple> <float>1469092791.8</float>
</state> <string>UTC</string>
</object> </tuple>
</value> </state>
</item> </object>
</dictionary> </value>
</list> </item>
</tuple> </dictionary>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>edit</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>990.17444.48467.46967</string> </value>
</item>
<item>
<key> <string>state</string> </key>
<value> <string>current</string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass> <reference id="7.1"/> </klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1616512240.01</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>edit</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>990.58510.43710.52531</string> </value>
</item>
<item>
<key> <string>state</string> </key>
<value> <string>current</string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass> <reference id="7.1"/> </klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1616512383.48</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>edit</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>990.58513.3807.20292</string> </value>
</item>
<item>
<key> <string>state</string> </key>
<value> <string>current</string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass> <reference id="7.1"/> </klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1616520002.21</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>edit</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>990.58640.2415.50790</string> </value>
</item>
<item>
<key> <string>state</string> </key>
<value> <string>current</string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass> <reference id="7.1"/> </klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1616520927.11</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>edit</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>990.58655.29615.55671</string> </value>
</item>
<item>
<key> <string>state</string> </key>
<value> <string>current</string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass> <reference id="7.1"/> </klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1616523953.04</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>edit</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>990.58705.57937.18056</string> </value>
</item>
<item>
<key> <string>state</string> </key>
<value> <string>current</string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass> <reference id="7.1"/> </klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1616526082.0</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>edit</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>990.58741.24037.6894</string> </value>
</item>
<item>
<key> <string>state</string> </key>
<value> <string>current</string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass> <reference id="7.1"/> </klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1616526393.42</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>edit</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>990.58746.36513.28791</string> </value>
</item>
<item>
<key> <string>state</string> </key>
<value> <string>current</string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass> <reference id="7.1"/> </klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1616527275.07</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>edit</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>990.58761.16468.59886</string> </value>
</item>
<item>
<key> <string>state</string> </key>
<value> <string>current</string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass> <reference id="7.1"/> </klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1616527722.44</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>edit</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>990.58768.46362.53128</string> </value>
</item>
<item>
<key> <string>state</string> </key>
<value> <string>current</string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass> <reference id="7.1"/> </klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1616529505.88</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>edit</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>990.58798.28273.43912</string> </value>
</item>
<item>
<key> <string>state</string> </key>
<value> <string>current</string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass> <reference id="7.1"/> </klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1616529666.64</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>edit</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>990.58801.7254.61320</string> </value>
</item>
<item>
<key> <string>state</string> </key>
<value> <string>current</string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass> <reference id="7.1"/> </klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1617137310.78</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>edit</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>991.3392.33625.57412</string> </value>
</item>
<item>
<key> <string>state</string> </key>
<value> <string>current</string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass> <reference id="7.1"/> </klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1617137764.33</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>edit</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>991.3400.4743.43229</string> </value>
</item>
<item>
<key> <string>state</string> </key>
<value> <string>current</string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass> <reference id="7.1"/> </klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1617137956.18</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>edit</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>991.3403.17678.21725</string> </value>
</item>
<item>
<key> <string>state</string> </key>
<value> <string>current</string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass> <reference id="7.1"/> </klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1617223704.77</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>edit</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>991.4832.27072.54033</string> </value>
</item>
<item>
<key> <string>state</string> </key>
<value> <string>current</string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass> <reference id="7.1"/> </klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1617236460.39</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle> </pickle>
</record> </record>
<record id="8" aka="AAAAAAAAAAg="> <record id="8" aka="AAAAAAAAAAg=">
<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> <item>
<none/> <key> <string>action</string> </key>
</value> <value>
</item> <none/>
<item> </value>
<key> <string>actor</string> </key> </item>
<value> <string>ni.yan</string> </value> <item>
</item> <key> <string>actor</string> </key>
<item> <value> <string>ni.yan</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>external_processing_state</string> </key> </item>
<value> <string>empty</string> </value> <item>
</item> <key> <string>external_processing_state</string> </key>
<item> <value> <string>empty</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>time</string> </key> </item>
<value> <item>
<object> <key> <string>time</string> </key>
<klass> <value>
<global id="8.1" name="DateTime" module="DateTime.DateTime"/> <object>
</klass> <klass>
<tuple> <global id="8.1" name="DateTime" module="DateTime.DateTime"/>
<none/> </klass>
</tuple> <tuple>
<state> <none/>
<tuple> </tuple>
<float>1468941368.93</float> <state>
<string>UTC</string> <tuple>
</tuple> <float>1468941368.93</float>
</state> <string>UTC</string>
</object> </tuple>
</value> </state>
</item> </object>
</dictionary> </value>
<dictionary> </item>
<item> </dictionary>
<key> <string>action</string> </key> <dictionary>
<value> <string>detect_uploaded_file</string> </value> <item>
</item> <key> <string>action</string> </key>
<item> <value> <string>detect_uploaded_file</string> </value>
<key> <string>actor</string> </key> </item>
<value> <string>ni.yan</string> </value> <item>
</item> <key> <string>actor</string> </key>
<item> <value> <string>ni.yan</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>external_processing_state</string> </key> </item>
<value> <string>uploaded</string> </value> <item>
</item> <key> <string>external_processing_state</string> </key>
<item> <value> <string>uploaded</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>time</string> </key> </item>
<value> <item>
<object> <key> <string>time</string> </key>
<klass> <reference id="8.1"/> </klass> <value>
<tuple> <object>
<none/> <klass> <reference id="8.1"/> </klass>
</tuple> <tuple>
<state> <none/>
<tuple> </tuple>
<float>1468941368.93</float> <state>
<string>UTC</string> <tuple>
</tuple> <float>1468941368.93</float>
</state> <string>UTC</string>
</object> </tuple>
</value> </state>
</item> </object>
</dictionary> </value>
<dictionary> </item>
<item> </dictionary>
<key> <string>action</string> </key> <dictionary>
<value> <string>detect_converted_file</string> </value> <item>
</item> <key> <string>action</string> </key>
<item> <value> <string>detect_converted_file</string> </value>
<key> <string>actor</string> </key> </item>
<value> <string>ni.yan</string> </value> <item>
</item> <key> <string>actor</string> </key>
<item> <value> <string>ni.yan</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>external_processing_state</string> </key> </item>
<value> <string>converted</string> </value> <item>
</item> <key> <string>external_processing_state</string> </key>
<item> <value> <string>converted</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>time</string> </key> </item>
<value> <item>
<object> <key> <string>time</string> </key>
<klass> <reference id="8.1"/> </klass> <value>
<tuple> <object>
<none/> <klass> <reference id="8.1"/> </klass>
</tuple> <tuple>
<state> <none/>
<tuple> </tuple>
<float>1468941368.93</float> <state>
<string>UTC</string> <tuple>
</tuple> <float>1468941368.93</float>
</state> <string>UTC</string>
</object> </tuple>
</value> </state>
</item> </object>
</dictionary> </value>
</list> </item>
</tuple> </dictionary>
</list>
</value>
</item>
</dictionary>
</pickle> </pickle>
</record> </record>
<record id="9" aka="AAAAAAAAAAk="> <record id="9" aka="AAAAAAAAAAk=">
......
...@@ -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>ni.yan</string> </value> <item>
</item> <key> <string>actor</string> </key>
<item> <value> <string>ni.yan</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>1468941368.94</float> <state>
<string>UTC</string> <tuple>
</tuple> <float>1468941368.94</float>
</state> <string>UTC</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>ni.yan</string> </value> <item>
</item> <key> <string>actor</string> </key>
<item> <value> <string>ni.yan</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>1468941368.94</float> <state>
<string>UTC</string> <tuple>
</tuple> <float>1468941368.94</float>
</state> <string>UTC</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>ni.yan</string> </value> <item>
</item> <key> <string>actor</string> </key>
<item> <value> <string>ni.yan</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>1468941368.94</float> <state>
<string>UTC</string> <tuple>
</tuple> <float>1468941368.94</float>
</state> <string>UTC</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>ni.yan</string> </value> <item>
</item> <key> <string>actor</string> </key>
<item> <value> <string>ni.yan</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>1468941368.95</float> <state>
<string>UTC</string> <tuple>
</tuple> <float>1468941368.95</float>
</state> <string>UTC</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>ni.yan</string> </value> <item>
</item> <key> <string>actor</string> </key>
<item> <value> <string>ni.yan</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>1468941368.95</float> <state>
<string>UTC</string> <tuple>
</tuple> <float>1468941368.95</float>
</state> <string>UTC</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>ni.yan</string> </value> <item>
</item> <key> <string>actor</string> </key>
<item> <value> <string>ni.yan</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>1468941368.95</float> <state>
<string>UTC</string> <tuple>
</tuple> <float>1468941368.95</float>
</state> <string>UTC</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