创建客户无地址 - Dynamics GP

时间:2013-05-20 15:42:13

标签: microsoft-dynamics dynamics-gp

我正在尝试在MS Dynamics GP中创建客户。这是我的代码:

public void CreateGPCustomer(JMAOrder jd)
    {
        Customer cu = new Customer();
        cu.ModifiedDate = DateTime.Now;
        cu.IsActive = true;
        cu.Name = "Joseph Jones";
        cu.Shortname = "Joe";
        cu.StatementName = cu.Name;
        CustomerAddress cad = new CustomerAddress();
        cad.City = "Waltham";
        cad.ContactPerson = cu.Name;
        cad.CountryRegion = "US";
        cad.CreatedDate = DateTime.Now;
        cad.LastModifiedDate = DateTime.Now;
        cad.Line1 = "123 Main St";
        cad.Line2 = "12";
        PhoneNumber ph = new PhoneNumber();
        ph.CountryCode = "1";
        ph.Value = "7811234567";
        cad.Phone1 = ph;
        cad.PostalCode = "02452";
        cad.State = "MA";
        cu.Key = MakeCustomerKey("Joseph", "Jones");
        Policy p = wsDynamicsGP.GetPolicyByOperation("CreateCustomer", context);
        wsDynamicsGP.CreateCustomer(cu, context, p);
    }

我看到没有添加地址:

enter image description here

我错过了什么代码?

1 个答案:

答案 0 :(得分:1)

创建客户地址是创建客户的单独调用。请参阅Dynamics GP Web服务参考中的CreateCustomerAddress方法。

        CompanyKey companyKey;
        Context context;
        CustomerKey customerKey;
        CustomerAddressKey customerAddressKey;
        CustomerAddress customerAddress;
        Policy customerAddressCreatePolicy;

        // Create an instance of the service
        DynamicsGPClient wsDynamicsGP = new DynamicsGPClient();

        // Create a context with which to call the service
        context = new Context();

        // Specify which company to use (sample company)
        companyKey = new CompanyKey();
        companyKey.Id = (-1);

        // Set up the context object
        context.OrganizationKey = (OrganizationKey)companyKey;

        // Create a customer key to specify the customer
        customerKey = new CustomerKey();
        customerKey.Id = "AARONFIT0001";

        // Create a customer address key
        customerAddressKey = new CustomerAddressKey();
        customerAddressKey.CustomerKey = customerKey;
        customerAddressKey.Id = "BILLING";

        // Create a customer address object
        customerAddress = new CustomerAddress();
        customerAddress.Key = customerAddressKey;

        // Populate properties with address information
        customerAddress.Line1 = "11403 45 St. South";
        customerAddress.Line2 = "Billing Dept.";
        customerAddress.City = "Chicago";
        customerAddress.State = "IL";
        customerAddress.CountryRegion = "USA";

        // Get the create policy for the customer address
        customerAddressCreatePolicy = wsDynamicsGP.GetPolicyByOperation("CreateCustomerAddress",
        context);

        // Create the customer address
        wsDynamicsGP.CreateCustomerAddress(customerAddress, context, customerAddressCreatePolicy);

        // Close the service
        if(wsDynamicsGP.State != CommunicationState.Faulted)
        {
            wsDynamicsGP.Close();
        }