您可以使用一组特定的 Web 服务 API 来上传和发布包。这在管理自定义项目 -> 从代码中操作自定义项目下作为自定义指南的一部分进行了记录。以下是文档的相关摘录:
上传包
以下代码登录Acumatica ERP实例,加载C:\package1.zip文件内容,保存或更新实例数据库中的package1定制项目。
var webserviceurl = "http://localhost/AcumaticaInstance/api/ServiceGate.asmx";
var username = "admin";
var password = "123";
var packageName = "package1";
var packageContents = File.ReadAllBytes("C:\package1.zip");
var replaceIfPackageExists = true;
var client = new ServiceGate.ServiceGate
{
Url = webserviceurl,
CookieContainer = new CookieContainer(),
Timeout = (int) TimeSpan.FromMinutes(5).TotalMilliseconds
};
var loginResult = client.Login(username, password);
if (loginResult.Code == ErrorCode.OK)
{
client.UploadPackage(packageName, packageContents, replaceIfPackageExists);
}
发布包
以下代码登录Acumatica ERP实例,发布实例数据库中存在的package1、package2、package3定制项目。
var webserviceurl = "http://localhost/AcumaticaInstance/api/ServiceGate.asmx";
var username = "admin";
var password = "123";
var packageNames = new []{"package1", "package2", "package3"};
var mergeWithExistingPackages = true;
var client = new ServiceGate.ServiceGate
{
Url = webserviceurl,
CookieContainer = new CookieContainer(),
Timeout = (int) TimeSpan.FromMinutes(5).TotalMilliseconds
};
var loginResult = client.Login(username, password);
if (loginResult.Code == ErrorCode.OK)
{
client.PublishPackages(packageNames, mergeWithExistingPackages);
}