Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Автоматические бэкапы Гугл Таблиц по расписанию - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, китин, DrMini  
Автоматические бэкапы Гугл Таблиц по расписанию
mvdRF Дата: Суббота, 27.08.2022, 18:29 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Добрый день. Нуждаюсь в помощи, т.к. сам мало что понимаю. У меня есть гугл таблица в которую через Glide стекаются данные от 10 сотрудников (ежедневный отчет). По триггеру в 23:00-00:00 каждый день происходит запуск скрипта и таблица очищается скриптом, что бы на следующий день заполнялся новый отчет. Задача состоит в том что бы эта таблица сохранялась у меня каждый день в новый файл. Я реализовал это с помощью ежедневной резервной копии так же по тригеру через скрипт, но эти резервные копии автоматически очищаются (данные удаляются так же как в изначальном файле по расписанию). Как можно реализовать, что бы отчет за каждый день сохранялся отдельно? Может есть другой путь реализации? Не могу сообразить. Спасибо.
 
Ответить
СообщениеДобрый день. Нуждаюсь в помощи, т.к. сам мало что понимаю. У меня есть гугл таблица в которую через Glide стекаются данные от 10 сотрудников (ежедневный отчет). По триггеру в 23:00-00:00 каждый день происходит запуск скрипта и таблица очищается скриптом, что бы на следующий день заполнялся новый отчет. Задача состоит в том что бы эта таблица сохранялась у меня каждый день в новый файл. Я реализовал это с помощью ежедневной резервной копии так же по тригеру через скрипт, но эти резервные копии автоматически очищаются (данные удаляются так же как в изначальном файле по расписанию). Как можно реализовать, что бы отчет за каждый день сохранялся отдельно? Может есть другой путь реализации? Не могу сообразить. Спасибо.

Автор - mvdRF
Дата добавления - 27.08.2022 в 18:29
Gustav Дата: Суббота, 27.08.2022, 20:40 | Сообщение № 2
Группа: Админы
Ранг: Участник клуба
Сообщений: 2883
Репутация: 1224 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
Просто заведите себе архивную таблицу. На одном рабочем листе - в этом же файле или в другом (если надо чтобы сотрудники совсем не видели), неважно. Каждый день перед очищением основной таблицы сливайте данные в архив (также скриптом по триггеру). Возможно, надо будет добавить к сохраняемым данным пару колонок - дату и номер строки внутри даты (и то это если только сами данные не содержат явной привязки к датам). Как-то так. Годится подход? Кстати, сколько данных за один типичный день собирается ( строк х столбцов)?


МОИ: Ник, Tip box: 41001663842605
 
Ответить
СообщениеПросто заведите себе архивную таблицу. На одном рабочем листе - в этом же файле или в другом (если надо чтобы сотрудники совсем не видели), неважно. Каждый день перед очищением основной таблицы сливайте данные в архив (также скриптом по триггеру). Возможно, надо будет добавить к сохраняемым данным пару колонок - дату и номер строки внутри даты (и то это если только сами данные не содержат явной привязки к датам). Как-то так. Годится подход? Кстати, сколько данных за один типичный день собирается ( строк х столбцов)?

Автор - Gustav
Дата добавления - 27.08.2022 в 20:40
mvdRF Дата: Суббота, 27.08.2022, 22:57 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Gustav, Отчёт в заголовке имеет скрепление с текущей датой, а так как сохраняется до 00:00 должен по задумке сохраняться с ней. Бэкап тоже в имени имеет дату сохранения. Правда при открытии бэкапа строки автоматом стираются, а дата переписывается с чем и хочу справиться. Сотрудников всего 12 на каждого по строчке, которые суммируется в итоговой графе. Столбцов штук 15. Может ткнете носом в любой подходящий мануал по архивным таблицам? Я не очень ориентируясь... Спасибо
 
Ответить
СообщениеGustav, Отчёт в заголовке имеет скрепление с текущей датой, а так как сохраняется до 00:00 должен по задумке сохраняться с ней. Бэкап тоже в имени имеет дату сохранения. Правда при открытии бэкапа строки автоматом стираются, а дата переписывается с чем и хочу справиться. Сотрудников всего 12 на каждого по строчке, которые суммируется в итоговой графе. Столбцов штук 15. Может ткнете носом в любой подходящий мануал по архивным таблицам? Я не очень ориентируясь... Спасибо

