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

Проверка наличия объектов в БД по 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);