家里的小乌龟生蛋了!

Joy 分类:生活点滴 | Joy 标签: Joy 发表于2011/08/12,21:40 | 22条评论

今天开QQ邮箱,发现我爸给我发了一封邮件,原来家里的巴西龟生蛋了!

原来,乌龟也可以像鸡一样生蛋,不用受精就可以,只不过孵不出小乌龟罢了。

看着它的照片,想起我在家那时候每天喂它吃虾,还曾经把活虾放在水盆里给它玩,真的好有意思啊。现在它居然生蛋了,原来,变老的不止我一个。。。。

关于我家乌龟的点点滴滴

升级到Firefox5之后Firebug不见了?

Joy 分类:好好学习 | Joy 标签: Joy 发表于2011/08/12,20:55 | 没有评论

很早之前就升级到Firefox5了,然后firebug就不见了,但是右键菜单还是可以看到Inspect element,选择它就可以打开firebug,所以我一直就没处理firebug不见的问题。

今天有人说他的firebug也不见了,而且他的右键菜单没有Inspect element,这样他的firebug怎么都用不了了。很是郁闷。

原来,在Firefox5中,firebug的图标变成在右上角显示,状态栏那里变成默认不显示。不过不知道为什么,我的Firefox右上角也没有显示Firebug。

现在,我知道可以通过打开about:config,搜索extensions..showStatusIcon,双击它,将它的值改成true就可以了。给遇到同样问题的朋友参考一下。

耶,Firebug回来了。

好吃的

Joy 分类:生活点滴 | Joy 标签: Joy 发表于2011/08/06,23:00 | 20条评论

最近的生活十分无聊,上班,吃饭,睡觉,所以很久没更新博客了。其实就连微博也很少发——我是说原创性的。上个星期的微博,我看了一下,就两个是原创的,还都跟吃有关,我正在吃货这条道路上越走越远……

这两个关于吃的微博,一个是doughnut factory,一个是家楼下的烧卖。 继续阅读 »

CRM2011 添加按钮到subgrid的ribbon上

Joy 分类:好好学习 | Joy 标签: Joy 发表于2011/07/31,17:08 | 5条评论

添加按钮到subgrid的ribbon上,并定义点击按钮执行的命令。
继续阅读 »

[CRM2011 javascript] Get entity id and run workflow

Joy 分类:好好学习 | Joy 标签: Joy 发表于2011/07/31,17:01 | 没有评论

取得当前Form的entity id并执行workflow。
继续阅读 »

再爬武吉知马

Joy 分类:生活点滴 | Joy 标签: Joy 发表于2011/07/24,18:48 | 19条评论

几个月前,曾和LBY去了一次武吉知马,那时在山上见了很多猴子。今天再去,猴子竟没见几只,大概是吃饱了都躲起来睡觉了。

很久没锻炼,开始爬山的时候真的很喘,开始的这一段很陡。

这座山很矮,基本上爬过了开始那段陡坡,后面就没什么挑战性了。我们选择的是中等难度的路线,不一会儿就到顶峰小屋了。在那里终于看到一只猴子。 继续阅读 »

七宗罪 by Blackeri

Joy 分类:乱七八糟 | Joy 标签:Joy 发表于2011/07/22,23:40 | 11条评论

此文目的在于记几个单词,欣赏几张插画。

这七宗罪,每个人或多或少都会有吧,

七宗罪:

Avarice(贪婪),Envy(嫉妒),Gluttony(饕餮),Lust(淫欲),Sloth(懒惰),Vanity(傲慢),Wrath(暴怒)

Avarice

Picture 1 of 7

MSCRM4.0 交叉表查询

Joy 分类:好好学习 | Joy 标签: Joy 发表于2011/07/20,20:50 | 6条评论

当两个实体是多对多的关系时,CRM会创建一个交叉表,查询这个交叉表的数据不能用RetrieveMultiple,而需要用Fecth方法。
如果你用RetrieveMultiple的话,会出现以下错误:
0×80040800
The ‘RetrieveMultiple’ method does not support entities of type ‘cust_list_cust_survey’.
Platform

怎样用Fecth方法呢?以下例子来自MSDN(Using Intersect Tables):