Автор - mvdRF
Дата добавления - 27.08.2022 в 22:57
Gustav Дата: Воскресенье, 28.08.2022, 03:15 | Сообщение № 4
Группа: Админы
Ранг: Участник клуба
Сообщений: 2883
Репутация: 1224 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
Дык таблица - архивная по смыслу использования. А так это обычная Гугл таблица. Покажите свою - поймем что надо делать. Сделайте её копию без триггера, чтобы не стирал данные. Реальные ФИО или продукцию замените на сотрудник 1, сотрудник 2 (3 и т.д.) или товар 1, товар 2.


МОИ: Ник, Tip box: 41001663842605
 
Ответить
СообщениеДык таблица - архивная по смыслу использования. А так это обычная Гугл таблица. Покажите свою - поймем что надо делать. Сделайте её копию без триггера, чтобы не стирал данные. Реальные ФИО или продукцию замените на сотрудник 1, сотрудник 2 (3 и т.д.) или товар 1, товар 2.

Автор - Gustav
Дата добавления - 28.08.2022 в 03:15
Gustav Дата: Вторник, 30.08.2022, 01:24 | Сообщение № 5
Группа: Админы
Ранг: Участник клуба
Сообщений: 2883
Репутация: 1224 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
Сделал примерную "рыбу": https://docs.google.com/spreads....sharing
Функция называется moveToArchive.


МОИ: Ник, Tip box: 41001663842605
 
Ответить
СообщениеСделал примерную "рыбу": https://docs.google.com/spreads....sharing
Функция называется moveToArchive.

Автор - Gustav
Дата добавления - 30.08.2022 в 01:24
mvdRF Дата: Вторник, 30.08.2022, 09:46 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Gustav, Суть я уловил, только это не совсем то чего хочется достичь. В идеале нужны отдельные файлы. Т.е. что бы все шло не в одну сводную таблицу, а за каждый день сохранялся отдельный отчет.
 
Ответить
СообщениеGustav, Суть я уловил, только это не совсем то чего хочется достичь. В идеале нужны отдельные файлы. Т.е. что бы все шло не в одну сводную таблицу, а за каждый день сохранялся отдельный отчет.

Автор - mvdRF
Дата добавления - 30.08.2022 в 09:46
Gustav Дата: Вторник, 30.08.2022, 13:39 | Сообщение № 7
Группа: Админы
Ранг: Участник клуба
Сообщений: 2883
Репутация: 1224 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
Ок, тогда, скорее всего, надо просто после создания копии войти в нее и сохранить все данные Лист1 как значения (без формул). Сделать это можно так. В коде функции makeCopy замените заключительный фрагмент:
[vba]
Код
// makes copy of "file" with "name" at the "destination"
file.makeCopy(name, destination);
}
[/vba]
на такую последовательность операторов:
[vba]
Код
// makes copy of "file" with "name" at the "destination"
var fileNew = file.makeCopy(name, destination);
  
var ssNew = SpreadsheetApp.openById(fileNew.getId());
var rng = ssNew.getSheetByName('Лист1').getDataRange();
rng.copyTo(rng, SpreadsheetApp.CopyPasteType.PASTE_VALUES, false)
}
[/vba]


МОИ: Ник, Tip box: 41001663842605
 
Ответить
СообщениеОк, тогда, скорее всего, надо просто после создания копии войти в нее и сохранить все данные Лист1 как значения (без формул). Сделать это можно так. В коде функции makeCopy замените заключительный фрагмент:
[vba]
Код
// makes copy of "file" with "name" at the "destination"
file.makeCopy(name, destination);
}
[/vba]
на такую последовательность операторов:
[vba]
Код
// makes copy of "file" with "name" at the "destination"
var fileNew = file.makeCopy(name, destination);
  
var ssNew = SpreadsheetApp.openById(fileNew.getId());
var rng = ssNew.getSheetByName('Лист1').getDataRange();
rng.copyTo(rng, SpreadsheetApp.CopyPasteType.PASTE_VALUES, false)
}
[/vba]

Автор - Gustav
Дата добавления - 30.08.2022 в 13:39
mvdRF Дата: Вторник, 30.08.2022, 15:44 | Сообщение № 8
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Gustav, Добавил код в скрипт своей отчетной таблицы. Получилось:

