Clipper On Line • Ver Tópico - Uso da classesefaz

Uso da classesefaz

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

Moderador: Moderadores

 

Uso da classesefaz

Mensagempor JoséQuintas » 22 Dez 2016 14:33

Fazer o inverso da hbcompat.ch, ou olhar o que faz o TRY do xHarbour, se é #define ou outra coisa.
Não sei se seria desta forma

#ifdef __XHARBOUR__
#command BEGIN SEQUENCE WITH __BreakBlock() => TRY
#endif

lembrando que uma coisa que complica no xHarbour é porque nele é obrigatório indicar a versão do MSXML e no Harbour é automático.
E parece não existir um padrão nas UFs.
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: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Uso da classesefaz

Mensagempor malcarli » 23 Dez 2016 09:21

Obrigado, por responder. Tentando usar a sua lógica, fiz o comando abaixo mas não funcionou. Teria uma idéia?


#xcommand RECOVER [USING <oErr>] <-oErr-> => CATCH [<!oErr!>]



obg
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

Uso da classesefaz

Mensagempor JoséQuintas » 23 Dez 2016 10:45

E olhando no ppo, o que é substituído pelo TRY/CATH ?

Senão, uma forma de não ter muito trabalho na troca de versão, seria criar uma rotina de conversão.

cTxt := MemoRead( "fonte.prg" )
cTxt := StrTran( cTxt, "BEGIN SEQUENCE WITH __BreakBlock()", "TRY" )
cTxt := StrTran( cTxt, "END SEQUENCE", "CATCH" + Chr(13) + Chr(10) + "END" )


Lembre-se:
Eu conheço Harbour, e não Xharbour.
Não sei o que dá pra usar no xHarbour como funcionamento equivalente.

A princípio é apenas pra caso dê erro, desviar para o que vém depois de END SEQUENCE, nem precisa tratamento especial.

lOk := .F.
BEGIN SEQUENCE WITH __BreakBlock()
   ? 10 + "A"
   lOk := .T.
END SEQUENCE
IF .NOT. lOk
   ? "Não conseguiu somar"
ENDIF


Veja o que seria equivalente no xHarbour.
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: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Uso da classesefaz

Mensagempor oxent_jabah » 20 Mar 2017 19:27

Boa Noite, Quintas!

Por gentileza, você poderia atualizar os endereços de Homologação do CEARÁ no projeto:

ze_spedsefazclass.prg
linha: 1542
ELSE
DO CASE
CASE nWsServico == WS_NFE_AUTORIZACAO ; cUrlWs := "https://nfeh.sefaz.ce.gov.br/nfe2/services/NfeAutorizacao?wsdl"
CASE nWsServico == WS_NFE_CANCELAMENTO ; cUrlWs := "https://nfeh.sefaz.ce.gov.br/nfe2/services/NfeCancelamento2"
CASE nWsServico == WS_NFE_CONSULTACADASTRO ; cUrlWs := "https://nfeh.sefaz.ce.gov.br/nfe2/services/CadConsultaCadastro2?wsdl"
CASE nWsServico == WS_NFE_CONSULTAPROTOCOLO ; cUrlWs := "https://nfeh.sefaz.ce.gov.br/nfe2/services/NfeConsulta2?wsdl"
CASE nWsServico == WS_NFE_DOWNLOADNF ; cUrlWs := "https://nfeh.sefaz.ce.gov.br/nfe2/services/NfeDownloadNF?wsdl"
CASE nWsServico == WS_NFE_INUTILIZACAO ; cUrlWs := "https://nfeh.sefaz.ce.gov.br/nfe2/services/NfeInutilizacao2?wsdl"
CASE nWsServico == WS_NFE_RECEPCAO ; cUrlWs := "https://nfeh.sefaz.ce.gov.br/nfe2/services/NfeRecepcao2?wsdl"
CASE nWsServico == WS_NFE_RECEPCAOEVENTO ; cUrlWs := "https://nfeh.sefaz.ce.gov.br/nfe2/services/RecepcaoEvento?wsdl"
CASE nWsServico == WS_NFE_RETRECEPCAO ; cUrlWs := "https://nfeh.sefaz.ce.gov.br/nfe2/services/NfeRetRecepcao2?wsdl"
CASE nWsServico == WS_NFE_STATUSSERVICO ; cUrlWs := "https://nfeh.sefaz.ce.gov.br/nfe2/services/NfeStatusServico2?wsdl"
CASE nWsServico == WS_NFE_RETAUTORIZACAO ; cUrlWs := "https://nfeh.sefaz.ce.gov.br/nfe2/services/NfeRetAutorizacao?wsdl"
ENDCASE
ENDIF
Avatar de usuário

