Перейти к основному содержанию
`Ctrl`+`K`

# Проверка наличия объектов в БД по GID из XLSX

Используется для проверки наличия объектов в базе данных по списку GID из XLSX-файла. Скрипт читает значения из первого столбца файла Excel, ищет соответствующие записи в БД и выводит в лог GID, по которым записи не найдены.

Место применения: `Сервис > Инструменты > Выполнить JEXL-скрипт`

Внимание

Требует адаптации под конкретный объект и структуру файла. Перед запуском проверьте имя листа Excel, номер столбца с GID и SQL-запрос, по которому выполняется поиск записей в БД.

Тип: JEXL-скрипт

    var fun = x -> {
      var sheet = x.getSheet("Sheet1");
      var lastRowNum = sheet.getLastRowNum();
      var i = 1;
      var gidavNewTransDoc = "";
      while (i <= lastRowNum ){
        const vRow = sheet.getRow(i);

        var gidvTransDoc = vRow.getCell(0).getStringCellValue(); //Получаем данные из файла

    	var gidvTransDocEx = sql(`select td.gid from Act_TransDoc td where td.gid = '${gidvTransDoc}'`).asList(); //Ищем совпадение в БД

        if (gidvTransDocEx.isEmpty()) {
          gidavNewTransDoc += gidvTransDoc + ', ';
        }
        i = i+1;
      }
      audInfo('Наличие записей в БД по gid проверено.'); // Запись в лог выполнения JEXL скрипта
      Btk_InfoLogPkg.info(gidavNewTransDoc); // Вывод в лог сообщений
      return true;
    }

    lib("Btk_XlsxLib").uploadParseFiles(fun);