// Set up the CRM Service.
  1. CrmAuthenticationToken token = new CrmAuthenticationToken();
  2. token.AuthenticationType = 0;
  3. token.OrganizationName = "AdventureWorksCycle";
  4.  
  5. CrmService service = new CrmService();
  6. service.Url = ""http://:/mscrmservices/2007/crmservice.asmx";
  7. service.CrmAuthenticationTokenValue = token;
  8. service.Credentials = System.Net.CredentialCache.DefaultCredentials;
  9.  
  10. // Get the GUID of the current user.
  11. WhoAmIRequest who = new WhoAmIRequest();
  12. WhoAmIResponse whoResp = (WhoAmIResponse)service.Execute(who);
  13.  
  14. Guid userid = whoResp.UserId;
  15.  
  16. // Create a query expression.
  17. QueryExpression qe = new QueryExpression();
  18. qe.EntityName = "role";
  19. // Be aware that using AllColumns may adversely affect performance
  20. // and cause unwanted cascading in subsequent updates.
  21. // A best practice is to retrieve the least amount of data required.
  22. qe.ColumnSet = new AllColumns();
  23.  
  24. // Create the link entity from role to systemuserroles.
  25. LinkEntity le = new LinkEntity();
  26. le.LinkFromEntityName = "role";
  27. le.LinkFromAttributeName = "roleid";
  28. le.LinkToEntityName = "systemuserroles";
  29. le.LinkToAttributeName = "roleid";
  30.  
  31. LinkEntity le2 = new LinkEntity();
  32. le2.LinkFromEntityName = "systemuserroles";
  33. le2.LinkFromAttributeName = "systemuserid";
  34. le2.LinkToEntityName = "systemuser";
  35. le2.LinkToAttributeName = "systemuserid";
  36.  
  37. // Create the condition to test the user ID.
  38. ConditionExpression ce = new ConditionExpression();
  39. ce.AttributeName = "systemuserid";
  40. ce.Operator = ConditionOperator.Equal;
  41. ce.Values = new object[]{userid};
  42.  
  43. // Add the condition to the link entity.
  44. le2.LinkCriteria = new FilterExpression();
  45. le2.LinkCriteria.Conditions = new ConditionExpression[]{ce};
  46.  
  47. // Add the from and to links to the query.
  48. le.LinkEntities = new LinkEntity[]{le2};
  49. qe.LinkEntities = new LinkEntity[]{le};
  50.  
  51. // Retrieve the roles and write each one to the console.
  52. BusinessEntityCollection bec = service.RetrieveMultiple(qe);
  53. foreach (BusinessEntity e in bec.BusinessEntities)
  54. {
  55.    role r = (role)e;
  56.    Console.WriteLine(r.name.ToString());
  57. }

The FetchXML Wizard – 轻松生成CRM代码

Joy 分类:好好学习 | Joy 标签: Joy 发表于2011/07/20,20:41 | 2条评论
select * from lead
  1. INNER JOIN listmember ON listmember.entityid=lead.leadid
  2. WHERE
  3. listmember.listid='1E565422-A7AE-E011-958A-000C29295BC9'
  4. AND lead.emailaddress1='test999@gmail.com'

以上语句转成c#代码是这个样子的:

  1.  
  2. QueryExpression query1 = new QueryExpression();
  3. query1.EntityName = "lead";
  4. ColumnSet columns1 = new ColumnSet();
  5. columns1.Attributes = new string[] { "emailaddress1" };
  6. query1.ColumnSet = columns1;
  7. query1.Criteria = new FilterExpression();
  8. query1.Criteria.FilterOperator = LogicalOperator.And;
  9. query1.Criteria.Conditions = new ConditionExpression[] { condition1 };
  10.  
  11. LinkEntity linkEntityForLead = new LinkEntity();
  12. linkEntityForLead.JoinOperator = JoinOperator.Natural;
  13. linkEntityForLead.LinkFromEntityName = "lead";
  14. linkEntityForLead.LinkFromAttributeName = "leadid";
  15. linkEntityForLead.LinkToEntityName = "listmember";
  16. linkEntityForLead.LinkToAttributeName = "entityid";
  17.  
  18. linkEntityForLead.LinkCriteria = new FilterExpression();
  19. linkEntityForLead.LinkCriteria.FilterOperator = LogicalOperator.And;
  20.  
  21. linkEntity1.LinkCriteria.Conditions = new ConditionExpression[] { condition2 };
  22. query1.LinkEntities = new LinkEntity[] { linkEntityForLead };

每次,当我写这些代码的时候,都很想死,同时觉得好爱sql哦。

今天我终于找到这么一个工具,可以直接生成c#代码!

那就是——The FetchXML Wizard(点击进入下载

这个工具,只要输入CRM server的名字就可以了。然后根据需要选择相应的实体,条件,排序等等,好用极了。不知道我是不是out了今天才知道呃。。。

SQL批量插入数据的语句

Joy 分类:好好学习 | Joy 标签:Joy 发表于2011/07/16,23:54 | 5条评论

菜鸟记录,高手无视。

  1. DECLARE @MyCounter INT
  2.  
  3. SET @MyCounter = 0            /*设置变量*/
  4.  
  5. WHILE (@MyCounter < 2500)     /*设置循环次数*/
  6.  
  7. BEGIN
  8.  
  9.  
  10.  
  11. /*这里是 insert 语句*/
  12.  
  13.  
  14.  
  15. SET @MyCounter = @MyCounter + 1
  16.  
  17. END