Jump to content

Assista click.png tectoy.png

C6 chamada_c6.png botao.png

Código Atualizado da Emissão da Nota


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

Recommended Posts

Bom dia amigos,
comprei o fastReport e tambem consegui instalar o Fortes.
O AcbrNfe está ok.
Eu possuia um código que emitia a nota e consegui até gerar 4 notas
depois me voltei para um sistema de boletos e não dei mais continuidade
a NF-e.
E agora com a versão atual em Delphi 2010 percebi que alguns campos
estão sendo recusados, acredito que foram desativos.

Ide.tpAmb     := taProducao;
Ide.tpNF      := tnSaida;

Esses campos acima não passam. 
Alguém tem um código com os campos atuais?

Desde já agradeço

Segue o que estou usando/montando.

procedure TFrmNotasFiscais.BtnNFClick(Sender: TObject);
var
i, x, sequencianota, filtro, notaint, emissao, finalidade : integer;
vr : Real;
prazo : variant;
notastr, sCPFCNPJ : string;
TotalNovo, frete, bicms, icms, seguro, desc, geral, despaces : Real;
total10 : Real;
Begin

//if txtobs.Text = '' then
//Begin
//showmessage('Preencha a observação! Campo requerido!');
//txtobs.setfocus;
//exit;
//End;

//If (NotasFiscais.State In [dsEdit, dsInsert] ) Then
//Begin
//Application.MessageBox( 'Grave as informações antes de sair!!!', 'Erro', MB_ICONERROR + MB_OK );
//Abort;
//end else
NotasFiscais.Open;
ACBrNFe1.NotasFiscais.Clear;
with AcbrNfe1.NotasFiscais.Add.NFe do
Begin
NotasFiscais.Edit;
txttotal2.Caption := '500';
total10 := StrToFloat(txttotal2.Caption);
//frete := StrToFloat(dbedit10.text);

NotasFiscais.FieldByName('Total').AsFloat  := total10 ;
NotasFiscais.FieldByName('Geral').AsFloat  := total10 + frete;
NotasFiscais.Post;

{IDENTIFICAÇÃO DO CABEÇALHO =================================================================}
Ide.natOp     := Edit1.text;
Ide.nNF       := NotasFiscais.FieldByName('CodigoNotaFiscal').AsInteger;
Ide.cNF       := NotasFiscais.FieldByName('CodigoNotaFiscal').AsInteger;
sequencianota := NotasFiscais.FieldByName('CodigoNotaFiscal').AsInteger;
Ide.modelo    := 55;
Ide.serie     := 1;
Ide.dEmi      := NotasFiscais.FieldByName('DtEmissao').AsDateTime;
Ide.dSaiEnt   := NotasFiscais.FieldByName('DtSaida').AsDateTime;
Ide.hSaiEnt   := NotasFiscais.FieldByName('HoraSaida').AsDateTime;//Novo campo
Ide.tpAmb     := taProducao;
Ide.tpNF      := tnSaida;
Ide.tpEmis    := NotasFiscais.FieldByName('TipoEmissao').AsVariant;
Ide.finNFe    := NotasFiscais.FieldByName('FinEmissao').AsVariant;

case NotasFiscais.FieldByName('TipoPgto').AsInteger of
0:
//Ide.indPag    := ipVista;
//1:
//Ide.indPag    := ipPrazo;
end;

Ide.verProc   := '2.0.0.0';
Ide.cUF := 26;
//Ide.cMunFG := empresa.FieldByName( 'CidadeIBGE').AsInteger;

