685 lines
24 KiB
Plaintext
685 lines
24 KiB
Plaintext
{
|
|
-------------------------------------------------------------------------------
|
|
PROGRAMA : EDPRRP071
|
|
OBJETIVO : Transferencia de Inventario a Los Vendedores
|
|
PROGRAMADOR : Juan F. Soto
|
|
FECHA REALIZACION : Septiembre 19, 1996.
|
|
-------------------------------------------------------------------------------
|
|
}
|
|
DATABASE rayovac
|
|
|
|
GLOBALS
|
|
DEFINE tiene CHAR(1)
|
|
DEFINE mes CHAR(2)
|
|
DEFINE e36,e31,i1,idx,numero_msg,tipo_papel SMALLINT
|
|
DEFINE salir2,salir,salir1,primera CHAR(1)
|
|
|
|
|
|
DEFINE reporte_20 RECORD
|
|
cod_mov SMALLINT,
|
|
sec_cliente INTEGER,
|
|
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 CHAR(30),
|
|
unidad_med CHAR(4),
|
|
cantidad INTEGER,
|
|
cuenta_no LIKE vetb00033.cuenta_no,
|
|
costo DECIMAL(8,4),
|
|
cod_g LIKE intb00001.cod_n,
|
|
codigo CHAR(10)
|
|
END RECORD
|
|
|
|
DEFINE costos RECORD
|
|
cod_n SMALLINT,
|
|
cod_grupo SMALLINT,
|
|
cod_tipo SMALLINT,
|
|
cod_sec SMALLINT,
|
|
material LIKE iptb00004.material,
|
|
labor LIKE iptb00004.labor,
|
|
gasto_ind LIKE iptb00004.gasto_ind
|
|
END RECORD
|
|
|
|
DEFINE actual RECORD
|
|
cod_n SMALLINT,
|
|
cod_grupo SMALLINT,
|
|
cod_tipo SMALLINT,
|
|
cod_sec SMALLINT,
|
|
descrip_esp LIKE intb00001.descrip_esp,
|
|
unidad_med LIKE intb00001.unidad_med,
|
|
balance LIKE iptb00006.cantidad_2
|
|
END RECORD
|
|
|
|
DEFINE anterior RECORD
|
|
cod_n SMALLINT,
|
|
cod_grupo SMALLINT,
|
|
cod_tipo SMALLINT,
|
|
cod_sec SMALLINT,
|
|
balance LIKE iptb00006.cantidad_2
|
|
END RECORD
|
|
|
|
DEFINE selec,select_cost,select_act,select_ant CHAR(500)
|
|
|
|
DEFINE entrada71_b ARRAY [200] OF RECORD
|
|
cuenta_no LIKE cgtb00004.cuenta_no,
|
|
descripcion CHAR(25),
|
|
debito LIKE cgtb00004.debito,
|
|
credito LIKE cgtb00004.credito
|
|
END RECORD
|
|
|
|
DEFINE entrada71 ARRAY [200] OF RECORD
|
|
cuenta_no LIKE cgtb00004.cuenta_no,
|
|
descripcion CHAR(25),
|
|
debito LIKE cgtb00004.debito,
|
|
credito LIKE cgtb00004.credito
|
|
END RECORD,
|
|
entra CHAR(14),
|
|
entra1 CHAR(5),
|
|
fecha1,fecha2,p_fecha DATE,
|
|
afecta CHAR(1),
|
|
detalle CHAR(30)
|
|
|
|
END GLOBALS
|
|
MAIN
|
|
CALL edprrp071()
|
|
END MAIN
|
|
|
|
FUNCTION edprrp071()
|
|
# WHENEVER ERROR CONTINUE
|
|
|
|
OPTIONS
|
|
FORM LINE 8,
|
|
ERROR LINE 23,
|
|
COMMENT LINE 21
|
|
|
|
OPEN FORM edfmrp071 FROM "edfmrp071"
|
|
DISPLAY FORM edfmrp071
|
|
CALL pantalla()
|
|
DISPLAY "edprrp071" AT 4,3
|
|
DISPLAY "Transferencia de Inventario a Los Vendedores" AT 6,23
|
|
|
|
LET tipo_papel = 1
|
|
CALL msgrp000(tipo_papel)
|
|
|
|
INPUT BY NAME entra,fecha1,fecha2,afecta,detalle
|
|
|
|
AFTER FIELD entra
|
|
SELECT unique ref FROM cgtb00004
|
|
WHERE ref = entra
|
|
|
|
IF STATUS != NOTFOUND THEN
|
|
ERROR "(12) REGISTRO EXISTE"
|
|
NEXT FIELD entra
|
|
END IF
|
|
|
|
LET entra1 = entra
|
|
|
|
BEFORE FIELD fecha1
|
|
SELECT MAX(fecha) INTO p_fecha FROM cgtb00004
|
|
WHERE ref[1,5] = entra1
|
|
LET fecha1 = p_fecha + 1
|
|
|
|
DISPLAY BY NAME fecha1
|
|
|
|
AFTER FIELD fecha1
|
|
IF fecha1 IS NULL THEN
|
|
ERROR "(16) CAMPO EN BLANCO"
|
|
NEXT FIELD fecha1
|
|
END IF
|
|
|
|
IF fecha1 <= p_fecha THEN
|
|
ERROR "(179) EXISTE ENTRADA DE DIARIO CON ESA FECHA"
|
|
NEXT FIELD fecha1
|
|
END IF
|
|
|
|
AFTER FIELD fecha2
|
|
IF fecha2 is null THEN
|
|
ERROR "(16) CAMPO EN BLANCO"
|
|
NEXT FIELD fecha2
|
|
END IF
|
|
|
|
IF fecha1 > fecha2 THEN
|
|
ERROR "(149) FECHA NO PUEDE SER MAYOR QUE LA ANTERIOR"
|
|
NEXT FIELD fecha1
|
|
END IF
|
|
|
|
###### Selecionando en rango de fecha de la tabla de periodo para el fecha2
|
|
|
|
SELECT UNIQUE ref FROM cgtb00004 where ref = entra
|
|
|
|
IF STATUS != NOTFOUND THEN
|
|
ERROR "(12) REGISTRO EXISTE"
|
|
NEXT FIELD fecha2
|
|
END IF
|
|
|
|
END INPUT
|
|
IF int_flag THEN
|
|
LET numero_msg = 2
|
|
CALL msg(numero_msg)
|
|
LET int_flag = false
|
|
RETURN
|
|
END IF
|
|
|
|
LET selec =
|
|
"SELECT a.cod_mov,a.cod_sp_sec,a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec,",
|
|
"b.descrip_esp, ",
|
|
" b.unidad_med,a.cantidad_2,d.cuenta_no ",
|
|
"FROM iptb00017 a,intb00001 b, vetb00033 d ",
|
|
"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 ",
|
|
" a.cod_sp_sec = d.sec_cliente AND ",
|
|
" a.fecha BETWEEN '010101' AND ?) AND ",
|
|
" (a.cod_mov IN (33,34)) AND a.status_t IS NULL ",
|
|
" ORDER BY 2,3,4,5,6"
|
|
|
|
DISPLAY "<< Estoy Buscando Informacion... Espere >>"
|
|
AT 19,14 ATTRIBUTE (REVERSE,BOLD)
|
|
|
|
PREPARE comando FROM selec
|
|
DECLARE busca CURSOR FOR comando
|
|
OPEN busca USING fecha2
|
|
|
|
DISPLAY "<< Reporte Generandose ... Por Favor Espere. >>"
|
|
AT 19,14 ATTRIBUTE (REVERSE)
|
|
|
|
START REPORT reprte20 TO PIPE "lp -dcentral"
|
|
|
|
LET idx = 1
|
|
WHILE status != notfound
|
|
FETCH busca INTO reporte_20.*
|
|
IF status = notfound THEN
|
|
EXIT WHILE
|
|
END IF
|
|
|
|
IF reporte_20.cod_n = 3 THEN
|
|
LET reporte_20.cod_g = 3
|
|
ELSE
|
|
LET reporte_20.cod_g = 6
|
|
END IF
|
|
|
|
LET reporte_20.codigo = reporte_20.cod_n USING "&",
|
|
reporte_20.cod_grupo USING "&",
|
|
reporte_20.cod_tipo USING "&&",
|
|
reporte_20.cod_sec USING "&&&"
|
|
LET tiene = "S"
|
|
|
|
SELECT material+labor+gasto_ind,max(mes_ini),max(mes_fin)
|
|
INTO reporte_20.costo
|
|
FROM iptb00004
|
|
WHERE (cod_n = reporte_20.cod_n and
|
|
cod_grupo = reporte_20.cod_grupo and
|
|
cod_tipo = reporte_20.cod_tipo and
|
|
cod_sec = reporte_20.cod_sec and
|
|
ventas = "1" and
|
|
ano = YEAR(fecha2)) and
|
|
status_t is null
|
|
GROUP BY 1
|
|
|
|
IF STATUS = NOTFOUND THEN
|
|
LET reporte_20.costo = 0
|
|
LET tiene = "N"
|
|
END IF
|
|
|
|
OUTPUT TO REPORT reprte20(reporte_20.*)
|
|
END WHILE
|
|
FINISH REPORT reprte20
|
|
CLEAR SCREEN
|
|
RUN "type C:\\archivo > %USPRINT%" END FUNCTION
|
|
|
|
REPORT reprte20(x)
|
|
DEFINE x RECORD
|
|
cod_mov SMALLINT,
|
|
sec_cliente INTEGER,
|
|
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 CHAR(30),
|
|
unidad_med CHAR(4),
|
|
cantidad INTEGER,
|
|
cuenta_no LIKE vetb00033.cuenta_no,
|
|
costo DECIMAL(8,4),
|
|
cod_g LIKE intb00001.cod_n,
|
|
codigo CHAR(10)
|
|
END RECORD,
|
|
i,salida,entrada INTEGER,
|
|
dife,t_debito,t_credito,c_salida,c_entrada DECIMAL(12,3),
|
|
p_descripcion CHAR(25)
|
|
|
|
|
|
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(3)
|
|
DEFINE doce CHAR(3)
|
|
DEFINE hora CHAR(5)
|
|
DEFINE descr CHAR(15)
|
|
DEFINE nombre1 CHAR(30)
|
|
OUTPUT
|
|
TOP MARGIN 0
|
|
LEFT MARGIN 0
|
|
BOTTOM MARGIN 2
|
|
#ORDER BY x.sec_cliente,x.cod_g,x.codigo
|
|
|
|
FORMAT
|
|
PAGE HEADER
|
|
LET doble_on = ASCII 001
|
|
LET doble_off = ASCII 002
|
|
LET negrillas_on = ASCII 027, ASCII 098
|
|
LET negrillas_off = ASCII 027, ASCII 099
|
|
LET comp_on = ASCII 31
|
|
LET comp_off = ASCII 029
|
|
LET doce = ASCII 030
|
|
LET hora = time
|
|
|
|
PRINT COLUMN 1,comp_on
|
|
PRINT COLUMN 1, "edprrp071",
|
|
COLUMN 49, "R A Y . O . V A C D O M I N I C A N A, S. A.",
|
|
COLUMN 137, "Pag. ",pageno using "###"
|
|
PRINT COLUMN 49, " Sistema de Contabilidad General",
|
|
COLUMN 137, today using "dd/mm/yy"
|
|
PRINT COLUMN 49, " Transferencia de Inventario A Los Vendedores",
|
|
COLUMN 140, hora
|
|
|
|
BEFORE GROUP OF x.sec_cliente
|
|
SKIP 1 LINES
|
|
PRINT COLUMN 1,"Rango de Fecha: Del ", fecha1 USING "dd/mm/yy",
|
|
" Al ",fecha2 USING "dd/mm/yy"
|
|
PRINT COLUMN 1,"--------------------------------------------------",
|
|
"--------------------------------------------------",
|
|
"--------------------------------------------"
|
|
|
|
PRINT COLUMN 96, "Valor",
|
|
COLUMN 109, "Valor",
|
|
COLUMN 118, "Diferencia",
|
|
COLUMN 135, "Diferencia"
|
|
|
|
PRINT COLUMN 1, "Codigo",
|
|
COLUMN 53, "Salida",
|
|
COLUMN 65, "Entrada",
|
|
COLUMN 85, "Std.",
|
|
COLUMN 96, "Salida",
|
|
COLUMN 109, "Entrada",
|
|
COLUMN 118, "Unidad",
|
|
COLUMN 135, "Valor"
|
|
|
|
PRINT COLUMN 1,"--------------------------------------------------",
|
|
"--------------------------------------------------",
|
|
"--------------------------------------------"
|
|
SKIP 1 LINE
|
|
|
|
SELECT a.nombre INTO nombre1 FROM vetb00004 a
|
|
WHERE a.sec_cliente = x.sec_cliente
|
|
|
|
PRINT COLUMN 1, "Cliente: ","(",x.sec_cliente USING "<<<<",")",
|
|
nombre1 CLIPPED
|
|
|
|
BEFORE GROUP OF x.cod_g
|
|
IF x.cod_g = 3 THEN
|
|
LET descr = "RAY.O.VAC"
|
|
ELSE
|
|
LET descr = "DISTRIBIDORA"
|
|
END IF
|
|
|
|
PRINT COLUMN 1, descr
|
|
|
|
AFTER GROUP OF x.codigo
|
|
LET entrada = GROUP SUM(x.cantidad) WHERE x.cod_mov = 33
|
|
LET salida = GROUP SUM(x.cantidad) WHERE x.cod_mov = 34
|
|
|
|
LET c_entrada = GROUP SUM(x.cantidad * x.costo) WHERE x.cod_mov = 33
|
|
LET c_salida = GROUP SUM(x.cantidad * x.costo) WHERE x.cod_mov = 34
|
|
IF entrada IS NULL THEN
|
|
LET entrada = 0
|
|
END IF
|
|
IF salida IS NULL THEN
|
|
LET salida = 0
|
|
END IF
|
|
IF c_entrada IS NULL THEN
|
|
LET c_entrada = 0
|
|
END IF
|
|
IF c_salida IS NULL THEN
|
|
LET c_salida = 0
|
|
END IF
|
|
PRINT COLUMN 1, x.cod_n USING "&","-",x.cod_grupo USING "&","-",
|
|
x.cod_tipo USING "&&","-",x.cod_sec USING "&&&",
|
|
" ",x.descrip_esp," ",x.unidad_med;
|
|
IF tiene = "S" THEN
|
|
PRINT COLUMN 47, salida USING "###,###,###",
|
|
COLUMN 62, entrada USING "###,###,###",
|
|
COLUMN 74, x.costo USING "#,###,###.####",
|
|
COLUMN 89, c_salida USING "##,###,###.##",
|
|
COLUMN 103, c_entrada USING "##,###,###.##",
|
|
COLUMN 117, salida + entrada USING "###,###,###",
|
|
COLUMN 131, c_salida + c_entrada USING "###,###,###.##"
|
|
ELSE
|
|
PRINT COLUMN 47, "N O T I E N E C O S T O S T A N D A R D"
|
|
END IF
|
|
AFTER GROUP OF x.cod_g
|
|
|
|
LET entrada = GROUP SUM(x.cantidad) WHERE x.cod_mov = 33
|
|
LET salida = GROUP SUM(x.cantidad) WHERE x.cod_mov = 34
|
|
|
|
LET c_entrada = GROUP SUM(x.cantidad * x.costo) WHERE x.cod_mov = 33
|
|
LET c_salida = GROUP SUM(x.cantidad * x.costo) WHERE x.cod_mov = 34
|
|
IF entrada IS NULL THEN
|
|
LET entrada = 0
|
|
END IF
|
|
IF salida IS NULL THEN
|
|
LET salida = 0
|
|
END IF
|
|
IF c_entrada IS NULL THEN
|
|
LET c_entrada = 0
|
|
END IF
|
|
IF c_salida IS NULL THEN
|
|
LET c_salida = 0
|
|
END IF
|
|
SKIP 1 LINE
|
|
PRINT COLUMN 20, "Total Compania",
|
|
COLUMN 48, salida USING "###,###,###",
|
|
COLUMN 62, entrada USING "###,###,###",
|
|
COLUMN 89, c_salida USING "##,###,###.##",
|
|
COLUMN 103, c_entrada USING "##,###,###.##",
|
|
COLUMN 117, salida + entrada USING "###,###,###",
|
|
COLUMN 131, c_salida + c_entrada USING "###,###,###.##"
|
|
LET dife = c_salida + c_entrada
|
|
IF dife < 0 THEN
|
|
LET dife = dife * - 1
|
|
END IF
|
|
IF dife > 0 THEN
|
|
IF x.cod_g = 3 THEN
|
|
SELECT a.descripcion INTO p_descripcion
|
|
FROM cgtb00001 a
|
|
WHERE a.cuenta_no = "1131"
|
|
|
|
LET entrada71[idx].cuenta_no = "1131"
|
|
LET entrada71[idx].descripcion = p_descripcion
|
|
LET entrada71[idx].credito = c_salida + c_entrada
|
|
LET idx = idx + 1
|
|
ELSE
|
|
SELECT a.descripcion INTO p_descripcion
|
|
FROM cgtb00001 a
|
|
WHERE a.cuenta_no = "1136"
|
|
|
|
LET entrada71[idx].cuenta_no = "1136"
|
|
LET entrada71[idx].descripcion = p_descripcion
|
|
LET entrada71[idx].credito = c_salida + c_entrada
|
|
LET idx = idx + 1
|
|
END IF
|
|
END IF
|
|
SKIP 1 LINE
|
|
|
|
AFTER GROUP OF x.sec_cliente
|
|
LET entrada = GROUP SUM(x.cantidad) WHERE x.cod_mov = 33
|
|
LET salida = GROUP SUM(x.cantidad) WHERE x.cod_mov = 34
|
|
|
|
LET c_entrada = GROUP SUM(x.cantidad * x.costo) WHERE x.cod_mov = 33
|
|
LET c_salida = GROUP SUM(x.cantidad * x.costo) WHERE x.cod_mov = 34
|
|
|
|
IF entrada IS NULL THEN
|
|
LET entrada = 0
|
|
END IF
|
|
IF salida IS NULL THEN
|
|
LET salida = 0
|
|
END IF
|
|
IF c_entrada IS NULL THEN
|
|
LET c_entrada = 0
|
|
END IF
|
|
IF c_salida IS NULL THEN
|
|
LET c_salida = 0
|
|
END IF
|
|
PRINT COLUMN 20, "Total Cliente-Vendedor",
|
|
COLUMN 48, salida USING "###,###,###",
|
|
COLUMN 62, entrada USING "###,###,###",
|
|
COLUMN 89, c_salida USING "##,###,###.##",
|
|
COLUMN 103, c_entrada USING "##,###,###.##",
|
|
COLUMN 117, salida + entrada USING "###,###,###",
|
|
COLUMN 131, c_salida + c_entrada USING "###,###,###.##",
|
|
x.cuenta_no
|
|
LET dife = c_salida + c_entrada
|
|
IF dife < 0 THEN
|
|
LET dife = dife * -1
|
|
END IF
|
|
IF dife > 0 THEN
|
|
SELECT a.descripcion INTO p_descripcion
|
|
FROM cgtb00001 a
|
|
WHERE a.cuenta_no = x.cuenta_no
|
|
|
|
LET entrada71[idx].cuenta_no = x.cuenta_no
|
|
LET entrada71[idx].descripcion = p_descripcion
|
|
LET entrada71[idx].debito = c_salida + c_entrada
|
|
LET idx = idx + 1
|
|
END IF
|
|
SKIP TO TOP OF PAGE
|
|
|
|
ON LAST ROW
|
|
|
|
LET entrada = SUM(x.cantidad) WHERE x.cod_mov = 33
|
|
LET salida = SUM(x.cantidad) WHERE x.cod_mov = 34
|
|
|
|
LET c_entrada = SUM(x.cantidad * x.costo) WHERE x.cod_mov = 33
|
|
LET c_salida = SUM(x.cantidad * x.costo) WHERE x.cod_mov = 34
|
|
|
|
PRINT COLUMN 20, "Total General ",
|
|
COLUMN 48, salida USING "###,###,###",
|
|
COLUMN 62, entrada USING "###,###,###",
|
|
COLUMN 89, c_salida USING "##,###,###.##",
|
|
COLUMN 103, c_entrada USING "##,###,###.##",
|
|
COLUMN 117, salida + entrada USING "###,###,###",
|
|
COLUMN 131, c_salida + c_entrada USING "###,###,###.##"
|
|
|
|
PRINT COLUMN 1,comp_off
|
|
SKIP TO TOP OF PAGE
|
|
|
|
PRINT comp_off,doce
|
|
SKIP 1 LINES
|
|
|
|
PRINT COLUMN 01,"Entrada de Diario No.",
|
|
doble_on,entra,doble_off
|
|
|
|
PRINT COLUMN 1,"Observaciones: _____________________________________"
|
|
PRINT COLUMN 1," _____________________________________"
|
|
|
|
|
|
PRINT COLUMN 1,
|
|
"--------------------------------------------------",
|
|
"--------------------------------------------------"
|
|
PRINT COLUMN 2, "Cuenta ",
|
|
COLUMN 11, "Dpto",
|
|
COLUMN 17, "Catalogo",
|
|
COLUMN 26, "Refe",
|
|
COLUMN 41, "Concepto",
|
|
COLUMN 75, "Debe",
|
|
COLUMN 93, "Haber",negrillas_off
|
|
|
|
PRINT COLUMN 1,
|
|
"--------------------------------------------------",
|
|
"--------------------------------------------------"
|
|
IF t_debito IS NULL THEN
|
|
LET t_debito = 0
|
|
END IF
|
|
IF t_credito IS NULL THEN
|
|
LET t_credito = 0
|
|
END IF
|
|
|
|
LET i1 = 1
|
|
FOR i = 1 TO idx
|
|
IF entrada71[i].debito IS NOT NULL THEN
|
|
LET entrada71_b[i1].cuenta_no = entrada71[i].cuenta_no
|
|
LET entrada71_b[i1].descripcion = entrada71[i].descripcion
|
|
LET entrada71_b[i1].debito = entrada71[i].debito
|
|
LET i1 = i1 + 1
|
|
END IF
|
|
IF entrada71[i].cuenta_no = "1131" THEN
|
|
LET e31 = i
|
|
END IF
|
|
IF entrada71[i].cuenta_no = "1136" THEN
|
|
LET e36 = i
|
|
END IF
|
|
END FOR
|
|
|
|
FOR i = 1 TO idx
|
|
IF entrada71[i].credito IS NOT NULL THEN
|
|
IF entrada71[i].cuenta_no = "1131" THEN
|
|
IF entrada71[i].credito < 0 THEN
|
|
LET entrada71[i].credito = entrada71[i].credito * -1
|
|
END IF
|
|
IF entrada71_b[e31].credito IS NULL THEN
|
|
LET entrada71_b[e31].credito = 0
|
|
END IF
|
|
LET entrada71_b[e31].cuenta_no = entrada71[i].cuenta_no
|
|
LET entrada71_b[e31].descripcion =
|
|
entrada71[i].descripcion
|
|
LET entrada71_b[e31].credito = entrada71[i].credito +
|
|
entrada71_b[e31].credito
|
|
END IF
|
|
IF entrada71[i].cuenta_no = "1136" THEN
|
|
IF entrada71[i].credito < 0 THEN
|
|
LET entrada71[i].credito = entrada71[i].credito * -1
|
|
END IF
|
|
IF entrada71_b[e36].credito IS NULL THEN
|
|
LET entrada71_b[e36].credito = 0
|
|
END IF
|
|
LET entrada71_b[e36].cuenta_no = entrada71[i].cuenta_no
|
|
LET entrada71_b[e36].descripcion =
|
|
entrada71[i].descripcion
|
|
LET entrada71_b[e36].credito = entrada71[i].credito +
|
|
entrada71_b[e36].credito
|
|
END IF
|
|
END IF
|
|
END FOR
|
|
FOR i = 1 TO idx
|
|
LET entrada71[i].cuenta_no = null
|
|
LET entrada71[i].descripcion = null
|
|
LET entrada71[i].debito = null
|
|
LET entrada71[i].credito = null
|
|
END FOR
|
|
FOR i = 1 TO idx
|
|
LET entrada71[i].cuenta_no = entrada71_b[i].cuenta_no
|
|
LET entrada71[i].descripcion = entrada71_b[i].descripcion
|
|
LET entrada71[i].debito = entrada71_b[i].debito
|
|
LET entrada71[i].credito = entrada71_b[i].credito
|
|
END FOR
|
|
FOR i =1 TO idx
|
|
IF entrada71[i].cuenta_no IS NOT NULL THEN
|
|
PRINT COLUMN 2, entrada71[i].cuenta_no,
|
|
COLUMN 41, entrada71[i].descripcion,
|
|
COLUMN 68, entrada71[i].debito USING "##,###,###.##",
|
|
COLUMN 85, entrada71[i].credito USING "##,###,###.##"
|
|
IF entrada71[i].credito < 0 THEN
|
|
LET entrada71[i].credito = entrada71[i].credito * -1
|
|
END IF
|
|
IF entrada71[i].debito < 0 THEN
|
|
LET entrada71[i].debito = entrada71[i].debito * -1
|
|
END IF
|
|
IF entrada71[i].debito IS NOT NULL THEN
|
|
LET t_debito = t_debito + entrada71[i].debito
|
|
END IF
|
|
IF entrada71[i].credito IS NOT NULL THEN
|
|
LET t_credito= t_credito+ entrada71[i].credito
|
|
END IF
|
|
IF entrada71[i].debito IS NULL THEN
|
|
LET entrada71[i].debito = 0
|
|
END IF
|
|
IF entrada71[i].credito IS NULL THEN
|
|
LET entrada71[i].credito = 0
|
|
END IF
|
|
IF afecta = "S" THEN
|
|
IF entrada71[i].debito > 0 or entrada71[i].credito > 0
|
|
THEN
|
|
INSERT INTO cgtb00004
|
|
VALUES(fecha2,1,entra,
|
|
entrada71[i].cuenta_no,
|
|
null,null,
|
|
null,null,null,
|
|
detalle,null,
|
|
entrada71[i].debito,
|
|
entrada71[i].credito,null,user,
|
|
current,null,null)
|
|
END IF
|
|
END IF
|
|
END IF
|
|
END FOR
|
|
|
|
SKIP 1 LINE
|
|
PRINT COLUMN 68, "------------",
|
|
COLUMN 85, "------------"
|
|
|
|
PRINT COLUMN "Totales---> ",
|
|
COLUMN 68, t_debito USING "##,###,###.##",
|
|
COLUMN 85, t_credito USING "##,###,###.##"
|
|
LET t_debito = 0
|
|
LET t_credito = 0
|
|
END REPORT
|
|
|
|
{
|
|
Esta funcion se utiliza para desplegar mensajes de los reportes de
|
|
los sistemas de Ray-O-Vac Dominicana.
|
|
|
|
Realizada por Lic. Abner Montalvo y Johnny Soto Agosto 21, 1992
|
|
}
|
|
|
|
FUNCTION msgrp000(tipo_papel)
|
|
DEFINE tipo_papel SMALLINT,
|
|
longitud CHAR(11),
|
|
linea_papel CHAR(50)
|
|
|
|
CASE
|
|
WHEN tipo_papel = 1
|
|
LET longitud = " 9 1/2 x 11"
|
|
WHEN tipo_papel = 2
|
|
LET longitud = "14 7/8 x 11"
|
|
END CASE
|
|
|
|
LET linea_papel = "Coloque papel ",longitud," en la impresora."
|
|
DISPLAY linea_papel
|
|
AT 15,14
|
|
DISPLAY "Asegurese de que la impresora este encendida."
|
|
AT 16,14
|
|
DISPLAY "<Esc> Ejecuta impresion <Ctrl-C> Cancela impresion"
|
|
AT 18,14
|
|
|
|
RUN "type C:\\archivo > %USPRINT%" END FUNCTION
|
|
|
|
{
|
|
Esta funcion se utiliza para desplegar mensajes de errores en todos
|
|
los sistemas de Ray-O-Vac Dominicana.
|
|
Esta funcion busca el mensaje deseado en la tabla "msgtable" y lo
|
|
despliega en la linea de mensajes
|
|
}
|
|
|
|
FUNCTION msg(numero_msg)
|
|
DEFINE numero_msg SMALLINT
|
|
DEFINE descripcion CHAR (60)
|
|
SELECT desc_msg INTO descripcion FROM msgtable
|
|
WHERE cod_msg = numero_msg
|
|
|
|
IF status = NOTFOUND THEN
|
|
LET numero_msg = 22
|
|
SELECT desc_msg INTO descripcion FROM msgtable
|
|
WHERE cod_msg = numero_msg
|
|
ERROR descripcion ATTRIBUTE(BOLD)
|
|
ELSE
|
|
ERROR descripcion ATTRIBUTE(BOLD)
|
|
LET numero_msg = 0
|
|
END IF
|
|
RUN "type C:\\archivo > %USPRINT%" END FUNCTION
|
|
|
|
FUNCTION pantalla()
|
|
DEFINE fecha CHAR(8),
|
|
hora char(5)
|
|
LET fecha = today USING "dd/mm/yy"
|
|
LET hora = time
|
|
DISPLAY "R A Y . O . V A C D O M I N I C A N A, S. A." AT 4,17
|
|
ATTRIBUTE (REVERSE,YELLOW)
|
|
DISPLAY fecha AT 4,70 ATTRIBUTE (YELLOW)
|
|
DISPLAY "Sistema de Contabilidad General" AT 5,24
|
|
DISPLAY hora AT 6,73 ATTRIBUTE(YELLOW)
|
|
|
|
CALL fgl_drawbox(5,79,3,1)
|
|
CALL fgl_drawbox(1,79,22,1)
|
|
RUN "type C:\\archivo > %USPRINT%" END FUNCTION
|