
TimeB256
Membros Pro-
Total de ítens
76 -
Registro em
-
Última visita
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Tudo que TimeB256 postou
-
Bom dia; Gostaria de saber se alguém aqui conseguiu usar o componente ACBrTEFD para utilizar o GETCARD? Estamos avaliando utilizar na linguagem C#.
-
Consegui capturar o mesmo erro, mas ele agora deu uma mensagem que não havia percebido: Notem o último erro. AcbrCTeServico - antes de instanciar acbrcte (dotnet:28): GLib-GObject-WARNING **: 16:38:30.221: cannot register existing type 'GdkDisplayManager' (dotnet:28): GLib-CRITICAL **: 16:38:30.221: g_once_init_leave: assertion 'result != 0' failed (dotnet:28): GLib-GObject-CRITICAL **: 16:38:30.221: g_object_new_with_properties: assertion 'G_TYPE_IS_OBJECT (object_type)' failed (dotnet:28): GLib-GObject-WARNING **: 16:38:30.221: invalid (NULL) pointer instance (dotnet:28): GLib-GObject-CRITICAL **: 16:38:30.221: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed (dotnet:28): GLib-GObject-WARNING **: 16:38:30.221: invalid (NULL) pointer instance (dotnet:28): GLib-GObject-CRITICAL **: 16:38:30.222: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed (dotnet:28): GLib-GObject-WARNING **: 16:38:30.222: cannot register existing type 'GdkDisplay' (dotnet:28): GLib-CRITICAL **: 16:38:30.222: g_once_init_leave: assertion 'result != 0' failed (dotnet:28): GLib-GObject-CRITICAL **: 16:38:30.222: g_type_register_static: assertion 'parent_type > 0' failed (dotnet:28): GLib-CRITICAL **: 16:38:30.223: g_once_init_leave: assertion 'result != 0' failed (dotnet:28): GLib-GObject-CRITICAL **: 16:38:30.223: g_object_new_with_properties: assertion 'G_TYPE_IS_OBJECT (object_type)' failed Segmentation fault (core dumped) xvfb-run: error: problem while cleaning up temporary directory
-
O meu arquivo dockerfile está configurado da seguinte forma: Está faltando alguma instalação? Vi que no post do Julio Cavalcanti, temos instalação de itens a mais. #See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging. FROM mcr.microsoft.com/dotnet/aspnet:7.0 AS base RUN apt update && apt-get install -y libxml2 libxslt-dev libgtk2.0-0 xvfb WORKDIR /app EXPOSE 80 EXPOSE 443 FROM mcr.microsoft.com/dotnet/sdk:7.0 AS build WORKDIR /src COPY src/WebApis/Api.Dfe/*.csproj ./ COPY src/nuget.config ./ RUN dotnet restore "Api.Dfe.csproj" /p:Configuration="Release" --configfile "./nuget.config" COPY src/WebApis/Api.Dfe/ ./ WORKDIR "/src" RUN dotnet build "Api.Dfe.csproj" -c Release -o /app FROM build AS publish RUN dotnet publish "Api.Dfe.csproj" -c Release -o /app FROM base AS final WORKDIR /app COPY --from=publish /app . #https://stackoverflow.com/questions/60934639/install-fonts-in-linux-container-for-asp-net-core # RUN echo "deb http://deb.debian.org/debian/ bookworm main contrib" > /etc/apt/sources.list && \ # echo "deb-src http://deb.debian.org/debian/ bookworm main contrib" >> /etc/apt/sources.list && \ # echo "deb http://security.debian.org/ bookworm-security main contrib" >> /etc/apt/sources.list && \ # echo "deb-src http://security.debian.org/ bookworm-security main contrib" >> /etc/apt/sources.list RUN sed -i'.bak' 's/$/ contrib/' /etc/apt/sources.list RUN apt-get update; apt-get install -y ttf-mscorefonts-installer fontconfig # ENV DISPLAY :99 # RUN chmod 0755 /app/start.sh # ENTRYPOINT ["bash", "start.sh"] # ENTRYPOINT ["xvfb-run", "dotnet", "Api.Dfe.dll"] ENTRYPOINT ["/bin/sh", "-c", "/usr/bin/xvfb-run -a $@", ""] CMD ["dotnet", "Api.Dfe.dll"]
-
Atualizei as dlls agora, vou testar e reporto.
-
Então, vou realizar o seguinte teste.. O que entendemos é que a acbr quando instanciada, carrega umas bibliotecas gráficas (xvfb e GdkWindow). Hoje, tenho um arquivo na api e no monitor (start.sh), onde tenho seguinte conteúdo: #!/bin/bash if [ -f /tmp/.X99-lock ]; then rm /tmp/.X99-lock fi Xvfb :99 -screen 0 1280x1024x24 -ac +extension GLX +render -noreset & dotnet Api.Dfe.dll No dockerfile, faço a seguinte config. ENV DISPLAY :99 RUN chmod 0755 /app/start.sh ENTRYPOINT ["bash", "start.sh"] Vou comentar esse cara, e adicionar o seguinte comando; ENTRYPOINT ["xvfb-run", "dotnet", "ACBr.API.dll"] Vi isso no seguinte link: https://github.com/frones/ACBr/blob/5013dcaa92124d4516a471628d92042a8354c3f3/Projetos/ACBrLib/Demos/C%23/ACBr.API/ACBr.API/Dockerfile#L6 Não sei se irá resolver, mas vamos testar aqui. Tinha que ter uma forma de configurar pra acbr nao carregar essas bibliotecas gráficas.
-
Bom dia Renato, Esse caso sempre ocorreu, como fizemos os logs, vimos que é justamente quando instancia a dll e a api cai. Toda infraestrutura é no linux, Ubuntu 22.04.4
-
Boa noite, estou com um grande problema. Tenho um worker que fica capturando notas, manifestando, e ele roda em um container docker. Esse monitor comunica com uma API minha, por exemplo para realizar a manifestação da nota. Veja esse trecho do código: private ACBrNFe ACBrNFe; private async Task<bool> ManifestarNota(NotasFiscaisManifestacaoModel nota, en_tipomanifestacao tipomanifestacao) { Console.WriteLine("Método ManifestarNota - Segundo processo"); bool result = false; var empresa = await _repositorio.empresa.SelecionarAsync(nota.idempresaevocenter); Console.WriteLine($"Método ManifestarNota - Empresa: {empresa.razaosocial}"); CertificadoPorParametrosModel certificadodigitalkeevo = await _kcenterworkscertificadoservico.SelecionarPorParametros(nota.idempresaevocenter, nota.idmaster, AplicativoModel.en_aplicativo.Manifestacao.ToInt()); if (certificadodigitalkeevo == null) return false; Console.WriteLine($"Método ManifestarNota - Leu certificado: {certificadodigitalkeevo.datavalidade}"); //string caminhoCompleto = Path.Combine(Path.GetTempPath(), certificadodigitalkeevo.idcertificado.ToString() + ".pfx"); try { Console.WriteLine("Método ManifestarNota - Início config acbr"); ACBrNFe = new(); Console.WriteLine("Método ManifestarNota - Instanciou acbr"); ConfigurarCertificado(ACBrNFe, certificadodigitalkeevo); Console.WriteLine("Método ManifestarNota - Configurou certificado acbr"); } catch { return false; } O problema é o seguinte: Fui colocando log no monitor e para printar na AWS, e ocorre o seguinte erro quando passo nessa parte: ACBrNFe = new(); O erro é: 03 de setembro de 2024 às 16:36 (UTC-3:00) start.sh: line 7: 8 Segmentation fault (core dumped) dotnet Api.Dfe.dll bcdc131931024db48b613901b8f7788a dfe-api-prod 03 de setembro de 2024 às 16:36 (UTC-3:00) (dotnet:8): GLib-GObject-WARNING **: 19:36:05.505: cannot register existing type 'GdkWindow' bcdc131931024db48b613901b8f7788a dfe-api-prod 03 de setembro de 2024 às 16:36 (UTC-3:00) (dotnet:8): GLib-GObject-CRITICAL **: 19:36:05.505: g_object_new_with_properties: assertion 'G_TYPE_IS_OBJECT (object_type)' failed bcdc131931024db48b613901b8f7788a dfe-api-prod 03 de setembro de 2024 às 16:36 (UTC-3:00) (dotnet:8): GLib-GObject-WARNING **: 19:36:05.505: cannot register existing type 'GdkWindowImpl' bcdc131931024db48b613901b8f7788a dfe-api-prod 03 de setembro de 2024 às 16:36 (UTC-3:00) (dotnet:8): GLib-GObject-CRITICAL **: 19:36:05.505: g_type_interface_add_prerequisite: assertion 'G_TYPE_IS_INTERFACE (interface_type)' failed bcdc131931024db48b613901b8f7788a dfe-api-prod 03 de setembro de 2024 às 16:36 (UTC-3:00) (dotnet:8): GLib-GObject-CRITICAL **: 19:36:05.505: g_type_add_interface_static: assertion 'g_type_parent (interface_type) == G_TYPE_INTERFACE' failed Por favor, conseguem me ajudar ?
-
Capturei o seguinte erro em um dos meus monitores de NFE e gostaria de auxilio pra uma possivel solução, visto que o erro simplesmente derruba a aplicação prejudicando o funcionamento continuo dela
-
Eu no momento nao tenho ambiente linux fora do docker para testar. Vou ter que solicitar a minha TI.
-
Complementando: meu arquivo start.sh está configurado da seguinte forma: #!/bin/bash if [ -f /tmp/.X99-lock ]; then rm /tmp/.X99-lock fi Xvfb :99 -screen 0 1280x1024x24 -ac +extension GLX +render -noreset & dotnet Api.Dfe.dll
-
Daniel, obrigado pelo retorno. Meu projeto só tem as referências das bibliotecas acbr. no momento já estamos utilizando o xvfb no nosso ambiente e este erro ocorre "do nada" em algum momento na API. Utilizado o método de distribuição dfe para captura de nfe, cte, mas já retirei os métodos que geram o PDF para Danfe e Dacte que ao meu ver poderia ser o problema...
-
Bom dia, tenho um monitor rodando em um container Docker. O objetivo dele é fazer a captura de cte. Estou com o seguinte problema, capturado pelo log da aws no ecs. (dotnet:8): GLib-GObject-WARNING **: 12:10:48.286: cannot register existing type 'GdkDisplay' (dotnet:8): GLib-CRITICAL **: 12:10:48.286: g_once_init_leave: assertion 'result != 0' failed (dotnet:8): GLib-GObject-CRITICAL **: 12:10:48.286: g_type_register_static: assertion 'parent_type > 0' failed (dotnet:8): GLib-CRITICAL **: 12:10:48.286: g_once_init_leave: assertion 'result != 0' failed (dotnet:8): GLib-GObject-CRITICAL **: 12:10:48.286: g_object_new_with_properties: assertion 'G_TYPE_IS_OBJECT (object_type)' failed (dotnet:8): GLib-GObject-WARNING **: 12:10:48.285: cannot register existing type 'GdkDisplayManager' (dotnet:8): GLib-CRITICAL **: 12:10:48.285: g_once_init_leave: assertion 'result != 0' failed (dotnet:8): GLib-GObject-CRITICAL **: 12:10:48.285: g_object_new_with_properties: assertion 'G_TYPE_IS_OBJECT (object_type)' failed (dotnet:8): GLib-GObject-WARNING **: 12:10:48.285: invalid (NULL) pointer instance (dotnet:8): GLib-GObject-CRITICAL **: 12:10:48.285: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed (dotnet:8): GLib-GObject-WARNING **: 12:10:48.285: invalid (NULL) pointer instance (dotnet:8): GLib-GObject-CRITICAL **: 12:10:48.285: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed Se eu logo no container do Docker (docker container logs de94a1629f5b): (dotnet:9): GLib-GObject-WARNING **: 12:45:51.851: cannot register existing type 'GdkWindow' (dotnet:9): GLib-GObject-CRITICAL **: 12:45:51.851: g_object_new_with_properties: assertion 'G_TYPE_IS_OBJECT (object_type)' failed (dotnet:9): GLib-GObject-WARNING **: 12:45:51.851: cannot register existing type 'GdkWindowImpl' (dotnet:9): GLib-GObject-CRITICAL **: 12:45:51.851: g_type_interface_add_prerequisite: assertion 'G_TYPE_IS_INTERFACE (interface_type)' failed (dotnet:9): GLib-GObject-CRITICAL **: 12:45:51.851: g_type_add_interface_static: assertion 'g_type_parent (interface_type) == G_TYPE_INTERFACE' failed start.sh: line 7: 9 Segmentation fault (core dumped) dotnet Dfe.Monitor.CapturaCte.dll Alguém conseguiria ajudar ?
-
Obrigado pelo retorno, @Diego Foliene Só pra ratificar, a "Empresa Teste" gerou uma nota de saída e colocou a tag autXML com o cnpj da "Contabilidade ABC"? Quando eu chamar o método DistribuicaoDFe, neste caso eu deveria passar como parâmetro o cnpj da Empresa Teste ou da Contabilidade ABC? Como baixar estas notas de saída que a empresa teste gerou, usando as dll's da acbr? Consegue exemplificar? Falar qual método exato ? Te agradeço a paciência, rs...
-
Obrigado pelos retornos, mas ainda estou na dúvida sobre: Hoje eu uso o código abaixo para capturar as notas de entrada das minhas empresas. acbrcteservico = new AcbrCTeServico(empresacteselecaomodel, certificadodigitalkeevo); var resposta = acbrcteservico.DistribuicaoDFe(); Até aí 100%. Só que vamos no caso que ainda está pendente. Se eu sou a contabilidade, e tenho10 empresas, se eu usar a distribuição DFe por último NSU, vou conseguir baixar todos xmls com CNPJs relacionados na autXML pelos meus 10 clientes ? Desde já agradeço a atenção.
-
Eu tenho um serviço que lê todas as empresas de uma determinada contabilidade, e faz a captura das notas: Veja o código resumido: acbrcteservico = new AcbrCTeServico(empresacteselecaomodel, certificadodigitalkeevo); var resposta = acbrcteservico.DistribuicaoDFe(); Eu instancio o servico da acbr, passando a empresa e certificado, e obtenho uma resposta. Dps leio essa resposta e salvo os dados. Imagine o seguinte cenário: Empresa A vendeu algum produto para Empresa B Emitente: Empresa A Destinatário: Empresa B No xml tem a tag AutXml com os dados da Contabilidade. Então, no código citado eu passaria os dados da empresa A. Dúvida: Se eu usar o método DistribuicaoDFe, vou conseguir capturar essa nota de saída que a empresa A emitiu ? Ou o método só captura nota de entrada?qual metodo vou usar para capturar notas de saída usando a tag autxml ?