Axapta 将值从窗体传递给视图中的方法
我有一个带有装运表数据源的视图。此视图有一个包含查询的方法。此查询获取装运id并从该装运的sales line表返回销售id。此视图有一个计算字段,该字段是查询的输出。然后在表单上使用计算字段 如果我硬编码装运id,则流程正常工作。我的问题是如何从装运id列表中动态获取装运id。例如,我有一个列有所有装运的表单。我想在装运id旁边放置一个字段,该字段包含从上述流程计算的销售id 底线:我希望网格的第一列是发货id,第二列是第一列中发货的销售id 这是包含查询的上述方法的一个示例:Axapta 将值从窗体传递给视图中的方法,axapta,x++,dynamics-ax-2012-r2,Axapta,X++,Dynamics Ax 2012 R2,我有一个带有装运表数据源的视图。此视图有一个包含查询的方法。此查询获取装运id并从该装运的sales line表返回销售id。此视图有一个计算字段,该字段是查询的输出。然后在表单上使用计算字段 如果我硬编码装运id,则流程正常工作。我的问题是如何从装运id列表中动态获取装运id。例如,我有一个列有所有装运的表单。我想在装运id旁边放置一个字段,该字段包含从上述流程计算的销售id 底线:我希望网格的第一列是发货id,第二列是第一列中发货的销售id 这是包含查询的上述方法的一个示例: private
private static server str findSalesLine()
{
WMSShipment wmsShipment;
WMSOrderTrans wmsOrderTrans;
SalesLine salesLine;
select wmsShipment
join wmsOrderTrans
where wmsShipment.shipmentId == '1040383'
&& wmsShipment.shipmentId == wmsOrderTrans.shipmentId
join salesId from salesLine
where salesLine.LineNum == wmsOrderTrans.inventTransRefLineNum
&& salesLine.SalesID == wmsOrderTrans.inventTransRefID
&& salesLine.ExternalItemId != '';
return salesLine.SalesId;
}
我认为您需要的是查询范围()或显示方法()
您是否有更多详细信息或示例代码?我将使用类似于下面的计算列。我所处的环境与您不同,因此SQL在我的机器上无效,但在您的机器上应该有效 将新的字符串计算列添加到视图中,然后将此方法设置为datamethod
public static server str getSalesId()
{
tableName viewName = tableStr(testView);//name of your view
DataSourceName wmsShipmentDsName = identifierStr(WMSShipment);//change if your dsname is different on your view
str returnStr;
returnStr =
" SELECT G1.SALESID FROM SALESLINE G1 " + //don't use "T1 T2" etc as aliases on computed columns
" JOIN WMSORDERTRANS G2 ON " +
" G1.LINENUM = G2.INVENTTRANSREFLINENUM AND " +
" G1.SALESID = G2.INVENTTRANSREFID AND " +
" SALESLINE.EXTERNALITEMID <> '' " +
" WHERE G2.SHIPMENTID == " +
SysComputedColumn::returnField(viewName, wmsShipmentDsName, fieldStr(WMSShipment, ShipmentId));
return returnStr;
}
公共静态服务器str getSalesId()
{
tableName viewName=tableStr(testView);//视图的名称
DataSourceName wmsShipmentDsName=identifierStr(WMSShipment);//如果视图中的dsname不同,则更改
str-returnStr;
returnStr=
“从SALESLINE G1中选择G1.SALESID”+//不要在计算列上使用“T1 T2”等作为别名
“在上加入WMSORDERTRANS G2”+
“G1.LINENUM=G2.INVENTTRANSREFLINENUM和”+
“G1.SALESID=G2.INVENTTRANSREFID和”+
“SALESLINE.EXTERNALITEMID”“”“”+
“其中G2.SHIPMENTID==”+
SysComputedColumn::returnField(viewName、wmsShipmentDsName、fieldStr(WMSShipment、ShipmentId));
返回返回str;
}
发货表(WHSShipmentTable
)已在字段OrderNum
(请参阅该表上的关系SalesTable
)中包含销售id。我们的系统已被修改。该表不存在,并且该关系在我们的发货表中不存在。对不起,我在R3系统中进行调查,您是对的,在R2中该表不存在。在这种情况下,您希望将方法转换为视图中的计算列(请参阅