Página 1 de 3
Rotina para acessar Portal da NFE
Enviado: 30 Jun 2011 21:55
por billy1943
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.
Código: Selecionar todos
///////////////////////////////////////////////////////////////////////////////
/// 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.
///////////////////////////////////////////////////////////////////////////////
Rotina para acessar Portal da NFE
Enviado: 07 Jul 2011 20:44
por sygecom
viewtopic.php?f=4&t=12126
Rotina para acessar Portal da NFE
Enviado: 23 Jul 2011 11:57
por alaminojunior
É 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
Código: Selecionar todos
///////////////////////////////////////////////////////////////////////////////
/// 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.
///////////////////////////////////////////////////////////////////////////////
Rotina para acessar Portal da NFE
Enviado: 30 Jan 2014 15:15
por Kapiaba
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.
Rotina para acessar Portal da NFE
Enviado: 30 Jan 2014 15:57
por Kapiaba
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?
Código: Selecionar todos
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.
Rotina para acessar Portal da NFE
Enviado: 07 Fev 2014 01:03
por rochinha
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.
Código: Selecionar todos
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
Rotina para acessar Portal da NFE
Enviado: 11 Fev 2014 11:46
por Kapiaba
Excelente idéia Rochinha, mas eu gostaria de já levar a chave junto, é possivel?
Obg. abs.
Rotina para acessar Portal da NFE
Enviado: 12 Fev 2014 10:15
por Kapiaba
Resolvido, obrigado Rochinha.
Código: Selecionar todos
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
Rotina para acessar Portal da NFE
Enviado: 01 Fev 2016 00:51
por fladimir
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?
Rotina para acessar Portal da NFE
Enviado: 01 Fev 2016 09:57
por Kapiaba
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.
Rotina para acessar Portal da NFE
Enviado: 13 Abr 2022 11:59
por Kapiaba
Bom dia. A SEFAZ mudou alguma coisa, simplesmente parou de funcionar.
Obg. abs.
Regards, saludos.
Rotina para acessar Portal da NFE
Enviado: 13 Abr 2022 12:38
por JoséQuintas
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.
Rotina para acessar Portal da NFE
Enviado: 13 Abr 2022 13:55
por Itamar M. Lins Jr.
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.
Rotina para acessar Portal da NFE
Enviado: 13 Abr 2022 14:53
por JoséQuintas
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.
Rotina para acessar Portal da NFE
Enviado: 13 Abr 2022 18:50
por alaminojunior
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 !