api.advimport Работа с импортом

Остановка импорта

  • api.advimport.stop(advimportConfig)

    Остановка выполнения активной конфигурации импорта.

    Используется в консольном скрипте, который может быть запущен в любой момент выполнения импорта, см. Скрипты, выполняемые в консоли.

    Параметр метода:

    • advimportConfig — идентификатор конфигурации импорта. Идентификатор импорта указывается в адресной строке карточки конфигурации:

      ../sd/admin/#advImportConfig:f0e05190-145d-0247-0000-00007388e0bf

    Результат выполнения: Импорт остановлен — в лог системы и лог импорта записывается сообщение, создание и модификация объектов, выполненные до момента остановки импорта, не отменяются. Если конфигурация импорта с указанным идентификатором отсутствует или не запущена, выводится сообщение об ошибке

    Пример: Остановка активной конфигурации импорта (идентификатор конфигурации импорта — f0e05190-145d-0247-0000-00007388e0bf):

    api.advimport.stop('f0e05190-145d-0247-0000-00007388e0bf')

  • api.advimport.stopAll()

    Остановка обработки всех активных конфигураций импорта.

    Результат выполнения: список сообщений об ошибках, полученных при остановке

Запуск импорта

  • api.advimport.start(advimportConfig, parameters)

    Метод позволяет запустить определенную конфигурацию импорта с заполнением ее параметров запуска (gui-parameter).

    Параметры метода:

    • advimportConfig — идентификатор конфигурации импорта. Идентификатор импорта указывается в адресной строке карточки конфигурации:

      ../sd/admin/#advImportConfig:f0e05190-145d-0247-0000-00007388e0bf

    • parameters —параметры запуска импорта (<gui-parameter> конфигурации импорта)

      Допустимые типы значения параметров:

      • STRING — используется для передачи:

        • строки для заполнения строковых параметров;
        • UUID файла источника данных для импорта (file$1234);
        • содержимого файла источника данных для импорта.
      • byte[] и InputStream — используется для передачи содержимого файла источника данных для импорта.

    Результат выполнения: Запуск конфигурации импорта.

    Пример 1: Запуск конфигурации импорта без параметров (f0e05190-145d-0247-0000-00007388e0bf — идентификатор конфигурации импорта, [:] — пустые параметры запуска):

    api.advimport.start('f0e05190-145d-0247-0000-00007388e0bf', [:]);

    Пример 2: Запуск конфигурации импорта с использованием UUID файла в качестве источника импорта и строкового параметра:

    api.advimport.start('f0e05190-145d-0247-0000-00007388e0bf', [ 'fileForProcess' : 'file$1234', 'defaultValue' : 'defaultString' ]);

    Пример 3: Запуск конфигурации импорта с использованием вложения письма в качестве источника импорта (byte[]):

    api.advimport.start('f0e05190-145d-0247-0000-00007388e0bf', [ 'fileForProcess' : message.getAttachments()[0].getData() ]);

    Из скрипта обработки почты:

    Copy
    def startImport(def message)
    {
    for (def attachment : message.getAttachments())
    {
    logger.debug("Filename is: " + attachment.getFilename() + " content type is : " + attachment.getContentType());
    try {
    api.advimport.start('advImportConfig:f9157637-14c7-0d65-0000-00005e6f5b10', [ 'fileForProcess' : attachment.getData() ]);
    }
    catch(e) {
    logger.error("Error ${e.message}");
    }
    }
    }

Запуск импорта без изменения метаинформации с пользовательским файлом конфигурации

  • api.advimport.importByXmlConfiguration(fileXmlConfiguration, objectForLogAttachUuid, parameters)

    api.advimport.importByXmlConfiguration(fileXmlConfiguration, objectForLogAttachUuid, attribute, parameters)

    api.advimport.importByXmlConfiguration(fileXmlConfiguration, objectForLogAttachUuid, parameters, customUuid)

    Метод позволяет создать любую произвольную конфигурацию импорта, прикрепить это в виде файла и запустить импорт с параметрами.

    Параметры метода:

    • fileXmlConfiguration — файл конфигурации импорта (xml) или его UUID;
    • objectForLogAttachUuid — UUID объекта, к которому необходимо прикрепить лог импорта;
    • attribute — код атрибута файла к которому нужно прикрепить лог;
    • parameters — параметры импорта (в качестве значения может передаваться String/byte[]/InputStream);
    • customUuid — желаемый UUID для конфигурации импорта.

Получения информации о конфигурации импорта

  • api.advimport.getActiveImports()

    Метод позволяет получить {@link List} uuid всех активных конфигураций импорта (активная конфигурация импорта — это конфигурация импорта/ синхронизации в статусе "started").

    Метод возвращает одно значение или 0, так как очередь импорта разбирается последовательно по одному.

  • api.advimport.getImportInfo(uuid)

    Метод позволяет получить {@link Map} с информацией о конфигурации импорта с заданным uuid, а именно время начала импорта, продолжительность импорта в секундах, количество объектов в файле, количество строк в файле, количество пойманных ошибок, количество импортированных объектов, количество измененных объектов, количество пропущенных объектов, статус импорта.

    Параметр метода:

    • uuid — UUID конфигурации импорта.

    Метод возвращает {@link Map} с информацией о конфигурации импорта, где:

    • mportStartTime — Время начала импорта;
    • importDuration — Продолжительность импорта;
    • itemsCount — Количество объектов для импорта;
    • totalLines — Количество строк в файле импорта;
    • totalErrors — Количество ошибок при импорте;
    • importedObjects - Количество импортированных объектов;
    • updatedObjects — Количество измененных объектов;
    • skippedObjects — Количество пропущенных объектов;
    • status — Статус импорта.

      Возможные статусы:

      • queued — Поставлен в очередь;
      • started — Начат;
      • ended — Закончен;
      • absent — Отсутствует;
      • error — Завершен с ошибкой.