Uso da classesefaz
Moderador: Moderadores
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Uso da classesefaz
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.
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 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/
Uso da classesefaz
Obrigado, por responder. Tentando usar a sua lógica, fiz o comando abaixo mas não funcionou. Teria uma idéia?
obg
Código: Selecionar todos
#xcommand RECOVER [USING <oErr>] <-oErr-> => CATCH [<!oErr!>]
obg
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Uso da classesefaz
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.
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.
Veja o que seria equivalente no xHarbour.
Senão, uma forma de não ter muito trabalho na troca de versão, seria criar uma rotina de conversão.
Código: Selecionar todos
cTxt := MemoRead( "fonte.prg" )
cTxt := StrTran( cTxt, "BEGIN SEQUENCE WITH __BreakBlock()", "TRY" )
cTxt := StrTran( cTxt, "END SEQUENCE", "CATCH" + Chr(13) + Chr(10) + "END" )
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.
Código: Selecionar todos
lOk := .F.
BEGIN SEQUENCE WITH __BreakBlock()
? 10 + "A"
lOk := .T.
END SEQUENCE
IF .NOT. lOk
? "Não conseguiu somar"
ENDIF
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/
- oxent_jabah
- Usuário Nível 1

- Mensagens: 30
- Registrado em: 26 Dez 2008 11:29
- Localização: Juazeiro do Norte-Ce-Brasil
Uso da classesefaz
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/servi ... zacao?wsdl"
CASE nWsServico == WS_NFE_CANCELAMENTO ; cUrlWs := "https://nfeh.sefaz.ce.gov.br/nfe2/servi ... celamento2"
CASE nWsServico == WS_NFE_CONSULTACADASTRO ; cUrlWs := "https://nfeh.sefaz.ce.gov.br/nfe2/servi ... stro2?wsdl"
CASE nWsServico == WS_NFE_CONSULTAPROTOCOLO ; cUrlWs := "https://nfeh.sefaz.ce.gov.br/nfe2/servi ... ulta2?wsdl"
CASE nWsServico == WS_NFE_DOWNLOADNF ; cUrlWs := "https://nfeh.sefaz.ce.gov.br/nfe2/servi ... oadNF?wsdl"
CASE nWsServico == WS_NFE_INUTILIZACAO ; cUrlWs := "https://nfeh.sefaz.ce.gov.br/nfe2/servi ... acao2?wsdl"
CASE nWsServico == WS_NFE_RECEPCAO ; cUrlWs := "https://nfeh.sefaz.ce.gov.br/nfe2/servi ... pcao2?wsdl"
CASE nWsServico == WS_NFE_RECEPCAOEVENTO ; cUrlWs := "https://nfeh.sefaz.ce.gov.br/nfe2/servi ... vento?wsdl"
CASE nWsServico == WS_NFE_RETRECEPCAO ; cUrlWs := "https://nfeh.sefaz.ce.gov.br/nfe2/servi ... pcao2?wsdl"
CASE nWsServico == WS_NFE_STATUSSERVICO ; cUrlWs := "https://nfeh.sefaz.ce.gov.br/nfe2/servi ... vico2?wsdl"
CASE nWsServico == WS_NFE_RETAUTORIZACAO ; cUrlWs := "https://nfeh.sefaz.ce.gov.br/nfe2/servi ... zacao?wsdl"
ENDCASE
ENDIF
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/servi ... zacao?wsdl"
CASE nWsServico == WS_NFE_CANCELAMENTO ; cUrlWs := "https://nfeh.sefaz.ce.gov.br/nfe2/servi ... celamento2"
CASE nWsServico == WS_NFE_CONSULTACADASTRO ; cUrlWs := "https://nfeh.sefaz.ce.gov.br/nfe2/servi ... stro2?wsdl"
CASE nWsServico == WS_NFE_CONSULTAPROTOCOLO ; cUrlWs := "https://nfeh.sefaz.ce.gov.br/nfe2/servi ... ulta2?wsdl"
CASE nWsServico == WS_NFE_DOWNLOADNF ; cUrlWs := "https://nfeh.sefaz.ce.gov.br/nfe2/servi ... oadNF?wsdl"
CASE nWsServico == WS_NFE_INUTILIZACAO ; cUrlWs := "https://nfeh.sefaz.ce.gov.br/nfe2/servi ... acao2?wsdl"
CASE nWsServico == WS_NFE_RECEPCAO ; cUrlWs := "https://nfeh.sefaz.ce.gov.br/nfe2/servi ... pcao2?wsdl"
CASE nWsServico == WS_NFE_RECEPCAOEVENTO ; cUrlWs := "https://nfeh.sefaz.ce.gov.br/nfe2/servi ... vento?wsdl"
CASE nWsServico == WS_NFE_RETRECEPCAO ; cUrlWs := "https://nfeh.sefaz.ce.gov.br/nfe2/servi ... pcao2?wsdl"
CASE nWsServico == WS_NFE_STATUSSERVICO ; cUrlWs := "https://nfeh.sefaz.ce.gov.br/nfe2/servi ... vico2?wsdl"
CASE nWsServico == WS_NFE_RETAUTORIZACAO ; cUrlWs := "https://nfeh.sefaz.ce.gov.br/nfe2/servi ... zacao?wsdl"
ENDCASE
ENDIF
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Uso da classesefaz
ok, atualizados.
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/
- oxent_jabah
- Usuário Nível 1

