Clipper On Line • Ver Tópico - Rotina para acessar Portal da NFE

Rotina para acessar Portal da NFE

Discussão sobre a biblioteca Fivewin - O Clipper para Windows.

Moderador: Moderadores

 

Rotina para acessar Portal da NFE

Mensagempor billy1943 » 30 Jun 2011 21:55

Oi, pessoal do FiveWin

O fonte abaixo exposto em FiveWin não é de minha autoria mas vejo-o como muito promissor se conseguirmos fazê-lo "rodar".

Eu trabalho com Clipper e esporadicamente com xHarbour e encontrei essa rotina num fórum de FiveWin.
Tentei fazer funcionar mas não consegui, pelo motivo de que existem funções não catalogadas no XHarbour e a sua supressão prejudicou o programa gerado, que não faz o acesso aos Portais Nacional e de SP, ou se o fazem não carregam a chave de 44 bytes, o que facilitaria sobremaneira a consulta das NFEs.

Agradeceria o empenho para funcionar essa rotina muito útil.

///////////////////////////////////////////////////////////////////////////////   
/// NFe_ChecaPortal - Função para checar o numero do Danfe nos portais Nacional ou Estado de São Paulo
/// Esta função faz com que abra as paginas dos portais de consulta das NFes e preencha os campos das chaves automaticamente.
/// Assim será necessario digitar somente o Capcha
///
/// Parametros: f_cChave > Numero da chave (Danfe) no formato caracter
/// f_nPortal > Portal a abrir - Formato Numérico
/// 1- Portal Nacional
/// 2- Portal do estado de São Paulo
FUNCTION NFe_ChecaPortal(f_cChave,f_nPortal)
local oOle, oOleDoc := Array(2)
Default f_nPortal := 1, f_cChave := ""

oOle:= CreateObject("InternetExplorer.Application")
oOle:Visible := .t. // Apresenta o Browser
oOle:ToolBar := .f. // Desativa a barra de ferramentas
oOle:StatusBar := .f. // Desativa a barra de status
oOle:MenuBar := .f. // desativa a barra de menu

If f_nPortal == 1
oOle:Navigate2("http://www.nfe.fazenda.gov.br/portal/consulta.aspx?tipoConsulta=completa&tipoConteudo=XbSeqxE8pl8=")
Else
oOle:Navigate("http://nfe.fazenda.sp.gov.br/ConsultaNFe/consulta/publica/ConsultarNFe.aspx") // Abre o site
EndIf

WHILE oOle:Busy
syswait(.5)
END

If f_nPortal == 1
oOle := oOle:Document()
oOle:All:Item("ctl00$ContentPlaceHolder1$txtChaveAcessoCompleta",0):Value := f_cChave
Else
oOle := oOle:Document()
oOle:All:Item("ctl00$ContentMain$tbxIdNFe"):Value := f_cChave
EndIf

SysRefresh()
return .t.
///////////////////////////////////////////////////////////////////////////////   
O bom do computador é que ele resolve os problemas, sem nunca levantar nenhum.
Hoje atuo mais com Clipper 52E, e um pouquinho com XHarbour.
Avatar de usuário

billy1943
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 570
Data de registro: 12 Mai 2009 17:33
Cidade/Estado: Bauru-SP
Curtiu: 1 vez
Mens.Curtidas: 21 vezes

Rotina para acessar Portal da NFE

Mensagempor sygecom » 07 Jul 2011 20:44

Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
leonardodemachado@hotmail.com

Faça você também sua doação esse fórum é uma lenda viva: http://www.pctoledo.com.br/doacao
Avatar de usuário

sygecom
Usuário Nível 7

Usuário Nível 7
 
Mensagens: 7005
Data de registro: 21 Jul 2006 10:12
Cidade/Estado: Alvorada-RS
Curtiu: 1 vez
Mens.Curtidas: 130 vezes

Rotina para acessar Portal da NFE

Mensagempor alaminojunior » 23 Jul 2011 11:57

É como o Leonardo citou no outro post: tirando as funções próprias do Fivewin, a coisa funciona numa boa, gostei.
Segue o código testado e 'fungado' com xHarbour 1.2.1 6733
///////////////////////////////////////////////////////////////////////////////   
/// NFe_ChecaPortal - Função para checar o numero do Danfe nos portais Nacional ou Estado de São Paulo
/// Esta função faz com que abra as paginas dos portais de consulta das NFes e preencha os campos das chaves automaticamente.
/// Assim será necessario digitar somente o Capcha
///
/// Parametros: f_cChave > Numero da chave (Danfe) no formato caracter
/// f_nPortal > Portal a abrir - Formato Numérico
/// 1- Portal Nacional
/// 2- Portal do estado de São Paulo

