Как устранить эту ошибку «Исключение: неверный аргумент: замена»? - PullRequest
0 голосов
/ 03 марта 2020

У меня есть функция, которая делает копию существующего документа (шаблона) и затем динамически объединяет данные, сопоставляя имена заголовков с тегами, перечисленными в документе. Функция работала без проблем, но теперь внезапно я получаю сообщение об ошибке всякий раз, когда она пытается объединиться. Кто-нибудь может дать мне некоторое представление о том, что может быть проблема?

Сообщение об ошибке : Исключение: Неверный аргумент: замена

Странная вещь, что это не предотвращает информация объединяется, но ошибка не позволяет функции завершить другие задачи.

Строка с ошибкой

headers.forEach(function(e){
     body.replaceText("<<"+e+">>",data[e]);
    return;
  });

Весь код:

function documents(sheet, data){
     var headers = Object.keys(data[0]);     
     var docsToMerge = data.map(function(e){      
       var name = e.location +" - "+e.employeeLastName+", "+e.employeeFirstName+" - "+e.docName+" "+Utilities.formatDate(new Date(e.effectivePayDate), "UTC-4", "M/d/yy");
       var newDoc = DriveApp.getFileById(e.template).makeCopy(name, DriveApp.getFolderById(e.folderId));  
       e.documentLink = newDoc.getUrl();
       e.documentId = newDoc.getId();
       return e;
     });

      docsToMerge.forEach(function(e){
        mergeDocuments(e, headers, signatureFolderId);
      });
}

function mergeDocuments(data, headers){
  var id = DocumentApp.openByUrl(data.documentLink).getId();
  var doc = DocumentApp.openById(id);      
  var body = doc.getBody();

  headers.forEach(function(e){
     body.replaceText("<<"+e+">>",data[e]);
    return;
  });
  doc.saveAndClose();
  return;
}

1 Ответ

3 голосов
/ 04 марта 2020

Desactive Runtime V8 в разделе Run вашего скрипта.

...