星期四, 七月 26, 2007

Outlook/CRM Field Mapping (映射)

多谢微软的 IIana Smith 跟她的组的成员给我们大家提供了 CRM 和 Outlook 的映射。如有问题,请到论坛提问。最近忙得要命,等我时间空一点,我将会教大家一些简单的 Callout.

Field in Outlook | Field in CRM

Task

Body = description
Due Date = scheduledend
Priority = priority
Start Date = scheduledstart
Status = computed from Activity State Code and Appointment Status Code
Subject subject

Unsynchronized Outlook fields include: Reminder, Contacts, Categories, Privacy Flag, Date Completed, Total Work, Companies, Mileage, Billing Information

 

Appointment

All Day Event = isalldayevent
Body = description
Duration = scheduleddurationminutes
End = scheduledend
Location = location
Optional Attendees = optionalattendees
Organizer = organizer
Priority = priority
Required Attendees = requiredattendees
Show Time As = computed from Activity State Code and Appointment Status Code
Start = scheduledstart
Subject = subject

Unsynchronized Outlook fields include: Label, Reminder, Contacts, Categories, Privacy Flag, Importance Flag

 

Contact

Anniversary = anniversary
Assistant Name = assistantname
Assistant Telephone Number = assistantphone
Birthday = birthdate
Body = description
Business Fax Number = fax
Business Telephone Number = telephone1
Children = childrensnames
Department = department
Email1Address = emailaddress1
Email2Address = emailaddress2
Email3Address = emailaddresss3
First Name = firstname
FTP Site = ftpsiteurl
Government ID Number = governmentid
Home Telephone Number = telephone2
Job Title = jobtitle
Last Name = lastname
Mailing Address City = address1_city
Mailing Address Country = addresss1_country
Mailing Address Post Office Box = addresss1_postofficebox
Mailing Address Postal Code = address1_postalcode
Mailing Address State = addresss1_stateorprovince
Mailing Address Street = address1_line1; address1_line2; address1_line3
Manager Name = managername
Middle Name = middlename
Mobile Telephone Number = mobilephone
Nickname = nickname
Other Telephone Number  = telephone3
Pager Number = pager
Spouse = spousesname
Suffix = suffix
Title = salutation
Web Page = websiteurl
Yomi First Name = yomifirstname
Yomi Last Name = yomilastname

Unsynchronized Outlook fields include: Photo, IM Address, Other phone numbers, Office, Profession, NetMeeting Settings, Free/Busy Server Settings

星期三, 一月 10, 2007

大家好!最近忙得很,终于完成了个CRM集成的项目。 不知不觉已经在 Wisconsin 生活了几个月了。

我们公司是微软 CRM 的一个金牌合作伙伴,我们参与了微软下一个版本的CTP。 基本上每个星期我们有 Web Conference,微软 CRM 的 产品组在给我们介绍 CRM 新的功能, 解释新的 SDK。

下一个版本CRM 名叫 Titan。 Titan 将会有两个版本,一个叫 CRM Live,另外一个叫 CRM On-Premise。 CRM Live 是一个在线 的 CRM, 提供给一些公司需要 CRM 但不想购买或安装硬件或软件。 我想CRM Live 将会是 SaleForce.com 很强的对手。 CRM Live可以跟Office来连接,相信这是微软 CRM Live的卖点。

另外一个是 CRM On-Premise, 就是普通的 CRM, 但是有了许多的进展。 微软加了很多的功能, 有大家想要的 多种语言的支持 (Multi-Lingo),多个业务部门 (Multi-Organization), 多币种 (Multi-Currency) 等等。 最大的进展就是流程的管理,使用了新的 Windows Workflow Foundation (WWF)。

SDK也有了进展, 比现在的 SDK 多了很多的东西, 好像 Offline 也可以使用 Callouts 等等。

Titan 的详细的东西现在不能公开, 但以上的东西好像已经公开在不同的英文网站了。 好了,现在只能公开这么多了。以后会给大家介绍更多 Titan 的资料。

星期三, 一月 03, 2007

新年好!

我终于放完假了。2007 年了!祝大家步步高升,工作顺利,身体健康! 如果大家有什么CRM的问题,请在论坛发问, 我将尽能力解答。

星期二, 十二月 05, 2006

CRM 3.0 SP1 推出了

微软推出了 CRM 3.0 的补丁 SP1, 大家可以在 http://www.microsoft.com/downloads/details.aspx?FamilyId=08BADB01-4984-458E-96E6-4F08622CFE63&displaylang=en 下载。 有两个文档, 一个是给服务器的,另外一个是给客户的。 安装很容易。

