Painel de líderes
Conteúdo popular
Showing content with the highest reputation on 19-11-2025 em todas as áreas
-
Olá comunidade ! É com muita alegria que comunicamos a disponibilização do novo componente ACBrCalculadoraConsumo! Este componente pode ser utilizado para comunicar com os end-points da Calculadora da Reforma Tributária! O exemplo de uso do componente pode ser encontrado no caminho ..\trunk2\Exemplos\ACBrTCP\ACBrCalculadoraConsumo Um agradecimento ao Consultor @EliasCesar pelo desenvolvimento do componente e dos exemplos!3 pontos
-
Olá comunidade ! Nos últimos dias temos recebido diversos relatos de membros da comunidade de problemas ao tentar autorizar NFCe junto a Sefaz de São Paulo com os campos da Reforma Tributária. Os relatos tem em comum: Rejeições indevidas para NFCe, como por exemplo, acusar que o CST e o cClassTrib não existem, mesmo eles constando nas tabelas disponibilizadas. (Veja mais AQUI) Problema somente para NFCe enquanto que a NFe funciona normalmente. Em casos assim a orientação é abrir um Fale Conosco junto a Sefaz de São Paulo para relatar o problema. No dia 19/11/2025, membros da comunidade compartilharam em nosso servidor do Discord um retorno do chamado junto a Sefaz confirmando que eles de fato estão com problemas:2 pontos
-
Olá pessoal, Foram disponibilizados na Rev-42571 os programas de exemplo em PHP, Singlethread e Multithread utilizando a ACBrLibExtratoAPI. ..\ACBr\Projetos\ACBrLib\Demos\PHP\ExtratoAPI\ACBrExtratoAPIDemoST.php ..\ACBr\Projetos\ACBrLib\Demos\PHP\ExtratoAPI\ACBrExtratoAPIDemoMT.php Lembrando que os programas de exemplo em 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 Até mais!!!2 pontos
-
Olá comunidade ! Foi publicado o Decreto Nº 49.127 de 14 Novembro de 2025 no estado de Minas Gerais determinando a obrigatoriedade do credenciamento das empresas desenvolvedoras do software de emissão de NFe e NFCe junto a Secretaria Estadual da Fazenda (SEF). O decreto também menciona que a obrigatoriedade da informação do Responsável Técnico na emissão de NFe e NFCe será definida em portaria posterior. É importante ressaltar que apesar dessa publicação, ainda não foi disponibilizado link para que as software houses possam realizar o cadastro. Até o momento foi publicado apenas a portaria determinando a obrigatoriedade, mas é esperado que uma normativa detalhando o processo e os prazos seja publicada posteriormente. Vale relembrar que os membros de nossa comunidade que são ACBr PRO e ACBr Corporativo tem acesso ao curso: Responsável Técnico na NFe. Onde o conceito de responsável técnico é explicado e a forma de preencher essa informação nas soluções ACBr é demonstrada na prática.1 ponto
-
Olá comunidade ! Recebemos múltiplos relatos em nosso Discord e em nosso Fórum de que ao tentar autorizar notas fiscais de serviço, desde o dia 01/11/2025, é devolvido o seguinte retorno: <Codigo>L84</Codigo> <Mensagem>O estabelecimento informado deverá emitir suas Notas Fiscais de Serviço Eletrônicas (NFS-e) por meio do emissor nacional da NFS-e (https://www.nfse.gov.br/EmissorNacional/)</Mensagem> Os relatos são para as cidades de Belo Horizonte/MG e Porto Alegre/RS, ambas atendidas pelo provedor BHISS. Para utilizar o Padrão Nacional com as soluções do ACBr, configure o LayoutNFSe. Componente: Configuracoes.Geral.LayoutNFSe := lnfsPadraoNacionalv1; Lib: https://acbr.sourceforge.io/ACBrLib/ConfiguracoesdaBiblioteca22.html LayoutNFSe=1 Monitor: https://acbr.sourceforge.io/ACBrMonitor/WebServices.html Layout da NFS-e=lnfsPadraoNacionalv11 ponto
-
Olá pessoal, Por favor deem atenção. Como sabem estamos aos poucos saindo das units "pcn". E um dos passos para fazermos isso foi criar uma unit chamada ACBrDFe.Conversao.pas (Veja aqui sobre). Mas essa unit tinha alguns problemas e mudanças de comportamento indesejados então precisamos refazê-la. Isso pode quebrar o seu código e por isso precisamos de sua atenção. TL/DR: A unit ACBrDFe.Conversao.pas não é uma cópia da pcnConversao.pas com outro nome. A pcnConversao.pas ainda funciona, mas quando você for utilizar a ACBrDFe.Conversao.pas, vai precisar fazer ajustes! Ainda está aí? Beleza, agora vamos aos detalhes. Em primeiro lugar queremos deixar claro que ela vai continuar sendo parte da migração para fora das units "pcn*" em especial a pcnConversao.pas. Vamos resumir aqui no entanto algumas alterações que foram feitas: A constante LineBreak foi removida. Se você precisa dela no seu código, use a constante que já vem no Delphi/Lazarus SLineBreak. Diversos tipos foram renomeados. Listamos abaixo alguns: TpcnTipoCampo = TACBrTipoCampo; TpcnTagAssinatura = TACBrTagAssinatura; TpcnTipoImpressao = TACBrTipoImpressao; TpcnTipoEmissao = TACBrTipoEmissao; TpcnTipoAmbiente = TACBrTipoAmbiente; TpcnProcessoEmissao = TACBrProcessoEmissao; TpcnTpEvento = TACBrTipoEvento; TpcteModal = TModal; TpcnTipoNFe = TTipoNFe; TpcnOrigemMercadoria = TOrigemMercadoria; TpcnCSTIcms = TCSTIcms; TpcnCSOSNIcms = TCSOSNIcms; TpcnCstPis = TCSTPis; TpcnCstCofins = TCSTCofins; TpcteTipoRodado = TTipoRodado; TpcteTipoCarroceria = TTipoCarroceria; TpcnUnidTransp = TUnidTransp; TpcnUnidCarga = TUnidCarga; TpcteProp = TtpProp; TpcnindIEDest = TindIEDest; TpcnRegTribISSQN = TRegTribISSQN; TpcnindIncentivo = TindIncentivo; TpcnRegTrib = TRegTrib; TpcnindRatISSQN = TindRatISSQN; TpcnindRegra = TindRegra; TpcnCodigoMP = TCodigoMP; As funções de conversões de tipos enumerados foram refeitas para seguir o padrão "Try-Parse". Esse é um padrão comum em linguagens de programação (incluindo o Delphi com as funções TryStrToDate e StrToDate). A função que tem no nome o prefixo "Try" realiza a verificação de uma possível conversão sem lançar exceções, retornando um booleano para indicar se a conversão foi bem-sucedida e armazenando o resultado, em caso de sucesso, em um parâmetro de saída. A função que não tem esse prefixo, gera uma exception quando o tipo não puder ser convertido. Essa função que inicia com "Try" substitui a função anterior que tinha um parâmetro "ok". Um dos objetivos de usar esse padrão é porque muitas pessoas nem se dão conta que é preciso verificar o parâmetro "ok" antes de usar o resultado da função. Como sabemos disso? Bem, este tipo de uso é frequente em contribuições e até mesmo no código antigo do ACBr... Almejamos assim deixar o código mais claro. Por enquanto o seu código que usa a pcnConversao vai continuar funcionando. Mas vai retornar vários warnings. A ideia é que você possa ir corrigindo no seu tempo. Nós mesmo estamos usando e isso vai aumentar a quantidade de warnings gerados que você vê ao compilar os componentes ACBr ... Por outro lado, vamos modificar o código do ACBr para deixar de utilizar a unit pcnConversao internamente o quanto antes. Os hints/warnings estão sendo ajustados na unit pcnConversao.pas para refletir o que foi delineado aqui. E como sempre, fiquem a vontade para reportar quaisquer problemas, sugestões e melhorias. Obrigado pela atenção pessoal.1 ponto
-
RETIRADO DO https://servicos.sp.gov.br/fcarta/92C73382-61F4-4A34-8387-FD77F49E1557 19/11/2025 - Instabilidade Ambiente de Testes Informamos que o ambiente de testes da NFC-e, sem validade jurídica, apresenta instabilidades na presente data. Nossa equipe já está atuando para restabelecer o funcionamento o mais breve possível.1 ponto
-
lembrando que o subforum trata do componente ACBrNFSeX para delphi e lazarus1 ponto
-
Ei, galera do fórum ACBr! Quem aí já perdeu noites de sono brigando com crashes misteriosos no PHP-FPM ao tentar integrar a ACBrLib via FFI? Pois é, eu passei por isso e resolvi compartilhar essa jornada aqui no tópico, pra ajudar quem tá no mesmo barco. Vamos destrinchar o problema, as tentativas frustradas e a solução que salvou o dia: Laravel Octane com RoadRunner. Se você tem dicas extras ou variações, comenta ai! Resumo Rápido (Pra Quem Tem Pressa) O vilão? SIGSEGV ao carregar ACBrLib via FFI::cdef() no PHP-FPM, culpa da dependência gráfica libgdk-x11-2.0.so que não joga bem em times multi-processo. Tentativas como FPM solitário ou FrankenPHP deram dor de cabeça, mas o herói final é Laravel Octane com RoadRunner: workers isolados, PHP do sistema e zero recompilações. Funciona como mágica no CLI, melhora performance e acaba com os crashes. Ah, e queues são um plano B infalível pra offloadar o trabalho pesado! O Problema: O SIGSEGV, Esse Inimigo Invisível Sintomas Clássicos Boom! Seu worker FPM morre com um "exited on signal 11 (SIGSEGV)" nos logs – clássico de quem integra libs nativas. Frontend grita "502 Bad Gateway" ou "Connection reset by peer". No Laravel? Logs cheios de drama: "Erro crítico ao carregar a biblioteca ACBr!". Tudo isso rola no código inocente: $ffi = FFI::cdef(file_get_contents($importsPath), $dllPath); // Aqui o bicho pega, galera! Ambiente do Crime PHP 8.3+ no FPM. Laravel 12, FFI on fire. ACBrLib NFe (aquela .so marota). Linux (Ubuntu/Debian) com Interface Gráfica, porque no Windows com Laragon, era paz e amor graças ao php-cgi sem forks malucos. Alguém aí usa Windows e confirma? Causa Raiz: Culpa da GDK, Essa Dependência Gráfica Teimosa A estrela problemática é libgdk-x11-2.0.so (dependência do ACBrLib via GTK+). Verifique com: ldd libacbrnfe64.so | grep gdk # Spoiler: Ela aparece e causa o drama Por quê? GDK adora recursos X11 (display, eventos), mas em FPM multi-processo, é como convidar um elefante pra uma festa em apartamento: race conditions, violações de memória e... SIGSEGV! Libs MT como ACBr não curtem forks mas threads sim, processos clones nem tanto. No fórum, já vi posts parecidos e recomendações ao uso do CONSOLE-MT; alguém tem um workaround pra GDK sem Xvfb? Tentativas Frustradas 1. FPM Solitário: "Só Eu e Meu Processo" Ideia: Configurar pm.max_children=1 Resultado: Ainda crasha, e o server vira lesma. Lição: Não adianta maquiar o problema. Alguém testou isso com ACBr? 2. FrankenPHP: O "Monstro" Promissor Top em performance (até 4x mais rápido que FPM!), mas precisa recompilar PHP com FFI embed -> um pesadelo. Abandonado porque, né? Vida curta pra isso. (Dica: Em 2025, ele brilha em setups simples, mas não substitui Nginx/Apache em tudo. Solução Vencedora: Laravel Octane + RoadRunner – O Duo Dinâmico pra ACBr! Por quê? RoadRunner usa PHP CLI isolado (sem forks malucos), mantém workers persistentes e adora FFI. Benchmarks de 2025 confirmam: throughput insano! Escalável e evita overhead, perfeito pro nosso mundo fiscal. Passos Rápidos (Atualizados com Dicas de 2025) Verifique FFI no CLI: php -m | grep ffi. Se não, ative em /etc/php/8.3/cli/conf.d/20-ffi.ini. Instalar RoadRunner # Baixar RoadRunner wget https://github.com/roadrunner-server/roadrunner/releases/latest/download/rr_linux_amd64.deb # Instalar sudo dpkg -i rr_linux_amd64.deb sudo apt-get install -f -y # Verificar instalação rr --version Instalar Laravel Octane cd /var/www/seu-projeto # Instalar Octane composer require laravel/octane # Publicar configuração php artisan octane:install Quando perguntado, escolha: RoadRunner Configurar RoadRunner Crie/edite o arquivo .rr.yaml na raiz do projeto: version: "3" rpc: listen: tcp://127.0.0.1:6001 server: command: "php" user: "" group: "" env: - APP_RUNTIME: RoadRunner http: address: 0.0.0.0:80 middleware: ["gzip"] pool: num_workers: 4 max_jobs: 0 allocate_timeout: 60s destroy_timeout: 60s logs: level: error output: stdout err_output: stderr Configurar Octane Edite config/octane.php: 'server' => env('OCTANE_SERVER', 'roadrunner'), 'max_execution_time' => 30, Criar Serviço Systemd Crie o arquivo /etc/systemd/system/octane.service: [Unit] Description=Laravel Octane RoadRunner Server After=network.target postgresql.service [Service] Type=simple User=root WorkingDirectory=/var/www/seu-projeto Environment="PHP_INI_SCAN_DIR=/etc/php/8.3/cli/conf.d" Environment="FFI_ENABLE=1" Environment="DISPLAY=:99" ExecStart=/usr/bin/php -d ffi.enable=1 /var/www/seu-projeto/artisan octane:start --server=roadrunner --host=0.0.0.0 --port=80 --rpc-host=127.0.0.1 --rpc-port=6001 Restart=always RestartSec=3 [Install] WantedBy=multi-user.target Importante: Ajuste WorkingDirectory para o caminho do seu projeto Ajuste a porta se necessário (80 requer root, ou use 8000 e configure proxy reverso) -d ffi.enable=1 garante que FFI está habilitado Habilitar e Iniciar Serviço # Recarregar systemd sudo systemctl daemon-reload # Habilitar serviço (inicia no boot) sudo systemctl enable octane.service # Iniciar serviço sudo systemctl start octane.service # Verificar status sudo systemctl status octane.service # Ver logs sudo journalctl -u octane.service -f Xvfb ainda é amigo: apt install xvfb && Xvfb :99 &. Permissões? chown www-data pra evitar birras. Comparação: FPM vs. RoadRunner Aspecto PHP-FPM RoadRunner FFI/ACBr Explode em SIGSEGV Roda suave como manteiga Perf. Boa, mas lenta em picos Estelar – workers eternos! Manut. Fácil, mas crash-prone Média, mas vale o ouro Humor "Crash? De novo?!" "Pronto pro próximo request!" Troubleshooting Rápido Serviço não liga? journalctl -u octane -f – logs salvam vidas. Workers morrendo? Cheque memória (free -h) ou leaks no código. Porta ocupada? lsof -i :80 e mude pra 8000 com proxy. Se RoadRunner der PT, queues são backups ótimos, simples e crash-free! Referências Atualizadas (2025 Edition) Laravel Octane Docs. RoadRunner.1 ponto
-
Boa tarde, alguns dos nossos clientes acabaram relatando que nas informações do endereço da Empresa e do Cliente não constava a Cidade / UF e CEP , mas as demais informações tem. Se acharem pertinente adicionar essas informações, segue a alteração dos fontes, ja com a mudança de do commit do dia 18/11/2025. Ajustei com o tratamento para quando o CEP estiver informado. ACBrNFCom.DANFComRLRetrato.pas1 ponto
-
Boa tarde primeiro as dependências de dll estão junto ao exe? SIM segundo envio está síncrono? SIM e por ultimo pega o exemplo do svn e preenche os dados nele e tenta emitir pra ver se ocorre o mesmo Deu certo. O PROBLEMA ESTAVA NO SEFAZ1 ponto
-
Bom dia @Juliomar Marchetti Baixei um arquivo ACBrNFe.XmlReader.pas atualizado e notei que já implementaram a alteração: aValor := ObterConteudo(AuxNode.Childrens.Find('cRegTrib'), tcStr); if aValor = '' then aValor := '0'; NFe.Total.ISSQNtot.cRegTrib := StrToRegTribISSQN(Ok, aValor); Só não concordei com terem atribuído como nenhum, já que quando acontece esse problema não é nota de serviço. Mas de qualquer forma vou deixar o código assim mesmo. Obrigado meu caro!1 ponto
-
Sim. como disse até em outro tópico. é um documento que já veio correto e só evento. sem vicios que ficaram lá na NFe e CTe1 ponto
-
Exato, é um evento o cancelamento. Está correto sim, pode desconsiderar essa solicitação. Acabei fazendo de uma outra forma, sem que precise fazer alteração no fonte do componente.1 ponto
-
viu elas estão ligadas a essa duas também1 ponto
-
1 ponto
-
Boa tarde @Italo Giurizzato Junior; Sobre o XML conter mais de um rps, realmente eu esqueci de considerar esta situação. Referente a leitura do XML eu vou te passar o contexto geral, pra ser se tu entende a minha situação e consiga me ajudar; Eu tenho uma aplicação Offline que monta o XML usando o ACBR e por arquivo texto preenche algumas informações e adiciona o XML gerado pelo próprio ACBR usando o comando "TACBrNFSeX.NotasFiscais.Items[0].GerarXML"; Na outra ponta tem o servidor que recebe esse arquivo e lê o XML dentro dele, mas por causa do layout, o ACBR não consegue ler o próprio XML que ele mesmo gerou. Foi mantido o padrão que o provedor já utilizava, mas o ajuste principal que "resolveria" meu problema esta todo concentrado na função "LerXmlRps". Acredito que se tem uma função para ler RPSs, porque não conseguir ler o gerado pelo próprio componente, sendo que são tratamentos prévios a rotina que era feita anteriormente, ou seja, o XML esperado anteriormente continuará funcionando. Se tiver uma outra opção para me passar ou me sinalizar algo que possa estar fazendo errado, agradeço a ajuda. Obrigado.1 ponto
-
Boa tarde @Maiquel, Já esta no SVN.1 ponto
-
1 ponto
-
já comecei a fazer pois um cliente precisa e pediu assim que tiver algo já subo para testes1 ponto
-
Olá comunidade ! O Cadastro Centralizado de Contribuintes (também conhecido como CCC) foi melhorado pela Sefaz do Rio Grande do Sul! Foi adicionado nas informações disponibilizadas pela consulta os documentos fiscais eletrônicos que o contribuinte está habilitado a emitir. Essa informação ajudará a evitar a rejeição "203 - Emissor não autorizado para emissão". Vale lembrar que para acessar esta funcionalidade é necessário realizar login com Gov.BR no portal. Também é importante reforçar que essa funcionalidade existe apenas no portal e a consulta via web service pelo método de consulta de cadastro não devolve essas informações.1 ponto
-
Bom dia @Elisângela Dessis Os alguns exemplos são contribuições de outros usuários. as vezes são pequenos exemplo de inicializar ou usar algum metodo, pois segue um padrão. Qual exemplo especifico vc esta precisando ? Não sei se chegou a ver este tópico relacionado.1 ponto
-
-1 pontos
