Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-04-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Descontar pedazos de un todo

Hola a todos.
Tengo un problema que no he podido solucionar, os lo explico:
Tengo una pieza.
Esta pieza tiene una medida determinada.
A esta pieza se le cortan (pedazos de diferentes medidas), los cuales se convierten en piezas mas pequeñas.
Una vez cortados los pedazos, en ciertas ocasiones pueden sobrar otros pedazos mas pequeños que son desechados.
El problema:
Hacer desgloses de la pieza no es un grave problema, seria un asunto de sacarle el área e ir descontando los pedazos, asi se sabría lo que queda de esta.
El asunto es que no es una pieza, son muchas, ejemplo:
Piezas: 5
Area de las piezas: 27.5 m2
Pieza a descontar #1: area: 2.25 m2
Pieza a descontar #2: area: 0.90 m2
Area restante de las piezas: 24.35 m2

Bueno, se ve facil hasta ahi.
Empece con 5 piezas y un area de 27.5.
Ahora tengo 4.427 piezas.

La pregunta es cuanto me queda de una pieza en particular?.
Como saber que me queda de la pieza 1- 1.25 m2 etc.

Espero explicarme bien.
Se os ocurre como puedo identificar la cantidad restante por pieza?
Cualquier opción sera bienvenida.
Gracias
Saludos
Responder Con Cita
  #2  
Antiguo 06-04-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Hola amigo Carlos, no se si he comprendido bien el problema, pero creo que puede servirte esto:

1. Estructuración de la base de datos:

Necesitamos al menos dos tablas, por simplicidad las denominaré Piezas y Cortes.
La idea es que Una pieza tenga varios cortes y un corte pertenece a una única pieza.
En la tabla Piezas tendríamos algo como:
ID-Pieza Area Nombre
1 50 A
2 20 B
3 10 C

En la tabla Cortes algo como esto:
ID-Corte ID-Pieza Tamaño
1 1 20
2 1 10
3 2 15
4 3 10

2. Como aplicar la consulta:
Por lo visto necesitas saber cuanto de las piezas han quedado disponible, esto se podría conseguir con algo como esto:
Código SQL [-]
select Pieza.Nombre, Area, Disponible
from Piezas, Cortes
where (Area - (select sum(Tamaño) from Piezas where Piezas.ID-Pieza = Cortes.ID-Pieza) > 0) as Disponible
order by Piezas.Nombre

Es muy posiblemente que el SQL necesite un poco de pulida, lo hice muy de memoria... en estos momentos estoy que me caigo de sueño y mi cerebro está un poco OFF.

Al menos creo que se entiende la idea.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #3  
Antiguo 06-04-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Gracias amigo.
He pensado en algo similar, el asunto es que tendría que generar una tabla adicional con una numeración de cada pieza, eso es lo que me ha detenido un poco ya que en la practica es un poco complicado hacerlo.
De todos modos tu idea es extraordinaria, me parece muy interesante, la voy a analizar.
Cuando descanses si se te ocurre algo mas, te lo agradeceré.
Saludos
Responder Con Cita
  #4  
Antiguo 07-04-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Buen amigo, me he quedado pensando en lo que haz dicho:

Cita:
Empezado por Caral Ver Mensaje
(...)el asunto es que tendría que generar una tabla adicional con una numeración de cada pieza(...)
Y me he sentido un tanto intranquilo. Me confunde que digas "con una numeración de cada pieza" y "tabla adicional". ¿Entonces todavía no tienes una tabla en donde llevas el registro de las piezas? Porque si la tienes creería que bastaría con agregarle los campos necesarios para cumplir con este propósito.

He pensado en otro enfoque, tal vez, un tanto más complicado... para evitar esa consulta anidada.

La idea es que a medida que se ingresan los cortes ir actualizando la suma total en la tabla piezas. Por tanto la tabla Piezas ahora tendría otro campo más, digamos que lo llamamos AreaCorte. Es decir:
ID-Pieza Nombre ... Area AreaCorte
1 Pieza A 20 12
2 Pieza B 30 15
...

De modo que "relajamos" la consulta:
Código SQL [-]
select ID-Pieza, Nombre, ... Area, (Area - AreaCorte) as Disponible
from Piezas
where ....

Si estás con Access y tienes una buena cantidad de piezas y cortes... creería que tener consultas anidadas de dicha manera puede bajar un poco la perfomance.

Bueno es otro modo de ver el problema.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #5  
Antiguo 07-04-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Gracias amigo por tus recomendaciones, estoy analizando todo.
Gracias.
Saludos
Responder Con Cita
  #6  
Antiguo 07-04-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
egostar Va camino a la fama
No se si estoy entendiendo bien el asunto que te hace escribir este hilo amigo, pero pienso que esto mas bien es asunto de algoritmos en lugar de bases de datos.

Aquí te dejo un documento que espero te ayude.

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #7  
Antiguo 07-04-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Es interesante el articulo, pero el concepto es aunque algo similar difiere en algunas cosas.
En el caso del articulo se parte de una medida X y una serie de cortes que van a ser catalogados en difirentes tipos, osea para:
pieza X1- 30 cortes, X sobrante
pieza X2- 27 cortes, X sobrante, etc
El costeo de la pieza es relativamente simple de esa manera.

El asunto con mi problema es un poco mas sencillo y complejo a la vez.
Este si tiene que ver con tabla.
Es un poco complicado explicarlo (no me envies a leer la guia)
Estoy trabajando en como planear este asunto.
Cualquier cosa, te lo comento.
Gracias por el aporte.
Saludos
Responder Con Cita
  #8  
Antiguo 07-04-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por Caral Ver Mensaje
......El asunto con mi problema es un poco mas sencillo y complejo a la vez.
Es un poco complicado explicarlo (no me envies a leer la guia)......
Está bien, que sea la última vez, para la próxima te mando a......... leer no solo la guía de estilo....

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #9  
Antiguo 07-04-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Carlos,

Después de haber visto muy de pasada rápida al documento que señala Eliceo, pues me he quedado pensando "¿qué tiene que ver esto con lo que está haciendo Carlos?" y luego recordé sobre tu negocio. Y luego dije "¡Pues claro!... que tonto he sido! Es posible que Carlos esté buscando el modo de determinar el modo de maximizar el uso de material!"

Y bueno, esto me ha dejado más "picando".
Me gustaría, que en cuanto tengas tiempo, que trates de exponer aqui el tema y tus análisis del asunto. Me gustaría saber cuales son los límites de los requisitos: donde termina lo fácil y donde comienza lo dificil.

El problema es uno, y aqui somos muchos. Le podemos hacer frente.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #10  
Antiguo 07-04-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Bueno ya que quieres pensar un rato, ahi va.
Lo que tengo actualmente:

La Lamina entra en bodega.
Esta entra en cantidades, osea:
lamina tipo1, cantidad 100.
lamina tipo2, cantidad 500.
esto entra como materia prima a la tabla materiales.

programa 1:
Envia a produccion (el corte) de diferentes piezas. (tabla ordenAcrilico)

Programa 2:
Recibe la orden: (ve la tabla OrdenAcrilico)
piezas a cortar:
15 piezas Ibiza
40 piezas mallorca, etc.
El operario va cortando y una por una indica.
(Descuenta de la tabla (ordenAcrilico) e inserta el corte en la tabla (ordenAcrilicoItem)

1 pieza Ibiza, lamina tipo1
1 pieza Ibiza, lamina tipo1
1 pieza Ibiza, lamina tipo2
1 pieza Mallorca, lamina tipo1
1 pieza Mallorca, lamina tipo1

Inmediatamente despues escoge el tipo de lamina: (tabla materiales)
Y descuenta la parte de la lamina que uso, ejemplo:

lamina tipo1, cantidad 100
1 pieza tipo Ibiza, material usado 0.66.
Saldo lamina tipo1, cantidad 99.34

Bueno, el asunto esta bien hasta ahi, se que empece con 100 y ahora tengo 99.34

El problema viene en que no se sabe de que lamina corto ya que como sabes hay sobrantes, estos no me importan, pero si por ejemplo hago otro corte, los numeros no daran.

Mi interes es saber de que lamina corto y cuanto queda de esa lamina en especifico, si se puee sacar otra pieza o solo sera desperdicio.

Lo unico que me quedaria es enumerar las laminas a la hora de pasarla a corte y definirles su area.

No se si me captas.
Saludos
Responder Con Cita
  #11  
Antiguo 07-04-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por Caral
El problema viene en que no se sabe de que lamina corto ya que como sabes hay sobrantes, estos no me importan, pero si por ejemplo hago otro corte, los numeros no daran.
Bueno, aquí hay algo que seguro se me escapa, pero pienso que una lámina se debe considerar "sobrante" hasta que no se pueda obtener mas cortes de las medida que tú mismo indiques, de tal forma que no debería de haber sobrantes >= a la medida más pequeña que trabajes.

No se si me explico.

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #12  
Antiguo 07-04-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Efectivamente No hay sobrantes menores de la medida menor que necesite, pero de que lamina sobro??.

Asumamos que mi corte minimo es de: 0.33

Ejemplo:
lamina tipo 1, cantidad 100.

corte 1, 0.66, lamina tipo 1 cantidad 99.34
corte 2, 0.66, lamina tipo 1 cantidad 98.68
corte 3, 0.37, lamina tipo 1 cantidad 98.31

Los numeros me dirian que si mi corte minimo es de 0.33 y mi sobrante actual es de 98.31, se empezaría una lamina nueva, pero si sigues con ese descuento los numeros no dan.

Tanto es asi que el problema que tengo actualmente es que la lamina en la tabla materiales en ocasiones esta en negativo y si hay corte.

No se si me explico, el problema es la definicion de la lamina, una por una.
Saludos
Responder Con Cita
  #13  
Antiguo 07-04-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
egostar Va camino a la fama
Veamos, no entiendo tus cuentas

Cita:
Empezado por Caral
Lamina tipo 1, cantidad 100.
100 que

Cita:
Empezado por Caral
La menor medida es de 0.33 y te sobran 98.31
Porque dices que se empezaría una lamina nueva.....


Ahora, seria bueno saber cual es el proceso, quiero decir, como ingresan a tu programa esas cantidades, no hablo del código, sino de la capa 8 del Modelo OSI (human interface )

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney

Última edición por egostar fecha: 07-04-2008 a las 20:16:38.
Responder Con Cita
  #14  
Antiguo 07-04-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Cita:
Empezado por egostar Ver Mensaje
100 que
100 laminas tipo X
Cita:
Empezado por egostar Ver Mensaje
sino de la capa 8 del Modelo OSI (human interface )
Ahora si me jodiste.
Saludos
Responder Con Cita
  #15  
Antiguo 07-04-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Bueno... por empezar estoy carburando la idea.

Y quiero decir amigo Carlos, que en tu último ejemplo, me parece que estás mezclando cantidad con área. O yo estoy entendiendo mal.

¿Tu dices que entra 100 láminas, o que el área de la lámina es de 100?

Ahora me tengo que desaparecer, pero ni bien vuelva estaré posteando de nuevo.

Recuerdo haber leído algo de este tema, de como manejar esto... dejame hacer memoria...

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #16  
Antiguo 07-04-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Debo especificar mejor.
100 unidades
0.66 es el porcentaje de una lamina

ejemplo:

1 lamina 100%

1 corte 0.66 %
1 corte 0.34 %
Total sobra 0%

Saludos
Responder Con Cita
  #17  
Antiguo 07-04-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por Caral Ver Mensaje
Hola
100 laminas tipo X
Entonces, menos me cuadran tus cifras, porque 100 piezas solo sería posible si todas fueran de la misma medida, yo haria esa operación a partir de la medida de la lámina y no del número de piezas.

Salud OS

Medida de Lamina 27.5 m2

Código:
27.50	0.66	26.84
26.84	0.66	26.18
26.18	0.37	25.81
25.81	0.66	25.15
25.15	0.37	24.78
24.78	0.37	24.41
24.41	0.66	23.75
23.75	0.66	23.09
23.09	0.37	22.72
22.72	0.66	22.06
22.06	0.66	21.40
21.40	0.37	21.03
21.03	0.66	20.37
......
Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #18  
Antiguo 07-04-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Otra a la tabla materiales entra como cantidad, no puede entrar ni como area ni como porcentaje.
Saludos
Responder Con Cita
  #19  
Antiguo 07-04-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por Caral Ver Mensaje
Hola
Debo especificar mejor.
100 unidades
0.66 es el porcentaje de una lamina

ejemplo:

1 lamina 100%

1 corte 0.66 %
1 corte 0.34 %
Total sobra 0%

Saludos
Vaya

Pues no es lo mismo que pensé

Ya corrijo lo que he dicho

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #20  
Antiguo 07-04-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por Caral Ver Mensaje
Hola
Otra a la tabla materiales entra como cantidad, no puede entrar ni como area ni como porcentaje.
Saludos
Pues estoy muy liado con tus cuentas amigo Caral, de entrada no puedes decir que una lamina puedes hacer 100 unidades si una de ellas ocupa el 66% de la lámina

Lo correcto sería que vayas "restando" el porcentaje de cada una de las láminas cortadas en relación al tamaño de la lámina.

Por ejemplo

Código:
Residuo	% Corte	Corte
27.50	33%	9.08
18.43	20%	5.50
12.93	33%	9.08
3.85	33%	9.08 <--- No es posible hacer esto
Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Ayuda con sql para descontar articulo. Petolansa Varios 15 16-11-2007 00:04:27
Mas "pedazos" de informacion de Delphi! Epachsoft Noticias 0 16-02-2007 08:23:14
¿Estamos haciendo pedazos nuestro idioma? Héctor Randolph Debates 8 12-01-2005 17:21:58


La franja horaria es GMT +2. Ahora son las 03:22:53.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi