Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

bom dia a todos estou com um problema de dificil solução para mim pois estou gerando as nfes muito bem porem para imprimir todas preciso sair do sistema e entrar de novo e usar a opção imprimir danfe pois tanto usando o metodo criar e enviar como separando todos os métodos, sempre imprime a primeira danfe poderiam me ajudar o codigo pra emissão da nfe é o seguinte

var

vAux, vNumLote, lote : String;

ini : Tinifile;

begin

Vaux := IntToStr(CnfeNUMNOTA.AsInteger);

F_dmm.LoteNfe.Insert;

f_dmm.LoteNfeNUMLOTE.AsInteger := F_dmm.inc_gen('GEN_LOTENFE_ID');

vNumLote := IntToStr(F_dmm.inc_gen('GEN_LOTENFE_ID'));

// vNumLote := IntToStr(f_dmm.LoteNfeNUMLOTE.AsInteger);

f_dmm.LoteNfeDATAENVIO.AsDateTime := now;

//Lote := OnlyNumber(Vnumlote);

VnumLote := OnlyNumber(Vnumlote);

if Trim(vNumLote) = '' then

begin

MessageDlg('Número do Lote inválido.',mtError,[mbok],0);

abort;

end;

ACBrNFe1.NotasFiscais.Clear;

GerarNFe(vAux);

INI:=TIniFile.Create('C:\Admin\Projeto\NFE.ini');

ACBrNFeDANFERave1.RavFile := Ini.ReadString( 'Geral','caminhodanfe' ,'') ;

ACBrNFe1.Enviar(StrToInt(VnumLote));

// ACBrNFe1.Enviar(vNumLote);

MemoDados.Lines.Text := UTF8Encode(ACBrNFe1.WebServices.Retorno.RetWS);

memoRespWS.Lines.Text := UTF8Encode(ACBrNFe1.WebServices.Retorno.RetornoWS);

LoadXML(MemoDados, WBResposta);

PnWs.Visible := true;

MemoDados.Lines.Add('');

MemoDados.Lines.Add('Envio NFe');

MemoDados.Lines.Add('tpAmb: '+ TpAmbToStr(ACBrNFe1.WebServices.Retorno.TpAmb));

MemoDados.Lines.Add('verAplic: '+ ACBrNFe1.WebServices.Retorno.verAplic);

MemoDados.Lines.Add('cStat: '+ IntToStr(ACBrNFe1.WebServices.Retorno.cStat));

MemoDados.Lines.Add('cUF: '+ IntToStr(ACBrNFe1.WebServices.Retorno.cUF));

MemoDados.Lines.Add('xMotivo: '+ ACBrNFe1.WebServices.Retorno.xMotivo);

MemoDados.Lines.Add('cMsg: '+ IntToStr(ACBrNFe1.WebServices.Retorno.cMsg));

MemoDados.Lines.Add('xMsg: '+ ACBrNFe1.WebServices.Retorno.xMsg);

MemoDados.Lines.Add('Recibo: '+ ACBrNFe1.WebServices.Retorno.Recibo);

MemoDados.Lines.Add('Protocolo: '+ ACBrNFe1.WebServices.Retorno.Protocolo);

cnfe.Edit;

cnfeCHAVE.AsString := AcbrNfe1.WebServices.Retorno.NFeRetorno.ProtNFe.Items[0].chNFe;

cnfeRECIBO.AsString := AcbrNfe1.WebServices.Retorno.NFeRetorno.nRec;

// F_dmm.NotaSaidaDATA_AUTORIZACAO.AsDateTime := AcbrNfe1.WebServices.Retorno.NFeRetorno.ProtNFe.Items[0].

cnfeProtocolo.AsString := AcbrNfe1.WebServices.Retorno.NFeRetorno.ProtNFe.Items[0].nProt;

cnfeMOTIVO.AsString := ACBrNFe1.WebServices.Retorno.xMotivo;

cnfeIMPRIMIU.AsString := 'S';

cnfe.ApplyUpdates(0);

F_dmm.LoteNfe.ApplyUpdates(0);

F_dmm.NotaSaida.Close;

F_dmm.NotaSaida.Open;

ACBrNFe1.NotasFiscais.Clear;

INI.Free;

end;

