Ir para conteúdo
  • Cadastre-se

EasyTEF

Membros
  • Total de ítens

    48
  • Registro em

  • Última visita

Tudo que EasyTEF postou

  1. Pessoal, Fiz um Update do trunk do ACBr e reparei a falta do código de barras no fonte do ACBrECF. Segundo o diff que fiz, a alteração foi feita 04/10/2011, na revisão 2795 do ACBrECF.pas O que aconteceu para a retirada do código do barras do ACBrECF?
  2. EasyTEF

    ACBrX

    Prezado Jader, Como colocado no começo do post, a documentação é colaborativa, então é necessário ser terminada ainda. Mas acredito que o que vc queira não seja documentação, mas um tutorial. Tem diferença. De qualquer, não há documentação nem tutorial, até porque, precisaria de um tutorial para cada linguagem. Não precisa abrir o exemplo em Delphi, pois o ACBrX acompanha exemplo em VB6. Já que você mexe com Visual Fox Pro, que é parte do Visual Studio 6, você pode abrir o exemplo em VB6 que acompanha o ACBrX. Fiz um pequeno tutorial em VB6, que acredito poder ser adaptável para o FoxPro: ACBrECF.FormMsgColor = vbRed ACBrECF.Modelo = ecfSweda ACBrECF.Porta = "COM1" If Not ACBrECF.Ativo Then If Not ACBrECF.Ativar Then MsgBox "Não foi possível ativar o componente ACBrX.ACBrECF." Exit Sub End If End If If ACBrECF.Estado = estRequerZ Then If Not ACBrECF.ReducaoZ(Now) Then MsgBox "Não foi possível emitir a Redução Z" Exit Sub End If End If Call ACBrECF.CancelaCupom If Not ACBrECF.AbreCupom("11111111111", "Fulano de Tal", "Rua da Fantasia") Then MsgBox "Não foi possível emitir a Redução Z." Exit Sub End If If Not ACBrECF.VendeItem(Format("000", 1), "DESCRICAO PRODUTO: " & Format("000", 1), "NN", 1, 123.45, 0, "UN") Then MsgBox "Não foi possível vender o ítem." Exit Sub End If If Not ACBrECF.SubtotalizaCupom(0, "") Then MsgBox "Não foi possível subtotalizar o cupom." Exit Sub End If If Not ACBrECF.EfetuaPagamento("01", 123.45, "Quem quer Dinheiro?", False) Then MsgBox "Não foi possível efetuar a forma de pagamento de índice '01'." Exit Sub End If If Not ACBrECF.FechaCupom("*** OBRIGADO E VOLTE SEMPRE!!! ***") Then MsgBox "Não foi possível terminar o fechamento do cupom fiscal." Exit Sub End If
  3. http://easysoftware.net.br/contato.html
  4. Opa! Por enquanto, pode mandar email para [email protected] e adicionar no Skype EasyTEF
  5. Olá, tudo bom? Já tentou utilizar o ACBrX? Ele é um objeto ActiveX que possui todas as propriedades, métodos e eventos do ACBrECF, além de possuir todos os tipos de dados estruturados, e o exemplo ECFTeste 100% escrito em VB6: http://easysoftware.net.br/downloads/ACBrX.rar Qualquer dúvida é só dar um toque...
  6. EasyTEF

    ACBrX

    Prezado Jader, Na verdade, não é uma DLL de funções, como as DLLs das impressoras fiscais, mas, como o tópico mesmo diz, é uma DLL ActiveX. Qual é sua linguagem de programação? Ela precisa suportar o padrão COM (Component Object Model). Primeiro a DLL precisa ser registrada no Windows (no começo do tópico é descrito como fazer isso). Depois, dependendo do ambiente de programação, você importa a referência ACBrX para dentro de seu sistema. Se não for assim, você cria um objeto OLE "ACBrX.ACBrECF". A documentação que acompanha a DLL não possui a descrição de todos os métodos, mas lista todos os métodos, propriedades, eventos e tipos enumerados. Esta é uma DLL que traz um objeto, não comandos. No que pudermos ajudar, estamos aí. Não consegui nem declarar as funções, se é que é necessário. Seria interessante um caminho das pedras genérico (independente da linguagem) indicando os passos iniciais que devem ser executados pois no exemplo em VB isso fica difícil de visualizar.
  7. EasyTEF

    ACBrX

    A biblioteca ACBrX, com os objetos ACBrAAC, ACBrEAD, ACBrRFD e ACBrECF custa R$ 399,00 para o desenvolvedor. Como estão os testes do ACBrX no FoxPro?
  8. EasyTEF

    ACBrX

    Pessoal do FoxPro, Fiquem a vontade para baixar e testar o ACBrX pelo link: http://easysoftware.net.br/downloads/ACBrX.rar O namespace para a criacao do objeto eh "ACBrX.ACBrECF" Nao esquecam de registrar a DLL no Windows antes de tentar instanciar o ACBrECF. Abs.
  9. Pessoal, Por favor, baixem novamente o pacote. Estava faltando algumas DLLs que o ACBr depende para poder executar. Coloquem todas as DLLs juntas no mesmo diretório.
  10. EasyTEF

    ACBrX

    Pessoal, Por favor, baixem novamente o pacote. Estava faltando algumas DLLs que o ACBr depende para poder executar. Coloquem todas as DLLs juntas no mesmo diretório.
  11. Pessoal, bom dia. Segue link para versão de avaliação do ACBrX: http://easysoftware.net.br/downloads/ACBrX.rar Esse arquivo possui o exemplo ECFTeste em VB6. Lembrando que a DLL deve ser registrada no Windows. O script "registrar componente.bat" já faz isso. No Windows Vista / 7, é necessário abrir um prompt de comando de administrador para então executar o script. Há também o pouco de documentação que fiz. Pretendo adicionar mais descrições aos métodos e eventos que eu conhecer. Segue código para instanciar o objeto ACBrX.ACBrECF em C#. O código é bem parecido para VB.NET. Após registrar a DLL no Windows, é necessário adicionar a referência COM ACBrX à solution. Outro detalhe importante é que o projeto deve ter Build para plataforma x86 (e não qualquer CPU). using ACBrX; using System.Runtime.InteropServices.ComTypes; public partial class Main : Form, IACBrECFEvents // reparar na implementação da interface IACBrECFEvents private ACBrX.ACBrECF ACBrECF; // variáveis para configuração de eventos private int cookie = -1; private IConnectionPoint icp = null; private void CarregarACBrX() { // instancia o objeto ACBrECF ACBrECF = new ACBrECF(); // configuração de eventos // lembrando que é necessário implementar a interdace IACBrECFEvents junto ao form IConnectionPointContainer icpc = (IConnectionPointContainer)ACBrECF; Guid guid = typeof(IACBrECFEvents).GUID; icpc.FindConnectionPoint(ref guid, out icp); icp.Advise(this, out cookie); } private void Main_Load(object sender, EventArgs e) { CarregarACBrX(); } private void Main_FormClosing(object sender, FormClosingEventArgs e) { icp.Unadvise(cookie); ACBrECF = null; }
  12. EasyTEF

    ACBrX

    Pessoal, bom dia. Segue link para versão de avaliação do ACBrX: http://easysoftware.net.br/downloads/ACBrX.rar Esse arquivo possui o exemplo ECFTeste em VB6. Lembrando que a DLL deve ser registrada no Windows. O script "registrar componente.bat" já faz isso. No Windows Vista / 7, é necessário abrir um prompt de comando de administrador para então executar o script. Há também o pouco de documentação que fiz. Pretendo adicionar mais descrições aos métodos e eventos que eu conhecer. Segue código para instanciar o objeto ACBrX.ACBrECF em C#. O código é bem parecido para VB.NET. Após registrar a DLL no Windows, é necessário adicionar a referência COM ACBrX à solution. Outro detalhe importante é que o projeto deve ter Build para plataforma x86 (e não qualquer CPU). using ACBrX; using System.Runtime.InteropServices.ComTypes; public partial class Main : Form, IACBrECFEvents // reparar na implementação da interface IACBrECFEvents private ACBrX.ACBrECF ACBrECF; // variáveis para configuração de eventos private int cookie = -1; private IConnectionPoint icp = null; private void CarregarACBrX() { // instancia o objeto ACBrECF ACBrECF = new ACBrECF(); // configuração de eventos // lembrando que é necessário implementar a interdace IACBrECFEvents junto ao form IConnectionPointContainer icpc = (IConnectionPointContainer)ACBrECF; Guid guid = typeof(IACBrECFEvents).GUID; icpc.FindConnectionPoint(ref guid, out icp); icp.Advise(this, out cookie); } private void Main_Load(object sender, EventArgs e) { CarregarACBrX(); } private void Main_FormClosing(object sender, FormClosingEventArgs e) { icp.Unadvise(cookie); ACBrECF = null; }
  13. EasyTEF

    ACBrX

    Muito obrigado pela opinião, Rafael! Colocarei aqui a opinião que coloquei em outro forum, sobre a questão da portabilidade: Também pensei sobre o assunto. Até vi alguns frentes de caixa em Linux, mas somente em grandes lojas. Conclui que o nosso mercado, de pequeno e médio porte, é Windows. Tomemos o TEF Discado como exemplo. Ele não funciona em Linux. Pequenos estabelecimentos não querem saber de TEF IP ou TEF Dedicado por questão de custos. Por aí, já começa o uso do Windows. No momento que um pequeno lojista precisar de uma manutenção, uma instalação de software, formatar a máquina, a hora do técnico de Linux é mais cara do que de Windows. Eu mesmo nunca comercializei uma cópia de EasyTEF VeSPague para Lazarus no Linux. Enfim, concluo que Linux não é pra quem quer, mas para quem pode. Nosso público alvo é Windows e o ACBrX se encaixa perfeitamente neste modelo, para muitas linguagens de programação. Queria eu que o Linux tivesse um modelo padrão de componentes, como o COM, do Windows. Facilitaria bastante a vida de muitos desenvolvedores.
  14. O problema é o seguinte: Incompatibilidade entre plataformas 32 e 64 bits. Por padrão, um projeto .NET vem setado para rodar em qualquer CPU. Se a CPU física do seu computador for 64bits, ele vai tentar rodar o .NET framework em modo 64bits, mas a DLL que está sendo carregada foi gerada num compilador 32bits. Por isso ocorre a exceção. Para corrigir o problema, é necessário fazer com que o padrão do projeto no Visual Studio (VS) seja 32bits ou x86, ao invés de qualquer CPU. Basta ir às propriedades do projeto, na aba Build e escolher a plataforma x86, conforme printscreen anexo, pelo menos no VS 2010. Acredito que a opção seja parecida no VS 2008: Até poderíamos entrar na discussão sobre 32bits X 64bits, mas na boa, pra nossa área, o lance é rodar tudo em 32bits, por enquanto. Tem recurso de debug do VS que não funciona em 64bits.
  15. EasyTEF

    ACBrX

    Pessoal, boa tarde! Estamos prestes a lançar um projeto novo no mercado, então gostaríamos da opinião da comunidade de software de automação comercial, para adequarmos a ideia da melhor forma possível. O projeto ACBr possui diversos componentes que ajudam demais os desenvolvedores, porém, seus objetos (POO) estão ao alcance somente de programadores Delphi / Lazarus. Assim, com o uso de COM (Component Object Model, modelo padrão de componentes do Windows) via ActiveX, começamos a programar interfaces COM para objetos ACBr e o primeiro componente a estar acessível é o ACBrECF. Então, já temos uma DLL ActiveX que, após registrada no Windows, pode ser usada para instanciar um objeto ACBrECF diretamente em seus fontes, com tanto que sua linguagem de programação suporte COM, e são várias as que suportam, entre elas: VB6, VB.NET, C#, Access, Power Builder, xHarbour, Visual FoxPro (depende da versão), Visual DataFlex (depende da versão), entre outras. Basta verificar se sua linguagem de programação possui suporte a COM e como instanciar objetos COM. Já programamos inclusive o exemplo ECFTeste, em VB6, e os printscreens podem ser vistos pelos seguintes links: http://www.easysoftware.net.br/img/acbrx.acbrecf.01.png http://www.easysoftware.net.br/img/acbrx.acbrecf.02.png http://www.easysoftware.net.br/img/acbrx.acbrecf.03.png http://www.easysoftware.net.br/img/acbrx.acbrecf.04.png Quase todos os recursos estão disponíveis, desde eventos até listas de objetos, como por exemplo a propriedade ACBrECF.FormasPagamento. Inclusive, essas listas de objetos possuem suporte a for each, em linguagens como VB6 e C# O que não está disponível igual ao Delphi são métodos sobrecarregados e polimorfismo, já que COM não suporta sobrecarga de métodos e polimorfismo. Porém, métodos sobrecarregados como ACBrECF.LeituraMemoriaFiscal, fizemos ACBrX.ACBrECF.LeituraMemoriaFiscalPorData / ACBrX.ACBrECF.LeituraMemoriaFiscalPorReducao, etc. A propriedade ACBrX.ACBrECF.ECF possui apenas os métodos e propriedades da classe básica ACBrECFClass. Essa foi uma explicação técnica sobre o que é o projeto. Agora, vamos colocar qual é nossa ideia de lançamento. Gostaria de colocá-lo para a comunidade num modelo misto, tanto comercial como colaborativo. Comercial porque o trabalho de criar as interfaces COM é MUITO extenso, além de ser usadas técnicas avançadas de programação para, por exemplo, criar as listas de objetos e fazer com que os eventos (ou listeners, gatilhos, delegates, etc.) também estejam acessíveis aos objetos COM. Colaborativo porque o projeto trará para a comunidade ACBr algo que há muito se aguarda, que é o HELP do componente. A idéia é liberar para a comunidade as estruturas de help pré feitas, tanto em HTML como CHM, para críticas, sugestões, adições, fazendo com que a documentação do ACBr esteja on-line para qualquer um acessar. Além disso, a comunidade pode criar os exemplos em suas próprias linguagens de programação, assim, a pessoa que criar o ECFTeste em DataFlex, por exemplo, torna-se referência de conhecimento ACBr em sua linguagem, criando oportunidades de negócio em consultoria. O ACBrX não está sendo desenvolvido para se opor ao ACBr, ou ter funcionalidades a mais, nem a menos. A ideia é fazer com que o ACBr torne-se um conceito que pode ser usado em várias linguagens de programação. Desta forma, tanto programadores Delphi como C#, VB6, etc, estarão falando sobre os mesmos métodos, parâmetros, eventos, listas. Desenvolvedores de várias linguagens poderão tirar suas dúvidas de ACBr nos fóruns e listas de discussão já existentes. Enfim, o que irei comercializar é apenas nosso trabalho da criação das interfaces COM, que possibilitam acesso aos objetos ACBr diretamente em seus fontes, nada mais. E agora, a pergunta que não quer calar: O que vocês acham de tudo isso? Aguardo críticas e sugestões. Grande abraço! P.S. Conversei previamente com o Daniel Simões a respeito e ele não se opõe nem vê problemas no conceito do projeto.
  16. Pessoal, boa tarde! Estamos prestes a lançar um projeto novo no mercado, então gostaríamos da opinião da comunidade de software de automação comercial, para adequarmos a ideia da melhor forma possível. O projeto ACBr possui diversos componentes que ajudam demais os desenvolvedores, porém, seus objetos (POO) estão ao alcance somente de programadores Delphi / Lazarus. Assim, com o uso de COM (Component Object Model, modelo padrão de componentes do Windows) via ActiveX, começamos a programar interfaces COM para objetos ACBr e o primeiro componente a estar acessível é o ACBrECF. Então, já temos uma DLL ActiveX que, após registrada no Windows, pode ser usada para instanciar um objeto ACBrECF diretamente em seus fontes, com tanto que sua linguagem de programação suporte COM, e são várias as que suportam, entre elas: VB6, VB.NET, C#, Access, Power Builder, xHarbour, Visual FoxPro (depende da versão), Visual DataFlex (depende da versão), entre outras. Basta verificar se sua linguagem de programação possui suporte a COM e como instanciar objetos COM. Já programamos inclusive o exemplo ECFTeste, em VB6, e os printscreens podem ser vistos pelos seguintes links: http://www.easysoftware.net.br/img/acbrx.acbrecf.01.png http://www.easysoftware.net.br/img/acbrx.acbrecf.02.png http://www.easysoftware.net.br/img/acbrx.acbrecf.03.png http://www.easysoftware.net.br/img/acbrx.acbrecf.04.png Quase todos os recursos estão disponíveis, desde eventos até listas de objetos, como por exemplo a propriedade ACBrECF.FormasPagamento. Inclusive, essas listas de objetos possuem suporte a for each, em linguagens como VB6 e C# O que não está disponível igual ao Delphi são métodos sobrecarregados e polimorfismo, já que COM não suporta sobrecarga de métodos e polimorfismo. Porém, métodos sobrecarregados como ACBrECF.LeituraMemoriaFiscal, fizemos ACBrX.ACBrECF.LeituraMemoriaFiscalPorData / ACBrX.ACBrECF.LeituraMemoriaFiscalPorReducao, etc. A propriedade ACBrX.ACBrECF.ECF possui apenas os métodos e propriedades da classe básica ACBrECFClass. Essa foi uma explicação técnica sobre o que é o projeto. Agora, vamos colocar qual é nossa ideia de lançamento. Gostaria de colocá-lo para a comunidade num modelo misto, tanto comercial como colaborativo. Comercial porque o trabalho de criar as interfaces COM é MUITO extenso, além de ser usadas técnicas avançadas de programação para, por exemplo, criar as listas de objetos e fazer com que os eventos (ou listeners, gatilhos, delegates, etc.) também estejam acessíveis aos objetos COM. Colaborativo porque o projeto trará para a comunidade ACBr algo que há muito se aguarda, que é o HELP do componente. A idéia é liberar para a comunidade as estruturas de help pré feitas, tanto em HTML como CHM, para críticas, sugestões, adições, fazendo com que a documentação do ACBr esteja on-line para qualquer um acessar. Além disso, a comunidade pode criar os exemplos em suas próprias linguagens de programação, assim, a pessoa que criar o ECFTeste em DataFlex, por exemplo, torna-se referência de conhecimento ACBr em sua linguagem, criando oportunidades de negócio em consultoria. O ACBrX não está sendo desenvolvido para se opor ao ACBr, ou ter funcionalidades a mais, nem a menos. A ideia é fazer com que o ACBr torne-se um conceito que pode ser usado em várias linguagens de programação. Desta forma, tanto programadores Delphi como C#, VB6, etc, estarão falando sobre os mesmos métodos, parâmetros, eventos, listas. Desenvolvedores de várias linguagens poderão tirar suas dúvidas de ACBr nos fóruns e listas de discussão já existentes. Enfim, o que irei comercializar é apenas nosso trabalho da criação das interfaces COM, que possibilitam acesso aos objetos ACBr diretamente em seus fontes, nada mais. E agora, a pergunta que não quer calar: O que vocês acham de tudo isso? Aguardo críticas e sugestões. Grande abraço! P.S. Conversei previamente com o Daniel Simões a respeito e ele não se opõe nem vê problemas no conceito do projeto.
  17. Pessoal, boa tarde. Dúvida de projeto do componente ACBr: Por que os componentes RFD, EAD e AAC são componentes autônomos, mas ao mesmo tempo anexos ao ACBrECF? Algum deles, quando ligado ao ACBrECF, faz algo diferente de quando não está ligado ao ACBrECF? Valeu!
  18. EasyTEF

    Duvida ACBrRFD

    Pessoal, boa tarde! Estou brincando com o ACBrECF por aqui e fui mexer na propriedade RFD. Então, descobri que ela fica nil mesmo quando ativo o ACBrECF. Por que? Como resolvo isso? Preciso instanciar por fora um objeto TACBrRFD e dai atribui-lo à propriedade RFD do ACBrECF, sem o ACBrECF estar ativo? Outra coisa, para que serve o Registro de Fita Detalhe da ECF? Valeu!
  19. Tinha que ter um link "Curtir", que nem no facebook, pra curtir as respostas
  20. Boa tarde, pessoal! Reparei que na classe ACBrECFClass existe uma propriedade CodBarras, que aponta para um classe do tipo TACBrECFCodBarras. Porém, não lembro de ter visto código de barras em qualquer cupom fiscal. Então, para que serve essa propriedade de código de barras no ACBrECF?
  21. Aproveitando o tópico, E a propriedade AguardandoResposta, não deveria ser somente para leitura?
  22. Pessoal, Estou dando uma olhada nas classes do ACBrECF e me deparei com a seguinte linha 715, da ACBrECFClass.pas: property MsgPoucoPapel : Integer read fsMsgPoucoPapel write fsMsgPoucoPapel ; Essa propriedade não deveria ser string?
×
×
  • 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.

The popup will be closed in 10 segundos...