Essa é uma revisão anterior do documento!
Servidor S@T
A liberação do servidor do S@T ocorreu na versão 1.3.005.000.
Foi criado um aplicativo servidor de modo que implementa um sistema de fila de comandos a serem enviados para o SAT. O SAT não realiza multiprocessamento, logo é processado um comando por vez. O objetivo é que no máximo três PDVs possam emitir venda utilizando um único SAT. O funcionamento é basicamente o seguinte:
PDV1 envia um COMANDO1 e o PDV2 envia um COMANDO2.
Será aberta CONEXAO1 e CONEXAO2 no servidor com duas sessões associadas.
Na fila do banco de dados do servidor será gravada COMANDO1 e COMANDO2.
Em um intervalo pré-determinado o COMANDO1 é processado no SAT e o resultado é retornado para a CONEXAO1 que volta para o PDV1. A conexão é fechada.
Em um intervalo pré-determinado o COMANDO2 é processado e retornado para a CONEXAO2 que volta para o PDV2. A conexão é fechada.
A limitação de no máximo três caixas se deve ao fato que quanto mais comandos a serem processados estiverem na fila, mais lento irá ficar para os caixas conectados ao servidor operarem normalmente. Este comportamento deve-se ao fato que o último a chegar será o último a processar, isso para cada comando.
A arquitetura de rede utilizada no processo é descrita na imagem abaixo:
O servidor do SAT possui um arquivo de configuração, chamado EasyCashSRV.ini que possui as seguintes tags:
a) Conexão com o Banco de Dados:
[BDServer]
UserName=SYSDBA |
Usuário do Firebird para acesso ao banco de dados. |
Pwd=XXXXXXXXXXXXXXXXXXXX |
Senha do Firebird criptografada |
Path=C:\IWS\EC\BD\SERVER_SAT.fdb |
Caminho do banco de dados do frente de caixa. Pode ser informado um caminho físico até o arquivo FDB, um caminho de rede ou até mesmo um alias devidamente configurado no Firebird. |
Charset=WIN1252 |
Configuração do Firebird para que seja utilizado caracteres de acentuação. |
Embedded=0 |
Descrição a seguir. |
Segue as configurações padrões de acesso ao banco de dados que é realizada no EasyCash. Um detalhe a chamar a atenção é a tag Embedded, que pode ser:
0 (Zero) → Quando setado para este valor significa que o banco de dados a ser utilizado pelo servidor será o
Firebird padrão devidamente instalado na máquina. É a opção de instalação padrão.
1 (Um) → Quando setado para este valor significa que o banco de dados a ser utilizado pelo servidor será o
Firebird Embedded(Embarcado) que não necessita de instalação na máquina do cliente, rodando direto de uma DLL.
b) Conexão com o equipamento SAT:
Trace=0 |
Habilita um log adicional para arquivar dados adicionais em relação as conexões executadas ao servidor. Utilizado para questões de suporte. Por padrão, vêm desabilitada. |
ServerPorta=5060 |
Porta que o servidor do SAT está operando. |
AcessoDLL=2 |
Forma de acesso as funções da DLL do SAT. Bematech e Sweda utiliza padrão 2, no caso de ser outro fabricante, verificar a configuração correta no manual do SAT. |
Porta=COM18 |
Porta do equipamento SAT |
Marca=BEMATECH |
Modelo do equipamento SAT |
NomeDLL=C:\IWS\EC\Client\SAT\BemaSAT32.dll |
Caminho da DLL do SAT que deve ficar dentro da pasta SAT. |
CodigoAtivacao=5F8181818383DA64E2 |
Código de ativação do SAT. Esse código de ativação é criptografado. |
SwHAssinatura=XXXXXXXX |
Esse é o vinculo entre CNPJ do cliente e o CNPJ da Software House criptografado e informado pela IWS conforme item anterior Associar Assinatura. |
PaginaDeCodigo=65001 |
Sistema trabalha com o padrão UTF-8. Verificar no manual do SAT se trabalha com esse padrão. |
VersaoDadosEnt=0,07 |
Versão do XML. Padrão do sistema de acordo com a SEFAZ. |
Opções
Iniciar Servidor
Ao acionar esta opção, fará com que o servidor do SAT inicie para receber conexão via rede do aplicativo EasyCash configurado para acessar o mesmo. Lembrando que o servidor já abre iniciado, então só deve ser utilizado caso a opção abaixo seja acionada primeiro.
É uma opção implementada para suporte ou manutenção de alguma informação. Deve ser utilizada com restrição.
Parar Servidor
Ao acionar esta opção, fará com que o servidor do SAT não receba mais conexão via rede do aplicativo EasyCash configurado para acessar o mesmo, parando o processamento das vendas.
É uma opção implementada para suporte ou manutenção de alguma informação. Deve ser utilizada com restrição.
Iniciar Processo
É uma opção implementada para suporte. Ao acionar esta opção, fará com que o
servidor inicie o processamento das requisições recebidas via rede do aplicativo
EasyCash configurado para acessar o mesmo. Lembrando que o servidor já abre com o processamento iniciado, então só deve ser utilizado caso a opção abaixo seja acionada primeiro.
É uma opção implementada para suporte ou manutenção de alguma informação. Deve ser utilizada com restrição.
Parar Processo
É uma opção implementada para suporte. Ao acionar esta opção, fará com que o servidor aceite as conexões do EasyCash configurado para acessar o mesmo mas não irá processar o comando enviado na requisição, fazendo com que o tempo expire(timeout).
É uma opção implementada para suporte ou manutenção de alguma informação. Deve ser utilizada com restrição.
Trocar Senha
Permite que o cliente defina sua própria senha para o servidor, para retringir o acesso a funções vitais do aplicativo, como por exemplo: Parar Servidor. É recomendável que cada cliente crie sua própria senha para que possa controlar o acesso a configurações sensíveis do servidor.
Fechar
Permite fechar o servidor. Deve ter cuidado ao acionar esta opção, sempre verificando se não existe nenhum caixa conectado, pois isso faria com que o processamento do comando do mesmo fosse interrompido. Se for uma venda, pode ocorrer problema no processamento.
SAT
Ferramentas
Vejas as funcionalidades através do link: Manual de Instrução SAT
Consulta de Lote
Permite consultar os CF-e emitidos nos últimos 30 dias no máximo. O cliente deve ter uma chave de segurança cadastrada no sistema SGRSAT da Secretaria da Fazenda do respectivo estado de atuação.
No caso do estado de São Paulo, para maiores informações a respeito deste procedimento consulte na seção Downloads o documento Manual para Consultar lotes enviados via Webservice (Estadual) no link: Portal SEFAZ SP#Downloads
Última Comunicação SEFAZ
Veja esta funcionalidade através do link: Manual de Instrução SAT
Validação de Conexão de Rede
Veja esta funcionalidade através do link: Manual de Instrução SAT
Aba Status Geral
Segue a descrição dos itens:
Mostra o IP da máquina cliente que está acessando o servidor.
Mostra a sessão associada a cada conexão que está processando no servidor.
Lista as requisições que estão ATIVO ou IDLE no banco de dados. No caso de utilizar o Firebird Embedded algumas informações deste grid são suprimidas.
Instruções que estão sendo processadas em tempo real no servidor. A cada refresh é mostrado no grid a data/hora, instrução processada e qual PDV requisitou.
Mostra a quantidade de memória física disponível da máquina em relação a quantidade de memória total sendo utilizada da máquina. Na segunda barra de progresso mostra a quantidade de memória utilizada pelo aplicativo do servidor em relação a quantidade de memória física total disponível. Lembrando que como trata-se de um servidor, a segunda barra de progresso deve ter ao longo do tempo uma variação mínima, alocando e desalocando(variando) de acordo com a necessidade.
Mostra a porta em que o servidor de aplicativo está em modo LISTENING e também a quantidade de conexões ativas no momento.
Mostra a porta do servidor do banco de dados em que o mesmo está em modo LISTENING e a quantidade de conexões ativas no momento.
Mostra a quantidade de comandos pendentes na fila de processamento do SAT.
Os três painéis mostra o status do servidor, do processo(processamento da fila) e do equipamento SAT(Recurso). Caso esteja verde significa que estão iniciados corretamente. Se apresentar a cor vermelha, significa que foi parado através do menu ou que no momento de iniciar automaticamente ocorreu algum erro.
O primeiro ícone será mostrado caso esteja utilizando o Firebird Embedded. O segundo ícone só é exibido em caso de teste em homologação. Para cliente final em produção não é utilizado.
Aba Recurso - SAT
É mostrado todos os dados do SAT, como tipo de rede, número de série, entre outros.
Aba Configuração
Para qualquer alteração efetuada nesta aba, o servidor deve ser reiniciado para que a mesma faça efeito.
Segue a descrição dos itens:
1. Permite trocar a porta do servidor em que os clientes EasyCash irão conectar. Caso efetue esta alteração deve-se alterar a configuração de porta no frente para o mesmo poder encontrar o servidor. Por padrão a porta do servidor é a 5060.
2.
Monitor Banco de Dados: Refere-se ao tempo em que será realizado o refresh na tela, verificando a quantidade de conexões ATIVO ou IDLE no Firebird.
Processar Requisição: Refere-se ao intervalo de tempo que o servidor irá esperar para verificar na fila de processamento do banco de dados se existe algum comando pendente para processar no SAT. Deve ser modificado com cautela.
3. Refere-se ao tempo de inatividade no fim de cada processamento da fila com o intuito de evitar erros no SAT, ou seja, o SAT terminou um processamento e está finalizando ainda os seus procedimentos internos e já recebe um novo comando, gerando o erro: “SAT em processamento. Tente novamente.”
4. Refere-se aos tempos de espera máximos que cada requisição do frente de caixa irá esperar antes de retornar timeout(tempo esgotado) para o operador.
Lembrando que caso o tempo de timeout seja setado, por exemplo, para 5 segundos e seja processado em 1 segundo, os outros 4 segundos não serão utilizados e a resposta já é retornada, ou seja, o processamento será em 1 segundo.
Para estes valores foi tomado como base estas duas diretrizes:
a) Os valores oficiais para o SAT do estado de São Paulo descritos no documento Especificação de Requisitos do SAT versão 02.18.08 na seção Especificação de Requisitos do SAT no link: Portal SEFAZ SP#Downloads
b) Os valores utilizados nos testes exaustivos efetuados pelo nosso departamento de Qualidade, levando em consideração variações na estrutura de rede.
Segue uma pequena descrição de cada comando e seu valor default para o servidor:
Associar Assinatura: Comando para associar o CNPJ da empresa que utilizará o SAT e a empresa desenvolvedora para identificação perante a SEFAZ. Tempo default: 20 segundos
Ativar SAT: Comando para poder efetuar a liberação do equipamento SAT junto a SEFAZ para utilização em produção. Neste processo o SAT recebe os parâmetros e diretrizes de trabalho. Tempo default: 300 segundos
Atualizar Software: Comando utilizado para receber uma nova versão do layout dos XML enviados para o webservice da SEFAZ caso exista algum disponível. Lembrando que o aplicativo comercial também deve ser compatível com a nova versão para comunicar com sucesso com o equipamento SAT. Tempo default: 1800 segundos
Bloquear SAT: Permite bloquear o SAT impossibilitando efetuar venda. Geralmente utilizado quando o mesmo irá ficar desativado por um longo período de tempo. Tempo default: 300 segundos
Consultar SAT: Comando para efetuar um teste rápido para sabermos se o SAT está em operação. Tempo default: 10 segundos
Desbloquear SAT: Comando para desbloquear o SAT caso o mesmo esteja no estado BLOQUEADO. Tempo default: 20 segundos
Enviar Dados Venda: Comando para enviar os dados para o SAT, para que o mesmo possa autenticar e retornar uma resposta. Tempo default: 10 segundos
Inicializado: Comando utilizado pelo framework interno do servidor para efetuar uma validação rápida se o componente do mesmo está habilitado. Tempo default: 30 segundos
Configurar Interface de Rede: Permite modificar as configurações de acesso a rede do SAT, como IP, Gateway,
DNS, proxy, entre outros. Tempo default:
20 segundos
Comunica Certificado ICP Brasil: Comando utilizado caso o cliente quiser enviar o seu próprio certificado devidamente registrado e homologado por uma entidade certificadora. No caso do estado de São Paulo a própria SEFAZ no momento do cadastro disponibiliza um certificado gratuito para autenticação e transmissão dos XML de venda. Tempo default: 30 segundos
Consultar Número Sessão: Comando para poder efetuar uma consulta utilizando o número de sessão, para poder visualizar o status de determinado CF-e associado ao mesmo na SEFAZ. Tempo default: 20 segundos
Consultar Status Operacional: Comando que permite obter um detalhamento completo das informações do SAT, como: Tipo de rede, IP,
DNS, Gateway, número de série, data e hora do SAT, data e hora da última comunicação com a SEFAZ, data de validade do certificado, status de trabalho do SAT, último CF-e transmitido para a SEFAZ, entre outros. Tempo default:
20 segundos
Cancelar Última Venda: Comando utilizado para poder efetuar o cancelamento de uma venda, respeitando o limite máximo de tempo de que o CF-e têm que ter sido emitido nos últimos 30 minutos. Tempo default: 10 segundos
Teste Fim-a-Fim: Comando utilizado para efetuar um teste completo de comunicação entre o aplicativo comercial, o SAT e a SEFAZ. Tempo default: 20 segundos
Trocar Código de Ativação: Comando que possibilita trocar o código de segurança do SAT cadastrado na ativação. Este código é utilizado em vários procedimentos no SAT. Tempo default: 20 segundos
Desinicializar: Comando utilizado pelo framework interno do servidor para desinicializar o componente de acesso ao SAT. Tempo default: 30 segundos
Inicializar: Comando utilizado pelo framework interno do servidor para inicializar o componente de acesso ao SAT. Tempo default: 30 segundos
Inicializa: Comando utilizado pelo framework interno do servidor para inicializar o componente de acesso ao SAT. É uma variação do comando anterior. Tempo default: 30 segundos
Extrair Log: Comando utilizado para extrair os logs de registro de atividade que o SAT mantêm, muito útil em caso de erro, onde é necessário saber informações detalhadas do procedimento. Tempo default: 20 segundos
5.
O botão Arquivo irá abrir o arquivo de texto com as configurações do servidor.
O botão Padrão seta nos campos desta aba os valores default do servidor.
O botão Salvar registra no banco de dados as alterações relativas a aba em questão. Caso seja uma configuração do arquivo INI do servidor, irá efetuar a gravação no mesmo.
Aba SAT
Aba Empresa
Os dados informados nesta aba devem ser os mesmos utilizados para a ativação do SAT. Caso contrário os CF-e serão rejeitados pelo equipamento.
Nesta aba deve constar as seguintes informações fidedignas da empresa que irá utilizar o equipamento:
Razão Social
Unidade Federativa
CNPJ
Inscrição Estadual
Inscrição Municipal
Regime Tributário
Watchdog
Junto com o servidor é distribuído um pequeno aplicativo que monitora o processamento do servidor. Sua função é validar se o servidor parar de responder por mais de 32 segundos(valor default). Caso isso ocorra o mesmo irá reiniciar o servidor automaticamente. É uma medida de segurança adicional para o servidor.
O valor default apresentado se refere ao tempo máximo de timeout de processamento dos comandos básicos do PDV no servidor somado a dois segundos adicionais de segurança.
Configurações do Cliente
Para que o PDV EasyCash trabalhe com o servidor, é necessário adicionar ou alterar as seguintes tags no arquivo 'EasyCash1.ini'. Seguem:
[SAT]
Remoto=0 |
Desabilita(0) ou habilita(1) o EasyCash para trabalhar com o servidor SAT. |
RemotoPorta=5060 |
Porta em que o servidor do EasyCash está em modo LISTENING. A porta padrão é 5060. |
RemotoHost=192.168.0.14 |
IP do host onde o servidor está sendo executado. |
RemotoConnectionTO=10000 |
Valor padrão em millisegundos do timeout de conexão. |
RemotoCommunicationTO=10000 |
Valor padrão em millisegundos do timeout de comunicação. |
easycash/manual_de_instrucao_servidor_sat.1527864012.txt.gz · Última modificação: 2018/06/01 14:40 por amonteiro