Difference between revisions of "自动编号模块"
m |
|||
Line 3: | Line 3: | ||
{{TemplateMainPageZh}} | {{TemplateMainPageZh}} | ||
− | + | 对于在应用程序中创建的每个实体(发票、提案、订单等),Dolibarr分配了一个参考号(或文本)。为了适应任何使用的参考,Dolibarr使用编号模块来定义这个引用的生成规则。提供的模块是标准模块和带有可配置掩码(x字符上的数字,带有或不带有前缀,包括日期或不带日期等)的通用模块,可以满足大多数需求。然而,仍然存在标准模块不满足需要的情况。在这种情况下,有必要开发自己的编号模块。 | |
= 创建新的自动编号模块 = | = 创建新的自动编号模块 = |
Revision as of 08:27, 13 November 2018
对于在应用程序中创建的每个实体(发票、提案、订单等),Dolibarr分配了一个参考号(或文本)。为了适应任何使用的参考,Dolibarr使用编号模块来定义这个引用的生成规则。提供的模块是标准模块和带有可配置掩码(x字符上的数字,带有或不带有前缀,包括日期或不带日期等)的通用模块,可以满足大多数需求。然而,仍然存在标准模块不满足需要的情况。在这种情况下,有必要开发自己的编号模块。
创建新的自动编号模块
例如,我们假设我们将创建一个新的发票编号模块,我们将其称为“terrebis”,并且将是标准供应商模块“terre”的变体。
- 复制和粘贴htdocs/core/modules/invoice/earth/terre.modules.php于htdocs/core/modules/invoice/terrebis/terrebis.modules.php。你可以用你想要的名字代替terrebis,而他还不可使用,只包含字母字符。
- 编辑新文件以在代码中进行以下更改:
1. 重命名类名,用选定的名称替换旧类名(保持相同的命名约定)。
2. 修改info()方法的代码,返回模块的文本说明。
3.更改getExemple()的方法代码,返回模块可能返回的引用值示例。
4.将canBeActivated()的方法代码更改为只执行 "return true;";
5.修改方法getNextValue()的代码,以返回下一个可用的引用编号。在这个函数的代码中,可以使用参数 $objsoc或$facture,其中包含参与生成的第三方的信息以及参与生成的对象发票(这些变量的名称可能根据被管理实体模块的性质而不同)。也可以使用对象$langs, $conf和$db,如果您在函数中首先声明它们
global $langs, $db, $conf
此处
$conf 包含Dolibarr的所有配置,
$langs 是翻译成用户语言的对象,
$db 是允许SQL查询到数据库的DB连接对象。
6. 保存:模板'terrebis'可在Dolibarr的发票模板列表中获得。
测试模块
通过从配置页激活模块来测试此模块。验证列描述,例如,下个值,你得到你应该得到的反映(分别称info(),getExample()和getNextValue()的功能)。