这节我们来谈谈Dynamics CRM中用JS对实体进行CRUD的操作。CRUD操作也就是Create,Read,Update,Delete的缩写,CRUD操作也是编程的最基本操作。建议您在阅读本章前已经确定掌握了之前章节介绍的知识。
通过JS怎么能对保存在服务器上的数据进行CRUD呢?也许你马上会意识到这里使用了Ajax技术,确实,这里的CRUD操作都是建立在Ajax的基础上。我们先来看看这节的实验环境吧:
涉及的实体:
1.“客户”实体
2.“联系人”实体
需要实现的需求:
1.在“客户”实体上对属性“联系人”进行选择时,进行判断。如果该联系人的属性“商务电话”为空时,弹出提示"当前选择的联系人电话号码为空",如果属性“商务电话”的值不为空,则获取该值并将该值写入“客户”实体中的属性“主要电话”。
2.当用户创建“客户”记录时没有填写值“联系人”。在该客户记录保存后自动添加一条“联系人记录”,该联系人的名称命名格式为:{客户名称}-主要联系人并设置该联系人的“商务电话”属性,更新的值等于“客户”实体中的属性“主要电话”。
实现方案:
1.对“客户”实体的属性“联系人”添加onchange事件,向服务器查询当前选择的“联系人”的“商务电话”是否为空。如果为空就提示,不为空就将该值赋给属性“主要电话”。
2.在”客户“实体的onsave事件中判断该记录是否为新建记录。如果是不新建记录则忽略处理,否则判断”联系人“是否有值,没有值就创建一条”联系人“记录。并将”主要电话“的值赋给”联系人“记录中的”商务电话“。
技术分析:
上面的2个实现方案涉及到了实体的Create和Read操作,而且这类操作是通过客户端的Javascript来完成的。所以在接下来的实现中,我们需要用Ajax技术来完成这2个实现方案。
实现步骤:

图1

图2

图3

图4

图5

图6

图7

图8

图9

图10

