Hattori_Hanzo
@Hattori_Hanzo

Как создавать только 1 документ при переносе данных из гугл таблиц?

Добрый день! Написал код создающий из таблиц и заменяющий в шаблоне документа определенные данные, но у меня вопрос, как сделать так, чтобы повторно документы не создавались? Потому что сейчас при запуске кода, он каждый раз повторно создает документы.
function createDocument() {
  var headers = Sheets.Spreadsheets.Values.get('1WRDbmvKjwulxjZjuH33u18d1IMQnq68EYugs2YDgxqw', 'A1:G1');
  var value = Sheets.Spreadsheets.Values.get('1WRDbmvKjwulxjZjuH33u18d1IMQnq68EYugs2YDgxqw', 'A2:G');
  var tamplate = '1H4VgpPqksqA2RjoGbrDcKttZxZvFbJqbbMhIKwA9CgQ';
  for (var i = 0; i <value.values.length; i ++){
  var number = value.values[i][1];
  var date = value.values[i][0];
  var applicant = value.values[i][2];
    var description = value.values[i][3];
    var place = value.values[i][4];
    var executor = value.values[i][6];
    
  var documentId = DriveApp.getFileById(tamplate).makeCopy().getId();
  DriveApp.getFileById(documentId).setName('Заявка № ' + number);
    var body = DocumentApp.openById (documentId) .getBody ();
    body.replaceText('##Заявка №##', number);
    body.replaceText('##Дата##', date);
    body.replaceText('##Заявитель##', applicant);
    body.replaceText('##Описание##', description);
    body.replaceText('##Место##', place);
    body.replaceText('##Исполнитель##', executor);
  }
}
  • Вопрос задан
  • 118 просмотров
Пригласить эксперта
Ответы на вопрос 1
stomaks
@stomaks
Разработчик Google Apps Script (stomaks.me)
Как вариант в исходной гугл таблице добавьте столбец со статусом.
При повторном запуске скрипта игнорируйте строки в который статус например "готово".
Или сохраните id или ссылку на документ.

Другой способ (хуже, но в некоторых случаях тоже имеет место быть), это засунуть в документ метку (мета данные разработчика), а перед созданием нового документа проверять есть ли такой документ на диске.

Третий способ, удаляйте из гугл таблицы строку или переместите ее на соседний лист "Обработано".

Четвертый способ, покажите модальное окно в котором спросите у пользователя какой диапазон строк в гугл таблице обрабатывать.

... и еще туева куча вариантов)

---
stomaks.me
g-apps-script.com
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы