Páginas filhas
  • PE01NFESEFAZ - Manipulação em dados do produto -- 111372


Ponto-de-Entrada: PE01NFESEFAZ - Manipulação em dados do produto



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:
Ponto de entrada localizado na função XmlNfeSef do rdmake NFESEFAZ. Através deste ponto é possível realizar manipulações nos dados do produto, mensagens adicionais, destinatário, dados da nota, pedido de venda ou compra, antes da 
montagem do XML, no momento da transmissão da NFe.

Programa Fonte:
NFESEFAZ.PRW

Sintaxe:

PE01NFESEFAZ - Manipulação em dados do produto ( [ aParam ] ) --> aRetorno

Parâmetros:


NomeTipoDescriçãoPossição no Array

Obrigatório

Default
aParamArray of Record

aProd := PARAMIXB[1]

cMensCli := PARAMIXB[2]

cMensFis := PARAMIXB[3]

aDest := PARAMIXB[4]

aNota := PARAMIXB[5]

aInfoItem := PARAMIXB[6]

aDupl := PARAMIXB[7]

aTransp := PARAMIXB[8]

aEntrega := PARAMIXB[9]

aRetirada := PARAMIXB[10]

aVeiculo := PARAMIXB[11]

aReboque := PARAMIXB[12]

aNfVincRur:= PARAMIXB[13]

aEspVol := PARAMIXB[14]

aNfVinc := PARAMIXB[15]

aDetPag := PARAMIXB[16]

aObsCont:= PARAMIXB[17]

aProcRef :=  PARAMIXB[18]

aMed :=  PARAMIXB[19]

aLote :=  PARAMIXB[20]




















aProcRefArray of Record
18








nProc









indProc









tpAto







aMedArray of Record
19








Lote1








qLote2








dtFab3








dtVal4








vPMC5








cProdANVISA6








MotivoIsencao7






aLoteArray of Record
20








nLote

1










qLote2








dFab3








dVal4








cAgreg5







Retorno:

aRetorno
    (array_of_record)
  • //O retorno deve ser exatamente nesta ordem e passando o conteúdo completo dos arrays
  • //pois no rdmake nfesefaz é atribuido o retorno completo para as respectivas variáveis
  • //Ordem:
  • // aRetorno[1] -> aProd
    // aRetorno[2] -> cMensCli
    // aRetorno[3] -> cMensFis
    // aRetorno[4] -> aDest
    // aRetorno[5] -> aNota
    // aRetorno[6] -> aInfoItem
    // aRetorno[7] -> aDupl
    // aRetorno[8] -> aTransp
    // aRetorno[9] -> aEntrega
    // aRetorno[10] -> aRetirada
    // aRetorno[11] -> aVeiculo
    // aRetorno[12] -> aReboque
    // aRetorno[13] -> aNfVincRur
    // aRetorno[14] -> aEspVol
    // aRetorno[15] -> aNfVinc
    // aRetorno[16] -> AdetPag

  • // aRetorno[17] -> aObsCont
  • // aRetorno[18] -> aProcRef
  • // aRetorno[19] -> aMed
  • // aRetorno[20] -> aLote


Exemplo
#include "protheus.ch"
USER FUNCTION PE01NFESEFAZ()
Local aProd		:= PARAMIXB[1]
Local cMensCli	:= PARAMIXB[2]
Local cMensFis	:= PARAMIXB[3]
Local aDest		:= PARAMIXB[4] 
Local aNota   	:= PARAMIXB[5]
Local aInfoItem	:= PARAMIXB[6]
Local aDupl		:= PARAMIXB[7]
Local aTransp	:= PARAMIXB[8]
Local aEntrega	:= PARAMIXB[9]
Local aRetirada	:= PARAMIXB[10]
Local aVeiculo	:= PARAMIXB[11]
Local aReboque	:= PARAMIXB[12]
Local aNfVincRur:= PARAMIXB[13]
Local aEspVol   := PARAMIXB[14]
Local aNfVinc   := PARAMIXB[15]
Local AdetPag  	:= PARAMIXB[16]
Local aObsCont  := PARAMIXB[17]
Local aProcRef  := PARAMIXB[18]
Local aMed		:= PARAMIXB[19]
Local aLote		:= PARAMIXB[20]

