Ver Mensaje Individual
  #1  
Antiguo 10-04-2023
delphi50jmb delphi50jmb is offline
Miembro
 
Registrado: jul 2007
Posts: 24
Reputación: 0
delphi50jmb Va por buen camino
Unhappy Actualizar un archivo a partir de otros archivos

Hola amigos del foro.

Ya les habia comentado antes, que me e pasado desde Paradox a SQL Firebird.
En este cambio de base de datos, aproveche a migrar un sistema que tengo para una empresa que fabrica masas de wantan. E logrado resolver (con la ayuda de los integrantes de este foro), muchos de los problemas presentados en esta migracion. Pero ahora tengo un problema que por mas que le e dado vueltas, no logro resolver. Les explico de manera resumida:

Tengo una tabla con todos los datos de venta de los clientes. (NumeroDoc, Cliente, Monto, ..etc. ), otra tabla con el detalle de la compra. Y Por ultimo una tabla con los productos de venta. Hay ocaciones en que los clientes desisten de la compra y devuelven los productos. Por lo tanto debemos anular el documento de venta. Al operador del sistema, se le presentan diarimente las facturas de venta, el las puede seleccionar para pagar o anular. Al momento de seleccionar uno, o mas documentos para anulacion, el sistema debe ubicar el detalle de las facturas, tomar los codigos de los productos a anular, y actualizar el archivo de inventario.

Lo e intentado de muchas maneras, pero la verdad es que con SQL, no logro dar con la solucion para hacer esto.

Abajo les dejo un ejemplo de facturas, Detalle de facturas, e inventario. Las facturas marcadas con un (*), son las que se deberian anular, y deberia actualizar el inventario.

Agradeceria cualquier ayuda.

De antemano gracias.

Jose Miguel B.

Código Delphi [-]
// Facturas
Estado--Numero--Total    
  *     343   123.000      
        412    16.000     
  *     346   100.000  
  *     034    56.000 
  *     231    70.000   
        125   320.000  
        127   180.000  


// Detalle Facturas
Numero-Codigo-Cantidad    
 343     1      34     
 412     1       1 
 346     3      12 
 034     1      15
 231     2      22 
 125     3      98
 127     2      50


// Inventario
Codigo--Nombre-----Existencia      El inventario deberia quedar asi
   1   WANTAN NORMAL   100          ==> 149
   2   WANTAN GRANDE   100          ==> 122
   3   ARROLLADO PRIM  100          ==> 112
Responder Con Cita