- Mensagens: 30
- Registrado em: 26 Dez 2008 11:29
- Localização: Juazeiro do Norte-Ce-Brasil
-
andersoncamilo
- Usuário Nível 3

- Mensagens: 103
- Registrado em: 22 Ago 2004 11:54
Uso da classesefaz
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
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
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Uso da classesefaz
Importante:
Veja :cXmlRetorno pra ter a mensagem de retorno
Também é bom testar entre versões diferentes de XML.
Veja esta parte:
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.
Veja :cXmlRetorno pra ter a mensagem de retorno
Também é bom testar entre versões diferentes de XML.
Veja esta parte:
Código: Selecionar todos
#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 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 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
Uso da classesefaz
Como dá pra ver no fonte, em Goiás na época estava uma versão pra homologação e outra pra produção.No xHarbour, é bom confirmar cada UF.
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 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/
Uso da classesefaz
Boa Tarde Zé,
Onde eu pego o projeto atualizado?
Estou usando o ACBrMonitor mas vou mudar para usar a Classe.
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

Analista / Programador
XHarbour + GtWvW + FiveWin + HwGui + Firebird
Skype: cwanderlei
cwanderlei@yahoo.com.br
(62)98171-3059 - whatsapp

- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Uso da classesefaz
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
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 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/
Uso da classesefaz
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

Analista / Programador
XHarbour + GtWvW + FiveWin + HwGui + Firebird
Skype: cwanderlei
cwanderlei@yahoo.com.br
(62)98171-3059 - whatsapp

Uso da classesefaz
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
Grato
Marcelo Neves
https://produto.mercadolivre.com.br/MLB ... 0067609615
whatsapp (41) 99786-3995
http://harbourdeveloper.blogspot.com
marcelo.souza.das.neves@gmail.com
https://produto.mercadolivre.com.br/MLB ... 0067609615
whatsapp (41) 99786-3995
http://harbourdeveloper.blogspot.com
marcelo.souza.das.neves@gmail.com
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Uso da classesefaz
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.
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 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/
Uso da classesefaz
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
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
Marcelo Neves
https://produto.mercadolivre.com.br/MLB ... 0067609615
whatsapp (41) 99786-3995
http://harbourdeveloper.blogspot.com
marcelo.souza.das.neves@gmail.com
https://produto.mercadolivre.com.br/MLB ... 0067609615
whatsapp (41) 99786-3995
http://harbourdeveloper.blogspot.com
marcelo.souza.das.neves@gmail.com
