Изменение номеров хозяйственных операций из табличного файла#
Изменяет номера хозяйственных операций по данным из Excel-файла. Скрипт читает строки, получает новый номер документа и gid хозяйственной операции, загружает объект и изменяет значение номера. Если объект не найден, информация записывается в лог.
Место применения: Сервис > Инструменты > Выполнить JEXL-скрипт
Внимание
Перед запуском проверьте имя листа, номера столбцов и способ загрузки объекта по gid.
Тип: JEXL-скрипт
var fun = x -> {
var sheet = x.getSheet("Sheet1");
var lastRowNum = sheet.getLastRowNum();
// Цикл for с начальным значением 2 до последней строки
for (var nvi = 2; nvi <= lastRowNum; nvi = nvi + 1) {
var vRow = sheet.getRow(nvi);
var svNumDocNew = vRow.getCell(6).getStringCellValue();
var gidvTransDoc = vRow.getCell(7).getStringCellValue();
var ropTransDoc = null;
@begin {
ropTransDoc = Act_TransDocApi.load(toLong(parseId(gidvTransDoc)));
var svNumDocOld = ropTransDoc.sNumDoc;
Act_TransDocApi.setsNumDoc(ropTransDoc, svNumDocNew);
var svInfoLog = "Номер хозяйственной операции " + gidvTransDoc + " " + svNumDocOld + " заменен на номер " + svNumDocNew;
Btk_InfoLogPkg.info(svInfoLog);
commit();
}
if (ropTransDoc == null) {
Btk_InfoLogPkg.info("Объект " + gidvTransDoc + " не найден");
continue; // Переходим к следующей строке
}
}
audInfo('Данные загружены');
true;
}
lib("Btk_XlsxLib").uploadParseFiles(fun);