as danfes são geradas sem problemas porem so imprime a primeira e não estou enviando ou imprimindo tudode uma vez não cada nota tem um lote, ja não sei mais o que fazer

poderiam me ajudar desde ja grato pela ajuda

Postado

não testei com o demo mais essa função foi copiada de la, por isso deve estar ocorrendo o mesmo tambem tem a questão separei cada evento geração e assinatura; validação e envio e da a mesma coisa, será que o problema é no meu componente, pois não da mensagem de erro consulto sem problemas as nfe geradas mais so imprimo todas se sair do sistema e voltar

Postado

procedure TForm1.btnCriarEnviarClick(Sender: TObject);

var

vAux, vNumLote : String;

begin

if not(InputQuery('WebServices Enviar', 'Numero da Nota', vAux)) then

exit;

if not(InputQuery('WebServices Enviar', 'Numero do Lote', vNumLote)) then

exit;

vNumLote := OnlyNumber(vNumLote);

if Trim(vNumLote) = '' then

begin

MessageDlg('Número do Lote inválido.',mtError,[mbok],0);

exit;

end;

ACBrNFe1.NotasFiscais.Clear;

GerarNFe(vAux);

ACBrNFe1.Enviar(vNumLote);

MemoResp.Lines.Text := UTF8Encode(ACBrNFe1.WebServices.Retorno.RetWS);

memoRespWS.Lines.Text := UTF8Encode(ACBrNFe1.WebServices.Retorno.RetornoWS);

LoadXML(MemoResp, WBResposta);

MemoDados.Lines.Add('');

MemoDados.Lines.Add('Envio NFe');

MemoDados.Lines.Add('tpAmb: '+ TpAmbToStr(ACBrNFe1.WebServices.Retorno.TpAmb));

MemoDados.Lines.Add('verAplic: '+ ACBrNFe1.WebServices.Retorno.verAplic);

MemoDados.Lines.Add('cStat: '+ IntToStr(ACBrNFe1.WebServices.Retorno.cStat));

MemoDados.Lines.Add('cUF: '+ IntToStr(ACBrNFe1.WebServices.Retorno.cUF));

MemoDados.Lines.Add('xMotivo: '+ ACBrNFe1.WebServices.Retorno.xMotivo);

MemoDados.Lines.Add('cMsg: '+ IntToStr(ACBrNFe1.WebServices.Retorno.cMsg));

MemoDados.Lines.Add('xMsg: '+ ACBrNFe1.WebServices.Retorno.xMsg);

MemoDados.Lines.Add('Recibo: '+ ACBrNFe1.WebServices.Retorno.Recibo);

MemoDados.Lines.Add('Protocolo: '+ ACBrNFe1.WebServices.Retorno.Protocolo);

// MemoDados.Lines.Add('cStat: '+ ACBrNFe1.WebServices.Retorno.NFeRetorno;

ACBrNFe1.NotasFiscais.Clear;

end;

  • Moderadores
Postado

Poste quais são os passos para reproduzir usando o demo e não o código que existe no demo.

Ex:

1-Clico no botão Criar Enviar e digito a nota 10(a nota é impressa corretamente)

2-Clico no botão Criar Enviar e digito a nota 11(a nota 10 é impressa ao invés da 11)

djsystem-logo.png
 youtube.png facebook.png instagram.png linkedin.png
André Ferreira de Moraes | Analista de Sistemas
www.djsystem.com.br | www.djpdv.com.br
www.tefhouse.com.br | www.xpos.com.br
Postado

clico no botão criar e enviar ele pega o numero da nota fiscal que é exibido na grade atraves de um clientdataset ouse ja vaux := IntToStr(VnfeNumero.asInteger)

esse é o numero da nota

do mesmo jeito faço como o numero do lote que pego de umgenerator do firebird

Postado

é exatamente isso o que acontece

1-Clico no botão Criar Enviar e digito a nota 10(a nota é impressa corretamente)

2-Clico no botão Criar Enviar e digito a nota 11(a nota 10 é impressa ao invés da 11)

Postado

o que vc acha que pode ser, pode me ajudar, veio não da erro mais não é normal vc pra poder imprimir duas notas ter que sair do sistema e entrar de novo pra poder imprimir a sesguinte vc não acha poderia me dar uma força com relação a isto

  • Este tópico foi criado há 4956 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.