Рабочий процесс утверждения форм Google

Я пытаюсь настроить рабочий процесс, используя Google Forms, Sheets и Apps Script. Для простого примера скажем, что я настраиваю форму отпуска для компании. У меня есть форма для сотрудника, вводит свои данные отпуска. При отправке детали заносятся в лист, и электронное письмо отправляется кому-то для одобрения.

Вот где я застреваю. Каков наилучший способ одобрить запросы на отпуск? Я могу просто отредактировать лист и после того, как столбец будет изменен с неутвержденного на одобренный, и электронное письмо можно будет отправить, но я надеялся избежать необходимости редактировать лист вообще.

Есть ли лучший способ справиться с этим рабочим процессом?

0 ответов

Предположим, что 3 человека должны одобрить запрос. Утверждающие лица, которым необходимо просмотреть запрос, - это утверждающие X,Y,Z.

  • Пользователь X получает электронное письмо с просьбой просмотреть запрос.
  • Электронное письмо, которое получает пользователь X, будет использовать HTML
  • В HTML будет ссылка
  • Ссылка в HTML отправляет запрос GET
  • Всякий раз, когда вы нажимаете ссылку или вводите URL-адрес в адресную строку браузера, на URL-адрес выполняется запрос GET.
  • Веб-приложение Apps Script - это проект Apps Script, который публикуется как веб-приложение.
  • У веб-приложения есть URL-адрес, который можно использовать для отправки к нему запроса.
  • Когда используется url (ссылка), выполняется запрос GET
  • Запрос GET, сделанный к веб-приложению Apps Script, запустит функцию doGet()
  • После запуска функции doGet() вы можете заставить код скрипта приложений делать все, что захотите.
  • Он может получать информацию, отправленную ему из строки поиска
  • Затем отправьте еще одно электронное письмо пользователю Y
  • Итак, когда пользователь X щелкает ссылку, к URL-адресу должна быть добавлена ​​информация в виде строки поиска.

    httpz:// ссылка?whichUser=X&authorized=true

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

function doGet(e) {
  var whatUserJustReviewed,isItApproved;

  //Get the values passed in from "e" which is the event object
  eventParam = e.parameter;
   whatUserJustReviewed  =  eventParam.whichUser;
  Logger.log(' whatUserJustReviewed    : ' +  whatUserJustReviewed    )

  isItApproved = eventParam. approved;


  switch (whatUserJustReviewed) {
    case "X"
    if (isItApproved  === 'true') {
      //    //Send an email to the next user which is Y
    }
    break;
    case "Y"
    if (isItApproved  === 'true') {
      //    //Send an email to the next user which is Z
    }
    break;
    case "Z"
    if (isItApproved  === 'true') {
      //Send an email to all involved who need to know that it was approved.
    }
    break;
   default:
      console.error('There was an error getting user or status');
  };


}
Другие вопросы по тегам