Обновление дат документов и проводок по списку GID из XLSX#
Используется для массового обновления дат документов и связанных с ними проводок по списку GID из XLSX-файла. Скрипт читает значения из первого столбца файла Excel, находит соответствующие документы проводок, устанавливает для них фиксированную дату и обновляет даты связанных проводок.
Место применения: Сервис > Инструменты > Выполнить JEXL-скрипт
Внимание
Требует адаптации под конкретную задачу. Перед запуском укажите актуальную дату в переменной dvDate, проверьте имя листа Excel и убедитесь, что GID документов указаны в первом столбце файла.
Тип: 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 fun = x -> {
var sheet = x.getSheet("Лист1");
var lastRowNum = sheet.getLastRowNum();
var i = 1;
var dvDate = toDate("31.01.2025", "dd.MM.yyyy");
while (i <= lastRowNum ){
var row = sheet.getRow(i);
var gidDoc = GetStringValue(row, 0);
var s = `select t.id
from act_transdoc t
where t.gidsrc = '` + gidDoc + `'
`;
var l = sql(s).asList();
for(w:l){
var ropTr = Act_TransDocApi.load(w.id);
Act_TransDocApi.setdDoc(ropTr, dvDate);
var s2 = `select t.id
from act_trans t
where t.idTransDoc = ` + ropTr.id
;
var l2 = sql(s2).asList();
for(r:l2){
var rop1 = Act_TransApi.load(r.id);
Act_TransApi.setdDate(rop1, dvDate);
}
commit();
}
i = i+1;
}
commit();
true;
}
lib("Btk_XlsxLib").uploadParseFiles(fun);