Local aRetorno		:= {}
Local cMsg			:= ""
cMsg := 'Produto: '+aProd[1][4] + CRLF
cMsg += 'Mensagem da nota: '+cMensCli + CRLF
cMsg += 'Mensagem padrao: '+cMensFis + CRLF
cMsg += 'Destinatario: '+aDest[2] + CRLF   
cMsg += 'Numero da nota: '+aNota[2] + CRLF
cMsg += 'Pedido: ' +aInfoItem[1][1]+ 'Item PV: ' +aInfoItem[1][2]+ 'Codigo do Tes: ' +aInfoItem[1][3]+ 'Quantidade de itens no pedido: ' +aInfoItem[1][4] + CRLF
cMsg += 'Existe Duplicata ' + If( len(aDupl) > 0, "SIM", "NAO" )  + CRLF
cMsg += 'Existe Transporte ' + If( len(aTransp) > 0, "SIM", "NAO" ) + CRLF
cMsg += 'Existe Entrega ' + If( len(aEntrega) > 0, "SIM", "NAO" ) + CRLF
cMsg += 'Existe Retirada ' + If( len(aRetirada) > 0, "SIM", "NAO" ) + CRLF
cMsg += 'Existe Veiculo ' + If( len(aVeiculo) > 0, "SIM", "NAO" ) + CRLF
cMsg += 'Placa Reboque: ' + IIf(len(aReboque)> 0,aReboque[1],"NAO")+ 'Estado Reboque:' + IIf(len(aReboque) > 1, aReboque[2],"NAO")+ 'RNTC:' + IIf(len(aReboque) >2,aReboque[3],"NAO") + CRLF
cMsg += 'Nota Produtor Rural Referenciada: ' + If( len(aVeiculo) > 0, "SIM", "SEM NOTA REF." ) + CRLF
cMsg += 'Especie Volume: ' + If( len(aEspVol) > 0, "SIM", "NAO" ) + CRLF
cMsg += 'NF Vinculada: ' + If( len(aNfVinc) > 0, "SIM", "NAO" ) + CRLF
 
Alert(cMsg)
//O retorno deve ser exatamente nesta ordem e passando o conteúdo completo dos arrays
//pois no rdmake nfesefaz é atribuido o retorno completo para as respectivas variáveis
//Ordem:
//		aRetorno[1] -> aProd
//		aRetorno[2] -> cMensCli
//		aRetorno[3] -> cMensFis
//		aRetorno[4] -> aDest
//		aRetorno[5] -> aNota
//		aRetorno[6] -> aInfoItem
//		aRetorno[7] -> aDupl
//		aRetorno[8] -> aTransp
//		aRetorno[9] -> aEntrega
//		aRetorno[10] -> aRetirada
//		aRetorno[11] -> aVeiculo
//		aRetorno[12] -> aReboque
//		aRetorno[13] -> aNfVincRur
//      aRetorno[14] -> aEspVol
//      aRetorno[15] -> aNfVinc
//      aRetorno[16] -> AdetPag
//      aRetorno[17] -> aObsCont  
//      aRetorno[18] -> aProcRef
//      aRetorno[19] -> aMed
//      aRetorno[20] -> aLote

aadd(aRetorno,aProd) 
aadd(aRetorno,cMensCli)
aadd(aRetorno,cMensFis)
aadd(aRetorno,aDest)
aadd(aRetorno,aNota)
aadd(aRetorno,aInfoItem)
aadd(aRetorno,aDupl)
aadd(aRetorno,aTransp)
aadd(aRetorno,aEntrega)
aadd(aRetorno,aRetirada)
aadd(aRetorno,aVeiculo)
aadd(aRetorno,aReboque)
aadd(aRetorno,aNfVincRur)
aadd(aRetorno,aEspVol)
aadd(aRetorno,aNfVinc)
aadd(aRetorno,AdetPag)
aadd(aRetorno,aObsCont)
aadd(aRetorno,aProcRef)
aadd(aRetorno,aMed)
aadd(aRetorno,aLote)
 

RETURN aRetorno


Variáveis



Nome

Tipo

Escopo

Pode Alterar

descrição




Array of Record

Global

Não