Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
  • Avatar do usuário
#16706
Salve, Salve Galera!

Precisando de uma grande ajuda dos Gurus.
Estou desenvolvendo uma arquivo VBA para criar um sistema de *Agendamento de produtos para recebimento em **WMS.

Definição de termos:
*Agendamento = Um arquivo XLSX com a lista de itens faturados na NF-e que recebemos junto aos produtos
**WMS - Wharehouse Managerment System (Sistema de gestão de armazém/Estoque/Produtos)


Trabalho em um empresa que tem o estoque administrado por um operador logistico, o operador é responsável pela gestão do estoque, que por sua vez o gerencia com um sistema WMS, e nos da empresa (Cliente do Operador) utilizamos o SAP.

Sei que poderia utilizar o XML para isso, mas não temos o XML de todas as notas, de quase nenhum, e é muito burocrático conseguir.

Atualmente não temos interface entre os sistemas, então temos que atualizar os dois sistema sem integração (dois trabalhos).

A conferência dos Produtos devem ser cega, mesmo o operador carregando os dados da nota no coletor dele hoje, mas o conferente não tem informação da quantidade só do código.
o trabalho de carregar os dados no WMS e transmitir para o coletor (agendamento) é de forma manual, uma pessoa administrativa tem acesso a nota e digita manualmente dos dados da nota para uma planilha XLSX (é poderiamos fazer isso pegando informação do SAP, mas não temos um relatorio com todas as infos necessárias, ai temos que gerar vários relatórios), então esse arquivo é importado para WMS (SKU, Descrição, Qtde, Vlr Unit.) e depois carregado no coletor que fara a verificação entre fisico e agendamento.

Imagem

O que quero?
Automatizar esse preenchimento (copiar dados da nota para uma planilha).


encontrei essa planilha anexa que consulta e importa dos dados do site de consulta de CNPJ (Consulta Pública), é basicamente o que quero, só que quero acessar o site da fazendo, informando a chave de acesso e trazer automaticamente os itens faturados na NF.

Teria que manipular os objetos do Internet Explorer via VBA, estou debugando o código fonte da página, mas é muita informação para mim ainda.

Alguém para me ajudar com esse desafio?

Muito Obrigado!
#16717
Rahfaeu, bom dia.

Para sua necessidade, temos duas situações para serem analisadas:

1º) Você não informou se vai retirar essas informações da Sefaz Nacional ou Estadual. Se for da Nacional, temos uma possibilidade de erros, pois nem sempre ocorre o sincronismo entre as Sefaz´s Estaduais com a Nacional, ocasionando o não armazenamento das informações de um documento ou outro na Sefaz Nacional. Não é invenção. Trabalho com DFe´s o dia todo e sempre vejo isso ocorrer;

2º) No modelo do Renan (já conhecia-o), esta sendo utilizado a biblioteca Microsoft Internet Control. Já escutou falar no Selenium VBA? Dê uma olha no link [MODELO] Consulta CNPJ no site da Receita Federal usando Selenium VBA. Desenvolvi com base neste mesmo modelo do Renan, mas utilizando o Selenium VBA.

Analise as duas situações e nos retorne. Estamos no aguardo.

Abraços e excelente domingo.
#16724
Mikel, bom dia mestre.

Entendi sua colocação sobre o sincronismo dos dados, mas não utilizo o SEFAZ, mas sim o o site: https://NFe.fazenda.sp.gov.br (consulta pública).
Hoje em dia já fazemos o processo que quero otimizar pelo Excel dessa forma, o usuário tem a chave de acesso, entra no site nfe da fazenda, informando a chave de acesso e verificação do CAPTCHA, consulta completa e vai na guia 'Produtos e Serviços' e cópia ítem a item e cola na planilha, que será o agendamento (dados seguem um layout para importar no WMS: código, descrição, vlr un. E etc...)

Agora sobre o Selenium, eu vi um vídeo ontem, bem interessante, ele é basicamente um gravador de macros, similar ao do VBA (desculpe a definição minimalistas kkk).
Achei interessante, mas como você mesmo disse, creio que é possível fazer utilizando a biblioteca Microsoft Internet Explorer, eu já fiz um cockpit, consegui escrever o código para acessar o site, copiar a chave de acesso do frm vba pra o site, verificar o CAPTCHA, mas me falta conhecimento dos elementos do IE, como por exemplo o objeto multipagina (imagem que mandei no primeiro post) preciso de ajuda para encontrar manipular os objetos e seus eventos da página, e interpretar a estrutura para criar loops, pois a quantidade de itens faturados numa nota pode variar, tentei encontrar uma espécie de contador no código fonte da página, para usar como referência de quantos itens tem para fazer o looping e copiar todos os itens e cada info relacionada a eles, não encontrei nodes, nada.

Creio que a estrutura onde os dados dos itens sejam diferentes de uma tabelas, como o de consulta do CNPJ, mas não entendi essa estrutura.

Creio que não está difícil, vai ser o máximo implementar esse recurso, vai abrir infinitas possibilidades.

Vou instalar e testar pelo Selenium.

Obrigado pelas questões e sugestões Mikel, muito válido.

Se puder me ajudar com a verificação da estrutura utilizando a biblioteca MIE, seria o máximo.

Abraços.
#16744
Rahfaeu, boa noite.

Bem, estive dando uma olha rápida na estrutura do site, onde estão os produtos e, de acordo com a imagem que você enviou, cada linha (produto), esta armazenado em uma elemento Table com o atributo Class com o valor "toggle box".

Para conseguir acessar essa estrutura, terá que montar uma rotina que passe por todas as tabelas existentes na página e faça um teste, utilizando a instrução If, para identificar qual delas possui o atributo Class com o valor "toggle box".

Selecionando o elemento tabela que atende a situação, terá que acessar os elementos Td existentes na única linha da tabela. Através de um For ... Next, é possível acessar o índice desses elementos e capturar as informações de cada coluna (conforme imagem divulgada por você).
Essa instrução acima é uma sugestão para o uso da biblioteca Microsoft Internet Control. Se for utilizar o Selenium VBA, já usaria uma estrutura um pouco diferente, mas utilizando a mesma lógica.
Você disse que já tem algo pronto, que realiza a consulta. Se tiver dificuldade em seguir o roteiro acima, divulgue seu arquivo (com dados fictícios, porém com Chaves de Acesso verdadeiras), para que possa dar uma ajuda no procedimento.

Fico no aguardo.

Abraços e excelente início de semana.
#16746
Mikel, boa noite!

Excelente, sempre com boas noticias. rs

Vou entender melhor a estrutura das tabelas e campos e fazer alguns testes.
Assim que tiver algo escrito eu posto o arquivo aqui,

Muito Obrigado!
Bom inicio de semana, abraços!
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord