Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Внешний вид таблицы согласований для согласованной через API командировки:

...

Использование веб-сервиса из мода Авторизация командировок через API

Альтернативно вместо основного веб-сервиса можно использовать веб-сервис, описанный в приведенном ниже документе.

"Авторизация командировок через API"(ModExternalAuth)

в методе мода Авторизации командировок через API есть такие параметры, которые надо заменить следующим образом:

  • int id_ComplexReserve - тут передаем не id_ComplexReserve, а id_Auth из коллбэка

  • bool authorize - true или false - согласовать или отклонить

  • string hash - должен быть в специальном формате, “COMPLEXAUTH-{оригинальных хэш}”, в этом случае пойдет обращение к методу сложной авторизации

Реализация данного сценария к коде ModExternalAuth

Code Block
languagec#
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";
}