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
Pwd=XXXXXXXXXXXXXXXXXXXX
Path=C:\IWS\EC\BD\SERVER_SAT.fdb
Charset=WIN1252
Embedded=0
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:
[SAT]
AcessoDLL=2
ServerPorta=5060
Trace=0
Marca=BEMATECH
Porta=COM1
NomeDLL=C:\IWS\EC\SAT\BemaSAT32.dll
CodigoAtivacao=XXXXXXXXXXXXXXXXXXXX
SwHAssinatura=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
PaginaDeCodigo=65001
VersaoDadosEnt=0,07
Segue as configurações padrões do SAT que é realizada no EasyCash. Com dois adendos:
- ServerPorta: Porta que o servidor do SAT está operando.
- Trace: 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.
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.
easycash/manual_de_instrucao_servidor_sat.1501854748.txt.gz · Última modificação: 2017/08/04 13:52 por amonteiro