JSOTO cgprmt022 adaptado a MARMOTECH y cgprmt037 fuera del proyecto MBS

cgprmt022 (actualizacion de tasa mensual, cgtb00084; la usa edprrp116):
- La fuente era la version de EXTERIOR, donde vetb00060/vetb00061 estan invertidas
  respecto a marmotech: el combo de moneda ahora sale de vetb00061 y los tipos de
  cliente de vetb00060.
- SELECT INTO tenia 5 columnas para 4 variables.
- Se quita la segunda escritura a marmotech.dbo.cgtb00084 (en marmotech es la misma tabla).
- cgfmmt022.4fd: formulario de EXTERIOR (campo Replicar y tabla de tipos de cliente);
  el de MARMOTECH (2022) no tenia esos campos (-1102).

mbsERP.4pw: se quita la aplicacion cgprmt037 y sus formularios cgfmmt037/cgfmwd006
(solo los usaba ese programa). Pertenece al proyecto EXTERIOR (sistema de tablas de la
BD exterior, aun no iniciado); las fuentes quedan en cgdir.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-16 17:05:01 -04:00
co-authored by Claude Opus 5.5
parent 0991743a80
commit f363390589
3 changed files with 45 additions and 54 deletions
+7 -14
View File
@@ -60,7 +60,8 @@ FUNCTION cgprmt022()
ON CHANGE tasa
DECLARE busca_tipos CURSOR for
SELECT DISTINCT a.tipo_cliente FROM vetb00061 a WHERE a.ventas = mtasa.ventas AND a.tipo_cliente > 14
-- En marmotech vetb00060 = tipo_cliente x moneda (en EXTERIOR es al reves: vetb00061)
SELECT DISTINCT a.tipo_cliente FROM vetb00060 a WHERE a.ventas = mtasa.ventas AND a.tipo_cliente > 14
LET i =1
FOREACH busca_tipos INTO clientes[i].*
@@ -82,7 +83,7 @@ FUNCTION cgprmt022()
CALL msg(16)
NEXT FIELD tasa
END IF
SELECT DISTINCT a.ano,a.mes,a.ventas,a.tipo_cliente,a.tasa
SELECT DISTINCT a.ano,a.mes,a.ventas,a.tipo_cliente
INTO mtasa.ano,mtasa.mes,mtasa.ventas,clientes[i].tipo_cliente1
FROM cgtb00084 a WHERE a.ano = mtasa.ano AND a.mes = mtasa.mes AND
a.ventas = mtasa.ventas AND a.tipo_cliente = clientes[i].tipo_cliente1
@@ -101,17 +102,9 @@ FUNCTION cgprmt022()
END IF
# PARA LA BASE DE DATOS MARMOTECH
EXECUTE selecciona USING mtasa.ano,mtasa.mes,mtasa.ventas,clientes[i].tipo_cliente1
IF STATUS = NOTFOUND THEN
IF clientes[i].tipo_cliente1 IS NOT NULL THEN
EXECUTE adicionar USING mtasa.ano,mtasa.mes,clientes[i].tipo_cliente1,mtasa.ventas,mtasa.tasa
END IF
ELSE
EXECUTE actual USING mtasa.tasa,mtasa.ano,mtasa.mes,mtasa.ventas,clientes[i].tipo_cliente1
END IF
-- (la version EXTERIOR repetia aqui el INSERT/UPDATE en marmotech.dbo.cgtb00084;
-- conectado a marmotech es la misma tabla: se quito la doble escritura)
END IF
END FOR
LET pano = mtasa.ano
@@ -144,7 +137,7 @@ FUNCTION cventas()
LET pventas = ui.combobox.forname("formonly.ventas")
DECLARE bventas CURSOR FOR
SELECT a.ventas,a.descripcion FROM vetb00060 a
SELECT a.ventas,a.descripcion FROM vetb00061 a -- monedas en marmotech
CALL pventas.clear()
FOREACH bventas INTO kventas,dventas