开源客户关系管理系统SplendidCRM下的二次开发

SplendidCRM是.net环境下比较优秀的开源客户关系管理系统。目前有关中文的资料比较少,在官方网 站针对二次开发的内容也不多。结合网络中查到的相关资料和自己的实践,下面以一个新模块的开发过程 为例,将SplendidCRM下的二次开发步骤及相关注意的地方描述如下,以供同行及感兴趣的参考。

1、创建表,如需要定制字段,还要创建以_cstm结尾的表,如有多对多的关系,还要创建关系表。

表一般含有以下字段:ID(主键)、DELETED(是否删除标志)、CREATED_BY(创建人)、 DATE_ENTERED(录入时间)、MODIFIED_USER_ID(修改用户的ID)、DATE_MODIFIED(修改时间)、 ASSIGNED_USER_ID(指定的用户ID)、TEAM_ID(团队ID)。

_cstm一般含有以下字段:ID_C(主键)。

2、创建用于更新及删除数据的存储过程。

存储过程命名:sp模块名_Update、sp模块名_Delete。

然后调用_devtools/procedures.aspx可以自动产生调用存储过程的代码文件SqlProc.cs,此文件位于 _code下,然后将此文件覆盖掉_code/DbLevel目录下的SqlProc.cs文件。

3、创建视图:至少要包括核心视图、以_List和_Edit结尾的视图,视图一般以vw开头。

4、调用存储过程spMODULES_InsertOnly往系统中加入新模块信息。此存储过程参数说明:

Procedure dbo.spMODULES_InsertOnly
     ( @MODIFIED_USER_ID uniqueidentifier –修改有用户ID
     , @MODULE_NAME    nvarchar(25) –模块名称
     , @DISPLAY_NAME   nvarchar(50) --模块的显示名称,用术语来描述
     , @RELATIVE_PATH   nvarchar(50)  --模块所处目录的相对路径
     , @MODULE_ENABLED  bit        --是否启用此模块,也可以通过系统管理->工

作室-> “配置模块”功能来改变此属性
     , @TAB_ENABLED    bit     --是否在菜单上显示此模块,也可以通过系统管理->

工作室-> “配置模块”功能来改变此属性
     , @TAB_ORDER     int     --菜单上显示的次序,也可以通过系统管理->工作室

-> “配置模块”功能来改变此属性
     , @PORTAL_ENABLED  bit –是否显示在门户的标志
     , @CUSTOM_ENABLED  bit    --是否可以让使用者来定制字段(需要用以_cstm结尾的表

)
     , @REPORT_ENABLED  bit –是否启用报表的标志
     , @IMPORT_ENABLED  bit    -是否可以导入数据的标志
     , @IS_ADMIN     bit ----是否仅管理员使用标志
     , @TABLE_NAME    nvarchar(30) –模块对应的表名
     )

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索存储过程
, 视图
, 模块
, 字段
, nvarchar
BIT
开源crm客户管理系统、splendid crm、悟空crm 二次开发文档、悟空crm 二次开发、sugarcrm二次开发,以便于您获取更多的相关知识。

时间: 2025-01-02 12:21:15

开源客户关系管理系统SplendidCRM下的二次开发的相关文章

CRM客户关系管理系统中的权限自定义

     本文介绍八骏CRM客户关系管理系统中的权限分配问题,前文介绍了<公海池回收制度的自定义>,后期我们将会陆续介绍八骏CRM系统中更多的自定义功能.      首先管理员登入八骏CRM系统操作平台---找到[组织权限]模块,开始设置权限.本文案例:为销售一部的销售代表---张欢欢 分配权限,默认系统初始化,未来各岗位新人入职,只需要在岗位下添加人员信息即可.          1.设置组织架构--新建部门        [销售代表]的作为企业组织架构中的一个岗位,从属于销售部门内下,且张

jsp-crm客户关系管理系统销售机会指派用户

问题描述 crm客户关系管理系统销售机会指派用户 各位大神 求解啊 怎么实现将销售机会指派给用户 现在只是查询出来用户 就是添加不进去 只用struts2 hibernate 实现的 解决方案 各位大神 求解啊 怎么实现将销售机会指派给用户 现在只是查询出来用户 就是添加不进去 只用struts2 hibernate 实现的 这个是不是你表上有约束,所以添加不进去?或者你增加日志看一下保存的错误,从出错的信息里分析 解决方案二: 这要看你的数据库怎么设计的,业务逻辑怎么设计的.添加不进去调试下,

Winform开发框架之客户关系管理系统(CRM)的开发总结系列1-界面功能展示