oxent_jabah
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 30
Data de registro: 26 Dez 2008 10:29
Cidade/Estado: Juazeiro do Norte-Ce-Brasil
Curtiu: 0 vez
Mens.Curtidas: 1 vez

Uso da classesefaz

Mensagempor JoséQuintas » 20 Mar 2017 23:31

ok, atualizados.
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: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Uso da classesefaz

Mensagempor oxent_jabah » 28 Mar 2017 14:11

Boa Tarde, Quintas!

Muito Obrigado!
Avatar de usuário

oxent_jabah
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 30
Data de registro: 26 Dez 2008 10:29
Cidade/Estado: Juazeiro do Norte-Ce-Brasil
Curtiu: 0 vez
Mens.Curtidas: 1 vez

Uso da classesefaz

Mensagempor andersoncamilo » 28 Mar 2017 18:09

Boa tarde.

Alguém já esta usando a classesefaz no Xharbour?

Fiz alguns ajustes consegui compilar, esta selecionando o certificado, más ao fazer a consulta de STATUS DE SERVIÇO esta retornando o seguinte erro:
Erro SOAP: XML retorno não contém soapenv:Body Erro: Na conexão com webservice https://nfe.fazenda.sp.gov.br/ws/nfestatusservico2.asmx

Compilando com o Harbour funciona normalmente, se deixar de selecionar o certificado no Harbour aparece o mesmo erro acima.

Acredito que seja algum parâmetro na seleção do certificado no Xharbour que esta errado, alguém poderia ajudar.

Obrigado

Anderson Camilo
andersoncamilo
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 102
Data de registro: 22 Ago 2004 11:54
Curtiu: 0 vez
Mens.Curtidas: 1 vez

Uso da classesefaz

Mensagempor JoséQuintas » 28 Mar 2017 19:33

Importante:
Veja :cXmlRetorno pra ter a mensagem de retorno

Também é bom testar entre versões diferentes de XML.

Veja esta parte:

#ifdef __XHARBOUR__
      IF ::cUF == "GO" .AND. ::cAmbiente == "2"
         ::cXmlRetorno := "Erro: Criando objeto MSXML2.ServerXMLHTTP.5.0"
         oServer := win_OleCreateObject( "MSXML2.ServerXMLHTTP.5.0" )
      ELSE
        ::cXmlRetorno := "Erro: Criando objeto MSXML2.ServerXMLHTTP.6.0"
        oServer := win_OleCreateObject( "MSXML2.ServerXMLHTTP.6.0" )
      ENDIF
#else
      oServer := win_OleCreateObject( "MSXML2.ServerXMLHTTP" )
#endif


No Harbour a seleção é automática.
No xHarbour, é bom confirmar cada UF.

Lembrando que está havendo uma mudança na comunicacão, e pode se tratar desse tipo de coisa.
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: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Uso da classesefaz

Mensagempor JoséQuintas » 28 Mar 2017 19:53

No xHarbour, é bom confirmar cada UF.


Como dá pra ver no fonte, em Goiás na época estava uma versão pra homologação e outra pra produção.
Então o teste pode ser mais chato do que apenas testar uma UF.

Quem sabe alguém poderia fazer igual no xHarbour?
Copiar win_OleCreateObject() do Harbour para o xHarbour.
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: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Uso da classesefaz

