Nfce - SP

Projeto hbNFe (Nota Fiscal Eletronica/Danfe) para [x]Harbour

Moderador: Moderadores

malcarli
Usuário Nível 3
Usuário Nível 3
Mensagens: 239
Registrado em: 20 Ago 2015 18:14
Localização: marilia/sp

Nfce - SP

Mensagem por malcarli »

Bom dia Devs, com a desobrigação do uso do sat, pode-se agora emitir nfce em substituição ao sat.

A classe do Mestre Quintas já está preparada para isso a tempos.

A tempos atrás fiz emissão da nfce para um colega, que tem um cliente no rs e fiz a seguinte rotina para informar o qrcode na época:

Código: Selecionar todos

      If parametrosiniciais->modnfe == [65] .and. Alltrim(parametrosiniciais->ceibge) == [43] // Nfce e RS
         oXml+= [<infNFeSupl>]
          
          cHashCSC:= hb_sha1(cId + [|2|] + Str(parametrosiniciais->tpanfe, 1) + [|] + Alltrim(STR(parametrosiniciais->IDENTCSC)) + parametrosiniciais->NRCSC)

         oXml+= [<qrCode>https://www.sefaz.rs.gov.br/NFCE/NFCE-COM.aspx?p=] + cId + [|2|] + Str(parametrosiniciais->tpanfe, 1) + [|] + Alltrim(STR(parametrosiniciais->IDENTCSC)) + [|] + Upper(cHashCSC) + [</qrCode>]
         oXml+= [<urlChave>www.sefaz.rs.gov.br/nfce/consulta</urlChave>]
         oXml+= [</infNFeSupl>]
      Endif
Vi na classe que já tem os endereços dos qrcode e a minha dúvida é a seguinte: Como faço para automatizar a informação acima passando somente os parâmetros do csc e identificador sem tem que informar a urlChave? Tem algum parametro para setar na classe?

Obrigado

Att.

Marcelo A. L. Carli
Marília/SP
Capital Nacional do Alimento ®
https://malc-informatica.ueniweb.com
Insta: @malcarli25
Email / Skype: marceloalcarli@gmail.com
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Nfce - SP

Mensagem por JoséQuintas »

Parece meio óbvio dizer isso, mas é só informar os parâmetros.

Código: Selecionar todos

   /* pra NFCe */
   VAR    cIdToken        INIT ""                      // Para NFCe obrigatorio identificador do CSC Código de Segurança do Contribuinte
   VAR    cCSC            INIT ""                      // Para NFCe obrigatorio CSC Código de Segurança do Contribuinte
   /* configuração não comum */
   VAR    cVersaoQrCode   INIT "2.00"                  // Versao do QRCode
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
malcarli
Usuário Nível 3
Usuário Nível 3
Mensagens: 239
Registrado em: 20 Ago 2015 18:14
Localização: marilia/sp

Nfce - SP

Mensagem por malcarli »

Obrigado Mestre,

Só confimando ao passar esses parâmetros, vai automaticamente incluir na tag o qrcode e demais informações?

Obg
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Nfce - SP

Mensagem por JoséQuintas »

Isso mesmo.
Foi contribuição de alguém.
Antes mesmo da NFE atual, e a mudança pra atual também.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
malcarli
Usuário Nível 3
Usuário Nível 3
Mensagens: 239
Registrado em: 20 Ago 2015 18:14
Localização: marilia/sp

Nfce - SP

Mensagem por malcarli »

obg e boa semana
malcarli
Usuário Nível 3
Usuário Nível 3
Mensagens: 239
Registrado em: 20 Ago 2015 18:14
Localização: marilia/sp

Nfce - SP

Mensagem por malcarli »

Boa tarde Meste Quintas,

Consegui gerar Nfce, mas acho que tem algum erro na classe, pois não imprimiu a url de consulta. Olhei no fonte e não consegui identificar o erro. Poderia verificar se é bug ou caca minha?

acho que o bug está aqui, pois só monstra o restante dos 14 caracteres da segunda linha

Código: Selecionar todos

   ELSE
      ::DrawTexto( 6, ::nLinhaPDF, 220, NIL, Trim( MemoLine( cUrl, 69, 1 ) ), HPDF_TALIGN_CENTER, ::oPDFFontBold, 7 )
      ::nLinhaPDF -= 10
      ::DrawTexto( 6, ::nLinhaPDF, 220, NIL, Trim( MemoLine( cUrl, 69, 2 ) ), HPDF_TALIGN_CENTER, ::oPDFFontBold, 7 )
      ::nLinhaPDF -= 10
   ENDIF
obrigado
Anexos
danfe nfce
danfe nfce
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Nfce - SP

Mensagem por JoséQuintas »

Pelo jeito 69 como referência foi muito, tem que ser menos.
Só mesmo SP e PA tem endereço gigante.
No PDF quando não cabe no espaço definido não aparece
Vou ter que fabricar um aqui pra teste.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Nfce - SP

Mensagem por JoséQuintas »

nfce.png
Alterando pra 65 ok
Pela imagem dá pra ver que o limite é 65 mesmo.
Alterei o IF, e os dois MemoLine()), 3 lugares

Código: Selecionar todos

   IF Len( cUrl ) <= 65
      ::DrawTexto( 6, ::nLinhaPDF, 220, NIL, cUrl, HPDF_TALIGN_CENTER, ::oPDFFontBold, 7 )
      ::nLinhaPDF -= 10
   ELSE
      ::DrawTexto( 6, ::nLinhaPDF, 220, NIL, Trim( MemoLine( cUrl, 65, 1 ) ), HPDF_TALIGN_CENTER, ::oPDFFontBold, 7 )
      ::nLinhaPDF -= 10
      ::DrawTexto( 6, ::nLinhaPDF, 220, NIL, Trim( MemoLine( cUrl, 65, 2 ) ), HPDF_TALIGN_CENTER, ::oPDFFontBold, 7 )
      ::nLinhaPDF -= 10
   ENDIF
Obrigado por mostrar a parte do fonte, ajudou a ir direto no problema.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Nfce - SP

Mensagem por JoséQuintas »

Aproveitei pra uma mudança mais radical.

Sigla da UF, já tem função pra isso, removi a lista dessa rotina
Lista de endereços, já tem na sefazclass.ch inclusive usado na autorização, removi a lista dessa rotina
Impressão, agora ilimitado, vai que precisa mais de 2 linhas, já fica pronto.

Acho que apaguei 50 linhas de fonte, melhor pra manutenção futura.

https://github.com/JoseQuintas/sefazcla ... 1c1e4eda76
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
malcarli
Usuário Nível 3
Usuário Nível 3
Mensagens: 239
Registrado em: 20 Ago 2015 18:14
Localização: marilia/sp

Nfce - SP

Mensagem por malcarli »

obg e parabéns
Responder