Histórico da Página
...
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: | TodosTodos |
Nível de Acesso: | Nível 1 (Acesso Clientes) |
Idiomas: | Todos |
...
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 := 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ções do usuário Local nPosCli := 0 Local nPosCPag := 0 IF FWIsInCallStack("MATI410") //Verifica o Cabeçalho do Pedido de Vendas 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 se existe a TAG Customizada <ItemDeleted>1</ItemDeleted> no XML. If Type("oXmlAux:_ItemDeleted:Text") != "U" //Caso a TAG Customizada <ItemDeleted> seja 1 será excluido esse item, caso seja diferente de 1 o item apenas será .And.alterado. 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") //Verifica o Cabeçalho do Pedido de Vendas 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 se existe a TAG Customizada <ItemDeleted>1</ItemDeleted> no JSON. If Type("oJsonAux:getPropValue('ItemDeleted')") != "U" //Caso a TAG Customizada <ItemDeleted> sejA 1 será excluido .And.esse item, caso seja diferente de 1 o item apenas será alterado. 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 |
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas