Painel de líderes
Conteúdo popular
Showing content with the highest reputation on 16-01-2024 em todas as áreas
-
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
-
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_Consultar2 pontos
-
2 pontos
-
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.csv1 ponto
-
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.pas1 ponto
-
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
-
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
-
Verifiquei que foi lançado a versão 73, e com ela funcionou.1 ponto
-
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
-
Boa tarde Alexandre, Muito obrigado pela resposta. Vou buscar mais informações no link. Abraço.1 ponto
-
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
-
Bom dia não tem referencia a uso dessa dll no ACBr. creio que seja algo relacionado a seu projeto1 ponto
-
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! Sergio1 ponto
-
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
-
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
-
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
-
Bom dia Italo, Muito obrigado pelas informações, vou seguir suas indicações. Grato.1 ponto
-
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
-
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 Obrigado1 ponto
-
Boa tarde @AACB a versão mínima para se utilizar o ACBrLib no C# aspnet é a 4.5.2 At.1 ponto
-
1 ponto
-
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 Windows1 ponto
-
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