Árvore de páginas

CONTEÚDO


1. Visão Geral


Visão Geral

O TVFR RETAGUARDA é um sistema de BackOffice gerencial para loja, que tem por finalidade auxiliar a gestão de negócio das Franquias e a interação entre Franqueado e Franqueadora, armazenando os dados de cada loja em um servidor com alto nível de segurança, além da disponibilidade de consulta Online (Cloud) 24 horas por dia. 


                                            



2. Estrutura Principal - Client e Server


Estrutura Principal

O RETAGUARDA é dividido em duas camadas principais, Server e Client:

 

Camada Client:

Esta solução é embarcada junto ao PDV no computador da loja ou pode ser acessado via ClickOnce por uma URL.

Aplicação Retaguarda:

  • Aplicação desktop que utiliza as tecnologias .NET Windows Forms (Framework 3.5) + DevExpress 8.2 e distribuído via ClickOnce;
  • Possuí solução StandAlone, distribuído junto ao pacote de instalação do PDV;


Camada Server:

Solução SaaS composto por Servidores Windows Server de aplicação, fila (integração de dados) e Banco de dados SQL Server 2012 ou superior.


Servidor de Aplicação:

  • APIs de interface + Integrações
  • Composto pelos serviços WCFs (.NET Framework 4.7.1)  que são consumidos pelos PDVs e pela Aplicação de Retaguarda, mais os bancos de dados de cadastro (SQL Server 2016). 

Servidor de fila (Integração dos dados):

  • Processamento das filas das transações geradas pelos PDVs na lojas.
  • Envio e recebimento de dados com o PDV via Taskmananger;
  • Envio e recebimento de dados via integrações com sistemas externos;
  • Composto pelos serviços WCFs (.Net Framework 4.7.1)  para subida de vendas, serviços backgroud de processamento das filas e bancos de controle (SQL Server 2016). 

2.1 Arquitetura do Sistema

Abaixo segue a estrutura e entre RETAGUARDA Server e Client:



O Taskmananger instalado junto ao PDV é responsável por executar as tarefas que efetuam as integrações de subida e descida com o Retaguarda. Atualmente essa integração ocorre a cada 10 minutos.

Integração de dados que são enviados para o PDV:

  • Parâmetros Gerais;
  • Setup de configuração;
  • Certificado A3; (Autorização de venda)
  • Produtos;
  • Kit Produto;
  • Identificação Produto;
  • Estoque dos produtos;
  • Tributos dos produtos para venda;
  • Preço de venda;
  • NCM;
  • Motivos de desconto/Acréscimo;
  • Formas de pagamento e produtos eletrônicos;
  • Funcionários;
  • Clientes;
  • Fornecedores;
  • Cidade;
  • Estado;
  • Carta LGPD;
  • Configuração LGPD;
  • Modalidade de venda;
  • Campanha promocional;
  • Promoção SMS;

Integração de dados que são recebidos do PDV:

  • Abertura de caixa;
  • Movimentações de caixa;
  • Fechamento de caixa;
  • Cadastro de Cliente;
  • Venda;
  • Pagamento de venda;
  • XML de venda;
  • Redução Z;


Para as baixas no PDV, existe um controle de tempo de baixa para cada tipo de integração para cada loja, ou seja, mesmo o serviço sendo executado no PDV a cada 10 minutos, o server pode não ter disponibilizado a informação para que a baixa aconteça.

Atualmente este controle é feito por duas tabelas do banco Rentech. 

A tabela LoteAgendamento e LoteAgendamentoExterno (PDV Omni) ou fica a configuração em minutos em que cada uma das integrações terá a informação disponibilizada.


As configurações atuais (podem sofrer alteração) estão da seguinte forma:

TipoMinutos
Cliente120
Estoque10
Fidelidade150
Fornecedor180
Funcionario60
MotivoTD120
Preco60
PreVenda10
Produto90
TipoAltPG120
TipoDesc120
TributoECF60
Kit60
CampanhaLive60
RegraDesc60
PisCofins120
TributoNCM60
Estado480
Cidade480
SaldoFCP120
IcmsEst120
IcmsRet120
CanalVenda300
Modalidade300
CartaConsentimento300
DadosLGPD300


Na tabela lotecontrole e LoteControleExterno (PDV Omni) é controlado a última baixa de cada loja para identificar se poderá disponibilizar novos dados para baixa.


