跳轉到內容

ERP5 手冊/ERP5 特定的 Zope 工具

來自 Wikibooks,為開放世界提供開放書籍

關於 ERP5 特定的 Zope 工具的通用描述應該在這裡。

portal_activities

[編輯 | 編輯原始碼]

portal_activities(又名 CMF Activity Tool)的理念在以下部分描述

後臺程序呼叫 - CMFActivity 系統

維基上很好地描述了它的使用方法

http://wiki.erp5.org/HowToUseTheCmfActivityTool

因此這裡沒什麼好補充的。

portal_catalog

[編輯 | 編輯原始碼]

用於索引物件、物件之間的關係、安全資訊和其他一些經常使用的資料,以允許快速訪問、搜尋和排序。

當您對物件呼叫 .reindexObject 時,該物件就會被記錄在目錄中。此方法會在每次編輯時自動呼叫(從技術上講,每個 setter - 一個 setThisProperty 方法 - 會觸發重新索引;如果您編寫了一個要設定許多屬性的指令碼,最好使用 _setThisProperty,它不會重新索引,然後呼叫 reindexObject;或者更簡潔地呼叫 edit(property1 = value, property2 = value2),它會在設定完所有給定的屬性後重新索引一次)。

portal_catalog 的基本用法在此處描述

http://wiki.erp5.org/HowToSearchPortalCatalog

TODO: advanced usage (I do not know enough...)

在實現 ERP5 時,幾乎不需要調整目錄;這裡解釋了一些技巧

http://wiki.erp5.org/HowToCreateRelatedKeys

http://wiki.erp5.org/HowToAddTableToCatalog

TODO: check if related keys are not deprecated

portal_categories

[編輯 | 編輯原始碼]

類別理念和使用在以下位置描述

類別

可以新增基本類別而沒有任何限制(雖然始終建議您思考一下,也許現有的類別可以完成任務)。類別在 MySQL 中索引;重要的是,類別成員資格和物件之間的關係也被索引,因此資料模型可以擴充套件而不會帶來太多開銷。

可以透過屬性表或簡單地在 portal_types 工具中透過 ZMI 將基本類別分配給門戶型別。如果一個物件具有給定的基本類別,它就擁有所有自動生成的訪問器(setXXX、getXXX、setXXXList、getXXXlist)。

類別擁有豐富的 API;最常用的方法是

.getCategoryChildLogicalPathItemList

遞迴地返回所有子類別作為對,適合填充下拉選單或 ListField;

.getCategoryChildTranslatedLogicalPathItemList

相同,但已翻譯;

.getCategoryMemberValueList

返回所有分類到該類別或其任何直接或間接子類別中的物件(這包括子類別本身,但您可以為其提供 portal_type 引數)。

從另一端來看,每個 ERP5 物件(例如一個人)都有一個方法

.isMemberOf

如果物件屬於給定類別或其任何直接或間接子類別,則返回 True。例如,如果一個人具有以下職能:“銷售/零售/專家”,那麼

.isMemberOf("function/sales") == True.

基本類別有一個豐富的使用者介面,其中包含許多神秘的選項,其中大多數與可程式設計獲取相關,這裡對此進行了解釋:http://wiki.erp5.org/HowToUseProgrammableAcquisition

portal_contributions

[編輯 | 編輯原始碼]

這是一個多功能工具,可以吞噬(或者如果你願意的話,可以吸收)你扔進它的任何東西,猜測它是什麼,找到合適的地方放它,分析它並設定它的各種屬性。

更具體地說:您呼叫 portal_contributions.newContent 方法,為其提供一些資料(例如上傳的檔案)或 url,以及其他可選的許多內容(請參閱該方法的文件字串,它非常好)。然後,該工具會

  • 使用 WebDAV 機制找出內容的門戶型別(它使用 content_type_registry,因此這是設定它的位置)
  • 呼叫 ZMI 指令碼
    • [Type]_getPropertyDictFromFilename
    • [Type]_getPropertyDictFromContent

找出物件的屬性,如果它得到任何屬性,則將其設定在物件上;這些指令碼基於型別,因此例如,如果物件被識別為電子表格,該工具會查詢名為 “Spreadsheet_getPropertyDictFromFilename” 的指令碼,如果找不到,則會呼叫一個通用指令碼 “Document_getPropertyDictFromFilename”。

這些指令碼應返回從檔名和內容派生的屬性字典;它們也可以返回門戶型別,並且最終將應用此門戶型別,因此您可以在檔名中編碼內容型別。

  • 找出放置內容的正確模組
  • 將內容放置在正確的模組中

