VERSION 6.01.28

- Cambio en e manifiesto para corregir el "teclado" fantasma.
This commit is contained in:
2026-02-03 09:53:23 -06:00
parent af1f4b9ead
commit 10a2c84997
6 changed files with 62 additions and 39 deletions

View File

@@ -2498,32 +2498,51 @@ Public Sub RecalcularInventario
' 3. FILTRA (Ignora) los RMIs usando PE_CEDIS <> 'DUR' y el nombre '%CAMBIO%'.
' 4. Actualiza CAT_GUNAPROD2 masivamente.
' Dim sql As String = _
' "UPDATE CAT_GUNAPROD2 " & _
' "SET CAT_GP_ALMACEN = ( " & _
' " SELECT (IFNULL(T5.CAT_GP_ALMACEN, 0) - IFNULL(Ventas.CantidadVendida, 0)) " & _
' " FROM CAT_GUNAPROD5 T5 " & _
' " LEFT JOIN ( " & _
' " SELECT PE_PROID, SUM(PE_CANT) AS CantidadVendida " & _
' " FROM PEDIDO " & _
' " WHERE PE_CLIENTE <> '0' " & _
' " AND PE_CEDIS <> 'DUR' " & _
' " AND PE_PRONOMBRE NOT LIKE '%CAMBIO%' " & _
' " GROUP BY PE_PROID " & _
' " ) Ventas ON T5.CAT_GP_ID = Ventas.PE_PROID " & _
' " WHERE T5.CAT_GP_ID = CAT_GUNAPROD2.CAT_GP_ID " & _
' ") " & _
' "WHERE EXISTS ( " & _ '<-- ESTA ES LA CLAVE QUE EVITA LOS NULLS
' " SELECT 1 FROM CAT_GUNAPROD5 T5 " & _
' " WHERE T5.CAT_GP_ID = CAT_GUNAPROD2.CAT_GP_ID " & _
' ")"
Dim sql As String = _
"UPDATE CAT_GUNAPROD2 " & _
"SET CAT_GP_ALMACEN = ( " & _
" SELECT (IFNULL(T5.CAT_GP_ALMACEN, 0) - IFNULL(Ventas.CantidadVendida, 0)) " & _
" FROM CAT_GUNAPROD5 T5 " & _
" LEFT JOIN ( " & _
" SELECT PE_PROID, SUM(PE_CANT) AS CantidadVendida " & _
" FROM PEDIDO " & _
" WHERE PE_CLIENTE <> '0' " & _
" AND PE_CEDIS <> 'DUR' " & _
" AND PE_PRONOMBRE NOT LIKE '%CAMBIO%' " & _
" GROUP BY PE_PROID " & _
" ) Ventas ON T5.CAT_GP_ID = Ventas.PE_PROID " & _
" WHERE T5.CAT_GP_ID = CAT_GUNAPROD2.CAT_GP_ID " & _
") " & _
"WHERE EXISTS ( " & _ '<-- ESTA ES LA CLAVE QUE EVITA LOS NULLS
" SELECT 1 FROM CAT_GUNAPROD5 T5 " & _
" WHERE T5.CAT_GP_ID = CAT_GUNAPROD2.CAT_GP_ID " & _
")"
"UPDATE CAT_GUNAPROD2 " & _
"SET CAT_GP_ALMACEN = ( " & _
" SELECT (IFNULL(INV.CI_INVENTARIO, 0) - IFNULL(Ventas.CantidadVendida, 0)) " & _
" FROM CAT_INVENTARIO INV " & _
" LEFT JOIN ( " & _
" SELECT PE_PROID, SUM(PE_CANT) AS CantidadVendida " & _
" FROM PEDIDO " & _
" WHERE PE_CLIENTE <> '0' " & _
" AND PE_CEDIS <> 'DUR' " & _
" AND PE_PRONOMBRE NOT LIKE '%CAMBIO%' " & _
" GROUP BY PE_PROID " & _
" ) Ventas ON INV.CI_IDPROD = Ventas.PE_PROID " & _
" WHERE INV.CI_IDPROD = CAT_GUNAPROD2.CAT_GP_ID " & _
") " & _
"WHERE EXISTS ( " & _
" SELECT 1 FROM CAT_INVENTARIO INV " & _
" WHERE INV.CI_IDPROD = CAT_GUNAPROD2.CAT_GP_ID " & _
")"
' Ejecutamos el cálculo masivo
Starter.skmt.ExecNonQuery(sql)
Starter.skmt.TransactionSuccessful
If Starter.Logger Then Log("Inventario Sincronizado (Excluyendo RMIs)")
Catch
Log("Error al recalcular inventario: " & LastException)
End Try