Quando a loja esta na tabela LoteExcecao e LoteExcecaoExterno (PDV Omni) ela não irá respeitar o tempo para disponibilizar os dados, fazendo com que a cada requisição do PDV a integração ocorra.
A loja entra nesta tabela no processo de instalação de PDV ou manualmente pelo time de suporte quando ocorre algum problema ou necessidade.


3. Arquitetura de Dados

Conceito de Franquias e Redes:


O acesso aos dados é controlado hierarquicamente, ou seja, os dados que pertencem à uma central ou a máster  não podem ser visualizados por uma entidade que esteja abaixo na árvore  de hierarquia se os dados forem privados. Porém se estes dados são públicos a visualização é possível.



 Integração com sistemas TOTVS


Abaixo será apresentado outras soluções TOTVS que fazem parte do ecossistema do RETAGUARDA:





SOLUÇÕES ENVOLVIDAS:


TVFR Gerenciador de serviços (GSW):

Responsável por gerenciar e cadastrar os domínios do Retaguarda e associar as licenças de uso do Retaguarda e PDV para cada domínios.
Nele é criado os pacotes comerciais e associado aos domínios, são as rotinas do RETAGUARDA que cada domínio pode ter acesso.


TVFR Report Service (Relatórios):

Solução complementar no RETAGUARDA para apresentar os relatórios disponíveis no módulo Relatórios e Consultas→Relatórios:


TVFR Fiscal Cloud:
É o núcleo da Plataforma Fiscal, sendo o responsável por gerar e assinar digitalmente os arquivos XML para emissão da NF-e. Ele também gerencia as notas emitidas e autorizadas bem como realizar a impressão da DANFE quando necessário.
O RETAGUARDA integra dados da NF-e, Cancelamento de NF-e, inutilização de NF-e para ser autorizada e emitida na SEFAZ.


TVFR GDI:
Solução Web onde permite criar uma conexão com banco do RETAGUARDA para desenvolver relatórios customizados.


TVFR Fidelidade:
O TVFR FIDELIDADE é uma solução para fidelizar os clientes  da marca em conjunto a um programa de pontuação, trazendo opções troca de pontos por desconto, produtos ou brindes. 
O RETAGUARDA no momento do cadastro de Funcionário, é integrado via API o funcionário na base do Fidelidade para participar do programa.

Pela integração 200 destacada no item 5.3 deste documento, , ocorre o envio de dados de Produtos e Lojas para o Fidelidade via API.

TVFR Mozart (Mensageria):

Solução de mensageria responsável por gerenciar, receber e enviar "mensagens" que serão integradas entre sistemas.
O Retaguarda enfileira os dados de estoque no Mozart que irá enviar para OMS Linx pelo fluxo "StockTurnover":



5. Integração com soluções Externas - Boticário


5.1 Diretório da integração


A pasta IntegracaoLive é o diretório onde atualmente estão as integrações que temos no Boticário.
Antigamente elas ficavam no diretório IntegracaoSAP. Ainda temos na pasta integração SAP alguns serviços que são utilizados pela Associação do Boticário, por esse motivo, ao gerar um pacote das integrações, também temos que incluir essa Solution IntegracaoSAP.



5.2 Taskmananger - Gerenciador de tarefas 

Existe um Controller para cada integração que faz o papel de um middler entre o TaskManager e o código da integração.
Dentro da pasta Queue do Taskmanager existe um executável chamado Bematech.IntegracaoLive.ExecutaTarefas.exe, que é chamado pelas tarefas do Taskmanager, ou seja, nos arquivos de configuração dentro da pasta Tasks, onde as rotinas de cada integração serão executadas:


Pasta queue:


5.3 Mapeamento das Integrações



Abaixo segue a solução de integração com o número da tarefa do taskmananger:

Retail App - O Retail APP é a solução do parceiro TOTVS para apresentar os principais cockpits de forma mobile. 

    (10001) Venda
    (10002) Pagamento
    (10003) Estoque
    (10004) Operadores
    
Loja Associação (Inativa)

    (901) Preço
    (900) Produto
    (903) Pré-Venda
    (902) Cliente
    (904) Situação Pré-Venda
    (905) Estoque
    
