Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-10-2018
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.917
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Cita:
Empezado por oscarac Ver Mensaje
la idea que tengo es barrer esa tabla hacerle EDIT e ir re-calculando, pero temo que ese proceso demore muchisimo y tampoco creo que sea el mas apropiado
Según entiendo el problema no es calcular sino que pasa si se hace un cambio en el pasado.

Hablando puramente por rendimiento, un RDBMS debería hacer updates o deletes/insert rapidísimo mientras no hayan bloqueos sobre la tabla (ie: transacciones concurrentes que alteren la tabla).

No te preocupes por rendimiento a menos que hagas mediciones. .

---

Por el lado contable, no debería existir el "borrado" sino el "enmendado". En las tablas de tipo contable no se borra, se adicionan registros que indican que se esta enmendando un proceso pasado. A la hora de reportes, simplemente se suma todo. Algo asi:

Cita:
Fecha Producto Cantidad Precio Promedio Delta Evento
10/2018 Producto x 100 2.50 3.50 2.50 Insertado
11/2018 Producto x 100 2.50 2.50 -1.0 Corregido
Esto es una salvacion a la hora de auditar porque algo no funciona.

Y ademas hace los reportes precisos. El 10/2018 la cant registrada es 3.50 . No 2.50 si lo que hicieras fuera desaparecer la informacion.
__________________
El malabarista.
Responder Con Cita
  #2  
Antiguo 02-10-2018
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
Entiendo,

en cuanto a la auditoria de la información, cualquier dato modificado se guarda en otras tablas que son invisibles para los usuarios en las cuales se puede verificar la información anterior
y tienes razon

el problema es el recalculo, no el calculo en si, por politica, se pueden realizar ventas sin stock y despues con el ingreso de la mercaderia vendida se regulariza, pero en cuestiones de costo los datos son incorrectos, es por eso necesario el recalculo.

lo que queria era ideas de como hacer el recalculo sin tener que "barrer" la data, pero veo que segun las caracteristicas que quiero implementar al modulo, esto tendra que ser asi (barrer)
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #3  
Antiguo 02-10-2018
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.738
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Yo tengo una tabla que tiene los datos básicos del documento y el cálculo del Precio Medio Ponderado.
A esto agrego una marca de validez.
Cuando hay una modificación/inserción o borrado, invalido los registros posteriores a la fecha.
De esta manera si encuentro un registro que es válido lo utilizo. Si es inválido llamo a una función que recalcula a partir de una fecha y me devuelve el registro que quiero.

Ejemplo:
  1. entra 10 a 100€
  2. Salen 5 a 90€
  3. Entran 7 a 90€
Código:
ID_ART, FECHA, ID_DOC_Y_LIN, UDS, PRECIO, STOCK, PMP,    LIFO,   FIFO,   VALIDO
1,      1/1/18, 1,           10,  100.00, 10,    100.00, 100.00, 100.00, 1
1,      4/1/18, 2,           -5,  100.00,  5,    100.00, 100.00, 100.00, 1
1,      9/1/18, 3,            7,   90.00, 12,     94.17,  90.00, 100.00, 1
...

Última edición por duilioisola fecha: 02-10-2018 a las 16:51:57.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Programa de promedio alenbebote Varios 34 22-05-2012 02:27:37
Promedio.. digitos primos .. luisito2011 Varios 3 07-05-2011 02:54:02
Promedio de fechas Pancholp1986 MySQL 6 23-03-2011 15:34:29
cálculo de promedio en delphi ??? Trident OOP 8 24-09-2010 20:18:40
promedio velezbunzl Varios 12 17-03-2009 00:07:32


La franja horaria es GMT +2. Ahora son las 09:02:54.


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