A definição

O projeto DocFiscAll consiste numa solução para documentos fiscais eletrônicos dos modelos SPED 55 (NF-e) e 65 (NFC-e), incluindo os casos de notas mistas, como já realizadas no Distrito Federal e em Manaus (AM), visando maior agilidade e confiabilidade nas etapas de venda de produtos e serviços e check-out dos hóspedes.


A arquitetura utilizada

O projeto trabalha com plugins que fazem a emissão dos documentos e a sincronização, tanto destes documentos, quanto das informações cadastrais de itens, empresas, regras tributárias, parâmetros e outros com a base de dados utilizada pelo sistema Hotal Full, onde estão contidos os módulos VHF e FiscAll Flex (Oracle ou SQL Server) com um banco de dados secundário localizado no servidor da unidade, o qual será apresentado mais abaixo.

Sua composição é dada por:

  1. API DocFiscal;
  2. API FiscAllFlex;
  3. Robot (Robô);
  4. Banco de dados DOCFISCAL.



A API DocFiscal:  
A API DocFiscal é preparada para receber as informações dos PDVs TOTVS, da ferramenta Lançador (VHF) ou PDVs de terceiros. Após o recebimento das informações das vendas realizadas, a mesma faz a transmissão ou o cancelamento destes documentos para a respectiva Secretaria de Fazenda e faz consultas sobre situação dos documentos enviados, gravando as respostas das consultas na base de dados local.


O plugin Robot (Robô): 
O plugin Robot faz consultas regulares sobre atualizações de informações em ambos os bancos de dados e garante a simetria de informações entre os mesmos. Desta forma, quando são emitidos ou alterados os documentos fiscais na base de dados DOCFISCAL, estes serão sincronizados para a base de dados do Hotal Full. Quando forem feitas alterações em cadastros e parâmetros no banco de dados do Hotal Full que afetem a emissão de documentos fiscais, o plugin será responsável por escrever tais informações no banco de dados DOCFISCAL.
Sua operação é dada por meio de tarefas agendadas e repetidas em períodos regulares, as quais são configuradas em um painel dentro da aplicação. Esta configuração será demonstrada no decorrer deste artigo.


— A API FiscAllFlex:  
A API FiscAllFlex é responsável por receber as informações enviadas pelo Robot e conceder respostas às consultas realizadas pelo mesmo, viabilizando a sincronização entre os bancos de dados Oracle/SQL Server com o banco de dados DOCFISCAL (MongoDB).


O banco de dados DOCFISCAL: 

O banco de dados DOCFISCAL armazena as informações utilizando o modelo de banco de dados não-relacional. Neste projeto, foi utilizado o Sistema Gerenciador de Banco de Dados (SGBD) MongoDB visando maior velocidade nas transações e reduzindo a possibilidade de perda de pacotes, traduzindo segurança e confiabilidade às operações.


A instalação

O projeto DocFiscal é de fácil instalação e não há a necessidade de ter um ambiente MongoDB previamente criado. Os arquivos deste projeto estarão inclusos no mesmo pacote de instalação do Hotal Full, disponível na Central de Downloads da TOTVS. Contudo, sua utilização é restrita às empresas que tenham contratado esta solução.


Instalação da API DocFiscall

  1. Acesse a pasta raiz do Hotal Full (por padrão, o caminho é C:\TOTVS\Hoteis) e clique com o botão direito do mouse sobre o arquivo WSPluginDocFiscal.exe e clique em .
    Observação: Este é o programa que fará o download dos instaladores do MongoDB.
  2. Digite no campo Porta a porta que será usada pela aplicação e clique no botão .
    Observações:
    1. A porta utilizada é de livre escolha e não pode possuir restrições, como de Firewall, antivírus ou proxy, por exemplo.
    2. Não é necessário informar o usuário e senha do Windows para instalar o serviço.
      Caso não informe, o serviço será instalado para o usuário System (Windows).
      Caso informe, o serviço será instalado para este usuário específico.
  3. Acesse a guia Arquivos e selecione as pastas onde deseja salvar cada um dos tipos clicando no botão
  4. Clique no botão .

Depois de configurada, a API terá suas informações preenchidas como o exemplo exibido a seguir:


A configuração de emissão de documentos a partir do VHF

  1. Acesse o módulo GlobalCM.
  2. Na barra de ferramentas, acesse o menu Fiscall Service  DocFiscall → Parâmetros.
  3. Clique em Inserir.
  4. Insira a empresa, os modelos de documento de produto e de serviço e a série a ser utilizada para a emissão.
  5. Nas guias Reservas IndividuaisReservas GruposEventosContas Avulsas informe o tempo (minutos) em que serão feitas as verificações das contas para emissão de notas. Por padrão, o tempo é de 30 minutos, mas pode ser alterado.
  6. Na guia Configuração de emissão, no campo URL Servidor, insira o IP e porta do computador que estará executando a API DocFiscall, seguido de /hotal-api/docfiscal/.
    Por exemplo: http://127.0.0.1:213/hotal-api/docfiscal/
    Onde: 127.0.0.1 é o IP do computador;
               213 é a porta definida no passo 2 do tópico A instalação da API DocFiscall;
               /hotal-api/docfiscal/ é o endereço da API.
  7. Preencha o campo Grupo de Usuário para recebimento de Mensagem de Erro.
  8. Na guia Dados Emitente, informe os dados de sua empresa.
  9. Clique em Confirmar.

