primer commit subida
This commit is contained in:
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@@ -0,0 +1,137 @@
|
||||
IMPORT OS
|
||||
|
||||
GLOBALS "prprgb000.4gl"
|
||||
|
||||
DEFINE d_tipos,mensaje,f_tipos,filepath,extension,xdestino,l_file,tmpdir_file STRING
|
||||
|
||||
FUNCTION busca_dibujos(xnum_oc)
|
||||
DEFINE nombre_cliente,vendedor CHAR(60),
|
||||
documentos DYNAMIC ARRAY OF RECORD
|
||||
idx INT,
|
||||
tipo_file CHAR(20),
|
||||
bodega SMALLINT,
|
||||
num_doc INT,
|
||||
nombre_file VARCHAR(100),
|
||||
filedestino BYTE,
|
||||
envio_correo CHAR(10)
|
||||
|
||||
END RECORD,
|
||||
p_res,i SMALLINT,
|
||||
xnum_oc,cuenta INT
|
||||
|
||||
LET i = 1
|
||||
LET prtb08.num_oc = xnum_oc
|
||||
# VERIFICA QUE LA ORDEN TENGA DIBUJOS
|
||||
SELECT ISNULL(COUNT(*),0) INTO cuenta FROM prtb00029 a WHERE a.num_oc = prtb08.num_oc AND a.tipo_file = 'DI'
|
||||
IF cuenta = 0 THEN
|
||||
CALL fgl_winmessage("info","ORDEN NO TIENE DIBUJO","INFO")
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
OPEN WINDOW w1 WITH FORM "prfmwd012"
|
||||
|
||||
CALL documentos.clear()
|
||||
|
||||
|
||||
DECLARE busca_dibujo CURSOR FOR
|
||||
SELECT a.id,a.tipo_file,a.bodega,a.num_doc,a.nombre_file,
|
||||
a.documento,a.envio_notificacion
|
||||
FROM prtb00029 a
|
||||
WHERE a.num_oc = prtb08.num_oc
|
||||
ORDER BY a.id
|
||||
LET idx = 1
|
||||
LOCATE documentos[idx].filedestino IN MEMORY
|
||||
FOREACH busca_dibujo INTO documentos[idx].*
|
||||
LET idx = idx + 1
|
||||
LOCATE documentos[idx].filedestino IN MEMORY
|
||||
|
||||
END FOREACH
|
||||
|
||||
|
||||
DISPLAY ARRAY documentos TO sdibujo.*
|
||||
BEFORE DISPLAY
|
||||
|
||||
SELECT a.cotizacion_no,b.nombre,a.sec_vend,ISNULL(c.nom1_emp,' ')+ISNULL(c.apell1_emp,' '),
|
||||
a.tipo_cliente,a.sec_cliente
|
||||
INTO prtb08.cotizacion_no,nombre_cliente,prtb08.sec_vend,vendedor,
|
||||
prtb08.tipo_cliente,prtb08.sec_cliente
|
||||
FROM prtb00012 a,vetb00004 b,adtb00003 c
|
||||
WHERE a.num_oc = prtb08.num_oc AND
|
||||
a.tipo_cliente = b.tipo_cliente AND
|
||||
a.sec_cliente = b.sec_cliente AND
|
||||
a.sec_vend = c.num_emp
|
||||
|
||||
DISPLAY BY NAME prtb08.num_oc,prtb08.cotizacion_no,nombre_cliente,vendedor
|
||||
|
||||
|
||||
ON ACTION abrir
|
||||
WHENEVER ERROR CONTINUE
|
||||
TRY
|
||||
LET tmpdir_file = "tmp\\",usuarios CLIPPED,documentos[arr_curr()].nombre_file
|
||||
|
||||
CALL documentos[arr_curr()].filedestino.writeFile(tmpdir_file)
|
||||
|
||||
CALL ui.Interface.frontCall("standard","getenv", ["TEMP"], [l_file] )
|
||||
|
||||
LET l_file = l_file CLIPPED,"\\",documentos[arr_curr()].nombre_file
|
||||
CALL fgl_putfile(tmpdir_file,l_file)
|
||||
|
||||
CALL ui.Interface.frontCall("standard","shellexec", [l_file],[p_res])
|
||||
|
||||
CATCH
|
||||
CALL fgl_winmessage("ERROR",err_get(STATUS),"INFO")
|
||||
END TRY
|
||||
AFTER DISPLAY
|
||||
IF INT_FLAG THEN
|
||||
|
||||
EXIT DISPLAY
|
||||
END IF
|
||||
EXIT DISPLAY
|
||||
END DISPLAY
|
||||
LET INT_FLAG = FALSE
|
||||
CLOSE WINDOW w1
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION showDir(path)
|
||||
DEFINE path STRING
|
||||
DEFINE child STRING
|
||||
DEFINE h INTEGER,
|
||||
contenido DYNAMIC ARRAY OF STRING,
|
||||
exito BOOLEAN
|
||||
|
||||
OPEN WINDOW w2 WITH FORM "prtest"
|
||||
IF NOT os.Path.exists(path) THEN
|
||||
CALL fgl_winmessage("NO",path,"info")
|
||||
RETURN
|
||||
END IF
|
||||
IF NOT os.Path.isdirectory(path) THEN
|
||||
DISPLAY " ", os.Path.basename(path)
|
||||
RETURN
|
||||
END IF
|
||||
LET contenido[1]="[",path,"]"
|
||||
LET idx = 1
|
||||
CALL os.Path.dirsort("name", 1)
|
||||
LET h = os.Path.diropen(path)
|
||||
WHILE h > 0
|
||||
LET child = os.Path.dirnext(h)
|
||||
IF child IS NULL THEN EXIT WHILE END IF
|
||||
IF child == "." OR child == ".." THEN CONTINUE WHILE END IF
|
||||
LET contenido[idx] = os.Path.join( path, child )
|
||||
LET idx = idx + 1
|
||||
END WHILE
|
||||
CALL os.Path.dirclose(h)
|
||||
DISPLAY ARRAY contenido TO scontenido.*
|
||||
ON ACTION borrar
|
||||
CALL os.Path.delete(contenido[arr_curr()]) RETURNING exito
|
||||
IF NOT exito THEN
|
||||
CALL fgl_winmessage("E","NO BORRE EL FILE","INFO")
|
||||
CONTINUE DISPLAY
|
||||
END IF
|
||||
AFTER DISPLAY
|
||||
IF INT_FLAG THEN
|
||||
EXIT PROGRAM
|
||||
END IF
|
||||
EXIT DISPLAY
|
||||
END DISPLAY
|
||||
CLOSE WINDOW w2
|
||||
END FUNCTION
|
||||
Binary file not shown.
@@ -0,0 +1,33 @@
|
||||
FUNCTION existenciaalmacenes(codn,codgrupo,codtipo,codsec,producto)
|
||||
DEFINE codn,codgrupo,codtipo,codsec,i INT,
|
||||
arr_existencias DYNAMIC ARRAY OF RECORD
|
||||
almacen VARCHAR(50),
|
||||
fisico DEC(12,5)
|
||||
END RECORD,
|
||||
cantidad_ordenes,pcantidadConduce,transito,pexistencia,reservado,disponible,pcantidad_ordenes DEC(12,5),
|
||||
producto VARCHAR(100)
|
||||
|
||||
OPEN WINDOW w1 WITH FORM 'existenciaalmacenes'
|
||||
CALL disponibles(codn,codgrupo,codtipo,codsec,TODAY)
|
||||
RETURNING cantidad_ordenes,pcantidadConduce,transito,pexistencia,reservado
|
||||
|
||||
LET pcantidad_ordenes = cantidad_ordenes -pcantidadConduce
|
||||
LET disponible = pexistencia - pcantidad_ordenes - reservado
|
||||
|
||||
DISPLAY BY NAME producto,disponible,pcantidad_ordenes,pexistencia,pcantidadConduce
|
||||
DECLARE buscaExistencias CURSOR FOR
|
||||
SELECT '('||CAST(a.cod_bodega AS VARCHAR(5))||')'||a.descripcion,SUM(b.cantidad_2) FROM
|
||||
intb00009 a INNER JOIN iptb00006 b ON b.bodega = a.cod_bodega AND b.cod_n = codn AND
|
||||
b.cod_grupo = codgrupo AND
|
||||
b.cod_tipo = codtipo AND
|
||||
b.cod_sec = codsec AND
|
||||
b.status_t IS NULL
|
||||
GROUP BY a.cod_bodega,a.descripcion
|
||||
|
||||
LET i = 1
|
||||
FOREACH buscaExistencias INTO arr_existencias[i].*
|
||||
LET i = i + 1
|
||||
END FOREACH
|
||||
DISPLAY ARRAY arr_existencias TO s_existencia.*
|
||||
CLOSE WINDOW w1
|
||||
END FUNCTION
|
||||
@@ -0,0 +1,250 @@
|
||||
GLOBALS "prprgb000.4gl"
|
||||
DEFINE psimbolo CHAR(10),
|
||||
instalador,soportes,xsoportes,vendedor_aux VARCHAR(200),
|
||||
err char(30),
|
||||
xtipo_tarjeta,xtarjeta VARCHAR(50),
|
||||
kvendedor INT,
|
||||
ximagen BYTE
|
||||
DEFINE condicion RECORD LIKE vetb00012.*, descrip2 CHAR(80), medida CHAR(3),
|
||||
nombre_ciudad CHAR(30),
|
||||
nombre_vend CHAR(70)
|
||||
FUNCTION impresion(data_imp,r_filename,r_output,xcuenta_item,etiqueta_cotiza)
|
||||
|
||||
|
||||
DEFINE data_imp RECORD
|
||||
cotizacion_no,tipo_cliente,sec_cliente INT,
|
||||
fecha DATE,
|
||||
sec_Vend INT,
|
||||
direccion_cliente,nombre,contacto,nombre_proyecto,direccion_proyecto,nombre_ciudad,
|
||||
nombre_vend,nombre_cliente VARCHAR(100),
|
||||
rnc VARCHAR(11),
|
||||
telefono_o,telefono_r,celular,celular1 VARCHAR(25),
|
||||
email VARCHAR(100),
|
||||
orden,cond_pago INT,
|
||||
soportes,instalador,plazo_Entrega VARCHAR(100),
|
||||
comentario VARCHAR(250),
|
||||
sub_total,monto_desc,porc_itbis,neto,total_bruto,monto_itbis,total_neto DEC(12,2),
|
||||
num_emp_int,vendedor_aux,bodega INT,
|
||||
tbodega VARCHAR(100)
|
||||
|
||||
|
||||
|
||||
END RECORD
|
||||
DEFINE detalle RECORD
|
||||
area VARCHAR (60),
|
||||
cod_n INT,
|
||||
cod_grupo INT,
|
||||
cod_tipo INT,
|
||||
cod_sec INT,
|
||||
descripcion CHAR(80),
|
||||
cantidad_1 DEC(12,5),
|
||||
cantidad DEC(12,5),
|
||||
precio DEC(12,2),
|
||||
porc_desc DEC(12,2),
|
||||
nombre_file CHAR(50)
|
||||
END RECORD,
|
||||
|
||||
fila smallint
|
||||
DEFINE handler om.SaxDocumentHandler, -- return value from fgl_report_commitCurrentSettings()
|
||||
r_filename STRING, -- filename of Report Design Document including .4rp extension
|
||||
r_output STRING, -- output format option
|
||||
preview INTEGER, -- TRUE/FALSE, to set preview option
|
||||
pvetb51 RECORD LIKE vetb00051.*,
|
||||
historico CHAR(1),
|
||||
xcuenta_item smallint,
|
||||
etiqueta_cotiza CHAR(30)
|
||||
|
||||
|
||||
SET CONNECTION "MSSQL"
|
||||
|
||||
LET preview = TRUE
|
||||
IF fgl_report_loadCurrentSettings(r_filename) THEN -- load the .4rp file
|
||||
|
||||
CALL fgl_report_selectDevice(r_output) -- changing default
|
||||
|
||||
|
||||
LET handler = fgl_report_commitCurrentSettings() -- commit changes
|
||||
END IF
|
||||
# BODEGA
|
||||
|
||||
SELECT a.descripcion INTO data_imp.tbodega FROM intb00009 a WHERE a.cod_bodega = data_imp.bodega
|
||||
|
||||
|
||||
IF handler IS NOT NULL THEN -- report engine was configured ok
|
||||
|
||||
START REPORT imprimeO TO XML HANDLER handler
|
||||
|
||||
|
||||
SELECT RTRIM(a.nom1_emp)+' '+RTRIM(ISNULL(a.apell1_emp,' ')) INTO instalador FROM adtb00003 a
|
||||
WHERE a.num_emp = data_imp.num_emp_int
|
||||
|
||||
# Vendedor Auxiliar
|
||||
SELECT RTRIM(a.nom1_emp)+' '+RTRIM(ISNULL(a.apell1_emp,' ')) INTO vendedor_aux FROM adtb00003 a
|
||||
WHERE a.num_emp = data_imp.vendedor_aux
|
||||
|
||||
SELECT a.descrip INTO condicion.descrip FROM vetb00012 a WHERE a.cond_pago = data_imp.cond_pago
|
||||
|
||||
DECLARE soporte CURSOR FOR
|
||||
SELECT RTRIM(a.nom1_emp)||' '||a.apell1_emp FROM adtb00003 a,vetb00093 b
|
||||
WHERE b.cotizacion_no = data_imp.cotizacion_no AND a.num_emp = b.sec_vend
|
||||
LET soportes = NULL
|
||||
|
||||
LET idx = 1
|
||||
FOREACH soporte INTO xsoportes
|
||||
LET soportes = xsoportes CLIPPED
|
||||
IF idx > 1 THEN
|
||||
LET soportes = xsoportes CLIPPED,", ",soportes CLIPPED
|
||||
END IF
|
||||
LET idx = idx+1
|
||||
END FOREACH
|
||||
# START REPORT otroimp TO XML HANDLER HANDLER #"temporal.txt"
|
||||
LET selec =
|
||||
"SELECT a.descripcion_area,a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec ",
|
||||
" ,a.cantidad_1,a.cantidad, ",
|
||||
" a.precio,a.porc_Desc,a.descripcion,c.unidad_med,a.foto_producto,a.secuencia ",
|
||||
"FROM vetb00051 a,iptb00002 c ",
|
||||
"WHERE a.cotizacion_no = ",data_imp.cotizacion_no," AND ",
|
||||
" a.cod_n = c.cod_n AND ",
|
||||
" a.cod_grupo = c.cod_grupo AND ",
|
||||
" a.cod_tipo = c.cod_tipo AND ",
|
||||
" a.cod_Sec = c.cod_sec ",
|
||||
" ORDER BY a.secuencia "
|
||||
|
||||
|
||||
|
||||
PREPARE comando1 FROM selec
|
||||
DECLARE busca_cot CURSOR FOR comando1
|
||||
|
||||
LOCATE ximagen IN MEMORY
|
||||
|
||||
FOREACH busca_cot INTO detalle.area,detalle.cod_n,detalle.cod_grupo,
|
||||
detalle.cod_tipo,detalle.cod_sec,detalle.cantidad_1,
|
||||
detalle.cantidad,detalle.precio,detalle.porc_desc,
|
||||
descrip2,medida,ximagen,fila
|
||||
IF descrip2 IS NULL THEN
|
||||
SELECT a.descrip_esp INTO descrip2
|
||||
FROM iptb00002 a
|
||||
WHERE a.cod_n = pvetb51.cod_n AND
|
||||
a.cod_grupo = pvetb51.cod_grupo AND
|
||||
a.cod_tipo = pvetb51.cod_tipo AND
|
||||
a.cod_sec = pvetb51.cod_sec
|
||||
END IF
|
||||
|
||||
IF ximagen IS NULL OR LENGTH(ximagen) < 4 THEN
|
||||
LET err = "imagen en blanco ",detalle.cod_sec USING "&&&&&"
|
||||
# CALL fgl_winmessage("info",err,"info")
|
||||
CALL ximagen.readFile("fotodefault.jpg")
|
||||
END IF
|
||||
|
||||
OUTPUT TO REPORT imprimeO(data_imp.*,detalle.*,descrip2,medida,etiqueta_cotiza,fila)
|
||||
# OUTPUT TO REPORT otroimp(data_imp.*,detalle.*,descrip2,medida,etiqueta_cotiza,imagen,fila)
|
||||
|
||||
END FOREACH
|
||||
FINISH REPORT imprimeO
|
||||
# FINISH REPORT otroimp
|
||||
|
||||
|
||||
ELSE
|
||||
EXIT PROGRAM
|
||||
END IF
|
||||
RETURN r_output
|
||||
END FUNCTION
|
||||
|
||||
REPORT imprimeO(y,z,xnombre_p,xmedida,xetiqueta,xfila)
|
||||
|
||||
DEFINE z RECORD
|
||||
area VARCHAR (60),
|
||||
cod_n INT,
|
||||
cod_grupo INT,
|
||||
cod_tipo INT,
|
||||
cod_sec INT,
|
||||
descripcion CHAR(80),
|
||||
cantidad_1 DEC(12,5),
|
||||
cantidad DEC(12,5),
|
||||
precio DEC(12,2),
|
||||
porc_desc DEC(12,2),
|
||||
nombre_file CHAR(50)
|
||||
END RECORD,
|
||||
xfila smallint,
|
||||
y RECORD
|
||||
cotizacion_no,tipo_cliente,sec_cliente INT,
|
||||
fecha DATE,
|
||||
sec_vend INT,
|
||||
direccion_cliente,nombre,contacto,nombre_proyecto,direccion_proyecto,nombre_ciudad,
|
||||
nombre_vend,nombre_cliente VARCHAR(100),
|
||||
rnc VARCHAR(11),
|
||||
telefono_o,telefono_r,celular,celular1 VARCHAR(25),
|
||||
email VARCHAR(100),
|
||||
orden,cond_pago INT,
|
||||
soportes,instalador,plazo_entrega VARCHAR(100),
|
||||
comentario VARCHAR(250),
|
||||
sub_total,monto_desc,porc_itbis,neto,total_bruto,monto_itbis,total_neto DEC(12,2),
|
||||
num_emp_int,vendedor_aux,bodega INT,
|
||||
tbodega VARCHAR(100)
|
||||
|
||||
|
||||
END RECORD,
|
||||
xnombre_a,xetiqueta CHAR(30),
|
||||
xnombre_p CHAR(50),
|
||||
xmedida CHAR(3),
|
||||
xtotal_p,bruto,descuento,neto,total_area DEC(12,2),
|
||||
parea,pfecha,hora,etiqueta,etiqueta1,etiqueta2,etiqueta3,etiqueta4,etiqueta5 CHAR(100),
|
||||
xorden INT
|
||||
|
||||
|
||||
OUTPUT
|
||||
LEFT MARGIN 0
|
||||
|
||||
ORDER BY z.area,xfila,z.cod_n,z.cod_grupo,z.cod_tipo,z.cod_sec
|
||||
FORMAT
|
||||
PAGE HEADER
|
||||
LET pfecha = TODAY USING "DD/MM/YYYY"
|
||||
LET hora = TIME
|
||||
LET etiqueta = "FORMA DE PAGO: ",condicion.descrip
|
||||
LET etiqueta3 = "PLAZO ENTREGA: ",y.plazo_entrega
|
||||
LET etiqueta4 = "COMENTARIO: "
|
||||
LET etiqueta5 = "Entre la empresa ",p_compania.nombre CLIPPED," de una parte y de la otra parte:"
|
||||
|
||||
LET etiqueta1 = "Las variaciones en las tonalidades y vetas se entienden como parte de la naturaleza de las piedras naturales."
|
||||
LET etiqueta2 = " No somos responsables en las tardanzas en la entrega cuando esten sujetas a especificaciones de medidas y/o terminaciones. "
|
||||
|
||||
|
||||
|
||||
BEFORE GROUP OF z.area
|
||||
LET total_area = 0
|
||||
|
||||
|
||||
ON EVERY ROW
|
||||
# BUSCA ORDEN
|
||||
LET xorden = NULL
|
||||
SELECT a.simbolo INTO psimbolo FROM vetb00061 a,vetb00060 b WHERE a.ventas = b.ventas
|
||||
AND b.tipo_cliente = y.tipo_cliente
|
||||
|
||||
SELECT a.num_oc INTO xorden
|
||||
FROM prtb00012 a
|
||||
WHERE a.cotizacion_no = y.cotizacion_no AND a.status_t IS NULL
|
||||
|
||||
LET bruto = 0
|
||||
LET descuento = 0
|
||||
|
||||
LET bruto = z.cantidad * z.precio
|
||||
LET descuento = (z.cantidad*z.precio*(z.porc_Desc/100))
|
||||
LET xtotal_p = bruto - descuento
|
||||
LET y.sub_total = y.sub_total + y.monto_desc
|
||||
IF instalador IS NULL THEN
|
||||
LET instalador='NO TIENE'
|
||||
END IF
|
||||
|
||||
PRINTX p_compania.*,y.*,z.*,bruto,descuento,neto,
|
||||
etiqueta,etiqueta2,etiqueta3,etiqueta4,etiqueta5,nombre_ciudad,
|
||||
nombre_vend,xnombre_p,xmedida,xtotal_p,
|
||||
condicion.descrip,psimbolo,xorden,xetiqueta,soportes,ximagen,
|
||||
instalador,xtipo_tarjeta,xtarjeta,vendedor_aux
|
||||
|
||||
|
||||
AFTER GROUP OF z.area
|
||||
# LET total_area = GROUP SUM(z.cantidad*z.precio)
|
||||
LET total_area = GROUP SUM (z.cantidad*z.precio) -GROUP SUM(z.cantidad*z.precio*(z.porc_Desc/100))
|
||||
PRINTX total_area
|
||||
|
||||
END REPORT
|
||||
@@ -0,0 +1,62 @@
|
||||
FUNCTION mercancia_transito(pcodn,pcodgrupo,pcodtipo,pcodsec,fecha_transito,cod_inventario)
|
||||
DEFINE pcodn,pcodgrupo,pcodtipo,pcodsec,cod_inventario SMALLINT,
|
||||
cantidad_ordenada, cantidad_recibida,transito DEC(12,5),
|
||||
fecha_transito,fecha_ordenada,fecha_recibida DATE
|
||||
|
||||
# CANTIDAD ORDENADA
|
||||
LET transito = 0
|
||||
LET fecha_ordenada=NULL
|
||||
LET fecha_recibida=NULL
|
||||
IF cod_inventario ='02' THEN
|
||||
SELECT SUM(a.cantidad) INTO cantidad_ordenada
|
||||
FROM cotb00015 a,cotb00014 b
|
||||
WHERE (a.cod_n = pcodn AND a.cod_grupo = pcodgrupo AND a.cod_tipo = pcodtipo AND a.cod_Sec = pcodsec) AND
|
||||
(a.num_oc = b.num_oc) AND (b.fech_oc <= fecha_transito) AND
|
||||
a.status_t IS NULL
|
||||
|
||||
SELECT SUM(a.cantidad_2) INTO cantidad_recibida
|
||||
FROM iptb00006 a
|
||||
WHERE (a.cod_n = pcodn AND a.cod_grupo = pcodgrupo AND a.cod_tipo = pcodtipo AND a.cod_Sec = pcodsec) AND
|
||||
(a.fecha <= fecha_transito) AND a.cod_mov IN (10) and
|
||||
a.status_t IS NULL
|
||||
LET transito = cantidad_ordenada - cantidad_recibida
|
||||
SELECT CONVERT(CHAR(10),MAX(b.fech_oc),103) INTO fecha_ordenada FROM cotb00014 b,cotb00015 a
|
||||
WHERE (a.cod_n = pcodn AND a.cod_grupo = pcodgrupo AND a.cod_tipo = pcodtipo AND a.cod_Sec = pcodsec) AND
|
||||
(a.num_oc = b.num_oc) AND (b.fech_oc <= fecha_transito) AND
|
||||
a.status_t IS NULL
|
||||
|
||||
SELECT CONVERT(CHAR(10),MAX(a.fecha),103) INTO fecha_recibida
|
||||
FROM iptb00006 a
|
||||
WHERE (a.cod_n = pcodn AND a.cod_grupo = pcodgrupo AND a.cod_tipo = pcodtipo AND a.cod_Sec = pcodsec) AND
|
||||
(a.fecha <= fecha_transito) AND a.cod_mov IN (10) and
|
||||
a.status_t IS NULL
|
||||
|
||||
END IF
|
||||
RETURN transito,fecha_ordenada,fecha_recibida
|
||||
END FUNCTION
|
||||
FUNCTION fechas_llegadas(pcodn,pcodgrupo,pcodtipo,pcodsec,fecha_transito)
|
||||
DEFINE idx,pcodn,pcodgrupo,pcodtipo,pcodsec SMALLINT,
|
||||
fecha_transito DATE
|
||||
DEFINE busca_parcial DYNAMIC ARRAY OF RECORD
|
||||
secuencia INT,
|
||||
cod_n SMALLINT,
|
||||
cod_grupo SMALLINT,
|
||||
cod_tipo SMALLINT,
|
||||
cod_sec SMALLINT,
|
||||
cantidad DEC(12,5),
|
||||
fech_emb DATE,
|
||||
fech_ent DATE
|
||||
END RECORD
|
||||
OPEN WINDOW w1 WITH FORM "cofmfu009"
|
||||
DECLARE b_fecha_parcial CURSOR FOR
|
||||
SELECT a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_Sec,a.cantidad,a.fech_emb,a.fech_ent
|
||||
FROM cotb00025 a WHERE a.cod_n = pcodn AND a.cod_grupo = pcodgrupo AND a.cod_tipo = pcodtipo AND
|
||||
a.cod_Sec = pcodsec AND a.fech_ent <= fecha_transito AND a.status_t IS NULL
|
||||
|
||||
LET idx = 1
|
||||
FOREACH b_fecha_parcial INTO busca_parcial[idx].*
|
||||
LET idx = idx + 1
|
||||
END FOREACH
|
||||
DISPLAY ARRAY busca_parcial TO s_parcial.*
|
||||
CLOSE WINDOW w1
|
||||
END FUNCTION
|
||||
Binary file not shown.
@@ -0,0 +1,127 @@
|
||||
|
||||
DEFINE arr_operaciones DYNAMIC ARRAY OF RECORD
|
||||
orden_etapa SMALLINT,
|
||||
id_etapa INT,
|
||||
nombre_etapa VARCHAR(50),
|
||||
id_maquina INT,
|
||||
nombre_maquina VARCHAR(50),
|
||||
operario INT,
|
||||
nombre_operario VARCHAR(50),
|
||||
fecha_inicio DATE,
|
||||
fecha_fin DATE,
|
||||
estado VARCHAR(50)
|
||||
END RECORD
|
||||
|
||||
FUNCTION crear_orden_produccion(p_orden_pedido , p_cod_n, p_cod_grupo, p_cod_tipo , p_cod_sec )
|
||||
DEFINE p_orden_pedido, p_cod_n, p_cod_grupo, p_cod_tipo, p_cod_sec INT
|
||||
DEFINE v_id_produccion INT,
|
||||
mensajes STRING
|
||||
|
||||
|
||||
-- Verifica si esta orden de pedidos ya tiene una orden de produccion
|
||||
SELECT DISTINCT a.num_oc FROM prtb00007 a
|
||||
WHERE a.num_oc = p_orden_pedido AND
|
||||
a.cod_n = v_cod_n AND
|
||||
a.cod_grupo = v_cod_grupo AND
|
||||
a.cod_tipo = v_cod_tipo AND
|
||||
a.cod_Sec = v_cod_sec
|
||||
|
||||
IF STATUS <> NOTFOUND THEN
|
||||
LET mensajes = 'ORDEN YA TIENE ORDEN DE PRODUCCION'
|
||||
|
||||
RETURN FALSE, mensajes
|
||||
END IF
|
||||
|
||||
SELECT NEXT VALUE for seq_prtb00007 INTO v_id_produccion
|
||||
|
||||
INSERT INTO prtb00007 (
|
||||
id_produccion, fecha, tipo_cliente, sec_cliente,
|
||||
sec_vend, orden_pedido, cod_n, cod_grupo,
|
||||
cod_tipo, cod_sec, cantidad, us_crea, fech_crea
|
||||
) VALUES (
|
||||
v_id_produccion, CURRENT,
|
||||
1, 1, NULL, p_orden_pedido, p_cod_n, p_cod_grupo,
|
||||
p_cod_tipo, p_cod_sec, 0, USER, CURRENT
|
||||
)
|
||||
|
||||
CALL cargar_etapas_para_planificar(v_id_produccion, p_cod_n, p_cod_grupo, p_cod_tipo, p_cod_sec)
|
||||
|
||||
OPEN FORM f_planificar FROM "planificar_operaciones.per"
|
||||
INPUT ARRAY arr_operaciones WITHOUT DEFAULTS ATTRIBUTES(UNBUFFERED)
|
||||
ON CHANGE operario
|
||||
CALL cargar_nombre_operario(CURRENT operario, CURRENT nombre_operario)
|
||||
ON CHANGE id_maquina
|
||||
CALL cargar_nombre_maquina(CURRENT id_maquina, CURRENT nombre_maquina)
|
||||
ON CHANGE id_etapa
|
||||
CALL cargar_nombre_etapa(CURRENT id_etapa, CURRENT nombre_etapa)
|
||||
END INPUT
|
||||
|
||||
CALL guardar_operaciones(v_id_produccion, p_cod_n, p_cod_grupo, p_cod_tipo, p_cod_sec)
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION cargar_etapas_para_planificar(p_id_produccion INT, p_cod_n INT, p_cod_grupo INT, p_cod_tipo INT, p_cod_sec INT)
|
||||
DEFINE p_id_produccion, p_cod_n, p_cod_grupo, p_cod_tipo, p_cod_sec INT
|
||||
DEFINE i INT
|
||||
|
||||
DECLARE c_hist CURSOR FOR
|
||||
SELECT etapa, codigo, num_emp, estado, orden_etapa
|
||||
FROM prtb00008
|
||||
WHERE cod_n = p_cod_n AND cod_grupo = p_cod_grupo
|
||||
AND cod_tipo = p_cod_tipo AND cod_sec = p_cod_sec
|
||||
ORDER BY orden_etapa
|
||||
|
||||
LET i = 1
|
||||
CALL arr_operaciones.clear()
|
||||
|
||||
FOREACH c_hist INTO arr_operaciones[i].id_etapa,
|
||||
arr_operaciones[i].id_maquina,
|
||||
arr_operaciones[i].operario,
|
||||
arr_operaciones[i].estado,
|
||||
arr_operaciones[i].orden_etapa
|
||||
CALL cargar_nombre_etapa(arr_operaciones[i].id_etapa, arr_operaciones[i].nombre_etapa)
|
||||
CALL cargar_nombre_maquina(arr_operaciones[i].id_maquina, arr_operaciones[i].nombre_maquina)
|
||||
CALL cargar_nombre_operario(arr_operaciones[i].operario, arr_operaciones[i].nombre_operario)
|
||||
LET i = i + 1
|
||||
END FOREACH
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION guardar_operaciones(p_id_produccion INT, p_cod_n INT, p_cod_grupo INT, p_cod_tipo INT, p_cod_sec INT)
|
||||
DEFINE p_id_produccion, p_cod_n, p_cod_grupo, p_cod_tipo, p_cod_sec INT
|
||||
DEFINE i INT
|
||||
|
||||
FOR i = 1 TO arr_operaciones.getLength()
|
||||
INSERT INTO prtb00008 (
|
||||
id_produccion, etapa, codigo, num_emp, estado,
|
||||
fecha_inicio, fecha_fin, orden_etapa,
|
||||
us_crea, fech_crea, cod_n, cod_grupo, cod_tipo, cod_sec
|
||||
) VALUES (
|
||||
p_id_produccion, arr_operaciones[i].id_etapa,
|
||||
arr_operaciones[i].id_maquina,
|
||||
arr_operaciones[i].operario,
|
||||
arr_operaciones[i].estado,
|
||||
arr_operaciones[i].fecha_inicio,
|
||||
arr_operaciones[i].fecha_fin,
|
||||
arr_operaciones[i].orden_etapa,
|
||||
USER, CURRENT,
|
||||
p_cod_n, p_cod_grupo, p_cod_tipo, p_cod_sec
|
||||
)
|
||||
END FOR
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION cargar_nombre_etapa(p_id INT, p_nombre OUT VARCHAR(50))
|
||||
DEFINE p_id INT
|
||||
DEFINE p_nombre VARCHAR(50)
|
||||
SELECT titulo INTO p_nombre FROM prtb00036 WHERE id_etapa = p_id
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION cargar_nombre_maquina(p_id INT, p_nombre OUT VARCHAR(50))
|
||||
DEFINE p_id INT
|
||||
DEFINE p_nombre VARCHAR(50)
|
||||
SELECT nombre INTO p_nombre FROM irtb00009 WHERE id_codigo = p_id
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION cargar_nombre_operario(p_id INT, p_nombre OUT VARCHAR(50))
|
||||
DEFINE p_id INT
|
||||
DEFINE p_nombre VARCHAR(50)
|
||||
SELECT nom1_emp || ' ' || apell1_emp INTO p_nombre FROM adtb00003 WHERE num_emp = p_id
|
||||
END FUNCTION
|
||||
@@ -0,0 +1,351 @@
|
||||
SCHEMA smarmotech
|
||||
DEFINE p_companias RECORD LIKE companias.*
|
||||
DEFINE arr_detalle DYNAMIC ARRAY OF RECORD
|
||||
|
||||
area,codn,codgrupo,codtipo,codsec INT,
|
||||
descripcion STRING,
|
||||
cantidad,pendiente,precio FLOAT
|
||||
END RECORD,
|
||||
gnumreq,idx,pcodn,pcodgrupo,pcodtipo,pcodsec,parea INT,
|
||||
gdespachada FLOAT
|
||||
|
||||
FUNCTION buscareq(pnumoc)
|
||||
DEFINE pnumoc INT,
|
||||
arr_req DYNAMIC ARRAY OF RECORD
|
||||
num_req INT,
|
||||
fecha VARCHAR(10),
|
||||
nombre STRING,
|
||||
precio FLOAT,
|
||||
estado STRING
|
||||
END RECORD
|
||||
DEFINE encabezado STRING
|
||||
CALL ui.Interface.loadStyles("formularios")
|
||||
OPEN WINDOW w1 WITH FORM "prfmwd013"
|
||||
LET encabezado = "BUSQUEDA REQUISICIONES DE LA ORDEN ",pnumoc using "&&&&&&&&"
|
||||
DECLARE busca_req1 CURSOR FOR
|
||||
SELECT a.num_req,CONVERT(CHAR(10),a.fecha,103),b.nombre,SUM(c.valor),a.estado FROM cctb00025 a,vetb00004 b,cctb00026 c,prtb00012 d
|
||||
WHERE a.num_req = c.num_req AND c.num_oc = pnumoc AND c.num_oc = d.num_oc AND
|
||||
d.tipo_cliente = b.tipo_cliente AND d.sec_cliente = b.sec_cliente AND
|
||||
a.status_t IS NULL
|
||||
GROUP BY a.num_req,b.nombre,a.estado,a.fecha
|
||||
ORDER BY a.num_req
|
||||
LET idx = 1
|
||||
FOREACH busca_req1 INTO arr_req[idx].*
|
||||
LET idx = idx +1
|
||||
END FOREACH
|
||||
|
||||
DIALOG ATTRIBUTE(UNBUFFERED)
|
||||
|
||||
DISPLAY ARRAY arr_req TO sreq.*
|
||||
BEFORE DISPLAY
|
||||
CALL arr_detalle.clear()
|
||||
DISPLAY encabezado TO encabezado
|
||||
BEFORE FIELD num_req
|
||||
LET gnumreq = arr_req[arr_curr()].num_req
|
||||
CALL llenadetalle()
|
||||
AFTER DISPLAY
|
||||
LET gnumreq = arr_req[arr_curr()].num_req
|
||||
CALL llenadetalle()
|
||||
END DISPLAY
|
||||
DISPLAY ARRAY arr_detalle TO sreq_det.*
|
||||
ON ACTION imprimir ATTRIBUTE (TEXT="",IMAGE="printer")
|
||||
|
||||
CALL imprime_Req(gnumreq)
|
||||
END DISPLAY
|
||||
ON ACTION CANCEL ATTRIBUTE(TEXT="Salir",IMAGE="quit")
|
||||
LET int_flag = FALSE
|
||||
RETURN
|
||||
CLOSE WINDOW w1
|
||||
END DIALOG
|
||||
|
||||
END FUNCTION
|
||||
FUNCTION llenadetalle()
|
||||
|
||||
DECLARE busca_detalle CURSOR FOR
|
||||
SELECT a.area,a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_Sec,b.descrip_esp,SUM(a.cantidad),'0',a.precio
|
||||
FROM cctb00026 a,iptb00002 b
|
||||
WHERE a.num_req = gnumreq 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
|
||||
GROUP BY a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_Sec,b.descrip_esp,a.precio,a.area
|
||||
LET idx = 1
|
||||
FOREACH busca_detalle INTO arr_Detalle[idx].*
|
||||
LET pcodn = arr_detalle[idx].codn
|
||||
LET pcodgrupo = arr_detalle[idx].codgrupo
|
||||
LET pcodtipo = arr_detalle[idx].codtipo
|
||||
LET pcodsec = arr_detalle[idx].codsec
|
||||
LET parea = arr_detalle[idx].area
|
||||
CALL pendienteReq()
|
||||
|
||||
LET arr_detalle[idx].pendiente = arr_detalle[idx].cantidad - gdespachada
|
||||
LET idx = idx + 1
|
||||
END FOREACH
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION pendientereq()
|
||||
LET gdespachada=0
|
||||
SELECT ISNULL(SUM(a.cantidad_2),0) INTO gdespachada FROM iptb00006 a
|
||||
WHERE (a.num_req = gnumreq) AND (a.cod_n = pcodn AND a.cod_grupo = pcodgrupo
|
||||
AND a.cod_tipo = pcodtipo AND a.cod_sec = pcodsec) AND
|
||||
a.area = parea AND a.status_t IS NULL
|
||||
|
||||
END FUNCTION
|
||||
FUNCTION imprime_req(xnumreq)
|
||||
DEFINE xnumreq INT,
|
||||
|
||||
handler om.SaxDocumentHandler, -- return value from fgl_report_commitCurrentSettings()
|
||||
r_filename STRING, -- filename of Report Design Document including .4rp extension
|
||||
r_output STRING, -- output format option
|
||||
preview INTEGER -- TRUE/FALSE, to set preview option
|
||||
|
||||
DEFINE mrequisicion RECORD
|
||||
numreq INT,
|
||||
numoc INT,
|
||||
nombre VARCHAR(80),
|
||||
vendedor VARCHAR(80),
|
||||
fecha VARCHAR(10),
|
||||
estatus_req VARCHAR(50),
|
||||
direccion VARCHAR(100),
|
||||
telefono_r VARCHAR(20),
|
||||
telefono_o VARCHAR(20),
|
||||
celular VARCHAR(20),
|
||||
celular1 VARCHAR(20),
|
||||
contacto VARCHAR(60),
|
||||
usuario_autoriza VARCHAR(50),
|
||||
fecha_autorizacion CHAR(16),
|
||||
estado_despacho VARCHAR(50),
|
||||
area SMALLINT,
|
||||
cod_n SMALLINT,
|
||||
cod_grupo SMALLINT,
|
||||
cod_tipo SMALLINT,
|
||||
cod_sec SMALLINT,
|
||||
descripcion VARCHAR(80),
|
||||
cantidad DEC(12,4),
|
||||
aarea SMALLINT,
|
||||
codn SMALLINT,
|
||||
codgrupo SMALLINT,
|
||||
codtipo SMALLINT,
|
||||
codsec SMALLINT,
|
||||
descripcion1 VARCHAR(60),
|
||||
kit INT,
|
||||
observacion VARCHAR(180),
|
||||
cantidad_1 FLOAT,
|
||||
cantidad_despachada_req DEC(12,4),
|
||||
cantidad_despachada_ord DEC(12,4),
|
||||
cantidad_pendiente_ord DEC(12,4),
|
||||
cantidad_pendiente_req DEC(12,4),
|
||||
cantidad_ord DEC(12,4),
|
||||
codigo CHAR(30)
|
||||
END RECORD
|
||||
|
||||
DECLARE busca_req CURSOR FOR
|
||||
SELECT b.num_req,c.num_oc, CAST (a.tipo_cliente AS varchar(2))+'-'+CAST(a.sec_cliente AS varchar(6))+' '+ISNULL(a.nombre,' ') AS cliente,
|
||||
CAST(e.num_emp AS varchar(5))+' '+ISNULL(RTRIM(e.nom1_emp),' ')+' '+ISNULL(e.apell1_emp,' ') AS vendedor,
|
||||
CONVERT(CHAR(10),b.fecha,103) AS fecha,b.estado,
|
||||
RTRIM(d.direccion_proyecto)+ '-'+ISNULL(x2.mensaje,' ') AS direccion,d.telefono_r,d.telefono_o,d.celular,
|
||||
d.celular1,d.contacto,
|
||||
(SELECT isnull(adtb00003.nom1_emp,' ')+' '+isnull(adtb00003.apell1_Emp,' ') FROM adtb00003 WHERE adtb00003.num_emp = b.sec_vend_aprobado),
|
||||
CONVERT(CHAR(10),b.fecha_autorizacion,103),
|
||||
b.estado_despacho,
|
||||
c.area, c.cod_n,c.cod_grupo,c.cod_tipo,c.cod_sec,f.descrip_esp,
|
||||
sum(c.cantidad),
|
||||
c.area, c.cod_n,c.cod_grupo,c.cod_tipo,c.cod_sec,(SELECT k1.descrip_esp FROM iptb00002 k1
|
||||
WHERE k1.cod_n = c.cod_n AND k1.cod_grupo = c.cod_grupo AND k1.cod_tipo = c.cod_tipo AND
|
||||
k1.cod_sec = c.cod_sec),c.id_kit,x3.observacion,SUM(c.cantidad_1)
|
||||
FROM vetb00004 a,cctb00025 b LEFT OUTER JOIN cctb00029 x2 ON b.num_req = x2.num_req,
|
||||
cctb00026 c,
|
||||
vetb00050 d,adtb00003 e,iptb00002 f,prtb00014 x3
|
||||
WHERE a.tipo_cliente = d.tipo_cliente AND b.num_req = c.num_req AND
|
||||
a.sec_cliente = d.sec_cliente AND
|
||||
c.cotizacion_no = d.cotizacion_no AND
|
||||
c.cod_n = f.cod_n AND c.cod_grupo =f.cod_grupo AND c.cod_tipo=f.cod_tipo AND
|
||||
c.cod_sec = f.cod_Sec AND c.status_t IS NULL AND
|
||||
b.num_req = xnumreq AND d.sec_vend = e.num_emp AND
|
||||
c.num_oc = x3.num_oc
|
||||
GROUP BY b.num_req,a.tipo_cliente,a.sec_cliente,a.nombre, e.num_emp,e.nom1_emp,e.apell1_emp,c.num_oc,
|
||||
b.fecha,b.estado,
|
||||
c.area,c.cod_n,c.cod_grupo,c.cod_tipo,c.cod_sec,f.descrip_esp,b.sec_vend_aprobado,
|
||||
b.fecha_autorizacion,b.estado_despacho,
|
||||
d.direccion_proyecto,x2.mensaje,
|
||||
d.telefono_r,d.telefono_o,d.celular,
|
||||
c.cod_n,c.cod_grupo,c.cod_tipo,c.cod_sec,
|
||||
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"
|
||||
LET r_filename = "ccprmt010.4rp"
|
||||
LET preview = 1
|
||||
|
||||
iF fgl_report_loadCurrentSettings(r_filename) THEN -- load the .4rp file
|
||||
CALL fgl_report_selectDevice(r_output) -- changing default
|
||||
CALL fgl_report_selectPreview(preview) -- changing default
|
||||
LET handler = fgl_report_commitCurrentSettings() -- commit changes
|
||||
|
||||
|
||||
START REPORT CCRP10 TO XML HANDLER HANDLER
|
||||
LET idx = 1
|
||||
FOREACH busca_req INTO mrequisicion.*
|
||||
LET mrequisicion.codigo =mrequisicion.kit USING "<<<<","/", mrequisicion.cod_n USING "&&&&","-",
|
||||
mrequisicion.cod_grupo USING "&&&&","-",
|
||||
mrequisicion.cod_tipo USING "&&&&","-",
|
||||
mrequisicion.cod_sec USING "&&&&&&"
|
||||
OUTPUT TO REPORT ccrp10(mrequisicion.*)
|
||||
LET idx = idx + 1
|
||||
END FOREACH
|
||||
DISPLAY "idx ",idx
|
||||
FINISH REPORT ccrp10
|
||||
END IF
|
||||
END FUNCTION
|
||||
REPORT ccrp10(x)
|
||||
DEFINE X RECORD
|
||||
numreq INT,
|
||||
numoc INT,
|
||||
nombre VARCHAR(80),
|
||||
vendedor VARCHAR(80),
|
||||
fecha VARCHAR(10),
|
||||
estatus_req VARCHAR(50),
|
||||
direccion VARCHAR(100),
|
||||
telefono_r VARCHAR(20),
|
||||
telefono_o VARCHAR(20),
|
||||
celular VARCHAR(20),
|
||||
celular1 VARCHAR(20),
|
||||
contacto VARCHAR(60),
|
||||
usuario_autoriza VARCHAR(50),
|
||||
fecha_autorizacion CHAR(16),
|
||||
estado_despacho VARCHAR(50),
|
||||
area SMALLINT,
|
||||
cod_n SMALLINT,
|
||||
cod_grupo SMALLINT,
|
||||
cod_tipo SMALLINT,
|
||||
cod_sec SMALLINT,
|
||||
descripcion VARCHAR(80),
|
||||
cantidad DEC(12,4),
|
||||
aarea SMALLINT,
|
||||
codn SMALLINT,
|
||||
codgrupo SMALLINT,
|
||||
codtipo SMALLINT,
|
||||
codsec SMALLINT,
|
||||
descripcion1 VARCHAR(60),
|
||||
kit INT,
|
||||
observacion VARCHAR(180),
|
||||
cantidad_1 FLOAT,
|
||||
cantidad_despachada_req DEC(12,4),
|
||||
cantidad_despachada_ord DEC(12,4),
|
||||
cantidad_pendiente_ord DEC(12,4),
|
||||
cantidad_pendiente_req DEC(12,4),
|
||||
cantidad_ord DEC(12,4),
|
||||
codigo CHAR(30)
|
||||
END RECORD,
|
||||
fecha_imp CHAR(16),
|
||||
semaforo BOOLEAN,
|
||||
chkit CHAR(100),
|
||||
y RECORD
|
||||
etiqueta CHAR(30),
|
||||
cod_n,cod_grupo,cod_tipo,cod_sec INT,
|
||||
lado_1,lado_2,lado_3 FLOAT,
|
||||
cantidad_r,medida_r FLOAT
|
||||
END RECORD
|
||||
|
||||
DEFINE darea VARCHAR(50)
|
||||
|
||||
ORDER BY x.numreq
|
||||
FORMAT
|
||||
FIRST PAGE HEADER
|
||||
SELECT a.nombre INTO p_companias.nombre FROM companias a
|
||||
|
||||
LET fecha_imp = TODAY USING "DD/MM/YYYY",":",TIME
|
||||
BEFORE GROUP OF x.numreq
|
||||
|
||||
PRINTX x.numreq,x.estado_despacho,x.estatus_req,x.fecha,x.fecha_autorizacion,p_companias.nombre,
|
||||
x.nombre,x.usuario_autoriza,x.vendedor,fecha_imp,x.numoc,X.direccion,X.telefono_r,x.telefono_o,
|
||||
x.celular,x.celular1,x.contacto, x.observacion
|
||||
|
||||
IF x.area IS NULL THEN
|
||||
LET x.area = 1
|
||||
END IF
|
||||
|
||||
BEFORE GROUP OF x.area
|
||||
|
||||
SELECT LTRIM(RTRIM(a.nombre_area)) INTO darea FROM prtb00016 a
|
||||
WHERE a.area_num = x.area
|
||||
|
||||
LET darea = "("CLIPPED,x.area CLIPPED,") ", darea CLIPPED
|
||||
|
||||
PRINT darea
|
||||
|
||||
BEFORE GROUP OF x.codigo
|
||||
|
||||
# BUSCA LAS CANTIDADES PENDIENTES
|
||||
LET x.cantidad_despachada_req=0
|
||||
SELECT SUM(a.cantidad_2) INTO x.cantidad_despachada_req
|
||||
FROM iptb00006 a
|
||||
WHERE a.num_req = x.numreq AND a.cod_n = x.cod_n AND
|
||||
a.cod_grupo = x.cod_grupo AND
|
||||
a.cod_tipo = x.cod_tipo AND a.cod_Sec = x.cod_Sec and
|
||||
a.area = x.area
|
||||
AND a.status_t IS NULL
|
||||
|
||||
LET x.cantidad_despachada_ord=0
|
||||
SELECT SUM(a.cantidad_2) INTO x.cantidad_despachada_ord
|
||||
FROM iptb00006 a
|
||||
WHERE a.num_oc = x.numoc AND a.cod_n = x.cod_n AND
|
||||
a.cod_grupo = x.cod_grupo AND a.cod_mov IN (30,31,55,56,12,13) AND
|
||||
a.cod_tipo = x.cod_tipo AND a.cod_Sec = x.cod_Sec AND
|
||||
a.area = x.area
|
||||
AND a.status_t IS NULL
|
||||
|
||||
SELECT SUM(a.cantidad) INTO x.cantidad_ord
|
||||
FROM prtb00013 a
|
||||
WHERE a.num_oc = x.numoc AND a.cod_n = x.cod_n AND
|
||||
a.cod_grupo = x.cod_grupo AND
|
||||
a.cod_tipo = x.cod_tipo AND a.cod_Sec = x.cod_Sec AND
|
||||
a.area = x.area AND
|
||||
a.status_t IS NULL
|
||||
|
||||
IF x.cantidad_despachada_req IS NULL THEN
|
||||
LET x.cantidad_despachada_req = 0
|
||||
END IF
|
||||
|
||||
IF x.cantidad_despachada_ord IS NULL THEN
|
||||
LET x.cantidad_despachada_ord = 0
|
||||
END IF
|
||||
|
||||
|
||||
IF x.cantidad_ord IS NULL THEN
|
||||
LET x.cantidad_ord = 0
|
||||
END IF
|
||||
# DISPLAY "datos ",x.cantidad_ord,x.cantidad_despachada_ord,x.cantidad,
|
||||
# x.cantidad_despachada_req
|
||||
|
||||
LET x.cantidad_pendiente_ord=x.cantidad_ord+x.cantidad_despachada_ord
|
||||
|
||||
LET x.cantidad_pendiente_req=x.cantidad + x.cantidad_despachada_req
|
||||
{ #BUSCA DESPIECE
|
||||
DECLARE busca_desp CURSOR FOR
|
||||
SELECT b.descripcion,a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec,a.lado_1,a.lado_2,a.lado_3,a.cantidad,a.medida
|
||||
FROM vetb00026 b,cctb00027 a
|
||||
WHERE b.codid = a.etiqueta AND
|
||||
a.cod_n = x.cod_n AND
|
||||
a.cod_grupo = x.cod_grupo AND
|
||||
a.cod_tipo = x.cod_tipo AND
|
||||
a.cod_sec = x.cod_sec
|
||||
FOREACH busca_desp INTO y.*
|
||||
END FOREACH
|
||||
}
|
||||
PRINTX x.cod_n,x.cod_grupo,x.cod_tipo,x.cod_Sec,x.descripcion,x.cantidad,
|
||||
x.cantidad_pendiente_req,x.cantidad_pendiente_ord
|
||||
ON EVERY ROW
|
||||
# IF x.codn IS NOT NULL THEN
|
||||
# LET semaforo = TRUE
|
||||
# LET chkit = x.codn USING "&&&&","-",x.codgrupo USING "&&&&","-",x.codtipo USING "&&&&","-",
|
||||
# x.codsec USING "&&&&"," ",x.descripcion1
|
||||
# ELSE
|
||||
LET semaforo = FALSE
|
||||
|
||||
# END IF
|
||||
|
||||
PRINTX y.etiqueta,y.lado_1,y.lado_2,y.lado_3,y.cantidad_r,y.medida_r,
|
||||
chkit,semaforo,x.cantidad_1,x.cantidad
|
||||
END REPORT
|
||||
@@ -0,0 +1,48 @@
|
||||
schema decomarmol
|
||||
LAYOUT (TEXT="CONSULTA ORDENES", STYLE="basic")
|
||||
GRID
|
||||
{
|
||||
[ :cc :sr ]
|
||||
Cliente [t1]-[t2 ][c3 ]
|
||||
Numero de Orden [f000 ] Cotizacion[co ]Fecha [f001 ]
|
||||
Tipo de Ordenes [pe ]
|
||||
|
||||
<t t1 >
|
||||
[n ][g ][t ][s ][des ][c1 ][c2 ][b1 ]
|
||||
[n ][g ][t ][s ][des ][c1 ][c2 ][b1 ]
|
||||
[n ][g ][t ][s ][des ][c1 ][c2 ][b1 ]
|
||||
[n ][g ][t ][s ][des ][c1 ][c2 ][b1 ]
|
||||
[n ][g ][t ][s ][des ][c1 ][c2 ][b1 ]
|
||||
[n ][g ][t ][s ][des ][c1 ][c2 ][b1 ]
|
||||
[n ][g ][t ][s ][des ][c1 ][c2 ][b1 ]
|
||||
|
||||
}
|
||||
END
|
||||
end
|
||||
tables
|
||||
prtb00009
|
||||
attributes
|
||||
co = formonly.cotizacion_no;
|
||||
t1 = formonly.tipo_cliente,noentry,reverse;
|
||||
t2 = formonly.sec_cliente,noentry,reverse;
|
||||
c3 = formonly.p_nombre,noentry,reverse;
|
||||
f000 = prtb00009.num_oc,reverse;
|
||||
f001 = formonly.fecha,format="dd/mm/yyyy",reverse;
|
||||
COMBOBOX pe = formonly.tipo_orden,ITEMS=(('N','PENDIENTES'),('S','CERRADAS'),('T','TODAS'));
|
||||
|
||||
|
||||
n = formonly.cod_n,TITLE='CALSE';
|
||||
g = formonly.cod_grupo,TITLE='GRUPO';
|
||||
t = formonly.cod_tipo,TITLE='TIPO';
|
||||
s = formonly.cod_sec,TITLE='SECUENCIA';
|
||||
des = formonly.descripcion,TITLE='DESCRIPCION';
|
||||
c1 = formonly.cantidad1,TITLE='CANTIDAD ORDEN';
|
||||
c2 = formonly.cantidad2,TITLE='CANTIDAD INVENTARIO';
|
||||
b1 = formonly.balance,TITLE='BALANCE';
|
||||
|
||||
BUTTON cc :close, TEXT='CANCEL';
|
||||
BUTTON sr :ejecuta,TEXT='OK';
|
||||
|
||||
instructions delimiters " "
|
||||
screen record s_orden[7](cod_n,cod_grupo,cod_tipo,cod_Sec,descripcion,cantidad1,cantidad2,balance)
|
||||
end
|
||||
@@ -0,0 +1,39 @@
|
||||
{
|
||||
-----------------------------------------------------------------------------
|
||||
FORMULARIO : PRFMMT001
|
||||
OBJETIVO : Captura Informacion Rango de Fehca para La Semana (PRPRMT001)
|
||||
REALIZADO POR : Tadeo A. Ferreras F.
|
||||
FECHA : Sept. 14, 1994
|
||||
-----------------------------------------------------------------------------
|
||||
}
|
||||
database decomarmol
|
||||
screen size 24 by 80
|
||||
{
|
||||
Numero De Semana [n1 ]
|
||||
Ano [a1 ]
|
||||
Mes [m1]
|
||||
Semana Del [f005 ]
|
||||
Semana Al [f006 ] DESCRIPCION[de ]
|
||||
[a]
|
||||
Usuario Creador [b ] Usuario Modificador [c ]
|
||||
Fecha Creacion [d ] Usuario Modificador [e ]
|
||||
|
||||
}
|
||||
end
|
||||
tables
|
||||
prtb00002
|
||||
attributes
|
||||
de = prtb00002.descripcion,scroll;
|
||||
n1 = formonly.num_semana;
|
||||
f005 = prtb00002.semana_del,format = "dd/mm/yy";
|
||||
f006 = prtb00002.semana_al,format = "dd/mm/yy";
|
||||
m1 = prtb00002.mes;
|
||||
a1 = prtb00002.ano;
|
||||
a = prtb00002.status_t,noentry;
|
||||
b = prtb00002.us_crea,noentry;
|
||||
c = prtb00002.us_mod,noentry;
|
||||
d = prtb00002.fech_crea,noentry;
|
||||
e = prtb00002.fech_mod,noentry;
|
||||
instructions
|
||||
delimiters " "
|
||||
end
|
||||
@@ -0,0 +1,45 @@
|
||||
{
|
||||
-----------------------------------------------------------------------------
|
||||
FORMULARIO : PRFMMT002
|
||||
OBJETIVO : Registro de hora personal administratico (PRPRMT002)
|
||||
REALIZADO POR : Tadeo A. Ferreras F.
|
||||
FECHA : Sept. 14, 1994
|
||||
-----------------------------------------------------------------------------
|
||||
}
|
||||
database decomarmol
|
||||
screen size 24 by 80
|
||||
{
|
||||
Semana No. [n1 ] Rango: Del [f1 ] AL [f2 ]
|
||||
Departamento [dp ] [ndp ]
|
||||
Empleado [emp ] [nem ]
|
||||
\g----------------------------------------------------------------------------\g
|
||||
Fecha Hora Normal Hora Extra
|
||||
\g----------------------------------------------------------------------------\g
|
||||
[n ] [f008 ] [f007 ]
|
||||
[n ] [f008 ] [f007 ]
|
||||
[n ] [f008 ] [f007 ]
|
||||
[n ] [f008 ] [f007 ]
|
||||
[n ] [f008 ] [f007 ]
|
||||
[n ] [f008 ] [f007 ]
|
||||
[n ] [f008 ] [f007 ]
|
||||
}
|
||||
end
|
||||
tables
|
||||
prtb00003,prtb00002
|
||||
attributes
|
||||
n1 = prtb00002.num_semana,comments =
|
||||
"Digite Numero Semana Con El Sigte. Formato mmdd Ej. 9401";
|
||||
f1 = prtb00002.semana_del,noentry,format = "dd/mm/yy";
|
||||
f2 = prtb00002.semana_al,noentry,format = "dd/mm/yy";
|
||||
dp = prtb00003.departamento;
|
||||
emp = prtb00003.num_emp;
|
||||
ndp = formonly.nom_dpto,noentry;
|
||||
nem = formonly.nom_emp,noentry;
|
||||
n = prtb00003.fecha,format = "dd/mm/yy";
|
||||
f008 = prtb00003.hn_ind;
|
||||
f007 = prtb00003.he_ind;
|
||||
instructions
|
||||
screen record sc_hora[7] (fecha,hn_ind,he_ind)
|
||||
|
||||
delimiters " "
|
||||
end
|
||||
@@ -0,0 +1,60 @@
|
||||
|
||||
TOOLBAR
|
||||
ITEM nuevo (TEXT="Produccion", IMAGE="new", COMMENT="Nuevo Documento")
|
||||
ITEM buscar (TEXT="Buscar Documento", IMAGE="find", COMMENT="Criterio de busqueda")
|
||||
ITEM anular (TEXT="Anular Registros", IMAGE="cancel",COMMENT="Anula Registro en Screen")
|
||||
SEPARATOR
|
||||
ITEM salir (TEXT="Salir", IMAGE="quit")
|
||||
END
|
||||
|
||||
LAYOUT (TEXT="CREACION DOCUMENTO PRODUCCION", STYLE="basic")
|
||||
GRID
|
||||
|
||||
{
|
||||
<G "General" >
|
||||
Secuencia [f007 ] Fecha [f005 ]
|
||||
Factor [f1 ]
|
||||
Departa. [f2 ] [ce ]
|
||||
|
||||
<G "Detalle" >
|
||||
<t >
|
||||
[ti ][f11 ][f4 ][f5 ][f6 ][f7 ][f0 ][f002 ][blq ][tr]
|
||||
[ti ][f11 ][f4 ][f5 ][f6 ][f7 ][f0 ][f002 ][blq ][tr]
|
||||
[ti ][f11 ][f4 ][f5 ][f6 ][f7 ][f0 ][f002 ][blq ][tr]
|
||||
[ti ][f11 ][f4 ][f5 ][f6 ][f7 ][f0 ][f002 ][blq ][tr]
|
||||
[ti ][f11 ][f4 ][f5 ][f6 ][f7 ][f0 ][f002 ][blq ][tr]
|
||||
|
||||
<G "INFORMACION" >
|
||||
Produce : [des ][un ]
|
||||
Operacion : [pr ]
|
||||
Empleado : [a ]
|
||||
TURNO : [trd ]
|
||||
}
|
||||
end
|
||||
|
||||
attributes
|
||||
tr = formonly.turno,TITLE="TURNO";
|
||||
trd = formonly.tdescripcion;
|
||||
blq = FORMONLY.codigo_bloque,upshift,scroll,TITLE="BLOQUE";
|
||||
f2 = FORMONLY.departamento,required;
|
||||
f007 = formonly.num_doc,noentry;
|
||||
ce = formonly.descrip2,noentry;
|
||||
f1 = formonly.factor,comments = "Digite factor que desa calcular las horas normales";
|
||||
DATEEDIT f005 = FORMONLY.fecha TYPE DATE,required,FORMAT="DD/MM/YYYY";
|
||||
f11 = FORMONLY.emp_no,autonext,TITLE="EMPLEADO";
|
||||
f0 = formonly.cod_prod,TITLE="CODIGO";
|
||||
pr = formonly.nombre_mq,upshift,comments = "Digite Descripcion Operacion";
|
||||
ti = formonly.tipo,comments = "Digite Codigo de la Maquina",TITLE="OPERACION";
|
||||
f4 = FORMONLY.h_directa,autonext,TITLE="N.DIRECTA";
|
||||
f5 = FORMONLY.h_indirecta,autonext,TITLE="N.IND.";
|
||||
f6 = FORMONLY.e_directa,autonext,TITLE="E. DIRECTAS";
|
||||
f7 = FORMONLY.e_indirecta,autonext,TITLE="E.INDIRECTAS";
|
||||
un = formonly.medida,noentry;
|
||||
f002 = FORMONLY.cantidad,comments = "Digite Cantidad Producida",TITLE="CANTIDAD";
|
||||
des = formonly.descripcion,noentry;
|
||||
a = formonly.nombre,noentry;
|
||||
instructions
|
||||
screen record scr_costos[5] (tipo,emp_no,h_directa,h_indirecta,e_directa,
|
||||
e_indirecta,cod_prod,cantidad,codigo_bloque,turno)
|
||||
delimiters " "
|
||||
end
|
||||
@@ -0,0 +1,36 @@
|
||||
{
|
||||
==============================================================================
|
||||
FORMULARIO : PRFMMT004
|
||||
OBJETIVO : CAPTURAR EL CONTROL DE LOS DEPARTAMENTOS
|
||||
DISENADO : Juan F. Soto
|
||||
FECHA : Septiembre 14, 1994
|
||||
==============================================================================
|
||||
}
|
||||
database marmotech
|
||||
screen size 24 by 80
|
||||
{
|
||||
\g------------------------------------------------------------------------\g
|
||||
MANTENIMIENTO CONTROL DEPARTAMENTOS
|
||||
\g------------------------------------------------------------------------\g
|
||||
|
||||
Nomenclatura [a ]
|
||||
Departamento [f000 ][des1 ]
|
||||
|
||||
Usuario Creador [f001 ] Fecha Creadcion [f002 ]
|
||||
Usuario Modificador [f003 ] Fecha Modificacion [f004 ]
|
||||
|
||||
< Esc > Busca y Actualiza Tabla < Ctrl-C > Cancela Operacion
|
||||
}
|
||||
end
|
||||
tables
|
||||
prtb00004,adtb00001
|
||||
attributes
|
||||
a = prtb00004.tipo,include=("A","B+C","D"),comments =
|
||||
"Valores Permitibles A, B+C, D",upshift;
|
||||
f000 = prtb00004.departamento, lookup des1=adtb00001.nom_dpto,
|
||||
joining *adtb00001.departamento;
|
||||
f001 = prtb00004.us_crea,noentry,default=user;
|
||||
f002 = prtb00004.fech_crea,default=current,noentry;
|
||||
f003 = prtb00004.us_mod,noentry;
|
||||
f004 = prtb00004.fech_mod,noentry;
|
||||
end
|
||||
@@ -0,0 +1,24 @@
|
||||
database decomarmol
|
||||
screen size 24 by 80
|
||||
{
|
||||
Codigo [b ]
|
||||
Descripcion [f004 ]
|
||||
[j]
|
||||
|
||||
Usuario Creador [f006 ] Usuario Modificador [f008 ]
|
||||
Fecha Creacion [f007 ] Fecha Modificacion [f009 ]
|
||||
}
|
||||
end
|
||||
tables
|
||||
prtb00005
|
||||
attributes
|
||||
b =prtb00005.codigo, autonext,comments = "Digite el Codigo de Operacion";
|
||||
f004=prtb00005.descripcion,upshift,comments="Digite el nombre de la Operacion";
|
||||
f006=prtb00005.us_crea, noentry;
|
||||
f007=prtb00005.fech_crea, noentry;
|
||||
f008=prtb00005.us_mod, noentry;
|
||||
f009=prtb00005.fech_mod, noentry;
|
||||
j =prtb00005.status_t, noentry;
|
||||
instructions
|
||||
delimiters " "
|
||||
end
|
||||
@@ -0,0 +1,50 @@
|
||||
database decomarmol
|
||||
screen size 24 by 80
|
||||
{
|
||||
Orden No. [f000 ] Fecha: [f001 ] Tipo Producto [p ]
|
||||
Cliente [f0][f003] [b1 ]
|
||||
Vendedor [v1 ] [ve ]Orden Pedido[or1 ]
|
||||
Producto A Producir: [a][b][c ][d ][a1 ]
|
||||
Unidad de Medida : [und ] Cantidad [f008 ]Fecha Termina[fe ]
|
||||
\g--------------------------------------------------------------------------\g
|
||||
COMPOSICION PRODUCTO...
|
||||
\g--------------------------------------------------------------------------\g
|
||||
[e][f][g ][h ][a2 ][f10 ][f9 ]
|
||||
[e][f][g ][h ][a2 ][f10 ][f9 ]
|
||||
[e][f][g ][h ][a2 ][f10 ][f9 ]
|
||||
[e][f][g ][h ][a2 ][f10 ][f9 ]
|
||||
[e][f][g ][h ][a2 ][f10 ][f9 ]
|
||||
}
|
||||
end
|
||||
tables
|
||||
prtb00007,prtb00008,vetb00004,iptb00002
|
||||
attributes
|
||||
v1 = prtb00007.sec_vend,comments = "Control-W Para Buscar Vendedores";
|
||||
ve = formonly.nombre_vend,reverse,noentry;
|
||||
f000 = prtb00007.num_oc;
|
||||
f001 = prtb00007.fecha,required,format="dd/mm/yyyy";
|
||||
or1 = prtb00007.orden_pedido,comments = "Introduzca Numero Orden Pedido";
|
||||
f0 = prtb00007.tipo_cliente,required,comments = "Control-W Busca CLientes";
|
||||
f003 = prtb00007.sec_cliente,required,comments = "Control-W Busca CLientes";
|
||||
b1 = vetb00004.nombre,reverse;
|
||||
a = prtb00007.cod_n,required,comments="Control-W Busca Producto";
|
||||
b = prtb00007.cod_grupo,required,comments="Control-W Busca Producto";
|
||||
c = prtb00007.cod_tipo,required,comments="Control-W Busca Producto";
|
||||
d = prtb00007.cod_sec,required,comments="Control-W Busca Producto";
|
||||
a1 = iptb00002.descrip_esp,reverse;
|
||||
fe = prtb00007.fecha_termina,format = "dd/mm/yyyy";
|
||||
und=formonly.unidad,reverse;
|
||||
f008 = prtb00007.cantidad,required;
|
||||
|
||||
p = formonly.descrip,noentry,reverse;
|
||||
e = formonly.cod_n_c,comments = "Digite Materia Prima";
|
||||
f = formonly.cod_grupo_c,comments = "Digite Materia Prima";
|
||||
g = formonly.cod_tipo_c,comments = "Digite Materia Prima";
|
||||
h = formonly.cod_sec_c,comments = "Digite Materia Prima";
|
||||
a2=formonly.descrip_esp_c,reverse,noentry;
|
||||
f9= formonly.cantidad_c type decimal(12,3),comments= "Cantidad de Material A Usarse";
|
||||
f10 = formonly.unidad_c type CHAR,reverse,noentry;
|
||||
instructions
|
||||
screen record s_orden[5]
|
||||
(cod_n_c,cod_grupo_c,cod_tipo_c,cod_sec_c,cantidad_c,descrip_esp_c,unidad_c)
|
||||
end
|
||||
@@ -0,0 +1,38 @@
|
||||
database decomarmol
|
||||
screen size 24 by 80
|
||||
{
|
||||
Numero de Orden [f000 ]
|
||||
Cliente [c1]-[c2 ][c3 ]
|
||||
Fecha de Status [f001 ] Cerrada [pe ]
|
||||
Fecha Fabricacion[f2 ]
|
||||
Status de Orden [f002 ]
|
||||
[f002 ]
|
||||
[f002 ]
|
||||
[f002 ]
|
||||
[f002 ]
|
||||
[a]
|
||||
Usuario Creador [f005 ] Usuario Modificador [f007 ]
|
||||
Fecha Creacion [f006 ] Fecha Modificacion [f008 ]
|
||||
}
|
||||
end
|
||||
tables
|
||||
prtb00009
|
||||
attributes
|
||||
f2 = prtb00009.fecha_fabricacion, format = "dd/mm/yyyy";
|
||||
f000 = prtb00009.num_oc,reverse;
|
||||
f001 = prtb00009.fecha,format="dd/mm/yyyy",reverse;
|
||||
f002 = prtb00009.detalle,wordwrap,upshift,reverse;
|
||||
pe = prtb00009.pendiente
|
||||
--# ,widget="RADIO", class="key", default="S"
|
||||
--# ,config="S Si N No",comments = "Si Esta Pendiente No Esta Pendiente";
|
||||
|
||||
a = prtb00009.status_t,noentry;
|
||||
f005 = prtb00009.us_crea,noentry,reverse;
|
||||
f006 = prtb00009.fech_crea,noentry,reverse;
|
||||
f007 = prtb00009.us_mod,noentry,reverse;
|
||||
f008 = prtb00009.fech_mod,noentry,reverse;
|
||||
c1 = formonly.tipo_cliente,noentry,reverse;
|
||||
c2 = formonly.sec_cliente,noentry,reverse;
|
||||
c3 = formonly.p_nombre,noentry,reverse;
|
||||
instructions delimiters " "
|
||||
end
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,100 @@
|
||||
|
||||
TOOLBAR
|
||||
ITEM nuevo (TEXT="Orden", IMAGE="new", COMMENT="Nueva Orden")
|
||||
ITEM buscar (TEXT="Buscar Orden", IMAGE="find", COMMENT="Criterio de busqueda")
|
||||
SEPARATOR
|
||||
ITEM salir (TEXT="Salir", IMAGE="quit")
|
||||
END
|
||||
|
||||
LAYOUT(TEXT="Ordenes Pedidos",STYLE="basic")
|
||||
GRID
|
||||
|
||||
{<G "Generales" >
|
||||
Cotizacion [cot ]Documento Referencia[x10 ]
|
||||
Orden No. [f000 ] Fecha Oc.:[f001 ] Ventas[ar1 ]
|
||||
Cliente [f0|f003 ] [b1 ]
|
||||
Vendedor [v1 ] [ve ]Rec. Pago: [re ]
|
||||
Direccion [a ]
|
||||
Telefono [b ]Fax [c ] Fecha de Entrega [fe ]
|
||||
Condiciones [d ] Balance [f09 ]
|
||||
Ubicacion [ubic ]
|
||||
<G "Detalle Orden" >
|
||||
<t t1 >
|
||||
[va][ar ][e |f |g |h ][a2 ][un ][alt ][k][b2 ][f40 ][f22 ][f10 ][f9 ][f11 ]
|
||||
[va][ar ][e |f |g |h ][a2 ][un ][alt ][k][b2 ][f40 ][f22 ][f10 ][f9 ][f11 ]
|
||||
[va][ar ][e |f |g |h ][a2 ][un ][alt ][k][b2 ][f40 ][f22 ][f10 ][f9 ][f11 ]
|
||||
[va][ar ][e |f |g |h ][a2 ][un ][alt ][k][b2 ][f40 ][f22 ][f10 ][f9 ][f11 ]
|
||||
[va][ar ][e |f |g |h ][a2 ][un ][alt ][k][b2 ][f40 ][f22 ][f10 ][f9 ][f11 ]
|
||||
|
||||
Total de Material [f12 ]
|
||||
Instalacion Tope Cantidad [f13 ] Precio [f14 ]
|
||||
Mano Obra Cantidad [f15 ] Precio [f16 ]
|
||||
Transporte [f17 ] Itbis [f18 ]
|
||||
Total Ventas [f19 ]
|
||||
}
|
||||
end
|
||||
end
|
||||
|
||||
attributes
|
||||
x10 = formonly.documento_ref,comments="Documento Referencia Cliente";
|
||||
re = formonly.rec_pago;
|
||||
ar1 = formonly.descrip_ventas;
|
||||
f000 = formonly.num_oc,noentry;
|
||||
f001 = formonly.fecha_oc,required;
|
||||
cot = formonly.cotizacion_no;
|
||||
f0 = formonly.tipo_cliente;
|
||||
f003 = formonly.sec_cliente;
|
||||
b1 = formonly.nombre,reverse,noentry;
|
||||
a = formonly.direccion,upshift,noentry,
|
||||
comments = "Digite la DIRECCION correcta del cliente";
|
||||
b = formonly.telefono,picture = "###-###-####",noentry,
|
||||
comments = "Digite el numero de TELEFONO con su codigo de Area";
|
||||
c = formonly.fax,picture = "###-###-####",noentry,
|
||||
comments = "Digite el numero de FAX con su codigo de Area";
|
||||
d = formonly.cond_pago,noentry;
|
||||
fe = formonly.fecha_entrega,
|
||||
comments = "Digite la FECHA DE ENTREGA de la Orden";
|
||||
f09 = formonly.balance,noentry;
|
||||
ubic = formonly.ubicacion, upshift,SCROLL,
|
||||
comments = "Digite la ubicacion del proyecto ";
|
||||
v1 = formonly.sec_vend,required,noentry;
|
||||
ve = formonly.nombre_vend,reverse,noentry;
|
||||
|
||||
|
||||
EDIT va = formonly.fila,noentry,TITLE="Secuencia";
|
||||
ar = formonly.area, TITLE="AREA";
|
||||
e = formonly.cod_n,TITLE="Clase",widget="FIELD_BMP", config="combo.bmp F10";
|
||||
f = formonly.cod_grupo,TITLE="Grupo",widget="FIELD_BMP", config="combo.bmp F10";
|
||||
g = formonly.cod_tipo,TITLE="Tipo",widget="FIELD_BMP", config="combo.bmp F10";
|
||||
h = formonly.cod_sec,TITLE="Secuencia",widget="FIELD_BMP", config="combo.bmp F10";
|
||||
a2 = formonly.descrip_esp,noentry,TITLE="Descripcion";
|
||||
un = formonly.unidad_med,noentry,TITLE="Unidad Med";
|
||||
EDIT k = formonly.terminacion,noentry,TITLE="Terminacion",
|
||||
comments = "Digite P=Pulido R=Rustico B=Brushed A=Acido";
|
||||
EDIT alt = formonly.altura_zocalo,TITLE="Zocalo";
|
||||
EDIT b2 = formonly.bisel,UPSHIFT,TITLE="Bisel",
|
||||
comments = "Digite DBN - SDN - FBN - MBM - P.P. - C.R. DBPP BY5";
|
||||
EDIT f40 = formonly.cantidad_1,TITLE="Unidades";
|
||||
EDIT f22 = formonly.cantidad,noentry,TITLE="Medida";
|
||||
EDIT f10 = formonly.precio,TITLE="Precio",noentry;
|
||||
EDIT f9 = formonly.descuento,TITLE="Descuento",noentry;
|
||||
EDIT f11 = formonly.total_p ,noentry,TITLE="Total";
|
||||
|
||||
f12 = formonly.sub_total,noentry;
|
||||
f13 = formonly.cantidad_i,comments =
|
||||
"Digite la cantidad de Metros en Instalacion de Topes";
|
||||
f14 = formonly.precio_i,comments =
|
||||
"Digite el precio de Instalacion de Tope";
|
||||
f15 = formonly.cantidad_mo,comments =
|
||||
"Digite la cantidad de Metro a instalar";
|
||||
f16 = formonly.precio_mo,comments =
|
||||
"Digite el precio por Metro de Instalacion";
|
||||
f17 = formonly.transporte,noentry;
|
||||
|
||||
f18 = formonly.itbis,noentry;
|
||||
f19 = formonly.total_v,noentry;
|
||||
instructions
|
||||
screen record s_pedido[4]
|
||||
(fila,area,cod_n, cod_grupo, cod_tipo, cod_sec, descrip_esp,unidad_med,altura_zocalo, terminacion,bisel,
|
||||
cantidad_1,cantidad, precio, descuento, total_p)
|
||||
end
|
||||
@@ -0,0 +1,81 @@
|
||||
database marmotech
|
||||
screen size 24 by 80
|
||||
{
|
||||
Orden No. [f000 ] Fecha Oc.: [f001 ]
|
||||
Cliente [f0|f003] [b1 ]
|
||||
Vendedor [v1 ] [ve ]
|
||||
Direccion [a ]
|
||||
Telefono [b ] Fax [c ] Fecha de Entrega [fe ]
|
||||
Condiciones [d ] [f20 ] Balance [f09 ]
|
||||
Ubicación [ubic ]
|
||||
Codigo Alt. Zocalo Term. Bisel Cant. Precio Desc. Total
|
||||
[e|f|g |h ][alt ] [k] [b2 ][f22 |f10 |f9][f11 ]
|
||||
Total de Material [f12 ]
|
||||
Instalacion Tope Cantidad [f13 ] Precio [f14 ]
|
||||
Descripcion Mano Obra [un ] Cantidad [f15 ] Precio [f16 ]
|
||||
[a2 ] Transporte [f17 ] Itbis [f18 ]
|
||||
Total Ventas [f19 ]
|
||||
}
|
||||
end
|
||||
tables
|
||||
prtb00012,vetb00004,prtb00013
|
||||
attributes
|
||||
f000 = prtb00012.num_oc,noentry;
|
||||
f001 = prtb00012.fecha_oc,required,format="dd/mm/yyyy";
|
||||
f0 = prtb00012.tipo_cliente,required,autonext,comments = "Control-W Busca CLientes";
|
||||
f003 = vetb00004.sec_cliente,required,comments = "Control-W Busca CLientes";
|
||||
b1 = vetb00004.nombre,reverse,noentry;
|
||||
a = prtb00012.direccion,upshift,noentry,
|
||||
comments = "Digite la DIRECCION correcta del cliente";
|
||||
b = prtb00012.telefono,picture = "###-###-####",noentry,
|
||||
comments = "Digite el numero de TELEFONO con su codigo de Area";
|
||||
c = prtb00012.fax,picture = "###-###-####",noentry,
|
||||
comments = "Digite el numero de FAX con su codigo de Area";
|
||||
d = prtb00012.cond_pago,comments =
|
||||
"Digite la CONDICION de Pago";
|
||||
alt = prtb00013.altura_zocalo;
|
||||
f20 = formonly.descrip_p,noentry;
|
||||
fe = prtb00012.fecha_entrega,format = "dd/mm/yyyy",
|
||||
comments = "Digite la FECHA DE ENTREGA de la Orden";
|
||||
f09 = formonly.balance,noentry;
|
||||
ubic = prtb00012.ubicacion, upshift,SCROLL,
|
||||
comments = "Digite la ubicacion del proyecto ";
|
||||
v1 = prtb00012.sec_vend,comments = "Control-W Para Buscar Vendedores";
|
||||
ve = formonly.nombre_vend,reverse,noentry;
|
||||
|
||||
e = prtb00013.cod_n,autonext;
|
||||
f = prtb00013.cod_grupo,autonext;
|
||||
g = prtb00013.cod_tipo,autonext;
|
||||
h = prtb00013.cod_sec,
|
||||
comments = "Digite el Codigo del Producto";
|
||||
a2 = formonly.descrip_esp,noentry;
|
||||
k = formonly.terminacion,upshift,
|
||||
comments = "Digite P=Pulido R=Rustico o dejar el campor en blanco";
|
||||
b2 = prtb00013.bisel,UPSHIFT,
|
||||
comments = "Digite DBN o SDN";
|
||||
f22 = prtb00013.cantidad,
|
||||
comments = "Digite la Cantidad ";
|
||||
f10 = prtb00013.precio,
|
||||
comments = "Digite el Precio";
|
||||
f9 = prtb00013.descuento;
|
||||
f11 = formonly.total_p type Decimal(8,2),noentry;
|
||||
|
||||
f12 = formonly.sub_total,noentry;
|
||||
f13 = prtb00012.cantidad_i,comments =
|
||||
"Digite la cantidad de Metros en Instalacion de Topes";
|
||||
f14 = prtb00012.precio_i,comments =
|
||||
"Digite el precio de Instalacion de Tope";
|
||||
un = formonly.unidad_med,noentry;
|
||||
f15 = prtb00012.cantidad_mo,comments =
|
||||
"Digite la cantidad de Metro a instalar";
|
||||
f16 = prtb00012.precio_mo,comments =
|
||||
"Digite el precio por Metro de Instalacion";
|
||||
f17 = prtb00012.transporte,comments =
|
||||
"Digite el Costo del Transporte del Producto";
|
||||
f18 = prtb00012.itbis,noentry;
|
||||
f19 = formonly.total_v,noentry;
|
||||
instructions
|
||||
screen record s_pedido[1]
|
||||
(cod_n, cod_grupo, cod_tipo, cod_sec, altura_zocalo, terminacion,bisel,
|
||||
cantidad, precio, descuento, total_p)
|
||||
end
|
||||
@@ -0,0 +1,76 @@
|
||||
database marmotech
|
||||
screen size 24 by 80
|
||||
{
|
||||
Orden No. [f000 ] Fecha Oc.: [f001 ]
|
||||
Cliente [f0|f003] [b1 ]
|
||||
Vendedor [v1 ] [ve ]
|
||||
Direccion [a ]
|
||||
Telefono [b ] Fax [c ] Fecha de Entrega [fe ]
|
||||
Condiciones [d ] [f20 ] Balance [f09 ]
|
||||
\g--------------------------------------------------------------------------\g
|
||||
Codigo Descripcion Bisel Cant. Precio Desc. Total
|
||||
[e|f|g |h ][a2 ][b2 ][f22 ][f10 ][f9 ] [f11 ]
|
||||
Total de Material [f12 ]
|
||||
Instalacion Tope Cantidad [f13 ] Precio [f14 ]
|
||||
Mano Obra [un ] Cantidad [f15 ] Precio [f16 ]
|
||||
Transporte [f17 ] Itbis [f18 ]
|
||||
Total Ventas [f19 ]
|
||||
}
|
||||
end
|
||||
tables
|
||||
prtb00012,vetb00004,prtb00013
|
||||
attributes
|
||||
f000 = prtb00012.num_oc,noentry;
|
||||
f001 = prtb00012.fecha_oc,required,format="dd/mm/yyyy";
|
||||
f0 = prtb00012.tipo_cliente,required,autonext,comments = "Control-W Busca CLientes";
|
||||
f003 = vetb00004.sec_cliente,required,comments = "Control-W Busca CLientes";
|
||||
b1 = vetb00004.nombre,reverse,noentry;
|
||||
a = prtb00012.direccion,upshift,
|
||||
comments = "Digite la DIRECCION correcta del cliente";
|
||||
b = prtb00012.telefono,picture = "###-###-####",autonext,
|
||||
comments = "Digite el numero de TELEFONO con su codigo de Area";
|
||||
c = prtb00012.fax,picture = "###-###-####,autonext",
|
||||
comments = "Digite el numero de FAX con su codigo de Area";
|
||||
d = prtb00012.cond_pago,comments =
|
||||
"Digite la CONDICION de Pago";
|
||||
f20 = formonly.descrip_p,noentry;
|
||||
fe = prtb00012.fecha_entrega,format = "dd/mm/yyyy",
|
||||
comments = "Digite la FECHA DE ENTREGA de la Orden";
|
||||
f09 = formonly.balance,noentry;
|
||||
v1 = prtb00012.sec_vend,comments = "Control-W Para Buscar Vendedores";
|
||||
ve = formonly.nombre_vend,reverse,noentry;
|
||||
|
||||
e = prtb00013.cod_n,autonext;
|
||||
f = prtb00013.cod_grupo,autonext;
|
||||
g = prtb00013.cod_tipo;
|
||||
h = prtb00013.cod_sec,
|
||||
comments = "Digite el Codigo del Producto";
|
||||
a2 = formonly.descrip_esp,noentry;
|
||||
b2 = prtb00013.bisel,UPSHIFT,INCLUDE = ("DBN","SDN"),comments =
|
||||
"Digite DBN o SDN";
|
||||
f22 = prtb00013.cantidad,
|
||||
comments = "Digite la Cantidad ";
|
||||
f10 = prtb00013.precio,
|
||||
comments = "Digite el Precio";
|
||||
f9 = prtb00013.descuento;
|
||||
f11 = formonly.total_p type Decimal(8,2),noentry;
|
||||
|
||||
f12 = formonly.sub_total,noentry;
|
||||
f13 = prtb00012.cantidad_i,comments =
|
||||
"Digite la cantidad de Metros en Instalacion de Topes";
|
||||
f14 = prtb00012.precio_i,comments =
|
||||
"Digite el precio de Instalacion de Tope";
|
||||
un = formonly.unidad_med,noentry;
|
||||
f15 = prtb00012.cantidad_mo,comments =
|
||||
"Digite la cantidad de Metro a instalar";
|
||||
f16 = prtb00012.precio_mo,comments =
|
||||
"Digite el precio por Metro de Instalacion";
|
||||
f17 = prtb00012.transporte,comments =
|
||||
"Digite el Costo del Transporte del Producto";
|
||||
f18 = prtb00012.itbis,noentry;
|
||||
f19 = formonly.total_v,noentry;
|
||||
instructions
|
||||
screen record s_pedido[1]
|
||||
(cod_n, cod_grupo, cod_tipo, cod_sec, descrip_esp, bisel,
|
||||
cantidad, precio, descuento, total_p)
|
||||
end
|
||||
@@ -0,0 +1,35 @@
|
||||
{
|
||||
-----------------------------------------------------------------------------
|
||||
FORMULARIO : PRFMMT010
|
||||
OBJETIVO : Captura Informacion de las areas de instalacion
|
||||
REALIZADO POR : Victor Gomez C.
|
||||
FECHA : Friday, October 05, 2001
|
||||
-----------------------------------------------------------------------------
|
||||
}
|
||||
schema decomarmol
|
||||
screen size 24 by 80
|
||||
{
|
||||
Area [n1 ]
|
||||
Descripcion Area [a1 ]
|
||||
Status [a]
|
||||
|
||||
Usuario Creador [b ] Usuario Modificador [c ]
|
||||
Fecha Creacion [d ] Usuario Modificador [e ]
|
||||
|
||||
}
|
||||
end
|
||||
tables
|
||||
prtb00016
|
||||
attributes
|
||||
n1 = prtb00016.area_num,required,comments =
|
||||
"Digite el Numero del Area";
|
||||
a1 = prtb00016.nombre_area,upshift,required,comments =
|
||||
"Digite la descripcion del Area";
|
||||
a = prtb00016.status_t,noentry;
|
||||
b = prtb00016.us_crea,noentry;
|
||||
c = prtb00016.us_mod,noentry;
|
||||
d = prtb00016.fech_crea,noentry;
|
||||
e = prtb00016.fech_mod,noentry;
|
||||
instructions
|
||||
delimiters " "
|
||||
end
|
||||
@@ -0,0 +1,95 @@
|
||||
{
|
||||
-----------------------------------------------------------------------------
|
||||
FORMULARIO : PRFMMT012
|
||||
OBJETIVO : ADMINISTRACION ORDENES PEDIDOS
|
||||
REALIZADO POR : Ing. Juan Soto
|
||||
FECHA : Marzo 4, 2010
|
||||
-----------------------------------------------------------------------------
|
||||
}
|
||||
SCHEMA decomarmol
|
||||
ACTION DEFAULTS
|
||||
ACTION cancel (TEXT="Cancela Operacion",IMAGE="stop")
|
||||
ACTION procesar (TEXT="Busca Requisicion",IMAGE="buscar")
|
||||
ACTION buscamensaje (TEXT="Mensajes",IMAGE="message")
|
||||
END
|
||||
|
||||
|
||||
LAYOUT (TEXT="Administracion Ordenes Pedidos",STYLE="basic")
|
||||
GRID
|
||||
|
||||
{
|
||||
<G ><G "LEYENDA" >
|
||||
[lb1 ] [l1 ]
|
||||
NUMERO DE REGISTROS ENCONTRADOS:[no1 ] [l2 ]
|
||||
Fecha Inicial [f4 ] Fecha Final [f5 ] [l3 ]
|
||||
[l4 ]
|
||||
|
||||
<G "Ordenes" >
|
||||
<t t1 >
|
||||
[ac][ck1 ][es ][x10 ][Z1 ][f1 ][fe1 ][x3 ][x9 ][obs ][x4 ][x5 ][x7 ][x13 ][x14 ][x11 ][x12 ][jj ][a ][b ][c ][d ][tp][sec ][bce ]
|
||||
[ac][ck1 ][es ][x10 ][Z1 ][f1 ][fe1 ][x3 ][x9 ][obs ][x4 ][x5 ][x7 ][x13 ][x14 ][x11 ][x12 ][jj ][a ][b ][c ][d ][tp][sec ][bce ]
|
||||
[ac][ck1 ][es ][x10 ][Z1 ][f1 ][fe1 ][x3 ][x9 ][obs ][x4 ][x5 ][x7 ][x13 ][x14 ][x11 ][x12 ][jj ][a ][b ][c ][d ][tp][sec ][bce ]
|
||||
[ac][ck1 ][es ][x10 ][Z1 ][f1 ][fe1 ][x3 ][x9 ][obs ][x4 ][x5 ][x7 ][x13 ][x14 ][x11 ][x12 ][jj ][a ][b ][c ][d ][tp][sec ][bce ]
|
||||
[ac][ck1 ][es ][x10 ][Z1 ][f1 ][fe1 ][x3 ][x9 ][obs ][x4 ][x5 ][x7 ][x13 ][x14 ][x11 ][x12 ][jj ][a ][b ][c ][d ][tp][sec ][bce ]
|
||||
}
|
||||
|
||||
end
|
||||
tables
|
||||
cctb00001
|
||||
ATTRIBUTES
|
||||
CHECKBOX ac = formonly.actualiza TYPE CHAR,NOT NULL,VALUECHECKED="S",VALUEUNCHECKED="N",DEFAULT="N";
|
||||
|
||||
DATEEDIT f4 = formonly.fecha1,FORMAT="dd/mm/yyyy";
|
||||
DATEEDIT f5 = formonly.fecha2,FORMAT="dd/mm/yyyy";
|
||||
|
||||
COMBOBOX ck1=formonly.cerrada,ITEMS=(("S","CERRADAS"),("N","ABIERTAS")),TITLE="ESTADO ORDEN";
|
||||
|
||||
no1 = formonly.registros;
|
||||
LABEL lb1:text="ORDENES PEDIDOS", STYLE="title";
|
||||
LABEL l1:TEXT="ORDENES ENTRE 2 A 5 DIAS POR VENCER",COLOR=MAGENTA;
|
||||
LABEL l2:TEXT="ORDENES MAS DE 5 DIAS VENCIDAS",COLOR=RED;
|
||||
LABEL l3:TEXT="ORDENES NORMALES";
|
||||
LABEL l4:TEXT="LAS ORDENES EN COLOR AZUL TIENEN VARIAS FECHAS DE LLEGADA";
|
||||
|
||||
|
||||
DATEEDIT f1 = formonly.fecha_compromiso,TITLE="FECHA PRODUCCION";
|
||||
fe1= formonly.fecha_llegada,TITLE="FECHA LLEGADA",FORMAT="dd/mm/yyyy",
|
||||
widget="FIELD_BMP", config="combo.bmp control-w";
|
||||
|
||||
COMBOBOX es = formonly.estado_produccion, ITEMS=("LISTA PARA DESPACHO","EN PRODUCCION"),TITLE="ESTADO PRODUCCION";
|
||||
x10 = formonly.vendedor,TITLE="VENDEDOR";
|
||||
|
||||
|
||||
|
||||
LABEL z1 = formonly.fecha TYPE DATE,TITLE="FECHA ORDEN";
|
||||
x3 = formonly.cotizacion_no,TITLE="COTIZACION";
|
||||
x9 = formonly.num_oc,TITLE="ORDEN",
|
||||
widget="FIELD_BMP", config="combo.bmp control-w";
|
||||
obs = formonly.observacion,TITLE="OBSERVACION",SCROLL;
|
||||
LABEL x4 = formonly.tipo_venta,TITLE="MONEDA";
|
||||
LABEL x5 = formonly.nombre,TITLE="CLIENTE";
|
||||
|
||||
|
||||
LABEL x7 = formonly.producto,TITLE="PRODUCTO";
|
||||
LABEL x13 = formonly.cantidad_ord,TITLE="CANTIDAD ORD";
|
||||
LABEL x14 = formonly.cantidad_desp,TITLE="CANTIDAD DESP";
|
||||
LABEL x11 = formonly.cantidad_Dev,TITLE="DEVOLUCION";
|
||||
LABEL x12 = formonly.pendiente,TITLE="PENDIENTE";
|
||||
|
||||
jj = formonly.sec_vend,HIDDEN;
|
||||
a = formonly.cod_n,HIDDEN;
|
||||
b = formonly.cod_grupo,HIDDEN;
|
||||
c = formonly.cod_tipo,HIDDEN;
|
||||
d = formonly.cod_sec,HIDDEN;
|
||||
tp= formonly.tipo_cliente,HIDDEN;
|
||||
sec=formonly.sec_cliente,HIDDEN;
|
||||
bce = formonly.balance,HIDDEN;
|
||||
|
||||
|
||||
instructions
|
||||
screen record s_ordenes (actualiza,cerrada,estado_produccion,vendedor,fecha,fecha_compromiso,fecha_llegada,cotizacion_no,
|
||||
num_oc,observacion,tipo_venta,nombre,producto,cantidad_ord,cantidad_desp,cantidad_dev,pendiente,
|
||||
sec_vend,cod_n,cod_grupo,cod_tipo,cod_sec,tipo_cliente,sec_cliente,balance)
|
||||
|
||||
delimiters " "
|
||||
end
|
||||
@@ -0,0 +1,194 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<ManagedForm databaseName="decomarmol" fileVersion="31400" gstVersion="31405" name="ManagedForm" uid="{969c4ceb-b930-4058-9d6b-0fdd0ca4c55d}">
|
||||
<AGSettings>
|
||||
<DynamicProperties version="2"/>
|
||||
</AGSettings>
|
||||
<Record additionalTables="" joinLeft="" joinOperator="" joinRight="" name="s_ordenes" order="" uid="{e828e771-e8f8-4e50-8551-9c54991b5fac}" where="">
|
||||
<RecordField colName="actualiza" defaultValue="N" fieldIdRef="0" name="actualiza" sqlTabName="formonly" sqlType="CHAR" table_alias_name="" uid="{e33fd1a5-bafe-4f22-8c52-504f2bb25a44}"/>
|
||||
<RecordField colName="cerrada" fieldIdRef="3" name="cerrada" sqlTabName="formonly" table_alias_name="" uid="{3a43a1f3-16fd-4d81-a7f3-4980a5ef0f02}"/>
|
||||
<RecordField colName="estado_produccion" fieldIdRef="7" name="estado_produccion" sqlTabName="formonly" sqlType="CHAR" table_alias_name="" uid="{7c32324b-ef48-49db-9ec8-21181460441f}"/>
|
||||
<RecordField fieldIdRef="45" name="estado_producto" uid="{9cfdf876-9e30-46c5-a960-0efc5d25d7ef}"/>
|
||||
<RecordField colName="" fieldIdRef="29" name="departamento" sqlTabName="" table_alias_name="" uid="{871a19dd-7e8b-4a23-9ade-38a2a0c692e1}"/>
|
||||
<RecordField colName="" fieldIdRef="30" name="descripcion_dpto" sqlTabName="" table_alias_name="" uid="{98e1d7af-8c66-4cb5-beda-c24c5af18acf}"/>
|
||||
<RecordField colName="vendedor" fieldIdRef="8" name="vendedor" sqlTabName="formonly" table_alias_name="" uid="{d9f96f97-d33a-4e9b-8cba-6e70d183f575}"/>
|
||||
<RecordField colName="" fieldIdRef="28" name="apell1_emp" sqlTabName="" table_alias_name="" uid="{e7d12a14-9049-4cf8-a7e4-3ea72efd2c23}"/>
|
||||
<RecordField colName="fecha" fieldIdRef="9" name="fecha" sqlTabName="formonly" sqlType="DATE" table_alias_name="" uid="{69beda10-bfd5-4657-b4b4-8bf830a3d102}"/>
|
||||
<RecordField colName="fecha_compromiso" fieldIdRef="5" name="fecha_compromiso" sqlTabName="formonly" sqlType="DATE" table_alias_name="" uid="{66124361-5065-4c59-a00e-eef3253aea57}"/>
|
||||
<RecordField colName="fecha_llegada" fieldIdRef="6" name="fecha_llegada" sqlTabName="formonly" table_alias_name="" uid="{dd70ee8e-7c7f-4e8a-b0f4-ad068d806c66}"/>
|
||||
<RecordField colName="" fieldIdRef="43" name="fechaDispEntrega" sqlTabName="" table_alias_name="" uid="{66be3775-3a83-4527-8a37-b081a95b3347}"/>
|
||||
<RecordField colName="" fieldIdRef="42" name="fechaSolDespacho" sqlTabName="" table_alias_name="" uid="{71d44e51-04e5-402a-85cc-b4e920a87def}"/>
|
||||
<RecordField colName="" fieldIdRef="44" name="fechaInstalacion" sqlTabName="" table_alias_name="" uid="{4f6d3396-09ee-4efc-86e0-72ba9b2bcffe}"/>
|
||||
<RecordField colName="cotizacion_no" fieldIdRef="10" name="cotizacion_no" sqlTabName="formonly" table_alias_name="" uid="{7ebe4023-be9c-40bd-bedd-b9c325251d8d}"/>
|
||||
<RecordField colName="num_oc" fieldIdRef="11" name="num_oc" sqlTabName="formonly" table_alias_name="" uid="{51d6de53-0788-4e0c-822a-42d7acfe7710}"/>
|
||||
<RecordField colName="" fieldIdRef="39" name="orden_compra" sqlTabName="" table_alias_name="" uid="{caacb061-4c07-432a-a337-a15334868376}"/>
|
||||
<RecordField colName="observacion" fieldIdRef="12" name="observacion" sqlTabName="formonly" table_alias_name="" uid="{db0d3550-884d-4a67-b071-f60d05df0df1}"/>
|
||||
<RecordField colName="tipo_venta" fieldIdRef="13" name="tipo_venta" sqlTabName="formonly" table_alias_name="" uid="{cbefa022-77ad-45bc-ac00-701b470d1f15}"/>
|
||||
<RecordField colName="nombre" fieldIdRef="14" name="nombre" sqlTabName="formonly" table_alias_name="" uid="{948ab7fb-1978-46fb-9e93-0fde848b7bd2}"/>
|
||||
<RecordField colName="" fieldIdRef="35" name="origen" sqlTabName="" table_alias_name="" uid="{b025338f-ed65-4f48-84e3-128e7cafd2b2}"/>
|
||||
<RecordField colName="producto" fieldIdRef="15" name="producto" sqlTabName="formonly" table_alias_name="" uid="{b5e609d2-386b-4ca9-bc6e-388995c8384c}"/>
|
||||
<RecordField colName="cantidad_ord" fieldIdRef="16" name="cantidad_ord" sqlTabName="formonly" table_alias_name="" uid="{44d8bbd8-1c96-491d-ae68-1a02aef11cb3}"/>
|
||||
<RecordField colName="cantidad_desp" fieldIdRef="17" name="cantidad_desp" sqlTabName="formonly" table_alias_name="" uid="{14e381d1-76ac-4eff-a00a-59fc25a5cd65}"/>
|
||||
<RecordField colName="cantidad_dev" fieldIdRef="18" name="cantidad_dev" sqlTabName="formonly" table_alias_name="" uid="{f612abe8-0db5-4943-9eb5-9403b51d3be9}"/>
|
||||
<RecordField colName="pendiente" fieldIdRef="19" name="pendiente" sqlTabName="formonly" table_alias_name="" uid="{9ff984f9-19af-4945-8eb1-93e0590a86ab}"/>
|
||||
<RecordField colName="sec_vend" fieldIdRef="20" name="sec_vend" sqlTabName="formonly" table_alias_name="" uid="{87e83ac1-8619-4d7e-a194-5403267a8a2a}"/>
|
||||
<RecordField colName="cod_n" fieldIdRef="21" name="cod_n" sqlTabName="formonly" table_alias_name="" uid="{20fd2cd5-6770-4c49-a62a-446c9a56d140}"/>
|
||||
<RecordField colName="cod_grupo" fieldIdRef="22" name="cod_grupo" sqlTabName="formonly" table_alias_name="" uid="{f157d478-fdd9-4a0a-8771-b66437a1428a}"/>
|
||||
<RecordField colName="cod_tipo" fieldIdRef="23" name="cod_tipo" sqlTabName="formonly" table_alias_name="" uid="{e79e0e70-1995-455d-867d-93199d254ec6}"/>
|
||||
<RecordField colName="cod_sec" fieldIdRef="24" name="cod_sec" sqlTabName="formonly" table_alias_name="" uid="{9c18a160-221c-4b3b-8114-5edd31dd2f99}"/>
|
||||
<RecordField colName="tipo_cliente" fieldIdRef="25" name="tipo_cliente" sqlTabName="formonly" table_alias_name="" uid="{187643bf-9703-4870-bd85-7ba2648cae67}"/>
|
||||
<RecordField colName="sec_cliente" fieldIdRef="26" name="sec_cliente" sqlTabName="formonly" table_alias_name="" uid="{6952aebd-38ff-445b-9c1a-32294ccf96cd}"/>
|
||||
<RecordField colName="balance" fieldIdRef="27" name="balance" sqlTabName="formonly" table_alias_name="" uid="{be933850-4a2e-4067-bfa8-7a59d189310b}"/>
|
||||
<RecordField colName="" fieldIdRef="37" name="id_kit" sqlTabName="" table_alias_name="" uid="{11082a4a-c34c-4478-b62e-28e54e73c455}"/>
|
||||
<RecordField colName="" fieldIdRef="38" name="area" sqlTabName="" table_alias_name="" uid="{d1e7114c-723c-4b37-bcba-7ba2e3227ceb}"/>
|
||||
<RecordField colName="" fieldIdRef="40" name="instalador" sqlTabName="" table_alias_name="" uid="{2207b9d2-9716-47a8-985a-04035108f8af}"/>
|
||||
<RecordField fieldIdRef="49" name="equipo" uid="{a51a68d6-e150-43ef-b2eb-01ebac08198b}"/>
|
||||
<RecordField colName="" fieldIdRef="41" name="costo" sqlTabName="" table_alias_name="" uid="{bfa9f7fd-04b1-403f-a58d-70c51b3ff11c}"/>
|
||||
</Record>
|
||||
<Record additionalTables="" joinLeft="" joinOperator="" joinRight="" name="Undefined" order="" uid="{66e54cc9-7462-489d-9aa7-e63ab5cf6190}" where="">
|
||||
<RecordField colName="registros" fieldIdRef="4" name="registros" sqlTabName="formonly" table_alias_name="" uid="{556b2375-9ba8-483a-b0bf-370fe0311208}"/>
|
||||
<RecordField colName="fecha1" fieldIdRef="1" name="fecha1" sqlTabName="formonly" table_alias_name="" uid="{326b5339-2e50-45d7-896d-dd64fbf009a8}"/>
|
||||
<RecordField colName="fecha2" fieldIdRef="2" name="fecha2" sqlTabName="formonly" table_alias_name="" uid="{57f59195-e262-4c55-947a-2fc41f720b9a}"/>
|
||||
<RecordField colName="" fieldIdRef="31" name="pcod10" sqlTabName="" table_alias_name="" uid="{721cca80-dd0a-4a1c-8fe0-60775bb91365}"/>
|
||||
<RecordField colName="" fieldIdRef="32" name="pcod11" sqlTabName="" table_alias_name="" uid="{d6732024-78c4-408c-a015-d7ac6f7b74bf}"/>
|
||||
<RecordField colName="" fieldIdRef="33" name="pcod12" sqlTabName="" table_alias_name="" uid="{8f756ca3-cdd6-4fd1-b555-7480188cb91d}"/>
|
||||
<RecordField colName="" fieldIdRef="34" name="pcod13" sqlTabName="" table_alias_name="" uid="{ed0c6474-b51c-4b24-ba6c-90e1edfa336a}"/>
|
||||
<RecordField colName="" defaultValue="1" fieldIdRef="36" name="xorigen" sqlTabName="" table_alias_name="" uid="{49bc4cf3-87bc-4000-b842-d09e0bb4c950}"/>
|
||||
<RecordField fieldIdRef="46" name="tipo_orden" uid="{76ce0e75-36d5-4127-9bc8-ccdcfaa60306}"/>
|
||||
<RecordField fieldIdRef="47" name="descripcionprod" uid="{8bc457f9-6013-48c0-a2c8-a999094958b0}"/>
|
||||
<RecordField fieldIdRef="48" name="equipos" uid="{1151fcc4-88a3-4fab-bbf5-ef72f91f9e6a}"/>
|
||||
</Record>
|
||||
<Form gridHeight="22" gridWidth="681" name="prfmmt011" style="basic" text="Administracion Ordenes Pedidos">
|
||||
<Grid gridHeight="22" gridWidth="681" name="Grid1" posX="0" posY="0">
|
||||
<Group gridHeight="10" gridWidth="76" name="Group1" posX="2" posY="1">
|
||||
<Label gridHeight="1" gridWidth="48" name="Label1" posX="4" posY="1" style="title" text="ORDENES PEDIDOS"/>
|
||||
<Label posX="4" posY="2" text="NUMERO DE REGISTROS ENCONTRADOS:"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="registros" fieldId="4" gridHeight="1" gridWidth="10" name="registros" posX="37" posY="2" sqlTabName="formonly" tabIndex="1" table_alias_name="" widget="Edit"/>
|
||||
<Label posX="4" posY="3" text="Fecha Inicial"/>
|
||||
<DateEdit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="fecha1" fieldId="1" format="dd/mm/yyyy" gridHeight="1" gridWidth="10" name="fecha1" posX="37" posY="3" sqlTabName="formonly" tabIndex="2" table_alias_name="" widget="DateEdit"/>
|
||||
<Label posX="49" posY="3" text="Fecha Final"/>
|
||||
<DateEdit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="fecha2" fieldId="2" format="dd/mm/yyyy" gridHeight="1" gridWidth="10" name="fecha2" posX="62" posY="3" sqlTabName="formonly" tabIndex="3" table_alias_name="" widget="DateEdit"/>
|
||||
<Label gridHeight="1" gridWidth="10" name="Label8" posX="3" posY="4" text="ORIGEN"/>
|
||||
<ComboBox aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" defaultValue="1" fieldId="36" gridHeight="1" gridWidth="19" items="PRODUCTOS LOCALES, PRODUCTOS IMPORTADOS, PTOS. MAT. IMPORTADOS" name="xorigen" posX="16" posY="4" sqlTabName="" tabIndex="38" table_alias_name="" title="ComboBox1" widget="ComboBox">
|
||||
<Item lstrtext="false" name="1" text="PRODUCTOS LOCALES"/>
|
||||
<Item lstrtext="false" name="2" text="PRODUCTOS IMPORTADOS"/>
|
||||
<Item lstrtext="false" name="3" text="PTOS. MAT. IMPORTADOS"/>
|
||||
</ComboBox>
|
||||
<Label gridHeight="1" gridWidth="10" name="Label7" posX="3" posY="5" text="Codigo"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" fieldId="31" gridHeight="1" gridWidth="6" name="pcod10" posX="16" posY="5" sqlTabName="" tabIndex="33" table_alias_name="" title="Edit1" widget="Edit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" fieldId="32" gridHeight="1" gridWidth="6" name="pcod11" posX="26" posY="5" sqlTabName="" tabIndex="34" table_alias_name="" title="Edit2" widget="Edit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" fieldId="33" gridHeight="1" gridWidth="6" name="pcod12" posX="34" posY="5" sqlTabName="" tabIndex="35" table_alias_name="" title="Edit3" widget="Edit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" fieldId="34" gridHeight="1" gridWidth="6" name="pcod13" posX="42" posY="5" sqlTabName="" tabIndex="36" table_alias_name="" title="Edit4" widget="Edit"/>
|
||||
<Label gridHeight="1" gridWidth="10" name="label15" posX="3" posY="6" text="Descripcion Producto"/>
|
||||
<Edit fieldId="47" gridHeight="1" gridWidth="32" name="descripcionprod" posX="16" posY="6" scroll="true" tabIndex="-1" title="edit1" widget="Edit"/>
|
||||
<Label gridHeight="1" gridWidth="10" name="label14" posX="3" posY="7" text="Tipo Orden"/>
|
||||
<ComboBox fieldId="46" gridHeight="1" gridWidth="10" items="GENERAL, ECOMMERCE" name="tipo_orden" posX="16" posY="7" tabIndex="-1" title="combobox1" widget="ComboBox">
|
||||
<Item lstrtext="false" name="GENERAL" text="GENERAL"/>
|
||||
<Item lstrtext="false" name="ECOMMERCE" text="ECOMMERCE"/>
|
||||
</ComboBox>
|
||||
<Label gridHeight="1" gridWidth="10" name="label16" posX="3" posY="8" text="Equipo Ventas"/>
|
||||
<ComboBox fieldId="48" gridHeight="1" gridWidth="32" items="" name="equipos" posX="16" posY="8" tabIndex="-1" title="combobox1" widget="ComboBox"/>
|
||||
</Group>
|
||||
<Group gridHeight="10" gridWidth="48" name="Group2" posX="80" posY="1">
|
||||
<Label color="magenta" gridHeight="1" gridWidth="40" name="Label2" posX="2" posY="1" text="ORDENES TRES DIAS PROXIMO A VENCER"/>
|
||||
<Label color="red" gridHeight="1" gridWidth="40" name="Label3" posX="2" posY="2" text="ORDENES MAS DE 5 DIAS VENCIDAS"/>
|
||||
<Label gridHeight="1" gridWidth="40" name="Label4" posX="2" posY="3" text="ORDENES NORMALES"/>
|
||||
<Label color="blue" gridHeight="1" gridWidth="40" name="Label6" posX="2" posY="4" text="LAS ORDENES EN COLOR AZUL TIENEN VARIAS FECHAS DE LLEGADA"/>
|
||||
<Label color="green" gridHeight="1" gridWidth="40" name="Label5" posX="2" posY="5" text="LAS ORDENES EN COLOR VERDE TIENEN VARIAS FECHAS PRODUCCION"/>
|
||||
<Label color="yellow" gridHeight="1" gridWidth="40" name="Label9" posX="2" posY="6" text="ORDEN CON DIBUJOS, ESTADO ORDEN EN COLOR AMARILLO"/>
|
||||
<Label color="black" gridHeight="1" gridWidth="20" name="label10" posX="2" posY="7" text="ORDENES CON REQ. AUTORIZADAS"/>
|
||||
<Label color="magenta" gridHeight="1" gridWidth="10" name="label11" posX="23" posY="7" reverse="true" text="SOMBREADAS"/>
|
||||
<Label color="black" gridHeight="1" gridWidth="20" name="label12" posX="2" posY="8" text="ORDENES CON REQ. NO AUTORIZADAS"/>
|
||||
<Label color="yellow" gridHeight="1" gridWidth="10" name="label13" posX="23" posY="8" reverse="true" text="SOMBREADAS"/>
|
||||
</Group>
|
||||
<Group gridHeight="10" gridWidth="680" name="Group3" posX="1" posY="12" text="Ordenes">
|
||||
<Table gridHeight="6" gridWidth="677" name="Table1" posX="2" posY="3" style="" totalRows="5" unitWidth="characters" width="389">
|
||||
<CheckBox aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="actualiza" defaultValue="N" fieldId="0" gridHeight="1" gridWidth="2" name="actualiza" notNull="true" posX="0" posY="0" required="true" sqlTabName="formonly" sqlType="CHAR" tabIndex="4" table_alias_name="" valueChecked="S" valueUnchecked="N" widget="CheckBox"/>
|
||||
<ComboBox aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="cerrada" fieldId="3" gridHeight="1" gridWidth="16" items="CERRADAS, NULAS, ABIERTAS" name="cerrada" posX="2" posY="0" sqlTabName="formonly" tabIndex="5" table_alias_name="" title="ESTADO ORDEN" widget="ComboBox">
|
||||
<Item name="S" text="CERRADAS"/>
|
||||
<Item lstrtext="false" name="E" text="NULAS"/>
|
||||
<Item lstrtext="true" name="N" text="ABIERTAS"/>
|
||||
</ComboBox>
|
||||
<ComboBox aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="estado_produccion" fieldId="7" gridHeight="1" gridWidth="19" items="CLIENTE RECOGE EN PC, CLIENTE RECOGE EN SC, CLIENTE RECOGE EN DCM, CLIENTE RECOGE EN STGO, DESPACHO COORDINADO, DETENIDA INSTALACION, DETENIDA VENTAS, DETENIDA CLIENTE, LISTO CARIBBEAN, REVISION DISEÑO, PROCESO REPOSICION, PRODUCTO NO DISPONIBLE, PROCESO LAVADO, RECIBIDO EN DCM, RECIBIDO EN PC, RECIBIDO EN STGO, REQUIERE ENVIO A DCM, REQUIERE ENVIO A PC, REQUIERE ENVIO A STGO, EN PRODUCCION MARMOTECH, EN PRODUCCION CARIBBEAN, FALTA DIBUJO, DETENIDA PRODUCCION, DETENIDA ALMACEN, OTROS INCONVENIENTES" name="estado_produccion" posX="18" posY="0" scroll="true" sqlTabName="formonly" sqlType="CHAR" tabIndex="6" table_alias_name="" title="ESTADO PROCESOS" widget="ComboBox">
|
||||
<Item lstrtext="false" name="CLIENTE RECOGE EN PC" text="CLIENTE RECOGE EN PC"/>
|
||||
<Item lstrtext="false" name="CLIENTE RECOGE EN SC" text="CLIENTE RECOGE EN SC"/>
|
||||
<Item lstrtext="false" name="CLIENTE RECOGE EN DCM" text="CLIENTE RECOGE EN DCM"/>
|
||||
<Item lstrtext="false" name="CLIENTE RECOGE EN STGO" text="CLIENTE RECOGE EN STGO"/>
|
||||
<Item lstrtext="false" name="DESPACHO COORDINADO" text="DESPACHO COORDINADO"/>
|
||||
<Item lstrtext="false" name="DETENIDA INSTALACION" text="DETENIDA INSTALACION"/>
|
||||
<Item lstrtext="false" name="DETENIDA VENTAS" text="DETENIDA VENTAS"/>
|
||||
<Item lstrtext="false" name="DETENIDA CLIENTE" text="DETENIDA CLIENTE"/>
|
||||
<Item lstrtext="false" name="LISTO CARIBBEAN" text="LISTO CARIBBEAN"/>
|
||||
<Item lstrtext="false" name="REVISION DISEÑO" text="REVISION DISEÑO"/>
|
||||
<Item lstrtext="false" name="PROCESO REPOSICION" text="PROCESO REPOSICION"/>
|
||||
<Item lstrtext="false" name="PRODUCTO NO DISPONIBLE" text="PRODUCTO NO DISPONIBLE"/>
|
||||
<Item lstrtext="false" name="PROCESO LAVADO" text="PROCESO LAVADO"/>
|
||||
<Item lstrtext="false" name="RECIBIDO EN DCM" text="RECIBIDO EN DCM"/>
|
||||
<Item lstrtext="false" name="RECIBIDO EN PC" text="RECIBIDO EN PC"/>
|
||||
<Item lstrtext="false" name="RECIBIDO EN STGO" text="RECIBIDO EN STGO"/>
|
||||
<Item lstrtext="false" name="REQUIERE ENVIO A DCM" text="REQUIERE ENVIO A DCM"/>
|
||||
<Item lstrtext="false" name="REQUIERE ENVIO A PC" text="REQUIERE ENVIO A PC"/>
|
||||
<Item lstrtext="false" name="REQUIERE ENVIO A STGO" text="REQUIERE ENVIO A STGO"/>
|
||||
<Item lstrtext="false" name="EN PRODUCCION MARMOTECH" text="EN PRODUCCION MARMOTECH"/>
|
||||
<Item lstrtext="false" name="EN PRODUCCION CARIBBEAN" text="EN PRODUCCION CARIBBEAN"/>
|
||||
<Item lstrtext="false" name="FALTA DIBUJO" text="FALTA DIBUJO"/>
|
||||
<Item lstrtext="false" name="DETENIDA PRODUCCION" text="DETENIDA PRODUCCION"/>
|
||||
<Item lstrtext="false" name="DETENIDA ALMACEN" text="DETENIDA ALMACEN"/>
|
||||
<Item lstrtext="false" name="OTROS INCONVENIENTES" text="OTROS INCONVENIENTES"/>
|
||||
</ComboBox>
|
||||
<ComboBox fieldId="45" gridHeight="1" gridWidth="17" items="LISTA PARA DESPACHO, EN PLANIFICACION, DESPACHO PARCIAL, REQUIERE PRODUCCION, REQUIERE COMPRAS, REQUIERE INSTALACION, PRODUCCION PARCIAL, PRODUCTO NO DISPONIBLE, SOLO SEPARACION, SOLO FACTURACION" name="estado_producto" posX="37" posY="0" tabIndex="-1" title="ESTADO PRODUCTOS" widget="ComboBox">
|
||||
<Item lstrtext="false" name="LISTA PARA DESPACHO" text="LISTA PARA DESPACHO"/>
|
||||
<Item lstrtext="false" name="EN PLANIFICACION" text="EN PLANIFICACION"/>
|
||||
<Item lstrtext="false" name="DESPACHO PARCIAL" text="DESPACHO PARCIAL"/>
|
||||
<Item lstrtext="false" name="REQUIERE PRODUCCION" text="REQUIERE PRODUCCION"/>
|
||||
<Item lstrtext="false" name="REQUIERE COMPRAS" text="REQUIERE COMPRAS"/>
|
||||
<Item lstrtext="false" name="REQUIERE INSTALACION" text="REQUIERE INSTALACION"/>
|
||||
<Item lstrtext="false" name="PRODUCCION PARCIAL" text="PRODUCCION PARCIAL"/>
|
||||
<Item lstrtext="false" name="PRODUCTO NO DISPONIBLE" text="PRODUCTO NO DISPONIBLE"/>
|
||||
<Item lstrtext="false" name="SOLO SEPARACION" text="SOLO SEPARACION"/>
|
||||
<Item lstrtext="false" name="SOLO FACTURACION" text="SOLO FACTURACION"/>
|
||||
</ComboBox>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" fieldId="29" gridHeight="1" gridWidth="8" name="departamento" posX="54" posY="0" sqlTabName="" tabIndex="31" table_alias_name="" title="Departamento" widget="Edit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" fieldId="30" gridHeight="1" gridWidth="8" name="descripcion_dpto" posX="62" posY="0" scroll="true" sqlTabName="" tabIndex="32" table_alias_name="" title="Nombre Dpto" widget="Edit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="vendedor" fieldId="8" gridHeight="1" gridWidth="19" name="vendedor" posX="70" posY="0" sqlTabName="formonly" tabIndex="7" table_alias_name="" title="NOMBRE VENDEDOR" widget="Edit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" fieldId="28" gridHeight="1" gridWidth="20" name="apell1_emp" posX="89" posY="0" sizePolicy="dynamic" sqlTabName="" tabIndex="30" table_alias_name="" title="APELLIDO VENDEDOR" widget="Edit"/>
|
||||
<FFLabel aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="fecha" fieldId="9" gridHeight="1" gridWidth="19" name="fecha" posX="109" posY="0" sqlTabName="formonly" sqlType="DATE" table_alias_name="" title="FECHA ORDEN" widget="FFLabel"/>
|
||||
<DateEdit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="fecha_compromiso" fieldId="5" gridHeight="1" gridWidth="29" name="fecha_compromiso" posX="128" posY="0" sqlTabName="formonly" sqlType="DATE" tabIndex="9" table_alias_name="" title="FECHA LISTA PRODUCCION" widget="DateEdit"/>
|
||||
<DateEdit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="fecha_llegada" fieldId="6" format="dd/mm/yyyy" gridHeight="1" gridWidth="19" name="fecha_llegada" posX="157" posY="0" sqlTabName="formonly" tabIndex="10" table_alias_name="" title="FECHA LLEGADA" widget="DateEdit"/>
|
||||
<DateEdit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" fieldId="43" gridHeight="1" gridWidth="30" name="fechaDispEntrega" posX="176" posY="0" sqlTabName="" tabIndex="44" table_alias_name="" title="FECHA DISPONIBLE ENTREGA" widget="DateEdit"/>
|
||||
<DateEdit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" fieldId="42" gridHeight="1" gridWidth="33" name="fechaSolDespacho" noEntry="false" posX="206" posY="0" sqlTabName="" tabIndex="45" table_alias_name="" title="FECHA SOLICITADA DESPACHO" widget="DateEdit"/>
|
||||
<DateEdit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" fieldId="44" gridHeight="1" gridWidth="28" name="fechaInstalacion" posX="239" posY="0" sqlTabName="" tabIndex="46" table_alias_name="" title="FECHA INICIO INSTALACION" widget="DateEdit"/>
|
||||
<ButtonEdit action="cotizacion_detalle" aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="cotizacion_no" fieldId="10" gridHeight="1" gridWidth="10" image="tilehorz" name="cotizacion_no" posX="267" posY="0" sqlTabName="formonly" tabIndex="11" table_alias_name="" title="COTIZACION" widget="ButtonEdit">
|
||||
<Initializer action="cotizacion_detalle"/>
|
||||
</ButtonEdit>
|
||||
<ButtonEdit action="forden" aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="num_oc" fieldId="11" gridHeight="1" gridWidth="8" image="find.bmp" name="num_oc" posX="277" posY="0" sqlTabName="formonly" style="requisi" tabIndex="12" table_alias_name="" title="ORDEN" widget="ButtonEdit"/>
|
||||
<ButtonEdit action="btransito" aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" fieldId="39" gridHeight="1" gridWidth="8" image="lingua.png" name="orden_compra" posX="285" posY="0" sqlTabName="" tabIndex="41" table_alias_name="" title="ORDEN COMPRAS" widget="ButtonEdit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="observacion" fieldId="12" gridHeight="1" gridWidth="58" name="observacion" posX="293" posY="0" scroll="true" sqlTabName="formonly" tabIndex="13" table_alias_name="" title="OBSERVACION" widget="Edit"/>
|
||||
<FFLabel aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="tipo_venta" fieldId="13" gridHeight="1" gridWidth="17" name="tipo_venta" posX="351" posY="0" sqlTabName="formonly" table_alias_name="" title="MONEDA" widget="FFLabel"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="nombre" fieldId="14" gridHeight="1" gridWidth="28" name="nombre" posX="368" posY="0" sqlTabName="formonly" tabIndex="29" table_alias_name="" title="CLIENTE" widget="Edit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" fieldId="35" gridHeight="1" gridWidth="30" name="origen" posX="396" posY="0" sqlTabName="" tabIndex="37" table_alias_name="" title="ORIGEN" widget="Edit"/>
|
||||
<FFLabel aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="producto" fieldId="15" gridHeight="1" gridWidth="48" name="producto" posX="426" posY="0" sqlTabName="formonly" table_alias_name="" title="PRODUCTO" widget="FFLabel"/>
|
||||
<FFLabel aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="cantidad_ord" fieldId="16" gridHeight="1" gridWidth="13" name="cantidad_ord" posX="474" posY="0" sqlTabName="formonly" table_alias_name="" title="CANTIDAD ORD" widget="FFLabel"/>
|
||||
<FFLabel aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="cantidad_desp" fieldId="17" gridHeight="1" gridWidth="13" name="cantidad_desp" posX="487" posY="0" sqlTabName="formonly" table_alias_name="" title="CANTIDAD DESP" widget="FFLabel"/>
|
||||
<FFLabel aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="cantidad_dev" fieldId="18" gridHeight="1" gridWidth="13" name="cantidad_dev" posX="500" posY="0" sqlTabName="formonly" table_alias_name="" title="DEVOLUCION" widget="FFLabel"/>
|
||||
<FFLabel aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="pendiente" fieldId="19" gridHeight="1" gridWidth="13" name="pendiente" posX="513" posY="0" sqlTabName="formonly" table_alias_name="" title="PENDIENTE" widget="FFLabel"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="sec_vend" fieldId="20" gridHeight="1" gridWidth="4" hidden="true" name="sec_vend" posX="526" posY="0" sqlTabName="formonly" tabIndex="21" table_alias_name="" widget="Edit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="cod_n" fieldId="21" gridHeight="1" gridWidth="10" hidden="false" name="cod_n" posX="530" posY="0" sqlTabName="formonly" tabIndex="22" table_alias_name="" title="Clase" widget="Edit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="cod_grupo" fieldId="22" gridHeight="1" gridWidth="10" hidden="false" name="cod_grupo" posX="540" posY="0" sqlTabName="formonly" tabIndex="23" table_alias_name="" title="Grupo" widget="Edit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="cod_tipo" fieldId="23" gridHeight="1" gridWidth="10" hidden="false" name="cod_tipo" posX="550" posY="0" sqlTabName="formonly" tabIndex="24" table_alias_name="" title="Tipo" widget="Edit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="cod_sec" fieldId="24" gridHeight="1" gridWidth="10" hidden="false" name="cod_sec" posX="560" posY="0" sqlTabName="formonly" tabIndex="25" table_alias_name="" title="Medida" widget="Edit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="tipo_cliente" fieldId="25" gridHeight="1" gridWidth="2" hidden="false" name="tipo_cliente" posX="570" posY="0" sqlTabName="formonly" tabIndex="26" table_alias_name="" title="Tipo Cliente" widget="Edit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="sec_cliente" fieldId="26" gridHeight="1" gridWidth="6" hidden="false" name="sec_cliente" posX="572" posY="0" sqlTabName="formonly" tabIndex="27" table_alias_name="" title="Codigo Cliente" widget="Edit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="balance" fieldId="27" gridHeight="1" gridWidth="7" hidden="true" name="balance" posX="578" posY="0" sqlTabName="formonly" tabIndex="28" table_alias_name="" widget="Edit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" fieldId="37" gridHeight="1" gridWidth="8" hidden="true" name="id_kit" posX="585" posY="0" sqlTabName="" tabIndex="39" table_alias_name="" title="Edit1" widget="Edit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" fieldId="38" gridHeight="1" gridWidth="8" hidden="true" name="area" posX="593" posY="0" sqlTabName="" tabIndex="40" table_alias_name="" title="Edit1" widget="Edit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" fieldId="40" gridHeight="1" gridWidth="20" name="instalador" posX="601" posY="0" scroll="true" sqlTabName="" tabIndex="42" table_alias_name="" title="Supervisor Obras" widget="Edit"/>
|
||||
<Edit fieldId="49" gridHeight="1" gridWidth="8" name="equipo" posX="621" posY="0" tabIndex="-1" title="Equipo" widget="Edit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" fieldId="41" gridHeight="1" gridWidth="8" name="costo" posX="629" posY="0" sqlTabName="" tabIndex="43" table_alias_name="" title="Monto" widget="Edit"/>
|
||||
</Table>
|
||||
</Group>
|
||||
</Grid>
|
||||
</Form>
|
||||
<DiagramLayout>
|
||||
<![CDATA[AAAAAgAAAEwAewBlADgAMgA4AGUANwA3ADEALQBlADgAZgA4AC0ANABlADUAMAAtADgANQA1ADEALQA5AGMANQA0ADkAOQAxAGIANQBmAGEAYwB9v+mZmhmZmsgAAAAAAAAAAD+EeuFHrhR8AQAAAEwAewA2ADYAZQA1ADQAYwBjADkALQA3ADQANgAyAC0ANAA4ADkAZAAtADkAYQBhADcALQBlADYAMwBhAGIANQBjAGYANgAxADkAMAB9QGjAAIKgAVpALZmam5meOD9QYk3S8an8AQ==]]>
|
||||
</DiagramLayout>
|
||||
</ManagedForm>
|
||||
@@ -0,0 +1,95 @@
|
||||
{
|
||||
-----------------------------------------------------------------------------
|
||||
FORMULARIO : PRFMMT012
|
||||
OBJETIVO : ADMINISTRACION ORDENES PEDIDOS
|
||||
REALIZADO POR : Ing. Juan Soto
|
||||
FECHA : Marzo 4, 2010
|
||||
-----------------------------------------------------------------------------
|
||||
}
|
||||
SCHEMA decomarmol
|
||||
ACTION DEFAULTS
|
||||
ACTION cancel (TEXT="Cancela Operacion",IMAGE="stop")
|
||||
ACTION procesar (TEXT="Busca Requisicion",IMAGE="buscar")
|
||||
ACTION buscamensaje (TEXT="Mensajes",IMAGE="message")
|
||||
END
|
||||
|
||||
|
||||
LAYOUT (TEXT="Administracion Ordenes Pedidos",STYLE="basic")
|
||||
GRID
|
||||
|
||||
{
|
||||
<G ><G "LEYENDA" >
|
||||
[lb1 ] [l1 ]
|
||||
NUMERO DE REGISTROS ENCONTRADOS:[no1 ] [l2 ]
|
||||
Fecha Inicial [f4 ] Fecha Final [f5 ] [l3 ]
|
||||
[l4 ]
|
||||
|
||||
<G "Ordenes" >
|
||||
<t t1 >
|
||||
[ac][ck1 ][es ][x10 ][Z1 ][f1 ][fe1 ][x3 ][x9 ][obs ][x4 ][x5 ][x7 ][x13 ][x14 ][x11 ][x12 ][jj ][a ][b ][c ][d ][tp][sec ][bce ]
|
||||
[ac][ck1 ][es ][x10 ][Z1 ][f1 ][fe1 ][x3 ][x9 ][obs ][x4 ][x5 ][x7 ][x13 ][x14 ][x11 ][x12 ][jj ][a ][b ][c ][d ][tp][sec ][bce ]
|
||||
[ac][ck1 ][es ][x10 ][Z1 ][f1 ][fe1 ][x3 ][x9 ][obs ][x4 ][x5 ][x7 ][x13 ][x14 ][x11 ][x12 ][jj ][a ][b ][c ][d ][tp][sec ][bce ]
|
||||
[ac][ck1 ][es ][x10 ][Z1 ][f1 ][fe1 ][x3 ][x9 ][obs ][x4 ][x5 ][x7 ][x13 ][x14 ][x11 ][x12 ][jj ][a ][b ][c ][d ][tp][sec ][bce ]
|
||||
[ac][ck1 ][es ][x10 ][Z1 ][f1 ][fe1 ][x3 ][x9 ][obs ][x4 ][x5 ][x7 ][x13 ][x14 ][x11 ][x12 ][jj ][a ][b ][c ][d ][tp][sec ][bce ]
|
||||
}
|
||||
|
||||
end
|
||||
tables
|
||||
cctb00001
|
||||
ATTRIBUTES
|
||||
CHECKBOX ac = formonly.actualiza TYPE CHAR,NOT NULL,VALUECHECKED="S",VALUEUNCHECKED="N",DEFAULT="N";
|
||||
|
||||
DATEEDIT f4 = formonly.fecha1,FORMAT="dd/mm/yyyy";
|
||||
DATEEDIT f5 = formonly.fecha2,FORMAT="dd/mm/yyyy";
|
||||
|
||||
COMBOBOX ck1=formonly.cerrada,ITEMS=(("S","CERRADAS"),("N","ABIERTAS")),TITLE="ESTADO ORDEN";
|
||||
|
||||
no1 = formonly.registros;
|
||||
LABEL lb1:text="ORDENES PEDIDOS", STYLE="title";
|
||||
LABEL l1:TEXT="ORDENES ENTRE 2 A 5 DIAS POR VENCER",COLOR=MAGENTA;
|
||||
LABEL l2:TEXT="ORDENES MAS DE 5 DIAS VENCIDAS",COLOR=RED;
|
||||
LABEL l3:TEXT="ORDENES NORMALES";
|
||||
LABEL l4:TEXT="LAS ORDENES EN COLOR AZUL TIENEN VARIAS FECHAS DE LLEGADA";
|
||||
|
||||
|
||||
DATEEDIT f1 = formonly.fecha_compromiso,TITLE="FECHA PRODUCCION";
|
||||
fe1= formonly.fecha_llegada,TITLE="FECHA LLEGADA",FORMAT="dd/mm/yyyy",
|
||||
widget="FIELD_BMP", config="combo.bmp control-w";
|
||||
|
||||
COMBOBOX es = formonly.estado_produccion, ITEMS=("LISTA PARA DESPACHO","EN PRODUCCION"),TITLE="ESTADO PRODUCCION";
|
||||
x10 = formonly.vendedor,TITLE="VENDEDOR";
|
||||
|
||||
|
||||
|
||||
LABEL z1 = formonly.fecha TYPE DATE,TITLE="FECHA ORDEN";
|
||||
x3 = formonly.cotizacion_no,TITLE="COTIZACION";
|
||||
x9 = formonly.num_oc,TITLE="ORDEN",
|
||||
widget="FIELD_BMP", config="combo.bmp control-w";
|
||||
obs = formonly.observacion,TITLE="OBSERVACION",SCROLL;
|
||||
LABEL x4 = formonly.tipo_venta,TITLE="MONEDA";
|
||||
LABEL x5 = formonly.nombre,TITLE="CLIENTE";
|
||||
|
||||
|
||||
LABEL x7 = formonly.producto,TITLE="PRODUCTO";
|
||||
LABEL x13 = formonly.cantidad_ord,TITLE="CANTIDAD ORD";
|
||||
LABEL x14 = formonly.cantidad_desp,TITLE="CANTIDAD DESP";
|
||||
LABEL x11 = formonly.cantidad_Dev,TITLE="DEVOLUCION";
|
||||
LABEL x12 = formonly.pendiente,TITLE="PENDIENTE";
|
||||
|
||||
jj = formonly.sec_vend,HIDDEN;
|
||||
a = formonly.cod_n,HIDDEN;
|
||||
b = formonly.cod_grupo,HIDDEN;
|
||||
c = formonly.cod_tipo,HIDDEN;
|
||||
d = formonly.cod_sec,HIDDEN;
|
||||
tp= formonly.tipo_cliente,HIDDEN;
|
||||
sec=formonly.sec_cliente,HIDDEN;
|
||||
bce = formonly.balance,HIDDEN;
|
||||
|
||||
|
||||
instructions
|
||||
screen record s_ordenes (actualiza,cerrada,estado_produccion,vendedor,fecha,fecha_compromiso,fecha_llegada,cotizacion_no,
|
||||
num_oc,observacion,tipo_venta,nombre,producto,cantidad_ord,cantidad_desp,cantidad_dev,pendiente,
|
||||
sec_vend,cod_n,cod_grupo,cod_tipo,cod_sec,tipo_cliente,sec_cliente,balance)
|
||||
|
||||
delimiters " "
|
||||
end
|
||||
@@ -0,0 +1,25 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<ManagedForm gstVersion="22800" name="ManagedForm" uid="{0cb6251e-bac9-420d-857e-830db6e96a9e}">
|
||||
<AGSettings/>
|
||||
<Record additionalTables="" joinLeft="" joinOperator="" joinRight="" name="slog" order="" uid="{9a4a312c-a871-40e4-80f0-137cbfcd3ea1}" where="">
|
||||
<RecordField colName="" fieldIdRef="1" name="fecha" sqlTabName="" table_alias_name="" uid="{5659ee77-8030-47b7-bde8-f3af72528944}"/>
|
||||
<RecordField colName="" fieldIdRef="2" name="num_oc" sqlTabName="" table_alias_name="" uid="{f348ab2b-b29d-485d-ab7c-120eb45c6b8f}"/>
|
||||
<RecordField colName="" fieldIdRef="3" name="observaciones" sqlTabName="" table_alias_name="" uid="{320e9aa9-ab7d-4777-996f-b563b69befb7}"/>
|
||||
<RecordField colName="" fieldIdRef="4" name="fecha_compromiso" sqlTabName="" table_alias_name="" uid="{afe654d2-93be-4699-81d2-eee5c4a84f6f}"/>
|
||||
<RecordField colName="" fieldIdRef="5" name="usuario" sqlTabName="" table_alias_name="" uid="{dab904d2-38f9-45e0-99b0-40d77ffce196}"/>
|
||||
</Record>
|
||||
<Form gridHeight="18" gridWidth="77" name="vefmmt011b" text="Visualizacion Log Ordenes">
|
||||
<Group gridHeight="14" gridWidth="68" name="Group1" posX="3" posY="2">
|
||||
<Table gridHeight="7" gridWidth="55" name="Table1" posX="3" posY="2" totalRows="5">
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" columnCount="" fieldId="1" gridHeight="1" gridWidth="8" name="fecha" posX="0" posY="0" rowCount="" sqlTabName="" stepX="" stepY="" tabIndex="1" table_alias_name="" title="Fecha" widget="Edit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" columnCount="" fieldId="2" gridHeight="1" gridWidth="8" name="num_oc" posX="8" posY="0" rowCount="" sqlTabName="" stepX="" stepY="" tabIndex="2" table_alias_name="" title="Orden" widget="Edit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" columnCount="" fieldId="3" gridHeight="1" gridWidth="10" name="observaciones" posX="16" posY="0" rowCount="" scroll="true" sqlTabName="" stepX="" stepY="" tabIndex="3" table_alias_name="" title="Observaciones" widget="Edit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" columnCount="" fieldId="4" gridHeight="1" gridWidth="8" name="fecha_compromiso" posX="26" posY="0" rowCount="" sqlTabName="" stepX="" stepY="" tabIndex="4" table_alias_name="" title="Fecha Compromiso" widget="Edit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" columnCount="" fieldId="5" gridHeight="1" gridWidth="8" name="usuario" posX="34" posY="0" rowCount="" sqlTabName="" stepX="" stepY="" tabIndex="5" table_alias_name="" title="Usuario" widget="Edit"/>
|
||||
</Table>
|
||||
</Group>
|
||||
</Form>
|
||||
<DiagramLayout>
|
||||
<![CDATA[AAAAAgAAAEwAewA1ADYANQA5AGUAZQA3ADcALQA4ADAAMwAwAC0ANAA3AGIANwAtAGIAZABlADgALQBmADMAYQBmADcAMgA1ADIAOAA5ADQANAB9QCAAAAQAAABAPZmZoQAAAAAAAAAAAAAAAQAAAEwAewBkAGEAYgA5ADAANABkADIALQAzADgAZgA5AC0ANAA1AGUAMAAtADkAOQBiADAALQA0ADAAZAA3ADcAZgBmAGMAZQAxADkANgB9QCAAAAQAAABAWQAABkAAAAAAAAAAAAAAAQAAAEwAewBhAGYAZQA2ADUANABkADIALQA5ADMAYgBlAC0ANAA2ADkAOQAtADgAMQBkADIALQBlAGUAZQA1AGMANABhADgANABmADYAZgB9QCAAAAQAAABAVJmZnsAAAAAAAAAAAAAAAQAAAEwAewBmADMANAA4AGEAYgAyAGIALQBiADIAOQBkAC0ANAA4ADUAZAAtAGEAYgA3AGMALQAxADIAMABlAGIANAA1AGMANgBiADgAZgB9QCAAAAQAAABAR5mZn4AAAAAAAAAAAAAAAQAAAEwAewAzADIAMABlADkAYQBhADkALQBhAGIANwBkAC0ANAA3ADcANwAtADkAOQA2AGYALQBiADUANgAzAGIANgA5AGIAZQBmAGIANwB9QCAAAAQAAABAUDMzN0AAAAAAAAAAAAAAAQAAAEwAewA5AGEANABhADMAMQAyAGMALQBhADgANwAxAC0ANAAwAGUANAAtADgAMABmADAALQAxADMANwBjAGIAZgBjAGQAMwBlAGEAMQB9AAAAAAAAAAAAAAAAAAAAAD9QYk3S8an8AQ==]]>
|
||||
</DiagramLayout>
|
||||
</ManagedForm>
|
||||
@@ -0,0 +1,29 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<ManagedForm gstVersion="22800" name="ManagedForm" uid="{f53bceca-0057-485f-ba3d-c81302373aff}">
|
||||
<AGSettings/>
|
||||
<Record additionalTables="" joinLeft="" joinOperator="" joinRight="" name="sflujo" order="" uid="{52c14c29-90cd-49bb-bcfb-3e1f4616df12}" where="">
|
||||
<RecordField colName="" fieldIdRef="4" name="actualiza" sqlTabName="" table_alias_name="" uid="{540bf58f-02d9-43db-ba3a-35ee0ec0e960}"/>
|
||||
<RecordField colName="" fieldIdRef="1" name="fecha_trx" sqlTabName="" table_alias_name="" uid="{7f4e6e3e-c2a9-479c-b702-b7e8f79f84ae}"/>
|
||||
<RecordField colName="" fieldIdRef="2" name="departamento" sqlTabName="" table_alias_name="" uid="{944867c2-ea72-4d5e-b1cc-6f4dc511a9aa}"/>
|
||||
<RecordField colName="" fieldIdRef="5" name="nombre" sqlTabName="" table_alias_name="" uid="{7a9ab90e-e3ea-428a-8ddc-9798fd23be81}"/>
|
||||
<RecordField colName="" fieldIdRef="3" name="comentario" sqlTabName="" table_alias_name="" uid="{00ac9341-6f3b-43a1-846a-08d77958b978}"/>
|
||||
<RecordField colName="" fieldIdRef="7" name="fecha_compromiso" sqlTabName="" table_alias_name="" uid="{2ef4c74d-ad35-4881-a643-97fc2e86c994}"/>
|
||||
<RecordField colName="" fieldIdRef="6" name="id" sqlTabName="" table_alias_name="" uid="{93d53017-52c7-44e6-8b9f-0d8f7ac772ff}"/>
|
||||
</Record>
|
||||
<Form gridHeight="15" gridWidth="91" name="Form" text="Flujo Comentarios">
|
||||
<Group gridHeight="11" gridWidth="90" name="Group1" posX="1" posY="2" text="">
|
||||
<Table gridHeight="8" gridWidth="87" name="Table1" posX="2" posY="1" totalRows="5">
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" columnCount="" fieldId="4" gridHeight="1" gridWidth="8" name="actualiza" noEntry="true" posX="0" posY="0" rowCount="" sqlTabName="" stepX="" stepY="" tabIndex="4" table_alias_name="" title="actualiza" widget="Edit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" columnCount="" fieldId="1" gridHeight="1" gridWidth="16" name="fecha_trx" noEntry="true" posX="8" posY="0" rowCount="" sqlTabName="" stepX="" stepY="" tabIndex="1" table_alias_name="" title="Fecha" widget="Edit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" columnCount="" fieldId="2" gridHeight="1" gridWidth="12" name="departamento" posX="24" posY="0" rowCount="" sqlTabName="" stepX="" stepY="" tabIndex="2" table_alias_name="" title="Departamento" widget="Edit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" columnCount="" fieldId="5" gridHeight="1" gridWidth="12" name="nombre" noEntry="true" posX="36" posY="0" rowCount="" scroll="true" sqlTabName="" stepX="" stepY="" tabIndex="5" table_alias_name="" title="Descripcion" widget="Edit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" columnCount="" fieldId="3" gridHeight="1" gridWidth="15" name="comentario" posX="48" posY="0" rowCount="" scroll="true" sqlTabName="" stepX="" stepY="" tabIndex="3" table_alias_name="" title="Comentarios" widget="Edit"/>
|
||||
<DateEdit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" columnCount="" fieldId="7" gridHeight="1" gridWidth="8" name="fecha_compromiso" posX="63" posY="0" rowCount="" sqlTabName="" stepX="" stepY="" tabIndex="7" table_alias_name="" title="Fecha Compromiso" widget="DateEdit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" columnCount="" fieldId="6" gridHeight="1" gridWidth="8" name="id" noEntry="true" posX="71" posY="0" rowCount="" sqlTabName="" stepX="" stepY="" tabIndex="6" table_alias_name="" title="ID" widget="Edit"/>
|
||||
</Table>
|
||||
</Group>
|
||||
</Form>
|
||||
<DiagramLayout>
|
||||
<![CDATA[AAAAAgAAAEwAewA3AGYANABlADYAZQAzAGUALQBjADIAYQA5AC0ANAA3ADkAYwAtAGIANwAwADIALQBiADcAZQA4AGYANwA5AGYAOAA0AGEAZQB9QCAAAAgAAAFAR5mZpWZmaAAAAAAAAAAAAQAAAEwAewA3AGEAOQBhAGIAOQAwAGUALQBlADMAZQBhAC0ANAAyADgAYQAtADgAZABkAGMALQA5ADcAOQA4AGYAZAAyADMAYgBlADgAMQB9QCAAAAgAAAFAVJmZo+ZmaAAAAAAAAAAAAQAAAEwAewAwADAAYQBjADkAMwA0ADEALQA2AGYAMwBiAC0ANAAzAGEAMQAtADgANAA2AGEALQAwADgAZAA3ADcAOQA1ADgAYgA5ADcAOAB9QCAAAAgAAAFAWQAADIAAAgAAAAAAAAAAAQAAAEwAewA1ADIAYwAxADQAYwAyADkALQA5ADAAYwBkAC0ANAA5AGIAYgAtAGIAYwBmAGIALQAzAGUAMQBmADQANgAxADYAZABmADEAMgB9AAAAAAAAAAAAAAAAAAAAAD9QYk3S8an8AQAAAEwAewA5ADMAZAA1ADMAMAAxADcALQA1ADIAYwA3AC0ANAA0AGUANgAtADgAYgA5AGYALQAwAGQAOABmADcAYQBjADcANwAyAGYAZgB9QCAAAAgAAAFAYOZmbtmZmwAAAAAAAAAAAQAAAEwAewA1ADQAMABiAGYANQA4AGYALQAwADIAZAA5AC0ANAAzAGQAYgAtAGIAYQAzAGEALQAzADUAZQBlADAAZQBjADAAZQA5ADYAMAB9QCAAAAgAAAFAPZmZqGZmaAAAAAAAAAAAAQAAAEwAewAyAGUAZgA0AGMANwA0AGQALQBhAGQAMwA1AC0ANAA4ADgAMQAtAGEANgA0ADMALQA5ADcAZgBjADIAZQA4ADYAYwA5ADkANAB9QCAAAAgAAAFAXWZmdRmZmwAAAAAAAAAAAQAAAEwAewA5ADQANAA4ADYANwBjADIALQBlAGEANwAyAC0ANABkADUAZQAtAGIAMQBjAGMALQA2AGYANABkAGMANQAxADEAYQA5AGEAYQB9QCAAAAgAAAFAUDMzO0zMzgAAAAAAAAAAAQ==]]>
|
||||
</DiagramLayout>
|
||||
</ManagedForm>
|
||||
@@ -0,0 +1,59 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<ManagedForm databaseName="smarmotech" gstVersion="22800" name="ManagedForm" uid="{acf2463f-2aa7-4e31-97bb-7f592bc198cc}">
|
||||
<AGSettings/>
|
||||
<Record additionalTables="" joinLeft="" joinOperator="" joinRight="" name="sdibujo" order="" uid="{28825822-02dc-409f-a6cc-58f3963b3a5c}" where="">
|
||||
<RecordField colName="" fieldIdRef="11" name="idx" sqlTabName="" table_alias_name="" uid="{b6a8e718-cf1b-4a00-9a4c-abbf4b74483c}"/>
|
||||
<RecordField colName="" fieldIdRef="14" name="tipo_file" sqlTabName="" table_alias_name="" uid="{2625d166-8ae4-40ba-8c98-b63959226091}"/>
|
||||
<RecordField colName="" fieldIdRef="13" name="bodega" sqlTabName="" table_alias_name="" uid="{7259791e-22b5-4ad9-af0d-5c1a15431884}"/>
|
||||
<RecordField colName="" fieldIdRef="9" name="num_doc" sqlTabName="" table_alias_name="" uid="{e07c2ca3-f189-460f-bca2-4160aeaf3603}"/>
|
||||
<RecordField colName="" fieldIdRef="10" name="nombre_file" sqlTabName="" table_alias_name="" uid="{da86dc36-f8f4-49d6-98da-9a5dbfebc122}"/>
|
||||
<RecordField colName="" fieldIdRef="5" name="filedestino" sqlTabName="" table_alias_name="" uid="{0824abdb-aad8-42df-a551-498e071972e3}"/>
|
||||
</Record>
|
||||
<Record additionalTables="" joinLeft="" joinOperator="" joinRight="" name="Undefined" order="" uid="{e2779447-0bf3-4d41-a635-723e9b60ef9e}" where="">
|
||||
<RecordField colName="num_oc" fieldIdRef="0" name="num_oc" sqlTabName="formonly" table_alias_name="" uid="{45b05c08-b034-442d-b38e-a2de4dfcd2f2}"/>
|
||||
<RecordField colName="nombre_cliente" fieldIdRef="2" name="nombre_cliente" sqlTabName="formonly" table_alias_name="" uid="{404b2478-4170-40a3-89bb-b14254bf77ab}"/>
|
||||
<RecordField colName="cotizacion_no" fieldIdRef="1" name="cotizacion_no" sqlTabName="formonly" table_alias_name="" uid="{ec988639-4079-46a2-8092-585ff3b738e0}"/>
|
||||
<RecordField colName="vendedor" fieldIdRef="3" name="vendedor" sqlTabName="formonly" table_alias_name="" uid="{9ca1cf9f-8e2f-4212-bfe7-a8d332c15d3f}"/>
|
||||
<RecordField colName="" fieldIdRef="4" name="ruta_file" sqlTabName="" table_alias_name="" uid="{7c810627-5919-499f-b195-d9734f2c59cf}"/>
|
||||
</Record>
|
||||
<Form gridHeight="35" gridWidth="127" name="prfmmt012" text="DIBUJOS">
|
||||
<VBox gridHeight="32" gridWidth="124" name="VBox1" posX="3" posY="0">
|
||||
<Grid gridHeight="12" gridWidth="124" name="Grid1" posX="0" posY="1">
|
||||
<Group gridHeight="7" gridWidth="80" name="Group1" posX="1" posY="1">
|
||||
<Label posX="2" posY="1" text="ORDEN"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="num_oc" columnCount="" fieldId="0" gridHeight="1" gridWidth="7" name="num_oc" posX="15" posY="1" rowCount="" sqlTabName="formonly" stepX="" stepY="" tabIndex="1" table_alias_name="" widget="Edit"/>
|
||||
<Label posX="26" posY="1" text="CLIENTE"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="nombre_cliente" columnCount="" fieldId="2" gridHeight="1" gridWidth="42" name="nombre_cliente" posX="35" posY="1" rowCount="" sqlTabName="formonly" stepX="" stepY="" tabIndex="2" table_alias_name="" widget="Edit"/>
|
||||
<Label posX="2" posY="2" text="COTIZACION"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="cotizacion_no" columnCount="" fieldId="1" gridHeight="1" gridWidth="7" name="cotizacion_no" posX="15" posY="2" rowCount="" sqlTabName="formonly" stepX="" stepY="" tabIndex="3" table_alias_name="" widget="Edit"/>
|
||||
<Label posX="26" posY="2" text="VENEDOR"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="vendedor" columnCount="" fieldId="3" gridHeight="1" gridWidth="42" name="vendedor" posX="35" posY="2" rowCount="" sqlTabName="formonly" stepX="" stepY="" tabIndex="4" table_alias_name="" widget="Edit"/>
|
||||
<Button gridHeight="1" gridWidth="10" image="fileopen" name="dibujo" posX="2" posY="4" tabIndex="7"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" columnCount="" fieldId="4" gridHeight="1" gridWidth="64" name="ruta_file" noEntry="true" posX="2" posY="5" rowCount="" sqlTabName="" stepX="" stepY="" tabIndex="8" table_alias_name="" title="Edit1" widget="Edit"/>
|
||||
</Group>
|
||||
</Grid>
|
||||
<Group gridHeight="18" gridWidth="124" name="Group2" posX="0" posY="13" text="Documentos">
|
||||
<Grid gridHeight="7" gridWidth="89" name="Grid2" posX="4" posY="2">
|
||||
<Button gridHeight="1" gridWidth="10" image="diropen" name="abrir" posX="39" posY="1" tabIndex="13"/>
|
||||
<Table gridHeight="5" gridWidth="88" name="Table1" posX="1" posY="2" totalRows="4" unitWidth="characters" width="25">
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" columnCount="" fieldId="11" gridHeight="1" gridWidth="8" name="idx" noEntry="true" posX="0" posY="0" rowCount="" sqlTabName="" stepX="" stepY="" tabIndex="6" table_alias_name="" title="ID" widget="Edit"/>
|
||||
<ComboBox aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" columnCount="" fieldId="14" gridHeight="1" gridWidth="8" items="CONDUCES, FACTURA, OTROS, DEVOLUCIONES, DIBUJOS" name="tipo_file" posX="8" posY="0" rowCount="" sqlTabName="" stepX="" stepY="" tabIndex="11" table_alias_name="" title="Tipo File" widget="ComboBox">
|
||||
<Item lstrtext="false" name="CO" text="CONDUCES"/>
|
||||
<Item lstrtext="false" name="FT" text="FACTURA"/>
|
||||
<Item lstrtext="false" name="OT" text="OTROS"/>
|
||||
<Item lstrtext="false" name="DE" text="DEVOLUCIONES"/>
|
||||
<Item lstrtext="false" name="DI" text="DIBUJOS"/>
|
||||
</ComboBox>
|
||||
<ComboBox aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" columnCount="" fieldId="13" gridHeight="1" gridWidth="8" items="" name="bodega" posX="16" posY="0" rowCount="" sqlTabName="" stepX="" stepY="" tabIndex="10" table_alias_name="" title="bodega" widget="ComboBox"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" columnCount="" fieldId="9" gridHeight="1" gridWidth="8" name="num_doc" posX="24" posY="0" rowCount="" sqlTabName="" stepX="" stepY="" tabIndex="9" table_alias_name="" title="Numero Documento" widget="Edit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" columnCount="" fieldId="10" gridHeight="1" gridWidth="20" name="nombre_file" noEntry="true" posX="32" posY="0" rowCount="" sqlTabName="" stepX="" stepY="" tabIndex="12" table_alias_name="" title="Nombre Archivo" widget="Edit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" columnCount="" fieldId="5" gridHeight="1" gridWidth="20" name="filedestino" noEntry="true" posX="52" posY="0" rowCount="" scroll="true" sqlTabName="" stepX="" stepY="" tabIndex="5" table_alias_name="" title="File Servidor" widget="Edit"/>
|
||||
</Table>
|
||||
</Grid>
|
||||
</Group>
|
||||
</VBox>
|
||||
</Form>
|
||||
<DiagramLayout>
|
||||
<![CDATA[AAAAAgAAAEwAewA5AGMAYQAxAGMAZgA5AGYALQA4AGUAMgBmAC0ANAAyADEAMgAtAGIAZgBlADcALQBhADgAZAAzADMAMgBjADEANQBkADMAZgB9QCAAAAgAAAFAVJmZo+ZmaAAAAAAAAAAAAQAAAEwAewA0ADAANABiADIANAA3ADgALQA0ADEANwAwAC0ANAAwAGEAMwAtADgAOQBiAGIALQBiADEANAAyADUANABiAGYANwA3AGEAYgB9QCAAAAgAAAFAR5mZpWZmaAAAAAAAAAAAAQAAAEwAewBlAGMAOQA4ADgANgAzADkALQA0ADAANwA5AC0ANAA2AGEAMgAtADgAMAA5ADIALQA1ADgANQBmAGYAMwBiADcAMwA4AGUAMAB9QCAAAAgAAAFAUDMzO0zMzgAAAAAAAAAAAQAAAEwAewAyADYAMgA1AGQAMQA2ADYALQA4AGEAZQA0AC0ANAAwAGIAYQAtADgAYwA5ADgALQBiADYAMwA5ADUAOQAyADIANgAwADkAMQB9QCAAAAgAAAFAR5mZpWZmaAAAAAAAAAAAAQAAAEwAewA0ADUAYgAwADUAYwAwADgALQBiADAAMwA0AC0ANAA0ADIAZAAtAGIAMwA4AGUALQBhADIAZABlADQAZABmAGMAZAAyAGYAMgB9QCAAAAgAAAFAPZmZqGZmaAAAAAAAAAAAAQAAAEwAewBkAGEAOAA2AGQAYwAzADYALQBmADgAZgA0AC0ANAA5AGQANgAtADkAOABkAGEALQA5AGEANQBkAGIAZgBlAGIAYwAxADIAMgB9QCAAAAgAAAFAWQAADIAAAgAAAAAAAAAAAQAAAEwAewAyADgAOAAyADUAOAAyADIALQAwADIAZABjAC0ANAAwADkAZgAtAGEANgBjAGMALQA1ADgAZgAzADkANgAzAGIAMwBhADUAYwB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAEwAewA3ADIANQA5ADcAOQAxAGUALQAyADIAYgA1AC0ANABhAGQAOQAtAGEAZgAwAGQALQA1AGMAMQBhADEANQA0ADMAMQA4ADgANAB9QCAAAAgAAAFAUDMzO0zMzgAAAAAAAAAAAQAAAEwAewBlADIANwA3ADkANAA0ADcALQAwAGIAZgAzAC0ANABkADQAMQAtAGEANgAzADUALQA3ADIAMwBlADkAYgA2ADAAZQBmADkAZQB9QCAAACQAACRAIAAAJAAAJAAAAAAAAAAAAQAAAEwAewBiADYAYQA4AGUANwAxADgALQBjAGYAMQBiAC0ANABhADAAMAAtADkAYQA0AGMALQBhAGIAYgBmADQAYgA3ADQANAA4ADMAYwB9QCAAAAgAAAFAPZmZqGZmaAAAAAAAAAAAAQAAAEwAewA3AGMAOAAxADAANgAyADcALQA1ADkAMQA5AC0ANAA5ADkAZgAtAGIAMQA5ADUALQBkADkANwAzADQAZgAyAGMANQA5AGMAZgB9QCAAAAgAAAFAWQAADIAAAgAAAAAAAAAAAQAAAEwAewBlADAANwBjADIAYwBhADMALQBmADEAOAA5AC0ANAA2ADAAZgAtAGIAYwBhADIALQA0ADEANgAwAGEAZQBhAGYAMwA2ADAAMwB9QCAAAAgAAAFAVJmZo+ZmaAAAAAAAAAAAAQAAAEwAewAwADgAMgA0AGEAYgBkAGIALQBhAGEAZAA4AC0ANAAyAGQAZgAtAGEANQA1ADEALQA0ADkAOABlADAANwAxADkANwAyAGUAMwB9QCAAAAgAAAFAXWZmdRmZmwAAAAAAAAAAAQ==]]>
|
||||
</DiagramLayout>
|
||||
</ManagedForm>
|
||||
@@ -0,0 +1,30 @@
|
||||
SCHEMA decomarmol
|
||||
|
||||
LAYOUT (TEXT="DIBUJOS")
|
||||
GRID
|
||||
{
|
||||
<G >
|
||||
ORDEN [f1 ] CLIENTE [f3 ]
|
||||
COTIZACION [f2 ] VENEDOR [f4 ]
|
||||
|
||||
<t > <G "Archivos" >
|
||||
[f5 ]
|
||||
[f5 ] [f6 ]
|
||||
[f5 ]
|
||||
[f5 ]
|
||||
|
||||
|
||||
|
||||
}
|
||||
END
|
||||
ATTRIBUTES
|
||||
f1 = formonly.num_oc;
|
||||
f2 = formonly.cotizacion_no;
|
||||
f3 = formonly.nombre_cliente;
|
||||
f4 = formonly.vendedor;
|
||||
BUTTONEDIT f5 = formonly.ruta,SCROLL,IMAGE="open",ACTION=dibujo;
|
||||
IMAGE f6 = formonly.imagen,STRETCH = BOTH,AUTOSCALE;
|
||||
|
||||
instructions
|
||||
SCREEN RECORD sdibujo (ruta)
|
||||
END
|
||||
@@ -0,0 +1,30 @@
|
||||
SCHEMA decomarmol
|
||||
|
||||
LAYOUT (TEXT="DIBUJOS")
|
||||
GRID
|
||||
{
|
||||
<G >
|
||||
ORDEN [f1 ] CLIENTE [f3 ]
|
||||
COTIZACION [f2 ] VENEDOR [f4 ]
|
||||
|
||||
<t > <G "Dibujos" >
|
||||
[f5 ]
|
||||
[f5 ] [f6 ]
|
||||
[f5 ]
|
||||
[f5 ]
|
||||
|
||||
|
||||
|
||||
}
|
||||
END
|
||||
ATTRIBUTES
|
||||
f1 = formonly.num_oc;
|
||||
f2 = formonly.cotizacion_no;
|
||||
f3 = formonly.nombre_cliente;
|
||||
f4 = formonly.vendedor;
|
||||
BUTTONEDIT f5 = formonly.ruta,SCROLL,IMAGE="open",ACTION=dibujo;
|
||||
IMAGE f6 = formonly.imagen,STRETCH = BOTH,AUTOSCALE;
|
||||
|
||||
instructions
|
||||
SCREEN RECORD sdibujo (ruta)
|
||||
END
|
||||
@@ -0,0 +1,29 @@
|
||||
database marmotech
|
||||
screen size 24 by 80
|
||||
{
|
||||
num_oc [f000 ]
|
||||
cod_n [f001 ]
|
||||
cod_grupo [f002 ]
|
||||
cod_tipo [f003 ]
|
||||
cod_sec [f004 ]
|
||||
cantidad [f005 ]
|
||||
us_crea [f006 ]
|
||||
fech_crea [f007 ]
|
||||
us_mod [f008 ]
|
||||
fech_mod [f009 ]
|
||||
}
|
||||
end
|
||||
tables
|
||||
prtb00008
|
||||
attributes
|
||||
f000 = prtb00008.num_oc;
|
||||
f001 = prtb00008.cod_n;
|
||||
f002 = prtb00008.cod_grupo;
|
||||
f003 = prtb00008.cod_tipo;
|
||||
f004 = prtb00008.cod_sec;
|
||||
f005 = prtb00008.cantidad;
|
||||
f006 = prtb00008.us_crea;
|
||||
f007 = prtb00008.fech_crea;
|
||||
f008 = prtb00008.us_mod;
|
||||
f009 = prtb00008.fech_mod;
|
||||
end
|
||||
@@ -0,0 +1,50 @@
|
||||
database marmotech
|
||||
screen size 24 by 80
|
||||
{
|
||||
Orden No. [f000 ] Fecha: [f001 ] Tipo Producto [p ]
|
||||
Cliente [f0][f003] [b1 ]
|
||||
Vendedor [v1 ] [ve ]Orden Pedido[or1 ]
|
||||
Producto A Producir: [a][b][c ][d ][a1 ]
|
||||
Unidad de Medida : [und ] Cantidad [f008 ]Fecha Termina[fe ]
|
||||
\g--------------------------------------------------------------------------\g
|
||||
COMPOSICION PRODUCTO...
|
||||
\g--------------------------------------------------------------------------\g
|
||||
[e][f][g ][h ][a2 ][f10 ][f9 ]
|
||||
[e][f][g ][h ][a2 ][f10 ][f9 ]
|
||||
[e][f][g ][h ][a2 ][f10 ][f9 ]
|
||||
[e][f][g ][h ][a2 ][f10 ][f9 ]
|
||||
[e][f][g ][h ][a2 ][f10 ][f9 ]
|
||||
}
|
||||
end
|
||||
tables
|
||||
prtb00007,prtb00008,vetb00004,iptb00002
|
||||
attributes
|
||||
v1 = prtb00007.sec_vend,comments = "Control-W Para Buscar Vendedores";
|
||||
ve = formonly.nombre_vend,reverse,noentry;
|
||||
f000 = prtb00007.num_oc;
|
||||
f001 = prtb00007.fecha,required,format="dd/mm/yyyy";
|
||||
or1 = prtb00007.orden_pedido,comments = "Introduzca Numero Orden Pedido";
|
||||
f0 = prtb00007.tipo_cliente,required,comments = "Control-W Busca CLientes";
|
||||
f003 = prtb00007.sec_cliente,required,comments = "Control-W Busca CLientes";
|
||||
b1 = vetb00004.nombre,reverse;
|
||||
a = prtb00007.cod_n,required,comments="Control-W Busca Producto";
|
||||
b = prtb00007.cod_grupo,required,comments="Control-W Busca Producto";
|
||||
c = prtb00007.cod_tipo,required,comments="Control-W Busca Producto";
|
||||
d = prtb00007.cod_sec,required,comments="Control-W Busca Producto";
|
||||
a1 = iptb00002.descrip_esp,reverse;
|
||||
fe = prtb00007.fecha_termina,format = "dd/mm/yyyy";
|
||||
und=formonly.unidad,reverse;
|
||||
f008 = prtb00007.cantidad,required;
|
||||
|
||||
p = formonly.descrip,noentry,reverse;
|
||||
e = formonly.cod_n_c,comments = "Digite Materia Prima";
|
||||
f = formonly.cod_grupo_c,comments = "Digite Materia Prima";
|
||||
g = formonly.cod_tipo_c,comments = "Digite Materia Prima";
|
||||
h = formonly.cod_sec_c,comments = "Digite Materia Prima";
|
||||
a2=formonly.descrip_esp_c,reverse,noentry;
|
||||
f9= formonly.cantidad_c type decimal(12,3),comments= "Cantidad de Material A Usarse";
|
||||
f10 = formonly.unidad_c type CHAR,reverse,noentry;
|
||||
instructions
|
||||
screen record s_orden[5]
|
||||
(cod_n_c,cod_grupo_c,cod_tipo_c,cod_sec_c,cantidad_c,descrip_esp_c,unidad_c)
|
||||
end
|
||||
@@ -0,0 +1,68 @@
|
||||
database marmotech
|
||||
screen size 24 by 80
|
||||
{
|
||||
Orden No. [f000 ] Fecha Oc.: [f001 ]
|
||||
Cliente [f0|f003] [b1 ]
|
||||
Vendedor [v1 ] [ve ]
|
||||
Direccion [a ]
|
||||
Telefono [b ] Fax [c ] Fecha de Entrega [fe ]
|
||||
Condiciones [d ] [f20 ] Balance [f09 ]
|
||||
\g--------------------------------------------------------------------------\g
|
||||
Codigo Descripcion Bisel Cant. Precio Desc. Total
|
||||
\g--------------------------------------------------------------------------\g
|
||||
[e|f|g |h ] [a2 ][b ][f22 ][f10 ][f9 ] [f11 ]
|
||||
Total de Material [f12 ]
|
||||
Instalacion Tope Cantidad [f13 ] Precio [f14 ]
|
||||
Mano Obra [un ] Cantidad [f15 ] Precio [f16 ]
|
||||
Transporte [f17 ] Itbis [f18 ]
|
||||
}
|
||||
end
|
||||
tables
|
||||
prtb00012,vetb00004,prtb00013
|
||||
attributes
|
||||
f000 = prtb00012.num_oc,noentry;
|
||||
f001 = prtb00012.fecha_oc,required,format="dd/mm/yyyy";
|
||||
f0 = prtb00012.tipo_cliente,required,comments = "Control-W Busca CLientes";
|
||||
f003 = vetb00004.sec_cliente,required,comments = "Control-W Busca CLientes";
|
||||
b1 = vetb00004.nombre,reverse,noentry;
|
||||
a = prtb00012.direccion,upshift;
|
||||
b = prtb00012.telefono;
|
||||
c = prtb00012.fax;
|
||||
d = prtb00012.cond_pago,comments =
|
||||
"Digite la Condicion de Pago";
|
||||
f20 = formonly.descrip_p,noentry;
|
||||
fe = prtb00012.fecha_entrega,format = "dd/mm/yyyy";
|
||||
f09 = formonly.balance,noentry;
|
||||
v1 = prtb00012.sec_vend,comments = "Control-W Para Buscar Vendedores";
|
||||
ve = formonly.nombre_vend,reverse,noentry;
|
||||
|
||||
e = prtb00013.cod_n;
|
||||
f = prtb00013.cod_grupo;
|
||||
g = prtb00013.cod_tipo;
|
||||
h = prtb00013.cod_sec;
|
||||
a2 = formonly.descrip_esp,noentry;
|
||||
b = prtb00013.bisel,UPSHIFT,INCLUDE = ("DBN","SDN"),comments =
|
||||
"Digite DBN o SDN";
|
||||
f22 = formonly.cantidad type Decimal(5,2);
|
||||
f10 = formonly.precio type Decimal(5,2);
|
||||
f9 = formonly.descuento type Decimal(3,2);
|
||||
f11 = formonly.total_p type Decimal(8,2),noentry;
|
||||
|
||||
f12 = formonly.sub_total,noentry;
|
||||
f13 = prtb00013.cantidad_i,comments =
|
||||
"Digite la cantidad de Metros en Instalacion de Topes";
|
||||
f14 = prtb00013.precio_i,comments =
|
||||
"Digite el precio de Instalacion de Tope";
|
||||
un = formonly.unidad_med,noentry;
|
||||
f15 = prtb00013.cantidad_mo,comments =
|
||||
"Digite la cantidad de Metro a instalar";
|
||||
f16 = prtb00013.precio_mo,comments =
|
||||
"Digite el precio por Metro de Instalacion";
|
||||
f17 = prtb00012.transporte,comments =
|
||||
"Digite el Costo del Transporte del Producto";
|
||||
f18 = prtb00012.itbis,noentry;
|
||||
instructions
|
||||
screen record s_pedido[1]
|
||||
(cod_n, cod_grupo, cod_tipo, cod_sec, descrip_esp, bisel,
|
||||
cantidad, precio, descuento, total_p)
|
||||
end
|
||||
@@ -0,0 +1,27 @@
|
||||
|
||||
{
|
||||
-----------------------------------------------------------------------------
|
||||
FORMULARIO : PRFMMT001
|
||||
OBJETIVO : Captura Informacion Rango de Fehca para La Semana (PRPRMT001)
|
||||
REALIZADO POR : Tadeo A. Ferreras F.
|
||||
FECHA : Sept. 14, 1994
|
||||
-----------------------------------------------------------------------------
|
||||
}
|
||||
database decomarmol
|
||||
screen size 24 by 80
|
||||
{
|
||||
|
||||
No. Semana [n1 ]
|
||||
Del [f005 ] Al [f006 ]
|
||||
|
||||
}
|
||||
end
|
||||
tables
|
||||
prtb00002
|
||||
attributes
|
||||
n1 = formonly.num_semana;
|
||||
f005 = prtb00002.semana_del,format = "dd/mm/yy";
|
||||
f006 = prtb00002.semana_al,format = "dd/mm/yy";
|
||||
instructions
|
||||
delimiters " "
|
||||
end
|
||||
@@ -0,0 +1,26 @@
|
||||
|
||||
{
|
||||
-----------------------------------------------------------------------------
|
||||
FORMULARIO : PRFMMT001
|
||||
OBJETIVO : Captura Informacion Rango de Fehca para La Semana (PRPRMT001)
|
||||
REALIZADO POR : Tadeo A. Ferreras F.
|
||||
FECHA : Sept. 14, 1994
|
||||
-----------------------------------------------------------------------------
|
||||
}
|
||||
database marmotech
|
||||
screen size 24 by 80
|
||||
{
|
||||
No. Semana [n1 ]
|
||||
Del [f005 ] Al [f006 ]
|
||||
|
||||
}
|
||||
end
|
||||
tables
|
||||
prtb00002
|
||||
attributes
|
||||
n1 = formonly.no_semana;
|
||||
f005 = formonly.fecha1 type date,format = "dd/mm/yy";
|
||||
f006 = formonly.fecha2 type date,format = "dd/mm/yy";
|
||||
instructions
|
||||
delimiters " "
|
||||
end
|
||||
@@ -0,0 +1,15 @@
|
||||
database marmotech
|
||||
screen
|
||||
{
|
||||
fecha Inicial [k ]
|
||||
fecha Final [p ]
|
||||
}
|
||||
end
|
||||
tables
|
||||
intb00006
|
||||
attributes
|
||||
k = formonly.fecha_inicial type date,format = "dd/mm/yy";
|
||||
p = formonly.fecha_final type date, format = "dd/mm/yy";
|
||||
instructions
|
||||
delimiters " "
|
||||
end
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
# SISTEMA : SISTEMA DE PRODUCCION
|
||||
# FORMULARIO : PRFMRP006.PER
|
||||
# PROCESO : CAPTURA DE PARAMENTROS PARA IMPRESION DEL PROGRMA
|
||||
# PRPRRP006.4GL (PROD./HORA TOTALES COMPARATIVO)
|
||||
# AUTOR : TADEO A. FERRERAS
|
||||
# FECHA : NOVIEMBRE 02, 1994
|
||||
}
|
||||
database marmotech
|
||||
screen
|
||||
{
|
||||
Ano [k ]
|
||||
Mes [p ]
|
||||
}
|
||||
end
|
||||
tables
|
||||
intb00006
|
||||
attributes
|
||||
k = formonly.ano type smallint,autonext,
|
||||
comments = "Digite el ano para impresion";
|
||||
p = formonly.mes type smallint,comments = "Digite el mes para impresion";
|
||||
instructions
|
||||
delimiters " "
|
||||
end
|
||||
@@ -0,0 +1,28 @@
|
||||
|
||||
{
|
||||
# SISTEMA : SISTEMA DE PRODUCCION
|
||||
# FORMULARIO : PRFMRP007.PER
|
||||
# PROCESO : CAPTURA DE PARAMENTROS PARA IMPRESION DEL PROGRAMA
|
||||
# PRPRRP007.4GL (PROD. ACUMULADA EN RANGO DE ANOS)
|
||||
# AUTOR : TADEO A. FERRERAS
|
||||
# FECHA : NOVIEMBRE 02, 1994
|
||||
}
|
||||
database marmotech
|
||||
screen
|
||||
{
|
||||
Ano Inicial[k ]
|
||||
Ano Final [k1 ]
|
||||
Mes Final [p ]
|
||||
}
|
||||
end
|
||||
tables
|
||||
intb00006
|
||||
attributes
|
||||
k = formonly.ano type smallint,autonext,
|
||||
comments = "Digite el Ano Inicial Para Impresion";
|
||||
k1 = formonly.ano_f type smallint,autonext,
|
||||
comments = "Digite el Ano Final Para Impresion";
|
||||
p = formonly.mes type smallint,comments = "Digite el mes para impresion";
|
||||
instructions
|
||||
delimiters " "
|
||||
end
|
||||
@@ -0,0 +1,15 @@
|
||||
|
||||
{
|
||||
}
|
||||
database marmotech
|
||||
screen
|
||||
{
|
||||
Fecha [k ]
|
||||
}
|
||||
end
|
||||
tables
|
||||
intb00006
|
||||
attributes
|
||||
k = formonly.fecha type date,format="dd/mm/yy",
|
||||
comments = "Digite fecha de corte para impresion";
|
||||
end
|
||||
@@ -0,0 +1,25 @@
|
||||
|
||||
{
|
||||
-----------------------------------------------------------------------------
|
||||
FORMULARIO : PRFMMT011
|
||||
OBJETIVO : Controlar informacion para el reporte de RESUEM MENSUAL DE
|
||||
PRODUCCION.
|
||||
PROGRAMA UTILI. : PRPRRP011
|
||||
REALIZADO POR : Juan F. Soto
|
||||
FECHA : Noviembre 7, 1994.
|
||||
-----------------------------------------------------------------------------
|
||||
}
|
||||
database marmotech
|
||||
screen size 24 by 80
|
||||
{
|
||||
Ano Requerido [a1 ]
|
||||
|
||||
}
|
||||
end
|
||||
tables
|
||||
prtb00002
|
||||
attributes
|
||||
a1 = formonly.k_ano,required;
|
||||
instructions
|
||||
delimiters " "
|
||||
end
|
||||
@@ -0,0 +1,23 @@
|
||||
{
|
||||
-----------------------------------------------------------------------------
|
||||
FORMULARIO : PRFMMT013
|
||||
OBJETIVO : Validacion de Maestra de Operacion
|
||||
PROGRAMA UTILI. : PRPRRP013
|
||||
REALIZADO POR : Tadeo A. Ferreras F.
|
||||
FECHA : Noviembre 7, 1994.
|
||||
-----------------------------------------------------------------------------
|
||||
}
|
||||
database marmotech
|
||||
screen size 24 by 80
|
||||
{
|
||||
Operacion(es) [a1 ]
|
||||
|
||||
}
|
||||
end
|
||||
tables
|
||||
prtb00005
|
||||
attributes
|
||||
a1 = prtb00005.codigo,comments = "Digite el (los) codigo(s) de Operacion(es)";
|
||||
instructions
|
||||
delimiters " "
|
||||
end
|
||||
@@ -0,0 +1,54 @@
|
||||
|
||||
{
|
||||
-----------------------------------------------------------------------------
|
||||
FORMULARIO : PRFMMT016
|
||||
OBJETIVO : ORDENES DE PRODUCCION
|
||||
PROGRAMA UTILI. : PRPRRP016
|
||||
REALIZADO POR : Juan F. Soto
|
||||
FECHA : Noviembre 7, 1998.
|
||||
-----------------------------------------------------------------------------
|
||||
}
|
||||
database decomarmol
|
||||
ACTION DEFAULTS
|
||||
ACTION ejecutar (TEXT ="Genera Reporte",IMAGE="print")
|
||||
END
|
||||
|
||||
LAYOUT (TEXT='STATUS ORDENES PEDIDOS')
|
||||
GRID
|
||||
{
|
||||
Cotizacion [c ]
|
||||
Orden [o1 ] Status Orden[st ]
|
||||
Vendedor [v1 ] [hh ]
|
||||
Fecha [f1 ]
|
||||
Codigo Cliente [c2 ]-[c3 ]
|
||||
Nombre Cliente [n ]
|
||||
Telefono Res. [t ]
|
||||
Producto [x1 ][x2 ][x3 ][x4 ]
|
||||
Salida Reporte [s ]
|
||||
Visualizacion [v ]
|
||||
}
|
||||
END
|
||||
END
|
||||
tables
|
||||
prtb00007
|
||||
ATTRIBUTES
|
||||
|
||||
RADIOGROUP hh = formonly.historico, ITEMS=(('H','HISTORICO'),('N','ACTUAL')),DEFAULT='N';
|
||||
x1 = formonly.cod_n;
|
||||
x2 = formonly.cod_grupo;
|
||||
x3 = formonly.cod_tipo;
|
||||
x4 = formonly.cod_Sec;
|
||||
c = formonly.cotizacion_no,comments="Digite un numero de cotizacion o deje en blanco para todas";
|
||||
n = formonly.nombre_cliente,comments="Utilice el simbolo (*) para buscar nombres similares al que desea";
|
||||
c2 = formonly.tipo_cliente;
|
||||
c3 = formonly.sec_cliente;
|
||||
t = formonly.telefono_r;
|
||||
COMBOBOX st = formonly.cerrada,ITEMS=(("S","Cerrada"),("N","Abiertas"));
|
||||
DATEEDIT f1 = formonly.fecha type date,format = "dd/mm/yyyy";
|
||||
o1 = formonly.num_oc,comments="Digite un numero de orden o deje en blanco para todas";
|
||||
v1 = formonly.sec_vend,comments="Digite un numero de vendedor o deje en blanco para todos";
|
||||
COMBOBOX s=formonly.salida,ITEMS=(("prprrp016.4rp","Detallado"),("prprrp016a.4rp","Resumido")),default="Detallado";
|
||||
COMBOBOX v=formonly.visualiza,ITEMS=(("SVG","PANTALLA"),("PDF","ACROBAT READER")),default="PANTALLA";
|
||||
instructions
|
||||
delimiters " "
|
||||
end
|
||||
@@ -0,0 +1,32 @@
|
||||
|
||||
{
|
||||
-----------------------------------------------------------------------------
|
||||
FORMULARIO : PRFMMT016
|
||||
OBJETIVO : ORDENES DE PRODUCCION
|
||||
PROGRAMA UTILI. : PRPRRP016
|
||||
REALIZADO POR : Juan F. Soto
|
||||
FECHA : Noviembre 7, 1998.
|
||||
-----------------------------------------------------------------------------
|
||||
}
|
||||
database marmotech
|
||||
screen size 24 by 80
|
||||
{
|
||||
Fecha Inicial [f1 ]
|
||||
Fecha Final [f2 ]
|
||||
|
||||
Orden [o1 ]
|
||||
Vendedor [v1 ]
|
||||
Pendiente [pe]
|
||||
}
|
||||
end
|
||||
tables
|
||||
prtb00007,prtb00009
|
||||
attributes
|
||||
pe = prtb00009.pendiente;
|
||||
f1 = formonly.fecha_inicial type date,format = "dd/mm/yyyy";
|
||||
f2 = formonly.fecha_final type date,format = "dd/mm/yyyy";
|
||||
o1 = prtb00007.num_oc;
|
||||
v1 = formonly.sec_vend;
|
||||
instructions
|
||||
delimiters " "
|
||||
end
|
||||
@@ -0,0 +1,34 @@
|
||||
|
||||
{
|
||||
-----------------------------------------------------------------------------
|
||||
FORMULARIO : PRFMMT018
|
||||
OBJETIVO : ORDENES DE PRODUCCION
|
||||
PROGRAMA UTILI. : PRPRRP016
|
||||
REALIZADO POR : Juan F. Soto
|
||||
FECHA : Noviembre 7, 1998.
|
||||
-----------------------------------------------------------------------------
|
||||
}
|
||||
database marmotech
|
||||
LAYOUT (TEXT="INFORME ORDENES PEDIDOS",STYLE="BASIC")
|
||||
GRID
|
||||
{
|
||||
<G >
|
||||
Fecha Inicial [f1 ]
|
||||
Fecha Final [f2 ]
|
||||
|
||||
<G >
|
||||
Orden [o1 ]
|
||||
Vendedor [v1 ]
|
||||
}
|
||||
end
|
||||
end
|
||||
tables
|
||||
prtb00007,prtb00009
|
||||
attributes
|
||||
DATEEDIT f1 = formonly.fecha_inicial type date,format = "dd/mm/yyyy";
|
||||
DATEEDIT f2 = formonly.fecha_final type date,format = "dd/mm/yyyy";
|
||||
o1 = prtb00007.num_oc;
|
||||
v1 = formonly.sec_vend;
|
||||
instructions
|
||||
delimiters " "
|
||||
end
|
||||
@@ -0,0 +1,28 @@
|
||||
|
||||
{
|
||||
-----------------------------------------------------------------------------
|
||||
FORMULARIO : PRFMMT019
|
||||
OBJETIVO : ORDENES DE PRODUCCION PENDIENTES
|
||||
PROGRAMA UTILI. : PRPRRP019
|
||||
REALIZADO POR : Victor Gomez C.
|
||||
FECHA : Saturday, April 07, 2001
|
||||
-----------------------------------------------------------------------------
|
||||
}
|
||||
database marmotech
|
||||
screen size 24 by 80
|
||||
{
|
||||
Fecha Corte [f2 ]
|
||||
|
||||
Orden [o1 ]
|
||||
Vendedor [v1 ]
|
||||
}
|
||||
end
|
||||
tables
|
||||
prtb00007
|
||||
attributes
|
||||
f2 = formonly.fecha_final type date,format = "dd/mm/yyyy";
|
||||
o1 = prtb00007.num_oc;
|
||||
v1 = formonly.sec_vend;
|
||||
instructions
|
||||
delimiters " "
|
||||
end
|
||||
@@ -0,0 +1,54 @@
|
||||
|
||||
{
|
||||
-----------------------------------------------------------------------------
|
||||
FORMULARIO : PRFMMT016
|
||||
OBJETIVO : ORDENES DE PRODUCCION
|
||||
PROGRAMA UTILI. : PRPRRP016
|
||||
REALIZADO POR : Juan F. Soto
|
||||
FECHA : Noviembre 7, 1998.
|
||||
-----------------------------------------------------------------------------
|
||||
}
|
||||
database decomarmol
|
||||
ACTION DEFAULTS
|
||||
ACTION ejecutar (TEXT ="Genera Reporte",IMAGE="print")
|
||||
END
|
||||
|
||||
LAYOUT (TEXT='STATUS ORDENES PEDIDOS')
|
||||
GRID
|
||||
{
|
||||
Cotizacion [c ]
|
||||
Orden [o1 ] Status Orden[st ]
|
||||
Vendedor [v1 ] [hh ]
|
||||
Fecha [f1 ]
|
||||
Codigo Cliente [c2 ]-[c3 ]
|
||||
Nombre Cliente [n ]
|
||||
Telefono Res. [t ]
|
||||
Producto [x1 ][x2 ][x3 ][x4 ]
|
||||
Salida Reporte [s ]
|
||||
Visualizacion [v ]
|
||||
}
|
||||
END
|
||||
END
|
||||
tables
|
||||
prtb00007
|
||||
ATTRIBUTES
|
||||
|
||||
RADIOGROUP hh = formonly.historico, ITEMS=(('H','HISTORICO'),('N','ACTUAL')),DEFAULT='N';
|
||||
x1 = formonly.cod_n;
|
||||
x2 = formonly.cod_grupo;
|
||||
x3 = formonly.cod_tipo;
|
||||
x4 = formonly.cod_Sec;
|
||||
c = formonly.cotizacion_no,comments="Digite un numero de cotizacion o deje en blanco para todas";
|
||||
n = formonly.nombre_cliente,comments="Utilice el simbolo (*) para buscar nombres similares al que desea";
|
||||
c2 = formonly.tipo_cliente;
|
||||
c3 = formonly.sec_cliente;
|
||||
t = formonly.telefono_r;
|
||||
COMBOBOX st = formonly.cerrada,ITEMS=(("S","Cerrada"),("N","Abiertas"));
|
||||
DATEEDIT f1 = formonly.fecha type date,format = "dd/mm/yyyy";
|
||||
o1 = formonly.num_oc,comments="Digite un numero de orden o deje en blanco para todas";
|
||||
v1 = formonly.sec_vend,comments="Digite un numero de vendedor o deje en blanco para todos";
|
||||
COMBOBOX s=formonly.salida,ITEMS=(("prprrp116.4rp","Detallado"),("prprrp016a.4rp","Resumido")),default="Detallado";
|
||||
COMBOBOX v=formonly.visualiza,ITEMS=(("SVG","PANTALLA"),("PDF","ACROBAT READER")),default="PANTALLA";
|
||||
instructions
|
||||
delimiters " "
|
||||
end
|
||||
@@ -0,0 +1,31 @@
|
||||
DATABASE marmotech
|
||||
SCREEN SIZE 24 by 80
|
||||
{
|
||||
Busqueda de Composicion Producto
|
||||
\g-----------------------------------------------------\g
|
||||
Codigo Descripcion
|
||||
\g-----------------------------------------------------\g
|
||||
[f]-[g]-[h ]-[i ] [f2 ]
|
||||
[f]-[g]-[h ]-[i ] [f2 ]
|
||||
[f]-[g]-[h ]-[i ] [f2 ]
|
||||
[f]-[g]-[h ]-[i ] [f2 ]
|
||||
[f]-[g]-[h ]-[i ] [f2 ]
|
||||
|
||||
}
|
||||
end
|
||||
|
||||
tables
|
||||
intb00001
|
||||
attributes
|
||||
f = formonly.cod_n,noentry;
|
||||
g = formonly.cod_grupo,noentry;
|
||||
h = formonly.cod_tipo,noentry;
|
||||
i = formonly.cod_sec,noentry;
|
||||
f2 = intb00001.descrip_esp, upshift,
|
||||
comments = " <Esc> Busca todos los Productos Terminados ";
|
||||
|
||||
instructions
|
||||
screen record s_pilas[5] (cod_n,cod_grupo,cod_tipo,cod_sec,descrip_esp)
|
||||
delimiters " "
|
||||
end
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
database decomarmol
|
||||
screen size 24 by 80
|
||||
{
|
||||
OBSERVACIONES DE ORDENES
|
||||
\g-----------------------------------------------------\g
|
||||
[a ]
|
||||
[a ]
|
||||
[a ]
|
||||
[a ]
|
||||
}
|
||||
end
|
||||
tables
|
||||
prtb00014
|
||||
|
||||
attributes
|
||||
a = prtb00014.observacion, WORDWRAP;
|
||||
|
||||
end
|
||||
@@ -0,0 +1,30 @@
|
||||
DATABASE marmotech
|
||||
SCREEN SIZE 24 by 80
|
||||
{
|
||||
Despachos Parciales
|
||||
\g-----------------------------------------------------\g
|
||||
Numero Codigo Cantidad Fecha
|
||||
\g-----------------------------------------------------\g
|
||||
[nc ][f]-[g]-[h ]-[i ][ca ][fe ]
|
||||
[nc ][f]-[g]-[h ]-[i ][ca ][fe ]
|
||||
[nc ][f]-[g]-[h ]-[i ][ca ][fe ]
|
||||
[nc ][f]-[g]-[h ]-[i ][ca ][fe ]
|
||||
[nc ][f]-[g]-[h ]-[i ][ca ][fe ]
|
||||
}
|
||||
end
|
||||
|
||||
tables
|
||||
prtb00015
|
||||
attributes
|
||||
nc = prtb00015.num_oc,noentry;
|
||||
f = prtb00015.cod_n,autonext;
|
||||
g = prtb00015.cod_grupo,autonext;
|
||||
h = prtb00015.cod_tipo,autonext;
|
||||
i = prtb00015.cod_sec,autonext;
|
||||
ca = prtb00015.cantidad;
|
||||
fe = prtb00015.fecha, format = "dd/mm/yyyy";
|
||||
instructions
|
||||
screen record sprtb15[5] (num_oc,cod_n,cod_grupo,cod_tipo,cod_sec,cantidad,fecha)
|
||||
delimiters " "
|
||||
end
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
{
|
||||
=============================================================================
|
||||
FORMULARIO : PRFMWD004
|
||||
OBJETIVO : DESPIECE PRODUCTOS
|
||||
PROGRAMA Q. LO USA : PRPRMT008
|
||||
AUTOR : JUAN F. SOTO
|
||||
FECHA : JUNIO 16, 2008
|
||||
=============================================================================
|
||||
}
|
||||
DATABASE decomarmol
|
||||
LAYOUT (TEXT="DESPIECE")
|
||||
GRID
|
||||
{
|
||||
|
||||
DESCRIPCION:[des ][und ]
|
||||
|
||||
<G "Despiece" >
|
||||
<t >
|
||||
[et ][a1 ][a ][b ][c ][d ][l1 ][l2 ][l3 ][c1 ][m ]
|
||||
[et ][a1 ][a ][b ][c ][d ][l1 ][l2 ][l3 ][c1 ][m ]
|
||||
[et ][a1 ][a ][b ][c ][d ][l1 ][l2 ][l3 ][c1 ][m ]
|
||||
[et ][a1 ][a ][b ][c ][d ][l1 ][l2 ][l3 ][c1 ][m ]
|
||||
[et ][a1 ][a ][b ][c ][d ][l1 ][l2 ][l3 ][c1 ][m ]
|
||||
[et ][a1 ][a ][b ][c ][d ][l1 ][l2 ][l3 ][c1 ][m ]
|
||||
[et ][a1 ][a ][b ][c ][d ][l1 ][l2 ][l3 ][c1 ][m ]
|
||||
[et ][a1 ][a ][b ][c ][d ][l1 ][l2 ][l3 ][c1 ][m ]
|
||||
|
||||
============
|
||||
[t1 ]
|
||||
}
|
||||
end
|
||||
end
|
||||
tables
|
||||
vetb00004
|
||||
attributes
|
||||
et = formonly.etiqueta,upshift,scroll,TITLE="ETIQUETA";
|
||||
t1 = formonly.total_medida;
|
||||
des = formonly.descrip_esp;
|
||||
und = formonly.unidad_med;
|
||||
a1 = formonly.area,TITLE="AREA";
|
||||
a = formonly.cod_n,noentry,TITLE="CODIGO";
|
||||
b = formonly.cod_grupo,noentry;
|
||||
c = formonly.cod_tipo,noentry;
|
||||
d = formonly.cod_sec,noentry;
|
||||
l1 = formonly.lado_1,TITLE="LADO1";
|
||||
l2 = formonly.lado_2,TITLE="LADO2";
|
||||
l3 = formonly.lado_3,TITLE="LADO3";
|
||||
c1 = formonly.cantidad,TITLE="CANTIDAD";
|
||||
m = formonly.medida,TITLE="MEDIDA";
|
||||
instructions delimiters " "
|
||||
screen record sdespiece[8](etiqueta,area,cod_n,cod_grupo,cod_tipo,cod_sec,lado_1,lado_2,lado_3,cantidad,medida)
|
||||
end
|
||||
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
database decomarmol
|
||||
screen size 24 by 80
|
||||
{
|
||||
BUSQUEDA SEMI-ELABORADOS
|
||||
\g----------------------------------------------\g
|
||||
CODIGO DESCRIPCION MEDIDA
|
||||
\g---------------------------------------------\g
|
||||
[a ][d ][d1 ]
|
||||
[a ][d ][d1 ]
|
||||
[a ][d ][d1 ]
|
||||
[a ][d ][d1 ]
|
||||
[a ][d ][d1 ]
|
||||
[a ][d ][d1 ]
|
||||
[a ][d ][d1 ]
|
||||
|
||||
}
|
||||
end
|
||||
tables
|
||||
cttb00001
|
||||
attributes
|
||||
a = formonly.cod_prod;
|
||||
d = formonly.descripcion;
|
||||
d1 = formonly.unidad_med;
|
||||
instructions
|
||||
screen record sprod[7] (cod_prod,descripcion,unidad_med)
|
||||
delimiters " "
|
||||
end
|
||||
@@ -0,0 +1,27 @@
|
||||
database decomarmol
|
||||
screen size 24 by 80
|
||||
{
|
||||
BUSQUEDA EMPLEADOS
|
||||
\g---------------------------------------------------\g
|
||||
Ficha Nombre Apellido
|
||||
\g---------------------------------------------------\g
|
||||
[a ][d ][d1 ]
|
||||
[a ][d ][d1 ]
|
||||
[a ][d ][d1 ]
|
||||
[a ][d ][d1 ]
|
||||
[a ][d ][d1 ]
|
||||
[a ][d ][d1 ]
|
||||
[a ][d ][d1 ]
|
||||
|
||||
}
|
||||
end
|
||||
tables
|
||||
cttb00001
|
||||
attributes
|
||||
a = formonly.num_emp;
|
||||
d = formonly.nom1_emp,upshift;
|
||||
d1 = formonly.apell1_emp;
|
||||
instructions
|
||||
screen record sficha[7] (num_emp,nom1_emp,apell1_emp)
|
||||
delimiters " "
|
||||
end
|
||||
@@ -0,0 +1,57 @@
|
||||
|
||||
|
||||
{
|
||||
=============================================================================
|
||||
FORMULARIO : IPFMWD009
|
||||
OBJETIVO : Desplegar los codigos y nombres de la maestra de
|
||||
clientes
|
||||
PROGRAMA Q. LO USA : IPPRMT044
|
||||
AUTOR : JUAN F. SOTO
|
||||
FECHA : FEBRERO 6, 1999
|
||||
=============================================================================
|
||||
}
|
||||
DATABASE decomarmol
|
||||
SCREEN
|
||||
{
|
||||
|
||||
DESCRIPCION:[cod ][des ][und ]
|
||||
\g------------------------------------------------------------------------------\g
|
||||
--MEDIDA RECIBIDAS---
|
||||
Bloque Lado 1 Lado 2 Lado 3 Cantidad Medidas
|
||||
\g------------------------------------------------------------------------------\g
|
||||
[et ][b ] [c ] [d ][l1 ][l2 ][l3 ][c1 ][m ]
|
||||
[et ][b ] [c ] [d ][l1 ][l2 ][l3 ][c1 ][m ]
|
||||
[et ][b ] [c ] [d ][l1 ][l2 ][l3 ][c1 ][m ]
|
||||
[et ][b ] [c ] [d ][l1 ][l2 ][l3 ][c1 ][m ]
|
||||
[et ][b ] [c ] [d ][l1 ][l2 ][l3 ][c1 ][m ]
|
||||
[et ][b ] [c ] [d ][l1 ][l2 ][l3 ][c1 ][m ]
|
||||
[et ][b ] [c ] [d ][l1 ][l2 ][l3 ][c1 ][m ]
|
||||
[et ][b ] [c ] [d ][l1 ][l2 ][l3 ][c1 ][m ]
|
||||
============
|
||||
[t1 ]
|
||||
}
|
||||
end
|
||||
tables
|
||||
vetb00004
|
||||
attributes
|
||||
cod = formonly.cod_prod;
|
||||
et = formonly.codigo_bloque,noentry;
|
||||
t1 = formonly.total_medida;
|
||||
des = formonly.descripcion;
|
||||
und = formonly.medida;
|
||||
b = formonly. ancho1;
|
||||
c = formonly.largo1;
|
||||
d = formonly.espesor1;
|
||||
l1 = formonly.medida1;
|
||||
l2 = formonly.ancho2;
|
||||
l3 = formonly.largo2;
|
||||
c1 = formonly.espesor2;
|
||||
m = formonly.medida2;
|
||||
m1 = formonly.cantidad;
|
||||
|
||||
instructions delimiters " "
|
||||
screen record sdespiece[8](codigo_bloque,cod_,ancho1,largo1,espesor1,medida1,ancho2,largo2,
|
||||
espesor2,medida2,cantidad)
|
||||
end
|
||||
|
||||
|
||||
@@ -0,0 +1,106 @@
|
||||
{
|
||||
-----------------------------------------------------------------------
|
||||
PROGRAMA : PRMN00000
|
||||
OBJETIVO : Menu Principal del Sistema de Produccion
|
||||
PROGRAMADOR : Tadeo A. Ferreras F.
|
||||
FECHA REALIZACION : Sept. 14,1994.
|
||||
-----------------------------------------------------------------------
|
||||
}
|
||||
GLOBALS "prprgb000.4gl"
|
||||
|
||||
MAIN
|
||||
# WHENEVER ERROR CONTINUE
|
||||
DEFER INTERRUPT
|
||||
CALL pantalla()
|
||||
CALL opciones_prmn00000()
|
||||
END MAIN
|
||||
|
||||
FUNCTION opciones_prmn00000()
|
||||
|
||||
DEFINE luz CHAR(5)
|
||||
OPTIONS
|
||||
PROMPT LINE 8,
|
||||
MESSAGE LINE 24
|
||||
|
||||
DISPLAY " Menu Principal " AT 6,22
|
||||
DISPLAY "prmn00000" AT 4,3 ATTRIBUTE(blue)
|
||||
DISPLAY "1- Mantenimientos prmnmt000" AT 10,6
|
||||
DISPLAY "2- Consultas prmncs000" AT 11,6
|
||||
DISPLAY "3- Reportes prmnrp000" AT 12,6
|
||||
DISPLAY "S- Retorna Menu Anterior " AT 14,6
|
||||
ATTRIBUTE (BOLD)
|
||||
|
||||
LET opcion = " "
|
||||
LABEL vuelve:
|
||||
PROMPT " OPCION: " FOR opcion HELP 1
|
||||
LET opcion = upshift(opcion)
|
||||
IF opcion != "S" THEN
|
||||
SELECT unique usuario INTO p_user FROM seg0001
|
||||
WHERE usuario = user
|
||||
CALL seg000(p_user,opcion,"prmn00000") RETURNING luz
|
||||
IF luz = "roja" THEN
|
||||
ERROR "NO TIENE PERMISO PARA UTILIZAR OPCION"
|
||||
GOTO vuelve
|
||||
END IF
|
||||
END IF
|
||||
|
||||
CASE
|
||||
WHEN opcion = "1"
|
||||
RUN "fglrun %FGLPROG%\\prmnmt000"
|
||||
CLEAR SCREEN
|
||||
CALL pantalla()
|
||||
CALL opciones_prmn00000()
|
||||
|
||||
WHEN opcion = "2"
|
||||
RUN "fglrun %FGLPROG%\\prmncs000"
|
||||
CLEAR SCREEN
|
||||
CALL pantalla()
|
||||
CALL opciones_prmn00000()
|
||||
WHEN opcion = "3"
|
||||
RUN "fglrun %FGLPROG%\\prmnrp000"
|
||||
CLEAR SCREEN
|
||||
CALL pantalla()
|
||||
CALL opciones_prmn00000()
|
||||
|
||||
WHEN opcion = "S" or opcion = "s"
|
||||
RETURN
|
||||
|
||||
OTHERWISE
|
||||
CALL opciones_prmn00000()
|
||||
|
||||
END CASE
|
||||
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION pantalla()
|
||||
DEFINE fecha CHAR(8),
|
||||
hora char(5)
|
||||
SELECT * INTO p_compania.*
|
||||
FROM companias
|
||||
LET l = (80 - LENGTH(p_compania.nombre CLIPPED)) / 2
|
||||
LET fecha = today USING "dd/mm/yy"
|
||||
LET hora = time
|
||||
DISPLAY p_compania.nombre CLIPPED AT 4,l
|
||||
ATTRIBUTE (REVERSE,blue)
|
||||
LET fecha = today USING "dd/mm/yy"
|
||||
LET hora = time
|
||||
DISPLAY fecha AT 4,70 ATTRIBUTE (blue)
|
||||
DISPLAY "Sistema de Produccion" AT 5,29
|
||||
DISPLAY hora AT 6,73 ATTRIBUTE(blue)
|
||||
|
||||
CALL fgl_drawbox(5,79,3,1)
|
||||
CALL fgl_drawbox(1,79,22,1)
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION integridad()
|
||||
IF sqlca.sqlcode < 0 THEN
|
||||
LET numero_msg = sqlca.sqlcode
|
||||
CALL msg(numero_msg)
|
||||
DISPLAY numero_msg AT 23,70
|
||||
LET bandera = 1
|
||||
LET status = 0
|
||||
SLEEP 2
|
||||
RETURN
|
||||
END IF
|
||||
RETURN
|
||||
END FUNCTION
|
||||
@@ -0,0 +1,94 @@
|
||||
{
|
||||
-----------------------------------------------------------------------
|
||||
PROGRAMA : PRMNCS000
|
||||
OBJETIVO : Menu de Consultas del Sistema de Produccion
|
||||
PROGRAMADOR : Victor Gomez
|
||||
FECHA REALIZACION : Wednesday, 28 February, 2001
|
||||
-----------------------------------------------------------------------
|
||||
}
|
||||
GLOBALS "prprgb000.4gl"
|
||||
|
||||
MAIN
|
||||
WHENEVER ERROR CONTINUE
|
||||
DEFER INTERRUPT
|
||||
CALL pantalla()
|
||||
CALL opciones_prmncs000()
|
||||
END MAIN
|
||||
|
||||
FUNCTION opciones_prmncs000()
|
||||
|
||||
DEFINE luz CHAR(5)
|
||||
OPTIONS
|
||||
PROMPT LINE 8,
|
||||
MESSAGE LINE 24
|
||||
|
||||
CALL pantalla()
|
||||
DISPLAY " CONSULTAS " AT 6,22
|
||||
DISPLAY "prmnmt000" AT 4,3 ATTRIBUTE(blue)
|
||||
DISPLAY "1- Consulta de Ordenes prprcs001" AT 10,6
|
||||
|
||||
DISPLAY "S- Retorna Menu Anterior " AT 20,6
|
||||
ATTRIBUTE (BOLD)
|
||||
|
||||
LET opcion = " "
|
||||
LABEL vuelve:
|
||||
PROMPT " OPCION: " FOR opcion HELP 1
|
||||
LET opcion = upshift(opcion)
|
||||
IF opcion != "S" THEN
|
||||
SELECT unique usuario INTO p_user FROM seg0001
|
||||
WHERE usuario = user
|
||||
CALL seg000(p_user,opcion,"prmnmt000") RETURNING luz
|
||||
IF luz = "roja" THEN
|
||||
ERROR "NO TIENE PERMISO PARA UTILIZAR OPCION"
|
||||
GOTO vuelve
|
||||
END IF
|
||||
END IF
|
||||
|
||||
CASE
|
||||
WHEN opcion = "1"
|
||||
CALL prprcs001()
|
||||
CLEAR SCREEN
|
||||
CALL pantalla()
|
||||
CALL opciones_prmncs000()
|
||||
|
||||
WHEN opcion = "S" or opcion = "s"
|
||||
RETURN
|
||||
|
||||
OTHERWISE
|
||||
CALL opciones_prmncs000()
|
||||
|
||||
END CASE
|
||||
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION pantalla()
|
||||
DEFINE fecha CHAR(10),
|
||||
hora char(5)
|
||||
SELECT * INTO p_compania.*
|
||||
FROM companias
|
||||
LET l = (80 - LENGTH(p_compania.nombre CLIPPED)) / 2
|
||||
LET fecha = today USING "dd/mm/yyyy"
|
||||
LET hora = time
|
||||
DISPLAY p_compania.nombre CLIPPED AT 4,l ATTRIBUTE (REVERSE,blue)
|
||||
LET fecha = today USING "dd/mm/yyyy"
|
||||
LET hora = time
|
||||
DISPLAY fecha AT 4,68 ATTRIBUTE (blue)
|
||||
DISPLAY "Sistema de Produccion" AT 5,29
|
||||
DISPLAY hora AT 6,73 ATTRIBUTE(blue)
|
||||
|
||||
CALL fgl_drawbox(5,79,3,1)
|
||||
CALL fgl_drawbox(1,79,22,1)
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION integridad()
|
||||
IF sqlca.sqlcode < 0 THEN
|
||||
LET numero_msg = sqlca.sqlcode
|
||||
CALL msg(numero_msg)
|
||||
DISPLAY numero_msg AT 23,70
|
||||
LET bandera = 1
|
||||
LET status = 0
|
||||
SLEEP 2
|
||||
RETURN
|
||||
END IF
|
||||
RETURN
|
||||
END FUNCTION
|
||||
@@ -0,0 +1,157 @@
|
||||
{
|
||||
-----------------------------------------------------------------------
|
||||
PROGRAMA : PRMNmt000
|
||||
OBJETIVO : Menu de Mantenimiento del Sistema de Produccion
|
||||
PROGRAMADOR : Tadeo A. Ferreras F.
|
||||
FECHA REALIZACION : Sept. 14,1994.
|
||||
-----------------------------------------------------------------------
|
||||
}
|
||||
GLOBALS "prprgb000.4gl"
|
||||
|
||||
MAIN
|
||||
# WHENEVER ERROR CONTINUE
|
||||
DEFER INTERRUPT
|
||||
CALL pantalla()
|
||||
CALL opciones_prmnmt000()
|
||||
END MAIN
|
||||
|
||||
FUNCTION opciones_prmnmt000()
|
||||
|
||||
DEFINE p_user CHAR(9),
|
||||
i smallint
|
||||
DEFINE luz CHAR(5),
|
||||
arrmenu dynamic array of record
|
||||
chopciones CHAR(30),
|
||||
programas CHAR(15),
|
||||
imagenes CHAR(80)
|
||||
END RECORD
|
||||
|
||||
OPEN WINDOW w1 WITH FORM "menuform"
|
||||
DECLARE cmenu CURSOR FOR
|
||||
SELECT descripcion,programa from dstb00001
|
||||
|
||||
LET i = 1
|
||||
FOREACH cmenu INTO arrmenu[i].*
|
||||
LET i = i +1
|
||||
END FOREACH
|
||||
|
||||
DISPLAY ARRAY arrmenu TO smenu.*
|
||||
CLOSE WINDOW w1
|
||||
{
|
||||
DISPLAY " Mantenimiento " AT 6,22
|
||||
DISPLAY "prmnmt000" AT 4,3 ATTRIBUTE(blue)
|
||||
DISPLAY "1- Maestra de Periodo de Semana prprmt001" AT 10,6
|
||||
DISPLAY "2- Prod. Diaria Personal no Prod. prprmt002" AT 11,6
|
||||
DISPLAY "3- Prod. Diaria Personal Product. prprmt003" AT 12,6
|
||||
DISPLAY "4- Maestra de Operacion prprmt004" AT 13,6
|
||||
DISPLAY "5- Departamentos de Planta prfmmt007" AT 14,6
|
||||
DISPLAY "6- Orden De Produccion prprmt006" AT 15,6
|
||||
DISPLAY "7- Monitoreo Status de la Orden prprmt007" AT 16,6
|
||||
DISPLAY "8- Orden de Pedidos prprmt008" AT 17,6
|
||||
DISPLAY "9- Maestra Areas prprmt010" AT 18,6
|
||||
|
||||
DISPLAY "S- Retorna Menu Anterior " AT 20,6
|
||||
ATTRIBUTE (BOLD)
|
||||
|
||||
LET opcion = " "
|
||||
LABEL vuelve:
|
||||
PROMPT " OPCION: " FOR opcion HELP 1
|
||||
LET opcion = upshift(opcion)
|
||||
IF opcion != "S" THEN
|
||||
SELECT unique usuario INTO p_user FROM seg0001
|
||||
WHERE usuario = user
|
||||
CALL seg000(p_user,opcion,"prmnmt000") RETURNING luz
|
||||
IF luz = "roja" THEN
|
||||
ERROR "NO TIENE PERMISO PARA UTILIZAR OPCION"
|
||||
# GOTO vuelve
|
||||
END IF
|
||||
END IF
|
||||
|
||||
CASE
|
||||
WHEN opcion = "1"
|
||||
CALL prprmt001()
|
||||
CLEAR SCREEN
|
||||
CALL pantalla()
|
||||
CALL opciones_prmnmt000()
|
||||
|
||||
WHEN opcion = "2"
|
||||
CALL prprmt002()
|
||||
CLEAR SCREEN
|
||||
CALL pantalla()
|
||||
CALL opciones_prmnmt000()
|
||||
WHEN opcion = "3"
|
||||
CALL prprmt003()
|
||||
CLEAR SCREEN
|
||||
CALL pantalla()
|
||||
CALL opciones_prmnmt000()
|
||||
WHEN opcion = "4"
|
||||
CALL prprmt004()
|
||||
CLEAR SCREEN
|
||||
CALL pantalla()
|
||||
CALL opciones_prmnmt000()
|
||||
WHEN opcion = "5"
|
||||
RUN "isql -fr prfmmt007"
|
||||
CLEAR SCREEN
|
||||
CALL pantalla()
|
||||
CALL opciones_prmnmt000()
|
||||
WHEN opcion = "6"
|
||||
CALL prprmt006()
|
||||
CLEAR SCREEN
|
||||
CALL opciones_prmnmt000()
|
||||
WHEN opcion = "7"
|
||||
CALL prprmt007()
|
||||
CLEAR SCREEN
|
||||
CALL opciones_prmnmt000()
|
||||
WHEN opcion = "8"
|
||||
CALL prprmt008()
|
||||
CLEAR SCREEN
|
||||
CALL opciones_prmnmt000()
|
||||
WHEN opcion = "9"
|
||||
RUN "fglrun %FGLPROG%\\prprmt010"
|
||||
CLEAR SCREEN
|
||||
CALL opciones_prmnmt000()
|
||||
|
||||
WHEN opcion = "S" or opcion = "s"
|
||||
RETURN
|
||||
|
||||
OTHERWISE
|
||||
CALL opciones_prmnmt000()
|
||||
|
||||
END CASE
|
||||
|
||||
}
|
||||
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION pantalla()
|
||||
DEFINE fecha CHAR(10),
|
||||
hora char(5)
|
||||
SELECT * INTO p_compania.*
|
||||
FROM companias
|
||||
LET l = (80 - LENGTH(p_compania.nombre CLIPPED)) / 2
|
||||
LET fecha = today USING "dd/mm/yyyy"
|
||||
LET hora = time
|
||||
DISPLAY p_compania.nombre CLIPPED AT 4,l
|
||||
ATTRIBUTE (REVERSE,blue)
|
||||
LET fecha = today USING "dd/mm/yyyy"
|
||||
LET hora = time
|
||||
DISPLAY fecha AT 4,68 ATTRIBUTE (blue)
|
||||
DISPLAY "Sistema de Produccion" AT 5,29
|
||||
DISPLAY hora AT 6,73 ATTRIBUTE(blue)
|
||||
|
||||
CALL fgl_drawbox(5,79,3,1)
|
||||
CALL fgl_drawbox(1,79,22,1)
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION integridad()
|
||||
IF sqlca.sqlcode < 0 THEN
|
||||
LET numero_msg = sqlca.sqlcode
|
||||
CALL msg(numero_msg)
|
||||
DISPLAY numero_msg AT 23,70
|
||||
LET bandera = 1
|
||||
LET status = 0
|
||||
SLEEP 2
|
||||
RETURN
|
||||
END IF
|
||||
RETURN
|
||||
END FUNCTION
|
||||
@@ -0,0 +1,113 @@
|
||||
{
|
||||
-----------------------------------------------------------------------
|
||||
PROGRAMA : PRMNRP000
|
||||
OBJETIVO : Menu de Reportes del Sistema de Produccion
|
||||
PROGRAMADOR : Tadeo A. Ferreras F.
|
||||
FECHA REALIZACION : Sept. 14,1994.
|
||||
-----------------------------------------------------------------------
|
||||
}
|
||||
GLOBALS "prprgb000.4gl"
|
||||
|
||||
MAIN
|
||||
DEFER INTERRUPT
|
||||
CALL pantalla()
|
||||
CALL opciones_prmnrp000()
|
||||
END MAIN
|
||||
|
||||
FUNCTION opciones_prmnrp000()
|
||||
|
||||
DEFINE luz CHAR(5)
|
||||
OPTIONS
|
||||
PROMPT LINE 8,
|
||||
MESSAGE LINE 24
|
||||
|
||||
DISPLAY " Reportes " AT 6,22
|
||||
DISPLAY "prmnrp000" AT 4,3 ATTRIBUTE(blue)
|
||||
DISPLAY " 1-Ordenes De Produccion prprrp016" AT 10,1
|
||||
DISPLAY " 2-Monitoreo de las Ordenes prprrp017" AT 11,1
|
||||
DISPLAY " 3-Control Ordenes Pedido prprrp018" AT 12,1
|
||||
DISPLAY " 4-Control Ordenes Pendientes prprrp019" AT 13,1
|
||||
DISPLAY " 5-Validacion Produccion Diariaprprrp004" AT 14,1
|
||||
|
||||
DISPLAY " S-Retorna Menu Anterior " AT 21,20
|
||||
ATTRIBUTE (BOLD)
|
||||
|
||||
LET opcion = " "
|
||||
LABEL vuelve:
|
||||
PROMPT " OPCION: " FOR opcion HELP 1
|
||||
LET opcion = upshift(opcion)
|
||||
IF opcion != "S" THEN
|
||||
SELECT unique usuario INTO p_user FROM seg0001
|
||||
WHERE usuario = user
|
||||
#CALL seg000(p_user,opcion,"prmnrp000") RETURNING luz
|
||||
IF luz = "roja" THEN
|
||||
ERROR "NO TIENE PERMISO PARA UTILIZAR OPCION"
|
||||
GOTO vuelve
|
||||
END IF
|
||||
END IF
|
||||
|
||||
CASE
|
||||
WHEN opcion = "1"
|
||||
CALL prprrp016()
|
||||
CLEAR SCREEN
|
||||
CALL pantalla()
|
||||
CALL opciones_prmnrp000()
|
||||
WHEN opcion = "2"
|
||||
CALL prprrp017()
|
||||
CLEAR SCREEN
|
||||
CALL pantalla()
|
||||
CALL opciones_prmnrp000()
|
||||
WHEN opcion = "3"
|
||||
CALL prprrp018()
|
||||
CLEAR SCREEN
|
||||
CALL pantalla()
|
||||
CALL opciones_prmnrp000()
|
||||
WHEN opcion = "4"
|
||||
CALL prprrp019()
|
||||
CLEAR SCREEN
|
||||
CALL pantalla()
|
||||
CALL opciones_prmnrp000()
|
||||
WHEN opcion = "5"
|
||||
CALL prprrp004()
|
||||
CLEAR SCREEN
|
||||
CALL pantalla()
|
||||
CALL opciones_prmnrp000()
|
||||
WHEN opcion = "S" or opcion = "s"
|
||||
RETURN
|
||||
OTHERWISE
|
||||
CALL opciones_prmnrp000()
|
||||
|
||||
END CASE
|
||||
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION pantalla()
|
||||
DEFINE fecha CHAR(10),
|
||||
hora char(5)
|
||||
SELECT * INTO p_compania.*
|
||||
FROM companias
|
||||
LET l = (80 - LENGTH(p_compania.nombre CLIPPED)) / 2
|
||||
LET fecha = today USING "dd/mm/yyyy"
|
||||
LET hora = time
|
||||
DISPLAY p_compania.nombre CLIPPED AT 4,l ATTRIBUTE (REVERSE,blue)
|
||||
LET fecha = today USING "dd/mm/yyyy"
|
||||
DISPLAY fecha AT 4,68 ATTRIBUTE (blue)
|
||||
DISPLAY "Sistema de Produccion" AT 5,29
|
||||
DISPLAY hora AT 6,73 ATTRIBUTE(blue)
|
||||
|
||||
CALL fgl_drawbox(5,79,3,1)
|
||||
CALL fgl_drawbox(1,79,22,1)
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION integridad()
|
||||
IF sqlca.sqlcode < 0 THEN
|
||||
LET numero_msg = sqlca.sqlcode
|
||||
CALL msg(numero_msg)
|
||||
DISPLAY numero_msg AT 23,70
|
||||
LET bandera = 1
|
||||
LET status = 0
|
||||
SLEEP 2
|
||||
RETURN
|
||||
END IF
|
||||
RETURN
|
||||
END FUNCTION
|
||||
@@ -0,0 +1,230 @@
|
||||
{
|
||||
-----------------------------------------------------------------------------
|
||||
PROGRAMA : prprcs001
|
||||
OBJETIVO : Consulta de Ordenes
|
||||
REALIZADO POR : Lic. Oscar Castillo
|
||||
FECHA : Saturday, July 22, 2000
|
||||
-----------------------------------------------------------------------------
|
||||
}
|
||||
GLOBALS "prprgb000.4gl"
|
||||
DEFINE balance2 DECIMAL(12,2),
|
||||
tipo_orden STRING
|
||||
|
||||
DEFINE g_prtb09 RECORD
|
||||
tipo_cliente LIKE vetb00004.tipo_cliente,
|
||||
sec_cliente LIKE vetb00004.sec_cliente,
|
||||
num_oc LIKE prtb00009.num_oc,
|
||||
fecha LIKE prtb00009.fecha,
|
||||
pendiente LIKE prtb00009.pendiente
|
||||
END RECORD
|
||||
|
||||
DEFINE p_nombre LIKE vetb00004.nombre,
|
||||
descrip_pend CHAR(10),
|
||||
detalle LIKE prtb00009.detalle
|
||||
|
||||
DEFINE arr_prtb09 ARRAY[100] OF RECORD
|
||||
m_fecha LIKE prtb00009.fecha,
|
||||
hora LIKE prtb00009.fech_crea
|
||||
END RECORD
|
||||
|
||||
|
||||
MAIN
|
||||
DEFER INTERRUPT
|
||||
CALL ARG_VAL(1) RETURNING usuarios
|
||||
CALL ARG_VAL(2) RETURNING clave
|
||||
CALL ARG_VAL(3) RETURNING impresor
|
||||
|
||||
CONNECT to "decomarmol" USER usuarios USING clave
|
||||
CALL prprcs001()
|
||||
END MAIN
|
||||
|
||||
###### Funcion que adiciona informacion referente a la aplicacion de un pago
|
||||
FUNCTION prprcs001()
|
||||
DEFINE porc_p DECIMAL(10,2)
|
||||
DEFINE emp SMALLINT
|
||||
DEFINE hoy DATE
|
||||
|
||||
OPTIONS
|
||||
FORM LINE 8,
|
||||
ERROR LINE 24,
|
||||
COMMENT LINE 22,
|
||||
PROMPT LINE 23
|
||||
|
||||
# CALL pantalla()
|
||||
OPEN FORM prfmcs001 FROM "prfmcs001"
|
||||
DISPLAY FORM prfmcs001
|
||||
DISPLAY "prprcs001" AT 4,3
|
||||
DISPLAY "Ordenes de Compra" AT 6,33
|
||||
|
||||
DISPLAY "<CTRL-C> CANCELA OPERACION" AT 2,5 ATTRIBUTE (BOLD)
|
||||
LET int_flag = FALSE
|
||||
DIALOG ATTRIBUTES(UNBUFFERED)
|
||||
|
||||
INPUT BY NAME tipo_orden
|
||||
AFTER INPUT
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = FALSE
|
||||
RETURN
|
||||
END IF
|
||||
END INPUT
|
||||
|
||||
CONSTRUCT BY NAME criterio ON a.tipo_cliente,a.sec_cliente,
|
||||
a.num_oc,a.fecha
|
||||
|
||||
AFTER CONSTRUCT
|
||||
IF tipo_orden = 'N' THEN
|
||||
LET selec =
|
||||
" SELECT a.tipo_cliente,a.sec_cliente,a.num_oc, ",
|
||||
" a.fecha_oc,c.nombre,a.cotizacion_no ",
|
||||
" FROM prtb00012 a,vetb00004 c ",
|
||||
" WHERE a.tipo_cliente = c.tipo_cliente and ",
|
||||
" a.sec_cliente = c.sec_cliente AND a.cerrada ='N'",
|
||||
" AND ",criterio CLIPPED, " ORDER BY a.num_oc "
|
||||
END IF
|
||||
IF tipo_orden = 'S' THEN
|
||||
LET selec =
|
||||
" SELECT a.tipo_cliente,a.sec_cliente,a.num_oc, ",
|
||||
" a.fecha_oc,c.nombre,a.cotizacion_no ",
|
||||
" FROM prtb00012 a,vetb00004 c ",
|
||||
" WHERE a.tipo_cliente = c.tipo_cliente and ",
|
||||
" a.sec_cliente = c.sec_cliente AND a.cerrada ='N'",
|
||||
" AND ",criterio CLIPPED, " ORDER BY a.num_oc "
|
||||
END IF
|
||||
IF tipo_orden = 'T' THEN
|
||||
LET selec =
|
||||
" SELECT a.tipo_cliente,a.sec_cliente,a.num_oc, ",
|
||||
" a.fecha_oc,c.nombre,a.cotizacion_no ",
|
||||
" FROM prtb00012 a,vetb00004 c ",
|
||||
" WHERE a.tipo_cliente = c.tipo_cliente and ",
|
||||
" a.sec_cliente = c.sec_cliente ",
|
||||
" AND ",criterio CLIPPED, " ORDER BY a.num_oc "
|
||||
END IF
|
||||
|
||||
|
||||
END CONSTRUCT
|
||||
ON ACTION close
|
||||
RETURN
|
||||
EXIT DIALOG
|
||||
ON ACTION ejecuta
|
||||
PREPARE comando FROM selec
|
||||
DECLARE busca SCROLL CURSOR FOR comando
|
||||
OPEN busca
|
||||
|
||||
END DIALOG
|
||||
|
||||
|
||||
|
||||
FETCH FIRST busca INTO g_prtb09.*
|
||||
IF STATUS = NOTFOUND THEN
|
||||
LET numero_msg = 3
|
||||
CALL msg(numero_msg)
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
CALL buscando()
|
||||
MENU "Opcion"
|
||||
COMMAND "Siguiente"
|
||||
FETCH NEXT busca INTO g_prtb09.*
|
||||
IF STATUS = NOTFOUND THEN
|
||||
FETCH LAST busca INTO g_prtb09.*
|
||||
CALL buscando()
|
||||
LET numero_msg = 5
|
||||
CALL msg(numero_msg)
|
||||
END IF
|
||||
|
||||
CALL buscando()
|
||||
|
||||
COMMAND "Anterior"
|
||||
FETCH PREVIOUS busca INTO g_prtb09.*
|
||||
IF STATUS = NOTFOUND THEN
|
||||
FETCH FIRST busca INTO g_prtb09.*
|
||||
CALL buscando()
|
||||
LET numero_msg = 5
|
||||
CALL msg(numero_msg)
|
||||
END IF
|
||||
|
||||
CALL buscando()
|
||||
|
||||
COMMAND "Primero"
|
||||
FETCH FIRST busca INTO g_prtb09.*
|
||||
CALL buscando()
|
||||
|
||||
LET numero_msg = 4
|
||||
CALL msg(numero_msg)
|
||||
|
||||
COMMAND "Ultimo"
|
||||
FETCH LAST busca INTO g_prtb09.*
|
||||
CALL buscando()
|
||||
|
||||
LET numero_msg = 4
|
||||
CALL msg(numero_msg)
|
||||
|
||||
COMMAND "Ver"
|
||||
|
||||
DECLARE busca1 SCROLL CURSOR FOR
|
||||
SELECT a.fecha,a.fech_crea
|
||||
FROM prtb00009 a
|
||||
WHERE a.num_oc = g_prtb09.num_oc
|
||||
AND a.status_t IS NULL
|
||||
ORDER BY 1
|
||||
|
||||
OPEN busca1
|
||||
|
||||
LET idx = 1
|
||||
WHILE STATUS != NOTFOUND
|
||||
FETCH ABSOLUTE idx busca1 INTO arr_prtb09[idx].*
|
||||
IF STATUS = NOTFOUND THEN
|
||||
EXIT WHILE
|
||||
END IF
|
||||
|
||||
|
||||
LET idx = idx + 1
|
||||
END WHILE
|
||||
CALL SET_COUNT(idx - 1)
|
||||
|
||||
DISPLAY ARRAY arr_prtb09 TO s_orden.*
|
||||
|
||||
AFTER ROW
|
||||
LET curr = arr_curr()
|
||||
|
||||
SELECT a.detalle INTO detalle
|
||||
FROM prtb00009 a
|
||||
WHERE a.fecha = arr_prtb09[curr].m_fecha
|
||||
AND a.num_oc = g_prtb09.num_oc
|
||||
AND a.fech_crea = arr_prtb09[curr].hora
|
||||
|
||||
DISPLAY BY NAME detalle
|
||||
|
||||
AFTER DISPLAY
|
||||
EXIT DISPLAY
|
||||
END DISPLAY
|
||||
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = FALSE
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
COMMAND "Retornar"
|
||||
EXIT MENU
|
||||
END MENU
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION buscando()
|
||||
SELECT a.nombre INTO p_nombre FROM vetb00004 a
|
||||
WHERE a.tipo_cliente = g_prtb09.tipo_cliente
|
||||
AND a.sec_cliente = g_prtb09.sec_cliente
|
||||
AND a.status_t IS NULL
|
||||
|
||||
IF g_prtb09.pendiente = "S" THEN
|
||||
LET descrip_pend = "ABIERTA"
|
||||
ELSE
|
||||
LET descrip_pend = "CERRADA"
|
||||
END IF
|
||||
|
||||
DISPLAY BY NAME g_prtb09.*,p_nombre,descrip_pend
|
||||
|
||||
END FUNCTION
|
||||
@@ -0,0 +1,121 @@
|
||||
{
|
||||
==============================================================================
|
||||
PROGRAMA : PRGBRP000
|
||||
SISTEMA : SISTEMA DE PRODUCCION
|
||||
PROCESO : DEFINICION DE VARIABLES GLOBALES
|
||||
AUTOR : TADEO A. FERRERAS F.
|
||||
FECHA : SEPT. 14, 1994.
|
||||
==============================================================================
|
||||
}
|
||||
SCHEMA decomarmol
|
||||
|
||||
GLOBALS
|
||||
|
||||
|
||||
DEFINE cttb01 RECORD LIKE cttb00001.*,
|
||||
p_compania RECORD LIKE companias.*
|
||||
DEFINE prtb02 RECORD LIKE prtb00002.*
|
||||
DEFINE prtb03 RECORD LIKE prtb00003.*
|
||||
DEFINE prtb05 RECORD LIKE prtb00005.*
|
||||
DEFINE prtb06 RECORD LIKE prtb00006.*
|
||||
DEFINE prtb07 RECORD LIKE prtb00007.*
|
||||
DEFINE prtb08 RECORD LIKE prtb00012.*,
|
||||
historico CHAR(1),
|
||||
actualiza_log_produccion,actualiza_produccion VARCHAR(10)
|
||||
|
||||
|
||||
DEFINE handler om.SaxDocumentHandler, -- return value from fgl_report_commitCurrentSettings()
|
||||
r_filename STRING, -- filename of Report Design Document including .4rp extension
|
||||
r_output STRING, -- output format option
|
||||
preview INTEGER -- TRUE/FALSE, to set preview option
|
||||
|
||||
DEFINE prtb09 RECORD
|
||||
num_oc INT,
|
||||
fecha CHAR(10),
|
||||
fecha_fabricacion CHAR(10),
|
||||
pendiente char(1),
|
||||
detalle char(300),
|
||||
status_t CHAR(1),
|
||||
us_crea CHAR(50),
|
||||
fech_crea DATETIME YEAR TO MINUTE,
|
||||
us_mod CHAR(50),
|
||||
fech_mod DATETIME YEAR TO MINUTE
|
||||
END RECORD
|
||||
DEFINE prtb16 RECORD LIKE prtb00016.*,
|
||||
pcosto_labor ARRAY[50] OF DEC(12,5),pcosto_gasto ARRAY[50] OF DEC(12,5),
|
||||
cmd,imprime,copia,copia1 CHAR(150),archivo1,archivo CHAR(80),
|
||||
impresor SMALLINT,
|
||||
copiacorreo DYNAMIC ARRAY OF CHAR(200),
|
||||
copiaemail CHAR(500)
|
||||
|
||||
DEFINE cliente_dir RECORD LIKE vetb00005.*,
|
||||
usuarios,clave CHAR(50)
|
||||
DEFINE arr_clientes DYNAMIC ARRAY OF RECORD
|
||||
tipo_cliente LIKE vetb00004.tipo_cliente,
|
||||
sec_cliente LIKE vetb00004.sec_cliente,
|
||||
nombre LIKE vetb00004.nombre
|
||||
END RECORD
|
||||
|
||||
DEFINE arrprtb08 ARRAY[30] OF RECORD
|
||||
cod_n_c LIKE prtb00008.cod_n,
|
||||
cod_grupo_c LIKE prtb00008.cod_grupo,
|
||||
cod_tipo_c LIKE prtb00008.cod_tipo,
|
||||
cod_sec_c LIKE prtb00008.cod_sec,
|
||||
cantidad_c LIKE prtb00008.cantidad ,
|
||||
descrip_esp_c LIKE intb00001.descrip_esp,
|
||||
unidad_c LIKE intb00001.unidad_med
|
||||
END RECORD
|
||||
|
||||
DEFINE nombre_dia ARRAY[7] OF char(10)
|
||||
|
||||
DEFINE empleados ARRAY [200] OF RECORD
|
||||
cod_emp_sec LIKE adtb00003.num_emp,
|
||||
descrip6 CHAR(65)
|
||||
END RECORD
|
||||
DEFINE arr_hora ARRAY[8] OF RECORD
|
||||
fecha DATE,
|
||||
hn_ind DECIMAL(5,2),
|
||||
he_ind DECIMAL(5,2)
|
||||
END RECORD
|
||||
|
||||
DEFINE arr_empleados ARRAY [200] OF RECORD
|
||||
num_emp LIKE adtb00003.num_emp,
|
||||
nom1_emp LIKE adtb00003.nom1_emp,
|
||||
apell1_emp LIKE adtb00003.apell1_emp
|
||||
END RECORD
|
||||
|
||||
DEFINE pilas ARRAY [200] OF RECORD
|
||||
cod_n LIKE intb00001.cod_n,
|
||||
cod_grupo LIKE intb00001.cod_grupo,
|
||||
cod_tipo LIKE intb00001.cod_tipo,
|
||||
cod_sec LIKE intb00001.cod_sec,
|
||||
descrip_esp LIKE intb00001.descrip_esp
|
||||
END RECORD
|
||||
|
||||
DEFINE nom_dpto,nom_emp CHAR(30)
|
||||
DEFINE nom1_emp,apell1_emp CHAR(14)
|
||||
DEFINE tipo_papel,curr,curr1,fila,scr_l,idx,idx1,idx2,j,k INTEGER
|
||||
DEFINE salir,salir1,salir2,sali3 CHAR(1),
|
||||
opt,opt1 CHAR(3)
|
||||
|
||||
DEFINE opcion,respuesta CHAR(3)
|
||||
DEFINE opcion1,impresion,verdad,identifica,existe CHAR(1)
|
||||
DEFINE criterio,selec2,selec3,selec,selec1 STRING
|
||||
|
||||
|
||||
DEFINE normal,negrilla_on,negrillas_of,comp_on,comp_off,doce,doble_on,doble_off
|
||||
CHAR(3)
|
||||
|
||||
DEFINE hora CHAR(5),
|
||||
l SMALLINT
|
||||
|
||||
DEFINE numero_msg LIKE msgtable.cod_msg
|
||||
DEFINE bandera,otrab SMALLINT
|
||||
DEFINE p_fechas,comp_fech,comp_fech1 DATE
|
||||
DEFINE mes_control CHAR(2)
|
||||
DEFINE mes_calc,dia SMALLINT
|
||||
DEFINE fecha_c DATE
|
||||
DEFINE c_ano,a_ano CHAR(4)
|
||||
DEFINE p_user CHAR(9)
|
||||
|
||||
END GLOBALS
|
||||
@@ -0,0 +1,366 @@
|
||||
{
|
||||
------------------------------------------------------------------
|
||||
PROGRAMA : PRPRMT001
|
||||
OBJETIVO : Capturar, Modificar, Eliminar registros de la
|
||||
Tabla de Periodo de Semana
|
||||
PROGRAMPROR : Tpreo A. Ferreras F.
|
||||
FECHA REALIZACION : Sept., 14, 1994.
|
||||
------------------------------------------------------------------
|
||||
}
|
||||
GLOBALS "prprgb000.4gl"
|
||||
DEFINE dia_sem SMALLINT
|
||||
MAIN
|
||||
DEFER INTERRUPT
|
||||
CALL ARG_VAL(1) RETURNING usuarios
|
||||
CALL ARG_VAL(2) RETURNING clave
|
||||
|
||||
CONNECT to "decomarmol" USER usuarios USING clave
|
||||
|
||||
|
||||
CALL prprmt001()
|
||||
END MAIN
|
||||
|
||||
FUNCTION prprmt001()
|
||||
CLEAR SCREEN
|
||||
OPTIONS
|
||||
FORM LINE 9,
|
||||
ERROR LINE 23,
|
||||
COMMENT LINE 21
|
||||
|
||||
OPEN FORM prfmmt001 FROM "prfmmt001"
|
||||
DISPLAY FORM prfmmt001
|
||||
|
||||
MENU "OPCIONES"
|
||||
COMMAND "Adicionar"
|
||||
"<Esc> Adiciona Registro <Supr> Cancela Operacion"
|
||||
let int_flag = false
|
||||
CLEAR FORM
|
||||
CALL prpcpr001()
|
||||
COMMAND "Consultar-modificar"
|
||||
"<Esc> Realiza Busqueda <Supr> Cancela Operacion"
|
||||
let int_flag = false
|
||||
CALL prpcmf001()
|
||||
COMMAND "Salir" "Retorna Menu Anterior"
|
||||
EXIT MENU
|
||||
END MENU
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION prpcpr001()
|
||||
# WHENEVER ERROR CONTINUE
|
||||
|
||||
## CAPTURA LOS DATOS QUE VA A CONTENER EL REGISTRO
|
||||
INPUT BY NAME prtb02.*
|
||||
|
||||
## VERIFICA QUE EL CODIGO NO EXISTA EN EL CATALOGO DE DEPARTAMENTO. SI EXISTE,
|
||||
## ENTONCES DESPLEGA LOS DATOS DEL REGISTRO EXISTENTE.
|
||||
|
||||
BEFORE FIELD num_semana
|
||||
SELECT MAX(num_semana) + 1 INTO prtb02.num_semana FROM prtb00002
|
||||
DISPLAY BY NAME prtb02.num_semana
|
||||
AFTER FIELD ano
|
||||
IF LENGTH(prtb02.ano) <> 4 THEN
|
||||
CALL msg(77)
|
||||
NEXT FIELD ano
|
||||
END IF
|
||||
AFTER FIELD num_semana
|
||||
IF prtb02.num_semana IS NULL THEN
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD num_semana
|
||||
ELSE
|
||||
SELECT a.* INTO prtb02.* FROM prtb00002 a
|
||||
WHERE a.num_semana = prtb02.num_semana
|
||||
|
||||
IF status >= 0 THEN
|
||||
IF status != NOTFOUND THEN
|
||||
IF prtb02.status_t = "E" THEN
|
||||
LET numero_msg = 36
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD num_semana
|
||||
END IF
|
||||
|
||||
DISPLAY BY NAME prtb02.*
|
||||
LET numero_msg = 12
|
||||
CALL msg(numero_msg)
|
||||
LET prtb02.semana_del = NULL
|
||||
NEXT FIELD num_semana
|
||||
END IF
|
||||
ELSE
|
||||
CALL integridad()
|
||||
IF bandera = 1 THEN
|
||||
CLEAR SCREEN
|
||||
RETURN
|
||||
END IF
|
||||
END IF
|
||||
END IF
|
||||
AFTER FIELD mes
|
||||
IF prtb02.mes is null THEN
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD mes
|
||||
END IF
|
||||
|
||||
BEFORE FIELD semana_del
|
||||
SELECT MAX(a.semana_al) + 1 INTO prtb02.semana_del FROM prtb00002 a
|
||||
DISPLAY BY NAME prtb02.semana_del
|
||||
|
||||
AFTER FIELD semana_del
|
||||
IF prtb02.semana_del IS NULL THEN
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD semana_del
|
||||
END IF
|
||||
|
||||
SELECT MAX(a.semana_del) INTO fecha_c FROM prtb00002 a
|
||||
WHERE a.num_semana < prtb02.num_semana AND
|
||||
a.status_t IS NULL
|
||||
|
||||
IF fecha_c > prtb02.semana_del THEN
|
||||
LET numero_msg = 300
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD semana_del
|
||||
END IF
|
||||
{
|
||||
LET dia_sem = WEEKDAY(prtb02.semana_del)
|
||||
|
||||
IF dia_sem != 6 THEN
|
||||
LET numero_msg = 220
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD semana_del
|
||||
END IF
|
||||
}
|
||||
BEFORE FIELD semana_al
|
||||
LET prtb02.semana_al = prtb02.semana_del + 6
|
||||
DISPLAY BY NAME prtb02.semana_al
|
||||
|
||||
AFTER FIELD semana_al
|
||||
IF prtb02.semana_al IS NULL THEN
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD semana_al
|
||||
END IF
|
||||
|
||||
IF prtb02.semana_del > prtb02.semana_al THEN
|
||||
LET numero_msg = 53
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD semana_del
|
||||
END IF
|
||||
|
||||
LET fecha_c = NULL
|
||||
SELECT MAX(a.semana_al) INTO fecha_c FROM prtb00002 a
|
||||
WHERE a.num_semana < prtb02.num_semana AND
|
||||
a.status_t IS NULL
|
||||
|
||||
IF fecha_c > prtb02.semana_al THEN
|
||||
LET numero_msg = 300
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD semana_al
|
||||
END IF
|
||||
LET dia_sem = WEEKDAY(prtb02.semana_al)
|
||||
{ IF dia_sem != 5 THEN
|
||||
LET numero_msg = 221
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD semana_del
|
||||
END IF}
|
||||
END INPUT
|
||||
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = FALSE
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
|
||||
INSERT INTO prtb00002 VALUES (prtb02.*)
|
||||
UPDATE prtb00002 SET (us_crea,fech_crea) = (SUSER_SNAME(),GETDATE())
|
||||
WHERE @num_semana = prtb02.num_semana
|
||||
|
||||
LET numero_msg = 1
|
||||
CALL msg(numero_msg)
|
||||
CLEAR FORM
|
||||
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION prpcmf001()
|
||||
## AQUI SE PREPARA PARA LA CAPTURA DEL CRITERIO DE SELECCION PARA LA
|
||||
## MODIFICACION DE REGISTROS
|
||||
|
||||
# WHENEVER ERROR CONTINUE
|
||||
CONSTRUCT BY NAME criterio ON a.num_semana,a.ano,a.mes,a.semana_del,
|
||||
a.semana_al
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = FALSE
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
LET SELEC = " SELECT UNIQUE a.* FROM prtb00002 a ",
|
||||
" WHERE a.status_t is null and ",criterio clipped," ORDER BY a.num_semana"
|
||||
|
||||
PREPARE busca FROM selec
|
||||
CALL integridad()
|
||||
|
||||
IF bandera = 1 THEN
|
||||
CLEAR SCREEN
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
DECLARE dato SCROLL CURSOR FOR busca
|
||||
OPEN dato
|
||||
|
||||
FETCH FIRST dato INTO prtb02.*
|
||||
|
||||
IF status >= 0 THEN
|
||||
IF STATUS = NOTFOUND THEN
|
||||
LET numero_msg = 3
|
||||
CALL msg(numero_msg)
|
||||
RETURN
|
||||
END IF
|
||||
ELSE
|
||||
CALL integridad()
|
||||
|
||||
IF bandera = 1 THEN
|
||||
CLEAR SCREEN
|
||||
RETURN
|
||||
END IF
|
||||
END IF
|
||||
DISPLAY BY NAME prtb02.*
|
||||
|
||||
MENU "OPCIONES "
|
||||
COMMAND "Siguiente"
|
||||
"Presenta en pantalla el proximo registro encontrpro"
|
||||
FETCH NEXT dato INTO prtb02.*
|
||||
IF STATUS = NOTFOUND THEN
|
||||
LET numero_msg = 4
|
||||
CALL msg(numero_msg)
|
||||
END IF
|
||||
DISPLAY BY NAME prtb02.*
|
||||
|
||||
COMMAND "Anterior"
|
||||
"Presenta en pantalla el registro anterior encontrpro"
|
||||
FETCH PREVIOUS dato INTO prtb02.*
|
||||
IF STATUS = NOTFOUND THEN
|
||||
LET numero_msg = 5
|
||||
CALL msg(numero_msg)
|
||||
END IF
|
||||
DISPLAY BY NAME prtb02.*
|
||||
|
||||
COMMAND "Primero"
|
||||
"Presenta en pantalla el primer registro encontrpro"
|
||||
FETCH FIRST dato INTO prtb02.*
|
||||
DISPLAY BY NAME prtb02.*
|
||||
LET numero_msg = 5
|
||||
CALL msg(numero_msg)
|
||||
|
||||
COMMAND "Ultimo"
|
||||
"Presenta en pantalla el ultimo registro encontrpro"
|
||||
FETCH LAST dato INTO prtb02.*
|
||||
DISPLAY BY NAME prtb02.*
|
||||
LET numero_msg = 4
|
||||
CALL msg(numero_msg)
|
||||
|
||||
COMMAND "Escoger"
|
||||
"<Esc> Actualiza Registro <Supr> Cancela Operacion"
|
||||
IF prtb02.status_t = "E" THEN
|
||||
LET numero_msg = 39
|
||||
CALL msg(numero_msg)
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
## SE SELECCIONAN LOS CAMPOS QUE SON MODIFICABLES
|
||||
INPUT BY NAME prtb02.ano,
|
||||
prtb02.mes,
|
||||
prtb02.semana_del,
|
||||
prtb02.semana_al,
|
||||
prtb02.descripcion,
|
||||
prtb02.status_t,
|
||||
prtb02.us_crea,
|
||||
prtb02.fech_crea,
|
||||
prtb02.us_mod,
|
||||
prtb02.fech_mod WITHOUT DEFAULTS
|
||||
|
||||
AFTER FIELD semana_del
|
||||
IF prtb02.semana_del IS NULL THEN
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD semana_del
|
||||
END IF
|
||||
{
|
||||
LET dia_sem = WEEKDAY(prtb02.semana_del)
|
||||
IF dia_sem != 6 THEN
|
||||
LET numero_msg = 220
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD semana_del
|
||||
END IF
|
||||
}
|
||||
BEFORE FIELD semana_al
|
||||
LET prtb02.semana_al = prtb02.semana_del + 6
|
||||
DISPLAY BY NAME prtb02.semana_al
|
||||
|
||||
AFTER FIELD semana_al
|
||||
IF prtb02.semana_al IS NULL THEN
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD semana_al
|
||||
END IF
|
||||
|
||||
IF prtb02.semana_del > prtb02.semana_al THEN
|
||||
LET numero_msg = 53
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD semana_del
|
||||
END IF
|
||||
|
||||
LET dia_sem = WEEKDAY(prtb02.semana_al)
|
||||
{
|
||||
IF dia_sem != 5 THEN
|
||||
LET numero_msg = 221
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD semana_del
|
||||
END IF}
|
||||
#### Verifica si el usuario presiono la tecla <Supr>
|
||||
|
||||
END INPUT
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = FALSE
|
||||
CLEAR FORM
|
||||
RETURN
|
||||
END IF
|
||||
CALL integridad()
|
||||
|
||||
IF bandera = 1 THEN
|
||||
CLEAR SCREEN
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
## AQUI SE ACTUALIZA EL REGISTRO
|
||||
UPDATE prtb00002 SET mes = prtb02.mes,
|
||||
ano = prtb02.ano,
|
||||
semana_del = prtb02.semana_del,
|
||||
semana_al = prtb02.semana_al,
|
||||
descripcion = prtb02.descripcion,
|
||||
us_mod = SUSER_SNAME(),
|
||||
fech_mod = GETDATE()
|
||||
WHERE @num_semana = prtb02.num_semana
|
||||
|
||||
LET numero_msg = 13
|
||||
CALL msg(numero_msg)
|
||||
|
||||
|
||||
## AQUI SE ELIMINAN LOS REGISTROS
|
||||
COMMAND KEY ("L") "eLiminar"
|
||||
UPDATE prtb00002 SET status_t = "E"
|
||||
WHERE a.num_semana = prtb02.num_semana
|
||||
|
||||
LET numero_msg = 39
|
||||
CALL msg(numero_msg)
|
||||
|
||||
COMMAND "Retornar"
|
||||
"Retorna al menu anterior"
|
||||
CLEAR FORM
|
||||
EXIT MENU
|
||||
END MENU
|
||||
END FUNCTION
|
||||
@@ -0,0 +1,386 @@
|
||||
{
|
||||
-----------------------------------------------------------------------------
|
||||
PROGRAMA : PRPRMT002
|
||||
OBJETIVO : Registro de Horas en Personal Administrativo
|
||||
REALIZADO POR : Tadeo A. Ferreras F.
|
||||
FECHA : Sept. 14, 1994
|
||||
-----------------------------------------------------------------------------
|
||||
}
|
||||
GLOBALS "prprgb000.4gl"
|
||||
|
||||
DEFINE i,valor_cheque1,p_num_doc,aplicar INTEGER
|
||||
DEFINE valor_nc,nc_pend,valor_ctrl,p_total,val_pen,valor2 DECIMAL(12,2)
|
||||
DEFINE fecha1 DATE
|
||||
DEFINE nombre_cta CHAR(30)
|
||||
DEFINE tipo_doc1 CHAR(2)
|
||||
DEFINE opc CHAR(1)
|
||||
|
||||
####### Funcion para agregar un recibo de pago
|
||||
|
||||
FUNCTION prprmt002()
|
||||
|
||||
OPTIONS
|
||||
FORM LINE 8,
|
||||
ERROR LINE 24,
|
||||
COMMENT LINE 22,
|
||||
PROMPT LINE 23
|
||||
|
||||
CALL pantalla()
|
||||
OPEN FORM prfmmt002 FROM "prfmmt002"
|
||||
DISPLAY FORM prfmmt002
|
||||
DISPLAY "prprmt002" AT 4,3
|
||||
DISPLAY "Registro Horas del Personal No Prod." AT 6,22
|
||||
|
||||
MENU "OPCION"
|
||||
COMMAND "Adicionar"
|
||||
"<Esc> Adiciona Registro <Supr> Cancela Operacion"
|
||||
CLEAR FORM
|
||||
CALL prpcad002()
|
||||
COMMAND "Consultar-modificar"
|
||||
"<Esc> Busca Registro <Supr> Cancela Operacion"
|
||||
CALL prpcmf002()
|
||||
COMMAND "Salir"
|
||||
EXIT MENU
|
||||
END MENU
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION prpcad002()
|
||||
|
||||
INPUT BY NAME prtb03.num_semana,prtb03.departamento,prtb03.num_emp
|
||||
BEFORE FIELD num_semana
|
||||
LET prtb03.num_semana = prtb02.num_semana
|
||||
DISPLAY BY NAME prtb03.num_semana
|
||||
|
||||
AFTER FIELD num_semana
|
||||
IF prtb02.num_semana IS NULL THEN
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD num_semana
|
||||
END IF
|
||||
|
||||
SELECT a.semana_del,a.semana_al INTO prtb02.semana_del,prtb02.semana_al
|
||||
FROM prtb00002 a
|
||||
WHERE a.status_t IS NULL AND a.num_semana = prtb03.num_semana
|
||||
|
||||
IF STATUS = NOTFOUND THEN
|
||||
LET numero_msg = 3
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD num_semana
|
||||
END IF
|
||||
|
||||
DISPLAY BY NAME prtb02.semana_del,prtb02.semana_al
|
||||
LET prtb02.num_semana = prtb03.num_semana
|
||||
NEXT FIELD num_emp
|
||||
|
||||
AFTER FIELD num_emp
|
||||
IF prtb03.num_emp IS NULL THEN
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD num_emp
|
||||
END IF
|
||||
|
||||
SELECT a.nom1_emp,a.apell1_emp,a.departamento,b.nom_dpto
|
||||
INTO nom1_emp,apell1_emp,prtb03.departamento,nom_dpto
|
||||
FROM adtb00003 a,adtb00001 b
|
||||
WHERE a.num_emp=prtb03.num_emp AND (a.status_t IS NULL OR
|
||||
a.status_t IN("T","I")) AND a.departamento = b.departamento
|
||||
|
||||
IF STATUS = NOTFOUND THEN
|
||||
LET numero_msg = 3
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD num_emp
|
||||
END IF
|
||||
|
||||
LET nom_emp = nom1_emp CLIPPED," ",apell1_emp CLIPPED
|
||||
|
||||
DISPLAY BY NAME nom_emp,prtb03.departamento,nom_dpto
|
||||
|
||||
SELECT UNIQUE a.num_semana,a.departamento,a.num_emp,b.nom_dpto
|
||||
FROM prtb00003 a,adtb00001 b
|
||||
WHERE a.departamento=b.departamento AND a.departamento=prtb03.departamento AND
|
||||
a.num_emp = prtb03.num_emp AND a.num_semana = prtb03.num_semana AND
|
||||
a.status_t IS NULL
|
||||
|
||||
IF STATUS != NOTFOUND THEN
|
||||
LET numero_msg = 12
|
||||
CALL msg(numero_msg)
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
END INPUT
|
||||
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = FALSE
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
LET fecha1 = prtb02.semana_del
|
||||
FOR i = 1 TO 7
|
||||
LET arr_hora[i].fecha = fecha1
|
||||
LET arr_hora[i].hn_ind= 0
|
||||
LET arr_hora[i].he_ind= 0
|
||||
LET fecha1 = fecha1 + 1
|
||||
END FOR
|
||||
CALL SET_COUNT(i)
|
||||
|
||||
INPUT ARRAY arr_hora WITHOUT DEFAULTS FROM sc_hora.*
|
||||
BEFORE ROW
|
||||
LET curr = ARR_CURR()
|
||||
LET fila = SCR_LINE()
|
||||
|
||||
AFTER FIELD fecha
|
||||
IF arr_hora[curr].fecha > prtb02.semana_al OR
|
||||
arr_hora[curr].fecha < prtb02.semana_del OR
|
||||
arr_hora[curr].fecha > today THEN
|
||||
LET numero_msg = 99
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD fecha
|
||||
END IF
|
||||
END INPUT
|
||||
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = FALSE
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
DELETE FROM prtb00003
|
||||
WHERE @num_semana = prtb03.num_semana AND
|
||||
@departamento= prtb03.departamento AND
|
||||
@num_emp = prtb03.num_emp
|
||||
|
||||
FOR j = 1 TO 7
|
||||
|
||||
IF arr_hora[j].hn_ind IS NULL THEN
|
||||
LET arr_hora[curr].hn_ind = 0
|
||||
END IF
|
||||
IF arr_hora[j].he_ind IS NULL THEN
|
||||
LET arr_hora[curr].he_ind = 0
|
||||
END IF
|
||||
|
||||
IF arr_hora[j].hn_ind > 0 OR arr_hora[j].he_ind > 0 THEN
|
||||
INSERT INTO prtb00003 VALUES(prtb03.num_semana,prtb03.departamento,
|
||||
prtb03.num_emp,arr_hora[j].fecha,
|
||||
arr_hora[j].hn_ind,arr_hora[j].he_ind,
|
||||
NULL,USER,CURRENT,NULL,NULL)
|
||||
END IF
|
||||
END FOR
|
||||
|
||||
LET numero_msg = 1
|
||||
CALL msg(numero_msg)
|
||||
|
||||
FOR j = 1 TO 7
|
||||
LET arr_hora[j].fecha = NULL
|
||||
LET arr_hora[j].hn_ind = NULL
|
||||
LET arr_hora[j].he_ind = NULL
|
||||
END FOR
|
||||
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION prpcmf002()
|
||||
|
||||
INPUT BY NAME prtb03.num_semana
|
||||
AFTER FIELD num_semana
|
||||
IF prtb02.num_semana IS NULL THEN
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD num_semana
|
||||
END IF
|
||||
|
||||
SELECT a.semana_del,a.semana_al INTO prtb02.semana_del,prtb02.semana_al
|
||||
FROM prtb00002 a
|
||||
WHERE a.status_t IS NULL AND a.num_semana = prtb03.num_semana
|
||||
|
||||
IF STATUS = NOTFOUND THEN
|
||||
LET numero_msg = 3
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD num_semana
|
||||
END IF
|
||||
|
||||
DISPLAY BY NAME prtb02.semana_del,prtb02.semana_al
|
||||
END INPUT
|
||||
|
||||
CONSTRUCT CRITERIO ON a.departamento,a.num_emp FROM departamento,num_emp
|
||||
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = FALSE
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
LET selec =
|
||||
"SELECT UNIQUE a.departamento,a.num_emp,b.nom_dpto,c.nom1_emp,c.apell1_emp ",
|
||||
"FROM prtb00003 a,adtb00001 b,adtb00003 c ",
|
||||
"WHERE a.departamento = b.departamento AND a.num_emp = c.num_emp AND ",
|
||||
" a.status_t IS NULL AND a.num_semana = ? AND ",criterio CLIPPED,
|
||||
" ORDER BY 1,2 "
|
||||
|
||||
PREPARE comando FROM selec
|
||||
DECLARE busco SCROLL CURSOR FOR comando
|
||||
OPEN busco USING prtb03.num_semana
|
||||
|
||||
FETCH FIRST busco INTO prtb03.departamento,prtb03.num_emp,nom_dpto,
|
||||
nom1_emp,apell1_emp
|
||||
|
||||
IF STATUS = NOTFOUND THEN
|
||||
LET numero_msg = 3
|
||||
CALL msg(numero_msg)
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
LET nom_emp = nom1_emp CLIPPED," ",apell1_emp CLIPPED
|
||||
|
||||
DISPLAY BY NAME prtb03.departamento,prtb03.num_emp,nom_dpto,nom_emp
|
||||
|
||||
MENU "Mant."
|
||||
COMMAND "Siguiente"
|
||||
"Ver Proximo registro que satisface condicion"
|
||||
|
||||
FETCH NEXT busco INTO prtb03.departamento,prtb03.num_emp,nom_dpto,
|
||||
nom1_emp,apell1_emp
|
||||
|
||||
IF STATUS = NOTFOUND THEN
|
||||
LET numero_msg = 4
|
||||
CALL msg(numero_msg)
|
||||
END IF
|
||||
|
||||
LET nom_emp = nom1_emp CLIPPED," ",apell1_emp CLIPPED
|
||||
|
||||
DISPLAY BY NAME prtb03.departamento,prtb03.num_emp,nom_dpto,nom_emp
|
||||
|
||||
COMMAND "Anterior"
|
||||
"Ver registro anterior que satisface condicion"
|
||||
|
||||
FETCH PREVIOUS busco INTO prtb03.departamento,prtb03.num_emp,nom_dpto,
|
||||
nom1_emp,apell1_emp
|
||||
|
||||
IF STATUS = NOTFOUND THEN
|
||||
LET numero_msg = 5
|
||||
CALL msg(numero_msg)
|
||||
END IF
|
||||
|
||||
LET nom_emp = nom1_emp CLIPPED," ",apell1_emp CLIPPED
|
||||
|
||||
DISPLAY BY NAME prtb03.departamento,prtb03.num_emp,nom_dpto,nom_emp
|
||||
|
||||
COMMAND "Primero"
|
||||
"Ver Primer registro que satisface condicion"
|
||||
|
||||
FETCH FIRST busco INTO prtb03.departamento,prtb03.num_emp,nom_dpto,
|
||||
nom1_emp,apell1_emp
|
||||
|
||||
LET numero_msg = 5
|
||||
CALL msg(numero_msg)
|
||||
|
||||
LET nom_emp = nom1_emp CLIPPED," ",apell1_emp CLIPPED
|
||||
|
||||
DISPLAY BY NAME prtb03.departamento,prtb03.num_emp,nom_dpto,nom_emp
|
||||
|
||||
COMMAND "Ultimo"
|
||||
"Ver Ultimo registro que satisface condicion"
|
||||
|
||||
FETCH LAST busco INTO prtb03.departamento,prtb03.num_emp,nom_dpto,
|
||||
nom1_emp,apell1_emp
|
||||
|
||||
LET numero_msg = 4
|
||||
CALL msg(numero_msg)
|
||||
|
||||
LET nom_emp = nom1_emp CLIPPED," ",apell1_emp CLIPPED
|
||||
|
||||
DISPLAY BY NAME prtb03.departamento,prtb03.num_emp,nom_dpto,nom_emp
|
||||
|
||||
COMMAND "Escoger"
|
||||
"Ver y/o registro que satisface condicion"
|
||||
|
||||
DECLARE busca2 CURSOR FOR
|
||||
SELECT a.fecha,a.hn_ind,a.he_ind FROM prtb00003 a
|
||||
WHERE a.num_semana = prtb03.num_semana AND
|
||||
a.departamento = prtb03.departamento AND
|
||||
a.num_emp = prtb03.num_emp AND
|
||||
a.status_t IS NULL ORDER BY 1
|
||||
|
||||
LET idx = 1
|
||||
LET idx1 = 0
|
||||
FOREACH busca2 INTO arr_hora[idx].*
|
||||
LET idx = idx + 1
|
||||
LET idx1= idx1+ 1
|
||||
END FOREACH
|
||||
CALL SET_COUNT(idx -1)
|
||||
|
||||
INPUT ARRAY arr_hora WITHOUT DEFAULTS FROM sc_hora.*
|
||||
BEFORE ROW
|
||||
LET curr = ARR_CURR()
|
||||
LET fila = SCR_LINE()
|
||||
|
||||
AFTER FIELD fecha
|
||||
IF arr_hora[curr].fecha > prtb02.semana_al OR
|
||||
arr_hora[curr].fecha < prtb02.semana_del OR
|
||||
arr_hora[curr].fecha > today THEN
|
||||
LET numero_msg = 99
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD fecha
|
||||
END IF
|
||||
END INPUT
|
||||
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = FALSE
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
PROMPT "Toda La Informacion Esta Correcta [S/N]...?" FOR CHAR opcion1
|
||||
LET opcion1 = UPSHIFT(opcion1)
|
||||
IF opcion1 = "S" THEN
|
||||
DELETE FROM prtb00003
|
||||
WHERE @num_semana = prtb03.num_semana AND
|
||||
@departamento= prtb03.departamento AND
|
||||
@num_emp = prtb03.num_emp
|
||||
|
||||
FOR j = 1 TO 7
|
||||
|
||||
IF arr_hora[j].hn_ind IS NULL THEN
|
||||
LET arr_hora[curr].hn_ind = 0
|
||||
END IF
|
||||
IF arr_hora[j].he_ind IS NULL THEN
|
||||
LET arr_hora[curr].he_ind = 0
|
||||
END IF
|
||||
|
||||
IF arr_hora[j].hn_ind > 0 OR arr_hora[j].he_ind > 0 THEN
|
||||
INSERT INTO prtb00003 VALUES(prtb03.num_semana,prtb03.departamento,
|
||||
prtb03.num_emp,arr_hora[j].fecha,
|
||||
arr_hora[j].hn_ind, arr_hora[j].he_ind,
|
||||
NULL,USER,CURRENT,NULL,NULL)
|
||||
END IF
|
||||
END FOR
|
||||
END IF
|
||||
|
||||
FOR j = 1 TO 7
|
||||
LET arr_hora[j].fecha = NULL
|
||||
LET arr_hora[j].hn_ind = NULL
|
||||
LET arr_hora[j].he_ind = NULL
|
||||
|
||||
END FOR
|
||||
|
||||
LET numero_msg = 13
|
||||
CALL msg(numero_msg)
|
||||
|
||||
COMMAND KEY ("L") "eLiminar"
|
||||
"Opcion para eliminar registro que satisface condicion"
|
||||
|
||||
UPDATE prtb00003 SET (status_t,us_mod,fech_mod) = ("E",USER,CURRENT)
|
||||
WHERE @num_semana = prtb03.num_semana AND
|
||||
@departamento= prtb03.departamento AND
|
||||
@num_emp = prtb03.num_emp
|
||||
|
||||
LET numero_msg = 39
|
||||
CALL msg(numero_msg)
|
||||
COMMAND "Retornar"
|
||||
CLEAR FORM
|
||||
EXIT MENU
|
||||
END MENU
|
||||
END FUNCTION
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,257 @@
|
||||
{
|
||||
------------------------------------------------------------------
|
||||
PROGRAMA : PRPRMT004
|
||||
OBJETIVO : Capturar, Modificar, Eliminar registros de la
|
||||
Tabla de Operacion.
|
||||
PROGRAMADOR : Tadeo A. Ferreras F.
|
||||
FECHA REALIZACION : Junio 14, 1993.
|
||||
------------------------------------------------------------------
|
||||
}
|
||||
GLOBALS "prprgb000.4gl"
|
||||
|
||||
FUNCTION prprmt004()
|
||||
# WHENEVER ERROR CONTINUE
|
||||
CLEAR SCREEN
|
||||
OPTIONS
|
||||
FORM LINE 9,
|
||||
ERROR LINE 23,
|
||||
COMMENT LINE 21
|
||||
|
||||
OPEN FORM ctfmmt005 FROM "prfmmt005"
|
||||
DISPLAY FORM ctfmmt005
|
||||
CALL pantalla()
|
||||
DISPLAY "prprmt004" AT 4,3
|
||||
DISPLAY "Catalogo de Operacion" AT 6,29
|
||||
|
||||
MENU "OPCIONES"
|
||||
COMMAND "Adicionar"
|
||||
"<Esc> Adiciona Registro <Supr> Cancela Operacion"
|
||||
LET int_flag = FALSE
|
||||
CLEAR FORM
|
||||
CALL prpcad004()
|
||||
COMMAND "Consultar-modificar"
|
||||
"<Esc> Realiza Busqueda <Supr> Cancela Operacion"
|
||||
LET INT_FLAG = FALSE
|
||||
CALL prpcmf004()
|
||||
COMMAND "Salir" "Retorna Menu Anterior"
|
||||
EXIT MENU
|
||||
END MENU
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION prpcad004()
|
||||
#WHENEVER ERROR CONTINUE
|
||||
## Captura los datos que va a contener el registro
|
||||
|
||||
LET int_flag = false
|
||||
|
||||
LABEL vuelve:
|
||||
INPUT BY NAME prtb05.*
|
||||
|
||||
AFTER FIELD codigo
|
||||
IF prtb05.codigo is null then
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD codigo
|
||||
END IF
|
||||
|
||||
LET prtb05.descripcion = null
|
||||
LET prtb05.status_t = null
|
||||
LET prtb05.us_crea = null
|
||||
LET prtb05.fech_crea = null
|
||||
LET prtb05.us_mod = null
|
||||
LET prtb05.fech_mod = null
|
||||
DISPLAY BY NAME prtb05.*
|
||||
|
||||
SELECT a.* INTO prtb05.* FROM prtb00005 a
|
||||
WHERE a.codigo = prtb05.codigo
|
||||
|
||||
IF prtb05.status_t = "E" THEN
|
||||
LET numero_msg = 36
|
||||
CALL msg(numero_msg)
|
||||
DISPLAY BY NAME prtb05.*
|
||||
NEXT FIELD codigo
|
||||
END IF
|
||||
|
||||
IF status != notfound THEN
|
||||
LET numero_msg = 12
|
||||
CALL msg(numero_msg)
|
||||
DISPLAY BY NAME prtb05.*
|
||||
NEXT FIELD codigo
|
||||
END IF
|
||||
|
||||
AFTER FIELD descripcion
|
||||
IF prtb05.descripcion IS NULL THEN
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD descripcion
|
||||
END IF
|
||||
|
||||
AFTER INPUT
|
||||
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = FALSE
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
IF prtb05.codigo is null then
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD codigo
|
||||
END IF
|
||||
|
||||
SELECT a.* INTO prtb05.* FROM prtb00005 a
|
||||
WHERE a.codigo = prtb05.codigo
|
||||
|
||||
IF prtb05.status_t = "E" THEN
|
||||
LET numero_msg = 36
|
||||
CALL msg(numero_msg)
|
||||
DISPLAY BY NAME prtb05.*
|
||||
NEXT FIELD codigo
|
||||
END IF
|
||||
IF status != notfound THEN
|
||||
LET numero_msg = 3
|
||||
CALL msg(numero_msg)
|
||||
DISPLAY BY NAME prtb05.*
|
||||
NEXT FIELD codigo
|
||||
END IF
|
||||
|
||||
EXIT INPUT
|
||||
END INPUT
|
||||
|
||||
INSERT INTO prtb00005 VALUES
|
||||
(prtb05.codigo,prtb05.descripcion,
|
||||
null,user,current,null,null)
|
||||
|
||||
LET numero_msg = 1
|
||||
CALL msg(numero_msg)
|
||||
GOTO vuelve
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION prpcmf004()
|
||||
#WHENEVER ERROR CONTINUE
|
||||
LET int_flag = false
|
||||
## Aqui se prepara para la captura del criterio de seleccion
|
||||
|
||||
CONSTRUCT criterio ON prtb00005.* FROM prtb00005.*
|
||||
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = FALSE
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
LET SELEC = " SELECT UNIQUE * FROM prtb00005 ",
|
||||
" WHERE status_t is null and ",
|
||||
criterio clipped," ORDER BY 1"
|
||||
|
||||
PREPARE busca FROM selec
|
||||
DECLARE datos SCROLL CURSOR FOR busca
|
||||
OPEN datos
|
||||
|
||||
FETCH FIRST datos INTO prtb05.*
|
||||
IF STATUS = NOTFOUND THEN
|
||||
LET numero_msg = 3
|
||||
CALL msg(numero_msg)
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
DISPLAY BY NAME prtb05.*
|
||||
|
||||
MENU "OPCIONES "
|
||||
COMMAND "Siguiente"
|
||||
"Presenta en pantalla el proximo registro encontrado"
|
||||
FETCH NEXT datos INTO prtb05.*
|
||||
IF STATUS = NOTFOUND THEN
|
||||
LET numero_msg = 4
|
||||
CALL msg(numero_msg)
|
||||
END IF
|
||||
DISPLAY BY NAME prtb05.*
|
||||
|
||||
COMMAND "Anterior"
|
||||
"Presenta en pantalla el registro anterior encontrado"
|
||||
FETCH PREVIOUS datos INTO prtb05.*
|
||||
IF STATUS = NOTFOUND THEN
|
||||
LET numero_msg = 5
|
||||
CALL msg(numero_msg)
|
||||
END IF
|
||||
DISPLAY BY NAME prtb05.*
|
||||
|
||||
COMMAND "Primero"
|
||||
"Presenta en pantalla el primer registro encontrado"
|
||||
FETCH FIRST datos INTO prtb05.*
|
||||
DISPLAY BY NAME prtb05.*
|
||||
LET numero_msg = 5
|
||||
CALL msg(numero_msg)
|
||||
COMMAND "Ultimo"
|
||||
"Presenta en pantalla el ultimo registro encontrado"
|
||||
FETCH LAST datos INTO prtb05.*
|
||||
DISPLAY BY NAME prtb05.*
|
||||
LET numero_msg = 4
|
||||
CALL msg(numero_msg)
|
||||
COMMAND "Escoger"
|
||||
"<Esc> Actualiza Registro <Supr> Cancela Operacion"
|
||||
IF prtb05.status_t="E" THEN
|
||||
LET numero_msg= 36
|
||||
CALL msg(numero_msg)
|
||||
RETURN
|
||||
END IF
|
||||
INPUT BY NAME prtb05.descripcion WITHOUT DEFAULTS
|
||||
|
||||
AFTER FIELD descripcion
|
||||
IF prtb05.descripcion IS NULL THEN
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD descripcion
|
||||
END IF
|
||||
|
||||
AFTER INPUT
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = false
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
IF prtb05.descripcion IS NULL THEN
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD descripcion
|
||||
END IF
|
||||
EXIT INPUT
|
||||
END INPUT
|
||||
|
||||
#### Verifica si el usuario presiono la tecla <Supr>
|
||||
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = FALSE
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
UPDATE prtb00005 SET descripcion = prtb05.descripcion,
|
||||
us_mod = USER,
|
||||
fech_mod = CURRENT
|
||||
WHERE @codigo = prtb05.codigo
|
||||
|
||||
LET numero_msg = 13
|
||||
CALL msg(numero_msg)
|
||||
|
||||
COMMAND KEY ("L") "eLiminar"
|
||||
|
||||
UPDATE prtb00005 SET status_t ="E" ,
|
||||
us_mod = user,
|
||||
fech_mod = current
|
||||
WHERE @codigo = prtb05.codigo
|
||||
|
||||
LET numero_msg = 39
|
||||
CALL msg(numero_msg)
|
||||
COMMAND "Retornar"
|
||||
"Retorna al menu anterior"
|
||||
EXIT MENU
|
||||
END MENU
|
||||
END FUNCTION
|
||||
|
||||
@@ -0,0 +1,225 @@
|
||||
{
|
||||
------------------------------------------------------------------
|
||||
PROGRAMA : PRPRMT005
|
||||
OBJETIVO : Capturar, Modificar, Eliminar registros de la
|
||||
Tabla de Factor de Conversion de Semi-Elaborado.
|
||||
PROGRAMADOR : Tadeo A. Ferreras F.
|
||||
FECHA REALIZACION : Junio 14, 1993.
|
||||
------------------------------------------------------------------
|
||||
}
|
||||
GLOBALS "prprgb000.4gl"
|
||||
|
||||
FUNCTION prprmt005()
|
||||
# WHENEVER ERROR CONTINUE
|
||||
CLEAR SCREEN
|
||||
OPTIONS
|
||||
FORM LINE 9,
|
||||
ERROR LINE 23,
|
||||
COMMENT LINE 21
|
||||
|
||||
OPEN FORM ctfmmt005 FROM "prfmmt006"
|
||||
DISPLAY FORM ctfmmt005
|
||||
CALL pantalla()
|
||||
DISPLAY "prprmt005" AT 4,3
|
||||
DISPLAY "Factor de Conversion Semi-Elaborado" AT 6,22
|
||||
|
||||
MENU "OPCIONES"
|
||||
COMMAND "Adicionar"
|
||||
"<Esc> Adiciona Registro <Supr> Cancela Operacion"
|
||||
LET int_flag = FALSE
|
||||
CLEAR FORM
|
||||
CALL prpcad005()
|
||||
COMMAND "Consultar-modificar"
|
||||
"<Esc> Realiza Busqueda <Supr> Cancela Operacion"
|
||||
LET INT_FLAG = FALSE
|
||||
CALL prpcmf005()
|
||||
COMMAND "Salir" "Retorna Menu Anterior"
|
||||
EXIT MENU
|
||||
END MENU
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION prpcad005()
|
||||
#WHENEVER ERROR CONTINUE
|
||||
## Captura los datos que va a contener el registro
|
||||
|
||||
LET int_flag = false
|
||||
|
||||
INPUT BY NAME prtb06.*
|
||||
|
||||
AFTER FIELD cod_prod
|
||||
IF prtb06.cod_prod is null then
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD cod_prod
|
||||
END IF
|
||||
|
||||
|
||||
SELECT a.* FROM cttb00001 a
|
||||
WHERE a.cod_prod = prtb06.cod_prod
|
||||
|
||||
IF prtb06.status_t = "E" THEN
|
||||
LET numero_msg = 36
|
||||
CALL msg(numero_msg)
|
||||
DISPLAY BY NAME prtb06.*
|
||||
NEXT FIELD cod_prod
|
||||
END IF
|
||||
|
||||
IF status = notfound THEN
|
||||
LET numero_msg = 3
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD cod_prod
|
||||
END IF
|
||||
|
||||
SELECT UNIQUE a.cod_prod FROM prtb00006 a
|
||||
WHERE a.cod_prod = prtb06.cod_prod
|
||||
|
||||
IF status != notfound THEN
|
||||
LET numero_msg = 12
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD cod_prod
|
||||
END IF
|
||||
|
||||
SELECT a.descripcion INTO cttb01.descripcion
|
||||
FROM cttb00001 a
|
||||
WHERE a.cod_prod = prtb06.cod_prod
|
||||
|
||||
DISPLAY BY NAME cttb01.descripcion
|
||||
|
||||
AFTER FIELD fact_conv
|
||||
IF prtb06.fact_conv IS NULL THEN
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD fact_conv
|
||||
END IF
|
||||
|
||||
END INPUT
|
||||
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = FALSE
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
|
||||
INSERT INTO prtb00006 VALUES
|
||||
(prtb06.cod_prod,prtb06.fact_conv,
|
||||
null,user,current,null,null)
|
||||
|
||||
LET numero_msg = 1
|
||||
CALL msg(numero_msg)
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION prpcmf005()
|
||||
#WHENEVER ERROR CONTINUE
|
||||
LET int_flag = false
|
||||
## Aqui se prepara para la captura del criterio de seleccion
|
||||
|
||||
CONSTRUCT criterio ON prtb00006.* FROM prtb00006.*
|
||||
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = FALSE
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
LET SELEC = " SELECT UNIQUE prtb00006.*,cttb00001.descripcion ",
|
||||
" FROM prtb00006,cttb00001 ",
|
||||
" WHERE prtb00006.status_t is null and ",
|
||||
" prtb00006.cod_prod = cttb00001.cod_prod AND ",
|
||||
criterio clipped," ORDER BY prtb00006.cod_prod "
|
||||
|
||||
PREPARE busca FROM selec
|
||||
DECLARE datos SCROLL CURSOR FOR busca
|
||||
OPEN datos
|
||||
|
||||
FETCH FIRST datos INTO prtb06.*,cttb01.descripcion
|
||||
IF STATUS = NOTFOUND THEN
|
||||
LET numero_msg = 3
|
||||
CALL msg(numero_msg)
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
DISPLAY BY NAME prtb06.*,cttb01.descripcion
|
||||
|
||||
MENU "OPCIONES "
|
||||
COMMAND "Siguiente"
|
||||
"Presenta en pantalla el proximo registro encontrado"
|
||||
FETCH NEXT datos INTO prtb06.*,cttb01.descripcion
|
||||
IF STATUS = NOTFOUND THEN
|
||||
LET numero_msg = 4
|
||||
CALL msg(numero_msg)
|
||||
END IF
|
||||
DISPLAY BY NAME prtb06.*,cttb01.descripcion
|
||||
|
||||
COMMAND "Anterior"
|
||||
"Presenta en pantalla el registro anterior encontrado"
|
||||
FETCH PREVIOUS datos INTO prtb06.*,cttb01.descripcion
|
||||
IF STATUS = NOTFOUND THEN
|
||||
LET numero_msg = 5
|
||||
CALL msg(numero_msg)
|
||||
END IF
|
||||
DISPLAY BY NAME prtb06.*,cttb01.descripcion
|
||||
|
||||
COMMAND "Primero"
|
||||
"Presenta en pantalla el primer registro encontrado"
|
||||
FETCH FIRST datos INTO prtb06.*,cttb01.descripcion
|
||||
DISPLAY BY NAME prtb06.*,cttb01.descripcion
|
||||
LET numero_msg = 5
|
||||
CALL msg(numero_msg)
|
||||
COMMAND "Ultimo"
|
||||
"Presenta en pantalla el ultimo registro encontrado"
|
||||
FETCH LAST datos INTO prtb06.*,cttb01.descripcion
|
||||
DISPLAY BY NAME prtb06.*,cttb01.descripcion
|
||||
LET numero_msg = 4
|
||||
CALL msg(numero_msg)
|
||||
COMMAND "Escoger"
|
||||
"<Esc> Actualiza Registro <Supr> Cancela Operacion"
|
||||
IF prtb06.status_t="E" THEN
|
||||
LET numero_msg= 36
|
||||
CALL msg(numero_msg)
|
||||
RETURN
|
||||
END IF
|
||||
INPUT BY NAME prtb06.fact_conv WITHOUT DEFAULTS
|
||||
|
||||
AFTER FIELD fact_conv
|
||||
IF prtb06.fact_conv IS NULL THEN
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD fact_conv
|
||||
END IF
|
||||
|
||||
END INPUT
|
||||
|
||||
#### Verifica si el usuario presiono la tecla <Supr>
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = false
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
|
||||
UPDATE prtb00006 SET (fact_conv,us_mod,fech_mod) =
|
||||
(prtb06.fact_conv,USER,CURRENT)
|
||||
WHERE @cod_prod = prtb06.cod_prod
|
||||
|
||||
LET numero_msg = 13
|
||||
CALL msg(numero_msg)
|
||||
|
||||
COMMAND KEY ("L") "eLiminar"
|
||||
|
||||
UPDATE prtb00006 SET status_t ="E" ,
|
||||
us_mod = user,
|
||||
fech_mod = current
|
||||
WHERE @cod_prod = prtb06.cod_prod
|
||||
|
||||
LET numero_msg = 39
|
||||
CALL msg(numero_msg)
|
||||
COMMAND "Retornar"
|
||||
"Retorna al menu anterior"
|
||||
EXIT MENU
|
||||
END MENU
|
||||
END FUNCTION
|
||||
|
||||
@@ -0,0 +1,849 @@
|
||||
{
|
||||
------------------------------------------------------------------
|
||||
PROGRAMA : PRPRMT006
|
||||
OBJETIVO : Matenimiento Ordenes Produccion
|
||||
PROGRAMADOR : JUAN F. SOTO
|
||||
FECHA REALIZACION : MARZO 09, 1998
|
||||
------------------------------------------------------------------
|
||||
}
|
||||
GLOBALS "prprgb000.4gl"
|
||||
DEFINE nombre LIKE vetb00004.nombre,
|
||||
descrip_esp_c,descrip_esp LIKE iptb00002.descrip_esp,
|
||||
unidad LIKE iptb00002.unidad_med,
|
||||
unidad_c LIKE intb00001.unidad_med,
|
||||
descrip CHAR(20),
|
||||
esta,opt4 CHAR(1),
|
||||
nombre_vend,nombres,apellidos CHAR(40)
|
||||
DEFINE numero_oc INTEGER
|
||||
|
||||
DEFINE datos_mt ARRAY[200] OF RECORD
|
||||
cod_n SMALLINT,
|
||||
cod_grupo SMALLINT,
|
||||
cod_tipo SMALLINT,
|
||||
cod_sec SMALLINT,
|
||||
descrip_esp CHAR(30),
|
||||
unidad_med CHAR(3)
|
||||
END RECORD
|
||||
MAIN
|
||||
DEFER INTERRUPT
|
||||
CALL ARG_VAL(1) RETURNING usuarios
|
||||
CALL ARG_VAL(2) RETURNING clave
|
||||
|
||||
CONNECT to "decomarmol" USER usuarios USING clave
|
||||
CALL prprmt006()
|
||||
END MAIN
|
||||
|
||||
|
||||
FUNCTION prprmt006()
|
||||
# WHENEVER ERROR CONTINUE
|
||||
CLEAR SCREEN
|
||||
OPTIONS
|
||||
FORM LINE 9,
|
||||
ERROR LINE 23,
|
||||
COMMENT LINE 21
|
||||
CALL pantalla()
|
||||
OPEN FORM ctfmmt006 FROM "prfmmt006"
|
||||
DISPLAY FORM ctfmmt006
|
||||
CALL pantalla()
|
||||
DISPLAY "prprmt006" AT 4,3
|
||||
DISPLAY "Ordenes De Produccion" AT 6,32
|
||||
|
||||
MENU "OPCIONES"
|
||||
COMMAND "Adicionar"
|
||||
"<Esc> Adiciona Registro <Supr> Cancela Operacion"
|
||||
LET int_flag = FALSE
|
||||
CLEAR FORM
|
||||
CALL prpcad006()
|
||||
COMMAND "Consultar"
|
||||
LET INT_FLAG = FALSE
|
||||
CALL prpcmf006()
|
||||
COMMAND "Salir" "Retorna Menu Anterior"
|
||||
EXIT MENU
|
||||
END MENU
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION prpcad006()
|
||||
## Captura los datos que va a contener el registro
|
||||
|
||||
LET int_flag = false
|
||||
|
||||
SELECT MAX(a.num_oc) INTO prtb07.num_oc FROM prtb00007 a
|
||||
LET prtb07.num_oc = prtb07.num_oc + 1
|
||||
INPUT BY NAME prtb07.num_oc THRU prtb07.cantidad WITHOUT DEFAULTS
|
||||
ON KEY(CONTROL-W)
|
||||
CASE
|
||||
WHEN INFIELD(cod_n)
|
||||
CALL busca_pt()
|
||||
IF int_flag THEN
|
||||
LET int_flag = FALSE
|
||||
RETURN
|
||||
END IF
|
||||
DISPLAY BY NAME prtb07.cod_n,prtb07.cod_grupo,prtb07.cod_tipo,prtb07.cod_sec
|
||||
ATTRIBUTE (BLUE)
|
||||
EXIT CASE
|
||||
WHEN INFIELD(cod_grupo)
|
||||
CALL busca_pt()
|
||||
IF int_flag THEN
|
||||
LET int_flag = FALSE
|
||||
RETURN
|
||||
END IF
|
||||
DISPLAY BY NAME prtb07.cod_n,prtb07.cod_grupo,prtb07.cod_tipo,prtb07.cod_sec
|
||||
ATTRIBUTE (BLUE)
|
||||
EXIT CASE
|
||||
WHEN INFIELD(cod_tipo)
|
||||
CALL busca_pt()
|
||||
IF int_flag THEN
|
||||
LET int_flag = FALSE
|
||||
RETURN
|
||||
END IF
|
||||
DISPLAY BY NAME prtb07.cod_n,prtb07.cod_grupo,prtb07.cod_tipo,prtb07.cod_sec
|
||||
ATTRIBUTE (BLUE)
|
||||
EXIT CASE
|
||||
WHEN INFIELD(cod_sec)
|
||||
CALL busca_pt()
|
||||
IF int_flag THEN
|
||||
LET int_flag = FALSE
|
||||
RETURN
|
||||
END IF
|
||||
DISPLAY BY NAME prtb07.cod_n,prtb07.cod_grupo,prtb07.cod_tipo,prtb07.cod_sec
|
||||
ATTRIBUTE (BLUE)
|
||||
EXIT CASE
|
||||
WHEN INFIELD(sec_vend)
|
||||
CALL vendedores()
|
||||
DISPLAY BY NAME prtb07.sec_vend,nombre_vend ATTRIBUTE(BLUE)
|
||||
EXIT CASE
|
||||
WHEN INFIELD (tipo_cliente)
|
||||
CALL busca_cliente()
|
||||
DISPLAY BY NAME prtb07.tipo_cliente,prtb07.sec_cliente,
|
||||
nombre ATTRIBUTE(BLUE)
|
||||
EXIT CASE
|
||||
WHEN INFIELD (sec_cliente)
|
||||
CALL busca_cliente()
|
||||
DISPLAY BY NAME prtb07.tipo_cliente,prtb07.sec_cliente,
|
||||
nombre ATTRIBUTE(BLUE)
|
||||
EXIT CASE
|
||||
END CASE
|
||||
BEFORE FIELD fecha_termina
|
||||
LET prtb07.fecha_termina = prtb07.fecha + 15
|
||||
DISPLAY BY NAME prtb07.fecha_termina
|
||||
|
||||
AFTER FIELD fecha_termina
|
||||
IF prtb07.fecha_termina IS NULL THEN
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD fecha_termina
|
||||
END IF
|
||||
IF prtb07.fecha_termina < prtb07.fecha THEN
|
||||
LET numero_msg =51
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD fecha_termina
|
||||
END IF
|
||||
|
||||
AFTER FIELD orden_pedido
|
||||
IF prtb07.orden_pedido IS NOT NULL AND prtb07.orden_pedido != 0 THEN
|
||||
SELECT UNIQUE a.num_oc
|
||||
FROM prtb00012 a
|
||||
WHERE a.num_oc = prtb07.orden_pedido
|
||||
|
||||
IF STATUS = NOTFOUND THEN
|
||||
LET numero_msg =3
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD orden_pedido
|
||||
END IF
|
||||
END IF
|
||||
|
||||
AFTER FIELD sec_vend
|
||||
IF prtb07.sec_vend IS NOT NULL THEN
|
||||
SELECT a.nom1_emp,a.apell1_emp INTO nombres,apellidos
|
||||
FROM adtb00003 a
|
||||
WHERE a.num_emp = prtb07.sec_vend
|
||||
|
||||
IF STATUS = NOTFOUND THEN
|
||||
LET numero_msg = 3
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD sec_vend
|
||||
END IF
|
||||
LET nombre_vend = nombres CLIPPED," ",apellidos CLIPPED
|
||||
DISPLAY BY NAME nombre_vend ATTRIBUTE(BLUE)
|
||||
END IF
|
||||
BEFORE FIELD fecha
|
||||
LET prtb07.fecha = TODAY
|
||||
DISPLAY BY NAME prtb07.fecha ATTRIBUTE(BLUE)
|
||||
|
||||
AFTER FIELD fecha
|
||||
IF prtb07.fecha > TODAY THEN
|
||||
LET numero_msg = 189
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD fecha
|
||||
END IF
|
||||
|
||||
AFTER FIELD sec_cliente
|
||||
SELECT a.nombre INTO nombre
|
||||
FROM vetb00004 a
|
||||
WHERE a.tipo_cliente = prtb07.tipo_cliente AND
|
||||
a.sec_cliente = prtb07.sec_cliente AND
|
||||
a.status_t IS NULL
|
||||
|
||||
IF STATUS = NOTFOUND THEN
|
||||
LET numero_msg = 3
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD tipo_cliente
|
||||
END IF
|
||||
DISPLAY BY NAME nombre ATTRIBUTE(BLUE)
|
||||
AFTER FIELD cod_n
|
||||
SELECT a.producto INTO descrip
|
||||
FROM iptb00020 a
|
||||
WHERE a.cod_n = prtb07.cod_n
|
||||
DISPLAY BY NAME descrip ATTRIBUTE(BLUE)
|
||||
|
||||
AFTER FIELD cod_sec
|
||||
SELECT a.descrip_esp,a.unidad_med INTO descrip_esp,unidad
|
||||
FROM iptb00002 a
|
||||
WHERE a.cod_n = prtb07.cod_n AND
|
||||
a.cod_grupo = prtb07.cod_grupo AND
|
||||
a.cod_tipo = prtb07.cod_tipo AND
|
||||
a.cod_sec = prtb07.cod_sec
|
||||
|
||||
IF STATUS = NOTFOUND THEN
|
||||
LET numero_msg = 3
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD cod_n
|
||||
END IF
|
||||
DISPLAY BY NAME unidad,descrip_esp ATTRIBUTE(BLUE)
|
||||
SELECT UNIQUE a.num_oc FROM prtb00007 a
|
||||
WHERE a.num_oc = prtb07.num_oc AND
|
||||
a.cod_n = prtb07.cod_n AND
|
||||
a.cod_grupo = prtb07.cod_grupo AND
|
||||
a.cod_tipo = prtb07.cod_tipo AND
|
||||
a.cod_sec = prtb07.cod_sec
|
||||
|
||||
IF STATUS != NOTFOUND THEN
|
||||
LET numero_msg = 12
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD num_oc
|
||||
END IF
|
||||
AFTER INPUT
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = FALSE
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
SELECT a.descrip_esp INTO descrip_esp
|
||||
FROM iptb00002 a
|
||||
WHERE a.cod_n = prtb07.cod_n AND
|
||||
a.cod_grupo = prtb07.cod_grupo AND
|
||||
a.cod_tipo = prtb07.cod_tipo AND
|
||||
a.cod_sec = prtb07.cod_sec
|
||||
|
||||
IF STATUS = NOTFOUND THEN
|
||||
LET numero_msg = 3
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD cod_n
|
||||
END IF
|
||||
|
||||
DISPLAY BY NAME unidad,descrip_esp ATTRIBUTE(BLUE)
|
||||
SELECT UNIQUE a.num_oc FROM prtb00007 a
|
||||
WHERE a.num_oc = prtb07.num_oc AND
|
||||
a.cod_n = prtb07.cod_n AND
|
||||
a.cod_grupo = prtb07.cod_grupo AND
|
||||
a.cod_tipo = prtb07.cod_tipo AND
|
||||
a.cod_sec = prtb07.cod_sec
|
||||
|
||||
IF STATUS != NOTFOUND THEN
|
||||
LET numero_msg = 3
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD num_oc
|
||||
END IF
|
||||
|
||||
SELECT a.nombre INTO nombre
|
||||
FROM vetb00004 a
|
||||
WHERE a.tipo_cliente = prtb07.tipo_cliente AND
|
||||
a.sec_cliente = prtb07.sec_cliente AND
|
||||
a.status_t IS NULL
|
||||
|
||||
IF STATUS = NOTFOUND THEN
|
||||
LET numero_msg = 3
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD tipo_cliente
|
||||
END IF
|
||||
DISPLAY BY NAME descrip_esp,nombre ATTRIBUTE(BLUE)
|
||||
END INPUT
|
||||
{ ESTE QUERY ES PARA BUSCAR LA COMPOSICION DE LOS PRODUCTOS
|
||||
DECLARE buscame CURSOR FOR
|
||||
SELECT UNIQUE a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec
|
||||
FROM prtb00008 a,prtb00007 b
|
||||
WHERE b.cod_n = prtb07.cod_n AND
|
||||
b.cod_grupo = prtb07.cod_grupo AND
|
||||
b.cod_tipo = prtb07.cod_tipo AND
|
||||
b.cod_sec = prtb07.cod_sec AND
|
||||
a.num_oc = b.num_oc
|
||||
LET idx = 1
|
||||
FOREACH buscame INTO prtb08[idx].*
|
||||
LET idx = idx + 1
|
||||
END FOREACH
|
||||
|
||||
CALL set_count(idx-1)
|
||||
}
|
||||
INPUT ARRAY prtb08 FROM s_orden.*
|
||||
|
||||
ON KEY(CONTROL-W)
|
||||
CALL busca_material()
|
||||
BEFORE ROW
|
||||
LET curr = arr_curr()
|
||||
LET scr_l = scr_line()
|
||||
AFTER FIELD cod_sec_c
|
||||
LET descrip_esp_c = NULL
|
||||
IF prtb08[curr].cod_sec_c IS NOT NULL THEN
|
||||
SELECT a.descrip_esp,a.unidad_med INTO descrip_esp_c,unidad_c
|
||||
FROM intb00001 a
|
||||
WHERE a.cod_n = prtb08[curr].cod_n_c AND
|
||||
a.cod_grupo = prtb08[curr].cod_grupo_c AND
|
||||
a.cod_tipo = prtb08[curr].cod_tipo_c AND
|
||||
a.cod_sec = prtb08[curr].cod_sec_c AND
|
||||
a.status_t IS NULL
|
||||
IF STATUS = NOTFOUND THEN
|
||||
LET numero_msg = 3
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD cod_n_c
|
||||
END IF
|
||||
END IF
|
||||
LET prtb08[curr].descrip_esp_c = descrip_esp_c
|
||||
LET prtb08[curr].unidad_c = unidad_c
|
||||
DISPLAY prtb08[curr].descrip_esp_c TO s_orden[scr_l].descrip_esp_c
|
||||
ATTRIBUTE(BLUE)
|
||||
DISPLAY prtb08[curr].unidad_c TO s_orden[scr_l].unidad_c
|
||||
ATTRIBUTE(BLUE)
|
||||
AFTER FIELD cantidad_c
|
||||
IF prtb08[curr].cod_n_c IS NOT NULL THEN
|
||||
IF prtb08[curr].cantidad_c IS NULL THEN
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD cantidad_c
|
||||
END IF
|
||||
END IF
|
||||
AFTER INPUT
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = FALSE
|
||||
RETURN
|
||||
END IF
|
||||
EXIT INPUT
|
||||
END INPUT
|
||||
PROMPT "TODA LA INFORMACION ESTA CORRECTA? " FOR opt4
|
||||
LET opt4 = upshift(opt4)
|
||||
IF opt4 = "S" THEN
|
||||
START REPORT ordenes TO "c:\\archivo"
|
||||
|
||||
INSERT INTO prtb00007 VALUES (prtb07.*)
|
||||
UPDATE prtb00007 set us_crea = SUSER_SNAME(),
|
||||
fech_crea = current
|
||||
WHERE num_oc = prtb07.num_oc
|
||||
|
||||
INSERT INTO prtb00009 VALUES (prtb07.num_oc,prtb07.fecha,"S","INICIO ORDEN...",NULL,SUSER_SNAME(),CURRENT,NULL,NULL)
|
||||
|
||||
# SE ESTA VALIDANDO EL PRODUCTO TERMINADO EN EL CODIGO DE LA MATERIA PRIMA
|
||||
# PARA CUANDO LA ORDEN SEA PARA PRODUCTOS IMPORTADOS QUE NO TIENEN COMPOSICION
|
||||
|
||||
IF prtb08[1].cod_n_c IS NULL THEN
|
||||
LET prtb08[1].cod_n_c = prtb07.cod_n
|
||||
LET prtb08[1].cod_grupo_c = prtb07.cod_grupo
|
||||
LET prtb08[1].cod_tipo_c = prtb07.cod_tipo
|
||||
LET prtb08[1].cod_sec_c = prtb07.cod_Sec
|
||||
OUTPUT TO REPORT ordenes(prtb07.num_oc,prtb08[idx].*)
|
||||
END IF
|
||||
FOR idx = 1 TO arr_count()
|
||||
IF prtb08[idx].cod_n_c IS NOT NULL THEN
|
||||
INSERT INTO prtb00008 VALUES (prtb07.num_oc,
|
||||
prtb08[idx].cod_n_c,
|
||||
prtb08[idx].cod_grupo_c,
|
||||
prtb08[idx].cod_tipo_c,
|
||||
prtb08[idx].cod_sec_c,
|
||||
prtb08[idx].cantidad_c,
|
||||
SUSER_SNAME(),current,null,null)
|
||||
OUTPUT TO REPORT ordenes(prtb07.num_oc,prtb08[idx].*)
|
||||
END IF
|
||||
END FOR
|
||||
FINISH REPORT ordenes
|
||||
RUN "TYPE c:\\archivo > LPT3"
|
||||
LET numero_msg = 1
|
||||
CALL msg(numero_msg)
|
||||
END IF
|
||||
CLEAR FORM
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION prpcmf006()
|
||||
## Aqui se prepara para la captura del criterio de seleccion
|
||||
|
||||
CONSTRUCT BY NAME criterio ON a.num_oc,a.tipo_cliente,a.sec_cliente
|
||||
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = FALSE
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
LET SELEC = " SELECT UNIQUE a.* FROM prtb00007 a ",
|
||||
" WHERE ",criterio CLIPPED, " AND a.status_t IS NULL"
|
||||
|
||||
PREPARE busca FROM selec
|
||||
DECLARE datos SCROLL CURSOR FOR busca
|
||||
OPEN datos
|
||||
|
||||
FETCH FIRST datos INTO prtb07.*
|
||||
IF STATUS = NOTFOUND THEN
|
||||
LET numero_msg = 3
|
||||
CALL msg(numero_msg)
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
DISPLAY BY NAME prtb07.num_oc THRU prtb07.cantidad ATTRIBUTE(BLUE)
|
||||
LET numero_oc = prtb07.num_oc
|
||||
CALL busca_detalle()
|
||||
CALL busca_clientem()
|
||||
CALL busca_vendm()
|
||||
CALL busca_product()
|
||||
MENU "OPCIONES "
|
||||
COMMAND "Siguiente"
|
||||
"Presenta en pantalla el proprtb07.mo registro encontrado"
|
||||
FETCH NEXT datos INTO prtb07.*
|
||||
IF STATUS = NOTFOUND THEN
|
||||
LET numero_msg = 4
|
||||
CALL msg(numero_msg)
|
||||
END IF
|
||||
DISPLAY BY NAME prtb07.num_oc THRU prtb07.cantidad ATTRIBUTE(BLUE)
|
||||
LET numero_oc = prtb07.num_oc
|
||||
CALL limpia()
|
||||
CALL busca_detalle()
|
||||
CALL busca_clientem()
|
||||
CALL busca_vendm()
|
||||
CALL busca_product()
|
||||
COMMAND "Anterior"
|
||||
"Presenta en pantalla el registro anterior encontrado"
|
||||
FETCH PREVIOUS datos INTO prtb07.*
|
||||
IF STATUS = NOTFOUND THEN
|
||||
LET numero_msg = 5
|
||||
CALL msg(numero_msg)
|
||||
END IF
|
||||
DISPLAY BY NAME prtb07.num_oc THRU prtb07.cantidad ATTRIBUTE(BLUE)
|
||||
LET numero_oc = prtb07.num_oc
|
||||
CALL limpia()
|
||||
CALL busca_detalle()
|
||||
CALL busca_clientem()
|
||||
CALL busca_vendm()
|
||||
CALL busca_product()
|
||||
|
||||
COMMAND "Primero"
|
||||
"Presenta en pantalla el primer registro encontrado"
|
||||
FETCH FIRST datos INTO prtb07.*
|
||||
DISPLAY BY NAME prtb07.num_oc THRU prtb07.cantidad ATTRIBUTE(BLUE)
|
||||
LET numero_oc = prtb07.num_oc
|
||||
CALL limpia()
|
||||
CALL busca_detalle()
|
||||
CALL busca_clientem()
|
||||
CALL busca_vendm()
|
||||
CALL busca_product()
|
||||
LET numero_msg = 5
|
||||
CALL msg(numero_msg)
|
||||
COMMAND "Ultimo"
|
||||
"Presenta en pantalla el ultimo registro encontrado"
|
||||
FETCH LAST datos INTO prtb07.*
|
||||
DISPLAY BY NAME prtb07.num_oc THRU prtb07.cantidad
|
||||
ATTRIBUTE(BLUE)
|
||||
LET numero_oc = prtb07.num_oc
|
||||
CALL limpia()
|
||||
CALL busca_detalle()
|
||||
CALL busca_clientem()
|
||||
CALL busca_vendm()
|
||||
CALL busca_product()
|
||||
LET numero_msg = 4
|
||||
CALL msg(numero_msg)
|
||||
COMMAND KEY ("N") "aNular"
|
||||
PROMPT "Esta seguro?" FOR esta
|
||||
LET esta = UPSHIFT(esta)
|
||||
IF esta = "S" THEN
|
||||
UPDATE prtb00007 set status_t = "E",
|
||||
us_mod = SUSER_SNAME(),
|
||||
fech_mod = current
|
||||
WHERE num_oc = prtb07.num_oc
|
||||
UPDATE prtb00009 set status_t = "E",
|
||||
us_mod = SUSER_SNAME(),
|
||||
fech_mod = current
|
||||
WHERE num_oc = prtb07.num_oc
|
||||
LET numero_msg = 39
|
||||
CALL msg(numero_msg)
|
||||
END IF
|
||||
COMMAND "Retornar"
|
||||
"Retorna al menu anterior"
|
||||
EXIT MENU
|
||||
END MENU
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION busca_pt()
|
||||
OPEN WINDOW busqueda AT 7,12 WITH FORM "vefmwd003"
|
||||
ATTRIBUTE (BORDER,FORM LINE FIRST + 2,COMMENT LINE LAST,MESSAGE LINE LAST)
|
||||
LET int_flag = false
|
||||
CONSTRUCT criterio ON a.descrip_esp FROM descrip_esp
|
||||
|
||||
LET selec2 =
|
||||
"SELECT a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec,a.descrip_esp ",
|
||||
"FROM iptb00002 a ",
|
||||
"WHERE a.status_t is null AND ",criterio clipped," ORDER BY 5 "
|
||||
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
GO TO sale9
|
||||
END IF
|
||||
|
||||
PREPARE busca_pila FROM selec2
|
||||
DECLARE buscar_pila CURSOR FOR busca_pila
|
||||
|
||||
LET idx= 1
|
||||
|
||||
FOREACH buscar_pila INTO pilas[idx].*
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
EXIT FOREACH
|
||||
END IF
|
||||
|
||||
LET idx= idx+ 1
|
||||
END FOREACH
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
GOTO sale9
|
||||
END IF
|
||||
CALL set_count(idx -1)
|
||||
MESSAGE " <Esc> Selecciona Producto Terminado donde esta el cursor"
|
||||
DISPLAY ARRAY pilas TO s_pilas.*
|
||||
LET curr1 = arr_curr()
|
||||
LET prtb07.cod_n = pilas[curr1].cod_n
|
||||
LET prtb07.cod_grupo = pilas[curr1].cod_grupo
|
||||
LET prtb07.cod_tipo = pilas[curr1].cod_tipo
|
||||
LET prtb07.cod_sec = pilas[curr1].cod_sec
|
||||
LET descrip_esp = pilas[curr1].descrip_esp
|
||||
|
||||
LABEL sale9:
|
||||
CLOSE WINDOW busqueda
|
||||
|
||||
END FUNCTION
|
||||
FUNCTION limpia()
|
||||
FOR idx = 1 TO 10
|
||||
LET prtb08[idx].cod_n_c = null
|
||||
LET prtb08[idx].cod_grupo_c = null
|
||||
LET prtb08[idx].cod_tipo_c = null
|
||||
LET prtb08[idx].cod_sec_c = null
|
||||
LET prtb08[idx].unidad_c = null
|
||||
LET prtb08[idx].cantidad_c = null
|
||||
LET prtb08[idx].descrip_esp_c = null
|
||||
END FOR
|
||||
FOR idx = 1 TO 5
|
||||
DISPLAY prtb08[idx].cod_n_c TO s_orden[idx].cod_n_c
|
||||
DISPLAY prtb08[idx].cod_grupo_c TO s_orden[idx].cod_grupo_c
|
||||
DISPLAY prtb08[idx].cod_tipo_c TO s_orden[idx].cod_tipo_c
|
||||
DISPLAY prtb08[idx].cod_sec_c TO s_orden[idx].cod_sec_c
|
||||
DISPLAY prtb08[idx].cantidad_c TO s_orden[idx].cantidad_c
|
||||
|
||||
DISPLAY prtb08[idx].descrip_esp_c TO s_orden[idx].descrip_esp_c
|
||||
ATTRIBUTE(BLUE)
|
||||
DISPLAY prtb08[idx].unidad_c TO s_orden[idx].unidad_c
|
||||
ATTRIBUTE(BLUE)
|
||||
|
||||
END FOR
|
||||
|
||||
|
||||
END FUNCTION
|
||||
FUNCTION busca_detalle()
|
||||
|
||||
DECLARE busca_d CURSOR FOR
|
||||
SELECT a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec,a.cantidad FROM prtb00008 a
|
||||
WHERE a.num_oc = numero_oc
|
||||
|
||||
LET idx = 1
|
||||
FOREACH busca_d INTO prtb08[idx].*
|
||||
SELECT a.descrip_esp,a.unidad_med INTO descrip_esp_c,unidad_c
|
||||
FROM intb00001 a
|
||||
WHERE a.cod_n = prtb08[idx].cod_n_c AND
|
||||
a.cod_grupo = prtb08[idx].cod_grupo_c AND
|
||||
a.cod_tipo = prtb08[idx].cod_tipo_c AND
|
||||
a.cod_sec = prtb08[idx].cod_sec_c AND
|
||||
a.status_t IS NULL
|
||||
IF idx > 5 THEN
|
||||
EXIT FOREACH
|
||||
END IF
|
||||
LET prtb08[idx].descrip_esp_c = descrip_esp_c
|
||||
LET prtb08[idx].unidad_c = unidad_c
|
||||
DISPLAY prtb08[idx].cod_n_c TO s_orden[idx].cod_n_c
|
||||
DISPLAY prtb08[idx].cod_grupo_c TO s_orden[idx].cod_grupo_c
|
||||
DISPLAY prtb08[idx].cod_tipo_c TO s_orden[idx].cod_tipo_c
|
||||
DISPLAY prtb08[idx].cod_sec_c TO s_orden[idx].cod_sec_c
|
||||
DISPLAY prtb08[idx].cantidad_c TO s_orden[idx].cantidad_c
|
||||
|
||||
DISPLAY prtb08[idx].descrip_esp_c TO s_orden[idx].descrip_esp_c
|
||||
ATTRIBUTE(BLUE)
|
||||
DISPLAY prtb08[idx].unidad_c TO s_orden[idx].unidad_c
|
||||
ATTRIBUTE(BLUE)
|
||||
LET idx = idx + 1
|
||||
END FOREACH
|
||||
END FUNCTION
|
||||
|
||||
REPORT ordenes(xnumero,z)
|
||||
DEFINE z RECORD
|
||||
cod_n_c LIKE prtb00008.cod_n,
|
||||
cod_grupo_c LIKE prtb00008.cod_grupo,
|
||||
cod_tipo_c LIKE prtb00008.cod_tipo,
|
||||
cod_sec_c LIKE prtb00008.cod_sec,
|
||||
cantidad_c LIKE prtb00008.cantidad ,
|
||||
descrip_esp_c LIKE intb00001.descrip_esp,
|
||||
unidad_c LIKE intb00001.unidad_med
|
||||
END RECORD,
|
||||
i,xnumero INTEGER,
|
||||
negrillas_on,negrillas_off,doble CHAR(2)
|
||||
|
||||
OUTPUT
|
||||
LEFT MARGIN 0
|
||||
|
||||
ORDER BY xnumero
|
||||
FORMAT
|
||||
PAGE HEADER
|
||||
LET negrillas_on = ASCII 27, ASCII 69
|
||||
LET negrillas_off = ASCII 27, ASCII 70
|
||||
LET doble = ASCII 14
|
||||
|
||||
LET l = (80 - LENGTH(p_compania.nombre CLIPPED))/2
|
||||
PRINT COLUMN l, p_compania.nombre CLIPPED,
|
||||
COLUMN 70, TODAY USING "DD/MM/YY"
|
||||
LET l = (80 - LENGTH("ORDEN DE PRODUCCION"))/2
|
||||
PRINT COLUMN l, "ORDEN DE PRODUCCION",
|
||||
COLUMN 70, TIME
|
||||
|
||||
PRINT COLUMN 1, "NO. ORDEN: ",doble_on,xnumero USING "<<<<<<"
|
||||
PRINT COLUMN 1, "FECHA : ",negrillas_on,prtb07.fecha
|
||||
USING "DD/MM/YY",negrillas_off
|
||||
PRINT COLUMN 1, "VENDEDOR : ",negrillas_on,prtb07.sec_vend USING "<<<<",
|
||||
" ",nombre_vend,negrillas_off
|
||||
PRINT COLUMN 1, "CLIENTE : ",negrillas_on,prtb07.tipo_cliente USING "<<",
|
||||
prtb07.sec_cliente
|
||||
USING "<<<<"," "," ",
|
||||
nombre,negrillas_off
|
||||
PRINT COLUMN 1, "PRODUCTO : ",negrillas_on,prtb07.cod_n USING "&","-",
|
||||
prtb07.cod_grupo USING "&","-",
|
||||
prtb07.cod_tipo USING "&&","-",
|
||||
prtb07.cod_sec
|
||||
USING "&&&"," ",negrillas_off,descrip_esp," ",
|
||||
unidad,negrillas_off
|
||||
PRINT COLUMN 1, "CANTIDAD : ",negrillas_on, prtb07.cantidad USING "<<,<<<",
|
||||
negrillas_off
|
||||
FOR i = 1 TO 70
|
||||
PRINT "-";
|
||||
END FOR
|
||||
PRINT "-"
|
||||
PRINT "COMPOSICION PRODUCTO..."
|
||||
FOR i = 1 TO 70
|
||||
PRINT "-";
|
||||
END FOR
|
||||
PRINT "-"
|
||||
ON EVERY ROW
|
||||
PRINT COLUMN 1, z.cod_n_c USING "&","-",
|
||||
z.cod_grupo_c USING "&","-",
|
||||
z.cod_tipo_c USING "&&","-",
|
||||
z.cod_sec_c USING "&&&","-",
|
||||
" ",z.descrip_esp_c," ",z.unidad_c,
|
||||
" ",z.cantidad_c USING "###,###.###"
|
||||
PAGE TRAILER
|
||||
PRINT COLUMN 10, "-------------------",
|
||||
COLUMN 35, "-------------------"
|
||||
|
||||
PRINT COLUMN 13, "AUTORIZADO POR",
|
||||
COLUMN 39, "REVISADO POR"
|
||||
END REPORT
|
||||
FUNCTION busca_material()
|
||||
LET int_flag = FALSE
|
||||
|
||||
OPEN WINDOW material1 AT 10,9 WITH FORM "infmwd004"
|
||||
ATTRIBUTE(BORDER,FORM LINE FIRST + 2)
|
||||
|
||||
CONSTRUCT criterio ON a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec,a.descrip_esp,
|
||||
a.unidad_med
|
||||
FROM cod_n,cod_grupo,cod_tipo,cod_sec,descrip_esp,
|
||||
unidad_med
|
||||
|
||||
LET selec = "SELECT a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec,a.descrip_esp, ",
|
||||
"a.unidad_med FROM intb00001 a ",
|
||||
"WHERE a.status_t IS NULL AND ",criterio CLIPPED,
|
||||
"ORDER BY 1,2,3,4"
|
||||
|
||||
PREPARE comando4 FROM selec
|
||||
DECLARE comp4 CURSOR FOR comando4
|
||||
|
||||
LET idx = 1
|
||||
FOREACH comp4 INTO datos_mt[idx].*
|
||||
LET idx = idx + 1
|
||||
END FOREACH
|
||||
CALL SET_COUNT(idx - 1)
|
||||
|
||||
DISPLAY ARRAY datos_mt TO datos_mt1.*
|
||||
LET idx = ARR_CURR()
|
||||
CLOSE WINDOW material1
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION vendedores()
|
||||
DEFINE descrip6 LIKE adtb00003.nom1_emp
|
||||
|
||||
OPEN WINDOW busqueda2 AT 7,12 WITH FORM "vefmwd001"
|
||||
ATTRIBUTE (BORDER,FORM LINE FIRST + 2,COMMENT LINE LAST,MESSAGE LINE LAST)
|
||||
|
||||
LET int_flag = false
|
||||
CONSTRUCT criterio ON a.nom1_emp FROM descrip6
|
||||
|
||||
LET selec2 = "SELECT UNIQUE a.num_emp,a.nom1_emp,a.apell1_emp ",
|
||||
" FROM adtb00003 a,vetb00028 b",
|
||||
" WHERE a.num_emp = b.sec_vend AND ",
|
||||
"a.status_t is null AND ",
|
||||
criterio clipped,
|
||||
"ORDER BY 1 "
|
||||
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
GO TO salir_consulta_e
|
||||
END IF
|
||||
|
||||
PREPARE busca_empleados FROM selec2
|
||||
IF status >= 0 THEN
|
||||
IF status = notfound THEN
|
||||
LET numero_msg = 3
|
||||
CALL msg(numero_msg)
|
||||
END IF
|
||||
ELSE
|
||||
CALL integridad()
|
||||
IF bandera = 1 THEN
|
||||
LET bandera = 0
|
||||
END IF
|
||||
END IF
|
||||
|
||||
DECLARE buscar_empleados CURSOR FOR busca_empleados
|
||||
LET idx = 1
|
||||
|
||||
FOREACH buscar_empleados INTO arr_empleados[idx].*
|
||||
IF status = NOTFOUND THEN
|
||||
EXIT FOREACH
|
||||
END IF
|
||||
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
EXIT FOREACH
|
||||
END IF
|
||||
|
||||
LET empleados[idx].cod_emp_sec = arr_empleados[idx].num_emp
|
||||
LET empleados[idx].descrip6 =
|
||||
arr_empleados[idx].nom1_emp clipped," ",arr_empleados[idx].apell1_emp clipped
|
||||
LET idx = idx + 1
|
||||
END FOREACH
|
||||
|
||||
CALL set_count(idx-1)
|
||||
MESSAGE " <Esc> Selecciona Empleado donde esta el cursor"
|
||||
DISPLAY ARRAY empleados TO s_empleados.*
|
||||
LET curr1 = scr_line()
|
||||
|
||||
LET prtb07.sec_vend = empleados[curr1].cod_emp_sec
|
||||
LET nombre_vend = empleados[curr1].descrip6
|
||||
LABEL salir_consulta_e:
|
||||
CLOSE WINDOW busqueda2
|
||||
END FUNCTION
|
||||
FUNCTION busca_cliente()
|
||||
OPEN WINDOW busqueda AT 7,12 WITH FORM "vefmwd002"
|
||||
ATTRIBUTE (BORDER,FORM LINE FIRST + 2,COMMENT LINE LAST,MESSAGE LINE LAST)
|
||||
|
||||
LET int_flag = false
|
||||
CONSTRUCT criterio ON a.nombre FROM nombre
|
||||
|
||||
LET selec2 = "SELECT a.tipo_cliente, a.sec_cliente, a.nombre ",
|
||||
" FROM vetb00004 a",
|
||||
" WHERE ",
|
||||
"a.status_t is null AND ",
|
||||
criterio clipped,
|
||||
"ORDER BY 1,2 "
|
||||
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
GO TO salir_consulta_c
|
||||
END IF
|
||||
|
||||
PREPARE busca_clientes FROM selec2
|
||||
IF status >= 0 THEN
|
||||
IF status = notfound THEN
|
||||
LET numero_msg = 3
|
||||
CALL msg(numero_msg)
|
||||
END IF
|
||||
ELSE
|
||||
CALL integridad()
|
||||
IF bandera = 1 THEN
|
||||
LET bandera = 0
|
||||
END IF
|
||||
END IF
|
||||
|
||||
DECLARE buscar_clientes CURSOR FOR busca_clientes
|
||||
LET idx = 1
|
||||
|
||||
FOREACH buscar_clientes INTO arr_clientes[idx].*
|
||||
IF status = NOTFOUND THEN
|
||||
EXIT FOREACH
|
||||
END IF
|
||||
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
EXIT FOREACH
|
||||
END IF
|
||||
|
||||
LET idx = idx + 1
|
||||
END FOREACH
|
||||
|
||||
CALL set_count(idx-1)
|
||||
MESSAGE " <Esc> Selecciona Cliente donde esta el cursor"
|
||||
DISPLAY ARRAY arr_clientes TO s_clientes.*
|
||||
LET curr1 = arr_curr()
|
||||
|
||||
LET prtb07.tipo_cliente = arr_clientes[curr1].tipo_cliente
|
||||
LET prtb07.sec_cliente = arr_clientes[curr1].sec_cliente
|
||||
LET nombre = arr_clientes[curr1].nombre
|
||||
|
||||
LABEL salir_consulta_c:
|
||||
CLOSE WINDOW busqueda
|
||||
END FUNCTION
|
||||
FUNCTION busca_clientem()
|
||||
SELECT a.nombre INTO nombre
|
||||
FROM vetb00004 a
|
||||
WHERE a.tipo_cliente = prtb07.tipo_cliente AND
|
||||
a.sec_cliente = prtb07.sec_cliente AND
|
||||
a.status_t IS NULL
|
||||
DISPLAY BY NAME nombre ATTRIBUTE(BLUE)
|
||||
END FUNCTION
|
||||
FUNCTION busca_vendm()
|
||||
IF prtb07.sec_vend IS NOT NULL THEN
|
||||
SELECT a.nom1_emp,a.apell1_emp INTO nombres,apellidos
|
||||
FROM adtb00003 a
|
||||
WHERE a.num_emp = prtb07.sec_vend
|
||||
|
||||
LET nombre_vend = nombres CLIPPED," ",apellidos CLIPPED
|
||||
DISPLAY BY NAME nombre_vend ATTRIBUTE(BLUE)
|
||||
END IF
|
||||
END FUNCTION
|
||||
FUNCTION busca_product()
|
||||
SELECT a.descrip_esp,a.unidad_med INTO descrip_esp,unidad
|
||||
FROM iptb00002 a
|
||||
WHERE a.cod_n = prtb07.cod_n AND
|
||||
a.cod_grupo = prtb07.cod_grupo AND
|
||||
a.cod_tipo = prtb07.cod_tipo AND
|
||||
a.cod_sec = prtb07.cod_sec
|
||||
|
||||
DISPLAY BY NAME unidad,descrip_esp ATTRIBUTE(BLUE)
|
||||
END FUNCTION
|
||||
@@ -0,0 +1,239 @@
|
||||
{
|
||||
------------------------------------------------------------------
|
||||
PROGRAMA : PRPRMT007
|
||||
OBJETIVO : Matenimiento de Status de Orden de Produccion
|
||||
PROGRAMADOR : Tadeo A. Ferreras
|
||||
FECHA REALIZACION : MARZO 09, 1998
|
||||
------------------------------------------------------------------
|
||||
}
|
||||
GLOBALS "prprgb000.4gl"
|
||||
DEFINE p_nombre CHAR(40),
|
||||
tipo_p CHAR(1),
|
||||
pnumreq INT
|
||||
MAIN
|
||||
DEFER INTERRUPT
|
||||
CALL ARG_VAL(1) RETURNING usuarios
|
||||
CALL ARG_VAL(2) RETURNING clave
|
||||
CONNECT TO "decomarmol" USER usuarios USING clave
|
||||
CALL prprmt007()
|
||||
END MAIN
|
||||
|
||||
FUNCTION prprmt007()
|
||||
# WHENEVER ERROR CONTINUE
|
||||
CLEAR SCREEN
|
||||
OPTIONS
|
||||
FORM LINE 9,
|
||||
ERROR LINE 23,
|
||||
COMMENT LINE 21
|
||||
#CALL pantalla()
|
||||
OPEN FORM ctfmmt007 FROM "prfmmt007"
|
||||
DISPLAY FORM ctfmmt007
|
||||
|
||||
|
||||
MENU "OPCIONES"
|
||||
COMMAND "Adicionar"
|
||||
"<Esc> Adiciona Registro <Supr> Cancela Operacion"
|
||||
LET INT_FLAG = FALSE
|
||||
LET tipo_p = "A"
|
||||
INITIALIZE prtb09.* TO NULL
|
||||
INITIALIZE prtb07.* TO NULL
|
||||
LET p_nombre = NULL
|
||||
CLEAR FORM
|
||||
CALL prpcad007()
|
||||
COMMAND "Consulta/Modificar"
|
||||
LET INT_FLAG = FALSE
|
||||
LET tipo_p = "C"
|
||||
INITIALIZE prtb09.* TO NULL
|
||||
INITIALIZE prtb07.* TO NULL
|
||||
LET p_nombre = NULL
|
||||
CLEAR FORM
|
||||
CALL prpcmf007()
|
||||
COMMAND "Salir" "Retorna Menu Anterior"
|
||||
EXIT MENU
|
||||
END MENU
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION prpcad007()
|
||||
## Captura los datos que va a contener el registro
|
||||
|
||||
LET INT_FLAG = FALSE
|
||||
|
||||
IF tipo_p = "A" THEN
|
||||
INPUT prtb08.num_oc,prtb08.fecha_oc,prtb08.fecha_entrega FROM
|
||||
num_oc,fecha,fecha_fabricacion
|
||||
AFTER FIELD num_oc
|
||||
IF prtb08.num_oc IS NULL THEN
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD num_oc
|
||||
END IF
|
||||
|
||||
SELECT UNIQUE a.tipo_cliente,a.sec_cliente,a.fecha_oc
|
||||
INTO prtb07.tipo_cliente,prtb07.sec_cliente,prtb07.fecha
|
||||
FROM prtb00012 a WHERE a.num_oc = prtb08.num_oc
|
||||
|
||||
IF STATUS = NOTFOUND THEN
|
||||
LET numero_msg = 3
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD num_oc
|
||||
END IF
|
||||
|
||||
SELECT UNIQUE a.nombre INTO p_nombre FROM vetb00004 a
|
||||
WHERE a.tipo_cliente = prtb07.tipo_cliente AND
|
||||
a.sec_cliente = prtb07.sec_cliente
|
||||
|
||||
DISPLAY BY NAME prtb07.tipo_cliente,prtb07.sec_cliente,p_nombre
|
||||
|
||||
|
||||
AFTER FIELD fecha_oc
|
||||
IF prtb08.fecha_oc IS NULL OR prtb08.fecha_oc < prtb07.fecha THEN
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD fecha_oc
|
||||
END IF
|
||||
|
||||
END INPUT
|
||||
END IF
|
||||
IF INT_FLAG THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET INT_FLAG = FALSE
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
INPUT prtb08.cerrada,prtb08.fecha_entrega
|
||||
WITHOUT DEFAULTS FROM
|
||||
pendiente,fecha_fabricacion
|
||||
AFTER FIELD pendiente
|
||||
IF prtb08.cerrada IS NULL THEN
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD pendiente
|
||||
END IF
|
||||
END INPUT
|
||||
IF INT_FLAG THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET INT_FLAG = FALSE
|
||||
RETURN
|
||||
END IF
|
||||
IF tipo_p = "A" THEN
|
||||
UPDATE prtb00012 SET fecha_entrega = prtb08.fecha_entrega,
|
||||
us_mod = SUSER_SNAME(),
|
||||
fech_mod = GETDATE()
|
||||
WHERE @num_oc = prtb08.num_oc
|
||||
AND @tipo_cliente = prtb07.tipo_cliente
|
||||
AND @sec_cliente = prtb07.sec_cliente
|
||||
|
||||
LET numero_msg = 1
|
||||
CALL msg(numero_msg)
|
||||
END IF
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION prpcmf007()
|
||||
## Aqui se prepara para la captura del criterio de seleccion
|
||||
|
||||
CONSTRUCT BY NAME criterio ON a.num_oc #-> vg,a.fecha
|
||||
|
||||
IF INT_FLAG THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET INT_FLAG = FALSE
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
LET SELEC = " SELECT UNIQUE a.num_oc,CONVERT(CHAR(10),a.fecha_oc,103),CONVERT(CHAR(10),a.fecha_entrega,103),a.cerrada,a.ubicacion FROM prtb00012 a ",
|
||||
" WHERE ",criterio CLIPPED #-> vg , " AND a.status_t IS NULL"
|
||||
|
||||
PREPARE busca FROM selec
|
||||
DECLARE datos SCROLL CURSOR FOR busca
|
||||
OPEN datos
|
||||
|
||||
FETCH FIRST datos INTO prtb08.num_oc,prtb08.fecha_oc,prtb08.fecha_entrega,
|
||||
prtb08.cerrada,prtb08.ubicacion
|
||||
IF STATUS = NOTFOUND THEN
|
||||
LET numero_msg = 3
|
||||
CALL msg(numero_msg)
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
CALL despl_st()
|
||||
MENU "OPCIONES "
|
||||
COMMAND "Siguiente" "Presenta en pantalla el sigte. registro encontrado"
|
||||
FETCH NEXT datos INTO prtb08.num_oc,prtb08.fecha_oc,prtb08.fecha_entrega,
|
||||
prtb08.cerrada,prtb08.ubicacion
|
||||
IF STATUS = NOTFOUND THEN
|
||||
LET numero_msg = 4
|
||||
CALL msg(numero_msg)
|
||||
END IF
|
||||
CALL despl_st()
|
||||
|
||||
COMMAND "Anterior" "Presenta en pantalla el registro anterior encontrado"
|
||||
FETCH PREVIOUS datos INTO prtb08.num_oc,prtb08.fecha_oc,prtb08.fecha_entrega,
|
||||
prtb08.cerrada,prtb08.ubicacion
|
||||
IF STATUS = NOTFOUND THEN
|
||||
LET numero_msg = 5
|
||||
CALL msg(numero_msg)
|
||||
END IF
|
||||
CALL despl_st()
|
||||
|
||||
COMMAND "Primero" "Presenta en pantalla el primer registro encontrado"
|
||||
FETCH FIRST datos INTO prtb08.num_oc,prtb08.fecha_oc,prtb08.fecha_entrega,
|
||||
prtb08.cerrada,prtb08.ubicacion
|
||||
CALL despl_st()
|
||||
LET numero_msg = 5
|
||||
CALL msg(numero_msg)
|
||||
|
||||
COMMAND "Ultimo" "Presenta en pantalla el ultimo registro encontrado"
|
||||
FETCH LAST datos INTO prtb08.num_oc,prtb08.fecha_oc,prtb08.fecha_entrega,
|
||||
prtb08.cerrada,prtb08.ubicacion
|
||||
CALL despl_st()
|
||||
LET numero_msg = 4
|
||||
CALL msg(numero_msg)
|
||||
COMMAND "Escoger" "Modifica el registro presentado en pantalla"
|
||||
LET tipo_p = "M"
|
||||
CALL prpcad007()
|
||||
|
||||
|
||||
UPDATE prtb00012 SET cerrada = prtb08.cerrada,fecha_cierre = Today,
|
||||
us_mod= SUSER_SNAME(),fech_mod = GETDATE()
|
||||
WHERE num_oc = prtb08.num_oc
|
||||
|
||||
|
||||
|
||||
IF prtb08.cerrada ='S' THEN
|
||||
# ACTUALIZACION REQUISICION DESPACHO
|
||||
|
||||
DECLARE brequisi CURSOR FOR
|
||||
SELECT a.num_req FROM cctb00026 a
|
||||
WHERE a.num_oc = prtb08.num_oc AND status_t IS NULL
|
||||
|
||||
FOREACH brequisi INTO pnumreq
|
||||
UPDATE cctb00025 set estado_despacho = 'DESPACHADA',
|
||||
us_mod = SUSER_SNAME(),
|
||||
fech_mod = GETDATE()
|
||||
WHERE num_req = pnumreq
|
||||
END FOREACH
|
||||
|
||||
END IF
|
||||
LET numero_msg = 13
|
||||
CALL msg(numero_msg)
|
||||
COMMAND "Retornar" "Retorna al menu anterior"
|
||||
EXIT MENU
|
||||
END MENU
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION despl_st()
|
||||
|
||||
SELECT UNIQUE a.tipo_cliente,a.sec_cliente,b.nombre ,a.cerrada,CONVERT(char(10),a.fecha_entrega,103)
|
||||
INTO prtb07.tipo_cliente,prtb07.sec_cliente,p_nombre,prtb09.pendiente,prtb09.fecha_fabricacion
|
||||
FROM prtb00012 a,vetb00004 b
|
||||
WHERE a.tipo_cliente = b.tipo_cliente AND a.sec_cliente = b.sec_cliente AND
|
||||
a.num_oc = prtb08.num_oc
|
||||
|
||||
LET prtb08.fecha_entrega = prtb09.fecha_fabricacion
|
||||
LET prtb08.cerrada = prtb09.pendiente
|
||||
|
||||
DISPLAY BY NAME prtb09.*,prtb07.tipo_cliente,prtb07.sec_cliente,p_nombre,prtb09.pendiente,
|
||||
prtb09.fecha_fabricacion
|
||||
END FUNCTION
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,34 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<report:Report xmlns:rtl="http://www.4js.com/2004/RTL" xmlns:report="http://www.4js.com/2007/REPORT" xmlns="http://www.4js.com/2004/PXML" version="6.00">
|
||||
<report:Settings>
|
||||
<report:FormatList>
|
||||
<report:Format-SVG/>
|
||||
<report:Format-PDF/>
|
||||
<report:Format-image/>
|
||||
</report:FormatList>
|
||||
</report:Settings>
|
||||
<report:Data/>
|
||||
<rtl:stylesheet>
|
||||
<PXML>
|
||||
<rtl:match name="Report" nameConstraint="Report" minOccurs="1" maxOccurs="1">
|
||||
<MINIPAGE name="Page Root" width="max" length="max">
|
||||
<LAYOUTNODE name="Page Header" width="max" length="min" port="anyPageHeader">
|
||||
<MINIPAGE name="StripeLayouter3" width="min" length="max" layoutDirection="leftToRight">
|
||||
<WORDBOX name="Report Title" x="0" y="max/2" anchorX="0" anchorY="0.5" alignment="baseline" fontSize="25" baselineType="leftleft" floatingBehavior="enclosed" text="Report Title Here"/>
|
||||
<PAGENOBOX name="PageNoBox" x="1.23857" y="max" anchorX="0" anchorY="1" alignment="baseline" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="right"/>
|
||||
</MINIPAGE>
|
||||
<MINIPAGE name="Table Header" width="min" length="max" layoutDirection="leftToRight" class="grwTableHeader">
|
||||
<WORDBOX name="Spacer" alignment="baseline" baselineType="leftleft" port="itemSeparator" text=" "/>
|
||||
</MINIPAGE>
|
||||
<MINIPAGE name="Separator" width="1" length="max" bgColor="#000000" layoutDirection="leftToRight"/>
|
||||
</LAYOUTNODE>
|
||||
<rtl:match name="OnEveryRow" nameConstraint="OnEveryRow" minOccurs="0" maxOccurs="unbounded">
|
||||
<MINIPAGE name="Table Row" width="min" length="max" layoutDirection="leftToRight" class="grwTableRow">
|
||||
<WORDBOX name="Spacer_1" alignment="baseline" baselineType="leftleft" port="itemSeparator" text=" "/>
|
||||
</MINIPAGE>
|
||||
</rtl:match>
|
||||
</MINIPAGE>
|
||||
</rtl:match>
|
||||
</PXML>
|
||||
</rtl:stylesheet>
|
||||
</report:Report>
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,885 @@
|
||||
{
|
||||
------------------------------------------------------------------
|
||||
PROGRAMA : PRPRMT008
|
||||
OBJETIVO : Ordenes de Pedidos
|
||||
PROGRAMADOR : Oscar Castillo
|
||||
FECHA REALIZACION : Sábado 12 de Agosto de 2000
|
||||
MODIFICADO POR : Victor Gomez C
|
||||
FECHA MODIFICACION: Wednesday, 10 January, 2001
|
||||
------------------------------------------------------------------
|
||||
}
|
||||
GLOBALS "prprgb000.4gl"
|
||||
DEFINE nombre LIKE vetb00004.nombre,
|
||||
descrip_esp_c,descrip_esp LIKE iptb00002.descrip_esp,
|
||||
unidad LIKE iptb00002.unidad_med,
|
||||
unidad_c LIKE intb00001.unidad_med,
|
||||
descrip CHAR(20),
|
||||
esta,opt4 CHAR(1),
|
||||
nombre_vend,nombres,apellidos CHAR(40),
|
||||
nombmp CHAR(120),
|
||||
monto_desc,total1,total_i,total_mo DECIMAL(12,2),
|
||||
ult_numero INTEGER
|
||||
|
||||
|
||||
DEFINE numero_oc INTEGER,
|
||||
f_itbis DEC(3,2)
|
||||
DEFINE total_v,sub_total,sub_total1,sub_total2,balance DECIMAL(10,2),
|
||||
descrip_p CHAR(30)
|
||||
DEFINE prtb08 RECORD LIKE prtb00012.*
|
||||
|
||||
DEFINE p_totales RECORD
|
||||
sub_total DEC(8,2), #-> Sub-Total de los Productos menos descuento
|
||||
unidad_med CHAR(4), #-> Unidad de medida del producto
|
||||
total_v DEC(10,2) #-> Total de la venta
|
||||
END RECORD
|
||||
|
||||
DEFINE arr_prtb08 ARRAY[200] OF RECORD
|
||||
cod_n LIKE prtb00013.cod_n,
|
||||
cod_grupo LIKE prtb00013.cod_grupo,
|
||||
cod_tipo LIKE prtb00013.cod_tipo,
|
||||
cod_sec LIKE prtb00013.cod_sec,
|
||||
descrip_esp LIKE iptb00002.descrip_esp,
|
||||
bisel LIKE prtb00013.bisel,
|
||||
cantidad LIKE prtb00013.cantidad,
|
||||
precio LIKE prtb00013.precio,
|
||||
descuento LIKE prtb00013.descuento,
|
||||
total_p DECIMAL(10,2)
|
||||
END RECORD
|
||||
FUNCTION prprmt008()
|
||||
# WHENEVER ERROR CONTINUE
|
||||
CLEAR SCREEN
|
||||
OPTIONS
|
||||
FORM LINE 8,
|
||||
ERROR LINE 23,
|
||||
COMMENT LINE 22
|
||||
CALL pantalla()
|
||||
OPEN FORM ctfmmt008 FROM "prfmmt008"
|
||||
DISPLAY FORM ctfmmt008
|
||||
CALL pantalla()
|
||||
DISPLAY "prprmt008" AT 4,3
|
||||
DISPLAY "Ordene De Pedido" AT 6,32
|
||||
|
||||
MENU "OPCIONES"
|
||||
COMMAND "Adicionar"
|
||||
"<Esc> Adiciona Registro <Supr> Cancela Operacion"
|
||||
LET INT_FLAG = FALSE
|
||||
CLEAR FORM
|
||||
CALL prpcad008()
|
||||
COMMAND "Consultar"
|
||||
LET INT_FLAG = FALSE
|
||||
CALL prpcmf008()
|
||||
COMMAND "Salir" "Retorna Menu Anterior"
|
||||
EXIT MENU
|
||||
END MENU
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION prpcad008()
|
||||
## Captura los datos que va a contener el registro
|
||||
|
||||
LET INT_FLAG = false
|
||||
SELECT MAX(num_oc) INTO ult_numero
|
||||
FROM prtb00012
|
||||
|
||||
IF ult_numero IS NULL THEN
|
||||
LET ult_numero = 0
|
||||
END IF
|
||||
LET ult_numero = ult_numero + 1
|
||||
LET prtb08.num_oc = ult_numero
|
||||
|
||||
INPUT BY NAME prtb08.num_oc,prtb08.fecha_oc,prtb08.tipo_cliente,
|
||||
prtb08.sec_cliente,prtb08.sec_vend,prtb08.direccion,
|
||||
prtb08.telefono,prtb08.fax,prtb08.fecha_entrega,
|
||||
prtb08.cond_pago WITHOUT DEFAULTS
|
||||
|
||||
ON KEY(CONTROL-W)
|
||||
CASE
|
||||
WHEN INFIELD(sec_vend)
|
||||
CALL vendedor8es()
|
||||
DISPLAY BY NAME prtb07.sec_vend,nombre_vend ATTRIBUTE(BLUE)
|
||||
EXIT CASE
|
||||
WHEN INFIELD (tipo_cliente)
|
||||
CALL busca_cliente8()
|
||||
DISPLAY BY NAME prtb08.tipo_cliente,prtb08.sec_cliente,
|
||||
nombre ATTRIBUTE(BLUE)
|
||||
EXIT CASE
|
||||
WHEN INFIELD (sec_cliente)
|
||||
CALL busca_cliente8()
|
||||
DISPLAY BY NAME prtb08.tipo_cliente,prtb08.sec_cliente,
|
||||
nombre ATTRIBUTE(BLUE)
|
||||
EXIT CASE
|
||||
END CASE
|
||||
AFTER FIELD fecha_entrega
|
||||
IF prtb08.fecha_entrega IS NULL THEN
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD fecha_entrega
|
||||
END IF
|
||||
IF prtb08.fecha_entrega < prtb08.fecha_oc THEN
|
||||
LET numero_msg =51
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD fecha_entrega
|
||||
END IF
|
||||
{
|
||||
AFTER FIELD nombre_file
|
||||
LET nombmp = FGL_GETENV("FGLBMP")
|
||||
LET nombmp = nombmp CLIPPED,prtb08.nombre_file CLIPPED,".bmp"
|
||||
DISPLAY nombmp TO bmpfld
|
||||
}
|
||||
AFTER FIELD sec_vend
|
||||
IF prtb08.sec_vend IS NOT NULL THEN
|
||||
SELECT a.nom1_emp,a.apell1_emp INTO nombres,apellidos
|
||||
FROM adtb00003 a
|
||||
WHERE a.num_emp = prtb08.sec_vend
|
||||
|
||||
IF STATUS = NOTFOUND THEN
|
||||
LET numero_msg = 3
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD sec_vend
|
||||
END IF
|
||||
LET nombre_vend = nombres CLIPPED," ",apellidos CLIPPED
|
||||
DISPLAY BY NAME nombre_vend ATTRIBUTE(BLUE)
|
||||
END IF
|
||||
|
||||
BEFORE FIELD fecha_oc
|
||||
LET prtb08.fecha_oc = TODAY
|
||||
DISPLAY BY NAME prtb08.fecha_oc ATTRIBUTE(BLUE)
|
||||
|
||||
AFTER FIELD fecha_oc
|
||||
IF prtb08.fecha_oc > TODAY THEN
|
||||
LET numero_msg = 189
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD fecha_oc
|
||||
END IF
|
||||
|
||||
AFTER FIELD cond_pago
|
||||
IF prtb08.cond_pago IS NULL THEN
|
||||
LET numero_msg = 12
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD cond_pago
|
||||
END IF
|
||||
|
||||
SELECT a.descrip INTO descrip_p
|
||||
FROM vetb00012 a
|
||||
WHERE a.cond_pago = prtb08.cond_pago AND
|
||||
a.status_t IS NULL
|
||||
|
||||
IF STATUS = NOTFOUND THEN
|
||||
LET numero_msg = 3
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD cond_pago
|
||||
END IF
|
||||
DISPLAY BY NAME descrip_p ATTRIBUTE(BLUE)
|
||||
|
||||
AFTER FIELD sec_cliente
|
||||
SELECT a.nombre INTO nombre
|
||||
FROM vetb00004 a
|
||||
WHERE a.tipo_cliente = prtb08.tipo_cliente AND
|
||||
a.sec_cliente = prtb08.sec_cliente AND
|
||||
a.status_t IS NULL
|
||||
|
||||
IF STATUS = NOTFOUND THEN
|
||||
LET numero_msg = 3
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD tipo_cliente
|
||||
END IF
|
||||
DISPLAY BY NAME nombre ATTRIBUTE(BLUE)
|
||||
|
||||
SELECT SUM(a.valor) INTO balance
|
||||
FROM cctb00001 a
|
||||
WHERE a.tipo_cliente = prtb08.tipo_cliente
|
||||
AND a.sec_cliente = prtb08.sec_cliente
|
||||
AND a.status_t IS NULL
|
||||
|
||||
DISPLAY BY NAME balance
|
||||
AFTER INPUT
|
||||
IF INT_FLAG THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET INT_FLAG = FALSE
|
||||
RETURN
|
||||
END IF
|
||||
END INPUT
|
||||
|
||||
LET p_totales.sub_total = 0
|
||||
LET prtb08.cantidad_i = 0
|
||||
LET prtb08.precio_i = 0
|
||||
LET prtb08.cantidad_mo = 0
|
||||
LET prtb08.precio_mo = 0
|
||||
LET prtb08.transporte = 0
|
||||
LET prtb08.itbis = 0
|
||||
LET p_totales.total_v = 0
|
||||
|
||||
INPUT ARRAY arr_prtb08 FROM s_pedido.*
|
||||
|
||||
BEFORE ROW
|
||||
LET curr = arr_curr()
|
||||
LET scr_l = scr_line()
|
||||
LET sub_total = 0
|
||||
|
||||
AFTER FIELD cod_sec
|
||||
LET descrip_esp = NULL
|
||||
LET p_totales.unidad_med = NULL
|
||||
|
||||
IF arr_prtb08[curr].cod_sec IS NOT NULL THEN
|
||||
SELECT a.descrip_esp, a.unidad_med INTO descrip_esp,p_totales.unidad_med
|
||||
FROM iptb00002 a
|
||||
WHERE a.cod_n = arr_prtb08[curr].cod_n AND
|
||||
a.cod_grupo = arr_prtb08[curr].cod_grupo AND
|
||||
a.cod_tipo = arr_prtb08[curr].cod_tipo AND
|
||||
a.cod_sec = arr_prtb08[curr].cod_sec AND
|
||||
a.status_t IS NULL
|
||||
|
||||
IF STATUS = NOTFOUND THEN
|
||||
LET numero_msg = 3
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD cod_n
|
||||
END IF
|
||||
END IF
|
||||
|
||||
LET arr_prtb08[curr].descrip_esp = descrip_esp
|
||||
DISPLAY arr_prtb08[curr].descrip_esp TO s_pedido[scr_l].descrip_esp ATTRIBUTE(BLUE)
|
||||
DISPLAY BY NAME p_totales.unidad_med
|
||||
|
||||
AFTER FIELD cantidad
|
||||
IF arr_prtb08[curr].cantidad IS NULL OR
|
||||
arr_prtb08[curr].cantidad < 0 THEN
|
||||
LET arr_prtb08[curr].descuento = 0
|
||||
END IF
|
||||
|
||||
AFTER FIELD precio
|
||||
IF arr_prtb08[curr].precio IS NULL OR
|
||||
arr_prtb08[curr].precio < 0 THEN
|
||||
LET arr_prtb08[curr].descuento = 0
|
||||
END IF
|
||||
|
||||
BEFORE FIELD descuento
|
||||
LET monto_desc = 0
|
||||
LET total1 = 0
|
||||
|
||||
AFTER FIELD descuento
|
||||
IF arr_prtb08[curr].descuento IS NULL THEN
|
||||
LET arr_prtb08[curr].descuento = 0
|
||||
END IF
|
||||
|
||||
LET monto_desc = (arr_prtb08[curr].precio * arr_prtb08[curr].cantidad) *
|
||||
(arr_prtb08[curr].descuento /100)
|
||||
|
||||
LET total1 = (arr_prtb08[curr].precio * arr_prtb08[curr].cantidad) - monto_desc
|
||||
LET arr_prtb08[curr].total_p = total1
|
||||
LET p_totales.sub_total = p_totales.sub_total + arr_prtb08[curr].total_p
|
||||
|
||||
DISPLAY arr_prtb08[curr].total_p TO s_pedido[scr_l].total_p
|
||||
DISPLAY BY NAME p_totales.sub_total
|
||||
|
||||
AFTER INPUT
|
||||
IF INT_FLAG THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET INT_FLAG = FALSE
|
||||
RETURN
|
||||
END IF
|
||||
LET p_totales.sub_total = 0
|
||||
FOR idx = 1 TO arr_count()
|
||||
LET p_totales.sub_total = p_totales.sub_total + arr_prtb08[idx].total_p
|
||||
END FOR
|
||||
EXIT INPUT
|
||||
END INPUT
|
||||
|
||||
DISPLAY BY NAME p_totales.sub_total
|
||||
|
||||
INPUT BY NAME prtb08.cantidad_i,prtb08.precio_i,prtb08.cantidad_mo,
|
||||
prtb08.precio_mo,prtb08.transporte,prtb08.itbis WITHOUT DEFAULTS
|
||||
|
||||
AFTER FIELD cantidad_i
|
||||
IF prtb08.cantidad_i IS NULL THEN
|
||||
LET prtb08.cantidad_i = 0
|
||||
END IF
|
||||
|
||||
AFTER FIELD precio_i
|
||||
IF prtb08.precio_i IS NULL THEN
|
||||
LET prtb08.precio_i = 0
|
||||
END IF
|
||||
LET total_i = (prtb08.cantidad_i * prtb08.precio_i)
|
||||
|
||||
AFTER FIELD cantidad_mo
|
||||
IF prtb08.cantidad_mo IS NULL THEN
|
||||
LET prtb08.cantidad_mo = 0
|
||||
END IF
|
||||
|
||||
AFTER FIELD precio_mo
|
||||
IF prtb08.precio_mo IS NULL THEN
|
||||
LET prtb08.precio_mo = 0
|
||||
END IF
|
||||
LET total_mo = (prtb08.cantidad_mo * prtb08.precio_mo)
|
||||
|
||||
AFTER FIELD transporte
|
||||
LET sub_total = (total_i + total_mo)+ p_totales.sub_total
|
||||
LET sub_total1 = sub_total + prtb08.transporte
|
||||
|
||||
#-> Bsuca el itbis disponible para la fecha actual vg
|
||||
SELECT i.itbi/100 INTO f_itbis FROM vetb00019 i
|
||||
WHERE i.disponible = "S"
|
||||
|
||||
LET prtb08.itbis = (sub_total1 * f_itbis)
|
||||
DISPLAY BY NAME prtb08.itbis
|
||||
|
||||
LET p_totales.total_v = sub_total1 + prtb08.itbis
|
||||
DISPLAY BY NAME p_totales.total_v
|
||||
|
||||
AFTER INPUT
|
||||
IF INT_FLAG THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET INT_FLAG = FALSE
|
||||
RETURN
|
||||
END IF
|
||||
EXIT INPUT
|
||||
END INPUT
|
||||
|
||||
PROMPT "TODA LA INFORMACION ESTA CORRECTA? " FOR opt4
|
||||
LET opt4 = upshift(opt4)
|
||||
IF opt4 = "S" THEN
|
||||
#START REPORT ordenes TO "c:\\archivo"
|
||||
|
||||
#-> LET prtb08.nombre_file = prtb08.nombre_file CLIPPED, ".BMP"
|
||||
INSERT INTO prtb00012 VALUES (prtb08.*)
|
||||
|
||||
UPDATE prtb00012
|
||||
SET us_crea = user,
|
||||
fech_crea = current
|
||||
WHERE @num_oc = prtb08.num_oc
|
||||
|
||||
# SE ESTA VALIDANDO EL PRODUCTO TERMINADO EN EL CODIGO DE LA MATERIA PRIMA
|
||||
# PARA CUANDO LA ORDEN SEA PARA PRODUCTOS IMPORTADOS QUE NO TIENEN COMPOSICION
|
||||
|
||||
FOR idx = 1 TO arr_count()
|
||||
IF arr_prtb08[idx].cod_n IS NOT NULL THEN
|
||||
INSERT INTO prtb00013 VALUES (prtb08.num_oc,
|
||||
arr_prtb08[idx].cod_n,
|
||||
arr_prtb08[idx].cod_grupo,
|
||||
arr_prtb08[idx].cod_tipo,
|
||||
arr_prtb08[idx].cod_sec,
|
||||
arr_prtb08[idx].bisel,
|
||||
arr_prtb08[idx].precio,
|
||||
arr_prtb08[idx].cantidad,
|
||||
arr_prtb08[idx].descuento,
|
||||
null,user,current,null,null)
|
||||
#OUTPUT TO REPORT ordenes(prtb08.num_oc,arr_prtb08[idx].*)
|
||||
END IF
|
||||
END FOR
|
||||
#FINISH REPORT ordenes
|
||||
#RUN "TYPE c:\\archivo > LPT3"
|
||||
LET numero_msg = 1
|
||||
CALL msg(numero_msg)
|
||||
END IF
|
||||
CLEAR FORM
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION prpcmf008()
|
||||
## Aqui se prepara para la captura del criterio de seleccion
|
||||
|
||||
CONSTRUCT BY NAME criterio ON a.num_oc
|
||||
|
||||
IF INT_FLAG THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET INT_FLAG = FALSE
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
LET SELEC = " SELECT UNIQUE a.* FROM prtb00012 a ",
|
||||
" WHERE ",criterio CLIPPED, " AND a.status_t IS NULL "
|
||||
|
||||
PREPARE busca FROM selec
|
||||
DECLARE datos SCROLL CURSOR FOR busca
|
||||
OPEN datos
|
||||
|
||||
FETCH FIRST datos INTO prtb08.*
|
||||
IF STATUS = NOTFOUND THEN
|
||||
LET numero_msg = 3
|
||||
CALL msg(numero_msg)
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
SELECT SUM(a.valor) INTO balance
|
||||
FROM cctb00001 a
|
||||
WHERE a.tipo_cliente = prtb08.tipo_cliente
|
||||
AND a.sec_cliente = prtb08.sec_cliente
|
||||
AND a.status_t IS NULL
|
||||
IF balance IS NULL THEN
|
||||
LET balance = 0
|
||||
END IF
|
||||
|
||||
DISPLAY BY NAME prtb08.num_oc,prtb08.fecha_oc,prtb08.tipo_cliente,
|
||||
prtb08.sec_cliente,prtb08.direccion,prtb08.telefono,
|
||||
prtb08.fax,prtb08.fecha_entrega,prtb08.cond_pago,
|
||||
balance,prtb08.cantidad_i,prtb08.precio_i,prtb08.cantidad_mo,
|
||||
prtb08.precio_mo,prtb08.transporte,prtb08.itbis,prtb08.sec_vend ATTRIBUTE(BLUE)
|
||||
|
||||
CALL busca_cliente8m()
|
||||
CALL busca_vendm8()
|
||||
#CALL limpia8()
|
||||
CALL busca_detalle8()
|
||||
LET sub_total1 = sub_total + (prtb08.cantidad_i * prtb08.precio_i) + (prtb08.cantidad_mo * prtb08.precio_mo) +
|
||||
prtb08.transporte
|
||||
LET p_totales.total_v = sub_total1 + prtb08.itbis
|
||||
DISPLAY BY NAME p_totales.total_v
|
||||
|
||||
MENU "OPCIONES "
|
||||
COMMAND "Siguiente"
|
||||
"Presenta en pantalla el proprtb08.mo registro encontrado"
|
||||
FETCH NEXT datos INTO prtb08.*
|
||||
IF STATUS = NOTFOUND THEN
|
||||
LET numero_msg = 4
|
||||
CALL msg(numero_msg)
|
||||
NEXT OPTION "anterior"
|
||||
END IF
|
||||
|
||||
SELECT SUM(a.valor) INTO balance
|
||||
FROM cctb00001 a
|
||||
WHERE a.tipo_cliente = prtb08.tipo_cliente
|
||||
AND a.sec_cliente = prtb08.sec_cliente
|
||||
AND a.status_t IS NULL
|
||||
IF balance IS NULL THEN
|
||||
LET balance = 0
|
||||
END IF
|
||||
|
||||
DISPLAY BY NAME prtb08.num_oc,prtb08.fecha_oc,prtb08.tipo_cliente,
|
||||
prtb08.sec_cliente,prtb08.direccion,prtb08.telefono,
|
||||
prtb08.fax,prtb08.fecha_entrega,prtb08.cond_pago,
|
||||
balance,prtb08.cantidad_i,prtb08.precio_i,prtb08.cantidad_mo,
|
||||
prtb08.precio_mo,prtb08.transporte,prtb08.itbis,prtb08.sec_vend ATTRIBUTE(BLUE)
|
||||
CALL busca_cliente8m()
|
||||
CALL busca_vendm8()
|
||||
#CALL limpia8()
|
||||
CALL busca_detalle8()
|
||||
LET sub_total1 = sub_total + (prtb08.cantidad_i * prtb08.precio_i) + (prtb08.cantidad_mo * prtb08.precio_mo) +
|
||||
prtb08.transporte
|
||||
LET p_totales.total_v = sub_total1 + prtb08.itbis
|
||||
DISPLAY BY NAME p_totales.total_v
|
||||
|
||||
COMMAND "Anterior"
|
||||
"Presenta en pantalla el registro anterior encontrado"
|
||||
FETCH PREVIOUS datos INTO prtb08.*
|
||||
IF STATUS = NOTFOUND THEN
|
||||
LET numero_msg = 5
|
||||
CALL msg(numero_msg)
|
||||
NEXT OPTION "siguiente"
|
||||
END IF
|
||||
|
||||
SELECT SUM(a.valor) INTO balance
|
||||
FROM cctb00001 a
|
||||
WHERE a.tipo_cliente = prtb08.tipo_cliente
|
||||
AND a.sec_cliente = prtb08.sec_cliente
|
||||
AND a.status_t IS NULL
|
||||
IF balance IS NULL THEN
|
||||
LET balance = 0
|
||||
END IF
|
||||
|
||||
DISPLAY BY NAME prtb08.num_oc,prtb08.fecha_oc,prtb08.tipo_cliente,
|
||||
prtb08.sec_cliente,prtb08.direccion,prtb08.telefono,
|
||||
prtb08.fax,prtb08.fecha_entrega,prtb08.cond_pago,
|
||||
balance,prtb08.cantidad_i,prtb08.precio_i,prtb08.cantidad_mo,
|
||||
prtb08.precio_mo,prtb08.transporte,prtb08.itbis,prtb08.sec_vend ATTRIBUTE(BLUE)
|
||||
|
||||
CALL busca_cliente8m()
|
||||
CALL busca_vendm8()
|
||||
#CALL limpia8()
|
||||
CALL busca_detalle8()
|
||||
LET sub_total1 = sub_total + (prtb08.cantidad_i * prtb08.precio_i) + (prtb08.cantidad_mo * prtb08.precio_mo) +
|
||||
prtb08.transporte
|
||||
LET p_totales.total_v = sub_total1 + prtb08.itbis
|
||||
DISPLAY BY NAME p_totales.total_v
|
||||
|
||||
COMMAND "Primero"
|
||||
"Presenta en pantalla el primer registro encontrado"
|
||||
FETCH FIRST datos INTO prtb08.*
|
||||
|
||||
SELECT SUM(a.valor) INTO balance
|
||||
FROM cctb00001 a
|
||||
WHERE a.tipo_cliente = prtb08.tipo_cliente
|
||||
AND a.sec_cliente = prtb08.sec_cliente
|
||||
AND a.status_t IS NULL
|
||||
IF balance IS NULL THEN
|
||||
LET balance = 0
|
||||
END IF
|
||||
|
||||
DISPLAY BY NAME prtb08.num_oc,prtb08.fecha_oc,prtb08.tipo_cliente,
|
||||
prtb08.sec_cliente,prtb08.direccion,prtb08.telefono,
|
||||
prtb08.fax,prtb08.fecha_entrega,prtb08.cond_pago,
|
||||
balance,prtb08.cantidad_i,prtb08.precio_i,prtb08.cantidad_mo,
|
||||
prtb08.precio_mo,prtb08.transporte,prtb08.itbis,prtb08.sec_vend ATTRIBUTE(BLUE)
|
||||
|
||||
CALL busca_cliente8m()
|
||||
CALL busca_vendm8()
|
||||
#CALL limpia8()
|
||||
CALL busca_detalle8()
|
||||
|
||||
LET sub_total1 = sub_total + (prtb08.cantidad_i * prtb08.precio_i) + (prtb08.cantidad_mo * prtb08.precio_mo) +
|
||||
prtb08.transporte
|
||||
LET p_totales.total_v = sub_total1 + prtb08.itbis
|
||||
DISPLAY BY NAME p_totales.total_v
|
||||
|
||||
NEXT OPTION "primero"
|
||||
COMMAND "Ultimo"
|
||||
"Presenta en pantalla el ultimo registro encontrado"
|
||||
FETCH LAST datos INTO prtb08.*
|
||||
|
||||
SELECT SUM(a.valor) INTO balance
|
||||
FROM cctb00001 a
|
||||
WHERE a.tipo_cliente = prtb08.tipo_cliente
|
||||
AND a.sec_cliente = prtb08.sec_cliente
|
||||
AND a.status_t IS NULL
|
||||
IF balance IS NULL THEN
|
||||
LET balance = 0
|
||||
END IF
|
||||
|
||||
DISPLAY BY NAME prtb08.num_oc,prtb08.fecha_oc,prtb08.tipo_cliente,
|
||||
prtb08.sec_cliente,prtb08.direccion,prtb08.telefono,
|
||||
prtb08.fax,prtb08.fecha_entrega,prtb08.cond_pago,
|
||||
balance,prtb08.cantidad_i,prtb08.precio_i,prtb08.cantidad_mo,
|
||||
prtb08.precio_mo,prtb08.transporte,prtb08.itbis,prtb08.sec_vend ATTRIBUTE(BLUE)
|
||||
|
||||
CALL busca_cliente8m()
|
||||
CALL busca_vendm8()
|
||||
#CALL limpia8()
|
||||
CALL busca_detalle8()
|
||||
|
||||
NEXT OPTION "anterior"
|
||||
COMMAND KEY ("N") "aNular"
|
||||
PROMPT "Esta seguro?" FOR esta
|
||||
LET esta = UPSHIFT(esta)
|
||||
IF esta = "S" THEN
|
||||
UPDATE prtb00012 set status_t = "E",
|
||||
us_mod = user,
|
||||
fech_mod = current
|
||||
WHERE num_oc = prtb08.num_oc
|
||||
|
||||
UPDATE prtb00012 set status_t = "E",
|
||||
us_mod = user,
|
||||
fech_mod = current
|
||||
WHERE num_oc = prtb08.num_oc
|
||||
LET numero_msg = 39
|
||||
CALL msg(numero_msg)
|
||||
END IF
|
||||
|
||||
COMMAND "Retornar"
|
||||
"Retorna al menu anterior"
|
||||
EXIT MENU
|
||||
END MENU
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION limpia8()
|
||||
|
||||
FOR idx = 1 TO 10
|
||||
LET arr_prtb08[idx].cod_n = NULL
|
||||
LET arr_prtb08[idx].cod_grupo = NULL
|
||||
LET arr_prtb08[idx].cod_tipo = NULL
|
||||
LET arr_prtb08[idx].cod_sec = NULL
|
||||
LET arr_prtb08[idx].descrip_esp = NULL
|
||||
LET arr_prtb08[idx].bisel = NULL
|
||||
LET arr_prtb08[idx].cantidad = NULL
|
||||
LET arr_prtb08[idx].precio = NULL
|
||||
LET arr_prtb08[idx].descuento = NULL
|
||||
END FOR
|
||||
|
||||
FOR idx = 1 TO 5
|
||||
DISPLAY arr_prtb08[idx].cod_n TO s_pedido[idx].cod_n
|
||||
DISPLAY arr_prtb08[idx].cod_grupo TO s_pedido[idx].cod_grupo
|
||||
DISPLAY arr_prtb08[idx].cod_tipo TO s_pedido[idx].cod_tipo
|
||||
DISPLAY arr_prtb08[idx].cod_sec TO s_pedido[idx].cod_sec
|
||||
DISPLAY arr_prtb08[idx].descrip_esp TO s_pedido[idx].descrip_esp
|
||||
DISPLAY arr_prtb08[idx].bisel TO s_pedido[idx].bisel
|
||||
|
||||
DISPLAY arr_prtb08[idx].cantidad TO s_pedido[idx].cantidad
|
||||
DISPLAY arr_prtb08[idx].precio TO s_pedido[idx].precio
|
||||
DISPLAY arr_prtb08[idx].descuento TO s_pedido[idx].descuento
|
||||
DISPLAY arr_prtb08[idx].total_p TO s_pedido[idx].total_p
|
||||
END FOR
|
||||
|
||||
END FUNCTION
|
||||
FUNCTION busca_detalle8()
|
||||
|
||||
DECLARE busca_d CURSOR FOR
|
||||
SELECT a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec," ",a.bisel,a.cantidad,a.precio,a.descuento
|
||||
FROM prtb00013 a
|
||||
WHERE a.num_oc = prtb08.num_oc
|
||||
|
||||
LET idx = 1
|
||||
FOREACH busca_d INTO arr_prtb08[idx].*
|
||||
SELECT a.descrip_esp,a.unidad_med INTO arr_prtb08[idx].descrip_esp,p_totales.unidad_med
|
||||
FROM iptb00002 a
|
||||
WHERE a.cod_n = arr_prtb08[idx].cod_n AND
|
||||
a.cod_grupo = arr_prtb08[idx].cod_grupo AND
|
||||
a.cod_tipo = arr_prtb08[idx].cod_tipo AND
|
||||
a.cod_sec = arr_prtb08[idx].cod_sec AND
|
||||
a.status_t IS NULL
|
||||
LET monto_desc = 0
|
||||
LET total1 = 0
|
||||
|
||||
LET monto_desc = (arr_prtb08[idx].precio * arr_prtb08[idx].cantidad) * (arr_prtb08[idx].descuento /100)
|
||||
LET total1 = (arr_prtb08[idx].precio * arr_prtb08[idx].cantidad) - monto_desc
|
||||
LET arr_prtb08[idx].total_p = total1
|
||||
|
||||
DISPLAY arr_prtb08[idx].cod_n TO s_pedido[idx].cod_n
|
||||
DISPLAY arr_prtb08[idx].cod_grupo TO s_pedido[idx].cod_grupo
|
||||
DISPLAY arr_prtb08[idx].cod_tipo TO s_pedido[idx].cod_tipo
|
||||
DISPLAY arr_prtb08[idx].cod_sec TO s_pedido[idx].cod_sec
|
||||
DISPLAY arr_prtb08[idx].descrip_esp TO s_pedido[idx].descrip_esp ATTRIBUTE(BLUE)
|
||||
DISPLAY arr_prtb08[idx].bisel TO s_pedido[idx].bisel ATTRIBUTE(BLUE)
|
||||
|
||||
DISPLAY arr_prtb08[idx].cantidad TO s_pedido[idx].cantidad
|
||||
DISPLAY arr_prtb08[idx].precio TO s_pedido[idx].precio ATTRIBUTE(BLUE)
|
||||
DISPLAY arr_prtb08[idx].descuento TO s_pedido[idx].descuento
|
||||
DISPLAY arr_prtb08[idx].total_p TO s_pedido[idx].total_p
|
||||
|
||||
LET p_totales.sub_total = p_totales.sub_total + arr_prtb08[idx].total_p
|
||||
LET idx = idx + 1
|
||||
END FOREACH
|
||||
DISPLAY BY NAME p_totales.sub_total,p_totales.unidad_med
|
||||
|
||||
LET total_i = (prtb08.cantidad_i * prtb08.precio_i)
|
||||
LET total_mo = (prtb08.cantidad_mo * prtb08.precio_mo)
|
||||
LET sub_total = (total_i + total_mo)+ p_totales.sub_total
|
||||
LET sub_total1 = sub_total + prtb08.transporte
|
||||
|
||||
DISPLAY BY NAME prtb08.itbis
|
||||
LET p_totales.total_v = sub_total1 + prtb08.itbis
|
||||
DISPLAY BY NAME p_totales.total_v
|
||||
|
||||
END FUNCTION
|
||||
{
|
||||
REPORT pedido(xnumero,z)
|
||||
DEFINE z RECORD
|
||||
cod_n_c LIKE prtb00008.cod_n,
|
||||
cod_grupo_c LIKE prtb00008.cod_grupo,
|
||||
cod_tipo_c LIKE prtb00008.cod_tipo,
|
||||
cod_sec_c LIKE prtb00008.cod_sec,
|
||||
cantidad_c LIKE prtb00008.cantidad ,
|
||||
descrip_esp_c LIKE intb00001.descrip_esp,
|
||||
unidad_c LIKE intb00001.unidad_med
|
||||
END RECORD,
|
||||
i,xnumero INTEGER,
|
||||
negrillas_on,negrillas_off,doble CHAR(2)
|
||||
|
||||
OUTPUT
|
||||
LEFT MARGIN 0
|
||||
|
||||
ORDER BY xnumero
|
||||
FORMAT
|
||||
PAGE HEADER
|
||||
LET negrillas_on = ASCII 27, ASCII 69
|
||||
LET negrillas_off = ASCII 27, ASCII 70
|
||||
LET doble = ASCII 14
|
||||
|
||||
LET l = (80 - LENGTH(p_compania.nombre CLIPPED))/2
|
||||
PRINT COLUMN l, p_compania.nombre CLIPPED,
|
||||
COLUMN 70, TODAY USING "DD/MM/YY"
|
||||
LET l = (80 - LENGTH("ORDEN DE PRODUCCION"))/2
|
||||
PRINT COLUMN l, "ORDEN DE PRODUCCION",
|
||||
COLUMN 70, TIME
|
||||
|
||||
PRINT COLUMN 1, "NO. ORDEN: ",doble_on,xnumero USING "<<<<<<"
|
||||
PRINT COLUMN 1, "FECHA : ",negrillas_on,prtb08.fecha
|
||||
USING "DD/MM/YY",negrillas_off
|
||||
PRINT COLUMN 1, "vendedor8 : ",negrillas_on,prtb08.sec_vend USING "<<<<",
|
||||
" ",nombre_vend,negrillas_off
|
||||
PRINT COLUMN 1, "CLIENTE : ",negrillas_on,prtb08.tipo_cliente USING "<<",
|
||||
prtb08.sec_cliente
|
||||
USING "<<<<"," "," ",
|
||||
nombre,negrillas_off
|
||||
PRINT COLUMN 1, "PRODUCTO : ",negrillas_on,prtb08.cod_n USING "&","-",
|
||||
prtb08.cod_grupo USING "&","-",
|
||||
prtb08.cod_tipo USING "&&","-",
|
||||
prtb08.cod_sec
|
||||
USING "&&&"," ",negrillas_off,descrip_esp," ",
|
||||
unidad,negrillas_off
|
||||
PRINT COLUMN 1, "CANTIDAD : ",negrillas_on, prtb08.cantidad USING "<<,<<<",
|
||||
negrillas_off
|
||||
FOR i = 1 TO 70
|
||||
PRINT "-";
|
||||
END FOR
|
||||
PRINT "-"
|
||||
PRINT "COMPOSICION PRODUCTO..."
|
||||
FOR i = 1 TO 70
|
||||
PRINT "-";
|
||||
END FOR
|
||||
PRINT "-"
|
||||
ON EVERY ROW
|
||||
PRINT COLUMN 1, z.cod_n_c USING "&","-",
|
||||
z.cod_grupo_c USING "&","-",
|
||||
z.cod_tipo_c USING "&&","-",
|
||||
z.cod_sec_c USING "&&&","-",
|
||||
" ",z.descrip_esp_c," ",z.unidad_c,
|
||||
" ",z.cantidad_c USING "###,###.###"
|
||||
PAGE TRAILER
|
||||
PRINT COLUMN 10, "-------------------",
|
||||
COLUMN 35, "-------------------"
|
||||
|
||||
PRINT COLUMN 13, "AUTORIZADO POR",
|
||||
COLUMN 39, "REVISADO POR"
|
||||
END REPORT
|
||||
}
|
||||
|
||||
FUNCTION busca_cliente8()
|
||||
OPEN WINDOW busqueda AT 7,12 WITH FORM "vefmwd002"
|
||||
ATTRIBUTE (BORDER,FORM LINE FIRST + 2,COMMENT LINE LAST,MESSAGE LINE LAST)
|
||||
|
||||
LET INT_FLAG = false
|
||||
CONSTRUCT criterio ON a.nombre FROM nombre
|
||||
|
||||
LET selec2 = "SELECT a.tipo_cliente, a.sec_cliente, a.nombre ",
|
||||
" FROM vetb00004 a",
|
||||
" WHERE ",
|
||||
"a.status_t is NULL AND ",
|
||||
criterio clipped,
|
||||
"ORDER BY 1,2 "
|
||||
|
||||
IF INT_FLAG THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
GO TO salir_consulta_c
|
||||
END IF
|
||||
|
||||
PREPARE busca_cliente8s FROM selec2
|
||||
IF status >= 0 THEN
|
||||
IF status = notfound THEN
|
||||
LET numero_msg = 3
|
||||
CALL msg(numero_msg)
|
||||
END IF
|
||||
ELSE
|
||||
CALL integridad()
|
||||
IF bandera = 1 THEN
|
||||
LET bandera = 0
|
||||
END IF
|
||||
END IF
|
||||
|
||||
DECLARE buscar_clientes CURSOR FOR busca_cliente8s
|
||||
LET idx = 1
|
||||
|
||||
FOREACH buscar_clientes INTO arr_clientes[idx].*
|
||||
IF status = NOTFOUND THEN
|
||||
EXIT FOREACH
|
||||
END IF
|
||||
|
||||
IF INT_FLAG THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
EXIT FOREACH
|
||||
END IF
|
||||
|
||||
LET idx = idx + 1
|
||||
END FOREACH
|
||||
|
||||
CALL set_count(idx-1)
|
||||
MESSAGE " <Esc> Selecciona Cliente donde esta el cursor"
|
||||
DISPLAY ARRAY arr_clientes TO s_clientes.*
|
||||
LET curr1 = arr_curr()
|
||||
|
||||
LET prtb08.tipo_cliente = arr_clientes[curr1].tipo_cliente
|
||||
LET prtb08.sec_cliente = arr_clientes[curr1].sec_cliente
|
||||
LET nombre = arr_clientes[curr1].nombre
|
||||
|
||||
LABEL salir_consulta_c:
|
||||
CLOSE WINDOW busqueda
|
||||
END FUNCTION
|
||||
FUNCTION busca_cliente8m()
|
||||
SELECT a.nombre INTO nombre
|
||||
FROM vetb00004 a
|
||||
WHERE a.tipo_cliente = prtb08.tipo_cliente AND
|
||||
a.sec_cliente = prtb08.sec_cliente AND
|
||||
a.status_t IS NULL
|
||||
|
||||
SELECT a.descrip INTO descrip_p
|
||||
FROM vetb00012 a
|
||||
WHERE a.cond_pago = prtb08.cond_pago AND
|
||||
a.status_t IS NULL
|
||||
|
||||
DISPLAY BY NAME nombre,descrip_p ATTRIBUTE(BLUE)
|
||||
END FUNCTION
|
||||
FUNCTION busca_product8()
|
||||
SELECT a.descrip_esp,a.unidad_med INTO descrip_esp,unidad
|
||||
FROM iptb00002 a
|
||||
WHERE a.cod_n = prtb08.cod_n AND
|
||||
a.cod_grupo = prtb08.cod_grupo AND
|
||||
a.cod_tipo = prtb08.cod_tipo AND
|
||||
a.cod_sec = prtb08.cod_sec
|
||||
|
||||
DISPLAY BY NAME unidad,descrip_esp ATTRIBUTE(BLUE)
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION vendedor8es()
|
||||
DEFINE descrip6 LIKE adtb00003.nom1_emp
|
||||
|
||||
OPEN WINDOW busqueda2 AT 7,12 WITH FORM "vefmwd001"
|
||||
ATTRIBUTE (BORDER,FORM LINE FIRST + 2,COMMENT LINE LAST,MESSAGE LINE LAST)
|
||||
|
||||
LET INT_FLAG = false
|
||||
CONSTRUCT criterio ON a.nom1_emp FROM descrip6
|
||||
|
||||
LET selec2 = "SELECT UNIQUE a.num_emp,a.nom1_emp,a.apell1_emp ",
|
||||
" FROM adtb00003 a,vetb00028 b",
|
||||
" WHERE a.num_emp = b.sec_vend AND ",
|
||||
"a.status_t is NULL AND ",
|
||||
criterio clipped,
|
||||
"ORDER BY 1 "
|
||||
|
||||
IF INT_FLAG THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
GO TO salir_consulta_e
|
||||
END IF
|
||||
|
||||
PREPARE busca_empleados FROM selec2
|
||||
IF status >= 0 THEN
|
||||
IF status = notfound THEN
|
||||
LET numero_msg = 3
|
||||
CALL msg(numero_msg)
|
||||
END IF
|
||||
ELSE
|
||||
CALL integridad()
|
||||
IF bandera = 1 THEN
|
||||
LET bandera = 0
|
||||
END IF
|
||||
END IF
|
||||
|
||||
DECLARE buscar_empleados CURSOR FOR busca_empleados
|
||||
LET idx = 1
|
||||
|
||||
FOREACH buscar_empleados INTO arr_empleados[idx].*
|
||||
IF status = NOTFOUND THEN
|
||||
EXIT FOREACH
|
||||
END IF
|
||||
|
||||
IF INT_FLAG THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
EXIT FOREACH
|
||||
END IF
|
||||
|
||||
LET empleados[idx].cod_emp_sec = arr_empleados[idx].num_emp
|
||||
LET empleados[idx].descrip6 =
|
||||
arr_empleados[idx].nom1_emp clipped," ",arr_empleados[idx].apell1_emp clipped
|
||||
LET idx = idx + 1
|
||||
END FOREACH
|
||||
|
||||
CALL set_count(idx-1)
|
||||
MESSAGE " <Esc> Selecciona Empleado donde esta el cursor"
|
||||
DISPLAY ARRAY empleados TO s_empleados.*
|
||||
LET curr1 = scr_line()
|
||||
|
||||
LET prtb08.sec_vend = empleados[curr1].cod_emp_sec
|
||||
LET nombre_vend = empleados[curr1].descrip6
|
||||
LABEL salir_consulta_e:
|
||||
CLOSE WINDOW busqueda2
|
||||
END FUNCTION
|
||||
FUNCTION busca_vendm8()
|
||||
IF prtb08.sec_vend IS NOT NULL THEN
|
||||
SELECT a.nom1_emp,a.apell1_emp INTO nombres,apellidos
|
||||
FROM adtb00003 a
|
||||
WHERE a.num_emp = prtb08.sec_vend
|
||||
|
||||
LET nombre_vend = nombres CLIPPED," ",apellidos CLIPPED
|
||||
DISPLAY BY NAME nombre_vend ATTRIBUTE(BLUE)
|
||||
END IF
|
||||
END FUNCTION
|
||||
@@ -0,0 +1,324 @@
|
||||
{
|
||||
------------------------------------------------------------------
|
||||
PROGRAMA : PRPRMT010
|
||||
OBJETIVO : Capturar, Modificar, Eliminar registros de la
|
||||
Tabla de Areas de Instalacion.
|
||||
PROGRAMPROR : Victor Gomez C.
|
||||
FECHA REALIZACION : Friday, October 05, 2001
|
||||
------------------------------------------------------------------
|
||||
}
|
||||
GLOBALS "prprgb000.4gl"
|
||||
MAIN
|
||||
DEFER INTERRUPT
|
||||
CALL ARG_VAL(1) RETURNING usuarios
|
||||
CALL ARG_VAL(2) RETURNING clave
|
||||
|
||||
CONNECT to "decomarmol" USER usuarios USING clave
|
||||
|
||||
CALL prprmt010()
|
||||
END MAIN
|
||||
|
||||
FUNCTION prprmt010()
|
||||
CLEAR SCREEN
|
||||
OPTIONS
|
||||
FORM LINE 9,
|
||||
ERROR LINE 23,
|
||||
COMMENT LINE 21
|
||||
|
||||
OPEN FORM prfmmt010 FROM "prfmmt010"
|
||||
DISPLAY FORM prfmmt010
|
||||
|
||||
MENU "OPCIONES"
|
||||
COMMAND "Adicionar"
|
||||
"<Esc> Adiciona Registro <Supr> Cancela Operacion"
|
||||
let int_flag = false
|
||||
CLEAR FORM
|
||||
CALL prpcpr010()
|
||||
COMMAND "Consultar-modificar"
|
||||
"<Esc> Realiza Busqueda <Supr> Cancela Operacion"
|
||||
let int_flag = false
|
||||
CALL prpcmf010()
|
||||
COMMAND "Imprimir"
|
||||
let int_flag = false
|
||||
CALL primp010()
|
||||
COMMAND "Salir" "Retorna Menu Anterior"
|
||||
EXIT MENU
|
||||
END MENU
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION prpcpr010()
|
||||
# WHENEVER ERROR CONTINUE
|
||||
|
||||
## CAPTURA LOS DATOS QUE VA A CONTENER EL REGISTRO
|
||||
INPUT BY NAME prtb16.*
|
||||
|
||||
BEFORE FIELD area_num
|
||||
SELECT MAX(area_num) INTO prtb16.area_num FROM prtb00016
|
||||
|
||||
IF prtb16.area_num IS NULL THEN
|
||||
LET prtb16.area_num = 0
|
||||
END IF
|
||||
LET prtb16.area_num = prtb16.area_num + 1
|
||||
|
||||
DISPLAY BY NAME prtb16.area_num
|
||||
NEXT FIELD nombre_area
|
||||
{
|
||||
AFTER FIELD area_num
|
||||
IF prtb16.area_num IS NULL THEN
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD area_num
|
||||
ELSE
|
||||
SELECT a.* INTO prtb16.* FROM prtb00006 a
|
||||
WHERE a.area_num = prtb16.area_num
|
||||
|
||||
IF status >= 0 THEN
|
||||
IF status != NOTFOUND THEN
|
||||
IF prtb16.status_t = "E" THEN
|
||||
LET numero_msg = 36
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD area_num
|
||||
END IF
|
||||
|
||||
DISPLAY BY NAME prtb16.*
|
||||
LET numero_msg = 12
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD area_num
|
||||
END IF
|
||||
ELSE
|
||||
CALL integridad()
|
||||
IF bandera = 1 THEN
|
||||
CLEAR SCREEN
|
||||
RETURN
|
||||
END IF
|
||||
END IF
|
||||
END IF
|
||||
}
|
||||
AFTER FIELD nombre_area
|
||||
IF prtb16.nombre_area is null THEN
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD nombre_area
|
||||
END IF
|
||||
|
||||
END INPUT
|
||||
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = FALSE
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
|
||||
INSERT INTO prtb00016 VALUES (prtb16.*)
|
||||
UPDATE prtb00016 SET (us_crea,fech_crea) = (SUSER_SNAME(),GETDATE())
|
||||
WHERE @area_num = prtb16.area_num
|
||||
|
||||
LET numero_msg = 1
|
||||
CALL msg(numero_msg)
|
||||
CLEAR FORM
|
||||
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION prpcmf010()
|
||||
## AQUI SE PREPARA PARA LA CAPTURA DEL CRITERIO DE SELECCION PARA LA
|
||||
## MODIFICACION DE REGISTROS
|
||||
|
||||
# WHENEVER ERROR CONTINUE
|
||||
CONSTRUCT BY NAME criterio ON a.area_num,a.nombre_area
|
||||
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = FALSE
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
LET SELEC = " SELECT UNIQUE a.* FROM prtb00016 a ",
|
||||
" WHERE a.status_t is null and ",criterio clipped," ORDER BY a.area_num"
|
||||
|
||||
PREPARE busca FROM selec
|
||||
CALL integridad()
|
||||
|
||||
IF bandera = 1 THEN
|
||||
CLEAR SCREEN
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
DECLARE dato SCROLL CURSOR FOR busca
|
||||
OPEN dato
|
||||
|
||||
FETCH FIRST dato INTO prtb16.*
|
||||
|
||||
IF status >= 0 THEN
|
||||
IF STATUS = NOTFOUND THEN
|
||||
LET numero_msg = 3
|
||||
CALL msg(numero_msg)
|
||||
RETURN
|
||||
END IF
|
||||
ELSE
|
||||
CALL integridad()
|
||||
|
||||
IF bandera = 1 THEN
|
||||
CLEAR SCREEN
|
||||
RETURN
|
||||
END IF
|
||||
END IF
|
||||
DISPLAY BY NAME prtb16.*
|
||||
|
||||
MENU "OPCIONES "
|
||||
COMMAND "Siguiente"
|
||||
"Presenta en pantalla el proximo registro encontrpro"
|
||||
FETCH NEXT dato INTO prtb16.*
|
||||
IF STATUS = NOTFOUND THEN
|
||||
LET numero_msg = 4
|
||||
CALL msg(numero_msg)
|
||||
END IF
|
||||
DISPLAY BY NAME prtb16.*
|
||||
|
||||
COMMAND "Anterior"
|
||||
"Presenta en pantalla el registro anterior encontrpro"
|
||||
FETCH PREVIOUS dato INTO prtb16.*
|
||||
IF STATUS = NOTFOUND THEN
|
||||
LET numero_msg = 5
|
||||
CALL msg(numero_msg)
|
||||
END IF
|
||||
DISPLAY BY NAME prtb16.*
|
||||
|
||||
COMMAND "Primero"
|
||||
"Presenta en pantalla el primer registro encontrpro"
|
||||
FETCH FIRST dato INTO prtb16.*
|
||||
DISPLAY BY NAME prtb16.*
|
||||
LET numero_msg = 5
|
||||
CALL msg(numero_msg)
|
||||
|
||||
COMMAND "Ultimo"
|
||||
"Presenta en pantalla el ultimo registro encontrpro"
|
||||
FETCH LAST dato INTO prtb16.*
|
||||
DISPLAY BY NAME prtb16.*
|
||||
LET numero_msg = 4
|
||||
CALL msg(numero_msg)
|
||||
|
||||
COMMAND "Escoger"
|
||||
"<Esc> Actualiza Registro <Supr> Cancela Operacion"
|
||||
IF prtb16.status_t = "E" THEN
|
||||
LET numero_msg = 39
|
||||
CALL msg(numero_msg)
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
## SE SELECCIONAN LOS CAMPOS QUE SON MODIFICABLES
|
||||
INPUT BY NAME prtb16.nombre_area,
|
||||
prtb16.us_crea,
|
||||
prtb16.fech_crea,
|
||||
prtb16.us_mod,
|
||||
prtb16.fech_mod WITHOUT DEFAULTS
|
||||
|
||||
AFTER FIELD nombre_area
|
||||
|
||||
IF prtb16.nombre_area is null THEN
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD nombre_area
|
||||
END IF
|
||||
|
||||
END INPUT
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = FALSE
|
||||
CLEAR FORM
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
CALL integridad()
|
||||
|
||||
IF bandera = 1 THEN
|
||||
CLEAR SCREEN
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
## AQUI SE ACTUALIZA EL REGISTRO
|
||||
UPDATE prtb00016 SET nombre_area = prtb16.nombre_area,
|
||||
us_mod = SUSER_SNAME(),
|
||||
fech_mod = GETDATE()
|
||||
WHERE @area_num = prtb16.area_num
|
||||
|
||||
LET numero_msg = 13
|
||||
CALL msg(numero_msg)
|
||||
|
||||
## AQUI SE ELIMINAN LOS REGISTROS
|
||||
COMMAND KEY ("L") "eLiminar"
|
||||
UPDATE prtb00016 SET status_t = "E"
|
||||
WHERE a.area_num = prtb16.area_num
|
||||
|
||||
LET numero_msg = 39
|
||||
CALL msg(numero_msg)
|
||||
|
||||
COMMAND "Retornar"
|
||||
"Retorna al menu anterior"
|
||||
CLEAR FORM
|
||||
EXIT MENU
|
||||
END MENU
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION primp010()
|
||||
DEFINE pprtb16 RECORD LIKE prtb00016.*
|
||||
|
||||
DISPLAY "IMPRESION EN PROCESO...." AT 20,1
|
||||
DECLARE busca_area CURSOR FOR
|
||||
SELECT a.* FROM prtb00016 a
|
||||
WHERE a.status_t IS NULL
|
||||
ORDER BY 2
|
||||
|
||||
START REPORT imparea TO "c:\\archivo"
|
||||
|
||||
FOREACH busca_area INTO pprtb16.*
|
||||
OUTPUT TO REPORT imparea(pprtb16.*)
|
||||
END FOREACH
|
||||
FINISH REPORT imparea
|
||||
RUN "type c:\\archivo > %USPRINT%"
|
||||
|
||||
DISPLAY " " AT 20,1
|
||||
|
||||
END FUNCTION
|
||||
|
||||
REPORT imparea(x)
|
||||
DEFINE x RECORD LIKE prtb00016.*,
|
||||
normal,comp_on,comp_off,doce,negrillas_on,negrillas_off,
|
||||
doble_on,doble_off CHAR(2),
|
||||
l SMALLINT
|
||||
|
||||
FORMAT
|
||||
PAGE HEADER
|
||||
LET normal = ASCII 27, ASCII 80
|
||||
LET comp_on = ASCII 15
|
||||
LET comp_off = ASCII 18
|
||||
LET doce = ASCII 27, ascii 77
|
||||
LET negrillas_on = ASCII 27, ASCII 69
|
||||
LET negrillas_off = ASCII 27, ASCII 70
|
||||
LET doble_on = ASCII 14
|
||||
LET doble_off = ASCII 20
|
||||
|
||||
PRINT COLUMN 1, normal
|
||||
LET l = (60 - LENGTH(p_compania.nombre))/2
|
||||
PRINT COLUMN l,doce,doble_on, p_compania.nombre CLIPPED,doble_off,
|
||||
COLUMN 52,TODAY USING "DD/MM/YYYY"
|
||||
|
||||
LET l = (74- LENGTH("MAESTRA DE AREAS"))/2
|
||||
|
||||
PRINT COLUMN l, "MAESTRA DE AREAS",
|
||||
COLUMN 70, "Pagina: ",pageno USING "<<<"
|
||||
|
||||
PRINT COLUMN 1, "-----------------------------------------------------------------"
|
||||
PRINT COLUMN 1, "AREAS........."
|
||||
PRINT COLUMN 1, "-----------------------------------------------------------------"
|
||||
|
||||
ON EVERY ROW
|
||||
PRINT COLUMN 1, x.area_num USING "<<<<",
|
||||
COLUMN 10, x.nombre_area
|
||||
ON LAST ROW
|
||||
SKIP 1 LINE
|
||||
PRINT COLUMN 1,"Total Registros: ",COUNT(*) USING "<<<<"
|
||||
END REPORT
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,57 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<report:Report xmlns:rtl="http://www.4js.com/2004/RTL" xmlns:report="http://www.4js.com/2007/REPORT" xmlns="http://www.4js.com/2004/PXML" gstVersion="31405" version="6.00">
|
||||
<report:Settings RWPageWidth="letterlength" RWPageLength="letterwidth" RWLeftMargin="0.5inch" RWTopMargin="0.5inch" RWRightMargin="0.5inch" RWBottomMargin="0.5inch">
|
||||
<report:FormatList>
|
||||
<report:Format-SVG/>
|
||||
<report:Format-PDF/>
|
||||
<report:Format-image/>
|
||||
</report:FormatList>
|
||||
</report:Settings>
|
||||
<report:Data RWDataLocation="../PRDIR/prprmt011.rdd" RWFglReportName="rdibujo"/>
|
||||
<report:Conflicts/>
|
||||
<rtl:stylesheet>
|
||||
<PXML>
|
||||
<rtl:match name="Report" nameConstraint="Report">
|
||||
<MINIPAGE name="Page Root" width="max" length="max">
|
||||
<LAYOUTNODE name="Page Header" width="max" length="min" port="anyPageHeader">
|
||||
<MINIPAGE name="StripeLayouter3" width="min" length="max" layoutDirection="leftToRight">
|
||||
<WORDBOX name="Report Title" x="0" y="max/2" anchorX="0" anchorY="0.5" alignment="baseline" fontSize="25" baselineType="leftleft" floatingBehavior="enclosed" text="MARMOTECH, S. A."/>
|
||||
<WORDBOX name="txtpagina" x="2.2" y="max-2cm" floatingBehavior="enclosed" text="PAGINA"/>
|
||||
<PAGENOBOX name="PageNoBox" x="1.23857" y="max" anchorX="0" anchorY="1" alignment="baseline" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="right"/>
|
||||
</MINIPAGE>
|
||||
<MINIPAGE name="Table Header" width="min" length="max" layoutDirection="leftToRight">
|
||||
<WORDBOX name="Spacer" alignment="baseline" baselineType="leftleft" port="itemSeparator" text=" "/>
|
||||
<WORDBOX name="WordBox" width="3cm" floatingBehavior="enclosed" text="ORDEN"/>
|
||||
<WORDBOX name="WordBox1" width="3cm" floatingBehavior="enclosed" text="FECHA"/>
|
||||
<WORDBOX name="WordBox2" width="8cm" floatingBehavior="enclosed" text="CLIENTE"/>
|
||||
<WORDBOX name="WordBox3" width="6cm" floatingBehavior="enclosed" text="COTIZACION"/>
|
||||
<rtl:input-variable name="tiempo" type="FGLString" expectedLocation="expectedAhead"/>
|
||||
<WORDBOX name="hora" width="4.2cm" floatingBehavior="enclosed" text="{{tiempo.trim()}}"/>
|
||||
</MINIPAGE>
|
||||
<MINIPAGE name="Separator" width="1" length="max" bgColor="#000000" layoutDirection="leftToRight"/>
|
||||
</LAYOUTNODE>
|
||||
<rtl:match name="OnEveryRow" nameConstraint="OnEveryRow" minOccurs="0" maxOccurs="unbounded">
|
||||
<MINIPAGE name="Table Row" width="min" length="max" layoutDirection="leftToRight">
|
||||
<WORDBOX name="Spacer_1" alignment="baseline" baselineType="leftleft" port="itemSeparator" text=" "/>
|
||||
<rtl:input-variable name="znumero" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="WordBox4" width="3cm" floatingBehavior="enclosed" text="{{znumero.format("&&&&&&")}}"/>
|
||||
<rtl:input-variable name="xfecha" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="WordBox5" width="3cm" floatingBehavior="enclosed" text="{{xfecha}}"/>
|
||||
<rtl:input-variable name="xtipo" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<rtl:input-variable name="xsec" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<rtl:input-variable name="xcliente" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="WordBox6" width="6cm" floatingBehavior="enclosed" text="{{xtipo.toString()+"-"+xsec.toString()+" "+xcliente.trim()}}"/>
|
||||
<rtl:input-variable name="xcotiza" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="WordBox7" width="4cm" floatingBehavior="enclosed" textAlignment="right" text="{{xcotiza.format("&&&&&&&&")}}"/>
|
||||
</MINIPAGE>
|
||||
</rtl:match>
|
||||
<LAYOUTNODE name="LayoutNode" width="min" length="min" floatingBehavior="enclosed">
|
||||
<WORDBOX name="Spacer_1_1" length="2cm" alignment="baseline" baselineType="leftleft" port="itemSeparator" text=" "/>
|
||||
<rtl:input-variable name="xruta" type="FGLString" expectedLocation="expectedBefore"/>
|
||||
<IMAGEBOX name="ImageBox" width="700" floatingBehavior="enclosed" url="{{xruta.trim()}}" intendedResolution="96"/>
|
||||
</LAYOUTNODE>
|
||||
</MINIPAGE>
|
||||
</rtl:match>
|
||||
</PXML>
|
||||
</rtl:stylesheet>
|
||||
</report:Report>
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,368 @@
|
||||
{
|
||||
==============================================================================
|
||||
PROGRAMA : PRPRRP116
|
||||
SISTEMA : PRODUCCION
|
||||
OBJETIVO : LISTAR ORDENES DE PRODUCCION
|
||||
AUTOR : JUAN F. SOTO
|
||||
FECHA : SEPTIEMBRE 9, 2010
|
||||
==============================================================================
|
||||
}
|
||||
|
||||
GLOBALS
|
||||
"prprgb000.4gl"
|
||||
DEFINE rango RECORD
|
||||
fecha_inicial DATE,
|
||||
fecha_final DATE
|
||||
END RECORD,
|
||||
porpantalla CHAR(1)
|
||||
MAIN
|
||||
DEFER INTERRUPT
|
||||
CALL ARG_VAL(1) RETURNING usuarios
|
||||
CALL ARG_VAL(2) RETURNING clave
|
||||
CALL ARG_VAL(3) RETURNING impresor
|
||||
CALL ARG_VAL(4) RETURNING copia
|
||||
|
||||
CONNECT to "decomarmol" USER usuarios USING clave
|
||||
SELECT a.* INTO p_compania.* FROM companias a
|
||||
CALL prprrp016()
|
||||
END MAIN
|
||||
|
||||
|
||||
FUNCTION prprrp016()
|
||||
DEFINE opcion CHAR(1),
|
||||
cantidad_f,cantidad_o DECIMAL(12,2),cant_orden INTEGER
|
||||
|
||||
DEFINE handler om.SaxDocumentHandler, -- return value from fgl_report_commitCurrentSettings()
|
||||
r_filename STRING, -- filename of Report Design Document including .4rp extension
|
||||
r_output STRING, -- output format option
|
||||
preview INTEGER -- TRUE/FALSE, to set preview option
|
||||
|
||||
DEFINE busqueda RECORD
|
||||
cotizacion_no INT,
|
||||
fecha CHAR(10),
|
||||
tipo_cliente SMALLINT,
|
||||
sec_cliente INT,
|
||||
nombre_proyecto CHAR(40),
|
||||
direccion_proyecto CHAR(40),
|
||||
telefono_r CHAR(15),
|
||||
nombre CHAR(40),
|
||||
num_oc INT,
|
||||
fecha_oc CHAR(10),
|
||||
fecha_entrega CHAR(10),
|
||||
fecha_cierre CHAR(10),
|
||||
cod_n SMALLINT,
|
||||
cod_grupo SMALLINT,
|
||||
cod_tipo SMALLINT,
|
||||
cod_sec SMALLINT,
|
||||
descrip_esp CHAR(40),
|
||||
unidad_med CHAR(4),
|
||||
cantidad DEC(12,3),
|
||||
precio DEC(12,2),
|
||||
cantidad_2 DEC(12,3),
|
||||
cod_mov CHAR(60),
|
||||
fecha_doc CHAR(10),
|
||||
documento INT,
|
||||
status_mov SMALLINT,
|
||||
simbolo CHAR(6),
|
||||
vendedor CHAR(50),
|
||||
monto_cotizacion DEC(12,2),
|
||||
condicion CHAR(30),
|
||||
estado_orden CHAR(20),
|
||||
avance CHAR(20),
|
||||
monto_avance DEC(12,2),
|
||||
fecha_avance CHAR(10),
|
||||
codigo CHAR(25),
|
||||
telefono VARCHAR(15),
|
||||
celular VARCHAR(15),
|
||||
email VARCHAR(80) ,
|
||||
contacto LIKE vetb00050.contacto
|
||||
END RECORD,
|
||||
salida,visualiza CHAR(20)
|
||||
|
||||
OPTIONS
|
||||
PROMPT LINE 23,
|
||||
FORM LINE 8,
|
||||
ERROR LINE 23
|
||||
|
||||
OPEN FORM prfmrp016 FROM "prfmrp116"
|
||||
DISPLAY FORM prfmrp016
|
||||
|
||||
DIALOG ATTRIBUTES(UNBUFFERED,FIELD ORDER FORM)
|
||||
|
||||
CONSTRUCT BY NAME criterio ON a.cotizacion_no,c.num_oc,c.cerrada,a.sec_vend,a.fecha,a.tipo_cliente,a.sec_cliente,
|
||||
a.nombre_cliente,a.telefono_r,d.cod_n,d.cod_grupo,d.cod_tipo,d.cod_Sec
|
||||
|
||||
END CONSTRUCT
|
||||
|
||||
INPUT BY NAME salida,visualiza,historico
|
||||
|
||||
END INPUT
|
||||
ON ACTION ejecutar
|
||||
|
||||
IF historico = 'N' THEN
|
||||
LET selec =
|
||||
"SELECT a.cotizacion_no,CONVERT(CHAR(10),a.fecha,103),a.tipo_cliente,a.sec_cliente,a.nombre_proyecto,",
|
||||
"a.direccion_proyecto,a.telefono_r, ",
|
||||
"b.nombre,c.num_oc,CONVERT(CHAR(10),c.fecha_oc,103),CONVERT(CHAR(10),c.fecha_entrega,103),CONVERT(CHAR(10),c.fecha_cierre,103),d.cod_n,d.cod_grupo,d.cod_tipo,d.cod_sec,",
|
||||
"e.descrip_esp,e.unidad_med, d.cantidad,d.precio,f.cantidad_2,g.descrip_mov + '('+ cast(g.cod_mov as char(3))+')', ",
|
||||
" CONVERT(CHAR(10),f.fecha,103),f.num_doc,g.status_mov,i.simbolo,'('+CAST(a.sec_vend as char(7))+')'+RTRIM(j.nom1_emp)+' '+RTRIM(j.nom2_emp)+' '+RTRIM(j.apell1_emp), ",
|
||||
" a.total_neto, k.descrip,c.cerrada,a.telefono_o,a.celular,a.email,a.contacto ",
|
||||
"FROM vetb00050 a inner join ",
|
||||
" seg0007 l on l.usuario = SUSER_SNAME() AND a.sec_vend = l.sec_vend inner join ",
|
||||
"vetb00012 k on a.cond_pago = k.cond_pago inner join ",
|
||||
"vetb00004 b on a.tipo_cliente = b.tipo_cliente and a.sec_cliente = b.sec_cliente inner join ",
|
||||
"vetb00051 d on a.cotizacion_no = d.cotizacion_no ",
|
||||
" inner join vetb00061 i on a.ventas = i.ventas ",
|
||||
"inner join adtb00003 j on a.sec_vend = j.num_emp ",
|
||||
"left outer join ",
|
||||
"prtb00012 c on a.cotizacion_no = c.cotizacion_no and b.tipo_cliente = c.tipo_cliente and b.sec_cliente = c.sec_cliente and ",
|
||||
"a.cotizacion_no = c.cotizacion_no and c.status_t is null left outer join ",
|
||||
"iptb00006 f on d.cod_n = f.cod_n and d.cod_grupo = f.cod_grupo and d.cod_tipo = f.cod_tipo and d.cod_Sec = f.cod_Sec and ",
|
||||
"cast(c.num_oc as char(6)) = f.conduce_no and f.cod_mov in (30,31,55,12,13) inner join ",
|
||||
"iptb00002 e on d.cod_n = e.cod_n and d.cod_grupo = e.cod_grupo and d.cod_tipo = e.cod_tipo and d.cod_Sec = e.cod_Sec ",
|
||||
"left outer join ",
|
||||
"iptb00005 g on f.cod_mov = g.cod_mov ",
|
||||
"WHERE ",criterio clipped,
|
||||
" and a.status_t is null and f.status_t is null ",
|
||||
# "ORDER BY a.cotizacion_no,d.cod_n,d.cod_grupo,d.cod_tipo,d.cod_Sec,f.fecha,f.cod_mov,f.num_doc",
|
||||
" UNION ",
|
||||
"SELECT a.cotizacion_no,CONVERT(CHAR(10),a.fecha,103),a.tipo_cliente,a.sec_cliente,a.nombre_proyecto,",
|
||||
"a.direccion_proyecto,a.telefono_r, ",
|
||||
"b.nombre,c.num_oc,CONVERT(CHAR(10),c.fecha_oc,103),CONVERT(CHAR(10),c.fecha_entrega,103),CONVERT(CHAR(10),c.fecha_cierre,103),d.cod_n,d.cod_grupo,d.cod_tipo,d.cod_sec,",
|
||||
"e.descrip_esp,e.unidad_med, d.cantidad,d.precio,f.cantidad,'FACTURA VENTA', ",
|
||||
" CONVERT(CHAR(10),g.fecha_factura,103),f.factura,'3',i.simbolo,'('+CAST(a.sec_vend as char(7))+')'+RTRIM(j.nom1_emp)+' '+RTRIM(j.nom2_emp)+' '+RTRIM(j.apell1_emp), ",
|
||||
" a.total_neto, k.descrip,c.cerrada,a.telefono_o,a.celular,a.email,a.contacto ",
|
||||
"FROM vetb00050 a inner join ",
|
||||
" seg0007 l on l.usuario = SUSER_SNAME() AND a.sec_vend = l.sec_vend inner join ",
|
||||
"vetb00012 k on a.cond_pago = k.cond_pago inner join ",
|
||||
"vetb00004 b on a.tipo_cliente = b.tipo_cliente and a.sec_cliente = b.sec_cliente inner join ",
|
||||
"vetb00051 d on a.cotizacion_no = d.cotizacion_no ",
|
||||
" inner join vetb00061 i on a.ventas = i.ventas ",
|
||||
"inner join adtb00003 j on a.sec_vend = j.num_emp ",
|
||||
"left outer join ",
|
||||
"prtb00012 c on a.cotizacion_no = c.cotizacion_no and b.tipo_cliente = c.tipo_cliente and b.sec_cliente = c.sec_cliente and ",
|
||||
"a.cotizacion_no = c.cotizacion_no left outer join ",
|
||||
"vetb00002 g on ",
|
||||
" g.orden = c.num_oc inner join ",
|
||||
"vetb00003 f on d.cod_n = f.cod_n and d.cod_grupo = f.cod_grupo and d.cod_tipo = f.cod_tipo and d.cod_Sec = f.cod_Sec and ",
|
||||
" f.factura = g.factura inner join ",
|
||||
"iptb00002 e on d.cod_n = e.cod_n and d.cod_grupo = e.cod_grupo and d.cod_tipo = e.cod_tipo and d.cod_Sec = e.cod_Sec ",
|
||||
"WHERE ",criterio clipped,
|
||||
" and a.status_t is null and f.status_t is null "
|
||||
# "ORDER BY a.cotizacion_no,d.cod_n,d.cod_grupo,d.cod_tipo,d.cod_Sec,f.fecha,f.cod_mov,f.num_doc"
|
||||
|
||||
ELSE
|
||||
|
||||
LET selec =
|
||||
"SELECT a.cotizacion_no,CONVERT(CHAR(10),a.fecha,103),a.tipo_cliente,a.sec_cliente,a.nombre_proyecto,",
|
||||
"a.direccion_proyecto,a.telefono_r, ",
|
||||
"b.nombre,c.num_oc,CONVERT(CHAR(10),c.fecha_oc,103),CONVERT(CHAR(10),c.fecha_entrega,103),CONVERT(CHAR(10),c.fecha_cierre,103),d.cod_n,d.cod_grupo,d.cod_tipo,d.cod_sec,",
|
||||
"e.descrip_esp,e.unidad_med, d.cantidad,d.precio,f.cantidad_2,g.descrip_mov + '('+ cast(g.cod_mov as char(3))+')', ",
|
||||
" CONVERT(CHAR(10),f.fecha,103),f.num_doc,g.status_mov,i.simbolo,'('+CAST(a.sec_vend as char(7))+')'+RTRIM(j.nom1_emp)+' '+RTRIM(j.nom2_emp)+' '+RTRIM(j.apell1_emp), ",
|
||||
" a.total_neto, k.descrip,c.cerrada,a.telefono_o,a.celular,a.email,a.contacto ",
|
||||
"FROM historicoMTECH.dbo.vetb00050 a inner join ",
|
||||
" historicoMTECH.dbo.vetb00012 k on a.cond_pago = k.cond_pago inner join ",
|
||||
"historicoMTECH.dbo.vetb00004 b on a.tipo_cliente = b.tipo_cliente and a.sec_cliente = b.sec_cliente inner join ",
|
||||
"historicoMTECH.dbo.vetb00051 d on a.cotizacion_no = d.cotizacion_no ",
|
||||
" inner join historicoMTECH.dbo.vetb00061 i on a.ventas = i.ventas ",
|
||||
"inner join historicoMTECH.dbo.adtb00003 j on a.sec_vend = j.num_emp ",
|
||||
"left outer join ",
|
||||
"historicoMTECH.dbo.prtb00012 c on a.cotizacion_no = c.cotizacion_no and b.tipo_cliente = c.tipo_cliente and b.sec_cliente = c.sec_cliente and ",
|
||||
"a.cotizacion_no = c.cotizacion_no and c.status_t is null left outer join ",
|
||||
"historicoMTECH.dbo.iptb00006 f on d.cod_n = f.cod_n and d.cod_grupo = f.cod_grupo and d.cod_tipo = f.cod_tipo and d.cod_Sec = f.cod_Sec and ",
|
||||
"cast(c.num_oc as char(6)) = f.conduce_no and f.cod_mov in (30,31,55,12,13) inner join ",
|
||||
"historicoMTECH.dbo.iptb00002 e on d.cod_n = e.cod_n and d.cod_grupo = e.cod_grupo and d.cod_tipo = e.cod_tipo and d.cod_Sec = e.cod_Sec ",
|
||||
"left outer join ",
|
||||
"historicoMTECH.dbo.iptb00005 g on f.cod_mov = g.cod_mov ",
|
||||
"WHERE ",criterio clipped,
|
||||
" and a.status_t is null and f.status_t is null ",
|
||||
|
||||
" UNION ",
|
||||
"SELECT a.cotizacion_no,CONVERT(CHAR(10),a.fecha,103),a.tipo_cliente,a.sec_cliente,a.nombre_proyecto,",
|
||||
"a.direccion_proyecto,a.telefono_r, ",
|
||||
"b.nombre,c.num_oc,CONVERT(CHAR(10),c.fecha_oc,103),CONVERT(CHAR(10),c.fecha_entrega,103),CONVERT(CHAR(10),c.fecha_cierre,103),d.cod_n,d.cod_grupo,d.cod_tipo,d.cod_sec,",
|
||||
"e.descrip_esp,e.unidad_med, d.cantidad,d.precio,f.cantidad,'FACTURA VENTA', ",
|
||||
" CONVERT(CHAR(10),g.fecha_factura,103),f.factura,'3',i.simbolo,'('+CAST(a.sec_vend as char(7))+')'+RTRIM(j.nom1_emp)+' '+RTRIM(j.nom2_emp)+' '+RTRIM(j.apell1_emp), ",
|
||||
" a.total_neto, k.descrip,c.cerrada,a.telefono_o,a.celular,a.email,a.contacto ",
|
||||
"FROM historicoMTECH.dbo.vetb00050 a inner join ",
|
||||
"historicoMTECH.dbo.vetb00012 k on a.cond_pago = k.cond_pago inner join ",
|
||||
"historicoMTECH.dbo.vetb00004 b on a.tipo_cliente = b.tipo_cliente and a.sec_cliente = b.sec_cliente inner join ",
|
||||
"historicoMTECH.dbo.vetb00051 d on a.cotizacion_no = d.cotizacion_no ",
|
||||
" inner join historicoMTECH.dbo.vetb00061 i on a.ventas = i.ventas ",
|
||||
"inner join historicoMTECH.dbo.adtb00003 j on a.sec_vend = j.num_emp ",
|
||||
"left outer join ",
|
||||
"historicoMTECH.dbo.prtb00012 c on a.cotizacion_no = c.cotizacion_no and b.tipo_cliente = c.tipo_cliente and b.sec_cliente = c.sec_cliente and ",
|
||||
"a.cotizacion_no = c.cotizacion_no left outer join ",
|
||||
"historicoMTECH.dbo.vetb00002 g on ",
|
||||
" g.orden = c.num_oc inner join ",
|
||||
"historicoMTECH.dbo.vetb00003 f on d.cod_n = f.cod_n and d.cod_grupo = f.cod_grupo and d.cod_tipo = f.cod_tipo and d.cod_Sec = f.cod_Sec and ",
|
||||
" f.factura = g.factura inner join ",
|
||||
"historicoMTECH.dbo.iptb00002 e on d.cod_n = e.cod_n and d.cod_grupo = e.cod_grupo and d.cod_tipo = e.cod_tipo and d.cod_Sec = e.cod_Sec ",
|
||||
"WHERE ",criterio clipped,
|
||||
" and a.status_t is null and f.status_t is null "
|
||||
|
||||
END IF
|
||||
PREPARE comando FROM selec
|
||||
DECLARE busca CURSOR FOR comando
|
||||
|
||||
LET r_filename = salida CLIPPED
|
||||
|
||||
IF fgl_report_loadCurrentSettings(r_filename) THEN -- load the .4rp file
|
||||
LET r_output=visualiza CLIPPED
|
||||
LET preview=1
|
||||
CALL fgl_report_selectDevice(r_output) -- changing default
|
||||
CALL fgl_report_selectPreview(preview) -- changing default
|
||||
LET handler = fgl_report_commitCurrentSettings() -- commit changes
|
||||
END IF
|
||||
|
||||
|
||||
IF handler IS NOT NULL THEN -- report engine was configured ok
|
||||
|
||||
START REPORT reporte_16 TO XML HANDLER handler
|
||||
|
||||
|
||||
|
||||
FOREACH busca INTO busqueda.cotizacion_no,busqueda.fecha,busqueda.tipo_cliente,
|
||||
busqueda.sec_cliente,busqueda.nombre_proyecto,busqueda.direccion_proyecto,
|
||||
busqueda.telefono_r,busqueda.nombre,busqueda.num_oc,busqueda.fecha_oc,
|
||||
busqueda.fecha_entrega,busqueda.fecha_cierre,busqueda.cod_n,
|
||||
busqueda.cod_grupo,busqueda.cod_tipo,busqueda.cod_sec,
|
||||
busqueda.descrip_esp,busqueda.unidad_med,busqueda.cantidad,
|
||||
busqueda.precio,busqueda.cantidad_2,busqueda.cod_mov,
|
||||
busqueda.fecha_doc,busqueda.documento,busqueda.status_mov,
|
||||
busqueda.simbolo,busqueda.vendedor,busqueda.monto_cotizacion,
|
||||
busqueda.condicion,busqueda.estado_orden,busqueda.telefono,
|
||||
busqueda.celular,busqueda.email,busqueda.contacto
|
||||
|
||||
|
||||
|
||||
IF STATUS = NOTFOUND THEN
|
||||
CALL fgl_winmessage("WARNING","NO EXISTEN REGISTROS CON ESA CONDICION","SOP")
|
||||
EXIT FOREACH
|
||||
END IF
|
||||
IF busqueda.cantidad_2 IS NULL THEN
|
||||
LET busqueda.cantidad_2 = 0
|
||||
END IF
|
||||
LET busqueda.avance = null
|
||||
LET busqueda.fecha_avance= NULL
|
||||
LET busqueda.monto_avance = NULL
|
||||
|
||||
SELECT MAX(a.num_doc),MAX(a.fecha_orig)
|
||||
INTO busqueda.avance,busqueda.fecha_avance,
|
||||
busqueda.monto_avance
|
||||
FROM cctb00001 a
|
||||
WHERE a.num_cheque = busqueda.cotizacion_no and
|
||||
a.tipo_Doc = 'AV' and a.tipo_cliente = busqueda.tipo_cliente and
|
||||
a.sec_cliente = busqueda.sec_cliente and a.status_t is null and
|
||||
a.fecha_orig > '08/01/2009'
|
||||
|
||||
LET busqueda.codigo = busqueda.cod_n using "&&&&","-",
|
||||
busqueda.cod_grupo USING "&&&&","-",
|
||||
busqueda.cod_tipo USING "&&&&","-",
|
||||
busqueda.cod_Sec USING "&&&"
|
||||
IF busqueda.estado_orden = "N" THEN
|
||||
LET busqueda.estado_orden = "ABIERTA"
|
||||
END IF
|
||||
IF busqueda.estado_orden = "S" THEN
|
||||
LET busqueda.estado_orden = "CERRADA"
|
||||
END IF
|
||||
|
||||
OUTPUT TO REPORT reporte_16(busqueda.*)
|
||||
END FOREACH
|
||||
FINISH REPORT reporte_16
|
||||
END IF
|
||||
|
||||
|
||||
AFTER DIALOG
|
||||
IF int_flag THEN
|
||||
CALL msg(2)
|
||||
LET int_flag = false
|
||||
RETURN
|
||||
END IF
|
||||
IF salida IS NULL THEN
|
||||
CALL msg(16)
|
||||
NEXT FIELD salida
|
||||
END IF
|
||||
|
||||
IF visualiza IS NULL THEN
|
||||
CALL msg(16)
|
||||
NEXT FIELD visualiza
|
||||
END IF
|
||||
|
||||
ON ACTION CANCEL
|
||||
LET INT_FLAG = FALSE
|
||||
EXIT DIALOG
|
||||
|
||||
END DIALOG
|
||||
|
||||
END FUNCTION
|
||||
|
||||
REPORT reporte_16(x)
|
||||
|
||||
DEFINE x RECORD
|
||||
cotizacion_no INT,
|
||||
fecha CHAR(10),
|
||||
tipo_cliente SMALLINT,
|
||||
sec_cliente INT,
|
||||
nombre_proyecto CHAR(40),
|
||||
direccion_proyecto CHAR(40),
|
||||
telefono_r CHAR(15),
|
||||
nombre CHAR(40),
|
||||
num_oc INT,
|
||||
fecha_oc CHAR(10),
|
||||
fecha_entrega CHAR(10),
|
||||
fecha_cierre CHAR(10),
|
||||
cod_n SMALLINT,
|
||||
cod_grupo SMALLINT,
|
||||
cod_tipo SMALLINT,
|
||||
cod_sec SMALLINT,
|
||||
descrip_esp CHAR(40),
|
||||
unidad_med CHAR(4),
|
||||
cantidad DEC(12,3),
|
||||
precio DEC(12,2),
|
||||
cantidad_2 DEC(12,3),
|
||||
cod_mov CHAR(60),
|
||||
fecha_doc CHAR(10),
|
||||
documento INT,
|
||||
status_mov SMALLINT,
|
||||
simbolo CHAR(6),
|
||||
vendedor CHAR(50),
|
||||
monto_cotizacion DEC(12,2),
|
||||
condicion CHAR(30),
|
||||
estado_orden CHAR(20),
|
||||
avance CHAR(20),
|
||||
monto_avance DEC(12,2),
|
||||
fecha_avance CHAR(10),
|
||||
codigo CHAR(25),
|
||||
telefono VARCHAR(15),
|
||||
celular VARCHAR(15),
|
||||
email VARCHAR(80),
|
||||
contacto LIKE vetb00050.contacto
|
||||
END RECORD,
|
||||
|
||||
balance DEC(12,3),
|
||||
v CHAR(1)
|
||||
|
||||
ORDER BY x.cotizacion_no,x.num_oc,x.codigo
|
||||
FORMAT
|
||||
BEFORE GROUP OF x.cotizacion_no
|
||||
|
||||
PRINTX x.cotizacion_no,x.direccion_proyecto,x.nombre_proyecto,
|
||||
x.tipo_cliente,x.sec_cliente,x.telefono_r,x.num_oc,x.fecha,x.fecha_cierre,
|
||||
x.fecha_entrega,x.fecha_oc
|
||||
|
||||
|
||||
BEFORE GROUP OF x.codigo
|
||||
PRINTX x.codigo,x.descrip_esp,x.unidad_med
|
||||
LET balance = x.cantidad
|
||||
ON EVERY ROW
|
||||
IF x.status_mov <> 3 THEN
|
||||
LET balance = balance + x.cantidad_2
|
||||
END IF
|
||||
|
||||
PRINTX x.nombre,x.cantidad,x.cantidad_2,x.cod_mov,x.fecha_Doc,p_compania.nombre,
|
||||
x.documento,balance,x.precio,x.simbolo,v,x.avance,x.fecha_avance,
|
||||
x.monto_avance,x.vendedor,x.monto_cotizacion,x.condicion,x.status_mov,
|
||||
x.estado_orden,x.telefono,x.celular,x.email,x.contacto
|
||||
LET x.cantidad = 0
|
||||
END REPORT
|
||||
@@ -0,0 +1,175 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<report:Report xmlns:rtl="http://www.4js.com/2004/RTL" xmlns:report="http://www.4js.com/2007/REPORT" xmlns="http://www.4js.com/2004/PXML" gstVersion="31405" version="6.00">
|
||||
<report:Settings RWPageWidth="letterlength" RWPageLength="letterwidth" RWLeftMargin="0.5inch" RWTopMargin="0.5inch" RWRightMargin="0.5inch" RWBottomMargin="0.5inch">
|
||||
<report:FormatList>
|
||||
<report:Format-SVG/>
|
||||
<report:Format-PDF/>
|
||||
<report:Format-image/>
|
||||
</report:FormatList>
|
||||
</report:Settings>
|
||||
<report:Data RWDataLocation="../PRDIR/prprmt011.rdd" RWFglReportName="reporte_16a"/>
|
||||
<report:Conflicts/>
|
||||
<rtl:stylesheet>
|
||||
<PXML>
|
||||
<rtl:match name="Report" nameConstraint="Report">
|
||||
<MINIPAGE name="Page Root" width="max" length="max" layoutDirection="topToBottom" swapX="false">
|
||||
<LAYOUTNODE name="Page Header" width="max" length="min" port="anyPageHeader">
|
||||
<MINIPAGE name="StripeLayouter3" width="min" length="max" layoutDirection="leftToRight" swapX="false">
|
||||
<WORDBOX name="Report Title" x="0" y="max/2" anchorX="0" anchorY="0.5" alignment="baseline" fontSize="25" layoutDirection="topToBottom" swapX="false" baselineType="leftleft" floatingBehavior="enclosed" text="{{"MARMOTECH, S. A."}}"/>
|
||||
<PAGENOBOX name="PageNoBox" x="1.23857" y="max" anchorX="0" anchorY="1" alignment="baseline" layoutDirection="topToBottom" swapX="false" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="right"/>
|
||||
<WORDBOX name="WordBox86" y="max-90" width="50" alignment="baseline" baselineType="leftleft" text="PAGINA"/>
|
||||
</MINIPAGE>
|
||||
<MINIPAGE name="MiniPage16" width="min" length="min" alignment="center" fontBold="true">
|
||||
<WORDBOX name="WordBox85" alignment="baseline" baselineType="leftleft" text="ANALISIS COTIZACIONES, ORDENES PEDIDOS"/>
|
||||
</MINIPAGE>
|
||||
<MINIPAGE name="Separator" width="1" length="max" bgColor="#000000" layoutDirection="leftToRight" swapX="false"/>
|
||||
</LAYOUTNODE>
|
||||
<rtl:match name="Group cotizacion_no" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
|
||||
<LAYOUTNODE name="Layout Node2" width="min" length="min" fontSize="10" layoutDirection="topToBottom">
|
||||
<MINIPAGE name="Separator1" width="1" length="max" bgColor="#000000" layoutDirection="leftToRight" swapX="false"/>
|
||||
<MINIPAGE name="GENERAL" width="min" length="min" layoutDirection="leftToRight">
|
||||
<WORDBOX name="WordBox4" width="110" alignment="baseline" fontBold="true" baselineType="leftleft" text="COTIZACION NO.:"/>
|
||||
<WORDBOX name="WordBox5" width="20" alignment="baseline" baselineType="leftleft" text=""/>
|
||||
<rtl:input-variable name="x.cotizacion_no" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="WordBox6" width="40" alignment="baseline" fontSize="12" baselineType="leftleft" text="{{x.cotizacion_no.format("&&&&&&&&")}}"/>
|
||||
<WORDBOX name="WordBox7" width="20" alignment="baseline" baselineType="leftleft" text=""/>
|
||||
<WORDBOX name="WordBox68" width="107" alignment="baseline" fontBold="true" baselineType="leftleft" text="MONTO COTIZACION"/>
|
||||
<WORDBOX name="WordBox69" width="20" alignment="baseline" baselineType="leftleft" text=""/>
|
||||
<rtl:input-variable name="x.monto_cotizacion" type="FGLNumeric" expectedLocation="expectedAhead"/>
|
||||
<WORDBOX name="WordBox70" width="40" alignment="baseline" baselineType="leftleft" text="{{x.monto_cotizacion.format("###,###,###.##")}}"/>
|
||||
<WORDBOX name="WordBox75" width="20" alignment="baseline" baselineType="leftleft" text=""/>
|
||||
<WORDBOX name="WordBox8" width="103" alignment="baseline" fontBold="true" baselineType="leftleft" text="FECHA COTIZACION"/>
|
||||
<WORDBOX name="WordBox9" width="10" alignment="baseline" baselineType="leftleft" text=""/>
|
||||
<rtl:input-variable name="x.fecha" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="WordBox10" width="40" alignment="baseline" baselineType="leftleft" text="{{x.fecha.value}}"/>
|
||||
<WORDBOX name="WordBox11" width="20" alignment="baseline" baselineType="leftleft" text=""/>
|
||||
<WORDBOX name="WordBox12" width="105" alignment="baseline" fontBold="true" baselineType="leftleft" text="FECHA COMPRIMISO"/>
|
||||
<WORDBOX name="WordBox13" width="10" alignment="baseline" baselineType="leftleft" text=""/>
|
||||
<rtl:input-variable name="x.fecha_entrega" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="WordBox14" width="30" alignment="baseline" baselineType="leftleft" text="{{x.fecha_entrega.value}}"/>
|
||||
<WORDBOX name="WordBox65" width="80" alignment="baseline" fontBold="true" baselineType="leftleft" textAlignment="right" text="MONEDA"/>
|
||||
<WORDBOX name="WordBox66" width="10" alignment="baseline" baselineType="leftleft"/>
|
||||
<rtl:input-variable name="x.simbolo" type="FGLString" expectedLocation="expectedAhead"/>
|
||||
<WORDBOX name="WordBox67" width="30" alignment="baseline" baselineType="leftleft" text="{{x.simbolo.value}}"/>
|
||||
</MINIPAGE>
|
||||
<MINIPAGE name="Separator2" width="1" length="max" bgColor="#000000" layoutDirection="leftToRight" swapX="false"/>
|
||||
</LAYOUTNODE>
|
||||
<LAYOUTNODE name="Layout Node4" width="min" length="min">
|
||||
<MINIPAGE name="MiniPage13" width="min" length="min" layoutDirection="leftToRight">
|
||||
<WORDBOX name="WordBox15" width="110" alignment="baseline" fontBold="true" baselineType="leftleft" text="NOMBRE CLIENTE"/>
|
||||
<WORDBOX name="WordBox16" width="20" alignment="baseline" baselineType="leftleft" text=""/>
|
||||
<rtl:input-variable name="x.nombre" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="WordBox17" width="167" alignment="baseline" baselineType="leftleft" text="{{x.nombre.value}}"/>
|
||||
<WORDBOX name="WordBox83" width="20" alignment="baseline" baselineType="leftleft" text=""/>
|
||||
<WORDBOX name="WordBox76" width="70" alignment="baseline" fontBold="true" baselineType="leftleft" text="VENDEDOR"/>
|
||||
<WORDBOX name="WordBox77" width="10" alignment="baseline" baselineType="leftleft" text=""/>
|
||||
<rtl:input-variable name="x.vendedor" type="FGLString" expectedLocation="expectedAhead"/>
|
||||
<WORDBOX name="WordBox78" width="120" alignment="baseline" baselineType="leftleft" text="{{x.vendedor}}"/>
|
||||
<WORDBOX name="WordBox87" width="125" alignment="baseline" baselineType="leftleft"/>
|
||||
<WORDBOX name="WordBox79" width="105" alignment="baseline" fontBold="true" baselineType="leftleft" text="ESTADO ORDEN"/>
|
||||
<WORDBOX name="WordBox80" width="10" alignment="baseline" baselineType="leftleft"/>
|
||||
<rtl:input-variable name="x.estado_orden" type="FGLString" expectedLocation="expectedAhead"/>
|
||||
<WORDBOX name="WordBox81" width="3cm" alignment="baseline" baselineType="leftleft" text="{{x.estado_orden}}"/>
|
||||
<WORDBOX name="WordBox" width="2.5cm" fontBold="true" floatingBehavior="enclosed" text="TELEFONO"/>
|
||||
<rtl:input-variable name="x.telefono_r" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="WordBox101" width="3cm" floatingBehavior="enclosed" text="{{x.telefono_r}}"/>
|
||||
</MINIPAGE>
|
||||
<MINIPAGE name="Separator3" width="1" length="max" bgColor="#000000" layoutDirection="leftToRight" swapX="false"/>
|
||||
</LAYOUTNODE>
|
||||
<LAYOUTNODE name="Layout Node3" width="min" length="min" fontSize="10" layoutDirection="topToBottom">
|
||||
<MINIPAGE name="CLIENTE" width="min" length="min" layoutDirection="leftToRight">
|
||||
<WORDBOX name="WordBox50" width="77" alignment="baseline" fontBold="true" baselineType="leftleft" text="ORDEN"/>
|
||||
<WORDBOX name="WordBox51" width="20" alignment="baseline" baselineType="leftleft" text=""/>
|
||||
<rtl:input-variable name="x.num_oc" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="WordBox53" width="40" alignment="baseline" fontSize="12" baselineType="leftleft" text="{{x.num_oc.format("&&&&&&")}}"/>
|
||||
<WORDBOX name="WordBox54" width="20" alignment="baseline" baselineType="leftleft"/>
|
||||
<WORDBOX name="WordBox55" width="103" alignment="baseline" fontBold="true" baselineType="leftleft" text="AVANCE"/>
|
||||
<WORDBOX name="WordBox56" width="10" alignment="baseline" baselineType="leftleft"/>
|
||||
<rtl:input-variable name="x.avance" type="FGLString" expectedLocation="expectedAhead"/>
|
||||
<WORDBOX name="WordBox57" width="40" alignment="baseline" baselineType="leftleft" text="{{x.avance.value}}"/>
|
||||
<WORDBOX name="WordBox58" width="20" alignment="baseline" baselineType="leftleft" text=""/>
|
||||
<WORDBOX name="WordBox59" width="103" alignment="baseline" fontBold="true" baselineType="leftleft" text="FECHA AVANCE"/>
|
||||
<WORDBOX name="WordBox60" width="10" alignment="baseline" baselineType="leftleft" text=""/>
|
||||
<rtl:input-variable name="x.fecha_avance" type="FGLString" expectedLocation="expectedAhead"/>
|
||||
<WORDBOX name="WordBox61" width="30" alignment="baseline" baselineType="leftleft" text="{{x.fecha_avance.value}}"/>
|
||||
<WORDBOX name="WordBox62" width="83" alignment="baseline" fontBold="true" baselineType="leftleft" text="MONTO AVANCE"/>
|
||||
<WORDBOX name="WordBox63" width="10" alignment="baseline" baselineType="leftleft" text=""/>
|
||||
<rtl:input-variable name="x.monto_avance" type="FGLNumeric" expectedLocation="expectedAhead"/>
|
||||
<WORDBOX name="WordBox64" width="30" alignment="baseline" baselineType="leftleft" text="{{x.monto_avance.format("###,###,###.##")}}"/>
|
||||
</MINIPAGE>
|
||||
<MINIPAGE name="INFORMACION" width="min" length="min" layoutDirection="leftToRight">
|
||||
<WORDBOX name="WordBox22" width="77" alignment="baseline" fontBold="true" baselineType="leftleft" text="FECHA ORDEN"/>
|
||||
<WORDBOX name="WordBox24" width="20" alignment="baseline" baselineType="leftleft" text=""/>
|
||||
<rtl:input-variable name="x.fecha_oc" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="WordBox25" width="40" alignment="baseline" baselineType="leftleft" text="{{x.fecha_oc.value}}"/>
|
||||
<WORDBOX name="WordBox74" width="20" alignment="baseline" baselineType="leftleft" text=""/>
|
||||
<WORDBOX name="WordBox71" width="103" alignment="baseline" fontBold="true" baselineType="leftleft" text="CONDICION"/>
|
||||
<WORDBOX name="WordBox72" width="10" alignment="baseline" baselineType="leftleft" text=""/>
|
||||
<rtl:input-variable name="x.condicion" type="FGLString" expectedLocation="expectedAhead"/>
|
||||
<WORDBOX name="WordBox73" alignment="baseline" baselineType="leftleft" text="{{x.condicion}}"/>
|
||||
</MINIPAGE>
|
||||
<MINIPAGE name="Separator5" width="1" length="max" bgColor="#000000" layoutDirection="leftToRight" swapX="false"/>
|
||||
</LAYOUTNODE>
|
||||
<rtl:match name="Group num_oc" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
|
||||
<rtl:match name="Group codigo" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
|
||||
<LAYOUTNODE name="LayoutNode1" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
|
||||
<MINIPAGE name="Separator3_1" width="1" length="max" bgColor="#000000" layoutDirection="leftToRight" swapX="false"/>
|
||||
</LAYOUTNODE>
|
||||
<LAYOUTNODE name="LayoutNode" width="min" length="min" fontBold="true" layoutDirection="leftToRight" floatingBehavior="enclosed">
|
||||
<rtl:input-variable name="x.descrip_esp" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<rtl:input-variable name="x.unidad_med" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<rtl:input-variable name="x.codigo" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDWRAPBOX name="WordWrapBox2" width="width("M")*30" alignment="near" baselineType="leftleft" text="{{x.descrip_esp.value+" "+x.unidad_med.value+" "+x.codigo.value}}"/>
|
||||
<WORDBOX name="WordBox96" width="1.5cm" alignment="far" baselineType="leftleft" text=""/>
|
||||
<rtl:input-variable name="x.cantidad" type="FGLNumeric" expectedLocation="expectedAhead"/>
|
||||
<WORDBOX name="WordBox95" width="6cm" alignment="baseline" baselineType="leftleft" text="{{"Balance Inicial: "+x.cantidad.format("###,###.#####")}}"/>
|
||||
</LAYOUTNODE>
|
||||
<LAYOUTNODE name="Layout Node5" width="min" length="min">
|
||||
<MINIPAGE name="Separator6" width="1" length="max" bgColor="#000000" layoutDirection="leftToRight" swapX="false"/>
|
||||
</LAYOUTNODE>
|
||||
<MINIPAGE name="ENCABEZADO DETALLE" width="min" length="max" fontSize="8" layoutDirection="leftToRight" swapX="false">
|
||||
<WORDBOX name="WordBox28" width="70" alignment="baseline" baselineType="leftleft" text="DOCUMENTO(S)"/>
|
||||
<WORDBOX name="WordBox29" width="2cm" alignment="baseline" baselineType="leftleft" textAlignment="center" text="FACTURA"/>
|
||||
<WORDBOX name="WordBox30" width="60" alignment="baseline" baselineType="leftleft" text="TRANSACCION"/>
|
||||
<WORDBOX name="WordBox32" width="2cm" alignment="baseline" baselineType="leftleft" text=""/>
|
||||
<WORDBOX name="WordBox33" width="30" alignment="baseline" baselineType="leftleft" text="FECHA"/>
|
||||
<WORDBOX name="WordBox36" width="129" alignment="baseline" baselineType="leftleft" text=""/>
|
||||
<WORDWRAPBOX name="WordWrapBox3" width="width("M")*10" alignment="baseline" baselineType="leftleft" text="CANTIDAD TRANSACCION"/>
|
||||
<WORDBOX name="WordBox41" width="2.5cm" alignment="baseline" baselineType="leftleft" text=""/>
|
||||
<WORDBOX name="WordBox42" width="40" alignment="baseline" baselineType="leftleft" text="BALANCE"/>
|
||||
<MINIPAGE name="Separator4" width="1" length="max" bgColor="#000000" layoutDirection="leftToRight" swapX="false"/>
|
||||
</MINIPAGE>
|
||||
<LAYOUTNODE name="Layout Node5_1" width="min" length="min">
|
||||
<MINIPAGE name="Separator7" width="1" length="max" bgColor="#000000" layoutDirection="leftToRight" swapX="false"/>
|
||||
</LAYOUTNODE>
|
||||
<rtl:match name="OnEveryRow" nameConstraint="OnEveryRow" minOccurs="0" maxOccurs="unbounded">
|
||||
<rtl:input-variable name="x.status_mov" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<MINIPAGE name="Table Row" width="min" length="max" color="{{x.status_mov.value==3?Color.BLUE:Color.BLACK}}" fontSize="10" layoutDirection="leftToRight" swapX="false">
|
||||
<rtl:input-variable name="x.documento" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="WordBox89" width="40" alignment="baseline" baselineType="leftleft" text="{{x.documento.format("&&&&&&")}}"/>
|
||||
<rtl:input-variable name="x.factura" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="WordBox90" width="2.5cm" alignment="baseline" baselineType="leftleft" textAlignment="center" text="{{x.factura.format("&&&&&&")}}"/>
|
||||
<rtl:input-variable name="x.cod_mov" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDWRAPBOX name="WordWrapBox1" width="width("M")*15" alignment="baseline" baselineType="leftleft" text="{{x.cod_mov.value}}"/>
|
||||
<WORDBOX name="WordBox91" width="10" alignment="baseline" baselineType="leftleft" text=""/>
|
||||
<rtl:input-variable name="x.fecha_doc" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="WordBox92" width="70" alignment="baseline" baselineType="leftleft" text="{{x.fecha_doc.value}}"/>
|
||||
<WORDBOX name="WordBox93" width="3.5cm" alignment="baseline" baselineType="leftleft" text=""/>
|
||||
<rtl:input-variable name="x.cantidad_2" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="WordBox39" width="2.5cm" alignment="baseline" color="{{x.cantidad_2<0?Color.RED:Color.BLACK}}" baselineType="leftleft" text="{{x.cantidad_2.format("###,###.#####")}}"/>
|
||||
<WORDBOX name="WordBox97" width="2cm" alignment="baseline" baselineType="leftleft" text=""/>
|
||||
<rtl:input-variable name="balance" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="WordBox98" width="40" alignment="baseline" color="{{balance<0?Color.RED:Color.BLACK}}" baselineType="leftleft" text="{{balance.format("###,###.#####")}}"/>
|
||||
</MINIPAGE>
|
||||
</rtl:match>
|
||||
</rtl:match>
|
||||
</rtl:match>
|
||||
<LAYOUTNODE name="FINAL" width="min" length="min">
|
||||
<MINIPAGE name="MiniPage18" width="min" length="min"/>
|
||||
</LAYOUTNODE>
|
||||
</rtl:match>
|
||||
</MINIPAGE>
|
||||
</rtl:match>
|
||||
</PXML>
|
||||
</rtl:stylesheet>
|
||||
</report:Report>
|
||||
@@ -0,0 +1,191 @@
|
||||
GLOBALS
|
||||
DEFINE ptasa DEC(12,4)
|
||||
END GLOBALS
|
||||
FUNCTION prprmt011b(x)
|
||||
DEFINE x DYNAMIC ARRAY OF RECORD
|
||||
actualiza VARCHAR(1),
|
||||
cerrada VARCHAR(1),
|
||||
estado_produccion VARCHAR(100),
|
||||
estado_producto VARCHAR(100),
|
||||
departamento SMALLINT,
|
||||
descripcion_dpto VARCHAR(30),
|
||||
vendedor VARCHAR(50),
|
||||
apell1_emp VARCHAR(50),
|
||||
fecha DATE,
|
||||
fecha_compromiso DATE,
|
||||
fecha_llegada DATE,
|
||||
fechaDispEntrega DATE,
|
||||
fechaSolDespacho DATE,
|
||||
fechaInstalacion DATE,
|
||||
cotizacion_no INT,
|
||||
num_oc INT,
|
||||
orden_compra INT,
|
||||
observacion VARCHAR(250),
|
||||
tipo_venta VARCHAR(30),
|
||||
cliente VARCHAR(60),
|
||||
origen VARCHAR(30),
|
||||
producto VARCHAR(100),
|
||||
cantidad_ord DEC(12,5),
|
||||
cantidad_desp DEC(12,5),
|
||||
cantidad_dev DEC(12,5),
|
||||
pendiente DEC(12,5),
|
||||
sec_vend SMALLINT,
|
||||
cod_n SMALLINT,
|
||||
cod_grupo SMALLINT,
|
||||
cod_tipo SMALLINT,
|
||||
cod_sec SMALLINT,
|
||||
tipo_cliente SMALLINT,
|
||||
sec_cliente INT,
|
||||
balance DEC(12,5),
|
||||
id_kit INT ,
|
||||
area SMALLINT,
|
||||
instalador,equipo VARCHAR(100),
|
||||
costo NUMERIC(12,2)
|
||||
END RECORD,
|
||||
i SMALLINT
|
||||
|
||||
DEFINE handler om.SaxDocumentHandler, -- return value from fgl_report_commitCurrentSettings()
|
||||
r_filename STRING, -- filename of Report Design Document including .4rp extension
|
||||
r_output STRING, -- output format option
|
||||
preview INTEGER -- TRUE/FALSE, to set preview option
|
||||
|
||||
LET r_filename = "prprmt011b.4rp"
|
||||
|
||||
CALL seleccionarSalida() RETURNING r_output
|
||||
|
||||
IF fgl_report_loadCurrentSettings(r_filename) THEN -- load the .4rp file
|
||||
# LET r_output='SVG' CLIPPED
|
||||
LET preview=1
|
||||
CALL fgl_report_selectDevice(r_output) -- changing default
|
||||
CALL fgl_report_selectPreview(preview) -- changing default
|
||||
CALL fgl_report_configurexlsxdevice(null,null,null,false,false,null,1)
|
||||
LET handler = fgl_report_commitCurrentSettings() -- commit changes
|
||||
END IF
|
||||
|
||||
IF handler IS NOT NULL THEN -- report engine was configured ok
|
||||
START REPORT reporte_rp11b TO XML HANDLER HANDLER
|
||||
END IF
|
||||
FOR i = 1 TO x.getLength()
|
||||
IF x[i].num_oc IS NOT NULL THEN
|
||||
OUTPUT TO REPORT reporte_rp11b(x[i].*)
|
||||
END IF
|
||||
END FOR
|
||||
FINISH REPORT reporte_rp11b
|
||||
END FUNCTION
|
||||
REPORT reporte_rp11b(y)
|
||||
DEFINE y RECORD
|
||||
actualiza VARCHAR(1),
|
||||
cerrada VARCHAR(1),
|
||||
estado_produccion VARCHAR(100),
|
||||
estado_producto VARCHAR(100),
|
||||
departamento SMALLINT,
|
||||
descripcion_dpto VARCHAR(30),
|
||||
vendedor VARCHAR(50),
|
||||
apell1_emp VARCHAR(50),
|
||||
fecha DATE,
|
||||
fecha_compromiso DATE,
|
||||
fecha_llegada DATE,
|
||||
fechaDispEntrega DATE,
|
||||
fechaSolDespacho DATE,
|
||||
fechaInstalacion DATE,
|
||||
cotizacion_no INT,
|
||||
num_oc INT,
|
||||
orden_compra INT,
|
||||
observacion VARCHAR(250),
|
||||
tipo_venta VARCHAR(30),
|
||||
cliente VARCHAR(60),
|
||||
origen VARCHAR(30),
|
||||
producto VARCHAR(100),
|
||||
cantidad_ord DEC(12,5),
|
||||
cantidad_desp DEC(12,5),
|
||||
cantidad_dev DEC(12,5),
|
||||
pendiente DEC(12,5),
|
||||
sec_vend SMALLINT,
|
||||
cod_n SMALLINT,
|
||||
cod_grupo SMALLINT,
|
||||
cod_tipo SMALLINT,
|
||||
cod_sec SMALLINT,
|
||||
tipo_cliente SMALLINT,
|
||||
sec_cliente INT,
|
||||
balance DEC(12,5),
|
||||
id_kit INT ,
|
||||
area SMALLINT,
|
||||
instalador,equipo VARCHAR(100),
|
||||
costo NUMERIC(12,2)
|
||||
|
||||
END RECORD,
|
||||
nombre_cia CHAR(50),
|
||||
pprecio,ttotal,vtotal,valor_orden,vvalor_orden,tvalor_orden,valor_avance DEC(12,2),
|
||||
psimbolo CHAR(4),
|
||||
numero_recibo INT,
|
||||
valor,ototal DEC(12,4)
|
||||
|
||||
ORDER BY y.vendedor,y.num_oc
|
||||
FORMAT
|
||||
FIRST PAGE HEADER
|
||||
|
||||
SELECT a.nombre INTO nombre_cia FROM companias a
|
||||
LET ttotal = 0
|
||||
LET tvalor_orden = 0
|
||||
|
||||
BEFORE GROUP OF y.vendedor
|
||||
LET vtotal = 0
|
||||
LET vvalor_orden=0
|
||||
|
||||
BEFORE GROUP OF y.num_oc
|
||||
LET ototal = 0
|
||||
SELECT a.simbolo INTO psimbolo FROM vetb00061 a,vetb00050 b
|
||||
WHERE a.ventas = b.ventas AND b.cotizacion_no = y.cotizacion_no
|
||||
|
||||
ON EVERY ROW
|
||||
SELECT AVG(a.precio-(a.precio*(a.porc_desc/100)))
|
||||
INTO pprecio FROM vetb00051 a
|
||||
WHERE a.cotizacion_no = y.cotizacion_no AND
|
||||
|
||||
a.area = y.area AND
|
||||
a.cod_n = y.cod_n AND
|
||||
a.cod_grupo = y.cod_grupo AND
|
||||
a.cod_tipo = y.cod_tipo AND
|
||||
a.cod_Sec = y.cod_sec
|
||||
# BUSCA AVANCE A COTIZACION
|
||||
SELECT SUM(a.valor) INTO valor_avance FROM cctb00001 a
|
||||
WHERE a.banco = y.cotizacion_no AND a.num_doc = a.aplica_a AND a.status_t IS NULL AND
|
||||
a.tipo_cliente = y.tipo_cliente AND a.sec_cliente = y.sec_cliente AND a.tipo_doc = 'AV'
|
||||
|
||||
#DISPLAY "codigo ",y.cotizacion_no," ",y.area," ",y.cod_n,"-",y.cod_grupo,"-",y.cod_tipo,"-",y.cod_sec," p ",pprecio
|
||||
IF pprecio IS NULL THEN
|
||||
SELECT AVG(a.precio-(a.precio*(a.porc_desc/100)))
|
||||
INTO pprecio FROM vetb00031 a
|
||||
WHERE a.cotizacion_no = y.cotizacion_no AND
|
||||
a.id_kit = y.id_kit AND
|
||||
a.area = y.area AND
|
||||
a.cod_n = y.cod_n AND
|
||||
a.cod_grupo = y.cod_grupo AND
|
||||
a.cod_tipo = y.cod_tipo AND
|
||||
a.cod_Sec = y.cod_sec
|
||||
END IF
|
||||
|
||||
SELECT AVG(a.tasa) INTO ptasa
|
||||
FROM cgtb00084 a
|
||||
WHERE a.tipo_cliente = y.tipo_cliente AND
|
||||
a.ano = YEAR(TODAY) AND
|
||||
a.mes = MONTH(TODAY)
|
||||
IF ptasa IS NULL THEN
|
||||
LET ptasa = 1
|
||||
END IF
|
||||
IF pprecio IS NULL THEN
|
||||
LET pprecio = 0
|
||||
END IF
|
||||
LET pprecio = pprecio * ptasa
|
||||
LET valor_avance=valor_avance * ptasa
|
||||
LET valor = pprecio * y.pendiente
|
||||
LET ttotal = ttotal + valor
|
||||
LET ototal = ototal + valor
|
||||
LET vtotal = valor + vtotal
|
||||
LET valor_orden = pprecio * y.cantidad_ord
|
||||
LET tvalor_orden = valor_orden + tvalor_orden
|
||||
LET vvalor_orden = vvalor_orden + valor_orden
|
||||
PRINTX y.*,nombre_cia,pprecio,valor,ttotal,ototal,psimbolo,vtotal,valor_orden,tvalor_orden,vvalor_orden,
|
||||
numero_recibo,valor_avance
|
||||
|
||||
END REPORT
|
||||
@@ -0,0 +1,104 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<report:Report xmlns:rtl="http://www.4js.com/2004/RTL" xmlns:report="http://www.4js.com/2007/REPORT" xmlns="http://www.4js.com/2004/PXML" gstVersion="3140a" version="6.00">
|
||||
<report:Settings RWPageWidth="letterlength" RWPageLength="letterwidth" RWLeftMargin="0.5inch" RWTopMargin="0.5inch" RWRightMargin="0.5inch" RWBottomMargin="0.5inch">
|
||||
<report:FormatList>
|
||||
<report:Format-SVG/>
|
||||
<report:Format-PDF/>
|
||||
<report:Format-image/>
|
||||
</report:FormatList>
|
||||
</report:Settings>
|
||||
<report:Data RWDataLocation="../PRDIR/prprmt011b.rdd" RWFglReportName="reporte_rp11b"/>
|
||||
<report:Conflicts/>
|
||||
<rtl:stylesheet>
|
||||
<PXML>
|
||||
<rtl:match name="Report" nameConstraint="Report">
|
||||
<MINIPAGE name="Page Root" width="max" length="max">
|
||||
<LAYOUTNODE name="PageHeader" width="min" length="min" port="anyPageHeader" floatingBehavior="enclosed">
|
||||
<LAYOUTNODE name="encabezado" width="min" length="max" fontBold="true" layoutDirection="leftToRight" floatingBehavior="enclosed">
|
||||
<rtl:input-variable name="nombre_cia" type="FGLString" expectedLocation="expectedAhead"/>
|
||||
<WORDWRAPBOX name="nombre_cia Value" width="max-2.8cm" floatingBehavior="enclosed" text="{{nombre_cia}}" textAlignment="center"/>
|
||||
<WORDBOX name="WordBox2" floatingBehavior="enclosed" text="PAGINA NO:"/>
|
||||
<PAGENOBOX name="PageNoBox" floatingBehavior="enclosed"/>
|
||||
</LAYOUTNODE>
|
||||
<LAYOUTNODE name="encabezado1" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
|
||||
<WORDBOX name="WordBox" width="max-2.8cm" fontBold="true" floatingBehavior="enclosed" textAlignment="center" text="RESUMEN ORDENES"/>
|
||||
</LAYOUTNODE>
|
||||
<LAYOUTNODE name="encabezadoDetalle" width="min" length="min" fontSize="7" fontBold="true" layoutDirection="leftToRight" floatingBehavior="enclosed" roundedCorners="true" borderWidth="1" borderStyle="solid">
|
||||
<WORDBOX name="chorden" width="1.6cm" floatingBehavior="enclosed" text="ORDEN"/>
|
||||
<WORDBOX name="chfecha" width="1.6cm" floatingBehavior="enclosed" text="FECHA"/>
|
||||
<WORDBOX name="chcliente" width="4.5cm" floatingBehavior="enclosed" text="CLIENTE"/>
|
||||
<WORDBOX name="chcotizacion" width="1.6cm" floatingBehavior="enclosed" text="COTIZACION"/>
|
||||
<WORDBOX name="chproducto" width="4.8cm" floatingBehavior="enclosed" text="PRODUCTO"/>
|
||||
<WORDBOX name="chcantidadorden" width="2.8cm" floatingBehavior="enclosed" textAlignment="right" text="CANTIDAD O"/>
|
||||
<WORDBOX name="chcantidaddespachada" width="2.5cm" floatingBehavior="enclosed" textAlignment="right" text="CANTIDAD DESP."/>
|
||||
<WORDBOX name="chcantidadpendiente" width="2.5cm" floatingBehavior="enclosed" textAlignment="right" text="CANTIDAD P"/>
|
||||
<WORDBOX name="chprecio" width="1.3cm" floatingBehavior="enclosed" textAlignment="right" text="PRECIO"/>
|
||||
<WORDBOX name="chvalor" width="2cm" floatingBehavior="enclosed" textAlignment="right" text="V. PENDIENTE"/>
|
||||
</LAYOUTNODE>
|
||||
</LAYOUTNODE>
|
||||
<rtl:match name="Group vendedor" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
|
||||
<MINIPAGE name="MiniPage" width="min" length="min" layoutDirection="topToBottom">
|
||||
<rtl:input-variable name="y.vendedor" type="FGLString" expectedLocation="expectedAhead"/>
|
||||
<rtl:input-variable name="y.apell1_emp" type="FGLString" expectedLocation="expectedAhead"/>
|
||||
<WORDWRAPBOX name="y.vendedor Value" width="max" fontBold="true" floatingBehavior="enclosed" text="{{"VENDEDOR: "+y.vendedor.value+" "+y.apell1_emp.value}}"/>
|
||||
<rtl:match name="Group num_oc" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
|
||||
<rtl:match name="OnEveryRow" nameConstraint="OnEveryRow" minOccurs="0" maxOccurs="unbounded">
|
||||
<LAYOUTNODE name="detalle" width="min" length="min" fontSize="7" fontBold="false" layoutDirection="leftToRight" floatingBehavior="enclosed">
|
||||
<rtl:input-variable name="y.num_oc" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="y.num_oc Value" width="1.7cm" anchorX="1" floatingBehavior="enclosed" textAlignment="left" format="&&&&&&" value="{{y.num_oc}}"/>
|
||||
<rtl:input-variable name="y.fecha" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="y.fecha Value" width="1.7cm" floatingBehavior="enclosed" text="{{y.fecha}}"/>
|
||||
<rtl:input-variable name="y.cliente" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDWRAPBOX name="WordWrapBox" width="width("M")*25" floatingBehavior="enclosed" text="{{y.cliente.trim()}}"/>
|
||||
<rtl:input-variable name="y.cotizacion_no" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="y.cotizacion_no Value" width="1.3cm" anchorX="1" floatingBehavior="enclosed" textAlignment="left" format="&&&&&&&&" value="{{y.cotizacion_no}}"/>
|
||||
<rtl:input-variable name="y.producto" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDWRAPBOX name="y.producto Value" width="width("M")*25" floatingBehavior="enclosed" text="{{y.producto}}"/>
|
||||
<rtl:input-variable name="y.cantidad_ord" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="y.cantidad_ord Value" width="1.8cm" anchorX="1" floatingBehavior="enclosed" textAlignment="right" format="---,---,---,--&.&&" value="{{y.cantidad_ord}}"/>
|
||||
<rtl:input-variable name="y.cantidad_desp" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="y.cantidad_desp Value" width="2.7cm" anchorX="1" floatingBehavior="enclosed" textAlignment="right" format="---,---,---,--&.&&" value="{{y.cantidad_desp}}"/>
|
||||
<rtl:input-variable name="y.pendiente" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="y.pendiente Value" width="2.3cm" anchorX="1" floatingBehavior="enclosed" textAlignment="right" format="---,---,---,--&.&&&&" value="{{y.pendiente}}"/>
|
||||
<rtl:input-variable name="pprecio" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="pprecio Value" width="1.5cm" anchorX="1" floatingBehavior="enclosed" textAlignment="right" format="---,---,--&.&&&&" value="{{pprecio}}"/>
|
||||
<rtl:input-variable name="valor" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="valor Value" width="2cm" anchorX="1" floatingBehavior="enclosed" textAlignment="right" format="---,---,---,--&.&&" value="{{valor}}"/>
|
||||
</LAYOUTNODE>
|
||||
</rtl:match>
|
||||
<LAYOUTNODE name="avance" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
|
||||
<rtl:input-variable name="valor_avance" type="FGLNumeric" expectedLocation="expectedBefore"/>
|
||||
<WORDBOX name="WordBox7" width="7cm" fontBold="true" floatingBehavior="enclosed" text="{{"MONTO AVANCE: "+valor_avance.format("###,###,###.##")}}"/>
|
||||
</LAYOUTNODE>
|
||||
<LAYOUTNODE name="totalOrden" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
|
||||
<rtl:input-variable name="y.num_oc" type="FGLNumeric" expectedLocation="expectedBefore"/>
|
||||
<rtl:input-variable name="ototal" type="FGLNumeric" expectedLocation="expectedBefore"/>
|
||||
<WORDBOX name="WordBox1" width="max" floatingBehavior="enclosed" text="{{"TOTAL PENDIENTE ORDEN "+y.num_oc.format("&&&&&&&")+ototal.format("---,---,--#.##")}}"/>
|
||||
</LAYOUTNODE>
|
||||
</rtl:match>
|
||||
</MINIPAGE>
|
||||
<LAYOUTNODE name="totalVendedor" width="min" length="max" layoutDirection="leftToRight" floatingBehavior="enclosed">
|
||||
<rtl:input-variable name="y.vendedor" type="FGLString" expectedLocation="expectedBefore"/>
|
||||
<rtl:input-variable name="vtotal" type="FGLNumeric" expectedLocation="expectedBefore"/>
|
||||
<WORDBOX name="WordBox3" width="max" floatingBehavior="enclosed" text="{{"TOTAL PENDIENTE VENDEDOR "+y.vendedor.trim()+" "+vtotal.format("---,---,--#.##")}}"/>
|
||||
</LAYOUTNODE>
|
||||
<LAYOUTNODE name="totalordenVendedor" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
|
||||
<rtl:input-variable name="vvalor_orden" type="FGLNumeric" expectedLocation="expectedBefore"/>
|
||||
<WORDBOX name="WordBox6" width="max" length="1cm" floatingBehavior="enclosed" text="{{"TOTAL ORDEN VENDEDOR "+vvalor_orden.format("###,###,###.##")}}"/>
|
||||
</LAYOUTNODE>
|
||||
</rtl:match>
|
||||
<LAYOUTNODE name="TOTAL PENDIENTE" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
|
||||
<WORDBOX name="WordBox4" width="7cm" floatingBehavior="enclosed" text="TOTAL GENERAL PENDIENTE"/>
|
||||
<rtl:input-variable name="ttotal" type="FGLNumeric" expectedLocation="expectedBefore"/>
|
||||
<DECIMALFORMATBOX name="ttotal Value" anchorX="1" floatingBehavior="enclosed" textAlignment="right" format="---,---,---,--&.&&" value="{{ttotal}}"/>
|
||||
</LAYOUTNODE>
|
||||
<LAYOUTNODE name="TOTAL ORDENES" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
|
||||
<WORDBOX name="WordBox5" width="7cm" floatingBehavior="enclosed" text="TOTAL GENERAL ORDENES"/>
|
||||
<rtl:input-variable name="tvalor_orden" type="FGLNumeric" expectedLocation="expectedBefore"/>
|
||||
<DECIMALFORMATBOX name="tvalor_orden Value" anchorX="1" floatingBehavior="enclosed" textAlignment="right" format="---,---,---,--&.&&" value="{{tvalor_orden}}"/>
|
||||
</LAYOUTNODE>
|
||||
</MINIPAGE>
|
||||
</rtl:match>
|
||||
</PXML>
|
||||
</rtl:stylesheet>
|
||||
</report:Report>
|
||||
@@ -0,0 +1,457 @@
|
||||
S^1^0^M^prprmt011b^MODULE^^
|
||||
S^2^1^R^reporte_rp11b^^^public
|
||||
F^0^C:\Users\luis_\Documents\fuentes\decomarmol\PROYECTO\PRDIR\prprmt011b.4gl
|
||||
D^2^75^191^8^0^0
|
||||
X^2^c^73^20^0^finish
|
||||
X^2^c^70^30^0^output
|
||||
X^2^c^66^22^0^start
|
||||
X^2^D^75^8^0^
|
||||
S^3^2^P^y^RECORD^^
|
||||
D^3^76^116^9^0^0
|
||||
X^3^r^188^13^0^
|
||||
X^3^r^185^34^0^
|
||||
X^3^r^181^28^0^
|
||||
X^3^r^170^28^0^
|
||||
X^3^r^165^24^0^
|
||||
X^3^r^164^25^0^
|
||||
X^3^r^163^26^0^
|
||||
X^3^r^162^22^0^
|
||||
X^3^r^161^21^0^
|
||||
X^3^r^160^23^0^
|
||||
X^3^r^159^33^0^
|
||||
X^3^r^153^64^0^
|
||||
X^3^r^153^29^0^
|
||||
X^3^r^152^22^0^
|
||||
X^3^r^149^24^0^
|
||||
X^3^r^148^25^0^
|
||||
X^3^r^147^26^0^
|
||||
X^3^r^146^22^0^
|
||||
X^3^r^145^21^0^
|
||||
X^3^r^143^30^0^
|
||||
X^3^r^138^54^0^
|
||||
X^3^l^135^22^0^
|
||||
X^3^l^131^22^0^
|
||||
X^3^l^123^22^0^
|
||||
X^3^l^123^11^0^
|
||||
X^3^l^75^22^0^
|
||||
X^3^D^76^9^0^
|
||||
S^4^3^P^actualiza^VARCHAR(1)^^
|
||||
D^4^77^77^9^0^0
|
||||
X^4^D^77^9^0^
|
||||
S^5^3^P^cerrada^VARCHAR(1)^^
|
||||
D^5^78^78^9^0^0
|
||||
X^5^D^78^9^0^
|
||||
S^6^3^P^estado_produccion^VARCHAR(100)^^
|
||||
D^6^79^79^9^0^0
|
||||
X^6^D^79^9^0^
|
||||
S^7^3^P^estado_producto^VARCHAR(100)^^
|
||||
D^7^80^80^9^0^0
|
||||
X^7^D^80^9^0^
|
||||
S^8^3^P^departamento^SMALLINT^^
|
||||
D^8^81^81^9^0^0
|
||||
X^8^D^81^9^0^
|
||||
S^9^3^P^descripcion_dpto^VARCHAR(30)^^
|
||||
D^9^82^82^9^0^0
|
||||
X^9^D^82^9^0^
|
||||
S^10^3^P^vendedor^VARCHAR(50)^^
|
||||
D^10^83^83^9^0^0
|
||||
X^10^D^83^9^0^
|
||||
S^11^3^P^apell1_emp^VARCHAR(50)^^
|
||||
D^11^84^84^9^0^0
|
||||
X^11^D^84^9^0^
|
||||
S^12^3^P^fecha^DATE^^
|
||||
D^12^85^85^9^0^0
|
||||
X^12^D^85^9^0^
|
||||
S^13^3^P^fecha_compromiso^DATE^^
|
||||
D^13^86^86^9^0^0
|
||||
X^13^D^86^9^0^
|
||||
S^14^3^P^fecha_llegada^DATE^^
|
||||
D^14^87^87^9^0^0
|
||||
X^14^D^87^9^0^
|
||||
S^15^3^P^fechaDispEntrega^DATE^^
|
||||
D^15^88^88^9^0^0
|
||||
X^15^D^88^9^0^
|
||||
S^16^3^P^fechaSolDespacho^DATE^^
|
||||
D^16^89^89^9^0^0
|
||||
X^16^D^89^9^0^
|
||||
S^17^3^P^fechaInstalacion^DATE^^
|
||||
D^17^90^90^9^0^0
|
||||
X^17^D^90^9^0^
|
||||
S^18^3^P^cotizacion_no^INTEGER^^
|
||||
D^18^91^91^9^0^0
|
||||
X^18^D^91^9^0^
|
||||
S^19^3^P^num_oc^INTEGER^^
|
||||
D^19^92^92^9^0^0
|
||||
X^19^D^92^9^0^
|
||||
S^20^3^P^orden_compra^INTEGER^^
|
||||
D^20^93^93^9^0^0
|
||||
X^20^D^93^9^0^
|
||||
S^21^3^P^observacion^VARCHAR(250)^^
|
||||
D^21^94^94^9^0^0
|
||||
X^21^D^94^9^0^
|
||||
S^22^3^P^tipo_venta^VARCHAR(30)^^
|
||||
D^22^95^95^9^0^0
|
||||
X^22^D^95^9^0^
|
||||
S^23^3^P^cliente^VARCHAR(60)^^
|
||||
D^23^96^96^9^0^0
|
||||
X^23^D^96^9^0^
|
||||
S^24^3^P^origen^VARCHAR(30)^^
|
||||
D^24^97^97^9^0^0
|
||||
X^24^D^97^9^0^
|
||||
S^25^3^P^producto^VARCHAR(100)^^
|
||||
D^25^98^98^9^0^0
|
||||
X^25^D^98^9^0^
|
||||
S^26^3^P^cantidad_ord^DECIMAL(12,5)^^
|
||||
D^26^99^99^9^0^0
|
||||
X^26^D^99^9^0^
|
||||
S^27^3^P^cantidad_desp^DECIMAL(12,5)^^
|
||||
D^27^100^100^9^0^0
|
||||
X^27^D^100^9^0^
|
||||
S^28^3^P^cantidad_dev^DECIMAL(12,5)^^
|
||||
D^28^101^101^9^0^0
|
||||
X^28^D^101^9^0^
|
||||
S^29^3^P^pendiente^DECIMAL(12,5)^^
|
||||
D^29^102^102^9^0^0
|
||||
X^29^D^102^9^0^
|
||||
S^30^3^P^sec_vend^SMALLINT^^
|
||||
D^30^103^103^9^0^0
|
||||
X^30^D^103^9^0^
|
||||
S^31^3^P^cod_n^SMALLINT^^
|
||||
D^31^104^104^9^0^0
|
||||
X^31^D^104^9^0^
|
||||
S^32^3^P^cod_grupo^SMALLINT^^
|
||||
D^32^105^105^9^0^0
|
||||
X^32^D^105^9^0^
|
||||
S^33^3^P^cod_tipo^SMALLINT^^
|
||||
D^33^106^106^9^0^0
|
||||
X^33^D^106^9^0^
|
||||
S^34^3^P^cod_sec^SMALLINT^^
|
||||
D^34^107^107^9^0^0
|
||||
X^34^D^107^9^0^
|
||||
S^35^3^P^tipo_cliente^SMALLINT^^
|
||||
D^35^108^108^9^0^0
|
||||
X^35^D^108^9^0^
|
||||
S^36^3^P^sec_cliente^INTEGER^^
|
||||
D^36^109^109^9^0^0
|
||||
X^36^D^109^9^0^
|
||||
S^37^3^P^balance^DECIMAL(12,5)^^
|
||||
D^37^110^110^9^0^0
|
||||
X^37^D^110^9^0^
|
||||
S^38^3^P^id_kit^INTEGER^^
|
||||
D^38^111^111^9^0^0
|
||||
X^38^D^111^9^0^
|
||||
S^39^3^P^area^SMALLINT^^
|
||||
D^39^112^112^9^0^0
|
||||
X^39^D^112^9^0^
|
||||
S^40^3^P^instalador^VARCHAR(100)^^
|
||||
D^40^113^113^9^0^0
|
||||
X^40^D^113^9^0^
|
||||
S^41^3^P^equipo^VARCHAR(100)^^
|
||||
D^41^113^113^20^0^0
|
||||
X^41^D^113^20^0^
|
||||
S^42^3^P^costo^DECIMAL(12,2)^^
|
||||
D^42^114^114^9^0^0
|
||||
X^42^D^114^9^0^
|
||||
S^43^2^V^nombre_cia^CHAR(50)^^
|
||||
D^43^117^117^9^0^0
|
||||
X^43^r^188^17^0^
|
||||
X^43^l^127^27^0^
|
||||
X^43^D^117^9^0^
|
||||
S^44^2^V^pprecio^DECIMAL(12,2)^^
|
||||
D^44^118^118^9^0^0
|
||||
X^44^r^188^28^0^
|
||||
X^44^r^185^24^0^
|
||||
X^44^r^181^18^0^
|
||||
X^44^r^179^19^0^
|
||||
X^44^l^179^9^0^
|
||||
X^44^l^177^12^0^
|
||||
X^44^r^176^8^0^
|
||||
X^44^l^158^14^0^
|
||||
X^44^r^156^9^0^
|
||||
X^44^l^142^11^0^
|
||||
X^44^D^118^9^0^
|
||||
S^45^2^V^ttotal^DECIMAL(12,2)^^
|
||||
D^45^118^118^17^0^0
|
||||
X^45^r^188^42^0^
|
||||
X^45^r^182^19^0^
|
||||
X^45^l^182^10^0^
|
||||
X^45^l^128^10^0^
|
||||
X^45^D^118^17^0^
|
||||
S^46^2^V^vtotal^DECIMAL(12,2)^^
|
||||
D^46^118^118^24^0^0
|
||||
X^46^r^188^65^0^
|
||||
X^46^r^184^27^0^
|
||||
X^46^l^184^10^0^
|
||||
X^46^l^132^12^0^
|
||||
X^46^D^118^24^0^
|
||||
S^47^2^V^valor_orden^DECIMAL(12,2)^^
|
||||
D^47^118^118^31^0^0
|
||||
X^47^r^188^72^0^
|
||||
X^47^r^187^40^0^
|
||||
X^47^r^186^25^0^
|
||||
X^47^l^185^10^0^
|
||||
X^47^D^118^31^0^
|
||||
S^48^2^V^vvalor_orden^DECIMAL(12,2)^^
|
||||
D^48^118^118^43^0^0
|
||||
X^48^r^188^97^0^
|
||||
X^48^r^187^25^0^
|
||||
X^48^l^187^10^0^
|
||||
X^48^l^133^12^0^
|
||||
X^48^D^118^43^0^
|
||||
S^49^2^V^tvalor_orden^DECIMAL(12,2)^^
|
||||
D^49^118^118^56^0^0
|
||||
X^49^r^188^84^0^
|
||||
X^49^r^186^39^0^
|
||||
X^49^l^186^10^0^
|
||||
X^49^l^129^10^0^
|
||||
X^49^D^118^56^0^
|
||||
S^50^2^V^valor_avance^DECIMAL(12,2)^^
|
||||
D^50^118^118^69^0^0
|
||||
X^50^r^189^20^0^
|
||||
X^50^r^180^22^0^
|
||||
X^50^l^180^9^0^
|
||||
X^50^l^151^31^0^
|
||||
X^50^D^118^69^0^
|
||||
S^51^2^V^psimbolo^CHAR(4)^^
|
||||
D^51^119^119^9^0^0
|
||||
X^51^r^188^56^0^
|
||||
X^51^l^137^28^0^
|
||||
X^51^D^119^9^0^
|
||||
S^52^2^V^numero_recibo^INTEGER^^
|
||||
D^52^120^120^9^0^0
|
||||
X^52^r^189^6^0^
|
||||
X^52^D^120^9^0^
|
||||
S^53^2^V^valor^DECIMAL(12,4)^^
|
||||
D^53^121^121^9^0^0
|
||||
X^53^r^188^36^0^
|
||||
X^53^r^184^19^0^
|
||||
X^53^r^183^28^0^
|
||||
X^53^r^182^28^0^
|
||||
X^53^l^181^10^0^
|
||||
X^53^D^121^9^0^
|
||||
S^54^2^V^ototal^DECIMAL(12,4)^^
|
||||
D^54^121^121^15^0^0
|
||||
X^54^r^188^49^0^
|
||||
X^54^r^183^19^0^
|
||||
X^54^l^183^10^0^
|
||||
X^54^l^136^10^0^
|
||||
X^54^D^121^15^0^
|
||||
S^55^2^V^reportDef^base.Report^^
|
||||
D^55^0^0^0^0^0
|
||||
S^56^1^F^prprmt011b^^^public
|
||||
D^56^4^74^10^0^0
|
||||
X^56^D^4^10^0^
|
||||
S^57^56^P^x^DYNAMIC ARRAY OF RECORD^^
|
||||
D^57^5^44^9^0^0
|
||||
X^57^r^70^44^0^
|
||||
X^57^r^69^13^0^
|
||||
X^57^r^68^19^0^
|
||||
X^57^l^4^21^0^
|
||||
X^57^D^5^9^0^
|
||||
S^58^57^P^actualiza^VARCHAR(1)^^
|
||||
D^58^6^6^13^0^0
|
||||
X^58^D^6^13^0^
|
||||
S^59^57^P^cerrada^VARCHAR(1)^^
|
||||
D^59^7^7^9^0^0
|
||||
X^59^D^7^9^0^
|
||||
S^60^57^P^estado_produccion^VARCHAR(100)^^
|
||||
D^60^8^8^9^0^0
|
||||
X^60^D^8^9^0^
|
||||
S^61^57^P^estado_producto^VARCHAR(100)^^
|
||||
D^61^9^9^9^0^0
|
||||
X^61^D^9^9^0^
|
||||
S^62^57^P^departamento^SMALLINT^^
|
||||
D^62^10^10^9^0^0
|
||||
X^62^D^10^9^0^
|
||||
S^63^57^P^descripcion_dpto^VARCHAR(30)^^
|
||||
D^63^11^11^9^0^0
|
||||
X^63^D^11^9^0^
|
||||
S^64^57^P^vendedor^VARCHAR(50)^^
|
||||
D^64^12^12^9^0^0
|
||||
X^64^D^12^9^0^
|
||||
S^65^57^P^apell1_emp^VARCHAR(50)^^
|
||||
D^65^13^13^9^0^0
|
||||
X^65^D^13^9^0^
|
||||
S^66^57^P^fecha^DATE^^
|
||||
D^66^14^14^9^0^0
|
||||
X^66^D^14^9^0^
|
||||
S^67^57^P^fecha_compromiso^DATE^^
|
||||
D^67^15^15^9^0^0
|
||||
X^67^D^15^9^0^
|
||||
S^68^57^P^fecha_llegada^DATE^^
|
||||
D^68^16^16^9^0^0
|
||||
X^68^D^16^9^0^
|
||||
S^69^57^P^fechaDispEntrega^DATE^^
|
||||
D^69^17^17^9^0^0
|
||||
X^69^D^17^9^0^
|
||||
S^70^57^P^fechaSolDespacho^DATE^^
|
||||
D^70^18^18^9^0^0
|
||||
X^70^D^18^9^0^
|
||||
S^71^57^P^fechaInstalacion^DATE^^
|
||||
D^71^19^19^9^0^0
|
||||
X^71^D^19^9^0^
|
||||
S^72^57^P^cotizacion_no^INTEGER^^
|
||||
D^72^20^20^9^0^0
|
||||
X^72^D^20^9^0^
|
||||
S^73^57^P^num_oc^INTEGER^^
|
||||
D^73^21^21^9^0^0
|
||||
X^73^D^21^9^0^
|
||||
S^74^57^P^orden_compra^INTEGER^^
|
||||
D^74^22^22^9^0^0
|
||||
X^74^D^22^9^0^
|
||||
S^75^57^P^observacion^VARCHAR(250)^^
|
||||
D^75^23^23^9^0^0
|
||||
X^75^D^23^9^0^
|
||||
S^76^57^P^tipo_venta^VARCHAR(30)^^
|
||||
D^76^24^24^9^0^0
|
||||
X^76^D^24^9^0^
|
||||
S^77^57^P^cliente^VARCHAR(60)^^
|
||||
D^77^25^25^9^0^0
|
||||
X^77^D^25^9^0^
|
||||
S^78^57^P^origen^VARCHAR(30)^^
|
||||
D^78^26^26^9^0^0
|
||||
X^78^D^26^9^0^
|
||||
S^79^57^P^producto^VARCHAR(100)^^
|
||||
D^79^27^27^9^0^0
|
||||
X^79^D^27^9^0^
|
||||
S^80^57^P^cantidad_ord^DECIMAL(12,5)^^
|
||||
D^80^28^28^9^0^0
|
||||
X^80^D^28^9^0^
|
||||
S^81^57^P^cantidad_desp^DECIMAL(12,5)^^
|
||||
D^81^29^29^9^0^0
|
||||
X^81^D^29^9^0^
|
||||
S^82^57^P^cantidad_dev^DECIMAL(12,5)^^
|
||||
D^82^30^30^9^0^0
|
||||
X^82^D^30^9^0^
|
||||
S^83^57^P^pendiente^DECIMAL(12,5)^^
|
||||
D^83^31^31^9^0^0
|
||||
X^83^D^31^9^0^
|
||||
S^84^57^P^sec_vend^SMALLINT^^
|
||||
D^84^32^32^9^0^0
|
||||
X^84^D^32^9^0^
|
||||
S^85^57^P^cod_n^SMALLINT^^
|
||||
D^85^33^33^9^0^0
|
||||
X^85^D^33^9^0^
|
||||
S^86^57^P^cod_grupo^SMALLINT^^
|
||||
D^86^34^34^9^0^0
|
||||
X^86^D^34^9^0^
|
||||
S^87^57^P^cod_tipo^SMALLINT^^
|
||||
D^87^35^35^9^0^0
|
||||
X^87^D^35^9^0^
|
||||
S^88^57^P^cod_sec^SMALLINT^^
|
||||
D^88^36^36^9^0^0
|
||||
X^88^D^36^9^0^
|
||||
S^89^57^P^tipo_cliente^SMALLINT^^
|
||||
D^89^37^37^9^0^0
|
||||
X^89^D^37^9^0^
|
||||
S^90^57^P^sec_cliente^INTEGER^^
|
||||
D^90^38^38^9^0^0
|
||||
X^90^D^38^9^0^
|
||||
S^91^57^P^balance^DECIMAL(12,5)^^
|
||||
D^91^39^39^9^0^0
|
||||
X^91^D^39^9^0^
|
||||
S^92^57^P^id_kit^INTEGER^^
|
||||
D^92^40^40^9^0^0
|
||||
X^92^D^40^9^0^
|
||||
S^93^57^P^area^SMALLINT^^
|
||||
D^93^41^41^9^0^0
|
||||
X^93^D^41^9^0^
|
||||
S^94^57^P^instalador^VARCHAR(100)^^
|
||||
D^94^42^42^9^0^0
|
||||
X^94^D^42^9^0^
|
||||
S^95^57^P^equipo^VARCHAR(100)^^
|
||||
D^95^42^42^20^0^0
|
||||
X^95^D^42^20^0^
|
||||
S^96^57^P^costo^DECIMAL(12,2)^^
|
||||
D^96^43^43^9^0^0
|
||||
X^96^D^43^9^0^
|
||||
S^97^56^V^i^SMALLINT^^
|
||||
D^97^45^45^3^0^0
|
||||
X^97^r^70^46^0^
|
||||
X^97^r^69^15^0^
|
||||
X^97^l^68^10^0^
|
||||
X^97^D^45^3^0^
|
||||
S^98^56^V^handler^om.SaxDocumentHandler^^
|
||||
D^98^47^47^10^0^0
|
||||
X^98^r^66^51^0^
|
||||
X^98^r^65^9^0^
|
||||
X^98^l^62^19^0^
|
||||
X^98^D^47^10^0^
|
||||
S^99^56^V^r_filename^STRING^^
|
||||
D^99^48^48^9^0^0
|
||||
X^99^r^56^46^0^
|
||||
X^99^l^52^16^0^
|
||||
X^99^D^48^9^0^
|
||||
S^100^56^V^r_output^STRING^^
|
||||
D^100^49^49^9^0^0
|
||||
X^100^r^59^44^0^
|
||||
X^100^l^54^48^0^
|
||||
X^100^D^49^9^0^
|
||||
S^101^56^V^preview^INTEGER^^
|
||||
D^101^50^50^9^0^0
|
||||
X^101^r^60^45^0^
|
||||
X^101^l^58^19^0^
|
||||
X^101^D^50^9^0^
|
||||
S^102^0^V^ptasa^DECIMAL(12,4)^^global
|
||||
D^102^2^2^9^0^0
|
||||
X^102^r^180^37^0^
|
||||
X^102^r^179^29^0^
|
||||
X^102^l^174^12^0^
|
||||
X^102^r^173^8^0^
|
||||
X^102^l^168^29^0^
|
||||
X^102^D^2^9^0^
|
||||
S^103^0^F^fgl_report_commitCurrentSettings^^^extern
|
||||
X^103^c^62^29^0^
|
||||
S^104^0^F^fgl_report_configurexlsxdevice^^^extern
|
||||
X^104^c^61^20^0^
|
||||
S^105^0^F^fgl_report_selectPreview^^^extern
|
||||
X^105^c^60^20^0^
|
||||
S^106^0^F^fgl_report_selectDevice^^^extern
|
||||
X^106^c^59^20^0^
|
||||
S^107^0^F^fgl_report_loadCurrentSettings^^^extern
|
||||
X^107^c^56^15^0^
|
||||
S^108^0^F^seleccionarSalida^^^extern
|
||||
X^108^c^54^17^0^
|
||||
T^1^3^d^0^0^DEFINE
|
||||
T^1^3^d^0^0^GLOBALS DEFINE
|
||||
T^2^2^d^0^0^DEFINE
|
||||
T^4^74^f^0^0^FUNCTION
|
||||
T^5^50^d^0^0^DEFINE
|
||||
T^5^44^d^0^0^RECORD
|
||||
T^56^63^c^0^0^IF
|
||||
T^58^62^c^0^0^THEN
|
||||
T^65^67^c^0^0^IF
|
||||
T^66^66^c^0^0^THEN
|
||||
T^68^72^l^0^0^FOR
|
||||
T^69^71^c^0^0^IF
|
||||
T^70^70^c^0^0^THEN
|
||||
T^75^191^f^0^0^REPORT
|
||||
T^76^121^d^0^0^DEFINE
|
||||
T^76^116^d^0^0^RECORD
|
||||
r^2^ORDER EXTERNAL^0
|
||||
o^2^10^1
|
||||
o^2^19^1
|
||||
T^125^129^a^0^0^FIRST PAGE HEADER
|
||||
T^131^133^a^0^0^BEFORE GROUP OF 10
|
||||
T^135^138^a^0^0^BEFORE GROUP OF 19
|
||||
T^140^189^a^0^0^ON EVERY ROW
|
||||
T^156^166^c^0^0^IF
|
||||
T^157^165^c^0^0^THEN
|
||||
T^173^175^c^0^0^IF
|
||||
T^174^174^c^0^0^THEN
|
||||
T^176^178^c^0^0^IF
|
||||
T^177^177^c^0^0^THEN
|
||||
x^188^0^
|
||||
p^r^3
|
||||
p^v^43
|
||||
p^v^44
|
||||
p^v^53
|
||||
p^v^45
|
||||
p^v^54
|
||||
p^v^51
|
||||
p^v^46
|
||||
p^v^47
|
||||
p^v^49
|
||||
p^v^48
|
||||
p^v^52
|
||||
p^v^50
|
||||
@@ -0,0 +1,134 @@
|
||||
{
|
||||
NOMBRE FUNCION: prprmt011c.4gl
|
||||
OBJETIVO : Administratar el flujo comentarios
|
||||
FECHA : 28/1/2016
|
||||
DESARROLLADO : ING. JUAN SOTO
|
||||
|
||||
|
||||
}
|
||||
|
||||
FUNCTION prprmt011c(xnum_oc,pcodn,pcodgrupo,pcodtipo,pcodsec,xusuario,xactualiza,xdepartamento)
|
||||
DEFINE xnum_oc,xdepartamento INT,
|
||||
idx,pcodn,pcodgrupo,pcodtipo,pcodsec SMALLINT,
|
||||
opt,xactualiza VARCHAR(3),
|
||||
arr_flujo DYNAMIC ARRAY OF RECORD
|
||||
actualiza CHAR(2),
|
||||
fecha_trx DATETIME YEAR TO MINUTE,
|
||||
departamento SMALLINT,
|
||||
nombre VARCHAR(60),
|
||||
comentario VARCHAR(100),
|
||||
fecha_compromiso DATE,
|
||||
id INT
|
||||
END RECORD,
|
||||
xusuario VARCHAR(50)
|
||||
|
||||
|
||||
DECLARE busca_flujo CURSOR FOR
|
||||
SELECT a.actualiza,a.fecha_trx,a.departamento,b.nom_dpto,a.comentario,CONVERT(CHAR(10),a.fecha_compromiso,103),a.id
|
||||
FROM prtb00033 a,adtb00001 b
|
||||
WHERE a.num_oc = xnum_oc AND
|
||||
a.cod_n = pcodn AND
|
||||
a.cod_grupo = pcodgrupo AND
|
||||
a.cod_tipo = pcodtipo AND
|
||||
a.cod_sec = pcodsec AND
|
||||
a.departamento = b.departamento
|
||||
ORDER BY a.id
|
||||
|
||||
LET idx = 1
|
||||
FOREACH busca_flujo INTO arr_flujo[idx].*
|
||||
LET idx = idx + 1
|
||||
END FOREACH
|
||||
OPEN WINDOW w1 WITH FORM "prfmmt011c"
|
||||
|
||||
INPUT ARRAY arr_flujo FROM sflujo.* ATTRIBUTE(WITHOUT DEFAULTS)
|
||||
BEFORE INPUT
|
||||
FOR idx = 1 TO arr_flujo.getLength()
|
||||
IF arr_flujo[idx].actualiza = 'N' THEN
|
||||
DISPLAY arr_flujo[idx].* TO sflujo[scr_line()].* ATTRIBUTE(reverse)
|
||||
END IF
|
||||
END FOR
|
||||
AFTER FIELD departamento
|
||||
IF arr_flujo[arr_curr()].departamento IS NOT NULL THEN
|
||||
SELECT a.nom_dpto INTO arr_flujo[arr_curr()].nombre FROM adtb00001 a
|
||||
WHERE a.departamento = arr_flujo[arr_curr()].departamento
|
||||
|
||||
IF STATUS = NOTFOUND THEN
|
||||
CALL msg(3)
|
||||
NEXT FIELD departamento
|
||||
END IF
|
||||
IF arr_flujo[arr_curr()].fecha_compromiso IS NULL THEN
|
||||
LET arr_flujo[arr_curr()].fecha_compromiso =TODAY
|
||||
DISPLAY arr_flujo[arr_curr()].fecha_compromiso TO sflujo[scr_line()].fecha_compromiso
|
||||
END IF
|
||||
|
||||
DISPLAY arr_flujo[arr_curr()].nombre TO sflujo[scr_line()].nombre
|
||||
END IF
|
||||
AFTER INPUT
|
||||
IF INT_FLAG THEN
|
||||
EXIT INPUT
|
||||
END IF
|
||||
IF xactualiza = "SI" THEN
|
||||
|
||||
LET opt = fgl_winquestion("Atencion","Desea Actualizar estos registros?","NO","NO|YES","QUESTION",0)
|
||||
IF opt = "YES" THEN
|
||||
BEGIN WORK
|
||||
FOR idx = 1 TO arr_flujo.getLength()
|
||||
IF arr_flujo[idx].departamento IS NOT NULL THEN
|
||||
IF arr_flujo[idx].actualiza IS NULL THEN
|
||||
INSERT INTO prtb00033 (fecha_trx,num_oc,cod_n,cod_grupo,cod_tipo,cod_sec,comentario,departamento,actualiza,
|
||||
id,fecha_compromiso,usuario)
|
||||
VALUES (GETDATE(),xnum_oc,pcodn,pcodgrupo,pcodtipo,pcodsec,
|
||||
arr_flujo[idx].comentario,arr_flujo[idx].departamento,'N',idx,arr_flujo[idx].fecha_compromiso,
|
||||
xusuario)
|
||||
IF STATUS < 0 THEN
|
||||
ROLLBACK WORK
|
||||
CALL fgl_winmessage("ERROR","OCURRIO UN ERROR AL ACTUALIZAR EL LOG","INFO")
|
||||
EXIT FOR
|
||||
END IF
|
||||
IF arr_flujo[idx].fecha_compromiso IS NOT NULL THEN
|
||||
UPDATE prtb00012 SET fecha_entrega = arr_flujo[idx].fecha_compromiso,
|
||||
us_mod = xusuario,
|
||||
fech_mod = getdate()
|
||||
WHERE num_oc = xnum_oc
|
||||
|
||||
IF STATUS < 0 THEN
|
||||
ROLLBACK WORK
|
||||
CALL fgl_winmessage("ERROR","OCURRIO UN ERROR AL ACTUALIZAR MAESTRA ORDENES","INFO")
|
||||
EXIT FOR
|
||||
END IF
|
||||
UPDATE prtb00013 SET departamento = arr_flujo[idx].departamento,
|
||||
us_mod = xusuario,
|
||||
fech_mod = getdate()
|
||||
WHERE num_oc = xnum_oc AND
|
||||
cod_n = pcodn AND cod_grupo = pcodgrupo AND cod_tipo = pcodtipo AND
|
||||
cod_sec = pcodsec
|
||||
|
||||
IF STATUS < 0 THEN
|
||||
ROLLBACK WORK
|
||||
CALL fgl_winmessage("ERROR","OCURRIO UN ERROR AL ACTUALIZAR DETALLE ORDENES","INFO")
|
||||
EXIT FOR
|
||||
END IF
|
||||
|
||||
END IF
|
||||
INSERT INTO prordenstatus(fecha_trx,num_oc,observacion,fecha_compromiso,usuario)
|
||||
VALUES (GETDATE(),xnum_oc,arr_flujo[idx].comentario,arr_flujo[idx].fecha_compromiso,xusuario)
|
||||
|
||||
END IF
|
||||
|
||||
END IF
|
||||
END FOR
|
||||
COMMIT WORK
|
||||
CALL fgl_winmessage("Atencion","Registro(s) Actualizado(s)","info")
|
||||
ELSE
|
||||
CALL fgl_winmessage("Atencion","Registro(s) NO Actualizado(s)","info")
|
||||
|
||||
END IF
|
||||
END IF
|
||||
END INPUT
|
||||
IF INT_FLAG THEN
|
||||
LET INT_FLAG = FALSE
|
||||
CLOSE WINDOW w1
|
||||
RETURN
|
||||
END IF
|
||||
CLOSE WINDOW w1
|
||||
END FUNCTION
|
||||
@@ -0,0 +1,81 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<report:Report xmlns:rtl="http://www.4js.com/2004/RTL" xmlns:report="http://www.4js.com/2007/REPORT" xmlns="http://www.4js.com/2004/PXML" gstVersion="31405" version="6.00">
|
||||
<report:Settings RWPageWidth="letterlength" RWPageLength="letterwidth" RWLeftMargin="0.5inch" RWTopMargin="0.5inch" RWRightMargin="0.5inch" RWBottomMargin="0.5inch">
|
||||
<report:FormatList>
|
||||
<report:Format-SVG/>
|
||||
<report:Format-PDF/>
|
||||
<report:Format-image/>
|
||||
</report:FormatList>
|
||||
</report:Settings>
|
||||
<report:Data RWDataLocation="../PRDIR/prprmt011.rdd" RWFglReportName="rordenes"/>
|
||||
<report:Conflicts/>
|
||||
<rtl:stylesheet>
|
||||
<PXML>
|
||||
<rtl:match name="Report" nameConstraint="Report">
|
||||
<MINIPAGE name="Page Root" width="max" length="max" alignment="near">
|
||||
<LAYOUTNODE name="Page Header" width="max" length="min" port="anyPageHeader">
|
||||
<MINIPAGE name="StripeLayouter3" width="min" length="max" layoutDirection="leftToRight">
|
||||
<WORDBOX name="Report Title" x="0" y="max/2" anchorX="0" anchorY="0.5" alignment="baseline" fontSize="25" baselineType="leftleft" floatingBehavior="enclosed" text="MARMOTECH, S. A."/>
|
||||
<WORDBOX name="txtpagina" x="2.2" y="max-2cm" floatingBehavior="enclosed" text="PAGINA"/>
|
||||
<PAGENOBOX name="PageNoBox" x="1.23857" y="max" anchorX="0" anchorY="1" alignment="baseline" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="right"/>
|
||||
</MINIPAGE>
|
||||
<LAYOUTNODE name="LayoutNode1" width="min" length="max" layoutDirection="leftToRight" floatingBehavior="enclosed">
|
||||
<WORDBOX name="WordBox8" width="max" fontBold="true" floatingBehavior="enclosed" textAlignment="center" text="REPORTE ORDENES" roundedCorners="true" borderWidth="1" borderStyle="solid"/>
|
||||
<rtl:input-variable name="tiempo" type="FGLString" expectedLocation="expectedAhead"/>
|
||||
<WORDBOX name="hora" y="max-4cm" floatingBehavior="enclosed" text="{{tiempo.trim()}}"/>
|
||||
</LAYOUTNODE>
|
||||
<MINIPAGE name="Table Header" width="min" length="max" alignment="near" fontSize="6" fontBold="true" layoutDirection="leftToRight">
|
||||
<WORDBOX name="Spacer" alignment="baseline" baselineType="leftleft" port="itemSeparator" text=" "/>
|
||||
<WORDBOX name="WordBox9" width=".8inch" alignment="near" floatingBehavior="enclosed" text="ESTATUS"/>
|
||||
<WORDBOX name="WordBox" width=".5inch" floatingBehavior="enclosed" text="ORDEN"/>
|
||||
<WORDBOX name="WordBox1" width=".7inch" floatingBehavior="enclosed" text="FECHA"/>
|
||||
<WORDBOX name="WordBox2" width=".8inch" floatingBehavior="enclosed" text="ESTADO ORDEN"/>
|
||||
<WORDBOX name="WordBox3" width="1inch" floatingBehavior="enclosed" text="FECHA PROD"/>
|
||||
<WORDBOX name="WordBox10" width="2inch" alignment="baseline" floatingBehavior="enclosed" text="CLIENTE"/>
|
||||
<WORDBOX name="WordBox11" width="1inch" floatingBehavior="enclosed" text="VENDEDOR"/>
|
||||
<WORDBOX name="WordBox12" width="1inch" floatingBehavior="enclosed" textAlignment="right" text="PRODUCTO"/>
|
||||
<WORDBOX name="WordBox13" width="1inch" floatingBehavior="enclosed" textAlignment="right" text="CANTIDAD"/>
|
||||
<WORDBOX name="WordBox14" width=".8inch" floatingBehavior="enclosed" textAlignment="right" text="PENDIENTE"/>
|
||||
</MINIPAGE>
|
||||
<MINIPAGE name="Separator" width="1" length="max" bgColor="#000000" layoutDirection="leftToRight"/>
|
||||
</LAYOUTNODE>
|
||||
<rtl:match name="Group znumero" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
|
||||
<rtl:match name="OnEveryRow" nameConstraint="OnEveryRow" minOccurs="0" maxOccurs="unbounded">
|
||||
<MINIPAGE name="Table Row" width="min" length="max" fontSize="6" layoutDirection="leftToRight">
|
||||
<WORDBOX name="Spacer_1" alignment="baseline" baselineType="leftleft" port="itemSeparator" text=" "/>
|
||||
<rtl:input-variable name="estado" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="estado Value" width=".8inch" alignment="center" floatingBehavior="enclosed" text="{{estado}}"/>
|
||||
<rtl:input-variable name="znumero" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="WordBox4" width=".5inch" floatingBehavior="enclosed" text="{{znumero.format("&&&&&&")}}"/>
|
||||
<rtl:input-variable name="xfecha" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="WordBox5" width=".6inch" floatingBehavior="enclosed" text="{{xfecha}}"/>
|
||||
<rtl:input-variable name="estado_prod" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDWRAPBOX name="estado_prod Value" width="1inch" floatingBehavior="enclosed" text="{{estado_prod}}"/>
|
||||
<rtl:input-variable name="xfecha_prod" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="xfecha_prod Value" width=".6inch" floatingBehavior="enclosed" text="{{xfecha_prod}}"/>
|
||||
<rtl:input-variable name="xcliente" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDWRAPBOX name="xcliente Value" width="2inch" alignment="far" floatingBehavior="enclosed" text="{{xcliente}}"/>
|
||||
<rtl:input-variable name="vendedor" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDWRAPBOX name="vendedor Value" width=".9inch" floatingBehavior="enclosed" text="{{vendedor}}"/>
|
||||
<rtl:input-variable name="xproducto" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDWRAPBOX name="xproducto Value" width="width("M")*25" floatingBehavior="enclosed" text="{{xproducto}}"/>
|
||||
<rtl:input-variable name="xcantidad_ord" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="xcantidad_ord Value" width=".6inch" anchorX="1" floatingBehavior="enclosed" textAlignment="right" format="---,---,---,--&.&&" value="{{xcantidad_ord}}"/>
|
||||
<rtl:input-variable name="xpendiente" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="xpendiente Value" width=".8inch" anchorX="1" floatingBehavior="enclosed" textAlignment="right" format="---,---,---,--&.&&" value="{{xpendiente}}"/>
|
||||
</MINIPAGE>
|
||||
</rtl:match>
|
||||
<LAYOUTNODE name="LayoutNode2" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
|
||||
<MINIPAGE name="Separator1" width="1" length="max" bgColor="#000000" layoutDirection="leftToRight"/>
|
||||
</LAYOUTNODE>
|
||||
</rtl:match>
|
||||
<LAYOUTNODE name="LayoutNode" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed" roundedCorners="true" borderWidth="1" borderStyle="solid">
|
||||
<rtl:input-variable name="total_reg" type="FGLNumeric" expectedLocation="expectedAhead"/>
|
||||
<WORDBOX name="total_reg" width="4inch" floatingBehavior="enclosed" text="{{"TOTAL ORDENES: "+total_reg.format("&&&&")}}"/>
|
||||
</LAYOUTNODE>
|
||||
</MINIPAGE>
|
||||
<rtl:match name="OnLastRow" nameConstraint="OnLastRow" minOccurs="0" maxOccurs="1"/>
|
||||
</rtl:match>
|
||||
</PXML>
|
||||
</rtl:stylesheet>
|
||||
</report:Report>
|
||||
@@ -0,0 +1,69 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<report:Report xmlns:rtl="http://www.4js.com/2004/RTL" xmlns:report="http://www.4js.com/2007/REPORT" xmlns="http://www.4js.com/2004/PXML" gstVersion="31408" version="6.00">
|
||||
<report:Settings RWPageWidth="3.37inch" RWPageLength="3.40inch" RWLeftMargin="0.30inch" RWTopMargin="0.12inch" RWRightMargin="0.00inch" RWBottomMargin="0.00inch">
|
||||
<report:FormatList RWDefaultFormat="Image">
|
||||
<report:Format-SVG/>
|
||||
<report:Format-PDF/>
|
||||
<report:Format-image RWPageRange="all" RWFileType="png" RWResolution="96"/>
|
||||
</report:FormatList>
|
||||
</report:Settings>
|
||||
<report:Data RWDataLocation="../acdir/acprrp010.rdd" RWFglReportName="activos"/>
|
||||
<report:Conflicts/>
|
||||
<rtl:stylesheet>
|
||||
<PXML>
|
||||
<rtl:match name="Report" nameConstraint="Report">
|
||||
<MINIPAGE name="Page Root" width="min" length="min" layoutDirection="topToBottom">
|
||||
<rtl:match name="Group xcodigo" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
|
||||
<LAYOUTNODE name="Layout Node2" width="min" length="min">
|
||||
<IMAGEBOX name="ImageBox3" width="5cm" length="1cm" alignment="near" url="Logo.png" intendedResolution="111"/>
|
||||
<MINIPAGE name="Separator" width="1" length="max" bgColor="#000000" layoutDirection="leftToRight" swapX="false"/>
|
||||
</LAYOUTNODE>
|
||||
<LAYOUTNODE name="Layout Node3" width="max" length="min" fontSize="10">
|
||||
<MINIPAGE name="MiniPage3" width="min" length="min" layoutDirection="leftToRight">
|
||||
<rtl:input-variable name="descripcion" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<rtl:input-variable name="xunidadmed" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDWRAPBOX name="WordWrapBox1" width="width("M")*24" length=".4inch" alignment="baseline" fontSize="10" fontBold="true" baselineType="leftleft" text="{{"("+descripcion.trim()+" "+xunidadmed}}"/>
|
||||
</MINIPAGE>
|
||||
</LAYOUTNODE>
|
||||
<MINIPAGE name="MiniPage5" width="min" length="min" alignment="near" fontSize="9" layoutDirection="leftToRight">
|
||||
<LAYOUTNODE name="LayoutNode4" width="1inch" length="min" alignment="near" fontSize="8" floatingBehavior="enclosed" roundedCorners="true" paddingWidth="0" borderWidth="1" borderStyle="solid">
|
||||
<WORDBOX name="WordBox7_1" width="1inch" alignment="baseline" floatingBehavior="enclosed" text="Medidas"/>
|
||||
<WORDBOX name="WordBox8" width="1inch" alignment="baseline" floatingBehavior="enclosed" text="Cantidad"/>
|
||||
<WORDBOX name="WordBox9" width="1inch" alignment="baseline" floatingBehavior="enclosed" text="Valor Medida"/>
|
||||
</LAYOUTNODE>
|
||||
<LAYOUTNODE name="LayoutNode5" width="min" length="min" fontSize="8" floatingBehavior="enclosed" showFirstRepetitionOnPage="false" roundedCorners="true" borderWidth="1" borderStyle="solid">
|
||||
<rtl:input-variable name="xlado1" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<rtl:input-variable name="xlado2" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<rtl:input-variable name="xlado3" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="WordBox11" width="1.5inch" alignment="baseline" floatingBehavior="enclosed" text="{{xlado1.format("###.####")+" x "+xlado2.format("###.####")+" x "+xlado3.format("###.####")}}"/>
|
||||
<rtl:input-variable name="xcantidad" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="WordBox13" width="1.5inch" alignment="baseline" floatingBehavior="enclosed" text="{{xcantidad.format("##,###.####")}}"/>
|
||||
<rtl:input-variable name="xvalor_medida" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="WordBox14" width="1.5inch" floatingBehavior="enclosed" text="{{xvalor_medida.format("##,###.####")}}"/>
|
||||
</LAYOUTNODE>
|
||||
<LAYOUTNODE name="fecha" width="min" length="min" fontSize="8" layoutDirection="topToBottom" floatingBehavior="enclosed">
|
||||
<rtl:input-variable name="fecha" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="WordBox10" width="2inch" alignment="baseline" fontBold="true" floatingBehavior="enclosed" showFirstRepetitionOnPage="false" textAlignment="left" text="{{"FECHA: "+fecha.value}}"/>
|
||||
<rtl:input-variable name="xnum_oc" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<rtl:input-variable name="cliente" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="WordBox15" width="2inch" alignment="baseline" fontBold="true" floatingBehavior="enclosed" showFirstRepetitionOnPage="false" text="{{"ORDEN:"+xnum_oc.format("<<<<<<<<")+" "+cliente.trim()}}"/>
|
||||
<rtl:input-variable name="x" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="WordBox" width="1.5inch" floatingBehavior="enclosed" showFirstRepetitionOnPage="false" text="{{"Numero Doc: "+x.num_doc}}"/>
|
||||
</LAYOUTNODE>
|
||||
</MINIPAGE>
|
||||
</rtl:match>
|
||||
<LAYOUTNODE name="LayoutNode6" width="min" length="min" floatingBehavior="enclosed">
|
||||
<LAYOUTNODE name="LayoutNode" width="min" length="min" floatingBehavior="enclosed" roundedCorners="true" borderWidth="1" borderStyle="solid">
|
||||
<rtl:input-variable name="x" type="FGLNumeric" expectedLocation="expectedBefore"/>
|
||||
<WORDBOX name="WordBox16" width="2inch" alignment="baseline" floatingBehavior="enclosed" showFirstRepetitionOnPage="false" text="{{"D: "+x.departamento}}"/>
|
||||
</LAYOUTNODE>
|
||||
<LAYOUTNODE name="lbarcode" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed" roundedCorners="false" borderWidth="1" borderStyle="none">
|
||||
<rtl:input-variable name="barcodigo_act" type="FGLString" expectedLocation="expectedBefore"/>
|
||||
<BARCODEBOX name="BarCodeBox1" width="2.7inch" length=".8inch" anchorX="0" anchorY="0" alignment="near" fontBold="true" codeType="code-128" codeValue="{{barcodigo_act.value}}" noText="false"/>
|
||||
</LAYOUTNODE>
|
||||
</LAYOUTNODE>
|
||||
</MINIPAGE>
|
||||
</rtl:match>
|
||||
</PXML>
|
||||
</rtl:stylesheet>
|
||||
</report:Report>
|
||||
@@ -0,0 +1,36 @@
|
||||
{
|
||||
-----------------------------------------------------------------------
|
||||
PROGRAMA : PRPRMT012
|
||||
OBJETIVO : ACTUALIZACION TABLA VWPRODUCCION, ESTO ES PARA ANALISIS
|
||||
DE LAS ORDENES DE PRODUCCION DIARIA.
|
||||
PROGRAMADOR : JUAN SOTO
|
||||
FECHA REALIZACION : JUNIO 3, 2008
|
||||
-----------------------------------------------------------------------
|
||||
}
|
||||
GLOBALS "prprgb000.4gl"
|
||||
|
||||
MAIN
|
||||
DEFER INTERRUPT
|
||||
CALL prprmt011()
|
||||
END MAIN
|
||||
|
||||
FUNCTION prprmt011()
|
||||
|
||||
DISPLAY "EN PROCESO PRODUCCION DIARIA, FAVOR ESPERE...." AT 10,10
|
||||
INSERT INTO prtb00021
|
||||
SELECT f.ano,h.descripcion,k.descrip,p.descripcion,C.FECHA,c.num_doc,a.cod_prod,a.descripcion,
|
||||
a.unidad_med,b.departamento,b.nom_dpto,d.num_emp,d.nom1_emp,apell1_emp,c.h_directa,h_indirecta,
|
||||
e_directa,e_indirecta,c.cantidad,c.codigo_bloque, '0',s.nom_dpto,'0'
|
||||
FROM cttb00001 a,adtb00001 b,adtb00003 d,cttb00003 c,prdtable f,mestable k,diatable h,prtb00002 p,chequeo s
|
||||
WHERE a.cod_prod = c.cod_prod AND
|
||||
c.departamento = b.departamento AND
|
||||
c.departamento = s.departamento AND
|
||||
c.emp_no = d.num_emp AND
|
||||
c.fecha BETWEEN f.fecha_inicio AND f.fecha_corte AND
|
||||
f.mes = k.mes AND F.ANO > "2007" AND
|
||||
p.ano = f.ano and p.mes = f.mes AND
|
||||
WEEKDAY(c.fecha) = h.dia AND
|
||||
c.status_t IS NULL
|
||||
|
||||
DECLARE
|
||||
END FUNCTION
|
||||
@@ -0,0 +1,285 @@
|
||||
{
|
||||
PROGRAMA : prprmt020
|
||||
OBJETIVO : Administrar los documentos de las ordenes
|
||||
PROGRAMADOR : ING. JUAN SOTO
|
||||
FECHA : 10/1/2013
|
||||
ACTUALIZACION: SE CAMBIO DE SOLO ADMINISTRAR LOS DIBUJOS A MANEJAR TODOS LOS DOCUMENTOS RELACIONADOS A LA ORDEN
|
||||
FECHA ACTUALIZACION: 1/12/2015
|
||||
}
|
||||
IMPORT os
|
||||
GLOBALS "prprgb000.4gl"
|
||||
DEFINE d_tipos,mensaje,f_tipos,filepath,extension,xdestino,l_file,tmpdir_file STRING
|
||||
|
||||
MAIN
|
||||
DEFER INTERRUPT
|
||||
CALL STARTLOG("prmt020.log")
|
||||
CALL ARG_VAL(1) RETURNING usuarios
|
||||
CALL ARG_VAL(2) RETURNING clave
|
||||
# CALL showDir("F:\\MASTER\\DOCUMENTOS_ORDENES")
|
||||
CONNECT to "marmotech_t" AS "IFMX" USER 'jsoto' USING 'lmmjvsd2014'
|
||||
|
||||
CONNECT to "decomarmol_te" AS "MSSQL" USER usuarios USING clave
|
||||
DECLARE buscacorreo CURSOR FOR
|
||||
SELECT a.correo FROM seg0003 a
|
||||
WHERE a.controldibujo = 'SI'
|
||||
|
||||
LET idx = 1
|
||||
FOREACH buscacorreo INTO copiacorreo[idx]
|
||||
LET copiaemail = copiaemail CLIPPED,";",copiacorreo[idx]
|
||||
LET idx = idx + 1
|
||||
END FOREACH
|
||||
|
||||
CALL prprmt020()
|
||||
END MAIN
|
||||
|
||||
FUNCTION prprmt020()
|
||||
DEFINE nombre_cliente,email,emailsubject,emailbody,procedimiento,vendedor,dir_file CHAR(60),
|
||||
url,filedestino VARCHAR(200),
|
||||
documentos DYNAMIC ARRAY OF RECORD
|
||||
idx INT,
|
||||
tipo_file CHAR(20),
|
||||
bodega SMALLINT,
|
||||
num_doc INT,
|
||||
nombre_file VARCHAR(100),
|
||||
filedestino BYTE
|
||||
|
||||
END RECORD,
|
||||
p_res,i SMALLINT,
|
||||
chpath VARCHAR(1),
|
||||
cmd VARCHAR(200),
|
||||
exito BOOLEAN,
|
||||
tipo_file CHAR(20),
|
||||
bodega SMALLINT,
|
||||
num_doc INT
|
||||
|
||||
# Busca correo usuario
|
||||
SELECT a.email INTO email FROM seg0001 a
|
||||
WHERE a.usuario = usuarios
|
||||
|
||||
LET i = 1
|
||||
|
||||
OPEN WINDOW w1 WITH FORM "prfmmt012"
|
||||
DIALOG ATTRIBUTES(UNBUFFERED,FIELD ORDER FORM)
|
||||
INPUT BY NAME prtb08.num_oc
|
||||
|
||||
BEFORE INPUT
|
||||
LET d_tipos="PDF"
|
||||
LET f_tipos="*.pdf *.jpg *.png"
|
||||
LET mensaje=%"Elige Documento"
|
||||
|
||||
|
||||
AFTER FIELD num_oc
|
||||
SELECT a.cotizacion_no,b.nombre,a.sec_vend,ISNULL(c.nom1_emp,' ')+ISNULL(c.apell1_emp,' '),
|
||||
a.tipo_cliente,a.sec_cliente
|
||||
INTO prtb08.cotizacion_no,nombre_cliente,prtb08.sec_vend,vendedor,
|
||||
prtb08.tipo_cliente,prtb08.sec_cliente
|
||||
FROM prtb00012 a,vetb00004 b,adtb00003 c
|
||||
WHERE a.num_oc = prtb08.num_oc AND
|
||||
a.tipo_cliente = b.tipo_cliente AND
|
||||
a.sec_cliente = b.sec_cliente AND
|
||||
a.sec_vend = c.num_emp
|
||||
|
||||
IF STATUS = NOTFOUND THEN
|
||||
CALL msg(3)
|
||||
NEXT FIELD num_oc
|
||||
ELSE
|
||||
CALL documentos.clear()
|
||||
|
||||
|
||||
DECLARE busca_dibujo CURSOR FOR
|
||||
SELECT a.id,a.tipo_file,a.bodega,a.num_doc,a.nombre_file,
|
||||
a.documento
|
||||
FROM prtb00029 a
|
||||
WHERE a.num_oc = prtb08.num_oc
|
||||
ORDER BY a.id
|
||||
LET idx = 1
|
||||
LOCATE documentos[idx].filedestino IN MEMORY
|
||||
FOREACH busca_dibujo INTO documentos[idx].*
|
||||
LET idx = idx + 1
|
||||
LOCATE documentos[idx].filedestino IN MEMORY
|
||||
|
||||
END FOREACH
|
||||
|
||||
END IF
|
||||
SELECT MAX(a.id) INTO i FROM prtb00029 a
|
||||
WHERE a.num_oc = prtb08.num_oc
|
||||
|
||||
SELECT a.path_documentos_ordenes,a.url_file_destino INTO filedestino,url
|
||||
FROM companias a
|
||||
|
||||
|
||||
DISPLAY BY NAME prtb08.cotizacion_no,nombre_cliente,vendedor
|
||||
NEXT FIELD tipo_file
|
||||
AFTER INPUT
|
||||
END INPUT
|
||||
|
||||
INPUT ARRAY documentos FROM sdibujo.* ATTRIBUTE(WITHOUT DEFAULTS)
|
||||
|
||||
ON ACTION dibujo
|
||||
CALL ui.Interface.frontCall("standard","openfile", [dir_file,d_tipos,f_tipos,mensaje], [filepath] )
|
||||
|
||||
IF filepath IS NOT NULL THEN
|
||||
IF downshift(os.Path.extension(filepath)) = "pdf" OR
|
||||
downshift(os.Path.extension(filepath)) = "jpg" OR
|
||||
downshift(os.Path.extension(filepath)) = "png" THEN
|
||||
|
||||
DISPLAY filepath TO ruta_file
|
||||
CALL documentos.appendElement()
|
||||
IF idx IS NULL THEN
|
||||
LET idx = 1
|
||||
END IF
|
||||
LOCATE documentos[idx].filedestino IN MEMORY
|
||||
|
||||
CALL documentos[idx].filedestino.readFile(filepath)
|
||||
LET documentos[idx].nombre_file=os.Path.basename(filepath)
|
||||
LET idx = idx + 1
|
||||
ELSE
|
||||
CALL fgl_winmessage("ERROR","EL FILE DEBE SER PDF, JPG, PNG","INFO")
|
||||
END IF
|
||||
|
||||
END IF
|
||||
AFTER FIELD num_doc
|
||||
IF num_doc IS NOT NULL AND tipo_file = "CO" THEN
|
||||
CASE
|
||||
WHEN tipo_file = "CO"
|
||||
IF bodega IS NULL THEN
|
||||
NEXT FIELD bodega
|
||||
END IF
|
||||
|
||||
SELECT DISTINCT a.num_doc FROM iptb00006 a,iptb00005 b
|
||||
WHERE a.bodega = documentos[arr_curr()].bodega AND
|
||||
a.num_doc = documentos[arr_curr()].num_doc AND
|
||||
a.cod_mov = b.cod_mov AND b.control_despacho ="SI" AND
|
||||
a.num_oc = prtb08.num_oc AND
|
||||
a.status_t IS NULL
|
||||
|
||||
IF STATUS = NOTFOUND THEN
|
||||
CALL fgl_Winmessage("ERROR","DOCUMENTO NO EXISTE o NO PERTENECE A ESTA ORDEN","INFO")
|
||||
NEXT FIELD num_doc
|
||||
END IF
|
||||
|
||||
WHEN tipo_file="DE"
|
||||
SET CONNECTION "IFMX"
|
||||
|
||||
SELECT DISTINCT a.num_doc FROM cctb00001 a
|
||||
WHERE a.num_doc = documentos[arr_curr()].num_doc AND
|
||||
a.tipo_doc = "NC" AND
|
||||
a.tipo_cliente = prtb08.tipo_cliente AND
|
||||
a.sec_cliente = prtb08.sec_cliente AND
|
||||
a.status_t IS NULL
|
||||
|
||||
IF STATUS = NOTFOUND THEN
|
||||
CALL fgl_Winmessage("ERROR","DOCUMENTO NO EXISTE","INFO")
|
||||
NEXT FIELD num_doc
|
||||
END IF
|
||||
|
||||
|
||||
END CASE
|
||||
|
||||
END IF
|
||||
|
||||
BEFORE INPUT
|
||||
CALL bodegas("1")
|
||||
|
||||
ON ACTION abrir
|
||||
TRY
|
||||
LET tmpdir_file = "tmp\\",usuarios CLIPPED,documentos[arr_curr()].nombre_file
|
||||
CALL documentos[arr_curr()].filedestino.writeFile(tmpdir_file)
|
||||
|
||||
CALL ui.Interface.frontCall("standard","getenv", ["TEMP"], [l_file] )
|
||||
LET l_file = l_file CLIPPED,"\\",documentos[arr_curr()].nombre_file
|
||||
CALL fgl_putfile(tmpdir_file,l_file)
|
||||
DISPLAY "l_file ",l_file
|
||||
CALL ui.Interface.frontCall("standard","shellexec", [l_file],[p_res])
|
||||
|
||||
CATCH
|
||||
CALL fgl_winmessage("ERROR",err_get(STATUS),"INFO")
|
||||
END TRY
|
||||
ON ACTION actualiza
|
||||
# WHENEVER ERROR CONTINUE
|
||||
BEGIN WORK
|
||||
DELETE FROM prtb00029 WHERE num_oc = prtb08.num_oc
|
||||
FOR idx = 1 TO documentos.getLength()
|
||||
|
||||
IF documentos[idx].nombre_file IS NOT NULL THEN
|
||||
|
||||
INSERT INTO prtb00029 (num_oc,documento,
|
||||
tipo_file,
|
||||
nombre_file,num_doc,bodega,id,us_crea,fech_crea)
|
||||
VALUES (prtb08.num_oc,documentos[idx].filedestino,
|
||||
documentos[idx].tipo_file,
|
||||
documentos[idx].nombre_file,
|
||||
documentos[idx].num_doc,documentos[idx].bodega, idx,usuarios,getdate())
|
||||
IF STATUS < 0 THEN
|
||||
ROLLBACK WORK
|
||||
CALL fgl_winmessage("ERROR","NO INSERTE DOCUMENTO EN LA ORDEN","INFO")
|
||||
EXIT PROGRAM
|
||||
|
||||
END IF
|
||||
IF tipo_file= 'DI' THEN
|
||||
LET emailsubject = "ACTUALIZACION DIBUJO ORDEN ",prtb08.num_oc USING "&&&&&&"
|
||||
LET emailbody = "El usuario ",usuarios," Adiciono un dibujo a la orden ",prtb08.num_oc USING "&&&&&&"
|
||||
LET procedimiento = "{ call cc_avisadespacho(?,?,?,?) }" CLIPPED
|
||||
CALL envia_correo(email,copiaemail,emailbody,emailsubject,procedimiento)
|
||||
|
||||
END IF
|
||||
END IF
|
||||
END FOR
|
||||
|
||||
COMMIT WORK
|
||||
CALL fgl_winmessage("ACTUALIZACION","ACTUALIZACION EXITOSA","INFO")
|
||||
|
||||
NEXT FIELD num_oc
|
||||
END INPUT
|
||||
ON ACTION CANCEL
|
||||
LET INT_FLAG = FALSE
|
||||
CALL msg(2)
|
||||
EXIT DIALOG
|
||||
|
||||
CLOSE WINDOW w1
|
||||
END DIALOG
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION showDir(path)
|
||||
DEFINE path STRING
|
||||
DEFINE child STRING
|
||||
DEFINE h INTEGER,
|
||||
contenido DYNAMIC ARRAY OF STRING,
|
||||
exito BOOLEAN
|
||||
|
||||
OPEN WINDOW w2 WITH FORM "prtest"
|
||||
IF NOT os.Path.exists(path) THEN
|
||||
CALL fgl_winmessage("NO",path,"info")
|
||||
RETURN
|
||||
END IF
|
||||
IF NOT os.Path.isdirectory(path) THEN
|
||||
DISPLAY " ", os.Path.basename(path)
|
||||
RETURN
|
||||
END IF
|
||||
LET contenido[1]="[",path,"]"
|
||||
LET idx = 1
|
||||
CALL os.Path.dirsort("name", 1)
|
||||
LET h = os.Path.diropen(path)
|
||||
WHILE h > 0
|
||||
LET child = os.Path.dirnext(h)
|
||||
IF child IS NULL THEN EXIT WHILE END IF
|
||||
IF child == "." OR child == ".." THEN CONTINUE WHILE END IF
|
||||
LET contenido[idx] = os.Path.join( path, child )
|
||||
LET idx = idx + 1
|
||||
END WHILE
|
||||
CALL os.Path.dirclose(h)
|
||||
DISPLAY ARRAY contenido TO scontenido.*
|
||||
ON ACTION borrar
|
||||
CALL os.Path.delete(contenido[arr_curr()]) RETURNING exito
|
||||
IF NOT exito THEN
|
||||
CALL fgl_winmessage("E","NO BORRE EL FILE","INFO")
|
||||
CONTINUE DISPLAY
|
||||
END IF
|
||||
AFTER DISPLAY
|
||||
IF INT_FLAG THEN
|
||||
EXIT PROGRAM
|
||||
END IF
|
||||
EXIT DISPLAY
|
||||
END DISPLAY
|
||||
CLOSE WINDOW w2
|
||||
END FUNCTION
|
||||
@@ -0,0 +1,145 @@
|
||||
{
|
||||
PROGRAMA : prprmt020
|
||||
OBJETIVO : Administrar los dibujos de las ordenes
|
||||
PROGRAMADOR : ING. JUAN SOTO
|
||||
}
|
||||
|
||||
GLOBALS "prprgb000.4gl"
|
||||
DEFINE d_tipos,mensaje,f_tipos,imagen,filepath STRING,
|
||||
inserte_dibujo BOOLEAN
|
||||
|
||||
MAIN
|
||||
DEFER INTERRUPT
|
||||
CALL STARTLOG("prmt020.log")
|
||||
CALL ARG_VAL(1) RETURNING usuarios
|
||||
CALL ARG_VAL(2) RETURNING clave
|
||||
|
||||
CONNECT to "decomarmol" USER usuarios USING clave
|
||||
|
||||
DECLARE buscacorreo CURSOR FOR
|
||||
SELECT a.correo FROM seg0003 a
|
||||
WHERE a.controldibujo = 'SI'
|
||||
|
||||
LET idx = 1
|
||||
FOREACH buscacorreo INTO copiacorreo[idx]
|
||||
LET copiaemail = copiaemail CLIPPED,";",copiacorreo[idx]
|
||||
LET idx = idx + 1
|
||||
END FOREACH
|
||||
|
||||
CALL prprmt020()
|
||||
END MAIN
|
||||
|
||||
FUNCTION prprmt020()
|
||||
DEFINE nombre_cliente,email,emailsubject,emailbody,procedimiento,vendedor,dir_file CHAR(60),
|
||||
filedestino CHAR(100),
|
||||
ruta DYNAMIC ARRAY OF CHAR(150)
|
||||
|
||||
|
||||
|
||||
OPEN WINDOW w1 WITH FORM "prfmmt012"
|
||||
DIALOG ATTRIBUTES(UNBUFFERED,FIELD ORDER FORM)
|
||||
INPUT BY NAME prtb08.num_oc
|
||||
AFTER INPUT
|
||||
LET d_tipos="Images"
|
||||
LET f_tipos="*.jpg *.png *.gif"
|
||||
LET mensaje=%"Elige Imagen"
|
||||
|
||||
SELECT a.cotizacion_no,b.nombre,a.sec_vend,ISNULL(c.nom1_emp,' ')+ISNULL(c.apell1_emp,' ')
|
||||
INTO prtb08.cotizacion_no,nombre_cliente,prtb08.sec_vend,vendedor
|
||||
FROM prtb00012 a,vetb00004 b,adtb00003 c
|
||||
WHERE a.num_oc = prtb08.num_oc AND
|
||||
a.tipo_cliente = b.tipo_cliente AND
|
||||
a.sec_cliente = b.sec_cliente AND
|
||||
a.sec_vend = c.num_emp
|
||||
|
||||
IF STATUS = NOTFOUND THEN
|
||||
CALL msg(3)
|
||||
NEXT FIELD num_oc
|
||||
ELSE
|
||||
DECLARE busca_dibujo CURSOR FOR
|
||||
SELECT a.ruta_file FROM prtb00029 a
|
||||
WHERE a.num_oc = prtb08.num_oc
|
||||
|
||||
LET idx = 1
|
||||
FOREACH busca_dibujo INTO ruta[idx]
|
||||
LET idx = idx + 1
|
||||
END FOREACH
|
||||
CALL set_count(idx-1)
|
||||
END IF
|
||||
DISPLAY BY NAME prtb08.cotizacion_no,nombre_cliente,vendedor
|
||||
END INPUT
|
||||
|
||||
INPUT ARRAY ruta FROM sdibujo.* ATTRIBUTE(WITHOUT DEFAULTS)
|
||||
BEFORE ROW
|
||||
LET curr = arr_curr()
|
||||
DISPLAY ruta[curr] TO imagen
|
||||
|
||||
ON ACTION actualiza
|
||||
WHENEVER ERROR CONTINUE
|
||||
BEGIN WORK
|
||||
DELETE FROM prtb00029 WHERE num_oc = prtb08.num_oc
|
||||
LET inserte_dibujo = FALSE
|
||||
FOR idx = 1 TO arr_count()
|
||||
|
||||
IF ruta[idx] IS NOT NULL THEN
|
||||
LET filedestino = FGL_GETENV("IMAGENNOMINA")
|
||||
LET filedestino = filedestino CLIPPED,"\\DIBUJOSORDENES\\",idx USING "&&&","-",prtb08.num_oc USING "&&&&&&",".jpg"
|
||||
# CALL fgl_winmessage("2",filedestino,"info")
|
||||
# CALL fgl_winmessage("3",ruta[idx],"info")
|
||||
|
||||
CALL fgl_getfile(ruta[idx],filedestino)
|
||||
|
||||
INSERT INTO prtb00029 (num_oc,ruta_file,id)
|
||||
VALUES (prtb08.num_oc,filedestino,idx)
|
||||
IF STATUS < 0 THEN
|
||||
ROLLBACK WORK
|
||||
CALL fgl_winmessage("ERROR","NO ACTUALICE DIBUJO EN LA ORDEN","INFO")
|
||||
EXIT FOR
|
||||
ELSE
|
||||
COMMIT WORK
|
||||
END IF
|
||||
LET inserte_dibujo = TRUE
|
||||
LET filedestino = NULL
|
||||
END IF
|
||||
END FOR
|
||||
IF inserte_dibujo THEN
|
||||
SELECT a.email INTO email FROM seg0000 a
|
||||
WHERE a.sec_vend = prtb08.sec_vend
|
||||
|
||||
LET emailsubject = "ACTUALIZACION DIBUJO ORDEN"
|
||||
LET emailbody = " LA ORDEN ",prtb08.num_oc USING "&&&&&&"," TIENE EL DIBUJO DISPONIBLE PARA VERIFICAR"
|
||||
LET procedimiento = "{ call cc_avisadespacho(?,?,?,?) }" CLIPPED
|
||||
CALL envia_correo(email,copiaemail,emailbody,emailsubject,procedimiento)
|
||||
CALL fgl_winmessage("Warning","Actualizacion Exitosa","info")
|
||||
END IF
|
||||
|
||||
|
||||
ON ACTION dibujo
|
||||
LET curr = arr_curr()
|
||||
|
||||
|
||||
CALL ui.Interface.frontCall("standard","openfile", [dir_file,d_tipos,f_tipos,mensaje], [filepath] )
|
||||
|
||||
IF filepath IS NOT NULL THEN
|
||||
DISPLAY "filepath ",filepath
|
||||
|
||||
LET ruta[curr]= filepath CLIPPED
|
||||
DISPLAY ruta[curr] TO imagen
|
||||
|
||||
|
||||
|
||||
END IF
|
||||
AFTER ROW
|
||||
LET curr = arr_curr()
|
||||
IF ruta[curr] IS NOT NULL THEN
|
||||
DISPLAY ruta[curr] TO imagen
|
||||
END IF
|
||||
END INPUT
|
||||
ON ACTION CANCEL
|
||||
LET INT_FLAG = FALSE
|
||||
CALL msg(2)
|
||||
EXIT DIALOG
|
||||
|
||||
CLOSE WINDOW w1
|
||||
END DIALOG
|
||||
END FUNCTION
|
||||
@@ -0,0 +1,67 @@
|
||||
{
|
||||
-----------------------------------------------------------------------
|
||||
PROGRAMA : PRPRMT011
|
||||
OBJETIVO : ACTUALIZACION TABLA VWORDENS, ESTO ES PARA ANALISIS
|
||||
DE LAS ORDENES DE PEDIDOS.
|
||||
PROGRAMADOR : JUAN SOTO
|
||||
FECHA REALIZACION : MAYO 9, 2008
|
||||
-----------------------------------------------------------------------
|
||||
}
|
||||
GLOBALS "prprgb000.4gl"
|
||||
|
||||
MAIN
|
||||
DEFER INTERRUPT
|
||||
CALL prprmt011()
|
||||
END MAIN
|
||||
|
||||
FUNCTION prprmt011()
|
||||
|
||||
DISPLAY "EN PROCESO, FAVOR ESPERE...." AT 10,10
|
||||
|
||||
|
||||
DELETE FROM vwordenes;
|
||||
INSERT INTO vwordenes
|
||||
SELECT
|
||||
e.ano,f.descrip,a.fecha_oc,a.fecha_entrega,g.num_doc,a.num_oc,L.PRODUCTO,m.descripcion,b.cod_n,b.cod_grupo,b.cod_tipo,b.cod_sec,n.descrip_esp,n.unidad_med,
|
||||
SUM(b.cantidad),g.cantidad_2,g.cantidad_1,a.tipo_cliente,a.sec_cliente,c.nombre,k.nom1_emp,k.apell1_emp,g.fecha,o.descrip_mov,a.cerrada,' '
|
||||
|
||||
FROM prtb00012 a,prtb00013 b,vetb00004 c,vetb00028 d,prdtable e,mestable f,adtb00003 k,iptb00020 L,iptb00022 m,iptb00002 n,
|
||||
OUTER (iptb00006 g, iptb00005 o)
|
||||
WHERE
|
||||
(a.num_oc =b.num_oc) and
|
||||
a.fecha_oc BETWEEN e.fecha_inicio AND e.fecha_corte AND
|
||||
e.mes = f.mes and
|
||||
(a.tipo_cliente = c.tipo_cliente) AND
|
||||
(a.sec_cliente = c.sec_cliente) AND
|
||||
(c.tipo_cliente = d.tipo_cliente) AND
|
||||
(c.sec_cliente = d.sec_cliente) AND
|
||||
(d.sec_vend = k.num_emp) AND
|
||||
(b.cod_n = n.cod_n) AND
|
||||
(b.cod_grupo = n.cod_grupo) AND
|
||||
(b.cod_tipo = n.cod_tipo) AND
|
||||
(b.cod_sec = n.cod_sec) AND
|
||||
(n.cod_cia = m.cod_cia) AND
|
||||
(L.COD_N = N.COD_N) AND
|
||||
e.ano > "2005" and
|
||||
(n.cod_n = G.cod_n) AND
|
||||
(n.cod_grupo = G.cod_grupo) AND
|
||||
(n.cod_tipo = G.cod_tipo) AND
|
||||
(n.cod_sec = G.cod_sec) AND
|
||||
(b.cod_n = G.cod_n) AND
|
||||
(b.cod_grupo = G.cod_grupo) AND
|
||||
(b.cod_tipo = G.cod_tipo) AND
|
||||
(b.cod_sec = G.cod_sec) AND
|
||||
(g.conduce_no = a.num_oc) and
|
||||
(g.cod_mov = o.cod_mov) and g.cod_mov in (30,31,55,70,71,72,12,13,43) and
|
||||
(g.cod_sp = c.tipo_cliente and g.cod_sp_sec = c.sec_cliente) and
|
||||
g.status_t is null and
|
||||
a.status_t is null
|
||||
GROUP BY e.ano,f.descrip,a.fecha_oc,a.fecha_entrega,g.num_doc,a.num_oc,L.PRODUCTO,m.descripcion,b.cod_n,b.cod_grupo,b.cod_tipo,b.cod_sec,n.descrip_esp,n.unidad_med,
|
||||
g.cantidad_2,g.cantidad_1,a.tipo_cliente,a.sec_cliente,c.nombre,k.nom1_emp,k.apell1_emp,g.fecha,o.descrip_mov,a.cerrada
|
||||
|
||||
UPDATE vwordenes SET estado = "CERRADA" WHERE estado = "S"
|
||||
UPDATE vwordenes SET estado = "ABIERTA" WHERE estado = "N"
|
||||
UPDATE vwordenes SET fechaActualizacion = current
|
||||
|
||||
|
||||
END FUNCTION
|
||||
@@ -0,0 +1,203 @@
|
||||
{
|
||||
-----------------------------------------------------------------------
|
||||
PROGRAMA : PRPRMTORDEN
|
||||
OBJETIVO : ACTUALIZACION TABLA STATUS ORDEN
|
||||
PROGRAMADOR : JUAN SOTO
|
||||
FECHA REALIZACION : NOVIEMBRE 5, 2008
|
||||
-----------------------------------------------------------------------
|
||||
}
|
||||
SCHEMA decomarmol
|
||||
|
||||
MAIN
|
||||
DEFINE usuarios,clave CHAR(50)
|
||||
DEFER INTERRUPT
|
||||
CALL ARG_VAL(1) RETURNING usuarios
|
||||
CALL ARG_VAL(2) RETURNING clave
|
||||
|
||||
CONNECT TO "decomarmol" USER usuarios USING clave
|
||||
CALL prprmtorden()
|
||||
END MAIN
|
||||
|
||||
FUNCTION prprmtorden()
|
||||
|
||||
|
||||
DEFINE pcodn,pcodgrupo,pcodtipo,pcodsec SMALLINT,
|
||||
pexiste DEC(12,3),pcosto DEC(12,4)
|
||||
|
||||
DISPLAY "PROCESO STATUS ORDEN..., FAVOR ESPERE...."
|
||||
|
||||
DELETE FROM ptordenesgral
|
||||
INSERT INTO ptordenesgral
|
||||
SELECT e.ano, f.descrip, a.fecha_oc, a.fecha_entrega, '0' AS Expr1, a.num_oc, '01/01/2001' AS Expr2, '0' AS Expr3, '01/01/2001' AS Expr4, L.producto, m.descripcion, b.cod_n, b.cod_grupo,
|
||||
b.cod_tipo, b.cod_sec, n.descrip_esp, n.unidad_med, '0' AS Expr5, SUM(b.cantidad) AS Expr6, '0' AS Expr7, x.cantidad_1, b.precio, SUM((b.cantidad * b.precio)
|
||||
* (b.descuento / 100)) AS Expr8, SUM(b.cantidad * b.precio) AS Expr9, '0' AS Expr10, '0' AS Expr11, '0' AS Expr12, a.tipo_cliente, a.sec_cliente, c.nombre, k.num_emp,
|
||||
k.nom1_emp, k.apell1_emp, '01/01/2001' AS Expr13, 'ORDEN DE PEDIDOS' AS Expr14, a.cerrada, P1.observacion, '0' AS Expr15, '01/01/2001' AS Expr16
|
||||
FROM vetb00028 AS d INNER JOIN
|
||||
prtb00012 AS a INNER JOIN
|
||||
prtb00013 AS b ON a.num_oc = b.num_oc INNER JOIN
|
||||
prtb00014 AS P1 ON a.num_oc = P1.num_oc INNER JOIN
|
||||
vetb00004 AS c ON a.tipo_cliente = c.tipo_cliente AND
|
||||
a.sec_cliente = c.sec_cliente ON
|
||||
d.tipo_cliente = c.tipo_cliente AND
|
||||
d.sec_cliente = c.sec_cliente
|
||||
INNER JOIN
|
||||
adtb00003 AS k ON d.sec_vend = k.num_emp
|
||||
INNER JOIN
|
||||
iptb00002 AS n ON b.cod_n = n.cod_n AND b.cod_grupo = n.cod_grupo AND
|
||||
b.cod_tipo = n.cod_tipo AND b.cod_sec = n.cod_sec
|
||||
INNER JOIN
|
||||
iptb00022 AS m ON n.cod_cia = m.cod_cia INNER JOIN
|
||||
iptb00020 AS L ON n.cod_n = L.cod_n LEFT OUTER JOIN
|
||||
prtb00023 AS x ON b.num_oc = x.num_oc AND b.cod_n = x.cod_grupo AND
|
||||
b.cod_grupo = x.cod_grupo AND b.cod_tipo = x.cod_tipo AND
|
||||
b.cod_sec = x.cod_sec,
|
||||
mestable AS f
|
||||
INNER JOIN
|
||||
prdtable AS e ON f.mes = e.mes
|
||||
WHERE (a.fecha_oc BETWEEN e.fecha_inicio AND e.fecha_corte) AND
|
||||
(e.ano > 2006) AND (a.status_t IS NULL)
|
||||
|
||||
GROUP BY e.ano, f.descrip, a.fecha_oc, a.fecha_entrega, a.num_oc, L.producto, m.descripcion, b.cod_n, b.cod_grupo, b.cod_tipo, b.cod_sec, n.descrip_esp, n.unidad_med,
|
||||
x.cantidad_1, a.tipo_cliente, a.sec_cliente, c.nombre, k.nom1_emp, k.apell1_emp, a.cerrada, P1.observacion, b.precio, k.num_emp
|
||||
|
||||
#INSERTA DOCUMENTOS DE LA ORDEN
|
||||
|
||||
INSERT INTO ptordenesgral
|
||||
SELECT
|
||||
e.ano,f.descrip,p2.fecha_oc,p2.fecha_entrega,g.num_doc,g.conduce_no,'01/01/2001','0','01/01/2009',L.PRODUCTO,m.descripcion,
|
||||
g.cod_n,g.cod_grupo,g.cod_tipo,g.cod_sec,n.descrip_esp,n.unidad_med,'0',
|
||||
'0',g.cantidad_2,g.cantidad_1,'0','0','0','0','0','0',c.tipo_cliente,c.sec_cliente,c.nombre,k.num_emp,k.nom1_emp,k.apell1_emp,
|
||||
g.fecha,o.descrip_mov,p2.cerrada,p1.observacion,' ','01/01/2001'
|
||||
|
||||
FROM vetb00004 c,vetb00028 d,prdtable e,mestable f,adtb00003 k,iptb00020 L,iptb00022 m,
|
||||
iptb00002 n, iptb00006 g, iptb00005 o,PRTB00014 P1,prtb00012 p2
|
||||
WHERE
|
||||
g.fecha BETWEEN e.fecha_inicio AND e.fecha_corte AND
|
||||
e.mes = f.mes and
|
||||
c.tipo_cliente = p2.tipo_cliente and
|
||||
c.sec_cliente = p2.sec_cliente and
|
||||
g.conduce_no = convert(char,p2.num_oc) AND
|
||||
(c.tipo_cliente = d.tipo_cliente) AND
|
||||
(c.sec_cliente = d.sec_cliente) AND
|
||||
(d.sec_vend = k.num_emp) AND
|
||||
(n.cod_cia = m.cod_cia) AND
|
||||
(L.COD_N = N.COD_N) AND
|
||||
e.ano > "2006" and
|
||||
p1.num_oc = p2.num_oc and
|
||||
|
||||
(n.cod_n = G.cod_n) AND
|
||||
(n.cod_grupo = G.cod_grupo) AND
|
||||
(n.cod_tipo = G.cod_tipo) AND
|
||||
(n.cod_sec = G.cod_sec) AND
|
||||
|
||||
(g.cod_mov = o.cod_mov) and g.cod_mov in (30,31,55,70,71,72,12,13) and
|
||||
(g.cod_sp = c.tipo_cliente and g.cod_sp_sec = c.sec_cliente) and
|
||||
g.status_t is null
|
||||
|
||||
DISPLAY "PROCESO DOCUMENTOS FACTURAS..., FAVOR ESPERE...."
|
||||
|
||||
# INSERTA FACTURA DE VENTAS
|
||||
INSERT INTO ptordenesgral
|
||||
SELECT
|
||||
e.ano,f.descrip,x.fecha_oc,x.fecha_entrega,a.factura,a.orden,'01/01/2001','0',a.fecha_factura,
|
||||
L.PRODUCTO,m.descripcion,
|
||||
b.cod_n,b.cod_grupo,b.cod_tipo,b.cod_sec,n.descrip_esp,n.unidad_med,'0',
|
||||
'0',b.cantidad,'0',b.precio,(b.cantidad_2*b.precio)*(b.cantidad_2/100),b.precio*b.cantidad,'0','0','0',a.tipo_cliente,a.sec_cliente,c.nombre,k.num_emp,k.nom1_emp,
|
||||
k.apell1_emp,' ','FACTURA VENTAS', x.cerrada,p1.observacion,' ','01/01/2001'
|
||||
|
||||
FROM VETB00002 a,VETB00003 b,vetb00004 c,vetb00028 d,prdtable e,mestable f,adtb00003 k,iptb00020 L,iptb00022 m,iptb00002 n,
|
||||
PRTB00014 P1,prtb00012 x
|
||||
|
||||
WHERE
|
||||
(a.factura =b.factura) and
|
||||
(a.orden = p1.num_oc) and
|
||||
(a.orden = x.num_oc) and
|
||||
a.fecha_factura BETWEEN e.fecha_inicio AND e.fecha_corte AND
|
||||
e.mes = f.mes and
|
||||
(a.tipo_cliente = c.tipo_cliente) AND
|
||||
(a.sec_cliente = c.sec_cliente) AND
|
||||
(c.tipo_cliente = d.tipo_cliente) AND
|
||||
(c.sec_cliente = d.sec_cliente) AND
|
||||
(d.sec_vend = k.num_emp) AND
|
||||
(b.cod_n = n.cod_n) AND
|
||||
(b.cod_grupo = n.cod_grupo) AND
|
||||
(b.cod_tipo = n.cod_tipo) AND
|
||||
(b.cod_sec = n.cod_sec) AND
|
||||
(n.cod_cia = m.cod_cia) AND
|
||||
(L.COD_N = N.COD_N) AND
|
||||
|
||||
e.ano > "2006" and
|
||||
a.status_t is null
|
||||
# PROCESO INSERTA DESPIECE
|
||||
|
||||
# PROCESO PARA INSERTA AVANCES
|
||||
DISPLAY "PROCESO AVANCES..., FAVOR ESPERE...."
|
||||
|
||||
|
||||
INSERT INTO ptordenesgral
|
||||
SELECT
|
||||
e.ano,f.descrip,'01/01/2001','01/01/2001',a.num_doc,a.num_cheque,a.fecha_orig,a.valor,'01/01/2001',
|
||||
'0','0', '0','0','0','0','0','0','0',
|
||||
'0','0','0','0','0','0','0','0','0',a.tipo_cliente,a.sec_cliente,c.nombre,k.num_emp,k.nom1_emp,k.apell1_emp,'01/01/2001','AVANCE A ORDEN',
|
||||
p2.cerrada,' ',' ','01/01/2001'
|
||||
|
||||
FROM cctb00001 a,vetb00004 c,vetb00028 d,prdtable e,mestable f,adtb00003 k,prtb00012 p2
|
||||
WHERE
|
||||
a.fecha_orig BETWEEN e.fecha_inicio AND e.fecha_corte AND
|
||||
e.mes = f.mes and
|
||||
(a.tipo_cliente = c.tipo_cliente) AND
|
||||
(a.sec_cliente = c.sec_cliente) AND
|
||||
(c.tipo_cliente = d.tipo_cliente) AND
|
||||
(c.sec_cliente = d.sec_cliente) AND
|
||||
c.tipo_cliente = p2.tipo_cliente and
|
||||
c.sec_cliente = p2.sec_cliente and
|
||||
a.num_cheque = p2.num_oc and
|
||||
(d.sec_vend = k.num_emp) AND
|
||||
(a.tipo_Doc = "AV") AND a.num_doc = a.aplica_a AND a.valor > 0 and
|
||||
e.ano > "2006" and
|
||||
a.status_t is null
|
||||
|
||||
DISPLAY "PROCESO CERRADA-ABIERTAS..., FAVOR ESPERE...."
|
||||
update ptordenesgral set estado = "ABIERTA" where estado = "N"
|
||||
update ptordenesgral set estado = "CERRADA" where estado = "S"
|
||||
|
||||
update ptordenesgral set estado = (select cerrada from prtb00012 where ptordenesgral.orden = num_oc and
|
||||
tipo_cliente = ptordenesgral.tipo_cliente and sec_cliente = ptordenesgral.sec_cliente)
|
||||
where estado not in ("CERRADA","ABIERTA")
|
||||
|
||||
update ptordenesgral set estado = "ABIERTA" where estado = "N"
|
||||
update ptordenesgral set estado = "CERRADA" where estado = "S"
|
||||
update ptordenesgral set estado = "NO TIENE" where estado IS NULL
|
||||
update ptordenesgral set fechaactualizacion = GETDATE()
|
||||
{
|
||||
DISPLAY "PROCESO EXISTENCIAS..., FAVOR ESPERE...."
|
||||
|
||||
DECLARE existe CURSOR FOR
|
||||
SELECT UNIQUE a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_Sec,sum(b.cantidad_2) FROM ptordenesgral a,iptb00006 b
|
||||
WHERE 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 b.status_t is null
|
||||
GROUP BY 1,2,3,4
|
||||
|
||||
FOREACH existe INTO pcodn,pcodgrupo,pcodtipo,pcodsec,pcosto,pexiste
|
||||
|
||||
UPDATE ptordenesgral SET existencia = pexiste
|
||||
WHERE cod_n = pcodn and cod_grupo = pcodgrupo and
|
||||
cod_tipo = pcodtipo and cod_sec = pcodsec
|
||||
END FOREACH
|
||||
|
||||
DISPLAY "PROCESO COSTOS..., FAVOR ESPERE...."
|
||||
|
||||
DECLARE costos CURSOR FOR
|
||||
SELECT UNIQUE a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_Sec,a.material+a.gastos+a.labor FROM iptb00004 a
|
||||
WHERE a.ano = 2008 and a.mes_fin = "12" and a.status_t is null
|
||||
|
||||
FOREACH costos INTO pcodn,pcodgrupo,pcodtipo,pcodsec,pcosto
|
||||
|
||||
UPDATE ptordenesgral SET costo_std= pcosto
|
||||
WHERE cod_n = pcodn and cod_grupo = pcodgrupo and
|
||||
cod_tipo = pcodtipo and cod_sec = pcodsec
|
||||
END FOREACH
|
||||
UPDATE ptordenesgral SET valorcostostd = cantidadorden * costo_std
|
||||
}
|
||||
|
||||
END FUNCTION
|
||||
@@ -0,0 +1,75 @@
|
||||
DATABASE marmotech
|
||||
GLOBALS "prprgb000.4gl"
|
||||
DEFINE unidad,nombre,nombre_vend,descrip_esp CHAR(40)
|
||||
REPORT ordenes(xnumero,z)
|
||||
DEFINE z RECORD
|
||||
cod_n_c LIKE prtb00008.cod_n,
|
||||
cod_grupo_c LIKE prtb00008.cod_grupo,
|
||||
cod_tipo_c LIKE prtb00008.cod_tipo,
|
||||
cod_sec_c LIKE prtb00008.cod_sec,
|
||||
cantidad_c LIKE prtb00008.cantidad ,
|
||||
descrip_esp_c LIKE intb00001.descrip_esp,
|
||||
unidad_c LIKE intb00001.unidad_med
|
||||
END RECORD,
|
||||
xnumero INTEGER,
|
||||
negrillas_on,negrillas_off,doble CHAR(2)
|
||||
|
||||
OUTPUT
|
||||
LEFT MARGIN 0
|
||||
|
||||
ORDER BY xnumero
|
||||
FORMAT
|
||||
PAGE HEADER
|
||||
LET negrillas_on = ASCII 27, ASCII 69
|
||||
LET negrillas_off = ASCII 27, ASCII 70
|
||||
LET doble = ASCII 14
|
||||
|
||||
LET l = (80 - LENGTH(p_compania.nombre CLIPPED))/2
|
||||
PRINT COLUMN l, p_compania.nombre CLIPPED,
|
||||
COLUMN 70, TODAY USING "DD/MM/YY"
|
||||
LET l = (80 - LENGTH("ORDEN DE PRODUCCION"))/2
|
||||
PRINT COLUMN l, "ORDEN DE PRODUCCION",
|
||||
COLUMN 70, TIME
|
||||
|
||||
|
||||
PRINT COLUMN 1, "NO. ORDEN: ",doble_on,xnumero USING "<<<<<<"
|
||||
PRINT COLUMN 1, "FECHA : ",negrillas_on,prtb07.fecha
|
||||
USING "DD/MM/YY",negrillas_off
|
||||
PRINT COLUMN 1, "VENDEDOR : ",negrillas_on,prtb07.sec_vend USING "<<<<",
|
||||
nombre_vend,negrillas_off
|
||||
PRINT COLUMN 1, "CLIENTE : ",negrillas_on,prtb07.tipo_cliente USING "<<",
|
||||
prtb07.sec_cliente
|
||||
USING "<<<<"," ",
|
||||
nombre,negrillas_off
|
||||
PRINT COLUMN 1, "PRODUCTO : ",negrillas_on,prtb07.cod_n USING "&","-",
|
||||
prtb07.cod_grupo USING "&",
|
||||
prtb07.cod_tipo USING "&&","-",
|
||||
prtb07.cod_sec
|
||||
USING "&&&",negrillas_off,descrip_esp," ",
|
||||
unidad,negrillas_off
|
||||
PRINT COLUMN 1, "CANTIDAD : ",negrillas_on, prtb07.cantidad USING "<<,<<<",
|
||||
negrillas_off
|
||||
|
||||
FOR i = 1 TO 70
|
||||
PRINT "-";
|
||||
END FOR
|
||||
PRINT "-"
|
||||
PRINT "COMPOSICION PRODUCTO..."
|
||||
FOR i = 1 TO 70
|
||||
PRINT "-";
|
||||
END FOR
|
||||
PRINT "-"
|
||||
ON EVERY ROW
|
||||
PRINT COLUMN 1, z.cod_n_c USING "&","-",
|
||||
z.cod_grupo_c USING "&","-",
|
||||
z.cod_tipo_c USING "&&","-",
|
||||
z.cod_sec_c USING "&&&","-",
|
||||
" ",z.descrip_esp_c," ",z.unidad_c,
|
||||
" ",z.cantidad_c USING "###,###.###"
|
||||
PAGE TRAILER
|
||||
PRINT COLUMN 10, "-------------------",
|
||||
COLUMN 35, "-------------------"
|
||||
|
||||
PRINT COLUMN 13, "AUTORIZADO POR",
|
||||
COLUMN 39, "REVISADO POR"
|
||||
END REPORT
|
||||
@@ -0,0 +1,418 @@
|
||||
{
|
||||
===========================================================================
|
||||
PROGRAMA : PRPRRP001
|
||||
SISTEMA : PRODUCCION
|
||||
OBJETIVO : LISTAR FORMULARIO PARA REGISTRAR HORAS PERSONAL NO
|
||||
PRODUCTIVO.
|
||||
AUTOR : Tadeo. A. Ferreras F.
|
||||
FECHA : SEPT. 15, 1994
|
||||
===========================================================================
|
||||
}
|
||||
|
||||
GLOBALS
|
||||
"prprgb000.4gl"
|
||||
DEFINE repor_1 RECORD
|
||||
num_emp SMALLINT,
|
||||
departamento SMALLINT,
|
||||
nom1_emp CHAR(14),
|
||||
nom2_emp CHAR(14),
|
||||
apell1_emp CHAR(14),
|
||||
apell2_emp CHAR(14),
|
||||
nom_dpto CHAR(30),
|
||||
nom_puesto CHAR(28),
|
||||
cod_puesto SMALLINT
|
||||
END RECORD
|
||||
MAIN
|
||||
|
||||
DEFINE handler om.SaxDocumentHandler, -- return value from fgl_report_commitCurrentSettings()
|
||||
r_filename STRING, -- filename of Report Design Document including .4rp extension
|
||||
r_output STRING, -- output format option
|
||||
preview INTEGER -- TRUE/FALSE, to set preview option
|
||||
DEFER INTERRUPT
|
||||
-- prompt user for report settings to replace defaults
|
||||
CALL selectOutput() RETURNING r_filename, r_output, preview
|
||||
|
||||
-- configure report engine; the functions prefixed fgl that are called here are part of the GRW API
|
||||
IF fgl_report_loadCurrentSettings(r_filename) THEN -- load the .4rp file
|
||||
CALL fgl_report_selectDevice(r_output) -- changing default
|
||||
CALL fgl_report_selectPreview(preview) -- changing default
|
||||
LET handler = fgl_report_commitCurrentSettings() -- commit changes
|
||||
ELSE
|
||||
EXIT PROGRAM
|
||||
END IF
|
||||
--run the report
|
||||
IF handler IS NOT NULL THEN -- report engine was configured ok
|
||||
CALL prprrp001()
|
||||
ELSE
|
||||
EXIT PROGRAM
|
||||
END IF
|
||||
|
||||
END MAIN
|
||||
|
||||
FUNCTION prprrp001()
|
||||
DEFINE opcion CHAR(1)
|
||||
OPTIONS
|
||||
PROMPT LINE 23,
|
||||
FORM LINE 8,
|
||||
ERROR LINE 23
|
||||
|
||||
OPEN FORM prfmrp001 FROM "prfmrp001"
|
||||
DISPLAY FORM prfmrp001
|
||||
|
||||
LET tipo_papel = 2
|
||||
CALL msgrp000(tipo_papel)
|
||||
CONNECT TO "decomarmol" USER "jsoto" USING "lmmjvsd2009"
|
||||
|
||||
INPUT BY NAME prtb02.num_semana
|
||||
|
||||
AFTER FIELD num_semana
|
||||
IF prtb02.num_semana IS NULL THEN
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD num_semana
|
||||
END IF
|
||||
|
||||
SELECT UNIQUE a.semana_del,a.semana_al INTO prtb02.semana_del,prtb02.semana_al
|
||||
FROM prtb00002 a
|
||||
WHERE a.num_semana = prtb02.num_semana AND a.status_t IS NULL
|
||||
|
||||
IF STATUS = NOTFOUND THEN
|
||||
LET numero_msg = 3
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD num_semana
|
||||
END IF
|
||||
|
||||
DISPLAY BY NAME prtb02.semana_del,prtb02.semana_al
|
||||
END INPUT
|
||||
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = FALSE
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
PROMPT "Es el rango de fecha deseado [S/N]?..." FOR CHAR opcion
|
||||
LET opcion = UPSHIFT(opcion)
|
||||
IF opcion = "S" THEN
|
||||
|
||||
SELECT UNIQUE a.num_semana FROM prtb00003 a
|
||||
WHERE a.num_semana = prtb02.num_semana AND a.status_t IS NULL
|
||||
|
||||
IF STATUS != NOTFOUND THEN
|
||||
PROMPT
|
||||
"LISTADO EXISTE, SI DESEAS IMPRIMIRLO BORRARA INFORMACION DE LA SEMANA [S/N]"
|
||||
FOR CHAR opcion1
|
||||
LET opcion1 = UPSHIFT(opcion1)
|
||||
IF opcion1 != "S" THEN
|
||||
RETURN
|
||||
END IF
|
||||
ELSE
|
||||
LET opcion1 = "S"
|
||||
END IF
|
||||
|
||||
IF opcion1 = "S" THEN
|
||||
DECLARE busca CURSOR FOR
|
||||
SELECT a.num_emp,a.departamento,a.nom1_emp,a.nom2_emp,a.apell1_emp,
|
||||
a.apell2_emp,b.nom_dpto,c.nom_puesto,a.cod_puesto
|
||||
FROM adtb00003 a,adtb00001 b,adtb00004 c
|
||||
WHERE a.departamento = b.departamento and
|
||||
a.nivel_emp != 2 and
|
||||
a.cod_puesto = c.cod_puesto and
|
||||
a.status_t is null and a.departamento between 6000 and 6500
|
||||
ORDER BY 2,9,1
|
||||
|
||||
DISPLAY "Buscando Informacion... Espere Por Favor" AT 17,14
|
||||
|
||||
START REPORT reporte_1 TO "C:\\archivo"
|
||||
|
||||
DISPLAY "Reporte Generandose ... Espere Por Favor" AT 17,14
|
||||
|
||||
FOREACH busca INTO repor_1.*
|
||||
OUTPUT TO REPORT reporte_1(repor_1.*)
|
||||
END FOREACH
|
||||
DECLARE busca1 CURSOR FOR
|
||||
SELECT a.num_emp,'6199',a.nom1_emp,a.nom2_emp,a.apell1_emp,
|
||||
a.apell2_emp,b.nom_dpto,c.nom_puesto,a.cod_puesto
|
||||
FROM adtb00003 a,adtb00001 b,adtb00004 c
|
||||
WHERE a.departamento = b.departamento and
|
||||
a.nivel_emp = 2 and
|
||||
a.cod_puesto = c.cod_puesto and
|
||||
a.status_t is null and a.departamento between 6000 and 6500
|
||||
ORDER BY 2,9,1
|
||||
FOREACH busca1 INTO repor_1.*
|
||||
OUTPUT TO REPORT reporte_1(repor_1.*)
|
||||
END FOREACH
|
||||
FINISH REPORT reporte_1
|
||||
END IF
|
||||
END IF
|
||||
RUN "type C:\\archivo > %USPRINT%" END FUNCTION
|
||||
|
||||
REPORT reporte_1(x)
|
||||
DEFINE x RECORD
|
||||
num_emp SMALLINT,
|
||||
departamento SMALLINT,
|
||||
nom1_emp CHAR(14),
|
||||
nom2_emp CHAR(14),
|
||||
apell1_emp CHAR(14),
|
||||
apell2_emp CHAR(14),
|
||||
nom_dpto CHAR(30),
|
||||
nom_puesto CHAR(28),
|
||||
cod_puesto SMALLINT
|
||||
END RECORD
|
||||
|
||||
OUTPUT
|
||||
LEFT MARGIN 0
|
||||
ORDER BY x.departamento,x.cod_puesto,x.num_emp
|
||||
|
||||
format
|
||||
page header
|
||||
LET comp_on = ASCII 15
|
||||
LET comp_off = ASCII 18
|
||||
LET doce = ASCII 27, ascii 77
|
||||
LET doble_on = ASCII 14
|
||||
LET doble_off = ASCII 20
|
||||
LET hora = time
|
||||
|
||||
PRINT comp_on
|
||||
PRINT COLUMN 1, "prprrp001",
|
||||
COLUMN 49, " R A Y .O. V A C D O M I N I C A N A, S. A. ",
|
||||
COLUMN 141, "Pag. ",pageno USING "###"
|
||||
PRINT COLUMN 49, " SISTEMA DE PRODUCCION ",
|
||||
COLUMN 141, today using "dd/mm/yy"
|
||||
PRINT COLUMN 49, "REGISTRO HORAS DIARIAS Y PERSONAL NO DE PRODUCCION",
|
||||
COLUMN 144, hora
|
||||
skip 1 line
|
||||
PRINT COLUMN 1, "NUMERO SEMANA: ",prtb02.num_semana USING "&&&&"," ",
|
||||
": DEL ",prtb02.semana_del USING "dd/mm/yy",
|
||||
" AL ",prtb02.semana_al USING "dd/mm/yy"
|
||||
|
||||
PRINT "====================================================================",
|
||||
"====================================================================",
|
||||
"============"
|
||||
PRINT COLUMN 64,
|
||||
"| H O R A S I N D I R E C T A S ",
|
||||
" |"
|
||||
|
||||
PRINT COLUMN 64, "| NORMALES |",
|
||||
COLUMN 120, " EXTRAS |"
|
||||
|
||||
PRINT COLUMN 64,"|",
|
||||
COLUMN 67, "S",
|
||||
5 spaces, "D",
|
||||
5 spaces, "L",
|
||||
5 spaces, "M",
|
||||
5 spaces, "M",
|
||||
5 spaces, "J",
|
||||
5 spaces, "V |",
|
||||
|
||||
2 spaces, "S",
|
||||
5 spaces, "D",
|
||||
5 spaces, "L",
|
||||
5 spaces, "M",
|
||||
5 spaces, "M",
|
||||
5 spaces, "J",
|
||||
5 spaces, "V |"
|
||||
|
||||
PRINT "====================================================================",
|
||||
"====================================================================",
|
||||
"============"
|
||||
|
||||
BEFORE GROUP OF x.departamento
|
||||
LET idx = 0
|
||||
|
||||
BEFORE GROUP OF x.cod_puesto
|
||||
IF x.departamento >= 6000 and
|
||||
x.departamento <= 6199 THEN
|
||||
|
||||
IF x.cod_puesto = 3 OR x.cod_puesto = 27 OR x.cod_puesto = 13 OR
|
||||
x.cod_puesto = 14 THEN
|
||||
LET idx = idx + 1
|
||||
|
||||
IF idx = 1 THEN
|
||||
PRINT doble_on,x.nom_dpto clipped,doble_off
|
||||
SKIP 1 LINE
|
||||
END IF
|
||||
|
||||
END IF
|
||||
END IF
|
||||
|
||||
IF x.departamento >= 6199 THEN
|
||||
|
||||
LET idx = idx + 1
|
||||
|
||||
IF idx = 1 THEN
|
||||
PRINT doble_on,x.nom_dpto clipped,doble_off
|
||||
SKIP 1 LINE
|
||||
END IF
|
||||
|
||||
{PRINT COLUMN 64, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|"}
|
||||
END IF
|
||||
|
||||
ON EVERY ROW
|
||||
IF x.departamento >= 6000 and
|
||||
x.departamento <= 6199 THEN
|
||||
|
||||
IF x.cod_puesto = 3 OR x.cod_puesto = 27 OR x.cod_puesto = 13 OR
|
||||
x.cod_puesto = 14 THEN
|
||||
|
||||
LET prtb03.fecha = prtb02.semana_del
|
||||
PRINT COLUMN 64, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|"
|
||||
|
||||
PRINT COLUMN 1,x.num_emp using "&&&"," ",x.nom1_emp clipped,
|
||||
" ",x.apell1_emp CLIPPED,
|
||||
COLUMN 35, x.nom_puesto CLIPPED,
|
||||
COLUMN 64, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|"
|
||||
PRINT "--------------------------------------------------------------------",
|
||||
"--------------------------------------------------------------------",
|
||||
"-----------"
|
||||
END IF
|
||||
END IF
|
||||
|
||||
IF x.departamento >= 6199 THEN
|
||||
|
||||
LET prtb03.fecha = prtb02.semana_del
|
||||
PRINT COLUMN 64, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|"
|
||||
|
||||
PRINT COLUMN 1,x.num_emp using "&&&"," ",x.nom1_emp clipped," ",x.apell1_emp,
|
||||
COLUMN 35, x.nom_puesto CLIPPED,
|
||||
COLUMN 64, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|"
|
||||
PRINT "--------------------------------------------------------------------",
|
||||
"--------------------------------------------------------------------",
|
||||
"-----------"
|
||||
END IF
|
||||
|
||||
AFTER GROUP OF x.departamento
|
||||
IF x.departamento >= 6000 AND
|
||||
x.departamento <= 6199 THEN
|
||||
|
||||
IF x.cod_puesto = 3 OR x.cod_puesto = 27 OR x.cod_puesto = 13 OR
|
||||
x.cod_puesto = 14 THEN
|
||||
|
||||
PRINT "--------------------------------------------------------------------",
|
||||
"--------------------------------------------------------------------",
|
||||
"-----------"
|
||||
END IF
|
||||
END IF
|
||||
|
||||
IF x.departamento >= 6199 THEN
|
||||
|
||||
PRINT "--------------------------------------------------------------------",
|
||||
"--------------------------------------------------------------------",
|
||||
"-----------"
|
||||
END IF
|
||||
|
||||
ON LAST ROW
|
||||
SKIP 1 LINE
|
||||
PRINT "Total Registros Impresos===> ",COUNT(*) USING "####"
|
||||
PRINT comp_off
|
||||
END REPORT
|
||||
|
||||
FUNCTION selectOutput()
|
||||
DEFINE
|
||||
r_output STRING, -- output format option
|
||||
r_action STRING, -- used to set preview option
|
||||
r_filename STRING, -- filename of Report Design document (the .4rp filename)
|
||||
preview INTEGER -- preview option TRUE/FALSE, to display report in Report Viewer
|
||||
|
||||
-- display form allowing user to select the .4rp filename and output options
|
||||
CLOSE WINDOW SCREEN
|
||||
OPTIONS INPUT WRAP
|
||||
OPEN WINDOW f_configuration WITH FORM "Configuration"
|
||||
LET INT_FLAG=FALSE
|
||||
LET preview = FALSE
|
||||
INPUT BY NAME r_filename,r_output,r_action
|
||||
ON ACTION CANCEL
|
||||
EXIT PROGRAM
|
||||
ON ACTION CLOSE
|
||||
EXIT PROGRAM
|
||||
END INPUT
|
||||
CLOSE WINDOW f_configuration
|
||||
CALL ui.interface.refresh()
|
||||
|
||||
-- set preview variable to match output option r_action
|
||||
IF r_action IS NOT NULL THEN
|
||||
IF r_action == "preview" THEN
|
||||
LET preview = TRUE
|
||||
END IF
|
||||
END IF
|
||||
|
||||
--return report name (filename of Report Design Document) and output option variables to be used to configure the report engine
|
||||
RETURN r_filename||".4rp", r_output, preview
|
||||
|
||||
END FUNCTION
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,435 @@
|
||||
{
|
||||
===========================================================================
|
||||
PROGRAMA : PRPRRP002
|
||||
SISTEMA : PRODUCCION
|
||||
OBJETIVO : VALIDACION REGISTRO HORAS PERSONAL NO PRODUCTIVO.
|
||||
AUTOR : Tadeo. A. Ferreras F.
|
||||
FECHA : SEPT. 15, 1994
|
||||
===========================================================================
|
||||
}
|
||||
|
||||
GLOBALS
|
||||
"prprgb000.4gl"
|
||||
DEFINE t_hn_dir,t_hn_ind,t_he_dir,t_he_ind DECIMAL(10,2)
|
||||
DEFINE tt_hn_dir,tt_hn_ind,tt_he_dir,tt_he_ind DECIMAL(10,2)
|
||||
DEFINE repor_2 RECORD
|
||||
num_emp SMALLINT,
|
||||
departamento SMALLINT,
|
||||
nom1_emp CHAR(10),
|
||||
nom2_emp CHAR(14),
|
||||
apell1_emp CHAR(14),
|
||||
apell2_emp CHAR(14),
|
||||
nom_puesto CHAR(28),
|
||||
cod_puesto SMALLINT
|
||||
END RECORD
|
||||
|
||||
FUNCTION prprrp002()
|
||||
DEFINE opcion CHAR(1)
|
||||
|
||||
OPTIONS
|
||||
PROMPT LINE 23,
|
||||
FORM LINE 8,
|
||||
ERROR LINE 23
|
||||
|
||||
OPEN FORM prfmrp002 FROM "prfmrp001"
|
||||
DISPLAY FORM prfmrp002
|
||||
|
||||
LET tipo_papel = 2
|
||||
CALL msgrp000(tipo_papel)
|
||||
|
||||
INPUT BY NAME prtb02.num_semana
|
||||
|
||||
AFTER FIELD num_semana
|
||||
IF prtb02.num_semana IS NULL THEN
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD num_semana
|
||||
END IF
|
||||
|
||||
SELECT UNIQUE a.semana_del,a.semana_al INTO prtb02.semana_del,prtb02.semana_al
|
||||
FROM prtb00002 a
|
||||
WHERE a.num_semana = prtb02.num_semana AND
|
||||
a.status_t IS NULL
|
||||
|
||||
IF STATUS = NOTFOUND THEN
|
||||
LET numero_msg = 3
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD num_semana
|
||||
END IF
|
||||
|
||||
DISPLAY BY NAME prtb02.semana_del,prtb02.semana_al
|
||||
END INPUT
|
||||
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = FALSE
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
PROMPT "Es el rango de fecha deseado [S/N]...? " FOR CHAR opcion
|
||||
LET opcion = UPSHIFT(opcion)
|
||||
|
||||
IF opcion = "S" THEN
|
||||
START REPORT reporte_2 TO "C:\\archivo"
|
||||
|
||||
DECLARE busca CURSOR FOR
|
||||
SELECT UNIQUE a.num_emp,a.departamento,b.nom1_emp,b.nom2_emp,b.apell1_emp,
|
||||
b.apell2_emp,c.nom_puesto,b.cod_puesto
|
||||
FROM prtb00003 a,adtb00003 b,adtb00004 c
|
||||
WHERE (a.num_semana = prtb02.num_semana and
|
||||
a.departamento between 6000 and 6500 and
|
||||
a.num_emp = b.num_emp and
|
||||
b.nivel_emp != 2 and
|
||||
a.status_t is null) and
|
||||
b.cod_puesto = c.cod_puesto
|
||||
|
||||
DISPLAY "Buscando Informacion... Espere Por Favor" AT 17,14
|
||||
|
||||
|
||||
DISPLAY "Reporte Generandose ... Espere Por Favor" AT 17,14
|
||||
|
||||
FOREACH busca INTO repor_2.*
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = FALSE
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
OUTPUT TO REPORT reporte_2(repor_2.*)
|
||||
END FOREACH
|
||||
|
||||
DECLARE busca1 CURSOR FOR
|
||||
SELECT UNIQUE a.num_emp,'6199',b.nom1_emp,b.nom2_emp,b.apell1_emp,
|
||||
b.apell2_emp,c.nom_puesto,b.cod_puesto
|
||||
FROM prtb00003 a,adtb00003 b,adtb00004 c
|
||||
WHERE (a.num_semana = prtb02.num_semana and
|
||||
a.departamento between 6000 and 6500 and
|
||||
a.num_emp = b.num_emp and
|
||||
b.nivel_emp = 2 and
|
||||
a.status_t is null) and
|
||||
b.cod_puesto = c.cod_puesto
|
||||
|
||||
FOREACH busca1 INTO repor_2.*
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = FALSE
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
OUTPUT TO REPORT reporte_2(repor_2.*)
|
||||
END FOREACH
|
||||
FINISH REPORT reporte_2
|
||||
END IF
|
||||
RUN "type C:\\archivo > %USPRINT%" END FUNCTION
|
||||
|
||||
REPORT reporte_2(x)
|
||||
DEFINE x RECORD
|
||||
num_emp SMALLINT,
|
||||
departamento SMALLINT,
|
||||
nom1_emp CHAR(10),
|
||||
nom2_emp CHAR(14),
|
||||
apell1_emp CHAR(14),
|
||||
apell2_emp CHAR(14),
|
||||
nom_puesto CHAR(28),
|
||||
cod_puesto SMALLINT
|
||||
END RECORD,
|
||||
id SMALLINT
|
||||
|
||||
OUTPUT
|
||||
LEFT MARGIN 0
|
||||
|
||||
ORDER BY x.departamento,x.cod_puesto
|
||||
|
||||
format
|
||||
page header
|
||||
let comp_on = ascii 15
|
||||
let comp_off = ascii 18
|
||||
let doce = ascii 27, ascii 77
|
||||
let doble_on = ascii 14
|
||||
let doble_off = ascii 20
|
||||
let hora = time
|
||||
|
||||
PRINT comp_on
|
||||
PRINT COLUMN 1, "prprrp002",
|
||||
COLUMN 49, " R A Y .O. V A C D O M I N I C A N A, S. A.",
|
||||
COLUMN 141, "Pag. ",pageno USING "###"
|
||||
PRINT COLUMN 49, " SISTEMA DE PRODUCCION ",
|
||||
COLUMN 141, today using "dd/mm/yy"
|
||||
PRINT COLUMN 49, "VALIDACION HORAS DIARIAS ADM Y PERSONAL NO DE PRODUCCION",
|
||||
COLUMN 144, hora
|
||||
PRINT COLUMN 1, "NUMERO SEMANA: ",prtb02.num_semana USING "&&&&"," ",
|
||||
": DEL ",prtb02.semana_del USING "dd/mm/yy",
|
||||
" AL ",prtb02.semana_al USING "dd/mm/yy"
|
||||
|
||||
PRINT "====================================================================",
|
||||
"====================================================================",
|
||||
"============"
|
||||
PRINT COLUMN 64,
|
||||
"| H O R A S I N D I R E C T A S ",
|
||||
" |"
|
||||
|
||||
PRINT COLUMN 64, "| NORMALES |",
|
||||
COLUMN 120, " EXTRAS |"
|
||||
|
||||
PRINT COLUMN 64,"|",
|
||||
COLUMN 67, "S",
|
||||
5 spaces, "D",
|
||||
5 spaces, "L",
|
||||
5 spaces, "M",
|
||||
5 spaces, "M",
|
||||
5 spaces, "J",
|
||||
5 spaces, "V |",
|
||||
|
||||
2 spaces, "S",
|
||||
5 spaces, "D",
|
||||
5 spaces, "L",
|
||||
5 spaces, "M",
|
||||
5 spaces, "M",
|
||||
5 spaces, "J",
|
||||
5 spaces, "V |"
|
||||
|
||||
PRINT "====================================================================",
|
||||
"====================================================================",
|
||||
"============"
|
||||
|
||||
BEFORE GROUP OF x.departamento
|
||||
IF x.departamento != 6199 THEN
|
||||
SELECT a.nom_dpto INTO nom_dpto FROM adtb00001 a
|
||||
WHERE a.departamento = x.departamento AND a.status_t IS NULL
|
||||
END IF
|
||||
IF x.departamento = 6199 THEN
|
||||
LET nom_dpto = "SUPERVISORES"
|
||||
END IF
|
||||
|
||||
LET t_hn_ind = 0
|
||||
LET t_he_ind = 0
|
||||
LET idx = 0
|
||||
|
||||
BEFORE GROUP OF x.cod_puesto
|
||||
IF x.departamento >= 6000 and
|
||||
x.departamento <= 6199 THEN
|
||||
|
||||
IF x.cod_puesto = 3 OR x.cod_puesto = 27 OR x.cod_puesto = 13 OR
|
||||
x.cod_puesto = 14 THEN
|
||||
LET idx = idx + 1
|
||||
|
||||
IF idx = 1 THEN
|
||||
PRINT doble_on,nom_dpto clipped,doble_off
|
||||
SKIP 1 LINE
|
||||
END IF
|
||||
END IF
|
||||
END IF
|
||||
|
||||
IF x.departamento >= 6199 THEN
|
||||
|
||||
LET idx = idx + 1
|
||||
|
||||
IF idx = 1 THEN
|
||||
PRINT doble_on,nom_dpto clipped,doble_off
|
||||
SKIP 1 LINE
|
||||
END IF
|
||||
END IF
|
||||
|
||||
ON EVERY ROW
|
||||
IF x.departamento >= 6000 AND
|
||||
x.departamento < 6199 THEN
|
||||
PRINT COLUMN 64, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|"
|
||||
|
||||
IF x.cod_puesto = 3 OR x.cod_puesto = 27 OR x.cod_puesto = 13 OR
|
||||
x.cod_puesto = 14 THEN
|
||||
|
||||
PRINT COLUMN 1,x.num_emp using "&&&"," ",x.nom1_emp clipped,
|
||||
" ",x.apell1_emp CLIPPED,
|
||||
COLUMN 35, x.nom_puesto CLIPPED,
|
||||
COLUMN 64, "|";
|
||||
|
||||
LET t_hn_ind = 0
|
||||
LET t_he_ind = 0
|
||||
LET prtb03.fecha = prtb02.semana_del
|
||||
LET l = 65
|
||||
|
||||
LET prtb03.fecha = prtb02.semana_del
|
||||
FOR j = 1 TO 7
|
||||
LET prtb03.hn_ind = 0
|
||||
IF x.departamento != 6199 THEN
|
||||
SELECT a.hn_ind INTO prtb03.hn_ind FROM prtb00003 a
|
||||
WHERE a.departamento = x.departamento AND a.num_emp = x.num_emp AND
|
||||
a.fecha = prtb03.fecha AND a.status_t IS NULL
|
||||
END IF
|
||||
IF x.departamento = 6199 THEN
|
||||
SELECT a.hn_ind INTO prtb03.hn_ind FROM prtb00003 a
|
||||
WHERE a.num_emp = x.num_emp AND
|
||||
a.fecha = prtb03.fecha AND a.status_t IS NULL
|
||||
END IF
|
||||
IF prtb03.hn_ind IS NULL THEN
|
||||
LET prtb03.hn_ind = 0
|
||||
END IF
|
||||
|
||||
PRINT COLUMN l, prtb03.hn_ind USING "##.##","|";
|
||||
LET l = l + 6
|
||||
LET t_hn_ind = t_hn_ind + prtb03.hn_ind
|
||||
LET tt_hn_ind = tt_hn_ind + prtb03.hn_ind
|
||||
LET prtb03.fecha = prtb03.fecha + 1
|
||||
END FOR
|
||||
|
||||
LET prtb03.fecha = prtb02.semana_del
|
||||
FOR j = 1 TO 7
|
||||
LET prtb03.he_ind = 0
|
||||
|
||||
IF x.departamento != 6199 THEN
|
||||
SELECT a.he_ind INTO prtb03.he_ind FROM prtb00003 a
|
||||
WHERE a.departamento = x.departamento AND a.num_emp = x.num_emp AND
|
||||
a.fecha = prtb03.fecha AND a.status_t IS NULL
|
||||
END IF
|
||||
|
||||
IF x.departamento = 6199 THEN
|
||||
SELECT a.he_ind INTO prtb03.he_ind FROM prtb00003 a
|
||||
WHERE a.num_emp = x.num_emp AND
|
||||
a.fecha = prtb03.fecha AND a.status_t IS NULL
|
||||
END IF
|
||||
|
||||
IF prtb03.he_ind IS NULL THEN
|
||||
LET prtb03.he_ind = 0
|
||||
END IF
|
||||
|
||||
PRINT COLUMN l, prtb03.he_ind USING "##.##","|";
|
||||
LET l = l + 6
|
||||
LET t_he_ind = t_he_ind + prtb03.he_ind
|
||||
LET tt_he_ind = tt_he_ind + prtb03.he_ind
|
||||
LET prtb03.fecha = prtb03.fecha + 1
|
||||
END FOR
|
||||
PRINT COLUMN l," "
|
||||
PRINT "--------------------------------------------------------------------",
|
||||
"--------------------------------------------------------------------",
|
||||
"------------"
|
||||
END IF
|
||||
END IF
|
||||
|
||||
IF x.departamento >= 6199 THEN
|
||||
|
||||
PRINT COLUMN 64, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|"
|
||||
|
||||
PRINT COLUMN 1,x.num_emp using "&&&&"," ",x.nom1_emp clipped,", ",x.apell1_emp,
|
||||
COLUMN 35, x.nom_puesto CLIPPED,
|
||||
COLUMN 64, "|";
|
||||
|
||||
LET t_hn_ind = 0
|
||||
LET t_he_ind = 0
|
||||
LET prtb03.fecha = prtb02.semana_del
|
||||
LET l = 65
|
||||
|
||||
LET prtb03.fecha = prtb02.semana_del
|
||||
FOR j = 1 TO 7
|
||||
LET prtb03.hn_ind = 0
|
||||
|
||||
IF x.departamento != 6199 THEN
|
||||
SELECT a.hn_ind INTO prtb03.hn_ind FROM prtb00003 a
|
||||
WHERE a.departamento = x.departamento AND a.num_emp = x.num_emp AND
|
||||
a.fecha = prtb03.fecha AND a.status_t IS NULL
|
||||
END IF
|
||||
|
||||
IF x.departamento = 6199 THEN
|
||||
SELECT a.hn_ind INTO prtb03.hn_ind FROM prtb00003 a
|
||||
WHERE a.num_emp = x.num_emp AND
|
||||
a.fecha = prtb03.fecha AND a.status_t IS NULL
|
||||
END IF
|
||||
|
||||
IF prtb03.hn_ind IS NULL THEN
|
||||
LET prtb03.hn_ind = 0
|
||||
END IF
|
||||
|
||||
PRINT COLUMN l, prtb03.hn_ind USING "##.##","|";
|
||||
LET l = l + 6
|
||||
LET t_hn_ind = t_hn_ind + prtb03.hn_ind
|
||||
LET tt_hn_ind = tt_hn_ind + prtb03.hn_ind
|
||||
LET prtb03.fecha = prtb03.fecha + 1
|
||||
END FOR
|
||||
|
||||
LET prtb03.fecha = prtb02.semana_del
|
||||
FOR j = 1 TO 7
|
||||
LET prtb03.he_ind = 0
|
||||
IF x.departamento != 6199 THEN
|
||||
SELECT a.he_ind INTO prtb03.he_ind FROM prtb00003 a
|
||||
WHERE a.departamento = x.departamento AND a.num_emp = x.num_emp AND
|
||||
a.fecha = prtb03.fecha AND a.status_t IS NULL
|
||||
END IF
|
||||
|
||||
IF x.departamento = 6199 THEN
|
||||
SELECT a.he_ind INTO prtb03.he_ind FROM prtb00003 a
|
||||
WHERE a.num_emp = x.num_emp AND
|
||||
a.fecha = prtb03.fecha AND a.status_t IS NULL
|
||||
END IF
|
||||
IF prtb03.he_ind IS NULL THEN
|
||||
LET prtb03.he_ind = 0
|
||||
END IF
|
||||
|
||||
PRINT COLUMN l, prtb03.he_ind USING "##.##","|";
|
||||
LET l = l + 6
|
||||
LET t_he_ind = t_he_ind + prtb03.he_ind
|
||||
LET tt_he_ind = tt_he_ind + prtb03.he_ind
|
||||
LET prtb03.fecha = prtb03.fecha + 1
|
||||
END FOR
|
||||
PRINT COLUMN l," "
|
||||
PRINT "--------------------------------------------------------------------",
|
||||
"--------------------------------------------------------------------",
|
||||
"------------"
|
||||
END IF
|
||||
|
||||
AFTER GROUP OF x.departamento
|
||||
IF x.departamento >= 6000 AND
|
||||
x.departamento <= 6199 THEN
|
||||
|
||||
IF x.cod_puesto = 3 OR x.cod_puesto = 27 OR x.cod_puesto = 13 OR
|
||||
x.cod_puesto = 14 THEN
|
||||
|
||||
PRINT "-----------------------------------------------------------------",
|
||||
"-----------------------------------------------------------------",
|
||||
"------------------"
|
||||
END IF
|
||||
END IF
|
||||
|
||||
IF x.departamento >= 6199 THEN
|
||||
|
||||
PRINT "-----------------------------------------------------------------",
|
||||
"-----------------------------------------------------------------",
|
||||
"------------------"
|
||||
END IF
|
||||
|
||||
ON LAST ROW
|
||||
SKIP 1 LINE
|
||||
PRINT "Total Registros Impresos===> ",COUNT(*) USING "####"
|
||||
print comp_off
|
||||
END REPORT
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,228 @@
|
||||
{
|
||||
-------------------------------------------------------------------------------
|
||||
PROGRAMA : PRPRRP004
|
||||
OBJETIVO : Validacion Diario de produccion
|
||||
PROGRAMADOR : Juan F. Soto
|
||||
FECHA REALIZACION : Junio 22, 1994
|
||||
-------------------------------------------------------------------------------
|
||||
}
|
||||
|
||||
GLOBALS "prprgb000.4gl"
|
||||
|
||||
DEFINE fecha_inicial,fecha_final DATE
|
||||
DEFINE factor DECIMAL(12,2)
|
||||
FUNCTION prprrp004()
|
||||
#WHENEVER ERROR CONTINUE
|
||||
|
||||
DEFINE prt_datos4 RECORD
|
||||
num_doc LIKE cttb00003.num_doc,
|
||||
fecha LIKE cttb00003.fecha,
|
||||
departamento LIKE cttb00003.departamento,
|
||||
nombre_d CHAR(30),
|
||||
emp_no LIKE cttb00003.emp_no,
|
||||
nom1 LIKE adtb00003.nom1_emp,
|
||||
nom2 LIKE adtb00003.apell1_emp,
|
||||
cod_mq LIKE cttb00003.cod_mq,
|
||||
detalle LIKE cttb00003.detalle,
|
||||
h_directa LIKE cttb00003.h_directa,
|
||||
h_indirecta LIKE cttb00003.h_indirecta,
|
||||
e_directa LIKE cttb00003.e_directa,
|
||||
e_indirecta LIKE cttb00003.e_indirecta,
|
||||
cod_prod LIKE cttb00003.cod_prod,
|
||||
descripcion LIKE cttb00001.descripcion,
|
||||
cantidad LIKE cttb00003.cantidad
|
||||
END RECORD
|
||||
|
||||
OPTIONS
|
||||
FORM LINE 8,
|
||||
ERROR LINE 23,
|
||||
COMMENT LINE 21
|
||||
|
||||
OPEN FORM prfmrp004 FROM "prfmrp005"
|
||||
DISPLAY FORM prfmrp004
|
||||
CALL pantalla()
|
||||
DISPLAY "prprrp004" AT 4,3
|
||||
DISPLAY "Validacion Produccion Diaria" AT 6,27
|
||||
|
||||
LET tipo_papel = 1
|
||||
CALL msgrp000(tipo_papel)
|
||||
########### Captura de valores para el criterio de busqueda ############
|
||||
INPUT BY NAME fecha_inicial,fecha_final
|
||||
|
||||
AFTER FIELD fecha_inicial
|
||||
IF fecha_inicial IS NULL THEN
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD fecha_inicial
|
||||
END IF
|
||||
|
||||
AFTER FIELD fecha_final
|
||||
IF fecha_final IS NULL THEN
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD fecha_final
|
||||
END IF
|
||||
|
||||
IF fecha_final < fecha_inicial THEN
|
||||
LET numero_msg = 86
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD fecha_final
|
||||
END IF
|
||||
|
||||
END INPUT
|
||||
|
||||
########### Facilidad para cancelar la variacioncon la tecla DELETE ####
|
||||
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = false
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
DECLARE busca CURSOR FOR
|
||||
SELECT a.num_doc,a.fecha,a.departamento,b.nom_dpto,a.emp_no,
|
||||
c.nom1_emp,c.apell1_emp,a.cod_mq,a.detalle,a.h_directa,
|
||||
a.h_indirecta,a.e_directa,a.e_indirecta,a.cod_prod,
|
||||
d.descripcion,a.cantidad,a.rowid
|
||||
FROM cttb00003 a,adtb00001 b,adtb00003 c,outer cttb00001 d
|
||||
WHERE a.fecha between fecha_inicial and fecha_final and
|
||||
a.departamento=b.departamento AND a.emp_no = c.num_emp and
|
||||
a.cod_prod = d.cod_prod and a.status_t is null
|
||||
ORDER BY 2,1,3,17
|
||||
|
||||
DISPLAY "Reporte Generandose... Espere Por Favor" AT 19,14
|
||||
START REPORT reporte_4 TO "C:\\archivo"
|
||||
|
||||
FOREACH busca INTO prt_datos4.*
|
||||
|
||||
OUTPUT TO REPORT reporte_4(prt_datos4.*)
|
||||
|
||||
END FOREACH
|
||||
FINISH REPORT reporte_4
|
||||
RUN "type C:\\archivo > %USPRINT%" END FUNCTION
|
||||
|
||||
# Rutina de Impresion de las informaciones
|
||||
REPORT reporte_4(x)
|
||||
|
||||
# Variable para tomar las informaciones
|
||||
DEFINE x RECORD
|
||||
num_doc LIKE cttb00003.num_doc,
|
||||
fecha LIKE cttb00003.fecha,
|
||||
departamento LIKE cttb00003.departamento,
|
||||
nombre_d CHAR(30),
|
||||
emp_no LIKE cttb00003.emp_no,
|
||||
nom1 LIKE adtb00003.nom1_emp,
|
||||
nom2 LIKE adtb00003.apell1_emp,
|
||||
cod_mq LIKE cttb00003.cod_mq,
|
||||
detalle LIKE cttb00003.detalle,
|
||||
h_directa LIKE cttb00003.h_directa,
|
||||
h_indirecta LIKE cttb00003.h_indirecta,
|
||||
e_directa LIKE cttb00003.e_directa,
|
||||
e_indirecta LIKE cttb00003.e_indirecta,
|
||||
cod_prod LIKE cttb00003.cod_prod,
|
||||
descripcion LIKE cttb00001.descripcion,
|
||||
cantidad LIKE cttb00003.cantidad
|
||||
END RECORD
|
||||
|
||||
DEFINE doble_on CHAR(3)
|
||||
DEFINE doble_off CHAR(3)
|
||||
DEFINE negrillas_on CHAR(6)
|
||||
DEFINE negrillas_off CHAR(6)
|
||||
DEFINE comp_on CHAR(2)
|
||||
DEFINE comp_off CHAR(2)
|
||||
DEFINE doce CHAR(2)
|
||||
DEFINE normal CHAR(3)
|
||||
DEFINE hora CHAR(5)
|
||||
|
||||
OUTPUT
|
||||
TOP MARGIN 0
|
||||
LEFT MARGIN 0
|
||||
BOTTOM MARGIN 2
|
||||
FORMAT
|
||||
|
||||
PAGE HEADER
|
||||
|
||||
# Validacion de los caracteres ascii
|
||||
LET doble_on = ASCII 014
|
||||
LET doble_off = ASCII 002
|
||||
LET negrillas_on = ASCII 27, ASCII 098
|
||||
LET negrillas_off = ASCII 27, ASCII 099
|
||||
LET comp_on = ASCII 15
|
||||
LET comp_off = ASCII 18
|
||||
LET doce = ASCII 27, ASCII 77
|
||||
LET normal = ASCII 029
|
||||
LET hora = time
|
||||
|
||||
# Impresion de los encabezados
|
||||
PRINT comp_on
|
||||
PRINT COLUMN 3, "prprrp004",
|
||||
COLUMN 46, "R A Y . O . V A C D O M I N I C A N A, S. A.",
|
||||
COLUMN 120, "Pag. ",
|
||||
pageno using "###"
|
||||
PRINT COLUMN 46, " Sistema de Produccion",
|
||||
COLUMN 120, today using "dd/mm/yy"
|
||||
PRINT COLUMN 46, " Validacion Produccion Diaria x Departamento",
|
||||
COLUMN 123, hora
|
||||
SKIP 1 LINE
|
||||
PRINT COLUMN 3,"Periodo: ",fecha_inicial USING "dd/mm/yy",
|
||||
" AL ",fecha_final USING "dd/mm/yy"
|
||||
PRINT COLUMN 1,
|
||||
"--------------------------------------------------------",
|
||||
"--------------------------------------------------------",
|
||||
"---------------------------------"
|
||||
|
||||
PRINT COLUMN 65, "Horas |",
|
||||
COLUMN 85, "Horas |"
|
||||
|
||||
PRINT COLUMN 65, "Normal |",
|
||||
COLUMN 85, "Extras |"
|
||||
|
||||
PRINT COLUMN 3, "Departamento",
|
||||
COLUMN 33, " Empleados ",
|
||||
COLUMN 60, "Directa",
|
||||
COLUMN 70, "Indirec |",
|
||||
COLUMN 80, "Directa",
|
||||
COLUMN 88, "Indirec|",
|
||||
COLUMN 96, "Semi-elaborados",
|
||||
COLUMN 137, "Cantidad"
|
||||
|
||||
PRINT COLUMN 1,
|
||||
"--------------------------------------------------------",
|
||||
"--------------------------------------------------------",
|
||||
"----------------------------------"
|
||||
BEFORE GROUP OF x.fecha
|
||||
PRINT COLUMN 3, "Fecha de Este Reporte: ",x.fecha using "dd/mm/yy"
|
||||
SKIP 1 LINE
|
||||
|
||||
BEFORE GROUP OF x.departamento
|
||||
SKIP 1 LINE
|
||||
PRINT COLUMN 3, "SECUENCIA: ",x.num_doc USING "&&&&&&"
|
||||
PRINT COLUMN 3, "DEPARTAMENTO ",x.departamento using "####"," ",
|
||||
x.nombre_d
|
||||
SKIP 1 LINE
|
||||
ON EVERY ROW
|
||||
|
||||
LET factor = 1
|
||||
SELECT a.fact_conv INTO factor FROM prtb00006 a
|
||||
WHERE a.cod_prod = x.cod_prod
|
||||
IF factor IS NULL THEN
|
||||
LET factor = 1
|
||||
END IF
|
||||
PRINT COLUMN 1, x.cod_mq using "###"," ",x.detalle,
|
||||
COLUMN 33, x.emp_no using "####"," ",x.nom1 clipped,", ",
|
||||
x.nom2 clipped,
|
||||
COLUMN 60, x.h_directa using "##.##",
|
||||
COLUMN 70, x.h_indirecta using "##.##",
|
||||
COLUMN 80, x.e_directa using "##.##",
|
||||
COLUMN 90, x.e_indirecta using "##.##",
|
||||
COLUMN 96, x.cod_prod using "&&&&"," ",x.descripcion CLIPPED,
|
||||
COLUMN 133, (x.cantidad*factor) using "###,###,###.##"
|
||||
|
||||
AFTER GROUP OF x.fecha
|
||||
SKIP TO TOP OF PAGE
|
||||
|
||||
ON LAST ROW
|
||||
PRINT comp_off
|
||||
|
||||
END REPORT
|
||||
@@ -0,0 +1,258 @@
|
||||
{
|
||||
-------------------------------------------------------------------------------
|
||||
PROGRAMA : PRPRRP005
|
||||
OBJETIVO : Reporte de Reporte Diario de produccion
|
||||
PROGRAMADOR : Juan F. Soto
|
||||
FECHA REALIZACION : Junio 22, 1994
|
||||
-------------------------------------------------------------------------------
|
||||
}
|
||||
|
||||
GLOBALS "prprgb000.4gl"
|
||||
|
||||
DEFINE fecha_inicial,fecha_final DATE
|
||||
DEFINE factor DECIMAL(12,2)
|
||||
FUNCTION prprrp005()
|
||||
#WHENEVER ERROR CONTINUE
|
||||
|
||||
DEFINE prt_datos RECORD
|
||||
depto CHAR(3),
|
||||
num_doc LIKE cttb00003.num_doc,
|
||||
fecha LIKE cttb00003.fecha,
|
||||
departamento LIKE cttb00003.departamento,
|
||||
nombre_d CHAR(30),
|
||||
emp_no LIKE cttb00003.emp_no,
|
||||
nom1 LIKE adtb00003.nom1_emp,
|
||||
nom2 LIKE adtb00003.apell1_emp,
|
||||
cod_mq LIKE cttb00003.cod_mq,
|
||||
h_directa LIKE cttb00003.h_directa,
|
||||
h_indirecta LIKE cttb00003.h_indirecta,
|
||||
e_directa LIKE cttb00003.e_directa,
|
||||
e_indirecta LIKE cttb00003.e_indirecta,
|
||||
cod_prod LIKE cttb00003.cod_prod,
|
||||
descripcion LIKE cttb00001.descripcion,
|
||||
cantidad LIKE cttb00003.cantidad,
|
||||
no_reg INTEGER,
|
||||
fnom1_emp LIKE adtb00036.nom1_emp,
|
||||
fapell1_emp LIKE adtb00036.apell1_emp
|
||||
END RECORD
|
||||
|
||||
OPTIONS
|
||||
FORM LINE 8,
|
||||
ERROR LINE 23,
|
||||
COMMENT LINE 21
|
||||
|
||||
OPEN FORM prfmrp005 FROM "prfmrp005"
|
||||
DISPLAY FORM prfmrp005
|
||||
CALL pantalla()
|
||||
DISPLAY "prprrp005" AT 4,3
|
||||
DISPLAY "Reporte de Produccion Diaria" AT 6,27
|
||||
|
||||
LET tipo_papel = 1
|
||||
CALL msgrp000(tipo_papel)
|
||||
########### Captura de valores para el criterio de busqueda ############
|
||||
INPUT BY NAME fecha_inicial,fecha_final
|
||||
|
||||
AFTER FIELD fecha_inicial
|
||||
IF fecha_inicial IS NULL THEN
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD fecha_inicial
|
||||
END IF
|
||||
|
||||
AFTER FIELD fecha_final
|
||||
IF fecha_final IS NULL THEN
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD fecha_final
|
||||
END IF
|
||||
|
||||
IF fecha_final < fecha_inicial THEN
|
||||
LET numero_msg = 86
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD fecha_final
|
||||
END IF
|
||||
|
||||
END INPUT
|
||||
|
||||
########### Facilidad para cancelar la variacioncon la tecla DELETE ####
|
||||
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = false
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
DISPLAY "Buscando Informacion... Espere Por Favor" AT 19,14
|
||||
DECLARE busca CURSOR FOR
|
||||
SELECT e.tipo,a.num_doc,a.fecha,a.departamento,b.nom_dpto,a.emp_no,
|
||||
c.nom1_emp,c.apell1_emp,a.cod_mq,a.h_directa,
|
||||
a.h_indirecta,a.e_directa,a.e_indirecta,a.cod_prod,
|
||||
d.descripcion,a.cantidad,a.rowid,f.nom1_emp,f.apell1_emp
|
||||
FROM cttb00003 a,adtb00001 b,outer adtb00003 c,prtb00004 e,
|
||||
outer cttb00001 d, outer adtb00036 f
|
||||
WHERE a.fecha between fecha_inicial and fecha_final and
|
||||
a.departamento=b.departamento and a.departamento=e.departamento AND
|
||||
a.emp_no = c.num_emp and a.cod_prod = d.cod_prod and
|
||||
a.emp_no = f.num_emp and
|
||||
a.status_t is null
|
||||
ORDER BY 3,1,4,17
|
||||
|
||||
START REPORT reporte_5 TO "C:\\archivo"
|
||||
|
||||
FOREACH busca INTO prt_datos.*
|
||||
IF int_flag THEN
|
||||
LET int_flag = FALSE
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
DISPLAY "Reporte Generandose... Espere Por Favor" AT 19,14
|
||||
OUTPUT TO REPORT reporte_5(prt_datos.*)
|
||||
|
||||
END FOREACH
|
||||
FINISH REPORT reporte_5
|
||||
RUN "type C:\\archivo > %USPRINT%" END FUNCTION
|
||||
|
||||
# Rutina de Impresion de las informaciones
|
||||
REPORT reporte_5(x)
|
||||
|
||||
# Variable para tomar las informaciones
|
||||
DEFINE x RECORD
|
||||
depto CHAR(3),
|
||||
num_doc LIKE cttb00003.num_doc,
|
||||
fecha LIKE cttb00003.fecha,
|
||||
departamento LIKE cttb00003.departamento,
|
||||
nombre_d CHAR(30),
|
||||
emp_no LIKE cttb00003.emp_no,
|
||||
nom1 LIKE adtb00003.nom1_emp,
|
||||
nom2 LIKE adtb00003.apell1_emp,
|
||||
cod_mq LIKE cttb00003.cod_mq,
|
||||
h_directa LIKE cttb00003.h_directa,
|
||||
h_indirecta LIKE cttb00003.h_indirecta,
|
||||
e_directa LIKE cttb00003.e_directa,
|
||||
e_indirecta LIKE cttb00003.e_indirecta,
|
||||
cod_prod LIKE cttb00003.cod_prod,
|
||||
descripcion LIKE cttb00001.descripcion,
|
||||
cantidad LIKE cttb00003.cantidad,
|
||||
no_reg INTEGER,
|
||||
fnom1_emp LIKE adtb00036.nom1_emp,
|
||||
fapell1_emp LIKE adtb00036.apell1_emp
|
||||
END RECORD
|
||||
|
||||
DEFINE doble_on CHAR(3)
|
||||
DEFINE doble_off CHAR(3)
|
||||
DEFINE negrillas_on CHAR(6)
|
||||
DEFINE negrillas_off CHAR(6)
|
||||
DEFINE comp_on CHAR(2)
|
||||
DEFINE comp_off CHAR(2)
|
||||
DEFINE doce CHAR(2)
|
||||
DEFINE normal CHAR(3)
|
||||
DEFINE hora CHAR(5)
|
||||
DEFINE detalle CHAR(30)
|
||||
|
||||
OUTPUT
|
||||
TOP MARGIN 0
|
||||
LEFT MARGIN 0
|
||||
BOTTOM MARGIN 2
|
||||
FORMAT
|
||||
|
||||
PAGE HEADER
|
||||
|
||||
# Reporte de de los caracteres ascii
|
||||
LET doble_on = ASCII 014
|
||||
LET doble_off = ASCII 002
|
||||
LET negrillas_on = ASCII 27, ASCII 098
|
||||
LET negrillas_off = ASCII 27, ASCII 099
|
||||
LET comp_on = ASCII 15
|
||||
LET comp_off = ASCII 18
|
||||
LET doce = ASCII 27, ASCII 77
|
||||
LET normal = ASCII 029
|
||||
LET hora = time
|
||||
|
||||
# Impresion de los encabezados
|
||||
PRINT comp_on
|
||||
PRINT COLUMN 3, "prprrp005",
|
||||
COLUMN 46, "R A Y . O . V A C D O M I N I C A N A, S. A.",
|
||||
COLUMN 120, "Pag. ",
|
||||
pageno using "###"
|
||||
PRINT COLUMN 46, " Sistema de Produccion",
|
||||
COLUMN 120, today using "dd/mm/yy"
|
||||
PRINT COLUMN 46, " Reporte de Produccion Diaria x Departamento",
|
||||
COLUMN 123, hora
|
||||
SKIP 1 LINE
|
||||
PRINT COLUMN 3,"Periodo: ",fecha_inicial USING "dd/mm/yy",
|
||||
" AL ",fecha_final USING "dd/mm/yy"
|
||||
PRINT COLUMN 1,
|
||||
"--------------------------------------------------------",
|
||||
"--------------------------------------------------------",
|
||||
"---------------------------------"
|
||||
|
||||
PRINT COLUMN 65, "Horas |",
|
||||
COLUMN 85, "Horas |"
|
||||
|
||||
PRINT COLUMN 65, "Normal |",
|
||||
COLUMN 85, "Extras |"
|
||||
|
||||
PRINT COLUMN 3, "Departamento",
|
||||
COLUMN 33, " Empleados ",
|
||||
COLUMN 60, "Directa",
|
||||
COLUMN 70, "Indirec |",
|
||||
COLUMN 80, "Directa",
|
||||
COLUMN 88, "Indirec|",
|
||||
COLUMN 96, "Semi-elaborados",
|
||||
COLUMN 137, "Cantidad"
|
||||
|
||||
PRINT COLUMN 1,
|
||||
"--------------------------------------------------------",
|
||||
"--------------------------------------------------------",
|
||||
"----------------------------------"
|
||||
BEFORE GROUP OF x.fecha
|
||||
PRINT COLUMN 3, "Fecha de Este Reporte: ",x.fecha using "dd/mm/yy"
|
||||
SKIP 1 LINE
|
||||
|
||||
BEFORE GROUP OF x.depto
|
||||
PRINT COLUMN 3, doble_on,"Departamento ",x.depto
|
||||
|
||||
BEFORE GROUP OF x.departamento
|
||||
SKIP 1 LINE
|
||||
PRINT COLUMN 3, x.departamento using "####"," ",x.nombre_d
|
||||
SKIP 1 LINE
|
||||
ON EVERY ROW
|
||||
|
||||
LET factor = 1
|
||||
SELECT a.fact_conv INTO factor FROM prtb00006 a
|
||||
WHERE a.cod_prod = x.cod_prod
|
||||
IF factor IS NULL THEN
|
||||
LET factor = 1
|
||||
END IF
|
||||
LET detalle = " "
|
||||
SELECT a.descripcion INTO detalle FROM prtb00005 a
|
||||
WHERE a.codigo = x.cod_mq AND a.status_t IS NULL
|
||||
|
||||
IF STATUS = NOTFOUND THEN
|
||||
LET detalle = "SIN DESCRIPCION"
|
||||
END IF
|
||||
PRINT COLUMN 1, x.cod_mq using "###"," ",detalle,
|
||||
COLUMN 33, x.emp_no using "####"," ";
|
||||
IF x.nom1 IS NOT NULL THEN
|
||||
PRINT x.nom1 clipped,", ", x.nom2 clipped;
|
||||
ELSE
|
||||
PRINT x.fnom1_emp clipped,", ",
|
||||
x.fapell1_emp clipped;
|
||||
END IF
|
||||
PRINT COLUMN 60, x.h_directa using "##.##",
|
||||
COLUMN 70, x.h_indirecta using "##.##",
|
||||
COLUMN 80, x.e_directa using "##.##",
|
||||
COLUMN 90, x.e_indirecta using "##.##",
|
||||
COLUMN 96, x.cod_prod using "&&&&"," ",x.descripcion CLIPPED,
|
||||
COLUMN 133, (x.cantidad*factor) using "###,###,###.##"
|
||||
|
||||
AFTER GROUP OF x.depto
|
||||
SKIP TO TOP OF PAGE
|
||||
|
||||
ON LAST ROW
|
||||
PRINT comp_off
|
||||
|
||||
END REPORT
|
||||
@@ -0,0 +1,359 @@
|
||||
|
||||
{
|
||||
-------------------------------------------------------------------------------
|
||||
PROGRAMA : PRPRRP006
|
||||
OBJETIVO : Pilas Prod./Horas Totales VS Ano Anterior
|
||||
PROGRAMADOR : Tadeo A. Ferreras
|
||||
FECHA REALIZACION : Junio 22, 1994
|
||||
-------------------------------------------------------------------------------
|
||||
}
|
||||
|
||||
GLOBALS "prprgb000.4gl"
|
||||
|
||||
DEFINE mes_d CHAR(10)
|
||||
DEFINE ano,mes INTEGER
|
||||
DEFINE ano1,ano2,ano3 CHAR(4)
|
||||
DEFINE fecha3,fecha4,fecha5,fecha6 DATE
|
||||
DEFINE total DECIMAL(12,2)
|
||||
DEFINE fecha_inicial,fecha_final DATE
|
||||
FUNCTION prprrp006()
|
||||
#WHENEVER ERROR CONTINUE
|
||||
|
||||
DEFINE prt_datos6 RECORD
|
||||
mes INTEGER,
|
||||
fecha1 DATE,
|
||||
fecha2 DATE,
|
||||
cantidad INTEGER,
|
||||
cantidad1 INTEGER,
|
||||
cantidad2 INTEGER,
|
||||
total_act DECIMAL(12,2),
|
||||
total_ant DECIMAL(12,2),
|
||||
total_ant1 DECIMAL(12,2),
|
||||
prod_act DECIMAL(12,3),
|
||||
prod_ant DECIMAL(12,3),
|
||||
prod_ant1 DECIMAL(12,3)
|
||||
END RECORD
|
||||
|
||||
OPTIONS
|
||||
FORM LINE 8,
|
||||
ERROR LINE 23,
|
||||
COMMENT LINE 21
|
||||
|
||||
OPEN FORM prfmrp006 FROM "prfmrp006"
|
||||
DISPLAY FORM prfmrp006
|
||||
CALL pantalla()
|
||||
DISPLAY "prprrp006" AT 4,3
|
||||
DISPLAY "Pilas Producidas Por Horas Totales" AT 6,23
|
||||
|
||||
LET tipo_papel = 2
|
||||
CALL msgrp000(tipo_papel)
|
||||
########### Captura de valores para el criterio de busqueda ############
|
||||
INPUT BY NAME ano,mes
|
||||
|
||||
AFTER FIELD ano
|
||||
IF ano IS NULL THEN
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD ano
|
||||
END IF
|
||||
LET ano1 = ano USING "&&&&"
|
||||
LET ano2 = ano - 1 USING "&&&&"
|
||||
LET ano3 = ano - 2 USING "&&&&"
|
||||
|
||||
AFTER FIELD mes
|
||||
IF mes IS NULL THEN
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD mes
|
||||
END IF
|
||||
|
||||
SELECT UNIQUE a.mes FROM prdtable a WHERE a.mes = mes
|
||||
|
||||
IF STATUS = NOTFOUND THEN
|
||||
LET numero_msg = 3
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD mes
|
||||
END IF
|
||||
END INPUT
|
||||
|
||||
########### Facilidad para cancelar la variacioncon la tecla DELETE ####
|
||||
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = false
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
DECLARE busca CURSOR FOR
|
||||
SELECT a.mes,a.fecha_inicio,a.fecha_corte,SUM(b.cantidad_2/1000)
|
||||
FROM prdtable a,iptb00006 b
|
||||
WHERE a.ano = ano1 AND a.mes <= mes AND b.status_t IS NULL AND
|
||||
b.fecha BETWEEN a.fecha_inicio AND a.fecha_corte AND
|
||||
b.cod_n = 3 AND b.cod_mov = 20 GROUP BY 1,2,3
|
||||
|
||||
DISPLAY "Buscando Informacion... Espere Por Favor" AT 19,14
|
||||
|
||||
START REPORT reporte_6 TO "C:\\archivo"
|
||||
DISPLAY "Impresion En Proceso... Espere Por Favor" AT 19,14
|
||||
|
||||
FOREACH busca INTO prt_datos6.*
|
||||
LET prt_datos6.cantidad1 = 0
|
||||
LET prt_datos6.cantidad2 = 0
|
||||
LET prt_datos6.total_act = 0
|
||||
LET prt_datos6.total_ant = 0
|
||||
LET prt_datos6.total_ant1= 0
|
||||
LET prt_datos6.prod_act = 0
|
||||
LET prt_datos6.prod_ant = 0
|
||||
LET prt_datos6.prod_ant1 = 0
|
||||
|
||||
SELECT UNIQUE a.fecha_inicio,a.fecha_corte INTO fecha3,fecha4
|
||||
FROM prdtable a
|
||||
WHERE a.ano = ano2 AND a.mes = prt_datos6.mes
|
||||
|
||||
SELECT UNIQUE a.fecha_inicio,a.fecha_corte INTO fecha5,fecha6
|
||||
FROM prdtable a
|
||||
WHERE a.ano = ano3 AND a.mes = prt_datos6.mes
|
||||
|
||||
SELECT SUM(cantidad_2/1000) INTO prt_datos6.cantidad1
|
||||
FROM iptb00006
|
||||
WHERE fecha BETWEEN fecha3 AND fecha4 AND status_t IS NULL AND
|
||||
cod_n = 3 AND cod_mov = 20 AND status_t IS NULL
|
||||
|
||||
SELECT SUM(cantidad_2/1000) INTO prt_datos6.cantidad2
|
||||
FROM iptb00006
|
||||
WHERE fecha BETWEEN fecha5 AND fecha6 AND status_t IS NULL AND
|
||||
cod_n = 3 AND cod_mov = 20 AND status_t IS NULL
|
||||
|
||||
LET total = 0
|
||||
SELECT SUM(h_directa+h_indirecta+e_directa+e_indirecta) INTO total
|
||||
FROM cttb00003
|
||||
WHERE fecha BETWEEN prt_datos6.fecha1 AND prt_datos6.fecha2 AND
|
||||
status_t IS NULL
|
||||
|
||||
IF total IS NULL THEN
|
||||
LET total = 0
|
||||
END IF
|
||||
LET prt_datos6.total_act = total
|
||||
|
||||
LET total = 0
|
||||
SELECT SUM(hn_ind+he_ind) INTO total
|
||||
FROM prtb00003
|
||||
WHERE fecha BETWEEN prt_datos6.fecha1 AND prt_datos6.fecha2 AND
|
||||
status_t IS NULL
|
||||
|
||||
IF total IS NULL THEN
|
||||
LET total = 0
|
||||
END IF
|
||||
LET prt_datos6.total_act = prt_datos6.total_act + total
|
||||
|
||||
LET total = 0
|
||||
SELECT SUM(h_directa+h_indirecta+e_directa+e_indirecta) INTO total
|
||||
FROM cttb00003 WHERE fecha BETWEEN fecha3 AND fecha4 AND
|
||||
status_t IS NULL
|
||||
|
||||
IF total IS NULL THEN
|
||||
LET total = 0
|
||||
END IF
|
||||
LET prt_datos6.total_ant = total
|
||||
|
||||
LET total = 0
|
||||
SELECT SUM(hn_ind+he_ind) INTO total
|
||||
FROM prtb00003 WHERE fecha BETWEEN fecha3 AND fecha4 AND
|
||||
status_t IS NULL
|
||||
|
||||
LET total = 0
|
||||
SELECT SUM(h_directa+h_indirecta+e_directa+e_indirecta) INTO total
|
||||
FROM cttb00003 WHERE fecha BETWEEN fecha5 AND fecha6 AND
|
||||
status_t IS NULL
|
||||
|
||||
IF total IS NULL THEN
|
||||
LET total = 0
|
||||
END IF
|
||||
LET prt_datos6.total_ant1 = total
|
||||
|
||||
LET total = 0
|
||||
SELECT SUM(hn_ind+he_ind) INTO total
|
||||
FROM prtb00003 WHERE fecha BETWEEN fecha5 AND fecha6 AND
|
||||
status_t IS NULL
|
||||
|
||||
IF total IS NULL THEN
|
||||
LET total = 0
|
||||
END IF
|
||||
LET prt_datos6.total_ant1 = prt_datos6.total_ant1 + total
|
||||
|
||||
|
||||
IF prt_datos6.total_act > 0 THEN
|
||||
LET prt_datos6.prod_act =
|
||||
(prt_datos6.cantidad/prt_datos6.total_act)*1000
|
||||
ELSE
|
||||
LET prt_datos6.prod_act = 0
|
||||
END IF
|
||||
|
||||
IF prt_datos6.total_ant > 0 AND prt_datos6.cantidad1 > 0 THEN
|
||||
LET prt_datos6.prod_ant =
|
||||
(prt_datos6.cantidad1/prt_datos6.total_ant)*1000
|
||||
ELSE
|
||||
LET prt_datos6.prod_ant = 0
|
||||
END IF
|
||||
|
||||
IF prt_datos6.total_ant1 > 0 AND prt_datos6.cantidad2 > 0 THEN
|
||||
LET prt_datos6.prod_ant1 =
|
||||
(prt_datos6.cantidad2/prt_datos6.total_ant1)*1000
|
||||
ELSE
|
||||
LET prt_datos6.prod_ant1 = 0
|
||||
END IF
|
||||
|
||||
OUTPUT TO REPORT reporte_6(prt_datos6.*)
|
||||
END FOREACH
|
||||
FINISH REPORT reporte_6
|
||||
RUN "type C:\\archivo > %USPRINT%" END FUNCTION
|
||||
|
||||
# Rutina de Impresion de las informaciones
|
||||
REPORT reporte_6(x)
|
||||
|
||||
# Variable para tomar las informaciones
|
||||
DEFINE x RECORD
|
||||
mes INTEGER,
|
||||
fecha1 DATE,
|
||||
fecha2 DATE,
|
||||
cantidad INTEGER,
|
||||
cantidad1 INTEGER,
|
||||
cantidad2 INTEGER,
|
||||
total_act DECIMAL(12,2),
|
||||
total_ant DECIMAL(12,2),
|
||||
total_ant1 DECIMAL(12,2),
|
||||
prod_act DECIMAL(12,3),
|
||||
prod_ant DECIMAL(12,3),
|
||||
prod_ant1 DECIMAL(12,3)
|
||||
END RECORD
|
||||
|
||||
DEFINE doble_on CHAR(3)
|
||||
DEFINE doble_off CHAR(3)
|
||||
DEFINE negrillas_on CHAR(6)
|
||||
DEFINE negrillas_off CHAR(6)
|
||||
DEFINE comp_on CHAR(2)
|
||||
DEFINE comp_off CHAR(2)
|
||||
DEFINE doce CHAR(2)
|
||||
DEFINE normal CHAR(3)
|
||||
DEFINE hora CHAR(5)
|
||||
|
||||
OUTPUT
|
||||
TOP MARGIN 0
|
||||
LEFT MARGIN 0
|
||||
BOTTOM MARGIN 2
|
||||
ORDER BY x.mes
|
||||
|
||||
FORMAT
|
||||
|
||||
PAGE HEADER
|
||||
|
||||
# Validacion de los caracteres ascii
|
||||
LET doble_on = ASCII 001
|
||||
LET doble_off = ASCII 002
|
||||
LET negrillas_on = ASCII 27, ASCII 098
|
||||
LET negrillas_off = ASCII 27, ASCII 099
|
||||
LET comp_on = ASCII 15
|
||||
LET comp_off = ASCII 18
|
||||
LET doce = ASCII 27, ASCII 77
|
||||
LET normal = ASCII 029
|
||||
LET hora = time
|
||||
|
||||
# Impresion de los encabezados
|
||||
PRINT comp_on
|
||||
PRINT COLUMN 1, "prprrp006",
|
||||
COLUMN 77, "R A Y . O . V A C D O M I N I C A N A, S. A.",
|
||||
COLUMN 182, "Pag. ",pageno using "###"
|
||||
PRINT COLUMN 77, " Sistema de Produccion",
|
||||
COLUMN 182, today using "dd/mm/yy"
|
||||
PRINT COLUMN 77, " Pilas Producidas Por Horas Totales ",
|
||||
COLUMN 185, hora
|
||||
SKIP 1 LINE
|
||||
PRINT COLUMN 1,
|
||||
"--------------------------------------------------------",
|
||||
"--------------------------------------------------------",
|
||||
"--------------------------------------------------------",
|
||||
"---------------------"
|
||||
|
||||
PRINT COLUMN 23, "--------------- ", ano1, " ---------------",
|
||||
COLUMN 77, "--------------- ", ano2, " ---------------",
|
||||
COLUMN 131, "--------------- ", ano3, " ---------------"
|
||||
|
||||
PRINT COLUMN 1,
|
||||
"--------------------------------------------------------",
|
||||
"--------------------------------------------------------",
|
||||
"--------------------------------------------------------",
|
||||
"---------------------"
|
||||
|
||||
PRINT COLUMN 1, "Mes ",
|
||||
COLUMN 20, "PROD. X 1000",
|
||||
COLUMN 39, " HORAS ",
|
||||
COLUMN 57, "PRODUCTIVIDAD",
|
||||
COLUMN 74, "PROD. X 1000",
|
||||
COLUMN 93, " HORAS ",
|
||||
COLUMN 111, "PRODUCTIVIDAD",
|
||||
COLUMN 128, "PROD. X 1000",
|
||||
COLUMN 147, " HORAS ",
|
||||
COLUMN 165, "PRODUCTIVIDAD"
|
||||
|
||||
PRINT COLUMN 1,
|
||||
"--------------------------------------------------------",
|
||||
"--------------------------------------------------------",
|
||||
"--------------------------------------------------------",
|
||||
"---------------------"
|
||||
|
||||
ON EVERY ROW
|
||||
|
||||
CASE
|
||||
WHEN x.mes = 1 LET mes_d = "ENERO" EXIT CASE
|
||||
WHEN x.mes = 2 LET mes_d = "FEBRERO" EXIT CASE
|
||||
WHEN x.mes = 3 LET mes_d = "MARZO" EXIT CASE
|
||||
WHEN x.mes = 4 LET mes_d = "ABRIL" EXIT CASE
|
||||
WHEN x.mes = 5 LET mes_d = "MAYO" EXIT CASE
|
||||
WHEN x.mes = 6 LET mes_d = "JUNIO" EXIT CASE
|
||||
WHEN x.mes = 7 LET mes_d = "JULIO" EXIT CASE
|
||||
WHEN x.mes = 8 LET mes_d = "AGOSTO" EXIT CASE
|
||||
WHEN x.mes = 9 LET mes_d = "SEPTIEMBRE" EXIT CASE
|
||||
WHEN x.mes = 10 LET mes_d = "OCTUBRE" EXIT CASE
|
||||
WHEN x.mes = 11 LET mes_d = "NOVIEMBRE" EXIT CASE
|
||||
WHEN x.mes = 12 LET mes_d = "DICIEMBRE" EXIT CASE
|
||||
END CASE
|
||||
|
||||
PRINT COLUMN 1, mes_d,
|
||||
COLUMN 21, x.cantidad USING "###,###,###",
|
||||
COLUMN 41, x.total_act USING "###,###.##",
|
||||
COLUMN 60, x.prod_act USING "##,###.###",
|
||||
COLUMN 75, x.cantidad1 USING "###,###,###",
|
||||
COLUMN 95, x.total_ant USING "###,###.##",
|
||||
COLUMN 114, x.prod_ant USING "##,###.###",
|
||||
COLUMN 129, x.cantidad2 USING "###,###,###",
|
||||
COLUMN 149, x.total_ant1 USING "###,###.##",
|
||||
COLUMN 168, x.prod_ant1 USING "##,###.###"
|
||||
|
||||
ON LAST ROW
|
||||
|
||||
PRINT COLUMN 1,
|
||||
"--------------------------------------------------------",
|
||||
"--------------------------------------------------------",
|
||||
"--------------------------------------------------------",
|
||||
"---------------------"
|
||||
|
||||
PRINT COLUMN 1, "TOTALES ---> ",
|
||||
COLUMN 21, sum(x.cantidad) USING "###,###,###",
|
||||
COLUMN 41, sum(x.total_act) USING "###,###.##",
|
||||
COLUMN 60, sum(x.prod_act) USING "##,###.###",
|
||||
COLUMN 75, sum(x.cantidad1) USING "###,###,###",
|
||||
COLUMN 95, sum(x.total_ant) USING "###,###.##",
|
||||
COLUMN 114, sum(x.prod_ant) USING "##,###.###",
|
||||
COLUMN 129, sum(x.cantidad2) USING "###,###,###",
|
||||
COLUMN 149, sum(x.total_ant1) USING "###,###.##",
|
||||
COLUMN 168, sum(x.prod_ant1) USING "##,###.###"
|
||||
|
||||
PRINT COLUMN 1,
|
||||
"--------------------------------------------------------",
|
||||
"--------------------------------------------------------",
|
||||
"--------------------------------------------------------",
|
||||
"---------------------"
|
||||
PRINT comp_off
|
||||
|
||||
END REPORT
|
||||
@@ -0,0 +1,464 @@
|
||||
{
|
||||
-------------------------------------------------------------------------------
|
||||
PROGRAMA : PRPRRP007
|
||||
OBJETIVO : Poduccion Acumulada en un rango de anos
|
||||
PROGRAMADOR : Tadeo A. Ferreras
|
||||
FECHA REALIZACION : Junio 22, 1994
|
||||
-------------------------------------------------------------------------------
|
||||
}
|
||||
|
||||
GLOBALS "prprgb000.4gl"
|
||||
|
||||
DEFINE jb ARRAY[10000] OF RECORD
|
||||
cantidad1 DECIMAL(12,2),
|
||||
cantidad2 DECIMAL(12,2),
|
||||
cantidad3 DECIMAL(12,2)
|
||||
END RECORD
|
||||
|
||||
DEFINE mes_d CHAR(10)
|
||||
DEFINE a,ano_i,ano_f,ano,mes INTEGER
|
||||
DEFINE mes_b,ano1,ano2,ano3 CHAR(4)
|
||||
DEFINE fecha3,fecha4 DATE
|
||||
DEFINE cant_p1,cant_p2,cant_p3,cant_pres1,cant_pres2,cant_pres3,total,
|
||||
cantidad1_1,cantidad1_2,cantidad1_3 DECIMAL(12,2)
|
||||
DEFINE fecha_inicial,fecha_final DATE
|
||||
FUNCTION prprrp007()
|
||||
#WHENEVER ERROR CONTINUE
|
||||
|
||||
DEFINE prt_datos7 RECORD
|
||||
ano CHAR(4),
|
||||
mes SMALLINT,
|
||||
fecha1 DATE,
|
||||
fecha2 DATE,
|
||||
cantidad1 INTEGER,
|
||||
cantidad2 INTEGER,
|
||||
cantidad3 INTEGER,
|
||||
clave CHAR(1)
|
||||
END RECORD
|
||||
|
||||
OPTIONS
|
||||
FORM LINE 8,
|
||||
ERROR LINE 23,
|
||||
COMMENT LINE 21
|
||||
|
||||
OPEN FORM prfmrp007 FROM "prfmrp007"
|
||||
DISPLAY FORM prfmrp007
|
||||
CALL pantalla()
|
||||
DISPLAY "prprrp007" AT 4,3
|
||||
DISPLAY "Produccion Acumulada en Rango de Anos" AT 6,21
|
||||
|
||||
LET tipo_papel = 2
|
||||
CALL msgrp000(tipo_papel)
|
||||
########### Captura de valores para el criterio de busqueda ############
|
||||
INPUT BY NAME ano,ano_f,mes
|
||||
|
||||
AFTER FIELD ano
|
||||
IF ano IS NULL THEN
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD ano
|
||||
END IF
|
||||
|
||||
SELECT MIN(b.ano) INTO ano1 FROM prdtable b
|
||||
|
||||
LET ano_i = ano1
|
||||
LET ano1 = NULL
|
||||
IF ano_i > ano THEN
|
||||
LET numero_msg = 3
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD ano
|
||||
END IF
|
||||
LET ano_i = NULL
|
||||
|
||||
AFTER FIELD ano_f
|
||||
IF ano_f IS NULL THEN
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD ano_f
|
||||
END IF
|
||||
|
||||
IF (ano_f - ano) > 5 THEN
|
||||
LET numero_msg = 5
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD ano
|
||||
END IF
|
||||
|
||||
SELECT MAX(b.ano) INTO ano_i FROM prdtable b
|
||||
|
||||
IF ano_f > ano_i THEN
|
||||
LET numero_msg = 3
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD ano_f
|
||||
END IF
|
||||
|
||||
IF (ano - ano_f) > 5 THEN
|
||||
LET numero_msg = 64
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD ano
|
||||
END IF
|
||||
|
||||
LET ano1 = ano USING "&&&&"
|
||||
LET ano2 = ano_f USING "&&&&"
|
||||
|
||||
AFTER FIELD mes
|
||||
IF mes IS NULL THEN
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD mes
|
||||
END IF
|
||||
|
||||
SELECT UNIQUE b.mes FROM prdtable b WHERE b.mes = mes AND
|
||||
b.ano = ano
|
||||
|
||||
IF STATUS = NOTFOUND THEN
|
||||
LET numero_msg = 3
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD mes
|
||||
END IF
|
||||
END INPUT
|
||||
|
||||
########### Facilidad para cancelar la variacioncon la tecla DELETE ####
|
||||
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = false
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
FOR a = ano TO ano_f
|
||||
LET jb[a].cantidad1 = 0
|
||||
LET jb[a].cantidad2 = 0
|
||||
LET jb[a].cantidad3 = 0
|
||||
END FOR
|
||||
|
||||
DECLARE busca CURSOR FOR
|
||||
SELECT b.ano,b.mes,b.fecha_inicio,b.fecha_corte
|
||||
FROM prdtable b
|
||||
WHERE (b.ano BETWEEN ano1 AND ano2) AND b.mes <= mes
|
||||
ORDER BY 1,2
|
||||
|
||||
DISPLAY "Buscando Informacion... Espere Por Favor" AT 19,14
|
||||
|
||||
START REPORT reporte_7 TO "C:\\archivo"
|
||||
DISPLAY "Impresion En Proceso... Espere Por Favor" AT 19,14
|
||||
|
||||
FOREACH busca INTO prt_datos7.*
|
||||
LET prt_datos7.cantidad1 = 0
|
||||
LET prt_datos7.cantidad2 = 0
|
||||
LET prt_datos7.cantidad3 = 0
|
||||
LET prt_datos7.clave = "a"
|
||||
|
||||
SELECT SUM(cantidad_2) INTO prt_datos7.cantidad1
|
||||
FROM iptb00006
|
||||
WHERE fecha BETWEEN prt_datos7.fecha1 AND prt_datos7.fecha2 AND
|
||||
status_t IS NULL AND cod_n = 3 AND cod_grupo = 1 AND
|
||||
cod_mov = 20
|
||||
|
||||
SELECT SUM(cantidad_2) INTO prt_datos7.cantidad2
|
||||
FROM iptb00006
|
||||
WHERE fecha BETWEEN prt_datos7.fecha1 AND prt_datos7.fecha2 AND
|
||||
status_t IS NULL AND cod_n = 3 AND cod_grupo = 2 AND
|
||||
cod_mov = 20
|
||||
|
||||
SELECT SUM(cantidad_2) INTO prt_datos7.cantidad3
|
||||
FROM iptb00006
|
||||
WHERE fecha BETWEEN prt_datos7.fecha1 AND prt_datos7.fecha2 AND
|
||||
status_t IS NULL AND cod_n = 3 AND cod_grupo = 3 AND
|
||||
cod_mov = 20
|
||||
|
||||
IF prt_datos7.cantidad1 IS NULL THEN
|
||||
LET prt_datos7.cantidad1 = 0
|
||||
END IF
|
||||
IF prt_datos7.cantidad2 IS NULL THEN
|
||||
LET prt_datos7.cantidad2 = 0
|
||||
END IF
|
||||
IF prt_datos7.cantidad3 IS NULL THEN
|
||||
LET prt_datos7.cantidad3 = 0
|
||||
END IF
|
||||
|
||||
OUTPUT TO REPORT reporte_7(prt_datos7.*)
|
||||
|
||||
END FOREACH
|
||||
FINISH REPORT reporte_7
|
||||
RUN "type C:\\archivo > %USPRINT%" END FUNCTION
|
||||
|
||||
# Rutina de Impresion de las informaciones
|
||||
REPORT reporte_7(x)
|
||||
|
||||
# Variable para tomar las informaciones
|
||||
DEFINE x RECORD
|
||||
ano CHAR(4),
|
||||
mes SMALLINT,
|
||||
fecha1 DATE,
|
||||
fecha2 DATE,
|
||||
cantidad1 INTEGER,
|
||||
cantidad2 INTEGER,
|
||||
cantidad3 INTEGER,
|
||||
clave CHAR(1)
|
||||
END RECORD
|
||||
|
||||
DEFINE doble_on CHAR(3)
|
||||
DEFINE doble_off CHAR(3)
|
||||
DEFINE negrillas_on CHAR(6)
|
||||
DEFINE negrillas_off CHAR(6)
|
||||
DEFINE comp_on CHAR(2)
|
||||
DEFINE comp_off CHAR(2)
|
||||
DEFINE doce CHAR(2)
|
||||
DEFINE normal CHAR(3)
|
||||
DEFINE hora CHAR(5)
|
||||
|
||||
OUTPUT
|
||||
TOP MARGIN 0
|
||||
LEFT MARGIN 0
|
||||
BOTTOM MARGIN 2
|
||||
ORDER BY x.clave,x.mes,x.ano DESC
|
||||
|
||||
FORMAT
|
||||
|
||||
PAGE HEADER
|
||||
|
||||
# Validacion de los caracteres ascii
|
||||
LET doble_on = ASCII 001
|
||||
LET doble_off = ASCII 002
|
||||
LET negrillas_on = ASCII 27, ASCII 098
|
||||
LET negrillas_off = ASCII 27, ASCII 099
|
||||
LET comp_on = ASCII 15
|
||||
LET comp_off = ASCII 18
|
||||
LET doce = ASCII 27, ASCII 77
|
||||
LET normal = ASCII 029
|
||||
LET hora = time
|
||||
LET l = 15
|
||||
FOR a = ano TO ano_f
|
||||
LET l = l + 36
|
||||
|
||||
IF a = ano THEN
|
||||
LET l = l + 36
|
||||
END IF
|
||||
END FOR
|
||||
|
||||
# Impresion de los encabezados
|
||||
PRINT comp_on
|
||||
PRINT COLUMN 1, "prprrp007",
|
||||
COLUMN ((l-45)/2)+1,
|
||||
"R A Y . O . V A C D O M I N I C A N A, S. A.",
|
||||
COLUMN l-7, "Pag. ",
|
||||
pageno using "###"
|
||||
PRINT COLUMN ((l-45)/2)+1,
|
||||
" Sistema de Produccion",
|
||||
COLUMN l-7, today using "dd/mm/yy"
|
||||
PRINT COLUMN ((l-45)/2)+1,
|
||||
" Produccion Acumulada Del Ano ",ano1," AL ",ano2,
|
||||
COLUMN l-5, hora
|
||||
SKIP 1 LINE
|
||||
PRINT COLUMN 1, "--------------";
|
||||
LET l = 15
|
||||
FOR a = ano TO ano_f
|
||||
PRINT COLUMN l, "------------------------------------";
|
||||
LET l = l + 36
|
||||
|
||||
IF a = ano THEN
|
||||
PRINT COLUMN l, "------------------------------------";
|
||||
LET l = l + 36
|
||||
END IF
|
||||
END FOR
|
||||
PRINT COLUMN l,"-"
|
||||
|
||||
LET l = 32
|
||||
LET j = ano_f - ano
|
||||
FOR a = ano TO ano_f
|
||||
LET k = ano + j
|
||||
LET j = j - 1
|
||||
PRINT COLUMN l, "-- ",k USING "&&&&"," --";
|
||||
LET l = l + 36
|
||||
|
||||
IF a = ano THEN
|
||||
PRINT COLUMN l, "PRES. ",k USING "&&&&";
|
||||
LET l = l + 36
|
||||
END IF
|
||||
END FOR
|
||||
PRINT COLUMN l, " "
|
||||
|
||||
PRINT COLUMN 1, "--------------";
|
||||
LET l = 15
|
||||
FOR a = ano TO ano_f
|
||||
PRINT COLUMN l, "------------------------------------";
|
||||
LET l = l + 36
|
||||
|
||||
IF a = ano THEN
|
||||
PRINT COLUMN l, "------------------------------------";
|
||||
LET l = l + 36
|
||||
END IF
|
||||
END FOR
|
||||
PRINT COLUMN l,"-"
|
||||
{ PRINT COLUMN 1,
|
||||
"--------------------------------------------------------",
|
||||
"--------------------------------------------------------",
|
||||
"---------------------------------"
|
||||
}
|
||||
PRINT COLUMN 1, "Mes ";
|
||||
LET l = 15
|
||||
FOR a = ano TO ano_f
|
||||
PRINT COLUMN l, " D C AA";
|
||||
LET l = l + 36
|
||||
|
||||
IF a = ano THEN
|
||||
PRINT COLUMN l, " D C AA";
|
||||
LET l = l + 36
|
||||
END IF
|
||||
END FOR
|
||||
PRINT COLUMN l," "
|
||||
|
||||
PRINT COLUMN 1, "--------------";
|
||||
LET l = 15
|
||||
FOR a = ano TO ano_f
|
||||
PRINT COLUMN l, "------------------------------------";
|
||||
LET l = l + 36
|
||||
|
||||
IF a = ano THEN
|
||||
PRINT COLUMN l, "------------------------------------";
|
||||
LET l = l + 36
|
||||
END IF
|
||||
END FOR
|
||||
PRINT COLUMN l,"-"
|
||||
|
||||
|
||||
BEFORE GROUP OF x.mes
|
||||
CASE
|
||||
WHEN x.mes = 1 LET mes_d = "ENERO" EXIT CASE
|
||||
WHEN x.mes = 2 LET mes_d = "FEBRERO" EXIT CASE
|
||||
WHEN x.mes = 3 LET mes_d = "MARZO" EXIT CASE
|
||||
WHEN x.mes = 4 LET mes_d = "ABRIL" EXIT CASE
|
||||
WHEN x.mes = 5 LET mes_d = "MAYO" EXIT CASE
|
||||
WHEN x.mes = 6 LET mes_d = "JUNIO" EXIT CASE
|
||||
WHEN x.mes = 7 LET mes_d = "JULIO" EXIT CASE
|
||||
WHEN x.mes = 8 LET mes_d = "AGOSTO" EXIT CASE
|
||||
WHEN x.mes = 9 LET mes_d = "SEPTIEMBRE" EXIT CASE
|
||||
WHEN x.mes = 10 LET mes_d = "OCTUBRE" EXIT CASE
|
||||
WHEN x.mes = 11 LET mes_d = "NOVIEMBRE" EXIT CASE
|
||||
WHEN x.mes = 12 LET mes_d = "DICIEMBRE" EXIT CASE
|
||||
END CASE
|
||||
|
||||
LET l = 15
|
||||
PRINT COLUMN 1, mes_d;
|
||||
ON EVERY ROW
|
||||
PRINT COLUMN l, x.cantidad1 USING "###,###,###",
|
||||
COLUMN l+12, x.cantidad2 USING "###,###,###",
|
||||
COLUMN l+24, x.cantidad3 USING "###,###,###";
|
||||
LET l= l + 36
|
||||
|
||||
IF x.ano = ano_f THEN
|
||||
LET mes_b = ano2[3,4],x.mes USING "&&"
|
||||
LET cant_p1 = 0
|
||||
LET cant_p2 = 0
|
||||
LET cant_p3 = 0
|
||||
|
||||
SELECT SUM(b.cantidad) INTO cant_p1 FROM vetb00017 b
|
||||
WHERE b.ano = ano_f AND b.mes = mes_b AND b.cod_grupo = 1
|
||||
|
||||
SELECT SUM(b.cantidad) INTO cant_p2 FROM vetb00017 b
|
||||
WHERE b.ano = ano_f AND b.mes = mes_b AND b.cod_grupo = 2
|
||||
|
||||
SELECT SUM(b.cantidad) INTO cant_p3 FROM vetb00017 b
|
||||
WHERE b.ano = ano_f AND b.mes = mes_b AND b.cod_grupo = 3
|
||||
|
||||
IF cant_p1 IS NULL THEN
|
||||
LET cant_p1 = 0
|
||||
END IF
|
||||
|
||||
IF cant_p2 IS NULL THEN
|
||||
LET cant_p2 = 0
|
||||
END IF
|
||||
|
||||
IF cant_p3 IS NULL THEN
|
||||
LET cant_p3 = 0
|
||||
END IF
|
||||
|
||||
IF cant_pres1 IS NULL THEN
|
||||
LET cant_pres1 = 0
|
||||
END IF
|
||||
|
||||
IF cant_pres2 IS NULL THEN
|
||||
LET cant_pres2 = 0
|
||||
END IF
|
||||
|
||||
IF cant_pres3 IS NULL THEN
|
||||
LET cant_pres3 = 0
|
||||
END IF
|
||||
|
||||
LET cant_pres1 = cant_pres1 + cant_p1
|
||||
LET cant_pres2 = cant_pres2 + cant_p3
|
||||
LET cant_pres3 = cant_pres2 + cant_p3
|
||||
|
||||
PRINT COLUMN l, cant_p1 USING "###,###,###",
|
||||
COLUMN l+12, cant_p2 USING "###,###,###",
|
||||
COLUMN l+24, cant_p3 USING "###,###,###";
|
||||
LET l = l + 36
|
||||
END IF
|
||||
|
||||
LET a = x.ano
|
||||
LET jb[a].cantidad1 = jb[a].cantidad1 + x.cantidad1
|
||||
LET jb[a].cantidad2 = jb[a].cantidad2 + x.cantidad2
|
||||
LET jb[a].cantidad3 = jb[a].cantidad3 + x.cantidad3
|
||||
|
||||
AFTER GROUP OF x.mes
|
||||
PRINT COLUMN l," "
|
||||
|
||||
ON LAST ROW
|
||||
|
||||
PRINT COLUMN 1, "--------------";
|
||||
LET l = 15
|
||||
FOR a = ano TO ano_f
|
||||
PRINT COLUMN l, "------------------------------------";
|
||||
LET l = l + 36
|
||||
|
||||
IF a = ano THEN
|
||||
PRINT COLUMN l, "------------------------------------";
|
||||
LET l = l + 36
|
||||
END IF
|
||||
END FOR
|
||||
PRINT COLUMN l,"-"
|
||||
PRINT COLUMN 1, "TOTALES ---> ";
|
||||
LET l = 15
|
||||
LET j = 0
|
||||
FOR a = ano TO ano_f
|
||||
|
||||
LET k = ano_f - j
|
||||
|
||||
PRINT COLUMN l,jb[k].cantidad1 USING "###,###,###",
|
||||
COLUMN l+12,jb[k].cantidad2 USING "###,###,###",
|
||||
COLUMN l+24,jb[k].cantidad3 USING "###,###,###";
|
||||
|
||||
LET l = l + 36
|
||||
IF ano_f = ano_f-j THEN
|
||||
|
||||
PRINT COLUMN l, cant_pres1 USING "###,###,###",
|
||||
COLUMN l+12, cant_pres2 USING "###,###,###",
|
||||
COLUMN l+24, cant_pres3 USING "###,###,###";
|
||||
|
||||
LET l = l + 36
|
||||
END IF
|
||||
LET j = j + 1
|
||||
|
||||
END FOR
|
||||
PRINT COLUMN l," "
|
||||
|
||||
PRINT COLUMN 1, "--------------";
|
||||
LET l = 15
|
||||
FOR a = ano TO ano_f
|
||||
PRINT COLUMN l, "------------------------------------";
|
||||
LET l = l + 36
|
||||
|
||||
IF a = ano THEN
|
||||
PRINT COLUMN l, "------------------------------------";
|
||||
LET l = l + 36
|
||||
END IF
|
||||
END FOR
|
||||
PRINT COLUMN l,"-"
|
||||
|
||||
PRINT comp_off
|
||||
LET cant_pres1 = 0
|
||||
LET cant_pres2 = 0
|
||||
LET cant_pres3 = 0
|
||||
|
||||
END REPORT
|
||||
@@ -0,0 +1,354 @@
|
||||
{
|
||||
-------------------------------------------------------------------------------
|
||||
PROGRAMA : PRPRRP008
|
||||
OBJETIVO : Pilas Prod./Horas Directas VS Ano Anterior
|
||||
PROGRAMADOR : Tadeo A. Ferreras
|
||||
FECHA REALIZACION : Junio 22, 1994
|
||||
-------------------------------------------------------------------------------
|
||||
}
|
||||
|
||||
GLOBALS "prprgb000.4gl"
|
||||
|
||||
DEFINE mes_d CHAR(10)
|
||||
DEFINE ano,mes SMALLINT
|
||||
DEFINE ano1,ano2,ano3 CHAR(4)
|
||||
DEFINE fecha3,fecha4,fecha5,fecha6 DATE
|
||||
DEFINE total DECIMAL(12,2)
|
||||
DEFINE fecha_inicial,fecha_final DATE
|
||||
FUNCTION prprrp008()
|
||||
#WHENEVER ERROR CONTINUE
|
||||
|
||||
DEFINE prt_datos8 RECORD
|
||||
mes SMALLINT,
|
||||
fecha1 DATE,
|
||||
fecha2 DATE,
|
||||
cantidad INTEGER,
|
||||
cantidad1 INTEGER,
|
||||
cantidad2 INTEGER,
|
||||
total_act DECIMAL(12,2),
|
||||
total_ant DECIMAL(12,2),
|
||||
total_ant1 DECIMAL(12,2),
|
||||
prod_act DECIMAL(12,3),
|
||||
prod_ant DECIMAL(12,3),
|
||||
prod_ant1 DECIMAL(12,3)
|
||||
END RECORD
|
||||
|
||||
OPTIONS
|
||||
FORM LINE 8,
|
||||
ERROR LINE 23,
|
||||
COMMENT LINE 21
|
||||
|
||||
OPEN FORM prfmrp008 FROM "prfmrp006"
|
||||
DISPLAY FORM prfmrp008
|
||||
CALL pantalla()
|
||||
DISPLAY "prprrp008" AT 4,3
|
||||
DISPLAY "Pilas Producidas Por Horas directas" AT 6,23
|
||||
|
||||
LET tipo_papel = 2
|
||||
CALL msgrp000(tipo_papel)
|
||||
########### Captura de valores para el criterio de busqueda ############
|
||||
INPUT BY NAME ano,mes
|
||||
|
||||
AFTER FIELD ano
|
||||
IF ano IS NULL THEN
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD ano
|
||||
END IF
|
||||
LET ano1 = ano USING "&&&&"
|
||||
LET ano2 = ano - 1 USING "&&&&"
|
||||
LET ano3 = ano - 2 USING "&&&&"
|
||||
|
||||
AFTER FIELD mes
|
||||
IF mes IS NULL THEN
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD mes
|
||||
END IF
|
||||
|
||||
SELECT UNIQUE a.mes FROM prdtable a WHERE a.mes = mes
|
||||
|
||||
IF STATUS = NOTFOUND THEN
|
||||
LET numero_msg = 3
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD mes
|
||||
END IF
|
||||
END INPUT
|
||||
|
||||
########### Facilidad para cancelar la variacioncon la tecla DELETE ####
|
||||
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = false
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
DECLARE busca CURSOR FOR
|
||||
SELECT a.mes,a.fecha_inicio,a.fecha_corte,SUM(b.cantidad_2/1000)
|
||||
FROM prdtable a,iptb00006 b
|
||||
WHERE a.ano = ano1 AND a.mes <= mes AND b.status_t IS NULL AND
|
||||
b.fecha BETWEEN a.fecha_inicio AND a.fecha_corte AND
|
||||
b.cod_n = 3 AND b.cod_mov = 20 GROUP BY 1,2,3
|
||||
|
||||
DISPLAY "Buscando Informacion... Espere Por Favor" AT 19,14
|
||||
|
||||
START REPORT reporte_8 TO "C:\\archivo"
|
||||
DISPLAY "Impresion En Proceso... Espere Por Favor" AT 19,14
|
||||
|
||||
FOREACH busca INTO prt_datos8.*
|
||||
LET prt_datos8.total_act = 0
|
||||
LET prt_datos8.total_ant = 0
|
||||
LET prt_datos8.cantidad1 = 0
|
||||
LET prt_datos8.prod_act = 0
|
||||
LET prt_datos8.prod_ant = 0
|
||||
|
||||
SELECT UNIQUE a.fecha_inicio,a.fecha_corte INTO fecha3,fecha4
|
||||
FROM prdtable a
|
||||
WHERE a.ano = ano2 AND a.mes = prt_datos8.mes
|
||||
|
||||
SELECT UNIQUE a.fecha_inicio,a.fecha_corte INTO fecha5,fecha6
|
||||
FROM prdtable a
|
||||
WHERE a.ano = ano3 AND a.mes = prt_datos8.mes
|
||||
|
||||
SELECT SUM(cantidad_2/1000) INTO prt_datos8.cantidad1
|
||||
FROM iptb00006
|
||||
WHERE fecha BETWEEN fecha3 AND fecha4 AND status_t IS NULL AND
|
||||
cod_n = 3 AND cod_mov = 20 AND status_t IS NULL
|
||||
|
||||
SELECT SUM(cantidad_2/1000) INTO prt_datos8.cantidad2
|
||||
FROM iptb00006
|
||||
WHERE fecha BETWEEN fecha5 AND fecha6 AND status_t IS NULL AND
|
||||
cod_n = 3 AND cod_mov = 20 AND status_t IS NULL
|
||||
|
||||
LET total = 0
|
||||
SELECT SUM(h_directa+e_directa) INTO total
|
||||
FROM cttb00003
|
||||
WHERE fecha BETWEEN prt_datos8.fecha1 AND prt_datos8.fecha2 AND
|
||||
status_t IS NULL
|
||||
|
||||
IF total IS NULL THEN
|
||||
LET total = 0
|
||||
END IF
|
||||
LET prt_datos8.total_act = total
|
||||
|
||||
LET total = 0
|
||||
SELECT SUM(hn_ind+he_ind) INTO total
|
||||
FROM prtb00003
|
||||
WHERE fecha BETWEEN prt_datos8.fecha1 AND prt_datos8.fecha2 AND
|
||||
status_t IS NULL
|
||||
|
||||
IF total IS NULL THEN
|
||||
LET total = 0
|
||||
END IF
|
||||
LET prt_datos8.total_act = prt_datos8.total_act + total
|
||||
|
||||
LET total = 0
|
||||
SELECT SUM(h_directa+e_directa) INTO total
|
||||
FROM cttb00003 WHERE fecha BETWEEN fecha3 AND fecha4 AND
|
||||
status_t IS NULL
|
||||
|
||||
IF total IS NULL THEN
|
||||
LET total = 0
|
||||
END IF
|
||||
LET prt_datos8.total_ant = total
|
||||
|
||||
LET total = 0
|
||||
SELECT SUM(hn_ind+he_ind) INTO total
|
||||
FROM prtb00003 WHERE fecha BETWEEN fecha3 AND fecha4 AND
|
||||
status_t IS NULL
|
||||
|
||||
LET total = 0
|
||||
SELECT SUM(h_directa+e_directa) INTO total
|
||||
FROM cttb00003 WHERE fecha BETWEEN fecha5 AND fecha6 AND
|
||||
status_t IS NULL
|
||||
|
||||
IF total IS NULL THEN
|
||||
LET total = 0
|
||||
END IF
|
||||
LET prt_datos8.total_ant1 = total
|
||||
|
||||
LET total = 0
|
||||
SELECT SUM(hn_ind+he_ind) INTO total
|
||||
FROM prtb00003 WHERE fecha BETWEEN fecha5 AND fecha6 AND
|
||||
status_t IS NULL
|
||||
|
||||
IF total IS NULL THEN
|
||||
LET total = 0
|
||||
END IF
|
||||
LET prt_datos8.total_ant1 = prt_datos8.total_ant1 + total
|
||||
|
||||
IF prt_datos8.total_act > 0 THEN
|
||||
LET prt_datos8.prod_act =
|
||||
(prt_datos8.cantidad/prt_datos8.total_act)*1000
|
||||
ELSE
|
||||
LET prt_datos8.prod_act = 0
|
||||
END IF
|
||||
|
||||
IF prt_datos8.total_ant > 0 AND prt_datos8.cantidad1 > 0 THEN
|
||||
LET prt_datos8.prod_ant =
|
||||
(prt_datos8.cantidad1/prt_datos8.total_ant)*1000
|
||||
ELSE
|
||||
LET prt_datos8.prod_ant = 0
|
||||
END IF
|
||||
|
||||
IF prt_datos8.total_ant1 > 0 AND prt_datos8.cantidad2 > 0 THEN
|
||||
LET prt_datos8.prod_ant1 =
|
||||
(prt_datos8.cantidad2/prt_datos8.total_ant1)*1000
|
||||
ELSE
|
||||
LET prt_datos8.prod_ant1 = 0
|
||||
END IF
|
||||
|
||||
OUTPUT TO REPORT reporte_8(prt_datos8.*)
|
||||
END FOREACH
|
||||
FINISH REPORT reporte_8
|
||||
RUN "type C:\\archivo > %USPRINT%" END FUNCTION
|
||||
|
||||
# Rutina de Impresion de las informaciones
|
||||
REPORT reporte_8(x)
|
||||
|
||||
# Variable para tomar las informaciones
|
||||
DEFINE x RECORD
|
||||
mes SMALLINT,
|
||||
fecha1 DATE,
|
||||
fecha2 DATE,
|
||||
cantidad INTEGER,
|
||||
cantidad1 INTEGER,
|
||||
cantidad2 INTEGER,
|
||||
total_act DECIMAL(12,2),
|
||||
total_ant DECIMAL(12,2),
|
||||
total_ant1 DECIMAL(12,2),
|
||||
prod_act DECIMAL(12,3),
|
||||
prod_ant DECIMAL(12,3),
|
||||
prod_ant1 DECIMAL(12,3)
|
||||
END RECORD
|
||||
|
||||
DEFINE doble_on CHAR(3)
|
||||
DEFINE doble_off CHAR(3)
|
||||
DEFINE negrillas_on CHAR(6)
|
||||
DEFINE negrillas_off CHAR(6)
|
||||
DEFINE comp_on CHAR(2)
|
||||
DEFINE comp_off CHAR(2)
|
||||
DEFINE doce CHAR(2)
|
||||
DEFINE normal CHAR(3)
|
||||
DEFINE hora CHAR(5)
|
||||
|
||||
OUTPUT
|
||||
TOP MARGIN 0
|
||||
LEFT MARGIN 0
|
||||
BOTTOM MARGIN 2
|
||||
ORDER BY x.mes
|
||||
|
||||
FORMAT
|
||||
|
||||
PAGE HEADER
|
||||
|
||||
# Validacion de los caracteres ascii
|
||||
LET doble_on = ASCII 001
|
||||
LET doble_off = ASCII 002
|
||||
LET negrillas_on = ASCII 27, ASCII 098
|
||||
LET negrillas_off = ASCII 27, ASCII 099
|
||||
LET comp_on = ASCII 15
|
||||
LET comp_off = ASCII 18
|
||||
LET doce = ASCII 27, ASCII 77
|
||||
LET normal = ASCII 029
|
||||
LET hora = time
|
||||
|
||||
# Impresion de los encabezados
|
||||
PRINT comp_on
|
||||
PRINT COLUMN 1, "prprrp008",
|
||||
COLUMN 77, "R A Y . O . V A C D O M I N I C A N A, S. A.",
|
||||
COLUMN 182, "Pag. ",pageno using "###"
|
||||
PRINT COLUMN 77, " Sistema de Produccion",
|
||||
COLUMN 182, today using "dd/mm/yy"
|
||||
PRINT COLUMN 77, " Pilas Producidas Por Horas Directas ",
|
||||
COLUMN 185, hora
|
||||
SKIP 1 LINE
|
||||
PRINT COLUMN 1,
|
||||
"--------------------------------------------------------",
|
||||
"--------------------------------------------------------",
|
||||
"--------------------------------------------------------",
|
||||
"---------------------"
|
||||
|
||||
PRINT COLUMN 23, "--------------- ", ano1, " ---------------",
|
||||
COLUMN 77, "--------------- ", ano2, " ---------------",
|
||||
COLUMN 131, "--------------- ", ano3, " ---------------"
|
||||
|
||||
PRINT COLUMN 1,
|
||||
"--------------------------------------------------------",
|
||||
"--------------------------------------------------------",
|
||||
"--------------------------------------------------------",
|
||||
"---------------------"
|
||||
|
||||
PRINT COLUMN 1, "Mes ",
|
||||
COLUMN 20, "PROD. X 1000",
|
||||
COLUMN 39, " HORAS ",
|
||||
COLUMN 57, "PRODUCTIVIDAD",
|
||||
COLUMN 74, "PROD. X 1000",
|
||||
COLUMN 93, " HORAS ",
|
||||
COLUMN 111, "PRODUCTIVIDAD",
|
||||
COLUMN 128, "PROD. X 1000",
|
||||
COLUMN 147, " HORAS ",
|
||||
COLUMN 165, "PRODUCTIVIDAD"
|
||||
|
||||
PRINT COLUMN 1,
|
||||
"--------------------------------------------------------",
|
||||
"--------------------------------------------------------",
|
||||
"--------------------------------------------------------",
|
||||
"---------------------"
|
||||
|
||||
ON EVERY ROW
|
||||
|
||||
CASE
|
||||
WHEN x.mes = 1 LET mes_d = "ENERO" EXIT CASE
|
||||
WHEN x.mes = 2 LET mes_d = "FEBRERO" EXIT CASE
|
||||
WHEN x.mes = 3 LET mes_d = "MARZO" EXIT CASE
|
||||
WHEN x.mes = 4 LET mes_d = "ABRIL" EXIT CASE
|
||||
WHEN x.mes = 5 LET mes_d = "MAYO" EXIT CASE
|
||||
WHEN x.mes = 6 LET mes_d = "JUNIO" EXIT CASE
|
||||
WHEN x.mes = 7 LET mes_d = "JULIO" EXIT CASE
|
||||
WHEN x.mes = 8 LET mes_d = "AGOSTO" EXIT CASE
|
||||
WHEN x.mes = 9 LET mes_d = "SEPTIEMBRE" EXIT CASE
|
||||
WHEN x.mes = 10 LET mes_d = "OCTUBRE" EXIT CASE
|
||||
WHEN x.mes = 11 LET mes_d = "NOVIEMBRE" EXIT CASE
|
||||
WHEN x.mes = 12 LET mes_d = "DICIEMBRE" EXIT CASE
|
||||
END CASE
|
||||
|
||||
PRINT COLUMN 1, mes_d,
|
||||
COLUMN 21, x.cantidad USING "###,###,###",
|
||||
COLUMN 41, x.total_act USING "###,###.##",
|
||||
COLUMN 60, x.prod_act USING "##,###.###",
|
||||
COLUMN 75, x.cantidad1 USING "###,###,###",
|
||||
COLUMN 95, x.total_ant USING "###,###.##",
|
||||
COLUMN 114, x.prod_ant USING "##,###.###",
|
||||
COLUMN 129, x.cantidad2 USING "###,###,###",
|
||||
COLUMN 149, x.total_ant1 USING "###,###.##",
|
||||
COLUMN 168, x.prod_ant1 USING "##,###.###"
|
||||
|
||||
ON LAST ROW
|
||||
|
||||
PRINT COLUMN 1,
|
||||
"--------------------------------------------------------",
|
||||
"--------------------------------------------------------",
|
||||
"--------------------------------------------------------",
|
||||
"---------------------"
|
||||
|
||||
PRINT COLUMN 1, "TOTALES ---> ",
|
||||
COLUMN 21, sum(x.cantidad) USING "###,###,###",
|
||||
COLUMN 41, sum(x.total_act) USING "###,###.##",
|
||||
COLUMN 60, sum(x.prod_act) USING "##,###.###",
|
||||
COLUMN 75, sum(x.cantidad1) USING "###,###,###",
|
||||
COLUMN 95, sum(x.total_ant) USING "###,###.##",
|
||||
COLUMN 114, sum(x.prod_ant) USING "##,###.###",
|
||||
COLUMN 129, sum(x.cantidad2) USING "###,###,###",
|
||||
COLUMN 149, sum(x.total_ant1) USING "###,###.##",
|
||||
COLUMN 168, sum(x.prod_ant1) USING "##,###.###"
|
||||
|
||||
PRINT COLUMN 1,
|
||||
"--------------------------------------------------------",
|
||||
"--------------------------------------------------------",
|
||||
"--------------------------------------------------------",
|
||||
"---------------------"
|
||||
PRINT comp_off
|
||||
|
||||
END REPORT
|
||||
@@ -0,0 +1,257 @@
|
||||
{
|
||||
-------------------------------------------------------------------------------
|
||||
PROGRAMA : PRPRRP009
|
||||
OBJETIVO : Reporte Diario de Manofactura
|
||||
PROGRAMADOR : Tadeo A. Ferreras
|
||||
FECHA REALIZACION : Oct. 04, 1994
|
||||
-------------------------------------------------------------------------------
|
||||
}
|
||||
|
||||
GLOBALS "prprgb000.4gl"
|
||||
|
||||
DEFINE mes_d CHAR(10)
|
||||
DEFINE ano,mes SMALLINT
|
||||
DEFINE ano1,ano2 CHAR(4)
|
||||
DEFINE fecha,fecha1,fecha3,fecha4 DATE
|
||||
DEFINE cantidad2,cantidad3,cantidad4,total DECIMAL(12,2)
|
||||
DEFINE fecha_inicial,fecha_final DATE
|
||||
FUNCTION prprrp009()
|
||||
#WHENEVER ERROR CONTINUE
|
||||
|
||||
DEFINE prt_datos9 RECORD
|
||||
nomenclatura CHAR(10),
|
||||
cod_prod LIKE cttb00001.cod_prod,
|
||||
factor LIKE prtb00006.fact_conv,
|
||||
fecha DATE,
|
||||
cantidad INTEGER
|
||||
END RECORD
|
||||
|
||||
OPTIONS
|
||||
FORM LINE 8,
|
||||
ERROR LINE 23,
|
||||
COMMENT LINE 21
|
||||
|
||||
OPEN FORM prfmrp009 FROM "prfmrp009"
|
||||
DISPLAY FORM prfmrp009
|
||||
CALL pantalla()
|
||||
DISPLAY "prprrp009" AT 4,3
|
||||
DISPLAY "Reporte Diario de Manofactura" AT 6,25
|
||||
|
||||
LET tipo_papel = 1
|
||||
CALL msgrp000(tipo_papel)
|
||||
########### Captura de valores para el criterio de busqueda ############
|
||||
INPUT BY NAME fecha
|
||||
|
||||
AFTER FIELD fecha
|
||||
IF fecha IS NULL THEN
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD fecha
|
||||
END IF
|
||||
LET mes = MONTH(fecha)
|
||||
LET ano1 = YEAR(fecha) USING "&&&&"
|
||||
|
||||
SELECT a.fecha_inicio INTO fecha1 FROM prdtable a
|
||||
WHERE a.mes = mes AND a.ano = ano1
|
||||
|
||||
END INPUT
|
||||
|
||||
########### Facilidad para cancelar la variacioncon la tecla DELETE ####
|
||||
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = false
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
DECLARE busca CURSOR FOR
|
||||
SELECT c.nomenclatura,b.cod_prod,a.fact_conv,b.fecha,SUM(b.cantidad)
|
||||
FROM cttb00003 b,cttb00001 c,OUTER prtb00006 a
|
||||
WHERE b.cod_prod = c.cod_prod AND b.cod_prod = a.cod_prod AND
|
||||
YEAR(b.fecha) = YEAR(fecha) AND b.fecha <= fecha AND
|
||||
b.status_t IS NULL AND b.cod_prod BETWEEN 700 AND 1399
|
||||
GROUP BY 1,2,3,4
|
||||
|
||||
DISPLAY "Buscando Informacion... Espere Por Favor" AT 19,14
|
||||
|
||||
START REPORT reporte_9 TO "C:\\archivo"
|
||||
DISPLAY "Impresion En Proceso... Espere Por Favor" AT 19,14
|
||||
|
||||
FOREACH busca INTO prt_datos9.*
|
||||
|
||||
IF prt_datos9.factor IS NULL THEN
|
||||
LET prt_datos9.factor = 1
|
||||
END IF
|
||||
IF prt_datos9.cantidad <> 0 THEN
|
||||
LET prt_datos9.cantidad = prt_datos9.cantidad*prt_datos9.factor
|
||||
END IF
|
||||
|
||||
DISPLAY " " AT 20,14
|
||||
DISPLAY prt_datos9.nomenclatura AT 20,14
|
||||
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = FALSE
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
OUTPUT TO REPORT reporte_9(prt_datos9.*)
|
||||
END FOREACH
|
||||
FINISH REPORT reporte_9
|
||||
RUN "type C:\\archivo > %USPRINT%" END FUNCTION
|
||||
|
||||
# Rutina de Impresion de las informaciones
|
||||
REPORT reporte_9(x)
|
||||
|
||||
# Variable para tomar las informaciones
|
||||
DEFINE x RECORD
|
||||
nomenclatura CHAR(10),
|
||||
cod_prod LIKE cttb00001.cod_prod,
|
||||
factor LIKE prtb00006.fact_conv,
|
||||
fecha DATE,
|
||||
cantidad INTEGER
|
||||
END RECORD
|
||||
|
||||
DEFINE doble_on CHAR(3)
|
||||
DEFINE doble_off CHAR(3)
|
||||
DEFINE negrillas_on CHAR(6)
|
||||
DEFINE negrillas_off CHAR(6)
|
||||
DEFINE comp_on CHAR(2)
|
||||
DEFINE comp_off CHAR(2)
|
||||
DEFINE doce CHAR(2)
|
||||
DEFINE normal CHAR(3)
|
||||
DEFINE hora CHAR(5)
|
||||
|
||||
OUTPUT
|
||||
TOP MARGIN 0
|
||||
LEFT MARGIN 0
|
||||
BOTTOM MARGIN 2
|
||||
ORDER BY x.nomenclatura,x.cod_prod,x.fecha
|
||||
|
||||
FORMAT
|
||||
|
||||
PAGE HEADER
|
||||
|
||||
# Validacion de los caracteres ascii
|
||||
LET doble_on = ASCII 001
|
||||
LET doble_off = ASCII 002
|
||||
LET negrillas_on = ASCII 27, ASCII 098
|
||||
LET negrillas_off = ASCII 27, ASCII 099
|
||||
LET comp_on = ASCII 15
|
||||
LET comp_off = ASCII 18
|
||||
LET doce = ASCII 27, ASCII 77
|
||||
LET normal = ASCII 029
|
||||
LET hora = time
|
||||
|
||||
# Impresion de los encabezados
|
||||
PRINT comp_on
|
||||
PRINT COLUMN 1, "prprrp009",
|
||||
COLUMN 33, "R A Y . O . V A C D O M I N I C A N A, S. A.",
|
||||
COLUMN 103, "Pag. ", pageno using "###"
|
||||
PRINT COLUMN 33, " Sistema de Produccion",
|
||||
COLUMN 103, today using "dd/mm/yy"
|
||||
PRINT COLUMN 33, " Reporte Diario de Manofactura",
|
||||
COLUMN 106, hora
|
||||
SKIP 1 LINE
|
||||
PRINT COLUMN 1, "FECHA: ",fecha USING "dd/mm/yy"
|
||||
PRINT COLUMN 1,
|
||||
"--------------------------------------------------------",
|
||||
"--------------------------------------------------------"
|
||||
|
||||
PRINT COLUMN 18, "| PILAS PRODUCIDAS ",
|
||||
COLUMN 54, "| PILAS CERRADAS ",
|
||||
COLUMN 90, "| PROM. DIA PROD. |"
|
||||
|
||||
PRINT COLUMN 1,
|
||||
"--------------------------------------------------------",
|
||||
"--------------------------------------------------------"
|
||||
|
||||
PRINT COLUMN 1, "TIPO",
|
||||
COLUMN 18, "| DIARIO | ACUM. MES | ACUM. ANO ",
|
||||
COLUMN 54, "| DIARIO | ACUM. MES | ACUM. ANO ",
|
||||
COLUMN 90, "|ACUM. MES.|ACUM. ANO.|"
|
||||
|
||||
PRINT COLUMN 1,
|
||||
"--------------------------------------------------------",
|
||||
"--------------------------------------------------------"
|
||||
|
||||
AFTER GROUP OF x.nomenclatura
|
||||
|
||||
LET cantidad2 = GROUP SUM(x.cantidad)
|
||||
WHERE x.fecha = fecha AND x.cod_prod >= 1100
|
||||
LET cantidad3 = GROUP SUM(x.cantidad)
|
||||
WHERE x.fecha >= fecha1 AND x.fecha <= fecha AND
|
||||
x.cod_prod >= 1100
|
||||
LET cantidad4 = GROUP SUM(x.cantidad)
|
||||
WHERE x.fecha <= fecha AND x.cod_prod >= 1100
|
||||
|
||||
PRINT COLUMN 1, x.nomenclatura CLIPPED,
|
||||
COLUMN 18, "|",GROUP SUM(x.cantidad)
|
||||
WHERE x.fecha = fecha AND x.cod_prod >= 1100
|
||||
USING "###,###,###",
|
||||
"|",GROUP SUM(x.cantidad)
|
||||
WHERE x.fecha >= fecha1 AND x.cod_prod >= 1100
|
||||
AND x.fecha <= fecha USING "###,###,###",
|
||||
"|",GROUP SUM(x.cantidad)
|
||||
WHERE x.fecha <= fecha AND x.cod_prod >= 1100
|
||||
USING "###,###,###",
|
||||
COLUMN 54, "|",GROUP SUM(x.cantidad)
|
||||
WHERE x.fecha = fecha AND x.cod_prod <= 999
|
||||
USING "###,###,###",
|
||||
"|",GROUP SUM(x.cantidad)
|
||||
WHERE x.fecha >= fecha1 AND x.fecha <= fecha
|
||||
AND x.cod_prod <= 999
|
||||
USING "###,###,###",
|
||||
"|",GROUP SUM(x.cantidad)
|
||||
WHERE x.fecha <= fecha AND x.cod_prod <= 999
|
||||
USING "###,###,###",
|
||||
COLUMN 90, "|",(cantidad2/cantidad3)*100 USING "###,###.##",
|
||||
"|",(cantidad2/cantidad4)*100 USING "###,###.##","|"
|
||||
|
||||
ON LAST ROW
|
||||
|
||||
PRINT COLUMN 1,
|
||||
"--------------------------------------------------------",
|
||||
"--------------------------------------------------------"
|
||||
|
||||
LET cantidad2 = SUM(x.cantidad)
|
||||
WHERE x.fecha = fecha AND x.cod_prod >= 1100
|
||||
LET cantidad3 = SUM(x.cantidad)
|
||||
WHERE x.fecha >= fecha1 AND x.fecha <= fecha AND
|
||||
x.cod_prod >= 1100
|
||||
LET cantidad4 = SUM(x.cantidad)
|
||||
WHERE x.fecha <= fecha AND x.cod_prod >= 1100
|
||||
|
||||
PRINT COLUMN 1, "TOTAL --->",
|
||||
COLUMN 18, "|",SUM(x.cantidad)
|
||||
WHERE x.fecha = fecha AND x.cod_prod >= 1100
|
||||
USING "###,###,###",
|
||||
"|",SUM(x.cantidad)
|
||||
WHERE x.fecha >= fecha1 AND x.fecha <= fecha AND
|
||||
x.cod_prod >= 1100
|
||||
USING "###,###,###",
|
||||
"|",SUM(x.cantidad)
|
||||
WHERE x.fecha <= fecha AND x.cod_prod >= 1100
|
||||
USING "###,###,###",
|
||||
COLUMN 54, "|",SUM(x.cantidad)
|
||||
WHERE x.fecha = fecha AND x.cod_prod <= 999
|
||||
USING "###,###,###",
|
||||
"|",SUM(x.cantidad)
|
||||
WHERE x.fecha >= fecha1 AND x.fecha <= fecha AND
|
||||
x.cod_prod <= 999
|
||||
USING "###,###,###",
|
||||
"|",SUM(x.cantidad)
|
||||
WHERE x.fecha <= fecha AND x.cod_prod <= 999
|
||||
USING "###,###,###",
|
||||
COLUMN 90, "|",(cantidad2/cantidad3)*100 USING "###,###.##",
|
||||
"|",(cantidad2/cantidad4)*100 USING "###,###.##","|"
|
||||
|
||||
PRINT COLUMN 1,
|
||||
"--------------------------------------------------------",
|
||||
"--------------------------------------------------------"
|
||||
|
||||
PRINT comp_off
|
||||
|
||||
END REPORT
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user