在 Microsoft Dynamics 365 中显示外部申请表
Display external application forms within Microsoft Dynamics 365
我们有自己的系统,需要与 MS Dynamics 集成 365.For 示例:在帐户部分,我们需要添加一个额外的选项卡来加载 IFrame 或从我们的系统中检索一些额外信息的东西。
以下是我得到的东西:
- 在新的仪表板中插入 IFrame:(但它不会获取特定的帐户信息,它只会传递当前登录的用户以及组织名称)
- Unified Service Desk (USD):(我们可能会添加自定义,但这是一个桌面应用程序,我们需要它打开网页)
- Microsoft 流程:这只会在您创建或编辑帐户时在后台运行(不确定它是否具有其他功能)
- Extensions:不确定如何使用它来实现相同的功能,我相信解决方案可能就在这里,但我只需要从哪里开始。
有没有人做过类似的事情?
谢谢
你一定可以的,
这是我刚刚尝试使用我的一个 Trail 实例的方法。
我根据需要添加了新标签,我称之为"HTML Page"
在这个选项卡上我添加了Webresource,你也可以添加Iframe并调用你的外部网页。
对于我的简单用例,我在 CRM 中创建了一个简单的 HTML 页面作为 Web 资源,并将其配置到 Web 资源选项卡,如下所示
HTML 的示例代码。不要担心长 html 文件。大多数情况下是 bla bla。我们重要的是 <body onload="myFunction()">
然后是
<script>
function myFunction() {
debugger;
alert("Account Id when from fromcontext is ");
alert(parent.Xrm.getformContext().data.entity.getId());
}
</script>
完成下面的HTML代码
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
<title>My first styled page</title>
</head>
<body onload="myFunction()">
<!-- Site navigation menu -->
<ul class="navbar">
<li><a href="index.html">Home page</a>
<li><a href="musings.html">Musings</a>
<li><a href="town.html">My town</a>
<li><a href="links.html">Links</a>
</ul>
<!-- Main content -->
<h1>My first styled page</h1>
<p>Welcome to my styled page!
<p>It lacks images, but at least it has style.
And it has links, even if they don't go
anywhere…
<p>There should be more here, but I don't know
what yet.
<!-- Sign and date the page, it's only polite! -->
<address>Made 5 April 2004<br>
by myself.</address>
<script>
function myFunction() {
debugger;
alert("Account Id when from fromcontext is ", parent.Xrm.getformContext().data.entity.getId());
}
</script>
</body>
</html>
我还在帐户的表单加载中添加了额外的 Javascript。此 javascript 将创建可从您的网络资源调用的全局变量。
文章 Link 额外 Javascript
下面Javascript使用的示例代码
formContext=null;
function onload(executionContext){
debugger;
var formContext = executionContext.getFormContext();
Xrm.getformContext = function (){
return formContext;
};
Xrm.getParentAttribute = function (attrName) {
debugger;
return formContext.getAttribute(attrName);
};
Xrm.getParentControl = function (attrName) {
debugger;
return formContext.getControl(attrName);
};
}
最终结果如下所示
总结:
- 创建Wberesource/Iframe
- 加载时创建 Additiona Js
- 在您的网络资源中使用全局变量。
我们有自己的系统,需要与 MS Dynamics 集成 365.For 示例:在帐户部分,我们需要添加一个额外的选项卡来加载 IFrame 或从我们的系统中检索一些额外信息的东西。
以下是我得到的东西:
- 在新的仪表板中插入 IFrame:(但它不会获取特定的帐户信息,它只会传递当前登录的用户以及组织名称)
- Unified Service Desk (USD):(我们可能会添加自定义,但这是一个桌面应用程序,我们需要它打开网页)
- Microsoft 流程:这只会在您创建或编辑帐户时在后台运行(不确定它是否具有其他功能)
- Extensions:不确定如何使用它来实现相同的功能,我相信解决方案可能就在这里,但我只需要从哪里开始。
有没有人做过类似的事情?
谢谢
你一定可以的, 这是我刚刚尝试使用我的一个 Trail 实例的方法。
我根据需要添加了新标签,我称之为"HTML Page"
在这个选项卡上我添加了Webresource,你也可以添加Iframe并调用你的外部网页。 对于我的简单用例,我在 CRM 中创建了一个简单的 HTML 页面作为 Web 资源,并将其配置到 Web 资源选项卡,如下所示
HTML 的示例代码。不要担心长 html 文件。大多数情况下是 bla bla。我们重要的是 <body onload="myFunction()">
然后是
<script>
function myFunction() {
debugger;
alert("Account Id when from fromcontext is ");
alert(parent.Xrm.getformContext().data.entity.getId());
}
</script>
完成下面的HTML代码
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
<title>My first styled page</title>
</head>
<body onload="myFunction()">
<!-- Site navigation menu -->
<ul class="navbar">
<li><a href="index.html">Home page</a>
<li><a href="musings.html">Musings</a>
<li><a href="town.html">My town</a>
<li><a href="links.html">Links</a>
</ul>
<!-- Main content -->
<h1>My first styled page</h1>
<p>Welcome to my styled page!
<p>It lacks images, but at least it has style.
And it has links, even if they don't go
anywhere…
<p>There should be more here, but I don't know
what yet.
<!-- Sign and date the page, it's only polite! -->
<address>Made 5 April 2004<br>
by myself.</address>
<script>
function myFunction() {
debugger;
alert("Account Id when from fromcontext is ", parent.Xrm.getformContext().data.entity.getId());
}
</script>
</body>
</html>
我还在帐户的表单加载中添加了额外的 Javascript。此 javascript 将创建可从您的网络资源调用的全局变量。 文章 Link 额外 Javascript
下面Javascript使用的示例代码
formContext=null;
function onload(executionContext){
debugger;
var formContext = executionContext.getFormContext();
Xrm.getformContext = function (){
return formContext;
};
Xrm.getParentAttribute = function (attrName) {
debugger;
return formContext.getAttribute(attrName);
};
Xrm.getParentControl = function (attrName) {
debugger;
return formContext.getControl(attrName);
};
}
最终结果如下所示
总结:
- 创建Wberesource/Iframe
- 加载时创建 Additiona Js
- 在您的网络资源中使用全局变量。