//DADOS DA EMPRESA==================================
Emit.CNPJCPF           := empresa.FieldByName('CNPJ').AsString;//CPF ou CNPJ
Emit.IE                := empresa.FieldByName('Inscestadual').AsString;
Emit.xNome             := empresa.FieldByName('Estabelecimento').AsString;
Emit.xFant             := empresa.FieldByName('Fantasia').AsString;
Emit.EnderEmit.CEP     := empresa.FieldByName( 'CepEmpresa').AsInteger;
Emit.EnderEmit.xLgr    := empresa.FieldByName( 'Endereco').AsString;
Emit.EnderEmit.nro     := empresa.FieldByName( 'Nr').AsString;
Emit.EnderEmit.xCpl    := empresa.FieldByName( 'Complemento').AsString;
Emit.EnderEmit.xBairro := empresa.FieldByName( 'Bairro').AsString;
Emit.EnderEmit.cMun    := empresa.FieldByName( 'CidadeIBGE').AsInteger;//Codigo da Cidade
Emit.EnderEmit.xMun    := empresa.FieldByName( 'Cidade').AsString;
Emit.EnderEmit.UF      := 'PE';
Emit.enderEmit.cPais   := 1058;
Emit.enderEmit.xPais   := 'BRASIL';
Emit.EnderEmit.fone    := empresa.FieldByName('TelefoneEmpresa').AsString;
Emit.IM                := '';
Emit.CNAE              := '0000000';
//Emit.CRT               := TpcnCRT(1);//Novo campo

// DADOS DO CLIENTE =============================================
filtro := NotasFiscais.FieldByName('RegNF').AsInteger;
QryClientes.close;
QryClientes.sql.Add('Select TblClientes.cMun, TblClientes.CPF, TblClientes.UF, TblClientes.nr, TblClientes.Compl,');
QryClientes.sql.Add(' TblClientes.Codigo2, TblClientes.ClienteNome,');
QryClientes.sql.Add(' TblVendas.CodVda, TblVendas.Cliente, TblClientes.TipoCliente,');
QryClientes.sql.Add(' TblClientes.Inscestadual, TblClientes.EnderecoCli,');
QryClientes.sql.Add(' TblClientes.BairroParaTaxa, TblClientes.Cep,');
QryClientes.sql.Add(' TblClientes.Telefone, TblClientes.Cidade,');
QryClientes.sql.Add(' TblClientes.CidadeIBGE,');
QryClientes.sql.Add(' TblNotasFiscais.RegNF, TblNotasFiscais.Cliente as CliNF from tblClientes, TblNotasFiscais,');
QryClientes.sql.Add(' TblVendas Where TblNotasFiscais.Cliente = Tblvendas.codvda');
QryClientes.sql.Add(' And TblVendas.Cliente = tblClientes.Codigo2');
QryClientes.sql.Add(' And tblNotasFiscais.RegNF =:a1');
QryClientes.Parameters.ParamByName('a1').Value := filtro;
QryClientes.Open;

//----------------------------------------------------
QryCidades.close;
QryCidades.sql.Add('Select * from v_cidades');
QryCidades.sql.Add(' Where RegNF =:a1');
QryCidades.Parameters.ParamByName('a1').Value := filtro;
QryCidades.Open;

Dest.CNPJCPF           := QryClientes.FieldByName('CPF').AsString;
Dest.IE                := QryClientes.FieldByName('InscEstadual').AsString;
Dest.xNome             := QryClientes.FieldByName('ClienteNome').AsString;
Dest.EnderDest.xLgr    := QryClientes.FieldByName('enderecocli').AsString;
Dest.EnderDest.nro     := QryClientes.FieldByName('nr').AsString;
Dest.EnderDest.xCpl    := QryClientes.FieldByName( 'compl' ).AsString;
Dest.EnderDest.xBairro := QryClientes.FieldByName('BairroParaTaxa').AsString;
Dest.EnderDest.cMun    := QryClientes.FieldByName('cMun').AsInteger;
Dest.EnderDest.xMun    := QryClientes.FieldByName('cidade').AsString;
Dest.EnderDest.UF      := QryClientes.FieldByName('UF').AsString;
Dest.EnderDest.CEP     := QryClientes.FieldByName('cep').AsInteger;
Dest.EnderDest.cPais   := 1058;
Dest.EnderDest.xPais   := 'BRASIL';
Dest.EnderDest.Fone    := QryClientes.FieldByName('TeleFone').AsString;
Dest.ISUF              := '';

//INICIO DOS ITENS==========================================
detalhes.Open;
detalhes.First;
i := 0;

