将Dynamics 365地址字段转换为下拉列表

时间:2019-03-19 16:23:22

标签: javascript dynamics-crm dynamics-365

我是Dynamics 365和javascript的新手。

现在,用户在必须填写地址表格时手动输入值,因此对于同一区域,我们具有以下值:Lombardia,LOMABARDIA,lomb,Lombadia等...

我无法创建自定义字段,因为地址字段被分组为复合字段并用于Outlook同步。

所以我认为正确的方法是创建一个JavaScript蒙版,将选择的值粘贴到自由文本地址字段中,但这是我最大的问题,如何设置该蒙版...

问题:

这是最佳做法吗?如果不是的话?

我能够创建JavaScript的列表并从crm获取/设置值,但是我不知道如何在自由文本字段上构建它,是否有帮助?

2 个答案:

答案 0 :(得分:1)

您应该考虑使用地址解析API,然后便可以拆分标准格式的所选地址。尝试查看Experian甚至Google API,您可以构建一个自定义的网络资源,连接将为您执行地址解析的JS,然后在选择中拆分复合字段中的值。

答案 1 :(得分:0)

您可以构建自己的自定义HTML Web资源并将其添加到表单中,而不是不受支持的“在自由文本字段上构建它”。

this document指出,您需要使用HINSTANCE hinst; // handle to current instance HCURSOR hCurs1, hCurs2; // cursor handles HCURSOR hCurs3; // cursor handle // Yin-shaped cursor AND mask BYTE ANDmaskCursor[] = { 0xFF, 0xFC, 0x3F, 0xFF, // line 1 0xFF, 0xC0, 0x1F, 0xFF, // line 2 0xFF, 0x00, 0x3F, 0xFF, // line 3 0xFE, 0x00, 0xFF, 0xFF, // line 4 0xF7, 0x01, 0xFF, 0xFF, // line 5 0xF0, 0x03, 0xFF, 0xFF, // line 6 0xF0, 0x03, 0xFF, 0xFF, // line 7 0xE0, 0x07, 0xFF, 0xFF, // line 8 0xC0, 0x07, 0xFF, 0xFF, // line 9 0xC0, 0x0F, 0xFF, 0xFF, // line 10 0x80, 0x0F, 0xFF, 0xFF, // line 11 0x80, 0x0F, 0xFF, 0xFF, // line 12 0x80, 0x07, 0xFF, 0xFF, // line 13 0x00, 0x07, 0xFF, 0xFF, // line 14 0x00, 0x03, 0xFF, 0xFF, // line 15 0x00, 0x00, 0xFF, 0xFF, // line 16 0x00, 0x00, 0x7F, 0xFF, // line 17 0x00, 0x00, 0x1F, 0xFF, // line 18 0x00, 0x00, 0x0F, 0xFF, // line 19 0x80, 0x00, 0x0F, 0xFF, // line 20 0x80, 0x00, 0x07, 0xFF, // line 21 0x80, 0x00, 0x07, 0xFF, // line 22 0xC0, 0x00, 0x07, 0xFF, // line 23 0xC0, 0x00, 0x0F, 0xFF, // line 24 0xE0, 0x00, 0x0F, 0xFF, // line 25 0xF0, 0x00, 0x1F, 0xFF, // line 26 0xF0, 0x00, 0x1F, 0xFF, // line 27 0xF8, 0x00, 0x3F, 0xFF, // line 28 0xFE, 0x00, 0x7F, 0xFF, // line 29 0xFF, 0x00, 0xFF, 0xFF, // line 30 0xFF, 0xC3, 0xFF, 0xFF, // line 31 0xFF, 0xFF, 0xFF, 0xFF // line 32 }; // Yin-shaped cursor XOR mask BYTE XORmaskCursor[] = { 0x00, 0x00, 0x00, 0x00, // line 1 0x00, 0x03, 0xC0, 0x00, // line 2 0x00, 0x3F, 0x00, 0x00, // line 3 0x00, 0xFE, 0x00, 0x00, // line 4 0x0E, 0xFC, 0x00, 0x00, // line 5 0x07, 0xF8, 0x00, 0x00, // line 6 0x07, 0xF8, 0x00, 0x00, // line 7 0x0F, 0xF0, 0x00, 0x00, // line 8 0x1F, 0xF0, 0x00, 0x00, // line 9 0x1F, 0xE0, 0x00, 0x00, // line 10 0x3F, 0xE0, 0x00, 0x00, // line 11 0x3F, 0xE0, 0x00, 0x00, // line 12 0x3F, 0xF0, 0x00, 0x00, // line 13 0x7F, 0xF0, 0x00, 0x00, // line 14 0x7F, 0xF8, 0x00, 0x00, // line 15 0x7F, 0xFC, 0x00, 0x00, // line 16 0x7F, 0xFF, 0x00, 0x00, // line 17 0x7F, 0xFF, 0x80, 0x00, // line 18 0x7F, 0xFF, 0xE0, 0x00, // line 19 0x3F, 0xFF, 0xE0, 0x00, // line 20 0x3F, 0xC7, 0xF0, 0x00, // line 21 0x3F, 0x83, 0xF0, 0x00, // line 22 0x1F, 0x83, 0xF0, 0x00, // line 23 0x1F, 0x83, 0xE0, 0x00, // line 24 0x0F, 0xC7, 0xE0, 0x00, // line 25 0x07, 0xFF, 0xC0, 0x00, // line 26 0x07, 0xFF, 0xC0, 0x00, // line 27 0x01, 0xFF, 0x80, 0x00, // line 28 0x00, 0xFF, 0x00, 0x00, // line 29 0x00, 0x3C, 0x00, 0x00, // line 30 0x00, 0x00, 0x00, 0x00, // line 31 0x00, 0x00, 0x00, 0x00 // line 32 }; // Create a custom cursor at run time. hCurs3 = CreateCursor( hinst, // app. instance 19, // horizontal position of hot spot 2, // vertical position of hot spot 32, // cursor width 32, // cursor height ANDmaskCursor, // AND mask XORmaskCursor ); // XOR mask 来引用表格-例如:

parent.Xrm.Page

This forum表示,尽管var customerRef = parent.Xrm.Page.getAttribute('customerid').getValue();在v9中已弃用,但从自定义Web资源使用Xrm.Page仍然有效(目前)。

此外,请注意,要启用访问表格,您应该添加
parent.Xrm.Page 在您的自定义网络资源中。