<span metal:use-macro="container/Zuite_viewTestMacroLibrary/macros/init_test_environment">init</span> | ||
openAndWait | ${base_url}/Zuite_createFunctionalTestUser | |
verifyTextPresent | Done | |
<span metal:use-macro="container/Zuite_viewTestMacroLibrary/macros/wait_for_activities"> Wait for activities </span> | ||
openAndWait | ${base_url}/Zuite_setUpSaleTradeConditionTest | |
verifyTextPresent | Init Ok | |
<span metal:use-macro="container/Zuite_viewTestMacroLibrary/macros/wait_for_activities"> Wait for activities </span> | ||
<span metal:use-macro="container/Zuite_viewTestMacroLibrary/macros/login_as_functional_test_user">Login As Functional Test User</span> |
本教程将介绍如何通过ERP5的贸易模块来建立销售贸易条款。您也将学习如何将一个销售贸易条款运用到一个销售订单中。注意:销售贸易条款和采购贸易条款的设置完全一致,因此学习完本教程,您也可以以相同流程建立采购贸易条款。
可能您会发现,贸易条款文件和销售或采购订单文件非常相似。想法其实很简单,即贸易条款会帮助您保存一些具体类型订单要用到的信息。一旦这些信息被存储,您就可以将它们从贸易条款中导入所有同类型的销售或采购订单。在一个贸易条款中,您可以设定支付方式,货币,税收行为,折扣行为,交付方式,国际贸易术语。这些信息将仅仅存储在相应的贸易条款中,然后在必须时导入到相应的销售或采购订单中,使用次数不限。
为了建立销售贸易条款,请在ERP5主页“新建”标签页点击贸易模块下的“销售贸易条款”。
selectAndWait | //select[@name="select_module"] | Sale Trade Conditions |
selectAndWait | //select[@name="select_action"] | Add Sale Trade Condition |
如图所示,销售贸易条款文件已被创建,它和销售订单文件相似,因为销售贸易条款中的所有信息都将被导入销售订单中。
在红框区域请填写贸易条款的名称。蓝框区域是发送人,销售人以及供应商的信息。绿框区域是生效和有效日期,以及提供给您的ERP5系统的其他用户的评论。
创建贸易条款时必填的信息是“专门贸易条款及业务流程”。它定义了ERP5贸易模块(销售/采购订单,销售/采购装箱单以及发票)的工作流程,您将需要将其运用到该贸易条款。要填写该条目,请点击条目右边齿轮。
注意:请将图中“宏照”更换为您为其配置ERP5的公司。
type | //input[@name="field_my_title"] | ZUITE-TEST-SALE-TRADE-CONDITION-001 |
type | //textarea[@name="field_my_specialise_title_list"] | erp5_default_business_process |
type | //input[@name="field_my_reference"] | ZUITE-TEST-SALE-TRADE-CONDITION-001 |
select | //select[@name="field_my_price_currency"] | EUR |
select | //select[@name="field_my_incoterm"] | Carriage Paid To |
type | //textarea[@name="field_my_comment"] | VAT |
type | //input[@name="subfield_field_my_effective_date_year"] | 2011 |
type | //input[@name="subfield_field_my_effective_date_month"] | 01 |
type | //input[@name="subfield_field_my_effective_date_day"] | 01 |
type | //input[@name="subfield_field_my_expiration_date_year"] | 2100 |
type | //input[@name="subfield_field_my_expiration_date_month"] | 12 |
type | //input[@name="subfield_field_my_expiration_date_day"] | 31 |
clickAndWait | //input[@name="Base_edit:method"] | |
verifyTextPresent | Data updated. |
在新打开的页面,您可以选择专门贸易条款及业务流程。由于我们正在创建一个销售贸易条款,因此这里我们选择第一栏“业务流程”。当您建立其他销售/采购贸易流程时,与该操作一致。
现在,在“专门贸易条款及业务流程”列表中,您可以看到一个选项“默认贸易业务流程”,它是在您配置您的ERP5实例时由ERP5配置器自动创建的。请首先勾选“默认贸易业务流程”选项,然后点击“设置联系”按钮。
注意:您也可以使用ERP5的“业务流程”模块来创建您所需的“业务流程”。
现在您被引导返回到刚刚创建的销售贸易条款的“概览”标签页。您可以看见“专门贸易条款及业务流程”已经被定义了。在您创建任何销售/采购订单时请务必记得定义该条目。
支付标签页显示您希望运用到您的订单的支付模式。要编辑支付模式,请点击该销售贸易条款的“支付”标签。
蓝框区域就显示的是默认的支付条款,它们将在您需要使用时导入您的订单。在这里,您可以设置以下信息:支付模式,贸易日期,期限,月末以及附加条款。填写完后,请保存操作。
clickAndWait | link=Payment | |
select | //select[@name="field_my_payment_condition_payment_mode"] | Credit Card |
select | //select[@name="field_my_payment_condition_trade_date"] | Invoice |
clickAndWait | //input[@name="Base_edit:method"] | |
verifyTextPresent | Data updated. |
许多情况下,您需要更多的支付选项。比如,您或许需要客户预先支付一部分款项,然后等货物交付之后再支付剩下的款项。ERP5中可以添加多个支付条款,因此您可以根据以下流程建立复杂的支付条款:
打开“操作”菜单并选择“添加支付条款”。
selectAndWait | //select[@name="select_action"] | Add Payment Condition |
这是上一步建立的新的支付条款。该条款不会取代已设置的条款,而是添加进已设置条款。如图红框所示,您可以首先决定根据该支付条款的规则而需要支付款项的百分比,然后保存您的设置。
type | //input[@name="field_my_title"] | ZUITE-TEST-PAYMENT-CONDITON-002 |
type | //textarea[@name="field_my_description"] | Description of ZUITE-TEST-PAYMENT-CONDITION-002 |
clickAndWait | //input[@name="Base_edit:method"] | |
verifyTextPresent | Data updated. |
本例中,该支付条款实际上是一项20%的预付货款。我们还填写了关于预付日期以及支付模式的信息,请参见图示。填写完相关信后,请保存修改。
返回销售贸易条款的支付标签页后,您可以看到刚建立的支付条款已经添加到附加支付条款明细中。如图所示您可以看到该列表中还有一栏“default_payment line”,这是当您在上一步添加新的支付条款时由系统自动创建的栏目。
现在我们就来编辑该默认支付明细,首先从更改名称开始。点击该栏,进入该附加条款文件页面。
clickAndWait | link=ZUITE-TEST-SALE-TRADE-CONDITION-001 | |
clickAndWait | link=Payment |
本例中我们仅需要更改该明细的名称然后添加一项说明。这一栏其实是支付的余额。
clickAndWait | link=default_payment_condition | |
type | //input[@name="field_my_title"] | ZUITE-TEST-PAYMENT-CONDITION-001 |
type | //textarea[@name="field_my_description"] | Description of ZUITE-TEST-PAYMENT-CONDITION-001 |
clickAndWait | //input[@name="Base_edit:method"] | |
verifyTextPresent | Data updated. |
保存修改后,请返回您的销售贸易条款。
verifyValue | //input[@name="field_my_title"] | ZUITE-TEST-PAYMENT-CONDITION-001 |
如图所示,有两个附加支付明细被添加了,一行是预付货款,另一行是货款余额。完成编辑支付条款后,我们就可以转到“简述”页面。
clickAndWait | link=ZUITE-TEST-SALE-TRADE-CONDITION-001 | |
clickAndWait | link=Payment | |
verifyTextPresent | ZUITE-TEST-PAYMENT-CONDITION-001 | |
verifyTextPresent | ZUITE-TEST-PAYMENT-CONDITION-002 |
该标签页集合了两部分信息--红框区域是供应商信息,蓝框区域是客户信息。如果您正确填写“概览”页面的信息,那么供应商部分的某些信息已被自动填充。现在您需要填写的是“发票发送人”以及“收款人”。注意:如果“收款人”选项列表为空,这是因为您还未在该页面的供应商的组织文件中设置其“财务信息”。因此我们就要在该组织页面添加一个银行账户。
注意:蓝框区域的客户信息,您现在还不需要在该销售贸易条款中填写,因为根据不同的销售订单,客户信息不同。因此将来如果您建立了具体的销售订单,您只需要在导入销售贸易条款之后,再在销售订单里填写具体的客户信息。
clickAndWait | link=Profile |
一个销售订单中,通常是供应商得到支付。因此在本例中,由于我们以宏照公司为例建立贸易条款,因此定义其银行为收款人。如果您无法选择收款人,就需要首先根据已学教程建立银行账户来为该组织建立一个银行账户。
type | //input[@name="field_my_source_section_title"] | ZUITE-TEST-SALEORDER-ORGANISATION-001 |
type | //input[@name="field_my_source_title"] | ZUITE-TEST-SALEORDER-ORGANISATION-001 |
type | //input[@name="field_my_source_decision_title"] | ZUITE-TEST-SALEORDER-ORGANISATION-001 |
type | //input[@name="field_my_source_administration_title"] | ZUITE-TEST-SALEORDER-ORGANISATION-001 |
clickAndWait | //input[@name="Base_edit:method"] | |
verifyValue | //input[@name="field_my_source_section_title"] | ZUITE-TEST-SALEORDER-ORGANISATION-001 |
verifyValue | //input[@name="field_my_source_title"] | ZUITE-TEST-SALEORDER-ORGANISATION-001 |
verifyValue | //input[@name="field_my_source_decision_title"] | ZUITE-TEST-SALEORDER-ORGANISATION-001 |
verifyValue | //input[@name="field_my_source_administration_title"] | ZUITE-TEST-SALEORDER-ORGANISATION-001 |
建立销售贸易条款的最后一步,是通过“操作”菜单来验证它。
现在您已经成功建立了一个销售贸易条款(创建采购贸易条款的步骤与此相同),将来您就可以在创建销售订单是应用了。现在就让我们来看看如何以及在哪里应用贸易条款。
现在我们创建了销售贸易条款,那么如何应用它们呢?
销售/采购贸易条款最经常被用在从ERP5主页创建销售/采购订单的时候。因此首先,请点击ERP5主页“新建”标签页的贸易模块中的“销售订单”。
<span metal:use-macro="container/Zuite_viewTestMacroLibrary/macros/wait_for_activities"> Wait for activities </span> | ||
openAndWait | ${base_url} | |
selectAndWait | //select[@name="select_module"] | Sale Orders |
selectAndWait | //select[@name="select_action"] | Add Sale Order |
type | //input[@name="field_my_title"] | ZUITE-TEST-TRADE-CONDITION-SALE-ORDER-001 |
type | //input[@name="field_my_specialise_title"] | ZUITE-TEST-SALE-TRADE-CONDITION-001 |
clickAndWait | //input[@name="Base_edit:method"] |
应用贸易条款有三个步骤。当订单被创建之后,首先在订单“概览”页面的“销售贸易条款”条目中输入您需要的贸易条款的名称,如图蓝框所示(您也可以通过点击条目右边的齿轮进入已建销售贸易条款总列表进行选择)。然后请保存修改,如图红框所示。接下来第三步,如图黑框所示,请打开“操作”菜单并选择“应用销售贸易条款”。
selectAndWait | //select[@name="select_action"] | Apply Sale Trade Condition |
verifyText | //div[@id="transition_message"] | Order updated. |
如图所示,经过上面的操作,在新建销售订单的“概览”页面,系统自动填充了您所选择应用的销售贸易条款的信息。
verifyValue | //input[@name="field_my_source_decision_title"] | ZUITE-TEST-SALEORDER-ORGANISATION-001 |
verifyValue | //input[@name="field_my_source_title"] | ZUITE-TEST-SALEORDER-ORGANISATION-001 |
点击销售订单的“支付”标签,您会看到支付模式已导入,我们在本教材前半部分在被应用的销售贸易条款中建立的两栏附加支付明细已经被添加到该销售订单,一栏是预付货款,另一栏是货款余额。如果我们没有进行销售贸易条款应用的操作,该部分信息将是空白。
clickAndWait | link=Payment | |
verifyTextPresent | ZUITE-TEST-PAYMENT-CONDITION-001 | |
verifyTextPresent | ZUITE-TEST-PAYMENT-CONDITION-002 |
同理,该销售订单的“简介”标签页也被按照所应用的销售贸易条款自动更新。现在您就需要根据本订单的具体情况填写“简介”页面的客户信息了。
在接下来关于销售/采购订单,装箱单,发票以及支付文件的教程中,您也将看到应用的贸易条款中设置的专门业务流程同样会被自动应用。
clickAndWait | link=Profile | |
verifyValue | //input[@name="field_my_source_section_title"] | ZUITE-TEST-SALEORDER-ORGANISATION-001 |
verifyValue | //input[@name="field_my_source_title"] | ZUITE-TEST-SALEORDER-ORGANISATION-001 |
verifyValue | //input[@name="field_my_source_decision_title"] | ZUITE-TEST-SALEORDER-ORGANISATION-001 |
verifyValue | //input[@name="field_my_source_administration_title"] | ZUITE-TEST-SALEORDER-ORGANISATION-001 |
<span metal:use-macro="container/Zuite_viewTestMacroLibrary/macros/login_as_manager">Login As Manager</span> | ||
<span metal:use-macro="container/Zuite_viewTestMacroLibrary/macros/wait_for_activities"> Wait for activities </span> | ||
openAndWait | ${base_url}/Zuite_tearDownSaleTradeConditionTest | |
verifyTextPresent | Clean Ok | |
<span metal:use-macro="container/Zuite_viewTestMacroLibrary/macros/wait_for_activities"> Wait for activities </span> |
For more information, please contact Jean-Paul, CEO of Nexedi (+33 629 02 44 25).