Em alguns cenários de aplicações PDV, o executável é instalado em uma pasta compartilhada no Servidor Local, e é criado um Mapeamento de disco, para que as estações (caixas) possam executar o aplicativo diretamente do Servidor...
Ou seja, a execução do PDV, depende do correto funcionamento da Rede Local...
Esse cenário tem algumas vantagens como:
- Não precisar instalar o PDV individualmente, em cada estação.
- Facilidade na atualização de versã0
mas também algumas desvantagens:
- Se a rede cai, todo o sistema para
- Cuidados especiais, para ter configurações individuais para cada terminal
Pensando nesse cenário, segue abaixo algumas dicas, de como configurar o TEF para trabalhar corretamente...
Crie um mapeamento por Disco
Evite usar diretórios que usem a sintaxe como: \\SERVIDOR\PDV
Ao invés disso, mapeie a pasta em um novo disco:
Exemplo:
net use Z: \\servidor\pdv
https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-r2-and-2012/gg651155(v=ws.11)
Configure o diretório de Backup do ACBrTEFD
O ACBrTEFD cria um Backup de todas as transações pendentes (ainda não confirmadas)...
Quando o ACBrTEFD é inicializado, se houver algum arquivo com transação nessa pasta, ela será desfeita (NCN) ou cancelada (CNC)...
Portanto, se todos os terminais, usarem a mesma pasta de Backup, um terminal poderá acidentalmente cancelar transações criadas por outro terminal...
Para evitar esse problema, configure em tempo de execução, a pasta de Backup, por terminal:
ACBrTEFD1.PathBackup := 'C:\TEF\TER01';
Configure o diretório de trabalho da PayGoWeb
A DLL PayGoWeb, cria na máquina onde está sendo executada, uma pasta com a seguinte estrutura...
DirTrabalho --+-- Data
+-- Log
Nessa pasta, existem os Logs de cada transação, certificado para conexão segura, e várias informações do PDC (Ponto de Captura)...
Como essas informações são únicas por terminal, devemos configurar o diretório de Trabalho da PayGoWeb, para cada estação, em tempo de execução
ACBrTEFD1.TEFPayGoWeb.DiretorioTrabalho := 'C:\PAYGOWEB\TER01';