如何在crm里面进行开发

如题所述

这是一篇有关CRM定制开发的全面指南。定制开发是指通过追加一些定制内容使选定的CRM更加匹配贵公司的业务和流程,这包括需求分析和开发实现。比如您已经为贵公司找到合适的CRM,但其在一些业务和操作层面上不太符合贵公司的需求,那么您可能会希望CRM供应商提供一些个性化的开发来弥补这种遗憾。为了帮助您更好地规划需求和节约成本,我们将从定制开发所涉及到的方方面面给出我们的看法,以便您在打算实施这一过程时有一个全面的参考,从而以更高的性价比来实现CRM系统的定制开发。

一、弄清楚是否真的有必要定制

是的,根据我们的经验,很多企业高估了定制的必要性。在您对如何利用CRM来改善您的业务和流程还没有一个完整的概念时,最好通过一段时间的实际使用来深入了解CRM如何映射您的当前业务。也许当您发现CRM现有的功能就足以解决当前的业务挑战,之前认为必要的定制已无足轻重或者可以延后时,那么您就能大大减少采购成本,并且加速CRM的实施周期。所以,在衡量定制开发的内容之前,请先确定以下两点。

1、了解CRM系统的扩展性是否可以消除定制的必要性
很多专业和成熟的CRM系统提供了良好的扩展性和一定数量的业务参数,这些特性可以确保CRM系统符合一些普适性的需求调整和业务扩展。请深入理解您选定的CRM系统有哪些扩展功能,明白它能够做什么和不能做什么,您将会对如何利用CRM的扩展性匹配您的业务有一个清晰的见解。通过拥有这种见解,您可以消除很多不必要的定制内容,仅委托供应商开发必要的部分即可。

《知客CRM有哪些扩展功能》

2、是否可以延后定制开发
企业在没有开始实际应用CRM之前,有时会被一些想当然的观点和习惯所束缚,往往错误估计需求的重要性和定制开发所能产生的价值。所以,有时延后进行定制开发是一个很明智的决定,尢其是这些需求不影响关键业务和流程的情况下更应如此。通过一段时间的实际使用,您将能加深对当前CRM系统的理解,将会更清楚哪些定制内容确实必要,哪些可以被CRM系统提供的扩展性(或其他功能)替代,哪些在事后看来是鸡肋。通过这种实际使用和延后执行,您可以避免浪费时间和预算。

二、什么是模块化开发:为您的CRM添加一个全新的功能

您有一组个性化的需求,但您选择的CRM无法通过扩展性来做到这一点(这意味着该功能可能不在CRM软件的范围内)。虽然CRM的定义是帮助企业建立更好的客户关系和销售策略,但如果在经过评估后,您确定在您的CRM中集成该功能更有利于贵公司的管理和发展,那么为此规划并准备开发预算是有必要的——前提是CRM供应商支持并且能够实现您的想法。

在规划新功能时,您需要在售前顾问的帮助下,弄清楚该功能是完全独立还是与CRM的某些业务环节有关联,比如该功能与客户或订单互为影响,除了需要为客户和订单添加一些关联字段之外,还需要在操作、布局和权限上有所体现。缕清楚这种关联关系,可以让新功能与CRM的现有模块衔接得更好。

三、重定业务逻辑:对现有功能的调整

调整现有功能听上去可能会比添加一个全新功能简单一些。是的,部分情况下是这样,大多数CRM供应商可以通过添加一些IF条件来实现这种调整,所以,这不是问题。但如果您要调整的业务与CRM标准化的业务逻辑冲突,甚至是180度调头,那么这种工作对供应商来说并不轻松。事实上,很多CRM供应商不会接受这种会使某个被广泛采用的功能发生不具有普适性的改变。所以,在面临这种情况时,通常会有一个沟通和一方妥协的过程。

1、CRM供应商也许可以通过创建一个独立的版本来交付这种定制,但是,这之间将产生较高的额外维护成本(因为CRM供应商必须专门为您的特定需求增设一个新的版本,并需要独立维护,他们再也无法通过管理和编译一个软件项目来实现对所有用户的覆盖)。
2、较高的开发报价可能会使您减少这种调整或在供应商的指导下寻找替代方案。

四、与第三方系统对接的几个开发要点

如果您的企业除了CRM,还在运行其他信息化系统(比如ERP、OA等等),又或者您正在使用某个开放平台,您可能会希望CRM能够与这些系统集成,从而扩展平台业务或者使特定数据在不同的系统中同步。基于提高工作效率和数据复用率的目的,CRM与第三方系统的对接涉及到以下几个方面。

