Ir para conteúdo
  • Cadastre-se

dev botao

NFCe Compatibilizar ACBrECF + ACBrTEFD + (ACBrNFeDANFeESCPOS OU ACBrPosPrint)


Ver Solução Respondido por Warquia,
  • Este tópico foi criado há 2995 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado (editado)

@Régys Silveira
@Daniel Simoes


Pessoal gostaria de uma opnião de você, devido a diversas dúvidas referente ao conjunto ECF + TEF + NFCe, gostaria de verificar se eu posso fazer uma compatilidade desse conjunto
a fim de sanar a integração do componente juntamente com os modulos ECF+TEF, minha intenção é 
Cria uma classe igual á "ACBrECFNaoFiscal.pas" poderia ser com o nome "ACBrECFNaoFiscalNFCe.pas" de modo que a mesma não execute impressão de Cabecalho e Itens do cupom ou seja, somente haverá a impressão do Cupom NFCe no final/Envio da venda ao sefaz com o ACBrNFeDANFeESCPOS (hoje a impressão e simultânea igual ao Cupom Fiscal onde não se adéqua ao padrão de impressão NFCe), com assim o mesmo poderá ter a compatibilidade TEF no ACBrECF.
Além do mais o mesmo poderá agregar o componente (ACBrNFeDANFeESCPOS) para de modo que o mesmo imprima o NFCe juntamente com os comprovantes vinculados TEF, desse modo não terá impacto no ACBrTEFD e ACBrECF pois temos uma ponte entre eles via "ACBrECFNaoFiscalNFCe.pas"

Obs. a classe nesse modo já ta 90% concluida, agora preciso do aval de vocês para da continuidade.

 

Editado por Warquia Pereira

Warquia Pereira
Analista de Sistemas e Desenvolvedor

Postado

não exatamente, ele faz impressão simultânea dos itens, onde deveria só ser impresso o Danfe NFCe no final da aplicação, no mais o mesmo imprimo ele em formato ECF Cupom fiscal, fugindo do modelo NFCe. 

Warquia Pereira
Analista de Sistemas e Desenvolvedor

  • Consultores
Postado
15 minutos atrás, Warquia Pereira disse:

não exatamente, ele faz impressão simultânea dos itens, onde deveria só ser impresso o Danfe NFCe no final da aplicação, no mais o mesmo imprimo ele em formato ECF Cupom fiscal, fugindo do modelo NFCe. 

Acho que não entendi essa diferença que você cita.

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Postado

seguindo o cenário atual ACBrECF + ACBrECFVirtualNFCe,
a Cada item registrado no sistema o mesmo irá imprimir esse item concomitante ou seja igual ao um cupom ECF padrão,
digamos que eu continue usando esse modo no final como fazer para imprimir alguns texto padrões da NFCe(Chave de Acesso, link do sefas) e o QrCode? lembrando que nesse modo a impressora esta em uso pelo ACBrECF em uma porta especifica, impossibilitando o ACBrNFeDANFeESCPOS OU ACBrPosPrint.


No outro modelo poderia não imprimir o item a cada registro e no final da aprovação poderia ter a opção de usar o ACBrNFeDANFeESCPOS OU ACBrPosPrint tendo todos os recurso que ACBrTEF, ACBrNFeDANFeESCPOS OU ACBrPosPrint nos propociona Ex: QRCode, Impressão invertida, negrito pois esse componentes usa o padrão ESCPOS e o padrão anterior não usa ESCPOS e sim envio  texto simples a impressora.