В результате выполнения скрипта выходит "Ошибка
Exception: You do not have permission to call SpreadsheetApp.openById. Required permissions: https://www.googleapis.com/auth/spreadsheets". Резервная копия в папке появляется, но формулы так же копируются и данные затираются после очистки исходников.


Сообщение отредактировал Serge_007 - Вторник, 30.08.2022, 15:56
 
Ответить
СообщениеGustav, Добавил код в скрипт своей отчетной таблицы. Получилось:

В результате выполнения скрипта выходит "Ошибка
Exception: You do not have permission to call SpreadsheetApp.openById. Required permissions: https://www.googleapis.com/auth/spreadsheets". Резервная копия в папке появляется, но формулы так же копируются и данные затираются после очистки исходников.

Автор - mvdRF
Дата добавления - 30.08.2022 в 15:44
Gustav Дата: Среда, 31.08.2022, 12:14 | Сообщение № 9
Группа: Админы
Ранг: Участник клуба
Сообщений: 2883
Репутация: 1224 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
Ошибка
Exception: You do not have permission to call SpreadsheetApp.openById. Required permissions: https://www.googleapis.com/auth/spreadsheets

Гугл, время от времени, чудит с полномочиями, наверное, типа улучшает безопасность. Из-за этого то, что раньше без проблем работало годами, вдруг начинает сбоить. В общем, данная проблема решается следующим образом.

Находясь в Редакторе скриптов (Расширения\Apps Script), выполняем команду меню "Вид \ Показать файл манифеста" - открывается еще одно окно редактора с файлом appsscript.json примерно такого содержания:
[vba]
Код
{
  "timeZone": "Europe/Moscow",
  "dependencies": {
  },
  "exceptionLogging": "STACKDRIVER",
  "oauthScopes": ["https://www.googleapis.com/auth/spreadsheets", "https://www.googleapis.com/auth/drive"],
  "runtimeVersion": "V8"
}
[/vba]
Для решения проблемы важно, чтобы в этом файле присутствовал фрагмент:
[vba]
Код
"oauthScopes": ["https://www.googleapis.com/auth/spreadsheets", "https://www.googleapis.com/auth/drive"]
[/vba]
Если его нет, то добавьте - в любое место внутри общего списка между крайними фигурными скобками, добавив также нужную разделительную запятую.


МОИ: Ник, Tip box: 41001663842605
 
Ответить
Сообщение
Ошибка
Exception: You do not have permission to call SpreadsheetApp.openById. Required permissions: https://www.googleapis.com/auth/spreadsheets

Гугл, время от времени, чудит с полномочиями, наверное, типа улучшает безопасность. Из-за этого то, что раньше без проблем работало годами, вдруг начинает сбоить. В общем, данная проблема решается следующим образом.

Находясь в Редакторе скриптов (Расширения\Apps Script), выполняем команду меню "Вид \ Показать файл манифеста" - открывается еще одно окно редактора с файлом appsscript.json примерно такого содержания:
[vba]
Код
{
  "timeZone": "Europe/Moscow",
  "dependencies": {
  },
  "exceptionLogging": "STACKDRIVER",
  "oauthScopes": ["https://www.googleapis.com/auth/spreadsheets", "https://www.googleapis.com/auth/drive"],
  "runtimeVersion": "V8"
}
[/vba]
Для решения проблемы важно, чтобы в этом файле присутствовал фрагмент:
[vba]
Код
"oauthScopes": ["https://www.googleapis.com/auth/spreadsheets", "https://www.googleapis.com/auth/drive"]
[/vba]
Если его нет, то добавьте - в любое место внутри общего списка между крайними фигурными скобками, добавив также нужную разделительную запятую.

Автор - Gustav
Дата добавления - 31.08.2022 в 12:14
mvdRF Дата: Среда, 31.08.2022, 14:27 | Сообщение № 10
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Gustav, Все заработало. Спасибо отправил.
К сообщению приложен файл: 6944383.jpg (29.4 Kb)


Сообщение отредактировал mvdRF - Среда, 31.08.2022, 14:27
 
Ответить
СообщениеGustav, Все заработало. Спасибо отправил.

Автор - mvdRF
Дата добавления - 31.08.2022 в 14:27
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2026 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!