Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Bloco de código
languagecpp
titleExemplo:
#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

	IF FWIsInCallStack("MATI410")
		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><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á 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")
		For nI := 1 To Len(oLtOfItem)
			oJsonAux := oLtOfItem[nI]
			
			//Verifica se existe a TAG Customizada <ItemDeleted><ItemDeleted>1</ItemDeleted> no JSON. 
			If Type("oJsonAux:getPropValue('ItemDeleted')") != "U" 
				//Caso a TAG Customizada <ItemDeleted> sejasejA == '1' será excluido 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