在创建项目时使用API设置属性。

问题描述 投票:0回答:1

我试图通过Acumatica API设置一个属性。我运行代码后,项目被创建,但属性没有在项目上添加更新。该代码没有抛出一个错误。

using (var soapClient = new DefaultSoapClient())
{
    //Log in to Acumatica ERP
    soapClient.Login();

    Project projectToBeCreated = new Project
    {
        ProjectID = new StringValue { Value = "<NEW>" },
        //ProjectTemplateID = new StringValue { Value = "Event" },
        Customer = new StringValue { Value = "0000027"},
        Description = new StringValue { Value = "Matts TESTINGUPDATE!" },

        Attributes = new []
        {
            new AttributeValue
            {
                AttributeID = new StringValue {Value="EVTID" },
                Required = new BooleanValue {Value = false},
                Value = new StringValue {Value ="Event TEST"}

            }
        }

    };

    Project projectData = (Project)soapClient.Put(projectToBeCreated);
    soapClient.Logout();
}
c# acumatica
1个回答
0
投票

在与Acumatica Vendor讨论后,我想通了这个问题。看来你在通过API设置这个属性时没有使用属性ID。而是需要把创建属性时设置的属性描述。修正后的代码如下。

    Attributes = new []
    {
        new AttributeValue
        {
            AttributeID = new StringValue {Value="EXTERNAL EVENT ID" },
            Required = new BooleanValue {Value = false},
            Value = new StringValue {Value ="Event TEST"}

        }
    }
© www.soinside.com 2019 - 2024. All rights reserved.