Histórico da Página
...
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.
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)
...