【发布时间】:2023-03-14 14:21:01
【问题描述】:
需要在vb.NET aspx页面中使用AX 2009 ReturnOrderInService web service的create方法在AX中创建RMA。
我在下面编写的代码在 AX 中创建 RMA,但未在 AX RMA 表单中显示行详细信息,即使记录在 SalesTable 和 SalesLine 中也是如此。
InventTrans 中是否需要记录或某处缺少 InventRefId 值?
Dim rmaClient As ReturnOrderInServiceClient = New ReturnOrderInServiceClient("WSHttpBinding_ReturnOrderInService1")
Dim roi As AxdReturnOrderIn = New AxdReturnOrderIn
Dim st As AxdEntity_SalesTable = New AxdEntity_SalesTable
st.CustAccount = "123"
st.ReturnReasonCodeId = "RRC1"
st.DlvMode = "01"
st.SalesType = 4 'return item
st.ReturnDeadline = DateAdd(DateInterval.Day, 15, Now())
Dim sl As AxdEntity_SalesLine = New AxdEntity_SalesLine
sl.ItemId = "ITEM 123"
sl.ExpectedRetQty = -2
sl.LineAmount = 0
sl.InventTransIdReturn = ""
st.SalesLine = New AxdEntity_SalesLine() {sl}
roi.SalesTable = New AxdEntity_SalesTable() {st}
txtFeedback.Text = ""
Try
Dim returnedSalesOrderEntityKey As EntityKey() = rmaClient.create(roi)
Dim returnedSalesOrder As EntityKey = CType(returnedSalesOrderEntityKey.GetValue(0), EntityKey)
txtFeedback.Text = GetRMANo(returnedSalesOrder.KeyData(0).Value)
Catch ex As Exception
txtFeedback.Text = ex.Message
End Try
rmaClient.Close()
【问题讨论】:
-
您能否更具体地说明您的目标和手段?
-
目标是能够在 AX2009 中使用 web 上的 aspx 页面(用 vb.net 编写)启动/创建 RMA 订单。我有一个创建销售订单的示例(在 C# 中,而不是 VB 中),但找不到创建 RMA 的示例。无法将所有 C# 语法转换为 VB 并使其工作。
-
您能链接到销售订单示例吗?你能解释一下哪些 C# 语法不能翻译成 VB 吗?
-
Jan,下面的 MSDN 链接显示了 SO 示例。创建 RMA 时,我不清楚需要创建哪些 AxdEntity 对象并将其传递给 ReturnOrderInServiceClient 对象,以及在语法上如何在 vb.net 中执行此操作。 msdn.microsoft.com/en-us/library/ff628055(v=ax.50).aspx
标签: vb.net axapta dynamics-ax-2009 aif