1、数据同步:与第三方系统进行数据的单向或双向同步,即在CRM中添加和更新数据能够实时体现到第三方系统,同理,在第三方系统添加或更新数据也应能及时同步到CRM。
2、单点登录:当贵公司存在几个系统时,您可能希望员工通过一个账号就能够登录所有这些系统。这需要您的CRM和其他系统都要支持类似OAuth2.0的开放授权机制。
3、开放平台对接:通过与微信、阿里云平台、有赞云、云端呼叫中心等开放平台对接,使CRM系统具备这些平台所授予的业务能力。这需要您事先购买并开通好这些平台的服务,获得授权后由CRM供应商做相应的对接。

这些对接操作看上去并没有增加CRM的功能,但事实上,这种产品延伸性质的开发工作更为繁琐且细致,尤其是与数据同步相关的对接。这是由于第三方系统通常是封闭的或是接口不太成熟,CRM供应商理解起来需要更多的学习和沟通时间,较长周期内需要与对方工程师不断的沟通确认,可能一个简单的字段同步都需要好几次协调。

所以,一旦涉及到与第三方系统的对接,开发周期通常会较长,而且报价通常较高且很难压缩。如果要减少开发成本,建议您尽量缩减数据同步的范围,比如只同步部分关键字段,并协调好三方人员的沟通。至于与阿里云等开放平台的对接,由于这些平台通常很成熟,公开的学习资料也较多,CRM开发人员只要有相应的学习和开发能力,就能够根据需求独立(或在少量沟通的情况下)实现。

《知客CRM如何与其他系统对接集成》

五、关于定制开发的报价

首先,我们要明白,绝大多数情况下,定制开发是要钱的(而且还不少)。不同的公司报价可能不一样,但大多数是根据工作日(开发、调试和部署所需的人天)来报价的。即使是这样,也存在很多“不公平”的因素。比如说,某个CRM供应商的产品相对更好,而且其开发团队的专业性、理解能力和效率也更高,那么,他们的报价往往更加合理。相对的,如果是不那么专业的CRM供应商,其报价就会有很多因自身原因造成的水份,而且,这可能很难拧干。所以,尽量寻找成熟的、产品体验更好的CRM厂商来定制,可以使您的开发成本维持在一个合理区间,并更有可能得到一个更好的开发结果。

六、定制开发和实施的区别

有些大型CRM通常没有定制的选项,比如Salesforce或SAP。这是因为,这种大型的CRM内置了大量的业务开关和用户编程组件。由于其足够强大和复杂(价格也很感人),理解并运用它们来改变当前业务流程和追加功能是一项专业的工作——只有具备一定技术和业务基础的人员才能完成。基于这种实施的难度,再加上大型CRM极大的溢价空间,所以其CRM实施费用通常远高于中小型CRM的定制开发费用。

大型CRM的可配置和实施过程相对于定制开发来说,有点像是 “我早就想到了,给我1000元” 和 “我现在就做,给我100元” 的区别。所以,考虑到需求匹配度、业务规模、预算和成本,不迷信“大就一定好”,寻找一个价格和功能合适的CRM并追加部分必要的定制开发工作通常是更加明智的选择。

结论

成功的定制开发不仅仅只是依赖CRM供应商的专业和需求理能解力,还要求企业正确梳理业务并平衡好定制的成本和价值。有些企业对CRM的实际应用缺乏足够的理解,高估了部分功能的必要性。这不但要支付不必要的采购成本,甚至有可能在落地使用后将这功能束之高阁。所以,当您在为贵公司选择CRM并确定定制开发方案时,请仔细评估我们以上的建议,从而做出更加明智的决定。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-02-24
下面这个可以参考一下,具体怎么做,还得看你是什么CRM,你想要做什么:

微软Dynamics CRM
4.0的最大特色,在于操作接口不同于一般CRM软件,它让使用者能以网页浏览器的接口存取系统,或者在Outlook中直接操作在Outlook中,这
套CRM能够追踪联络人的消息、工作进度或信件,它也具备离线功能,方便业务人员外出时使用。此外,它也结合了SQL
Server的报表服务,制作与检视报表上更加方便。工作流程也可自行新增、自订,让所有使用者依循制定的流程来工作。不过使用上最为明显的,还是
Dynamics CRM 4.0正式新增了正体中文语言套件,使用者操作系统时不必再为语言不通所困扰。

  下面让我们实践一下Dynamics CRM的商业开发:

  1.客户端事件脚本
  ·配置 OnLoad 事件
  (1) 单击“表单属性”。
  (2) 从“事件”选项卡中选择 OnLoad 事件,然后单击“编辑”。
  (3) 在函数 OnLoad() 区域输入下面显示的代码,也可以在下面的文件中找到此代码:

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

  C:\Class Materials\Customization\Ch. 11\CheckCreditHold.js
  var CreditOnHold = crmForm.all.creditonhold.DataValue;
  if (CreditOnHold == true)
  {
  alert(该客户处于信用冻结状态);
  }

  (4) 选中“事件已启用”复选框。
  (5) 单击“确定”
  (6) 注释:如果您按照“演示:客户端代码示例”中的步骤进行操作,您将看到此事件已存在一些代码。仅需在现有代码的上面或下面输入您的代码即可。
  (7) 注释:请严格按照代码显示的样子键入代码。JScript 区分大小写,且无代码验证。
  ·配置 OnSave 事件
  (1) 从“事件”选项卡选择 OnSave 事件,然后单击“编辑”。
  (2) 在函数 OnSave() 区域输入以下代码:
  alert(正在保存客户);
  (3) 选中“事件已启用”复选框。单击“确定”。
  (4) 单击“确定”关闭“表单属性”窗口。
  ·为客户名称配置 OnChange 事件
  (1) 选择“客户名称”字段。
  (2) 单击“更改属性”。
  (3) 单击“事件”选项卡。
  (4) 选择 onChange 事件,然后单击“编辑”。
  (5) 在函数 OnChange() 区域输入以下代码:alert(客户名称已更改);
  (6) 选中“事件已启用”复选框。单击“确定”。
  (7) 再次单击“确定”以关闭“字段属性”窗口。
  ·发布更改
  (1) 保存并关闭客户表单。
  (2) 发布客户实体。
  ·测试更改
  (1) 创建新客户。
  (2) 在“客户名称”字段中输入名称,然后单击“客户编号”字段。请注意,此时出现消息“客户名称已更改”。
  (3) 单击“确定”关闭此消息。
  (4) 在“管理”选项卡上,将“信用冻结”字段设置为“是”。
  (5) 保存并关闭该客户。请注意,此时出现消息“正在保存客户”。
  (6) 单击“确定”关闭此消息。
  (7) 重新打开刚创建的客户。请注意,此时将显示消息“该客户处于信用冻结状态”。
  (8) 单击“确定”关闭此消息。

wordend

相关阅读:
Microsoft Dynamics AX协助纺织业顶尖供应商获得优化的流程与全球支
Microsoft Dynamics AX物流业解决方案客户收益详解
Microsoft Dynamics AX 被Gartner列为领导者

  2.IFrame
  ·打开客户表单
  (1) 在导航窗格中,依次单击“设置”、“自定义”、“自定义实体”,然后双击“客户”。
  (2) 单击“表单和视图”。
  (3) 双击“表单”打开“客户”表单。
  ·添加选项卡和节
  (1) 在“客户”表单上添加一个名为“网站”的选项卡。
  (2) 在此新选项卡中添加一个名为“网站”的节。请勿显示节名称。
  ·添加 IFrame
  (1) 选择该“网站”节并单击“添加 IFRAME”。
  (2) 添加具有下列属性的 IFrame:
  名称:网站
  URL: http://CRMExt/Internet/NoSite.htm (http://CRMExt/Internet/NoSite.htm)
  自动扩展以利用可用空间:选中
  对其他属性接受默认值
  ·预览
  确认页面已加载且显示 NoSite 页。
  ·保存并发布更改
  (1) 单击“保存”。
  (2) 单击“操作”,然后单击“发布”。
  (3) 单击“保存并关闭”。
  ·测试 IFrame
  (1) 打开下列任一客户:“A Bike Store”、“Cash and Carry Bicycles”或“Bike Universe”。
  (2) 确认将在 IFrame 中显示“无网站”页。
  (3) 打开上面列出的其他任一客户。
  (4) 确认对于该客户将在 IFrame 上显示“无网站”页。
  3.ISV.Config
  ·启用自定义项
  (1) 在导航窗格中,依次单击“设置”、“管理”,然后单击“系统设置”。
  (2) 选择“自定义”选项卡。
  (3) 找出“自定义菜单和工具栏”节并单击查找按钮。
  (4) 选择所有可用的值。
  (5) 单击“确定”。
  (6) 单击“确定”以保存系统设置。
  (7) 关闭并重新打开 Microsoft Dynamics CRM
  (8) 注意以下自定义项:
  在全局菜单栏中有一个具有子菜单的 ISV 菜单。
  在应用程序工具栏中有三个新按钮:Test、Web Only 和 Both。
  (9) 导航到客户网格并注意以下自定义项:
  名为“Test”、“Test”和“Web Only”的三个按钮
  “其他动作”菜单下面的三个其他菜单项:
  “Coming Soon”、“Sub test”和“Web Only”。
  重要提示:如果已完成“演示:集成应用程序”,需要返回到在该演示的步骤 1 中保存的默认 isv.config。

