Rotina para acessar Portal da NFE

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

Moderador: Moderadores

Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

Rotina para acessar Portal da NFE

Mensagem por Kapiaba »

Perdão, é modo console. Pensei que fosse em FiveWin. Ai, fiquei mais perdido que cego em tiroteio.

Mesmo assim, vou dar uma pesquisada, quem sabe....

Regards, saludos.
lucimauro
Usuário Nível 3
Usuário Nível 3
Mensagens: 465
Registrado em: 21 Set 2004 21:02
Localização: Sobral-CE

Rotina para acessar Portal da NFE

Mensagem por lucimauro »

Então Win_OleCreateObject("InternetExplorer.Application") eu consigo fazer funcionar mais eu pergunto pelo IE voces conseguem baixar XMl do portal da fazendo sem problema, porque sei que pelo google chrome funciona sempre pelo IE tive vários problemas além do mais esse navegador esta descontinuado.
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

Rotina para acessar Portal da NFE

Mensagem por Kapiaba »

Lucimauro, Tente assim:

Código: Selecionar todos

FUNCTION CHAVE_NFE()

   LOCAL cComando

   // objShell:=Win_OleCreateObject("WScript.Shell")

   // objShell:run('chrome.exe http://www.nfe.fazenda.gov.br/portal/consultaRecaptcha.aspx?tipoConsulta=resumo&tipoConteudo=7PhJ+gAVw2g=')

   cComando := ('chrome.exe http://www.nfe.fazenda.gov.br/portal/consultaRecaptcha.aspx?tipoConsulta=resumo&tipoConteudo=7PhJ+gAVw2g=')

   MYRUN( cComando )

   // Inkey(6)

   objShell:All:Item("ctl00$ContentPlaceHolder1$txtChaveAcessoResumo",0):Value:=cChaveNfeBaixar

RETURN NIL

Function MYRUN( cComando )

   ***************************
   Local oShell, RET, lOk:=.T.

   TRY
      #IFDEF __XHARBOUR__
         oShell := CreateObject( "WScript.Shell" )
      #ELSE
         oShell := Win_OleCreateObject( "WScript.Shell" )
      #ENDIF

   CATCH

      TRY
         #IFDEF __XHARBOUR__
            oShell := CreateObject( "WScript.Shell" )
         #ELSE
            oShell := Win_OleCreateObject( "WScript.Shell" )
         #ENDIF

      CATCH

         lOk:=.F.

        END
   END

   IF lOk

      TRY

          //.F. = Nao espera a aplicacao fechar, .T. espera.
          oShell:Run( "%comspec% /c " + cComando, 0, .T. ) 

      CATCH

          lOk:=.F.

      END

      oShell := NIL

   ENDIF

   //--   RET := oShell:Run( "%comspec% /c " + cComando, 0)  //, .T. )

RETURN lOk
Regards, saludos.
lucimauro
Usuário Nível 3
Usuário Nível 3
Mensagens: 465
Registrado em: 21 Set 2004 21:02
Localização: Sobral-CE

Rotina para acessar Portal da NFE

Mensagem por lucimauro »

Kapiaba o modo console não interfere no resultado da função, como eu disse fiz funcionar como no exemplo do rocinha, so estou argumentando o seleção do navegador IE
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

Rotina para acessar Portal da NFE

Mensagem por Kapiaba »

Atá, NUNCA usei IE, porquê ele é muito lento e com o Chrome é super rápido. abs.

Porquê não vens logo para o Mundo For Windows com FiveWin the Best?

Regards, saludos.
lucimauro
Usuário Nível 3
Usuário Nível 3
Mensagens: 465
Registrado em: 21 Set 2004 21:02
Localização: Sobral-CE

Rotina para acessar Portal da NFE

Mensagem por lucimauro »

Estou vendo a melhor opção para migrar , mais como falei preciso acessar o portal da fazenda para baixar os xml das notas da entradas para alguns clientes que não usam ainda o sistema de distribuição.
Quanto a opção que voce disponibilizou o metodo value não existe ai não consigo imputar a chave automática no portal.
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Rotina para acessar Portal da NFE

