Ir para conteúdo
  • Cadastre-se

dev botao
  • Este tópico foi criado há 3545 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Senhores e possível enviar varias NF-e referenciadas para produtor rual ? Estou utilizando o código abaixo mas o ACBR não permite o comando "Add'  para tag refNFP

 

   // 4 - COMPLEMENTAR
         if NFe.FieldByName('NFS_TIPO_EMISSAO').AsString = '4' then
         begin
             // ASSEMBLA 3150, 04/03/2015
             DocumentoFiscalReferenciado.First;
             if not DocumentoFiscalReferenciado.IsEmpty then
             begin
                while not DocumentoFiscalReferenciado.Eof do
                begin
                   if ( Trim( DocumentoFiscalReferenciado.FieldByName( 'DFR_DOCTO_CHAVE_ACESSO' ).AsString  ) <> EmptyStr ) or
                      ( Trim( DocumentoFiscalReferenciado.FieldByName( 'DFR_DOCTO_NUMERO'       ).AsString  ) <> EmptyStr ) then
                   begin
                       if ( Trim( DocumentoFiscalReferenciado.FieldByName( 'DFR_DOCTO_MODELO' ).AsString  ) = '55' ) or
                          ( Trim( DocumentoFiscalReferenciado.FieldByName( 'DFR_DOCTO_MODELO' ).AsString  ) = '01' ) or
                          ( Trim( DocumentoFiscalReferenciado.FieldByName( 'DFR_DOCTO_MODELO' ).AsString  ) = '1A' ) then
                       begin
                           with Ide.NFref.Add do
                           begin
                              //Ide.tpNF   := tnSaida; RETIRADO ALA 05/10/2011
                              Ide.finNFe := fnComplementar;
                              // MODELO 55 //
                              if Trim( DocumentoFiscalReferenciado.FieldByName( 'DFR_DOCTO_MODELO' ).AsString  ) = '55' then
                              begin
                                 refNFe                         := DocumentoFiscalReferenciado.FieldByName( 'DFR_DOCTO_CHAVE_ACESSO' ).AsString; //utst_NrDANFEComplementar;
                                 lcst_InformacoesComplementares := lcst_InformacoesComplementares + ' COMPLEMENTAR DA NF-e Chave: ' + DocumentoFiscalReferenciado.FieldByName( 'DFR_DOCTO_CHAVE_ACESSO' ).AsString + ' ';
                              end
                              // MODELO 1 OU 1A //S
                              else  if  ( Trim( DocumentoFiscalReferenciado.FieldByName( 'DFR_DOCTO_MODELO' ).AsString  ) = '01'  ) or
                                        ( Trim( DocumentoFiscalReferenciado.FieldByName( 'DFR_DOCTO_MODELO' ).AsString  ) = '1A' )then
                              begin
                                 try
                                    RefNF.cUF    := DocumentoFiscalReferenciado.FieldByName( 'DFR_DOCTO_EMITENTE_CODIGO_UF' ).AsInteger;
                                    RefNF.AAMM   := FormatDateTime('YYMM', DocumentoFiscalReferenciado.FieldByName( 'DFR_DOCTO_DTEMISSAO' ).AsDateTime );
                                    RefNF.CNPJ   := DocumentoFiscalReferenciado.FieldByName( 'DFR_DOCTO_EMITENTE_CNPJ_CPF' ).AsString;
                                    RefNF.modelo := DocumentoFiscalReferenciado.FieldByName( 'DFR_DOCTO_MODELO' ).AsInteger; //1;//StrToInt( utst_ModeloNFComplementar );
                                    RefNF.serie  := DocumentoFiscalReferenciado.FieldByName( 'DFR_DOCTO_SERIE'  ).AsInteger;
                                    RefNF.nNF    := DocumentoFiscalReferenciado.FieldByName( 'DFR_DOCTO_NUMERO' ).AsInteger;
                                    lcst_InformacoesComplementares := lcst_InformacoesComplementares +
                                                                      ' COMPLEMENTAR DA NF Nº:' + IntToStr( RefNF.nNF   ) + //utst_NumeroNFComplementar +
                                                                      '-SERIE: '                + IntToStr( RefNF.Serie ) + //utst_SerieNFComplementar  +
                                                                      '-CNPJ/CPF: '             + RefNF.CNPJ  + // utst_CNPJNFComplementar   +
                                                                      '-ANO/MES: '              + RefNF.AAMM  + ' ';//utst_AAMMNFComplementar   + ' ';
                                 except
                                    on e : exception do
                                    begin
                                       ShowMessage( 'Erro ao processar NF-e/NF referenciada Modelo: ' + IntToStr( RefNF.modelo ) + e.message  );
                                       Abort;
                                    end;
                                 end;
                              end;
                           end;
                       end;
                          // PRODUTOR RURAL //
                       if ( Trim( DocumentoFiscalReferenciado.FieldByName( 'DFR_DOCTO_MODELO' ).AsString  ) = '04'  ) then
                       begin
                          try
                             with Ide.refNFP.Add do
                             begin
                                RefNF.cUF    := DocumentoFiscalReferenciado.FieldByName( 'DFR_DOCTO_EMITENTE_CODIGO_UF' ).AsInteger;
                                RefNF.AAMM   := FormatDateTime('YYMM', DocumentoFiscalReferenciado.FieldByName( 'DFR_DOCTO_DTEMISSAO' ).AsString );
                                RefNF.CNPJ   := DocumentoFiscalReferenciado.FieldByName( 'DFR_DOCTO_EMITENTE_CNPJ_CPF' ).AsString;
                                RefNF.CPF    := DocumentoFiscalReferenciado.FieldByName( 'DFR_DOCTO_EMITENTE_CNPJ_CPF' ).AsString;
                                RefNF.IE     := DocumentoFiscalReferenciado.FieldByName( 'DFR_DOCTO_EMITENTE_IE'       ).AsString;
                                RefNF.modelo := DocumentoFiscalReferenciado.FieldByName( 'DFR_DOCTO_MODELO' ).AsString; //1;//StrToInt( utst_ModeloNFComplementar );
                                RefNF.serie  := DocumentoFiscalReferenciado.FieldByName( 'DFR_DOCTO_SERIE'  ).AsInteger;
                                RefNF.nNF    := DocumentoFiscalReferenciado.FieldByName( 'DFR_DOCTO_NUMERO' ).AsInteger;
                                lcst_InformacoesComplementares := lcst_InformacoesComplementares +
                                                                  ' COMPLEMENTAR DA NF Nº:' + RefNF.nNF   + //utst_NumeroNFComplementar +
                                                                  '-SERIE: '                + RefNF.Serie + //utst_SerieNFComplementar  +
                                                                  '-CNPJ/CPF: '             + RefNF.CNPJ  + // utst_CNPJNFComplementar   +
                                                                  '-ANO/MES: '              + RefNF.AAMM  + ' ';//utst_AAMMNFComplementar   + ' ';
                             end;
                          except
                                on e : exception do
                                begin
                                   ShowMessage( 'Erro ao processar NF-e/NF referenciada de Produtor Rural. ' + e.message  );
                                   Abort;
                                end;
                          end;
                       end;
                   end
                   else
                   begin
                      ShowMessage( 'Número da NF-e/NF Complementar não informado.' )
                      Abort;
                   end;
                   DocumentoFiscalReferenciado.MoveBy( 1 );
                end;
             end
             else
             begin
                ShowMessage( 'Documento Referenciado não encontado..' );
                Abort;
             end;

 

