Páginas filhas
  • PE01NFESEFAZ - Manipulação em dados do Grupo Detalhamento da Forma de Pagamento

Versões comparadas

Chave

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

...

Linha de Produto:

Microsiga Protheus.

Segmento:

Serviços

Módulo:

SIGAFAT - Faturamento

Função:

NFESEFAZ

Situação/Requisito:

Na emissão da nota eletrônica é gerado o erro THREAD ERROR (jaque_000, JAQUES_ACER) 05/09/2016 14:42:08 array out of bounds on U_XMLNFESEF(NFESEFAZ.PRW) 05/09/2016 14:22:07 line : 4474

PE01NFESEFAZ - Manipulação em dados do produto -- 111372

Solicitação para manipular o array 'aDetPag'  no  ponto de entrada PE01NFESEFAZ dentro da chamada do rdmake NFESEFAZ.PRW

Solução/Implementação:

 Incluída a  posição aNfVincRur:= PARAMIXB[1316] na documentação do a array aParam a fim de evitar erro.log na emissão da nota eletrônica.   Ajustado no ponto de entrada PE01NFESEFAZ para manipular o array 'aDetPag'. Através deste ponto é possível realizar manipulações nos dados aDetPag"Grupo Detalhamento da Forma de Pagamento Forma de pagamento, Valor do Pagamento e Troco.

Ponto de entrada em questão: PE01NFESEFAZ

Exemplo ponto de entrada:


#include "protheus.ch"
USER FUNCTION
#Include 'Protheus.ch'
User Function PE01NFESEFAZ()
Local aProd    

Local aProd     := PARAMIXB[1]
Local cMensCli 

Local cMensCli  := PARAMIXB[2]
Local cMensFis 

Local cMensFis  := PARAMIXB[3]
Local aDest    

Local aDest     := PARAMIXB[4]
Local aNota    
 
Local aNota     := PARAMIXB[5]

Local aInfoItem := PARAMIXB[6]
Local aDupl    

Local aDupl     := PARAMIXB[7]
Local aTransp  

Local aTransp   := PARAMIXB[8]
Local aEntrega 

Local aEntrega  := PARAMIXB[9]

Local aRetirada := PARAMIXB[10]
Local aVeiculo 

Local aVeiculo  := PARAMIXB[11]
Local aReboque 

Local aReboque  := PARAMIXB[12]

Local aNfVincRur:= PARAMIXB[13]
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." )
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
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)
 
 
RETURN aRetorno

Local aEspVol   := PARAMIXB[14]
Local aNfVinc   := PARAMIXB[15]
Local AdetPag   := PARAMIXB[16]
Local aRetorno  := {}
Local cMsg      := ""

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)

// Ajuste na aDetPag
AdetPag  := {}

aadd(aDetPag,;
				{"14",;// Forma de pagamento
				 470.00,;// Valor do Pagamento
				0.00})//Troco
aadd(aDetPag,;
				{"01",;// Forma de pagamento
				550.00,;// Valor do Pagamento
				20.00})//Troco
				
aadd(aRetorno,aDetPag)
RETURN aRetorno

Return

Chamados relacionados:

DSERTSS1-6281

Chamados relacionados:

MSERV-1491 , MSERV-2576

 Versão/Release:

12.1.7 17 e 11.80