A instalação da API FiscAllFlex

  1. Volte à pasta raiz do Hotal Full e clique com o botão direito do mouse sobre no arquivo WSPluginFiscAllFlex.exe e clique em .
  2. Digite no campo Porta a porta que será usada pela aplicação e clique no botão .
    Observações:
    1. A porta utilizada é de livre escolha e não pode possuir restrições, como de Firewall, antivírus ou proxy, por exemplo.
    2. Não é necessário informar o usuário e senha do Windows para instalar o serviço.
      Caso não informe, o serviço será instalado para o usuário System (Windows).
      Caso informe, o serviço será instalado para este usuário específico.
  3. Selecione o tipo de banco utilizado pelo Hotal Full (Oracle ou SQL Server).
  4. Preencha o campo Host com o endereço de rede do servidor do banco de dados do Hotal Full.
  5. Preencha o campo Alias com o nome do banco de dados do Hotal Full.
  6. Preencha o campo Usuário com o nome de usuário que é utilizado para login no FiscAll Flex.
  7. Preencha o campo Senha com a senha do usuário que é utilizado para login no FiscAll Flex.
  8. Clique no botão .


A instalação do ambiente do banco de dados MongoDB

  1. Acesse a pasta raiz do Hotal Full e clique com o botão direito do mouse sobre o arquivo WSPluginDocFiscal.exe e clique em .
  2. Clique no botão e aguarde o download. Neste momento, estão sendo baixados os instaladores do MongoDB e do Robo3T, que é uma aplicação gratuita para gerenciamento e manipulação do banco de dados MongoDB.
    A seguinte tela será exibida:



  3. Terminado o download dos dois instaladores, avance com a instalação dos dois, sem ordem pré-definida. Neste artigo, será iniciada a instalação do MongoDB, destacada pelo ícone  na barra de tarefas do Windows. Na tela que se abre, clique em Next.



  4. Marque a opção "I accept the thermos in the License Agreement" e clique em .

  5. Clique em na tela que irá se abrir:



  6. Clique em  na tela a seguir.

  7. Desmarque a opção "Install MongoDB Compass" caso não faça o uso da ferramenta para outras finalidades e clique em .

  8. Na próxima tela, clique em .
  9. Quando a tela a seguir for exibida, a instalação foi concluída. Para sair, clique em .

  10. Terminada a instalação do MongoDB, inicie a instalação do Robo 3T clicando no ícone  em sua barra de tarefas.
  11. Na tela abaixo, clique em .

  12. Na próxima tela, leia o Acordo da Licença e caso concorde, clique em .



  13. Se quiser alterar o local de instalação, escolha a pasta de destino clicando em  e  depois clique em .



  14. Na próxima tela, clique em .

  15. Desmarque a opção "Executar Robo 3T 1.3.1" e clique em 


A instalação do Robot

  1. Na pasta raiz do Hotal Full, clique com o botão direito do mouse sobre o arquivo PluginRobot.exe e clique em .
  2. No campo Intervalo Geral recomenda-se manter o valor de 5000. Este valor é expresso em milissegundos (ms) e é o tempo de intervalo para a verificação das datas de execução de cada uma das tarefas. A configuração das tarefas será detalhada mais a frente, ainda neste artigo.

  3. Na janela Robot, que será aberta, clique na guia Conexão.
  4. Selecione o tipo de banco utilizado pelo Hotal Full (Oracle ou SQL Server).
  5. Preencha o campo Host com o endereço de rede do servidor do banco de dados do Hotal Full.
  6. Preencha o campo Alias com o nome do banco de dados do Hotal Full.
  7. Preencha o campo Usuário com o nome de usuário que é utilizado para login no FiscAll Flex.
  8. Preencha o campo Senha com a senha do usuário que é utilizado para login no FiscAll Flex.
  9. Mantenha os campos Limpar Sessão, Expirar Sessão e Máximo de Conexões com o valor padrão (zero - 0) e as opções Multiplas Conexões e Usuário Fixo desmarcadas.
  10. Retorne à guia Serviços.
  11. Clique no botão .
  12. Na janela que abrirá, clique no botão . Será aberta uma janela como esta:



  13. Clique duas vezes sobre uma linha. Neste exemplo, a linha DocFiscal Sincroniza Empresas recebeu dois cliques. Em seguida, é exibida esta tela:



  14. Clique, então, no botão .
  15. Repita os passos 10, 11, 12 e 13 até que todos os serviços tenham sidos selecionados.
  16. Após a realização do passo 14, clique no botão .

  17. Clique no botão  e será exibido o seguinte pop-up no canto inferior direito de sua tela:



  18. A partir deste momento, o serviço Robot já está funcionando corretamente.