time 
设为首页】【收藏本站
当前位置: 主页 > ERP > CRM > 【Dynamics CRM客户端程序开发教程】18、通过Odata查询、修改及删除记录

【Dynamics CRM客户端程序开发教程】18、通过Odata查询、修改及删除记录

时间:2014-10-27 10:21 点击:2462次 字体:[ ]




根据官方的建议,在表单界面使用OData终结点最好使用REST版本,而不是jQuery版本,所以我这个示例是按照官方的建议使用REST版本来做的。前期工作请参考http://www.fengfly.com/plus/view-215466-1.html

我这里的示例是通过点击命令栏的测试按钮,使用OData终结点查询记录的信息,然后更新记录,最后演示删除记录。OData查询表达式比较难以构造,我这里借助工具来构造。工具是使用http://www.fengfly.com/plus/view-215451-1.html介绍的Dynamics XRM Tools,双击打开 DynamicsXRMTools 这个解决方案

【Dynamics CRM客户端程序开发教程】18、通过Odata查询、修改及删除记录_www.fengfly.com

 

切换到OData Query Designer这个tabpage,点击Designer按钮,在Selete Entity Set旁边我选择 new_Test2013Set,Filter Criteria中我只使用一个条件,就是查询 日期和时间 字段,运算符选择 On Or After,意思是大于或者等于,后面我输入一个日期 2014-05-01.【Dynamics CRM客户端程序开发教程】18、通过Odata查询、修改及删除记录_www.fengfly.com

 

然后需要缩小窗口,拉动右侧的滚动条到下面,在Entity Attributes中选择几个我要查询出来的字段,当然也可以选择所有字段,在Sort  By中我选择按照 创建时间 字段升序排列。

【Dynamics CRM客户端程序开发教程】18、通过Odata查询、修改及删除记录_www.fengfly.com

 

然后拉动滚动条到上面,点击 Generate 按钮,就会生成查询表达式,我的类似如下:

【Dynamics CRM客户端程序开发教程】18、通过Odata查询、修改及删除记录_www.fengfly.com

 

https://demo.luoyong.me:446/xrmservices/2011/OrganizationData.svc/new_Test2013Set?$select=new_Test2013Id,new_SingleLine,new_MultiLine,new_Float,new_Currency,new_TwoOptionSet,new_name,new_Datetime,new_Decimal,new_OptionSet,new_Integer&$orderby=CreatedOn asc&$filter=new_Datetime ge datetime'2014-05-01T12:00:00'

 

也可以点击 Show In Browser 按钮,这样就可以在浏览器中看到效果,IE中看到的内容较少,我这里截图这个url在chrome中的效果如下:

【Dynamics CRM客户端程序开发教程】18、通过Odata查询、修改及删除记录_www.fengfly.com

 

我使用如下的代码来测试:

        SDK.REST.retrieveMultipleRecords(
            "new_Test2013",
            "$select=new_Test2013Id,new_SingleLine,new_MultiLine,new_Float,new_Currency,new_TwoOptionSet,new_name,new_Datetime,new_Decimal,new_OptionSet,new_Integer&$orderby=CreatedOn asc&$filter=new_Datetime ge datetime'2014-05-01T12:00:00'",
            function (results) {
                alert("本次查询获取到" + results.length + "记录");
                for (index = 0; index < results.length; index++) {
                    var testEntity = {};
                    testEntity.new_SingleLine = results[index].new_SingleLine + "增加的内容";
                    testEntity.new_MultiLine = results[index].new_MultiLine + "增加的内容";
                    testEntity.new_Float = parseFloat(results[index].new_Float) + 10000;
                    testEntity.new_Currency = { Value: (parseFloat(results[index].new_Currency.Value) + 10000).toString() };
                    testEntity.new_TwoOptionSet = false;
                    testEntity.new_name = results[index].new_name + "增加的内容";
                    var currentdatetime = results[index].new_Datetime;
                    //在原来的年份上加一年,月份上加一个月
                    testEntity.new_Datetime = new Date(currentdatetime.getFullYear() + 1, currentdatetime.getMonth() + 1, currentdatetime.getDate());
                    testEntity.new_Decimal = (parseFloat(results[index].new_Decimal) + 10000).toString();
                    testEntity.new_OptionSet = { Value: 100000001 };
                    testEntity.new_Integer = results[index].new_Integer + 10000;
                    SDK.REST.updateRecord(
                    results[index].new_Test2013Id,
                    testEntity,
                    "new_Test2013",
                    function () {
                        alert('第' + index + '条数据更新成功!');
                    },
                    function errorHandler(error) {
                        alert('Error message:' + error.message);
                    }
                    );
                }
            },
            function errorHandler(error) {
                alert('Error message:' + error.message);
            },
            function () {
            }
        );

 


本文地址 : http://www.fengfly.com/plus/view-215469-1.html
标签: 查询 Dynamics CRM 删除 修改 OData 开发教程 客户端程序
------分隔线----------------------------
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码: