产品模块

From Dolibarr ERP CRM Wiki
Jump to navigation Jump to search
Products
模块ID 50
用户手册 本页
开发文档 Module Products (developer)

简介

本模块管理产品。

相关参考:管理服务的 服务模块 、管理仓库和库存的 Module Stocks

安装

该模块包含在 Dolibarr 发行版中,因此无需安装。

配置

要使用此模块,必须首先使用管理员帐户通过菜单选项 "主页 - 设置 - 模块"启用它:

选择列出模块的选项卡。然后点击 "激活"。。

模块现在已激活。

如果在该模块的行尾出现一个齿轮图标Cog.png,则单击它以访问特定于模块的设置页面。

参数

产品模块参数设置.png 产品模块参数设置2.png

产品模块参数设置见上图。

  • 编号的生成与检查;包含两个互斥的选项 Elephant(大象) 和 Leopard(豹)。

Elephant根据事先定义的格式掩码,返回一个可定制编号。

Leopard允许自定义编号。

鼠标放在图中的小问号位置,显示掩码的帮助信息。

  • 生成产品文档的文档模板

该部分确定产品资料生成文档的模板。相关修改,见开发文档#模板

自定义属性

计算字段

可输入公式,公式输入对象的其他属性 or 任何 PHP 代码来得到动态值。

你可以使用任何PHP兼容的公式,包括“?”条件运算符, 和以下全局对象:

$db, $conf, $langs, $mysoc, $user, $object

注意: 可能只有对象的部分属性是可用的。如果你需要一个未加载的属性,可以在公式中查询你自己的对象,如下例所示:

使用计算字段意味着,你不能在界面输入值,也意味着,如要存在语法错误,将得不到返回。

公式实例:

$object->id < 10 ? round($object->id / 2, 2) : ($object->id + 2 * $user->id) * (int) substr($mysoc->zip, 1, 2)

加载对象实例:

(($reloadedobj = new Societe($db)) && ($reloadedobj->fetch($obj->id ? $obj->id : ($obj->rowid ? $obj->rowid : $object->id)) > 0)) ? $reloadedobj->array_options['options_extrafieldkey'] * $reloadedobj->capital / 5 : '-1'

其他实例,强制加载对象及其父对象的公式:

(($reloadedobj = new Task($db)) && ($reloadedobj->fetch($object->id) > 0) && ($secondloadedobj = new Project($db)) && ($secondloadedobj->fetch($reloadedobj->fk_project) > 0)) ? $secondloadedobj->ref : 'Parent project not found'

定义

产品

“产品”是你销售给顾客的货物,或者是你从供应商处采购的货物,是实体对象,相对应的虚拟对象是 服务.

产品遵循以下规则:

  • 产品可以储存在仓库中(只有产品可以出现在 库存 模块中,服务是不可以出现在库存模块中的).
  • 产品可以交付(只有产品可以出现在 发货 模块中, 服务是不可以出现在发货模块中的。 服务可以实现但不能发货).
  • 产品是一种材料货物。它的价值往往随着时间的推移而下降(已拆封产品的价值低于未拆封产品的价值)。

有些字段专用于产品,而不适用于服务,例如:

  • 重量
  • 尺寸
  • 自定义代码 = 商品代码 = 许可证代码 = HTS = HS代码(6个以上字符的代码,用于定义产品的国际海关类别)

产品套件(Kits)(也称为产品包或虚拟产品)

产品或服务可注册为包含其他(单一)产品的套件(“父”)产品。此功能可从 产品服务 模块的设置页面激活。它允许在订单、发票和库存中将产品的“包”或“套件”作为一个批次进行处理,而不是单独处理每个产品。

套件产品符合以下规则:

  • 当在文档(报价单、发票、订单)中添加产品时,仅显示虚拟产品(父产品)的行。
  • 当获取/交付父产品时,其中每个单独组件(子产品)的库存都会增加/减少。例如,如果您已设置在供应商订单验证时增加库存,则在包含虚拟产品的供应商订单验证通过时,将会增加该产品的库存以及组成该产品的所有子产品的库存。
  • 虚拟产品本身可以由包含真实产品的其他虚拟产品组成。

如何创建产品套件:

  • 首先创建一个“父”产品。然后,必须为其分配组件产品。
  • 在产品页面中,单击旧版本的“套件”或“虚拟产品”标签页。
  • 在页面底部的搜索栏“按关键字筛选”中,输入要分配的子产品的名称。当产品出现时,勾选并选择数量,然后单击“添加/更改”。

注意:

这是一种不同于“制造/生产”模块中“容器”产品的功能,“容器”产品使用其子组件的现有库存来生产出另一种产品,然后将其作为库存保存。

事实上,在“套件产品或服务”功能中,虚拟产品的子组件只会在虚拟产品交付时减少相应的库存。在此之前,这些子产品仍处于完全可支配状态,并可能作为单独的独立产品集成到其他销售流程中。

同样,制造模块的行为有所不同:从它注册“容器产品”的那一刻起,它就立即声称其子产品不能用于任何其他用途。因此,无论容器产品是否离开商店,他们的库存都会立即减少,因为考虑到子组件不能再作为库存中的单个产品而返回库存。


销售价格管理规则

在Dolibarr中有四种销售价格管理方法:

. 每个产品只有一个唯一价格

. 按客户细分市场并享有不同的价格(见下一章)

. 每个客户享有不同的价格

. 按交易数量不同享有不同的价格(实验性的)

您必须在“产品”模块的设置中选择一种并且只能选择一种销售价格管理方法。


按客户细分(segment)的价格

Dolibarr可以接受根据客户细分市场定义多个价格。默认有5个客户细分市场(即不同客户组成的5个组),但您也可以对此进行编辑。每个客户可以且只能与1个细分市场关联,因此将为其分配为该细分市场定义的价格(如果尚未定义客户所属的细分市场,则默认属于细分市场1)。

从v12开始,REST API支持获取(但不支持设置)产品的多个价格(按客户细分市场的价格)。

产品价格和客户细分市场只能从后台设置。

类别(Categories)

产品可以被添加到一个或多个类别中。

要使用API设置产品的类别,必须使用 APIs /categories/...

图片(Image)

一个产品可以有一个或多个图像。可以从产品的“链接文件”标签页中手动设置。

要使用APIs获取或设置产品的图像,必须使用 API /documents(参数“ModulePart”=“Product”或“Service”)。


变体(Variants)

产品可以有多种变体,例如尺寸或颜色。

从V12开始,REST API支持获取、设置和删除产品的变体。


生命周期/业务规则

En verysmall.png Page waiting to complete. To complete, create an account, go back and clic on "Modify".
Fr verysmall.png Page en attente d'être complété. Pour compléter, créez un compte, revenez et cliquez sur "Modifier".
Es verysmall.png Página a completar. Para completarla, cree una cuenta, vuelva a la página y haga clic en "editar"
De verysmall.png Seite wartet auf Vervollständigung. Um zu helfen, erstelle ein Konto, gehe zurück und klicke auf "Bearbeiten".
Cn verysmall.png 待完成,欲帮助完成,注册帐号,点击“编辑"
Jp verysmall.png ページは未完成の状态です。完成させるにはアカウントを作成し、ページに戻って“编集”をクリックして下さい。


相关视频

产品(法语配音,但字幕可用,并用此语言评论):