Ferramentas do usuário

Ferramentas do site


easycash:manual_de_instrucao_servidor_sat

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:

  1. PDV1 envia um COMANDO1 e o PDV2 envia um COMANDO2.
  2. Será aberta CONEXAO1 e CONEXAO2 no servidor com duas sessões associadas.
  3. Na fila do banco de dados do servidor será gravada COMANDO1 e COMANDO2.
  4. 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.
  5. 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:

  1. Mostra o IP da máquina cliente que está acessando o servidor.
  2. Mostra a sessão associada a cada conexão que está processando no servidor.
  3. 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.
  4. 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.
  5. 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.
  6. Mostra a porta em que o servidor de aplicativo está em modo LISTENING e também a quantidade de conexões ativas no momento.
  7. 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.
  8. Mostra a quantidade de comandos pendentes na fila de processamento do SAT.
  9. 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.
  10. 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

Veja esta funcionalidade através do link: Manual de Instrução SAT#Configurações do Equipamento 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.1527861576.txt.gz · Última modificação: 2018/06/01 13:59 por amonteiro