Ir para conteúdo
  • Cadastre-se

Painel de líderes

Conteúdo popular

Showing content with the highest reputation on 16-01-2024 em todas as áreas

  1. Bom dia @m5sistemas, Quanto a primeira postagem, caso não queira baixar todos os documentos que com certeza vai levar um tempo considerável, uma vez que o serviço de DistribuicaoDFe por Ultimo NSU retorna um lote de até 50 documentos. Lembrando que esses Documentos podem ser XML de NF-e e também podem ser XML de Eventos, eventos estes indicando que a nota foi cancelada, eventos de registro de passagem do caminhão por um local como fronteira entre Estados ou Pedágio ou Fiscalização Eletrônica. Se você dividir 31690 por 50 vai ter uma ideia de quantidade de vezes que deverá executar o DistribuicaoDFe para baixar tudo e considere um tempo de uns 3 minutos entre uma execução e outra, você vai ter uma ideia do tempo que vai levar. Eu em particularmente não vejo problema em baixar os 100 últimos por exemplo. Quanto a sua segunda postagem, lembre-se que se a empresa ficar 60 dias ou mais sem usar o serviço de DistribuicaoDFe, ao usar vai ser retornado essa mensagem mesmo tendo documentos a serem baixados. A recomendação da SEFAZ é que aguarde 1 hora e tente novamente. Dica importante: Armazene no Banco de Dados a data e hora e o status da ultima execução do DistribuicaoDFe, desta forma você consegue calcular o tempo já decorrido da ultima execução em relação a nova solicitação de execução. Com isso você pode impedir que o usuário execute novamente antes do prazo estabelecido. Você pode estabelecer esses prazos. Exemplo: Se retornar que não tem mais documentos, você define um prazo de 65 ou 70 minutos, uma margem de segurança de 5 a 10 minutos a mais do exigido pela SEFAZ. Se retornar os documentos e o ultNSU é menor que maxNSU, você define um prazo de 3 ou 5 minutos. Se retornar os documentos e o ultNSU é igual a maxNSU, você define um prazo de 65 ou 70 minutos. Com essas regras para a próxima execução o seu cliente nunca vai ser barrado por consumo indevido. O status que eu me refiro na dica é: 1 - aguardar tempo curto (3 ou 5 minutos) 2 - aguardar tempo longo (65 ou 70 minutos) Espero ter ajudado.
    3 pontos
  2. Realmente a ajuda foi no chutometro. Em uma pesquisa rápida vi que sua linguagem nasceu da ideia de trazer o Clipper para o Windows, mas não encontrei exemplos de consumo de dlls. Não temos nenhum exemplo para basearmos os testes e, caso você consiga resolver o problema do retorno, ficaremos gratos se puder compartilhar um para disponibilizarmos para a comunidade.
    2 pontos
  3. Boa tarde Marcos, Os programas exemplos são uma fonte de informações de como proceder. Em vez de você ficar quebrando a cabeça tentado descobrir como é que a coisa funciona, porque não dar uma olhadinha nos programas exemplos? Não sei qual é a linguagem que você trabalha, pode ser que até tenha um programa exemplo com a sua linguagem, caso tenha é só estudar como é feito e replicar na sua aplicação.
    2 pontos
  4. Boa tarde @Delfos Sistemas Também não conheço sua linguagem, mas seguem sugestões. 1. Talvez não tenha que alocar os espaços na V_Dados (aparentemente está correto como fez, mas pode ser uma peculiaridade da linguagem). Tente sem este passo V_Dados := Space(V_Tamanho) 2. Talvez, você tenha que informar, na declaração da função, que a variável é de retorno, conforme exemplos hipotéticos a seguir _DLL FUNCTION CNPJ_Consultar(eCNPJ AS STRING, eProvedor AS INT, VAR sResposta REF STRING, VAR esTamanho REF INT ) AS INT PASCAL:ACBrConsultaCNPJ32.CNPJ_Consultar _DLL FUNCTION CNPJ_Consultar(eCNPJ AS STRING, eProvedor AS INT, RET sResposta REF STRING, RET esTamanho REF INT ) AS INT PASCAL:ACBrConsultaCNPJ32.CNPJ_Consultar
    2 pontos
  5. Olá, Implementados ajustes da NT 2024.06 na Rev-31934 Quem utiliza a Lib ou Monitor, na próxima compilação já estará disponível.
    2 pontos
  6. Boa noite Renato. Meu erro foi insistir em adicionar as DLLs nas Referência do Projeto. Não há necessidade, basta copia-las para a pasta: Bin\Debug em caso de compilar "ANY CPU" Bin\x86 em caso de compilar "x86" Bin\x64 em caso de compilar "x64" Obrigado pelas dicas.
    2 pontos
  7. Boa tarde Pessoal! Aquem interessar possa, segue a Tabela CEST (Código Especificador da Substituição Tributária) retirada do Convenio 142/18 (Incluido as alterações até o Convenio 53/2023) Fonte: https://www.confaz.fazenda.gov.br/legislacao/convenios/2018/CV142_18 (09/10/2023) Att, Luciano CEST Convenio 142-18 - 2023 10.csv
    1 ponto
  8. Ola! Estou testando as novas possibilidades de consulta CNPJ pelas APIs que foram disponibilizadas no ACBrConsultaCNPJ e senti falta de exceção quando vem um erro do servidor. Como por exemplo o ReceitaWS com mais de 3 consultas por minuto já da erro, porem no componente não esta acontecendo nada. Fica sugestão a alteração que fiz. Implementei na ReceitaWS e na BrasilAPI. Em ambas adicionei um else se não deu certo, para lançar uma exceção do campo "message". if (Trim(LJsonObject.Values['message'].AsString) <> '') then raise EACBrConsultaCNPJWSException.Create(LJsonObject.Values['message'].AsString); Obrigado. ACBrConsultaCNPJ.WS.BrasilAPI.pas ACBrConsultaCNPJ.WS.ReceitaWS.pas
    1 ponto
  9. Em um último palpite, apelei ao "Novo Stack OverFlow"(?) e questionei se existe alguma outra maneira de consumir uma Dll além da que está utilizando: Esta resposta faz algum sentido para você? (novamente, não tenho conhecimento na sua linguagem, então é muito no "achometro") Voce: Existe alguma maneira diferente desta para fazer o bind do método da dll? _DLL FUNCTION CNPJ_Consultar FROM "ACBrConsultaCNPJ32.dll" ; PARAMETER eCNPJ AS STRING, eProvedor AS INT, ; sResposta REF STRING, esTamanho REF INT ; RETURNS INT PASCAL Novo StackOverFlow(?)GPT: A forma que você está utilizando, com _DLL FUNCTION, é a maneira padrão de declarar funções externas em Visual Objects. No entanto, se estiver enfrentando problemas, ou se deseja explorar alternativas, pode considerar utilizar a função LoadLibrary() para carregar a DLL dinamicamente e, em seguida, usar GetProcAddress() para obter um ponteiro para a função desejada. Aqui está um exemplo simplificado: // Carregando a DLL dinamicamente hDll := LoadLibrary("ACBrConsultaCNPJ32.dll") // Verificando se a DLL foi carregada corretamente IF hDll <> 0 // Obtendo um ponteiro para a função CNPJ_Consultar @CNPJ_Consultar := GetProcAddress(hDll, "CNPJ_Consultar") // Chamando a função como de costume LOCAL resultado, resposta, tamanhoResposta tamanhoResposta := 256 resposta := Space(tamanhoResposta) resultado := CNPJ_Consultar("12345678901234", 1, @resposta, @tamanhoResposta) // Trabalhando com a resposta ? "Resultado da consulta:", resultado ? "Resposta da consulta:", resposta // Fechando a DLL FreeLibrary(hDll) ELSE ? "Erro ao carregar a DLL" ENDIF Neste exemplo, LoadLibrary é usado para carregar a DLL dinamicamente, e GetProcAddress é usado para obter um ponteiro para a função desejada. É importante verificar se a DLL foi carregada corretamente (hDll <> 0) antes de prosseguir. Embora esta abordagem seja mais flexível, ela também requer um pouco mais de código e cuidado, pois você precisa gerenciar a carga e descarga da DLL manualmente. Além disso, é fundamental que o nome da função passado para GetProcAddress corresponda exatamente ao nome exportado pela DLL. Certifique-se de compreender as implicações desta abordagem e avaliar se é apropriada para a sua situação específica.
    1 ponto
  10. Boa tarde, Complementando, este tipo de erro geralmente é do lado da Sefaz, mas revise suas configurações de SSL/TLS e dependências, conforme tópico a seguir.
    1 ponto
  11. Felipe, Veja se você consegue com o pessoal dessa empresa um exemplo de de envio onde consta o XML do cabeçalho e de dados (XML do RPS).
    1 ponto
  12. Aumentar o timeout de pesquisa ou esperar um pouco mais para pesquisar. ou ainda pesquisar de novo a menos que o código em si não esteja correto
    1 ponto
  13. Boa tarde. Tente comparar os envelopes de envio de uma máquina que emita com sucesso e de uma problemática para ver se há diferença significativa no conteúdo dos arquivos.
    1 ponto
  14. Boa tarde! Veja o curso Introdução ás Bibliotecas ACBrLib para uma demonstração prática de como distribuir e consumir. Eles usam os exemplos, mas a ideia é a mesma para a sua aplicação. A documentação da Lib pode ser encontrada AQUI. Mas reforço o que o @Italo Giurizzato Junior disse. Os exemplos são importantes e auxiliam no entendimento. Também recomendo que dê uma chance aos programa exemplo.
    1 ponto
  15. 1 ponto
  16. Boa tarde Felipe, Muito obrigado pela colaboração, já incluir na minha lista de tarefas para implementar o provedor. TK-4991 A implementação do novo provedor será realizada somente no novo componente ACBrNFSeX. Se você ainda usa o componente antigo, lhe convido a iniciar os testes com o novo componente de emissão de NFS-e: ACBrNFSeX O componente antigo: ACBrNFSe não está mais tendo manutenção. Faça os testes usando o programa exemplo do novo componente. Manual de Migração https://www.projetoacbr.com.br/forum/topic/63017-manual-de-migração-para-o-novo-componente-de-emissão-de-nfs-e/
    1 ponto
  17. Boa tarde Alexandre, Muito obrigado pela resposta. Vou buscar mais informações no link. Abraço.
    1 ponto
  18. Boa tarde @Fabiano Moraes de Araújo Desculpe, ao fazer o meu teste devo ter olhado o log da versão 64. A posição do Diego é a correta, com relação a geração sequencial de cada dll. Como a sua consulta funcionou após corrigir as dependências e a versão da x86 está 0.0.0.37, seu cenário já está correto.
    1 ponto
  19. Ocultei o seu tópico por conter usuário e senhas.* * O tópico ainda é visível para moderadores e consultores. * Caso usuário e senha sejam apenas de homologação e não tenha problema em exibir, me avise que eu libero novamente. Sobre a necessidade especificamente: Você utiliza ACBrMonitor, correto? Neste caso, você pode alterar no arquivo ACBrNFSeXServicos.ini, reiniciar o Monitor para que ele possa ler as informações e realizar novo teste. Altere no arquivo INI, deixando a seção correspondente da cidade desta forma: [4310108] ; Incluida em 04/10/2023 Nome=Igrejinha UF=RS Provedor=IPM Params=ParametroExtra:eletron=1 ProRecepcionar=https://ws-igrejinha.atende.net:7443/?pg=rest&service=WNERestServiceNFSe HomRecepcionar=https://migracao.atende.net/?pg=rest&service=WNERestServiceNFSe&cidade=treina_igrejinha
    1 ponto
  20. Bom dia não tem referencia a uso dessa dll no ACBr. creio que seja algo relacionado a seu projeto
    1 ponto
  21. Oi Diego, Obrigado pelas dicas, principalmente a questão do log. Assim vou conseguir entender o que pode estar acontecendo. Vou testar também a sua outra dica sobre passar o valor direto. Assim que testar eu coloco o resultado aqui. obrigado! Sergio
    1 ponto
  22. Bom dia! Por favor, se você configurar o log da Lib, na seção [Principal] no seu arquivo ACBrLib.ini Ele trás as informações? Não conheço sua linguagem, mas chuto que aqui você esteja passando um ponteiro para o valor de V_Dados e V_Tamanho. Não é possível passar o valor direto? V_Retorno := CNPJ_Consultar('13397985000182',2,V_Dados,V_Tamanho)
    1 ponto
  23. já verifique, todo certo com a alteração, não consegui testar emissão mais as consultas estão funcionando, depois vou falar com um cliente para poder testar a emissão em produção já que não tem homologação, mais alteração em se no ini todo certo, muito obrigado pela alteração, pode dar por finalizado o post.
    1 ponto
  24. Bom dia @Diego Foliene, entendido, vou verificar e dou um retorno.
    1 ponto
  25. Bom dia nobre. Precisa ficar atento quanto à incidência do FCP, existe uma lista para cada unidade da federação. Em Rondônia por exemplo, existe uma lista: "armas e munições, suas partes e acessórios; perfumes e cosméticos; embarcações de esporte e recreação; fogos de artifícios; outros serviços de comunicação; cigarros, charutos e tabacos; bebidas alcoólicas, exceto cerveja; cerveja, exceto as não alcoólicas." Disponível em https://www.sefin.ro.gov.br/portalsefin/downloads/Orientacoes_RO_com_FECOEP_em_12.09.2016_publicado.pdf A soma do pICMS nem sempre será adicionada do pFCP.
    1 ponto
  26. Apenas complementando com um exemplo. Foi feito um teste com as versões x86 Single Thread e Multi Thread. Em ambos os casos, a versão demonstrada no Log, foi diferente, confirmando que a versão é incrementada pela IDE em cada compilação.
    1 ponto
  27. Bom dia Italo, Muito obrigado pelas informações, vou seguir suas indicações. Grato.
    1 ponto
  28. Bom dia Kleber, O programa exemplo não é um emissor de CT-e. Ele tem por finalidade lhe mostrar como configurar o componente, como alimentar o componente e uma codificação bem simples de como usar cada método implementado no componente. O programa exemplo não se utiliza de um banco de dados, é por isso que a configuração do mesmo é salva em disco em um arquivo INI e os dados fictícios passados para o componente estão presentes no código em vez de ler de uma tabela do banco de dados. Por ser dados fictícios é de se esperar que o CT-e gerado e enviado para a SEFAZ seja rejeitar. Uma coisa posso lhe garantir o componente funciona, basta configurar ele corretamente e passar os dados corretos. Dica, ao testar em homologação só informe a chave de uma NF-e se esta tenha sido também emitida em homologação, se você não tiver uma, em vez de informar os dados da NF-e (chave) informe os dados de um outro tipo de documento (infOutro) como por exemplo uma carta remessa de mercadoria. Vide o Manual que contem o layout do CT-e.
    1 ponto
  29. Olá tudo bem Sobre StdCall e Cdecl: Eu entendi que em node depende de onde compilo a aplicação * windows = StdCall * linux = Cdecl tentei inverter isso mas nao vi diferença no comportamento Atualmente estou testando em StdCall + windows + MT (MultiThread) Sobre o cache na dll: Tentei localizar algum arquivo ini com as tags que vinham no cache mas não encontrei mesmo com o auxilio do pesquisador de arquivos "Everything" A solução que encontrei foi carregar o arquivo INIsempre na inicialização. [RESOLVIDO] Muito Obrigado pela ajuda, se precisar de algo com node não exite em me chamar, estou aqui para ajudar tambem Obrigado
    1 ponto
  30. Boa tarde @AACB a versão mínima para se utilizar o ACBrLib no C# aspnet é a 4.5.2 At.
    1 ponto
  31. Deu certo Daniel. Muito obrigado!
    1 ponto
  32. Boa tarde, Vinhedo já está configurada no componente com esta url. Se não estiver aparecendo para você, veja se tem uma cópia desatualizada do ACBrNFSeXServicos.ini na pasta da aplicação. [3556701] ; Atualizado em 04/04/2023 Nome=Vinhedo UF=SP Provedor=Prescon ProRecepcionar=http://www.nfevinhedo.com.br/ws.vinhedo/Servidor.php ProConsultarNFSeRps=http://www.nfevinhedo.com.br/usuario/nNotaFiscal/notaXml/nota_fiscal_xml.php ProLinkURL=http://www.nfevinhedo.com.br/usuario/nNotaFiscal/notaFiscalPdf.php?codigo=%CodVerif%&exibir=1
    1 ponto
  33. Olá pessoal, Vocês devem ter notado que a Mastercard tem anunciado a necessidade de atualizações das bibliotecas de comunicação TEF para que não ocorram problemas com os novos cartões de Débito emitidos com a bandeira da Mastercard Você pode ler o comunicado na integra, através do link abaixo: https://www.mastercard.com.br/pt-br/empresas/estabelecimentos/debito-mastercard.html Em relação aos produtos de conexão desenvolvidos pela PayGo, solicitamos para a Setis (empresa que desenvolve as bibliotecas e programas de captura para a PayGo), qual é a versão mínima dos produtos, a fim de não ter problemas de compatibilidade com o novo DMC da Mastercard PayGo Integrado: (DLL), é compatível com Master DMC a partir da versão 4.0.103.0 PayGo Windows (Client, TXT): Todas as versões já produzidas são compatíveis com Master DMC PayGo Convencional (antigo, TXT): Não é compatível com Master DMC, e deve ser substituído pelo PayGo Windows
    1 ponto
  34. A sequencia no header tem q ser a que eles esperam. coloca 1. O SICREDI é o único que controla a SEQUÊNCIA da REMESSA como sendo um numero maior que a última recebida por eles. Nos outros bancos é sómente não enviar uma SEQUÊNCIA que ja tenha sido Utilizada.
    1 ponto
×
×
  • 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.