Integração
Referenciado por: Predefinição:Artigos parceiros | Comunicação | Integração | Página principal | Roteiro de Treinamento para Processo de Integração | Teste2 | Teste5 |
Conceito
A rotina de integração com o Synchro - através de um sistema próprio da Saraiva - consiste em exportar os dados fiscais diariamente através do Totali Export.
Os dados fiscais são mapas resumos dos cupons fiscal realizados no Commerce Checkout.
Na pratica, os dados exportados são semelhantes aos do registro C400 e filhos do Sped Fiscal.

Mapa Resumo
Para esta exportação foi criado no sistema o conceito de mapa resumo. O mapa resumo é o conjunto de cupons fiscais gerados para uma filial em um determinado dia.
Ele precisa ser mandado para o Synchro sempre de forma consistente, por isso, só é exportado o mapa resumo do dia em que todos os ECFs estão fechados.
Totali Export
Os dados serão exportados diariamente mediante agendamento do Totali Export.
"TTExport.exe" SYNCHRO
Tela de Integração com Synchro
Tela está disponível no Totali Backoffice, na opção:
Menu >> Comunicação >> Integração >> Synchro
A tela guarda em um arquivo .ini os filtros utilizados na última pesquisa.
Filtros
A tela possui filtros de filial e data para que não precise exportar todos os dados.
Dados de Conexão com Synchro
Onde estão as tabelas do Synchro.
Na Saraiva elas ficam em um usuário chamado INTERFACE no mesmo banco que o Totali Commerce.
Outras Opções
- Enviar Mapas Resumos Já Exportados: Exporta os dados para o Synchro independente se já foram exportados (TT_MPR.EXPORT e TR_ECF.EXPORT).
- Mostrar log detalhado: Além das mensagens de erro que o sistema já trás sem que esta opção esteja marcada, trás mensagens indicando em que processo da integração o sistema se encontra. Serve para facilitar a identificação de uma possível demora ou erro.
Grid
Possui dados do mapa resumo: número e se já foi exportado.
Possui dados da redução Z: identificação, valores movimentados, se já foi exportada e situação do fechamento.
Botões
- Pesquisar: O sistema calcula a numeração para TODOS os mapas resumos que ainda não foram processados. E trás a situação do período filtrado no grid.
- Cancelar: Volta para a situação de pesquisa.
- Exportar: Manda os dados para as tabelas do sistema do Synchro.