一直以来,都希望整合一个以客户为中心的平台,有两个方面的考虑:一是实现客户数据.客户关系.客户管理等方面的整合,以便更好利用好客户的相关资源,发挥最大的营销效益:二是整合目前我的开发框架的所有模块和技术,包括权限管理和控制.字典管理模块.分页控件.公用类库.自动更新模块.附件管理模块.邮件短信的信息通知模块.工作流模块,以及来电显示记录模块.群发邮件营销模块.日历管理模块等方面的内容.本随笔系列主要介绍在开发我的CRM系统中的各种场景问题的解决思路,以及相关的功能实现,力求在逐步完善这个CRM系

客户关系管理系统(CRM)的开发过程中使用到的开发工具总结

开发<客户关系管理系统(CRM)>软件过程,也就是一个标准的Winform程序的开发过程,我们可以通 过这个典型的软件开发过程来了解目前的开发思路.开发理念,以及一些必要的高效率手段.本篇随笔 主要介绍我在开发这个CRM客户关系管理系统过程中,所用到的一些开发工具,力求从开发工具的层面使 大家对这个系统的形成过程有一个大致的了解. 在文章的开篇,我们先来聊几句.一直以来,我都知道,广州这个城市,在图书馆建设方面都做的很 好,提供了很多公众的借阅服务,几年前也曾经在区一个小的图书馆里借阅过书籍,

Winform开发客户关系管理系统(CRM)总结 3 客户分类和配置管理实现

我在本系列随笔的开始,介绍了CRM系统一个重要的客户分类的展示界面,其中包含了从字典中加载 分类.从已有数据中加载分类.以及分组列表中加载分类等方式的实现,以及可以动态对这些节点进行 配置,实现客户分类的界面配置处理.本文主要从逻辑代码实现的角度上解说以上功能的实现,介绍常 规字典模块的动态加载.客户省份城市的动态加载.客户分组管理.客户分类配置管理等模块的具体实 现. 一般情况下,我们对客户的分类都需要动态加载,对这个客户分类的管理,包括下面几种分类. 1.常规字典模块的动态加载 开发客户关系

基于Java开发客户关系管理系统

问题描述 总部在香港的软件开发公司,主要与欧洲的软件开发公司合作,承接外包项目.现诚聘JavaEE开发人员您的工作›根据系统技术要求规范来开发一个基于java的客户关系管理系统,网页界面,和outlook有外部接口›管理项目的同时,评估待开发系统的技术要求›前端开发您需要的技能›熟练掌握-JavaEE,-MSSQL,PostgreSQL-Hibernate-JSP,JS-Struts2›对以下基本掌握-VBA-.net›有利用复杂的开源框架工作的经验›熟悉当前的软件开发流程(技术要求规范管理)›

Rushcrm:客户关系管理系统中的售前管理

挖掘客户是一个公司发展的重要环节,一个不能对挖掘客户起到任何帮助作用的CRM(客户关系管理系统)都不是好的CRM系统.Rushcrm的CRM系统针对企业的售前管理做了相应的管理模块. 我们要挖掘客户就必须要增加企业品牌曝光,那么我们就必须经常搞一些营销活动,而营销活动就包含参会人员数量.成本投入.预期效果等数据.为了企业有效的组织营销活动,方便企业管理营销活动投资成本以及规模统计.Rushcrm的CRM系统设置了营销活动模块,在营销活动模块中,我们可以为每一次的营销活动创建一个单独的任务信息,方

Winform开发框架之客户关系管理系统(CRM)的开发总结系列2-基于框架的开发过程

在上篇随笔<Winform开发框架之客户关系管理系统(CRM)的开发总结系列1-界面功能展示>中介绍了我的整个CRM系统的概貌,本篇继续本系列的文章,介绍如何基于我的<winform开发框架>的基础上进行CRM系统模块的开发工作,希望对大家在系统模块开发有所启示或者帮助. 在我整个开发框架的体系结构中,我都希望开发的业务模块尽可能重用,因此遵循这个要求,所有的模块除了一些基础模块外,尽可能和其他业务模块没有任何耦合关系,同时也可以动态对模块进行加载使用,和我在<Winform

Winform开发框架之客户关系管理系统(CRM)的开发总结系列4-Tab控件页面的动态加载

在前面介绍的几篇关于CRM系统的开发随笔中,里面都整合了多个页面的功能,包括多文档界面,以及客户相关信息的页面展示,这个模块就是利用DevExpress控件的XtraTabPage控件的动态加载实现的,本篇文章主要介绍两种方式的动态加载,一个是对用户控件(UserControl)模块的动态加载,一个是对普通窗体(Form)的动态加载,通过这两种方式,我们有时候可以动态实现很丰富的界面效果. 1.用户控件(UserControl)模块在Tab控件中的动态加载 参考了很多CRM的系统,一般都是把CR