...
Внешний вид таблицы согласований для согласованной через API командировки:
...
Использование веб-сервиса из мода Авторизация командировок через API
Альтернативно вместо основного веб-сервиса можно использовать веб-сервис, описанный в приведенном ниже документе.
"Авторизация командировок через API"(ModExternalAuth)
в методе мода Авторизации командировок через API есть такие параметры, которые надо заменить следующим образом:
int id_ComplexReserve - тут передаем не id_ComplexReserve, а id_Auth из коллбэка
bool authorize - true или false - согласовать или отклонить
string hash - должен быть в специальном формате, “COMPLEXAUTH-{оригинальных хэш}”, в этом случае пойдет обращение к методу сложной авторизации
Реализация данного сценария к коде ModExternalAuth
Code Block | ||
---|---|---|
| ||
Match m = Regex.Match(hash, "COMPLEXAUTH-(.+)", RegexOptions.IgnoreCase);
if (m.Success)
{
var svc = new ComplexAuthWS.ComplexAuthAPI();
svc.Url = CurrentWebSite.CurrentEnvironment.CurrentWebSiteUrl + "/PortableViews/ModComplexAuthViews/API/ComplexAuthAPI.asmx";
svc.Authorize(id_Authorization: id_ComplexReserve, IsSucceed: authorize, Comment: authorize ? "согласовано" : "не согласовано", Hash: m.Groups[1].Value);
return "ok";
} |