#command DEFAULT <param> := <val> [, <paramn> := <valn> ];
=> ;
         <param> := IIF(<param> = NIL, <val>, <param> ) ;
         [; <paramn> := IIF(<paramn> = NIL, <valn>, <paramn> ) ]

FUNCTION NFe_ChecaPortal(f_cChave,f_nPortal)
local oOle, oOleDoc := Array(2)
DEFAULT f_nPortal:= 1, f_cChave:= ""

oOle:= CreateObject("InternetExplorer.Application")
oOle:Visible := .t. // Apresenta o Browser
oOle:ToolBar := .f. // Desativa a barra de ferramentas
oOle:StatusBar := .f. // Desativa a barra de status
oOle:MenuBar := .f. // desativa a barra de menu

If f_nPortal == 1
   oOle:Navigate2("http://www.nfe.fazenda.gov.br/portal/consulta.aspx?tipoConsulta=completa&tipoConteudo=XbSeqxE8pl8=")
Else
   oOle:Navigate("http://nfe.fazenda.sp.gov.br/ConsultaNFe/consulta/publica/ConsultarNFe.aspx") // Abre o site
EndIf

WHILE oOle:Busy
   millisec(500)//syswait(.5)
END

If f_nPortal == 1
   oOle := oOle:Document()
   oOle:All:Item("ctl00$ContentPlaceHolder1$txtChaveAcessoCompleta",0):Value := f_cChave
Else
   oOle := oOle:Document()
   oOle:All:Item("ctl00$ContentMain$tbxIdNFe"):Value := f_cChave
EndIf

// SysRefresh()
return .t.
///////////////////////////////////////////////////////////////////////////////   
Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
Avatar de usuário

alaminojunior
Colaborador

Colaborador
 
Mensagens: 1689
Data de registro: 16 Dez 2005 20:26
Cidade/Estado: Ubatuba - SP
Curtiu: 27 vezes
Mens.Curtidas: 11 vezes

Rotina para acessar Portal da NFE

Mensagempor Kapiaba » 30 Jan 2014 14:15

Galera ajuda ai,

Tem hora que esta função funciona, tem hora que não funciona, o que está errado, ou alguém tem uma função melhor para disparar direto com a CHAVE DA NF-e direto para o Portal da NF-e?

No Internet Explorer, é muito lento, alguém tem para Google Chrome?

Quando não funciona, me devolve este erro, como corrigir isto?

Descricao do Erro: ERROR INTERNETEXPLORER.APPLICATION/0 S_OK: DOCUMENT

Lista dos Erros
===============
Erro em: => TOLEAUTO:DOCUMENT(0)
Erro em: DBMANUT2.prg => NFE_CHECAPORTAL(1233)
Erro em: DBMANUT.prg => (b)MOSTRA_CHAVE_NFE(7167)

Obg. abs.
Kapiaba
Colaborador

Colaborador
 
Mensagens: 1765
Data de registro: 07 Dez 2012 15:14
Cidade/Estado: São Paulo
Curtiu: 310 vezes
Mens.Curtidas: 119 vezes

Rotina para acessar Portal da NFE

Mensagempor Kapiaba » 30 Jan 2014 14:57

Aprentemente, era só a URL que se cambió de HTTP para HTTPS

Mas mesmo assim, gostaria que ele "assumisse" o navegador padrão e não o internet explorer, é possivel?

   If f_nPortal == 1

      oOle:Navigate2("https://www.nfe.fazenda.gov.br/portal/consulta.aspx?tipoConsulta=completa&tipoConteudo=XbSeqxE8pl8=")

   Else // Mudou para https

      oOle:Navigate("https://nfe.fazenda.sp.gov.br/ConsultaNFe/consulta/publica/ConsultarNFe.aspx") // Abre o site

   EndIf


Obg. abs.
Kapiaba
Colaborador

Colaborador
 
Mensagens: 1765
Data de registro: 07 Dez 2012 15:14
Cidade/Estado: São Paulo
Curtiu: 310 vezes
Mens.Curtidas: 119 vezes

