Clipper On Line • Ver Tópico - Atualizando informações do Danfe

Atualizando informações do Danfe

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

Moderador: Moderadores

 

Atualizando informações do Danfe

Mensagempor JoséQuintas » 13 Jan 2017 20:12

Mudanças nos Documentos Auxiliares:

Antes o método pra gerar o PDF era Execute(), mas cada documento tinha uma ordem diferente.
A fim de evitar problemas, foi gerado um novo método, igual pra todos, e na mesma ordem.
Adicionalmente, tudo foi centralizado em DaGeral.

O uso agora é assim:

LOCAL oDanfe, cLogoFile, cXmlEmissao, cFilePDF, cXmlCancelamento

cLogoFile := "JPEGLogotipo" // pode ser arquivo.jpg ou MemoRead( "arquivo.jpg" ) ou equivalente
cXmlEmissao := "XMLEmissao" // pode ser arquivo.xml ou MemoRead( "emissao.xml" ) ou equivalente
cXmlCancelamento := "XMLCancelamento" // pode ser arquivo.xml ou MemoRead( "cancelamento.xml" ) ou equivalente
cFilePdf := "arquivo.pdf" // aqui é nome mesmo

oDanfe := hbNFeDaGeral():New()
oDanfe:cLogoFile := cLogoFile
oDanfe:cDesenvolvedor := "JoseQuintas"
oDanfe:ToPDF( cXmlEmissao, cFilePDF, cXmlCancelamento )


o primeiro parâmetro é sempre o documento que será gerado PDF: pode ser NFE, CTE, MDFE ou um xml de evento

O segundo parâmetro é o nome do PDF

o terceiro parâmetro é opcional, será usado pra complementar informações.

- Se é uma emissão, o complemento poderá ser um xml de cancelamento, pra imprimir a tarja de cancelamento

- Se é um evento, o complemento será o XML de emissão, pra poder pegar as informações da nota e preencher todo PDF de evento

Nota:
Poderá ser usada a chamada direta de cada tipo de documento auxiliar, mas neste caso não vai haver a opção de usar nome de arquivo para XMLs.
É só pra informação. Mas pra que usar diferente, se dá pra usar sempre a mesma coisa?

oDanfe := hbNfeDaNfe():New()
oDanfe := hbNfeDaCte():New()
oDanfe := hbNFeDaMDFe():New()
oDanfe := hbNfeDaEvento():New()

// não precisa mais usar as classes acima, basta usar:

oDanfe := hbNFeDaGeral():New()


O opcional de arquivo ou conteúdo é pra atender quem usa MySQL ou base de dados pra guardar os XMLs, assim não precisa criar arquivo temporário.
Esta foi a forma inicial criada, mas como muitos ainda usam arquivos em disco, passou a permitir os dois tipos de uso.

Será considerado arquivo quando o tamanho do texto for inferior a 100 caracteres.
Acho difícil alguém usar um nome de arquivo ( incluindo diretório + nome ) com 100 caracteres.
E também nenhum XML é menor que 100 caracteres.
Então acredito que desta forma seja suficiente pra detectar nome de arquivo ou texto.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18007
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Atualizando informações do Danfe

Mensagempor JoséQuintas » 13 Jan 2017 20:23

Faltou dizer:
Todo projeto da classe Sefaz continua aqui:

https://github.com/JoseQuintas/sefazclass

Cheguei a rascunhar uma classe em VB6 equivalente, só por curiosidade.
Quem também ficar curioso, está aqui:

https://github.com/JoseQuintas/vbsefazclass

Nota:
Faz falta no VB6 os recursos do Harbour de testar NIL, a compilação -w3 -es2, e os nomes de propriedades mais específicos dentro do fonte da classe, sem confundir com variável comum.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18007
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Atualizando informações do Danfe

Mensagempor malcarli » 16 Jan 2017 08:46

Bom dia, mestre. Grande trabalho. obrigado
malcarli
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 181
Data de registro: 20 Ago 2015 18:14
Cidade/Estado: marilia/sp
Curtiu: 81 vezes
Mens.Curtidas: 4 vezes




Retornar para Projeto hbNFe

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 5 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro