ACBrPrinter - Utilit p/ impressao de NFCe e SAT
Moderador: Moderadores
-
Fernando queiroz
- Usuário Nível 4

- Mensagens: 779
- Registrado em: 13 Nov 2014 00:41
- Localização: Porto Alegre/RS
ACBrPrinter - Utilit p/ impressao de NFCe e SAT
Agora ficou uma duvida quanto a NFCE
ela usa a mesma numeracao da NFe isto é segue a sequencia ou inicia uma nova sequencia somente para a NFCe
o tipo de impressao muda de 55 para 65
ela usa a mesma numeracao da NFe isto é segue a sequencia ou inicia uma nova sequencia somente para a NFCe
o tipo de impressao muda de 55 para 65
HARBOUR 3.2, HWGUI 2.23 B3, SEFAZCLASS, PDFClass, ADO + MariaDB/MySQL, RMChart
- rubens
- Colaborador

- Mensagens: 1520
- Registrado em: 16 Ago 2003 09:05
- Localização: Nova Xavantina - MT
ACBrPrinter - Utilit p/ impressao de NFCe e SAT
Fernando...
Você já está compilando a Classe do Quintas? embora sejam parecidas, quando tomei conhecimento que a classe do Quintas já tinha a impressão da Nfce o meu utilitário já estava pronto... Como gosto e uso a classe do quintas, só não perdi tempo porque aprendi mais da harupdf enquanto estava fazendo meu utilitário..
A Nfe e NFCe embora muito similares são "diferentes" a grosso modo.. Imagine a NFe como sendo aquele bloco de nota fiscal grande Série A1 e a NFCe como aquele bloco de nota fiscal pequeno o D1, que não necessitava informar o cliente... bastava colocar consumidor e informar os produtos. A numeração é diferente, cada uma começa do número e são independentes. Tanto em uma Nfe como em uma Nfce você pode numera-las por série também. Tipo você pode ter Nfce número 1 série 1 e NFce número 1 série 2. Qual seria o uso disso? Para não ficar preso somente a 1 pc que emite nota. Por exemplo em um mercado com 3 pdvs. Voce pode colocar todos os 3 pdvs para emitirem Nfce com séries diferentes. Daí não fica preso a uma sequencia de notas. Cada pdv é uma série. Pode usar também em um loja com varios caixas. Cada caixa é uma série.
Quanto ao 65 e 55 é referente ao modelo do documento. 55-Nfe 65-Nfce, aí tem o MDFe e CTe que não me lembro bem qual o modelo.. é bom dar uma estudada no Manual do contribuinte e nas NT normas técnicas.. https://www.nfe.fazenda.gov.br/portal/l ... ol5hhSYZk=
Quanto a implementação da hbNFeDaNFCe é relativamente simples.
Eu uso da seguinte forma:
o Danfe da Nfce ainda precisa de alguns ajustes...
Está sendo gerado assim: é só adaptar para o que voce precisa.
Rubens
Você já está compilando a Classe do Quintas? embora sejam parecidas, quando tomei conhecimento que a classe do Quintas já tinha a impressão da Nfce o meu utilitário já estava pronto... Como gosto e uso a classe do quintas, só não perdi tempo porque aprendi mais da harupdf enquanto estava fazendo meu utilitário..
A Nfe e NFCe embora muito similares são "diferentes" a grosso modo.. Imagine a NFe como sendo aquele bloco de nota fiscal grande Série A1 e a NFCe como aquele bloco de nota fiscal pequeno o D1, que não necessitava informar o cliente... bastava colocar consumidor e informar os produtos. A numeração é diferente, cada uma começa do número e são independentes. Tanto em uma Nfe como em uma Nfce você pode numera-las por série também. Tipo você pode ter Nfce número 1 série 1 e NFce número 1 série 2. Qual seria o uso disso? Para não ficar preso somente a 1 pc que emite nota. Por exemplo em um mercado com 3 pdvs. Voce pode colocar todos os 3 pdvs para emitirem Nfce com séries diferentes. Daí não fica preso a uma sequencia de notas. Cada pdv é uma série. Pode usar também em um loja com varios caixas. Cada caixa é uma série.
Quanto ao 65 e 55 é referente ao modelo do documento. 55-Nfe 65-Nfce, aí tem o MDFe e CTe que não me lembro bem qual o modelo.. é bom dar uma estudada no Manual do contribuinte e nas NT normas técnicas.. https://www.nfe.fazenda.gov.br/portal/l ... ol5hhSYZk=
Quanto a implementação da hbNFeDaNFCe é relativamente simples.
Eu uso da seguinte forma:
Código: Selecionar todos
FUNCTION GERAPDFNFCe(cXml)
LOCAL oDanfe
LOCAL cFilePdf := 'NFCe011793.pdf'
oDanfe:= hbNFeDaNFCe():New()
oDanfe:ToPDF( Memoread( cXml ) , cFilePdf )
PDFOpen( cFilePdf )
RETURN nil
Está sendo gerado assim: é só adaptar para o que voce precisa.
Rubens
"Eu e minha casa servimos ao Senhor e você
"
-
Fernando queiroz
- Usuário Nível 4

- Mensagens: 779
- Registrado em: 13 Nov 2014 00:41
- Localização: Porto Alegre/RS
ACBrPrinter - Utilit p/ impressao de NFCe e SAT
eu e o Quintas estamos testando a classe para NFCe , foram feitas algumas alteracoes para que a NFCe fosse validado para a UF=AC, agora ta fuincionando.
agora estou dando erro por falta das informacoes do QRCODE
ALGUMA DICA?????
agora estou dando erro por falta das informacoes do QRCODE
ALGUMA DICA?????
HARBOUR 3.2, HWGUI 2.23 B3, SEFAZCLASS, PDFClass, ADO + MariaDB/MySQL, RMChart
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
ACBrPrinter - Utilit p/ impressao de NFCe e SAT
Já percebeu que o Luciano anda contribuindo há algum tempo?
Tem a função de montagem do QRCode, dentre outras coisas.
https://github.com/JoseQuintas/sefazcla ... 3e088f7753
Tem a função de montagem do QRCode, dentre outras coisas.
https://github.com/JoseQuintas/sefazcla ... 3e088f7753
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/
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/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
ACBrPrinter - Utilit p/ impressao de NFCe e SAT
Eu ainda nem tinha visto essa NFCe em funcionamento.
Nem percebi antes que é da SefazClass.
Foi o Luciano que acrescentou na classe.
:{
Nem percebi antes que é da SefazClass.
Foi o Luciano que acrescentou na classe.
:{
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/
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/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
ACBrPrinter - Utilit p/ impressao de NFCe e SAT
Dica:
Nem precisa se preocupar com o tipo de documento:
Isso vale pra tudo: NFE, NFCE, CTE, MDFE, carta de correção, etc.
Como curiosidade, o método :ToPdf() dessa classe, que faz a chamada da correspondente.
Nem precisa se preocupar com o tipo de documento:
Código: Selecionar todos
oDanfe := hbNfeDaGeral():New()
oDanfe:ToPDF( cXmlDocumento, cFilePdf, cFileAuxiliar )
Como curiosidade, o método :ToPdf() dessa classe, que faz a chamada da correspondente.
Código: Selecionar todos
METHOD ToPDF( cXmlDocumento, cFilePDF, cXmlAuxiliar ) CLASS hbNFeDaGeral
LOCAL oDanfe
IF cXmlDocumento == NIL .OR. Empty( cXmlDocumento )
RETURN "XML inválido"
ENDIF
IF Len( cXmlDocumento ) < 100
IF File( cXmlDocumento )
cXmlDocumento := MemoRead( cXmlDocumento )
ENDIF
ENDIF
IF cXmlAuxiliar != NIL .AND. ! Empty( cXmlAuxiliar ) .AND. Len( cXmlAuxiliar ) < 100
cXmlAuxiliar := MemoRead( cXmlAuxiliar )
ENDIF
DO CASE
CASE "<infCte " $ cXmlDocumento ; oDanfe := hbNFeDaCte():New()
CASE "<infNFe " $ cXmlDocumento .AND. "<NFe " $ cXmlDocumento .AND. XmlNode( XmlNode( cXmlDocumento, "ide" ), "mod" ) == "55" ; oDanfe := hbNFeDaNFe():New()
CASE "<infNFe " $ cXmlDocumento .AND. "<NFe " $ cXmlDocumento .AND. XmlNode( XmlNode( cXmlDocumento, "ide" ), "mod" ) == "65" ; oDanfe := hbNFeDaNFCe():New()
CASE "<infMDFe " $ cXmlDocumento .AND. "<MDFe " $ cXmlDocumento ; oDanfe := hbNFeDaMDFe():New()
CASE "<infEvento " $ cXmlDocumento ; oDanfe := hbNFeDaEvento():New()
OTHERWISE
RETURN "XML inválido"
ENDCASE
oDanfe:cLogoFile := ::cLogoFile
oDanfe:cDesenvolvedor := ::cDesenvolvedor
RETURN oDanfe:ToPDF( cXmlDocumento, cFilePDF, cXmlAuxiliar )
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/
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/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
ACBrPrinter - Utilit p/ impressao de NFCe e SAT
Tem como me mandar esse XML pra fazer ajustes no PDF?
Reparei que está rebatendo algumas coisas.
O controle de quebra está por colunas, e vou procurar ajustar igual NFE, por tamanho do texto impresso.
Reparei que está rebatendo algumas coisas.
O controle de quebra está por colunas, e vou procurar ajustar igual NFE, por tamanho do texto impresso.
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/
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/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
ACBrPrinter - Utilit p/ impressao de NFCe e SAT
Mais uma dica, mas a rotina só serve pra mim, a não ser que também gravem os XMLs em Mysql no mesmo jeito.
https://github.com/JoseQuintas/JoseQuin ... mllist.prg
Essa função busca todos os XMLs relacionados a um documento e pode chamar a geração dos PDFs retornando tudo em array.
Com isso, em qualquer parte do aplicativo, seja email, tela de pedidos, estoque, nota fiscal, financeiro, etc. posso abrir o documento para o usuário.
Lembrando que permito salvar não apenas notas emitidas, mas notas de fornecedores.
Fica muito interessante o usuário poder tirar dúvidas sobre determinado documento.
Eu já fazia isso antes, quando usava o Unidanfe, puxando os PDFs do meu servidor.
Depois que a classe começou a gerar PDF, passei a fazer diretamente no cliente, instantâneo.
Aproveitando: são por essas coisinhas que os usuários nem sentem falta de tela gráfica.
Dependendo do caso tem mais recursos que muitos programas gráficos.... rs
https://github.com/JoseQuintas/JoseQuin ... mllist.prg
Essa função busca todos os XMLs relacionados a um documento e pode chamar a geração dos PDFs retornando tudo em array.
Com isso, em qualquer parte do aplicativo, seja email, tela de pedidos, estoque, nota fiscal, financeiro, etc. posso abrir o documento para o usuário.
Lembrando que permito salvar não apenas notas emitidas, mas notas de fornecedores.
Fica muito interessante o usuário poder tirar dúvidas sobre determinado documento.
Eu já fazia isso antes, quando usava o Unidanfe, puxando os PDFs do meu servidor.
Depois que a classe começou a gerar PDF, passei a fazer diretamente no cliente, instantâneo.
Aproveitando: são por essas coisinhas que os usuários nem sentem falta de tela gráfica.
Dependendo do caso tem mais recursos que muitos programas gráficos.... rs
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/
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/
-
Fernando queiroz
- Usuário Nível 4

- Mensagens: 779
- Registrado em: 13 Nov 2014 00:41
- Localização: Porto Alegre/RS
ACBrPrinter - Utilit p/ impressao de NFCe e SAT
FUNCTION GeraQRCode( cXmlAssinado, cIdToken, cCSC )
O campo idToken é sequencial e deve ter no máximo 6 dígitos, por exemplo, 000001, 000002, 000003.
cCSC
Acre (AC):
Antes de obter o CSC, é necessário efetuar o credenciamento presencial mediante os documentos descritos aqui. Após, é possível acessar o site Sefaz Online e emitir o CSC no menu "NFC-e".
http://www.systronic.com.br/como-gerar- ... eu-estado/
O campo idToken é sequencial e deve ter no máximo 6 dígitos, por exemplo, 000001, 000002, 000003.
cCSC
Acre (AC):
Antes de obter o CSC, é necessário efetuar o credenciamento presencial mediante os documentos descritos aqui. Após, é possível acessar o site Sefaz Online e emitir o CSC no menu "NFC-e".
http://www.systronic.com.br/como-gerar- ... eu-estado/
HARBOUR 3.2, HWGUI 2.23 B3, SEFAZCLASS, PDFClass, ADO + MariaDB/MySQL, RMChart
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
ACBrPrinter - Utilit p/ impressao de NFCe e SAT
Não faço idéia, mas no portal da NFE, documentos, manuais, tem manual próprio pra QRCode.
https://www.nfe.fazenda.gov.br/portal/l ... ol5hhSYZk=
https://www.nfe.fazenda.gov.br/portal/l ... ol5hhSYZk=
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/
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/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
ACBrPrinter - Utilit p/ impressao de NFCe e SAT
Cadastro de contribuinte, fornecido pela Sefaz
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/
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/
- rubens
- Colaborador

- Mensagens: 1520
- Registrado em: 16 Ago 2003 09:05
- Localização: Nova Xavantina - MT
ACBrPrinter - Utilit p/ impressao de NFCe e SAT
Bom dia,
Não sei como é o QrCode do AC, mas se tá gerando o xml e validando então não pode ter problema com o QrCode porque ele está sendo lido do XML.
Qual o problema você está tendo ?
Rubens
Não sei como é o QrCode do AC, mas se tá gerando o xml e validando então não pode ter problema com o QrCode porque ele está sendo lido do XML.
Qual o problema você está tendo ?
Rubens
"Eu e minha casa servimos ao Senhor e você
"
-
Fernando queiroz
- Usuário Nível 4

- Mensagens: 779
- Registrado em: 13 Nov 2014 00:41
- Localização: Porto Alegre/RS
ACBrPrinter - Utilit p/ impressao de NFCe e SAT
Rubens o problema é que nao estou gerando a Tag onde fica o QRCODE ai retorna o errorubens escreveu:Bom dia,
Não sei como é o QrCode do AC, mas se tá gerando o xml e validando então não pode ter problema com o QrCode porque ele está sendo lido do XML.
Qual o problema você está tendo ?
Rubens
HARBOUR 3.2, HWGUI 2.23 B3, SEFAZCLASS, PDFClass, ADO + MariaDB/MySQL, RMChart
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
ACBrPrinter - Utilit p/ impressao de NFCe e SAT
A classe só precisa desses códigos CSC e idToken pra gerar o QRCode no XML.
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/
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/
- rubens
- Colaborador

- Mensagens: 1520
- Registrado em: 16 Ago 2003 09:05
- Localização: Nova Xavantina - MT
ACBrPrinter - Utilit p/ impressao de NFCe e SAT
Bom dia
Você mesmo que tá gerando o seu XML? Eu gero com o ACBRMonitorPlus.
Rubens
Então não é problema do Danfe da NFCe, é na geração do XML... porque a classe do Danfe da NFCe tá correta, tem alguns detalhes de layout para corrigir, mas a estrutura está.. belezinha...Rubens o problema é que nao estou gerando a Tag onde fica o QRCODE ai retorna o erro
Você mesmo que tá gerando o seu XML? Eu gero com o ACBRMonitorPlus.
Rubens
"Eu e minha casa servimos ao Senhor e você
"