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