Evaluando propuestas

Personalização De Lista - Vba Excel

Publicado el 03 Marzo, 2023 en Programación y Tecnología

Sobre este proyecto

Abierto

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

Categoría Programación y Tecnología
Subcategoría Programación Web
¿Cuál es el alcance del proyecto? Bug o cambio pequeño
¿Es un proyecto o una posición? Un proyecto
Actualmente tengo Tengo las especificaciones
Disponibilidad requerida Según se necesite
Roles necesarios Programador

Plazo de Entrega: 07 Marzo, 2023

Habilidades necesarias

VBA

Otros proyectos publicados por F. T. C.