Rotina para acessar Portal da NFE

Mensagempor rochinha » 07 Fev 2014 00:03

Amiguinhos,

Ao invés de usar o comando que chama o internet explorer, não seria melhor embutir via activex a chamada ao motor de browser.
   
DEFINE WINDOW oChildWnd FROM 0,0 TO 600,800 PIXEL TITLE "Fazenda.GOV"
          oActiveX = TActiveX():New( oWnd, "Shell.Explorer.2" )
          oChildWnd:oClient = oActiveX
          oActiveX:Do( "Navigate2", "https://www.nfe.fazenda.gov.br/portal/consulta.aspx?tipoConsulta=completa&tipoConteudo=XbSeqxE8pl8=" )
ACTIVATE WINDOW oChildWnd
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para fivolution@hotmail.com. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar de usuário

rochinha
Membro Master

Membro Master
 
Mensagens: 4538
Data de registro: 18 Ago 2003 20:43
Cidade/Estado: São Paulo - Brasil
Curtiu: 800 vezes
Mens.Curtidas: 242 vezes

Rotina para acessar Portal da NFE

Mensagempor Kapiaba » 11 Fev 2014 10:46

Excelente idéia Rochinha, mas eu gostaria de já levar a chave junto, é possivel?
Obg. abs.
Kapiaba
Colaborador

Colaborador
 
Mensagens: 1765
Data de registro: 07 Dez 2012 15:14
Cidade/Estado: São Paulo
Curtiu: 310 vezes
Mens.Curtidas: 119 vezes

Rotina para acessar Portal da NFE

Mensagempor Kapiaba » 12 Fev 2014 09:15

Resolvido, obrigado Rochinha.

FUNCTION ConsultaXmlChave( cChave )

   LOCAL oChildWnd, oDlg

   MsgWait( "CONECTANDO AO PORTAL DA SEFAZ...", ;
            "AGUARDE UM MOMENTO POR FAVOR... ", 2.0 )

   /*
   DEFINE WINDOW oChildWnd FROM 0,0 TO 600,800 PIXEL TITLE "Consultar a NFe no Portal Nacional "

   oActiveX = TActiveX():New( oChildWnd, "Shell.Explorer.2" )

   oChildWnd:oClient = oActiveX

   oActiveX:Do( "Navigate2", "https://www.nfe.fazenda.gov.br/portal/consulta.aspx?tipoConsulta=completa&tipoConteudo=XbSeqxE8pl8="+cChave )

   ACTIVATE WINDOW oChildWnd
   */

   DEFINE DIALOG oDlg FROM 0, 0 TO 600, 900 PIXEL                            ;
          TITLE "Consultar a Chave da NF-e na Sefaz"                         ;
          COLORS CLR_BLACK, CLR_WHITE TRANSPARENT

   oDlg:lHelpIcon := .F.

   ACTIVATE DIALOG oDlg NOWAIT CENTERED

   oActiveX=TActiveX():New(oDlg,"Shell.Explorer.2",00,0,900,600)

   oActivex:Silent := .T.

   oActivex:Navigate2("https://www.nfe.fazenda.gov.br/portal/consulta.aspx?tipoConsulta=completa&tipoConteudo=XbSeqxE8pl8=")

   oActivex:SetFocus()

   WHILE oActivex:Busy

      SysWait(.2)

   ENDDO

   oActiveXdo:=oActiveX:Document()

   oActiveXdo:All:Item("ctl00$ContentPlaceHolder1$txtChaveAcessoCompleta",0):Value:=cChave

RETURN NIL
Kapiaba
Colaborador

Colaborador
 
Mensagens: 1765
Data de registro: 07 Dez 2012 15:14
Cidade/Estado: São Paulo
Curtiu: 310 vezes
Mens.Curtidas: 119 vezes

Rotina para acessar Portal da NFE

Mensagempor fladimir » 31 Jan 2016 23:51

Kapiaba ou outro colega...

Pq não mais o TOleAuto? Vi q vc mudou para o TActivex(), pq? Eu inclusive abri um tópico sobre isto na seção Harbour, mas como vc escreveu aki q agora esta ok e comparando como era antes e como usa hj dá pra perceber as mudanças de classes ou não?
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
Avatar de usuário

fladimir
Colaborador

Colaborador
 
Mensagens: 2434
Data de registro: 15 Nov 2006 19:21
Curtiu: 28 vezes
Mens.Curtidas: 157 vezes

