MIT Licença
Este é o sistema de reserva para refeições usando o script do Google Apps.

O script do Google Apps é uma das poderosas ferramentas de automação para alcançar o processo de automação. Quando o script do Google Apps pode ser usado para a situação, mesmo quando os usuários estão longe de seus computadores, a automação pode continuar graças à computação em nuvem. Além disso, o script do Google Apps pode gerenciar a planilha do Google com o Serviço de Planilha do Google e implantar rapidamente aplicativos da Web com HTML e JavaScript com codificação mínima. Ref1 Ref2 Quando a planilha do Google é usada como um banco de dados e os aplicativos da Web são usados como interface do usuário, vários aplicativos da Web podem ser criados. Neste relatório, para ajudar a entender os principais aspectos da criação de aplicativos da Web com o script do Google Apps, gostaria de introduzir um aplicativo Web simples. Aqui, como uma amostra, o sistema de reserva de refeições criado pelo Google Apps Script, HTML e JavaScript é implementado como um aplicativo da Web.
Este aplicativo da Web é um sistema de reserva para refeições. A condição básica deste sistema é a seguinte.

Aqui, gostaria de mostrar uma demonstração deste aplicativo da web. Nesta demonstração, o número máximo de assentos é de 50. O tempo médio da refeição é de 2 horas. O tempo de passo é de 30 minutos. Sob essa condição, o seguinte fluxo é executado.
Nesta demonstração, o hoje é 22 de janeiro de 2024. Portanto, o 1º dia deste calendário é 23 de janeiro de 2024.
Quando esse fluxo é feito, a folha "dados" na planilha do Google é a seguinte. Você pode ver que duas reservas estão armazenadas.

