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) |
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.
NFESEFAZ.PRW
PE01NFESEFAZ - Manipulação em dados do produto ( [ aParam ] ) --> aRetorno
Nome | Tipo | Descrição | Possição no Array | Obrigatório | Default | |||||
aParam | Array 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] | ||||||||
aProcRef | Array of Record | 18 | ||||||||
nProc | ||||||||||
indProc | ||||||||||
tpAto | ||||||||||
aMed | Array of Record | 19 | ||||||||
Lote | 1 | |||||||||
qLote | 2 | |||||||||
dtFab | 3 | |||||||||
dtVal | 4 | |||||||||
vPMC | 5 | |||||||||
cProdANVISA | 6 | |||||||||
MotivoIsencao | 7 | |||||||||
aLote | Array of Record | 20 | ||||||||
nLote | 1 | |||||||||
qLote | 2 | |||||||||
dFab | 3 | |||||||||
dVal | 4 | |||||||||
cAgreg | 5 |
// 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
#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
Nome | Tipo | Escopo | Pode Alterar | descrição | ||||||||||
Array of Record | Global | Não |