...
...
Producto: | Backoffice de TOTVS | Backoffice||
Línea de | Produtoproducto: | Linha Línea Protheus | |
Segmento: | Backoffice | ||
Módulo: | SIGAFAT - | FaturamentoFacturación | Função|
Función: | MT410EAI - | Mensagem Única Mensaje Único Pedido de | Venda Venta (Order) |
Alcances: | Microsiga Protheus Microsiga Protheus 12 | ||
Versiones: | Microsiga Protheus Microsiga Protheus 12 | ||
Países compatibles: | Todos | ||
Sistemas | Operacionaisoperativos: | Todos | |
Compatible con las bases de datos: | Todos | ||
Nivel de | Acessoacceso: | Nível Nivel 1 ( | Acesso Acceso Clientes) |
Idiomas: | Todos |
...
O ponto El punto 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 manejar los array del encabezado e ítems que se enviarán a la rutina automática del MATA410 durante la integración (MATI410 / MATI410O ), permitindo inclusão, alteração ou exclusão de esto permite incluir, modificar o eliminar campos.
| 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 enviadaEl tratamiento de edición de matrices se puede realizar en base a JSON o XML enviado al mensaje único. El JSON o XML enviado en la solicitud se reenvía al punto de entrada a través de las variables oXml y oLtOfItem donde se permite realizar un tratamiento dentro del PE para agregar o manejar información del encabezado o ítems que se enviará a la rutina MATA410 y le permite cambiar o eliminar solo un elemento de acuerdo con el único mensaje enviado. |
| Aviso | ||
|---|---|---|
| ||
Não é permitido realizar a exclusão de apenas itemNo se permite realizar solamente la eliminación de ítem(s) do del Pedido de Venda no processo de integração da mensagem Venta en el proceso de integración del mensaje ORDER, para realizar o processo el proceso de exclusão, é necessário excluir o Pedido de Venda, e criar um novo informando apenas os itens desejados.eliminación, es necesario eliminar el pedido de venta y crear uno nuevo, informando solamente los ítems deseados. Existe la posibilidad de utilizar este punto Existe a possibilidade da utilização desse ponto de entrada (MT410EAI) que permite exclusão de apenas itemeliminar solamente ítem(s) na alteração. Para isso será necessário a manipulação do en la modificación. Para esto, es necesario manejar el array aItens, incluindo as informações incluyendo las informaciones de LINPOS e AUTODELETA conforme o exemplo documentado abaixo no Item y AUTODELETA según el siguiente ejemplo documentado en el ítem 06. |
...
MATI410() ---> aRet
...
Nombre | Tipo | DescriçãoDescripción | DefaultEstándar | ObrigatórioObligatorio | ReferênciaReferencia | |||||
PARAMIXB | Vetor | Vetor com os dados do Pedido que está sendo executado na mensagem única Order, sendoVector | Vector con los datos del pedido que se está ejecutando en el mensaje único Order, donde: | Relação Relación de campos referente | ao cabeçalho do al encabezado del pedido. | Relação Relación de campos referente | aos itens do a los ítems del pedido. | |||
oXml | Objeto | Objeto | Xml com os dados relacionados a mensagem única OrderXML con los datos relacionados con el mensaje único de orden. | |||||||
oLtOfItem | Objeto | Objeto | Json com os dados relacionados a mensagem única JSON con los datos relacionados con el mensaje único Order. |
...
Devolución | Tipo | DescriçãoDescripción | Obrigatório | |
|---|---|---|---|---|
aRet | Array | Array | contendo os dados dos campos que serão processados na rotina Pedido de Vendasque contiene los datos de los campos que se procesarán en la rutina Pedido de Ventas. | Sim |
| Bloco de código | ||||
|---|---|---|---|---|
| ||||
Ejemplo: #Include'Totvs.ch' User Function MT410EAI Local aCab := aClone(PARAMIXB[1]) Local aItens := aClone(PARAMIXB[2]) Local nTamC6ITEM := GetSx3Cache("C6_ITEM","X3_TAMANHO") Local nI := 1 Local oXmlAux := Nil Local oJsonAux := Nil Local aRet := {} //CustomizaçõesPersonalizaciones dodel usuáriousuario Local nPosCli := 0 Local nPosCPag := 0 IF FWIsInCallStack("MATI410") //Verificaverifica oel Cabeçalhoencabezado dodel Pedidopedido de Vendasventas nPosCli := Ascan(aCab,{ |X| X[1] == "C5_CLIENTE" }) nPosCPag := Ascan(aCab,{ |X| X[1] == "C5_CONDPAG" }) If aCab[nPosCli][2] == "FAT001" Aadd(aCab,{"C5_DESCONT", 5, NIL}) EndIf For nI := 1 To Len(oXml:_TOTVSMessage:_BusinessMessage:_BusinessContent:_SalesOrderItens:_Item) oXmlAux := oXml:_TOTVSMessage:_BusinessMessage:_BusinessContent:_SalesOrderItens:_Item[nI] //Verifica sesi existe ala TAG Customizada <ItemDeleted>1</ItemDeleted> nopersonalizada en el XML. If Type("oXmlAux:_ItemDeleted:Text") != "U" //CasoSi ala TAG personalizada Customizadade <ItemDeleted> sejaes 1, seráeste excluidoítem essese itemeliminará, casosi sejaes diferente de 1, oel itemítem apenassolo seráse alteradomodificará. If 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 EndIf Next ElseIf FWIsInCallStack("MATI410O") //Verificaverifica oel Cabeçalhoencabezado dodel Pedidopedido de Vendasventas nPosCli := Ascan(aCab,{ |X| X[1] == "C5_CLIENTE" }) nPosCPag := Ascan(aCab,{ |X| X[1] == "C5_CONDPAG" }) If aCab[nPosCli][2] == "FAT001" aCab[nPosCPag][2] := "001" EndIf For nI := 1 To Len(oLtOfItem) oJsonAux := oLtOfItem[nI] //Verifica sesi existehay auna TAG Customizada<ItemDeleted> <ItemDeleted>1<</ItemDeleted> personalizada noen el JSON. If Type("oJsonAux:getPropValue('ItemDeleted')") != "U" //CasoSi ala TAG Customizadapersonalizada <ItemDeleted> sejAes 1, seráeste excluidoítem essese itemeliminará, casosi sejaes diferente de 1, oel itemítem apenassolo seráse alteradomodificará. If 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 EndIf Next EndIf aRet := {aCab,aItens} Return aRet |