Histórico da Página
CONTEÚDO
- Dados Gerais
- Descrição
- Sintaxe
- Parâmetros
- Retorno
- Exemplo
01. DADOS GERAIS
Produto: | TOTVS Backoffice |
---|---|
Linha de Produto: | Linha Protheus |
Segmento: | Backoffice |
Módulo: | SIGAFAT - Faturamento |
Função: | MT410EAI - Mensagem Única Pedido de Venda (Order) |
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 |
02. DESCRIÇÃO
O ponto de entrada MT410EAI
...
permite manipular os arrays de cabeçalho e itens
...
que serão enviados para a rotina automática do MATA410 durante a integração (MATI410 / MATI410O ), permitindo inclusão, alteração ou exclusão de campos.
...
Observações
...
Formato do array aCab:
aCabx,1: nome do campo
aCabx,2: conteúdo do campo
aCabx,3: reservado
Onde x, é a posição referente ao campo no array.
Formato do array aItens:
aItensx,y,1: nome do campo
aItensx,y,2: conteúdo do campo
aItensx,y,3: reservado
Onde x, é a posição referente ao do item no array e y a posição referente ao campo.
Dica |
---|
O tratamento para edição do array pode ser feita com base no JSON ou XML enviado para a mensagem única. O JSON ou XML enviado na requisição é encaminhado ao Ponto de Entrada através das variáveis oXml e oLtOfItem onde permite ser feito um tratamento dentro do PE para adicionar ou manipular informações de cabeçalho ou itens a ser enviado a rotina MATA410 e permite alteração ou exclusão de apenas um item conforme o mensagem única enviada. |
Aviso | ||
---|---|---|
| ||
Não é permitida realizar a exclusão de apenas um item do pedido, para realizar esse processo pode ser excluído o pedido e criado um novo com os itens corretos ou pode ser utilizado esse ponto de entrada para manipulação do array aItens incluindo as informações de LINPOS e AUTODELETA conforme o exemplo documentado. |
03. SINTAXE
MATI410() ---> aRet
04. PARÂMETROS
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
---|---|---|---|---|---|
PARAMIXB | Vetor | Vetor com os dados do Pedido que está sendo executado na mensagem única Order, sendo: [ 01 ] - aCab - Tipo: Array - Relação de campos referente ao cabeçalho do pedido. [ 02 ] - aItens - Tipo: Array - Relação de campos referente aos itens do pedido. | |||
oXml | Objeto | Objeto Xml com os dados relacionados a mensagem única Order. | |||
oLtOfItem | Objeto | Objeto Json com os dados relacionados a mensagem única Order. |
05. RETORNO
Retorno | Tipo | Descrição | Obrigatório |
---|---|---|---|
aRet | Array | Array contendo os dados dos campos que serão processados na rotina Pedido de Vendas | Sim |
06. EXEMPLO
Bloco de código | ||||
---|---|---|---|---|
| ||||
#Include'Totvs.ch'
User Function MT410EAI
Local aCab := |
...
Exemplos
...
aClone(PARAMIXB[1]) |
...
Local aItens := aClone(PARAMIXB[2]) |
...
Local aRet := {} //Customizações do usuário
aRet := {aCab,aItens}
Return aRet
...
Preview
...
Veja também
...
Idioma
...
Português(Brasil)
...
Versões
...
Todos
...
Sistemas Operacionais Suportados
...
Todos
...
Compatível com as Bases de Dados
...
Todas
...
Updates
...
Parâmetros
...
Retorno
...
Eventos de chamada do Ponto de Entrada
...
Variáveis
...
Programa Fonte
...
Local nTamC6ITEM := GetSx3Cache("C6_ITEM","X3_TAMANHO")
Local nI := 1
Local oXmlAux := Nil
Local oJsonAux := Nil
Local aRet := {} //Customizações do usuário
IF FWIsInCallStack("MATI410")
For nI := 1 To Len(oXml:_TOTVSMessage:_BusinessMessage:_BusinessContent:_SalesOrderItens:_Item)
oXmlAux := oXml:_TOTVSMessage:_BusinessMessage:_BusinessContent:_SalesOrderItens:_Item[nI]
If Type("oXmlAux:_ItemDeleted:Text") != "U" .And. oXmlAux:_ItemDeleted:Text == "1"
aItens[nI][AsCan(aItens[nI][1],"C6_ITEM")] :={"LINPOS","C6_ITEM",PadR(oXmlAux:_OrderItem:Text, nTamC6ITEM)}
Aadd(aItens[nI],{"AUTDELETA", "S", NIL})
Else
aItens[nI][AsCan(aItens[nI][1],"C6_ITEM")] :={"LINPOS","C6_ITEM",PadR(oXmlAux:_OrderItem:Text, nTamC6ITEM)}
Aadd(aItens[nI],{"AUTDELETA", "N", NIL})
EndIf
Next
ElseIf FWIsInCallStack("MATI410O")
For nI := 1 To Len(oLtOfItem)
oJsonAux := oLtOfItem[nI]
If Type("oJsonAux:getPropValue('ItemDeleted')") != "U" .And. oJsonAux:getPropValue('ItemDeleted') == "1"
aItens[nI][AsCan(aItens[nI][1],"C6_ITEM")] :={"LINPOS","C6_ITEM",PadR(oJsonAux:getPropValue("OrderItem"), nTamC6ITEM)}
Aadd(aItens[nI],{"AUTDELETA", "S", NIL})
Else
aItens[nI][AsCan(aItens[nI][1],"C6_ITEM")] :={"LINPOS","C6_ITEM",PadR(oJsonAux:getPropValue('OrderItem'), nTamC6ITEM)}
Aadd(aItens[nI],{"AUTDELETA", "N", NIL})
EndIf
Next
EndIf
aRet := {aCab,aItens}
Return aRet |