如何在CRM 2011内部部署中将地理定位添加到服务调度

时间:2012-06-21 17:51:50

标签: c#-4.0 plugins dynamics-crm dynamics-crm-2011 crm

这是关于设计方法的一般性问题,而不是特定的编程挑战。我们有业务需求来安排资源,但为了降低差旅成本,我们需要能够为地理位置接近的客户预约安排资源。这些约会通常在客户的家中,而不是在指定的站点。

进行地理定位的过程是获取客户的位置和选择的服务活动,查找在该时间范围内具有可用性的所有资源,然后根据其先前的约会位置按照接近顺序对它们进行排名。

这一切都很好,但我遇到的问题是我在哪里插入这个逻辑?是通过插件在Service Appointment实体的“Book”消息中吗?这对最终用户有何影响?我是否必须在自定义aspx页面中模拟服务日历功能才能完成此操作?

有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

你可以通过JavaScript ...

来做到这一点

1)创建与服务约会实体的服务代表关系。将服务代表查找添加到服务约会实体。

2)创建虚拟文本属性并添加到服务预约表单

3)获取符合您的可用性标准的所有记录,并使用第三方地图服务或基于lng / lat距离来确定最接近的人。

FetchXML - GeoCode Distance search by distance

4)将您的虚拟文本框切换为选择,并添加10个最近服务代表的选项及其名称和距离(即Paul Way - 1.2英里)

5)更改新的选择框值时,在表单上填充rep属性。

6)测试后,通过javascript隐藏rep属性,以便保存更改,但用户必须使用自定义选择框。