# Sincronizador

Detalha a utilização do Sincronizador Scanntech

# Arquivos e Dependências necessários

#### **Arquivos:**

##### DBLocal.ini

Deve possuir o caminho do banco de dados PAFECF para comunicação da máquina principal/servidor (normalmente onde estará instalado).

##### DBPdv1.ini a DBPdv(n).ini

Obrigatório apenas caso existam vários caixas (PDVs) em rede, cada arquivo deve possuir o caminho do banco desses caixas, e devem estar presentes na mesma pasta que a máquina principal/servidor.

Será utilizaddo para repassar as promoções e obter as vendas realizadas em todos os caixas configurados.

##### DBSIEM.ini

Deve possuir o caminho do banco de dados do SIEM para que consiga obter algumas informações.

##### LogScanntech.MDB

Arquivo para salvar registros de Log do recebimento de promoções, envio de vendas e operações realizadas, para que seja facilmente consultado e visualizado pelo usuário quando necessário.

#### **Dependências:**

##### AcessoDados.dll

Utilizado para realizar a comunicação entre os bancos de dados.

##### Newtonsoft.Json.dll

Utilizado para tratamento do JSON recebido ou enviado nas requisições, assim como na leitura de configurações realizadas.

# Uso e funções

##### Botão Configurar

Quando o sincronizador é instalado e executado pela primeira vez, é necessário realizar a configuração.

Ao clicar no botão Configurar, será necessário inserir as informações de registro da empresa (do cliente) que serão usadas para recebimento de promoções e envios da scanntech.

**Usuário:** E-mail da empresa cadastrado junto à Scanntech. **Senha:** Senha da empresa cadastrada junto à Scanntech. **ID Empresa:** ID da empresa gerado pela Scanntech. **ID Local:** ID do local gerado pela Scanntech. Cada loja, caso existam várias de uma mesma empresa, terá seu ID Local único.  
**Intervalo de Sincronização:** Tempo (em minutos) entre cada sincronização (recebimento de promoções e envio de vendas).

**URLs 1, 2 e 3:** URLs que serão usadas para as tentativas de envio e requisição de promoções, para caso uma URL ocorrer timeout. São setadas por padrão (*hard-coded*) e servem para evitar que o sincronizador não consiga comunicação.  
  
O link para aceitar promoções e verificar os dados da empresa se encontra em: [http://br.homo.market.scanntech.com/](http://br.homo.market.scanntech.com/ "Clube de Promoções")

Ao clicar em confirmar, se todas informações estiverem corretamente preenchidas, será gerado o arquivo **ConfigScanntech.txt** com as configurações em JSON, utilizado apenas para que o sincronizador tenha acesso facilitado à esses dados quando necessário.

##### Uso Padrão

Após sua configuração, as operações principais do Sincronizador serão automáticas.

Durante essas operações, será feito:   
\- Identificação e Armazenamento de novas promoções, assim como a remoção de promoções não mais utilizadas.   
\- Tentativa de envio das vendas **AUTORIZADAS (SAT)** até o momento, que ocorreram após a última sincronização. Esse processo será mostrado na tela do app, com um breve log de resultados.

##### Envio Manual

Caso ocorra algum erro durante o envio de alguma venda, essa venda será salva no banco de dados como **ERRO** ou voltará a ficar **PENDENTE**, dependendo do erro (Erros 40X ficarão como ERRO, enquanto timeout voltará para pendente).

Caso fique como **ERRO**, o **Envio Manual** mostra o motivo desse erro e, após devida correção, permite o envio manual.  
Exemplos de erro incluem, mas não são limitados a: Falta de valor de um item, preenchimento incorreto, dados incompletos.

##### <span style="background-color: #ffff99;">Fechar Dia <sup>\*possivelmente será alterado</sup></span>

<span style="background-color: #ffff99;">Após enviar as vendas do dia, o usuário pode fechar o dia. Realizar essa operação enviará os dados finais do dia para a scanntech e, se estiver tudo certo, **bloqueará os próximos fechamentos do dia, mesmo que existam novas vendas após. Essas vendas serão perdidas.**</span>

##### Visualizar Log

A opção de visualizar log mostra os dados presentes no banco LogScanntech.MDB, para que o usuário possa visualizar melhor o que ocorreu, caso tenha algum erro ou rejeição.

##### Minimizar

O app pode ser minimizado e, embora a janela feche, continuará funcionando em segundo plano. Isso é indicado por uma mensagem do windows, e seu ícone fica presente na barra de tarefas (dentro da setinha próximo ao horário)

