Ir para conteúdo
  • Cadastre-se

Aecio

Membros
  • Total de ítens

    20
  • Registro em

  • Última visita

Últimos Visitantes

792 visualizações

Aecio's Achievements

Apprentice

Apprentice (3/14)

  • First Post
  • Collaborator Rare
  • Week One Done
  • One Month Later
  • One Year In

Recent Badges

0

Reputação

  1. No meu acontece a mesma coisa ao abrir ele da o erro de TACBrNFSeDANFSeQR not found. ... ai eu mando ignorar e ele abre. Ai na hora de compilar ele da erro de Field frmDemo_ACBRNFSe.ACBrNFSeDANFSeQR1 does not have a correspo... ai eu mando eele remover da declaracao. Ai ele da um erro de compilacao falando que a ACBrNFSeDANFSeQRClass.dcu nao localizada, ai eu apago ela da USES e da erro na linha 475 - NaturezaOperacao := noTributacaoNoMunicipio; que eu comento e o erro para e a compilacao vai normal.; Acabei de atualizar o acbr pra ter certeza se nao era a minha versao.
  2. Era cagada minha mesmo, agora ta de boa, aproveitando como esta a mensagem nas observações para informar esse valores, como vocês estão escreva ela.
  3. Não eu ja estou na trunk2 mas mesmo assim o danado do campo some, e pelo menso teoricamente e pra ta preenchido..
  4. Hum, não e o caso do meu ja estou na Trunk2, vou analisar o melhor o meu xml antes de validar, e o debugar o procedimento de validacao acho que e ali que ele remove, e pra ta tudo preenchido.
  5. Estou com o mesmo poblema, se encontrar a solução antes do pessoal responder eu posto aqui, mas acho que deve ser alguma coisa que deve ser ativa no componente pra aparecer a danada.
  6. Cara MT so funcionou qdo eu gerei com ele no hash, eu tava fazendo sem e nao dava certo de modo algum, ai so foi incluir o danado e funcionou. Pelo menos em Mato Grosso, tem que por na composição pra hash, senão nao dara certo.. experiementa fazer o teste.
  7. Amigão, nen vou falar não querendo abusar.. pq ja to abusando to usando o o seguinte pra tentar gerar meu qrcode: function GerarStringQrCodeNFC ( pcldToken : String ) : WideString; var tHashQRCode : WideString; sAux : String; sWebService : String; chNFe : String; nVersao : String; tpAmb : String; cDest : String; dhEmi : String; vNF : String; vICMS : String; digVal : String; cldToken : String; // identificação do token 00000X scldToken : String; // chave do token cHashQRCode : String; begin with dm.NFe.NotasFiscais.Items[0].NFe do begin // QRCode - Endereço do webservice para a consulta da NFC-e if ide.tpAmb = taHomologacao then begin sWebService := 'http://homologacao.sefaz.mt.gov.br/nfce/consultanfce?'; //sWebService := 'http://www.hom.nfe.sefaz.mt.gov.br/portal/consultarNFCe.jsp'; end else begin sWebService := 'http://www.sefaz.mt.gov.br/nfe/portal/consultanfce'; end; // parametros para o QRCode ==> chNFe - chave de acesso chNFe := apenasNumeros(infNFe.ID, 'N'); // parametros para o QRCode ==> nVersao - versao do QRCode ( fixo 100 ) nVersao := '100'; // parametros para o QRCode ==> tpAmb - Identificação do ambiente ( 1 Prod / 2 Homolog ) if ide.tpAmb = taHomologacao then begin tpAmb := '2'; end else begin tpAmb := '1'; end; // parametros para o QRCode ==> cDest - Documetno de Identificação do Consumidor CNPJ/CPF/ID Estrangueiro ) cDest := Dest.CNPJCPF; // parametros para o QRCode ==> dhEmi - Data e Horqa de Emissão da NFC-e ( padrao UTC convertido em formato hexadecimal ) dhEmi := DateTimeTodhUTC( ide.dEmi, GetUTC( Emit.EnderEmit.UF, ide.dEmi) ); dhEmi := StringToHex( dhEmi ); // parametros para o QRCode ==> vNF - Valor total da NFC-e ( decimais separados por . e sem separadores de milhar ) sAux := FormatCurr('##0.00', Total.ICMSTot.vNF ); sAux := StringReplace( sAux, ',', '.', [rfReplaceAll] ); vNF := sAux; // parametros para o QRCode ==> vICMS - Valor total de ICMS da NFC-e ( decimais separados por . e sem separadores de milhar ) if Total.ICMSTot.vICMS > 0 then begin sAux := FormatCurr('##0.00', Total.ICMSTot.vICMS ); sAux := StringReplace( sAux, ',', '.', [rfReplaceAll] ); vICMS := sAux; end else begin vICMS := '0'; end; // parametros para o QRCode ==> digVal - Digest Value da NFC-e digVal := signature.DigestValue; digVal := StringToHex( digVal ); // parametros para o QRCode ==> cldToken if tpAmb = '2' then begin // token para Homologação cldToken := '000001'; //sAux := apenasNumeros( getCNPJ, 'N' ); sAux := Emit.CNPJCPF; sAux := Copy(sAux,1,8); scldToken := ''; scldToken := sAux; sAux := FormatDateTime('YYYY', NowSis); scldToken := scldToken + sAux; sAux := copy(cldToken, length(cldToken) - 3, 4); scldToken := scldToken + sAux; scldToken := cldToken + scldToken; end else begin // token de produção cldToken := espaco( 6 - Length(pcldToken), '0') + pcldToken; scldToken := ShowGenerico('NFC_TOKEN','TOKEN','IDENTIFICACAOTOKEN', pcldToken ); end; end; Result := ''; Result := Result + 'chNFe=' + chNFe; Result := Result + '&nVersao=' + nVersao; Result := Result + '&tpAmb=' + tpAmb; if cDest <> '' then begin Result := Result + '&cDest=' + cDest; end; Result := Result + '&dhEmi=' + dhEmi; Result := Result + '&vNF=' + vNF; Result := Result + '&vICMS=' + vICMS; Result := Result + '&digVal=' + digVal; // texto que sera usado para gerar o Hash do QrCode. tHashQRCode := Result + '&cldToken=' + scldToken; // Texto que sera retornado como texto do QrCode Result := Result + '&cldToken=' + cldToken; cHashQRCode := Dm.ACBrEAD.CalcularHash(UTF8Encode(tHashQRCode),dgstSHA1 ); //cHashQRCode := StringToHex( cHashQRCode ); Result := sWebService + Result + '&cHashQRCode=' + cHashQRCode; end; funcao que eu to usando pra fazer a conversao para hex function StringToHex ( const S : String ) : String; const HexDigits: array[0..15] of Char = '0123456789abcdef'; var I: Integer; P1: PChar; P2: PChar; B: Byte; begin SetLength(Result, Length(S) * 2); P1 := @S[1]; P2 := @Result[1]; for I := 1 to Length(S) do begin B := Byte(P1^); P2^ := HexDigits[b shr 4]; Inc(P2); P2^ := HexDigits[b and $F]; Inc(P1); Inc(P2); end; end; Eu nao consigo nen a pau gerar um qrcode valido, como eu fiz baseado no xml, eu to tenatndo com o seu xml mas mesmo assim nao da certo.. poderia me dar uma mão na geração do texto do qrcode. Desde ja obrigado amigo... Me desculpa a falta de EXP, mas sou meio novatão e jogaram a bomba na minha mao.
  8. O amigao desculpa a demora Eu usei esse componente ai, basicamente vc envia a string e ele gera o qrcode como imagem onde vc definir e depois vc carrega ele no relatorio. No meu caso eu ainda nao consegui gerar o texto do qrcode correto, ele nao da certo na consulta, mas como to mexendo com outra coisa, deixei ele parado, mas ainda tenha que acertar esse detalhe, se vc conseguir gerar um qrcode valido manda pra mim o seu fonte da geração. Eu uso delphi2007, mas acho que o componente vai fufar nele.
  9. Amigo Amigo, vc deve definir o tipo de documento como nfc-e, a Configuracoes.Geral.ModeloDF como nfc-e, ai depois disso vc pode simplismente ignorar a parte dos dados do destinatario
  10. Amigo posso te pedir um help, e possível manda-se o XML, para que pra eu fazer umas comparações aqui a minha consulta não ta dando certo, ai queria comparar o XML e ir editando o meu pra ver se minhas validações e conversões estão corretas. A proposito pessoal como vcs estao validando o Hash eu estou usando o ACBrEAD.CalcularHash(tHashQRCode, dgstSHA1 ), pelo que entendi o hash gerado por ele ja sai em HEX, então nao e necessario fazer conversão, mas o que ta gerando por essa função munca bate com os dos manuais e com o do post acima ( eu peguei os dados dele e modifiquei o meu xml pra testar se meus dados estavam saindo da mesma forma, o unico que ficou diferente e o danado do hash ), apesar do tamanho esta certo. Desde já obrigado...
  11. Amigo acho que encontrei alguma coisa eu fiz a conversao usando um convertor web usando o texto do manual 2012-09-27T16:20:34-03:00 e ele me retornou o hex certo 323031322D30392D32375431363A32303A33342D30333A3030, ai verifiquei qual era o valor retornado do meu formatdate to usando a mascara yyyy-mm-ddThh:nn:ss-03:00, ele me retorna 2012-09-2716:2016:20:34-03:00, acho que o valor retornado que e o nosso poblema, temos que deixar o campo no formato certinho "2012-09-27T16:20:34-03:00", devo ta com algum poblema na mascara, vou mexer mais aqui qualquer novidade so avisar.
  12. Ainda não ValdirDill valdirdil valdirdill ainda não mas vou ter achar alguma coisa, caso encontre eu posto aqui pode deixar, tenho pra mim se to to pendente nessa parte de conversão pra matar o meu qrcode.
  13. Ja devo ta abusando... mas como vcs estao convetendo os campos dhEmi, digVal e cHashQr para gerar o texto do qrcode, eu estou usando uma função encontrada no google, mas ela gera codigos com mais bitys que o determinado, como exemplo o dhemi que pra mim gerou com 58 e nao 50. Como vcs estao gerando esse danado, graças as dicas do pessoal, so to pendente na geração do texto para o qrcode, fiz um usando um dos exemplos que tem no manual, mas os meus hexs ficaram diferentes dos do manual. Aguem pode me ajudar com a a gração do texto que vai para o qrcode. a função que to usando e essa: function StringToHex ( sValorC : String; pRemoverEspacos : Boolean = true ) : String; var I, I2: Integer; S: string; begin i2 := 1; for I := 1 to Length(sValorC) do begin Inc(i2); if i2 = 2 then begin s := s + ' '; i2 := 1; end; S := S + IntToHex( Ord( sValorC ), 2 ); end; if pRemoverEspacos then begin S := StringReplace( S, ' ', EmptyStr, [rfReplaceAll] ); end; Result := s; end; Novamente obrigado pela ajuda pessoal.
  14. Ola gente, poderiam me dar uma help como estao fazendo como campo dhEmi, pra usar ele no formato utc, creio que o meu esteja sendo convertido da forma erada oque esta tornando meu qrcode invalido, poderiam me dizer uma forma de tirar ele do xml da forma que ele esta visivel dentro do proprio xml, usando o tdatetime eu nao consigo obter ele da mesma forma que ele ta la, mesmo usando formatdate, ou datetostr, nenhuma das mascaras que eu achei funcionaram, como vocês estao extraindo ele ? Estou usando o delphi. Desde ja obrigado pela ajuda.
×
×
  • 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...