Páginas filhas
  • XML10201 - Manipular os dados dos arrays para a geração do XML antigo
Ponto-de-Entrada: XML10201 - Manipular os dados dos arrays para a geração do XML único

 

Abrangências:Microsiga Protheus 11 , Microsiga Protheus 12
Versões:Microsiga Protheus 11 , Microsiga Protheus 12
Compatível Países:Brasil
Sistemas Operacionais:Todos
Compatível às Bases de Dados:Todos
Idiomas:Português (Brasil)

 

Descrição:

Este ponto de entrada foi disponibilizado para o cliente manipular as informações dos arrays com os dados do XML de envio da NFTS

Eventos
Programa Fonte
NFSEXml102.PRW
Sintaxe

XML10201 - Manipular os dados dos arrays para a geração do XML antigo( [ PARAMIXB ] )

Parâmetros:

 

 Nome  Tipo  Descrição  Default  Obrigatório  Referência 
 PARAMIXB  Array of Record  

[1] - aNota - Dados da nota
[2] - aProd - Dados do produto
[3] - aTotal - Valor total
[4] - aDest - Dados do tomador
[5] - aDeduz - Valores
[6] - aConstr - Dados construção civil
[7] - aPrest - Dados da prestação
[8] - aEndPrest - Dados
[9] - aICMS - Valor dos impostos
[10] - aICMSST - Valor dos impostos
[11] - aIPI - Valor dos impostos
[12] - aPIS - Valor dos impostos
[13] - aPISST - Valor dos impostos
[14] - aCOFINS - Valor dos impostos
[15] - aCOFINSST - Valor dos impostos
[16] - aISSQN - Valor dos impostos
[17] - aCST - Valor dos impostos
[18] - aMed
[19] - aArma
[20] - aveicProd
[21] - aDI
[22] - aAdi
[23] - aExp
[24] - aPisAlqZ
[25] - aCofAlqZ
[26] - aDupl - Valores da duplicata


          

 

Retorno
aparm

Observações

Exemplos

User Function XML10201()

Local aParam := {}

Local aNota := PARAMIXB[1] // Dados da Nota
Local aProd := PARAMIXB[2] // Dados do produto
Local aTotal := PARAMIXB[3]
Local aDest := PARAMIXB[4]
Local aDeduz := PARAMIXB[5]
Local aConstr := PARAMIXB[6]
Local aPrest := PARAMIXB[7]
Local aEndPrest := PARAMIXB[8]
Local aICMS := PARAMIXB[9]
Local aICMSST := PARAMIXB[10]
Local aIPI := PARAMIXB[11]
Local aPIS := PARAMIXB[12]
Local aPISST := PARAMIXB[13]
Local aCOFINS := PARAMIXB[14]
Local aCOFINSST := PARAMIXB[15]
Local aISSQN := PARAMIXB[16]
Local aCST := PARAMIXB[17]
Local aMed := PARAMIXB[18]
Local aArma := PARAMIXB[19]
Local aveicProd := PARAMIXB[20]
Local aDI := PARAMIXB[21]
Local aAdi := PARAMIXB[22]
Local aExp := PARAMIXB[23]
Local aPisAlqZ := PARAMIXB[24]
Local aCofAlqZ := PARAMIXB[25]
Local aDupl := PARAMIXB[26]

Local cCodIss := "" // Código ISS
Local Nx := 0 // Contador for

For Nx := 1 to Len(aProd)

cCodIss := AllTrim(aProd[Nx][23])

//Coloco o ponto para não ocasionar erro na validação do arquivo
If !"."$cCodIss
If Len(cCodIss) == 3
cCodIss := "0" + Substr(cCodIss,1,1)+"."+ Substr(cCodIss,2,2)
Elseif Len(cCodIss) == 4
cCodIss := Substr(cCodIss,1,2)+"."+ Substr(cCodIss,3,2)
Elseif Len(cCodIss) == 5
cCodIss := "0"+ Substr(cCodIss,1,1) + "."+ Substr(cCodIss,2,2)+"."+ Substr(cCodIss,4,2)
Elseif Len(cCodIss) == 6
cCodIss := Substr(cCodIss,1,2)+"."+ Substr(cCodIss,3,2)+"."+ Substr(cCodIss,5,2)
EndIf
EndIf

aProd[Nx][23] := cCodIss

Next Nx

aParam := {aNota,aProd,aTotal,aDest,aDeduz,aConstr,aPrest,aEndPrest,aICMS,aICMSST,aIPI,aPIS,aPISST,aCOFINS,aCOFINSST,aISSQN,aCST,aMed,aArma,aveicProd,aDI,aAdi,aExp,aPisAlqZ,aCofAlqZ,aDupl}

Return aParam

 

Variáveis

 

 Nome  Tipo  Escopo  Pode Alterar  descrição 
    Array of Record  Global  Não