Ir para conteúdo
  • Cadastre-se

picuuai

Membros
  • Total de ítens

    15
  • Registro em

  • Última visita

Últimos Visitantes

672 visualizações

picuuai's Achievements

Apprentice

Apprentice (3/14)

  • Collaborator Rare
  • First Post
  • Conversation Starter
  • Week One Done
  • One Month Later

Recent Badges

1

Reputação

2

Community Answers

  1. Prezados, achei a solução, obrigado pela ajuda @italo procedure Tfrmdctf.AssinarXml(const ElementoFinal:String); var SSL : TDFeSSL; XMLUTF8, XMLAssinado : String; begin SSL := TDFeSSL.Create; try SSL.SSLDgst := dgstSHA256; // esse paramentro muda o tipo de assinatura SHA SSL.SSLCryptLib := cryWinCrypt; SSL.SSLXmlSignLib := xsLibXml2; SSL.ArquivoPFX := integra.caminhocertificado; SSL.Senha := '33711196'; SSl.CarregarCertificado; XMLUTF8 := memo3.Lines.Text; XMLAssinado := SSL.Assinar(XMLUTF8, ElementoFinal, '', '','','','id'); // o parametro idattr coloca o conteudo (id) do elemento dentro da reference na assinatura memo4.Lines.Text:= XMLAssinado; finally SSL.free; PANEL2.Caption:='PROBLEMAS AO ASSINAR XML.'; end; PANEL2.Caption:='XML ASSINADO COM SUCESSO.'; para chamar a funcao AssinarXml('ConteudoDeclaracao');
  2. Prezados, Sou contador e programador(nao profissinal) e recentemente estou desenvolvento aplicativo proprio para consumir as API do SERPO(Receita Federal) relacionas ao Integra Contador..mas criar um componente esta longe da minha capacidade. La tem disponivel uma gama muito grande de serviços relacionadas a facilidade de integração entre Contador e Receita Federal.. abaixo alguns exemplos de funcionalidades disponiveis no sistema: PGDASD - Consultar Declarações PGDASD - Consultar a Última Declaração/Recibo PGDASD - Consultar Declaração/Recibo PGDASD - Consultar Extrato do DAS PGMEI - Consultar Dívida Ativa DCTFWeb - Consultar o Recibo da Declaração DCTFWeb - Consultar Declaração Completa DCTFWeb - Consultar o XML da declaração Procurações - Obter procuração DCTFWeb - Gerar Guia Declaração Sicalc - Consolidar Emitir DARF PAGTOWEB - Gerar Comprovante de Pagamento...etc Minha sugestao seria criar componente para ajudar os contadores nas taferas diarias..Ja que a maioria dos sofwares hoje que fazem esse tipo de tarefas utilizam navegadores por exemplo para conseguir as informações.(passando pelos chatos captchas).. Mais informacoes estao no site https://apicenter.estaleiro.serpro.gov.br/documentacao/api-integra-contador/
  3. Prezados.. Alguma coisa eu ja consegui resolver sobre a assinatura do XML com o codigo abaixo... procedure Tfrmdctf.AssinarXml(const ElementoFinal:String); var SSL : TDFeSSL; XMLUTF8, XMLAssinado : String; begin SSL := TDFeSSL.Create; try SSL.SSLCryptLib := cryWinCrypt; SSL.SSLXmlSignLib := xsLibXml2; SSL.ArquivoPFX := integra.caminhocertificado; SSL.Senha := '33711196'; SSl.CarregarCertificado; XMLUTF8 := memo3.Lines.Text; XMLAssinado := SSL.Assinar(XMLUTF8, ElementoFinal, ''); memo4.Lines.Text:= XMLAssinado; finally SSL.free; end; end; Preciso resolver outras 2 coias.. 1) a assinatura tem ser em SHA256 e esta em SHA1, como mudar isso? 2) eu preciso na reference colocar o a referencia do conteudodadeclaracao do xml anexo.. como faço isso, pois esta saindo vazio? manual técnico https://apicenter.estaleiro.serpro.gov.br/documentacao/api-integra-contador/pt/sistemas/dctfweb/servicos/entregar_declaracao/ arquivo.xml arquivo_assinado.xml
  4. Alguem sabe como mudar a sha? e tambem no meu codigo ele nao esta aparecendo a reference = url esta vazia.. e eu precisava referenciar o conteudododocumento..
  5. Obrigado.. Eu achei esse codigo aqui na internet que ajudou bastante na assinatura.. procedure Tfrmdctf.AssinarXml(const ElementoFinal:String); var SSL : TDFeSSL; XMLUTF8, XMLAssinado : String; begin SSL := TDFeSSL.Create; try SSL.SSLCryptLib := cryWinCrypt; SSL.SSLXmlSignLib := xsLibXml2; SSL.ArquivoPFX := integra.caminhocertificado; SSL.Senha := '******'; SSl.CarregarCertificado; XMLUTF8 := memo3.Lines.Text; XMLAssinado := SSL.Assinar(XMLUTF8, ElementoFinal, ''); memo4.Lines.Text:= XMLAssinado; finally SSL.free; end; end; So tem uma diferença, o arquivo esta com Sha1 e teria que ser Sha256, como faço para mudar esse tipo de assinatura..?
  6. Eu entendi o que quiz dizer, mas eu ja tentei de tudo para identificar como o sistema troca de Sha1 para Sha256 dentro da ABCRDFESLL e ate agora nao entendi.. Na assinatura da esocial por exemplo ele assina sha256 e na NFE ele assina sha1.. mas em nenhum dos eventos vc menciona que tipo de SignatureMethod ele vai usar.. function TDFeSSL.Assinar(const ConteudoXML, docElement, infElement: String; const SignatureNode: String; const SelectionNamespaces: String; const IdSignature: String; const IdAttr: String String; Var XmlAss, DeclaracaoXMLAntes, DeclaracaoXMLDepois: String; Assinado: Boolean; begin // Nota: ConteudoXML, DEVE estar em UTF8 // // Lendo Header antes de assinar, Se Header não for UTF8 não usa... // if XmlEhUTF8(ConteudoXML) then DeclaracaoXMLAntes := ObtemDeclaracaoXML(ConteudoXML) else DeclaracaoXMLAntes := ''; Assinado := False; if Assigned(FAntesDeAssinar) then begin XmlAss := ConteudoXML; FAntesDeAssinar( XmlAss, docElement, infElement, SignatureNode, SelectionNamespaces, IdSignature); Assinado := (XmlAss <> ConteudoXML); end; if not Assinado then begin XmlAss := FSSLXmlSignClass.Assinar( ConteudoXML, docElement, infElement, SignatureNode, SelectionNamespaces, IdSignature, IdAttr); // Verificando se modificou o Header do XML assinado, e voltando para o anterior // if (DeclaracaoXMLAntes <> '') then begin DeclaracaoXMLDepois := ObtemDeclaracaoXML(XmlAss); if (DeclaracaoXMLDepois = '') then XmlAss := DeclaracaoXMLAntes + XmlAss else if (DeclaracaoXMLAntes <> DeclaracaoXMLDepois) then XmlAss := StringReplace(XmlAss, DeclaracaoXMLAntes, DeclaracaoXMLDepois, []); end; end; Result := XmlAss; end;
  7. Então sou mei novato, e não entendi muito bem os fontes da assinatura
  8. Prezados, tudo bem.. Estou desenvolvendo uma aplicação que consome a API do Integra Contador para transmissao e geração de guias da DCTFWEB.. https://apicenter.estaleiro.serpro.gov.br/documentacao/api-integra-contador/pt/sistemas/dctfweb/servicos/entregar_declaracao/ Eu consigo fazer o download do arquivo XML, mas eu nao tenho nenhuma noção de como eu consigo assinar esse arquivo XML dentro da programação.. Estou utilizando delphi Tokio. Gostaria de ajuda de como fazer uma rotina para que o sistema leia o XML e assine com o certificado PFX, nos padroes exigidos.. Agradeço por qualquer ajuda. Fica a dica ai para os senior desenvolver componentes para consumir essa api oficial da Receita, é muito util...
  9. Ola pessoal Consegui achar a solução.. ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.LerXMLFromFile(opendialog1.FileName); depois é só fazer o for para ler os docszip. Abraços.
  10. Prezados, tudo bem Com as novas mudanças da SEFAZ, limitando os downloads do XML através da distribuicaodfe, surgiram alguns problemas e nao estou conseguindo sem ajuda. o procedimento anfe.EventoNFe.LerXML(DirectoryListBox4.Directory+'\'+ filelistbox6.Items.Strings[notayyy]); esta funcionando perfeitamente, mas a questao seria que eu preciso carregar no componente o arquivo de retorno da distribuicaodfe onde contem todas as informações do doczip. <docZip NSU="000000000002253" schema="resNFe_v1.01.xsd">H4sIAAAAAAAEAIVSXU/CQBD8K6Tv9O62vZY2yyWIYDBYkRLFx1IOerEf2J4W/70HRQ1PvtzOTmZ2NpvDWjbRVPaORV424bHZDq1M60NISNu2duvYVb0nQCkj64d5nGaySKxfsfpf3Fdlo5MylVbvU9ZNUg0tZlN2mXHlP1S1TvKdatIkt1W5szc1KXfSEphmZkXhMADqUOoH1AdGTYwLnJtiIHgeB8Ycf+DyYACApPPgOFrci2sPkjOJx6gqpBjf9Kaz+Wr5GPfmq9sRko7G2UQwBoGJCALjNy7D4DabFEoABehTpw+wYjx03ZAOTBtSiqQToD5EU8GQnCt+modTbgdGcMK4VfvnJBd+/LZmT+931Vf04qiG5a+xbotRRD8mQzOqE5nMpUw3urqK9ULqhS77i71osFzUlRbsdCzXc7jLXfACJB2Naaz06S5mtR+IpPsC4hvkqtNzCwIAAA== Como proceder nesse caso? nao achei nenhuma funçao tipo anfe.webservice.loadfromfile por exemplo. Agradeço a ajuda. Abraços
  11. Ola Italo, obrigado. A questão é que nao disponibilizamos dos certificados digitais de todos os clientes, por isso a necessidade de uma forma alternativa de baixar os dados das notas para importação. Aguardo ajuda.
  12. Olá amigos, Montei um programa para pegar os dados da nfe direto do site da receita federal e montar um arquivo xml(somente para importação dos dados) com as informações do HTML. Ate ai tudo bem consegui recuperar as informações e montar o arquivo xml. So que estou com um problema, pois na hora de gravar o xml o sistema este gerando outra chave de acesso e colocado dentro do arquivo´(anexo). i:= 0; linha:= ''; linha:= memo1.Strings[0]; nf.NFe.infNFe.ID:= trim(copy(linha,pos('=',linha)+1,length(linha))); aqui pego a chave da nota original. nf.GravarXML(diretorio+'\'+ copy(NF.NFe.infNFe.id,1,44)+'.xml'); aqui gravo o xml no diretorio, e salvo com o nome original. Minha pergunta é : tem como contornar esse problema, pois já tenho a chave da nfe existente... chave correta da nfe é a mesma que esta no nome do arquivo: 35190401186408000162550010000399001000285142 chave que o sistema gerou: 35190401186408000162550010000399001577940241 como resolver isso. Aguardo: 35190401186408000162550010000399001000285142.xml
  13. John Boa tarde Não precisa do arquivo ini o código que postei já resolve a questão na geração do qrcode. Então o código que postei e somente para emissão online. Mas funcionou. Por algum motivo o sistema não reconhece o arquivo ini que carreguei e está gerando o erro com a função do acbr. Tudo está atualizado inclusive a biblioteca do acbr
  14. Ola big Wings Esta tudo configurado certinho.. versao 400 e o qrcode 200 mas eu consegui resolver de outra forma.. segue codigo ACBrNFe1.NotasFiscais.GerarNFe; VersaoQrCode := acbrnfe1.Configuracoes.Geral.VersaoQRCode; cCSC := edtToken.Text; cIdCSC := edtIdToken.Text; sCSC := cIdCSC + cCSC; sEntrada := copy(ACBrNFe1.NotasFiscais.Items[0].NFe.infNFe.ID,4,44)+'|'+ VersaoQrCodeToStr(VersaoQrCode)+ '|' + TpAmbToStr(ACBrNFe1.NotasFiscais.Items[0].NFe.Ide.tpAmb) + '|'; hash:= AsciiToHex(SHA1(sEntrada + sCSC)); ACBrNFe1.NotasFiscais.Items[0].NFe.infNFeSupl.qrCode:= 'https://nfce.fazenda.mg.gov.br/portalnfce/sistema/qrcode.xhtml'+ copy(ACBrNFe1.NotasFiscais.Items[0].NFe.infnfe.ID,4,44)+'|'+ '2'+'|'+ TpAmbToStr(ACBrNFe1.NotasFiscais.Items[0].NFe.ide.tpAmb)+'|'+ // datetostr(ide.dEmi)+'|'+ edtIdToken.Text+'|'+ edtToken.Text+'|'+ hash;
  15. Prezados, boa tarde Estou tentando implementar o meu sistema para emissão de NFC-e em MG e estou me deparando com o seguinte erro: URL para o serviço "URL-QRCode" não encontrada na sessão "NFCe_MG_H" no arquivo "ACBrNFeServicos" no componente indiquei o caminho do iniservicos ACBrNFe1.Configuracoes.Arquivos.IniServicos:= extractfilepath(paramstr(0))+'ACBrNFeServicos.ini'; Mas ainda não sei como eliminar o erro. o que mais preciso? ulr:= ACBrNFe1.GetURLQRCode(ide.cUF, ide.tpAmb, copy(infnfe.ID,4,44), dest.CNPJCPF, ide.dEmi, total.ICMSTot.vNF, Total.ICMSTot.vICMS, procNFe.digVal, strtofloat(versao.Text)); infNFeSupl.qrCode:= ulr; // infnfesupl.urlChave:= 'https://nfce.fazenda.mg.gov.br/portalnfce/sistema/qrcode.xhtml'; Agradeço a atenção.
×
×
  • 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.

The popup will be closed in 10 segundos...