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 Kapiaba » 22 Abr 2022 10:54

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.
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 lucimauro » 22 Abr 2022 10:56

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.
lucimauro
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 448
Data de registro: 21 Set 2004 21:02
Cidade/Estado: Sobral-CE
Curtiu: 15 vezes
Mens.Curtidas: 19 vezes

Rotina para acessar Portal da NFE

Mensagempor Kapiaba » 22 Abr 2022 11:11

Lucimauro, Tente assim:

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.
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 lucimauro » 22 Abr 2022 11:12

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
lucimauro
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 448
Data de registro: 21 Set 2004 21:02
Cidade/Estado: Sobral-CE
Curtiu: 15 vezes
Mens.Curtidas: 19 vezes

Rotina para acessar Portal da NFE

Mensagempor Kapiaba » 22 Abr 2022 11:21

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.
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 lucimauro » 22 Abr 2022 11:30

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.
lucimauro
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 448
Data de registro: 21 Set 2004 21:02
Cidade/Estado: Sobral-CE
Curtiu: 15 vezes
Mens.Curtidas: 19 vezes

Rotina para acessar Portal da NFE

Mensagempor Itamar M. Lins Jr. » 22 Abr 2022 11:35

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.
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 rochinha » 22 Abr 2022 12:25

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:
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")
EndIf


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 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 » 22 Abr 2022 12:26

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: 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 » 22 Abr 2022 12:53

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

http://forums.fivetechsupport.com/viewtopic.php?f=3&t=41597&sid=7f2c6534fa4ef70806b6c6fc483a0c44

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 lucimauro » 22 Abr 2022 15:22

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.
lucimauro
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 448
Data de registro: 21 Set 2004 21:02
Cidade/Estado: Sobral-CE
Curtiu: 15 vezes
Mens.Curtidas: 19 vezes

Anterior



Retornar para FiveWin

Quem está online

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