Ir para conteúdo
  • Cadastre-se

dev botao

Acbr / Linux / Lazarus / Console


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

Recommended Posts

  • Membros Pro

Boa tarde.

Existe alguma documentação sobre como utilizar o componente Acbr no sistema operacional Linux, utilizando o Lazarus e criando uma aplicação para Console (em especial o acbrNFe)?

Já fiz a instalação do ambiente e uma pequena aplicação teste, porém compilando uma aplicação "visual" (GUI).

Objetivo: Tenho um backend implementado em Linux/Lazarus/Console (a parte de frontend outra equipe desenvolve). Preciso disponibilizar o recurso de emissão de NF-e.

Link para o comentário
Compartilhar em outros sites

  • Administradores

Tópico movido para a área do SAC, para que o SLA de respostas seja considerado

Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

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 !!

Link para o comentário
Compartilhar em outros sites

  • Fundadores
  • Solution

Não existe uma documentação específica...

A princípio você precisa:

 

1 - Adicionar em Custom Options do Projeto a diretiva "NOGUI"

image.png

 

2 - Não usar a IDE ou o sistema da Packages do Lazarus.

(Porque isso faria ele adicionar as dependências visuais, que existem quando os Packages foram compilados para a IDE)

image.png

Então os componentes devem ser criados em Run-time, ou você pode usar um DataModule... mas nesse caso, lembre-se de remover a dependência dos Packages do ACBr, conforma na figura acima...

 

3 - Adicionar em "Other Unit Files", todos os diretórios do ACBr, que o compilador sentir falta...

image.png

Observe que no caso acima, eu usei um Macro com o diretório do ACBr... isso facilita, quando abrimos o mesmo projeto, em várias máquinas, onde os diretórios, podem variar..
(Você pode criar um Macro em Additions e Overrides... veja item 4)

image.png

 

4 - Definir para o Lazarus que você quer usar a WidgetType com "nogui"

image.png

O Macro "ACBrDir", usa um recurso do Lazarus, que permite ler informações de variáveis de ambiente...
Então na minha máquina, tenho a definição do Home do ACBr nas minhas variáveis de Ambiente

image.png

 

 

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

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

Link para o comentário
Compartilhar em outros sites

  • Fundadores

@maxdatasistema, aproveitando do seu conhecimento de Backend em Lazarus...

Quais frameworks você usa ?

Como resolve com segurança, a autenticação do usuário ?

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

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

Link para o comentário
Compartilhar em outros sites

  • Membros Pro
53 minutos atrás, Daniel Simoes disse:

@maxdatasistema, aproveitando do seu conhecimento de Backend em Lazarus...

Quais frameworks você usa ?

Como resolve com segurança, a autenticação do usuário ?

Boa noite, toda base do sistema é feita utilizando o mORMot, segurança, ORM, etc. Tenho um banco onde gerencio os usuários/empresas em sqlite, que é nativo no mORMot, e cada empresa tem um banco individual, em MySql. Esses  bancos individuais por empresa também podem trabalhar como multi-loja (mais de um CNPJ operando no mesmo banco).

A turma do front trabalha com Angular em ambiente windows.

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Fantástico... já tinha visto o mORMot antes... e alguns códigos do ACBr, usaram Units deles como referência...  Mas sempre deixei para depois, baixar e estudar ele...

Recentemente li sobre tantos frameworks e soluções REST para Delphi, que acabei esquecendo do mORMot...

Vou achar um tempo para estudar ele...

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

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

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Bom dia, ao executar o método "vAcbrNfe.NotasFiscais.Assinar" recebo a mensagem "Erro ao inicializar a Biblioteca LibXML2". Aparentemente o método "LoadLib" não está localizando o arquivo "libxml2.so".

Criei um link na pasta do aplicativo (sudo ln -s /usr/lib/x86_64-linux-gnu/libxml2.so.2.9.4 libxml2.so), porém sem sucesso. Qual a maneira correta de configurar as "Dlls" no linux?

Link para o comentário
Compartilhar em outros sites

  • Membros Pro
12 minutos atrás, maxdatasistema disse:

Bom dia, ao executar o método "vAcbrNfe.NotasFiscais.Assinar" recebo a mensagem "Erro ao inicializar a Biblioteca LibXML2". Aparentemente o método "LoadLib" não está localizando o arquivo "libxml2.so".

Criei um link na pasta do aplicativo (sudo ln -s /usr/lib/x86_64-linux-gnu/libxml2.so.2.9.4 libxml2.so), porém sem sucesso. Qual a maneira correta de configurar as "Dlls" no linux?

Obs.: Quando faço um "Evaluate/Modify" na variável "Value" do método "LoadLib" para o valor "/usr/lib/x86_64-linux-gnu/libxml2.so.2.9.4" funciona, então é só uma questão de como informar o componente onde está o arquivo "libxml2.so".

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Fundadores

O correto não seria ?

ln -s /usr/lib/x86_64-linux-gnu/libxml2.so.2.9.4 /usr/lib/x86_64-linux-gnu/libxml2.so

 

Verifique se o seu link simbólico foi criado corretamente.. e se todos os usuários tem acesso de leitura e execução em "libxml2.so.2.9.4"

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

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

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 1396 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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...