Postado

 

Senhores e possível enviar varias NF-e referenciadas para produtor rual ? Estou utilizando o código abaixo mas o ACBR não permite o comando "Add'  para tag refNFP

 

   // 4 - COMPLEMENTAR
         if NFe.FieldByName('NFS_TIPO_EMISSAO').AsString = '4' then
         begin
             // ASSEMBLA 3150, 04/03/2015
             DocumentoFiscalReferenciado.First;
             if not DocumentoFiscalReferenciado.IsEmpty then
             begin
                while not DocumentoFiscalReferenciado.Eof do
                begin
                   if ( Trim( DocumentoFiscalReferenciado.FieldByName( 'DFR_DOCTO_CHAVE_ACESSO' ).AsString  ) <> EmptyStr ) or
                      ( Trim( DocumentoFiscalReferenciado.FieldByName( 'DFR_DOCTO_NUMERO'       ).AsString  ) <> EmptyStr ) then
                   begin
                       if ( Trim( DocumentoFiscalReferenciado.FieldByName( 'DFR_DOCTO_MODELO' ).AsString  ) = '55' ) or
                          ( Trim( DocumentoFiscalReferenciado.FieldByName( 'DFR_DOCTO_MODELO' ).AsString  ) = '01' ) or
                          ( Trim( DocumentoFiscalReferenciado.FieldByName( 'DFR_DOCTO_MODELO' ).AsString  ) = '1A' ) then
                       begin
                           with Ide.NFref.Add do
                           begin
                              //Ide.tpNF   := tnSaida; RETIRADO ALA 05/10/2011
                              Ide.finNFe := fnComplementar;
                              // MODELO 55 //
                              if Trim( DocumentoFiscalReferenciado.FieldByName( 'DFR_DOCTO_MODELO' ).AsString  ) = '55' then
                              begin
                                 refNFe                         := DocumentoFiscalReferenciado.FieldByName( 'DFR_DOCTO_CHAVE_ACESSO' ).AsString; //utst_NrDANFEComplementar;
                                 lcst_InformacoesComplementares := lcst_InformacoesComplementares + ' COMPLEMENTAR DA NF-e Chave: ' + DocumentoFiscalReferenciado.FieldByName( 'DFR_DOCTO_CHAVE_ACESSO' ).AsString + ' ';
                              end
                              // MODELO 1 OU 1A //S
                              else  if  ( Trim( DocumentoFiscalReferenciado.FieldByName( 'DFR_DOCTO_MODELO' ).AsString  ) = '01'  ) or
                                        ( Trim( DocumentoFiscalReferenciado.FieldByName( 'DFR_DOCTO_MODELO' ).AsString  ) = '1A' )then
                              begin
                                 try
                                    RefNF.cUF    := DocumentoFiscalReferenciado.FieldByName( 'DFR_DOCTO_EMITENTE_CODIGO_UF' ).AsInteger;
                                    RefNF.AAMM   := FormatDateTime('YYMM', DocumentoFiscalReferenciado.FieldByName( 'DFR_DOCTO_DTEMISSAO' ).AsDateTime );
                                    RefNF.CNPJ   := DocumentoFiscalReferenciado.FieldByName( 'DFR_DOCTO_EMITENTE_CNPJ_CPF' ).AsString;
                                    RefNF.modelo := DocumentoFiscalReferenciado.FieldByName( 'DFR_DOCTO_MODELO' ).AsInteger; //1;//StrToInt( utst_ModeloNFComplementar );
                                    RefNF.serie  := DocumentoFiscalReferenciado.FieldByName( 'DFR_DOCTO_SERIE'  ).AsInteger;
                                    RefNF.nNF    := DocumentoFiscalReferenciado.FieldByName( 'DFR_DOCTO_NUMERO' ).AsInteger;
                                    lcst_InformacoesComplementares := lcst_InformacoesComplementares +
                                                                      ' COMPLEMENTAR DA NF Nº:' + IntToStr( RefNF.nNF   ) + //utst_NumeroNFComplementar +
                                                                      '-SERIE: '                + IntToStr( RefNF.Serie ) + //utst_SerieNFComplementar  +
                                                                      '-CNPJ/CPF: '             + RefNF.CNPJ  + // utst_CNPJNFComplementar   +
                                                                      '-ANO/MES: '              + RefNF.AAMM  + ' ';//utst_AAMMNFComplementar   + ' ';
                                 except
                                    on e : exception do
                                    begin
                                       ShowMessage( 'Erro ao processar NF-e/NF referenciada Modelo: ' + IntToStr( RefNF.modelo ) + e.message  );
                                       Abort;
                                    end;
                                 end;
                              end;
                           end;
                       end;
                          // PRODUTOR RURAL //
                       if ( Trim( DocumentoFiscalReferenciado.FieldByName( 'DFR_DOCTO_MODELO' ).AsString  ) = '04'  ) then
                       begin
                          try
                             with Ide.refNFP.Add do
                             begin
                                RefNF.cUF    := DocumentoFiscalReferenciado.FieldByName( 'DFR_DOCTO_EMITENTE_CODIGO_UF' ).AsInteger;
                                RefNF.AAMM   := FormatDateTime('YYMM', DocumentoFiscalReferenciado.FieldByName( 'DFR_DOCTO_DTEMISSAO' ).AsString );
                                RefNF.CNPJ   := DocumentoFiscalReferenciado.FieldByName( 'DFR_DOCTO_EMITENTE_CNPJ_CPF' ).AsString;
                                RefNF.CPF    := DocumentoFiscalReferenciado.FieldByName( 'DFR_DOCTO_EMITENTE_CNPJ_CPF' ).AsString;
                                RefNF.IE     := DocumentoFiscalReferenciado.FieldByName( 'DFR_DOCTO_EMITENTE_IE'       ).AsString;
                                RefNF.modelo := DocumentoFiscalReferenciado.FieldByName( 'DFR_DOCTO_MODELO' ).AsString; //1;//StrToInt( utst_ModeloNFComplementar );
                                RefNF.serie  := DocumentoFiscalReferenciado.FieldByName( 'DFR_DOCTO_SERIE'  ).AsInteger;
                                RefNF.nNF    := DocumentoFiscalReferenciado.FieldByName( 'DFR_DOCTO_NUMERO' ).AsInteger;
                                lcst_InformacoesComplementares := lcst_InformacoesComplementares +
                                                                  ' COMPLEMENTAR DA NF Nº:' + RefNF.nNF   + //utst_NumeroNFComplementar +
                                                                  '-SERIE: '                + RefNF.Serie + //utst_SerieNFComplementar  +
                                                                  '-CNPJ/CPF: '             + RefNF.CNPJ  + // utst_CNPJNFComplementar   +
                                                                  '-ANO/MES: '              + RefNF.AAMM  + ' ';//utst_AAMMNFComplementar   + ' ';
                             end;
                          except
                                on e : exception do
                                begin
                                   ShowMessage( 'Erro ao processar NF-e/NF referenciada de Produtor Rural. ' + e.message  );
                                   Abort;
                                end;
                          end;
                       end;
                   end
                   else
                   begin
                      ShowMessage( 'Número da NF-e/NF Complementar não informado.' )
                      Abort;
                   end;
                   DocumentoFiscalReferenciado.MoveBy( 1 );
                end;
             end
             else
             begin
                ShowMessage( 'Documento Referenciado não encontado..' );
                Abort;
             end;

 

