Árvore de páginas

Versões comparadas

Chave

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

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.

...

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

Configurações Definição dos principais campos para efetuar a busca:

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

2=Busca


  • Configuração - Para acessar API CapaVenda
Bloco de código
	{

...


		"url":"http://

...

caminho.

...

para.capavenda/ListPorDataMovimento (Url para acessar a API CapaVenda)

...


	}


  • Layout Envio - Body que a API CapaVenda precisa para retornar as vendas
Bloco de código
	{ 
		"CodigoLoja":12345, (código da loja que 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 deve macro executar tudo o quem depois em tempo de execução.


  • Layout Publi - Layout que será utilizado para gerar a Publicação (tabela MHQ), especificamente o campo MHQ_MENSAG
Bloco de código
{
    "L1_FILIAL": "&xFilial('SL1')",
    "L1_VEND": "&self:oRegistro['Comissoes'][1]['Funcionario']['Codigo']SUPERGETMV('MV_VENDPAD', .F., '01')",
    "L1_CLIENTE": "&self:oRegistro['Cliente']['Codigo']SUPERGETMV('MV_CLIPAD', .F., '000001')",
    "L1_LOJA": "&self:oRegistro['Loja']['Codigo']SUPERGETMV('MV_LOJPAD', .F., '01')",
    "L1_OPERADO": "&cValToChar(self:oRegistro['Caixa']['Operador']['Codigo'])",
    "L1_EMISSAO": "&self:oRegistro['DataMovimento']",
    "L1_DTLIM": "&self:oRegistro['DataMovimento']",
    "L1_NUMMOV": "&SubStr(cValToChar(self:oRegistro['Caixa']['NumeroFechamento']),1,2)",
    "L1_NUMCFIS": "&cValToChar(self:oRegistro['NumeroCupom'])",
    "L1_DOC": "&cValToChar(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']"0,
    "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_DINHEIR":"&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": "&cValToChar(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']['UnidadeQuantidade']",
            "L2_VRUNIT": "&self:oRegistro['Itens'][nItem]['ValorUnitario']",
			"L2_VLRITEM":"&self:oRegistro['Itens'][nItem]['ValorTotal']",
            "L2_LOCAL": "01",
            "L2_UM": "&self:oRegistro['Itens'][nItem]['Produto']['QuantidadeUnidade']",
            "L2_VALDESC": "&self:oRegistro['Itens'][nItem]['ValorDesconto']",
            "L2_TES":"&SUPERGETMV('MV_TESSAI', .F., '501')", 
           "501",
 "L2_CF":"&self:oRegistro['Itens'][nItem]['Cfop']", 
            "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_FORMAADMINIS": "&IIF(self:oRegistro['Pagamentos'][nItem]['TipoFormaPagamento']"
Descricao'] <> 'DINHEIRO',self:oRegistro['Pagamentos'][nItem]['Descricao'],'')",
       }
     ]
}

...

"L4_FORMA":"&

...

IIF(

...

cValToChar(self:oRegistro['Pagamentos'][nItem]['TipoFormaPagamento']) == '3',self:oRegistro['Pagamentos'][nItem]['FormaPagamentoCartao']['TipoCartao'],cValToChar(self:oRegistro['Pagamentos'][nItem]['TipoFormaPagamento']))"
        }
    ]
}

Observação:

  • & -

...

  •  Este carácter define que

...

  • deve macro executar tudo o quem depois em tempo de execução.
  • Layout Publi self:oRegistro

A campo Tipo

...

  • Possibilita o acesso a tudo que foi retornado pela API CapaVenda.
    Caso seja necessário receber mais algum campo deve ser incluído no layout acima.
    Para mais informações sofre os retornos da API CapaVenda acesse: API - Capa Venda


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

  • MHP - Assinantes x Processos
  • MHQ - Mensagens Publicadas

04. DEMAIS INFORMAÇÕES

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

...

[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

API - Capa Venda


Templatedocumentos


HTML
<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>