从动态 crm 中的一个子网格复制另一个子网格的值



如何将子网格中的记录一页复制到具有相同实体的另一页子网格。我在这个表单中有一个机会表单,我在此单击中创建了一个按钮,它将打开相同的机会 我想将数据从第一个机会页面复制到其他页面 我复制了所有文本框、下拉列表、查找值 我使用了查询字符串 此值复制。我被困在从第一页到另一页的子网格数据复制中。

我尝试在查询字符串中传递对象,它插入到第一页子网格中:

if(Xrm.Page.data.entity.attributes.get('cts_originalsalespersonid').getValue() == null)
{
var OriginalOwnerId = Xrm.Page.data.entity.attributes.get('ownerid').getValue()[0].id;
var OriginalOwnerName = Xrm.Page.data.entity.attributes.get('ownerid').getValue()[0].name;
}
else
{
var OriginalOwnerId = Xrm.Page.data.entity.attributes.get('cts_originalsalespersonid').getValue()[0].id;
var OriginalOwnerName = Xrm.Page.data.entity.attributes.get('cts_originalsalespersonid').getValue()[0].name;
}
extraqs += '&cts_originalsalespersonid=' + OriginalOwnerId;
extraqs += '&cts_originalsalespersonidname=' + OriginalOwnerName;
var opid = Xrm.Page.data.entity.getId();
var opName = Xrm.Page.data.entity.getEntityName();

var queryOpt = {
entityName: "cts_lineitem",
attributes: ["cts_opportunityid"],
values: [opid,],
columnSet: ["rx_totalquantity", "cts_itemid","cts_itemnumber"]
};
var fetchedLineItem = XrmServiceToolkit.Soap.QueryByAttribute(queryOpt);
var xVals = fetchedLineItem.map(function (obj) { return obj.attributes; });
var xNames = xVals.map(function (obj) { return obj.cts_itemnumber; });

for (var i = 0; i < xVals.length; i++) 
{
var addAddresses = new XrmServiceToolkit.Soap.BusinessEntity("cts_lineitem");
addAddresses.attributes["cts_opportunityid"] = { id: opid, logicalName: "opportunity", type: "EntityReference" };
addAddresses.attributes["rx_totalquantity"] = xVal[i].rx_totalquantity;
addAddresses.attributes["cts_itemid"] = xVals[i].cts_itemid;
addAddresses.attributes["cts_itemnumber"] = xVals[i].cts_itemnumber;
addAddresses.attributes["cts_lineitemid "] = xVals[i].cts_lineitemid ;
addResponse = XrmServiceToolkit.Soap.Create(addAddresses);
}
window.open('/main.aspx?etn=opportunity&pagetype=entityrecord&extraqs=' + encodeURIComponent(extraqs), '_blank');

[1]: https://i.stack.imgur.com/emjam.png 这里是主页,我放了一个按钮
[2]: https://i.stack.imgur.com/8kFL3.png 这个主要机会有子网格
[3]: https://i.stack.imgur.com/I4vxq.png 这个页面,我需要在子网格中复制数据

如果我理解您的要求正确,您需要复制商机记录及其所有字段和子记录。对于子记录,我的意思是所有链接的记录(子网格(

我想建议稍微不同(在我看来更好(。

有两种方法可以执行此操作。

  1. Dynamics 365 工作流工具,记录克隆。
  2. 在服务器端而不是客户端执行 opp 复制。

当我说服务器端时,我的意思是插件。 您有一个按钮,单击此按钮时运行操作(自定义(

运行此操作(插件(时,使用子网格记录执行记录复制。这是更稳定和简单的方法,这几乎可以一直执行。通过这种方式,您可以创建记录防弹的副本。

最新更新