【问题标题】:Fetching data from dynamics ax 2009 using Ax webservices and C#使用 Ax Web 服务和 C# 从动态 ax 2009 中获取数据
【发布时间】:2011-01-12 09:18:55
【问题描述】:

我正在尝试从 AX 数据库中获取供应商列表。

我想在我的 aspx 页面中显示供应商列表。我该如何实现?

这是我到目前为止所做的事情

1-部署 Ax 网络服务。 2-创建一个客户端类来调用服务。

我被困在这里,不知道如何获取数据。

请指教。

【问题讨论】:

    标签: .net axapta x++ dynamics-ax-2009


    【解决方案1】:

    我找到了怎么做..这是关于如何使用 AIF webservices 的解决方案。这是代码。请参考以下文章 http://msdn.microsoft.com/en-us/library/cc652581.aspx

            customerService.CustomerServiceClient sc = new ConsumingAxWebService.customerService.CustomerServiceClient();
    
             AxdCustomer axdCustomer;
    
            QueryCriteria queryCriteria;
            CriteriaElement[] criteriaElements;
            IEnumerator enumerator;
            int iCountLoops1 = 0;
            AxdEntity_CustTable cust;
    
    
            criteriaElements = new CriteriaElement[1];
            criteriaElements[0] = new CriteriaElement();
    
            criteriaElements[0].DataSourceName = "CustTable";
            criteriaElements[0].FieldName = "AccountNum";
            criteriaElements[0].Operator = Operator.Range;
            criteriaElements[0].Value1 = "1101";
            criteriaElements[0].Value2 = "1102";
    
    
            queryCriteria = new QueryCriteria();
            queryCriteria.CriteriaElement = criteriaElements;
            axdCustomer = sc.find(queryCriteria);
    
            enumerator = axdCustomer.CustTable.GetEnumerator();
    
            while (enumerator.MoveNext())
            {
                ++iCountLoops1;
                cust = (AxdEntity_CustTable)enumerator.Current;
                Response.Write(cust.AccountNum + "\n");
            }
    

    【讨论】:

      【解决方案2】:

      作为日期,我可以将小数移动到 Ax 中的 Web 服务,我使用的服务名称是 CustFreeTextInvoice ..

      传递字符串数据没有问题,但传递日期和十进制数据本身。

      附上代码...

      private void btnIngresar_Click(object sender, EventArgs e)
          {
              FreeTextInvoiceServiceClient service = new FreeTextInvoiceServiceClient();
      
              if (null == service)
              {
                  throw new Exception("Cannot instantiate service.");
              }
      
              AxdFreeTextInvoice FreeTextInvoice = new AxdFreeTextInvoice();
      
              //Record
              AxdEntity_CustInvoiceTable CustInvoiceTable = new AxdEntity_CustInvoiceTable();
              CustInvoiceTable.InvoiceId = "100";
              CustInvoiceTable.Name = txtName.Text;
              CustInvoiceTable.OneTimeCustomer = 0;
              CustInvoiceTable.OrderAccount = txtOrderAccount.Text;
              //CustInvoiceTable.DocumentDate = DateTime.Now;
              //CustInvoiceTable.DueDate = Convert.ToDateTime("20/12/2011");
              CustInvoiceTable.InvoiceDate = Convert.ToDateTime("20/11/2011");
      
              CustInvoiceTable.CustInvoiceLine = new AxdEntity_CustInvoiceLine[2];
      
              CustInvoiceTable.CustInvoiceLine[0] = new AxdEntity_CustInvoiceLine();
              CustInvoiceTable.CustInvoiceLine[0].Description = "Primer registro";
              CustInvoiceTable.CustInvoiceLine[0].LedgerAccount = "610208";
              CustInvoiceTable.CustInvoiceLine[0].TaxGroup = "IVAVTAS12";
              CustInvoiceTable.CustInvoiceLine[0].TaxItemGroup = "all";
              CustInvoiceTable.CustInvoiceLine[0].AmountCur = 1000;
      
              CustInvoiceTable.CustInvoiceLine[1] = new AxdEntity_CustInvoiceLine();
              CustInvoiceTable.CustInvoiceLine[1].Description = "segundo registro";
              CustInvoiceTable.CustInvoiceLine[1].LedgerAccount = "610208";
              CustInvoiceTable.CustInvoiceLine[1].TaxGroup = "IVAVTAS12";
              CustInvoiceTable.CustInvoiceLine[1].TaxItemGroup = "all";
              CustInvoiceTable.CustInvoiceLine[1].AmountCur = 90;
      
              FreeTextInvoice.CustInvoiceTable = new AxdEntity_CustInvoiceTable[1] { CustInvoiceTable };
      
             try
              {
                  testws.FTIS.EntityKey[] returned = service.create(FreeTextInvoice);
                  testws.FTIS.EntityKey returnedValues = (testws.FTIS.EntityKey)returned.GetValue(0);
                  Console.WriteLine("Valor retornado: " + returnedValues.KeyData[0].Value);
                  Console.ReadLine();
      
              }
              catch (Exception ex)
              {
                  Console.WriteLine("Error: " + ex.ToString());
                  Console.ReadLine();
              }
          }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-03-14
        • 2012-07-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-10-10
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多