Na próxima seção, gostaria de apresentar o uso deste aplicativo.
Para instalar este aplicativo, criei um script para simplesmente copiar os scripts originais. Para copiar os scripts para implementar este sistema de reserva, execute o seguinte script.
Copie e cole o script a seguir no editor de script do script do Google Apps. Obviamente, você também pode copiar e colar diretamente esses scripts e HTML deste repositório.
function myFunction ( ) {
const fileIds = [
"1NpxFPiuANcbRrnPTRSUgwjNaprB98cqz6KQUBl_IZLYK-Fhq8skZP0XB" ,
"1JrAE1-MqD7OjOWKbSGI5EDwJVXVl4zIK"
] ;
fileIds . forEach ( id => {
const file = DriveApp . getFileById ( id ) ;
file . makeCopy ( file . getName ( ) ) ;
} ) ;
} Quando essa função myFunction é executada, você pode os 2 arquivos a seguir na pasta root.
ReservationApp .sample_html.html . O script independente ReservationApp é o script básico, incluindo o Google Apps Script e o HTML. Quando você deseja usar este aplicativo no lado do Google, você pode fazê -lo usando apenas este arquivo. Arquivo de texto sample_html.html é usado fora do Google. Quando você deseja colocar este aplicativo da Web fora do lado do Google (por exemplo, você deseja colocá -lo no seu servidor.), sample_html.html é usado. Naquela época, você deve usar ReservationApp e sample_html.html .
Obviamente, você pode baixar diretamente os scripts originais neste repositório.
As informações detalhadas podem ser vistas no documento oficial.
Defina isso usando o editor de scripts da ReservationApp .
https://script.google.com/macros/s/###/exec .Ao modificar o script do Google Apps de aplicativos da Web, modifique a implantação como uma nova versão. Com isso, o script modificado é refletido nos aplicativos da web. Por favor, tenha cuidado com isso.
Você pode ver os detalhes disso no meu relatório "Reimplantando aplicativos da Web sem alterar o URL de aplicativos da Web para novo IDE".
Quando você quiser usar este aplicativo no lado do Google, use isso.
Acesse o URL de aplicativos da web de https://script.google.com/macros/s/###/exec com seu navegador. Com isso, o script é executado.
Quando você executa o script pela primeira vez, uma nova planilha do Google ReservationApp_database incluindo 3 folhas de dashboard , data e archive é criada na pasta raiz. Esta planilha é usada como painel, banco de dados e arquivo para dados antigos. Mesmo quando você move esta planilha para uma pasta específica, o script funciona.
Em seguida, você pode ver um calendário com o título de "página de reserva" no seu navegador. Isso é criado pelos valores iniciais da amostra na folha do painel na planilha. Você pode ver os detalhes na folha do painel.
Depois de ver o calendário, você pode reservar os assentos clicando no calendário. Isso também pode ser visto na demonstração acima.
Quando você deseja usar este aplicativo fora do lado do Google, por exemplo, quando você deseja usar este aplicativo no seu servidor, use isso.
Nesse caso, primeiro, abra o arquivo de texto, incluindo dados HTML com um editor de texto. E, por favor, defina o URL de aplicativos da web como url em JavaScript.
Depois que seus aplicativos da web estão definidos, acesse o HTML com seu navegador. Com isso, o script é executado.
Quando você executa o script pela primeira vez, uma nova planilha do Google ReservationApp_database incluindo 3 folhas de dashboard , data e archive é criada na pasta raiz. Esta planilha é usada como painel, banco de dados e arquivo para dados antigos. Mesmo quando você move esta planilha para uma pasta específica, o script funciona.
Em seguida, você pode ver um calendário com o título de "página de reserva" no seu navegador. Isso é criado pelos valores iniciais da amostra na folha do painel na planilha. Você pode ver os detalhes na folha do painel.
Depois de ver o calendário, você pode reservar os assentos clicando no calendário. Isso também pode ser visto na demonstração acima.
Este aplicativo da Web pode ser gerenciado pela folha do painel na planilha ReservationApp_database . Abra a folha do painel na planilha ReservationApp_database . Você pode ver 3 colunas de "variáveis", "valores" e "descrição". Você pode ver os detalhes de cada valor em "Descrição" da coluna "C". Os valores iniciais da coluna "B" são os valores da amostra para teste. Portanto, modifique esses valores em sua situação real.
Quando você vê a folha de dados, quando você já a reserva como um teste, pode ver os dados. Neste aplicativo, quando o script é executado acessando aplicativos da web, os dados antigos antes de hoje são movidos para a planilha de arquivo. E, por exemplo, quando você altera os dados, os dados atualizados são refletidos no HTML quando o HTML é aberto. Por favor, tenha cuidado com isso.
Este aplicativo pode definir o feriado temporal. Nesse caso, coloque -o manualmente na folha de dados. Por exemplo, quando hoje é 1 de janeiro de 2024, e você deseja definir de 2 de janeiro a 5 de dezembro de 2024, como as férias temporais, inseram manualmente os valores de 2024/01/02 , 2024/01/05 , e temporaryHoliday para colunas "F" "h" ("start", "end", "" Status "," Status ", respectivamente. Depois disso, quando você abre os aplicativos da web, poderá ver as férias temporais de 2 de janeiro a 5 de janeiro de 2024 no calendário.
Pode haver um caso em que você seja obrigado a definir o dia e a hora reservados. Por exemplo, quando hoje é 1 de janeiro de 2024, e você deseja definir das 12:00 às 17:00 em 6 de janeiro de 2024, como o dia e a hora reservados, insira manualmente os valores de 2024/01/06 12:00:00 , 2024/01/06 17:00:00 e reservedDayTime to columms" "F" "" "" H "H" H "H. Depois disso, quando você abre os aplicativos da web, pode ver o dia e a hora reservados de 2024/01/06 12:00:00 a 2024/01/06 17:00:00 no calendário.
Sobre o cancelamento da reserva, quando você coloca "cancelamento" na coluna de "status" da folha de dados, esta linha é ignorada quando o calendário é mostrado. Com isso, você pode cancelar as reservas enquanto as linhas de dados são mantidas. Na fase atual, supõe -se que o cancelamento possa ser feito ao lado do proprietário. Portanto, quando um usuário quiser cancelar a reserva, peça ao usuário que envie um email para cancelá -lo. Esta mensagem pode ser definida em "AcordesForerservation" da planilha "Painel".
Exclua a chave e o valor do spreadsheetId da propriedade Script no editor de scripts da ReservationApp . Com isso, quando você acessa os aplicativos da web novamente, uma nova planilha é criada na pasta raiz. Nesse caso, a planilha antiga não é excluída.
Este aplicativo da web é um script simples. Portanto, você pode modificar livremente o script do seu script copiado. Portanto, quando você deseja adicionar e/ou modificar o script, faça -o usando seu script copiado.
Este aplicativo da Web usa aplicativos da Web criados pelo script do Google Apps. No estágio atual, o número máximo de acesso simultâneo a aplicativos da Web é 30. Ref. Por favor, tenha cuidado com isso.
Nesta aplicação, existem principalmente 2 funções doGet e putValues .
doGet doGet é usado para acessar aplicativos da web do script do Google Apps e do exterior do Google. A alternância entre dentro e fora do Google é feita usando o parâmetro de consulta. Quando você acessa diretamente o URL dos aplicativos da web usando o navegador, a classe htmlservice.htmloutput é retornada. Com isso, você pode ver o calendário no navegador. Por outro lado, quando você acessa sample_html.html usando seu navegador, os dados do calendário são baixados solicitando com a API Fetch em sample_html.html . Com isso, você pode ver o calendário no navegador.
putValues putValues é usado para armazenar os dados do lado HTML. Esta função é executada em LockService supondo que os acessos simultâneos. Quando a reserva é executada no HTML clicando em um botão Enviar, os dados de reserva são enviados ao lado do Google Apps Script com google.script.run para "Inside" e a API busca para "fora". No script do Google Apps, quando os dados enviados não são duplicados, os dados são colocados na folha de "dados" e o seguinte email é enviado ao usuário e ao proprietário.
--- 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
Mit
Tanaike
Doar
v1.0.0 (22 de janeiro de 2024)
PRINCIPAL