图11
使用到的脚本
GetContract
CreateContract
代码分析:
这节的重点就是GetContract和CreateContract函数,这两个函数分别实现了CRUD中的Create和Read功能。Read功能是通过Ajax以Get方式访问Dynaimcs CRM中的数据服务,实现难点就是访问数据的URL构造了。这个函数里面的查询URL是“/GH2011/XRMServices/2011/OrganizationData.svc/ContactSet(guid'$')”,这个URL需要表达的意思是:访问Contract数据集和,提取id为$的记录。(这里的‘$’是个占位符)
CreateContract函数的实现难点是待添加实体的构造,这里的”实体“是指需要通过Ajax传送到服务器端进行处理的Javascript对象。该实体的构造需要按一定的规则才能成功,在后续的章节中我会将这些细点一一归纳出来。实体在发送给服务器前需要对其进行序列化(如:var addObject=window.JSON.stringify(Contact);),我们可以通过Dynamics
CRM SDk中提供的一个序列化类来完成该步操作。该类的添加步骤可以参阅图11,可以这里获取该类。
上面说的2个难点也是通过Javascript对实体进行CRUD操作的通病,当然也不是没有弥补的方法。制作一个高层类来封装这些容易出错的步骤将会显著的提高开发效率。
分享到:
相关推荐
Dynamics CRM 2011编程系列文章将会介绍作者在日常开发中涉及到的技术和心得,其中包含:脚本开发,插件开发,系统配置以及系统的高级开发技巧。具体情况请关照博客:http://blog.csdn.net/ghostbear
微软CRM Dynamics CRM 2011 SDK还包括一系列示例代码、文档和工具,帮助开发者快速上手。 5. **版本兼容性** 虽然本SDK针对的是CRM 2011,但需要注意的是,随着CRM版本的更新,某些新功能可能需要更高版本的SDK来...
vue-dynamic-crud支持灵活配置,快速搭建CRUD前端界面,彻底摆脱拧螺丝:nut_and_bolt:。功能 CRUD功能模块。 支持可配置,动态渲染。 支持命令行快速生成代码块。预览启动项目安装依赖npm install启动本地开发环境...
crm-crud-basic REST和异步等待的CRM Crud
CRUD(Create, Read, Update, Delete)是数据库操作的基本概念,用于描述对数据的四种基本操作:创建、读取、更新和删除。在JavaScript环境下,CRUD系统可以帮助开发者更高效地管理数据,通常用于前端应用程序,如...
在Electron JS中使用JavaScript(JS)实现CRUD(创建Create、读取Read、更新Update、删除Delete)操作是一项常见的任务,特别是在构建桌面应用程序时。Electron JS是一个强大的框架,它允许开发者使用Web技术(HTML...
在本教程中,我们将深入探讨如何使用Node.js、Express框架和Art-Template模板引擎实现一个简单的CRUD(创建、读取、更新、删除)应用程序,该应用以文件为数据存储,不依赖任何数据库系统。 首先,`Node.js`是基于...
交互生成 REST 请求:通过图形界面选择实体、属性和操作,自动生成对应的 JavaScript 代码,用于调用 CRM Web API。 节省开发时间:它免去了手动编写复杂的 REST 请求的步骤,降低了错误的几率。 CRUD 操作:支持...
ion needs to read, create, update, and delete data within CRM Online instances. To achieve this integration, the company plans to develop a Java application that communicates with CRM Online using its...
Vue 2.6 + Laravel 6 + Axios CRUD示例应用 参见来自启示 安装 克隆回购 切换到目录 cd vue-laravel-crud 安装依赖项 composer install 复制.env文件 cp .env.example .env 修改DB_*价值.env与您的数据库配置。 ...
在IT领域,尤其是企业级应用开发中,Microsoft Dynamics CRM是一个常用的企业客户关系管理(CRM)系统,用于管理和自动化销售、市场营销和服务流程。本项目“DynamicsCrmClient”显然是一个针对Dynamics CRM的客户端...
PHP-CRUD-UI 将UI添加到项目的单个文件PHP脚本 要求 PHP 7.0或更高版本,已启用用于MySQL,PgSQL或SqlSrv的PDO驱动程序 安装 这是一个文件应用程序! 在某个地方上传“ ui.php ”并享受它! 对于本地开发,您可以...
本文将深入探讨MyBatis系列的第二部分:单表的创建(Create)、读取(Read)、更新(Update)和删除(Delete)操作,即CRUD。通过理解和掌握这些基本操作,开发者可以有效地管理数据库中的数据。 首先,我们来了解...
CRUD,全称为Create(创建)、Read(读取)、Update(更新)和Delete(删除),是数据库操作的基本动作。在Web开发中,CRUD应用程序通常指的是一个能够执行这些基本操作的用户界面。在这个名为"crud"的jQuery AJAX...
下一个克鲁德 next-crud是一个帮助程序库,它基于一个基于Next.js的Prisma模型的简单函数创建CRUD API路由。文献资料该文档可概述yarn add @premieroctet/next-crud 给定以下Prisma模式: model User { id Int @id @...
欺诈适用于使用NestJs构建的RESTful API 内置 :purple_heart: 通过和 :glowing_star: :eyes: :high_voltage: :collision: 我们相信,每个使用NestJs并构建一些RESTful服务(尤其是某些CRUD功能)的人都会发现@...
CRUD,全称为Create(创建)、Read(读取)、Update(更新)和Delete(删除),是数据库操作的基础,也是理解任何数据驱动应用的核心概念。在IT行业中,CRUD操作广泛应用于各种应用程序,从简单的数据库管理工具到...
关于Node JS环境的Mongo CRUD基础 安装git 安装nodejs mac: : 或 $ brew安装节点 $ node -v && npm -v 安装mongodb $ brew install mongodb $ mongo-版本 克隆此存储库 $ git clone && cd mongoCRUD 将...
"FileMaker-CRUD-Script: FileMaker Pro的基本CRUD脚本"这个项目可能包含了一系列用于演示或实践FileMaker Pro中CRUD操作的脚本示例。这些脚本通常由一系列步骤组成,每个步骤对应一个特定的数据库操作。 **创建...
【fast-crud:Vue3时代的高效CRUD组件】 在现代前端开发中,Vue.js作为一款轻量级且功能强大的MVVM框架,深受开发者喜爱。随着Vue3的发布,其优化了性能,增强了API,带来了更好的类型支持,为开发者提供了更多便利...