Mensagem por Itamar M. Lins Jr. »

Olá!
notas da entradas para alguns clientes que não usam ainda o sistema de distribuição.
Moço, já foi dito aqui. Isso não é problema seu. O fornecedor precisa mandar o XML para o cliente é LEI!
Mas vc pode usar o navegador para baixar o XML caso precise de um ou outro.
Os grandes fornecedores além de mandar o XML tem até PORTAL para acesso dos clientes baixarem os XML.
Toda vez que falhar vão te ligar cobrando.

Agora mesmo é a terceira vez que um cliente me ligar p/ reclamar que a empresa dele está denega. A gente conversa, explica mas já fica esse incomodo.

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Rotina para acessar Portal da NFE

Mensagem por rochinha »

Amiguinhos,

lucimauro devemos entender que as travas que o SEFAZ coloca na obtenção dos XMLs é válida porque empresas surgiram fazendo estoques de notas e oferecendo para as empresas serviços de guarda de seus XMLs e fizeram robos que atolaram o SEFAZ de requisições de download.

Existe lei que rege e multa tal prática até mesmo para o proprietário dos XMLs.

Nós, para agradar os clientes criamos estes POGs para ajudá-los, mas não é nossa obrigação.

O Itamar M Lins está corretíssimo em sua resposta.

Agora voltando ao código, somente o Internet Explorer tem automação OLE porque ele está umbilicalmente ligado ao Windows pois tanto ele quanto o Windows Explorer usam o mesmo coração.

O objeto InternetExplorer.Application é o único o qual podemos automatizar e para que funcione a contento o Internet Explorer da máquina precisa estar atualizado com versões 10 ou 11 para Windows 7 ou Edge para Windows 8 e maior.
oOle:= CreateObject("InternetExplorer.Application")
É possível configurar o que vai aparecer na janela instanciada:
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
Usamos o método Navigate2() para ativá-lo e abrir a tela de exploração:
Após o link ser aberto e o conteúdo HTML estar na memória podemos através de InternetExplorer.Application usar os controle dentro da página de forma transparente acionando-os através do método oOle:Document() seus IDs ou Names conseguindo acesso aos parâmetros SET/GET Value.
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
A premissa para conseguir estes recursos é somente usar a automação através de InternetExplorer.Application e somente o Internet Explorer tem o método Application. O ChRome não tem automação visível.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

Rotina para acessar Portal da NFE

Mensagem por Kapiaba »

Lucimauro, esta opção não é para Baixar o .XML, e sim para Consultar a Chave da NFE no PORTAL. Para baixar o XML, é outro processo.
CONSULTAR_CHAVE_NFE.png
Você deve criar uma opção no seu sistema, para que o Cliente(Empresa) envie automaticamente um EMAIL com o(s) devido(s) arquivo(s) XML(s) para seus clientes(da empresa) assim que as notas são homologadas pela SEFAZ, bem como, os XMLs, das notas fiscais DENEGEGADAS, o XML dela(s) devem ser enviados para a(s) empresa(s) para que eles enviem ao CONTADOR. Você pode até usar o RMAIL.PRG feito em FiveWin, compila a parte e chama via MYRUN() de dentro do seu programa. Simples pra caramba, basta procurar por RMAIL neste forum ou do FiveWin.

Dúvidas, pergunte.

Abs.

Regards, saludos.
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

Rotina para acessar Portal da NFE

Mensagem por Kapiaba »

Lucimauro, veja um exemplo bem simples de envio de email modificado por mim no forum Internacional:

http://forums.fivetechsupport.com/viewt ... fc483a0c44

Regards, saludos.
lucimauro
Usuário Nível 3
Usuário Nível 3
Mensagens: 465
Registrado em: 21 Set 2004 21:02
Localização: Sobral-CE

Rotina para acessar Portal da NFE

Mensagem por lucimauro »

Como falei acima meu sistema já faz distribuição automática dos xml emitidas contra o cliente, era apenas uma funcionalidade a mais para quem não usa o sistema de distribuição e baixa o xml manualmente quando nao recebe por email.
Mais desde já agradeço Rochinha e Kapiaba.
Responder