Nfe informações das NF/NF-e referenciadas [Resolvido]

2 respostas
C

Não estou conseguindo gerar mais que uma de nota fiscal de referencia no xml da nfe, esta imprimindo correto as 5 notas de referencia que tenho gravadas no banco de dados no console do eclipse, mas quando gera o xml esta mostrando 5 vezes a última nota fiscal.

Minha dúvida é qual o método das Classes NFref ou Ide é destinado para gerar no XML com as notas referenciadas da NFe?
Será que estou estanciando o metodo dbIde.getNFref().add(dbNFref) errado?
Tenho modificar algum metodo na classe da Nfe para funcionar?

Exemplo do codigo:

//Informação das NF/NF-e referenciadas
NFref dbNFref = new NFref();
/*
* Utilizar esta TAG para referenciar uma Nota Fiscal Eletrônica emitida anteriormente, vinculada a NF-e atual.
* Esta informação será utilizada nas hipóteses previstas na legislação.
* (Ex.: Devolução de Mercadorias, Substituição de NF cancelada,Complementação de NF, etc.).
*
*/

RefNF dbRefNF = new RefNF();

//Pesquisando a notas referenciadas

CompNfReferencia dbCompNfReferencia = new CompNfReferencia(conn);// minha classe controle das notas

dbCompNfReferencia.listar("where  nf_codigo = +nf_codigo+ and nf_serie = +nf_serie+ and emp_codigo = emp_codigo);

ResultSet rsCompNfReferencia = null;

rsCompNfReferencia = dbCompNfReferencia.dados();

while(rsCompNfReferencia.next()) {

if(rsCompNfReferencia.getString(“modelo”).equals(“55”)){

dbNFref.setRefNFe(rsCompNfReferencia.getString(chave_acesso));//Chave de acesso das NF-e referenciadas

dbIde.getNFref().add(dbNFref); //Setando as informacoes das NF referenciadas na TAG IDE (Aqui é maior dúvida se esta correta a forma que estou utilizando)

}

if(rsCompNfReferencia.getString(“modelo”).equals(“01”)){

/*

  • Grupo com as informações das NF referenciadas Idem a informação da TAG anterior,
  • referenciando uma Nota Fiscal modelo 1/1A normal (a NF referenciada não é uma NF-e).
    */
    dbRefNF.setCUF(dbEmpresa.getValue(“uf”)); //UF do Emitente - Utilizar a Tabela do IBGE (Anexo IX Tabela de UF, Município e País)
    String anoMEsRef = rsCompNfReferencia.getString(“data”).substring(2,7);
    anoMEsRef = anoMEsRef.replaceAll("[-]","");
    dbRefNF.setAAMM(anoMEsRef); // Ano e Mês de emissão da NF-e formato AAMM da emissão da NF
    dbRefNF.setCNPJ(dbEmpresa.getValue(“cnpj”));//CNPJ do emitente da NF
    dbRefNF.setMod(rsCompNfReferencia.getString(“modelo”)); //Informar o código do modelo do Documento fiscal: 01 modelo 01
    dbRefNF.setSerie(rsCompNfReferencia.getString(“serie”)); // Informar a série do documento fiscal (informar zero se inexistente).
    dbRefNF.setNNF(rsCompNfReferencia.getString(“numero”)); // Numero da nota fiscal de 1 a 999999999(9 posições)
    dbNFref.setRefNF(dbRefNF); //Setando as informacoes das NF referenciadas
    dbIde.getNFref().add(dbNFref);( de novo não sei se está correto desta forma)
    }

}//fim do while

2 Respostas

A

e se vc colocar isso

NFref dbNFref = new NFref();

dentro do if

if(rsCompNfReferencia.getString("modelo").equals("55")){

C

alves.Felipe:
e se vc colocar isso

NFref dbNFref = new NFref();

dentro do if

if(rsCompNfReferencia.getString("modelo").equals("55")){

Caro amigo muito obrigado pela dica, funcionou colocando as duas estancias dentro do while.

NFref dbNFref = new NFref();

RefNF dbRefNF = new RefNF();

valeu!

Criado 18 de fevereiro de 2010
Ultima resposta 18 de fev. de 2010
Respostas 2
Participantes 2