INTRODUÇÃO
Post anterior: Do Caos ao Prompt T4E08: Desenvolvimento do App AG2P – Evento "Executou tarefa em hora extra"
Este Post é o episódio 9 da temporada 4 da série "Do Caos ao Prompt", que apresenta o desenvolvimento do Agente de Gestão de Processo Pessoal (AG2P), tendo como foco o evento "Liberou RDM".
Evento “Liberou RDM”
Link da conversa com o Gemini, na qual foi apresentado um Prompt contendo os itens Objetivo, Contexto, Ferramentas e Especificações, para geração do código para implementar o evento
"Liberou RDM": https://g.co/gemini/share/b44f1ab95eac
Comando ao Gemini para solicitar a implementação do evento
Objetivo, Contexto e Ferramentas
Clique aqui para ver os itens Objetivo, Contexto e Ferramentas do Comando.
Especificações
Segue abaixo o post da temporada 3 desta série, que contém as especificações do evento "Liberou RDM", que faz parte deste comando:
As especificações do evento foram feitas com Finite State Machine (FSM), de tal forma que cada evento pode ser automatizado e testado de forma independente.
Resposta do Gemini
Explicação do Código:
-
onOpen()
:- Esta função é executada automaticamente quando a planilha é aberta.
- Cria um menu personalizado chamado "Fluxo de Trabalho" na interface do Google Sheets.
- Adiciona um item de menu chamado "Liberar RDM" que, quando clicado, executa a função
liberarRDM()
.
-
liberarRDM()
:- Declaração de Variáveis: Define variáveis para os nomes das planilhas e abas, colunas relevantes (Pontos Problemáticos, Causas Prováveis e Estado da RDM), e os estados da RDM. Ajuste essas variáveis de acordo com a estrutura da sua planilha.
- Verificação do Estado Atual:
- Obtém a planilha ativa e a aba de controle (assumindo que o estado da RDM está lá).
- Lê o valor da célula que contém o estado atual da RDM. Você precisará identificar em qual célula da sua aba "GPS" esse estado é armazenado e ajustar
linhaEstadoRDM
ecolunaEstadoRDM
conforme necessário. - Verifica se o estado atual da RDM é igual a "RDM Antes do fim". Se não for, exibe um alerta e interrompe a execução.
- Execução da Ação "Disponibilizar RDM do dia":
- Passo do Usuário (R11): Exibe um alerta para o usuário, lembrando-o de analisar os pontos problemáticos e registrar as ações corretivas e causas prováveis na aba RDM.
- Passo do Agente AG2P - Copiar Planilha (R12):
- Obtém o ID da pasta padrão do Google Drive (você pode substituir
DriveApp.getRootFolder().getId()
pelo ID de uma pasta específica, se preferir). - Cria uma cópia da planilha GPS com um nome único (incluindo a data e hora).
- Move a cópia para a pasta padrão e, opcionalmente, remove a cópia da pasta raiz.
- Exibe um log e um alerta informando que a planilha foi copiada.
- Inclui um tratamento de erro caso a cópia falhe.
- Obtém o ID da pasta padrão do Google Drive (você pode substituir
- Passo do Agente AG2P - Atualizar Estado (R38):
- Define o valor da célula de estado da RDM de volta para "RDM Antes do fim", mantendo o estado conforme a regra R38.
- Registra a atualização do estado no log.
- Resultados Esperados: O código garante que o estado da RDM seja mantido como "RDM Antes do fim" após a execução.
- Mensagem de Conclusão: Exibe um alerta informando que o evento "Liberou RDM" foi concluído.
- Esperando Próximo Evento: O script termina sua execução, aguardando que outro evento (como o clique no menu "Liberar RDM" novamente ou outro evento que você possa automatizar) seja disparado.
Como Usar:
- Abra sua planilha GPS no Google Sheets.
- Vá em "Extensões" > "Apps Script".
- Copie e cole o código acima no editor de scripts.
- Salve o script (Ctrl+S ou Cmd+S). Dê um nome para o seu projeto de script (por exemplo, "AutomaçãoRDM").
- Atualize a planilha. Você deverá ver um novo menu chamado "Fluxo de Trabalho" na barra de menus.
- Clique em "Fluxo de Trabalho" e depois em "Liberar RDM" para executar a automação.
Importante:
- Ajuste as variáveis: Certifique-se de alterar os valores de
nomePlanilhaGPS
,nomeAbaControle
,colunaPontosProblematicos
,colunaCausasProvaveis
e, crucialmente,colunaEstadoRDM
elinhaEstadoRDM
para corresponderem exatamente à estrutura da sua planilha "GPS". - Pasta Padrão: A pasta padrão no código atual é a pasta raiz do seu Google Drive (
DriveApp.getRootFolder()
). Se você deseja salvar as cópias em uma pasta específica, substituaDriveApp.getRootFolder().getId()
pelo ID dessa pasta. Para encontrar o ID de uma pasta, abra a pasta no Google Drive e verifique a URL. O ID é a sequência de caracteres entre/folders/
e a próxima/
. - Permissões: Ao executar o script pela primeira vez, o Google Apps Script solicitará autorização para acessar sua planilha e seu Google Drive. Você precisará conceder essas permissões para que o script funcione corretamente.
- Tratamento de Erros: O código inclui um tratamento básico de erro ao tentar copiar a planilha. Você pode adicionar mais tratamento de erros conforme necessário para tornar o script mais robusto.
- Interface do Usuário: O script usa
SpreadsheetApp.getUi().alert()
para interagir com o usuário. Para uma experiência de usuário mais sofisticada, você pode considerar a criação de caixas de diálogo personalizadas usando HTML Service.
Este código automatiza o evento "Liberou RDM" conforme as especificações fornecidas, copiando a planilha GPS para uma pasta padrão e mantendo o estado da RDM como "RDM Antes do fim". Lembre-se de adaptar as variáveis à sua planilha para que funcione corretamente.
CONCLUSÃO
Neste episódio 9, da temporada 4 da série "Do Caos ao Prompt", foi apresentada a implementação do Evento "Liberou RDM", realizada pelo Chatbot de IA Gemini 2.0 Flash.
As especificações do evento foram feitas em Finite State Machine (FSM).
Próximo post: Do Caos ao Prompt T4E10: Desenvolvimento do App AG2P -
Evento "Selecionou totais para produtividade"
Nenhum comentário:
Postar um comentário