Postado

Pessoal erro meu, estava executando o procedimento errado. O correto é:

 

                                 with Ide.NFref.Add do
                                 begin
                                    //Ide.finNFe := fnDevolucao;
                                    refNFP.cUF     := DocumentoFiscalReferenciado.FieldByName( 'DFR_DOCTO_EMITENTE_CODIGO_UF' ).AsInteger;
                                    refNFP.AAMM    := FormatDateTime('YYMM', DocumentoFiscalReferenciado.FieldByName( 'DFR_DOCTO_DTEMISSAO' ).AsDateTime );
                                    refNFP.CNPJCPF := DocumentoFiscalReferenciado.FieldByName( 'DFR_DOCTO_EMITENTE_CNPJ_CPF' ).AsString;
                                    refNFP.IE      := DocumentoFiscalReferenciado.FieldByName( 'DFR_DOCTO_EMITENTE_IE'       ).AsString;
                                    refNFP.modelo  := DocumentoFiscalReferenciado.FieldByName( 'DFR_DOCTO_MODELO' ).AsString; //1;//StrToInt( utst_ModeloNFComplementar );
                                    refNFP.serie   := DocumentoFiscalReferenciado.FieldByName( 'DFR_DOCTO_SERIE'  ).AsInteger;
                                    refNFP.nNF     := DocumentoFiscalReferenciado.FieldByName( 'DFR_DOCTO_NUMERO' ).AsInteger;
                                    lcst_InformacoesComplementares := lcst_InformacoesComplementares +
                                                                      ' COMPLEMENTAR DA NF Nº:' + IntToStr( refNFP.nNF   )  + //utst_NumeroNFComplementar +
                                                                      '-SERIE: '                + IntToStr( refNFP.Serie ) + //utst_SerieNFComplementar  +
                                                                      '-CNPJ/CPF: '             + refNFP.CNPJCPF  + // utst_CNPJNFComplementar   +
                                                                      '-ANO/MES: '              + refNFP.AAMM  + ' ';//utst_AAMMNFComplementar   + ' ';
                                 end;
 
  • Este tópico foi criado há 3545 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.