Уровень кодирования : начинающий
 Продолжительность : 15 минут
 Тип проекта : Автоматизация с пользовательским меню
Цели
- Поймите, что делает решение.
 - Понять, какие функции выполняют службы Apps Script в рамках решения.
 - Настройте свою среду.
 - Настройте сценарий.
 - Запустите скрипт.
 
Об этом решении
Отслеживайте время, затраченное на проекты для клиентов. Вы можете записывать время, связанное с проектами, в Google Календарь, а затем синхронизировать его с Google Таблицами для создания табеля учета рабочего времени или импортировать данные в другую систему управления расписанием. Вы можете классифицировать время по клиентам, проектам и задачам.


Как это работает
Скрипт предоставляет боковую панель, позволяющую выбрать календари для синхронизации, временной период, с которым будет производиться синхронизация, а также указать, следует ли перезаписывать названия и описания событий информацией из таблицы. После настройки этих параметров вы сможете синхронизировать события и просматривать свои действия на панели мониторинга.
Скрипт переносит события из календарей и указанного вами периода времени в электронную таблицу. Вы можете добавлять клиентов, проекты и задачи в таблицу категорий , а затем соответствующим образом отмечать события в табеле рабочего времени . Таким образом, при просмотре панели мониторинга вы можете видеть общее время, затраченное на клиента, проект и задачу.
Службы скриптов приложений
Это решение использует следующие сервисы:
- Служба HTML – создает боковую панель, используемую для настройки параметров синхронизации.
 - Служба свойств – сохраняет настройки, выбранные пользователем на боковой панели.
 - Служба календаря – отправляет информацию о событиях в электронную таблицу.
 - Служба электронных таблиц — записывает события в электронную таблицу и, если настроено, отправляет обновленную информацию о заголовке и описании в Календарь.
 
Предпосылки
Для использования этого образца вам необходимы следующие предварительные условия:
- Учетная запись Google (для учетных записей Google Workspace может потребоваться одобрение администратора).
 - Веб-браузер с доступом в Интернет.
 
Настройте свою среду
Если вы планируете использовать существующий календарь, вы можете пропустить этот шаг.
- Перейдите на calendar.google.com .
 - Рядом с пунктом Другие календари нажмите другие календари > Создать новый календарь .
 - Дайте название своему календарю и нажмите «Создать календарь» .
 - Добавьте несколько событий в календарь.
 
Настройте сценарий
 Нажмите следующую кнопку, чтобы скопировать образец таблицы «Учёт времени и активности» . Проект Apps Script для этого решения прикреплён к таблице.
 Сделать копию
Запустить скрипт
Синхронизация событий календаря
- Нажмите myTime > Настройки . Возможно, вам потребуется обновить страницу, чтобы это пользовательское меню появилось.
 При появлении запроса авторизуйте скрипт. Если на экране согласия OAuth отображается предупреждение « Это приложение не проверено» , выберите «Дополнительно» > «Перейти к {Имя проекта} (небезопасно)» .
Снова нажмите myTime > Настройки .
Из списка доступных календарей выберите созданный вами календарь и любые другие календари, которые вы хотите синхронизировать.
Настройте остальные параметры и нажмите кнопку Сохранить .
Нажмите myTime > Синхронизировать события календаря .
Настройте панель управления
- Перейдите на лист «Категории» .
 - Добавляйте клиентов, проекты и задачи.
 - Перейдите к листу учета рабочего времени .
 - Для каждого синхронизированного события выберите клиента, проект и задачу.
 -  Перейдите на лист «Панель инструментов» .
-  В первом разделе представлены ежедневные итоги. Чтобы обновить список дат для ежедневных итогов, измените дату в ячейке 
A1. -  Следующий раздел содержит еженедельные итоги и соответствует дате, выбранной в 
A1. - В последних трех разделах приведены общие итоги по задачам, проектам и клиентам.
 
 -  В первом разделе представлены ежедневные итоги. Чтобы обновить список дат для ежедневных итогов, измените дату в ячейке 
 
Проверьте код
Чтобы просмотреть код Apps Script для этого решения, нажмите «Просмотреть исходный код» ниже:
Посмотреть исходный код
Код.gs
Страница.html
Авторы
Этот пример был создан Джаспером Дуйзендстра, архитектором Google Cloud и экспертом Google Developer. Найдите Джаспера в Твиттере @Duizendstra .
Этот образец поддерживается компанией Google с помощью экспертов Google Developer Experts.