Evaluating bids

Personalização De Lista - Vba Excel

Published on the March 03, 2023 in IT & Programming

About this project

Open

Olá!
tenho um software de desenho que se chama topsolid.
DESENHAMOS Móveis como por exemplo armário guarda roupas.
No momento de fabricar os móveis projetados, é gerada em .Txt uma lista (bom) de produtos e materiais e suas hierarquias para formar a engenharia de montagem do produto.Antes da importação deste arquivo em nosso sistema de gestão (erp) precisamos de um script no vba do excel para fazer um tratamento nessa lista reorganizando algumas informações e criando novos registros.
Etapas da personalização
1 - criar uma nova linha serviço de corte para cada registro que atenda critérios descritos mais à frente;
2 - criar uma nova linha serviço de filetação para cada registro que atenda critérios descritos mais à frente  ;
3 - criar uma nova linha serviço de usinagem para cada registro que atenda critérios descritos mais à frente  ;4 - criar uma linha "filho" para mdf cortado que estejam sem "pai" adicionando um código único para o pai conforme descrito mais à frente;5 - agrupar em uma mesma linha e somar as quantidades de materiais com mesmo código na mesma posição da hierarquia;
informações sobre a lista
- formato de tabela em txt;
- cada linha é um produto, componente, material, ou serviço;- cada coluna é um campo específico (código, largura, altura, descrição, quantidade, etc);
- a ordem das linhas é de acordo com a hierarquia da engenharia do produto;
- a primeira coluna é o nível, que indica também a hierarquia da engenharia;
ex simplificado:
nivel 0: nicho de madeira com 2 prateleiras (produto)nível 1: nicho (componente)nível 2: madeira mdf (material)nível 2: fita de borda (material)nível 2: corte (serviço)nível 1: prateleira "a" (componente)nível 2: madeira mdf (material)nível 2: fita de borda (material)nível 2: corte (serviço)nível 1: prateleira "b" (componente)nível 2: madeira mdf (material)nível 2: fita de borda (material)
nível 2: corte (serviço)
1. Rotina para criar serviço de corte:
- criar 1 nova linha ref a serviço de corte logo abaixo cada linha contendo "peca" ou "seccionadora" na coluna k (tipo);- preencher em cada  linha criada:level: copiar o mesmo valor do registro original acima do que está sendo criadoreference: "corte"designation: "serviço de corte"count: "1"demais campos deixar em branco
2. Rotina para criar serviço de filetação:
- criar 1 nova linha referente ao serviço de filetação logo abaixo de cada linha contendo "fita de borda" ou "edge shape" na coluna k (tipo);
- preencher em cada nova linha criada:level: copiar o mesmo valor do registro original acima do que está sendo criadoreference: "filetação"
designation: "serviço de filetação"count: "1"demais campos deixar em branco
3. Rotina para criar serviço de usinagem:
- criar uma nova linha referente ao serviço de filetação  logo abaixo de cada linha contendo "usinagem" na coluna k (usinagem_a);
- preencher em cada nova linha criada:level: copiar o mesmo valor do registro original acima do que está sendo criadoreference: "usinagem"
designation: "serviço de  usinagem"count: "1"demais campos deixar em branco- criar outra nova linha referente ao serviço de filetação  logo abaixo de cada linha contendo "usinagem" na coluna k (usinagem_b);
- preencher em cada nova linha criada:reference: "usinagem"
designation: "serviço de  usinagem"count: "1"demais campos deixar em branco
4. Criar linha filho:- considerar como "pai" de um material a primeira linha acima da linha "filho" que tenha na coluna a (level) um número a menos que a coluna "filho"- para cada linha cujo pai não tenha  "panel process" ou "processo de painel" na coluna k (tipo), criar uma nova linha logo acima;- nessa nova linha preencher:- level: copiar o mesmo da linha original- reference: copiar o valor do pai e concatenar um "." E concatenar com a coluna P (ELEMENT_IDENTIFIER)- DESIGNATION: Copiar da linha original- type: "peca / processo de painel / panel process"- demais campos: copiar da linha original
5. COMPACTAR LINHAS
- ENCONTRAR LINHAS QUE SÃO EXATAMENTE IGUAIS EM TODOS OS CAMPOS COM EXCEÇÃO DO "ELEMENT_IDENTIFIER" E JUNTAR EM UMA MESMA LINHA SOMANDO OS VALORES DO CAMPO "COUNT"

EM ANEXO LISTA TXT GERADA PELO TOPSOLID

Category IT & Programming
Subcategory Web development
What is the scope of the project? Small change or bug
Is this a project or a position? Project
I currently have I have specifications
Required availability As needed
Roles needed Developer

Delivery term: March 07, 2023

Skills needed

VBA

Other projects posted by F. T. C.