wordend

相关阅读:
Microsoft Dynamics AX协助纺织业顶尖供应商获得优化的流程与全球支
Microsoft Dynamics AX物流业解决方案客户收益详解
Microsoft Dynamics AX 被Gartner列为领导者

  ·导出 isv.config
  (1) 在导航窗格中,依次单击“设置”、“自定义”,然后单击“导出自定义项”。
  (2) 选择“ISV 配置”
  (3) 在“操作”工具栏中,单击选择“导出所选自定义项”。
  (4) 单击“确定”确认对话框描述将导出的内容。
  (5) 这将显示文件下载对话框。单击“保存”。
  (6) 在“另存为”对话框中,在“文件名”中输入“ISVConfig”。单击“保存”。
  (7) 单击“关闭”。
  (8) 为 ISVConfig.zip 文件创建一个副本,重命名为 ISVConfigBackup.zip。
  (9) 打开 ISVConfig.zip 文件。
  (10) 提取 customizations.xml 文件将其放到方便的位置。
  注释:在部署中,应当将 ISVConfigBackup.zip 文件复制到一个位置并对其进行保存,以防服务器出现灾难性故障。
  ·检查 isv.config
  (1) 导航至 customizations.xml 文件并使用 Internet Explorer 将其打开。
  (2) Internet Explorer 将限制文件打开活动的内容。
  单击顶部的信息栏并选择“允许阻止的内容”。然后在安全警告对话框中单击“是”。
  (3)折叠 <ROOT>、<ENTITY> 和 <SERVICEMANAGEMENT>节点以查看文档结构。
  (4)展开根节点并找出 <CUSTOMMENUS>节点。
  (5) 将 <Menu> 和 <SubMenu> 节点与应用程序菜单栏中的自定义 ISV 菜单相比较。

 
 (6) 找到 <ToolBar> 元素并将 <Button> 元素与在 Microsoft Dynamics CRM
应用程序级别工具栏中看到的按钮相比较。注释:其中有一个按钮 <BUTTON AvailableOffline="true"
Client="Outlook" JavaScript="alert('test');"
Icon="/_imgs/ico_18_debug.gif">在 Web 应用程序中不可见,因为客户端属性指定为“Outlook”。

  (7)展开 <Entities> 节点并找出 <Entity name=”account”>。

  (8)请注意 <MenuBar>、<ToolBar>、<NavBar> 和 <Grid> 节点,并将它们与可在客户表单和客户网格中看到的自定义菜单、按钮和选项卡相比较。

  ·获得客户实体自定义的 URL。

  (1)在导航窗格上,依次单击“设置”、“自定义”和“自定义实体”,然后双击“客户”。

  (2)按 Ctrl+N 打开新窗口。此操作将显示出地址栏,以便您可以查看此页面的 URL。它看上去应与以下代码类似:
