MIT Лицензия
Это система резервирования столовой с использованием сценария Google Apps.

Сценарий Google Apps является одним из мощных инструментов автоматизации для достижения процесса автоматизации. Когда сценарий Google Apps может использоваться для ситуации, даже если пользователи находятся вдали от своих компьютеров, автоматизация может продолжаться благодаря облачным вычислениям. Кроме того, скрипт Google Apps может управлять электронной таблицей Google с помощью службы электронных таблиц Google и быстро развернуть веб -приложения с HTML и JavaScript с минимальным кодированием. Ref1 Ref2 Когда электронная таблица Google используется в качестве базы данных, а веб -приложения используются в качестве пользовательского интерфейса, могут быть созданы различные веб -приложения. В этом отчете, чтобы помочь понять ключевые аспекты создания веб -приложений с помощью скрипта Google Apps, я хотел бы представить простое веб -приложение. Здесь, как образец, система резервирования столовой, созданная сценарием Google Apps, HTML и JavaScript, реализована в качестве веб -приложения.
Это веб -приложение является системой резервирования. Основное состояние этой системы заключается в следующем.

Здесь я хотел бы показать вам демонстрацию этого веб -приложения. В этой демонстрации максимальное количество мест составляет 50. Среднее время еды составляет 2 часа. Время шага составляет 30 минут. В этом условии запускается следующий поток.
В этой демонстрации сегодня 22 января 2024 года. Итак, 1 -й день этого календаря - 23 января 2024 года.
Когда этот поток будет выполнен, лист «Data» на электронной таблице Google выглядит следующим образом. Вы можете видеть, что 2 резервации хранятся.

