Ir para conteúdo
  • Cadastre-se

Painel de líderes

Conteúdo popular

Showing content with the highest reputation on 21-08-2020 em todas as áreas

  1. porque utf8 não é apenas 8bits (note que você usa [1] para limitar ao primeiro byte). não use OnKeyPress, caso queira colocar no evento apropriado, coloque em OnUTF8KeyPress e não limite à um byte a alteração com Uppercase Mas ainda acredito que apenas setar corretamente a propriedade Charcase deve resolver no seu caso.
    3 pontos
  2. Bom dia. Sugiro pesquisar no próprio fórum, temos uma série de tópicos sobre este assunto. Att.
    3 pontos
  3. Pessoal, deu certo por aqui. Consegui resolver o problema com a permissão de adm para o Prompt. Obrigado pelo suporte @BigWings e @Juliomar Marchetti
    3 pontos
  4. Pessoal, estamos atualizando o nosso sistema para a GNRE 2.0, e identificamos algumas correções necessárias para se fazer no ACBr. As três primeiras modificações do pgnreGNREW.pas são para evitar o preenchimento incorreto de tags que não são obrigatórias, similar ao que é feito na função GerarXML1. A última é relacionada com a tag valorGNRE, onde criamos uma property na pgnreGNRE.pas com este nome para informar o total de serviços. Hoje é enviado ou o campo c06_valorPrincipal ou o campo c10_valorTotal na tag valorGNRE. Porém, se for informado também o campo ValorFECP, será retornado o erro "O valor da GNRE diverge do somatorio dos valores dos itens". Esse comportamento pode ser visto também no site de homologação, ao gerar uma guia para RO, receita 100030, e informar o Valor Principal e o Valor do FECP. Segue os arquivos mencionados em anexo para verificação. pgnreGNRE.pas pgnreGNREW.pas
    2 pontos
  5. Pessoal, gostaríamos de contribuir com um ajuste na emissão de MDF-e Aéreo, para o preenchimento correto das tags "nac" (Marca da Nacionalidade) e "matr" (Marca de Matrícula). Atualmente elas estão definidas como Integer, mas na verdade são códigos alfanuméricos, e seguem a expressão regular ER35, igual aos demais campos deste grupo, conforme a página 24 do Layout v3.00a. Um explicação de como funciona na prática estas informações pode ser encontrada na Wikipédia: https://pt.wikipedia.org/wiki/Prefixo_aeronáutico Segue em anexo as modificações necessárias (só não testamos com a impressão em Fortes porque não utilizamos este componente), com os seguintes caminhos a partir do Fontes/ACBrDFe/ACBrMDFe/: ACBrMDFeManifestos.pas DAMDFE/Fast/ACBrMDFeDAMDFEFR.pas PCNMDFe/pmdfeMDFe.pas PCNMDFe/pmdfeMDFeR.pas PCNMDFe/pmdfeMDFeW.pas Obs: incluímos algumas correções de indentação, principalmente na unit pmdfeMDFeW.pas a alteração que interessa é na procedure TMDFeW.GerarAereo; ACBrMDFeDAMDFEFR.pas ACBrMDFeManifestos.pas pmdfeMDFe.pas pmdfeMDFeR.pas pmdfeMDFeW.pas
    2 pontos
  6. Ola Michele e Daniel, se estiverem precisando ou para alguém que tenha a mesma dúvida vou postar trechos de códigos que usei para estar conseguindo o token. TParametros = class private FGrantType: String; FClientId: String; FClientSecret: String; FPassword: String; FUsername: String; FMerchant: String; public property Merchant: String read FMerchant write FMerchant; property ClientId: String read FClientId write FClientId; property ClientSecret: String read FClientSecret write FClientSecret; property GrantType: String read FGrantType write FGrantType; property Username: String read FUsername write FUsername; property Password: String read FPassword write FPassword; constructor Create; end; No create desta Classe eu carrego os parâmetros, inicialmente eu coloquei em um arquivo ini constructor TParametros.Create; var oIni: TIniFile; begin oIni := TIniFile.Create(TNjFunc.GetIniFileName); try FMerchant := TNjFunc.Decrypt(oIni.ReadString('iFood','Merchant','')); FClientId := TNjFunc.Decrypt(oIni.ReadString('iFood','ClientId','')); FClientSecret := TNjFunc.Decrypt(oIni.ReadString('iFood','ClientSecret','')); FGrantType := TNjFunc.Decrypt(oIni.ReadString('iFood','GrantType','')); FUsername := TNjFunc.Decrypt(oIni.ReadString('iFood','Username','')); FPassword := TNjFunc.Decrypt(oIni.ReadString('iFood','Password','')); finally FreeAndNil(oIni); end; end; Após eu tenho uma outra classe que faz as requisições dos outros EndPoints, mas está faz requisição do Token function TResquestIFOOD.GetToken: Boolean; var slParams: TStringList; ssResponse: TStringStream; soResponse: ISuperObject; sURL: String; {$REGION 'CARREGA CREDENCIAIS'} procedure LoadParams; begin with slParams do begin Add('client_id=' + FParams.ClientId); Add('client_secret=' + FParams.ClientSecret); Add('grant_type=' + FParams.GrantType); Add('username=' + FParams.Username); Add('password=' + FParams.Password); end; end; {$ENDREGION} begin Result := False; //Montando URL sURL := FURL; sURL := sURL + '/oauth/token'; slParams := TStringList.Create; ssResponse := TStringStream.Create; LoadParams; try if TMethodUtils.POST(sURL, slParams, ssResponse, True, FToken, FAPI) then begin soResponse := SO(ssResponse.DataString); FToken := soResponse.S['access_token']; Result := True end; finally FreeAndNil(ssResponse); FreeAndNil(slParams); end; end; Na época eu estava com erro ao fazer o Polling, a URL estavá correta e o token também. Porém o header que eu estava mandando que estava errado. Então quando é para conseguir pegar o Token eu uso um tipo de Header e para os demais endspoints eu uso outro. Segue abaixo: if pIsGetToken then begin Request.Accept := 'application/json'; end else begin Request.Clear; Request.ContentType := 'application/json'; Request.CustomHeaders.AddValue('Authorization', 'Bearer ' + pToken); end; Obs: Usamos Delphi 10.3 Para Parse e criação de objetos Json: https://github.com/onryldz/x-superobject
    2 pontos
  7. Apenas para registro, não consegui reproduzir esse problema. Não parece ser no componente. Mas notei o seguinte destacado em negrito na mensagem: Como se pode ver, apesar de estarmos falando de importação pelo componente do SPED Fiscal, o componente citado no código parece ser o do PIS/COFINS (SpedContribuicao). Assim, é possível que o erro seja apenas a troca dos componentes nessa linha específica.
    2 pontos
  8. tente assim: ACBrMail1.AddAttachment(TFileName(lbxAnexos.Items.Strings[Anexo]), 'NFe', adAttachment);
    2 pontos
  9. Valeu Juliomar Marchetti. Exatamente como vc falou troquei BR por EX e validou obrigado pela dica. valeu a atenção amigo. para resolver fiz o que Juliomar Marchetti falou troquei BR por EX e validou obrigado pela dica. grato a todos.
    2 pontos
  10. Agradeço a todos vocês pelas explicações. Conversei com o cliente e expliquei que o software que ele utilizava anteriormente não fazia substituição, mas sim, cancelamento e consequentemente nova inclusão de NFS-e. Ele ficou preocupado, mas está ciente do que o webservice de BH oferece. Bom trabalho a todos.
    2 pontos
  11. Outra opção é setar ecUpercase na propriedade Charcase de qualquer objeto derivado de TCustomEdit
    2 pontos
  12. Experimentei o mesmo problema relatado pelo @Delcio na primeira mensagem. Baixei a implementação da unit disponibilizada neste post e o erro foi sanado, a NFe é emitida sem erro, compilando no 10.3.3. Fiz apenas uma alteração, que foi a remoção do uses da Winapi.WinHTTP. Pesquisei um pouco a respeito da origem do problema e encontrei a resposta que foi definitiva para mim: A partir do Delphi Rio (10.3) o evento THTTPReqResp.OnBeforePost teve a sua assinatura alterada de OnBeforePost(const HTTPReqResp: THTTPReqResp; ARequest: Pointer) para OnBeforePost(const HTTPReqResp: THTTPReqResp; Client: THTTPClient); Como é visível, não temos mais o ponteiro do Request para acionar o método InternetSetOption que era utilizado até então para informar o certificado digital. Na nova implementação, o @Delcio estendeu THTTPClient para ter acesso ao FWinCertList, se valendo disto e do evento OnNeedClientCertificate para setar o certificado digital. As configurações de proxy continuam sendo setadas em OnBeforePost mas de uma forma diferente, setando direto no THTTPClient, visto que não há mais acesso ao Pointer. A questão que trago é que estes ajustes necessários para se adequar às novas versões do Delphi, em especial, às novas implementações do Indy, ainda não estão disponíveis no SVN do ACBr. Seria possível disponibilizar no SVN? Há alguma pendência a ser resolvida na unit antes que seja disponibilizada?
    2 pontos
  13. Olá pessoal. De uns tempos pra cá venho tendo alguns chamados relativos a problemas de comunicação com o TLS1.2 usando a httpWinHttp, grande maioria devido as atualizações do windows(ou a falta delas), estive buscando então alternativas para evitar esse transtorno: A httpWinINet depende de configurações do IE, que de vez em quando são alteradas por outros aplicativos e acabam causando o mesmo problema. A httpOpenSSL além de causar dependências das Dlls acho que só vai de A1 e infelizmente tem uns que insistem no A3. Um opção seria usar a HttpIndy, que não depende de configurações do IE e aparentemente não é afetada pelos updates do windows, porém nos Delphi mais novos não estava funcionando direito devido a mudanças na RTL. Apresentava o erro "Erro ao ajustar INTERNET_OPTION_CLIENT_CERT_CONTEXT". Dei uma mexida nela e consegui fazer funcionar, nos testes com a NFe transmitiu normalmente no Rio 10.3.1, inclusive estou testando em alguns clientes onde a httpWinHttp estava apresentando problemas, porém não tenho outras versões do Delphi instaladas aqui pra testar. Vou deixar em anexo se alguém quiser testar/melhorar e enviar para repositório. ACBrDFeHttpIndy.pas
    1 ponto
  14. 1 ponto
  15. Qual versão do Delphi que está usando? se estiver com as mais novas no Getit tem uma ferramenta que tu instala e tu pesquisa e te trás N imagens
    1 ponto
  16. https://www.antt.gov.br/pt/web/guest/perguntas-frequentes/-/categories/362297?p_r_p_resetCur=true&p_r_p_categoryId=362297
    1 ponto
  17. Precisaremos entrar em contato com a PayGo... pode por favor, anexar um Zip com os Logs da pasta "TEF\PGWeb\Log" ?
    1 ponto
  18. Me parece que o próprio Delcio mencionou esses pontos como pendências, veja:
    1 ponto
  19. Segue log conforme solicitado TefLog
    1 ponto
  20. Bom dia André, Na unit pnfsConversao temos a função ProvedorToVersaoNFSe, você informa o provedor (enumerador) e ela retorna a versão do provedor, veja: function ProvedorToVersaoNFSe(const AProvedor: TnfseProvedor): TVersaoNFSe; begin case AProvedor of proABRASFv2, pro4R, proABase, proActconv2, proAgiliv2, proBethav2, proCoplan, proDigifred, proeReceita, proFIntelISS, proFiorilli, proGoiania, proGovDigital, proISSDigital, proISSe, proLink3, proMitra, proNEAInformatica, proNotaInteligente, proProdata, proPronimv2, proPVH, proSaatri, proSiam, proSisPMJP, proSystemPro, proTecnos, proVirtual, proVitoria, proVersaTecnologia, proSafeWeb, proWebISSv2, proSH3, proSiapNet, proISSJoinville, proSmarAPDv2, proAsten, proELv2, proTiplanv2, proGiss, proDeISS, proTcheInfov2, proSigep, proDataSmart, proDesenvolve, proCenti, proRLZ, proSigCorp, proGiap, proiiBrasilv2, proSimplISSv2, proMegaSoft, proModernizacaoPublica, proElotech, proFuturize: Result := ve200; proInfiscv11, proLencois: Result := ve110; else Result := ve100; end; end; No "case" da função acima o provedor que não constar na lista iniciada por proABRASFv2 e que não for o Infisc e lencois acaba caido no "else", logo a versão 1. Temos também a função ProvedorToLayoutXML que retorna o layout do XML, veja: function ProvedorToLayoutXML(const AProvedor: TnfseProvedor): TLayoutXML; begin case AProvedor of proABRASFv1, proAbaco, proActcon, proBetha, ProBHISS, proCIGA, proDBSeller, proDSFSJC, proFISSLex, progeNFe, proGinfes, proGovBR, proISSCuritiba, proISSFortaleza, proISSIntel, proISSNet, proLexsom, proMetropolisWeb, proNatal, proNFSeBrasil, proPronim, proPublica, proRecife, proRJ, proSalvador, proSilTecnologia, proSimplISS, proSJP, proSpeedGov, proThema, proTinus, proTiplan, proWebISS: Result := loABRASFv1; proABRASFv2, pro4R, proABase, proActconv2, proAsten, proBethav2, proCenti, proCoplan, proDataSmart, proDeISS, proDesenvolve, proDigifred, proELv2, proElotech, proeReceita, proFIntelISS, proFiorilli, proFuturize, proGiss, proGoiania, proGovDigital, proiiBrasilv2, proISSDigital, proISSe, proISSJoinville, proLink3, proMegaSoft, proMitra, proModernizacaoPublica, proNEAInformatica, proNotaInteligente, proProdata, proPronimv2, proPVH, proRLZ, proSaatri, proSafeWeb, proSH3, proSiam, proSiapNet, proSigCorp, proSigep, proSimplISSv2, proSisPMJP, proSmarAPDv2, proSystemPro, proTcheInfov2, proTecnos, proTiplanv2, proVersaTecnologia, proVirtual, proVitoria, proWebISSv2: Result := loABRASFv2; proAgili, proAgiliv2: Result := loAgili; proEgoverneISS: Result := loEGoverneISS; proEL: Result := loEL; proEquiplano: Result := loEquiplano; proGoverna: Result := loGoverna; proInfisc, proInfiscv11: Result := loInfisc; proISSDSF, proCTA: Result := loISSDSF; proSiat: Result := loSiat; proSP: Result := loSP; proCONAM: Result := loCONAM; proSmarAPD: Result := loSmarAPD; proIPM: Result := loIPM; proGiap: Result := loGiap; proAssessorPublico: Result := loAssessorPublico; proSigISS: Result := loSigISS; proWebFisco: Result := loWebFisco; proLencois: Result := loLencois; else Result := loNone; end; end; Através desta função você sabe se o provedor segue o layout da ABRASF versão 1 ou 2 ou se tem um layout próprio.
    1 ponto
  21. Certo, farei o download para realização de testes ... Obrigado pela atenção .
    1 ponto
  22. Bom dia Diego, Muito obrigado pela colaboração, vou incluir na minha lista de tarefas, assim que possível vou analisar a sua alteração.
    1 ponto
  23. Bom dia Beatriz, Essas URLs são do webservice ou do site? No arquivo INI devemos informar a URL do webservice. No arquivo SigISS.ini temos: [URL_P] RecepcaoLoteRPS=%NomeURL_P%/ws/sigiss_ws.php?wsdl GerarNFSe=%NomeURL_P%/ws/sigiss_ws.php?wsdl [URL_H] RecepcaoLoteRPS=%NomeURL_H%/ws/sigiss_ws.php?wsdl GerarNFSe=%NomeURL_H%/ws/sigiss_ws.php?wsdl Note que temos na URL a variável %NomeURL_P% para Produção e %NomeURL_H% para Homologação. Já no arquivo Cidades.ini temos: [3304904] Nome=Sao Goncalo UF=RJ Provedor=SigISS NomeURL_H=https://testenfse.pmsg.rj.gov.br:443 NomeURL_P=https://nfse.pmsg.rj.gov.br:443 A titulo de exemplo a cidade de São Gonçalo. Quanto o componente for acessar o webservice de São Gonçalo vai utilizar as URLs: Homologação -> https://testenfse.pmsg.rj.gov.br:443/ws/sigiss_ws.php?wsdl Produção -> https://nfse.pmsg.rj.gov.br:443/ws/sigiss_ws.php?wsdl Note que o componente automaticamente troca a variável pelo seu valor informado no arquivo Cidades.ini Favor verificar quais são as URLs de Produção e Homologação utilizadas no webservice para a cidade de Araras.
    1 ponto
  24. Olá, Estou passando a mesma situação. O código de barras está colorido. Alterei o código com a implementação sugerida acima, tanto no relatório quanto no próprio Fortes, mesmo assim o problema continuou. Alguma outra solução?
    1 ponto
  25. O Bug já foi corrigido em versões posteriores (trunk review 62806), mandei o patch em março. https://bugs.freepascal.org/view.php?id=36815 O problema só ocorre com compilação GTK2, se compilar para Qt não ocorre o erro.
    1 ponto
  26. Obrigado, vou verificar
    1 ponto
  27. Boa tarde Gabriel. Guarda em propriedades, armazenadas no componente ao Enviar ou Carregar um XML de nota, como por exemplo: acbrNFSe.NotasFiscais.Items[0].NomeArqRps; acbrNFSe.WebServices.EnviarLoteRPS.Protocolo; acbrNFSe.NotasFiscais.Items[0].NFSe.CodigoVerificacao; acbrNFSe.NotasFiscais.Items[0].NomeArq; acbrNFSe.NotasFiscais.Items[0].NFSe.Numero; André Luis.
    1 ponto
  28. Olá @Rodrigo Vian Consegui emitir a nota para Leopoldina! Quando realizo a emissão de apenas uma nota, vai com sucesso. Quando emito mais de uma, ocorre time out. Mas mesmo assim a nota vai para o site da prefeitura. Não sei se com você também ocorre isso, mas já fico feliz por estar aparecendo no site da prefeitura. Obrigada!
    1 ponto
  29. bom dia.. aqui alguns exemplos ent_Envia_35200217382948000151550010000022681158235554.txt ent_lerIni.txt ent_Enviar_NFe.txt sai_Ambiente.txt
    1 ponto
  30. No manual tem o exemplo com todas as tags da SEFAZ e no link do vídeo tem um exemplo simplificado em anexo: https://acbr.sourceforge.io/ACBrMonitor/ModeloNFeINICompleto.html
    1 ponto
  31. Boa noite ! Pode seguir a documentação para que possa começar a sua integração com NFe. https://acbr.sourceforge.io/ACBrLib/ExemplodeINI.html
    1 ponto
  32. A chave da NFCe gerada no QrCode está inválida porque o tpEmis informado não é aceito: <tpEmis>2</tpEmis> No caso da NFCe em contingência off-line deve-se usar tpEmis = 9 (teOffline).
    1 ponto
  33. resolvido, estava enviando 2 vezes o arquivo INI com os dados da NFEe, Erro no Codigo do meu sistema. Pode encerrar o topico.
    1 ponto
  34. boa tarde.. provalmente esse cliente realmente deve estar com problemas na inscricao, ou a inscricao nao foi informada corretamente. nesse caso, entre em contato com esse cliente ou com o contador dele para esclarecer.
    1 ponto
  35. Que eu saiba é um requisito do SAT/MFe, na NFCe não tem nada informando isso, mas na epoca das ECF tbm tinha isso. Veja que na documentação fala sobre os convênios que impõem isso você pode ler eles e ve se eles incluem NFCe ou se é uma coisa que o fica a cargo do estado exigir ou não.
    1 ponto
  36. Tu pode discortar mas basta ler o manual E no caso seu sistema esteve sempre errado então
    1 ponto
  37. Bom dia a Todos. A título de informação sobre Delphi. Nossa empresa possui uma licença do Delphi Enterprise, portanto a Embarcadero tem todos nossos dados. Recebemos a ligação da Embarcadero dizendo que violamos a licença do Delphi Community e que eles sabem disso por que consta no "sistema da Embarcadero nos Estados Unidos" as seguintes informações: IP da Maquina MAC da Maquina Nome do Usuário Nome da Maquina Todas as vezes que o Delphi foi aberto Todos os projetos abertos E agora a informação mais importante: Acesso aos projetos inclusive o atendente me informou os componentes usados,(Combobox, FMX...). Fica esse alerta a comunidade, a Embarcadero esta monitorando o uso do Delphi inclusive os projetos, com isso não há a privacidade nos projetos feitos ao pelo menos nessa versão do Delphi. Como nossa empresa possui a versão paga do Delphi, não faz sentido usar a versão Community, Estamos verificado se alguém fez essa instalação na nossa empresa para averiguação. Contudo eles nos informaram que para não ir para justiça devemos pagar um valor de 89.000,00 reais por infringir a licença. Motivo nossa empresa fatura mais de 5.000 dollares por ano. Fica esse alerta aos desenvolvedores, Agora mesmo com a versão paga que temos por essa questão de monitorarem os projetos estamos migrando para o Lazarus. Obrigado ps saudade da época da borland e do delphi 7
    1 ponto
  38. Bom dia. No Dia do ACBr Online, teremos dois experts em lazarus falando sobre o assunto. Att.
    1 ponto
  39. No trunk2 e já tem usuários aqui em clientes rodando . conforme o post e a data já faz um tempinho
    1 ponto
  40. Percebi isso, boa parte está sendo direcionada para System.Net, mas acho ela muito "dependente" das APIs do SO, e muito fechada também, por exemplo a implementação para o windows está em System.Net.HttpClient.Win e fica toda na seção implementation da Unit, muito engessada na minha opinião. Não consigo usar o certificado carregado no ACBr com ela, e não consigo herdar para sobrescrever algo, até consigo registrar outra classe com TURLSchemes.RegisterURLClientScheme para usar com o windows por exemplo, mas tem que implementar toda ela. Minha ideia inicial com Indy seria fazer uma implementação independente e talvez colocar na pasta terceiros, para ficar independente das IDEs. mas acho que não vai dar com Indy, vamos ver com o Synalist, que já tem no ACBr inclusive.
    1 ponto
  41. Segue em anexo, as DLLs que uso com sucesso, no Elgin Linker 1 e 2 Copie TODAS as DLLs das pastas, para o mesmo diretório da aplicação (mesma pasta do seu .EXE) DLLs_SAT_Elgin1_e_2.zip
    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.