星期二, 十一月 28, 2006

用 JavaScript 来在 CRM 用户的 GUID

最近很忙,在做 CRM 的集成。 上次教了大家怎样用 JavaScript 来隐藏属性。有人问了我很多次怎样用 JavaScript 来拿取 CRM 用户的 GUID, 然后根据用户的 GUID 来隐藏属性。好像隐藏一些只能经理才看到的东西。

拿取 CRM 用户的 GUID 不是太难, 在每一个 CRM 的 .net 网页,都有一个大家都不知道的 js 文件。那个文件就是 “/_controls/RemoteCommands/RemoteCommand.js”, 里面有一个function, RemoteCommand(sObject, sCommand, sUrlBase), 大家可以使用它来连接 CRM Web的引用。

如果你想拿用户的GUID,你需要把以下的 JavaScript 放到表格的 onLoad 里去,就可以知道那CRM用户的ID了。

var usercommand = new RemoteCommand("SystemUser", "WhoAmI", "/MSCRMServices/");
var userResult = usercommand.Execute();
alert(userResult.ReturnValue.UserId);

如有问题,请到论坛上问。

星期五, 十一月 24, 2006

IE Toolbar - 感恩节给大家的礼物

我们这里放假,放感恩节。在这感恩节, 我给大家送一个礼物, 如果想知道怎样在CRM 来做JavaScript, 大家首先要下载 IE Developer Toolbar。 因为CRM是取用了 DHTML/DOM, 我们很多的时候, 要知道一个属性的Id ,才能使用 JavaScript 来藏掉或加上。这个Toolbar 将会告诉我们那些属性的Id, 以后我教大家 JavaScript 的时候,我会时常提到 IE Toolbar 的。

大家可以到以下的连接下载,只有英文版本。
http://www.microsoft.com/downloads/details.aspx?familyid=e59c3964-672d-4511-bb3e-2d5e1db91038&displaylang=en

 

大家感恩节快乐。

Temporary Post Used For Style Detection (e5cf62ec-84fa-4c1c-85d7-e32ad32677d5)

This is a temporary post that was not deleted. Please delete this manually. (bf7a50c6-8f2f-4baf-a620-73b68e2f9067)

星期五, 十一月 10, 2006

CRM 3.0 Service Pack 1

微软在11月低或12月初将推出 CRM 3.0 的 SP1, 请大家留意。出了补丁后, 我会告诉大家。

星期四, 十一月 09, 2006

CRM Email Router 的功能

CRM Email Router 是一个用来监测收取邮件的程序。 如果看到收取的邮件有 CRM的 ID, 就自动把 Email 放到 CRM 里去。 如过没有安装 Email Router, 大家就要自己把有关的Email放到CRM里去了。 CRM Email Router 一定要安装在 Exchange 上, 如果你的邮箱是租用的, 你就不能用这个程序了。

在你安装 CRM Router 之前,你需要创造一个电子邮箱。 基本上 CRM Router 把 规则 放到 每一个CRM 用户的邮箱,那个规则就把所有用户的邮件 Copy 到你之前创造的邮箱上去。 CRM Email Router 的程序就监测那个邮箱, 把对CRM无关的电邮省掉, 如果有 CRM ID 的电邮就自动把它放到 CRM里去。 就是这么的简单。

所以如果的邮箱是租用的, 你就不能用这个程序了。 :)

用 JavaScript 来隐藏字段

如果你想在 CRM 的表单上隐藏一些的字段, 大家可以用 JavaScript 来做。 为什么要隐藏呢?好像经理们可以看一些的字段是不想让普通 CRM 用户看到的等等。

给大家一个例子, 我就把客户的电子邮件字段用 JavaScript 来隐藏掉。

1 到 设置 -> 自定义 -> 自定义的实体 -> 客户
2 到 客户 的 表单 -> 表单属性

3 把 OnLoad 打开
4 然后把 以下的 JavaScript 放到 TextBox 那里去。

crmForm.all.emailaddress1.style.visibility= "hidden";

5 按 OK, 然后 发布。

   

你就可以看到 Email 的字段已经隐藏掉了。大家可以用以上的 JavaScript 到其他的字段。 crmForm.all.[字段名].style.visibility="hidden";

如果有什么问题, 请在论坛问吧。 我的中文不是太好, 请大家见谅。 :)

星期五, 十一月 03, 2006

更改原有的纪录

这几天都很忙,在帮一个客户做 CRM BizTalk 的 Integration, 所以没有什么时间来写我的 Blog。 今天就教大家一些简单的东西。 上一次我们学习了怎样来用 SDK 创建客户, 那么我在这儿教大家怎样更改原有的纪录。 我这一次会用“联系人”。

