Ir para conteúdo
  • Cadastre-se

abrahaofv

Membros
  • Total de ítens

    175
  • Registro em

  • Última visita

Tudo que abrahaofv postou

  1. A linha estava repetida sem querer, mais mesmo deixando apenas uma vez não vai
  2. @Thomas Rapaz, você pode me ajudar com a impressão do Danfe para ficar igual ao seu ? Eu não sei se é alguma configuração ou os meus fontes. Estou usando o Fortes mais recente que tem, só que meu danfe fica com o "cabeçalho" dessa forma ai. Inclusive configuro a Logomarca e ela não sai. Código da configuração do Danfe: procedure TfrmPrincipal.ConfiguraDANFe(GerarPDF, MostrarPreview: Boolean; ACBrNFe1: TACBrNFe); var OK: boolean; PathPDF: String; VBMostrarPreview: Boolean; begin FEmiteNotaFiscalEletronica.ACBrNFe.DANFE := TACBrNFeDANFeRL.Create(nil); PathPDF := edtDiretorio.Text + '\PathPDF'; VBMostrarPreview := True; if ACBrNFe1.NotasFiscais.Count > 0 then begin //ACBrNFe1.DANFE := ACBrNFeDANFeRL1; //Verificar oque preencher //ACBrNFe1.DANFE.Impressora := cbxImpressora.Text; if (ACBrNFe1.NotasFiscais.Items[0].NFe.procNFe.cStat in [101, 151, 155]) then ACBrNFe1.DANFE.NFeCancelada := True else ACBrNFe1.DANFE.NFeCancelada := False; end; if GerarPDF and not DirectoryExists(PathWithDelim(PathPDF))then ForceDirectories(PathWithDelim(PathPDF)); if ACBrNFe1.DANFE <> nil then begin ACBrNFe1.DANFE.TipoDANFE := StrToTpImp(OK, IntToStr(rgTipoDanfe.ItemIndex)); ACBrNFe1.DANFE.Logo := edtLogoMarca.Text; ACBrNFe1.DANFE.Sistema := 'GoodSoft Informática LTDA'; ACBrNFe1.DANFE.Site := 'www.goodsoft.com.br'; ACBrNFe1.DANFE.Email := '[email protected]'; ACBrNFe1.DANFE.Fax := ''; ACBrNFe1.DANFE.ImprimirDescPorc := True; ACBrNFe1.DANFE.NumCopias := 1; ACBrNFe1.DANFE.ProdutosPorPagina := 5; ACBrNFe1.DANFE.MargemInferior := 1; //0,80 ACBrNFe1.DANFE.MargemSuperior := 2; //0,80 ACBrNFe1.DANFE.MargemDireita := 0.5; //0,51 ACBrNFe1.DANFE.MargemEsquerda := 0.5; //0,60 ACBrNFe1.DANFE.PathPDF := PathWithDelim(PathPDF); ACBrNFe1.DANFE.CasasDecimais._qCom := 4; ACBrNFe1.DANFE.CasasDecimais._vUnCom := 3; ACBrNFe1.DANFE.ExibirResumoCanhoto := true; ACBrNFe1.DANFE.ImprimirTotalLiquido := true; ACBrNFe1.DANFE.FormularioContinuo := true; ACBrNFe1.DANFE.MostrarStatus := true; ACBrNFe1.DANFE.ExpandirLogoMarca := true; ACBrNFe1.DANFE.TamanhoFonte_DemaisCampos := 8; ACBrNFe1.DANFE.TamanhoFonteEndereco := 8; ACBrNFe1.DANFE.PosCanhoto := TPosRecibo(1); ACBrNFe1.DANFE.LogoemCima := True; if ACBrNFe1.DANFE = ACBrNFeDANFeRL1 then begin // Configurar depois // ACBrNFeDANFeRL1.Fonte.Nome := TNomeFonte(rgTipoFonte.ItemIndex); // ACBrNFeDANFeRL1.LarguraCodProd := speLargCodProd.Value; // ACBrNFeDANFeRL1.ExibirEAN := cbxExibirEAN.Checked; // ACBrNFeDANFeRL1.ExibeCampoFatura := cbxExibirCampoFatura.Checked; // ACBrNFeDANFeRL1.QuebraLinhaEmDetalhamentoEspecifico := cbxQuebrarLinhasDetalhesItens.Checked; // ACBrNFeDANFeRL1.Fonte.TamanhoFonte_RazaoSocial := speFonteRazao.Value; // ACBrNFeDANFeRL1.AltLinhaComun := speAlturaCampos.Value; // ACBrNFeDANFeRL1.PosCanhoto := TPosRecibo( rgLocalCanhoto.ItemIndex ); end; ACBrNFe1.DANFE.TipoDANFE := StrToTpImp(OK,IntToStr(rgTipoDanfe.ItemIndex+1)); ACBrNFe1.DANFE.Logo := edtLogoMarca.Text; end; ACBrNFe1.DANFE.MostrarPreview := (not GerarPDF) and (VBMostrarPreview); if ACBrNFe1.DANFE.MostrarPreview and MostrarPreview then begin Application.BringToFront; end end;
  3. Amigo, não funcionou. E o "cabeçalho" sai desse jeito ai olha, não sai as informações do emitente que nem o print anterior. Caso queira eu anexei no começo os xml. A imagem que estou utilizando está em BMP com as dimensões 162x114 Acabei de notar, o NCM está cortando.
  4. Bom dia, Estou realizando a impressão do Danfe NFE utilizando o Fortes. Peguei os fontes que encontrei no acbrmonitor para configurar a impressão do Danfe, porém eu não sei utilizar o Lazarus dai só peguei a parte do código e adaptei. Gostaria de saber como configuro para deixar o Layout do cabeçalho igual com as informações que são exibidas pelo emissor gratuito. No meu não está saindo as informações do emitente, a logomarca e nem se é entrada/saída. Danfe emitido pelo meu programa : 33161003971151000185550020000000051610067996-nfe.pdf Danfe emitido pelo emissor gratuito: Danfe Prod 002.pdf Exemplo de Danfe com cabeçalho no modelo que desejo e com a logomarca: Código da configuração do Danfe: procedure TfrmPrincipal.ConfiguraDANFe(GerarPDF, MostrarPreview: Boolean; ACBrNFe1: TACBrNFe); var OK: boolean; PathPDF: String; VBMostrarPreview: Boolean; begin FEmiteNotaFiscalEletronica.ACBrNFe.DANFE := TACBrNFeDANFeRL.Create(nil); PathPDF := edtDiretorio.Text + '\PathPDF'; VBMostrarPreview := True; if ACBrNFe1.NotasFiscais.Count > 0 then begin //ACBrNFe1.DANFE := ACBrNFeDANFeRL1; //Verificar oque preencher //ACBrNFe1.DANFE.Impressora := cbxImpressora.Text; if (ACBrNFe1.NotasFiscais.Items[0].NFe.procNFe.cStat in [101, 151, 155]) then ACBrNFe1.DANFE.NFeCancelada := True else ACBrNFe1.DANFE.NFeCancelada := False; end; if GerarPDF and not DirectoryExists(PathWithDelim(PathPDF))then ForceDirectories(PathWithDelim(PathPDF)); if ACBrNFe1.DANFE <> nil then begin ACBrNFe1.DANFE.TipoDANFE := StrToTpImp(OK, IntToStr(rgTipoDanfe.ItemIndex)); ACBrNFe1.DANFE.Logo := edtLogoMarca.Text; ACBrNFe1.DANFE.Sistema := 'GoodSoft Informática LTDA'; ACBrNFe1.DANFE.Site := 'www.goodsoft.com.br'; ACBrNFe1.DANFE.Email := '[email protected]'; ACBrNFe1.DANFE.Fax := ''; ACBrNFe1.DANFE.ImprimirDescPorc := True; ACBrNFe1.DANFE.NumCopias := 1; ACBrNFe1.DANFE.ProdutosPorPagina := 5; ACBrNFe1.DANFE.MargemInferior := 1; //0,80 ACBrNFe1.DANFE.MargemSuperior := 2; //0,80 ACBrNFe1.DANFE.MargemDireita := 0.5; //0,51 ACBrNFe1.DANFE.MargemEsquerda := 0.5; //0,60 ACBrNFe1.DANFE.PathPDF := PathWithDelim(PathPDF); ACBrNFe1.DANFE.CasasDecimais._qCom := 4; ACBrNFe1.DANFE.CasasDecimais._vUnCom := 3; ACBrNFe1.DANFE.ExibirResumoCanhoto := true; ACBrNFe1.DANFE.ImprimirTotalLiquido := true; ACBrNFe1.DANFE.FormularioContinuo := true; ACBrNFe1.DANFE.MostrarStatus := true; ACBrNFe1.DANFE.ExpandirLogoMarca := true; ACBrNFe1.DANFE.TamanhoFonte_DemaisCampos := 8; ACBrNFe1.DANFE.TamanhoFonteEndereco := 8; ACBrNFe1.DANFE.PosCanhoto := TPosRecibo(1); ACBrNFe1.DANFE.LogoemCima := True; if ACBrNFe1.DANFE = ACBrNFeDANFeRL1 then begin // Configurar depois // ACBrNFeDANFeRL1.Fonte.Nome := TNomeFonte(rgTipoFonte.ItemIndex); // ACBrNFeDANFeRL1.LarguraCodProd := speLargCodProd.Value; // ACBrNFeDANFeRL1.ExibirEAN := cbxExibirEAN.Checked; // ACBrNFeDANFeRL1.ExibeCampoFatura := cbxExibirCampoFatura.Checked; // ACBrNFeDANFeRL1.QuebraLinhaEmDetalhamentoEspecifico := cbxQuebrarLinhasDetalhesItens.Checked; // ACBrNFeDANFeRL1.Fonte.TamanhoFonte_RazaoSocial := speFonteRazao.Value; // ACBrNFeDANFeRL1.AltLinhaComun := speAlturaCampos.Value; // ACBrNFeDANFeRL1.PosCanhoto := TPosRecibo( rgLocalCanhoto.ItemIndex ); end; ACBrNFe1.DANFE.TipoDANFE := StrToTpImp(OK,IntToStr(rgTipoDanfe.ItemIndex+1)); ACBrNFe1.DANFE.Logo := edtLogoMarca.Text; end; ACBrNFe1.DANFE.MostrarPreview := (not GerarPDF) and (VBMostrarPreview); if ACBrNFe1.DANFE.MostrarPreview and MostrarPreview then begin Application.BringToFront; end end; 33161003971151000185550020000000051610067996-nfe.pdf Danfe Prod 002.pdf
  5. Estou usando o Delphi Xe2 e o Fortes Reports Comunity Edition. Estou tanto imprimindo na impressora quanto salvando em PDF e abrindo-os normalmente.
  6. Juliomar, acabei de baixar o fortes aqui para o Delphi xe2 e tive que comentar a parte do FineTuneAngleLabels := true; também
  7. Consegui !!! Para quem desejar, segue abaixo como deve ser implementado : uses pcnNFeRTXT procedure exemplo var NFeRTXT : TNFeRTXT; begin ACBrNFe.NotasFiscais.Clear; ACBrNFe.NotasFiscais.Add; NFeRTXT := TNFeRTXT.Create(FACBrNFe.NotasFiscais.Items[0].NFe); try NFeRTXT.CarregarArquivo('C:\Users\XXXX\Desktop\ARQUIVOS_NFE\NOTAFISCAL_TESTE_65_01092016_ate_30092016.txt'); if not NFeRTXT.LerTxt then raise Exception.Create('Arquivo inválido!'); finally NFeRTXT.Free; end; 2 - Depois só seguir o processo normal ACBrNFe.NotasFiscais.Assinar; ACBrNFe.NotasFiscais.Validar; ACBrNFe.NotasFiscais.GerarNFe; ACBrNFe.Enviar(NUMLote);
  8. Boa tarde, Estou realizando a implementação da emissão de NFE utilizando o ACBR e verifiquei que existe o comando ACBrNFe.NotasFiscais.LoadFromFile para carregar o arquivo XML pronto para dentro do acbr. Testei o método e funciona perfeitamente, porém no meu software eu estou gerando o arquivo no formato TXT para poder importa-lo no emissor nfe gratuito de são paulo. Com isso gostaria de saber se tem um método para carregar este arquivo txt (que já está no formato de acordo com o layout txt nfe 3.1) para o ACBR ?
  9. Nebrio, Obrigado pela explicação. A minha intensão em utilizar o ACBRMonitorPlus é para o caso de NFe emitidas em contingência. Na verdade tanto NFe quanto NFCe. Pelo meu entendimento, com ele seria colocar o xml no diretório e enviar o comando NFE.EnviarNFe
  10. Estou efetuando os questionamentos aqui no fórum exatamente porque eu já li o manual e o mesmo não possui uma explicação clara de sua funcionalidade. Inclusive na parte "Como compilar o ACBRMonitor" a 4. opção informa Instale o ACBr no Lazarus, seguindo as instruções do arquivo LEIA-ME.TXT do ACBr porém já atualizei os fontes aqui e não existe nenhum LEIA-ME.txt com tal instrução.
  11. Basta eu jogar o arquivo txt ou xml na pasta lá do ACBRMonitor que ele vê que tem o arquivo lá e já emite ?
  12. No manual diz para instalar o ACBR no Lazarus seguindo as instruções do arquivo LEIA-ME.txt, porém o arquivo não existe.
  13. Fabiana, Baixei o Lazarus e os fontes do ACBRMonitor agora. Pretendo realizar a minha primeira compilação aqui, como você configura os fontes do ACBR no Lazarus ? nunca utilizei antes.
  14. Bom dia, Sou novato em relação ao ACBRMonitor e gostaria de tirar algumas dúvidas se não for incomodo. Já li e tentei compreender sua funcionalidade apenas com o manual e não consegui. Estou atualmente emitindo NFE utilizando o ACBR através do Delphi XE2, caso eu venha a integrar o meu software com o ACBRMonitor, ele servirá para realizar esta mesma função só que ele monitora caso tenha contingência e faz o envio sozinho ? No meu caso que desejo emitir NFE, devo utilizar o AcbrNfeMonitor então ? Verifiquei no manual e vi que o acbrmonitor possui alguns comandos, por exempo NFE.StatusServico, NFE.ValidarNFe, NFE.AssinarNFe. Estes comandos são apenas utilizáveis no Lazarus ? Eu tenho que reprogramar o envio da NFE só que desta vez usando os fontes do acbrmonitor ou eu tenho que fazer meu software gerar o TXT ou XML na pasta do ACBRMonitor para que ele sozinho efetue a transmissão ? Estou bem perdido em relação a como utiliza-lo. Seria muito mais simples caso pudesse enviar um áudio ou chamada. Caso alguém queira me ajudar, segue: Skype: abrahao.goodsoft
  15. Roberto, bom dia. Agradeço o exemplo apresentado, porém, estou com uma dúvida. A classe TNFeW é privada, com isso não consigo ter acesso a ela pelo ACBrNFe para obter a ListaDeAlertas. Tentei desta forma (FACBrNFe.CartaCorrecao.CCe.Gerador.ListaDeAlertas.Count) mais parece que não é a mesma lista pois ela fica zerada. Com isso eu mando Assinar, quando mando validar ele já estoura o erro pelo próprio ACBR, não dando tempo de eu tratar o erro. Eu tenho que alterar a unidade do ACBR ? O código abaixo é da unidade ACBrNFeNotasFiscais e é chamado quando mando validar FACBrNFe.NotasFiscais.Validar. Eu vou ter de tirar esse Raise Exception e colocar o tratamento ali ? procedure NotaFiscal.Validar; var Erro, AXML, DeclaracaoXML: String; NotaEhValida, ok: Boolean; ALayout: TLayOut; VerServ: Real; Modelo: TpcnModeloDF; cUF: Integer; begin AXML := XMLAssinado; with TACBrNFe(TNotasFiscais(Collection).ACBrNFe) do begin VerServ := FNFe.infNFe.Versao; Modelo := StrToModeloDF(ok, IntToStr(FNFe.Ide.modelo)); cUF := FNFe.Ide.cUF; if EhAutorizacao( DblToVersaoDF(ok, VerServ), Modelo, cUF) then ALayout := LayNfeAutorizacao else ALayout := LayNfeRecepcao; // Extraindo apenas os dados da NFe (sem nfeProc) DeclaracaoXML := ObtemDeclaracaoXML(AXML); AXML := DeclaracaoXML + '<NFe xmlns' + RetornarConteudoEntre(AXML, '<NFe xmlns', '</NFe>') + '</NFe>'; NotaEhValida := SSL.Validar(AXML, GerarNomeArqSchema(ALayout, VerServ), Erro); if not NotaEhValida then begin FErroValidacao := ACBrStr('Falha na validação dos dados da nota: ') + IntToStr(NFe.Ide.nNF) + sLineBreak + FAlertas ; FErroValidacaoCompleto := FErroValidacao + sLineBreak + Erro; raise EACBrNFeException.CreateDef( IfThen(Configuracoes.Geral.ExibirErroSchema, ErroValidacaoCompleto, ErroValidacao)); end; end; end;
  16. Realmente, testei rodar a aplicação direto sem ser pelo Delphi e não exibiu este erro. Vou testar aqui ver se eu consigo pegar o retorno
  17. Olá, Não funcionou, ele está gerando a exceção neste momento do enviar, depois ele vai para o GerarException e da o Raise. Estou vendo que tem essa variável ASincrono ai no método, Marcando ela para true acho que evita o erro aparecer e eu teria de resgatar de outra forma, mais do que se trata certamente este ASincrono ? Colocando ele como true da problema ? Editado: Testei colocar o Asincrono True mais continua retornando o erro desta forma ai do raise mostrado anteriormente.
  18. Bom dia a todos, Regis, testei sua sugestão mais não mudou nada aqui. Continuo com o erro sendo exibido conforme abaixo. Gostaria de saber como faço para obter esse erro para eu poder jogar para algum lugar, uma tabela, log txt ou oque seja, de forma que não exiba o erro da forma que está exibindo pelo Raise exception do ACBR.
  19. Bom dia a todos, Eu li os dois tópicos sugeridos, testei as alterações sugeridas pelo Regis mais eu continuo com o erro sendo exibido conforme abaixo. Gostaria de saber como faço para obter esse erro para eu poder jogar para algum lugar, uma tabela, log txt ou oque seja, de forma que não exiba o erro da forma que está exibindo pelo Raise exception do ACBR.
  20. Estou testando a transmissão da NF-e referente a uma NFC-e, estou utilizando o CFOP 5929 e coloquei a chave de acesso nos Documentos referenciados, porém me ocorre este erro: 375 - Rejeição: NF-e com lançamento relativo a Cupom Fiscal referencia uma NFC-e
  21. abrahaofv

    XML para classe TNFe

    Boa tarde. Gostaria de saber se existe uma forma simples de preencher a classe TNFe (classe que corresponde ao leiaute do xml, com seus respectivos campos) com o xml retornado do webservice ? Hoje eu preencho as informações necessárias para o webservice e consigo salvar o arquivo como no exemplo a baixo mais gostaria de preencher "automática mente" o TNFe para poder utilizar TNFe.Ide.cUF, TNFe.Ide.NFref.Items[index].refNFe, e outros campos. Pois caso não exita uma forma, terei de carregar o XML e fazer um XMLDoc.DocumentElement.ChildNodes.FindNode e depois ChildNodes['cUF'].text para ir pegando os campos do xml. Exemplo: WebServices.DownloadNFe.Executar; // Baixa o XML WebServices.DownloadNFe.retDownloadNFe.xml; // Retorna o XML no formato AnsiString
×
×
  • 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.