📌 Documentação do Ponto de Entrada MP_CABECPV
🧩 Identificação
- Nome do Ponto de Entrada:
MP_CABECPV - Objetivo: Montar e retornar a estrutura de cabeçalho (
aCabec) para execução da rotinaEXCAUTO, com base nos dados recebidos da integração "Meus Pedidos". - Programa: U_JobMped2 ( sincronização de Entidades de Entrada )
- Localização: Apos a Montagem do aCabec de envio no Execautou Mata410
📥 Parâmetros Recebidos (PARAMIXB)
PARAMIXB[1]: Filial da conta "MERCOS".PARAMIXB[2]: Código da conta "MERCOS".PARAMIXB[3]: Array que representa o cabeçalho do pedido e será preenchido pela função.PARAMIXB[4]: Objeto JSON contendo os dados dos pedidos recebidos.PARAMIXB[5]: Tipo de operação (ex: venda, bonificação, etc)
🏗️ Estrutura Padrao Montada (aCabec)
| Campo | Valor Atribuído | Nil |
| C5_FILIAL | cFilMp | Nil |
| C5_NUM | cDoc | Nil |
| C5_TIPO | N | Nil |
| C5_CLIENTE | SA1->A1_COD | Nil |
| C5_LOJACLI | SA1->A1_LOJA | Nil |
| C5_LOJAENT | SA1->A1_LOJA | Nil |
| C5_TIPOCLI | SA1->A1_TIPO | Nil |
| C5_CONDPAG | cCond | Nil |
| C5_TABELA | IIF(EMPTY(cCodTab),cTabPad,cCodTab) | Nil |
| C5_VEND1 | SA1->A1_VEND | Nil |
| C5_COMIS1 | IIF(EMPTY(SA1->A1_COMIS),POSICIONE("SA3",1,XFILIAL("SA3")+SA1->A1_VEND,"A3_COMIS"),SA1->A1_COMIS) | Nil |
| C5_TRANSP | cTransp | Nil |
| C5_XMPNUM | cvaltochar(aPedidos[zX]:NUMERO) | Nil |
| C5_XMPOBS | aPedidos[zX]:OBSERVACOES | Nil |
| C5_FRETE | nFrtFob | Nil |
| C5_TPCARGA | 1 | Nil |
| C5_DESC1 | SA1->A1_DESC | Nil |
🔁 Retorno
- A função retorna o array
aCabecjá preenchido com os dados necessários para a criação do pedido viaEXCAUTO.
Exemplo:
|
User Function MP_CABECPV
local cFilMp := PARAMIXB[1] // FILIAL DA CONTA MERCOS
local cCtaMp := PARAMIXB[2] // CODIGO DA CONTA MERCOS
local aCabec := PARAMIXB[3] // ARRAY CABECAÇHO COM ESTRTURA PARA EXECUÇÃO DO EXCAUTO
local aPedidos := PARAMIXB[4] // OBJETO RETORNO GET JSON MEUS PEDIDOS
local cTipVen := PARAMIXB[5] // TIPO DE OPERAÇÃO
local cRedesp := "0000001"
AADD(aCabec,{"C5_REDESP" ,cRedesp ,Nil})
nPosVend := aScan(aCabec,{|x|AllTrim(x[1]) == "C5_VEND1"}) // PEGA POSIÇÃO DO CAMPO VENDEDOR JA ADCIONADO NO ARRAY
aCabec[nPosVend,2] := '000001' // ALETARA VENDEDOR
Return(aCabec)
|