Dynamics 365(online) 把product的图片直接显示在Form页面上

Dynamic 365(online)是MS推出云端的CRM系统,每个entity都有一个字段叫entityimage,常用是用于存储图片的,在product这个实体中,我这公司的产品需要同步至product表,产品有一个图片属性,但Dynamics 365(online)自带的图片与显示功能如下图,并非我想要,位于左上角的logo处,双击时会弹框显示,但图片显示的大小有限
在这里插入图片描述
为此,想让图片显示变大,并且非双击后才显示,当我打开product的详细信息页面时直接显示在某个区域内,用户可以直观的看到,效果图如下
在这里插入图片描述
我是怎么实现图上的效果呢?

  1. Dynamics 365(online)的图片是以什么样的方式显示的,我们把图片拖到独立的窗口查看它的路径会发现,它就是一个独立的网页(如下网址信息),显示不同的产品的图片只需要传入product 的guid给它
  2. https://xxxxxxxx.crm5.dynamics.com/image/download.aspx?attribute=entityimage&entity=product&id=%7b6E8A882C-0E93-EA11-A812-000D3AA0FE67%7d在这里插入图片描述
  3. 既然是独产的页面,我们可以把它嵌入到product的form页面上,怎么内嵌呢?在product的Form上新建一个iframe框架用于显示这个网页即可,参数设置如下图在这里插入图片描述
  4. 然后在form的onload方法下获取该iframe控制并将显示图片的网页指定到iframe上来,这里需要写一个javascript脚本绑定图片显示的网址 在这里插入图片描述在这里插入图片描述

5.如下是当窗体加载时显示iframe控制里面网页的javascript 脚本,方法名为loadpic()
function loadpic()
{
var entityid = Xrm.Page.data.entity.getId(); //获取当前页面记录的guid,我这里是指product的guid值
var iframevalue = Xrm.Page.ui.controls.get(“IFRAME_XXX_ProductImage”); //获取页面上的iframe控件
entityid = entityid .replace("{", “”); //获取到的guid是属于{032092-xxxx-xxxx…}格式,我这里需要把{}去掉
entityid = entityid .replace("}", “”);
var imgurl = “https://xxxxxxxx.crm5.dynamics.com/image/download.aspx?attribute=entityimage&entity=product&id=”; //拿到显示图片的页面地址,这一串一般是固定不变的
imgurl += “%7b”;
imgurl += entityid ; //把product的guid值传到显示图片的地址中去
imgurl += “%7d”;
iframevalue .setSrc(imgurl); //设置iframe 控件显示图片网页
}

总结:
其实在Dynamcis 365(online)上处理图片是相对较麻烦的事情,关于产品显示的问题,系统自带的只是在左上角的小框内显示,类似logo,但这样不是很直观也不是很清析,用户想要的是当打开产品详细页面就能直观地看到大概的产品图像,不需要再做其他操作。
为此,我采用的此方法或许是较笨的方法,但也是实现了用户的需求,包括后面orderproduct中显示产品明细也是类似这样的方法来实现的,如下较果图,此方法比较笨,之前想在order的orderproduct的subgrid想直接每行显示对应的产品图的,但尝试在view里引webresource来实现,结果没实现,想通过插件来实现也没能实现,时间有限就做如下的简单实现,若有人能有更好的方法能实现,谢谢分享给我。在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Fei-AX&CRM

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值