http://crm/AdventureWorksCycle/Tools/SystemCustomization/Entities/manageEntity.aspx?entityId={70816501-EDB9-4740-A16C-6A5EFBC05D84}
(http://crm/AdventureWorksCycle/Tools/SystemCustomization/Entities/manageEntity.aspx?entityId={70816501-EDB9-4740-A16C-6A5EFBC05D84})

  注意:用于部署的 GUID 将是唯一的。不能使用上面示例中的 GUID。
  (3)复制此 URL 并将其粘贴到“记事本”中。在下面的步骤中会需要它。

wordend

相关阅读:
Microsoft Dynamics AX协助纺织业顶尖供应商获得优化的流程与全球支
Microsoft Dynamics AX物流业解决方案客户收益详解
Microsoft Dynamics AX 被Gartner列为领导者

  4.导入潜在顾客

  ·使用 Visual Studio 2005 创建控制台应用程序

  (1) 在“开始”菜单上,单击“Microsoft® Visual Studio® 2005”。

  (2) 依次单击“文件”、“新建”和“项目”。

  (3) 在“项目类型”中,展开“Visual C#”节点。

  (4) 单击“Windows”。

  (5) 单击“控制台应用程序”。

  (6) 在“名称”文本框中,键入 CrmLeadImport。

  (7) 在“位置”文本框中,键入或找到以下位置。C:\Class Materials\Extending\Ch3\CrmLeadImport

  (8) 清除“创建解决方案的目录”选项。

  (9) 单击“确定”。

  ·更改项目的默认命名空间

  (1) 在解决方案资源管理器中,右键单击“CrmLeadImport”。

  (2) 单击“属性”。

  (3) 将“程序集名称”更改为:Microsoft.Crm.Training.ExtendingCrm.Labs.Chapter(3)CrmLeadImport。

  (4) 将“默认命名空间”更改为:Microsoft.Crm.Training.ExtendingCrm.Labs.Chapter3。

  ·添加 CRM SDK Web 引用

  (1) 在解决方案资源管理器中,右键单击“引用”。

  (2) 单击“添加 Web 引用”。

  (3) 在“URL”文本框中,键入http://crm/MsCrmServices/2007/CrmService.asmx

  (4) 单击“前往”。

  (5) 在“Web 引用名”文本框中,键入“CrmSdk”。

  (6) 单击“添加引用”。

  ·复制程序源文件的内容

  (7) 打开文件 C:\Class Materials\Extending\Ch3\CrmLeadImport\Program.cs。

  (8) 将该文件的内容复制到解决方案中的 Program.cs 文件。

  (9) 关闭示例 Program.cs 文件。

  ·在代码中引用 WSDL

  在 Program.cs 文件中,为 WSDL 添加以下 using 语句
  using Microsoft.Crm.Training.ExtendingCrm.Labs.Chapter(3)CrmSdk.;

  ·设置 Web 服务

  添加以下代码来设置 Web 服务。确保在数据集中循环前添加该代码。

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

// Set up the CRM Service.
CrmAuthenticationToken token = new CrmAuthenticationToken();
// You can use enums.cs from the SDK\Helpers folder to get the enumeration for AD Authentication.
token.AuthenticationType = 0;
token.OrganizationName =“AdventureWorksCycle”;

CrmService service = new CrmService();
service.Url =“http://crm/MsCrmServices/2007/CrmService.asmx”;
service.CrmAuthenticationTokenValue = token;
service.Credentials = System.Net.CredentialCache.DefaultCredentials;
  ·添加导入代码

  (1) 在 Program.cs 文件中查找“TODO:Add Lead Import Code Here”。

  (2) 对于 DataTable 返回的每一行,“潜在顾客”都将使用表 3-3 中的相应潜在顾客属性来分派值。

  (3) 在 Microsoft Dynamics CRM 中针对每行创建潜在顾客。

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

// Import the leads
foreach (DataRow row in leads.Rows)
{
// Create the lead object and populate its values
// This code expects that all fields have values and are well formed
lead currentLead = new lead();
currentLead.subject = (string)row[“Topic”];
currentLead.firstname = (string)row[“First Name”];
currentLead.lastname = (string)row[“Last Name”];
currentLead.companyname = (string)row[“Company Name”];
currentLead.numberofemployees = new CrmNumber();
currentLead.numberofemployees.Value = (int)row[“Number Of Employees”];
currentLead.revenue = new CrmMoney();
currentLead.revenue.Value = decimal.Parse(row[“Annual Revenue”].ToString(), NumberStyles.Currency);
// Create the lead in Microsoft Dynamics CRM
Guid id = service.Create(currentLead);
}
  ·生成应用程序并进行测试

  (1) 在解决方案资源管理器中,右键单击 CRMLeadImport 项目,然后单击“生成”以生成应用程序。

 
 (2) 通过在调试器中运行或转到以下位置来测试该应用程序:C:\Class
Materials\Extending\Ch\CrmLeadImport\CrmLeadImport\bin\Debug
\Microsoft.Crm.Training.ExtendingCrm.Labs.Chapter(3)CrmLeadImport.exe。

  (3) 运行控制台应用程序并打开 Microsoft Dynamics CRM 网站,以查看是否已将联系人成功地导入到潜在顾客中。
第2个回答  2017-11-01
开源CRM基本上很难满足企业的实际业务需求,同时成本相对来说也较高,可以考虑一款支持用户个性化定制的CRM,百会的CRM就不错,它可以根据用户需求,在最短时间内定制出来并让用户看到效果。满意之后再付费,没有后顾之忧。定制工具简单,定制速度快。用户完全可以自己操作去满足未来业务的变化。另外它基于SAAS模式的在线租用形势,可以为企业节省购买硬件、安装调试、后期升级的费用成本。定期的售后回访还可以解决不少使用中的问题。
相似回答