Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Disponibilizar um serviço que efetue o envio dos processos distribuídos para o a busca de Vendas no Assinante Chef.

03. SOLUÇÃO

Criado serviço RmiEnviaRmiBusca, que será responsável por enviar as mensagens distribuídas aos seus assinantes.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.

Image Added

Configurações dos campos:

  • Tipo Process - Tipo de Execução do Processo

2=Busca

  • Configuração

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

  • Layout Envio - Body que a API CapaVenda precisa para retornar as vendas


Bloco de código
{
  "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.


  • Layout Publi - 




A campo Tipo

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

...

  • MHP - Assinantes x Processos
  • MHQ - Mensagens Publicadas
  • MHR - Mensagens Distribuídas

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

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

...