01. DADOS GERAIS

Linha de Produto:Microsiga Protheus
Segmento:Varejo
Módulo:SigaLoja - Controle de Loja
Função:

RmiBusca - Serviço controlador de buscas

RmiBuscaObj - Classe responsável por buscar informações

RmiBusChefObj- Classe responsável por buscar informações com particularidades do Totvs Chef.


02. SITUAÇÃO/REQUISITO

Disponibilizar um serviço que efetue a busca de Vendas no Assinante Chef.

03. SOLUÇÃO

Criado serviço RmiBusca, que será responsável por buscar os processos nos assinantes e publica-los na tabela MHQ - Mensagens Publicadas.

Este serviço será executado com base na configuração de Assinantes.

Neste exemplo o processo Venda está configurado como busca para o assinantes Chef.

Configurações dos campos:

2=Busca

{
"url":"http://chefweb5.brazilsouth.cloudapp.azure.com/ChefWebAPIProtheus/api/CapaVenda/ListPorDataMovimento(Url para acessar a API CapaVenda)
}


{
  "L1_FILIAL": "&xFilial('SL1')",
  "L1_VEND": "&self:oRegistro['Comissoes'][1]['Funcionario']['Codigo']",
  "L1_CLIENTE": "&self:oRegistro['Cliente']['Codigo']",
  "L1_LOJA": "&self:oRegistro['Loja']['Codigo']",
  "L1_OPERADO": "&self:oRegistro['Caixa']['Operador']['Codigo']",
  "L1_EMISSAO": "&self:oRegistro['DataMovimento']",
  "L1_DTLIM": "&self:oRegistro['DataMovimento']",
  "L1_NUMMOV": "&self:oRegistro['Caixa']['NumeroFechamento']",
  "L1_NUMCFIS": "&self:oRegistro['NumeroCupom']",
  "L1_DOC": "&self:oRegistro['NumeroNota']",
  "L1_SERIE": "&self:oRegistro['SerieNota']",
  "L1_SERPDV": "&self:oRegistro['SerieECF']",
  "L1_SERSAT": "&self:oRegistro['SerieSAT']",
  "L1_KEYNFCE": "&self:oRegistro['ChaveSefaz']",
  "L1_PRONFCE": "&self:oRegistro['ProtocoloAutorizacaoSefaz']",
  "L1_COMIS": "&self:oRegistro['Comissoes'][1]['Valor']",
  "L1_VLRTOT": "&self:oRegistro['TotalizadorVenda']['ValorTotal']",
  "L1_VALBRUT": "&self:oRegistro['TotalizadorVenda']['ValorSubTotal']",
  "L1_VLRLIQ": "&self:oRegistro['TotalizadorVenda']['ValorSubTotal']",
  "L1_VALMERC": "&self:oRegistro['TotalizadorVenda']['ValorSubTotal']",
  "L1_DESCONT": "&self:oRegistro['TotalizadorVenda']['ValorTotalDescontoSistema']",
  "L1_DESCFIN": "&self:oRegistro['TotalizadorVenda']['ValorTotalDescontoFiscal']",
  "L1_VALICM": "&self:oRegistro['TotalizadorVenda']['ValorTotalICMS']",
  "L1_VALPIS": "&self:oRegistro['TotalizadorVenda']['ValorTotalPIS']",
  "L1_VALCOFI": "&self:oRegistro['TotalizadorVenda']['ValorTotalCOFINS']",
  "L1_MSEXP": "&SubStr( StrTran( self:oRegistro['DataRecebimento'], '-', ''), 1, 8)",
  "L1_CONDPG": "CN",
  "L1_SITUA": "IP",
  "L1_TIPO": "V",
  "L1_TIPOCLI": "F",
  "L1_PDV": "001",
  "SL2": [
    {
      "L2_FILIAL": "&xFilial('SL2')",
      "L2_PRODUTO": "&self:oRegistro['Itens'][nItem]['Produto']['Codigo']",
      "L2_ITEM": "&StrZero(nItem, TamSx3('L2_ITEM')[1])",
      "L2_DESCRI": "&self:oRegistro['Itens'][nItem]['Produto']['Nome']",
      "L2_QUANT": "&self:oRegistro['Itens'][nItem]['Produto']['Unidade']",
      "L2_VRUNIT": "&self:oRegistro['Itens'][nItem]['ValorUnitario']",
      "L2_LOCAL": "01",
      "L2_UM": "&self:oRegistro['Itens'][nItem]['Quantidade']",
      "L2_VALDESC": "&self:oRegistro['Itens'][nItem]['ValorDesconto']",
      "L2_TES": "501",
      "L2_PICM": "&self:oRegistro['Itens'][nItem]['Icms']['Aliquota']",
      "L2_BASEICM": "&self:oRegistro['Itens'][nItem]['Icms']['BaseCalculo']",
      "L2_VALICM": "&self:oRegistro['Itens'][nItem]['Icms']['Valor']",
      "L2_EMISSAO": "&self:oRegistro['DataMovimento']"
    }
  ],
  "SL4": [
    {
      "L4_FILIAL": "&xFilial('SL4')",
      "L4_DATA": "&self:oRegistro['DataMovimento']",
      "L4_VALOR": "&self:oRegistro['Pagamentos'][nItem]['ValorRecebido']",
      "L4_FORMA": "&self:oRegistro['Pagamentos'][nItem]['TipoFormaPagamento']"
    }
  ]
}


{
"CodigoLoja":12345, (código da loja onde será feita a consulta)
"DataMovimentoInicial":"&Str( Year(dDatabase - 1), 4) +'-'+ StrZero( Month(dDatabase - 1), 2) +'-'+ StrZero( Day(dDatabase - 1), 2)",
"DataMovimentoFinal":"&Str( Year(dDatabase), 4) +'-'+ StrZero( Month(dDatabase), 2) +'-'+ StrZero( Day(dDatabase), 2)",
"Online":true
}

Observação:
& - Este carácter define que a rotina deve macro executar tudo o quem depois em tempo de execução.





A campo Tipo

As Distribuições aptas a serem enviadas estarão com o campo MHR_STATUS = 1.

Neste serviço serão utilizadas as seguintes tabelas:

04. DEMAIS INFORMAÇÕES

A configuração do assinante Chef deverá seguir a documentação a seguinte estrutura: Assinante Chef.

Exemplo de configuração do Job no AppServer.ini

[RMIBUSCA]
Main=RmiBusca
Environment=12_1_25 (Ambiente)
nParms=2
Parm1=T1 (Empresa)
Parm2=D MG 01 (Filial)

05. ASSUNTOS RELACIONADOS

Dúvidas Frequentes - Varejo

Guia da Integração RMI - Retail Integration Management



<style>
div.theme-default .ia-splitter #main {
    margin-left: 0px;
}
.ia-fixed-sidebar, .ia-splitter-left {
    display: none;
}
#main {
    padding-left: 10px;
    padding-right: 10px;
    overflow-x: hidden;
}

.aui-header-primary .aui-nav,  .aui-page-panel {
    margin-left: 0px !important;
}
.aui-header-primary .aui-nav {
    margin-left: 0px !important;
}
</style>