Hana - Integração com o Hana do Boticário.

    (1100) Cupom (A cada 1 minuto)
    (1101) Vendas SellOut (A cada 1 minuto)
    (1102) Cancelamento Vendas SellOut (A cada 1 minuto)
    (1103) Devolução Vendas SellOut (A cada 1 minuto)
    (1110) Cancelamento (A cada 1 minuto)
    (1120) Devolução (A cada 1 minuto)
    (1130) Cancelamento Devolução (A cada 1 minuto)
    (1140) GiftCard (A cada 1 minuto)
    (1150) Redução Z (A cada 2 minutos)
    (1160) Reprocessamento (A cada 2 minutos)
    (1170) NFCe (A cada 2 minutos)
    (1180) Autorização - (Inativa)
    (1190) Fechamento - (Inativa)
    

Exemplo de Fluxo de integração com HANA:


  
NeoGrid - Integração de Pedidos
    (4000) Gerar, processa e Consulta Ticket (A cada 10 minutos)
    
Gera 
    (1398) Nota Fiscal Recebimento (A cada 1 minuto)
    (1400) Nota Fiscal Processamento (A cada 1 minuto)
    (1399) Nota Fiscal Envio Status (A cada 1 minuto)
    (1403) Cancelamento Nota Fiscal Recebimento (A cada 2 minutos)
    (1401) Cancelamento Nota Fiscal Processamento (A cada 2 minutos)
    (1404) Cancelamento Nota Fiscal Envio Status (A cada 2 minutos)
    (1500) Estoque (A cada 2 minutos)
    (1502) Reprocessamento Estoque (A cada 2 minutos)
    (1501) Inventário (A cada 2 minutos)
    (1503) Reprocessamento Inventário (A cada 2 minutos)
    (1405) Impostos Produtos (A cada 2 minutos)
    (1402) Processamento Títulos Financeiros (A cada 5 minutos)
    

Exemplo de integração com Gera:



SAP  - Integração com o SAP Boticário
    (600) Enviar Inclusão Programações Condições Pagamento Pedido (A cada 10 minutos)
    (601) Receber Condições Pagamento (A cada 30 minutos)
    (400) Recebe Franquias - Lojas (A cada120 minutos)
    (100) Inclusão Pedido (A cada 2 minutos)
    (101) Alteração Pedido (A cada 2 minutos)
    (102) Cancelamento Pedido (A cada 10 minutos)
    (103) Posição Ordem Venda Pedido (A cada 10 minutos)
    (104) Restrição de Produtos para Pedido (A cada 60 minutos)
    (200) Produto e envio de Loja e Produto ao TVFR Fidelidade (A cada 60 minutos)
    (300) Preço (A cada 30 minutos)
    (500) Receber Distribuidores (A cada 360 minutos)

Exemplo do fluxo de integração de Pedido:



    

Usuário - Botiweb (extranet)
    (402) Usuários

Usuários - IDEA
    (403) Consulta Usuário IDEA
    (404) Inserir Usuário IDEA
    (405) Alterar Usuário IDEA
    (406) Consulta Lista Usuário IDEA
    (407) Consulta Lista Domínios IDEA
    (408) Alterar Campos Usuário IDEA
    
Estoque
    (4002) Receber Estoque para inventário  (Sob demanda)
    (4003) Processar Estoque para inventário (A cada 10 minutos)
    (4004) API Consulta Saldo do Estoque de determinada Loja

5.3 Tabelas e Logs das integrações

A tabela InterfaceIntegracao é uma tabela de configuração das integrações e APIs e dentre várias possibilidades de configurações uma delas é a coluna “Ativo”, que determina se uma integração está ativa ou não.

Ao desativar uma determinada interface, o processo dela continua rodando no Taskmanager, porém o código da mesma não é executado, pois existe no inicio do código uma validação para identificar se a integração está ativa.

Exemplo de log de uma determinada interface desativada:



Conforme exemplo mostrado, o log é gravado na tabela logintegracao e é possível referenciar na coluna tipomodulo o código da integração. Este código é o mesmo informado em cada uma das integrações deste documento. 
Algumas integrações podem não gravar informações nesta tabela devido a não nescessidade.


As tabelas ticket e conteudoticket são usadas para dados enviados nas integrações com SAP, gravando o conteúdo enviado ou recebido.