lsoto prueba de programas

This commit is contained in:
Luis
2026-10-20 21:52:20 -04:00
parent 4c9a841473
commit 16ef05828e
14 changed files with 8126 additions and 1822 deletions
Binary file not shown.
+4 -3
View File
@@ -99,7 +99,8 @@ FUNCTION VariacionPrecios()
LET estados.cond_pago = ''
LET estados.estilo = 0
DELETE FROM tmpcxccompara
# tmpcxccompara no existe en el .250 y nadie la lee (el reporte sale de memoria)
# DELETE FROM tmpcxccompara
FOREACH variaciones INTO balancesCE.*
@@ -176,8 +177,8 @@ FUNCTION VariacionPrecios()
END IF
INSERT INTO tmpcxccompara (tipo_cliente,sec_cliente,balance1,balance2)
VALUES (balancesCE.tipo_cliente,balancesCE.sec_cliente, balancesCE.valor,balancesCE.valor2)
# INSERT INTO tmpcxccompara (tipo_cliente,sec_cliente,balance1,balance2)
# VALUES (balancesCE.tipo_cliente,balancesCE.sec_cliente, balancesCE.valor,balancesCE.valor2)
OUTPUT TO REPORT balancesCE_prod_rpt(balancesCE.*, datos.fecha_final,estados.*)
END IF
+2 -1
View File
@@ -386,7 +386,8 @@ FUNCTION imprime_req(xnumreq)
c.id_kit,x3.observacion,d.celular1,d.contacto
ORDER BY b.num_req, c.cod_n,c.cod_grupo,c.cod_tipo,c.cod_sec
LET r_output="SVG"
# antes fijo SVG (en web no se ve): se deja elegir PDF/Excel/pantalla
CALL seleccionarSalida() RETURNING r_output
LET r_filename = "ccprmt010.4rp"
LET preview = 1
+2 -1
View File
@@ -64,7 +64,8 @@ FUNCTION ccprrp027()
LET tipo_papel = 1
CALL msgrp000(tipo_papel)
DELETE FROM tmpccprrp027
# tmpccprrp027 ya no se usa (el INSERT esta comentado) y no existe en el .250
# DELETE FROM tmpccprrp027
LET pflag = "N"
# LET tiposaldo='TODOS'
+2 -1
View File
@@ -180,7 +180,8 @@ OPEN c_vende USING fecha_inicial,fecha_final
FINISH REPORT reporte34
LET puede = NULL
DISPLAY BY NAME valor_total
# el formulario ccfmrp034 no tiene campo valor_total (error -1102); el total sale en el reporte
# DISPLAY BY NAME valor_total
{
LET opt = fgl_winquestion("Atencion","Desea Imprimir Reporte?",
"yes","yes|no","question",0)
+1704 -1702
View File
File diff suppressed because it is too large Load Diff
+5 -1
View File
@@ -58,6 +58,7 @@ FUNCTION impresion_fact(x,z)
unidad_med CHAR(3),
cantidad LIKE vetb00003.cantidad,
precio LIKE vetb00003.precio,
cantidad_2 DEC(12,2), -- igual que arr_disp de veprcs001 (si no, error -1260)
monto_fact DECIMAl(10,2)
END RECORD,
HANDLER om.SaxDocumentHandler,
@@ -67,7 +68,10 @@ FUNCTION impresion_fact(x,z)
START REPORT factura TO XML HANDLER HANDLER
FOR idx = 1 TO z.getLength()
OUTPUT TO REPORT factura(x.*,z[idx].*)
-- el reporte no lleva cantidad_2: se pasan los campos uno a uno
OUTPUT TO REPORT factura(x.*,z[idx].cod_n,z[idx].cod_grupo,z[idx].cod_tipo,z[idx].cod_sec,
z[idx].descrip_esp,z[idx].unidad_med,z[idx].cantidad,z[idx].precio,
z[idx].monto_fact)
END FOR
FINISH REPORT factura
END FUNCTION
File diff suppressed because it is too large Load Diff
+6 -2
View File
@@ -12,7 +12,9 @@ GRID
Condicion de Pago [f0]
Descripcion [f001 ]
Dias para Pagar [f02]
Defecto [df ]
Defecto [df ]
Codigo DGII [fcod]
Titulo DGII [ftit ]
[a]
@@ -34,7 +36,9 @@ a = vetb00012.status_t, noentry;
f003 = vetb00012.us_crea, noentry;
f004 = vetb00012.fech_crea, noentry;
f005 = vetb00012.us_mod, noentry;
f006 = vetb00012.fech_mod, noentry;
f006 = vetb00012.fech_mod, noentry;
fcod = vetb00012.codigo_dgii,autonext;
ftit = vetb00012.titulo_dgii,upshift;
end
INSTRUCTIONS
+2
View File
@@ -11,6 +11,7 @@ GRID
{
Codigo Ciudad [f9 ]
Descripcion [f001 ]
Municipio DGII [fmun ]
[a]
@@ -31,6 +32,7 @@ f002 = vetb00016.us_crea, noentry;
f003 = vetb00016.fech_crea, noentry;
f004 = vetb00016.us_mod, noentry;
f005 = vetb00016.fech_mod, noentry;
fmun = vetb00016.idmunicipio;
end
INSTRUCTIONS
+8 -1
View File
@@ -52,7 +52,14 @@ FUNCTION vepcad013()
LET int_flag = false
INPUT BY NAME ciudades.*
BEFORE INPUT NEXT FIELD descripcion
BEFORE INPUT
# id_ciudad es NOT NULL en el form: se propone aqui (antes se calculaba
# solo en AFTER INPUT y el OK se rechazaba con "field requires a value")
SELECT MAX(a.id_ciudad) INTO ciudades.id_ciudad
FROM vetb00016 a WHERE a.id_ciudad < 1000
LET ciudades.id_ciudad = NVL(ciudades.id_ciudad, 0) + 1
DISPLAY BY NAME ciudades.id_ciudad
NEXT FIELD descripcion
## Verifica que el codigo no exista en el catalogo de ciudades. Si existe,
## entonces despliega los datos del registro existente.
+90 -90
View File
@@ -1,91 +1,91 @@
MAIN
DEFINE usuarios,clave,nombre,nombre_v,uscrea,usmod VARCHAR(50),
impresor,ptipo SMALLINT,
pcotizacion,secCliente,psecvend INT,
porc_negocio DEC(8,2),
pneto,subtotal,descuento,itbis DEC(12,2),
pfecha DATE,
fechacrea,fechamod DATETIME YEAR TO MINUTE
DEFER INTERRUPT
CALL ARG_VAL(1) RETURNING usuarios
CALL ARG_VAL(2) RETURNING clave
CALL ARG_VAL(4) RETURNING impresor
CONNECT to "marmotech" AS "IFMX"
CONNECT TO "smarmotech" AS "MSSQL" USER usuarios USING clave
OPEN WINDOW vefmmt038 WITH FORM "vefmmt038"
INPUT BY NAME pcotizacion,porc_negocio WITHOUT DEFAULTS
AFTER FIELD pcotizacion
IF pcotizacion IS NOT NULL THEN
SET CONNECTION "MSSQL"
SELECT a.tipo_cliente,a.sec_cliente,a.nombre_cliente,
a.total_bruto,a.monto_desc,a.monto_itbi,a.total_neto,
a.sec_vend,CONVERT(CHAR(10), a.fecha,103),b.nom1_emp||' '||b.apell1_emp
INTO ptipo,seccliente,nombre,subtotal,descuento,itbis,pneto,
psecvend,pfecha,nombre_v
FROM vetb00050 a,adtb00003 b
WHERE a.cotizacion_no =pcotizacion AND
a.sec_vend = b.num_emp
IF STATUS = NOTFOUND THEN
CALL fgl_winmessage("ERROR","COTIZACION NO EXISTE","INFO")
NEXT FIELD pcotizacion
END IF
DISPLAY BY NAME ptipo,seccliente,nombre,subtotal,descuento,itbis,pneto,
psecvend,pfecha,nombre_v
LET porc_negocio = 0
LET uscrea = NULL
LET usmod = NULL
LET fechacrea = NULL
LET fechamod = NULL
SELECT a.porc_negocio,a.us_crea,a.fecha_crea,a.us_mod,a.fecha_mod
INTO porc_negocio,uscrea,fechacrea,usmod,fechamod
FROM vetb00086 a
WHERE a.cotizacion_no = pcotizacion
DISPLAY BY NAME porc_negocio,uscrea,fechacrea,usmod,fechamod
END IF
AFTER INPUT
IF INT_FLAG THEN
CALL fgl_winmessage("ERROR","OPERACION ABORTADA","INFO")
EXIT INPUT
ELSE
SELECT a.cotizacion_no FROM vetb00086 a WHERE a.cotizacion_no = pcotizacion
IF STATUS = NOTFOUND THEN
SET CONNECTION "MSSQL"
INSERT INTO vetb00086 (cotizacion_no,porc_negocio,us_crea,fecha_crea)
VALUES (pcotizacion,porc_negocio,usuarios,getdate())
SET CONNECTION "IFMX"
INSERT INTO vetb00086 (cotizacion_no,porc_negocio,us_crea,fecha_crea)
VALUES (pcotizacion,porc_negocio,usuarios,getdate())
ELSE
SET CONNECTION "MSSQL"
UPDATE vetb00086 SET vetb00086.porc_negocio =porc_negocio,
us_mod = usuarios,
fecha_mod = GETDATE()
WHERE cotizacion_no = pcotizacion
SET CONNECTION "IFMX"
UPDATE vetb00086 SET vetb00086.porc_negocio =porc_negocio,
us_mod = usuarios,
fecha_mod = getdate()
WHERE cotizacion_no = pcotizacion
END IF
CALL msg(13)
NEXT FIELD pcotizacion
END IF
END INPUT
LET INT_FLAG = FALSE
CLOSE WINDOW vefmmt038
MAIN
DEFINE usuarios,clave,nombre,nombre_v,uscrea,usmod VARCHAR(50),
impresor,ptipo SMALLINT,
pcotizacion,secCliente,psecvend INT,
porc_negocio DEC(8,2),
pneto,subtotal,descuento,itbis DEC(12,2),
pfecha DATE,
fechacrea,fechamod DATETIME YEAR TO MINUTE
DEFER INTERRUPT
CALL ARG_VAL(1) RETURNING usuarios
CALL ARG_VAL(2) RETURNING clave
CALL ARG_VAL(4) RETURNING impresor
CONNECT to "marmotech" AS "IFMX" USER usuarios USING clave
CONNECT TO "smarmotech" AS "MSSQL" USER usuarios USING clave
OPEN WINDOW vefmmt038 WITH FORM "vefmmt038"
INPUT BY NAME pcotizacion,porc_negocio WITHOUT DEFAULTS
AFTER FIELD pcotizacion
IF pcotizacion IS NOT NULL THEN
SET CONNECTION "MSSQL"
SELECT a.tipo_cliente,a.sec_cliente,a.nombre_cliente,
a.total_bruto,a.monto_desc,a.monto_itbi,a.total_neto,
a.sec_vend,CONVERT(CHAR(10), a.fecha,103),b.nom1_emp||' '||b.apell1_emp
INTO ptipo,seccliente,nombre,subtotal,descuento,itbis,pneto,
psecvend,pfecha,nombre_v
FROM vetb00050 a,adtb00003 b
WHERE a.cotizacion_no =pcotizacion AND
a.sec_vend = b.num_emp
IF STATUS = NOTFOUND THEN
CALL fgl_winmessage("ERROR","COTIZACION NO EXISTE","INFO")
NEXT FIELD pcotizacion
END IF
DISPLAY BY NAME ptipo,seccliente,nombre,subtotal,descuento,itbis,pneto,
psecvend,pfecha,nombre_v
LET porc_negocio = 0
LET uscrea = NULL
LET usmod = NULL
LET fechacrea = NULL
LET fechamod = NULL
SELECT a.porc_negocio,a.us_crea,a.fecha_crea,a.us_mod,a.fecha_mod
INTO porc_negocio,uscrea,fechacrea,usmod,fechamod
FROM vetb00086 a
WHERE a.cotizacion_no = pcotizacion
DISPLAY BY NAME porc_negocio,uscrea,fechacrea,usmod,fechamod
END IF
AFTER INPUT
IF INT_FLAG THEN
CALL fgl_winmessage("ERROR","OPERACION ABORTADA","INFO")
EXIT INPUT
ELSE
SELECT a.cotizacion_no FROM vetb00086 a WHERE a.cotizacion_no = pcotizacion
IF STATUS = NOTFOUND THEN
SET CONNECTION "MSSQL"
INSERT INTO vetb00086 (cotizacion_no,porc_negocio,us_crea,fecha_crea)
VALUES (pcotizacion,porc_negocio,usuarios,getdate())
SET CONNECTION "IFMX"
INSERT INTO vetb00086 (cotizacion_no,porc_negocio,us_crea,fecha_crea)
VALUES (pcotizacion,porc_negocio,usuarios,getdate())
ELSE
SET CONNECTION "MSSQL"
UPDATE vetb00086 SET vetb00086.porc_negocio =porc_negocio,
us_mod = usuarios,
fecha_mod = GETDATE()
WHERE cotizacion_no = pcotizacion
SET CONNECTION "IFMX"
UPDATE vetb00086 SET vetb00086.porc_negocio =porc_negocio,
us_mod = usuarios,
fecha_mod = getdate()
WHERE cotizacion_no = pcotizacion
END IF
CALL msg(13)
NEXT FIELD pcotizacion
END IF
END INPUT
LET INT_FLAG = FALSE
CLOSE WINDOW vefmmt038
END MAIN
+21 -19
View File
@@ -128,7 +128,8 @@ DEFINE handler om.SaxDocumentHandler, -- return value from fgl_report_commitCu
-- configure report engine; the functions prefixed fgl that are called here are part of the GRW API
LET r_filename = salida
IF fgl_report_loadCurrentSettings(r_filename) THEN -- load the .4rp file
LET r_output='SVG'
# antes fijo 'SVG' (en web no se ve): se deja elegir PDF/Excel/pantalla como en veprrp015
CALL seleccionarSalida() RETURNING r_output
LET preview=1
CALL fgl_report_selectDevice(r_output) -- changing default
CALL fgl_report_selectPreview(preview) -- changing default
@@ -137,7 +138,8 @@ DEFINE handler om.SaxDocumentHandler, -- return value from fgl_report_commitCu
### Loop para igualar tipo de venta a la variable ventas.ventas
IF handler IS NOT NULL THEN -- report engine was configured ok
START REPORT plan TO "f:\\master\\dummy"
# antes iba a un archivo fijo del server viejo (f:\master\dummy, error -1322): va al motor de reportes
START REPORT plan TO XML HANDLER handler
FOREACH act2 INTO ventas.ventas,ventas.cod_n,ventas.cod_grupo,ventas.cod_tipo,
ventas.cod_sec,ventas.unidad_acum,ventas.valor_acum,
ventas.descripcion_v,ventas.descrip_esp,ventas.descripcion_p,
@@ -150,23 +152,23 @@ IF handler IS NOT NULL THEN -- report engine was configured ok
#DEVOLUCIONES
LET ventas.valor_dev = 0
LET ventas.cantidad_dev = 0
SELECT SUM(a.cantidad_2),SUM(a.cantidad_2*b.precio)
INTO ventas.cantidad_dev,ventas.valor_dev
FROM iptb00006 a,vetb00003 b,cctb0001 c
WHERE a.cod_n = ventas.cod_n AND
a.cod_Grupo = ventas.cod_Grupo AND
a.cod_tipo = ventas.cod_tipo AND
a.cod_Sec = ventas.cod_Sec AND
a.cod_n = b.cod_n AND
a.cod_Grupo = b.cod_Grupo AND
a.cod_tipo = b.cod_tipo AND
a.cod_Sec = b.cod_Sec AND
c.fecha_orig between fecha_inicial and fecha_final AND
a.fact_no = b.factura AND
c.banco = a.cod_mov AND
a.num_doc = c.num_cheque AND
c.tipo_doc = 'NC' AND
a.status_t IS NULL
# num_cheque (texto) y fact_no (texto) se comparaban con columnas INT: SQL Server
# fallaba (-245) con valores no numericos. TRY_CONVERT devuelve NULL en vez de fallar.
SQL
SELECT SUM(a.cantidad_2), SUM(a.cantidad_2 * b.precio)
INTO $ventas.cantidad_dev, $ventas.valor_dev
FROM iptb00006 a, vetb00003 b, cctb00001 c
WHERE a.cod_n = $ventas.cod_n AND a.cod_grupo = $ventas.cod_grupo
AND a.cod_tipo = $ventas.cod_tipo AND a.cod_sec = $ventas.cod_sec
AND a.cod_n = b.cod_n AND a.cod_grupo = b.cod_grupo
AND a.cod_tipo = b.cod_tipo AND a.cod_sec = b.cod_sec
AND c.fecha_orig BETWEEN $fecha_inicial AND $fecha_final
AND TRY_CONVERT(INT, a.fact_no) = b.factura
AND c.banco = a.cod_mov
AND a.num_doc = TRY_CONVERT(INT, c.num_cheque)
AND c.tipo_doc = 'NC'
AND a.status_t IS NULL
END SQL
IF ventas.cantidad_dev IS NULL THEN
LET ventas.cantidad_Dev = 0
END IF
+2 -1
View File
@@ -221,7 +221,8 @@ DEFINE handler om.SaxDocumentHandler, -- return value from fgl_report_commitCu
-- configure report engine; the functions prefixed fgl that are called here are part of the GRW API
LET r_filename = salida
IF fgl_report_loadCurrentSettings(r_filename) THEN -- load the .4rp file
LET r_output='SVG'
# antes fijo 'SVG' (en web no se ve): se deja elegir PDF/Excel/pantalla
CALL seleccionarSalida() RETURNING r_output
LET preview=1
CALL fgl_report_selectDevice(r_output) -- changing default
CALL fgl_report_selectPreview(preview) -- changing default