Remodelar hbnfe pra aceitar NFE, CTE, MDFE, e tudo mais

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

Moderador: Moderadores

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

Remodelar hbnfe pra aceitar NFE, CTE, MDFE, e tudo mais

Mensagem por JoséQuintas »

Realmente o mais complicado vai ser deixar compatível.
Estou dando uma olhada nos fontes pra ver como poderia mexer aos poucos.
Por enquanto uma primeira idéia seria pequenas mudanças enxugando código.
Um ponto de partida pode ser o XML do envelope.
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
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Remodelar hbnfe pra aceitar NFE, CTE, MDFE, e tudo mais

Mensagem por sygecom »

Acho que toda mudança para obter uma organização, padronização e melhorias vale a pena as mudanças. Já desenvolvemos o MDFe, CTe e MDe e já estamos usando em produção, vou em breve comitar MDFe e o MDe já está comitado. Acho que dar o inicio de algumas funções e rotinas que podem ser unificadas e logo em seguida podemos pegar opinião de todos que estão usando o projeto para partir para essa mudança que deixará incompatível mas que trara melhorias.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Remodelar hbnfe pra aceitar NFE, CTE, MDFE, e tudo mais

Mensagem por JoséQuintas »

Depois dessa atualização vai existir uma pausa?
Eu poderia baixar os fontes aqui e começar a mudança.
A idéia é começar eliminando código repetido.
Menos fonte acaba ficando melhor de estudar e mexer, e não tira compatibilidade.
Com certeza os pontos iniciais serão o envelope e a comunicação SOAP, que se repetem em tudo que é evento.

Estranhei mde. Se for a manifestação do destinatário, pelo que vi faz parte da nfe, o que deve indicar que pode ser expandido pra cte e mdfe.
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

Remodelar hbnfe pra aceitar NFE, CTE, MDFE, e tudo mais

Mensagem por JoséQuintas »

Comentário:
Entrando no sourceforge.net, pesquisando hbnfe ok, aparece na lista.
Ao clicar no projeto, dá página não encontrada.
O endereço dos fontes, até minutos atrás estava funcionando, mas também parou.
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
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Remodelar hbnfe pra aceitar NFE, CTE, MDFE, e tudo mais

Mensagem por sygecom »

O projeto não está mais no SourceForge, foi exigido uma mudança e não tive tempo e nem dei conta de fazer tal mudança com permissões de update, então com autorização do Fernando mudamos para o Google Code, e foi comunicado no post abaixo:
viewtopic.php?f=54&t=12298
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Remodelar hbnfe pra aceitar NFE, CTE, MDFE, e tudo mais

Mensagem por sygecom »

José,
Me passa um email seu do gmail, que lhe adiciono no projeto no Google Code, essa semana vou está viajando, mas no final de semana que vem eu tento fazer o merge e comitar tudo.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Remodelar hbnfe pra aceitar NFE, CTE, MDFE, e tudo mais

Mensagem por JoséQuintas »

a conta é praticamente minha assinatura: jmcquintas
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
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Remodelar hbnfe pra aceitar NFE, CTE, MDFE, e tudo mais

Mensagem por sygecom »

Adicionado ao projeto, vou tentar commitar os modulos a mais no meio da semana.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Remodelar hbnfe pra aceitar NFE, CTE, MDFE, e tudo mais

Mensagem por sygecom »

Se alguem souber como exportar o Log do SF para importar no GC, essa ajuda é bem vinda.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Remodelar hbnfe pra aceitar NFE, CTE, MDFE, e tudo mais

Mensagem por JoséQuintas »

Desde a última conversa não houve o commit.
Mas não foi por isso que não mexi.

O ponto principal é:
Não uso hbnfe, uso totalmente em XML, e qualquer mexida vai ser difícil eu mesmo fazer um teste.

O layout 3.1 está a caminho.
Um novo ponto vai ser como ter os dois layouts ao mesmo tempo, que vão até usar webservices diferentes (em alguns processos).
Como sempre acontece, as UFs não alteram seus webservices ao mesmo tempo, então pode existir layout diferente entre UFs.

Gostaria de voltar nisso, mas com certeza vai depender muito de quem usa hbnfe pra poder fazer alterações.
Pensei em subir a classe que uso apenas pra aparecer nos fontes, antes de mexer nos fontes da hbnfe.
A classe faz tudo, mas tudo em XML. Até aí tudo bem, porque querendo ou não, a hbnfe acaba fazendo isso.

só recapitulando:

1. o ERP gera em txt ou xml
2. Se txt, hbnfe converte pra XML
3. hbnfe assina
4. hbnfe completa xml aonde necessário (por exemplo o lote)
5. hbnfe monta o envelope de transmissão
6. hbnfe transmite o envelope por soap e recebe um retorno