Rotina para acessar Portal da NFE

Mensagempor Kapiaba » 01 Fev 2016 08:57

Bom dia Fladimir, eu uso o FWH13.06, e o ActiveX, está bem melhorado. Achei inclusive, mais seguro a navegação e com menos quebra de página. Faça um teste e veja se gosta. abs.
Kapiaba
Colaborador

Colaborador
 
Mensagens: 1765
Data de registro: 07 Dez 2012 15:14
Cidade/Estado: São Paulo
Curtiu: 310 vezes
Mens.Curtidas: 119 vezes

Rotina para acessar Portal da NFE

Mensagempor Kapiaba » 13 Abr 2022 11:59

Bom dia. A SEFAZ mudou alguma coisa, simplesmente parou de funcionar.

Obg. abs.

Regards, saludos.
Kapiaba
Colaborador

Colaborador
 
Mensagens: 1765
Data de registro: 07 Dez 2012 15:14
Cidade/Estado: São Paulo
Curtiu: 310 vezes
Mens.Curtidas: 119 vezes

Rotina para acessar Portal da NFE

Mensagempor JoséQuintas » 13 Abr 2022 12:38

Kapiaba escreveu:Bom dia. A SEFAZ mudou alguma coisa, simplesmente parou de funcionar.


Pela lei, o emitente é obrigado a transmitir os XMLs.
Por isso a Sefaz procura colocar restrições a qualquer coisa automática.
E não só nessa consulta, mas também no webservice de download, porque não é pra ficar baixando tudo.
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

Rotina para acessar Portal da NFE

Mensagempor Itamar M. Lins Jr. » 13 Abr 2022 13:55

Olá!
Vejo que o uso é bem limitado, quem não manda XML o pessoal baixa pelo navegador.
Precisa do certificado.

Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6927
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 309 vezes
Mens.Curtidas: 503 vezes

Rotina para acessar Portal da NFE

Mensagempor JoséQuintas » 13 Abr 2022 14:53

Itamar M. Lins Jr. escreveu:Vejo que o uso é bem limitado, quem não manda XML o pessoal baixa pelo navegador.
Precisa do certificado.


Tem neguinho que vende programa pra baixar tudo que é nota da Fazenda.
E mesmo assim, nem sequer tomam cuidado pra não sobrecarregar webservice.
Por exemplo, na manifestação, a cada consulta trás TODAS as notas desde a primeira.
E por isso a Fazenda até retirou o webservice do ar, e depois retornou removendo essa opção.

Quando não havia impedimento na emissão, os neguinhos deixavam lá por meses tentando autorizar a mesma nota, em LOOP.

Quando liberei meu webservice de CEP, neguinho consultava CEP "ABX", "0", "003", "AAA", etc., 24 horas sem parar.

Não é fácil não.... acabam gerando a necessidade de limitações.
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

Rotina para acessar Portal da NFE

Mensagempor alaminojunior » 13 Abr 2022 18:50

Uma coisa que está sendo bastante discutida no momento são as rejeições por consumo indevido.

Em nossos clientes por exemplo oferecemos a opção de consultar as notas, mas deixamos muito bem claro que tal recurso é uma "gentileza" e não forma obrigatória de se baixar os documentos. Obrigação de enviar os XML´s é do fornecedor deles !
Mesmo assim vez ou outra um cliente desavisado e teimoso tenta me tirar do sério. Não discuto mais. Esfrego a última NT na cara do sujeito e deixo ele esbravejar com o contador dele.

Porque com o contador ?

Descobrimos que inúmeras contabilidades vêm instalando softwares que prometem baixar "todos" os documentos fiscais da empresa. O problema é que a cada consulta através destes softwares o último NSU é alterado (claro) deixando o nosso controle desta numeração, desatualizado. Quando tentamos fazer a consulta, vem a rejeição.
Isso é certo ! Não tem como a contabilidade fugir dizendo que não usa nada, pois usa sim.

Resumindo, não é possível dois softwares consultarem documentos fiscais !
Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
Avatar de usuário

alaminojunior
Colaborador

Colaborador
 
Mensagens: 1689
Data de registro: 16 Dez 2005 20:26
Cidade/Estado: Ubatuba - SP
Curtiu: 27 vezes
Mens.Curtidas: 11 vezes

Próximo



Retornar para FiveWin

Quem está online

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