while not detalhes.Eof do
begin
with Det.Add do
begin
i := i + 1;
Prod.nItem    := i;
Prod.CProd    := detalhes.FieldByName('prod').AsString;
Prod.xProd    := detalhes.FieldByName('descricao').AsString;
Prod.NCM      := detalhes.FieldByName('NCM').AsString;
Prod.CFOP     := detalhes.FieldByName('CfopNF').AsString;
Prod.qCom     := detalhes.FieldByName('qte').AsFloat;
Prod.uCom     := detalhes.FieldByName('unidade').AsString;
Prod.vProd    := detalhes.FieldByName('Total').AsFloat;
Prod.vUnCom   := detalhes.FieldByName('vr').AsFloat;
Prod.qTrib    := detalhes.FieldByName('qte').AsInteger;
Prod.uTrib    := detalhes.FieldByName('unidade').AsString;
Prod.vUnTrib  := detalhes.FieldByName('vr').AsFloat;
prod.vSeg     := 0;
prod.vFrete   := 110.00;
Prod.vDesc    := 2.0;
Prod.vOutro   := 0;
//Prod.IndTot := TpcnIndicadorTotal(0);
//Prod.IndTot := itSomaTotalNFe; //= 1;
//Prod.IndTot := itNaoSomaTotalNFe;// = 0

With Imposto do
Begin
with ICMS do
Begin
case detalhes.FieldByName('CST').AsInteger of
1:
Begin
//CST           := cst00;
//ICMS.modBC    := dbiValorOperacao;
//ICMS.orig     := oeNacional;
ICMS.pICMS    := 0;
ICMS.vICMS    := 0;
ICMS.vBC      := 0;
ICMS.pICMS    := 0;
ICMS.vICMS    := 0;
ICMS.vBC      := 0;
end;
2:
Begin
//CST           := cst60;
ICMS.vBCST    := 0;
ICMS.vICMSST  := 0;
ICMS.vBCST    := 0;
ICMS.vICMSST  := 0;
end;
end;
//IPI.CST       := ipi01;
end;
end;
Detalhes.Next;
end;
end;
//Totalização
//Total.ICMSTot.vProd := RoundTo(NotasFiscais.FieldByName('Total').AsFloat,-2);
Total.ICMSTot.vBC   := 0.0;
Total.ICMSTot.vICMS := 0.0;
Total.ICMSTot.vfrete := 0.0;
//Total.ICMSTot.vNF   := RoundTo(NotasFiscais.FieldByName('Geral').AsFloat,-2);

//Transportadora==================================================
QryTransp.close;
QryTransp.sql.Add('Select * from TblTransportadoras');
QryTransp.sql.Add(' Where RegTransp =:a1');
//QryTransp.Parameters.ParamByName('a1').Value := StrToInt(txtTransp.Text);
QryTransp.Open;

Transp.Transporta.CNPJCPF := QryTransp.FieldByName('CNPJT').AsString;
Transp.Transporta.xNome   := QryTransp.FieldByName('NomeTransportadora').AsString;
Transp.Transporta.IE      := QryTransp.FieldByName('Incestadual').AsString;
Transp.Transporta.xEnder  := QryTransp.FieldByName('EnderecoT').AsString;
Transp.Transporta.xMun    := QryTransp.FieldByName('CidadeT').AsString;
Transp.Transporta.UF      := QryTransp.FieldByName('UHT').AsString;

//Volume==========================================================
with Transp.Vol.Add do
Begin
qvol   := NotasFiscais.FieldByName('volume').AsInteger;
esp    := NotasFiscais.FieldByName('especie').AsString;
marca  := NotasFiscais.FieldByName('marca').AsString;
nvol   := NotasFiscais.FieldByName('volume').AsString;
pesoL  := NotasFiscais.FieldByName('pesoL').AsInteger;
pesoB  := NotasFiscais.FieldByName('pesoB').AsInteger;
end;

//Parcelamentos -----Contas a Receber=============================
 {
filtro := NotasFiscais.FieldByName('RegNF').AsInteger;
QryDuplicatas.close;
QryDuplicatas.sql.Add('Select tblDuplicatas.BaseNota, tblDuplicatas.ValorDupl, TblDuplicatas.DtVctoDupl,');
QryDuplicatas.sql.Add('TblNotasFiscais.RegNF, TblNotasFiscais.Cliente from tblDuplicatas, TblNotasFiscais');
QryDuplicatas.sql.Add('Where tblNotasFiscais.RegNF =:a1 And TblNotasFiscais.Cliente');
QryDuplicatas.sql.Add('= TblDuplicatas.BaseNota');
QryDuplicatas.Parameters.ParamByName('a1').Value := filtro;
QryDuplicatas.Open;
QryDuplicatas.First;

while not QryDuplicatas.Eof do
begin
with Cobr.Dup.Add Do
Begin
nDup  := NotasFiscais.FieldbyName('CodigoNotaFiscal').Value;
dVenc := QryDuplicatas.FieldbyName('DtVctoDupl').Value;
vDup  := QryDuplicatas.FieldbyName('ValorDupl').Value;
End;
Next;
end;
 }
//Dados Adicionais================================================

With InfAdic.obsCont.add do
Begin
InfAdic.infCpl := 'Detalhamento da Nota Fiscal';
xCampo := 'obs:';
//xtexto := DBEdit14.Text ;
end;

//Fim da NFE===================================
AcbrNFe1.Enviar(sequencianota);
memoResposta.Lines.Text := AcbrNfe1.WebServices.Retorno.RetWS;
NotasFiscais.Edit;
NotasFiscais.FieldByName('chave').AsString := AcbrNfe1.WebServices.Retorno.ChaveNFe;
NotasFiscais.FieldByName('protocolo').AsString := AcbrNfe1.WebServices.Retorno.Protocolo;
NotasFiscais.FieldByName('recibo').AsString := AcbrNfe1.WebServices.Retorno.Recibo;
//NotasFiscais.FieldByName('statusnfe').AsString := ACBrNFe1.WebServices.Consulta.cStat;
NotasFiscais.FieldByName('motivo').AsString := ACBrNFe1.WebServices.Retorno.XMotivo;
NotasFiscais.Post;
if ACBrNFe1.NotasFiscais.Items[0].Confirmada then
Begin
ACBrNFe1.NotasFiscais.Clear;
end;
end;
Showmessage('Nota Fiscal Eletrônica enviada com sucesso!!!');
end;
 

Link to comment
Share on other sites

  • Consultores

Bom dia Alberto,

Inclua em uses da unit que contem a sua rotina que alimenta o componente a seguinte unit: pcnConversaoNFe.

Consultor SAC ACBr Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Link to comment
Share on other sites

Italo, boa tarde

 

Coloquei e não resolveu.]

Segue:

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ACBrBase, ACBrBoleto, StdCtrls, Buttons, ACBrDFe, ACBrNFe, DB, ADODB,
  ExtCtrls, DBCtrls, Mask, Grids, DBGrids,  pcnConversaoNFe;
 

Coloquei no meu form FrmNotasFiscais

Edited by Alberto Antonio
Link to comment
Share on other sites

Italo alterei as use do meu form antigo em Delphi 2007.

Um dos campos passou.

Ide.tpAmb     := taProducao;

 

uses IniFiles, ShellAPI, DateUtils, Math,
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, Buttons, ComCtrls, OleCtrls, SHDocVw,
  ACBrNFe, pcnConversao, ACBrNFeDANFEClass, ACBrUtil,
  pcnNFeW, pcnNFeRTXT, DB, ADODB, Menus, DBCtrls, Mask, Grids, DBGrids,
  jpeg, XPMan, ACBrBase, ACBrDFe, ACBrNFeDANFeRLClass;

 

 

Mas não passa

Ide.tpNF      := tnSaida;

 

Esse ainda não passa.

Edited by Alberto Antonio
Link to comment
Share on other sites

E como vc disse faltou a inclusão completa na uses.

Segue o correto. Está resolvido. Obrigado.

uses IniFiles, ShellAPI, DateUtils, Math,
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, Buttons, ComCtrls, OleCtrls, SHDocVw,
  ACBrNFe, pcnConversao, pcnConversaoNFe, ACBrNFeDANFEClass, ACBrUtil,
  pcnNFeW, pcnNFeRTXT, DB, ADODB, Menus, DBCtrls, Mask, Grids, DBGrids,
  jpeg, XPMan, ACBrBase, ACBrDFe, ACBrNFeDANFeRLClass, ACBrBoleto;

  • Like 1
Link to comment
Share on other sites

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.