Desses ítens:
3. assinar: depende do tipo de documento
4. completar o xml: depende do tipo de documento
5. o envelope, é meio que padrão por projeto, podendo ser basicamente nfe, cte, mdfe
6. é igual pra tudo

Partindo disso dá pra:
- 5-Envelope: rotina única pra envelope: hoje tem umas 20 rotinas ou mais
- 6-Soap: rotina única, Hoje tem umas 20 rotinas ou mais. E em todas, o tratamento harbour/xharbour, Soap Microsoft/Soap libcurl

Ainda no 6-soap: a comunicação é padrão, alteram-se basicamente os endereços e a "Soap Action".
o CASE pra lista de endereços, seja qual for o projeto, pode estar junta.
Isso deixa a coisa tão padrão, que separar por projeto parece que só causa duplicar rotinas existentes.

Mas voltando ao ponto principal:
O ponto principal não é a comunicação funcionar.
O ponto principal é "o que fazer" quando a comunicação não funcionar.
Vamos a nfe:
a. envia nfe pega recibo
pode falhar o envio, pode não chegar recibo, o recibo pode ser negativo por diversos motivos, o recibo pode ser ok.
b. consulta recibo pega resultado
pode falhar a consulta, pode não chegar resultado, o resultado pode ser negativo por diversos motivos, o resultado pode ser "aguarde mais um pouco" (já obtive este resultado: em processamento), o resultado pode ser positivo
c. com o resultado, se positivo, monta a nota final (no caso da nota denegada não deixa de ser negativo)
*** E lembrando, que acontece da Sefaz sair do ar.
Em outras palavras, o ponto principal é: não é tudo automático e não é infaliível. Quanto mais detalhes souber de como funciona, melhor pra encontrar uma solução.

Na nota 3.1 uma das coisas é que estão querendo mudar o método síncrono pra assíncrono.
Que raios é isso?
Simples:
hoje envia a nota e já pega o recibo, depois consulta o recibo.
Vão mudar pra envia a nota, sem resposta.
Depois consulta a resposta.
À primeira vista, parece até ficar mais simples.
Mas o complicado vai ser a fase intermediária: os dois esquemas ao mesmo tempo
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/
runner
Usuário Nível 2
Usuário Nível 2
Mensagens: 69
Registrado em: 03 Ago 2007 05:17
Localização: GUARULHOS-SP

Remodelar hbnfe pra aceitar NFE, CTE, MDFE, e tudo mais

Mensagem por runner »

Ola, JoséQuintas.



Se você puder postar este material, realmente vai ser interessante te ajudar a fazer os testes, pois uso bastante a emissão de CTE com outro aplicativo, mas eu gostaria de ter o mesmo controle da aplicação como faço com a NFE, tudo integrado em um mesmo executável.


Marcio Souza

Harbour + Minigui Extended + MySql + DBF
Harbour 3.2 + Minigui Extended 16 + xDev
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Remodelar hbnfe pra aceitar NFE, CTE, MDFE, e tudo mais

Mensagem por JoséQuintas »

Me tire uma dúvida:
Está usando hbnfe pra notas e outro aplicativo pra CTE, é isso?
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/
runner
Usuário Nível 2
Usuário Nível 2
Mensagens: 69
Registrado em: 03 Ago 2007 05:17
Localização: GUARULHOS-SP

Remodelar hbnfe pra aceitar NFE, CTE, MDFE, e tudo mais

Mensagem por runner »

Ola,


Isso mesmo, uso a HBNFE integralmente, mas para CTE estou usando uma aplicação externa para validar e transmitir para a sefaz e a impressão da DACTE eu que faço no meu sistema.
Harbour 3.2 + Minigui Extended 16 + xDev
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Remodelar hbnfe pra aceitar NFE, CTE, MDFE, e tudo mais

Mensagem por sygecom »

Runner,
Desenvolvemos um projeto CTe usando nos mesmos molde da NFe, se lhe interessar podemos negociar. Mas para o final do ano vou pensar se libero essa classe para o projeto HBNFE.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Remodelar hbnfe pra aceitar NFE, CTE, MDFE, e tudo mais

Mensagem por JoséQuintas »

Desculpem deixei passar.
Mas andei relendo as mensagens, olhando os repositórios, e está faltando commit.
Ou melhor, parece que não vai ter commit, já que foi mencionada a venda de módulos.
Então talvez só reste fazer separado, já que não vai ter nada a ver com o projeto original.

Talvez inclua no meu tudo-em-um, já que comecei a juntar tudo.

https://pctoledo.org/forum/viewto ... 43&t=14790
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/
Responder