首先我们要证实使用CRM的用户,

CrmService service = new CrmService();
service.Credentials = System.Net.CredentialCache.DefaultCredentials;

然后你需要知道你需要更改的联系人的 GUID。 联系人的 GUID 就是 ContactID, 在数据库可以找到。

contact contact = new contact();
contact.address1_line1 = "300 北京路";

CRM里有他自己的属体, 所以我们不能把 GUID直接的放上

contact.contactid = new Guid("4D507FFE-ED25-447B-80DE-00AE3EB18B84");

我们需要创造一个新的 Key, 然后把 GUID 放上。

contact.contactid = new Key();
contact.contactid.Value = new Guid("4D507FFE-ED25-447B-80DE-00AE3EB18B84");

最后就启动update的方法来更改这个联系人。

service.Update(contact);

那就这么简单, 你现在可以试一下更改客户了。 :=)

星期一, 十月 30, 2006

通过SDK来创造一个新的客户

使用SDK来创造一个新的客户是一件不难的事, 首先就是把 CRM Service Web的引用加上, 然后就可以使用 SDK 来做不同的东西, 好像加客户, 联系人, 商机等等。

首先我们要证实使用CRM的用户, 如果使用 System.Net.CredentialCache.DefaultCredentials, 那么纪录的负责人将会是管理员。

CrmService service = new CrmService();
service.Credentials = System.Net.CredentialCache.DefaultCredentials;

如果你想用其他CRM的用户成为创造这个纪录的负责人, 你可以用以下的方法,

CrmService service = new CrmService();
service.CallerIdValue = new CallerId();
service.CallerIdValue.CallerGuid =new Guid("你CRM用户的GUID");

你可以到 SystemUserBase 那里找 CRM用户的 GUID。

做完证实后, 就可以创造客户了。

account acct = new account();
acct.name = "我的客户";

最后就启动create的方法来创造这个客户。 如果客户创造成功, CRM将给回你那个客户的 GUID。

Guid accountid = service.create(acct);

那么大家应该懂得怎样来创造客户啦。那么你们可以试一下用同一样的方法来创造一个联系人。如果有问题可以在论坛上问。

星期日, 十月 29, 2006

在项目里加CRM 的引用

如果想使用 CRM SDK 的时候,我们需要在项目添加 Web 的引用。 添加后,想做 CRM 的编成就很容易了。 今天就教大家怎样添加 CRM Web的引用。

1. 开一个新的项目。

2. 然后选择加 Web 引用。

3. 在 URL 的 TextBox, 打 http://[服务器]/mscrmservices/2006/crmservice.asmx。

4. 在 Web 应用名那里, 打上引用的名。我在这里选用了 "CrmSdk", 以后的例子都是用 "CrmSdk"。

5. 然后按 “添加引用”。

如果想添加 Metadata 的 Web Service, 使用同一样的方法。 在 URL 的 TextBox 打 http://[服务器]/mscrmservices/2006/metadataservice.asmx。然后给引用一个名, 我的例子将会使用 "CrmMetadataSdk"。

下一次教大家来通过SDK创造一个CRM的客户。

星期五, 十月 27, 2006

CRM 的 Web Services

如果想做 CRM 的编程,首先要知道是 CRM 的 Web Service。 CRM 有两个的 Web Service, 一个是主要用来跟 CRM 的 数据库沟通的, 还有一个是跟 CRM 结构(Metabase)数据库沟通的。 

它们分为是:

CRM Web Service:

http://[服务器]/mscrmservices/2006/crmservice.asmx

CRM Metadata Web Service:

http://[服务器]/mscrmservices/2006/metadataservice.asmx

星期三, 十月 25, 2006

怎样可以得知实体的 ID?

CRM里每一个实体都有一个ID。 在做Callout的时候, 我们有时候需要CRM实体的ID。 一个方法就是到 Metadata 的数据库里找, 但这个方法太麻烦了。 例外一个容易的方法就是到以下的网址, 你就可以得知CRM实体的 ID 跟相关的属性。

网址是 http://[你CRM服务器的网址]/sdk/list.aspx

星期二, 十月 24, 2006

欢迎光临!

欢迎您来到我的 CRM Blog!我将会在这里给大家解释和讲解一下Microsoft CRM 的一些功能。在 Google CRM 的论坛上, 大家都对 CRM 的 Callout 有问题,那么我首先在这里教大家怎样来做一个简单 CRM 的 Callout 吧。

如果你有什么的问题, 请到 CRM 论坛那里问,我会用我空闲的时间来回答大家的问题。