====== Transmissor de Dados ======
===== O que é o Transmissor =====
O **Transmissor** é uma função do programa **Gollum** (o mesmo que já roda no computador da loja) que conecta o sistema de gestão ao Ello Dash. Ele lê automaticamente os dados de vendas, movimentos financeiros e estoque do banco de dados local e os envia para o servidor Ello.
**Sem o Transmissor em funcionamento, os dados do painel não são atualizados.**
**Mudança importante:** antes o Transmissor era um programa separado (transmissor_metricas.exe), com seu próprio arquivo de configuração (transmissor_config.ini). Agora ele faz parte do Gollum e usa o arquivo de configuração do Gollum (**Gollum.ini**). Lojas que já usavam o programa antigo precisam seguir a seção [[#migrando_uma_loja_que_usa_o_transmissor_antigo|Migrando uma loja que usa o Transmissor antigo]].
===== Como instalar o Transmissor =====
A instalação é feita uma única vez em cada computador da loja. É necessário que o **Gollum** esteja instalado e atualizado nesse computador. Você vai usar duas coisas que ficam na pasta do Gollum: o programa **Gollum.exe** e o arquivo de configuração **Gollum.ini**.
==== 1. Configure o arquivo Gollum.ini ====
Abra o arquivo **Gollum.ini** (na mesma pasta do Gollum.exe) no Bloco de Notas e acrescente, no final do arquivo, as informações do Ello Dash e do banco de dados da loja:
[Dash]
BaseUrl=https://dash.ellotecnologia.com
[DashDatabase1]
Nome=Matriz
Hostname=localhost
Porta=3050
Username=sysdba
Password=masterkey
Database=C:\Ello\Dados\DADOS.ello
Ativo=Sim
Preencha cada campo da seguinte forma:
* **BaseUrl**: endereço do servidor do Ello Dash (use o endereço informado pela equipe Ello Tecnologia)
* **Nome**: nome da empresa (ex: Matriz)
* **Hostname**: endereço do computador onde está o banco de dados (geralmente: localhost)
* **Porta**: porta de conexão (padrão: 3050)
* **Username**: usuário do banco de dados
* **Password**: senha do banco de dados
* **Database**: caminho completo do arquivo do banco de dados na loja
* **Ativo**: mantenha como **Sim**. Para parar de enviar os dados de um banco sem apagar a configuração, troque para **Nao**
**Loja com mais de um banco de dados (filiais):** repita o bloco do banco acrescentando outro logo abaixo, com o número seguinte: o primeiro é **[DashDatabase1]**, o segundo **[DashDatabase2]**, o terceiro **[DashDatabase3]** e assim por diante. Os números precisam ser seguidos, sem pular nenhum: o Transmissor para de ler no primeiro número que faltar.
==== 2. Crie a tarefa agendada ====
A tarefa agendada faz o Windows executar o Transmissor automaticamente a cada 5 minutos.
- Abra o **Agendador de Tarefas** do Windows
- Crie uma nova tarefa (ou, se a loja já usava o Transmissor antigo, altere a tarefa existente)
- Em **Gatilhos**, configure para repetir a cada **5 minutos**
- Em **Ações**, escolha **Iniciar um programa** e preencha:
* **Programa/script**: o caminho completo do **Gollum.exe** (ex: C:\Ello\Gollum\Gollum.exe)
* **Adicione argumentos**: **transmite-metricas-dash**
* **Iniciar em**: a pasta onde está o Gollum.exe
Após esses dois passos, o Transmissor estará ativo e enviando dados automaticamente.
==== 3. Teste o envio ====
Para conferir se está tudo certo sem esperar os 5 minutos:
- Abra o Prompt de Comando (CMD) do Windows
- Navegue até a pasta do Gollum
- Digite ''**start /wait Gollum.exe transmite-metricas-dash -v**'' e tecle Enter
O parâmetro **-v** mostra na própria tela o que o Transmissor está fazendo. Ao final, ele indica quantos bancos foram enviados com sucesso e quantos falharam. Se algum falhar, veja a seção [[#problemas_comuns|Problemas comuns]].
===== Migrando uma loja que usa o Transmissor antigo =====
Para lojas que já enviam dados pelo programa antigo (transmissor_metricas.exe), faça uma única vez:
- Abra o antigo arquivo **transmissor_config.ini** (normalmente em C:\Ello\Windows) e o arquivo **Gollum.ini** (na pasta do Gollum), lado a lado
- Passe as informações para o Gollum.ini conforme a tabela abaixo
- Altere a tarefa agendada para chamar o **Gollum.exe** com o argumento **transmite-metricas-dash**, como descrito em "Crie a tarefa agendada"
- Rode o teste descrito em "Teste o envio" e confirme que terminou sem falhas
- Depois de confirmar, o programa antigo e o transmissor_config.ini podem ser apagados
^ No transmissor_config.ini (antigo) ^ No Gollum.ini (novo) ^
| Seção **[Geral]**, campo **base_url** | Seção **[Dash]**, campo **BaseUrl** |
| Seção **[Database1]** (e as demais: [Database2]...) | Seção **[DashDatabase1]** (e [DashDatabase2]...) |
| nome | Nome |
| hostname | Hostname |
| porta | Porta |
| username | Username |
| password | Password |
| database | Database |
| ativo | Ativo |
| download_url | (não existe mais, veja "Atualização") |
O Transmissor antigo e o novo **não devem ficar agendados ao mesmo tempo**: a loja enviaria os mesmos dados duas vezes. Confirme que a tarefa antiga foi alterada ou removida.
===== Envio do histórico dos últimos 3 meses =====
Na primeira instalação, é recomendável enviar os dados dos últimos 3 meses para que o painel seja preenchido com histórico. Para isso:
- Abra o Prompt de Comando (CMD) do Windows
- Navegue até a pasta do Gollum
- Digite ''**start /wait Gollum.exe transmite-metricas-dash -t 90 -v**'' e tecle Enter
O número depois de ''**-t**'' é a quantidade de dias a enviar, contando a partir de hoje. Por exemplo, ''**-t 30**'' envia os últimos 30 dias e ''**-t 60**'' os últimos 60 dias. Sem o ''**-t**'', o Transmissor envia apenas os dados de hoje (é o que a tarefa agendada faz).
O envio do histórico pode demorar alguns minutos. Aguarde até o Prompt de Comando voltar a mostrar a pasta.
**Atenção:** quem usava no programa antigo os parâmetros ''**-s**'' (60 dias) ou ''**-t**'' (90 dias) deve passar a usar ''**-t 60**'' ou ''**-t 90**''. O parâmetro ''**-s**'' deixou de existir.
A equipe Ello Tecnologia pode auxiliar nesse processo se necessário.
===== Como o Transmissor funciona no dia a dia =====
- O Transmissor roda automaticamente a cada **5 minutos** por meio do Agendador de Tarefas do Windows
- A cada execução, ele coleta os dados mais recentes do banco de dados da loja
- Os dados são enviados ao servidor em pequenos pacotes para garantir estabilidade mesmo em conexões mais lentas
- Se algum envio falhar, o Transmissor tenta novamente automaticamente (até 5 tentativas)
- Os dados enviados ficam disponíveis no servidor por **90 dias**; registros mais antigos são removidos automaticamente
- Ele funciona sem abrir nenhuma janela e não interfere no uso do Gollum ou do sistema de gestão
===== Dados que o Transmissor envia =====
A cada execução, o Transmissor coleta e envia os seguintes tipos de informação:
* Vendas realizadas (por vendedor e meio de pagamento)
* Ranking de produtos vendidos
* Situação das notas fiscais emitidas
* Contas a receber (parcelas)
* Contas a pagar (parcelas)
* Saldo das contas financeiras/bancárias
* Notas de entrada de mercadoria
* Ordens de serviço
===== Atualização =====
O Transmissor **não se atualiza mais sozinho**. Agora ele é atualizado junto com o Gollum: ao instalar uma nova versão do Gollum na loja, o Transmissor também é atualizado.
Se o servidor do Ello Dash passar a exigir uma versão mais nova do Transmissor, o registro de atividades avisa que a versão da loja é diferente da esperada e os envios podem ser recusados. Nesse caso, basta atualizar o Gollum da loja para a versão mais recente.
===== Registros de atividade =====
O Transmissor mantém um arquivo de registro de todas as suas atividades. Esse arquivo fica salvo na seguinte pasta do computador da loja:
**C:\Ello\Windows\Log\DASH\**
Há um arquivo por dia, e os arquivos com mais de 10 dias são apagados automaticamente. Cada linha começa com o horário e uma letra que indica a importância da mensagem: **I** (informação), **W** (aviso) e **E** (erro). O arquivo é útil para identificar erros e confirmar que os envios estão ocorrendo normalmente.
Para ver mais detalhes de uma execução, rode o teste do passo 3 com **-v --log-level=debug**.
===== Problemas comuns =====
==== Os dados no painel não estão atualizando ====
- Verifique se o computador da loja está **ligado e conectado à internet**
- Abra o Agendador de Tarefas e confirme que a tarefa do Transmissor está ativa e sem erros
- Confirme que a tarefa chama o **Gollum.exe** com o argumento **transmite-metricas-dash** (e não o programa antigo)
- Rode o teste do passo 3 e leia as mensagens que aparecem
- Consulte o arquivo de registro para identificar mensagens de erro
- Confirme que o Gollum.ini está com as informações corretas
==== Aparece a mensagem de que não há banco configurado ====
O Gollum.ini não tem a seção **[DashDatabase1]** preenchida com o campo **Database**, ou o campo **Ativo** está diferente de **Sim**. Confira também se a numeração dos bancos está em sequência, sem pular números.
==== O Transmissor apresenta erro de versão incompatível ====
O servidor pode rejeitar dados de uma versão desatualizada. Atualize o Gollum da loja para a versão mais recente. Se o problema continuar, entre em contato com a equipe Ello Tecnologia.
==== Erros de conexão com o banco de dados da loja ====
- Confirme que o sistema de gestão da loja está funcionando normalmente
- Verifique se o banco de dados está acessível no computador onde o Gollum está instalado
- Confira, no Gollum.ini, o caminho do banco, o usuário e a senha
- Entre em contato com a equipe Ello Tecnologia para verificar as configurações
==== O registro mostra falha de conexão ao enviar para o servidor ====
- Confirme que o computador da loja tem acesso à internet e abre normalmente o endereço do Ello Dash no navegador
- Confira o endereço do servidor (**BaseUrl**) no Gollum.ini
- Se o endereço começa com **https** e a falha continuar mesmo com a internet funcionando, entre em contato com a equipe Ello Tecnologia: pode faltar um componente de conexão segura na pasta do Gollum
==== O comando termina com "Falha na transmissão de N banco(s)" ====
Pelo menos um dos bancos configurados não pôde ser enviado. O registro de atividades diz qual foi e o motivo (por exemplo, sem internet ou banco inacessível). Os demais bancos são enviados normalmente.