Изменение номеров хозяйственных операций из табличного файла

Изменение номеров хозяйственных операций из табличного файла#

Изменяет номера хозяйственных операций по данным из 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);