建立产品文件 编写:OSOE项目. init openAndWait ${base_url}/Zuite_setUpProductTest verifyTextPresent Init Ok Wait for activities Login As Functional Test User 纲要 • 如何建立产品/服务文件 • 如何验证产品/服务文件 • 如何建立复杂产品文件 该教程中,您将学习如何在ERP5系统中创建及管理产品和服务。该程序和前面关于人与组 织文件的教程相似,因此您已经可以自己试着建立产品和服务文件,也可以根据以下演示 进行。该流程是同样的三步骤: 建立新文件; 根据相应特性填写不同标签页; 验证您的数据。 情景介绍 Scenario 本例中您是一家进行电子产品销售的公司,您的业务核心是销售高质量的元件,例如LED灯 泡,这也是您的明星产品。 本章节中我们通过一个新的情景来帮助您理解在ERP5中创建产品的不同步骤。您的公司是 一家电子设备销售商,销售LED灯,它们是为电子设备配备的小灯泡。 这里我们列出了该产品的一些特征数据,但不已逻辑顺序排列,因此您在使用的时候可能 要进行筛选。 特性: 名称:红色Led 编号:RL01 电子元件 应税 采购价格:0,5€ 销售价格:1€ 有效期:01/01/2010 供应商:EC China 进入“新建”标签页 Go to "New" tab 通过前两章教程的学习,现在您对在ERP5中建立一个对象已经熟悉。产品的创建是同样的 步骤: 首先在ERP5首页点击“新建”标签。 如图所示,和前面教材唯一不同的是,现在您要使用“PDM”(产品资料管理)这个新的模块 。该模块被用来管理基于产品和服务商业事务。 点击“产品” Click on product 要创建一个产品文件,请点击“产品”,这将打开一个新建的产品文件页面,您就可以在里 面管理产品的详细信息。 selectAndWait //select[@name="select_module"] Products selectAndWait //select[@name="select_action"] Add Product verifyText //div[@id="transition_message"] Object created. verifyText //li[@class="selected"]/a/span View 填写“概览”标签页 Fill the “View” tab 首先,和人文件于组织文件一样,请填写产品文件的“概览”标签页。 请根据图中关于“红色Led”产品的详细信息填写。这是进行产品详细信息编辑的第一步,因 为不是所有信息都填写在该标签页。 请注意,由于该产品没有任何大小或价格变量,在“独立变量基本类别列表”中,我们不可 以选择“变量”。因此,请先点击“变量”,然后按住键盘的“Ctrl”键同时再次点击“变量”。 当您完成操作,请保存数据,您就会看到修改结果。有些条目可以是空白的,但如果是必 须填写的条目空白,ERP5将不允许您保存输入的数据,直至您将这些条目填好。 该步骤将创建新产品文件。 注意:如果一项产品有采购/销售价格变量或大小变量,比如一本拥有两种型号的书(大型 号和小型号),其售价可能就会不同,那么您就必须在“独立变量基本类别列表”中选择“变 量”,因此您就可以在该产品文件的“采购”和“销售”标签页设置不同的价格。我们将在本教 程后半部分“复杂产品--变量”中进行详细介绍。 type //input[@name="field_my_title"] ZUITE-TEST-PRODUCT-PRODUCT-001 type //input[@name="field_my_reference"] RL 01 select //select[@name="field_my_base_contribution_list"] Taxable select //select[@name= Unit/Piece "subfield_field_my_quantity_unit_list_default:list"] clickAndWait //button[@name="Base_edit:method"] verifyValue //input[@name="field_my_title"] ZUITE-TEST-PRODUCT-PRODUCT-001 填写“采购”信息 Purchase Information 根据提供的产品特征,我们就可以填写“采购”标签页中5个条目。这是因为ERP5将一项数据 进行划分,直到达到系统规范形式,这就说明“采购价格:0.5€/件”实际包含3个值,而非 通常理解的2个值:每件(1)售价0.5(2)欧元(3)。 我们建议您经常输入产品评论以及其他数据,以存储在ERP5系统中。 clickAndWait link=Purchase type //input[@name= 2014 "subfield_field_my_purchase_supply_line_start_date_range_max_year"] type //input[@name= 10 "subfield_field_my_purchase_supply_line_start_date_range_max_month"] type //input[@name= 01 "subfield_field_my_purchase_supply_line_start_date_range_max_day"] type //input[@name="field_my_purchase_supply_line_base_price"] 0.50 type //input[@name="field_my_purchase_supply_line_priced_quantity"] 1.0 clickAndWait //button[@name="Base_edit:method"] verifyValue //input[@name= 2014 "subfield_field_my_purchase_supply_line_start_date_range_max_year"] verifyValue //input[@name= 10 "subfield_field_my_purchase_supply_line_start_date_range_max_month"] verifyValue //input[@name= 01 "subfield_field_my_purchase_supply_line_start_date_range_max_day"] verifyValue //input[@name="field_my_purchase_supply_line_base_price"] 0.50 verifyValue //input[@name="field_my_purchase_supply_line_priced_quantity"] 1.0 填写“销售”标签页 Fill the Sales information 现在我们已经正确填写采购信息,就让我们转到销售信息。 请点击“销售”标签页,并填写以下详细信息: 例子:您的Led售价是1€ / 件,该售价保持稳定直到2014年1月。许多公司已经习惯向您购 买该产品。 如图所示,另外还有关于销售价格的4个条目需要填写:“销售价格”,“货币”,“定价数量” 以及“价格有效期”。 注意,“接收人”条目可以留空,它只有在产品对一位客户独销时才被使用。 clickAndWait link=Sale type //input[@name="field_my_sale_supply_line_base_price"] 1 type //input[@name="field_my_sale_supply_line_priced_quantity"] 1.0 select //select[@name="field_my_sale_supply_line_price_currency"] EUR clickAndWait //button[@name="Base_edit:method"] 关于“库存”标签页 About the “Stock” tab 库存水平管理是另一向关键业务活动,ERP5系统的“库存”功能模块使您能够很流畅地跟踪 库存。您可以通过建立库存文件来建立每项产品的库存水平。如果您操作正确,您的库存 将被ERP5实时更新。您可以在产品文件的“库存”标签页找到相关信息。每当您购进或售出 一件产品,ERP5将自动更新其库存水平。 验证 Validate 现在您已经定义了您的产品,就可以对其进行验证。 请依据人文件于组织文件的验证步骤进行操作。验证文件的目的是告知您的组织成员您输 入的产品信息是有效的可以使用的。如果您对输入的数据不确定,请勿验证,而是将其保 持在草拟状态已避免造成困惑! selectAndWait //select[@name="select_action"] Validate clickAndWait //button[@id="dialog_submit_button"] verifyText //li[@class="selected"]/a/span Sale verifyText //div[@id="transition_message"] Status changed. clickAndWait link=View verifyText //div[@title="The current state of the document."]/ Validated div[1] storeLocation product Wait for activities 复杂产品--变量(1):独立变量基础类别 Complex products - Variations 在ERP5系统中,我们还可以建立比刚刚创建的标准产品更为复杂的产品。比如,您可能需 要输入一个独有编号,来存储不同的产品变量。这里我们将看到一个拥有大小两种不同型 号的书的例子。当然,采购和销售价格也会不同。但这里我们希望该产品使用唯一编号来 表示大小两种型号,以及它们各自的信息,例如价格以及库存水平。 当您新建产品文件后,在“概览”标签页,请在“独立变量基础类别列表”中选择“变量”。然 后保存操作并进行下面的步骤。 openAndWait ${product} 复杂产品--变量(2):添加产品独立变量 Add “Product individual variation” 第二步就是添加产品独立变量。请打开“操作”菜单选择“添加产品独立变量”。一个新的文 件就会为该变量而建立,您会被引导至该页面以对其进行编辑。 selectAndWait //select[@name="select_action"] Add Product Individual Variation 复杂产品--变量(3):对变量命名 Name your variation(s) 这就是您刚建立的产品独立变量文件。您可以设置名称并保存 结束操作后,请通过点击定位标签返回产品文件。请重复该操作已创建另一产品独立变量 文件“小型号”。cument "Small Format". type //input[@name="field_my_title"] ZUITE-PRODUCT-VARIATION-001 clickAndWait //button[@name= "Base_edit:method"] clickAndWait link= ZUITE-TEST-PRODUCT-PRODUCT-001 selectAndWait //select[@name="select_action"] Add Product Individual Variation type //input[@name='field_my_title'] ZUITE-PRODUCT-VARIATION-002 clickAndWait //button[@name= "Base_edit:method"] 返回产品文件 Go back to your product 现在我们已经返回产品文件。如图下方显示,产品文件包含了产品独立变量列表。您可以 点击任何一栏已编辑变量名称。但如果您需要设置相应的采购和销售价格,请见下面步骤 。 clickAndWait link=ZUITE-TEST-PRODUCT-PRODUCT-001 verifyValue //input[@name='field_my_title'] ZUITE-TEST-PRODUCT-PRODUCT-001 verifyText //span[@class= 2 records "listbox-current-page-total-number"] 设定价格(1) Set the prices (1) 现在我们就来为产品独立变量设定采购价格。 如图所示,在“采购”标签页中,您刚刚创建的产品变量并没有显示在页面中。实际上,要 进行变量的价格设定,还需要进行一项操作,请见下一页。 clickAndWait link=Purchase 设定价格(2) Set the prices (2) 在蓝框区域,点击“变量”并保存修改。 select //select[@name= Variation 'field_my_purchase_supply_line_p_variation_base_category_list'] clickAndWait //button[@name="Base_edit:method"] 设定价格(3) Set the prices (3) 现在您就可以看到红框区域已经显示有您刚刚创建的变量了。现在您就可以为相应的变量 设定采购价格,并保存修改。 type //input[@name="field_matrixbox_base_price_cell_0_0_0"] 10 type //input[@name="field_matrixbox_base_price_cell_1_0_0"] 20 clickAndWait //button[@name="Base_edit:method"] verifyTextPresent Variation/ZUITE-PRODUCT-VARIATION-001 verifyTextPresent Variation/ZUITE-PRODUCT-VARIATION-002 设定价格(4) Set the prices (4) 要设定销售价格,点击“销售”标签然后重复设定采购价格的步骤。请勿忘记保存任何修改 。 clickAndWait link=Sale select //select[@name= Variation 'field_my_sale_supply_line_p_variation_base_category_list'] clickAndWait //button[@name="Base_edit:method"] type //input[@name="field_matrixbox_base_price_cell_0_0_0"] 15 type //input[@name="field_matrixbox_base_price_cell_1_0_0"] 25 clickAndWait //button[@name="Base_edit:method"] 复杂价格--数量区间(1) Complex prices–Quantity steps (1) ERP5还可以管理价格的数量区间。该项功能在产品价格随着订购或销售的数量而变化时有 用。本例中,我们会对采购和销售价格各设定三个数量区间,即产品数量少于50件,造50 和100件之间,以及多于100件。数量区间条目帮助您进行该项操作。输入不同的数量区间 ,您需要通过点击键盘的Enter确认键来区分数据。然后请保存修改。 type //textarea[@name= 50 "field_my_sale_supply_line_quantity_step_list"] clickAndWait //button[@name="Base_edit:method"] 复杂价格--数量区间(2) Complex prices–Quantity steps (2)Complex prices–Quantity steps (2)Complex prices–Quantity steps (2) 由于我们已经为该产品设置了独立变量,刚刚设置的数量区间就会应用到各个变量上。如 图所示,每个变量有三个价格区间。第一栏是订货数量少于50件的产品单价,第二栏是订 货数量在50到100件之间的产品单价,最右边一栏则是订货数量超过100件的产品单价。每 个变量都有相应数量区间。本例中,大小型号各有三个数量区间。 verifyTextPresent Quantity < 50.0 verifyTextPresent 50.0 <= Quantity 复杂价格--数量区间(3) Complex prices–Quantity steps (3) 输入所有变量根据不同数量区间的单价,然后保存操作。 这就是本教程的最后一步,您现在应该能够自己建立和管理产品,包括拥有产品独立变量 以及数量区间的复杂产品。我们建议您在编辑一个产品文件时要非常仔细,因为产品文件 包含的信息将会被自动导入与该产品相关的订单,而这将为您节省许多订单操作时间。 type //input[@name="field_matrixbox_base_price_cell_0_0_0"] 15 type //input[@name="field_matrixbox_base_price_cell_0_1_0"] 14 type //input[@name="field_matrixbox_base_price_cell_1_0_0"] 25 type //input[@name="field_matrixbox_base_price_cell_1_1_0"] 24 clickAndWait //button[@name="Base_edit:method"] verifyValue //input[@name="field_matrixbox_base_price_cell_0_0_0"] 15.00 verifyValue //input[@name="field_matrixbox_base_price_cell_0_1_0"] 14.00 verifyValue //input[@name="field_matrixbox_base_price_cell_1_0_0"] 25.00 verifyValue //input[@name="field_matrixbox_base_price_cell_1_1_0"] 24.00 Check you the Products creation Now it is time to check the products on Product Module. open ${base_url}/view selectAndWait //select[@name= Products "select_module"] verifyText //div[@id="breadcrumb"]/a[1] ERP5 verifyText //div[@id="breadcrumb"]/a[2] Products verifyText //div[@id="breadcrumb"]/a[3] ZUITE-TEST-PRODUCT-PRODUCT-001 Login As Manager openAndWait ${base_url}/ Zuite_tearDownProductTest verifyTextPresent Clean Ok Wait for activities