Microsoft Dynamics CRM 4.0 Plugin 取值,赋值,查询
DynamicEntity postImageEntity = (DynamicEntity)context.PostEntityImages["PostImage"];
if (postImageEntity != null)
{
Guid new_accountId = Guid.Empty;
decimal new_book_credit = 0M;
CrmDateTime new_expiry_date = new CrmDateTime(DateTime.Now.ToString());
int new_status = ;
//状态
if (postImageEntity.Properties.Contains("new_status"))
{
new_status = ((Picklist)postImageEntity.Properties["new_status"]).Value;
}
//经销商GUID
if (postImageEntity.Properties.Contains("new_account"))
{
new_accountId = ((Lookup)postImageEntity.Properties["new_account"]).Value;
}
decimal new_credit_line = 0M;
decimal new_remaining_credits = 0M;
//ColumnSet cols = new ColumnSet(new string[] { "new_credit_line", "new_remaining_credits" });
//account acc_entity = (account)crmService.Retrieve("account", new_accountId, cols);//这里和CRM2011不一样,
返回的为BusinessEntity,并且这里只能取account得系统字段的值。
//查询条件
QueryExpression query = new QueryExpression();
query.EntityName = "account";
query.ColumnSet = new ColumnSet();
query.ColumnSet.AddColumns(new string[] { "new_credit_line", "new_remaining_credits" });
//条件表达式
ConditionExpression condition = new ConditionExpression();
condition.AttributeName = "accountid";
condition.Values = new string[] { new_accountId.ToString() };
//筛选
FilterExpression filter = new FilterExpression();
filter.FilterOperator = LogicalOperator.And;
filter.Conditions.Add(condition);
query.Criteria.Filters.Add(filter);
//查询
RetrieveMultipleRequest request = new RetrieveMultipleRequest();
request.Query = query;
request.ReturnDynamicEntities = true;
//响应
RetrieveMultipleResponse response = (RetrieveMultipleResponse)crmService.Execute(request);
BusinessEntityCollection entityCollection = response.BusinessEntityCollection;
if (entityCollection.BusinessEntities.Count == ) return;
DynamicEntity acc_entity = (DynamicEntity)entityCollection.BusinessEntities[];
//期初信用额度
if (acc_entity.Properties.Contains("new_credit_line"))
{
new_credit_line = cu.RoundDecimal(((CrmMoney)acc_entity.Properties["new_credit_line"]).Value);
}
//剩余信用额度
if (acc_entity.Properties.Contains("new_remaining_credits"))
{
new_remaining_credits = cu.RoundDecimal(((CrmMoney)acc_entity.Properties["new_remaining_credits"]).Value);
}
cu.WriteLog("new_remaining_credits:" + new_remaining_credits);
//赊销额度
if (postImageEntity.Properties.Contains("new_book_credit"))
{
new_book_credit = cu.RoundDecimal(((CrmMoney)postImageEntity.Properties["new_book_credit"]).Value);
}
cu.WriteLog("new_book_credit:" + new_book_credit);
//赊销变更效期
if (postImageEntity.Properties.Contains("new_expiry_date"))
{
new_expiry_date = ((CrmDateTime)postImageEntity.Properties["new_expiry_date"]);
}
DynamicEntity accountEntity = new DynamicEntity("account");
if (!string.IsNullOrEmpty(new_book_credit.ToString()))
{
//信用额度
accountEntity.Properties.Add(new CrmMoneyProperty("new_credit_line", new CrmMoney(cu.RoundDecimal(new_book_credit))));
}
if (!string.IsNullOrEmpty(new_expiry_date.ToString()))
{
//信用额度截止日期
accountEntity.Properties.Add(new CrmDateTimeProperty("new_expiration_date", new_expiry_date));
}
decimal totalnew_credit_line = 0M;
decimal totalnew_remaining_credits = 0M;
if (string.IsNullOrEmpty(new_credit_line.ToString()))
{
new_credit_line = 0M;
}
if (string.IsNullOrEmpty(new_book_credit.ToString()))
{
new_book_credit = 0M;
}
//经销商【期初信用额度】= 起初的经销商【期初信用额度】 + 【赊销额度】
totalnew_credit_line = new_credit_line + new_book_credit;
//经销商【剩余信用额度】= 起初的经销商【剩余信用额度】 + 【赊销额度】
totalnew_remaining_credits = new_remaining_credits + new_book_credit;
//期初信用额度
accountEntity.Properties.Add(new CrmMoneyProperty("new_credit_line", new CrmMoney(totalnew_credit_line)));
//剩余信用额度
accountEntity.Properties.Add(new CrmMoneyProperty("new_remaining_credits", new CrmMoney(totalnew_remaining_credits)));
if (new_accountId != Guid.Empty)
{
accountEntity.Properties.Add(new KeyProperty("accountid", new Key(new_accountId)));
}
if (new_status == )
{
crmService.Update(accountEntity);//更新操作
}
}
Microsoft Dynamics CRM 4.0 Plugin 取值,赋值,查询的更多相关文章
- 一、Microsoft Dynamics CRM 4.0 SDK概述
Chapter 1. Microsoft Dynamics CRM 4.0 SDK Overview(SDK概述) You are probably reading this book because ...
- 从 Microsoft Dynamics CRM 4.0 server迁移到 Microsoft Dynamics CRM 2013 Server
不能就地升级早于 Microsoft Dynamics CRM Server 2011 的版本号,比方 Microsoft Dynamics CRM 4.0 server.可是,能够在升级过程中使用 ...
- Microsoft Dynamics CRM 4.0导入组织(Import Organization)时间过长的原因总结
952934 How to move the Microsoft Dynamics CRM 4.0 deployment http://support.microsoft.com/default ...
- Microsoft Dynamics CRM 9.0 OP 版本 安装 的那些 雷
天天讲安装过程好无聊了,还是搞点有营养的东西来,那么后面来说说刚出来的MSCRM OP 9.0 版本安装的那些雷: 雷1:操作系统要求Windows 2016 Server 这点还好,因为之前安装MS ...
- Microsoft Dynamics CRM 4.0 JScript 通用公共方法
1.基本参数 var CRM_FORM_TYPE_CREATE = 1; var CRM_FORM_TYPE_UPDATE = 2; var CRM_FORM_TYPE_READ_ONLY = 3; ...
- 打开安装 好的Microsoft Dynamics CRM 4.0 报错误为 Caller does not have enough privilege to set CallerOriginToken to the specified value 的解决办法
If you installed CRM 4.0 on box where you also have SQL and used a domain account as service account ...
- Microsoft Dynamics CRM 4.0 如何添加自定义按钮
一.通过导入导出ISV.Config(ISV配置),具体如下图: 先设置—>打开导出自定义项—>选择ISV配置—>选择导出所选自定义项 点击确定 保存到桌面,解压,用VS打开cust ...
- Dynamics CRM2016 升级老版本报“JavaScript Web 资源包含对 Microsoft Dynamics CRM 4.0 (2007) Web 服务终结点的引用”问题的解决办法
今天在新的服务器上部署了CRM2016 on-premises,并将CRM2015的数据库拷贝过来准备附加后升级,但在升级过程中遇到了如下错误,向导检测到了我的JavaScript Web 资源中包含 ...
- Dynamics CRM2016 升级老版本号报“JavaScript Web 资源包括对 Microsoft Dynamics CRM 4.0 (2007) Web 服务终结点的引用”问题的解决的方法
今天在新的server上部署了CRM2016 on-premises,并将CRM2015的数据库拷贝过来准备附加后升级,但在升级过程中遇到了例如以下错误.向导检測到了我的JavaScript Web ...
随机推荐
- textAlign
<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head> < ...
- AIX5L内存监控和调整
1.ps ps gv | head -n 1; ps gv | egrep -v "RSS" | sort +6b -7 -n -r PID TTY STAT ...
- CentOS下tar解压 gz解压 bz2等各种解压文件使用方法
.tar 解包:tar xvf FileName.tar 打包:tar cvf FileName.tar DirName (注:tar是打包,不是压缩!) ——————————————— . ...
- memory prefix retro,re out 2
1● retro retr əu 向后,倒退 2● re 重新,一再, 不,反向后
- git commit steps(1)
git commit steps: if you are a new git user , you may need to set # git config --global user.email & ...
- Openwrt Support RESET Button (5)
1 Scope of Document This document describes how to support reset button under openwrt system2 Requir ...
- SQL Server 调优系列基础篇 - 子查询运算总结
前言 前面我们的几篇文章介绍了一系列关于运算符的介绍,以及各个运算符的优化方式和技巧.其中涵盖:查看执行计划的方式.几种数据集常用的连接方式.联合运算符方式.并行运算符等一系列的我们常见的运算符.有兴 ...
- 最全的CSS浏览器兼容问题【FF与IE】
1. Div居中问题 div设置 margin-left, margin-right 为 auto 时已经居中,IE 不行,IE需要设定body居中,首先在父级元素定义text-algin: cent ...
- noip2007-4
首先预处理f[i][j]表示i到j的路径 然后枚举i,j,如果f[i][j]<=s,那么 寻找最大的k,计算路径距离 计算最短的 代码: #include<bits/stdc++.h> ...
- Pycharm(三)常用设置
File - Settings (ctrl+alt+s) python模板 Editor - File and Code Templates - Python Script 可以使用部分变量. # ! ...