-
Total de ítens
3.823 -
Registro em
-
Última visita
-
Days Won
66
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Tudo que Renato Rubinho postou
-
PHP consumindo bibliotecas do ACBr em servidores sem ambiente gráfico
um tópico no fórum postou Renato Rubinho ACBrLib
Olá pessoal, Na Rev-35964 foi enviada uma implementação para os programas de exemplo em PHP consumirem as bibliotecas do ACBr em servidores que não possuam ambiente gráfico. Caso o servidor não possua ambiente gráfico e tente carregar as Lib via FFI no PHP, o Servidor Web (Apache por exemplo) deverá acusar o erro cannot open display. A solução é instalar um emulador de ambiente gráfico como o Xvfb: https://www.geeksforgeeks.org/how-to-install-xvfb-on-ubuntu/ Além de instalar o emulador, também é necessário adicionar o comando a seguir, antes de carregar a Lib com o FFI. putenv("DISPLAY=:1"); As alterações foram na ACBrComum.php, conforme destacado a seguir: function verificaAmbienteGrafico() { $verificaX11 = shell_exec('pgrep Xorg 2>&1') !== null; $displayX11 = getenv('DISPLAY') !== false; if ($verificaX11 || $displayX11) { // Ambiente grafico X11 return 1; } else { $verificaXVFB = shell_exec('pgrep Xvfb 2>&1') !== null; $displayXVFB = strpos(getenv('DISPLAY'), ':99') !== false; if ($verificaXVFB || $displayXVFB) { // Emulador XVFB return 2; } else { // Sem ambiente grafico return 0; } } } Implementada função verificaAmbienteGrafico() para identificar se existe ambiente gráfico real, emulado ou se não existe ambiente gráfico. function CarregaContents($importsPath, $dllPath) { $modoGrafico = verificaAmbienteGrafico(); if ( $modoGrafico === 0) { throw new Exception("Ambiente gráfico não identificado"); return -10; } if ($modoGrafico === 2){ // comando necessário para carregar as bibliotecas do ACBr no PHP com FFI e ambiente gráfico emulado putenv("DISPLAY=:1"); } $ffi = FFI::cdef( file_get_contents($importsPath), $dllPath ); return $ffi; } Na função CarregaContents(), que é responsável por carregar as bibliotecas através do FFI, foi implementada a verificação do ambiente gráfico e adicionado o comando necessário quando houver apenas o ambiente gráfico emulado. Com esses ajustes os programas de exemplo em PHP que disponibilizamos devem funcionar corretamente em servidores com emulador de ambiente gráfico. Até mais!!!-
- 3
-
Tentou com ctrl+shift+A? Senão, localiza nos arquivos por function ReadStrFromStream
-
Var AStream: TMemoryStream; Resposta: Ansistring; begin AStream := TMemoryStream.Create; ACBrBoleto1.GerarPDF(AStream); Resposta := StreamToBase64(AStream); Gere o PDF em stream. function StreamToBase64(AStream: TStream):AnsiString; begin AStream.Position := 0; Result := EncodeBase64(ReadStrFromStream(AStream, AStream.Size)); end; Utilize a função acima para gerar o conteúdo em base64. Declare a unit synacode
-
Boleto_GerarRemessaStrem Segmentation fault no Node e Linux
Renato Rubinho replied to GEW Tecnologia's tópico in Dúvidas gerais
Tente aumentar o tamanhoBuffer para uns 100k para ver se não está estourado. -
Ontem houve um alto índice de problemas na Sefaz registrados das 08h as 16h, provavelmente era falha na Sefaz. https://downdetector.com.br/fora-do-ar/sefaz/ Aumente o timeout para 30k ou mais, caso volte a ter problemas, e se estiver utilizando a Lib Demo disponibilizada pelo ACBr, ela só funciona em homologação.
-
Provavelmente falta instalar o emulador de ambiente gráfico. Segue link do vídeo onde foi abordado esse assunto. https://acbr.nutror.com/curso/d484b944c7f91eb67c5e395df79d03f1e184fac5/aula/8991923
-
Consulta DF-e por NSU - Ambiente Nacional
Renato Rubinho replied to [email protected]'s tópico in ACBrNFSe
Er̶r̶o̶ ̶n̶ã̶o̶ ̶c̶a̶t̶a̶l̶o̶g̶a̶d̶o̶ ̶i̶n̶d̶i̶c̶a̶ ̶e̶r̶r̶o̶ ̶d̶o̶ ̶l̶a̶d̶o̶ ̶d̶a̶ ̶S̶e̶f̶a̶z̶.̶ ̶ ̶N̶ã̶o̶ ̶v̶i̶ ̶r̶e̶l̶a̶t̶o̶s̶ ̶s̶e̶m̶e̶l̶h̶a̶n̶t̶e̶s̶,̶ ̶c̶a̶s̶o̶ ̶o̶ ̶p̶r̶o̶b̶l̶e̶m̶a̶ ̶p̶e̶r̶s̶i̶s̶t̶a̶,̶ ̶r̶e̶c̶o̶m̶e̶n̶d̶o̶ ̶q̶u̶e̶ ̶a̶b̶r̶a̶ ̶u̶m̶ ̶f̶a̶l̶e̶ ̶c̶o̶n̶o̶s̶c̶o̶ ̶c̶o̶m̶ ̶a̶ ̶S̶e̶f̶a̶z̶ ̶e̶n̶c̶a̶m̶i̶n̶h̶a̶n̶d̶o̶ ̶o̶s̶ ̶s̶o̶a̶p̶s̶ ̶d̶e̶ ̶e̶n̶v̶i̶o̶ ̶e̶ ̶r̶e̶t̶o̶r̶n̶o̶ ̶p̶a̶r̶a̶ ̶q̶u̶e̶ ̶a̶n̶a̶l̶i̶s̶e̶m̶ ̶o̶ ̶c̶e̶n̶á̶r̶i̶o̶ Não me atentei que se tratava de NFSe, caso o problema persista verifique com a SERPRO. -
Primeiramente, gostaria de frisar a sugestão de procurar um suporte especializado para suporte ao cenário que você não domina. Temos relatos de problemas com servidores SEM ambiente gráfico ao instânciar o FFI, pois as bibliotecas do ACBr ainda possuem dependência do ambiente gráfico devido aos motores geradores de relatórios. Caso o seu servidor NÃO possua ambiente gráfico: 1. Será necessário instalar um emulador tipo o Xvfb 2. No PHP, para funcionar o acesso ao ambiente gráfico emulado, é necessário adicionar a linha a seguir, antes de instanciar a Lib. putenv("DISPLAY=:1") 2.1. Segue função, experimental, para identificar se existe ambiente gráfico emulado ( verificaAmbienteGrafico ) e a função CarregaContents() atualizada com o tratamento para o cenário SEM ambiente gráfico. function verificaAmbienteGrafico() { $verificaX11 = shell_exec('pgrep Xorg 2>&1') !== null; $displayX11 = getenv('DISPLAY') !== false; if ($verificaX11 || $displayX11) { // Ambiente grafico X11 return 1; } else { $verificaXVFB = shell_exec('pgrep Xvfb 2>&1') !== null; $displayXVFB = strpos(getenv('DISPLAY'), ':99') !== false; if ($verificaXVFB || $displayXVFB) { // Emulador XVFB return 2; } else { // Sem ambiente grafico return 0; } } } function CarregaContents($importsPath, $dllPath) { $modoGrafico = verificaAmbienteGrafico(); if ( $modoGrafico === 0) { throw new Exception("Ambiente gráfico não identificado"); return -10; } if ($modoGrafico === 2){ putenv("DISPLAY=:1"); } $ffi = FFI::cdef( file_get_contents($importsPath), $dllPath ); return $ffi; } 3. Favor atualizar as funções do item 2.1 na ACBrComum.php e reportar o resultado
-
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!!!
-
Foram enviadas correções ao SVN que devem resolver o problema relatado, Rev-35784 Por favor atualize os fontes, reinstale os componentes, verifique se o problema foi resolvido e, se possível, nos informe se foi o resultado esperado.
-
Tópico movido para a área do SAC, para que o SLA de respostas seja considerado
-
Obrigado pela análise do caso. Criada TK-6179 para análise. Assim que tivermos um retorno, retornaremos aqui no tópico.
-
Esse XML é da NFSe gerada? O XML da NFSe é gerado pelo provedor. Precisa entrar em contato com eles para verificarem porque estão enviando a informação errada na tag InscricaoMunicipal
-
Erro ao Enviar NFSe Valinhos/SP
Renato Rubinho replied to Light System Software's tópico in DFe - Documentos Fiscais Eletrônicos
<?xml version="1.0" encoding="UTF-8"?><!doctype html><html lang="pt"><head><title>HTTP Status 401 – Unauthorized</title><style type="text/css">h1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} h2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} h3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} body {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} b {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} p {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;} a {color:black;} a.name {color:black;} .line {height:1px;background-color:#525D76;border:none;}</style></head><body><h1>HTTP Status 401 – Unauthorized</h1><hr class="line" /><p><b>Type</b>Status Report</p><p><b>Message</b>Unauthorized</p><p><b>Description</b>The request has not been applied because it lacks valid authentication credentials for the target resource.</p><hr class="line" /><h3>Apache Tomcat/9.0.22</h3></body></html> Veja o conteúdo do arquivo de retorno. O provedor está devolvendo um código de erro http: HTTP Status 401 – Unauthorized Veja se está preenchendo corretamente as propriedades a seguir: Emitente.WSUser Emitente.WSSenha Obs: O usuário e senha podem não ser os mesmos que você utiliza para acessar a plataforma do provedor, caso não tenha certeza da informação a ser inserida, verifique com o provedor se precisa ativar o ambiente e cadastrar o usuário e senha. -
Obrigado por reportar. Fechando. Para novas dúvidas, criar um novo tópico.
-
Consultar nfs-e PMSP - parte II
Renato Rubinho replied to HASA's tópico in DFe - Documentos Fiscais Eletrônicos
Este provedor não possui a consulta por período, o método que está sendo acionado ao chamar este método é o Consulta NFse por número. Olhando o componente, os métodos disponíveis são os seguintes, tente um deles por favor: ConsultarNFSePorRps ConsultarNFSePorNumero -
Obrigado por reportar. Fechando. Para novas dúvidas, criar um novo tópico.
-
Esta função está na ACBrComum.php, copie a pasta de mesmo nome para a raiz de onde você está com a pasta do prisma de exemplo.
-
Consultar nfs-e PMSP - parte II
Renato Rubinho replied to HASA's tópico in DFe - Documentos Fiscais Eletrônicos
Teste com o programa de exemplo e veja se ocorre o mesmo problema, pode ser algum detalhe na chamada do método.