Histórico da Página
...
Produto: | TOTVS Backoffice |
---|---|
Linha de Produto: | Linha Protheus |
Segmento: | Backoffice |
Módulo: | SIGAFAT - Faturamento |
Função: | MATI040O - Mensagem Única Vendedor (Seller) via JSON |
Abrangências: | Microsiga Protheus 12 |
Versões: | Microsiga Protheus 12 |
Compatível Países: | Todos |
Sistemas Operacionais: | Todos |
Compatível com as Bases de Dados: | Todos |
Nível de Acesso: | Nível 1 (Acesso Clientes) |
Idiomas: | Todos |
...
Ponto de Entrada utilizado para alterar o array que será usado com os dados que serão usados no processamento da rotina de Vendedores.
Com o PE compilado é possível realizar a inclusão de campos customizados no processo de EAI Seller, quando o formato utilizado no envio é JSON.
Dica |
---|
O tratamento para edição do array de campos da SA3 pode ser feita com base no Json JSON enviado para a mensagem única. Como ele O JSON enviado na requisição é encaminhado ao PE Ponto de Entrada através do parâmetro (array) "paramixb" na posição [3]" pode , e pode ser feito um tratamento dentro do PE para que pegue o dado customizado do Json e alimente o contido no JSON seja adicionado no array de retorno. |
Aviso | ||
---|---|---|
| ||
Não é permitida a alteração de informações como Filial e Código do vendedor através do PE, caso seja feito, a mensagem ira Ponto de Entrada. Caso isso ocorra o sistema irá retornar uma mensagem de erro e abortará o processo. |
...
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
---|---|---|---|---|---|
aParamIXB | Vetor | Vetor com os dados do vendedor que esta está sendo executado na mensagem única Seller, sendo: [ 01 ] - aDadosSA3 - Tipo: Array - Relação de campos e seus respectivos conteúdos que serão processados. [ 02 ] - nOpcx - Tipo: Numérico - Identificador da operação que esta sendo realizada (3 - Inclusão, 4 - Alteração e 5 - Exclusão) [ 03 ] - cJson - Tipo: Caracter - String contendo o json recebido na requisição da mensagem única |
05. RETORNO
Retorno | Tipo | Descrição | Obrigatório |
---|---|---|---|
aRet | Array | Array contendo os dados dos campos que serão processados na gravação do cadastro do vendedor (SA3) | Sim |
...
Bloco de código | ||||
---|---|---|---|---|
| ||||
#INCLUDE 'PROTHEUS.CH' #INCLUDE "FWMVCDEF.CH" User Function M040OEAI() Local aArea := GetArea() Local aParam := PARAMIXB Local aRet aDadosSA3 := aParam[1] Local nOpcx nPosIni := 0aParam[2] Local nPosFimcJson := 0aParam[3] Local oJson cContIni := ""JsonObject():New() Local cCampo1 cConteudo := "XCampo1" //BuscaraLocal acCampo2 posição inicial do dado customizado (Ex: Custom) na string Json= "XCampo2" nPosIniLocal :=cCampo3 At( 'Custom', aParam[3])+Len('Custom')+3 //Somando o tamanho da descrição e caractes especiais temos a posição inicial do conteúdo := "XCampo3" Local cValCampo1 := "" Local nValCampo2 := 0 IfLocal nPosInidValCampo3 > 0 := CToD(" / //Recortamos os dados da string") a partir da posição do dado que buscamos oJson:fromJson(cJson) If oJson["Content"]:HasProperty(cCampo1) cContInicValCampo1 := Substr(aParam[3],nPosIni)oJson["Content"][cCampo1] AAdd(aDadosSA3, {"A3_XCAMPO1", //Encontramos o fim do dado que buscamoscValCampo1, Nil}) EndIf nPosFim := At('"',cContIni) If oJson["Content"]:HasProperty(cCampo2) //Recortamos apenas o dado que buscavamos da stringnValCampo2 := oJson["Content"][cCampo2] cConteudo := SubStr(aParam[3], nPosIni, nPosFim-1) //Adicionamos o campo customizado e o conteudo fornecido pela string do json ao array de retornoAAdd(aDadosSA3, {"A3_XCAMPO2", nValCampo2, Nil}) EndIf If oJson["Content"]:HasProperty(cCampo3) dValCampo3 := CToD(oJson["Content"][cCampo3]) aAddAAdd(aRetaDadosSA3, {"A3_CUSTOMXCAMPO3",cConteudo dValCampo3, Nil}) EndIFEndIf RestArea(aArea) Return aRetaDadosSA3 |