Загрузка записей из XLSX под заданного родителя

Загрузка записей из XLSX под заданного родителя#

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

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

Внимание

Требует адаптации под конкретный класс и структуру файла. Перед запуском укажите актуальный идентификатор родительского объекта, проверьте имя листа Excel и номера столбцов, из которых читаются значения.

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

var GetStringValue = function(row, Column) {
     row.getCell(Column) == null ? null : toString((row.getCell(Column)).getCellType()) == "NUMERIC" ? toString(row.getCell(Column).getNumericCellValue()) : toString(row.getCell(Column)).trim();

  }
var ropAcc = Bs_AccApi.load(7752L);
var fun = x -> {
  var sheet = x.getSheet("Лист1");
  var lastRowNum = sheet.getLastRowNum();
  var i = 1;
  while (i <= lastRowNum ){
    var row = sheet.getRow(i);
    var scode = GetStringValue(row, 0);
    var scaption = GetStringValue(row, 1);
    var rop = Bs_AccApi.insert();            
    Bs_AccApi.setidParent(rop, ropAcc.id) ; 
    //Bs_AccApi.setidAdjustMethod(rop, 2L );
    Bs_AccApi.setsCode(rop, scode);
    Bs_AccApi.setsCaption(rop, scaption);
    Bs_AccApi.setidAccType(rop, ropAcc.idAccType);
    Bs_AccApi.setidAccGroup(rop, ropAcc.idAccGroup) ;
    i = i+1;

   }

commit();

true;

}

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