Commit inicial: fuentes MBS ERP (Genero 6) + .gitignore + docs/SETUP_PC_MBS.md

This commit is contained in:
2026-08-18 20:59:52 -04:00
commit 454973e269
5978 changed files with 2664094 additions and 0 deletions
+699
View File
@@ -0,0 +1,699 @@
{
--------------------------------------------------------------------------
PROGRAMA : CCPRCS002
OBJETIVO : Este programa consulta la factura comercial
REALIZADO POR : JUAN SOTO
FECHA : Mayo 27,1997.
DIRECTOR PROYECTO : JOSE ALFREDO PAULINO
--------------------------------------------------------------------------
}
GLOBALS
"ccprgb000.4gl"
DEFINE p_cantidad INTEGER
DEFINE dias_v SMALLINT
DEFINE estatus,p_impresion CHAR(1)
DEFINE estado RECORD
nula CHAR(6),
impresa CHAR(6)
END RECORD
DEFINE cons_fact RECORD
cod_cia LIKE vetb00002.cod_cia,
ventas LIKE vetb00002.ventas ,
zona LIKE vetb00002.zona ,
factura LIKE vetb00002.factura,
fecha_factura LIKE vetb00002.fecha_factura,
tipo_cliente LIKE vetb00002.tipo_cliente,
sec_cliente LIKE vetb00002.sec_cliente,
cond_pago LIKE vetb00002.cond_pago,
porc_desc LIKE vetb00002.porc_desc,
prima_us LIKE vetb00002.prima_us,
orden LIKE vetb00002.orden,
fecha_orden LIKE vetb00002.fecha_orden,
conduce LIKE vetb00002.conduce,
fecha_conduce LIKE vetb00002.fecha_conduce,
porc_itbi LIKE vetb00002.porc_itbi,
sec_vend LIKE vetb00002.sec_vend,
fecha_embarque LIKE vetb00002.fecha_embarque,
sub_total LIKE vetb00002.sub_total,
desc_valor LIKE vetb00002.monto_desc,
itbi LIKE vetb00002.monto_itbi,
total_fact LIKE vetb00002.neto,
nombre CHAR(30),
direccion CHAR(50),
ciudad CHAR(15),
nombre_desc CHAR(25),
descrip CHAR(25),
nombre_vend CHAR(29),
cod_transp LIKE iptb00006.cod_transp,
sec_transp LIKE iptb00006.sec_transp,
nombre_tran LIKE vetb00015.nombre,
placa_transp LIKE iptb00006.placa,
cod_tarifa LIKE iptb00006.cod_tarifa,
descrip5 CHAR(15),
descrip6 CHAR(15),
descrip1 CHAR(30),
nombre_tipo CHAR(15),
compania CHAR(50)
END RECORD
DEFINE arr_disp ARRAY[200] OF RECORD
cod_n LIKE vetb00003.cod_n,
cod_grupo LIKE vetb00003.cod_grupo,
cod_tipo LIKE vetb00003.cod_tipo,
cod_sec LIKE vetb00003.cod_sec,
descrip_esp CHAR(40),
unidad_med CHAR(3),
cantidad LIKE vetb00003.cantidad,
precio LIKE vetb00003.precio,
monto_fact DECIMAl(10,2)
END RECORD
DEFINE t_valor,valor_p,balance DECIMAL(12,2)
DEFINE p_provincia SMALLINT
DEFINE p_descr1,p_descr2 CHAR(14)
MAIN
DEFER INTERRUPT
CALL ARG_VAL(1) RETURNING usuarios
CALL ARG_VAL(2) RETURNING clave
CALL ARG_VAL(3) RETURNING impresor
CONNECT to "smarmotech" USER usuarios USING clave
SELECT a.* INTO p_companias.* FROM companias a
CALL ccprcs002()
END MAIN
FUNCTION ccprcs002()
DEFINE tipo_fact,p_cod,p_bonif,cantidad_total,ano_act,ano_fe,credito,t_bonif,
provincia,factor INTEGER
DEFINE hoy DATE
DEFINE hice,primera,tipo_p,opt2,opt1,opt CHAR(1)
DEFINE tipo_f,tipo2 CHAR(2)
DEFINE cod_desc,tipo1 SMALLINT
DEFINE precio_ant,cantidad_ant,precio DECIMAL(12,3),
i,longitud SMALLINT
DEFINE tot_porc1,porc_desc,tot_porc DECIMAL(8,3)
OPTIONS
FORM LINE 3,
ERROR LINE 24,
COMMENT LINE 23,
PROMPT LINE 22
CLEAR SCREEN
OPEN FORM ccfmcs002 FROM "ccfmcs002"
DISPLAY FORM ccfmcs002
DISPLAY "ccprcs002" AT 1,1 ATTRIBUTE (blue)
LET hoy = today
DISPLAY hoy using "dd/mm/yy" AT 1,70 ATTRIBUTE (blue)
DISPLAY "Factura de Ventas" AT 3,30 ATTRIBUTE (blue)
DISPLAY "<Esc> Busqueda de Registro" AT 3,1 ATTRIBUTE (BOLD)
DISPLAY "<Delete> Cancela Operacion" AT 3,54 ATTRIBUTE (BOLD)
# WHENEVER ERROR CONTINUE
LABEL vuelve:
CONSTRUCT criterio ON a.cod_cia,a.ventas,a.zona,a.factura,a.fecha_factura,
a.tipo_cliente,a.sec_cliente,a.cond_pago,a.prima_us,
a.orden,a.fecha_orden,a.conduce,a.fecha_conduce,
a.porc_itbi,a.sec_vend,a.fecha_embarque
FROM cod_cia,ventas,zona,factura,fecha_factura,
tipo_cliente,sec_cliente,cond_pago,prima_us,orden,
fecha_orden,conduce,fecha_conduce,porc_itbi,sec_vend,
fecha_embarque
LET selec =
"SELECT a.cod_cia,a.ventas,a.zona,a.factura,a.fecha_factura, ",
" a.tipo_cliente,a.sec_cliente,a.cond_pago,a.porc_desc,a.prima_us, ",
" a.orden,a.fecha_orden,a.conduce,a.fecha_conduce,a.porc_itbi, ",
" a.sec_vend,a.fecha_embarque,a.sub_total,a.monto_desc, ",
" a.monto_itbi,a.neto ",
"FROM vetb00002 a WHERE ",criterio clipped, "Order by 1,4"
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = FALSE
RETURN
END IF
PREPARE comando FROM selec
DECLARE buscar SCROLL CURSOR FOR comando
OPEN buscar
FETCH FIRST buscar INTO cons_fact.*
IF status = notfound THEN
LET numero_msg = 3
CALL msg(numero_msg)
GOTO vuelve
END IF
IF STATUS < 0 THEN
CALL integridad()
IF bandera = 1 THEN
LET bandera = 0
RETURN
END IF
END IF
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = FALSE
RETURN
END IF
SELECT UNIQUE status_t,status_impresion INTO estatus,p_impresion
FROM vetb00002 WHERE factura = cons_fact.factura AND status_t IS NULL
IF estatus = "E" THEN
LET estado.nula = "NULA"
ELSE
LET estado.nula = "ACTIVA"
END IF
IF p_impresion = "S" THEN
LET estado.impresa = "Impresa"
ELSE
LET estado.impresa = "N Impre"
END IF
IF cons_fact.cod_cia = 1 THEN
LET cons_fact.compania = p_companias.nombre CLIPPED
END IF
IF cons_fact.ventas = 1 THEN
LET cons_fact.nombre_tipo = "L O C A L"
END IF
IF cons_fact.ventas = 2 THEN
LET cons_fact.nombre_tipo = "EXPORTACION"
END IF
SELECT a.nombre,a.cod_provincia INTO cons_fact.nombre,p_provincia
FROM vetb00004 a
WHERE a.tipo_cliente = cons_fact.tipo_cliente and
a.sec_cliente = cons_fact.sec_cliente and a.status_t IS NULL
SELECT b.calle,b.casa_num,b.barrio INTO p_descr1,p_descr2,descrip3
FROM vetb00005 b
WHERE b.tipo_cliente = cons_fact.tipo_cliente and
b.sec_cliente = cons_fact.sec_cliente and b.status_t IS NULL
SELECT q.nombre_provincia INTO cons_fact.ciudad
FROM vetb00020 q
WHERE q.cod_provincia = p_provincia AND q.status_t IS NULL
LET cons_fact.direccion =p_descr1 clipped," ",p_descr2 clipped,
", ",descrip3 clipped
IF cons_fact.ventas = "1" THEN
SELECT descrip INTO cons_fact.descrip1 FROM vetb00008
WHERE cod_zona = cons_fact.zona
END IF
IF cons_fact.ventas = "2" THEN
SELECT unique nom_pais INTO cons_fact.descrip1 FROM cotb00018
WHERE cod_pais = cons_fact.zona
END IF
SELECT @descrip,@dias INTO cons_fact.descrip,dias_v
FROM vetb00012 WHERE cond_pago = cons_fact.cond_pago
SELECT UNIQUE nom1_emp,apell1_emp INTO p_descr1,p_descr2
FROM adtb00003 WHERE num_emp = cons_fact.sec_vend
LET cons_fact.nombre_vend = p_descr1 clipped," ",p_descr2 clipped
DISPLAY BY NAME cons_fact.nombre_vend
{
SELECT UNIQUE a.cod_transp,a.sec_transp,a.placa,a.cod_tarifa
INTO cons_fact.cod_transp,cons_fact.sec_transp,cons_fact.placa_transp,
cons_fact.cod_tarifa
FROM iptb00006 a
WHERE (a.status_t IS NULL) AND (a.num_doc=cons_fact.factura) AND
(a.cod_mov IN (30,31)) and fecha_factura > "01/01/2007"
}
SELECT nombre INTO cons_fact.nombre_tran
FROM vetb00015
WHERE cod_transp = cons_fact.cod_transp and
sec_transp = cons_fact.sec_transp and status_t is null
SELECT descrip INTO descrip6 FROM vetb00023
WHERE cod_tarifa = cons_fact.cod_tarifa and status_t is null
LET cons_fact.descrip5 = descrip6[1,15] clipped
LET cons_fact.descrip6 = descrip6[16,30] clipped
DISPLAY BY NAME cons_fact.* ATTRIBUTE(blue)
MENU "Opciones"
COMMAND "Siguiente" "Ver proximo registro"
FETCH NEXT buscar INTO cons_fact.*,estado.*
IF STATUS = NOTFOUND THEN
LET numero_msg = 4
CALL msg(numero_msg)
END IF
IF cons_fact.cod_cia = 1 THEN
LET cons_fact.compania = p_companias.nombre CLIPPED
END IF
DISPLAY BY NAME cons_fact.compania
SELECT a.nombre,a.cod_provincia
INTO cons_fact.nombre,p_provincia
FROM vetb00004 a
WHERE a.tipo_cliente = cons_fact.tipo_cliente and
a.sec_cliente = cons_fact.sec_cliente and
a.status_t IS NULL
DISPLAY BY NAME cons_fact.nombre
SELECT b.calle,b.casa_num,b.barrio INTO descrip1,descrip2,descrip3
FROM vetb00005 b
WHERE b.tipo_cliente = cons_fact.tipo_cliente and
b.sec_cliente = cons_fact.sec_cliente and
b.status_t IS NULL
SELECT q.nombre_provincia INTO cons_fact.ciudad
FROM vetb00020 q
WHERE q.cod_provincia = p_provincia
AND q.status_t IS NULL
LET cons_fact.direccion = descrip1 clipped," ",descrip2 clipped,
", ",descrip3 clipped
DISPLAY BY NAME cons_fact.direccion,cons_fact.ciudad
IF cons_fact.ventas = "2" THEN
SELECT unique nom_pais INTO cons_fact.descrip1 FROM cotb00018
WHERE cod_pais = cons_fact.zona
END IF
DISPLAY BY NAME cons_fact.descrip1
SELECT @descrip,@dias INTO cons_fact.descrip,dias_v
FROM vetb00012
WHERE cond_pago = cons_fact.cond_pago
DISPLAY BY NAME cons_fact.descrip
SELECT nom1_emp,apell1_emp INTO p_descr1,p_descr2
FROM adtb00003 WHERE num_emp = cons_fact.sec_vend
LET cons_fact.nombre_vend = p_descr1 clipped," ",p_descr2 clipped
DISPLAY BY NAME cons_fact.nombre_vend
SELECT unique a.cod_transp,a.sec_transp,a.placa,a.cod_tarifa
INTO cons_fact.cod_transp,cons_fact.sec_transp,cons_fact.placa_transp,
cons_fact.cod_tarifa
FROM iptb00006 a
WHERE (a.status_t IS NULL) AND (a.num_doc = cons_fact.factura) AND
(a.cod_mov IN (30,31))
DISPLAY BY NAME cons_fact.cod_transp,cons_fact.sec_transp,
cons_fact.placa_transp
SELECT nombre INTO cons_fact.nombre_tran
FROM vetb00015
WHERE cod_transp = cons_fact.cod_transp and
sec_transp = cons_fact.sec_transp and
status_t is null
DISPLAY BY NAME cons_fact.nombre_tran
SELECT descrip INTO descrip6 FROM vetb00023
WHERE cod_tarifa = cons_fact.cod_tarifa and status_t is null
LET cons_fact.descrip5 = descrip6[1,15] clipped
LET cons_fact.descrip6 = descrip6[16,30] clipped
DISPLAY BY NAME cons_fact.descrip5,cons_fact.descrip6
DISPLAY BY NAME cons_fact.* ATTRIBUTE(blue)
#--------------------------------------------------------------------#
SELECT status_t,status_impresion INTO estatus,p_impresion FROM vetb00002
WHERE factura = cons_fact.factura AND status_t IS NULL
IF estatus = "E" THEN
LET estado.nula = "NULA"
ELSE
LET estado.nula = "ACTIVA"
END IF
IF p_impresion = "S" THEN
LET estado.impresa = "Impresa"
ELSE
LET estado.impresa = "N Impre"
END IF
#DISPLAY BY NAME estado.* ATTRIBUTE(blue)
COMMAND "Anterior" "Ver registro anterior"
FETCH PREVIOUS buscar INTO cons_fact.*,estado.*
IF STATUS = NOTFOUND THEN
LET numero_msg = 5
CALL msg(numero_msg)
END IF
IF cons_fact.cod_cia = 1 THEN
LET cons_fact.compania = p_companias.nombre CLIPPED
END IF
IF cons_fact.cod_cia = 2 THEN
LET cons_fact.compania = " "
END IF
DISPLAY BY NAME cons_fact.compania
SELECT a.nombre,a.cod_provincia
INTO cons_fact.nombre,p_provincia
FROM vetb00004 a
WHERE a.tipo_cliente = cons_fact.tipo_cliente and
a.sec_cliente = cons_fact.sec_cliente and
a.status_t IS NULL
DISPLAY BY NAME cons_fact.nombre
SELECT b.calle,b.casa_num,b.barrio INTO descrip1,descrip2,descrip3
FROM vetb00005 b
WHERE b.tipo_cliente = cons_fact.tipo_cliente and
b.sec_cliente = cons_fact.sec_cliente and
b.status_t IS NULL
SELECT q.nombre_provincia INTO cons_fact.ciudad
FROM vetb00020 q
WHERE q.cod_provincia = p_provincia
AND q.status_t IS NULL
LET cons_fact.direccion = descrip1 clipped," ",descrip2 clipped,
", ",descrip3 clipped
DISPLAY BY NAME cons_fact.direccion,cons_fact.ciudad
IF cons_fact.ventas = "2" THEN
SELECT unique nom_pais INTO cons_fact.descrip1 FROM cotb00018
WHERE cod_pais = cons_fact.zona
END IF
DISPLAY BY NAME cons_fact.descrip1
SELECT @descrip,@dias INTO cons_fact.descrip,dias_v
FROM vetb00012
WHERE cond_pago = cons_fact.cond_pago
DISPLAY BY NAME cons_fact.descrip
SELECT nom1_emp,apell1_emp INTO p_descr1,p_descr2
FROM adtb00003
WHERE num_emp = cons_fact.sec_vend
LET cons_fact.nombre_vend = p_descr1 clipped," ",p_descr2 clipped
DISPLAY BY NAME cons_fact.nombre_vend
SELECT unique a.cod_transp,a.sec_transp,a.placa,a.cod_tarifa INTO
cons_fact.cod_transp,cons_fact.sec_transp,cons_fact.placa_transp,
cons_fact.cod_tarifa
FROM iptb00006 a
WHERE a.status_t IS NULL AND a.num_doc = cons_fact.factura AND
a.cod_mov in (30,31)
DISPLAY BY NAME cons_fact.cod_transp,cons_fact.sec_transp,
cons_fact.placa_transp
SELECT nombre INTO cons_fact.nombre_tran
FROM vetb00015
WHERE cod_transp = cons_fact.cod_transp and
sec_transp = cons_fact.sec_transp and
status_t is null
DISPLAY BY NAME cons_fact.nombre_tran
SELECT descrip INTO descrip6 FROM vetb00023
WHERE cod_tarifa = cons_fact.cod_tarifa and
status_t is null
LET cons_fact.descrip5 = descrip6[1,15] clipped
LET cons_fact.descrip6 = descrip6[16,30] clipped
DISPLAY BY NAME cons_fact.descrip5,cons_fact.descrip6
DISPLAY BY NAME cons_fact.* ATTRIBUTE(blue)
#--------------------------------------------------------------------#
SELECT status_t,status_impresion INTO estatus,p_impresion FROM vetb00002
WHERE factura = cons_fact.factura AND status_t IS NULL
IF estatus = "E" THEN
LET estado.nula = "NULA"
ELSE
LET estado.nula = "ACTIVA"
END IF
IF p_impresion = "S" THEN
LET estado.impresa = "Impresa"
ELSE
LET estado.impresa = "N Impre"
END IF
#DISPLAY BY NAME estado.* ATTRIBUTE(blue)
COMMAND "Primero" "Ver primer registro"
FETCH FIRST buscar INTO cons_fact.*,estado.*
LET numero_msg = 5
CALL msg(numero_msg)
IF cons_fact.cod_cia = 1 THEN
LET cons_fact.compania = p_companias.nombre CLIPPED
END IF
IF cons_fact.cod_cia = 2 THEN
LET cons_fact.compania = " "
END IF
DISPLAY BY NAME cons_fact.compania
SELECT a.nombre,a.cod_provincia
INTO cons_fact.nombre,p_provincia
FROM vetb00004 a
WHERE a.tipo_cliente = cons_fact.tipo_cliente and
a.sec_cliente = cons_fact.sec_cliente and
a.status_t IS NULL
DISPLAY BY NAME cons_fact.nombre
SELECT b.calle,b.casa_num,b.barrio INTO descrip1,descrip2,descrip3
FROM vetb00005 b
WHERE b.tipo_cliente = cons_fact.tipo_cliente and
b.sec_cliente = cons_fact.sec_cliente and
b.status_t IS NULL
SELECT q.nombre_provincia INTO cons_fact.ciudad
FROM vetb00020 q
WHERE q.cod_provincia = p_provincia
AND q.status_t IS NULL
LET cons_fact.direccion = descrip1 clipped," ",descrip2 clipped,
", ",descrip3 clipped
DISPLAY BY NAME cons_fact.direccion,cons_fact.ciudad
IF cons_fact.ventas = "2" THEN
SELECT unique nom_pais INTO cons_fact.descrip1 FROM cotb00018
WHERE cod_pais = cons_fact.zona
END IF
DISPLAY BY NAME cons_fact.descrip1
SELECT @descrip,@dias INTO cons_fact.descrip,dias_v
FROM vetb00012
WHERE cond_pago = cons_fact.cond_pago
DISPLAY BY NAME cons_fact.descrip
SELECT nom1_emp,apell1_emp INTO p_descr1,p_descr2
FROM adtb00003
WHERE num_emp = cons_fact.sec_vend
LET cons_fact.nombre_vend = p_descr1 clipped," ",p_descr2 clipped
DISPLAY BY NAME cons_fact.nombre_vend
SELECT unique a.cod_transp,a.sec_transp,a.placa,a.cod_tarifa INTO
cons_fact.cod_transp,cons_fact.sec_transp,cons_fact.placa_transp,
cons_fact.cod_tarifa
FROM iptb00006 a
WHERE a.status_t IS NULL AND a.num_doc = cons_fact.factura
DISPLAY BY NAME cons_fact.cod_transp,cons_fact.sec_transp,
cons_fact.placa_transp
SELECT nombre INTO cons_fact.nombre_tran
FROM vetb00015
WHERE cod_transp = cons_fact.cod_transp and
sec_transp = cons_fact.sec_transp and
status_t is null
DISPLAY BY NAME cons_fact.nombre_tran
SELECT descrip INTO descrip6 FROM vetb00023
WHERE cod_tarifa = cons_fact.cod_tarifa and
status_t is null
LET cons_fact.descrip5 = descrip6[1,15] clipped
LET cons_fact.descrip6 = descrip6[16,30] clipped
DISPLAY BY NAME cons_fact.descrip5,cons_fact.descrip6
DISPLAY BY NAME cons_fact.* ATTRIBUTE(blue)
#-----------------------------------------------------------------#
SELECT status_t,status_impresion INTO estatus,p_impresion FROM vetb00002
WHERE factura = cons_fact.factura AND status_t IS NULL
IF estatus = "E" THEN
LET estado.nula = "NULA"
ELSE
LET estado.nula = "ACTIVA"
END IF
IF p_impresion = "S" THEN
LET estado.impresa = "Impresa"
ELSE
LET estado.impresa = "N Impre"
END IF
#DISPLAY BY NAME estado.* ATTRIBUTE(blue)
COMMAND "Ultimo" "Ver ultimo registro"
FETCH LAST buscar INTO cons_fact.*,estado.*
LET numero_msg = 4
CALL msg(numero_msg)
IF cons_fact.cod_cia = 1 THEN
LET cons_fact.compania = p_companias.nombre CLIPPED
END IF
IF cons_fact.cod_cia = 2 THEN
LET cons_fact.compania = " "
END IF
DISPLAY BY NAME cons_fact.compania
SELECT a.nombre,a.cod_provincia INTO cons_fact.nombre,p_provincia
FROM vetb00004 a
WHERE a.tipo_cliente = cons_fact.tipo_cliente and
a.sec_cliente = cons_fact.sec_cliente and a.status_t IS NULL
DISPLAY BY NAME cons_fact.nombre
SELECT b.calle,b.casa_num,b.barrio INTO descrip1,descrip2,descrip3
FROM vetb00005 b
WHERE b.tipo_cliente = cons_fact.tipo_cliente and
b.sec_cliente = cons_fact.sec_cliente and
b.status_t IS NULL
SELECT q.nombre_provincia INTO cons_fact.ciudad FROM vetb00020 q
WHERE q.cod_provincia = p_provincia AND q.status_t IS NULL
LET cons_fact.direccion = descrip1 clipped," ",descrip2 clipped,
", ",descrip3 clipped
DISPLAY BY NAME cons_fact.direccion,cons_fact.ciudad
IF cons_fact.ventas = "2" THEN
SELECT unique nom_pais INTO cons_fact.descrip1 FROM cotb00018
WHERE cod_pais = cons_fact.zona
END IF
DISPLAY BY NAME cons_fact.descrip1
SELECT @descrip,@dias INTO cons_fact.descrip,dias_v FROM vetb00012
WHERE cond_pago = cons_fact.cond_pago
DISPLAY BY NAME cons_fact.descrip
SELECT nom1_emp,apell1_emp INTO p_descr1,p_descr2 FROM adtb00003
WHERE num_emp = cons_fact.sec_vend
LET cons_fact.nombre_vend = p_descr1 clipped," ",p_descr2 clipped
DISPLAY BY NAME cons_fact.nombre_vend
SELECT unique a.cod_transp,a.sec_transp,a.placa,a.cod_tarifa INTO
cons_fact.cod_transp,cons_fact.sec_transp,cons_fact.placa_transp,
cons_fact.cod_tarifa
FROM iptb00006 a
WHERE a.status_t IS NULL AND a.num_doc = cons_fact.factura
DISPLAY BY NAME cons_fact.cod_transp,cons_fact.sec_transp,
cons_fact.placa_transp
SELECT nombre INTO cons_fact.nombre_tran
FROM vetb00015
WHERE cod_transp = cons_fact.cod_transp and
sec_transp = cons_fact.sec_transp and
status_t is null
DISPLAY BY NAME cons_fact.nombre_tran
SELECT descrip INTO descrip6 FROM vetb00023
WHERE cod_tarifa = cons_fact.cod_tarifa and
status_t is null
LET cons_fact.descrip5 = descrip6[1,15] clipped
LET cons_fact.descrip6 = descrip6[16,30] clipped
DISPLAY BY NAME cons_fact.descrip5,cons_fact.descrip6
DISPLAY BY NAME cons_fact.* ATTRIBUTE(blue)
#--------------------------------------------------------------------#
SELECT status_t,status_impresion INTO estatus,p_impresion FROM vetb00002
WHERE factura = cons_fact.factura AND status_t IS NULL
IF estatus = "E" THEN
LET estado.nula = "NULA"
ELSE
LET estado.nula = "ACTIVA"
END IF
IF p_impresion = "S" THEN
LET estado.impresa = "Impresa"
ELSE
LET estado.impresa = "N Impre"
END IF
#DISPLAY BY NAME estado.* ATTRIBUTE(blue)
COMMAND "Ver" "Ver datos generales de la Factura"
CALL visualizar()
CLEAR FORM
COMMAND "Retornar"
CLEAR FORM
EXIT MENU
END MENU
GOTO vuelve
END FUNCTION
FUNCTION visualizar()
LET int_flag = FALSE
DECLARE buscar1 CURSOR FOR
SELECT m.cod_n,m.cod_grupo,m.cod_tipo,m.cod_sec,a.descrip_esp,
a.unidad_med,m.cantidad,m.precio,m.cantidad*m.precio
FROM vetb00003 m, iptb00002 a
WHERE m.cod_n = a.cod_n AND m.cod_grupo = a.cod_grupo AND
m.cod_tipo = a.cod_tipo AND m.cod_sec = a.cod_sec AND
m.factura = cons_fact.factura
LET curr = 1
FOREACH buscar1 INTO arr_disp[curr].*
LET curr = curr + 1
END FOREACH
CALL SET_COUNT(curr - 1)
DISPLAY ARRAY arr_disp TO s_fact.*
IF int_flag THEN
LET numero_msg = 12
CALL msg(numero_msg)
LET int_flag = false
RETURN
END IF
END FUNCTION