В следующем разделе я хотел бы представить использование этого приложения.
Чтобы установить это приложение, я создал сценарий для простого копирования исходных сценариев. Чтобы скопировать сценарии для реализации этой системы бронирования, запустите следующий сценарий.
Пожалуйста, скопируйте и вставьте следующий скрипт в редактор скрипта сценария Google Apps. Конечно, вы также можете напрямую скопировать и вставить эти сценарии и HTML из этого репозитория.
function myFunction ( ) {
const fileIds = [
"1NpxFPiuANcbRrnPTRSUgwjNaprB98cqz6KQUBl_IZLYK-Fhq8skZP0XB" ,
"1JrAE1-MqD7OjOWKbSGI5EDwJVXVl4zIK"
] ;
fileIds . forEach ( id => {
const file = DriveApp . getFileById ( id ) ;
file . makeCopy ( file . getName ( ) ) ;
} ) ;
} Когда myFunction этой функции запускается, вы можете следующие 2 файла в корневой папке.
ReservationApp .sample_html.html . Автономный сценарий ReservationApp - это базовый скрипт, включая сценарий Google Apps и HTML. Если вы хотите использовать это приложение на стороне Google, вы можете сделать это только с помощью этого файла. Text File sample_html.html используется за пределами Google. Если вы захотите вывести это веб -приложение со стороны Google (например, вы хотите поместить его на свой сервер.), Используется sample_html.html . В то время вы должны использовать как ReservationApp , так и sample_html.html .
Конечно, вы можете напрямую загружать оригинальные сценарии в этом репозитории.
Подробную информацию можно увидеть в официальном документе.
Пожалуйста, установите это, используя редактор сценария ReservationApp .
https://script.google.com/macros/s/###/exec .При изменении сценария Google Apps веб -приложений, пожалуйста, измените развертывание в качестве новой версии. При этом измененный скрипт отражается в веб -приложениях. Пожалуйста, будьте осторожны с этим.
Вы можете увидеть подробную информацию об этом в моем отчете «Передовые веб -приложения без изменения URL -адреса веб -приложений для нового IDE».
Когда вы хотите использовать это приложение на стороне Google, используйте это.
Пожалуйста, обратитесь к вашим веб -приложениям URL https://script.google.com/macros/s/###/exec с вашим браузером. При этом сценарий запускается.
Когда вы впервые запускаете сценарий, новая таблица Google Spreadsheat ReservationApp_database включая 3 листа dashboard , data и archive создается в корневой папке. Эта электронная таблица используется в качестве панели панели, базы данных и архива для старых данных. Даже когда вы перемещаете эту таблицу в определенную папку, сценарий работает.
Затем вы можете увидеть календарь с названием «Страница бронирования» в вашем браузере. Это создается исходными значениями выборки в листе приборной панели на электронной таблице. Вы можете увидеть детали на листе приборной панели.
После того, как вы увидите календарь, вы можете зарезервировать места, нажав на календарь. Это также можно увидеть в приведенной выше демонстрации.
Например, если вы хотите использовать это приложение за пределами стороны Google, когда вы хотите использовать это приложение на своем сервере, используйте это.
В этом случае, во -первых, откройте текстовый файл, включая данные HTML с текстовым редактором. И, пожалуйста, установите URL -адрес веб -приложений на url в JavaScript.
После установки веб -приложений, пожалуйста, обратитесь к HTML с вашим браузером. При этом сценарий запускается.
Когда вы впервые запускаете сценарий, новая таблица Google Spreadsheat ReservationApp_database включая 3 листа dashboard , data и archive создается в корневой папке. Эта электронная таблица используется в качестве панели панели, базы данных и архива для старых данных. Даже когда вы перемещаете эту таблицу в определенную папку, сценарий работает.
Затем вы можете увидеть календарь с названием «Страница бронирования» в вашем браузере. Это создается исходными значениями выборки в листе приборной панели на электронной таблице. Вы можете увидеть детали на листе приборной панели.
После того, как вы увидите календарь, вы можете зарезервировать места, нажав на календарь. Это также можно увидеть в приведенной выше демонстрации.
Это веб -приложение может управляться листом приборной панели на таблице ReservationApp_database . Пожалуйста, откройте лист приборной панели на таблице ReservationApp_database . Вы можете увидеть 3 столбца «переменных», «значения» и «описание». Вы можете увидеть детали каждого значения в «Описание» столбца «C». Начальные значения столбца «B» являются значениями выборки для тестирования. Поэтому, пожалуйста, измените эти значения в вашу реальную ситуацию.
Когда вы видите лист данных, когда вы уже зарезервировали его в качестве теста, вы можете увидеть данные. В этом приложении, когда сценарий запускается путем доступа к веб -приложениям, старые данные до сегодняшнего дня перемещаются в архив. И, например, при изменении данных обновленные данные отражаются в HTML при открытии HTML. Пожалуйста, будьте осторожны с этим.
Это приложение может установить временный отпуск. В этом случае, пожалуйста, вручную поместите его в лист данных. Например, когда сегодня состоится 1 января 2024 года, и вы хотите установить с 2 января по 5 декабря 2024 года в качестве временных праздников, пожалуйста, введите вручную значения 2024/01/02 , 2024/01/05 и temporaryHoliday , к столбцам «F» для «H» («Start», «End», «статус») соответственно. После этого, когда вы открываете веб -приложения, вы можете увидеть временные праздники с 2 января по 5 января 2024 года в календаре.
Может быть случай, когда вы должны установить зарезервированный день и время. Например, когда сегодня - 1 января 2024 года, и вы хотите установить с 12:00 до 17:00 6 января 2024 года, как зарезервированный день и время, пожалуйста, вручную введите значения 2024/01/06 12:00:00 , 2024/01/06 17:00:00 и reservedDayTime время в столбцах «F» (H start »,« ek »,« opred ». После этого, когда вы открываете веб -приложения, вы можете увидеть зарезервированный день и время с 2024/01/06 12:00:00 до 2024/01/06 17:00:00 в календаре.
О отмене бронирования, когда вы помещаете «Отмена» в столбце «статус» листа «данные», эта строка пропускается при показании календаря. При этом вы можете отменить бронирование, пока строки данных хранятся. На нынешнем этапе предполагается, что отмена может быть сделана со стороны владельца. Поэтому, когда пользователь хочет отменить бронирование, сообщите пользователю отправить электронное письмо, чтобы отменить его. Это сообщение может быть установлено в «Соглашениях -сфорражации» листа «Панель инструментов».
Пожалуйста, удалите как ключ, так и значение spreadsheetId свойства сценария в редакторе Script ReservationApp . При этом, когда вы снова получаете доступ к веб -приложениям, в папке Croot создается новая электронная таблица. В этом случае старая таблица не удалена.
Это веб -приложение является простым сценарием. Таким образом, вы можете свободно изменить сценарий вашего скопированного сценария. Итак, когда вы хотите добавить и/или изменить сценарий, сделайте это, используя копированный сценарий.
Это веб -приложение использует веб -приложения, созданные сценарием Google Apps. На текущем этапе максимальное количество одновременного доступа к веб -приложениям составляет 30. Ссылка, поэтому в вашей реальной ситуации, если есть вероятность того, что многие пользователи более 30 пользователей одновременно получают доступ, это приложение может не подходить. Пожалуйста, будьте осторожны с этим.
В этом приложении есть в основном 2 функции doGet и putValues .
doGet doGet используется для доступа к веб -приложениям как из сценария Google Apps, так и за внешней стороной Google. Переключение между внутри и снаружи Google выполняется с использованием параметра запроса. Когда вы получаете непосредственный доступ к URL -адресам веб -приложений, используя свой браузер, возвращается класс htmlservice.htmloutput. При этом вы можете увидеть календарь в браузере. С другой стороны, когда вы получаете доступ sample_html.html , используя ваш браузер, данные календаря загружаются с помощью API Fetch в sample_html.html . При этом вы можете увидеть календарь в браузере.
putValues putValues используется для хранения данных со стороны HTML. Эта функция выполняется под опорным сервисом, предполагая одновременные доступ. Когда бронирование запускается на HTML, нажав кнопку «Отправить», данные о бронировании отправляются на сторону скрипта Google Apps с google.script.run для «Inside» и API Fetch для «Outside». В скрипте Google Apps, когда отправленные данные не дублируются, данные помещаются в лист «данные», а следующее электронное письмо отправляется как пользователю, так и владельцу.
--- Reservation information ---
Date: 2024-01-01 10:00 to 2024-01-01 12:00
Reserved seats: 2
Name: sample1
Email: sample1@###
Phone: '123
Comment: sample comment
Грань
Танайке
Пожертвовать
v1.0.0 (22 января 2024 г.)
ВЕРШИНА