...
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 | 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" #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 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 |