貢獻工具主要由 DMS 模組用於吸收透過 Web 介面上傳、透過電子郵件傳送或透過 WebDAV 拖放的文件。在不久的將來,它也可以用於接收和吸收電子郵件。

portal_rules

[編輯 | 編輯原始碼]

關於 portal_rules 的通用描述應該在這裡。

發票交易規則

[編輯 | 編輯原始碼]

此規則由構建器在確認銷售發票交易後使用,以建立會計交易行。您需要建立一個規則矩陣,該矩陣將用於生成預定義的會計交易行

如果您需要定義會計系統,那麼此規則正是您需要的。它的定義將根據謂詞建立正確的會計變動。

在 portal_rules 工具中開始建立新的發票交易規則,為其提供一個Id,然後按照以下步驟進行示例解釋。

設定謂詞

[編輯 | 編輯原始碼]

新增謂詞後,將顯示謂詞螢幕。設定描述性標題,它將用作矩陣列或行標題。設定成員資格條件後,您將能夠設定一些成員資格值

謂詞按一個共同的維度進行分組,因此請謹慎設定它。

請記住,可以為某種型別的物件構造謂詞。在會計方面,您可能希望為銷售和購買建立單獨的謂詞。要實現這一點,請使用Movement_explanationPortalTypeIsPurchase 填充測試方法 ID 欄位,用於購買補丁,使用Movement_explanationPortalTypeIsSale 填充測試方法 ID 欄位,用於銷售補丁。

當您的矩陣準備就緒後,您可以開始編輯會計交易行的模板。要測試它,請確認處於計劃狀態的銷售發票交易,並觀察會計交易行物件是如何建立和填充的。

不要忘記使用正確的帳戶填充目標檢視。在此之前,系統將無法生成正確的模擬。

完整示例

[編輯 | 編輯原始碼]

此示例取自現實世界情況 - 波蘭的貿易商。要求是定義區域類別,至少 3 個不同的區域 - 波蘭、歐盟和世界其他地區。示例區域樹是

  • region/africa
  • region/asia
  • region/europe
  • region/europe/eu
  • region/europe/eu/bg
  • region/europe/eu/de
  • region/europe/eu/fr
  • region/europe/eu/ie
  • region/europe/eu/pl (是的,這是波蘭)
  • region/europe/eu/uk
  • region/europe/non-eu/ua
  • region/north_america
  • region/south_america

在您的發票交易規則中建立謂詞

  1. 用於從波蘭購買
    • 標題:從波蘭購買
    • 維度:region
    • 測試方法 ID:Movement_explanationPortalTypeIsPurchase
    • 成員資格條件:source_region
    • 成員資格值:僅 source_region/europe/eu/pl
  2. 用於從歐盟購買
    • 標題:從歐盟進口
    • 維度:region
    • 測試方法 ID:Movement_explanationPortalTypeIsPurchase
    • 成員資格條件:source_region
    • 成員資格值:source_region/europe/eu 中的所有內容,不包括 source_region/europe/eu/pl 和 source_region/europe/eu
  3. 用於從世界其他地區購買
    • 標題:從歐盟以外進口
    • 維度:region
    • 測試方法 ID:Movement_explanationPortalTypeIsPurchase
    • 成員資格條件:source_region
    • 成員值:source_region 中的所有內容,但不包括 source_region/europe/eu 及其以下內容
  4. 銷往波蘭
    • 標題:銷往波蘭
    • 維度:region
    • 測試方法 ID:Movement_explanationPortalTypeIsSale
    • 成員標準:destination_region
    • 成員值:destination_region/europe/eu/poland
  5. 銷往歐盟
    • 標題:出口到歐盟
    • 維度:region
    • 測試方法 ID:Movement_explanationPortalTypeIsSale
    • 成員標準:destination_region
    • 成員值:destination_region/europe/eu 中的所有內容,但不包括 destination_region/europe/eu/pl 和 destination_region/europe/eu
  6. 銷往世界其他地區
    • 標題:出口到歐盟以外地區
    • 維度:region
    • 測試方法 ID:Movement_explanationPortalTypeIsSale
    • 成員標準:destination_region
    • 成員值:destination_region 中的所有內容,但不包括 destination_region/europe/eu 及其以下內容

現在使用建立的會計規則單元格進行操作,然後建立一些訂單 - 銷售和採購,透過訂購或計劃擴充套件它們,並檢查模擬(例如,透過使用 Base_viewSimulationTree)。當然,您也可以進一步建立一些發票。

注意:以上配置僅用於示例目的。

華夏公益教科書