Mensagempor Wanderlei » 19 Mai 2017 13:41

Boa Tarde Zé,
Onde eu pego o projeto atualizado?
Estou usando o ACBrMonitor mas vou mudar para usar a Classe.
Wanderlei Cardoso
Analista / Programador
XHarbour + GtWvW + FiveWin + HwGui + Firebird
Skype: cwanderlei
cwanderlei@yahoo.com.br
(62)98171-3059 - whatsapp

Imagem
Avatar de usuário

Wanderlei
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 183
Data de registro: 25 Jan 2008 12:19
Cidade/Estado: Goiânia - GO
Curtiu: 13 vezes
Mens.Curtidas: 5 vezes

Uso da classesefaz

Mensagempor JoséQuintas » 19 Mai 2017 16:11

Não tem notícias de mudanças porque não tem muito o que mudar..... rs

Uma coisa é a comunicação, e outra coisa é o XML.

Pra validar XMLs, basta baixar schemmas do site da Sefaz, e usar a rotina de validação.
Isso faz quem quiser, quando quiser, e se quiser. A classe não obriga a isso.
Pode ser interessante pra deixar XMLs preparados pras próximas versões de documento, e ajudar a conferir.

Quanto à comunicação:
Estou deixando pra depois CTE 3.0, MDFE 3.0 e NFE 4.0, esta última nem existe ainda endereços de teste.

https://github.com/JoseQuintas/sefazclass

Só lembrando:

A classe não faz conversão. No caso de NFE, CTE, MDFE, ela vai pegar seu XML e enviar diretamente pra Fazenda.
Por isso ela não precisa ficar sendo atualizada.
Dá a impressão de que parou, mas é porque não tem o que mexer mesmo.... rs
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: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Uso da classesefaz

Mensagempor Wanderlei » 22 Mai 2017 06:47

Blz, valeu pela resposta, vou começar a migrar do ACBrMonitor para a Classe.
Wanderlei Cardoso
Analista / Programador
XHarbour + GtWvW + FiveWin + HwGui + Firebird
Skype: cwanderlei
cwanderlei@yahoo.com.br
(62)98171-3059 - whatsapp

Imagem
Avatar de usuário

Wanderlei
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 183
Data de registro: 25 Jan 2008 12:19
Cidade/Estado: Goiânia - GO
Curtiu: 13 vezes
Mens.Curtidas: 5 vezes

Uso da classesefaz

Mensagempor MSDN » 28 Mai 2017 18:30

Utilizando a classe já pronta para NF-e, alguém tem ideia do que, e onde mudar para começar a fazer testes de homologação para NFC-e ?

Grato
MSDN
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 741
Data de registro: 28 Nov 2003 14:55
Cidade/Estado: CWB
Curtiu: 178 vezes
Mens.Curtidas: 123 vezes

Uso da classesefaz

Mensagempor JoséQuintas » 28 Mai 2017 18:37

Como NFCe utiliza o mesmo manual da NFe, acredito que não precise alterar nada.

Mas a classe não tem Danfe pra NFCe, apenas um PDF com QRCode, só pra servir como ponto inicial.
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: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Uso da classesefaz

Mensagempor MSDN » 28 Mai 2017 18:53

Ok Quintas, obrigado pela dica !
Como ainda não tenho certificado pra testar, vou esperar um pouco e testar em um cliente, em seguida reporto aqui os resultados.
Caso vc ou outra pessoa pudesse criar um exemplo simples mas de acordo com o que se usa no dia-a-dia (aquele exemplo da classe é simples demais...desculpe), já ajuda muito quem quiser usar o projeto, mostrando como e quando chamar as rotinas, da mesma forma que fiz quando disponibilizei o exemplo SUPER na distribuição da MiniGUI Extended.

Abraços
MSDN
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 741
Data de registro: 28 Nov 2003 14:55
Cidade/Estado: CWB
Curtiu: 178 vezes
Mens.Curtidas: 123 vezes

Anterior Próximo



Retornar para Projeto hbNFe

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 3 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