Сначала необходимо создать Конечную точку для страницы Экспорт по сценарию . От Go до Конечные точки веб-службы (SM207060) и расширение любой существующей конечной точки. Добавьте новую конечную точку и сопоставьте ее со страницей экспорта по сценарию.
Добавьте имя и статус сценария в качестве параметра.
Подготовка и экспорт начинают длительную операцию, чтобы получить правильный файл, вам нужно будет выполнить запрос на получение и проверить, завершен ли статус. Добавьте действие под конечной точкой и сопоставьте его с действием prepareExport графика.
Добавьте Имя сценария в качестве параметра Действия.
Время действовать. Ниже приведен пример кода, как вызвать наше действие в сценарии экспорта «Экспорт поставщиков AP».
var client = new RestClient("http://localhost/ACU19200/entity/DefaultExt/18.200.001/ExportByScenarios/prepareExport");
client.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n\t\"entity\":{\n\t\t\"Name\" : {\"value\":\"Export AP Vendors\"}\n\t},\n\t\"parameters\":{\n\t\t\n\t}\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
В результате вы получите 202 кода ответа, если все было обработано правильно.
Теперь нам нужно проверить, сработал ли сценарий и экспортируется ли файл.
var client = new RestClient("http://localhost/ACU19200/entity/DefaultExt/18.200.001/ExportByScenarios/Export AP Vendors");
client.Timeout = -1;
var request = new RestRequest(Method.GET);
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
В ответ на этот запрос вы получите «Запись сценария», как показано ниже:
{
"id": "730d3b2c-d87f-e411-beca-00b56d0561c2",
"rowNumber": 1,
"note": "",
"Name": {
"value": "Export AP Vendors"
},
"Status": {
"value": "Processed"
},
"custom": {},
"files": [
{
"id": "9479c468-1cfa-4fb5-b8bd-30c10535e525",
"filename": "Data Providers (Export AP Vendors)\\AP Export Vendor Template.xlsx",
"href": "/ACU19200/entity/DefaultExt/18.200.001/files/9479c468-1cfa-4fb5-b8bd-30c10535e525"
}
]
}
Теперь вам нужно взять «id» из раздела файлов и получить этот файл
var client = new RestClient("http://localhost/ACU19200/entity/DefaultExt/18.200.001/files/9479c468-1cfa-4fb5-b8bd-30c10535e525");
client.Timeout = -1;
var request = new RestRequest(Method.GET);
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
В результате вы получите файл как application / octet-stream.