我试图通过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();
}
在与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"}
}
}