0

友達のためにアプリを作っていたのですが、最近行き詰まりました。何らかの理由で、「itemSubtotalAddRq」をテストしようとすると、次のエラーが発生します。

Request[3]: ItemSubtotalAddRq ItemSubtotalAdd Name: 必要なフィールドがありません ItemSubtotalAdd の終わり

それが何であるかはわかりませんが、ItemSubtotalAddRq行の1つ、またはiItemSubtotalAddの使用が間違っていることはわかっています。

        public void SalesInfoAdd(IMsgSetRequest requestMsgSet)
    {

        ISalesReceiptAdd salesReceiptAddRq = requestMsgSet.AppendSalesReceiptAddRq();
        //IItemSubtotalAdd itemSubtotalAddRq = requestMsgSet.AppendItemSubtotalAddRq();
        salesReceiptAddNew = new List<ISalesReceiptLineAdd>();

        salesReceiptAddRq.CustomerRef.FullName.SetValue(Form.phoneNumber.Text);
        salesReceiptAddRq.IsPending.SetValue(true);
        salesReceiptAddRq.IsTaxIncluded.SetValue(false);
        salesReceiptAddRq.FOB.SetValue(Form.orderID.Text);

        salesReceiptAddNew.Clear();
        int cnt = 0;
        //while (i < Form.productID.Count)
        for (int j = 0; j < Form.productID.Count; j++)
        {
            salesReceiptAddNew.Add(salesReceiptAddRq.ORSalesReceiptLineAddList.Append().SalesReceiptLineAdd);

            salesReceiptAddNew[j].ItemRef.FullName.SetValue(Form.productID[j].ToString());
            salesReceiptAddNew[j].ORRatePriceLevel.Rate.SetValue(Convert.ToDouble(Form.pricesList.Items[j]));
            salesReceiptAddNew[j].Quantity.SetValue(Form.QBqt[j]);
            salesReceiptAddNew[j].Desc.SetValue(Form.productsList.Items[j].ToString().ToUpper() + " -" + " " +
                                            Form.QBsku[j].ToString().ToUpper());
            cnt = j;
        }

        if (Form.DiscountType.Text != "None" || Form.DiscountType.Text != " ")
        {
            if (Form.productID.Count >= 2)
            {
                cnt++;
                salesReceiptAddNew.Add(salesReceiptAddRq.ORSalesReceiptLineAddList.Append().SalesReceiptLineAdd);
                salesReceiptAddNew[cnt].ItemRef.FullName.SetValue("SUBTOTAL");
                salesReceiptAddNew[cnt].ORRatePriceLevel.Rate.SetValue(Form.totalOfAllItems);
                //itemSubtotalAddRq.Name.SetValue("SUBTOTAL");
                //itemSubtotalAddRq.IsActive.SetValue(true);
            }
            else
                itemSubtotalAddRq.IsActive.SetValue(false);

            cnt++;
            salesReceiptAddNew.Add(salesReceiptAddRq.ORSalesReceiptLineAddList.Append().SalesReceiptLineAdd);
            salesReceiptAddNew[cnt].ItemRef.FullName.SetValue(Form.DiscountType.Text);
        }

        if(Form.freeShipping.Checked == false)
        {
            cnt++;
            salesReceiptAddNew.Add(salesReceiptAddRq.ORSalesReceiptLineAddList.Append().SalesReceiptLineAdd);
            salesReceiptAddNew[cnt].ItemRef.FullName.SetValue("SHIPPING");
            salesReceiptAddNew[cnt].ORRatePriceLevel.Rate.SetValue(Convert.ToDouble(Form.shipping.Text));
        }

        IMsgSetResponse responseMsgSet = sessionManager.DoRequests(requestMsgSet);

    }

これが私が考えることができる唯一の解決策であり、それでも機能しません。何かご意見は?

4

1 に答える 1