Sobre o caso de imprimir concomitante no manual NFCe você pode entregar o cupom em 4 modos ao cliente{Impressão completa, Impressão Resumida sem itens, Enviando Email ou SMS, nó cenário atual sistema sempre vai imprimir os itens perdendo assim a (Impressão Resumida-Sem itens, Enviar EmaiL ou SMS), pois a idéia do mesmo e Optar ou não pela impressão(Sustentável).

Warquia Pereira
Analista de Sistemas e Desenvolvedor

  • Consultores
Postado

@Warquia Pereira

Não entendi qual seria a necessidade da impressão concomitante da NFC-e como era no projeto paf-ecf;

Como você trataria a questão de cancelamento posterior de item, imprimiria como na ecf, cancelamento do item 3 ?

não entendi muito bem a sua questão e qual seria o propósito;

referente a impressora está em uso por outro recurso, é só tu fechar a conexão com o hardware antes de abrir outra comunicação;

Consultor SAC ACBr

Victor H Gonzales - Pandaaa
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

"Aprender é a única coisa que a mente nunca se cansa, nunca tem medo e nunca se arrepende” - Leonardo da Vinci

"Ter sucesso é falhar repetidamente, mas sem perder o entusiasmo"

Postado

É exatamente isso. não deve ter essa impressão concomitante, isso e que esta acontecendo, só deveria ter essa impressão no final de todo processo se o sistema/usuário optar pela impressão do mesmo.

Warquia Pereira
Analista de Sistemas e Desenvolvedor

Postado

Compreendo, penso então que estou fazendo a configuração errada. como proceder no acerto disso, interligar o ACBrECF + ACBrVirtualNFCe e

Ativo o componente no  "ACBrECF.Ativar" ou "ACBrVirtualNFCe.ativar"?

Pessoal agradeço a paciência..

Warquia Pereira
Analista de Sistemas e Desenvolvedor

Postado

Pessoal meu no caso Interliguei o ACBrECF com o ACBrECFVitualNFCe, e o mesmo ta havendo impressões quando executo os métodos

    ACBrECF.AbreCupom(CPFouCNPJ, Nome, Endereco); ou FDataModule.ACBrECF.VendeItem(); o mesmo gera uma impressão na Não Fiscal, isso e correto acontecer? o que devo ta fazendo de errado?



 


 

Warquia Pereira
Analista de Sistemas e Desenvolvedor

Postado
Em 27/08/2016 at 13:56, Warquia Pereira disse:

Pessoal meu no caso Interliguei o ACBrECF com o ACBrECFVitualNFCe, e o mesmo ta havendo impressões quando executo os métodos

    ACBrECF.AbreCupom(CPFouCNPJ, Nome, Endereco); ou FDataModule.ACBrECF.VendeItem(); o mesmo gera uma impressão na Não Fiscal, isso e correto acontecer? o que devo ta fazendo de errado?

Warquia, você consegui resolver o problema? e que estou com o mesmo problema.



 
 

 

Postado

Bom dia pessoal descobri o problema, conforme o @Daniel Simoes falou pensando que  ECFVirtual era um dos componetes (ECFVirtuaNFCe ou  ECFVirtualNaoFiscal), e na verdade e uma propriedade do modelo de que configura no ACBrECF.

Pessoal muito obrigado pela paciência de vocês e o tempo que todos aqui dispensou.

Warquia Pereira
Analista de Sistemas e Desenvolvedor

  • Solution
Postado
Em 30/08/2016 at 10:54, marcosrodrigues disse:

 

Marcos pode ser resolvido da seguintes configurações.

Componentes usados: ACBrECF, ACBrECFVirtualNFCe, ACBrPosPrinter, (ACBrNFeDANFeESCPOS ou  ACBrNFeDANFCeFortes), ACBrNFe

#ACBrECF 
- propriedade Modelo = ecfECFVirtual
- propriedade ECFVirtual = ACBrECFVirtualNFce

#ACBrECFVirtualNFCe
- propriedade ACBrNFCe = ACBrNFe
- propriedade PosPrinter = ACBrPosPrinter

#ACBrNFe
- propriedade Danfe = (ACBrNFeDANFeESCPOS ou  ACBrNFeDANFCeFortes)

#ACBrPosPrinter
- propriedade Modelo = (ppTexto, ppEscPosEpson, ppEscBematech, ppEscDaruma,  ppEscElgin ou ppEscDiebold);
- propriedade Porta = COM1,  COM2 ou Nome do Caminha/compartilhamento da impresso

Nesse modo não haverá impressão na abertura ou no registro do item, ficando a cargo da impressão somente no final de todo processo

 

  • Curtir 2

Warquia Pereira
Analista de Sistemas e Desenvolvedor

  • Moderadores
Postado

Com impressora normal o meu aplicativo já está funcional. Porém, por não usar o ACBrECF, estou com trocentas dúvidas em como implementar o aplicativo para imprimir em impressora não fiscal e também como implementar o TEF com o ACBrTEFD. Como este tópico está muito relacionado ao assunto, gostaria de saber se essa configuração está correta: (o Tipo será configurável no meu aplicativo, sendo A4 ou ESCPOS). Além disso, vi com o ACBrTEFD tem um vinculo com o ACBrECF. Se eu usar o ACBrECFVirtualNFCe precisarei mudar algo ou o ACBrTEFD já reconhecerá todas as propriedades da impressora não fiscal como se fosse um ECF mesmo?

  If (Tipo = 'ESCPOS') then
  begin
    {ACBrECF1}
    ACBrECF1.Modelo                                      := ecfECFVirtual;
    ACBrECF1.ECFVirtual                                  := ACBrECFVirtualNFCe;

    {ACBrECFVirtualNFCe1}
    ACBrECFVirtualNFCe1.ACBrNFCe                         := ACBrNFe1;

    {ACBrPosPrinter1}
    ACBrPosPrinter1.ArqLOG                               := 'C:\Escpos' + FormatFloat('000',wpar_Caixa) + '.log';
    ACBrPosPrinter1.ColunasFonteNormal                   := StrToIntDef(cbxDANFeESCPOSColunas.Text,48);
    ACBrPosPrinter1.ConfigBarras.Altura                  := 0;
    ACBrPosPrinter1.ConfigBarras.LarguraLinha            := 0;
    ACBrPosPrinter1.ConfigBarras.Margem                  := 0;
    ACBrPosPrinter1.ConfigBarras.MostrarCodigo           := FALSE;
    ACBrPosPrinter1.ConfigGaveta.SinalInvertido          := cbxDANFeESCPOSGavetaSinalInvertido.Checked;
    ACBrPosPrinter1.ConfigGaveta.TempoOFF                := StrToIntDef(edtDANFeESCPOSGavetaTempoOFF.Text,200);
    ACBrPosPrinter1.ConfigGaveta.TempoON                 := StrToIntDef(edtDANFeESCPOSGavetaTempoON.Text ,50);
    ACBrPosPrinter1.ConfigLogo.FatorX                    := 1;
    ACBrPosPrinter1.ConfigLogo.FatorY                    := 1;
    ACBrPosPrinter1.ConfigLogo.IgnorarLogo               := FALSE;
    ACBrPosPrinter1.ConfigLogo.KeyCode1                  := 32;
    ACBrPosPrinter1.ConfigLogo.KeyCode2                  := 32;
    ACBrPosPrinter1.ConfigQRCode.ErrorLevel              := 0;
    ACBrPosPrinter1.ConfigQRCode.LarguraModulo           := 0;
    ACBrPosPrinter1.ConfigQRCode.Tipo                    := 2;
    ACBrPosPrinter1.ControlePorta                        := cbxDANFeESCPOSControleDaPorta.Checked;
    ACBrPosPrinter1.CortaPapel                           := cbxDANFeESCPOSCortaPapel.Checked;
    ACBrPosPrinter1.Device.Porta                         := cbxDANFeESCPOSPorta.Text;
    ACBrPosPrinter1.Device.Baud                          := StrToIntDef(cbxDANFeESCPOSBaud.Text,9600);
    ACBrPosPrinter1.EspacoEntreLinhas                    := edtDANFeESCPOSEspacoEntreLinhas.Value;
    ACBrPosPrinter1.IgnorarTags                          := cbxDANFeESCPOSIgnorarTags.Checked;
    ACBrPosPrinter1.LinhasBuffer                         := 0;
    ACBrPosPrinter1.LinhasEntreCupons                    := edtDANFeESCPOSLinhasEntreCupons.Value;
    ACBrPosPrinter1.Modelo                               := TACBrPosPrinterModelo(cbxDANFeESCPOSModeloImpressora.ItemIndex);
    //ACBrPosPrinter1.PaginaDeCodigo                     := TACBrPosPaginaCodigo(cbxDANFeESCPOSPaginaDeCodigo.ItemIndex);
    ACBrPosPrinter1.TraduzirTags                         := TRUE;
    {ACBrNFeDANFeESCPOS1}
    ACBrNFeDANFeESCPOS1.Logo                             := Trim(edtDANFeESCPOSLogo.Text);
    ACBrNFeDANFeESCPOS1.Sistema                          := sSistema;
    ACBrNFeDANFeESCPOS1.Usuario                          := sUsuario;
    ACBrNFeDANFeESCPOS1.PathPDF                          := Trim(edtDANFeESCPOSPDF.Text);
    ACBrNFeDANFeESCPOS1.Impressora                       := cbxDANFeESCPOSModeloImpressora.Text;
    ACBrNFeDANFeESCPOS1.MostrarPreview                   := bMostrarPreview;
    ACBrNFeDANFeESCPOS1.MostrarStatus                    := TRUE;
    Case cbxDANFeESCPOSImpressao.ItemIndex of
    0:ACBrNFeDANFeESCPOS1.TipoDANFE                      := tiNFCe;
    1:ACBrNFeDANFeESCPOS1.TipoDANFE                      := tiMsgEletronica;
    2:ACBrNFeDANFeESCPOS1.TipoDANFE                      := tiNFCeA4;
    End;
    ACBrNFeDANFeESCPOS1.NumCopias                        := StrToIntDef(edtDANFeESCPOSVias.Text,2);
    ACBrNFeDANFeESCPOS1.Fax                              := edtEmitFAX.Text;
    ACBrNFeDANFeESCPOS1.Site                             := edtEmitSite.Text;
    ACBrNFeDANFeESCPOS1.Email                            := LowerCase(edtEmitEmail.Text);
    ACBrNFeDANFeESCPOS1.ImprimirDescPorc                 := cbxDANFeESCPOSDescontoEmPercentual.Checked;
    ACBrNFeDANFeESCPOS1.ImprimirTotalLiquido             := cbxDANFeESCPOSVlrLiquidoNoItem.Checked;
    ACBrNFeDANFeESCPOS1.MargemInferior                   := edtDANFeESCPOSMargemInferior.Value;
    ACBrNFeDANFeESCPOS1.MargemSuperior                   := edtDANFeESCPOSMargemSuperior.Value;
    ACBrNFeDANFeESCPOS1.MargemEsquerda                   := edtDANFeESCPOSMargemEsquerda.Value;
    ACBrNFeDANFeESCPOS1.MargemDireita                    := edtDANFeESCPOSMargemDireita.Value;
    ACBrNFeDANFeESCPOS1.CasasDecimais._qCom              := StrToIntDef(cbxDANFeESCPOSCasasqCom.Text,4);
    ACBrNFeDANFeESCPOS1.CasasDecimais._vUnCom            := StrToIntDef(cbxDANFeESCPOSCasasvCom.Text,4);
    ACBrNFeDANFeESCPOS1.CasasDecimais._Mask_qCom         := '###,###,###,##0.00##';
    ACBrNFeDANFeESCPOS1.CasasDecimais._Mask_vUnCom       := '###,###,###,##0.00##';
    ACBrNFeDANFeESCPOS1.ExibirResumoCanhoto              := cbxDANFeESCPOSImprimirResumoCanhoto.Checked;
    ACBrNFeDANFeESCPOS1.FormularioContinuo               := FALSE;
    ACBrNFeDANFeESCPOS1.ExpandirLogoMarca                := cbxDANFeESCPOSExpandirLogomarca.Checked;
    ACBrNFeDANFeESCPOS1.TamanhoFonte_DemaisCampos        := 10;
    ACBrNFeDANFeESCPOS1.ProdutosPorPagina                := 0;
    ACBrNFeDANFeESCPOS1.ImprimirDetalhamentoEspecifico   := TRUE;
    ACBrNFeDANFeESCPOS1.NFeCancelada                     := FALSE;
    ACBrNFeDANFeESCPOS1.ImprimirItens                    := TRUE;
    ACBrNFeDANFeESCPOS1.ViaConsumidor                    := TRUE;
    ACBrNFeDANFeESCPOS1.TamanhoLogoHeight                := 0;
    ACBrNFeDANFeESCPOS1.TamanhoLogoWidth                 := 0;
    ACBrNFeDANFeESCPOS1.RecuoEndereco                    := 0;
    ACBrNFeDANFeESCPOS1.RecuoEmpresa                     := 0;
    ACBrNFeDANFeESCPOS1.LogoemCima                       := TRUE;
    ACBrNFeDANFeESCPOS1.TamanhoFonteEndereco             := 0;
    ACBrNFeDANFeESCPOS1.RecuoLogo                        := 0;
    ACBrNFeDANFeESCPOS1.TributosSeparadamente            := FALSE;
    ACBrNFeDANFeESCPOS1.FonteTributos                    := 'IBPT';
    ACBrNFeDANFeESCPOS1.ImprimeEmUmaLinha                := TRUE;
    ACBrNFeDANFeESCPOS1.ImprimeDescAcrescItem            := TRUE;
    ACBrNFeDANFeESCPOS1.UsaCodigoEanImpressao            := FALSE;
    If NOT FileExists(Trim(edtDANFEA4Logo.Text)) then
    begin
       ACBrNFeDANFeESCPOS1.Logo                          := '';
       ACBrNFeDANFeESCPOS1.LogoEmCima                    := FALSE;
       ACBrNFeDANFeESCPOS1.ExpandirLogoMarca             := FALSE;
    end;
    ACBrNFeDANFeESCPOS1.PosPrinter                       := ACBrPosPrinter1;
    ACBrNFe1.DANFE                                       := ACBrNFeDANFeESCPOS1;
  end;
  {diretorio do DANFE PDF}
  wpar_PathDANFE := ComDelimitador(ACBrNFe1.DANFE.PathPDF);
  If not DirectoryExists(wpar_PathDANFE) then CreateDir(wpar_PathDANFE);
end;

 

  • Curtir 1
  • Moderadores
Postado (editado)
11 minutos atrás, jean_peixoto disse:

Gr@c@, eu também estou com mesma dúvida que você!

Conseguiu achar alguma resposta?

nada, está bem dificil conseguir mais informações, mesmo porque quero usar o ACBrTEFD sem o ACBrECF

Editado por Gr@c@
  • Curtir 1
  • Este tópico foi criado há 2995 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.