產品模塊
Products | |
---|---|
模塊ID | 50 |
用戶手冊 | 本頁 |
開發文檔 | Module Products (developer) |
簡介
本模塊管理產品。
相關參考:管理服務的 服務模塊 、管理倉庫和庫存的 Module Stocks 。
安裝
該模塊包含在 Dolibarr 發行版中,因此無需安裝。
配置
要使用此模塊,必須首先使用管理員帳戶通過菜單選項 "主頁 - 設置 - 模塊"啟用它:
選擇列出模塊的選項卡。然後點擊 "激活"。。
模塊現在已激活。
如果在該模塊的行尾出現一個齒輪圖標 ,則單擊它以訪問特定於模塊的設置頁面。
參數
產品模塊參數設置見上圖。
- 編號的生成與檢查;包含兩個互斥的選項 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支持獲取、設置和刪除產品的變體。
生命周期/業務規則
相關視頻
產品(法語配音,但字幕可用,並用此語言評論):