Contingência (Reenvio de Mapas)
Caso seja necessário gerar os mapas exportados com sucesso novamente, é necessário que o usuário garanta que os mesmos tenham sido excluídos no sistema destino.
A tela exportará os dados como se fosse da primeira vez.
Para executar o processo bastar marcar a opção Enviar Mapas Resumos Já Exportados no momento da pesquisa.
Dicionário de Dados
Tabelas do Totali Commerce
Tabelas para Consulta
- TT_MPR: Mapas Resumos.
select codfil, datope, numero, export from tt_mpr
- TD_FIL: Configura o mapa resumo inicial da filial.
select codfil, mprini from td_fil
- TD_ECF: Configura a redução Z inicial e qual faixa de intervenção que o ECF se encontra.
select filecf, numecf, crzini, interv from td_ecf
- TT_VEN: As vendas envolvidas são só de cupons fiscais.
select * from tt_ven where codser = 'CF'
Tabelas para Gravação
- TR_ECF: Grava EXPORT = 'T'.
- TT_MPR: Grava EXPORT = 'T'.
Tabelas do Synchro
Tabelas para Consulta
- SAR_MERCADORIA: Tabela de mercadorias.
SAR_MERCADORIA.Prod_CD = TT_GRA.CODEXT
- SAR_FILIAL: Tabela de Filiais.
SAR_FILIAL.Fili_CD = TT_ECF.CODFIL
- SAR_EQUIPAMENTO_ECF: Tabela de ECFs.
SAR_EQUIPAMENTO_ECF.Cnpj_Estabelecimento = TT_ECF.CODFIL -> TD_FIL.CGCFIL SAR_EQUIPAMENTO_ECF.Serie_Equipamento = TT_ECF.SERECF SAR_EQUIPAMENTO_ECF.Modelo_Cupom = TT_ECF.MODNOT
Tabelas para Gravação
- SAR_ITF_DOF: Tabela de Mapas Resumos.
- SAR_ITF_IDF: Tabela de Famílias de Produtos por Mapa Resumo.
SAR_MERCADORIA.Familia_Codigo
- SAR_SYNITF_LEITURA_Z: Tabela de Reduções Z.
- SAR_SYNITF_FISCAL_SIT: Tabela de Totalizadores por ECF.
- SAR_SYNITF_ECF_ITEM: Tabela de Itens de Cupom Fiscal.
Consistência dos Dados
A exportação foi concebida em um ambiente que a Saraiva gera apenas CF e os descontos são concedidos no item. Os valores a seguir foram validados pelos técnicos Eduardo Kurita e Roberval Lopes da própria Saraiva.
Redução Z
Baseando-se na redução Z da filial 201, do ECF 001, da data 06/01/2011, pode-se consultar os seguintes valores:
| Redução Z | ![]() | |
|---|---|---|
| FILIAL | 201 | |
| DATA | 06/01/2011 | |
| Totalizadores | ||
| TOTALIZADOR GERAL | 89132,60 | |
| VENDA BRUTA DIÁRIA | 6452,20 | |
| CANCELAMENTO ICMS | 185,80 | |
| DESCONTO ICMS | 1253,28 | |
| ICMS | ||
| I1 | 5013,12 | |
-- Totalizadores select * from tt_ecf where codfil = '201' and vlrtot > 0 and datope = '06/01/2011'
-- Grand Totais select gt_fim, gt_fim-gt_ini from tr_ecf where codfil = '201' and datope = '06/01/2011'
Tabelas, Campos e Valores
SAR_ITF_DOF
| TABELA | COLUNA | ORIGEM | VALOR | CONCEITO |
|---|---|---|---|---|
| SAR_ITF_DOF | PRECO_TOTAL_M | SUM(SAR_ITF_IDF.PRECO_TOTAL) | 6266,40 | Sistema calcula a partir dos dados da SAR_ITF_IDF |
| VL_AJUSTE_PRECO_TOTAL_M | SUM(SAR_ITF_IDF.VL_AJUSTE_PRECO_TOTAL) | -1253,28 | ||
| VL_TOTAL_CONTABIL | SUM(SAR_ITF_IDF.VL_CONTABIL) | 5013,12 | ||
| VL_TOTAL_FATURADO | SUM(SAR_ITF_IDF.VL_FATURADO | 5013,12 |
-- DOFs select preco_total_m, vl_ajuste_preco_total_m, vl_total_contabil, vl_total_faturado from "INTERFACE".sar_itf_dof where dof_import_numero like '01ECF6050013900071106012011%'
SAR_ITF_IDF
| TABELA | COLUNA | ORIGEM | VALOR | CONCEITO |
|---|---|---|---|---|
| SAR_ITF_IDF | PRECO_UNITARIO | TItemNFEmitida.VlrBru | 6266,40 | Valor bruto da venda (líquido + desconto) |
| QTD | 1 | 1 | Como o registro é um agrupamento por família de produto, não faz sentido trazer a quantidade vendida realmente. | |
| PRECO_TOTAL | QTD * PRECO_UNITARIO | 6266,40 | ||
| VL_AJUSTE_PRECO_TOTAL | TItemNFEmitida.VlrDesTotal * -1 | -1253,28 | ||
| VL_CONTABIL | PRECO_TOTAL + VL_AJUSTE_PRECO_TOTAL | 5013,12 | ||
| VL_FATURADO | PRECO_TOTAL + VL_AJUSTE_PRECO_TOTAL | 5013,12 | ||
| VL_FISCAL | PRECO_TOTAL + VL_AJUSTE_PRECO_TOTAL | 5013,12 |
IDFs select sum(preco_unitario), max(qtd), sum(preco_total), sum(vl_ajuste_preco_total), sum(vl_contabil), sum(vl_faturado), sum(vl_fiscal) from "INTERFACE".sar_itf_idf where dof_import_numero like '01ECF6050013900071106012011%'
SAR_SYNITF_LEITURA_Z
| TABELA | COLUNA | ORIGEM | VALOR | CONCEITO |
|---|---|---|---|---|
| SAR_SYNITF_LEITURA_Z | VL_TOT_GER_FIM | TReducaoZ.Gt_fim | 89132,60 | VL_TOT_GER_FIM - VL_TOT_GER_INI deve bater com o TOTALIZADOR GERAL. |
| VL_TOT_GER_INI | TReducaoZ.Gt_ini | 82680,40 |
-- Leitura_Z select VL_TOT_GER_FIM-VL_TOT_GER_INI, VL_TOT_GER_FIM, VL_TOT_GER_INI from "INTERFACE".SAR_SYNITF_LEITURA_Z where dt_movimento = '06/01/2011' and est_codigo = '60500139000711'
SAR_SYNITF_FISCAL_SIT
| TABELA | COLUNA | ORIGEM | VALOR | CONCEITO |
|---|---|---|---|---|
| SAR_SYNITF_FISCAL_SIT | VL_TOT_ACUL | ISEN -> TItemNFEmitida.VlrLiqRateado | 5013,12 | Dados da interface FISCAL_SIT precisam bater com os totalizadores do ECF. |
| DESC -> TItemNFEmitida.VlrDesTotal | 1253,28 | |||
| CANC -> TItemNFEmitida.VlrBru | 185,80 |
-- Fiscal_Sit select sit_TRIBUT, VL_TOT_ACUL from "INTERFACE".SAR_SYNITF_FISCAL_SIT where dt_movimento = '06/01/2011' and est_codigo = '60500139000711' order by sit_tribut desc
SAR_SYNITF_ECF_ITEM
| TABELA | COLUNA | ORIGEM | VALOR | CONCEITO |
|---|---|---|---|---|
| SAR_SYNITF_ECF_ITEM | VL_UNITARIO | ISEN -> TItemNFEmitida.VlrBruUni | 6266,40 | Valor Bruto (ISENTO + DESC) |
| DESC -> TItemNFEmitida.VlrDesTotalUni | 1253,28 | Quando o item tem desconto são mandados dois registros do mesmo item (TT_IVE.NUMITE). Um registro para o ISEN e outro para o DESC. | ||
| CANC -> TItemNFEmitida.VlrBruUni | 185,80 | |||
| QTD | ISEN -> TItemNFEmitida.Qtdmov | 80 | ||
| DESC -> TItemNFEmitida.Qtdmov | 82 | |||
| CANC -> TItemNFEmitida.Qtdmov | 2 |
-- Ecf_Item select sit_tribut, sum(vl_unitario*qtd), sum(qtd) from "INTERFACE".SAR_SYNITF_ECF_ITEM where trunc(dt_emissao) = '06/01/2011'
and est_codigo = '60500139000711' group by sit_tribut order by sit_tribut desc
Intervenção Fiscal
Caso ocorra uma intervenção fiscal em que a TR_ECF.INTERV seja modificada, é necessário configurar para aquele ECF (TD_ECF) qual será, a partir daquele momento, o Número de Intervenção (TD_ECF.INTERV) e a Redução Z Inicial (TD_ECF.CRZINI).
Isso pode ser feito com o seguinte comando:
update td_ecf set interv = <TR_ECF.INTERV>, crzini = <TR_ECF.CNT_RZ> where filecf = <TR_ECF.CODFIL> and numecf = <TR_ECF.NUMECF>
Observação: os dados são da redução Z que possui a nova numeração de intervenção.
Exportação de Redução Z com Valor Líquido Zerado
Em Jan/2013 processo foi modificado para gerar registros nas tabelas sar_synitf_leitura_z e sar_synitf_fiscal_sit das reduções Z que não tenham valor líquido GT_FIM - GT_INI - DESC - CANC = 0.
Ou seja, nesse caso não geramos mapa resumo, apenas exportamos os dados daquela redução Z.
