Ir para conteúdo
  • Cadastre-se

Pesquisar na Comunidade

Showing results for tags 'acbrlib'.

  • Search By Tags

    Digite tags separadas por vírgulas
  • Search By Author

Tipo de Conteúdo


Fóruns

  • Fórum Aberto - ACBr
    • Notícias do ACBr
    • Equipamentos testados
    • Base de Conhecimento
    • Dúvidas Gerais sobre o ACBr
    • ACBrSerial
    • ACBrSAT
    • ACBrNFe
    • ACBrDFe
    • Dúvidas sobre TEF
    • Dúvidas sobre PIX
    • ACBrMonitor PLUS
    • ACBrTXT
    • ACBrBoleto
    • ACBrDiversos
    • ACBrTCP
    • ACBrFramework
    • ACBrLIB
  • ACBr Pro
    • Dúvidas gerais
    • ACBrMonitorPLUS
    • NFe/NFCe - Nota Fiscal Eletrônica
    • DFe - Documentos Fiscais Eletrônicos
    • SAT / MFE
    • TEF
    • Boleto
    • ACBrSPED
    • ACBrTXT
    • Paf-ECF
    • Requisitos Fiscais por UF
    • ACBrLIB
  • Outros Assuntos
    • Boteco do ACBr
    • Legislação Fiscal e Tributária
    • Object Pascal - Delphi & Lazarus
    • Banco de Dados
    • Classificados
    • Dúvidas não relacionadas ao ACBr

Categorias

  • ACBr Pro
    • ACBrLib - PRO
    • ACBrMonitorPLUS - PRO
    • Utilitários - PRO
    • Dia do ACBr 1a edição
    • Dia do ACBr 2a edição
    • ACBrLib Android - Pro
  • Download Livre
    • ACBrLib - DEMO
    • ACBrMonitorPLUS - DEMO
    • Demos / Testes / Utilitários
    • Apresentações - Palestras
    • ACBrLib Android - Demo

Calendários

  • Eventos - Palestras - Webinars
  • Prazos SEFAZ
  • Calendário da Comunidade
  • ACBr Papo Pro
  • Feriados Nacionais

Find results in...

Find results that contain...


Data de Criação

  • Início

    End


Data de Atualização

  • Início

    End


Filter by number of...

Data de Registro

  • Início

    End


Grupo


Website URL

  1. Olá pessoal, Conforme prometido no workshop, seguem detalhes da apresentação, utilizando a biblioteca ACBrLibNFe da convenção de chamadas Cdecl, compilando em x64. Baixando a Lib e identificando a versão que será utilizada Configurando o ambiente C# Configurando o ambiente PHP Configurando o ambiente Java com NetBeans 1. Baixando a Lib e identificando a versão que será utilizada Para download das versões completas para os usuários do ACBr PRO, acesse este link. Para download das versões DEMO, acesse este link. 1.1. Localize a biblioteca que deseja e acesse seu link para a página de download 1.1.1. Na página seguinte, clique no botão "Download" para baixar o pacote, com a bilioteca e dependências necessárias para sua execução. 1.2. Conteúdo do pacote 1.2.1. bin Pasta onde se encontram as compilações da biblioteca 1.2.2. dep Pasta contendo as dependências, sendo Dlls da OpenSSL, LibXml2, schemas, ini de serviços ou outras eventuais que sejam necessárias 1.2.3. log Contém o log do componente, que é core da biblioteca, e também o log de alterações na biblioteca 1.3. Versões Single Thread e Multi Thread 1.3.1. As Versões Single Thread ficam localizadas na pasta raiz da bin 1.3.2. As Versões Multi Thread ficam localizadas na pasta MT 1.4. Convenção de chamada: Cdecl ou StdCall ? * Acesse este link, da documentação da Lib, para maiores detalhes. 2. Configurando o ambiente C# 2.1. Caminho dos programas de exemplo Programas de exemplo em: ..\trunk2\ACBr\Projetos\ACBrLib\Demos\C# Pasta Shared - Core compartilhado: ..\trunk2\ACBr\Projetos\ACBrLib\Demos\C#\Shared 2.2. Soluções Single Thread (sem sufixo) ou Multi Thread (com sufixo MT) As soluções Multi Thread possuem o sufixo MT e as Single Thread não possuem sufixo. Dentro da pasta do programa de exemplo, acesse a pasta Demo e selecione a solução que irá utilizar. 2.3. Plataformas da solução: x86 ou x64 Acesse o Gerenciador de Configurações Selecione Novo, em Plataforma da solução ativa, e preencha x86 ou x64, de acordo com a arquitetura que deseja compilar 2.4. Salvando a biblioteca e as dependências Acesse a pasta bin, x86 ou x64 (de acordo com o que configurou no item 2.3), Debug e crie uma nova pasta ACBrLib Dentro da pasta ACBrLib, crie uma nova pasta x86 ou x64, de acordo com o que configurou no item 2.3 2.4.1. Neste novo caminho que foi criado, salve a biblioteca que irá utilizar e suas dependências 2.4.2. Atenção para pegar a bibliteca correta da pasta bin, extraída do pacote baixadose for Single Thread, conforme citado no item 1.3 Para versão Single Thread, copie a biblioteca das pastas na raiz da bin: ..\pasta extraída do pacote\bin Para versão Multi Thread, copie a biblioteca das pastas que se encontram dentro de MT: ..\pasta extraída do pacote\bin\MT 2.4.3. Faça o mesmo para as dependências, sempre tomando o cuidado de pegar as dlls da arquitetura em que compila a aplicação, conforme o item 2.3 2.5. Compile e execute o programa de exemplo 2.6. Siga os passos indicados no item 5 para as configurações básicas para execução do programa de exemplo, elas serão as mesmas para todas as linguagens e o programa de exemplo estará pronto para funcionar 2.7. NuGet Para todas as bibliotecas do ACBr foram criados pacotes nuget para as classes de alto nível e o core. 2.7.1. Primeiro devemos remover o core e as classes de alto nível da solução 2.7.2. Acessar o Gerenciador de pacotes do nuget, no menu ferramentas 2.7.3. Pesquisar por ACBrLib Selecionar o pacote da bibliteca que vamos instalar Atenção, pois existem pacotes para Single Thread e Multi Thread, sendo o Single Thread sem sufixo e o Multi Thread com o sufixo MT Selecionamos o pacote, à direita a versão e clicamos em instalar Como os pacotes tem dependência do core, automaticamente o core também será instalado 2.7.4. Na janela seguinte, confirmamos a instalação 2.7.5. Caso existam versões mais recentes dos pacotes, serão exibidas na aba "Atualizações" Neste exemplo, a NFe tinha dependêcia a partir de uma versão anterior à atual do core Ao instalar o core, ele foi listado como tendo uma atualização Recomenda-se manter sempre a última versão para obter todos os recursos disponibilizados A opção de atualização será útil também para futuras alterações nas classes de alto nível 2.7.6. Os pacotes instalados serão listados na aba "Instalado" 2.7.7. Ao compilar a solução, já estará funcionando com os nugets. 3. Configurando o ambiente PHP 3.1. Caminho dos programas de exemplo Programas de exemplo em: ..\trunk2\ACBr\Projetos\ACBrLib\Demos\PHP ACBrComum - Funções em comum centralizadas: ..\trunk2\ACBr\Projetos\ACBrLib\Demos\PHP\ACBrComum 3.2. Soluções Single Thread (sem sufixo) ou Multi Thread (com sufixo MT) As soluções Multi Thread possuem o sufixo MT e as Single Thread não possuem sufixo. Dentro da pasta do programa de exemplo, acesse a pasta Demo e selecione a solução que irá utilizar. 3.3. Passo a passo para configurar um ambiente com Php-8 + Apache Caso esteja iniciando no PHP, neste link existe um passo a passo completo ensinando como configurar o ambiente do zero 3.4. Habilitando o FFI no php.ini Para consumo das bibliotecas do ACBr no PHP, vamos utilizar a extensão FFI Ela foi disponibilizada no PHP a partir da versão 7.4.0, caso esteja com uma versão anterior a esta, será preciso atualizar o PHP Acesse o php.ini, na pasta onde o php foi instalado Remova o comentário da extension=ffi Procure pela seção ffi, remova o comentário de ffi.enable e preencha como true Após salvar o arquivo, reinicie o servidor de internet 3.5. Verificando FFI no phpinfo() Quando o FFI estiver habilitado, ele será exibido no phpinfo 3.6. Acesse ..\trunk2\ACBr\Projetos\ACBrLib\Demos\PHP e copie as pastas do programa de exemplo que irá utilizar e da ACBrComum para a raiz do seu servidor de internet 3.7. As pastas dos programas de exemplo já foram enviadas para o SVN com a estrutura de pastas onde devem ser salvas a Lib e as dependências Acesse a pasta MT ou ST, de acordo com o programa de exemplo que irá utilizar Depois ACBrLib E por último a pasta x86 ou x64, dependendoda versão do seu ambiente PHP 3.8. Dentro da pasta da arquitetura que selecionou, haverá um arquivo Leia-me instruindo qual a biblioteca que deverá ser salva naquele local Copie a biblioteca e as dependências, conforme instruído nos itens 2.4.2 e 2.4.3 Lembrando sempre em tomar cuidado com a versão ST ou MT, conversão de chamadas e arquitetura 3.9. Os programas de exemplo possuem uma página única para ST e MT: ACBrNFeBase.php 3.9.1. Para acessar a versão que deseja, selecione o arquivo com o sufixo desejado ACBrNFeDemoST.php: Para Single Thread ACBrNFeDemoMT.php: Para Multi Thread 3.10. Exemplo acessando a versão Multi Thread Como a pasta do programa de exemplo foi salva na raiz do servidor de internet, acessaremos localhost/NFe/ACBrNFeDemoMT.php Siga os passos indicados no item 5 para as configurações básicas para execução do programa de exemplo, elas serão as mesmas para todas as linguagens e o programa de exemplo estará pronto para funcionar 3.11. Servidor linux sem ambiente gráfico Este item esta sendo analisado e traremos mais informações assim que houver uma resposta 3.11.1. As bibliotecas do ACBr possuem dependência de ambiente gráfico devido ao motor de relatórios utilizado Estamos trabalhando para utilizar somente o FPDF e, com isso, acabar com essa dependência Enquanto isso não acontece, para servidores que não possuem ambiente gráfico, é necessário que seja instalado um emulador, como o XVFB Segue um dos nossos cursos para os usuários PRO onde esse assunto foi abordado 3.11.2. Com o emulador instalado, é necessário incluir a linha a seguir nos fontes antes de carregar a Lib putenv("DISPLAY=:99"); 3.11.3. Isso já foi tratado nas funções da ACBrComum.php 4. Configurando o ambiente Java com NetBeans 4.1. Caminho dos programas de exemplo Programas de exemplo em: ..\trunk2\ACBr\Projetos\ACBrLib\Demos\Java ACBr Common - Core compartilhado: ..\trunk2\ACBr\Projetos\ACBrLib\Demos\Java\ACBr Common 4.2. Projetos Single Thread (sem sufixo) ou Multi Thread (com sufixo MT) As soluções Multi Thread possuem o sufixo MT e as Single Thread não possuem sufixo. Dentro da pasta do programa de exemplo, acesse a pasta Demo e selecione a solução que irá utilizar. 4.3. Abra os projetos ACBr Common e o da pasta Imports que contém os binds dos métodos da bblioteca 4.4. Plataformas dos projetos: x86 ou x64 Siga os passos nos 3 projetos Botão direito sobre o projeto, Propriedades Acesse Libraries Em Java Plataform, selecione a JDK da arquitetura que irá compilar e confirme 4.5. Acesse a pasta do programa de exemplo que carregou Crie a pasta ACBrLib Dentro de ACBrLib, crie a pasta x86 ou x64 de acordo com a arquitetura que irá compilar Diferente das outras linguagens mostradas anteriormente, o java não vai considerar as depedências dessa pasta, então vamos salvar somente a biblioteca 4.5.1. Para o projeto enxergar a biblioteca, vamos configurar o caminho criado para salvar a dll Acesse as propriedades do projeto do programa de exemplo Em Libraries, do lado direito, na aba Compile, clique no botão com sinal de [ + ], ao lado de Classpath Clique na opção Add JAR/Folder Selecione a pasta x86 ou x64 que foi criada no item anterior 4.6. Compile e execute o programa de exemplo Siga os passos indicados no item 5 para as configurações básicas para execução do programa de exemplo, elas serão as mesmas para todas as linguagens e o programa de exemplo estará pronto para funcionar 5. Configurações básicas para utilização do programa de exemplo 5.1. Na aba Geral, configure a "Pasta dos Logs" e a "Pasta dos Schemas" * No pacote onde a lib foi baixada, a pasta de schemas da NFe estará disponível em \dep\Schemas\NFe 5.2. Na aba Arquivos, configure: "Pasta Arquivos NFe", "Pasta Arquivos Inutilização" e "Pasta Arquivos Evento" 5.3. Na aba Webservices SSL Type: No momento da criação deste tópico, o padrão utilizado por todos os DFes é TLS1.2, selecione a opção LT_TLSv1_2 TimeOut: Configure o padrão 30k, lembrando que este é o limite de tempo de execução da sua chamada, o que quer dizer que será o tempo máximo que a aplicação irá esperar de resposta, caso o serviço responda em menos tempo, o retorno será neste tempo. Salvar envelope SOAP: Contém os envelopes soap enviados para para o serviço consumido e podem ser úteis para análise em casos de eventuais problemas. 5.4. Na aba Certificados 5.4.1. Configurando certificado A1 Recomendamos sempre a utilização da OpenSSL para certificados A1, pois ela é autossuficiente e não depende de atualizações do Sistema Operacional. Configure a CryptLib e HttpLib como OpenSSL e a XmlSignLib como LibXml2 Para utilização do certificado salvo em disco, preencha o caminho do certificado no campo "Caminho" ou para pegar o conteúdo do certificado em um banco de dados, por exemplo, preencha "Dados PFX" Para ambos, preencha a senha do certificado 5.4.2. Configurando certificado A3 Lembrando sempre que o certificado A3 é historicamente muito problemático, pois aprensenta problemas com driver, falhas devido a atualizações do Windows e outros. Requer que todas as atualizações do windows estejam em dia Configure a CryptLib como cryWinCrypt, HttpLib como httpWinHttp e a XmlSignLib como xsLibXml2 Configure a senha e o Número de Série do certificado 5.5. Com essas configurações o programa de exemplo estará pronto para funcionar
  2. Bom dia. Estamos desenvolvendo uma API golang utilizando o ACBrLib para emissão de MDFe. Para isso funcionar precisamos desenvolver uma interface em golang para chamar as funções da so (Estamos usando linux). Já é possivel chamar as funções do ACBrLib e transmissões, porém temos um problema. Ao tentar usar a biblioteca multithread fazendo multiplas requisições (simuladas com a AB), a aplicação quebra de forma intermitente. Todas as vezes que ela quebra está relacionado a falha de segmentação que vem da lib. A estrutura de canais para controlar o multhread desenvolvida no golang está funcional, iniciamos a biblioteca e usamos a função desejada. Existe alguma limitação para o uso da biblioteca multithread? Existe alguma coisa que esquecemos de usar ao chamar as funções do ACBrLib? Alguém já teve essa experiencia de usar o ACBrLib para desenvolver uma API multithread para emissão de algum documento fiscal? Abaixo segue um trecho do código desenvolvido para a aplicação. func (p poolLib) Status() string { return p.seletor() } func (p *poolLib) seletor() string { var lib uintptr lib = <-liver usando <- lib status := p.acbr.Status(lib) lib = <-usando liver <- lib return status } func NewPool(libacbr Dominio.IEnviar) Poollib { chLivre := make(chan uintptr, 4) chUsado := make(chan uintptr, 4) for i := 0; i < 4; i++ { var ptr uintptr libacbr.Init(&ptr) chLivre <- ptr } liver = chLivre usando = chUsado return &poolLib{ acbr: libacbr, } } Chamada a função delegada da lib func (m MDFe) callStatus(uintptr2 uintptr) string { bytes := m.bufferNew() versao := m.versao(uintptr2, bytes, &m.tamanho) return strconv.Itoa(versao) } Estamos usando a função versão para teste a comunicação com lib para evitar chamadas desnecessárias a sefaz
  3. Olá pessoal, Estamos de volta para informar que as prateleiras de programas de exemplo do ACBr ganharam mais itens, pois foram disponibilizados na Rev-35855 os programas de exemplo em PHP, Singlethread e Multithread utilizando a ACBrLibMDFe. ..\ACBr\Projetos\ACBrLib\Demos\PHP\MDFe\ACBrMDFeDemoST.php ..\ACBr\Projetos\ACBrLib\Demos\PHP\MDFe\ACBrMDFeDemoMT.php Vale lembrar que os programas de exemploem php utilizam a ACBrComum.php que contém métodos em comum entre os modos (ST e MT) e para todas as libs. ..\ACBr\Projetos\ACBrLib\Demos\PHP\ACBrComum\ACBrComum.php Baixem as atualizações do SVN e aproveitem a novidade. Até mais!!!
  4. Pessoal, estou usando a Lib MT (ACBrLibConsultaCNPJ-1.0.1.75) no Node.js v20.17 rodando no Linux Ubuntu 24.04 (com recursos gráficos). O OpenSSL Default Provider é v3.0.13 e o OpenSSL Legacy Provider é v3.0.13, ambos ativos. O erro "Segmentation fault (core dumped)" acontece quando estou importando a biblioteca na chamada do método, em anexo está o meu código e abaixo a parte que está dando erro quando passa por ela: async getCNPJ(CNPJ: string) { let handlePtr = ref.refType('int'); const libm = ffi.Library(this.pathDllACBrLibCNPJ, { // CNPJ_Inicializar([eArqConfig, eChaveCrypt]); CNPJ_Inicializar: ['int', [handlePtr, 'string', 'string']], // CNPJ_Consultar(eCNPJ, sResposta, esTamanho) CNPJ_Consultar: ['int', [handlePtr, 'string', 'string', handlePtr]], CNPJ_ConfigGravarValor:['int',[handlePtr, 'string','string','string']], // CNPJ_Finalizar(); CNPJ_Finalizar: ['int', [handlePtr]], // CNPJ_Versao(); CNPJ_Versao: ['int', [handlePtr, 'string', handlePtr]], CNPJ_UltimoRetorno: ['int', [handlePtr, 'string', handlePtr]] }); /*Mais código*/ } async getCNPJ(CNPJ: string) { let handlePtr = ref.refType('int'); const libm = ffi.Library(this.pathDllACBrLibCNPJ, { // CNPJ_Inicializar([eArqConfig, eChaveCrypt]); CNPJ_Inicializar: ['int', ['pointer', 'string', 'string']], // CNPJ_Consultar(eCNPJ, sResposta, esTamanho) CNPJ_Consultar: ['int', ['pointer', 'string', 'string', 'string']], CNPJ_ConfigGravarValor:['int',['pointer', 'string','string','string']], // CNPJ_Finalizar(); CNPJ_Finalizar: ['int', ['pointer']], // CNPJ_Versao(); CNPJ_Versao: ['int', ['pointer', 'string', 'string']], CNPJ_UltimoRetorno: ['int', ['pointer', 'string', 'string']] }); /*Mais código*/ } cnpj.service.ts
  5. Olá pessoal, Estamos disponibilizando mais um curso exclusivo para os assinantes do ACBr Pro: PHP+FFI - Integrando com ACBrLib O curso é objetivo e focado em mostrar como consumir as bibliotecas do ACBr no PHP através da extensão FFI e para isso foi utilizada a biblioteca ACBrLibConsultaCNPJ, de acordo com o roteiro a seguir: Configurando o ambiente: Demonstrado como habilitar o FFI no php, baixar a biblioteca, copiar a versão correta da biblioteca e suas dependências para a devida pasta. Rodando o programa de exemplo: Testados métodos do programa de exemplo disponível nos fontes do ACBr. Desenvolvimento da página inicial: Mostrada trilha da criação de uma página enxuta, mas funcional para o consumos dos métodos. Implementando o método Salvar Configurações: Demonstrando como consumir o primeiro método e interagir com a biblioteca. Implementando o método Carregar Configurações: Seguindo a linha de raciocínio do método anterior, mostrado como carregar as configurações que foram gravadas anteriormente. Implementando o método Consultar: Consumo do método principal da biblioteca para consulta do cnpj no provedor selecionado. Se você ainda não é assinante ACBr Pro, fale com nossos consultores comerciais e venha aproveitar este e os demais cursos exclusivos. Até mais!!!
  6. Olá, pessoal! Gostaria de informar que foi disponibilizada uma nova classe InfNFeSupl no pacote ACBrLib.NFe para a linguagem C#, na Rev-35220. Esta classe é responsável pela seção InfNFeSupl do XML da NF-e. Aqui está um trecho da classe com suas propriedades: namespace ACBrLib.NFe { public sealed class InfNFeSupl { public string qrCode { get; set; } public string urlChave { get; set; } } } Requisitos: A partir da versão 1.4.7.304 da DLL.
  7. Olá pessoal! Foi detectado a necessidade de uma correção na informação do ModeloDF para a Lib do CT-e. Atualmente na documentação consta da seguinte forma: No entanto, a Lib faz uso do enumerado nativo do componente e o mesmo possui a seguinte estrutura: TModeloCTe = (moCTe, moGTVe, moCTeOS); Portanto, a correta relação de conversão é: A informação foi corrigida na documentação e será atualizada em compilação posterior. Para quem utiliza as classes de alto nível do C#, o enumerado corrigido já foi disponibilizado no SVN e o pacote Core disponível no nuget foi atualizado.
  8. Pessoal, estou tendo o seguinte problema: PID 34309 received SIGSEGV for address: 0x72e6 /home/programador/api-notas/node_modules/segfault-handler/build/Release/segfault-handler.node(+0x3391)[0x7fd4744b4391] /lib/x86_64-linux-gnu/libc.so.6(+0x45320)[0x7fd473e45320] /home/programador/api-notas/src/ACBrLib_lib/libacbrnfe64.so(+0x261689)[0x7fd440461689] Segmentation fault (core dumped) Estou utilizando o Linux Ubuntu 24.04 LTS, Node v22.7 e ACBrLibNFe-0.4.6.300. Na pasta está com os arquivos .so, mas há outros arquivos que preciso colocar lá? Estou tentando importar o certificado digital PFX para consultar o status do WebService e demais serviços, mas quando tento importar dá o erro acima. Segue em anexo o código que estou utilizando. [DFe] SSLCryptLib=3 SSLHttpLib=2 SSLXmlSignLib=4 UF=MG TimeZone.Modo=0 TimeZone.Str= URLPFX= ArquivoPFX=/home/programador/api-notas/src/ACBrLib_lib/cert/cert.pfx DadosPFX= Senha= NumeroSerie= VerificarValidade=1 Codigo.js
  9. Olá pessoal, Foram disponibilizados os programas de exemplo em PHP, Singlethread e Multithread utilizando a ACBrLibBoleto na Rev-35124. ..\ACBr\Projetos\ACBrLib\Demos\PHP\Boleto\ACBrBoletoDemoST.php ..\ACBr\Projetos\ACBrLib\Demos\PHP\Boleto\ACBrBoletoDemoMT.php O programa de exemplo de boleto utiliza a ACBrComum.php, contendo métodos em comum entre os modos (ST e MT) e para todas as libs. ..\ACBr\Projetos\ACBrLib\Demos\PHP\ACBrComum\ACBrComum.php Continuamos trabalhando para trazer mais programas de exemplo para a comunidade PHP. Até mais!!!
  10. Existe um .jar do ACBrLib que eu possa usar direto em meu projeto ou pelo maven, estou enfrentendo problemas para importar a .dll direto. Da tudo certo porem nao reconhece pela IDE quando tento usar
  11. Olá a todos, Estou tentando criar um monitor utilizando o ACBrLib e o Java Spring Boot. Para isto, olhei os Demos do Java dentro do SVN. Consegui rodar o projeto no Linux com OpenJDK 11 criando um novo objeto. public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); try { acbrNFe = new ACBrNFe(); System.out.println("ACBR Versão = " + acbrNFe.versao()); // System.out.println(acbrNFe.statusServico()); System.out.println("Fim do Teste"); } catch (Exception ex) { System.out.println(ex); } } O problema está quando vou ler o Status do serviço com o acbrNFe.statusServico(). Ele apressenta erro de senha do certificado. java.lang.Exception: WebService Consulta Status serviço: - Inativo ou Inoperante tente novamente. Erro ao ler informações do Certificado. Provavelmente a senha está errada Pelo que entendi nos fóruns, a senha do arquivo ACBrLib.ini já tem que estar criptografada. Porém não entendi como consigo fazer isto utilizando o Java. Alguém pode me ajudar como eu iria criptografar a senha pelo Java? Obrigado.
  12. Olá pessoal! Primeiro de tudo, se você na verdade está perdido e com dificuldades para utilizar a Lib em um ambiente Azure, é importante que siga as orientações do tópico abaixo: Depois de seguidas as orientações deste tópico, será possível utilizar o ACBrLib no App Service da Azure. No entanto, alguns podem encontrar certas diferenças nas formas como os impressos são gerados no ambiente Linux da nuvem Azure e do Windows. Isso pode ocorrer devido a falta das fontes Microsoft. Abaixo temos algumas linhas e a explicação do que elas fazem, que ao serem adicionadas no script criado no tópico mencionado anteriormente, provaram resolver o problema. Um agradecimento ao membro de nossa comunidade @Rodrigo - Digibyte por mais está dica valiosa.
  13. Olá, pessoal. Foi disponibilizado na ACBrLibBase do pacote ACBrCommon para a linguagem Java, na Rev-34487, um novo método `convertDateToTDateTime` para tornar o objeto do tipo `Date` compatível com o `TDateTime` em Pascal. Esse método é essencial para converter o tipo `Date` do Java em um tipo `TDateTime do Pascal`, permitindo que a biblioteca interprete as datas corretamente. Exemplo de uso: Trecho da implementação: https://svn.code.sf.net/p/acbr/code/trunk2/Projetos/ACBrLib/Demos/Java/ACBr Common/src/com/acbr/ACBrLibBase.java /** * Função para converter um objeto do tipo Date em um double compatível com o TDateTime do Pascal * @param date * @return double */ public double convertDateToTDateTime(Date date) { // Obtém o timestamp Unix em milissegundos long unixMillis = date.getTime(); // Converte o timestamp para TDateTime double pascalDateTime = unixMillis / 86400000.0 + 25569.0; return pascalDateTime; }
  14. Bom dia pessoal, tudo bem? Espero que sim. Estive enfrentando problemas ontem em uma situação bem específica com um cliente de RO. Por algum motivo as notas não retornam todas as informações quando consultadas, mas consultando pelo portal NF-e, as informações estão constando lá. Dito isso, o problema é que em algumas notas emitidas há aproximadamente 1 mês atrás, ao serem consultadas, não retornam o protocolo, além do status "Autorizado o uso da NF-e (documento indisponível no momento)". Até aí tudo bem, não estava impactando em nada, o problema é quando tentamos efetuar o cancelamento dessas NF-e através da ACBrLibNFe, acredito que internamente o componente deve fazer alguma consulta da NF-e e baseado nisso o cancelamento, então pelo fato de não ter retorno do protocolo, ocorre um erro de schema no método NFE_Cancelar. Essas notas estariam sim de fato fora do prazo de cancelamento, contudo, o cliente solicitou a extensão para a SEFAZ, permitindo o cancelamento extemporâneo. Como estamos em processo de migração do nosso sistema de Delphi para C#, ainda tenho uma versão antiga do sistema que utilizava o componente ACBrNFe diretamente, e para minha surpresa, nessa versão em Delphi, via componente, o cancelamento foi realizado corretamente. Segue print do acontecido no ACBrLib.NFe.Demo.exe:
  15. Daniel Simoes

    ACBrLibMDFe

    ACBrLibMDFe Visulizar Arquivo ACBrLibMDFe - BIblioteca para emissão e impressão de Manifesto de Documentos Fiscais Eletrônicos Faça Download pelo SVN, dos Demos de uso da ACBrLibMDFe em diversas linguagens, usando o endereço: http://svn.code.sf.net/p/acbr/code/trunk2/Projetos/ACBrLib/Demos/ Manual On-Line: https://acbr.sourceforge.io/ACBrLib/ACBrLib.html Autor Daniel Simoes Enviado 18-11-2019 Categoria ACBrLib - PRO  
  16. Estou desenvolvendo meu sistema web e nisto vou precisar gerar o sped fiscal, contribuições e o sintegra. Vi que ainda não tem estes componentes para o ACBrLib. Há uma previsão para a criação deles? Somente vocês conseguem criar estas libs ou outros devs podem ajudar?
  17. Para você que está querendo introduzir as soluções do Projeto ACBr nos seus projetos em ambiente Linux, agora dentro do pacote de cursos exclusivos para os assinantes ACBr Pro temos um Mini Curso para te ajudar e dar seu pontapé inicial. Como nosso objetivo é mostrar como utilizar as bibliotecas no Linux sem ambiente gráfico. Vamos utilizar o Ubuntu Server 22.04 como base para nosso vídeo. As aulas englobam os seguintes conteúdos: Como atualizar o Linux após concluir a instalação Instalar as dependências que nossa lib necessita para o funcionamento correto Onde baixar a biblioteca ACBrLib Entender a estrutura do arquivo de download (bin, dep) da lib, no exemplo vamos utilizar versão MT (multthread linux) Onde salvar o arquivo acbrlibxxx.so Nos testes vou utilizar com um programa que tenho aqui para validar se está funcionando a lib, vc pode testar com a sua própria aplicação Para este Mini Curso você precisa ter Linux Server instalado, certificado digital caso sua aplicação precise consultar serviços da SEFAZ. Como o foco deste curso é ensinar como configurar o Linux para funcionar a lib, não focamos em mostrar o exemplo, já que é uma particularidade da linguagem de cada um. Publicação do curso em breve ! Ainda NÃO é assinante ACBr Pro? Aproveite mais esta vantagem e se torne assinante antes do reajuste de valores!
  18. Emissão de boletos pelo seu sistema [x]Harbour, sem o monitor... Mais informações do Kit na seção Recursos em DevClub for Developers. Interessados na compra, por favor, contate-me no chat (DevClub, Skype, Facebook ou ACBr) com os dados descritos na página do Kit. Se quiser, poderá solicitar a implementação/customização completa em seu sistema [x]Harbour: console, Xailer, VxH, Fivewin, Minigui/HMG/ooHG, HbQt, Hwgui... Exemplo aplicação [x]Harbour console, com saída para tela:
  19. Para você que está querendo introduzir as soluções do Projeto ACBr nos seus projetos em Python, agora dentro do pacote de cursos exclusivos para os assinantes ACBr Pro temos um Mini Curso para te ajudar e dar seu pontapé inicial. Como nosso objetivo é mostrar como utilizar as bibliotecas, vamos começar pela ACBrLibCEP. É uma biblioteca de poucos comandos ótimo para iniciar seu aprendizado, com os métodos desta biblioteca. Com ela é possível consultar em diversos provedores (lembrando que alguns precisam de autenticação do usuário e outros são pagos). São 07 (Sete) aulas de aproximadamente 10 minutos que vai explicar como utilizar o programa exemplo de uma forma correta. As aulas englobam os seguintes conteúdos: Desde como baixar o exemplo em python e ACBrLibCEP Demo Criar variáveis globais, os caminhos da dll, dependências e logs Tratando erros para evitar quebras na execução do programa Entendendo funções para tratar o buffer de reposta e validar as repostas json configurar webservice gravando no ini através do metodo CEP_ConfigGravarValor Vamos consultar através do CEP e também através do Logradouro. Como tratar os erros das respostas. Para este Mini Curso você precisa ter Python instalado no seu computador e saber os comandos básicos dele Publicação do curso entre 07 e 08/05/2024 Ainda NÃO é assinante ACBr Pro? Aproveite mais esta vantagem e se torne assinante antes do reajuste de valores!
  20. Alguns dias atrás, eu postei aqui uma notícia de um exemplo em NodeJS para uso da ACBrLibNFe cedido por um usuário, clique aqui para ir para o post. Ele se baseou em um outro exemplo, conforme o post original. Mas alguns usuários relataram problemas como Segmentation fault, senha inválida ou erro ao ler certificado. Isso pode acontecer devido a incompatibilidade do certificado com a OpenSSL. Mas é fácil de resolver. Vamos ao testes: Primeiro ambiente Linux Mint 21 derivado do Ubuntu 22.04. Utilizando Node 12 e OpenSSL 1.1.1.1 Foram realizados com sucesso os testes em Multi-thread. Observe que temos 2 navegadores requisitando o status da Sefaz. Neste caso node 12, não funciona com OpenSSL 3.x.x.x com a lib. Agora vamos testar com a OpenSSL 3. Atenção: Para utilizar openssl 3.x.x.x, pode ser necessário instalar o certificado e após isso exportar ele novamente. Isso vai fazer com que ele seja recriado com "rotinas mais modernas" o que vai possibilitar a leitura no OpenSSL 3.x.x.x. Para saber mais, clique aqui. Veja abaixo como fazer na imagem: Instalado a versão OpenSSL 3.x.x.x parou de funcionar no meu ambiente com Node12. E mesmo instalando a versão Node16, o erro Segmentation fault persistiu. Em pesquisas encontrei que: "Node.js v17.x, v18.x, and v19.x use OpenSSL v3." Então Instalei o Node20 ! Agora meu ambiente está com Ubuntu 22.04, Node20 e OpenSSL 3.X Antes que me pergunte, sim, utilizei o mesmo exemplo construido no Node12. Ele funciona no Node16 e também funcionou no Node20 (foi uma das barreiras que enfrentei por não dominar a linguagem). Para que funcione, você precisa apagar a pasta Node_modules e os arquivos package.json e package-lock.json para que eles possam ser recriados com suas novas versões. Após isso precisa instalar os pacotes requeridos. Para saber qual, basta executar o exemplo.. Ao dar o erro ele vai mostrar o pacote faltando do Node. Observação importante: Verifique o ArquivoLog criado. Nele é apontado onde foi criado o arquivo acbrlib.ini. No meu caso em "\usr\bin". Precisei editar (em modo root) após trocar de VM, pois os paths não estavam corretos. Concluindo, o Node20: Suporta OpenSSL3, com a ACBrLibNFe MT Atual e com o INI Correto? Vamos aos testes... Realizado os testes no Ubuntu 22.04, OpenSSL 3, Node20 com Sucesso! Observe que tanto FireFox quanto Chrome estão recebendo reposta do certificado, com sucesso. Eu precisei fazer algumas alterações nos fontes do exemplo original, então vou anexar para que você possa sobrescrever = reqMt-alterado.zip Fonte Original e Manual da contribuição acima, clique aqui para ir para a postagem do usuario "Desdobrar" Lembre-se de alterar os caminhos do certificados, paths e deixar de acordo com o seu ambiente. Espero ter ajudado!
  21. Bom dia, tudo bem? Impementramos o ACBrLibSAT no nosso PDV, mas acontece um pequeno problema e não conseguimos identicar a causa disso. Estamos utilizando satDinamico cdecl, Quando emitimos utilizando um emulador, funciona. Testamos no control ID e também funciona. Porém quando tentamos emitir usando um sat da Elgin ( um Smart SAT ) e um da EPSON (um ) ele fecha a aplicação, sem dar nenuma mensagem especifica no Log. Usamos nesses casos as DLLs dos fabricantes. O programa crasha exatamente nesse ponto Possuem alguma orientação que possa nos ajudar?
  22. Bom dia! Há dias estou tentando usar o ACBRLibNFSe com multi-threading (MT) no PHP. No modo single esta funcionando corretamente, porém ao tentar usar o MT ocorre um "crash" e para tudo sem log mesmo estando no modo paranóico. Fiz o teste com o Node.js conforme exemplo abaixo e funcionou corretamente com MT, então descarto problema na DLL, no entanto, estou postando aqui com o objetivo de obter apoio/auxilio de outras pessoas. No PHP, uso o FFI::cdef. Olhando o doc e o .pas da DLL vi que preciso enviar o ponteiro handle para inicializar a dll e depois usar o mesmo ponteiro para demais métodos. No meu código consigo inicializar porém ocorre crash (erro sem log) ao tentar finalizar, creio que o handle está errado e o finalizar não encontra o ponteiro do inicializar. Ambiente: PHP 8.2, apache, Windows 10 x64 Código de teste: header da dll Referência
  23. Para quem estiver com problemas de acesso aos nossos manuais on-line, tanto do ACBrLib ou ACBrMonitorPlus, estamos disponibilizando em formato PDF. ACBrMonitorPlus: ACBrMonitor.pdf ACBrLib: ACBrLib.pdf
  24. A principio conforme documentação da lib, precismos ter instalado libxml2 com links simbólicos. Mas neste caso, o link ficou quebrado e o usuário procedeu da seguinte forma: “fui até a raiz da instalação "/usr/lib/x86_64-linux-gnu/" localizei a dependência instalada, no meu caso, "libxml2.so.2.9.10" e refiz o link, "ln -s libxml2.so.2.9.10 libxml2.so", daí ele conseguiu localizar e rodar. “ Outro ponto importante, sabemos que precisamos do xvfb para virtualização, isso porque existem dependências gráficas na DLL. Como ele faz a distribuição com Spring + Maven, em um servidor VPS com Tomcat, para funcionar com o emulador gráfico ele precisou adicionar um “execution” junto aos plugins, no pom.xml, segue o arquivo com este “add execution” que ele esta contribuindo com a comunidade. Arquivo: add_pom.xml Obrigado @Ricardo Isono por estas colaborações e informações que é de extrema valia a comunidade.
  25. Boa tarde, estou implementando um projeto utilizando ACBRLib com C# em um container docker, quando realizo um teste utilizando a ACBRLib funciona bem, estou testando verificando o status do serviço, porem na segunda tentativa é apresentado o seguinte erro: Alguem saberia me informar oque pode ser ?
×
×
  • 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.