# Conflicts:
#	PROYECTO/cgdir/edprrp118b.4gl.bak-20261008
#	PROYECTO/irdir/desglose_conteo.4gl
#	PROYECTO/irdir/imprequisicion.4gl
#	PROYECTO/irdir/irautorizareq.4gl
#	PROYECTO/irdir/irbuscaprod.4gl
#	PROYECTO/irdir/irfmmt004.per
#	PROYECTO/irdir/irprcs006.4gl
#	PROYECTO/irdir/irprgb000.4gl
#	PROYECTO/irdir/irprmt002.4gl
#	PROYECTO/irdir/irprmt004.4gl
#	PROYECTO/irdir/irprmt006.4gl
#	PROYECTO/irdir/irprmt009.4gl
#	PROYECTO/irdir/irprmt020.4gl
#	PROYECTO/irdir/irprmt021.4gl
#	PROYECTO/irdir/irprmt036.4gl
#	PROYECTO/irdir/irprmt066.4gl
#	PROYECTO/irdir/irprrp002.4gl
#	PROYECTO/irdir/irprrp003.4gl
#	PROYECTO/irdir/irprrp005.4gl
#	PROYECTO/irdir/irprrp006.4gl
#	PROYECTO/irdir/irprrp009.4gl
#	PROYECTO/irdir/irprrp043.4gl
#	PROYECTO/irdir/irprrp045.4gl
#	PROYECTO/lqdir/lqprrp009.4gl.bak_20261012
#	PROYECTO/lqdir/lqprrp009.rdd.bak_20261012
#	PROYECTO/otrodir/apiclient.4gl.bak_20261014
#	PROYECTO/otrodir/cuentas.4gl
#	PROYECTO/otrodir/irdepartamento.4gl
#	PROYECTO/otrodir/maquinas.4gl
#	PROYECTO/otrodir/productos_incluye.4gl
#	PROYECTO/otrodir/secciones.4gl
#	PROYECTO/otrodir/tramos.4gl
#	WEBSERVICES/productosconteo.4gl.bak_20261012
This commit is contained in:
Luis
2026-10-19 10:17:14 -04:00
74 changed files with 2209 additions and 982 deletions
+7 -6
View File
@@ -140,6 +140,7 @@ FUNCTION prprmt011()
--fechaSolDespacho
OPEN WINDOW prfmmt011 AT 10,10 WITH FORM "prfmmt011"
CALL ui.Window.getCurrent().setText("Administracion Ordenes")
#WHENEVER ERROR CONTINUE
LET w = ui.Window.getCurrent()
@@ -201,7 +202,7 @@ FUNCTION prprmt011()
IF busqueda IS NULL THEN
LET selec1 =
" SELECT 'N', x.cerrada, x1.estado_produccion,x1.estado_producto,x1.departamento,x3.nom_dpto,RTRIM(CAST(x.sec_vend AS CHAR)) + ' ' + RTRIM(b.nom1_emp), b.apell1_emp, ",
" CONVERT(CHAR(10), x.fecha_oc,103) AS fecha_orden , CONVERT(char(10),x1.fecha_compromiso,103) ,x1.fecha_llegada, x1.fecha_disp_entrega, ",
" x.fecha_oc AS fecha_orden , x1.fecha_compromiso ,x1.fecha_llegada, x1.fecha_disp_entrega, ",
" x1.fecha_solic_despacho, x1.fecha_instalacion, x.cotizacion_no, x.num_oc,x5.num_oc, x.observacion,g.descripcion, CAST(e.tipo_cliente AS CHAR(2)) ",
" + '-' + CAST(e.sec_cliente AS CHAR(6)) + ' ' + RTRIM(e.nombre) ,x4.descripcion, CAST(x1.cod_n AS VARCHAR(4)) + '-' + CAST(x1.cod_grupo AS VARCHAR(4)) ",
" + '-' + CAST(x1.cod_tipo AS VARCHAR(4)) + '-' + CAST(x1.cod_sec AS VARCHAR(7)) + ' ' + RTRIM(x2.descrip_esp), ",
@@ -243,7 +244,7 @@ FUNCTION prprmt011()
END IF
LET selec1 =
" SELECT 'N', x.cerrada, x1.estado_produccion,x1.estado_producto,x1.departamento,x3.nom_dpto,RTRIM(CAST(x.sec_vend AS CHAR)) + ' ' + RTRIM(b.nom1_emp), b.apell1_emp, ",
" CONVERT(CHAR(10), x.fecha_oc,103) AS fecha_orden , CONVERT(char(10),x1.fecha_compromiso,103) ,
" x.fecha_oc AS fecha_orden , x1.fecha_compromiso ,
x1.fecha_llegada,x1.fecha_disp_entrega, ",
" x1.fecha_solic_despacho, x1.fecha_instalacion, x.cotizacion_no, x.num_oc,x5.num_oc, x.observacion,g.descripcion, CAST(e.tipo_cliente AS CHAR(2)) ",
" + '-' + CAST(e.sec_cliente AS CHAR(6)) + ' ' + RTRIM(e.nombre) ,x4.descripcion, CAST(x1.cod_n AS VARCHAR(4)) + '-' + CAST(x1.cod_grupo AS VARCHAR(4)) ",
@@ -281,7 +282,7 @@ FUNCTION prprmt011()
IF actualiza_log_produccion="SI" THEN
LET selec1=
" SELECT 'N', x.cerrada, x1.estado_produccion,x1.departamento,x3.nom_dpto,RTRIM(CAST(x.sec_vend AS CHAR)) + ' ' + RTRIM(b.nom1_emp), b.apell1_emp, ",
" CONVERT(CHAR(10), x.fecha_oc,103) AS fecha_orden , CONVERT(char(10),x1.fecha_compromiso,103) ,' ', x.cotizacion_no, x.num_oc, x.observacion,g.descripcion, CAST(e.tipo_cliente AS CHAR(2)) ",
" x.fecha_oc AS fecha_orden , x1.fecha_compromiso ,' ', x.cotizacion_no, x.num_oc, x.observacion,g.descripcion, CAST(e.tipo_cliente AS CHAR(2)) ",
" + '-' + CAST(e.sec_cliente AS CHAR(6)) + ' ' + RTRIM(e.nombre) , CAST(x1.cod_n AS VARCHAR(4)) + '-' + CAST(x1.cod_grupo AS VARCHAR(4)) ",
" + '-' + CAST(x1.cod_tipo AS VARCHAR(4)) + '-' + CAST(x1.cod_sec AS VARCHAR(4)) + ' ' + RTRIM(x2.descrip_esp), ",
" SUM(x1.cantidad), '0' , '0' , '0' , x.sec_vend, x1.cod_n, x1.cod_grupo, x1.cod_tipo, x1.cod_Sec, e.tipo_cliente, e.sec_cliente, ",
@@ -440,7 +441,7 @@ FUNCTION prprmt011()
IF veces > 1 THEN
LET att[idx].col7 = 'blue reverse'
ELSE
SELECT CONVERT(CHAR(10),a.fecha_llegada,103) INTO arr_ordenes[idx].fecha_llegada
SELECT a.fecha_llegada INTO arr_ordenes[idx].fecha_llegada
FROM cctb00026 a
WHERE a.num_oc = arr_ordenes[idx].num_oc AND
a.cod_n = arr_ordenes[idx].cod_n AND
@@ -1091,7 +1092,7 @@ FUNCTION fparciales(xnum_oc,xcodn,xcodgrupo,xcodtipo,xcodsec,xfecha,xproducto)
DECLARE busca_parcial CURSOR FOR
SELECT CONVERT(CHAR(10),a.fecha_compromiso,103),a.cantidad FROM prtb00028 a
SELECT a.fecha_compromiso,a.cantidad FROM prtb00028 a
WHERE a.num_oc = xnum_oc AND
a.cod_n = xcodn AND
a.cod_grupo = xcodgrupo AND
@@ -1313,7 +1314,7 @@ FUNCTION vepcmf008(num_cotizacion)
LET SELEC = " SELECT DISTINCT a.cod_cia,a.ventas,a.cotizacion_no,a.tipo_cliente,a.sec_cliente,a.nombre_cliente, " ||
" a.rnc,a.nombre_proyecto,a.direccion_cliente,a.cod_provincia,a.direccion_proyecto, " ||
" a.telefono_r,a.telefono_o,a.email,a.tipo_precio,a.beeper,a.celular,a.prima,a.fax1,a.celular1, " ||
" a.fax, CONVERT(CHAR(10),a.fecha,103),CONVERT(CHAR(10),a.fecha_entrega,103), " ||
" a.fax, a.fecha,a.fecha_entrega, " ||
" a.plazo_entrega,a.comentario,a.contacto, a.cond_pago,a.sec_Vend,a.porc_itbi," ||
" a.total_bruto,a.sub_total,a.monto_Desc,a.monto_itbi,a.total_neto,a.monto_dolar,a.num_emp_inst, " ||
" a.codigo_dgii,a.tipo_ncf,a.cliente_generico,a.sec_vend_aux,a.codigo,a.cod_zona,a.sincronizado, "||
+1 -1
View File
@@ -18,7 +18,7 @@
<LAYOUTNODE name="Layout Node9" y="max-33.3652" width="214.531" length="26.3906" anchorY="1" alignment="center" layoutDirection="topToBottom" floatingBehavior="free">
<WORDBOX name="WordBox34" width="213.984" length="14.3281" alignment="far" fontSize="20" fontBold="true" underline="true" layoutDirection="topToBottom" baselineType="leftleft" textAlignment="center" text="ANÁLISIS PRODUCCIÓN" trimText="both"/>
</LAYOUTNODE>
<IMAGEBOX name="ImageBox1_1" y="6.5535" width="230.836" length="92.4741" floatingBehavior="enclosed" url="file:///F:/MARMOTECHC/IMAGENES/logo.png" intendedResolution="120"/>
<IMAGEBOX name="ImageBox1_1" y="6.5535" width="230.836" length="92.4741" floatingBehavior="enclosed" url="IMAGENES/Logo.png" intendedResolution="120"/>
<rtl:input-variable name="fecha_reporte" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="fecha_reporte Value1" class="grwDateValue" x="4.0943" y="414.196" width="103.969" anchorX="0" anchorY="0" floatingBehavior="enclosed" textAlignment="right" text="{{fecha_reporte}}"/>
</MINIPAGE>
+10 -4
View File
@@ -35,14 +35,16 @@
<RecordField colName="" fieldIdRef="26" name="xnum_emp" sqlTabName="" table_alias_name="" uid="{cbe6a079-16f8-4d94-8834-508b8802f0eb}"/>
<RecordField colName="" fieldIdRef="27" name="nombre_empleado" sqlTabName="" table_alias_name="" uid="{025a8c47-52a6-46a7-809d-068fce546410}"/>
<RecordField colName="" fieldIdRef="28" name="bloque" sqlTabName="" table_alias_name="" uid="{1fdfddbb-c15b-430b-900a-277fe124636e}"/>
<RecordField colName="" fieldIdRef="29" name="xnum_ocp" sqlTabName="" table_alias_name="" uid="{3b6f1c2e-8d4a-4f7b-9e21-6a5c0d9e7f11}"/>
<RecordField colName="" fieldIdRef="30" name="proveedor" sqlTabName="" table_alias_name="" uid="{9c2e7a41-5b3d-4e8f-a1c6-2d7f8e0b4a22}"/>
</Record>
<Form gridHeight="31" gridWidth="163" name="acfmrp010" style="basic" text="ETIQUETAS">
<Form gridHeight="33" gridWidth="163" name="acfmrp010" style="basic" text="ETIQUETAS">
<ActionDefaultList name="ActionDefaultList1">
<ActionDefault image="cancel" name="cancel" text="Cancela operacion"/>
<ActionDefault image="find" name="busca" text="Busca informacion"/>
<ActionDefault image="printer" name="imprime" text="Imprimir"/>
</ActionDefaultList>
<Grid gridHeight="28" gridWidth="163" name="Grid1" posX="0" posY="1">
<Grid gridHeight="30" gridWidth="163" name="Grid1" posX="0" posY="1">
<Group gridHeight="10" gridWidth="138" name="Group1" posX="1" posY="1" text="INFORMACIONES SOBRE EL TAMANO DE LA ETIQUETA E INVENTARIO">
<Label posX="1" posY="1" text="INVENTARIO"/>
<ComboBox aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="inventario" defaultValue="PRODUCTOS TERMINADOS" fieldId="9" gridHeight="1" gridWidth="43" include="ACTIVOS FIJOS|PRODUCTOS TERMINADOS|MATERIA PRIMA|REPUESTOS" items="ACTIVOS FIJOS, PRODUCTOS TERMINADOS, MATERIA PRIMA, REPUESTOS" name="inventario" posX="20" posY="1" sqlTabName="formonly" tabIndex="1" table_alias_name="" widget="ComboBox">
@@ -99,7 +101,7 @@
<Label posX="2" posY="4" text="DEPARTAMENTO"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="codigo_dp" fieldId="13" gridHeight="1" gridWidth="7" name="codigo_dp" posX="21" posY="4" sqlTabName="formonly" tabIndex="13" table_alias_name="" widget="Edit"/>
</Group>
<Group gridHeight="6" gridWidth="70" name="Group4" posX="70" posY="11" text="Informacion Orden">
<Group gridHeight="8" gridWidth="70" name="Group4" posX="70" posY="11" text="Informacion Orden">
<Label gridHeight="1" gridWidth="10" name="Label2" posX="3" posY="1" text="Orden"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" fieldId="23" gridHeight="1" gridWidth="10" name="xnum_oc" posX="17" posY="1" sqlTabName="" tabIndex="25" table_alias_name="" title="Edit1" widget="Edit"/>
<Label gridHeight="1" gridWidth="10" name="Label3" posX="3" posY="2" text="Cliente"/>
@@ -109,8 +111,12 @@
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" fieldId="27" gridHeight="1" gridWidth="40" name="nombre_empleado" posX="28" posY="3" sqlTabName="" tabIndex="28" table_alias_name="" title="Edit3" widget="Edit"/>
<Label gridHeight="1" gridWidth="10" name="Label5" posX="3" posY="4" text="Bloque"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" case="upper" colName="" fieldId="28" gridHeight="1" gridWidth="27" name="bloque" posX="17" posY="4" scroll="true" sqlTabName="" tabIndex="29" table_alias_name="" title="Edit1" widget="Edit"/>
<Label gridHeight="1" gridWidth="12" name="Label6" posX="3" posY="5" text="Orden Compra"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" comment="Orden de compra (cotb00014)" fieldId="29" gridHeight="1" gridWidth="10" name="xnum_ocp" posX="17" posY="5" sqlTabName="" tabIndex="30" table_alias_name="" title="Edit4" widget="Edit"/>
<Label gridHeight="1" gridWidth="10" name="Label7" posX="3" posY="6" text="Proveedor"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" fieldId="30" gridHeight="1" gridWidth="51" name="proveedor" posX="17" posY="6" sqlTabName="" tabIndex="31" table_alias_name="" title="Edit5" widget="Edit"/>
</Group>
<Group gridHeight="9" gridWidth="161" name="Group3" posX="1" posY="17" text="MEDIDAS, SOLO PARA MATERIA PRIMA O PRODUCTOS TERMINADOS">
<Group gridHeight="9" gridWidth="161" name="Group3" posX="1" posY="19" text="MEDIDAS, SOLO PARA MATERIA PRIMA O PRODUCTOS TERMINADOS">
<Table gridHeight="5" gridWidth="157" name="Table1" posX="2" posY="2" totalRows="4" unitWidth="characters" width="157">
<CheckBox aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="imp" defaultValue="NO" fieldId="14" gridHeight="1" gridWidth="3" name="imp" notNull="true" posX="0" posY="0" required="true" sqlTabName="formonly" tabIndex="14" table_alias_name="" title="IMPRIME" valueChecked="SI" valueUnchecked="NO" widget="CheckBox"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="pcodid" fieldId="0" gridHeight="1" gridWidth="10" name="pcodid" posX="3" posY="0" scroll="true" sqlTabName="formonly" tabIndex="15" table_alias_name="" widget="Edit"/>
+3 -2
View File
@@ -235,11 +235,12 @@ FUNCTION acpcmf004()
RETURN
END IF
-- G6: trans LIKE actb00004.* incluye rowid; sin el 2o a.rowid todo quedaba corrido una columna (-1213)
LET SELEC =
"SELECT a.rowid,a.codigo
"SELECT a.rowid,a.rowid,a.codigo
,a.num_doc
,CONVERT(VARCHAR(10),a.fecha,103)
,a.cod_mov
@@ -419,7 +420,7 @@ FUNCTION acpcmf004()
CALL fgl_winmessage("INFO","NO SE ACTUALIZARON REGISTROS","INFO")
EXIT PROGRAM
END IF
SELECT MIN(convert(varchar(10),a.fecha,103)) INTO fecha6 FROM actb00004 a
SELECT MIN(a.fecha) INTO fecha6 FROM actb00004 a -- G6: MIN sobre texto dd/mm/yyyy no da la fecha menor
WHERE a.codigo = trans.codigo AND a.status_t IS NULL
IF fecha6 IS NULL THEN
+2 -1
View File
@@ -92,7 +92,8 @@ INPUT BY NAME p_ano1,p_mes1
NEXT FIELD p_ano1
END IF
SELECT MAX(CONVERT(VARCHAR(10),a.fecha,103)) INTO fecha_ant FROM actb00004 a
-- G6: MAX sobre texto dd/mm/yyyy devolvia 31/12 y no la ultima depreciacion (permitia duplicar el mes)
SELECT MAX(a.fecha) INTO fecha_ant FROM actb00004 a
WHERE a.status_t IS NULL AND a.cod_mov = 5
IF fecha_ant >= trans.fecha THEN
+62 -23
View File
@@ -14,7 +14,9 @@ GLOBALS
kcantidad DEC(12,4),
codlista,cia_logo SMALLINT,
xnum_emp,xnum_oc INT,
cliente,nombre_empleado,nom1,nom2,apell1,apell2 VARCHAR(100)
xnum_ocp INT, -- orden de compra (cotb00014)
cliente,nombre_empleado,nom1,nom2,apell1,apell2 VARCHAR(100),
proveedor VARCHAR(100) -- proveedor de la orden de compra (cotb00001)
MAIN
DEFER INTERRUPT
CALL ARG_VAL(1) RETURNING usuarios
@@ -81,7 +83,16 @@ ON ACTION cancel
FROM codigo_act,descripcion_act,codigo_dp
END IF
IF inventario = "PRODUCTOS TERMINADOS" THEN
INPUT BY NAME xnum_oc,xnum_emp,bloque
INPUT BY NAME xnum_oc,xnum_ocp,xnum_emp,bloque
AFTER FIELD xnum_ocp
IF xnum_ocp IS NULL THEN
LET proveedor = NULL
DISPLAY BY NAME proveedor
ELSE
IF NOT busca_proveedor_oc() THEN
NEXT FIELD xnum_ocp
END IF
END IF
ON ACTION busca_emp
CALL busca_empleado1() RETURNING Xnum_emp,nom1,nom2,apell1,apell2
LET nombre_empleado = xnum_emp USING "<<<<<","-",nom1 CLIPPED,apell1 CLIPPED
@@ -127,7 +138,15 @@ ON ACTION cancel
CALL fgl_Winmessage("INFO","EMPLEADO NO EXISTE","INFO")
NEXT FIELD xnum_emp
END IF
DISPLAY BY NAME nombre_empleado
DISPLAY BY NAME nombre_empleado
END IF
IF xnum_ocp IS NOT NULL THEN
IF NOT busca_proveedor_oc() THEN
NEXT FIELD xnum_ocp
END IF
ELSE
LET proveedor = NULL
DISPLAY BY NAME proveedor
END IF
EXIT INPUT
END INPUT
@@ -243,25 +262,25 @@ CALL set_count(idx-1)
INPUT ARRAY despiece WITHOUT DEFAULTS FROM smedida.*
AFTER FIELD lado3
LET idx = arr_curr()
IF despiece[idx].unidad= "M2" THEN
LET despiece[idx].medida =
despiece[idx].cantidad * (despiece[idx].lado1 * despiece[idx].lado2)
END IF
IF despiece[idx].unidad= "M3" THEN
LET despiece[idx].medida =
despiece[idx].cantidad * (despiece[idx].lado1 * despiece[idx].lado2 * despiece[idx].lado3)
END IF
IF despiece[idx].unidad= "ML" THEN
LET despiece[idx].medida =
despiece[idx].cantidad * despiece[idx].lado1
LET despiece[idx].lado2 = 0
END IF
IF despiece[idx].unidad= "UD" OR despiece[idx].unidad= "GL" THEN
LET despiece[idx].medida = despiece[idx].cantidad
END IF
IF despiece[idx].unidad= "M2" THEN
LET despiece[idx].medida =
despiece[idx].cantidad * (despiece[idx].lado1 * despiece[idx].lado2)
END IF
IF despiece[idx].unidad= "M3" THEN
LET despiece[idx].medida =
despiece[idx].cantidad * (despiece[idx].lado1 * despiece[idx].lado2 * despiece[idx].lado3)
END IF
IF despiece[idx].unidad= "ML" THEN
LET despiece[idx].medida =
despiece[idx].cantidad * despiece[idx].lado1
LET despiece[idx].lado2 = 0
END IF
IF despiece[idx].unidad= "UD" OR despiece[idx].unidad= "GL" THEN
LET despiece[idx].medida = despiece[idx].cantidad
END IF
AFTER FIELD cantidad
LET idx = arr_curr()
@@ -376,9 +395,29 @@ REPORT activos(x,descripcion,xfecha_compra,xprecio,xsimbolo,xcodigo,xunidadmed,
END IF
PRINTX x,codigo_dp,descripcion,descripcion_dp,fecha,barcodigo_act,
Xfecha_compra,xprecio,xsimbolo,xcodigo,xvalor_medida,xcantidad,
xlado1,xlado2,xlado3,xunidadmed,cia_logo,xnum_emp,xnum_oc,cliente,nombre_empleado,bloque
xlado1,xlado2,xlado3,xunidadmed,cia_logo,xnum_emp,xnum_oc,cliente,nombre_empleado,bloque,
xnum_ocp,proveedor
END REPORT
# Valida la orden de compra (cotb00014, no anulada) y trae su proveedor (cotb00001)
FUNCTION busca_proveedor_oc()
LET proveedor = NULL
SELECT CAST(b.cod_sp AS VARCHAR(4))+'-'+
CAST(b.cod_sp_sec AS VARCHAR(4))+' '+RTRIM(b.nom_sp)
INTO proveedor
FROM cotb00014 a,cotb00001 b
WHERE a.num_oc = xnum_ocp AND a.status_t IS NULL AND
a.cod_sp = b.cod_sp AND a.cod_sp_sec = b.cod_sp_sec
IF STATUS = NOTFOUND THEN
LET proveedor = NULL
DISPLAY BY NAME proveedor
CALL fgl_winmessage("INFO","ORDEN DE COMPRA NO EXISTE O ESTA ANULADA","INFO")
RETURN FALSE
END IF
DISPLAY BY NAME proveedor
RETURN TRUE
END FUNCTION
FUNCTION codigo_128(cod_val,pcantidad)
+11 -1
View File
@@ -15,7 +15,7 @@
<rtl:match name="Group xcodigo" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<MINIPAGE name="Page Root" width="max" length="max">
<LAYOUTNODE name="Layout Node2" width="min" length="min">
<IMAGEBOX name="ImageBox3" width="100" length="38.2134" url="{{&quot;file:///e:/marmotechc/BIN320/IMAGENES/compania/logo.png&quot;}}" intendedResolution="96"/>
<IMAGEBOX name="ImageBox3" width="100" length="38.2134" url="{{&quot;IMAGENES/Logo.png&quot;}}" intendedResolution="96"/>
<MINIPAGE name="Separator" width="1" length="max" bgColor="#000000" layoutDirection="leftToRight" swapX="false"/>
</LAYOUTNODE>
<LAYOUTNODE name="Layout Node3" width="max" length="min" fontSize="10">
@@ -44,6 +44,16 @@
<rtl:input-variable name="xfecha_compra" type="FGLString" expectedLocation="expectedHere"/>
<WORDBOX name="WordBox8" alignment="baseline" fontSize="12" baselineType="leftleft" text="{{xfecha_compra.value}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="Layout Node6" width="min" length="min" layoutDirection="leftToRight">
<WORDBOX name="WordBox13" width="120" alignment="baseline" fontSize="14" baselineType="leftleft" text="ORDEN COMPRA"/>
<rtl:input-variable name="xnum_ocp" type="FGLNumeric" expectedLocation="expectedHere"/>
<DECIMALFORMATBOX name="xnum_ocp Value" alignment="baseline" fontSize="12" baselineType="leftleft" format="&amp;&amp;&amp;&amp;&amp;&amp;" value="{{xnum_ocp}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="Layout Node7" width="min" length="min" layoutDirection="leftToRight">
<WORDBOX name="WordBox14" width="120" alignment="baseline" fontSize="14" baselineType="leftleft" text="PROVEEDOR"/>
<rtl:input-variable name="proveedor" type="FGLString" expectedLocation="expectedHere"/>
<WORDWRAPBOX name="proveedor Value" width="width(&quot;M&quot;)*14" alignment="baseline" fontSize="10" baselineType="leftleft" text="{{proveedor.trim()}}"/>
</LAYOUTNODE>
<rtl:input-variable name="barcodigo_act" type="FGLString" expectedLocation="expectedHere"/>
<BARCODEBOX name="BarCodeBox1" x="22.8704" y="220.506" width="105.815" length="35.8691" anchorX="0" anchorY="0" codeType="code-128" codeValue="{{barcodigo_act.value}}" noText="true"/>
</MINIPAGE>
+1 -1
View File
@@ -14,7 +14,7 @@
<rtl:match name="Report" nameConstraint="Report" minOccurs="1" maxOccurs="1">
<MINIPAGE name="Page Root" width="max" length="min">
<MINIPAGE name="ENCABEZADOSGRAL" width="130" length="560.485" alignment="center" fontSize="9" layoutDirection="leftToRight">
<IMAGEBOX name="ImageBox4" x="7" y="5" width="112.489" length="65.8341" anchorX="0" anchorY="0" url="file:///E:/MARMOTECHC/BIN320/IMAGENES/Logo_DCM.PNG" intendedResolution="96"/>
<IMAGEBOX name="ImageBox4" x="7" y="5" width="112.489" length="65.8341" anchorX="0" anchorY="0" url="IMAGENES/Logo_DCM.png" intendedResolution="96"/>
<LAYOUTNODE name="Layout Node8" y="max-181.379" width="min" length="min" anchorY="1" floatingBehavior="enclosed">
<rtl:input-variable name="p_companias.nombre" type="FGLString" expectedLocation="expectedAhead"/>
<WORDWRAPBOX name="p_companias.nombre Value" width="width(&quot;M&quot;)*20" alignment="baseline" fontSize="12" fontBold="true" baselineType="leftleft" text="{{p_companias.nombre}}"/>
+1 -1
View File
@@ -25,7 +25,7 @@
<LAYOUTNODE name="Layout Node7" width="min" length="min" swapX="true" port="firstPageHeader">
<MINIPAGE name="StripeLayouter11" width="min" layoutDirection="leftToRight">
<LAYOUTNODE name="Layout Node8" y=".5cm" width="4cm" length="min" bgColor="#c0c0c0" swapX="true" floatingBehavior="enclosed"/>
<IMAGEBOX name="ImageBox1" y="40.9988" width="191.836" length="92.4741" floatingBehavior="enclosed" url="file:///E:/MARMOTECHC/IMAGENES/logo.png" intendedResolution="120"/>
<IMAGEBOX name="ImageBox1" y="40.9988" width="191.836" length="92.4741" floatingBehavior="enclosed" url="IMAGENES/Logo.png" intendedResolution="120"/>
<LAYOUTNODE name="Layout Node9" y="max-1cm" width="min" length="min" anchorY="1" floatingBehavior="enclosed">
<WORDBOX name="WordBox9" alignment="near" fontBold="true" baselineType="leftleft" text="MARMOTECH, S. A."/>
<WORDBOX name="WordBox10" alignment="near" baselineType="leftleft" text="Madre Vieja"/>
+1 -1
View File
@@ -28,7 +28,7 @@
<LAYOUTNODE name="Layout Node7" width="min" length="min" swapX="true" port="firstPageHeader">
<MINIPAGE name="StripeLayouter11" width="min" layoutDirection="leftToRight">
<LAYOUTNODE name="Layout Node8" y=".5cm" width="4cm" length="min" bgColor="#c0c0c0" swapX="true" floatingBehavior="enclosed"/>
<IMAGEBOX name="ImageBox1" y=".5cm" width="139.836" length="82.4741" floatingBehavior="enclosed" url="file:///E:/marmotechc/imagenes/genero_logo.png" intendedResolution="120"/>
<IMAGEBOX name="ImageBox1" y=".5cm" width="139.836" length="82.4741" floatingBehavior="enclosed" url="IMAGENES/genero_logo.png" intendedResolution="120"/>
<LAYOUTNODE name="Layout Node9" y="max-1cm" width="min" length="min" anchorY="1" floatingBehavior="enclosed">
<WORDBOX name="WordBox9" alignment="near" fontBold="true" baselineType="leftleft" text="MARMOTECH, S. A."/>
<WORDBOX name="WordBox10" alignment="near" baselineType="leftleft" text="Madre Vieja"/>
+1 -1
View File
@@ -14,7 +14,7 @@
<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">
<IMAGEBOX name="ImageBox" floatingBehavior="enclosed" url="{{&quot;file:///e:/marmotechc/IMAGENES/logo_cumple.png&quot;}}" intendedResolution="120"/>
<IMAGEBOX name="ImageBox" floatingBehavior="enclosed" url="{{&quot;IMAGENES/Logo.png&quot;}}" intendedResolution="120"/>
</MINIPAGE>
<LAYOUTNODE name="LayoutNode1" width="min" length="min" alignment="near" layoutDirection="leftToRight" floatingBehavior="enclosed">
<rtl:input-variable name="chlable" type="FGLString" expectedLocation="expectedAhead"/>
+1 -1
View File
@@ -15,7 +15,7 @@
<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">
<IMAGEBOX name="ImageBox" width="219.37" length="57.51" floatingBehavior="enclosed" url="{{&quot;file:///E:/MARMOTECHC/BIN320/IMAGENES/logo.png&quot;}}" intendedResolution="120"/>
<IMAGEBOX name="ImageBox" width="219.37" length="57.51" floatingBehavior="enclosed" url="{{&quot;IMAGENES/Logo.png&quot;}}" intendedResolution="120"/>
</MINIPAGE>
<LAYOUTNODE name="LayoutNode1" width="min" length="min" alignment="near" layoutDirection="leftToRight" floatingBehavior="enclosed">
<rtl:input-variable name="chlable" type="FGLString" expectedLocation="expectedAhead"/>
+1 -1
View File
@@ -15,7 +15,7 @@
<MINIPAGE name="Page Root" width="max" length="max">
<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="1.5cm" url="{{&quot;file:///e:/marmotechc/BIN320/IMAGENES/compania/logo.png&quot;}}" intendedResolution="111"/>
<IMAGEBOX name="ImageBox3" width="5cm" length="1.5cm" url="{{&quot;IMAGENES/Logo.png&quot;}}" 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">
+1 -1
View File
@@ -15,7 +15,7 @@
<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="{{&quot;file:///e:/marmotechc/BIN320/IMAGENES/compania/logo.png&quot;}}" intendedResolution="111"/>
<IMAGEBOX name="ImageBox3" width="5cm" length="1cm" alignment="near" url="{{&quot;IMAGENES/Logo.png&quot;}}" 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">
+1 -1
View File
@@ -15,7 +15,7 @@
<rtl:match name="Group xcodigo" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<MINIPAGE name="Page Root" width="max" length="max">
<LAYOUTNODE name="Layout Node2" width="min" length="min">
<IMAGEBOX name="ImageBox3" width="100" length="38.2134" url="{{&quot;file:///e:/marmotechc/BIN320/IMAGENES/compania/logo.png&quot;}}" intendedResolution="96"/>
<IMAGEBOX name="ImageBox3" width="100" length="38.2134" url="{{&quot;IMAGENES/Logo.png&quot;}}" intendedResolution="96"/>
<MINIPAGE name="Separator" width="1" length="max" bgColor="#000000" layoutDirection="leftToRight" swapX="false"/>
</LAYOUTNODE>
<LAYOUTNODE name="Layout Node3" width="max" length="min" fontSize="10">
+1 -1
View File
@@ -16,7 +16,7 @@
<MINIPAGE name="Page Root" width="max" length="min" layoutDirection="topToBottom">
<LAYOUTNODE name="Layout Node1" width="min" length="min" layoutDirection="topToBottom">
<LAYOUTNODE name="Layout Node6" width="min" length="min" layoutDirection="leftToRight">
<IMAGEBOX name="ImageBox3" width="5cm" length="1cm" url="{{&quot;file:///e:/marmotechc/BIN320/IMAGENES/compania/logo.png&quot;}}" intendedResolution="111"/>
<IMAGEBOX name="ImageBox3" width="5cm" length="1cm" url="{{&quot;IMAGENES/Logo.png&quot;}}" intendedResolution="111"/>
</LAYOUTNODE>
<LAYOUTNODE name="LayoutNode1" width="min" length="min" alignment="near" floatingBehavior="enclosed">
<MINIPAGE name="Separator" width="1" length="max" bgColor="#000000" layoutDirection="leftToRight" swapX="false"/>
+1 -1
View File
@@ -16,7 +16,7 @@
<MINIPAGE name="Page Root" width="max" length="min" layoutDirection="topToBottom">
<LAYOUTNODE name="Layout Node1" width="min" length=".8cm" layoutDirection="topToBottom">
<LAYOUTNODE name="Layout Node6" width="min" length="min" layoutDirection="leftToRight">
<IMAGEBOX name="ImageBox3" width="44.7697" length="23.3465" url="{{&quot;file:///e:/marmotechc/BIN320/IMAGENES/compania/logo.png&quot;}}" intendedResolution="96"/>
<IMAGEBOX name="ImageBox3" width="44.7697" length="23.3465" url="{{&quot;IMAGENES/Logo.png&quot;}}" intendedResolution="96"/>
</LAYOUTNODE>
<LAYOUTNODE name="LayoutNode1" width="min" length="1cm" alignment="near" floatingBehavior="enclosed">
<MINIPAGE name="Separator" width="1" length="max" bgColor="#000000" layoutDirection="leftToRight" swapX="false"/>
+1 -1
View File
@@ -16,7 +16,7 @@
<MINIPAGE name="Page Root" width="max" length="max" layoutDirection="topToBottom">
<LAYOUTNODE name="Layout Node1" width="min" length="min" layoutDirection="topToBottom">
<LAYOUTNODE name="Layout Node6" width="min" length="min" layoutDirection="leftToRight">
<IMAGEBOX name="ImageBox3" width="2cm" length="1cm" url="{{&quot;file:///e:/marmotechc/BIN320/IMAGENES/compania/logo.png&quot;}}" intendedResolution="120"/>
<IMAGEBOX name="ImageBox3" width="2cm" length="1cm" url="{{&quot;IMAGENES/Logo.png&quot;}}" intendedResolution="120"/>
<rtl:input-variable name="descripcion" type="FGLString" expectedLocation="expectedHere"/>
<WORDWRAPBOX name="WordWrapBox1" width="width(&quot;M&quot;)*11.5" length="1cm" alignment="baseline" fontSize="12" fontBold="true" baselineType="leftleft" text="{{descripcion.trim()}}"/>
</LAYOUTNODE>
+6
View File
@@ -53,6 +53,8 @@
<WORDBOX name="WordBox42" width="2cm" floatingBehavior="enclosed" textAlignment="right" text="FECHA C"/>
<WORDBOX name="WordBox43" width="2cm" floatingBehavior="enclosed" textAlignment="right" text="CANTIDAD C."/>
<WORDBOX name="WordBox44" width="2cm" floatingBehavior="enclosed" textAlignment="right" text="ROTACION"/>
<WORDBOX name="WordBoxMargenH" width="2cm" floatingBehavior="enclosed" textAlignment="right" text="MARGEN %"/>
<WORDBOX name="WordBoxClasifH" width="2.2cm" floatingBehavior="enclosed" text="CLASIF."/>
</LAYOUTNODE>
<MINIPAGE name="Separator" width="1" length="max" bgColor="#000000" layoutDirection="leftToRight"/>
</MINIPAGE>
@@ -87,6 +89,10 @@
<DECIMALFORMATBOX name="tcantidad Value" width="1.5cm" anchorX="1" floatingBehavior="enclosed" textAlignment="right" format="----------#.####" value="{{x.tcantidad}}"/>
<rtl:input-variable name="rot_anual" type="FGLNumeric" expectedLocation="expectedHere"/>
<DECIMALFORMATBOX name="rot_anual Value" class="grwNumericValue" width="3cm" anchorX="1" floatingBehavior="enclosed" textAlignment="right" format="{{&quot;--,--&amp;.&amp;&amp;&quot;}}" value="{{rot_anual}}"/>
<rtl:input-variable name="x.margen" type="FGLNumeric" expectedLocation="expectedHere"/>
<DECIMALFORMATBOX name="margen Value" class="grwNumericValue" width="2cm" anchorX="1" floatingBehavior="enclosed" textAlignment="right" format="{{&quot;--&amp;.&amp;&amp;&quot;}}" value="{{x.margen}}"/>
<rtl:input-variable name="x.clasificacion" type="FGLString" expectedLocation="expectedHere"/>
<WORDBOX name="clasif Value" width="2.2cm" floatingBehavior="enclosed" color="{{x.clasificacion.trim()==&quot;REVISAR&quot;?Color.RED:(x.clasificacion.trim()==&quot;ESTRELLA&quot;?Color.GREEN:Color.BLACK)}}" text="{{x.clasificacion.trim()}}"/>
</LAYOUTNODE>
</rtl:match>
</rtl:match>
+93 -15
View File
@@ -1,5 +1,5 @@
<?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="3.01">
<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="letterwidth" RWPageLength="letterlength" RWLeftMargin="0.50cm" RWTopMargin="0.5cm" RWRightMargin="0.50cm" RWBottomMargin="0.5cm">
<report:FormatList>
<report:Format-SVG/>
@@ -8,28 +8,38 @@
</report:FormatList>
</report:Settings>
<report:Data RWDataLocation="../irdir/irprrpcs008.rdd" RWFglReportName="imprime"/>
<report:Conflicts/>
<rtl:stylesheet>
<PXML>
<rtl:match nameConstraint="Report">
<rtl:match name="Report" nameConstraint="Report">
<MINIPAGE name="Page Root" width="min" length="max" alignment="center">
<LAYOUTNODE name="Page Header" width="min" length="min" fontSize="12" fontBold="true" layoutDirection="topToBottom" baselineType="leftleft" port="anyPageHeader" floatingBehavior="enclosed">
<LAYOUTNODE name="LayoutNode" width="min" length="max" layoutDirection="leftToRight" floatingBehavior="enclosed">
<IMAGEBOX name="ImageBox1" length="39.7106" anchorX="0" anchorY="0" url="{{&quot;file:///e:/MASTER/marmotech/IMAGENES/LOGO.JPG&quot;}}" intendedResolution="96"/>
<IMAGEBOX name="ImageBox1" length="39.7106" anchorX="0" anchorY="0" url="{{&quot;IMAGENES/genero_logo.png&quot;}}" intendedResolution="96"/>
<rtl:input-variable name="nombre_cia" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox47" width="12cm" floatingBehavior="enclosed" textAlignment="center" text="{{nombre_cia.value}}"/>
<rtl:input-variable name="chfecha" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox35" y="max-3cm" alignment="baseline" baselineType="leftleft" text="{{chfecha}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="LayoutNode18" width="min" length="max" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox28" y="max-3.5cm" alignment="baseline" baselineType="leftleft" text="Pagina No. "/>
<PAGENOBOX name="PageNoBox1" y="max-.6cm" alignment="baseline" baselineType="leftleft" textAlignment="right"/>
<rtl:input-variable name="chtipo" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox10" y="max-13cm" alignment="baseline" baselineType="leftleft" text="{{chtipo.value}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="LayoutNode19" width="max" length="min" alignment="near" floatingBehavior="enclosed">
<rtl:input-variable name="jfecha" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox46" x="max-13cm" floatingBehavior="enclosed" text="{{&quot;FECHA CONTEO: &quot;+jfecha.value}}"/>
<rtl:input-variable name="xtipo" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox31" x="max-13cm" alignment="far" baselineType="leftleft" text="{{xtipo}}"/>
</LAYOUTNODE>
<rtl:input-variable name="znumDoc" type="FGLNumeric" expectedLocation="expectedAhead"/>
<LAYOUTNODE name="Layout Node13" rtl:condition="znumDoc&gt;0" width="min" length="max" alignment="near" layoutDirection="leftToRight">
<rtl:input-variable name="znumDoc" type="FGLNumeric" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox33" alignment="baseline" baselineType="leftleft" text="{{&quot;NUMERO DOCUMENTO: &quot;+znumDoc.format(&quot;&amp;&amp;&amp;&amp;&amp;&amp;&quot;)}}"/>
<WORDBOX name="WordBox32" width="10" anchorX="1" anchorY="1" alignment="far" baselineType="leftleft" text=""/>
<rtl:input-variable name="zcodMov" type="FGLNumeric" expectedLocation="expectedAhead"/>
<rtl:input-variable name="zdescripMov" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox34" width="200" alignment="baseline" baselineType="leftleft" text="{{&quot;(&quot;+zcodMov.format(&quot;&amp;&amp;&amp;&quot;)+&quot;)&quot;+zdescripMov}}"/>
</LAYOUTNODE>
<MINIPAGE name="RAYA1_1" width=".1cm" length="max" alignment="far" bgColor="#0d0d0d" fontBold="true" layoutDirection="leftToRight" baselineType="leftleft" hidePageFooterOnLastPage="true"/>
@@ -45,56 +55,113 @@
</LAYOUTNODE>
<MINIPAGE name="RAYA1" width=".1cm" length="max" alignment="far" bgColor="#0d0d0d" fontBold="true" layoutDirection="leftToRight" baselineType="leftleft" hidePageFooterOnLastPage="true"/>
</LAYOUTNODE>
<rtl:match nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match name="Group nombre_cia" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match name="Group almacen" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<MINIPAGE name="ALMACEN" width="max" length="min" alignment="baseline" fontSize="10">
<LAYOUTNODE name="Layout Node4_1" width="min" length="min">
<rtl:input-variable name="xalmacen" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="xalmacen Value" width="max" length="min" alignment="baseline" fontBold="true" baselineType="leftleft" text="{{xalmacen}}"/>
<WORDBOX name="WordBox32_1" alignment="baseline" baselineType="leftleft" text=" "/>
</LAYOUTNODE>
<rtl:match nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match name="Group seccion" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<MINIPAGE name="SECCION" width="max" length="min" alignment="near" fontSize="10">
<LAYOUTNODE name="Layout Node5" width="max" length="min">
<rtl:input-variable name="xseccion" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="xseccion Value" alignment="baseline" fontBold="true" baselineType="leftleft" text="{{xseccion}}"/>
<WORDBOX name="WordBox33_1" alignment="baseline" baselineType="leftleft" text=" "/>
</LAYOUTNODE>
<MINIPAGE name="TRAMO" width="max" length="min" alignment="near" fontSize="10">
<LAYOUTNODE name="Layout Node6" width="max" length="min">
<rtl:input-variable name="xtramo" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="xtramo Value" alignment="baseline" fontItalic="true" baselineType="leftleft" text="{{xtramo}}"/>
<WORDBOX name="WordBox34_1" length=".5cm" alignment="baseline" baselineType="leftleft" text=" "/>
</LAYOUTNODE>
<rtl:match nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match nameConstraint="OnEveryRow" minOccurs="0" maxOccurs="unbounded">
<rtl:match name="Group tramo" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match name="Group porigen" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match name="Group cod_n" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match name="Group cod_grupo" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match name="Group cod_tipo" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match name="Group cod_Sec" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match name="OnEveryRow" nameConstraint="OnEveryRow" minOccurs="0" maxOccurs="unbounded">
<MINIPAGE name="Table Row" width="min" length="max" alignment="baseline" fontSize="7" layoutDirection="leftToRight">
<WORDBOX name="pcodigo Value" width="2.8cm" anchorX="0" anchorY="0" alignment="baseline" fontSize="8" baselineType="leftleft" text="{{pcodigo}}"/>
<rtl:input-variable name="pcodigo" type="FGLString" expectedLocation="expectedHere"/>
<WORDWRAPBOX name="WordWrapBox" width="width(&quot;M&quot;)*14" alignment="baseline" floatingBehavior="enclosed" text="{{pcodigo}}"/>
<rtl:input-variable name="x.descripcion" type="FGLString" expectedLocation="expectedHere"/>
<WORDWRAPBOX name="x.descripcion Value" width="width(&quot;M&quot;)*25" anchorX="0" anchorY="0" alignment="baseline" baselineType="leftleft" text="{{x.descripcion}}"/>
<rtl:input-variable name="x.unidad_med" type="FGLString" expectedLocation="expectedHere"/>
<WORDBOX name="x.unidad_med Value" width="1cm" anchorX="0" anchorY="0" alignment="baseline" baselineType="leftleft" text="{{x.unidad_med}}"/>
<rtl:input-variable name="x.fisico" type="FGLNumeric" expectedLocation="expectedHere"/>
<DECIMALFORMATBOX name="x.fisico Value" width="1cm" anchorX="1" anchorY="0" alignment="baseline" baselineType="leftleft" textAlignment="right" format="###,###,##&amp;.&amp;&amp;" value="{{x.fisico}}"/>
<rtl:input-variable name="x.teorico" type="FGLNumeric" expectedLocation="expectedHere"/>
<DECIMALFORMATBOX name="x.teorico Value" width="1.5cm" anchorX="1" anchorY="0" alignment="baseline" baselineType="leftleft" textAlignment="right" format="(((,(((,(#&amp;.&amp;&amp;)" value="{{x.teorico}}"/>
<rtl:input-variable name="x.diferencia" type="FGLNumeric" expectedLocation="expectedHere"/>
<DECIMALFORMATBOX name="x.diferencia Value" width="2cm" anchorX="1" anchorY="0" alignment="baseline" color="{{x.diferencia&lt;0?Color.RED:Color.BLACK}}" baselineType="leftleft" textAlignment="right" format="(((,(#&amp;.&amp;&amp;)" value="{{x.diferencia}}"/>
<rtl:input-variable name="x.costo" type="FGLNumeric" expectedLocation="expectedHere"/>
<DECIMALFORMATBOX name="x.costo Value" width="2cm" anchorX="1" anchorY="0" alignment="baseline" baselineType="leftleft" textAlignment="right" format="###,###,##&amp;.&amp;&amp;" value="{{x.costo}}"/>
<rtl:input-variable name="x.valor1" type="FGLNumeric" expectedLocation="expectedHere"/>
<DECIMALFORMATBOX name="x.valor1 Value" width="2.5cm" anchorX="1" anchorY="0" alignment="baseline" baselineType="leftleft" textAlignment="center" format="(((,(((,((&amp;.&amp;&amp;)" value="{{x.valor1}}"/>
<rtl:input-variable name="x.valor2" type="FGLNumeric" expectedLocation="expectedHere"/>
<DECIMALFORMATBOX name="x.valor2 Value" width="2cm" anchorX="1" anchorY="0" alignment="baseline" color="{{x.valor2&lt;0?Color.RED:Color.BLACK}}" baselineType="leftleft" textAlignment="right" format="(((,(((,(#&amp;.&amp;&amp;)" value="{{x.valor2}}"/>
</MINIPAGE>
<rtl:match name="If" nameConstraint="If" minOccurs="1" maxOccurs="1">
<rtl:match name="IfThen" nameConstraint="IfThen" minOccurs="0" maxOccurs="1">
<LAYOUTNODE name="LayoutNode21" width="min" length="min" bgColor="#8f8f8f" fontSize="7" fontBold="true" layoutDirection="leftToRight" floatingBehavior="enclosed" roundedCorners="true" borderWidth="1" borderStyle="solid">
<WORDBOX name="WordBox" width="2cm" floatingBehavior="enclosed" textAlignment="right" text="Ancho"/>
<WORDBOX name="WordBox48" width="2cm" floatingBehavior="enclosed" textAlignment="right" text="Largo"/>
<WORDBOX name="WordBox49" width="2cm" floatingBehavior="enclosed" textAlignment="right" text="Espesor"/>
<WORDBOX name="WordBox50" width="2cm" floatingBehavior="enclosed" textAlignment="right" text="Unidad"/>
<WORDBOX name="WordBox51" width="2cm" floatingBehavior="enclosed" textAlignment="right" text="Medida"/>
<WORDBOX name="WordBox52" width="3cm" floatingBehavior="enclosed" textAlignment="center" text="Tono"/>
<WORDBOX name="WordBox53" width="3cm" floatingBehavior="enclosed" textAlignment="center" text="Calidad"/>
<WORDBOX name="WordBox54" floatingBehavior="enclosed" text="Ubicacion"/>
<WORDBOX name="WordBox55" floatingBehavior="enclosed" text="Ubicacion"/>
</LAYOUTNODE>
<rtl:match name="Foreach" nameConstraint="Foreach" minOccurs="1" maxOccurs="1">
<rtl:match name="ForeachItem" nameConstraint="ForeachItem" minOccurs="0" maxOccurs="unbounded">
<rtl:input-variable name="desglose" type="FGLString" expectedLocation="expectedBefore"/>
<LAYOUTNODE name="LayoutNode20" rtl:condition="desglose==&quot;SI&quot;" width="min" length="min" fontSize="7" floatingBehavior="enclosed" roundedCorners="false" borderWidth="1" borderStyle="none">
<MINIPAGE name="MiniPage" width="min" length="max" layoutDirection="leftToRight">
<rtl:input-variable name="kdatos.lado_1" type="FGLNumeric" expectedLocation="expectedHere"/>
<DECIMALFORMATBOX name="kdatos.lado_1 Value" class="grwNumericValue" width="2cm" anchorX="1" floatingBehavior="enclosed" textAlignment="right" format="--,---,--&amp;.&amp;&amp;" value="{{kdatos.lado_1}}"/>
<rtl:input-variable name="kdatos.lado_2" type="FGLNumeric" expectedLocation="expectedHere"/>
<DECIMALFORMATBOX name="kdatos.lado_2 Value" class="grwNumericValue" width="2cm" anchorX="1" floatingBehavior="enclosed" textAlignment="right" format="--,---,--&amp;.&amp;&amp;" value="{{kdatos.lado_2}}"/>
<rtl:input-variable name="kdatos.lado_3" type="FGLNumeric" expectedLocation="expectedHere"/>
<DECIMALFORMATBOX name="kdatos.lado_3 Value" class="grwNumericValue" width="2cm" anchorX="1" floatingBehavior="enclosed" textAlignment="right" format="--,---,--&amp;.&amp;&amp;" value="{{kdatos.lado_3}}"/>
<rtl:input-variable name="kdatos.cantidad" type="FGLNumeric" expectedLocation="expectedHere"/>
<DECIMALFORMATBOX name="kdatos.cantidad Value" class="grwNumericValue" width="2cm" anchorX="1" floatingBehavior="enclosed" textAlignment="right" format="-------------&amp;.&amp;&amp;" value="{{kdatos.cantidad}}"/>
<rtl:input-variable name="kdatos.cantidad2" type="FGLNumeric" expectedLocation="expectedHere"/>
<DECIMALFORMATBOX name="kdatos.cantidad2 Value" class="grwNumericValue" width="2cm" anchorX="1" floatingBehavior="enclosed" textAlignment="right" format="-------------&amp;.&amp;&amp;" value="{{kdatos.cantidad2}}"/>
<rtl:input-variable name="kdatos.tono" type="FGLString" expectedLocation="expectedHere"/>
<WORDWRAPBOX name="kdatos.tono Value" class="grwStringValue" width="width(&quot;M&quot;)*10" floatingBehavior="enclosed" text="{{kdatos.tono}}" textAlignment="right"/>
<rtl:input-variable name="kdatos.calidad" type="FGLString" expectedLocation="expectedHere"/>
<WORDWRAPBOX name="kdatos.calidad Value" class="grwStringValue" width="width(&quot;M&quot;)*14" floatingBehavior="enclosed" text="{{kdatos.calidad}}" textAlignment="right"/>
<rtl:input-variable name="dseccion" type="FGLString" expectedLocation="expectedHere"/>
<rtl:input-variable name="dtramo" type="FGLString" expectedLocation="expectedHere"/>
<WORDBOX name="WordBox56" width="2.8cm" floatingBehavior="enclosed" textAlignment="right" text="{{dseccion.trim()+&quot; &quot;+dtramo.trim()}}"/>
</MINIPAGE>
</LAYOUTNODE>
</rtl:match>
</rtl:match>
</rtl:match>
</rtl:match>
</rtl:match>
</rtl:match>
</rtl:match>
</rtl:match>
</rtl:match>
</rtl:match>
<rtl:input-variable name="chtipo" type="FGLString" expectedLocation="expectedBefore"/>
<MINIPAGE name="TOTALTRAMO" rtl:condition="chtipo==&quot;CONTEO&quot;" width="max-1cm" length="min" alignment="near" fontSize="9" layoutDirection="topToBottom">
<WORDBOX name="SPACIO" length="1cm" alignment="baseline" baselineType="leftleft" text=" "/>
<LAYOUTNODE name="Layout Node12" width="min" length="min" layoutDirection="leftToRight">
<rtl:input-variable name="xtramo" type="FGLString" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox25" width="200" alignment="baseline" baselineType="leftleft" text="{{&quot;TOTAL &quot;+xtramo}}"/>
<rtl:input-variable name="total_tramo" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox26" alignment="baseline" baselineType="leftleft" text="{{total_tramo.format(&quot;(((,((#.##)&quot;)}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="Layout Node9" width="min" length="min" layoutDirection="leftToRight">
<WORDBOX name="WordBox17" width="200" alignment="baseline" baselineType="leftleft" text="TOTAL REGISTROS"/>
<rtl:input-variable name="ttotal_registros" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox20" alignment="baseline" baselineType="leftleft" text="{{ttotal_registros.format(&quot;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&quot;)}}"/>
</LAYOUTNODE>
</MINIPAGE>
@@ -103,11 +170,14 @@
</MINIPAGE>
<MINIPAGE name="TOTALSECCION" width="max-1cm" length="min" fontSize="9" layoutDirection="topToBottom">
<LAYOUTNODE name="Layout Node8" width="min" length="min" layoutDirection="leftToRight">
<rtl:input-variable name="xseccion" type="FGLString" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox16" width="200" alignment="baseline" baselineType="leftleft" text="{{&quot;TOTAL &quot;+xseccion}}"/>
<rtl:input-variable name="total_seccion" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox19_1" alignment="baseline" baselineType="leftleft" text="{{total_seccion.format(&quot;(((,((#.##)&quot;)}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="Layout Node11" width="min" length="min" layoutDirection="leftToRight">
<WORDBOX name="WordBox23" width="200" alignment="baseline" baselineType="leftleft" text="TOTAL REGISTROS"/>
<rtl:input-variable name="stotal_registros" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox24" alignment="baseline" baselineType="leftleft" text="{{stotal_registros.format(&quot;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&quot;)}}"/>
</LAYOUTNODE>
</MINIPAGE>
@@ -115,11 +185,14 @@
</MINIPAGE>
<MINIPAGE name="TOTALALMACEN" width="max-1cm" length="min" fontSize="9" layoutDirection="topToBottom">
<LAYOUTNODE name="Layout Node7" width="min" length="min" layoutDirection="leftToRight">
<rtl:input-variable name="xalmacen" type="FGLString" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox15" width="200" alignment="baseline" baselineType="leftleft" text="{{&quot;TOTAL &quot;+xalmacen}}"/>
<WORDBOX name="WordBox18" alignment="baseline" baselineType="leftleft" text="{{total_general1.format(&quot;(((,((#.##)&quot;)}}"/>
<rtl:input-variable name="total_almacen" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox18" alignment="baseline" baselineType="leftleft" text="{{total_almacen.format(&quot;(((,((#.##)&quot;)}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="Layout Node10" width="min" length="min" layoutDirection="leftToRight">
<WORDBOX name="WordBox21" width="200" alignment="baseline" baselineType="leftleft" text="{{&quot;TOTAL REGISTROS &quot;}}"/>
<rtl:input-variable name="numero_registros" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox22" alignment="baseline" baselineType="leftleft" text="{{numero_registros.format(&quot;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&quot;)}}"/>
</LAYOUTNODE>
</MINIPAGE>
@@ -135,10 +208,15 @@
</MINIPAGE>
<MINIPAGE name="MiniPage15" width="min" length="min" alignment="near"/>
<MINIPAGE name="MiniPage16" width="min" length="min">
<rtl:input-variable name="total_fisico" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox40" alignment="baseline" baselineType="leftleft" text="{{total_fisico.format(&quot;(,(((,(((,((&amp;.##)&quot;)}}"/>
<rtl:input-variable name="total_teorico" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox41_1" alignment="baseline" baselineType="leftleft" text="{{total_teorico.format(&quot;(,(((,(((,((&amp;.##)&quot;)}}"/>
<rtl:input-variable name="total_general" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox42" alignment="baseline" baselineType="leftleft" text="{{total_general.format(&quot;((,(((,((&amp;.##)&quot;)}}"/>
<rtl:input-variable name="total_g_material" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox43_1" alignment="baseline" baselineType="leftleft" text="{{total_g_material.format(&quot;(((,(((,(##.##)&quot;)}}"/>
<rtl:input-variable name="total_g_material_libro" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox44" alignment="baseline" baselineType="leftleft" text="{{total_g_material_libro.format(&quot;(((,(((,(##.##)&quot;)}}"/>
</MINIPAGE>
</LAYOUTNODE>
+1 -1
View File
@@ -16,7 +16,7 @@
<MINIPAGE name="MiniPage" width="min" length="min">
<rtl:match name="OnEveryRow" nameConstraint="OnEveryRow" minOccurs="0" maxOccurs="unbounded">
<MINIPAGE name="MiniPage1" width="min" length="min" alignment="near">
<IMAGEBOX name="ImageBox" width="1.9inch" length=".6inch" port="anyPageHeader" floatingBehavior="enclosed" url="{{&quot;file:///E:/MARMOTECHC/BIN320/IMAGENES/Logo_dcm.png&quot;}}" intendedResolution="50"/>
<IMAGEBOX name="ImageBox" width="1.9inch" length=".6inch" port="anyPageHeader" floatingBehavior="enclosed" url="{{&quot;IMAGENES/Logo_DCM.png&quot;}}" intendedResolution="50"/>
<LAYOUTNODE name="LayoutNode" width="min" length="max" color="#909090" fontSize="7" fontBold="true" layoutDirection="leftToRight" floatingBehavior="enclosed">
<rtl:input-variable name="p_companias.direccion" type="FGLString" expectedLocation="expectedHere"/>
<WORDBOX name="WordBox" width="max" fontBold="true" floatingBehavior="enclosed" textAlignment="center" text="{{p_companias.direccion.trim()}}"/>
+1 -1
View File
@@ -15,7 +15,7 @@
<MINIPAGE name="Page Root" width="max" length="min">
<MINIPAGE name="MiniPage" width="min" length="min">
<MINIPAGE name="MiniPage1" width="min" length="min">
<IMAGEBOX name="ImageBox" width="1.9inch" length=".6inch" alignment="near" floatingBehavior="enclosed" url="{{&quot;file:///E:/MARMOTECHC/BIN320/IMAGENES/Logo_DCM.png&quot;}}" intendedResolution="50"/>
<IMAGEBOX name="ImageBox" width="1.9inch" length=".6inch" alignment="near" floatingBehavior="enclosed" url="{{&quot;IMAGENES/Logo_DCM.png&quot;}}" intendedResolution="50"/>
<LAYOUTNODE name="LayoutNode" width="min" length="max" color="#909090" fontSize="6.5" fontBold="true" layoutDirection="leftToRight" floatingBehavior="enclosed">
<rtl:input-variable name="p_companias.direccion" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox" width="max" fontBold="true" floatingBehavior="enclosed" textAlignment="center" text="{{p_companias.direccion.trim()}}"/>
+1 -1
View File
@@ -15,7 +15,7 @@
<MINIPAGE name="Page Root" width="max" length="max">
<rtl:match name="OnEveryRow" nameConstraint="OnEveryRow" minOccurs="0" maxOccurs="unbounded">
<LAYOUTNODE name="Layout Node2" width="min" length="min">
<IMAGEBOX name="ImageBox3" width="5cm" length="1.5cm" url="{{&quot;file:///E:/MARMOTECHC/BIN320/IMAGENES/LOGO_DCM.png&quot;}}" intendedResolution="111"/>
<IMAGEBOX name="ImageBox3" width="5cm" length="1.5cm" url="{{&quot;IMAGENES/Logo_DCM.png&quot;}}" 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">
+1 -1
View File
@@ -18,7 +18,7 @@
<LAYOUTNODE name="Layout Node9" y="max-33.3652" width="214.531" length="26.3906" anchorY="1" alignment="center" layoutDirection="topToBottom" floatingBehavior="free">
<WORDBOX name="WordBox9" width="213.984" length="14.3281" alignment="far" fontSize="20" fontBold="true" underline="true" layoutDirection="topToBottom" baselineType="leftleft" textAlignment="center" text="PRODUCCIÓN DIARIA" trimText="both"/>
</LAYOUTNODE>
<IMAGEBOX name="ImageBox1_1" y="40.5932" width="221.836" length="92.4741" floatingBehavior="enclosed" url="file:///E:/MARMOTECHC/IMAGENES/logo.png" intendedResolution="120"/>
<IMAGEBOX name="ImageBox1_1" y="40.5932" width="221.836" length="92.4741" floatingBehavior="enclosed" url="IMAGENES/Logo.png" intendedResolution="120"/>
</MINIPAGE>
<MINIPAGE name="StripeLayouter12" width=".5cm" layoutDirection="leftToRight"/>
<MINIPAGE name="StripeLayouter13" width="min" alignment="near" layoutDirection="leftToRight">
+1 -1
View File
@@ -15,7 +15,7 @@
<MINIPAGE name="Page Root" width="max" length="max" lengthAdjustment="shrinkToChildren" layoutDirection="topToBottom" swapX="false">
<rtl:match name="Group num_emp" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<MINIPAGE name="encabezado" width="max" length="min" alignment="near" layoutDirection="topToBottom" floatingBehavior="free">
<IMAGEBOX name="ImageBox1" width="77.9666" alignment="near" url="{{&quot;file:///C://Users//jsoto//Documents//PROYECTOS//BDL320//MARMOTECH//PROYECTO//bin//IMAGENES//LOGO_DCM.PNG&quot;}}" intendedResolution="96"/>
<IMAGEBOX name="ImageBox1" width="77.9666" alignment="near" url="{{&quot;IMAGENES/Logo_DCM.png&quot;}}" intendedResolution="96"/>
<LAYOUTNODE name="Layout Node6" width="min" length="max" fontBold="true" layoutDirection="leftToRight">
<rtl:input-variable name="c_entra.nombre_tipo" type="FGLString" expectedLocation="expectedHere"/>
<WORDBOX name="WordBox10" alignment="near" baselineType="leftleft" text="{{&quot;TIPO NOMINA: &quot;+c_entra.nombre_tipo}}"/>
+1 -1
View File
@@ -13,7 +13,7 @@
<rtl:match nameConstraint="Report">
<MINIPAGE name="Page Root" width="max" length="max">
<LAYOUTNODE name="LayoutNode" width="min" length="max" layoutDirection="leftToRight" floatingBehavior="enclosed">
<IMAGEBOX name="ImageBox" width="4cm" length="2.7cm" floatingBehavior="enclosed" url="{{&quot;file:///F:/master/imagenes/genero_logo.png&quot;}}" intendedResolution="120"/>
<IMAGEBOX name="ImageBox" width="4cm" length="2.7cm" floatingBehavior="enclosed" url="{{&quot;IMAGENES/genero_logo.png&quot;}}" intendedResolution="120"/>
<rtl:input-variable name="p_compania.nombre" type="FGLString" expectedLocation="expectedAhead"/>
<WORDWRAPBOX name="p_compania.nombre Value" width="max-7cm" floatingBehavior="enclosed" text="{{p_compania.nombre}}" textAlignment="center"/>
<rtl:input-variable name="fecha" type="FGLString" expectedLocation="expectedAhead"/>
+1 -1
View File
@@ -15,7 +15,7 @@
<MINIPAGE name="MiniPage1" width="max" length="min" fontName="Arial">
<LAYOUTNODE name="Layout Node7" width="min" length="min" swapX="true" port="firstPageHeader">
<MINIPAGE name="StripeLayouter11" width="min" layoutDirection="leftToRight">
<IMAGEBOX name="ImageBox1" y="14.2264" width="5cm" length="3cm" floatingBehavior="enclosed" url="{{&quot;file:///E:/MARMOTECHC/BIN320/IMAGENES/Logo_DCM.PNG&quot;}}" intendedResolution="120"/>
<IMAGEBOX name="ImageBox1" y="14.2264" width="5cm" length="3cm" floatingBehavior="enclosed" url="{{&quot;IMAGENES/Logo_DCM.png&quot;}}" intendedResolution="120"/>
<LAYOUTNODE name="Layout Node9" y="max-5cm" width="min" length="min" anchorY="1" floatingBehavior="enclosed">
<rtl:input-variable name="p_companias.nombre" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox9" alignment="near" fontBold="true" baselineType="leftleft" text="{{p_companias.nombre.trim()}}"/>
+1 -1
View File
@@ -16,7 +16,7 @@
<LAYOUTNODE name="Layout Node7" width="min" length="min" swapX="true" port="firstPageHeader">
<MINIPAGE name="StripeLayouter11" width="min" layoutDirection="leftToRight">
<LAYOUTNODE name="Layout Node8" y=".5cm" width="4cm" length="min" bgColor="#c0c0c0" swapX="true" floatingBehavior="enclosed"/>
<IMAGEBOX name="ImageBox1" y="14.2264" width="4cm" length="3cm" floatingBehavior="enclosed" url="{{&quot;file:///C:/Users/jsoto/Documents/PROYECTOS/BDL320/MARMOTECH/PROYECTO/bin/IMAGENES/Logo_DCM.PNG&quot;}}" intendedResolution="120"/>
<IMAGEBOX name="ImageBox1" y="14.2264" width="4cm" length="3cm" floatingBehavior="enclosed" url="{{&quot;IMAGENES/Logo_DCM.png&quot;}}" intendedResolution="120"/>
<LAYOUTNODE name="Layout Node9" y="max-29.9908" width="min" length="min" anchorY="1" fontSize="12" floatingBehavior="enclosed">
<rtl:input-variable name="p_companias.nombre" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox9" alignment="near" fontBold="true" baselineType="leftleft" text="{{p_companias.nombre.trim()}}"/>
+1 -1
View File
@@ -20,7 +20,7 @@
<rtl:input-variable name="visualiza" type="FGLString" expectedLocation="expectedAhead"/>
<LAYOUTNODE name="LayoutNode40" rtl:condition="visualiza==&quot;SI&quot;" width="min" length="min" alignment="far" layoutDirection="topToBottom" floatingBehavior="enclosed">
<LAYOUTNODE name="imagen" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<IMAGEBOX name="ImageBox1_1_1" length="70" alignment="near" floatingBehavior="enclosed" url="{{&quot;file:///C:/Users/jsoto/Documents/PROYECTOS/BDL320/MARMOTECH/PROYECTO/bin/IMAGENES/logo.png&quot;}}" intendedResolution="120"/>
<IMAGEBOX name="ImageBox1_1_1" length="70" alignment="near" floatingBehavior="enclosed" url="{{&quot;IMAGENES/Logo.png&quot;}}" intendedResolution="120"/>
</LAYOUTNODE>
<LAYOUTNODE name="infocia" width="min" length="min" anchorY="1" fontSize="12" floatingBehavior="enclosed">
<rtl:input-variable name="sucnombre" type="FGLString" expectedLocation="expectedAhead"/>
+1 -1
View File
@@ -21,7 +21,7 @@
<LAYOUTNODE name="Encabezado" width="min" length="max" alignment="near" layoutDirection="leftToRight" floatingBehavior="enclosed">
<LAYOUTNODE name="LayoutNode40" width="min" length="min" alignment="far" layoutDirection="topToBottom" floatingBehavior="enclosed">
<LAYOUTNODE name="imagen" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<IMAGEBOX name="ImageBox1_1_1" length="70" alignment="near" floatingBehavior="enclosed" url="{{&quot;file:///E:/MARMOTECHC/BIN320/IMAGENES/logo.png&quot;}}" intendedResolution="120"/>
<IMAGEBOX name="ImageBox1_1_1" length="70" alignment="near" floatingBehavior="enclosed" url="{{&quot;IMAGENES/Logo.png&quot;}}" intendedResolution="120"/>
</LAYOUTNODE>
<LAYOUTNODE name="infocia" width="min" length="min" anchorY="1" fontSize="12" floatingBehavior="enclosed">
<WORDBOX name="WordBox9" alignment="near" fontBold="true" baselineType="leftleft" text="{{sucnombre.trim()}}"/>
+1 -1
View File
@@ -19,7 +19,7 @@
<LAYOUTNODE name="LayoutNode35" width="min" length="max" alignment="near" layoutDirection="leftToRight" floatingBehavior="enclosed">
<LAYOUTNODE name="LayoutNode40" width="min" length="min" alignment="far" layoutDirection="topToBottom" floatingBehavior="enclosed">
<LAYOUTNODE name="imagen" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<IMAGEBOX name="ImageBox1_1_1" length="70" alignment="near" floatingBehavior="enclosed" url="{{&quot;file:///F:/MARMOTECHC/BIN320/IMAGENES/logo.png&quot;}}" intendedResolution="120"/>
<IMAGEBOX name="ImageBox1_1_1" length="70" alignment="near" floatingBehavior="enclosed" url="{{&quot;IMAGENES/Logo.png&quot;}}" intendedResolution="120"/>
</LAYOUTNODE>
<LAYOUTNODE name="infocia" width="min" length="min" anchorY="1" fontSize="12" floatingBehavior="enclosed">
<rtl:input-variable name="sucnombre" type="FGLString" expectedLocation="expectedAhead"/>
+1 -1
View File
@@ -15,7 +15,7 @@
<MINIPAGE name="Page Root" width="max" length="min" alignment="near">
<MINIPAGE name="ENCABEZADOSGRAL" width="130" length="560.485" alignment="center" fontSize="9" layoutDirection="leftToRight">
<rtl:input-variable name="y.monto_itbis" type="FGLNumeric" expectedLocation="expectedAhead"/>
<IMAGEBOX name="ImageBox4" rtl:condition="y.monto_itbis&gt;0" x="0" y="-11.5843" width="4cm" length="2.7cm" anchorX="0" anchorY="0" url="{{&quot;file:///E:/MARMOTECHC/BIN320/imagenes/logo.png&quot;}}" intendedResolution="96"/>
<IMAGEBOX name="ImageBox4" rtl:condition="y.monto_itbis&gt;0" x="0" y="-11.5843" width="4cm" length="2.7cm" anchorX="0" anchorY="0" url="{{&quot;IMAGENES/Logo.png&quot;}}" intendedResolution="96"/>
<rtl:input-variable name="y.monto_itbis" type="FGLNumeric" expectedLocation="expectedAhead"/>
<LAYOUTNODE name="Layout Node8" rtl:condition="y.monto_itbis&gt;0" y="max-7.5cm" width="8cm" length="min" anchorY="1" floatingBehavior="enclosed">
<rtl:input-variable name="p_companias.nombre" type="FGLString" expectedLocation="expectedAhead"/>
+1 -1
View File
@@ -13,7 +13,7 @@
<rtl:match nameConstraint="Report">
<MINIPAGE name="Page Root" width="max" length="min">
<MINIPAGE name="ENCABEZADOSGRAL" width="130" length="560.485" alignment="center" fontSize="9" layoutDirection="leftToRight">
<IMAGEBOX name="ImageBox4" x="5" y="2" width="4cm" length="2.7cm" anchorX="0" anchorY="0" url="{{&quot;file:///F:/master/imagenes/genero_logo.png&quot;}}" intendedResolution="96"/>
<IMAGEBOX name="ImageBox4" x="5" y="2" width="4cm" length="2.7cm" anchorX="0" anchorY="0" url="{{&quot;IMAGENES/genero_logo.png&quot;}}" intendedResolution="96"/>
<LAYOUTNODE name="Layout Node8" y="max-7.5cm" width="8cm" length="min" anchorY="1" floatingBehavior="enclosed">
<rtl:input-variable name="p_companias.nombre" type="FGLString" expectedLocation="expectedAhead"/>
<WORDWRAPBOX name="p_companias.nombre Value" width="width(&quot;M&quot;)*20" alignment="baseline" fontSize="12" fontBold="true" baselineType="leftleft" text="{{p_companias.nombre}}"/>
+1 -1
View File
@@ -13,7 +13,7 @@
<PXML name="veprrp049.4rp">
<MINIPAGE name="Page Root" width="max" length="min">
<MINIPAGE name="ENCABEZADOSGRAL" width="130" length="560.485" alignment="center" fontSize="9" layoutDirection="leftToRight">
<IMAGEBOX name="ImageBox4" x="7" y="5" width="112.489" length="65.8341" anchorX="0" anchorY="0" url="{{&quot;file:///c:/genero/IMAGENES/LOGO.JPG&quot;}}"></IMAGEBOX>
<IMAGEBOX name="ImageBox4" x="7" y="5" width="112.489" length="65.8341" anchorX="0" anchorY="0" url="{{&quot;IMAGENES/LOGO.JPG&quot;}}"></IMAGEBOX>
<LAYOUTNODE name="Layout Node8" y="max-181.379" width="min" length="min" anchorY="1" floatingBehavior="enclosed">
<WORDWRAPBOX name="p_companias.nombre Value" width="width(&quot;M&quot;)*20" alignment="baseline" fontSize="12" fontBold="true" baselineType="leftleft" text="{{p_companias.nombre}}"></WORDWRAPBOX>
<WORDBOX name="WordBox3" width="144.562" alignment="baseline" fontSize="9" baselineType="leftleft" text="{{p_companias.direccion.value}}"></WORDBOX>
+1 -1
View File
@@ -13,7 +13,7 @@
<rtl:match nameConstraint="Report">
<MINIPAGE name="Page Root" width="max" length="min">
<MINIPAGE name="ENCABEZADOSGRAL" width="130" length="560.485" alignment="center" fontSize="9" layoutDirection="leftToRight">
<IMAGEBOX name="ImageBox4" x="7" y="5" width="97.489" length="66.5841" anchorX="0" anchorY="0" url="{{&quot;file:///f:/master/IMAGENES/LOGO.JPG&quot;}}" intendedResolution="96"/>
<IMAGEBOX name="ImageBox4" x="7" y="5" width="97.489" length="66.5841" anchorX="0" anchorY="0" url="{{&quot;IMAGENES/LOGO.JPG&quot;}}" intendedResolution="96"/>
<LAYOUTNODE name="Layout Node8" y="max-181.379" width="193.25" length="84.75" anchorY="1" floatingBehavior="enclosed">
<rtl:input-variable name="p_companias.nombre" type="FGLString" expectedLocation="expectedAhead"/>
<WORDWRAPBOX name="p_companias.nombre Value" width="width(&quot;M&quot;)*20" alignment="baseline" fontSize="12" fontBold="true" baselineType="leftleft" text="{{p_companias.nombre}}"/>
+1 -1
View File
@@ -13,7 +13,7 @@
<PXML name="veprrp049.4rp">
<MINIPAGE name="Page Root" width="max" length="min">
<MINIPAGE name="ENCABEZADOSGRAL" width="130" length="560.485" alignment="center" fontSize="9" layoutDirection="leftToRight">
<IMAGEBOX name="ImageBox4" x="7" y="5" width="112.489" length="65.8341" anchorX="0" anchorY="0" url="{{&quot;file:///f:/master/IMAGENES/LOGO.JPG&quot;}}"></IMAGEBOX>
<IMAGEBOX name="ImageBox4" x="7" y="5" width="112.489" length="65.8341" anchorX="0" anchorY="0" url="{{&quot;IMAGENES/LOGO.JPG&quot;}}"></IMAGEBOX>
<LAYOUTNODE name="Layout Node8" y="max-181.379" width="min" length="min" anchorY="1" floatingBehavior="enclosed">
<WORDWRAPBOX name="p_companias.nombre Value" width="width(&quot;M&quot;)*20" alignment="baseline" fontSize="12" fontBold="true" baselineType="leftleft" text="{{p_companias.nombre}}"></WORDWRAPBOX>
<WORDBOX name="WordBox3" width="6cm" alignment="baseline" fontSize="9" baselineType="leftleft" text="{{p_companias.direccion.value}}"></WORDBOX>
+38 -33
View File
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<ManagedForm fileVersion="31400" gstVersion="31408" name="ManagedForm" uid="{31f07807-66ff-4015-b438-54609b9d94d1}">
<ManagedForm fileVersion="31400" gstVersion="3140a" name="ManagedForm" uid="{31f07807-66ff-4015-b438-54609b9d94d1}">
<AGSettings>
<DynamicProperties version="2"/>
</AGSettings>
@@ -7,41 +7,46 @@
<RecordField colName="" fieldIdRef="1" name="ano" sqlTabName="" table_alias_name="" uid="{29b3c62f-3acc-4fe5-9519-691b62244513}"/>
<RecordField colName="" fieldIdRef="3" name="tasa" sqlTabName="" table_alias_name="" uid="{335a3faf-3971-46cf-8682-b2a0d26d0ce4}"/>
<RecordField colName="" fieldIdRef="4" name="ventas" sqlTabName="" table_alias_name="" uid="{0d44db9e-8bb3-4234-b3e1-a451631885b0}"/>
<RecordField colName="" fieldIdRef="5" name="tipo_cliente" sqlTabName="" table_alias_name="" uid="{cc62abbe-1941-48fd-8d4f-24abf68a16f5}"/>
<RecordField colName="" fieldIdRef="6" name="mes" sqlTabName="" table_alias_name="" uid="{5dd5469e-a72f-405c-8e6a-fcf39b9979ec}"/>
<RecordField colName="" defaultValue="1" fieldIdRef="6" name="mes" sqlTabName="" table_alias_name="" uid="{5dd5469e-a72f-405c-8e6a-fcf39b9979ec}"/>
<RecordField defaultValue="NO" fieldIdRef="5" length="2" name="replica" uid="{3c059da6-3a31-4a3c-862c-89bcdd2a39a9}"/>
</Record>
<Record name="record1" uid="{cabacd20-e0a8-493e-be77-0cba78915dc5}">
<RecordField fieldIdRef="2" name="edit1" uid="{bd6d1cf9-069e-4b14-a608-c0150c908861}"/>
<RecordField fieldIdRef="7" name="edit2" uid="{909aebc3-d3fe-4f9d-923d-2f68fd9cd476}"/>
<Record name="sclientes" uid="{18e4456d-6a83-49cb-89b4-6ddc390b0f50}">
<RecordField fieldIdRef="2" name="tipo_cliente1" uid="{a893fece-c46b-4a9a-b5c1-d9057eef321e}"/>
<RecordField fieldIdRef="7" name="tasa1" uid="{1cdfd2ef-c515-4ff7-8cb6-2d8b8b7ff397}"/>
</Record>
<Form gridHeight="25" gridWidth="97" name="Form" text="ADMINISTRACION TASA">
<Folder gridHeight="18" gridWidth="64" name="folder1" posX="2" posY="2">
<Page name="page1" text="page1">
<Grid gridHeight="12" gridWidth="60" name="grid2" posX="2" posY="3">
<Table gridHeight="6" gridWidth="19" name="table1" posX="6" posY="3" totalRows="5">
<Edit fieldId="2" gridHeight="1" gridWidth="8" name="edit1" posX="0" posY="0" tabIndex="-1" title="edit1" widget="Edit"/>
<Edit fieldId="7" gridHeight="1" gridWidth="8" name="edit2" posX="8" posY="0" tabIndex="-1" title="edit2" widget="Edit"/>
</Table>
</Grid>
</Page>
<Page name="page2" text="page2">
<Grid gridHeight="14" gridWidth="39" name="Grid1" posX="1" posY="1">
<Label gridHeight="1" gridWidth="26" name="Label6" posX="4" posY="1" text="ADMINISTRACION TASAS"/>
<Label gridHeight="1" gridWidth="10" name="Label1" posX="5" posY="3" text="Ano"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" fieldId="1" gridHeight="1" gridWidth="10" name="ano" posX="17" posY="3" sqlTabName="" tabIndex="1" table_alias_name="" title="Edit1" widget="Edit"/>
<Label gridHeight="1" gridWidth="10" name="Label2" posX="5" posY="4" text="Mes"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" fieldId="6" gridHeight="1" gridWidth="10" name="mes" posX="17" posY="4" sqlTabName="" tabIndex="5" table_alias_name="" title="Edit1" widget="Edit"/>
<Label gridHeight="1" gridWidth="10" name="Label3" posX="5" posY="5" text="Moneda"/>
<ComboBox aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" comment="Digite 1- VENTAS LOCALIES" fieldId="4" gridHeight="1" gridWidth="18" items="" name="ventas" posX="17" posY="5" sqlTabName="" tabIndex="3" table_alias_name="" title="Edit1" widget="ComboBox"/>
<Label gridHeight="1" gridWidth="10" name="Label4" posX="5" posY="6" text="Tipo Cuenta"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" fieldId="5" gridHeight="1" gridWidth="10" name="tipo_cliente" posX="17" posY="6" sqlTabName="" tabIndex="4" table_alias_name="" title="Edit1" widget="Edit"/>
<Label gridHeight="1" gridWidth="10" name="Label5" posX="5" posY="7" text="Tasa"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" fieldId="3" gridHeight="1" gridWidth="10" name="tasa" posX="17" posY="7" sqlTabName="" tabIndex="2" table_alias_name="" title="Edit1" widget="Edit"/>
</Grid>
</Page>
</Folder>
<Form gridHeight="25" gridWidth="80" name="Form" text="ADMINISTRACION TASA">
<Grid gridHeight="18" gridWidth="39" name="Grid1" posX="8" posY="3">
<Label gridHeight="1" gridWidth="26" name="Label6" posX="4" posY="1" text="ADMINISTRACION TASAS"/>
<Label gridHeight="1" gridWidth="10" name="Label1" posX="5" posY="3" text="Ano"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" fieldId="1" gridHeight="1" gridWidth="10" name="ano" posX="17" posY="3" sqlTabName="" tabIndex="1" table_alias_name="" title="Edit1" widget="Edit"/>
<Label gridHeight="1" gridWidth="10" name="Label2" posX="5" posY="4" text="Mes"/>
<ComboBox aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" defaultValue="1" fieldId="6" gridHeight="1" gridWidth="18" items="ENERO, FEBRERO, MARZO, ABRIL, MAYO, JUNIO, JULIO, AGOSTO, SEPTIEMBRE, OCTUBRE, NOVIEMBRE, DICIEMBRE" name="mes" posX="17" posY="4" sqlTabName="" tabIndex="4" table_alias_name="" title="Edit1" widget="ComboBox">
<Item lstrtext="false" name="1" text="ENERO"/>
<Item lstrtext="false" name="2" text="FEBRERO"/>
<Item lstrtext="false" name="3" text="MARZO"/>
<Item lstrtext="false" name="4" text="ABRIL"/>
<Item lstrtext="false" name="5" text="MAYO"/>
<Item lstrtext="false" name="6" text="JUNIO"/>
<Item lstrtext="false" name="7" text="JULIO"/>
<Item lstrtext="false" name="8" text="AGOSTO"/>
<Item lstrtext="false" name="9" text="SEPTIEMBRE"/>
<Item lstrtext="false" name="10" text="OCTUBRE"/>
<Item lstrtext="false" name="11" text="NOVIEMBRE"/>
<Item lstrtext="false" name="12" text="DICIEMBRE"/>
</ComboBox>
<Label gridHeight="1" gridWidth="10" name="Label3" posX="5" posY="5" text="Moneda"/>
<ComboBox aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" comment="Digite 1- VENTAS LOCALIES" fieldId="4" gridHeight="1" gridWidth="18" items="" name="ventas" posX="17" posY="5" sqlTabName="" tabIndex="3" table_alias_name="" title="Edit1" widget="ComboBox"/>
<Label gridHeight="1" gridWidth="10" name="Label5" posX="5" posY="6" text="Tasa"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" fieldId="3" gridHeight="1" gridWidth="10" name="tasa" posX="17" posY="6" sqlTabName="" tabIndex="2" table_alias_name="" title="Edit1" widget="Edit"/>
<Label gridHeight="1" gridWidth="10" name="label4" posX="5" posY="7" text="Replicar"/>
<CheckBox defaultValue="NO" fieldId="5" gridHeight="1" gridWidth="9" include="SI|NO" length="2" name="replica" notNull="true" posX="17" posY="7" tabIndex="-1" title="checkbox1" valueChecked="SI" valueUnchecked="NO" widget="CheckBox"/>
<Table gridHeight="6" gridWidth="28" name="table1" posX="5" posY="8" totalRows="5">
<Edit fieldId="2" gridHeight="1" gridWidth="8" name="tipo_cliente1" posX="0" posY="0" tabIndex="-1" title="Tipo Cliente" widget="Edit"/>
<Edit fieldId="7" gridHeight="1" gridWidth="11" name="tasa1" posX="8" posY="0" tabIndex="-1" title="Tasa" widget="Edit"/>
</Table>
</Grid>
</Form>
<DiagramLayout>
<![CDATA[AAAAAgAAAEwAewBjAGEAYgBhAGMAZAAyADAALQBlADAAYQA4AC0ANAA5ADMAZQAtAGIAZQA3ADcALQAwAGMAYgBhADcAOAA5ADEANQBkAGMANQB9QCAAAAQAAABAIAAABAAAAAAAAAAAAAAAAQAAAEwAewAyADYANwBkAGQANwBiADcALQAzAGEAOQA1AC0ANAAwADIAMAAtAGEAYgAyAGEALQBhAGIAOAAyAGQAMgA0ADQANABlADkANwB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQ==]]>
<![CDATA[AAAAAgAAAEwAewAyADYANwBkAGQANwBiADcALQAzAGEAOQA1AC0ANAAwADIAMAAtAGEAYgAyAGEALQBhAGIAOAAyAGQAMgA0ADQANABlADkANwB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAEwAewAxADgAZQA0ADQANQA2AGQALQA2AGEAOAAzAC0ANAA5AGMAYgAtADgAOQBiADQALQA2AGQAZABjADMAOQAwAGIAMABmADUAMAB9QCQAAAAAAABAJAAAAAAAAD9QYk3S8an8AQ==]]>
</DiagramLayout>
</ManagedForm>
+1 -1
View File
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<ManagedForm databaseName="sistemas" fileVersion="31400" gstVersion="31405" name="managedform" uid="{29ca7c1b-b292-45a4-9e5b-d22ba8587f8d}">
<ManagedForm databaseName="smarmotech" fileVersion="31400" gstVersion="31405" name="managedform" uid="{29ca7c1b-b292-45a4-9e5b-d22ba8587f8d}">
<AGSettings>
<DynamicProperties version="2"/>
</AGSettings>
+2 -2
View File
@@ -4,7 +4,7 @@
<Record additionalTables="" joinLeft="" joinOperator="" joinRight="" name="Undefined" order="" uid="{b4e41e18-a1ab-44ca-b0d2-21d63ec0b26b}" where="">
<RecordField colName="fecha_inicial" fieldIdRef="0" name="p_ano" sqlTabName="formonly" sqlType="CHAR" table_alias_name="" uid="{8833f641-6222-46a4-ba92-53eb1fdc87ba}"/>
<RecordField colName="fecha_final" defaultValue="01" fieldIdRef="1" name="p_mes" sqlTabName="formonly" sqlType="CHAR" table_alias_name="" uid="{a63991d6-4abf-4198-b711-b6a40886ffe1}"/>
<RecordField colName="" defaultValue="BALANCE GENERAL" fieldIdRef="2" name="estado" sqlTabName="" table_alias_name="" uid="{07465cbc-3322-43fb-ab48-4f22dde68501}"/>
<RecordField colName="" defaultValue="cgprrp012.4rp" fieldIdRef="2" name="estado" sqlTabName="" table_alias_name="" uid="{07465cbc-3322-43fb-ab48-4f22dde68501}"/>
<RecordField colName="" defaultValue="ACTIVOS" fieldIdRef="3" name="tipo_estado" sqlTabName="" table_alias_name="" uid="{1846db6d-746f-4998-9702-857110865eac}"/>
</Record>
<Form gridHeight="10" gridWidth="55" name="cgfmrp012">
@@ -27,7 +27,7 @@
<Item lstrtext="false" name="12" text="DICIEMBRE"/>
</ComboBox>
<Label gridHeight="1" gridWidth="10" name="Label1" posX="2" posY="3" text="Estado"/>
<ComboBox aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" columnCount="" defaultValue="BALANCE GENERAL" fieldId="2" gridHeight="1" gridWidth="17" items="BALANCE GENERAL, INGRESOS Y EGRESOS" name="estado" posX="17" posY="3" rowCount="" sqlTabName="" stepX="" stepY="" tabIndex="3" table_alias_name="" title="ComboBox1" widget="ComboBox">
<ComboBox aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" columnCount="" defaultValue="cgprrp012.4rp" fieldId="2" gridHeight="1" gridWidth="17" items="BALANCE GENERAL, INGRESOS Y EGRESOS" name="estado" posX="17" posY="3" rowCount="" sqlTabName="" stepX="" stepY="" tabIndex="3" table_alias_name="" title="ComboBox1" widget="ComboBox">
<Item lstrtext="false" name="cgprrp012.4rp" text="BALANCE GENERAL"/>
<Item lstrtext="false" name="cgprrp013.4rp" text="INGRESOS Y EGRESOS"/>
</ComboBox>
+1 -1
View File
@@ -7,7 +7,7 @@ FECHA REALIZADO : Septiembre 28, 1993.
MODULO UTILIZA : cgprmt001
--------------------------------------------------------------------------
}
database marmotech
database smarmotech
screen
{
Consulta departamentos
+1 -1
View File
@@ -126,7 +126,7 @@ FUNCTION cgprcs024()
FROM cgtb00004 a
WHERE (a.ref =a.ref AND a.tipo<>3) AND
(a.cuenta_no = gastos[idx].cuenta_no) AND
(a.fecha BETWEEN fecha_ini_act AND fecha.desde ) AND
(a.fecha >= fecha_ini_act AND a.fecha < fecha.desde) AND -- antes BETWEEN ... AND desde: el dia 'desde' se sumaba tambien en el rango (doble)
(a.departamento = cdepartamentos) AND
a.status_t is NULL
--227-1322-2108
+63 -84
View File
@@ -76,7 +76,7 @@ MAIN
CALL ARG_VAL(3) RETURNING impresor
# LET usuarios = "jsoto"
# LET clave = "1234"
CONNECT TO "marmotech" AS "IFMX" USER usuarios USING clave
# CONNECT TO "marmotech" AS "IFMX" USER usuarios USING clave -- G6: -6366; EXTERIOR se lee cross-DB (exterior.dbo.*)
CONNECT TO "smarmotech" AS "MSSQL" USER usuarios USING clave
SELECT a.* INTO p_compania.* FROM companias a
@@ -126,6 +126,7 @@ FUNCTION cgpcad004()
fecha1, fecha2 DATE,
pdescripcion CHAR(30)
DEFINE l_sql STRING, l_cnt INTEGER -- G6: SQL dinamico cross-DB a EXTERIOR
LET hoy = TODAY
LABEL vuelve:
@@ -199,17 +200,18 @@ FUNCTION cgpcad004()
CALL transac.clear()
END IF
IF cheques = "ED" THEN
SET CONNECTION "IFMX"
-- G6: antes SET CONNECTION "IFMX" (EXTERIOR); ahora cross-DB sobre la conexion unica
INPUT BY NAME xentrada
AFTER FIELD xentrada
IF xentrada IS NULL THEN
CALL msg(16)
NEXT FIELD xentrada
END IF
SELECT DISTINCT a.ref
FROM cgtb00004 a
WHERE a.ref = xentrada AND a.status_t IS NULL
IF STATUS = NOTFOUND THEN
LET l_sql = "SELECT COUNT(*) FROM exterior.dbo.cgtb00004 a",
" WHERE a.ref = ? AND a.status_t IS NULL"
PREPARE p_ex_ed FROM l_sql
EXECUTE p_ex_ed USING xentrada INTO l_cnt
IF l_cnt = 0 OR l_cnt IS NULL THEN
CALL msg(3)
NEXT FIELD xentrada
END IF
@@ -219,19 +221,14 @@ FUNCTION cgpcad004()
LET INT_FLAG = FALSE
EXIT INPUT
ELSE
DECLARE busca_entrada1 CURSOR FOR
SELECT A.CUENTA_NO,
c.DEPARTAMENTO,
SUM(c.DEBITO),
SUM(c.CREDITO)
FROM cgtb00001 a, cgtb00004 c
WHERE a.cuenta_no = c.cuenta_no
AND c.status_t IS NULL
AND c.ref = xentrada
GROUP BY A.CUENTA_NO, c.DEPARTAMENTO
LET l_sql = "SELECT a.cuenta_no, c.departamento, SUM(c.debito), SUM(c.credito)",
" FROM exterior.dbo.cgtb00001 a, exterior.dbo.cgtb00004 c",
" WHERE a.cuenta_no = c.cuenta_no AND c.status_t IS NULL AND c.ref = ?",
" GROUP BY a.cuenta_no, c.departamento"
DECLARE busca_entrada1 CURSOR FROM l_sql
LET idx = 1
FOREACH busca_entrada1
FOREACH busca_entrada1 USING xentrada
INTO transac[idx].cuenta,
transac[idx].departamento,
transac[idx].debito,
@@ -244,15 +241,16 @@ FUNCTION cgpcad004()
END IF
IF cheques = "CK" THEN
SET CONNECTION "IFMX"
-- G6: antes SET CONNECTION "IFMX" (EXTERIOR); ahora cross-DB sobre la conexion unica
INPUT BY NAME fecha1, fecha2, pcuenta_no
AFTER FIELD pcuenta_no
SELECT a.descripcion
INTO pdescripcion
FROM cgtb00001 a
WHERE a.cuenta_no = pcuenta_no AND a.status_t IS NULL
LET l_sql = "SELECT a.descripcion FROM exterior.dbo.cgtb00001 a",
" WHERE a.cuenta_no = ? AND a.status_t IS NULL"
PREPARE p_ex_ck FROM l_sql
LET pdescripcion = NULL
EXECUTE p_ex_ck USING pcuenta_no INTO pdescripcion
IF STATUS = NOTFOUND THEN
IF pdescripcion IS NULL THEN
CALL msg(3)
NEXT FIELD pcuenta_no
END IF
@@ -262,18 +260,15 @@ FUNCTION cgpcad004()
EXIT INPUT
END INPUT
DECLARE busca_cheques CURSOR FOR
SELECT A.CUENTA_NO, c.DEPARTAMENTO, SUM(c.DEBITO), SUM(c.CREDITO)
FROM cgtb00001 a, cgtb00004 c
WHERE a.cuenta_no = c.cuenta_no
AND c.status_t IS NULL
AND c.fecha BETWEEN fecha1 AND fecha2
AND detalles = pcuenta_no
GROUP BY A.CUENTA_NO, c.DEPARTAMENTO
ORDER BY a.cuenta_no
LET l_sql = "SELECT a.cuenta_no, c.departamento, SUM(c.debito), SUM(c.credito)",
" FROM exterior.dbo.cgtb00001 a, exterior.dbo.cgtb00004 c",
" WHERE a.cuenta_no = c.cuenta_no AND c.status_t IS NULL",
" AND c.fecha BETWEEN ? AND ? AND c.detalles = ?",
" GROUP BY a.cuenta_no, c.departamento ORDER BY a.cuenta_no"
DECLARE busca_cheques CURSOR FROM l_sql
LET idx = 1
FOREACH busca_cheques
FOREACH busca_cheques USING fecha1, fecha2, pcuenta_no
INTO transac[idx].cuenta,
transac[idx].departamento,
transac[idx].debito,
@@ -283,7 +278,7 @@ FUNCTION cgpcad004()
END IF
IF cheques = "CP" THEN
SET CONNECTION "IFMX"
-- G6: antes SET CONNECTION "IFMX" (EXTERIOR); ahora cross-DB sobre la conexion unica
INPUT BY NAME pcod_sp, fecha1, fecha2
AFTER FIELD pcod_sp
IF pcod_sp IS NULL THEN
@@ -291,12 +286,10 @@ FUNCTION cgpcad004()
NEXT FIELD pcod_sp
END IF
AFTER FIELD fecha2
SELECT COUNT(*)
INTO registros
FROM cptb00003 a
WHERE a.fecha BETWEEN fecha1 AND fecha2
AND a.cod_sp = pcod_sp
AND a.status_t IS NULL
LET l_sql = "SELECT COUNT(*) FROM exterior.dbo.cptb00003 a",
" WHERE a.fecha BETWEEN ? AND ? AND a.cod_sp = ? AND a.status_t IS NULL"
PREPARE p_ex_cxp FROM l_sql
EXECUTE p_ex_cxp USING fecha1, fecha2, pcod_sp INTO registros
IF registros < 0 OR registros IS NULL THEN
CALL msg(3)
@@ -306,27 +299,15 @@ FUNCTION cgpcad004()
EXIT INPUT
END INPUT
DECLARE busca_cxp CURSOR FOR
SELECT A.CUENTA_NO,
a.DEPARTAMENTO,
a.cod_aux,
a.cod_sec,
a.num_doc,
SUM(a.DEBITO),
SUM(a.CREDITO)
FROM cptb00003 a
WHERE a.status_t IS NULL
AND a.cod_sp = pcod_sp
AND a.fecha BETWEEN fecha1 AND fecha2
GROUP BY A.CUENTA_NO,
a.DEPARTAMENTO,
a.cod_aux,
a.cod_Sec,
a.num_doc
ORDER BY a.num_doc DESC, 6 DESC, 2
LET l_sql = "SELECT a.cuenta_no, a.departamento, a.cod_aux, a.cod_sec, a.num_doc,",
" SUM(a.debito), SUM(a.credito) FROM exterior.dbo.cptb00003 a",
" WHERE a.status_t IS NULL AND a.cod_sp = ? AND a.fecha BETWEEN ? AND ?",
" GROUP BY a.cuenta_no, a.departamento, a.cod_aux, a.cod_sec, a.num_doc",
" ORDER BY a.num_doc DESC, 6 DESC, 2"
DECLARE busca_cxp CURSOR FROM l_sql
LET idx = 1
FOREACH busca_cxp
FOREACH busca_cxp USING pcod_sp, fecha1, fecha2
INTO transac[idx].cuenta,
transac[idx].departamento,
transac[idx].cod_aux,
@@ -711,18 +692,22 @@ FUNCTION cgpcad004()
END IF
LET r_filename = "cgprmt004.4rp"
LET r_output = "SVG"
-- G6: el visor SVG (GRV) solo existe en GDC; en el navegador (GBC) se cuelga -> PDF
LET r_output = getPreviewDevice()
#LET preview = 1
-- 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
IF preview = 0 THEN
IF r_output <> "SVG" THEN
CALL fgl_report_selectPreview(1)
ELSE IF preview = 0 THEN
CALL fgl_report_selectPreview(1) -- changing default
CALL fgl_report_configureSVGPreview("PrintOnDefaultPrinter")
ELSE
CALL fgl_report_selectPreview(preview)
END IF
END IF
LET handler = fgl_report_commitCurrentSettings() -- commit changes
ELSE
@@ -896,11 +881,12 @@ FUNCTION cgpcmf004()
END IF
LET selec =
"SELECT DISTINCT CONVERT(char(10),a.fecha,103),a.ref,a.tipo,a.detalle_1,a.detalle_2 ",
-- G6: sin CONVERT(char(10),fecha,103): el texto dd/mm/aaaa no entra en un DATE (-1205)
"SELECT DISTINCT a.fecha,a.ref,a.tipo,a.detalle_1,a.detalle_2 ",
"FROM cgtb00004 a ",
"WHERE ",
criterio CLIPPED,
" AND a.tipo IN(1,3) ORDER BY CONVERT(char(10),a.fecha,103),a.ref"
" AND a.tipo IN(1,3) ORDER BY a.fecha,a.ref"
DISPLAY "seleccion: ", selec
PREPARE busca FROM selec
DECLARE datos SCROLL CURSOR FOR busca
@@ -1684,21 +1670,21 @@ FUNCTION cheques1()
debito DEC(12, 2),
credito DEC(12, 2)
END RECORD
DEFINE l_sql STRING -- G6: SQL dinamico cross-DB a EXTERIOR
OPEN WINDOW cgfmwd011
AT 15, 10
WITH FORM "cgfmwd011"
ATTRIBUTE(BORDER, FORM LINE FIRST + 1, COMMENT LINE LAST)
SET CONNECTION "IFMX"
-- G6: antes SET CONNECTION "IFMX" (EXTERIOR); ahora cross-DB sobre la conexion unica
INPUT BY NAME kfecha1, kfecha2, kcuenta_no
AFTER FIELD kcuenta_no
IF kcuenta_no IS NOT NULL THEN
SELECT a.descripcion
INTO kdescripcion
FROM cgtb00001 a
WHERE a.cuenta_no = kcuenta_no
IF STATUS = NOTFOUND THEN
LET l_sql = "SELECT a.descripcion FROM exterior.dbo.cgtb00001 a WHERE a.cuenta_no = ?"
PREPARE p_ex_cta FROM l_sql
LET kdescripcion = NULL
EXECUTE p_ex_cta USING kcuenta_no INTO kdescripcion
IF kdescripcion IS NULL THEN
CALL msg(3)
NEXT FIELD kcuenta_no
END IF
@@ -1715,22 +1701,15 @@ FUNCTION cheques1()
END IF
END INPUT
DECLARE busca_ex CURSOR FOR
SELECT A.CUENTA_NO,
A.DESCRIPCION,
c.DEPARTAMENTO,
SUM(c.DEBITO),
SUM(c.CREDITO)
FROM cgtb00001 a, cgtb00004 c
WHERE a.cuenta_no = c.cuenta_no
AND c.status_t IS NULL
AND c.fecha BETWEEN kfecha1 AND kfecha2
AND detalles = kcuenta_no
GROUP BY A.CUENTA_NO, A.DESCRIPCION, c.DEPARTAMENTO
ORDER BY a.cuenta_no
LET l_sql = "SELECT a.cuenta_no, a.descripcion, c.departamento, SUM(c.debito), SUM(c.credito)",
" FROM exterior.dbo.cgtb00001 a, exterior.dbo.cgtb00004 c",
" WHERE a.cuenta_no = c.cuenta_no AND c.status_t IS NULL",
" AND c.fecha BETWEEN ? AND ? AND c.detalles = ?",
" GROUP BY a.cuenta_no, a.descripcion, c.departamento ORDER BY a.cuenta_no"
DECLARE busca_ex CURSOR FROM l_sql
LET idx = 1
FOREACH busca_ex INTO kdetalle[idx].*
FOREACH busca_ex USING kfecha1, kfecha2, kcuenta_no INTO kdetalle[idx].*
LET transac[idx].cuenta = kdetalle[idx].cuenta_no
LET transac[idx].departamento = kdetalle[idx].departamento
LET transac[idx].debito = kdetalle[idx].debito
+1
View File
@@ -52,6 +52,7 @@ FUNCTION cgprmt005()
END FUNCTION
FUNCTION cgprad005()
DEFINE referencia LIKE cgtb00004.ref -- G6: no estaba declarada (-8446)
LET hoy = TODAY
LABEL volver1:
INITIALIZE recibo.* TO NULL
+129 -37
View File
@@ -8,13 +8,18 @@
}
GLOBALS
"cgprgb000.4gl"
DEFINE pano,pmes,pventas INT,
ptasa DEC(8,2),
preplica VARCHAR(2)
MAIN
DEFER INTERRUPT
CALL STARTLOG("CGPRMT021.TXT")
CALL ARG_VAL(1) RETURNING usuarios
CALL ARG_VAL(2) RETURNING clave
-- G6: "marmotech" no existe en el fglprofile (-6366); el binario de produccion (E:\MARMOTECH\BIN320 = EXTERIOR) conecta a smarmotech
CONNECT to "smarmotech" AS "MSSQL" USER usuarios USING clave
CALL cgprmt022()
END MAIN
@@ -24,50 +29,103 @@ FUNCTION cgprmt022()
ano SMALLINT,
mes SMALLINT,
ventas SMALLINT,
tipo_cliente SMALLINT,
tasa DEC(8,2)
END RECORD
END RECORD,
actualiza,selec,inserta STRING,
i INT,
clientes DYNAMIC ARRAY OF RECORD
tipo_cliente1 INT,
tasa1 DEC(12,2)
END RECORD,
replica VARCHAR(2)
OPEN WINDOW w1 WITH FORM "cgfmmt022"
INPUT BY NAME mtasa.*
DIALOG ATTRIBUTE(UNBUFFERED)
INPUT BY NAME mtasa.*,replica
BEFORE INPUT
CALL cventas()
LET mtasa.ano = YEAR(TODAY)
LET mtasa.mes = MONTH(TODAY)-1
DISPLAY BY NAME mtasa.ano,mtasa.mes
LET selec = "SELECT DISTINCT a.ano FROM marmotech.dbo.cgtb00084 a WHERE a.ano = ? AND a.mes = ? AND a.ventas = ? AND a.tipo_cliente = ?"
PREPARE selecciona FROM selec
AFTER INPUT
IF INT_FLAG THEN
CALL msg(16)
LET INT_FLAG = FALSE
EXIT INPUT
END IF
SELECT DISTINCT a.tipo_cliente FROM vetb00061 a WHERE a.tipo_cliente = mtasa.tipo_cliente AND
a.ventas = mtasa.ventas
IF STATUS = NOTFOUND THEN
CALL fgl_winmessage("INFO","COMBINACION TIPO CLIENTE Y MONEDA ESTAN ERRADOS","INFO")
NEXT FIELD ventas
END IF
SELECT DISTINCT a.ano,a.mes,a.ventas,a.tipo_cliente,a.tasa
INTO mtasa.ano,mtasa.mes,mtasa.ventas,mtasa.tipo_cliente
FROM cgtb00084 a WHERE a.ano = mtasa.ano AND a.mes = mtasa.mes AND
a.ventas = mtasa.ventas AND a.tipo_cliente = mtasa.tipo_cliente
IF STATUS <> NOTFOUND THEN
DISPLAY BY NAME mtasa.*
UPDATE cgtb00084 SET cgtb00084.tasa = mtasa.tasa,
us_mod = usuarios,
fech_mod = getdate()
WHERE cgtb00084.ano = mtasa.ano AND cgtb00084.mes = mtasa.mes AND
cgtb00084.ventas = mtasa.ventas AND
cgtb00084.tipo_cliente = mtasa.tipo_cliente
ELSE
INSERT INTO cgtb00084 (ano,mes,ventas,tipo_cliente,tasa,us_crea,fech_crea) VALUES
(mtasa.ano,mtasa.mes,mtasa.ventas,mtasa.tipo_cliente,mtasa.tasa,usuarios,getdate())
END IF
CALL msg(13)
EXIT INPUT
END INPUT
LET actualiza = "UPDATE marmotech.dbo.cgtb00084 set tasa = ? WHERE ano = ? and mes = ? and ventas =? and tipo_cliente = ?"
PREPARE actual FROM actualiza
LET inserta = "INSERT INTO marmotech.dbo.cgtb00084 (ano,mes,tipo_cliente,ventas,tasa) values ",
" (?,?,?,?,?)"
PREPARE adicionar FROM inserta
ON CHANGE tasa
DECLARE busca_tipos CURSOR for
-- En marmotech vetb00060 = tipo_cliente x moneda (en EXTERIOR es al reves: vetb00061)
SELECT DISTINCT a.tipo_cliente FROM vetb00060 a WHERE a.ventas = mtasa.ventas AND a.tipo_cliente > 14
LET i =1
FOREACH busca_tipos INTO clientes[i].*
LET clientes[i].tasa1=mtasa.tasa
LET i = i + 1
END FOREACH
IF i=1 THEN
CALL fgl_winmessage("INFO","COMBINACION TIPO CLIENTE Y MONEDA ESTAN ERRADOS","INFO")
NEXT FIELD ventas
END IF
END INPUT
DISPLAY ARRAY clientes TO sclientes.*
ON ACTION actualizar ATTRIBUTE(TEXT="Actualiza")
IF fgl_winquestion("Actualiza","Estas seguro de Actualizar la tasa?","No","Yes|No","question",0) = "Yes" THEN
FOR i = 1 TO clientes.getLength()
IF clientes[i].tipo_cliente1 IS NOT NULL THEN
IF clientes[i].tasa1 IS NULL THEN
CALL msg(16)
NEXT FIELD tasa
END IF
SELECT DISTINCT a.ano,a.mes,a.ventas,a.tipo_cliente
INTO mtasa.ano,mtasa.mes,mtasa.ventas,clientes[i].tipo_cliente1
FROM cgtb00084 a WHERE a.ano = mtasa.ano AND a.mes = mtasa.mes AND
a.ventas = mtasa.ventas AND a.tipo_cliente = clientes[i].tipo_cliente1
IF STATUS <> NOTFOUND THEN
DISPLAY BY NAME mtasa.*
UPDATE cgtb00084 SET cgtb00084.tasa = mtasa.tasa,
us_mod = usuarios,
fech_mod = getdate()
WHERE cgtb00084.ano = mtasa.ano AND cgtb00084.mes = mtasa.mes AND
cgtb00084.ventas = mtasa.ventas AND
cgtb00084.tipo_cliente = clientes[i].tipo_cliente1
ELSE
INSERT INTO cgtb00084 (ano,mes,ventas,tipo_cliente,tasa,us_crea,fech_crea) VALUES
(mtasa.ano,mtasa.mes,mtasa.ventas,clientes[i].tipo_cliente1,mtasa.tasa,usuarios,getdate())
END IF
-- (la version EXTERIOR repetia aqui el INSERT/UPDATE en marmotech.dbo.cgtb00084;
-- conectado a marmotech es la misma tabla: se quito la doble escritura)
END IF
END FOR
LET pano = mtasa.ano
LET pmes = mtasa.mes
LET pventas = mtasa.ventas
LET ptasa = mtasa.tasa
LET preplica = replica
IF replica = "SI" THEN
CALL replicar()
END IF
CALL insertalog()
CALL fgl_winmessage("INFO","ACTUALIZACION EXITOSA","INFO")
END IF
END DISPLAY
ON ACTION CANCEL
CALL fgl_winmessage("INFO","OPERACION CANCELADA","INFO")
RETURN
END DIALOG
CLOSE WINDOW w1
END FUNCTION
@@ -79,7 +137,7 @@ FUNCTION cventas()
LET pventas = ui.combobox.forname("formonly.ventas")
DECLARE bventas CURSOR FOR
SELECT a.ventas,a.descripcion FROM vetb00061 a
SELECT a.ventas,a.descripcion FROM vetb00061 a -- monedas en marmotech
CALL pventas.clear()
FOREACH bventas INTO kventas,dventas
@@ -87,3 +145,37 @@ FUNCTION cventas()
END FOREACH
END FUNCTION
FUNCTION replicar()
DEFINE replica,selecta,actualizacion STRING,
mes_falta,k,mesinsert INT
LET actualizacion = "UPDATE marmotech.dbo.cgtb00084 set tasa = ? WHERE ano = ? AND mes = ? AND ventas = ?"
PREPARE actualizacionxe FROM actualizacion
LET selecta = "SELECT DISTINCT a.ano FROM marmotech.dbo.cgtb00084 a WHERE a.ano = ? AND a.mes = ? AND a.ventas = ?"
PREPARE selecciona FROM selecta
LET replica = "INSERT INTO marmotech.dbo.cgtb00084 (ano,mes,ventas,tipo_cliente,tasa)
SELECT a.ano,?,a.ventas,a.tipo_cliente,a.tasa FROM cgtb00084 a WHERE a.ano = ? AND a.mes = ? AND a.ventas = ? "
PREPARE duplica FROM replica
LET mes_falta = 12 - pmes
LET mesinsert = pmes + 1
FOR k = 1 TO mes_falta
EXECUTE selecciona USING pano,mesinsert,pventas
IF STATUS = NOTFOUND THEN
EXECUTE duplica USING mesinsert,pano,pmes,pventas
ELSE
EXECUTE actualizacionxe USING ptasa,pano,mesinsert,pventas
END IF
LET mesinsert = mesinsert + 1
END FOR
END FUNCTION
FUNCTION insertaLog()
INSERT INTO cgtb00084_log VALUES (getdate(),usuarios,preplica)
END FUNCTION
+3 -3
View File
@@ -471,7 +471,7 @@ DISPLAY solicitud.cuenta_no1
ELSE
COMMIT WORK
LET r_filename ="cgprmt037.4rp"
LET r_output = "SVG"
LET r_output = getPreviewDevice() -- G6: SVG (GRV) solo en GDC; en web cuelga -> PDF
#LET preview = 1
-- configure report engine; the functions prefixed fgl that are called here are part of the GRW API
@@ -880,7 +880,7 @@ DIALOG ATTRIBUTES (UNBUFFERED,FIELD ORDER FORM )
ON ACTION imprimir
LET r_filename ="cgprmt037.4rp"
LET r_output = "SVG"
LET r_output = getPreviewDevice() -- G6: SVG (GRV) solo en GDC; en web cuelga -> PDF
IF fgl_report_loadCurrentSettings(r_filename) THEN -- load the .4rp file
CALL fgl_report_selectDevice(r_output) -- changing default
CALL fgl_report_selectPreview(true)
@@ -940,7 +940,7 @@ DIALOG ATTRIBUTES (UNBUFFERED,FIELD ORDER FORM )
ELSE
COMMIT WORK
LET r_filename ="cgprmt037.4rp"
LET r_output = "SVG"
LET r_output = getPreviewDevice() -- G6: SVG (GRV) solo en GDC; en web cuelga -> PDF
IF fgl_report_loadCurrentSettings(r_filename) THEN -- load the .4rp file
CALL fgl_report_selectDevice(r_output) -- changing default
CALL fgl_report_selectPreview(true)
+27 -12
View File
@@ -48,6 +48,7 @@ GLOBALS
clave CHAR(16)
END RECORD
DEFINE fecha_inicial,fecha_final DATE
DEFINE regenera SMALLINT -- TRUE = corrida sin filtro: actualiza cgtb00016
MAIN
DEFER INTERRUPT
CALL ARG_VAL(1) RETURNING usuarios
@@ -112,9 +113,15 @@ FUNCTION cgprrp008()
END IF
EXIT CONSTRUCT
END CONSTRUCT
-- cgtb00016 (base de cgprrp012/013) solo se regenera cuando se corre el mes
-- COMPLETO; con filtro de cuenta se borraba el mes y se reinsertaban solo
-- las cuentas filtradas (balance incompleto).
LET regenera = (criterio.trim() = "1=1")
IF regenera THEN
DELETE FROM cgtb00016 WHERE ano = p_ano AND mes=p_mes AND programa='cgprrp012.4rp'
DELETE FROM cgtb00016 WHERE ano = p_ano AND mes=p_mes AND programa='cgprrp013.4rp' AND
estado_m='390'
END IF
LET p = 1
LET selec =
@@ -132,7 +139,7 @@ DISPLAY "cuenta ",cuenta_reg
LET selec =
"SELECT b.cuenta_no,b.descripcion,b.estado_a,b.estado_m, ",
" ISNULL(SUM(a.debito),0),ISNULL(SUM(a.credito),0),b.nivel,b.analitico,b.aplica_a ",
"FROM cgtb00001 b LEFT OUTER JOIN cgtb00004_tmp a ON (a.cuenta_no = b.cuenta_no) AND (a.fecha BETWEEN ? AND ?) ",
"FROM cgtb00001 b LEFT OUTER JOIN cgtb00004 a ON (a.cuenta_no = b.cuenta_no) AND (a.fecha BETWEEN ? AND ?) ",
" AND (a.status_t IS NULL) ",
"WHERE (a.status_t IS NULL) AND ",
@@ -290,7 +297,7 @@ REPORT mayor_anal_gral(x,fecha1,fecha2)
# Balance Anterior
LET x.cuenta_no = x.cuenta_no clipped
SELECT sum(debito-credito) INTO balan_ant FROM cgtb00004_tmp
SELECT sum(debito-credito) INTO balan_ant FROM cgtb00004
WHERE (fecha < fecha1) and (cuenta_no[1] = x.cuenta_no) and
status_t is null
@@ -300,7 +307,7 @@ REPORT mayor_anal_gral(x,fecha1,fecha2)
# Actividades del mes
SELECT SUM(a.debito),SUM(a.credito) INTO x.debito,x.credito
FROM cgtb00004_tmp a
FROM cgtb00004 a
WHERE (a.cuenta_no[1] = x.cuenta_no) and a.status_t IS NULL AND
(a.fecha between fecha1 and fecha2)
@@ -316,7 +323,7 @@ REPORT mayor_anal_gral(x,fecha1,fecha2)
# Para Las Sub-control
IF x.nivel > 1 THEN
LET x.cuenta_no = x.cuenta_no clipped
SELECT SUM(a.debito-a.credito) INTO balan_ant FROM cgtb00004_tmp a
SELECT SUM(a.debito-a.credito) INTO balan_ant FROM cgtb00004 a
WHERE (a.cuenta_no[1,2] = x.cuenta_no) and a.status_t IS NULL AND
(a.fecha < fecha1 )
IF balan_ant is null THEN
@@ -325,14 +332,14 @@ REPORT mayor_anal_gral(x,fecha1,fecha2)
# Actividades del mes
SELECT SUM(a.debito),SUM(a.credito) INTO x.debito,x.credito
FROM cgtb00004_tmp a
FROM cgtb00004 a
WHERE (a.cuenta_no[1,2] = x.cuenta_no) and a.status_t IS NULL AND
(a.fecha between fecha1 and fecha2)
# Otras cuentas sub-controles (Balance Anterior)
IF x.cuenta_no[3] != " " THEN
SELECT SUM(a.debito-a.credito) INTO balan_ant FROM cgtb00004_tmp a
SELECT SUM(a.debito-a.credito) INTO balan_ant FROM cgtb00004 a
WHERE (a.cuenta_no[1,3] = x.cuenta_no) and a.status_t IS NULL AND
(a.fecha < fecha1 )
IF balan_ant is null THEN
@@ -340,13 +347,13 @@ REPORT mayor_anal_gral(x,fecha1,fecha2)
END IF
# Actividades del mes
SELECT SUM(a.debito),SUM(a.credito) INTO x.debito,x.credito
FROM cgtb00004_tmp a
FROM cgtb00004 a
WHERE (a.cuenta_no[1,3] = x.cuenta_no) and a.status_t IS NULL AND
(a.fecha between fecha1 and fecha2)
END IF
# Otras cuentas sub-controles (Actividades del mes)
IF x.cuenta_no[4] != " " THEN
SELECT SUM(a.debito-a.credito) INTO balan_ant FROM cgtb00004_tmp a
SELECT SUM(a.debito-a.credito) INTO balan_ant FROM cgtb00004 a
WHERE (a.cuenta_no[1,4] = x.cuenta_no) and a.status_t IS NULL AND
(a.fecha < fecha1 )
IF balan_ant is null THEN
@@ -354,7 +361,7 @@ REPORT mayor_anal_gral(x,fecha1,fecha2)
END IF
SELECT SUM(a.debito),SUM(a.credito) INTO x.debito,x.credito
FROM cgtb00004_tmp a
FROM cgtb00004 a
WHERE (a.cuenta_no[1,4] = x.cuenta_no) and a.status_t IS NULL AND
(a.fecha between fecha1 and fecha2)
END IF
@@ -382,11 +389,13 @@ REPORT mayor_anal_gral(x,fecha1,fecha2)
#END IF
LET balan_act = balan_ant + actividad
IF regenera THEN
INSERT INTO cgtb00016(ano,mes,cuenta_no,estado_a,estado_m,balance_ant,actividad,balance_act,programa,descripcion,
primern,debito,credito)
VALUES (p_ano,p_mes,x.cuenta_no,x.estado_a,x.estado_m,
balan_ant,actividad,balan_act,'cgprrp012.4rp',x.descripcion,x.nivel,
x.debito,x.credito)
END IF
IF valor_88_act is null THEN
LET valor_88_act = 0
@@ -408,7 +417,7 @@ REPORT mayor_anal_gral(x,fecha1,fecha2)
IF x.nivel > 2 THEN
# Balance Inicial
SELECT SUM(b.debito - b.credito) INTO balance FROM cgtb00004_tmp b
SELECT SUM(b.debito - b.credito) INTO balance FROM cgtb00004 b
WHERE (b.cuenta_no=x.cuenta_no) AND b.status_t IS NULL AND (b.fecha < fecha1)
IF balance IS NULL THEN
@@ -435,11 +444,13 @@ REPORT mayor_anal_gral(x,fecha1,fecha2)
COLUMN 112, balance + actividad USING "((,(((,(((,(((.##)"
# END IF
LET balan_act = balance + actividad
IF regenera THEN
INSERT INTO cgtb00016 (ano,mes,cuenta_no,estado_a,estado_m,balance_ant,actividad,balance_act,programa,
descripcion,primern,debito,credito)
VALUES (p_ano,p_mes,x.cuenta_no,x.estado_a,x.estado_m,
balance,actividad,balan_act,'cgprrp012.4rp',x.descripcion,x.nivel,
x.debito,x.credito)
END IF
END IF
# Busca las cuentas que tienen que ver con el beneficio neto
@@ -482,7 +493,7 @@ REPORT mayor_anal_gral(x,fecha1,fecha2)
FOREACH busca INTO x.cuenta_no,x.descripcion,x.estado_a,x.estado_m
LET x.cuenta_no = x.cuenta_no clipped
SELECT sum(a.debito-a.credito) INTO balan_ant FROM cgtb00004_tmp a
SELECT sum(a.debito-a.credito) INTO balan_ant FROM cgtb00004 a
WHERE (a.cuenta_no[1] = x.cuenta_no) and (a.fecha < fecha1) and
a.status_t is null
@@ -492,7 +503,7 @@ REPORT mayor_anal_gral(x,fecha1,fecha2)
# Actividades del mes
SELECT SUM(a.debito),SUM(a.credito) INTO x.debito,x.credito
FROM cgtb00004_tmp a
FROM cgtb00004 a
WHERE (a.cuenta_no[1] = x.cuenta_no) and a.status_t IS NULL AND
(a.fecha between fecha1 and fecha2)
@@ -557,8 +568,10 @@ REPORT mayor_anal_gral(x,fecha1,fecha2)
PRINT COLUMN 1, "---------------------------------------------------",
"---------------------------------------------------",
"-------------------------------"
IF regenera THEN
INSERT INTO cgtb00016 (ano,mes,estado_a,balance_ant,actividad,balance_act,programa,debito,credito)
VALUES (p_ano,p_mes,'275',t_balan_ant,t_actividad,t_balan_act,'cgprrp012.4rp',t_debito,t_credito)
END IF
SKIP TO TOP OF PAGE
LET t_debito = 0
@@ -610,8 +623,10 @@ REPORT mayor_anal_gral(x,fecha1,fecha2)
END IF
IF regenera THEN
INSERT INTO cgtb00016 (ano,mes,estado_m,balance_ant,actividad,balance_act,programa,debito,credito)
VALUES (p_ano,p_mes,'390',t_balan_ant,t_actividad,t_balan_act,'cgprrp013.4rp',t_debito,t_credito)
END IF
PRINT COLUMN 1, "---------------------------------------------------",
+11 -12
View File
@@ -127,20 +127,21 @@ END MAIN
# (7) y tienen el departamento nulo.
# Este UPDATE se reversa al momento de acabar el reporte
UPDATE cgtb00004 set departamento = 0
WHERE departamento is null and cuenta_no[1] = "7"
-- G6: antes UPDATE cgtb00004 SET departamento = 0 (y al final lo revertia a NULL): modificaba
-- el mayor real, no se revertia si no habia datos y convertia en NULL los 0 legitimos.
-- Ahora el departamento nulo se trata como 0 en las consultas (ISNULL/NVL).
DELETE FROM cgtb00016 WHERE ano =p_ano AND mes = p_mes AND programa='cgprrp013.4rp' AND
estado_a <> '275'
LET selec =
"SELECT distinct a.cuenta_no,b.descripcion,d.dpto,a.departamento,c.nom_dpto ",
"SELECT distinct a.cuenta_no,b.descripcion,d.dpto,ISNULL(a.departamento,0),c.nom_dpto ",
"FROM cgtb00001 b, cgtb00004 a, chequeo d,adtb00001 c ",
"WHERE (a.cuenta_no = b.cuenta_no) AND (SUBSTRING(b.cuenta_no,1,1) = '7') AND ",
" (a.departamento = d.departamento) AND a.status_t IS NULL AND ",
" (a.departamento = c.departamento) AND ",
" (ISNULL(a.departamento,0) = d.departamento) AND a.status_t IS NULL AND ",
" (ISNULL(a.departamento,0) = c.departamento) AND ",
" (a.fecha <= ?) AND b.status_t is null AND ",criterio CLIPPED,
"ORDER BY d.dpto,a.departamento,a.cuenta_no"
"ORDER BY d.dpto,ISNULL(a.departamento,0),a.cuenta_no"
DISPLAY "<<<Buscando Informacion... Espere por Favor>>>" AT 19,14
ATTRIBUTE(blue)
@@ -189,12 +190,10 @@ END MAIN
END IF
OUTPUT TO REPORT gastos_gral(gastos.*,fecha_inicial,fecha_final,p_ano,
ano_ant)
LET idx1 = idx+1
LET idx1 = idx1+1 -- antes idx+1: idx1 no avanzaba y START REPORT se repetia por fila
END FOREACH
IF idx1 > 1 THEN
FINISH REPORT gastos_gral
UPDATE cgtb00004 set departamento = NULL
WHERE departamento = 0 and cuenta_no[1] = "7"
ELSE
CALL fgl_winmessage("INFO","NO EXISTEN REGISTROS","INFO")
END IF
@@ -314,18 +313,18 @@ REPORT gastos_gral(x,fecha1,fecha2,p_ano1,ano_ant1)
FROM cgtb00004 a
WHERE (a.ref NOT MATCHES "ED.99-999/12*") and
(a.cuenta_no = x.cuenta_no) and (a.fecha BETWEEN fecha4 AND fecha5) and
(a.departamento = x.departamento) and a.status_t is null
(a.departamento = x.departamento OR (a.departamento IS NULL AND x.departamento = 0)) and a.status_t is null
SELECT SUM(a.debito-a.credito) INTO x.valor
FROM cgtb00004 a
WHERE (a.cuenta_no = x.cuenta_no) and
(a.fecha BETWEEN fecha_inicial AND fecha_final) and
(a.departamento = x.departamento) and a.status_t is null
(a.departamento = x.departamento OR (a.departamento IS NULL AND x.departamento = 0)) and a.status_t is null
SELECT SUM(a.debito-a.credito) INTO x.valor_ant FROM cgtb00004 a
WHERE (a.ref != ent_diario) and
(a.cuenta_no = x.cuenta_no) and (a.fecha < fecha_inicial) and
(a.departamento = x.departamento) and a.status_t is null
(a.departamento = x.departamento OR (a.departamento IS NULL AND x.departamento = 0)) and a.status_t is null
IF x.ano_ante is null THEN
LET x.ano_ante = 0
+2 -2
View File
@@ -90,7 +90,7 @@ END MAIN
END IF
CONSTRUCT criterio ON a.cuenta_no,a.num_doc,a.cod_aux,a.cod_Sec
FROM cuenta_no,cod_sp,cod_sp_Sec,num_doc
FROM cuenta_no,num_doc,cod_sp,cod_sp_sc -- G6: el form tiene cod_sp_sc (no cod_sp_Sec, -1102) y el orden debe seguir a las columnas
IF int_flag THEN
LET numero_msg = 2
@@ -302,7 +302,7 @@ REPORT mayor_ref(x,fecha1,fecha2)
LET total1 = balance
LET total2 = 0
ELSE
LET total2 = balance
LET total2 = balance * -1 -- saldo acreedor va POSITIVO a la columna CR (antes negativo: restaba en los totales)
LET total1 = 0
END IF
IF balance != 0 OR balance_final != 0 THEN
+1 -1
View File
@@ -89,7 +89,7 @@ FUNCTION cgprrp022()
}
CALL configureoutput("SVG") RETURNING HANDLER
CALL configureoutput(getPreviewDevice()) RETURNING HANDLER -- G6: SVG (GRV) solo en GDC; en web cuelga -> PDF
START REPORT imp_entrada TO XML HANDLER handler
+1 -1
View File
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<ManagedForm databaseName="smarmotech" fileVersion="31400" gstVersion="31408" name="ManagedForm" uid="{49cf58f8-0836-404a-8a30-ef813c88a4b4}">
<ManagedForm databaseName="smarmotech" fileVersion="31400" gstVersion="3140a" name="ManagedForm" uid="{49cf58f8-0836-404a-8a30-ef813c88a4b4}">
<AGSettings>
<DynamicProperties version="2"/>
</AGSettings>
+3 -3
View File
@@ -191,7 +191,7 @@ FUNCTION edprrp029()
RETURN
END IF
IF idx = 1 THEN
CALL configureoutput("SVG") RETURNING handler
CALL configureoutput(getPreviewDevice()) RETURNING handler -- G6: SVG (GRV) solo en GDC; en web cuelga -> PDF
START REPORT prn_credito TO XML HANDLER HANDLER
END IF
@@ -226,7 +226,7 @@ FUNCTION edprrp029()
CALL fgl_winmessage("INFO","NO EXISTEN REGISTROS CON ESTAS CONDICIONES","INFO")
END IF
{ IF fgl_report_loadCurrentSettings("formato_entrada.4rp") THEN -- load the .4rp file
CALL fgl_report_selectDevice("SVG") -- changing default
CALL fgl_report_selectDevice(getPreviewDevice()) -- changing default
CALL fgl_report_selectPreview(1)
LET handler = fgl_report_commitCurrentSettings()
START REPORT prn_credito TO XML HANDLER HANDLER
@@ -250,7 +250,7 @@ FUNCTION edprrp029()
RETURN
END IF
IF idx = 1 THEN
CALL configureoutput("SVG") RETURNING HANDLER
CALL configureoutput(getPreviewDevice()) RETURNING HANDLER
START REPORT ed29 TO XML HANDLER HANDLER
END IF
+20 -7
View File
@@ -210,7 +210,9 @@ FUNCTION ipprrp004()
" AND c.cod_n = e.cod_n and c.cod_grupo =e.cod_grupo AND c.cod_tipo = e.cod_tipo AND ",
" c.cod_sec = e.cod_sec ",
" AND e.cod_cia = f.cod_cia and c.cod_mov = k.cod_mov ",
" AND c.status_t is NULL and c.cod_mov = ",
#-> Excluye los movimientos que YA generaron su asiento en linea
# (ipprmt044 sella iptb00006.referenciaentrada). Evita doble contabilizacion.
" AND c.status_t is NULL AND c.referenciaentrada IS NULL and c.cod_mov = ",
cod_mov, #" c.cod_mov = 44 ",
# " AND c.departamento = 2407 ",
"GROUP BY c.cod_mov,c.cod_n,c.cod_grupo,c.cod_tipo,c.cod_sec,e.descrip_esp,e.cod_cia,f.descripcion,c.departamento,x.nom_dpto, ",
@@ -236,9 +238,17 @@ FUNCTION ipprrp004()
LET idx = 1
LET acumulado.nombre_Cia = p_compania.nombre
CALL controlNumericoED(
numero_ent, fecha_final, usuarios)
RETURNING entrada_d
-- Solo se consume la secuencia en cgtb00011 si se AFECTA el mayor;
-- con afecta = "NO" se pide el numero en modo consulta (sin INSERT/UPDATE).
IF afecta = "SI" THEN
CALL controlNumericoED(
numero_ent, fecha_final, usuarios)
RETURNING entrada_d
ELSE
CALL controlNumericoED(
numero_ent, fecha_final, NULL)
RETURNING entrada_d
END IF
DISPLAY "entrada real: ", entrada_d
DISPLAY BY NAME entrada_d
@@ -306,7 +316,8 @@ FUNCTION ipprrp004()
LET acumulado.cuenta_gasto = acumulado_ac.cuenta_3
# LET acumulado.cuenta_imp_material = acumulado_ac.cuenta_imp_material
LET acumulado.entrada_d = entrada_d
IF acumulado.cod_cia = 3 OR acumulado.cod_cia = 2 THEN
IF (acumulado.cod_cia = 3 OR acumulado.cod_cia = 2)
AND acumulado_ac.cuenta_imp_material IS NOT NULL THEN
LET acumulado.cuenta_material = acumulado_ac.cuenta_imp_material
LET acumulado.cuenta_imp_material = NULL
END IF
@@ -399,9 +410,11 @@ FUNCTION ipprrp004()
LET acumulado.cuenta_imp_material = acumulado_ac.cuenta_imp_material
LET acumulado.entrada_d = entrada_d
IF acumulado.cod_cia = 3 THEN
#-> Solo sustituye si el movimiento tiene cuenta_imp_material; si viene
# NULL (p.ej. mov 46 solo tiene cuenta_1) se perdia la partida de material
IF acumulado.cod_cia = 3
AND acumulado.cuenta_imp_material IS NOT NULL THEN
LET acumulado.cuenta_material = acumulado.cuenta_imp_material
END IF
LET acumulado.cod_n = acumulado_ac.cod_n
LET acumulado.cod_grupo = acumulado_ac.cod_grupo
+7 -5
View File
@@ -33,8 +33,8 @@ FUNCTION irprrp009()
DEFINE select_ac CHAR(1000)
DEFINE c_ano CHAR(4)
DEFINE entra, nombre_mes CHAR(25)
DEFINE entra1 CHAR(5)
DEFINE nombre_mes CHAR(25)
DEFINE detalle CHAR(100)
DEFINE numero_ent CHAR(2)
DEFINE ano_act CHAR(4)
@@ -159,8 +159,8 @@ FUNCTION irprrp009()
CALL controlNumericoED(
numero_ent, datos_cons.fech_fi, NULL)
RETURNING entrada
DISPLAY BY NAME entrada
LET entra = entrada
DISPLAY BY NAME entra
AFTER INPUT
@@ -204,7 +204,9 @@ FUNCTION irprrp009()
"irtb00005 AS c ON b.cod_mov = c.cod_mov LEFT OUTER JOIN ",
"adtb00001 AS d ON b.sec_a = d.departamento ",
"WHERE ",
" b.fecha BETWEEN ? AND ? AND b.status_t IS NULL ",
#-> Excluye los movimientos que YA generaron su asiento en linea
# (irprmt036 sella irtb00006.referenciaentrada). Evita doble contabilizacion.
" b.fecha BETWEEN ? AND ? AND b.status_t IS NULL AND b.referenciaentrada IS NULL ",
" GROUP BY b.cod_n,b.cod_grupo,b.cod_tipo,b.cod_sec,a.descrip_esp,a.unidad_med,b.cod_mov,c.descrip_mov,b.sec_a,d.nom_dpto, a.cuenta,e.cuenta_no ",
" ORDER BY b.cod_mov,b.sec_a,b.cod_n,b.cod_grupo,b.cod_tipo,b.cod_sec"
+2 -2
View File
@@ -121,7 +121,7 @@ REPORT entrada14(
fecha1, fecha2 DATE, #### Almacena las fecha del rango de busqueda
hora CHAR(5),
entrada CHAR(14),
entrada VARCHAR(25), -- ref. completa ED.nn-nnnnn/mmaa (CHAR(14) cortaba el anio)
actual VARCHAR(20),
afecta CHAR(3),
p_companias, desc_cuenta CHAR(30)
@@ -274,7 +274,7 @@ REPORT entrada14(
entrada,
y.cuenta_inv,
detalle1,
invcredito,
invdebito,
0,
usuarios,
GETDATE())
+1
View File
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<APPLICATION Parent="defaultgwc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://4js.com/ns/gas/4.00/cfextwa.xsd">
<EXECUTION>
<ENVIRONMENT_VARIABLE Id="DBDATE">dmy4</ENVIRONMENT_VARIABLE>
<PATH>$(res.deployment.path)</PATH>
<MODULE>Application.42r</MODULE>
</EXECUTION>
+1
View File
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<APPLICATION Parent="defaultgwc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://4js.com/ns/gas/4.00/cfextwa.xsd">
<EXECUTION>
<ENVIRONMENT_VARIABLE Id="DBDATE">dmy4</ENVIRONMENT_VARIABLE>
<PATH>$(res.deployment.path)</PATH>
<MODULE>Main_prg</MODULE>
</EXECUTION>
+11 -10
View File
@@ -79,8 +79,8 @@ FUNCTION ippcad012()
LET p_iptb20.cod_n = p_iptb20.cod_n + 1
DISPLAY p_iptb20.cod_n TO cod_n
BEGIN WORK
INSERT INTO iptb00020 (cod_n,producto,us_crea,fech_crea,comentario,genera_orden,instalacion)
VALUES (p_iptb20.cod_n,p_iptb20.producto,usuarios,getdate(),p_iptb20.comentario,p_iptb20.genera_orden,p_iptb20.instalacion)
INSERT INTO iptb00020 (cod_n,producto,us_crea,fech_crea,comentario,genera_orden,instalacion,cod_inv)
VALUES (p_iptb20.cod_n,p_iptb20.producto,usuarios,getdate(),p_iptb20.comentario,p_iptb20.genera_orden,p_iptb20.instalacion,p_iptb20.cod_inv)
INSERT INTO iptb00035 (cod_n,cod_cat) VALUES (p_iptb20.cod_n,p_iptb20.cod_cat)
COMMIT WORK
@@ -108,8 +108,8 @@ SET CONNECTION "MSSQL"
EXIT CONSTRUCT
END CONSTRUCT
LET SELEC = " SELECT DISTINCT a.cod_n,a.producto,a.us_crea,a.us_mod,a.fech_crea,a.fech_mod,a.cod_inv,b.cod_cat,
a.comentario,a.genera_orden,a.instalacion FROM iptb00020 a LEFT OUTER JOIN iptb00035 b ON a.cod_n = b.cod_n ",
" WHERE ",
a.comentario,a.genera_orden,a.instalacion,a.status_t FROM iptb00020 a LEFT OUTER JOIN iptb00035 b ON a.cod_n = b.cod_n ",
" WHERE a.status_t IS NULL AND ",
criterio clipped,
" ORDER BY a.cod_n"
@@ -119,7 +119,7 @@ SET CONNECTION "MSSQL"
FETCH FIRST datos INTO p_iptb20.cod_n,p_iptb20.producto,p_iptb20.us_crea,p_iptb20.us_mod,p_iptb20.fech_crea,
p_iptb20.fech_mod,p_iptb20.cod_inv, p_iptb20.cod_cat,p_iptb20.comentario,
p_iptb20.genera_orden,p_iptb20.instalacion
p_iptb20.genera_orden,p_iptb20.instalacion,p_iptb20.status_t
IF status >= 0 THEN
IF STATUS = NOTFOUND THEN
@@ -140,7 +140,7 @@ SET CONNECTION "MSSQL"
"Presenta en pantalla el proximo registro encontrado"
FETCH NEXT datos INTO p_iptb20.cod_n,p_iptb20.producto,p_iptb20.us_crea,p_iptb20.us_mod,p_iptb20.fech_crea,
p_iptb20.fech_mod,p_iptb20.cod_inv, p_iptb20.cod_cat,p_iptb20.comentario,
p_iptb20.genera_orden,p_iptb20.instalacion
p_iptb20.genera_orden,p_iptb20.instalacion,p_iptb20.status_t
IF STATUS = NOTFOUND THEN
@@ -157,7 +157,7 @@ SET CONNECTION "MSSQL"
"Presenta en pantalla el registro anterior encontrado"
FETCH PREVIOUS datos INTO p_iptb20.cod_n,p_iptb20.producto,p_iptb20.us_crea,p_iptb20.us_mod,p_iptb20.fech_crea,
p_iptb20.fech_mod,p_iptb20.cod_inv, p_iptb20.cod_cat,p_iptb20.comentario,
p_iptb20.genera_orden,p_iptb20.instalacion
p_iptb20.genera_orden,p_iptb20.instalacion,p_iptb20.status_t
IF STATUS = NOTFOUND THEN
@@ -174,7 +174,7 @@ SET CONNECTION "MSSQL"
"Presenta en pantalla el primer registro encontrado"
FETCH FIRST datos INTO p_iptb20.cod_n,p_iptb20.producto,p_iptb20.us_crea,p_iptb20.us_mod,p_iptb20.fech_crea,
p_iptb20.fech_mod,p_iptb20.cod_inv, p_iptb20.cod_cat,p_iptb20.comentario,
p_iptb20.genera_orden,p_iptb20.instalacion
p_iptb20.genera_orden,p_iptb20.instalacion,p_iptb20.status_t
DISPLAY BY NAME p_iptb20.*,p_iptb20.cod_cat
@@ -185,7 +185,7 @@ SET CONNECTION "MSSQL"
"Presenta en pantalla el ultimo registro encontrado"
FETCH LAST datos INTO p_iptb20.cod_n,p_iptb20.producto,p_iptb20.us_crea,p_iptb20.us_mod,p_iptb20.fech_crea,
p_iptb20.fech_mod,p_iptb20.cod_inv, p_iptb20.cod_cat,p_iptb20.comentario,
p_iptb20.genera_orden,p_iptb20.instalacion
p_iptb20.genera_orden,p_iptb20.instalacion,p_iptb20.status_t
DISPLAY BY NAME p_iptb20.cod_n,p_iptb20.producto,p_iptb20.us_crea,p_iptb20.us_mod,p_iptb20.fech_crea,
@@ -203,7 +203,7 @@ SET CONNECTION "MSSQL"
CALL msg(36)
EXIT MENU
END IF
INPUT BY NAME p_iptb20.producto,p_iptb20.cod_cat,p_iptb20.comentario,p_iptb20.genera_orden,p_iptb20.instalacion WITHOUT DEFAULTS
INPUT BY NAME p_iptb20.producto,p_iptb20.cod_inv,p_iptb20.comentario,p_iptb20.cod_cat,p_iptb20.genera_orden,p_iptb20.instalacion WITHOUT DEFAULTS
AFTER INPUT
@@ -222,6 +222,7 @@ SET CONNECTION "MSSQL"
BEGIN WORK
UPDATE iptb00020 SET producto = p_iptb20.producto,
comentario = p_iptb20.comentario,
cod_inv = p_iptb20.cod_inv,
genera_orden = p_iptb20.genera_orden,
us_mod = SUSER_SNAME(),
fech_mod = GETDATE() ,
+2 -2
View File
@@ -29,7 +29,7 @@ DEFINE t_variacion DECIMAL(12,2)
###### Variables que la almacenan la informacion enviada al reporte
DEFINE diario1 RECORD
cuenta_no CHAR(8),
debito DECIMAL(10,2)
debito DECIMAL(14,2) # 14: el SUM del periodo excedia 10,2 (-1226)
END RECORD
DEFINE i SMALLINT
@@ -820,7 +820,7 @@ END FUNCTION
DEFINE x RECORD
cuenta_no CHAR(8),
debito DECIMAL(10,2)
debito DECIMAL(14,2) # 14: el SUM del periodo excedia 10,2 (-1226)
END RECORD
### Acumula los valores de las diferentes cuentas para entrada diario de nomina
+524 -152
View File
@@ -137,6 +137,7 @@
<File filePath="otrodir/vendedores.4gl"/>
<File filePath="otrodir/visualiza_kit.4gl"/>
<File filePath="otrodir/zonas.4gl"/>
<File filePath="otrodir/costoLiquidacion.4gl"/>
</Library>
<Library binaryName="FUNCIONESEMAIL" id="493047263" label="FUNCIONESEMAIL">
<File filePath="otrodir/apiclient.4gl"/>
@@ -170,10 +171,62 @@
<File filePath="../scripts/README.md"/>
</Library>
</Group>
<Group environment="value:CLASSPATH=$(ProjectDir)\\classes\\javax.mail.jar;$(CLASSPATH),file:FGLJVMPATH=C:\\Users\\alopez\\Java\\jdk8u504-b01-jre\\bin\\server\\jvm.dll,dir:JAVA_HOME=C:\\Users\\alopez\\Java\\jdk8u504-b01-jre,dirlist:PATH=C:\\Users\\alopez\\Java\\jdk8u504-b01-jre\\bin;C:\\Users\\alopez\\Java\\jdk8u504-b01-jre\\bin\\server;$(PATH)" id="788649802" label="MODULOS" language="Genero">
<Group environment="value:CLASSPATH=$(ProjectDir)\\classes\\javax.mail.jar;$(CLASSPATH),file:FGLJVMPATH=C:\\Users\\alopez\\Java\\jdk8u504-b01-jre\\bin\\server\\jvm.dll,dir:JAVA_HOME=C:\\Users\\alopez\\Java\\jdk8u504-b01-jre,dirlist:PATH=C:\\Users\\alopez\\Java\\jdk8u504-b01-jre\\bin;C:\\Users\\alopez\\Java\\jdk8u504-b01-jre\\bin\\server;$(PATH),value:DBDATE=dmy4" id="788649802" label="MODULOS" language="Genero">
<Group id="446189093" label="ACTIVOS FIJOS">
<Library binaryName="FORMULARIOS_AC" id="749078683" label="FORMULARIOS_AC"/>
<Library binaryName="FUNCIONES_AC" id="1581383228" label="FUNCIONES_AC"/>
<Application binaryName="acprmt001" dependencies="-1026233879,-764824792,1581383228,493047263,749078683" id="-1582265126" label="acprmt001">
<Configuration id="-1841901578" label="Configuration"/>
<File filePath="acdir/acprmt001.4gl"/>
</Application>
<Application binaryName="acprmt002" dependencies="-1026233879,-764824792,1581383228,749078683" id="-1675003100" label="acprmt002">
<Configuration id="-1958671577" label="Configuration"/>
<File filePath="acdir/acprmt002.4gl"/>
</Application>
<Application binaryName="acprmt004" dependencies="-1026233879,-764824792,1581383228,749078683" id="-1245802915" label="acprmt004">
<Configuration id="-1511836044" label="Configuration"/>
<File filePath="acdir/acprmt004.4gl"/>
</Application>
<Application binaryName="acprmt005" dependencies="-1026233879,-764824792,1581383228,749078683" id="-1391267261" label="acprmt005">
<Configuration id="-1245648946" label="Configuration"/>
<File filePath="acdir/acprmt005.4gl"/>
</Application>
<Application binaryName="acprrp010" dependencies="-1026233879,-764824792,749078683" environment="dir:FGLSPOOL=$(ProjectDir)/spool" externalDependencies="libgre.42x" id="-1562603875" label="acprrp010">
<Configuration id="-1481205311" label="Configuration"/>
<File compilerOptions="--build-rdd" filePath="acdir/acprrp010.4gl"/>
<File filePath="bin/acprrp010.4rp"/>
<File filePath="bin/ipprrp010a.4rp"/>
<File filePath="bin/ipprrp010a1.4rp"/>
<File filePath="bin/ipprrp010e.4rp"/>
<File filePath="bin/ipprrp010f.4rp"/>
<File filePath="bin/ipprrp010f_1.4rp"/>
<File filePath="bin/ipprrp010g.4rp"/>
<File filePath="bin/ipprrp010h.4rp"/>
<File filePath="bin/ipprrp010x.4rp"/>
</Application>
<Application binaryName="acprrp009" dependencies="-1026233879,-764824792,-1423229125,1581383228,749078683" environment="dir:FGLSPOOL=$(ProjectDir)/spool" externalDependencies="libgre.42x" id="-1327812109" label="acprrp009">
<Configuration id="-1193075342" label="Configuration"/>
<File filePath="acdir/acprrp009.4gl"/>
</Application>
<Library dependencies="-1026233879" binaryName="FORMULARIOS_AC" id="749078683" label="FORMULARIOS_AC">
<File filePath="acdir/acfmmt001.4fd"/>
<File filePath="acdir/acfmmt002.per"/>
<File filePath="acdir/acfmmt004.per"/>
<File filePath="acdir/acfmmt005.per"/>
<File filePath="acdir/acfmrp010.4fd"/>
<File filePath="acdir/acfmrp009.per"/>
</Library>
<Library dependencies="-1026233879" binaryName="FUNCIONES_AC" id="1581383228" label="FUNCIONES_AC">
<File filePath="acdir/acprgb000.4gl"/>
</Library>
</Group>
<Group id="-1657254212" label="CHEQUES">
<Application binaryName="cgprmt005" dependencies="-1026233879,-764824792,2055924299,-1423229125,-1298477600" environment="dir:FGLSPOOL=$(ProjectDir)/spool" externalDependencies="libgre.42x" id="-1941766540" label="cgprmt005">
<Configuration id="-1428622255" label="Configuration"/>
<File filePath="cgdir/cgprmt005.4gl"/>
</Application>
<Application binaryName="cgprrp017" dependencies="-1026233879,-764824792,2055924299,-1423229125,-1298477600" environment="dir:FGLSPOOL=$(ProjectDir)/spool" externalDependencies="libgre.42x" id="-1372432327" label="cgprrp017">
<Configuration id="-1399946799" label="Configuration"/>
<File filePath="cgdir/cgprrp017.4gl"/>
</Application>
</Group>
<Group id="634755826" label="COMPRAS">
<Library binaryName="FUNCIONES_CO" id="-700000015" label="FUNCIONES_CO">
@@ -259,19 +312,143 @@
</Application>
</Group>
<Group id="-1298100213" label="CONTABILIDAD GENERAL">
<Application binaryName="cgprmt001" dependencies="2055924299,-1026233879" id="-1385997751" label="cgprmt001">
<Application binaryName="cgprmt001" dependencies="-1026233879,-764824792,-1298477600,2055924299" id="-1385997751" label="cgprmt001">
<Configuration id="-340886821" label="Configuration"/>
<File filePath="cgdir/cgprmt001.4gl"/>
</Application>
<Application binaryName="cgprmt004" id="1978837824" label="cgprmt004">
<Application binaryName="cgprmt004" dependencies="-1026233879,-764824792,2055924299,-1423229125,-1298477600" environment="dir:FGLSPOOL=$(ProjectDir)/spool" externalDependencies="libgre.42x" id="1978837824" label="cgprmt004">
<Configuration id="459371067" label="Configuration"/>
<File compilerOptions="--build-rdd" filePath="cgdir/cgprmt004.4gl"/>
<File filePath="bin/cgprmt004.4rp"/>
</Application>
<Application binaryName="prd00000" dependencies="-1026233879,-1298477600" id="-1896301322" label="prd00000">
<Configuration id="-1478646098" label="Configuration"/>
<File filePath="otrodir/prd00000.4gl"/>
</Application>
<Application binaryName="cgprmt022" dependencies="-1026233879,-764824792,-1298477600" id="-1690166277" label="cgprmt022">
<Configuration id="-1270375111" label="Configuration"/>
<File filePath="cgdir/cgprmt022.4gl"/>
</Application>
<Application binaryName="cgprcs002" dependencies="-1026233879,2055924299,-764824792,-1298477600" id="-1119240334" label="cgprcs002">
<Configuration id="-1645769224" label="Configuration"/>
<File filePath="cgdir/cgprcs002.4gl"/>
</Application>
<Application binaryName="cgprcs024" dependencies="-1026233879,2055924299,-764824792,-1423229125,-1298477600" environment="dir:FGLSPOOL=$(ProjectDir)/spool" externalDependencies="libgre.42x" id="-1284105049" label="cgprcs024">
<Configuration id="-1111498947" label="Configuration"/>
<File filePath="cgdir/cgprcs024.4gl"/>
<File filePath="bin/cgprcs024.4rp"/>
</Application>
<Application binaryName="cgprcs025" dependencies="-1026233879,2055924299,-764824792,-1298477600" id="-1718075300" label="cgprcs025">
<Configuration id="-1429141437" label="Configuration"/>
<File filePath="cgdir/cgprcs025.4gl"/>
</Application>
<Application binaryName="cgprrp001" dependencies="-1026233879,-764824792,2055924299,-1423229125,-1298477600" environment="dir:FGLSPOOL=$(ProjectDir)/spool" externalDependencies="libgre.42x" id="-1334903839" label="cgprrp001">
<Configuration id="-1955154443" label="Configuration"/>
<File filePath="cgdir/cgprrp001.4gl"/>
<File filePath="bin/cgprrp001.4rp"/>
</Application>
<Application binaryName="cgprrp003" dependencies="-1026233879,-764824792,2055924299,-1298477600,-1423229125" id="-1535727195" label="cgprrp003">
<Configuration id="-1216625019" label="Configuration"/>
<File filePath="cgdir/cgprrp003.4gl"/>
</Application>
<Application binaryName="cgprrp004" dependencies="-1026233879,-764824792,2055924299,-1298477600,-1423229125" id="-1401146316" label="cgprrp004">
<Configuration id="-1690237359" label="Configuration"/>
<File filePath="cgdir/cgprrp004.4gl"/>
</Application>
<Application binaryName="cgprrp005" dependencies="-1026233879,-764824792,2055924299,-1298477600,-1423229125" id="-1436877130" label="cgprrp005">
<Configuration id="-1734069726" label="Configuration"/>
<File filePath="cgdir/cgprrp005.4gl"/>
</Application>
<Application binaryName="cgprrp008" dependencies="-1026233879,-764824792,2055924299,-1423229125,-1298477600" environment="dir:FGLSPOOL=$(ProjectDir)/spool" externalDependencies="libgre.42x" id="-1108812256" label="cgprrp008">
<Configuration id="-1665812888" label="Configuration"/>
<File compilerOptions="--build-rdd" filePath="cgdir/cgprrp008.4gl"/>
<File compilerOptions="--build-rdd" filePath="cgdir/cgprrpanalitico.4gl"/>
<File filePath="bin/cgprrpanalitico.4rp"/>
<File filePath="bin/cgprrpanalitico_2.4rp"/>
<File filePath="bin/cgprrpanalitico_3.4rp"/>
</Application>
<Application binaryName="cgprrp009" dependencies="-1026233879,-764824792,2055924299,-1423229125,-1298477600" environment="dir:FGLSPOOL=$(ProjectDir)/spool" externalDependencies="libgre.42x" id="-1858460909" label="cgprrp009">
<Configuration id="-1293368518" label="Configuration"/>
<File filePath="cgdir/cgprrp009.4gl"/>
</Application>
<Application binaryName="cgprrp014" dependencies="-1026233879,-764824792,2055924299,-1298477600,-1423229125" id="-1587510060" label="cgprrp014">
<Configuration id="-1396974765" label="Configuration"/>
<File filePath="cgdir/cgprrp014.4gl"/>
</Application>
<Application binaryName="cgprrp015" dependencies="-1026233879,-764824792,2055924299,-1423229125,-1298477600" environment="dir:FGLSPOOL=$(ProjectDir)/spool" externalDependencies="libgre.42x" id="-1855438237" label="cgprrp015">
<Configuration id="-1514067100" label="Configuration"/>
<File filePath="cgdir/cgprrp015.4gl"/>
</Application>
<Application binaryName="cgprrp022" dependencies="-1026233879,-764824792,2055924299,-1423229125,-1298477600" environment="dir:FGLSPOOL=$(ProjectDir)/spool" externalDependencies="libgre.42x" id="-1756764897" label="cgprrp022">
<Configuration id="-1236315648" label="Configuration"/>
<File filePath="cgdir/cgprrp022.4gl"/>
</Application>
<Application binaryName="cgprrp012" dependencies="-1026233879,-764824792,2055924299,-1423229125,-1298477600" environment="dir:FGLSPOOL=$(ProjectDir)/spool" externalDependencies="libgre.42x" id="-1708731098" label="cgprrp012">
<Configuration id="-1769044020" label="Configuration"/>
<File compilerOptions="--build-rdd" filePath="cgdir/cgprrp012.4gl"/>
<File filePath="bin/cgprrp012.4rp"/>
<File filePath="bin/cgprrp013.4rp"/>
</Application>
<Application binaryName="edprrp116" dependencies="-1026233879,-764824792,2055924299,-1423229125,-1298477600" environment="dir:FGLSPOOL=$(ProjectDir)/spool" externalDependencies="libgre.42x" id="-1869313634" label="edprrp116">
<Configuration id="-1543196720" label="Configuration"/>
<File filePath="cgdir/edprrp116.4gl"/>
</Application>
<Application binaryName="edprrp029" dependencies="-1026233879,-764824792,-1423229125,2055924299,-1298477600" environment="dir:FGLSPOOL=$(ProjectDir)/spool" externalDependencies="libgre.42x" id="-1185685825" label="edprrp029">
<Configuration id="-1542700099" label="Configuration"/>
<File filePath="cgdir/edprrp029.4gl"/>
</Application>
<Application binaryName="edprrp118" dependencies="-1026233879,-764824792,-1423229125,-1298477600" environment="dir:FGLSPOOL=$(ProjectDir)/spool" externalDependencies="libgre.42x" id="-1651111980" label="edprrp118">
<Configuration id="-1363996643" label="Configuration"/>
<File compilerOptions="--build-rdd" filePath="cgdir/edprrp118.4gl"/>
<File filePath="bin/edprrp118.4rp"/>
<File compilerOptions="--build-rdd" filePath="cgdir/edprrp118b.4gl"/>
<File filePath="bin/edprrp118b.4rp"/>
</Application>
<Application binaryName="edprrp080" dependencies="-1026233879,-1423229125,-764824792,2055924299,-1298477600" environment="dir:FGLSPOOL=$(ProjectDir)/spool" externalDependencies="libgre.42x" id="-1971984709" label="edprrp080">
<Configuration id="-1496306233" label="Configuration"/>
<File filePath="cgdir/edprrp080.4gl"/>
<File filePath="bin/edprrp080.4rp"/>
<File compilerOptions="--build-rdd" filePath="cgdir/edprrp080a.4gl"/>
<File filePath="bin/edprrp080m.4rp"/>
</Application>
<Library binaryName="FORMULARIOS_CG" dependencies="-1026233879" id="-1298477600" label="FORMULARIOS_CG">
<File filePath="cgdir/cgfmmt001.4fd"/>
<File filePath="cgdir/cgfmmt004.4fd"/>
<File filePath="cgdir/cgfmwd001.per"/>
<File filePath="cgdir/cgfmwd004.per"/>
<File filePath="cgdir/cgfmwd010.per"/>
<File filePath="cgdir/cgfmwd011.per"/>
<File filePath="otrodir/prdfm.per"/>
<File filePath="cgdir/cgfmmt022.4fd"/>
<File filePath="cgdir/cgfmcs002.per"/>
<File filePath="cgdir/cgfmcs024.4fd"/>
<File filePath="cgdir/cgfmcs025.4fd"/>
<File filePath="cgdir/cgfmrp001.per"/>
<File filePath="cgdir/cgfmrp003.per"/>
<File filePath="cgdir/cgfmrp004.per"/>
<File filePath="cgdir/cgfmrp005.per"/>
<File filePath="cgdir/cgfmrp008.4fd"/>
<File filePath="cgdir/cgfmrp009.per"/>
<File filePath="cgdir/cgfmrp014.per"/>
<File filePath="cgdir/cgfmrp015.per"/>
<File filePath="cgdir/cgfmrp022.per"/>
<File filePath="cgdir/cgfmrp013.4fd"/>
<File filePath="cgdir/edfmrp116.4fd"/>
<File filePath="cgdir/edfmrp029.4fd"/>
<File filePath="cgdir/edfmrp118.4fd"/>
<File filePath="cgdir/edfmrp080.4fd"/>
<File filePath="cgdir/cgfmmt005.4fd"/>
<File filePath="cgdir/cgfmwd007.per"/>
<File filePath="cgdir/cgfmrp017.per"/>
<File filePath="cgdir/cgfmcs026.4fd"/>
</Library>
<Library binaryName="FUNCIONES_CG" id="2055924299" label="FUNCIONES_CG">
<Library dependencies="-1026233879" binaryName="FUNCIONES_CG" id="2055924299" label="FUNCIONES_CG">
<File filePath="cgdir/cgprgb000.4gl"/>
<File filePath="cgdir/cgcuadrada.4gl"/>
<File filePath="cgdir/cgfunciones.4gl"/>
<File filePath="cpdir/ctipo_impuesto.4gl"/>
<File filePath="cgdir/formato_entradas.4gl"/>
<File filePath="bin/formato_entrada.4rp"/>
</Library>
</Group>
<Group id="-255352965" label="COSTOS">
@@ -356,6 +533,19 @@
</Library>
</Group>
<Group id="-1462008232" label="ENCUESTAS"/>
<Group id="-1440004325" label="INFORMATICA">
<Application binaryName="segprmt001" dependencies="-1026233879,-764824792,-1706116276" id="-1331986859" label="segprmt001">
<Configuration id="-1487809590" label="Configuration"/>
<File filePath="seguridad2.0/segprmt0001.4gl"/>
<File filePath="seguridad2.0/firmas.4gl"/>
<File filePath="otrodir/perfiles.4gl"/>
<File filePath="seguridad2.0/resources/segbuscaUsuarios.4gl"/>
<File filePath="otrodir/printers.4gl"/>
</Application>
<Library binaryName="FORMULARIOS_SEG" dependencies="-1026233879" id="-1706116276" label="FORMULARIOS_SEG">
<File filePath="seguridad2.0/segfmmt001.4fd"/>
</Library>
</Group>
<Group id="-396138196" label="LIQUIDACION">
<Application binaryName="lqprmt001" dependencies="2132467565,-1026233879,-764824792" id="-579303895" label="lqprmt001">
<Configuration commandLineArguments="jpeguero Peguero2023" id="332652234" label="Configuration"/>
@@ -471,141 +661,6 @@
<File compilerOptions="--build-rdd" filePath="indir/inprrp011.4gl"/>
</Application>
</Group>
<Group id="1302820616" label="NOMINA">
<Library binaryName="FORMULARIOS_NO" id="-335228674" label="FORMULARIOS_NO">
<File filePath="nodir/nofmmt002.per"/>
<File filePath="nodir/nofmwd001.per"/>
<File filePath="nodir/nofmmt003.4fd"/>
<File filePath="nodir/nofmmt001.4fd"/>
<File filePath="nodir/nofmmt007.4fd"/>
<File filePath="nodir/nofmmt008.4fd"/>
<File filePath="nodir/nofmmt108.per"/>
<File filePath="nodir/nofmmt208.per"/>
<File filePath="nodir/nofmmt011.4fd"/>
<File filePath="nodir/nofmmt016.per"/>
<File filePath="nodir/nofmmt018.per"/>
<File filePath="nodir/nofmmt019.per"/>
<File filePath="nodir/nofmmt023.4fd"/>
<File filePath="nodir/nofmmt024.per"/>
<File filePath="nodir/nofmmt025.4fd"/>
<File filePath="nodir/nofmcs002.per"/>
<File filePath="nodir/nofmcs004.4fd"/>
<File filePath="nodir/nofmcs006.4fd"/>
<File filePath="nodir/nofmrp002.4fd"/>
<File filePath="nodir/nofmrp003.4fd"/>
<File filePath="nodir/nofmrp039.4fd"/>
<File filePath="nodir/nofmrp044.4fd"/>
<File filePath="nodir/nofmrp008.4fd"/>
<File filePath="nodir/nofmrp043.4fd"/>
<File filePath="nodir/nofmrp009.per"/>
<File filePath="nodir/nofmrp015.per"/>
</Library>
<Library binaryName="FUNCIONES_NO" id="-306412216" label="FUNCIONES_NO">
<File filePath="nodir/noprgb000.4gl"/>
<File filePath="nodir/noprfu000.4gl"/>
<File filePath="nodir/nocarnet.4gl"/>
</Library>
<Application binaryName="noprmt002" dependencies="-1026233879,-764824792,-306412216,-335228674,1612573873" id="-700000043" label="noprmt002">
<Configuration commandLineArguments="alopez Lopez2023" id="-700000044" label="Configuration"/>
<File filePath="nodir/noprmt002.4gl"/>
</Application>
<Application binaryName="noprmt003" dependencies="-1026233879,-764824792,-306412216,-335228674" environment="dir:FGLSPOOL=$(ProjectDir)/spool" id="-700000045" label="noprmt003">
<Configuration commandLineArguments="alopez Lopez2023" id="-700000046" label="Configuration"/>
<File filePath="nodir/noprmt003.4gl"/>
</Application>
<Application binaryName="noprmt001" dependencies="-1026233879,-764824792,-306412216,-335228674" id="-700000047" label="noprmt001">
<Configuration commandLineArguments="alopez Lopez2023" id="-700000048" label="Configuration"/>
<File filePath="nodir/noprmt001.4gl"/>
</Application>
<Application binaryName="noprmt007" dependencies="-1026233879,-764824792,-306412216,-335228674" id="-700000049" label="noprmt007">
<Configuration commandLineArguments="alopez Lopez2023" id="-700000050" label="Configuration"/>
<File filePath="nodir/noprmt007.4gl"/>
</Application>
<Application binaryName="noprmt008" dependencies="-1026233879,-764824792,-306412216,-335228674" id="-700000053" label="noprmt008">
<Configuration commandLineArguments="alopez Lopez2023" id="-700000054" label="Configuration"/>
<File filePath="nodir/noprmt008.4gl"/>
</Application>
<Application binaryName="noprmt011" dependencies="-1026233879,-764824792,-306412216,-335228674" id="-700000055" label="noprmt011">
<Configuration commandLineArguments="alopez Lopez2023" id="-700000056" label="Configuration"/>
<File filePath="nodir/noprmt011.4gl"/>
</Application>
<Application binaryName="noprmt016" dependencies="-1026233879,-764824792,-306412216,-335228674" id="-700000057" label="noprmt016">
<Configuration commandLineArguments="alopez Lopez2023" id="-700000058" label="Configuration"/>
<File filePath="nodir/noprmt016.4gl"/>
</Application>
<Application binaryName="noprmt018" dependencies="-1026233879,-764824792,-306412216,-335228674" id="-700000059" label="noprmt018">
<Configuration commandLineArguments="alopez Lopez2023" id="-700000060" label="Configuration"/>
<File filePath="nodir/noprmt018.4gl"/>
</Application>
<Application binaryName="noprmt019" dependencies="-1026233879,-764824792,-306412216,-335228674" id="-700000061" label="noprmt019">
<Configuration commandLineArguments="alopez Lopez2023" id="-700000062" label="Configuration"/>
<File filePath="nodir/noprmt019.4gl"/>
</Application>
<Application binaryName="noprmt023" dependencies="-1026233879,-764824792,-306412216,-335228674" environment="file:FGLPROFILE=$(ProjectDir)/config/fglprofile" id="-700000063" label="noprmt023">
<Configuration commandLineArguments="alopez Lopez2023" id="-700000064" label="Configuration"/>
<File filePath="nodir/noprmt023.4gl"/>
</Application>
<Application binaryName="noprmt024" dependencies="-1026233879,-764824792,-306412216,-335228674" id="-700000065" label="noprmt024">
<Configuration commandLineArguments="alopez Lopez2023" id="-700000066" label="Configuration"/>
<File filePath="nodir/noprmt024.4gl"/>
</Application>
<Application binaryName="noprmt025" dependencies="-1026233879,-764824792,-306412216,-335228674" id="-700000067" label="noprmt025">
<Configuration commandLineArguments="alopez Lopez2023" id="-700000068" label="Configuration"/>
<File filePath="nodir/noprmt025.4gl"/>
</Application>
<Application binaryName="noprcs002" dependencies="-1026233879,-764824792,-306412216,-335228674" id="-700000069" label="noprcs002">
<Configuration commandLineArguments="alopez Lopez2023" id="-700000070" label="Configuration"/>
<File filePath="nodir/noprcs002.4gl"/>
</Application>
<Application binaryName="noprcs004" dependencies="-1026233879,-764824792,-306412216,-335228674" id="-700000071" label="noprcs004">
<Configuration commandLineArguments="alopez Lopez2023" id="-700000072" label="Configuration"/>
<File filePath="nodir/noprcs004.4gl"/>
<File filePath="addir/adfunciones.4gl"/>
</Application>
<Application binaryName="noprcs006" dependencies="-1026233879,-764824792,-306412216,-335228674,-1423229125" externalDependencies="libgre.42x" id="-700000073" label="noprcs006">
<Configuration commandLineArguments="alopez Lopez2023" id="-700000074" label="Configuration"/>
<File filePath="nodir/noprcs006.4gl"/>
<File filePath="bin/noprcs006.4rp"/>
</Application>
<Application binaryName="noprrp002" dependencies="-1026233879,-764824792,-306412216,-335228674,-1423229125" externalDependencies="libgre.42x" id="-700000075" label="noprrp002">
<Configuration commandLineArguments="alopez Lopez2023" id="-700000076" label="Configuration"/>
<File filePath="nodir/noprrp002.4gl"/>
<File filePath="bin/noprrp002.4rp"/>
</Application>
<Application binaryName="noprrp003" dependencies="-1026233879,-764824792,-306412216,-335228674,-1423229125" externalDependencies="libgre.42x" id="-700000077" label="noprrp003">
<Configuration commandLineArguments="alopez Lopez2023" id="-700000078" label="Configuration"/>
<File filePath="nodir/noprrp003.4gl"/>
<File filePath="bin/noprrp003.4rp"/>
</Application>
<Application binaryName="noprrp039" dependencies="-1026233879,-764824792,-306412216,-335228674,-1423229125" externalDependencies="libgre.42x" id="-700000079" label="noprrp039">
<Configuration commandLineArguments="alopez Lopez2023" id="-700000080" label="Configuration"/>
<File filePath="nodir/noprrp039.4gl"/>
<File filePath="bin/noprrp039.4rp"/>
</Application>
<Application binaryName="noprrp044" dependencies="-1026233879,-764824792,-306412216,-335228674,-1423229125" externalDependencies="libgre.42x" id="-700000081" label="noprrp044">
<Configuration commandLineArguments="alopez Lopez2023" id="-700000082" label="Configuration"/>
<File filePath="nodir/noprrp044.4gl"/>
<File filePath="bin/noprrp044.4rp"/>
</Application>
<Application binaryName="noprrp038" dependencies="-1026233879,-764824792,-306412216,-335228674" environment="dir:FGLSPOOL=$(ProjectDir)/spool" id="-700000085" label="noprrp038">
<Configuration commandLineArguments="alopez Lopez2023" id="-700000086" label="Configuration"/>
<File filePath="nodir/noprrp038.4gl"/>
</Application>
<Application binaryName="noprrp043" dependencies="-1026233879,-764824792,-306412216,-335228674,-1423229125" externalDependencies="libgre.42x" id="-700000087" label="noprrp043">
<Configuration commandLineArguments="alopez Lopez2023" id="-700000088" label="Configuration"/>
<File filePath="nodir/noprrp043.4gl"/>
<File filePath="bin/noprrp043.4rp"/>
</Application>
<Application binaryName="noprrp009" dependencies="-1026233879,-764824792,-306412216,-335228674,-1423229125" environment="dir:FGLSPOOL=$(ProjectDir)/spool" externalDependencies="libgre.42x" id="-700000089" label="noprrp009">
<Configuration commandLineArguments="alopez Lopez2023" id="-700000090" label="Configuration"/>
<File filePath="nodir/noprrp009.4gl"/>
</Application>
<Application binaryName="noprrp015" dependencies="-1026233879,-764824792,-306412216,-335228674,-1423229125" environment="dir:FGLSPOOL=$(ProjectDir)/spool" externalDependencies="libgre.42x" id="-700000091" label="noprrp015">
<Configuration commandLineArguments="alopez Lopez2023" id="-700000092" label="Configuration"/>
<File filePath="nodir/noprrp015.4gl"/>
<File filePath="bin/noprrp015.4rp"/>
</Application>
</Group>
<Group id="1667448785" label="PRODUCTOS TERMINADOS">
<Library binaryName="FORMULARIOS_IP" dependencies="-1026233879" id="-1826025351" label="FORMULARIOS_IP">
<File filePath="ipdir/ipfmmt003.4fd"/>
@@ -680,7 +735,7 @@
<File compilerOptions="--build-rdd" filePath="ipdir/ipprmt013.4gl"/>
</Application>
<Application binaryName="ipprmt005" dependencies="1763548104,-1026233879,-764824792" externalDependencies="libgre.42x" id="-960000007" label="ipprmt005">
<Configuration commandLineArguments="jsoto lmmjvsd2014" id="-961000007" label="Configuration"/>
<Configuration commandLineArguments="jpeguero Peguero2023" id="-961000007" label="Configuration"/>
<File compilerOptions="--build-rdd" filePath="ipdir/ipprmt005.4gl"/>
</Application>
<Application binaryName="ipprmt012" dependencies="1763548104,-1026233879,-764824792" externalDependencies="libgre.42x" id="-960000008" label="ipprmt012">
@@ -776,6 +831,8 @@
<Application binaryName="ipprrp014" dependencies="1763548104,-1026233879,-764824792,-1423229125" externalDependencies="libgre.42x" id="-960000028" label="ipprrp014">
<Configuration commandLineArguments="jpeguero Peguero2023" id="-961000028" label="Configuration"/>
<File compilerOptions="--build-rdd" filePath="ipdir/ipprrp014.4gl"/>
<File filePath="bin/ipprrp014.4rp"/>
<File filePath="bin/ipprrp014r.4rp"/>
<File filePath="ipdir/ipfmrp014.4fd"/>
</Application>
<Application binaryName="ipprrp046" dependencies="1763548104,-1026233879,-764824792,-1423229125" externalDependencies="libgre.42x" id="-960000029" label="ipprrp046">
@@ -858,11 +915,21 @@
<File filePath="vedir/vefmwd003.per"/>
<File filePath="PRDIR/prfmmt010.4fd"/>
<File filePath="PRDIR/prfmmt011.4fd"/>
<File filePath="PRDIR/prfmmt011b.4fd"/>
<File filePath="PRDIR/prfmmt011c.4fd"/>
<File filePath="vedir/prfmwd015.per"/>
<File filePath="PRDIR/prfmcs002.4fd"/>
<File filePath="PRDIR/prfmmt021b.4fd"/>
<File filePath="PRDIR/prfmmt021c.4fd"/>
<File filePath="PRDIR/prfmmt021d.4fd"/>
<File filePath="PRDIR/prfmwd002.per"/>
<File filePath="PRDIR/prfmwd012.4fd"/>
<File filePath="PRDIR/prfmwd013.4fd"/>
<File filePath="vedir/prfmwd014.per"/>
<File filePath="PRDIR/prfmmt022.4fd"/>
<File filePath="PRDIR/prfmmt021.4fd"/>
<File filePath="PRDIR/prfmmt021a.4fd"/>
<File filePath="ccdir/prfmmt012.per"/>
<File filePath="PRDIR/prfmmt012.4fd"/>
<File filePath="PRDIR/prtest.4fd"/>
<File filePath="PRDIR/prfmcs001.per"/>
<File filePath="otrodir/impimportar.per"/>
@@ -874,6 +941,7 @@
<File filePath="codir/cofmfu009.4fd"/>
<File filePath="PRDIR/prBuscaRequisicion.4gl"/>
<File filePath="otrodir/existenciaalmacenes.4gl"/>
<File filePath="otrodir/existenciaalmacenes.4fd"/>
<File filePath="PRDIR/prprmt011c.4gl"/>
<File filePath="PRDIR/busca_dibujos.4gl"/>
<File filePath="PRDIR/prprmt011b.4gl"/>
@@ -888,20 +956,323 @@
</Library>
</Group>
<Group id="46006545" label="RECURSOS HUMANOS">
<Group id="328490448" label="ADMINISTRACION PERSONAL"/>
<Library binaryName="FORMULARIOS_AD" id="1612573873" label="FORMULARIOS_AD">
<File filePath="addir/adfmwd004.per"/>
</Library>
<Library binaryName="FUNCIONES_AD" id="114070979" label="FUNCIONES_AD"/>
<Group id="942743738" label="NOMINA"/>
<Group id="328490448" label="ADMINISTRACION PERSONAL">
<Library binaryName="FORMULARIOS_AD" id="1612573873" label="FORMULARIOS_AD">
<File filePath="addir/adfmwd004.per"/>
</Library>
<Library binaryName="FUNCIONES_AD" id="114070979" label="FUNCIONES_AD"/>
</Group>
<Group id="942743738" label="NOMINA">
<Library binaryName="FORMULARIOS_NO" id="-335228674" label="FORMULARIOS_NO">
<File filePath="nodir/nofmmt002.per"/>
<File filePath="nodir/nofmwd001.per"/>
<File filePath="nodir/nofmmt003.4fd"/>
<File filePath="nodir/nofmmt001.4fd"/>
<File filePath="nodir/nofmmt007.4fd"/>
<File filePath="nodir/nofmmt008.4fd"/>
<File filePath="nodir/nofmmt108.per"/>
<File filePath="nodir/nofmmt208.per"/>
<File filePath="nodir/nofmmt011.4fd"/>
<File filePath="nodir/nofmmt016.per"/>
<File filePath="nodir/nofmmt018.per"/>
<File filePath="nodir/nofmmt019.per"/>
<File filePath="nodir/nofmmt023.4fd"/>
<File filePath="nodir/nofmmt024.per"/>
<File filePath="nodir/nofmmt025.4fd"/>
<File filePath="nodir/nofmcs002.per"/>
<File filePath="nodir/nofmcs004.4fd"/>
<File filePath="nodir/nofmcs006.4fd"/>
<File filePath="nodir/nofmrp002.4fd"/>
<File filePath="nodir/nofmrp003.4fd"/>
<File filePath="nodir/nofmrp039.4fd"/>
<File filePath="nodir/nofmrp044.4fd"/>
<File filePath="nodir/nofmrp008.4fd"/>
<File filePath="nodir/nofmrp043.4fd"/>
<File filePath="nodir/nofmrp009.per"/>
<File filePath="nodir/nofmrp015.per"/>
<File filePath="nodir/nofmrp045.per"/>
<File filePath="nodir/nofmrp041.4fd"/>
<File filePath="nodir/nofmmt026.4fd"/>
</Library>
<Library binaryName="FUNCIONES_NO" id="-306412216" label="FUNCIONES_NO">
<File filePath="nodir/noprgb000.4gl"/>
<File filePath="nodir/noprfu000.4gl"/>
<File filePath="nodir/nocarnet.4gl"/>
</Library>
<Application binaryName="noprmt002" dependencies="-1026233879,-764824792,-306412216,-335228674,1612573873" id="-700000043" label="noprmt002">
<Configuration commandLineArguments="alopez Lopez2023" id="-700000044" label="Configuration"/>
<File filePath="nodir/noprmt002.4gl"/>
</Application>
<Application binaryName="noprmt003" dependencies="-1026233879,-764824792,-306412216,-335228674" environment="dir:FGLSPOOL=$(ProjectDir)/spool" id="-700000045" label="noprmt003">
<Configuration commandLineArguments="alopez Lopez2023" id="-700000046" label="Configuration"/>
<File filePath="nodir/noprmt003.4gl"/>
</Application>
<Application binaryName="noprmt001" dependencies="-1026233879,-764824792,-306412216,-335228674" id="-700000047" label="noprmt001">
<Configuration commandLineArguments="alopez Lopez2023" id="-700000048" label="Configuration"/>
<File filePath="nodir/noprmt001.4gl"/>
</Application>
<Application binaryName="noprmt007" dependencies="-1026233879,-764824792,-306412216,-335228674" id="-700000049" label="noprmt007">
<Configuration commandLineArguments="alopez Lopez2023" id="-700000050" label="Configuration"/>
<File filePath="nodir/noprmt007.4gl"/>
</Application>
<Application binaryName="noprmt008" dependencies="-1026233879,-764824792,-306412216,-335228674" id="-700000053" label="noprmt008">
<Configuration commandLineArguments="alopez Lopez2023" id="-700000054" label="Configuration"/>
<File filePath="nodir/noprmt008.4gl"/>
</Application>
<Application binaryName="noprmt011" dependencies="-1026233879,-764824792,-306412216,-335228674" id="-700000055" label="noprmt011">
<Configuration commandLineArguments="alopez Lopez2023" id="-700000056" label="Configuration"/>
<File filePath="nodir/noprmt011.4gl"/>
</Application>
<Application binaryName="noprmt016" dependencies="-1026233879,-764824792,-306412216,-335228674" id="-700000057" label="noprmt016">
<Configuration commandLineArguments="alopez Lopez2023" id="-700000058" label="Configuration"/>
<File filePath="nodir/noprmt016.4gl"/>
</Application>
<Application binaryName="noprmt018" dependencies="-1026233879,-764824792,-306412216,-335228674" id="-700000059" label="noprmt018">
<Configuration commandLineArguments="alopez Lopez2023" id="-700000060" label="Configuration"/>
<File filePath="nodir/noprmt018.4gl"/>
</Application>
<Application binaryName="noprmt019" dependencies="-1026233879,-764824792,-306412216,-335228674" id="-700000061" label="noprmt019">
<Configuration commandLineArguments="alopez Lopez2023" id="-700000062" label="Configuration"/>
<File filePath="nodir/noprmt019.4gl"/>
</Application>
<Application binaryName="noprmt023" dependencies="-1026233879,-764824792,-306412216,-335228674" environment="file:FGLPROFILE=$(ProjectDir)/config/fglprofile" id="-700000063" label="noprmt023">
<Configuration commandLineArguments="alopez Lopez2023" id="-700000064" label="Configuration"/>
<File filePath="nodir/noprmt023.4gl"/>
</Application>
<Application binaryName="noprmt024" dependencies="-1026233879,-764824792,-306412216,-335228674" id="-700000065" label="noprmt024">
<Configuration commandLineArguments="alopez Lopez2023" id="-700000066" label="Configuration"/>
<File filePath="nodir/noprmt024.4gl"/>
</Application>
<Application binaryName="noprmt025" dependencies="-1026233879,-764824792,-306412216,-335228674" id="-700000067" label="noprmt025">
<Configuration commandLineArguments="alopez Lopez2023" id="-700000068" label="Configuration"/>
<File filePath="nodir/noprmt025.4gl"/>
</Application>
<Application binaryName="noprcs002" dependencies="-1026233879,-764824792,-306412216,-335228674" id="-700000069" label="noprcs002">
<Configuration commandLineArguments="alopez Lopez2023" id="-700000070" label="Configuration"/>
<File filePath="nodir/noprcs002.4gl"/>
</Application>
<Application binaryName="noprcs004" dependencies="-1026233879,-764824792,-306412216,-335228674" id="-700000071" label="noprcs004">
<Configuration commandLineArguments="alopez Lopez2023" id="-700000072" label="Configuration"/>
<File filePath="nodir/noprcs004.4gl"/>
<File filePath="addir/adfunciones.4gl"/>
</Application>
<Application binaryName="noprcs006" dependencies="-1026233879,-764824792,-306412216,-335228674,-1423229125" externalDependencies="libgre.42x" id="-700000073" label="noprcs006">
<Configuration commandLineArguments="alopez Lopez2023" id="-700000074" label="Configuration"/>
<File filePath="nodir/noprcs006.4gl"/>
<File filePath="bin/noprcs006.4rp"/>
</Application>
<Application binaryName="noprrp002" dependencies="-1026233879,-764824792,-306412216,-335228674,-1423229125" externalDependencies="libgre.42x" id="-700000075" label="noprrp002">
<Configuration commandLineArguments="alopez Lopez2023" id="-700000076" label="Configuration"/>
<File filePath="nodir/noprrp002.4gl"/>
<File filePath="bin/noprrp002.4rp"/>
</Application>
<Application binaryName="noprrp003" dependencies="-1026233879,-764824792,-306412216,-335228674,-1423229125" externalDependencies="libgre.42x" id="-700000077" label="noprrp003">
<Configuration commandLineArguments="alopez Lopez2023" id="-700000078" label="Configuration"/>
<File filePath="nodir/noprrp003.4gl"/>
<File filePath="bin/noprrp003.4rp"/>
</Application>
<Application binaryName="noprrp039" dependencies="-1026233879,-764824792,-306412216,-335228674,-1423229125" externalDependencies="libgre.42x" id="-700000079" label="noprrp039">
<Configuration commandLineArguments="alopez Lopez2023" id="-700000080" label="Configuration"/>
<File filePath="nodir/noprrp039.4gl"/>
<File filePath="bin/noprrp039.4rp"/>
</Application>
<Application binaryName="noprrp044" dependencies="-1026233879,-764824792,-306412216,-335228674,-1423229125" externalDependencies="libgre.42x" id="-700000081" label="noprrp044">
<Configuration commandLineArguments="alopez Lopez2023" id="-700000082" label="Configuration"/>
<File filePath="nodir/noprrp044.4gl"/>
<File filePath="bin/noprrp044.4rp"/>
</Application>
<Application binaryName="noprrp038" dependencies="-1026233879,-764824792,-306412216,-335228674" environment="dir:FGLSPOOL=$(ProjectDir)/spool" id="-700000085" label="noprrp038">
<Configuration commandLineArguments="alopez Lopez2023" id="-700000086" label="Configuration"/>
<File filePath="nodir/noprrp038.4gl"/>
</Application>
<Application binaryName="noprrp043" dependencies="-1026233879,-764824792,-306412216,-335228674,-1423229125" externalDependencies="libgre.42x" id="-700000087" label="noprrp043">
<Configuration commandLineArguments="alopez Lopez2023" id="-700000088" label="Configuration"/>
<File filePath="nodir/noprrp043.4gl"/>
<File filePath="bin/noprrp043.4rp"/>
</Application>
<Application binaryName="noprrp009" dependencies="-1026233879,-764824792,-306412216,-335228674,-1423229125" environment="dir:FGLSPOOL=$(ProjectDir)/spool" externalDependencies="libgre.42x" id="-700000089" label="noprrp009">
<Configuration commandLineArguments="alopez Lopez2023" id="-700000090" label="Configuration"/>
<File filePath="nodir/noprrp009.4gl"/>
</Application>
<Application binaryName="noprrp015" dependencies="-1026233879,-764824792,-306412216,-335228674,-1423229125" environment="dir:FGLSPOOL=$(ProjectDir)/spool" externalDependencies="libgre.42x" id="-700000091" label="noprrp015">
<Configuration commandLineArguments="alopez Lopez2023" id="-700000092" label="Configuration"/>
<File filePath="nodir/noprrp015.4gl"/>
<File filePath="bin/noprrp015.4rp"/>
</Application>
<Application binaryName="noprrp045" dependencies="-1026233879,-764824792,-306412216,-335228674,-1423229125" externalDependencies="libgre.42x" id="-700000093" label="noprrp045">
<Configuration commandLineArguments="alopez Lopez2023" id="-700000094" label="Configuration"/>
<File filePath="nodir/noprrp045.4gl"/>
<File filePath="bin/noprrp045.4rp"/>
</Application>
<Application binaryName="noprrp041" dependencies="-1026233879,-764824792,-306412216,-335228674,-1423229125" externalDependencies="libgre.42x" id="-700000095" label="noprrp041">
<Configuration commandLineArguments="alopez Lopez2023" id="-700000096" label="Configuration"/>
<File filePath="nodir/noprrp041.4gl"/>
<File filePath="bin/noprrp041.4rp"/>
</Application>
<Application binaryName="noprmt026" dependencies="-1026233879,-764824792,-306412216,-335228674" environment="dir:FGLSPOOL=$(ProjectDir)/spool" id="-700000097" label="noprmt026">
<Configuration commandLineArguments="alopez Lopez2023" id="-700000098" label="Configuration"/>
<File filePath="nodir/noprmt026.4gl"/>
</Application>
</Group>
</Group>
<Group id="-802694369" label="REPORTE ENTRADA">
<Library binaryName="FORMULARIO_AL" id="267647114" label="FORMULARIO_AL"/>
<Library binaryName="FUNCION_AL" id="-1012843001" label="FUNCION_AL"/>
</Group>
<Group id="-105943532" label="REPUESTOS">
<Library binaryName="FORMULARIOS_IR" id="18908927" label="FORMULARIOS_IR"/>
<Library binaryName="FUNCIONES_IR" id="-2079122474" label="FUNCIONES_IR"/>
<Application binaryName="irprmt006" dependencies="-1026233879,-2079122474,-764824792,-1423229125,18908927" id="-1693664339" label="irprmt006">
<Configuration id="-1608269971" label="Configuration"/>
<File filePath="irdir/irprmt006.4gl"/>
</Application>
<Application binaryName="irprmt036" dependencies="-1026233879,-2079122474,-764824792,-1423229125,493047263,18908927" environment="dir:FGLSPOOL=$(ProjectDir)/spool" externalDependencies="libgre.42x" id="-1871333166" label="irprmt036">
<Configuration id="-1466474603" label="Configuration"/>
<File compilerOptions="--build-rdd" filePath="irdir/irautorizareq.4gl"/>
<File filePath="bin/irprmt020_1.4rp"/>
<File filePath="irdir/irprmt036.4gl"/>
</Application>
<Application binaryName="irprmt066" dependencies="-1026233879,-764824792,18908927,-2079122474" id="-1402798399" label="irprmt066">
<Configuration id="-1453845102" label="Configuration"/>
<File filePath="irdir/irprmt066.4gl"/>
</Application>
<Application binaryName="irprmt020" dependencies="-1026233879,-764824792,-2079122474,18908927" environment="dir:FGLSPOOL=$(ProjectDir)/spool" externalDependencies="libgre.42x" id="-1112777595" label="irprmt020">
<Configuration id="-1484413397" label="Configuration"/>
<File filePath="irdir/irprmt020.4gl"/>
<File filePath="irdir/irbuscaprod.4gl"/>
</Application>
<Application externalDependencies="libgre.42x" binaryName="irprmt021" dependencies="-1026233879,-2079122474,-764824792,18908927" id="-1356987098" label="irprmt021">
<Configuration id="-1650667887" label="Configuration"/>
<File filePath="irdir/irprmt021.4gl"/>
</Application>
<Application binaryName="irprmt002" dependencies="-1026233879,-2079122474,-764824792,18908927" id="-1442328982" label="irprmt002">
<Configuration id="-1884373668" label="Configuration"/>
<File filePath="irdir/irprmt002.4gl"/>
</Application>
<Application binaryName="irprmt003" dependencies="-1026233879,-2079122474,-764824792,18908927" id="-1819869648" label="irprmt003">
<Configuration id="-1755514326" label="Configuration"/>
<File filePath="irdir/irprmt003.4gl"/>
</Application>
<Application binaryName="irprmt004" dependencies="-1026233879,-2079122474,-764824792,18908927" id="-1348423410" label="irprmt004">
<Configuration id="-1848289576" label="Configuration"/>
<File filePath="irdir/irprmt004.4gl"/>
</Application>
<Application binaryName="irprmt009" dependencies="-1026233879,-2079122474,-764824792,18908927" id="-1816906363" label="irprmt009">
<Configuration id="-1293148904" label="Configuration"/>
<File filePath="irdir/irprmt009.4gl"/>
</Application>
<Application binaryName="irprcs008" dependencies="-1026233879,-2079122474,-764824792,-1423229125,18908927" environment="dir:FGLSPOOL=$(ProjectDir)/spool" externalDependencies="libgre.42x" id="-1366949580" label="irprcs008">
<Configuration id="-1220561920" label="Configuration"/>
<File filePath="irdir/desglose_conteo.4gl"/>
<File filePath="irdir/irprcs008.4gl"/>
<File compilerOptions="--build-rdd" filePath="irdir/irprrpcs008.4gl"/>
<File filePath="bin/irprrpcs008.4rp"/>
<File filePath="irdir/irprrpcs008C.4rp"/>
<File filePath="otrodir/productos_incluye.4gl"/>
</Application>
<Application binaryName="irprmt068" dependencies="-1026233879,-2079122474,-764824792,18908927" id="-1398685712" label="irprmt068">
<Configuration id="-1422217555" label="Configuration"/>
<File filePath="irdir/irprmt068.4gl"/>
</Application>
<Application binaryName="irprcs001" dependencies="-1026233879,-2079122474,18908927,-764824792" id="-1669667243" label="irprcs001">
<Configuration id="-1169672607" label="Configuration"/>
<File filePath="irdir/irprcs001.4gl"/>
</Application>
<Application binaryName="irprcs006" dependencies="-1026233879,-2079122474,-764824792,18908927" id="-1643189558" label="irprcs006">
<Configuration id="-1973606040" label="Configuration"/>
<File filePath="irdir/irprcs006.4gl"/>
</Application>
<Application binaryName="irprrp002" dependencies="-1026233879,-2079122474,-764824792,-1423229125,18908927" environment="dir:FGLSPOOL=$(ProjectDir)/spool" externalDependencies="libgre.42x" id="-1121870796" label="irprrp002">
<Configuration id="-1974120673" label="Configuration"/>
<File compilerOptions="--build-rdd" filePath="irdir/irprrp002.4gl"/>
<File filePath="bin/irprrp002.4rp"/>
<File filePath="irdir/irpantalla.4gl"/>
</Application>
<Application binaryName="irprrp003" dependencies="-1026233879,-2079122474,-764824792,-1423229125,18908927" environment="dir:FGLSPOOL=$(ProjectDir)/spool" externalDependencies="libgre.42x" id="-1867145857" label="irprrp003">
<Configuration id="-1876366888" label="Configuration"/>
<File filePath="irdir/irprrp003.4gl"/>
</Application>
<Application binaryName="irprrp004" dependencies="-1026233879,-2079122474,-764824792,18908927,-1423229125" id="-1148512219" label="irprrp004">
<Configuration id="-1961021445" label="Configuration"/>
<File filePath="irdir/irprrp004.4gl"/>
</Application>
<Application binaryName="irprrp045" dependencies="-1026233879,-2079122474,-1423229125,-764824792,18908927" environment="dir:FGLSPOOL=$(ProjectDir)/spool" externalDependencies="libgre.42x" id="-1704957865" label="irprrp045">
<Configuration id="-1898719316" label="Configuration"/>
<File compilerOptions="--build-rdd" filePath="irdir/irprrp045.4gl"/>
</Application>
<Application binaryName="irprrp005" dependencies="-1026233879,-2079122474,-764824792,-1423229125,18908927" environment="dir:FGLSPOOL=$(ProjectDir)/spool" externalDependencies="libgre.42x" id="-1471243680" label="irprrp005">
<Configuration id="-1652551208" label="Configuration"/>
<File filePath="irdir/irprrp005.4gl"/>
</Application>
<Application binaryName="irprrp006" dependencies="-1026233879,-2079122474,-764824792,-1423229125,18908927" environment="dir:FGLSPOOL=$(ProjectDir)/spool" externalDependencies="libgre.42x" id="-1261653674" label="irprrp006">
<Configuration id="-1103742788" label="Configuration"/>
<File compilerOptions="--build-rdd" filePath="irdir/irprrp006.4gl"/>
<File filePath="bin/irprrp006.4rp"/>
</Application>
<Application binaryName="irprrp009" dependencies="-1026233879,-2079122474,-764824792,-1423229125,18908927" environment="dir:FGLSPOOL=$(ProjectDir)/spool" externalDependencies="libgre.42x" id="-1263403077" label="irprrp009">
<Configuration id="-1486947600" label="Configuration"/>
<File compilerOptions="--build-rdd" filePath="irdir/irprrp009.4gl"/>
<File filePath="bin/irprrp009.4rp"/>
</Application>
<Application binaryName="irprrp043" dependencies="-1026233879,-1423229125,-764824792,-2079122474,18908927" environment="dir:FGLSPOOL=$(ProjectDir)/spool" externalDependencies="libgre.42x" id="-1963195887" label="irprrp043">
<Configuration id="-1324865362" label="Configuration"/>
<File compilerOptions="--build-rdd" filePath="irdir/irprrp043.4gl"/>
<File filePath="bin/irprrp043.4rp"/>
</Application>
<Library dependencies="-1026233879" binaryName="FORMULARIOS_IR" id="18908927" label="FORMULARIOS_IR">
<File filePath="irdir/irfmmt006.4fd"/>
<File filePath="irdir/irautorizareq.4fd"/>
<File filePath="irdir/irfmmt036.4fd"/>
<File filePath="irdir/irfmwd001.4fd"/>
<File filePath="irdir/irfmwd068.per"/>
<File filePath="irdir/irfmwd066.per"/>
<File filePath="irdir/irfmmt020.4fd"/>
<File filePath="irdir/irfmmt021.4fd"/>
<File filePath="irdir/irfmmt002.4fd"/>
<File filePath="irdir/irfmmt003.4fd"/>
<File filePath="irdir/irfmmt004.per"/>
<File filePath="irdir/irfmmt009.4fd"/>
<File filePath="irdir/irfmwd015.4fd"/>
<File filePath="irdir/irfmcs008.per"/>
<File filePath="irdir/irfmmt068.per"/>
<File filePath="irdir/irfmcs001.per"/>
<File filePath="irdir/irfmcs006.4fd"/>
<File filePath="irdir/irfmrp002.per"/>
<File filePath="irdir/irfmrp003.per"/>
<File filePath="irdir/irfmrp004.per"/>
<File filePath="irdir/irfmrp043.4fd"/>
<File filePath="irdir/irfmrp005.per"/>
<File filePath="irdir/irfmrp006.4fd"/>
<File filePath="irdir/irfmrp009.4fd"/>
</Library>
<Library dependencies="-1026233879" binaryName="FUNCIONES_IR" id="-2079122474" label="FUNCIONES_IR">
<File filePath="irdir/irprgb000.4gl"/>
<File filePath="irdir/imprequisicion.4gl"/>
<File filePath="ipdir/estadosprocesos_1.4gl"/>
<File filePath="bin/irprmt020.4rp"/>
<File filePath="otrodir/irdepartamento.4gl"/>
<File filePath="otrodir/msgModal.4gl"/>
<File filePath="otrodir/maquinas.4gl"/>
<File filePath="otrodir/secciones.4gl"/>
<File filePath="otrodir/tramos.4gl"/>
<File filePath="otrodir/cuentas.4gl"/>
</Library>
</Group>
<Group id="-1904566841" label="TESORERIA">
<Application externalDependencies="libgre.42x" binaryName="teprmt001" dependencies="-1026233879,-764824792,-1919032082,-1102764514" id="-1243980613" label="teprmt001">
<Configuration id="-1649726044" label="Configuration"/>
<File filePath="bin/teentrada.4rp"/>
<File filePath="tedir/teprmt001.4gl"/>
<File filePath="bin/teprmt001.4rp"/>
<File filePath="bin/teprmt001ent.4rp"/>
<File filePath="tedir/teregistraentrada.4gl"/>
</Application>
<Library binaryName="FORMULARIOS_TE" dependencies="-1026233879" id="-1919032082" label="FORMULARIOS_TE">
<File filePath="tedir/tefmmt001.4fd"/>
<File filePath="tedir/tefmmt002.4fd"/>
<File filePath="tedir/tefmrp001.4fd"/>
</Library>
<Library binaryName="FUNCIONES_TE" dependencies="-1026233879" id="-1102764514" label="FUNCIONES_TE">
<File filePath="tedir/teprgb000.4gl"/>
</Library>
</Group>
<Group id="2068304233" label="VENTAS">
<Library binaryName="FORMULARIOS_VE" dependencies="-1026233879" id="-1377937444" label="FORMULARIOS_VE">
@@ -1113,7 +1484,8 @@
<Package binaryName="mbs" dependencies="159917928,212784684,400358049" id="9486100" label="mbs" platform="Genero Application Server">
<DynamicProperty name="packageId" value="mbsERP"/>
<DynamicProperty name="packageLabel" value="mbsERP"/>
<Directory excludedFiles="Test.42r,*.4pdb" includedFiles="*.42?" label="Binaries" sourceDirectory="$(ProjectDir)/bin"/>
<Directory excludedFiles="Test.42r,*.4pdb" includedFiles="*.42?,*.4rp" label="Binaries" sourceDirectory="$(ProjectDir)/bin"/>
<Directory destinationDirectory="$(RootDir)/IMAGENES" includedFiles="*.png,*.PNG,*.jpg,*.JPG" label="Imagenes reportes" sourceDirectory="$(ProjectDir)/bin/IMAGENES"/>
<Directory includedFiles="fglprofile,*.xcf,MANIFEST" label="Config" sourceDirectory="$(ProjectDir)/config"/>
<Directory includedFiles="*.png,*.jpg,*.ttf,*.svg,image2font.txt" label="Images" sourceDirectory="$(ProjectDir)/images"/>
<Directory includedFiles="*.42?" label="libgst" sourceDirectory="$(GSTLIBRARYDIR)/bin"/>
+1 -1
View File
@@ -14,7 +14,7 @@
<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">
<IMAGEBOX name="ImageBox" floatingBehavior="enclosed" url="{{&quot;file:///f:/master/IMAGENES/logo_cumple.png&quot;}}" intendedResolution="120"/>
<IMAGEBOX name="ImageBox" floatingBehavior="enclosed" url="{{&quot;IMAGENES/Logo.png&quot;}}" intendedResolution="120"/>
<WORDBOX name="WordBox1" width="15cm" color="#af1f59" fontSize="14" fontBold="true" floatingBehavior="enclosed" textAlignment="center" text="CUMPLEAÑOS DEL DIA"/>
</MINIPAGE>
<MINIPAGE name="Table Header" width="min" length="max" layoutDirection="leftToRight">
+13 -9
View File
@@ -1,20 +1,24 @@
<?xml version="1.0" encoding="UTF-8" ?>
<ManagedForm fileVersion="31400" gstVersion="3140a" name="ManagedForm" uid="{4cf2aa58-ffb3-40ad-8821-bc58edfe0d03}">
<ManagedForm fileVersion="31400" gstVersion="31408" name="ManagedForm" uid="{4cf2aa58-ffb3-40ad-8821-bc58edfe0d03}">
<AGSettings>
<DynamicProperties version="2"/>
</AGSettings>
<Record additionalTables="" joinLeft="" joinOperator="" joinRight="" name="Undefined" order="" uid="{14657cfd-6ea9-484d-85b5-36c7f2503c70}" where="">
<RecordField colName="" fieldIdRef="1" name="fecha_inicial" sqlTabName="" table_alias_name="" uid="{ea62721d-1145-41ce-8d25-da746f2aef2c}"/>
<RecordField colName="" fieldIdRef="2" name="fecha_final" sqlTabName="" table_alias_name="" uid="{53fc6932-3358-481a-89da-8d1725963d21}"/>
<RecordField colName="" fieldIdRef="4" name="cod_sup" sqlTabName="" table_alias_name="" uid="{743b47a0-0a5f-44ed-a6b8-85748e888f94}"/>
<RecordField colName="" fieldIdRef="6" name="num_emp" sqlTabName="" table_alias_name="" uid="{437cc479-28ae-4447-996d-ff226613accb}"/>
<RecordField fieldIdRef="1" name="num_nomi" uid="{e896a050-89b9-484e-a851-bcfbbf17dfea}"/>
<RecordField fieldIdRef="2" name="nom_emp" uid="{ee09c82c-1e71-4b43-8ae1-6f5059b5fcfb}"/>
</Record>
<Form gridHeight="11" gridWidth="46" name="Form" text="Form">
<Form gridHeight="8" gridWidth="38" name="Form" text="Form">
<Grid gridHeight="6" gridWidth="34" name="Grid1" posX="2" posY="1">
<Label gridHeight="1" gridWidth="10" name="Label1" posX="2" posY="2" text="No. Nómina"/>
<Edit fieldId="1" gridHeight="1" gridWidth="5" name="num_nomi" posX="13" posY="2" tabIndex="-1" title="edit1" widget="Edit"/>
<Label gridHeight="1" gridWidth="10" name="Label4" posX="2" posY="3" text="Empleado"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" fieldId="6" gridHeight="1" gridWidth="5" name="num_emp" posX="13" posY="3" sqlTabName="" tabIndex="1" table_alias_name="" title="Edit1" widget="Edit"/>
<Edit fieldId="2" gridHeight="1" gridWidth="14" name="nom_emp" noEntry="true" posX="19" posY="3" scroll="true" tabIndex="-1" title="edit1" widget="Edit"/>
<Label gridHeight="1" gridWidth="10" name="Label1" posX="3" posY="1" text="Fecha Inicial"/>
<DateEdit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" fieldId="1" format="dd/mm/yyyy" gridHeight="1" gridWidth="12" name="fecha_inicial" posX="16" posY="1" sqlTabName="" tabIndex="1" table_alias_name="" title="DateEdit1" widget="DateEdit"/>
<Label gridHeight="1" gridWidth="10" name="Label2" posX="3" posY="2" text="Fecha Final"/>
<DateEdit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" fieldId="2" format="dd/mm/yyyy" gridHeight="1" gridWidth="12" name="fecha_final" posX="16" posY="2" sqlTabName="" tabIndex="2" table_alias_name="" title="DateEdit1" widget="DateEdit"/>
<Label gridHeight="1" gridWidth="10" name="Label3" posX="3" posY="3" text="Supervisor"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" fieldId="4" gridHeight="1" gridWidth="6" name="cod_sup" posX="16" posY="3" sqlTabName="" tabIndex="3" table_alias_name="" title="Edit1" widget="Edit"/>
<Label gridHeight="1" gridWidth="10" name="Label4" posX="3" posY="4" text="Empleado"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" fieldId="6" gridHeight="1" gridWidth="6" name="num_emp" posX="16" posY="4" sqlTabName="" tabIndex="4" table_alias_name="" title="Edit1" widget="Edit"/>
</Grid>
</Form>
<DiagramLayout>
+86 -32
View File
@@ -20,7 +20,9 @@ DEFINE rcol,arch_pc,prog STRING,
d_tipos,mensaje,f_tipos,filepath,p_res,res,fila,val STRING
DEFINE usuarios,clave CHAR(80),
FILE,nombre_cia STRING
FILE,nombre_cia STRING,
celdas DICTIONARY OF STRING,
maxfila,maxcol INTEGER
END GLOBALS
MAIN
@@ -49,7 +51,7 @@ DEFINE ptss RECORD
departamento INT,
valor_isr DEC(12,2)
END RECORD,
fecha_inicial,fecha_final DATE,
fecha_inicial,fecha_final,fecha_sig DATE,
kano,kmes, cnt,numero_msg SMALLINT,
cels CHAR(40),
filename,sysos CHAR(200),
@@ -79,7 +81,7 @@ DEFINE ptss RECORD
AFTER FIELD kmes
LET selec =
"SELECT CONVERT(CHAR(10),MIN(a.fecha_del),103) ,CONVERT(CHAR(10),MAX(a.fecha_al),103) ",
"SELECT MIN(a.fecha_del), MAX(a.fecha_al) ",
" FROM notb00010 a ",
" WHERE a.ano ='", kano,"' AND a.mes ='", kmes, "'"
PREPARE busca_fecha FROM selec
@@ -98,6 +100,8 @@ DEFINE ptss RECORD
END INPUT
LET fecha_sig = fecha_final + 1 -- el +1 no se puede hacer dentro del SQL (date + int)
LET periodo = kmes USING "&&",kano USING "&&&&"
LET FILE = filepath
@@ -144,7 +148,7 @@ DEFINE ptss RECORD
CALL ui.Interface.refresh()
LET selec =
" SELECT a.num_emp,b.nom1_emp,b.apell1_emp,b.apell2_emp,d.sexo,b.tipo_documento,b.cedula,convert(char(10),b.fech_nac,103),",
" SELECT a.num_emp,b.nom1_emp,b.apell1_emp,b.apell2_emp,d.sexo,b.tipo_documento,b.cedula,b.fech_nac,",
" SUM(a.valor),b.departamento ",
" FROM adtb00003 b, notb00008 a,notb00010 c,adtb00021 d ",
" WHERE b.num_emp = a.num_emp AND c.mes ='",kmes,"' AND ",
@@ -154,8 +158,8 @@ DEFINE ptss RECORD
" a.cod_mov in (1,40,36,5,24,51,34,56) AND ",
" a.num_emp = d.num_emp AND ",
#" a.cod_mov in (32) AND ",
" convert(char(10), a.fecha,101) between '",fecha_inicial USING "mm/dd/yyyy",
"' and '",fecha_final using "mm/dd/yyyy","' and b.nomina = 'Q' ",
" a.fecha >= '",fecha_inicial USING "yyyymmdd",
"' and a.fecha < '",(fecha_final + 1) using "yyyymmdd","' and b.nomina = 'Q' ",
" GROUP BY a.num_emp,b.nom1_emp,b.apell1_emp,b.apell2_emp,d.sexo,b.cedula,b.fech_nac,b.departamento,a.num_emp,b.tipo_documento ",
" ORDER BY b.departamento,a.num_emp "
ELSE
@@ -176,7 +180,7 @@ DEFINE ptss RECORD
CALL ui.Interface.refresh()
LET cnt = 15
LET selec =
" SELECT a.num_emp,b.nom1_emp,b.apell1_emp,b.apell2_emp,d.sexo,b.tipo_documento,b.cedula,convert(char(10),b.fech_nac,103),",
" SELECT a.num_emp,b.nom1_emp,b.apell1_emp,b.apell2_emp,d.sexo,b.tipo_documento,b.cedula,b.fech_nac,",
" SUM(a.valor),a.departamento ",
" FROM adtb00003 b, notb00008 a,notb00010 c,adtb00021 d ",
" WHERE b.num_emp = a.num_emp AND b.status_t is not null and c.mes ='",kmes,"' AND ",
@@ -186,8 +190,8 @@ DEFINE ptss RECORD
#" a.cod_mov in (1,40,36,5,24,51,34) AND ",
" a.num_emp = d.num_emp AND ",
" a.cod_mov in (33) AND ",
" convert(char(10), a.fecha,101) between '",fecha_inicial USING "mm/dd/yyyy",
"' and '",fecha_final using "mm/dd/yyyy","' and b.nomina = 'Q' ",
" a.fecha >= '",fecha_inicial USING "yyyymmdd",
"' and a.fecha < '",(fecha_final + 1) using "yyyymmdd","' and b.nomina = 'Q' ",
" GROUP BY a.num_emp,b.nom1_emp,b.apell1_emp,b.apell2_emp,d.sexo,b.cedula,b.fech_nac,a.departamento,a.num_emp,b.tipo_documento ",
" ORDER BY a.departamento,a.num_emp "
END IF
@@ -197,7 +201,7 @@ DEFINE ptss RECORD
LET cuenta = 0
IF tipo_reporte = 'NOR' THEN
FOREACH busca INTO ptss.*
FOREACH busca INTO ptss.ficha THRU ptss.departamento
LET col = 2
LET fila = cnt
@@ -240,7 +244,7 @@ DEFINE ptss RECORD
LET col = 9
LET fila = cnt
LET val = ptss.fecha_n
LET val = ptss.fecha_n USING "dd/mm/yyyy"
CALL enviaDDE(fila,col,val)
LET col = 10
@@ -253,7 +257,7 @@ DEFINE ptss RECORD
SELECT ISNULL(SUM(a.valor),0) INTO ptss.valor_isr
FROM notb00008 a
WHERE a.num_emp = ptss.ficha AND
a.fecha BETWEEN fecha_inicial AND fecha_final AND
a.fecha >= fecha_inicial AND a.fecha < fecha_sig AND
a.clase_mov IN ("E","I") and a.cod_mov not in (32,33)
LET col = 12
@@ -267,7 +271,7 @@ DEFINE ptss RECORD
SELECT ISNULL(SUM(a.valor),0) INTO valor_boni
FROM notb00008 a
WHERE a.num_emp = ptss.ficha AND
a.fecha BETWEEN fecha_inicial AND fecha_final AND
a.fecha >= fecha_inicial AND a.fecha < fecha_sig AND
a.clase_mov IN ("E","I") and a.cod_mov in (33)
# VARIFICACION VACACIONES
@@ -275,7 +279,7 @@ DEFINE ptss RECORD
SELECT ISNULL(SUM(a.valor),0) INTO valor_vacaciones
FROM notb00008 a
WHERE a.num_emp = ptss.ficha AND
a.fecha BETWEEN fecha_inicial AND fecha_final AND
a.fecha >= fecha_inicial AND a.fecha < fecha_sig AND
a.clase_mov IN ("E","I") and a.cod_mov in (36)
IF valor_vacaciones =0 THEN
@@ -305,7 +309,7 @@ DEFINE ptss RECORD
SELECT SUM(a.valor) INTO valor_boni
FROM notb00008 a
WHERE a.num_emp = ptss.ficha AND
a.fecha BETWEEN fecha_inicial AND fecha_final AND
a.fecha >= fecha_inicial AND a.fecha < fecha_sig AND
a.clase_mov IN ("E","I") and a.cod_mov in (32)
@@ -333,7 +337,7 @@ DEFINE ptss RECORD
ELSE
#BONI CANCELADOS
IF tipo_reporte = "BON1" THEN
FOREACH busca INTO ptss.*
FOREACH busca INTO ptss.ficha THRU ptss.departamento
LET col = 2
LET fila = cnt
@@ -368,7 +372,7 @@ DEFINE ptss RECORD
LET col = 8
LET fila = cnt
LET val = ptss.fecha_n
LET val = ptss.fecha_n USING "dd/mm/yyyy"
CALL enviaDDE(fila,col,val)
LET col = 9
@@ -392,32 +396,82 @@ DEFINE ptss RECORD
END IF
CALL fgl_winmessage("INFO","REPROTE TERMINADO","INFO")
CALL escribeCSV(tipo_reporte,periodo) RETURNING mensaje
CALL fgl_winmessage("INFO","REPORTE TERMINADO. ARCHIVO: "||mensaje,"INFO")
END FUNCTION
-- Genero 6 (GDC 6.00) ya no incluye el modulo WINDDE: en lugar de llenar Excel
-- celda por celda, cada "celda" se guarda en memoria y al final se escribe un
-- CSV (separador ;) con las mismas filas y columnas de la plantilla de la TSS.
FUNCTION celda_key(xf,xc)
DEFINE xf,xc INTEGER
DEFINE sf,sc STRING
LET sf = xf USING "<<<<<&"
LET sc = xc USING "<<<<<&"
RETURN sf || "," || sc
END FUNCTION
FUNCTION enviaDDE(xfila,xcol,xval)
DEFINE xfila,xcol,xval,xcelda STRING
DISPLAY "enviado ",xfila," c ",xcol," v ",xval
LET xcelda = fila_office CLIPPED,xfila CLIPPED,"C",xcol CLIPPED
DISPLAY "celda ",xcelda
LET xval=xval CLIPPED
CALL ui.Interface.frontCall("WINDDE","DDEPoke", [prog,file,xcelda,xval], [res] );
CALL checkError(res)
DEFINE xfila,xcol INTEGER
DEFINE xval STRING
DEFINE k STRING
LET k = celda_key(xfila,xcol)
LET celdas[k] = xval CLIPPED
IF xfila > maxfila THEN LET maxfila = xfila END IF
IF xcol > maxcol THEN LET maxcol = xcol END IF
END FUNCTION
FUNCTION terminaDDE()
CALL ui.Interface.frontCall("WINDDE","DDEFinishAll", [], [res] );
CALL checkError(res)
CALL celdas.clear()
LET maxfila = 0
LET maxcol = 0
END FUNCTION
FUNCTION conectarDDE()
CALL ui.Interface.frontCall("WINDDE","DDEConnect", [prog,file], [res] )
CALL checkError(res)
CALL celdas.clear()
LET maxfila = 0
LET maxcol = 0
END FUNCTION
-- Escribe las celdas acumuladas en FGLSPOOL/noprmt026_<tipo>_<periodo>.csv
-- y devuelve la ruta del archivo.
FUNCTION escribeCSV(xtipo,xperiodo)
DEFINE xtipo,xperiodo STRING
DEFINE ch base.Channel
DEFINE ruta STRING
DEFINE f,c INTEGER
DEFINE lin base.StringBuffer
DEFINE k,v STRING
LET ruta = FGL_GETENV("FGLSPOOL")
IF ruta IS NULL OR ruta.getLength() = 0 THEN LET ruta = "." END IF
LET ruta = ruta || "\\noprmt026_" || xtipo || "_" || xperiodo || ".csv"
LET ch = base.Channel.create()
LET lin = base.StringBuffer.create()
CALL ch.openFile(ruta,"w")
FOR f = 1 TO maxfila
CALL lin.clear()
FOR c = 1 TO maxcol
LET k = celda_key(f,c)
IF celdas.contains(k) THEN
LET v = celdas[k]
IF v.getIndexOf(";",1) > 0 OR v.getIndexOf("\"",1) > 0 THEN
LET v = "\"" || v.trim() || "\""
END IF
ELSE
LET v = ""
END IF
IF c > 1 THEN CALL lin.append(";") END IF
CALL lin.append(v)
END FOR
CALL ch.writeNoNL(lin.toString())
CALL ch.writeNoNL("\r\n")
END FOR
CALL ch.close()
RETURN ruta
END FUNCTION
FUNCTION checkError(res)
+3 -3
View File
@@ -71,7 +71,7 @@ END GLOBALS
END INPUT
CONSTRUCT criterio ON a.supervisor, a.num_emp
CONSTRUCT criterio ON a.num_emp, b.num_emp
FROM cod_sup, num_emp
ON ACTION mostrar
@@ -79,9 +79,9 @@ END GLOBALS
b.num_emp, b.nombre, a.fecha,b.cantidad,b.valor,b.descrip_mov,a.num_doc,b.fech_crea
from notb00028 a
inner join notb00029 b on a.num_doc = b.num_doc
inner join adtb00003 c on a.supervisor = c.num_emp
inner join adtb00003 c on a.num_emp = c.num_emp
where " , criterio CLIPPED, " and ","
a.fecha between '", datos.fecha_inicial USING "mm/dd/yyyy" , "' and '",datos.fecha_final USING "mm/dd/yyyy","' "
a.fecha >= '", datos.fecha_inicial USING "yyyymmdd" , "' and a.fecha < '",(datos.fecha_final + 1) USING "yyyymmdd","' "
DISPLAY selec
PREPARE comando FROM selec
DECLARE cotizaciones CURSOR FOR comando
-144
View File
@@ -1,144 +0,0 @@
<?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="74cm" RWPageLength="29.70cm" RWLeftMargin="0.5cm" RWTopMargin="1cm" RWRightMargin="0.5cm" RWBottomMargin="1cm">
<report:FormatList>
<report:Format-SVG/>
<report:Format-PDF/>
<report:Format-image/>
</report:FormatList>
</report:Settings>
<report:Data RWDataLocation="noprrp045.rdd" RWFglReportName="r_min"/>
<report:Conflicts/>
<rtl:stylesheet>
<PXML>
<rtl:match name="Report" nameConstraint="Report" minOccurs="1" maxOccurs="1">
<MINIPAGE name="pageRoot" width="max" length="max" fontName="Arial">
<rtl:match name="FirstPageHeader" nameConstraint="FirstPageHeader" minOccurs="0" maxOccurs="1">
<LAYOUTNODE name="Encabezado" width="min" length="min" swapX="true">
<MINIPAGE name="Titulo" width="min" length="max" layoutDirection="leftToRight">
<WORDBOX name="WBTitulo" width="72cm" fontSize="11" fontBold="true" floatingBehavior="enclosed" textAlignment="center" text="INFORME AL MINISTERIO DE TRABAJO - MONTO RD$ (SUELDO) POR NIVEL EDUCATIVO Y CANTIDAD DE EMPLEADOS, POR MES Y SEXO"/>
</MINIPAGE>
<MINIPAGE name="Encabezados" width="min" length="max" bgColor="#cccccc" fontBold="true" layoutDirection="leftToRight">
<WORDBOX name="h_nivel" width="6cm" length="0.42cm" alignment="baseline" fontSize="7" fontBold="true" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="left" text="NIVEL EDUCATIVO"/>
<WORDBOX name="h01" width="1.8cm" length="0.42cm" alignment="baseline" fontSize="7" fontBold="true" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="center" text="ENE H"/>
<WORDBOX name="h02" width="1.8cm" length="0.42cm" alignment="baseline" fontSize="7" fontBold="true" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="center" text="ENE M"/>
<WORDBOX name="h03" width="1.8cm" length="0.42cm" alignment="baseline" bgColor="#e0e0e0" fontSize="7" fontBold="true" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="center" text="ENE TOT"/>
<WORDBOX name="h04" width="1.8cm" length="0.42cm" alignment="baseline" fontSize="7" fontBold="true" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="center" text="FEB H"/>
<WORDBOX name="h05" width="1.8cm" length="0.42cm" alignment="baseline" fontSize="7" fontBold="true" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="center" text="FEB M"/>
<WORDBOX name="h06" width="1.8cm" length="0.42cm" alignment="baseline" bgColor="#e0e0e0" fontSize="7" fontBold="true" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="center" text="FEB TOT"/>
<WORDBOX name="h07" width="1.8cm" length="0.42cm" alignment="baseline" fontSize="7" fontBold="true" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="center" text="MAR H"/>
<WORDBOX name="h08" width="1.8cm" length="0.42cm" alignment="baseline" fontSize="7" fontBold="true" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="center" text="MAR M"/>
<WORDBOX name="h09" width="1.8cm" length="0.42cm" alignment="baseline" bgColor="#e0e0e0" fontSize="7" fontBold="true" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="center" text="MAR TOT"/>
<WORDBOX name="h10" width="1.8cm" length="0.42cm" alignment="baseline" fontSize="7" fontBold="true" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="center" text="ABR H"/>
<WORDBOX name="h11" width="1.8cm" length="0.42cm" alignment="baseline" fontSize="7" fontBold="true" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="center" text="ABR M"/>
<WORDBOX name="h12" width="1.8cm" length="0.42cm" alignment="baseline" bgColor="#e0e0e0" fontSize="7" fontBold="true" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="center" text="ABR TOT"/>
<WORDBOX name="h13" width="1.8cm" length="0.42cm" alignment="baseline" fontSize="7" fontBold="true" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="center" text="MAY H"/>
<WORDBOX name="h14" width="1.8cm" length="0.42cm" alignment="baseline" fontSize="7" fontBold="true" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="center" text="MAY M"/>
<WORDBOX name="h15" width="1.8cm" length="0.42cm" alignment="baseline" bgColor="#e0e0e0" fontSize="7" fontBold="true" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="center" text="MAY TOT"/>
<WORDBOX name="h16" width="1.8cm" length="0.42cm" alignment="baseline" fontSize="7" fontBold="true" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="center" text="JUN H"/>
<WORDBOX name="h17" width="1.8cm" length="0.42cm" alignment="baseline" fontSize="7" fontBold="true" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="center" text="JUN M"/>
<WORDBOX name="h18" width="1.8cm" length="0.42cm" alignment="baseline" bgColor="#e0e0e0" fontSize="7" fontBold="true" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="center" text="JUN TOT"/>
<WORDBOX name="h19" width="1.8cm" length="0.42cm" alignment="baseline" fontSize="7" fontBold="true" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="center" text="JUL H"/>
<WORDBOX name="h20" width="1.8cm" length="0.42cm" alignment="baseline" fontSize="7" fontBold="true" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="center" text="JUL M"/>
<WORDBOX name="h21" width="1.8cm" length="0.42cm" alignment="baseline" bgColor="#e0e0e0" fontSize="7" fontBold="true" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="center" text="JUL TOT"/>
<WORDBOX name="h22" width="1.8cm" length="0.42cm" alignment="baseline" fontSize="7" fontBold="true" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="center" text="AGO H"/>
<WORDBOX name="h23" width="1.8cm" length="0.42cm" alignment="baseline" fontSize="7" fontBold="true" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="center" text="AGO M"/>
<WORDBOX name="h24" width="1.8cm" length="0.42cm" alignment="baseline" bgColor="#e0e0e0" fontSize="7" fontBold="true" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="center" text="AGO TOT"/>
<WORDBOX name="h25" width="1.8cm" length="0.42cm" alignment="baseline" fontSize="7" fontBold="true" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="center" text="SEP H"/>
<WORDBOX name="h26" width="1.8cm" length="0.42cm" alignment="baseline" fontSize="7" fontBold="true" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="center" text="SEP M"/>
<WORDBOX name="h27" width="1.8cm" length="0.42cm" alignment="baseline" bgColor="#e0e0e0" fontSize="7" fontBold="true" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="center" text="SEP TOT"/>
<WORDBOX name="h28" width="1.8cm" length="0.42cm" alignment="baseline" fontSize="7" fontBold="true" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="center" text="OCT H"/>
<WORDBOX name="h29" width="1.8cm" length="0.42cm" alignment="baseline" fontSize="7" fontBold="true" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="center" text="OCT M"/>
<WORDBOX name="h30" width="1.8cm" length="0.42cm" alignment="baseline" bgColor="#e0e0e0" fontSize="7" fontBold="true" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="center" text="OCT TOT"/>
<WORDBOX name="h31" width="1.8cm" length="0.42cm" alignment="baseline" fontSize="7" fontBold="true" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="center" text="NOV H"/>
<WORDBOX name="h32" width="1.8cm" length="0.42cm" alignment="baseline" fontSize="7" fontBold="true" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="center" text="NOV M"/>
<WORDBOX name="h33" width="1.8cm" length="0.42cm" alignment="baseline" bgColor="#e0e0e0" fontSize="7" fontBold="true" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="center" text="NOV TOT"/>
<WORDBOX name="h34" width="1.8cm" length="0.42cm" alignment="baseline" fontSize="7" fontBold="true" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="center" text="DIC H"/>
<WORDBOX name="h35" width="1.8cm" length="0.42cm" alignment="baseline" fontSize="7" fontBold="true" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="center" text="DIC M"/>
<WORDBOX name="h36" width="1.8cm" length="0.42cm" alignment="baseline" bgColor="#e0e0e0" fontSize="7" fontBold="true" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="center" text="DIC TOT"/>
</MINIPAGE>
</LAYOUTNODE>
</rtl:match>
<rtl:match name="OnEveryRow" nameConstraint="OnEveryRow" minOccurs="0" maxOccurs="unbounded">
<LAYOUTNODE name="Detalle" width="min" length="max" layoutDirection="leftToRight" borderWidth="1" borderStyle="solid" borderColor="#dfdfdf">
<rtl:input-variable name="x.nivel" type="FGLString" expectedLocation="expectedHere"/>
<WORDBOX name="x.nivel Value" width="6cm" length="0.42cm" alignment="baseline" fontSize="7" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="left" text="{{x.nivel}}"/>
<rtl:input-variable name="x.v01" type="FGLString" expectedLocation="expectedHere"/>
<WORDBOX name="x.v01 Value" width="1.8cm" length="0.42cm" alignment="baseline" fontSize="7" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="right" text="{{x.v01}}"/>
<rtl:input-variable name="x.v02" type="FGLString" expectedLocation="expectedHere"/>
<WORDBOX name="x.v02 Value" width="1.8cm" length="0.42cm" alignment="baseline" fontSize="7" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="right" text="{{x.v02}}"/>
<rtl:input-variable name="x.v03" type="FGLString" expectedLocation="expectedHere"/>
<WORDBOX name="x.v03 Value" width="1.8cm" length="0.42cm" alignment="baseline" bgColor="#eeeeee" fontSize="7" fontBold="true" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="right" text="{{x.v03}}"/>
<rtl:input-variable name="x.v04" type="FGLString" expectedLocation="expectedHere"/>
<WORDBOX name="x.v04 Value" width="1.8cm" length="0.42cm" alignment="baseline" fontSize="7" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="right" text="{{x.v04}}"/>
<rtl:input-variable name="x.v05" type="FGLString" expectedLocation="expectedHere"/>
<WORDBOX name="x.v05 Value" width="1.8cm" length="0.42cm" alignment="baseline" fontSize="7" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="right" text="{{x.v05}}"/>
<rtl:input-variable name="x.v06" type="FGLString" expectedLocation="expectedHere"/>
<WORDBOX name="x.v06 Value" width="1.8cm" length="0.42cm" alignment="baseline" bgColor="#eeeeee" fontSize="7" fontBold="true" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="right" text="{{x.v06}}"/>
<rtl:input-variable name="x.v07" type="FGLString" expectedLocation="expectedHere"/>
<WORDBOX name="x.v07 Value" width="1.8cm" length="0.42cm" alignment="baseline" fontSize="7" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="right" text="{{x.v07}}"/>
<rtl:input-variable name="x.v08" type="FGLString" expectedLocation="expectedHere"/>
<WORDBOX name="x.v08 Value" width="1.8cm" length="0.42cm" alignment="baseline" fontSize="7" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="right" text="{{x.v08}}"/>
<rtl:input-variable name="x.v09" type="FGLString" expectedLocation="expectedHere"/>
<WORDBOX name="x.v09 Value" width="1.8cm" length="0.42cm" alignment="baseline" bgColor="#eeeeee" fontSize="7" fontBold="true" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="right" text="{{x.v09}}"/>
<rtl:input-variable name="x.v10" type="FGLString" expectedLocation="expectedHere"/>
<WORDBOX name="x.v10 Value" width="1.8cm" length="0.42cm" alignment="baseline" fontSize="7" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="right" text="{{x.v10}}"/>
<rtl:input-variable name="x.v11" type="FGLString" expectedLocation="expectedHere"/>
<WORDBOX name="x.v11 Value" width="1.8cm" length="0.42cm" alignment="baseline" fontSize="7" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="right" text="{{x.v11}}"/>
<rtl:input-variable name="x.v12" type="FGLString" expectedLocation="expectedHere"/>
<WORDBOX name="x.v12 Value" width="1.8cm" length="0.42cm" alignment="baseline" bgColor="#eeeeee" fontSize="7" fontBold="true" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="right" text="{{x.v12}}"/>
<rtl:input-variable name="x.v13" type="FGLString" expectedLocation="expectedHere"/>
<WORDBOX name="x.v13 Value" width="1.8cm" length="0.42cm" alignment="baseline" fontSize="7" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="right" text="{{x.v13}}"/>
<rtl:input-variable name="x.v14" type="FGLString" expectedLocation="expectedHere"/>
<WORDBOX name="x.v14 Value" width="1.8cm" length="0.42cm" alignment="baseline" fontSize="7" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="right" text="{{x.v14}}"/>
<rtl:input-variable name="x.v15" type="FGLString" expectedLocation="expectedHere"/>
<WORDBOX name="x.v15 Value" width="1.8cm" length="0.42cm" alignment="baseline" bgColor="#eeeeee" fontSize="7" fontBold="true" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="right" text="{{x.v15}}"/>
<rtl:input-variable name="x.v16" type="FGLString" expectedLocation="expectedHere"/>
<WORDBOX name="x.v16 Value" width="1.8cm" length="0.42cm" alignment="baseline" fontSize="7" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="right" text="{{x.v16}}"/>
<rtl:input-variable name="x.v17" type="FGLString" expectedLocation="expectedHere"/>
<WORDBOX name="x.v17 Value" width="1.8cm" length="0.42cm" alignment="baseline" fontSize="7" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="right" text="{{x.v17}}"/>
<rtl:input-variable name="x.v18" type="FGLString" expectedLocation="expectedHere"/>
<WORDBOX name="x.v18 Value" width="1.8cm" length="0.42cm" alignment="baseline" bgColor="#eeeeee" fontSize="7" fontBold="true" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="right" text="{{x.v18}}"/>
<rtl:input-variable name="x.v19" type="FGLString" expectedLocation="expectedHere"/>
<WORDBOX name="x.v19 Value" width="1.8cm" length="0.42cm" alignment="baseline" fontSize="7" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="right" text="{{x.v19}}"/>
<rtl:input-variable name="x.v20" type="FGLString" expectedLocation="expectedHere"/>
<WORDBOX name="x.v20 Value" width="1.8cm" length="0.42cm" alignment="baseline" fontSize="7" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="right" text="{{x.v20}}"/>
<rtl:input-variable name="x.v21" type="FGLString" expectedLocation="expectedHere"/>
<WORDBOX name="x.v21 Value" width="1.8cm" length="0.42cm" alignment="baseline" bgColor="#eeeeee" fontSize="7" fontBold="true" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="right" text="{{x.v21}}"/>
<rtl:input-variable name="x.v22" type="FGLString" expectedLocation="expectedHere"/>
<WORDBOX name="x.v22 Value" width="1.8cm" length="0.42cm" alignment="baseline" fontSize="7" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="right" text="{{x.v22}}"/>
<rtl:input-variable name="x.v23" type="FGLString" expectedLocation="expectedHere"/>
<WORDBOX name="x.v23 Value" width="1.8cm" length="0.42cm" alignment="baseline" fontSize="7" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="right" text="{{x.v23}}"/>
<rtl:input-variable name="x.v24" type="FGLString" expectedLocation="expectedHere"/>
<WORDBOX name="x.v24 Value" width="1.8cm" length="0.42cm" alignment="baseline" bgColor="#eeeeee" fontSize="7" fontBold="true" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="right" text="{{x.v24}}"/>
<rtl:input-variable name="x.v25" type="FGLString" expectedLocation="expectedHere"/>
<WORDBOX name="x.v25 Value" width="1.8cm" length="0.42cm" alignment="baseline" fontSize="7" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="right" text="{{x.v25}}"/>
<rtl:input-variable name="x.v26" type="FGLString" expectedLocation="expectedHere"/>
<WORDBOX name="x.v26 Value" width="1.8cm" length="0.42cm" alignment="baseline" fontSize="7" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="right" text="{{x.v26}}"/>
<rtl:input-variable name="x.v27" type="FGLString" expectedLocation="expectedHere"/>
<WORDBOX name="x.v27 Value" width="1.8cm" length="0.42cm" alignment="baseline" bgColor="#eeeeee" fontSize="7" fontBold="true" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="right" text="{{x.v27}}"/>
<rtl:input-variable name="x.v28" type="FGLString" expectedLocation="expectedHere"/>
<WORDBOX name="x.v28 Value" width="1.8cm" length="0.42cm" alignment="baseline" fontSize="7" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="right" text="{{x.v28}}"/>
<rtl:input-variable name="x.v29" type="FGLString" expectedLocation="expectedHere"/>
<WORDBOX name="x.v29 Value" width="1.8cm" length="0.42cm" alignment="baseline" fontSize="7" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="right" text="{{x.v29}}"/>
<rtl:input-variable name="x.v30" type="FGLString" expectedLocation="expectedHere"/>
<WORDBOX name="x.v30 Value" width="1.8cm" length="0.42cm" alignment="baseline" bgColor="#eeeeee" fontSize="7" fontBold="true" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="right" text="{{x.v30}}"/>
<rtl:input-variable name="x.v31" type="FGLString" expectedLocation="expectedHere"/>
<WORDBOX name="x.v31 Value" width="1.8cm" length="0.42cm" alignment="baseline" fontSize="7" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="right" text="{{x.v31}}"/>
<rtl:input-variable name="x.v32" type="FGLString" expectedLocation="expectedHere"/>
<WORDBOX name="x.v32 Value" width="1.8cm" length="0.42cm" alignment="baseline" fontSize="7" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="right" text="{{x.v32}}"/>
<rtl:input-variable name="x.v33" type="FGLString" expectedLocation="expectedHere"/>
<WORDBOX name="x.v33 Value" width="1.8cm" length="0.42cm" alignment="baseline" bgColor="#eeeeee" fontSize="7" fontBold="true" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="right" text="{{x.v33}}"/>
<rtl:input-variable name="x.v34" type="FGLString" expectedLocation="expectedHere"/>
<WORDBOX name="x.v34 Value" width="1.8cm" length="0.42cm" alignment="baseline" fontSize="7" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="right" text="{{x.v34}}"/>
<rtl:input-variable name="x.v35" type="FGLString" expectedLocation="expectedHere"/>
<WORDBOX name="x.v35 Value" width="1.8cm" length="0.42cm" alignment="baseline" fontSize="7" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="right" text="{{x.v35}}"/>
<rtl:input-variable name="x.v36" type="FGLString" expectedLocation="expectedHere"/>
<WORDBOX name="x.v36 Value" width="1.8cm" length="0.42cm" alignment="baseline" bgColor="#eeeeee" fontSize="7" fontBold="true" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="right" text="{{x.v36}}"/>
</LAYOUTNODE>
</rtl:match>
</MINIPAGE>
</rtl:match>
</PXML>
</rtl:stylesheet>
</report:Report>
+625 -1
View File
@@ -351,11 +351,14 @@ FUNCTION GeneraEntradaDiario(
END IF
#------------------------------------------------------------------------
# INVENTARIO PRODUCTOS TERMINADOS
# Ver GeneraEntradaInventario('P',...) mas abajo: la entrada de
# inventario necesita las N lineas del documento (cod_mov/bodega),
# que no caben en esta firma de valor unico.
#------------------------------------------------------------------------
IF tipoPrograma = 'INV PRODUCTOS' THEN
END IF
#------------------------------------------------------------------------
# INVENTARIO REPUESTOS
# INVENTARIO REPUESTOS -> ver GeneraEntradaInventario('R',...)
#------------------------------------------------------------------------
IF tipoPrograma = 'INV REPUESTOS' THEN
END IF
@@ -371,3 +374,624 @@ FUNCTION GeneraEntradaDiario(
END IF
END FUNCTION
{
FUNCION : GeneraEntradaInventario
OBJETIVO : Armar las lineas debito/credito del asiento al mayor (cgtb00004)
para UN documento de inventario (productos terminados o repuestos),
valorizado con costoLiquidacion() y con las cuentas contables
definidas por codigo de movimiento, replicando el criterio de
EDPRRP080 (terminados) y EDPRRP118 (repuestos).
PARAMETROS : usuario - usuario que crea el asiento (NOT NULL = consume secuencia)
tipoInv - 'P' productos terminados / 'R' repuestos
pnum_doc - num_doc del documento de inventario
pcod_mov - codigo de movimiento
pbodega - bodega del documento
pfecha - fecha del documento
RETORNA : generaE BOOLEAN (TRUE si armo al menos una linea),
registroEntrada (mismo shape que GeneraEntradaDiario).
NOTA : Solo toma las lineas con referenciaentrada IS NULL (idempotente:
si se llama dos veces no duplica). El llamador inserta el arreglo
en cgtb00004 (agregando numero_documento/cod_mov/bodega/
sistema_auxiliar), y sella <tabla>.referenciaentrada = ED.xxx.
DEBITO/CREDITO (por signo de cantidad_2, igual que los batch):
entrada (cantidad >= 0): inventario DEBITO / contrapartida CREDITO
salida (cantidad < 0): inventario CREDITO / contrapartida DEBITO
CUENTAS : terminados -> iptb00005.cuenta_1/2/3 (material/labor/gasto por
cod_mov) contra iptb00022.cuenta_no (por cod_cia).
repuestos -> irtb00002.cuenta (por articulo, como EDPRRP118)
contra iptb00022.cuenta_no (por cod_n).
COSTEO : produccion (es_produccion=1) -> desglose material/labor/gasto de
iptb00004. Compra/venta y repuestos -> costo unico costoLiquidacion()
aplicado a la cuenta material (cuenta_1).
}
FUNCTION GeneraEntradaInventario(usuario, tipoInv, pnum_doc, pcod_mov, pbodega, pfecha)
DEFINE
usuario STRING,
tipoInv CHAR(1),
pnum_doc, pcod_mov, pbodega INT,
pfecha DATE,
entra VARCHAR(25),
idrow INT,
qsql STRING,
es_prod SMALLINT,
status_mov CHAR(1),
cta_mat, cta_lab, cta_gas, cta_inv VARCHAR(14),
cta_mat_imp, cta_mat_uso VARCHAR(14),
dep_mat, dep_lab, dep_gas, dep_inv CHAR(1),
usarCuentaItem SMALLINT,
matStd, labStd, gasStd DEC(18, 4),
unit, v_mat, v_lab, v_gas, v_total DEC(18, 4),
detalle1 VARCHAR(100),
depto_cia, dep_uso INT,
dep_flag CHAR(1),
nc, k, j, m, encontrado INT
#--- Candidatos de la linea y acumulador por (cuenta, departamento).
#--- Convencion de 'valor': POSITIVO = DEBITO, NEGATIVO = CREDITO.
DEFINE
cand DYNAMIC ARRAY OF RECORD
cuenta_no VARCHAR(14),
valor DEC(18, 4)
END RECORD,
acum DYNAMIC ARRAY OF RECORD
cuenta_no VARCHAR(14),
departamento INT,
valor DEC(18, 4),
detalle VARCHAR(100)
END RECORD
DEFINE lin RECORD
cod_n, cod_grupo, cod_tipo, cod_sec INT,
cantidad DEC(18, 4),
departamento INT,
cod_cia INT,
descrip VARCHAR(180)
END RECORD
DEFINE
lineas DYNAMIC ARRAY OF RECORD
cod_n, cod_grupo, cod_tipo, cod_sec INT,
cantidad DEC(18, 4),
departamento INT,
cod_cia INT,
descrip VARCHAR(180)
END RECORD,
i INT
DEFINE
registroEntrada DYNAMIC ARRAY OF RECORD
referenciaEntrada VARCHAR(25),
fecha DATE,
tipo CHAR(1),
cuenta_no VARCHAR(8),
departamento INT,
detalle VARCHAR(100),
debito, credito DEC(12, 2)
END RECORD
CALL registroEntrada.clear()
LET idrow = 0
#--- Secuencia de la entrada al diario (id 25 = entrada automatica inventario)
CALL controlNumericoED(25, pfecha, usuario) RETURNING entra
#--- Cuentas contables
IF tipoInv = 'P' THEN
#--- Terminados: cuentas por codigo de movimiento (iptb00005), como EDPRRP080
LET qsql =
"SELECT ISNULL(status_mov,'E'), cuenta_1, cuenta_2, cuenta_3,
cuenta_imp_material
FROM marmotech.dbo.iptb00005 WHERE cod_mov = ?"
PREPARE s_cta FROM qsql
EXECUTE s_cta
INTO status_mov, cta_mat, cta_lab, cta_gas, cta_mat_imp
USING pcod_mov
FREE s_cta
LET usarCuentaItem = 0
ELSE
#--- Repuestos: la cuenta se toma del articulo (irtb00002.cuenta), como EDPRRP118.
#--- Compras locales confirmadas; internacionales pendientes de validar con
#--- finanzas (se asume el mismo criterio de EDPRRP118).
LET cta_mat = NULL
LET cta_lab = NULL
LET cta_gas = NULL
LET cta_mat_imp = NULL
LET usarCuentaItem = 1
END IF
#--- Preparados reutilizables dentro del ciclo
LET qsql =
"SELECT ISNULL(a.depto,'N') FROM marmotech.dbo.cgtb00001 a WHERE a.cuenta_no = ?"
PREPARE s_dep FROM qsql
LET qsql =
"SELECT a.cuenta_no, a.departamento FROM marmotech.dbo.iptb00022 a WHERE a.cod_cia = ?"
PREPARE s_inv FROM qsql
IF tipoInv = 'P' THEN
LET qsql =
"SELECT TOP 1 ISNULL(a.es_produccion,0) FROM marmotech.dbo.iptb00002 a
WHERE a.cod_n=? AND a.cod_grupo=? AND a.cod_tipo=? AND a.cod_sec=?"
PREPARE s_esp FROM qsql
LET qsql =
"SELECT ISNULL(AVG(ISNULL(a.material,0)),0), ISNULL(AVG(ISNULL(a.labor,0)),0),
ISNULL(AVG(ISNULL(a.gastos,0)),0)
FROM marmotech.dbo.iptb00004 a
WHERE a.cod_n=? AND a.cod_grupo=? AND a.cod_tipo=? AND a.cod_sec=?
AND a.ano=YEAR(?) AND a.mes_fin=12 AND a.status_t IS NULL"
PREPARE s_std FROM qsql
ELSE
LET qsql =
"SELECT a.cuenta FROM marmotech.dbo.irtb00002 a
WHERE a.cod_n=? AND a.cod_grupo=? AND a.cod_tipo=? AND a.cod_sec=?"
PREPARE s_itemcta FROM qsql
END IF
#--- Lectura de las lineas del documento (solo las no asentadas)
IF tipoInv = 'P' THEN
LET qsql =
"SELECT c.cod_n,c.cod_grupo,c.cod_tipo,c.cod_sec,SUM(c.cantidad_2),
ISNULL(c.departamento,0), MAX(e.cod_cia), MAX(e.descrip_esp)
FROM marmotech.dbo.iptb00006 c
INNER JOIN marmotech.dbo.iptb00002 e
ON c.cod_n=e.cod_n AND c.cod_grupo=e.cod_grupo
AND c.cod_tipo=e.cod_tipo AND c.cod_sec=e.cod_sec
WHERE c.num_doc=? AND c.cod_mov=? AND c.bodega=?
AND c.status_t IS NULL AND c.referenciaentrada IS NULL
GROUP BY c.cod_n,c.cod_grupo,c.cod_tipo,c.cod_sec,c.departamento
HAVING SUM(c.cantidad_2) <> 0"
ELSE
LET qsql =
"SELECT b.cod_n,b.cod_grupo,b.cod_tipo,b.cod_sec,SUM(b.cantidad_2),
ISNULL(b.sec_a,0), b.cod_n, MAX(a.descrip_esp)
FROM marmotech.dbo.irtb00006 b
INNER JOIN marmotech.dbo.irtb00002 a
ON b.cod_n=a.cod_n AND b.cod_grupo=a.cod_grupo
AND b.cod_tipo=a.cod_tipo AND b.cod_sec=a.cod_sec
WHERE b.num_doc=? AND b.cod_mov=? AND b.bodega=?
AND b.status_t IS NULL AND b.referenciaentrada IS NULL
GROUP BY b.cod_n,b.cod_grupo,b.cod_tipo,b.cod_sec,b.sec_a,b.cod_n
HAVING SUM(b.cantidad_2) <> 0"
END IF
PREPARE s_lin FROM qsql
DECLARE c_lin CURSOR FOR s_lin
#--- Cargar las lineas a un arreglo ANTES de procesar, para no mantener el
#--- cursor abierto mientras se hacen consultas anidadas (evita "connection busy")
CALL lineas.clear()
LET i = 0
FOREACH c_lin USING pnum_doc, pcod_mov, pbodega INTO lin.*
LET i = i + 1
LET lineas[i].* = lin.*
END FOREACH
FREE c_lin
FOR i = 1 TO lineas.getLength()
LET lin.* = lineas[i].*
#--- Valuacion segun tipo de producto
LET matStd = 0
LET labStd = 0
LET gasStd = 0
LET es_prod = 0
LET unit = 0
IF tipoInv = 'P' THEN
EXECUTE s_esp INTO es_prod
USING lin.cod_n, lin.cod_grupo, lin.cod_tipo, lin.cod_sec
IF es_prod IS NULL THEN LET es_prod = 0 END IF
END IF
IF tipoInv = 'P' AND es_prod = 1 THEN
#--- Produccion: desglose material/labor/gasto del estandard
EXECUTE s_std INTO matStd, labStd, gasStd
USING lin.cod_n, lin.cod_grupo, lin.cod_tipo, lin.cod_sec, pfecha
LET v_mat = matStd * lin.cantidad
LET v_lab = labStd * lin.cantidad
LET v_gas = gasStd * lin.cantidad
ELSE
#--- Compra/venta y repuestos: costo unico a la cuenta material
LET unit =
costoLiquidacion(
lin.cod_n, lin.cod_grupo, lin.cod_tipo, lin.cod_sec, pfecha, tipoInv)
LET v_mat = unit * lin.cantidad
LET v_lab = 0
LET v_gas = 0
END IF
LET v_total = v_mat + v_lab + v_gas
IF v_total = 0 THEN
CONTINUE FOR
END IF
#--- Cuenta del articulo para repuestos sin cuenta por movimiento
IF usarCuentaItem = 1 THEN
LET cta_mat = NULL
EXECUTE s_itemcta INTO cta_mat
USING lin.cod_n, lin.cod_grupo, lin.cod_tipo, lin.cod_sec
END IF
#--- Cuenta de inventario (contrapartida) y DEPARTAMENTO, por cod_cia.
#--- El departamento contable del item sale de iptb00022 segun el cod_cia
#--- que tenga en iptb00002; se aplica a TODA cuenta marcada depto='S'
#--- en cgtb00001.
LET cta_inv = NULL
LET depto_cia = NULL
EXECUTE s_inv INTO cta_inv, depto_cia USING lin.cod_cia
LET detalle1 =
'INV ', tipoInv, ' DOC ', pnum_doc USING "<<<<<<<<",
' MOV ', pcod_mov USING "<<<<", ' ', lin.descrip CLIPPED
IF LENGTH(detalle1) > 100 THEN
LET detalle1 = detalle1[1, 100]
END IF
#--- Candidatos de esta linea. Convencion: valor POSITIVO = DEBITO,
#--- NEGATIVO = CREDITO. Las contrapartidas aportan el valor invertido y
#--- el inventario el total, por lo que la entrada CUADRA POR CONSTRUCCION.
CALL cand.clear()
LET nc = 0
#--- ORIGEN DEL ARTICULO (iptb00022 via iptb00002.cod_cia):
#--- cod_cia 2 = PTOS. MAT.IMPORTADOS y 3 = PRODUCTOS IMPORTADOS llevan la
#--- cuenta de material IMPORTADO (iptb00005.cuenta_imp_material) en lugar
#--- de la cuenta_1 local. Mismo criterio que EDPRRP080. Labor y gasto NO
#--- se cambian: siguen saliendo de cuenta_2 / cuenta_3.
LET cta_mat_uso = cta_mat
IF tipoInv = 'P' THEN
IF lin.cod_cia = 2 OR lin.cod_cia = 3 THEN
IF cta_mat_imp IS NOT NULL THEN
LET cta_mat_uso = cta_mat_imp
END IF
END IF
END IF
IF cta_mat_uso IS NOT NULL AND v_mat <> 0 THEN
LET nc = nc + 1
LET cand[nc].cuenta_no = cta_mat_uso CLIPPED
LET cand[nc].valor = (0 - v_mat)
END IF
IF cta_lab IS NOT NULL AND v_lab <> 0 THEN
LET nc = nc + 1
LET cand[nc].cuenta_no = cta_lab CLIPPED
LET cand[nc].valor = (0 - v_lab)
END IF
IF cta_gas IS NOT NULL AND v_gas <> 0 THEN
LET nc = nc + 1
LET cand[nc].cuenta_no = cta_gas CLIPPED
LET cand[nc].valor = (0 - v_gas)
END IF
IF cta_inv IS NOT NULL AND v_total <> 0 THEN
LET nc = nc + 1
LET cand[nc].cuenta_no = cta_inv CLIPPED
LET cand[nc].valor = v_total
END IF
#--- Acumular por (cuenta, departamento): los items con el mismo cod_cia
#--- se suman en una sola linea; si hay items con cod_cia distinto, la
#--- misma cuenta se repite en la entrada con otro departamento y valor.
FOR k = 1 TO nc
LET dep_flag = 'N'
EXECUTE s_dep INTO dep_flag USING cand[k].cuenta_no
IF dep_flag = 'S' THEN
LET dep_uso = depto_cia
ELSE
LET dep_uso = NULL
END IF
LET encontrado = 0
FOR j = 1 TO acum.getLength()
IF acum[j].cuenta_no = cand[k].cuenta_no THEN
IF (acum[j].departamento IS NULL AND dep_uso IS NULL)
OR (acum[j].departamento = dep_uso) THEN
LET acum[j].valor = acum[j].valor + cand[k].valor
LET encontrado = 1
EXIT FOR
END IF
END IF
END FOR
IF encontrado = 0 THEN
LET m = acum.getLength() + 1
LET acum[m].cuenta_no = cand[k].cuenta_no
LET acum[m].departamento = dep_uso
LET acum[m].valor = cand[k].valor
LET acum[m].detalle = detalle1 CLIPPED
END IF
END FOR
END FOR
#--- Emitir UNA linea por cada (cuenta, departamento) acumulado
FOR j = 1 TO acum.getLength()
IF acum[j].valor = 0 THEN
CONTINUE FOR
END IF
LET idrow = idrow + 1
LET registroEntrada[idrow].referenciaEntrada = entra
LET registroEntrada[idrow].fecha = pfecha
LET registroEntrada[idrow].tipo = '1'
LET registroEntrada[idrow].cuenta_no = acum[j].cuenta_no
LET registroEntrada[idrow].departamento = acum[j].departamento
LET registroEntrada[idrow].detalle = acum[j].detalle
IF acum[j].valor > 0 THEN
LET registroEntrada[idrow].debito = acum[j].valor
LET registroEntrada[idrow].credito = 0
ELSE
LET registroEntrada[idrow].debito = 0
LET registroEntrada[idrow].credito = (0 - acum[j].valor)
END IF
END FOR
FREE s_lin
FREE s_dep
FREE s_inv
IF tipoInv = 'P' THEN
FREE s_esp
FREE s_std
ELSE
FREE s_itemcta
END IF
IF idrow = 0 THEN
RETURN FALSE, registroEntrada
END IF
RETURN TRUE, registroEntrada
END FUNCTION
{
FUNCION : registraEntradaInventario
OBJETIVO : Registrar en el mayor (cgtb00004) el asiento de UN documento de
inventario y sellar la referencia ED en la tabla de movimientos.
IMPORTANTE : Se ejecuta DENTRO de la transaccion del programa llamador.
NO hace BEGIN WORK ni COMMIT WORK. Si retorna FALSE el llamador
debe hacer ROLLBACK WORK.
PARAMETROS : usuario, tipoInv ('P'/'R'), num_doc, cod_mov, bodega, fecha
RETORNA : ok BOOLEAN, entra VARCHAR(25) con la referencia ED generada
(ok = TRUE y entra = NULL significa que no habia nada pendiente
por asentar, lo cual no es un error).
}
FUNCTION registraEntradaInventario(usuario, tipoInv, pnum_doc, pcod_mov, pbodega, pfecha)
DEFINE
usuario STRING,
tipoInv CHAR(1),
pnum_doc, pcod_mov, pbodega INT,
pfecha DATE,
genera BOOLEAN,
entra VARCHAR(25),
sistema VARCHAR(2),
tipodoc VARCHAR(10),
tabla STRING,
qsql STRING,
idx INT,
t_debito, t_credito DEC(18, 2)
DEFINE
registroEntrada DYNAMIC ARRAY OF RECORD
referenciaEntrada VARCHAR(25),
fecha DATE,
tipo CHAR(1),
cuenta_no VARCHAR(8),
departamento INT,
detalle VARCHAR(100),
debito, credito DEC(12, 2)
END RECORD
LET genera = FALSE
LET entra = NULL
CALL GeneraEntradaInventario(
usuario, tipoInv, pnum_doc, pcod_mov, pbodega, pfecha)
RETURNING genera, registroEntrada
#--- Sin lineas pendientes por asentar: no es error
IF NOT genera THEN
RETURN TRUE, entra
END IF
LET entra = registroEntrada[1].referenciaEntrada
LET tipodoc = 'INV'
#--- Guardian de cuadre (equivalente a verificaCuadre() de los batch).
#--- Si falta una cuenta configurada (iptb00022 / iptb00005 / irtb00002) la
#--- contrapartida no se genera y el asiento quedaria descuadrado: se aborta
#--- para no ensuciar el mayor.
LET t_debito = 0
LET t_credito = 0
FOR idx = 1 TO registroEntrada.getLength()
IF registroEntrada[idx].cuenta_no IS NULL THEN
CONTINUE FOR
END IF
LET t_debito = t_debito + registroEntrada[idx].debito
LET t_credito = t_credito + registroEntrada[idx].credito
END FOR
IF t_debito <> t_credito THEN
DISPLAY "ED FALLO: ASIENTO DESCUADRADO ref=", entra CLIPPED,
" debito=", t_debito, " credito=", t_credito,
" dif=", (t_debito - t_credito)
DISPLAY "ED FALLO: detalle de las lineas armadas ->"
FOR idx = 1 TO registroEntrada.getLength()
DISPLAY " cta=", registroEntrada[idx].cuenta_no,
" depto=", registroEntrada[idx].departamento,
" debito=", registroEntrada[idx].debito,
" credito=", registroEntrada[idx].credito
END FOR
DISPLAY "ED FALLO: revise que el cod_mov tenga cuenta_1/2/3 en ",
"iptb00005/irtb00005 y que el cod_cia del item tenga cuenta_no en iptb00022"
RETURN FALSE, entra
END IF
IF tipoInv = 'P' THEN
LET sistema = 'IP'
LET tabla = 'marmotech.dbo.iptb00006'
ELSE
LET sistema = 'IR'
LET tabla = 'marmotech.dbo.irtb00006'
END IF
#--- Lineas del asiento al mayor
LET qsql =
"INSERT INTO marmotech.dbo.cgtb00004
(fecha,tipo,ref,cuenta_no,departamento,detalle_1,debito,credito,
us_crea,fech_crea,numero_documento,cod_mov,bodega,
sistema_auxiliar,tipo_documento)
VALUES (?,?,?,?,?,?,?,?,?,GETDATE(),?,?,?,?,?)"
PREPARE s_insed FROM qsql
FOR idx = 1 TO registroEntrada.getLength()
IF registroEntrada[idx].cuenta_no IS NULL THEN
CONTINUE FOR
END IF
EXECUTE s_insed
USING registroEntrada[idx].fecha,
registroEntrada[idx].tipo,
registroEntrada[idx].referenciaEntrada,
registroEntrada[idx].cuenta_no,
registroEntrada[idx].departamento,
registroEntrada[idx].detalle,
registroEntrada[idx].debito,
registroEntrada[idx].credito,
usuario,
pnum_doc,
pcod_mov,
pbodega,
sistema,
tipodoc
IF STATUS < 0 THEN
DISPLAY "ED FALLO: INSERT cgtb00004 status=", STATUS,
" ", SQLERRMESSAGE
DISPLAY " ref=", entra CLIPPED,
" cta=", registroEntrada[idx].cuenta_no,
" depto=", registroEntrada[idx].departamento,
" debito=", registroEntrada[idx].debito,
" credito=", registroEntrada[idx].credito
DISPLAY " doc=", pnum_doc, " mov=", pcod_mov, " bodega=", pbodega,
" sistema=", sistema
FREE s_insed
RETURN FALSE, entra
END IF
END FOR
FREE s_insed
#--- Sellar la referencia en las lineas del documento
LET qsql =
"UPDATE ",
tabla,
" SET referenciaentrada = ?
WHERE num_doc = ? AND cod_mov = ? AND bodega = ?
AND status_t IS NULL AND referenciaentrada IS NULL"
PREPARE s_updref FROM qsql
EXECUTE s_updref USING entra, pnum_doc, pcod_mov, pbodega
IF STATUS < 0 THEN
DISPLAY "ED FALLO: UPDATE ", tabla, ".referenciaentrada status=", STATUS,
" ", SQLERRMESSAGE
DISPLAY " ref=", entra CLIPPED, " doc=", pnum_doc,
" mov=", pcod_mov, " bodega=", pbodega
FREE s_updref
RETURN FALSE, entra
END IF
FREE s_updref
RETURN TRUE, entra
END FUNCTION
{
FUNCION : anulaEntradaPorRef
OBJETIVO : Anular en el mayor (cgtb00004) las lineas de UNA entrada ED,
marcandolas status_t = 'E'. Mismo criterio que usa
ccprmt016 para anular los asientos de CxC.
IMPORTANTE : Se ejecuta DENTRO de la transaccion del programa llamador.
NO hace BEGIN WORK ni COMMIT WORK.
RETORNA : TRUE si anulo o si no habia nada que anular; FALSE si fallo.
NOTA : NO se borra la referencia de la tabla de movimientos: el
movimiento queda con status_t='E' y conserva su referencia
como rastro de cual asiento se anulo.
}
FUNCTION anulaEntradaPorRef(usuario, refED)
DEFINE
usuario STRING,
refED VARCHAR(25),
qsql STRING
IF refED IS NULL THEN
RETURN TRUE
END IF
IF LENGTH(refED) = 0 THEN
RETURN TRUE
END IF
LET qsql =
"UPDATE marmotech.dbo.cgtb00004
SET status_t = 'E', us_mod = ?, fech_mod = GETDATE()
WHERE ref = ? AND status_t IS NULL"
PREPARE s_anuED FROM qsql
EXECUTE s_anuED USING usuario, refED
IF STATUS < 0 THEN
DISPLAY "ED FALLO: no se pudo anular el asiento ", refED CLIPPED,
" status=", STATUS, " ", SQLERRMESSAGE
FREE s_anuED
RETURN FALSE
END IF
FREE s_anuED
RETURN TRUE
END FUNCTION
{
FUNCION : anulaEntradaInventario
OBJETIVO : Anular el asiento al mayor de UN documento de inventario.
Busca la referencia ED sellada en la tabla de movimientos y
delega en anulaEntradaPorRef.
PARAMETROS : usuario, tipoInv ('P'/'R'), num_doc, cod_mov,
bodega (puede venir NULL: entonces no filtra por bodega,
que es como anula irprmt066).
IMPORTANTE : Dentro de la transaccion del llamador. Si retorna FALSE el
llamador debe hacer ROLLBACK WORK.
RETORNA : ok BOOLEAN, refED de la entrada anulada (NULL si no habia)
}
FUNCTION anulaEntradaInventario(usuario, tipoInv, pnum_doc, pcod_mov, pbodega)
DEFINE
usuario STRING,
tipoInv CHAR(1),
pnum_doc, pcod_mov, pbodega INT,
refED VARCHAR(25),
tabla STRING,
qsql STRING,
ok BOOLEAN
IF tipoInv = 'P' THEN
LET tabla = 'marmotech.dbo.iptb00006'
ELSE
LET tabla = 'marmotech.dbo.irtb00006'
END IF
#--- La referencia se busca SIN filtrar status_t: al momento de llamarnos
#--- las lineas del movimiento ya pueden estar marcadas 'E'.
LET refED = NULL
LET qsql =
"SELECT MAX(a.referenciaentrada) FROM ",
tabla,
" a WHERE a.num_doc = ? AND a.cod_mov = ? AND (a.bodega = ? OR ? IS NULL)"
PREPARE s_refanu FROM qsql
EXECUTE s_refanu INTO refED USING pnum_doc, pcod_mov, pbodega, pbodega
FREE s_refanu
IF refED IS NULL THEN
#--- Documento sin asiento (anterior al automatico, o costo cero)
RETURN TRUE, refED
END IF
LET ok = anulaEntradaPorRef(usuario, refED)
RETURN ok, refED
END FUNCTION
+273 -100
View File
@@ -60,6 +60,9 @@ FUNCTION apiclient(pemail)
DEFINE estado,purl,cmd,res, msg,s,pemail,tiposervice STRING,
ret INT
DEFINE dominio, detalle, api_url, api_key STRING,
dns_estado SMALLINT,
hunter_ok BOOLEAN
# LA API PARA VERIFICAR ESTA OFFLINE 29/05/2025
@@ -68,115 +71,115 @@ FUNCTION apiclient(pemail)
RETURN estado,ret
}
# SE DEVUELVE SI EL EMAIL ESTA EN BLANCO
IF pemail IS NULL THEN
LET pemail = pemail.trim()
IF pemail IS NULL OR pemail.getLength() = 0 THEN
LET ret = 400
LET estado = 'DEBES DIGITAR EL EMAIL POR FAVOR'
RETURN estado,ret
END IF
END IF
DISPLAY "llego: ",pemail
# VALIDACION PROPIA 14/10/2026: FORMATO + DOMINIO EN DNS (NO DEPENDE DE LA API)
IF NOT email_formato_valido(pemail) THEN
INSERT INTO envia_email_log (email,estado,fecha,programa_envio,us_crea,score)
VALUES (pemail,'formato_invalido',getdate(),'mt101_local',suser_Sname(),0)
LET ret = 400
LET estado = 'EL FORMATO DEL EMAIL NO ES VALIDO'
RETURN estado,ret
END IF
LET dominio = pemail.subString(pemail.getIndexOf("@",1) + 1, pemail.getLength())
LET dns_estado = email_dominio_dns(dominio)
DISPLAY "dominio: ",dominio," dns: ",dns_estado
IF dns_estado = 0 THEN
INSERT INTO envia_email_log (email,estado,fecha,programa_envio,us_crea,score)
VALUES (pemail,'dominio_inexistente',getdate(),'mt101_dns',suser_Sname(),0)
LET ret = 400
LET estado = 'EL DOMINIO DEL EMAIL NO EXISTE O NO RECIBE CORREO'
RETURN estado,ret
END IF
# ELECCION DE SERVICIOS, POR EL MOMENTO ES IPQUALITY
SELECT a.IDENTIFICACION INTO tiposervice FROM APIS a
# URL Y API KEY SE LEEN DE LA TABLA APIS (YA NO VAN EN EL FUENTE)
SELECT a.IDENTIFICACION, a.url, a.apikey INTO tiposervice, api_url, api_key FROM APIS a
WHERE a.estado = 'ONLINE'
IF STATUS = NOTFOUND THEN
RETURN estado,ret
END IF
# LET tiposervice = 'ipq1'
LET tiposervice = tiposervice.trim()
LET api_url = api_url.trim()
LET api_key = api_key.trim()
# LET tiposervice = 'ipq1'
IF tiposervice = 'HUNTER' THEN
LET purl = "https://api.hunter.io/v2/email-verifier?email=",pemail CLIPPED,"&api_key=2a50343f3a2842b082ee2c4b3ecccaf4ae5a7766"
CALL ipquality_send_command(purl) RETURNING ret,res
LET purl = api_url,"?email=",pemail CLIPPED,"&api_key=",api_key
CALL ipquality_send_command(purl, NULL) RETURNING ret,res
DISPLAY "response api: ",res," longitud: ",res.getLength()
IF res.getLength() =0 THEN
INSERT INTO envia_email_log (email,estado,fecha,programa_envio,us_crea,score)
VALUES (pemail,data.data.status,getdate(),'mt101_hunter',suser_Sname(),data.data.score)
LET ret = 400
LET estado = 'NO SE PUEDE ENTREGAR MENSAJE A ESTA DIRECCION EMAIL'
RETURN estado,ret
END IF
TRY
# HUNTER PUEDE NO RESPONDER (CAIDO, 202 EN PROCESO, 222/451 SMTP):
# EN ESE CASO DECIDE LA VALIDACION DNS PROPIA
LET hunter_ok = FALSE
IF ret == 0 AND res.getLength() > 0 THEN
TRY
CALL util.JSON.parse(res,data)
CATCH
LET ret = 400
LET estado = 'NO SE PUEDE ENTREGAR MENSAJE A ESTA DIRECCION EMAIL'
LET hunter_ok = TRUE
CATCH
LET hunter_ok = FALSE
END TRY
END IF
IF NOT hunter_ok THEN
INSERT INTO envia_email_log (email,display_name,estado,fecha,programa_envio,us_crea,score)
VALUES (pemail,SFMT('hunter http=%1',ret),'hunter_sin_respuesta',getdate(),'mt101_dns',suser_Sname(),0)
CALL email_resultado_dns(dns_estado) RETURNING estado,ret
RETURN estado,ret
END TRY
END IF
# INSERT INTO envia_email_log (email,estado,fecha,programa_envio,us_crea,score)
# VALUES (pemail,data.data.status,getdate(),'forzado',suser_Sname(),data.data.score)
# LET estado = 'VALIDO'
# LET ret = 200
# RETURN estado,ret
DISPLAY "DATA EMAIL: ",pemail CLIPPED, " score: ",data.data.score
LET detalle = SFMT('mx=%1 smtp=%2 check=%3 regexp=%4 disp=%5 dns=%6',
data.data.mx_records, data.data.smtp_server, data.data.smtp_check,
data.data.regexp, data.data.disposable, dns_estado)
INSERT INTO envia_email_log (email,display_name,estado,fecha,programa_envio,us_crea,score)
VALUES (pemail,detalle,data.data.status,getdate(),'mt101_hunter',suser_Sname(),data.data.score)
LET s = util.JSON.stringify(res)
DISPLAY "DATA EMAIL: ",pemail CLIPPED, " score: ",data.data.score
INSERT INTO envia_email_log (email,estado,fecha,programa_envio,us_crea,score)
VALUES (pemail,data.data.status,getdate(),'mt101_hunter',suser_Sname(),data.data.score)
IF ret ==0 THEN
# DESECHABLES (MAILINATOR, ETC.) SE RECHAZAN SIEMPRE
IF data.data.disposable THEN
LET estado = 'NO SE PUEDE ENTREGAR MENSAJE A ESTA DIRECCION EMAIL'
LET ret = 400
RETURN estado,ret
END IF
IF data.data.mx_records = TRUE THEN
LET estado = 'VALIDO'
LET ret = 200
RETURN estado,ret
ELSE
LET estado = 'NO SE PUEDE ENTREGAR MENSAJE A ESTA DIRECCION EMAIL'
LET ret = 400
RETURN estado,ret
END IF
IF (data.data.status = 'valid' OR data.data.status = 'accept_all' OR
data.data.status = 'unknown') AND data.data.score > 29 THEN
LET estado = 'VALIDO'
LET ret = 200
RETURN estado,ret
END IF
IF data.data.smtp_server = TRUE THEN
LET estado = 'VALIDO'
LET ret = 200
RETURN estado,ret
ELSE
LET estado = 'NO SE PUEDE ENTREGAR MENSAJE A ESTA DIRECCION EMAIL'
LET ret = 400
RETURN estado,ret
END IF
# HUNTER LO RECHAZA: SOLO SE RESPETA SI LLEGO AL SERVIDOR DE CORREO
# Y ESTE RECHAZO EL BUZON (EL BUZON NO EXISTE)
IF data.data.mx_records AND data.data.smtp_server AND NOT data.data.smtp_check THEN
LET estado = 'NO SE PUEDE ENTREGAR MENSAJE A ESTA DIRECCION EMAIL'
LET ret = 400
RETURN estado,ret
END IF
IF data.data.regexp = TRUE THEN
LET estado = 'VALIDO'
LET ret = 200
RETURN estado,ret
ELSE
LET estado = 'NO SE PUEDE ENTREGAR MENSAJE A ESTA DIRECCION EMAIL'
LET ret = 400
RETURN estado,ret
END IF
# HUNTER NO VE EL DOMINIO O NO PUDO CONECTAR (DOMINIOS .DO PEQUENOS):
# SI EL DNS CONFIRMA QUE EL DOMINIO RECIBE CORREO, SE ACEPTA
CALL email_resultado_dns(dns_estado) RETURNING estado,ret
IF ret = 200 THEN
INSERT INTO envia_email_log (email,display_name,estado,fecha,programa_envio,us_crea,score)
VALUES (pemail,detalle,'valid_dns',getdate(),'mt101_dns',suser_Sname(),0)
END IF
RETURN estado,ret
IF data.data.disposable = TRUE THEN
LET estado = 'NO SE PUEDE ENTREGAR MENSAJE A ESTA DIRECCION EMAIL'
LET ret = 400
RETURN estado,ret
ELSE
LET estado = 'VALIDO'
LET ret = 200
RETURN estado,ret
END IF
IF (data.data.status = 'valid' OR data.data.status = 'accept_all' OR
data.data.status = 'unknown') AND data.data.score > 29 THEN
LET estado = 'VALIDO'
LET ret = 200
RETURN estado,ret
ELSE
LET ret = 400
LET estado = 'NO SE PUEDE ENTREGAR MENSAJE A ESTA DIRECCION EMAIL'
RETURN estado,ret
END IF
END IF
END IF
IF tiposervice = 'IPQUALITY' THEN
LET purl = 'https://ipqualityscore.com/api/json/email/cHZNnfXkbJDtx43YcrQqHSjXzBrndwT3/',pemail CLIPPED
CALL ipquality_send_command(purl) RETURNING ret,res
# EN APIS LA URL DE IPQUALITY YA TRAE LA KEY: .../email/<key>/
LET purl = api_url,pemail CLIPPED
CALL ipquality_send_command(purl, api_key) RETURNING ret,res
IF ret ==0 THEN
LET s = util.JSON.stringify(res)
@@ -195,8 +198,8 @@ DISPLAY "response api: ",res," longitud: ",res.getLength()
END IF
IF tiposervice = 'APILAYER' THEN
# DISPLAY " ESTOY EN APILAYER"
LET purl= "https://api.apilayer.com/email_verification/",pemail CLIPPED
CALL apilayer_send_command(purl, cmd) RETURNING ret, res
LET purl= api_url,pemail CLIPPED
CALL apilayer_send_command(purl, api_key) RETURNING ret, res
# DISPLAY "res ",res," ",ret
IF ret ==0 THEN
LET s = util.JSON.stringify(res)
@@ -233,9 +236,9 @@ END FUNCTION
## Communications library using com (http or https)
#
FUNCTION apilayer_send_command(url, cmd)
FUNCTION apilayer_send_command(url, papikey)
DEFINE url, cmd STRING
DEFINE url, papikey STRING
DEFINE result, tmp STRING
DEFINE http_req com.HTTPRequest
DEFINE http_resp com.HTTPResponse
@@ -247,7 +250,7 @@ FUNCTION apilayer_send_command(url, cmd)
LET http_req = com.HTTPRequest.Create(url)
CALL http_req.setHeader("api_key","2a50343f3a2842b082ee2c4b3ecccaf4ae5a7766")
CALL http_req.setHeader("apikey",papikey)
CALL http_req.doRequest()
@@ -270,21 +273,22 @@ FUNCTION apilayer_send_command(url, cmd)
END FUNCTION
FUNCTION ipquality_send_command(url)
FUNCTION ipquality_send_command(url, papikey)
DEFINE url, cmd STRING
DEFINE url, papikey STRING
DEFINE result, tmp STRING
DEFINE http_req com.HTTPRequest
DEFINE http_resp com.HTTPResponse
DISPLAY "url", url
# NO SE MUESTRA LA URL: LLEVA LA API KEY
TRY
LET http_req = com.HTTPRequest.Create(url)
CALL http_req.setHeader("apikey","cHZNnfXkbJDtx43YcrQqHSjXzBrndwT3")
IF papikey IS NOT NULL THEN
CALL http_req.setHeader("apikey",papikey)
END IF
CALL http_req.doRequest()
LET http_resp=http_req.getResponse()
IF http_resp.getStatusCode() != 200 THEN
@@ -298,8 +302,177 @@ FUNCTION ipquality_send_command(url)
CATCH
RETURN -2, SFMT("HTTP request error: STATUS=%1 (%2)",STATUS,SQLCA.sqlerrd[2])
END TRY
RETURN 0, result
END FUNCTION
#
## VALIDACION PROPIA DEL EMAIL (14/10/2026)
## Formato basico + el dominio debe existir y recibir correo (registro MX, o A
## como MX implicito segun RFC 5321). Se consulta el DNS por HTTPS (dns.google)
## porque BDL no tiene resolvedor DNS.
#
FUNCTION email_formato_valido(pemail)
DEFINE pemail, usuario, dominio, etiqueta, c, permitidos STRING
DEFINE i, arroba, inicio INT
LET permitidos = "._%+-!#$&'*/=?^`{|}~"
IF pemail IS NULL OR pemail.getLength() > 254 THEN
RETURN FALSE
END IF
# UNA SOLA ARROBA, CON USUARIO Y DOMINIO
LET arroba = pemail.getIndexOf("@",1)
IF arroba <= 1 OR arroba = pemail.getLength() THEN
RETURN FALSE
END IF
IF pemail.getIndexOf("@",arroba + 1) > 0 THEN
RETURN FALSE
END IF
LET usuario = pemail.subString(1, arroba - 1)
LET dominio = pemail.subString(arroba + 1, pemail.getLength())
# USUARIO: MAX 64, SIN PUNTO AL INICIO/FINAL NI DOBLE PUNTO
IF usuario.getLength() > 64 THEN
RETURN FALSE
END IF
IF usuario.getCharAt(1) = "." OR usuario.getCharAt(usuario.getLength()) = "."
OR usuario.getIndexOf("..",1) > 0 THEN
RETURN FALSE
END IF
FOR i = 1 TO usuario.getLength()
LET c = usuario.getCharAt(i)
IF NOT (c MATCHES "[a-zA-Z0-9]" OR permitidos.getIndexOf(c,1) > 0) THEN
RETURN FALSE
END IF
END FOR
# DOMINIO: AL MENOS UN PUNTO, ETIQUETAS DE LETRAS/NUMEROS/GUION,
# SIN GUION AL INICIO/FINAL, Y EXTENSION (TLD) DE 2+ LETRAS
IF dominio.getLength() > 253 OR dominio.getIndexOf(".",1) = 0 THEN
RETURN FALSE
END IF
LET inicio = 1
FOR i = 1 TO dominio.getLength() + 1
IF i > dominio.getLength() OR dominio.getCharAt(i) = "." THEN
LET etiqueta = dominio.subString(inicio, i - 1)
IF etiqueta.getLength() = 0 OR etiqueta.getLength() > 63 THEN
RETURN FALSE
END IF
IF etiqueta.getCharAt(1) = "-" OR etiqueta.getCharAt(etiqueta.getLength()) = "-" THEN
RETURN FALSE
END IF
LET inicio = i + 1
ELSE
LET c = dominio.getCharAt(i)
IF NOT (c MATCHES "[a-zA-Z0-9]" OR c = "-") THEN
RETURN FALSE
END IF
END IF
END FOR
# ETIQUETA FINAL = TLD
IF etiqueta.getLength() < 2 THEN
RETURN FALSE
END IF
FOR i = 1 TO etiqueta.getLength()
IF NOT (etiqueta.getCharAt(i) MATCHES "[a-zA-Z]") THEN
RETURN FALSE
END IF
END FOR
RETURN TRUE
END FUNCTION
# 1 = EL DOMINIO RECIBE CORREO, 0 = NO EXISTE / SIN MX NI A, -1 = NO SE PUDO CONSULTAR
FUNCTION email_dominio_dns(pdominio)
DEFINE pdominio STRING
DEFINE r SMALLINT
LET r = email_dns_consulta(pdominio, "MX")
IF r <> 0 THEN
RETURN r
END IF
# SIN MX: EL REGISTRO A FUNCIONA COMO MX IMPLICITO
RETURN email_dns_consulta(pdominio, "A")
END FUNCTION
FUNCTION email_dns_consulta(pdominio, ptipo)
DEFINE pdominio, ptipo, res, dato STRING
DEFINE http_req com.HTTPRequest
DEFINE http_resp com.HTTPResponse
DEFINE obj, rr util.JSONObject
DEFINE answers util.JSONArray
DEFINE i, dns_status, tipo_rr, tipo_buscado INT
IF ptipo = "MX" THEN
LET tipo_buscado = 15
ELSE
LET tipo_buscado = 1
END IF
TRY
LET http_req = com.HTTPRequest.Create(
SFMT("https://dns.google/resolve?name=%1&type=%2", pdominio.toLowerCase(), ptipo))
CALL http_req.setTimeOut(10)
CALL http_req.setHeader("Accept","application/dns-json")
CALL http_req.doRequest()
LET http_resp = http_req.getResponse()
IF http_resp.getStatusCode() != 200 THEN
RETURN -1
END IF
LET res = http_resp.getTextResponse()
LET obj = util.JSONObject.parse(res)
LET dns_status = obj.get("Status")
CATCH
DISPLAY "email_dns_consulta error: ",STATUS
RETURN -1
END TRY
# 3 = NXDOMAIN (EL DOMINIO NO EXISTE); OTRO <> 0 = FALLA DEL DNS
IF dns_status = 3 THEN
RETURN 0
END IF
IF dns_status <> 0 THEN
RETURN -1
END IF
IF NOT obj.has("Answer") THEN
RETURN 0
END IF
IF obj.getType("Answer") <> "ARRAY" THEN
RETURN 0
END IF
LET answers = obj.get("Answer")
FOR i = 1 TO answers.getLength()
LET rr = answers.get(i)
LET tipo_rr = rr.get("type")
LET dato = rr.get("data")
IF tipo_rr = tipo_buscado THEN
# "0 ." ES UN NULL MX (RFC 7505): EL DOMINIO DECLARA QUE NO RECIBE CORREO
IF tipo_buscado = 15 AND dato.trim() MATCHES "* ." THEN
CONTINUE FOR
END IF
RETURN 1
END IF
END FOR
RETURN 0
END FUNCTION
FUNCTION email_resultado_dns(dns_estado)
DEFINE dns_estado SMALLINT
CASE dns_estado
WHEN 1
RETURN 'VALIDO', 200
WHEN 0
RETURN 'EL DOMINIO DEL EMAIL NO EXISTE O NO RECIBE CORREO', 400
OTHERWISE
RETURN 'NO FUE POSIBLE VERIFICAR EL EMAIL, INTENTE DE NUEVO', 400
END CASE
END FUNCTION
+16
View File
@@ -31,10 +31,26 @@ FUNCTION bodegas(cb2)
END IF
IF cb2 = '2' THEN
-- G6: en 3.20 los programas de PROYECTOS (irprmt020/ipprmt020/inprmt020) usaban
-- la bodegas() de PROYECTOS\otrodir\funciones.4gl, que con '2' llena origen y
-- destino (solo activas); aqui solo llenaba destino y el combo bodega quedaba vacio
LET cbodegas = ui.combobox.forname("formonly.bodega")
DECLARE bbodegas2o CURSOR FOR
SELECT a.cod_bodega, a.descripcion
FROM intb00009 a
WHERE a.status_t IS NULL
ORDER BY a.descripcion
CALL cbodegas.clear()
FOREACH bbodegas2o INTO ketiquetas, detiquetas
CALL cbodegas.additem(ketiquetas, detiquetas)
END FOREACH
LET cbodegas = ui.combobox.forname("formonly.bodega_destino")
DECLARE bbodegas2 CURSOR FOR
SELECT a.cod_bodega, a.descripcion
FROM intb00009 a
WHERE a.status_t IS NULL
ORDER BY a.descripcion
CALL cbodegas.clear()
+14 -4
View File
@@ -1,3 +1,4 @@
IMPORT FGL greruntime -- fgl_report_* (Genero Report Writer) para configureOutput()
{
Esta funcion se utiliza para desplegar mensajes de los reportes de
los sistemas de Ray-O-Vac Dominicana.
@@ -274,10 +275,19 @@ END FUNCTION
FUNCTION configureOutput(tipo_file)
DEFINE tipo_file CHAR(3)
-- La API fgl_report_* (Report Writer 2.0) no esta disponible en este
-- FGL 6.00.01. Esta salida (XML/XLS/PDF por handler) no esta soportada
-- en este entorno; usar r_output = 'MA' (impresion clasica) en su lugar.
RETURN NULL
IF NOT fgl_report_loadCurrentSettings(NULL) THEN
RETURN NULL
END IF
# CALL fgl_report_selectLogicalPageMapping("multipage")
# CALL fgl_report_configureMultipageOutput(2, 4, TRUE)
CALL fgl_report_setPageMargins("0.5cm","0.5cm","0.5cm","0.5cm")
--CALL fgl_report_selectDevice("XLS")
# CALL fgl_report_selectDevice(getPreviewDevice())
# CALL fgl_report_configureCompatibilityOutput(1,'Franklin Gothic Heavy',false,'existencia',NULL,NULL)
CALL fgl_report_selectDevice(tipo_file)
CALL fgl_report_configurexlsxdevice(null,null,null,false,false,null,1)
CALL fgl_report_selectPreview(TRUE)
RETURN fgl_report_commitCurrentSettings()
END FUNCTION
FUNCTION getPreviewDevice()
+1
View File
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<APPLICATION Parent="defaultgwc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.4js.com/ns/gas/3.20/cfextwa.xsd">
<EXECUTION>
<ENVIRONMENT_VARIABLE Id="DBDATE">dmy4</ENVIRONMENT_VARIABLE>
<PATH>$(res.deployment.path)</PATH>
<MODULE>Application.42r</MODULE>
</EXECUTION>
+4 -2
View File
@@ -26,7 +26,8 @@ MAIN --login y programa
CALL ARG_VAL(1) RETURNING usuario
CALL ARG_VAL(2) RETURNING clave
CONNECT TO "marmotech" AS "IFMX" USER usuario USING clave
-- G6: "marmotech" no esta en el fglprofile (-6366) y la conexion IFMX no se usa en el programa
#CONNECT TO "marmotech" AS "IFMX" USER usuario USING clave
CONNECT TO "smarmotech" AS "MSSQL" USER usuario USING clave
CALL segprmt0001()
@@ -248,7 +249,8 @@ FUNCTION segprmt0001()
END INPUT
INPUT BY NAME propiedades.* ATTRIBUTES(WITHOUT DEFAULTS)
-- G6: seg0003.actualiza_controlcalidad (columna nueva) no esta en el form (-1102); no se edita aqui
INPUT BY NAME propiedades.nom_puesto THRU propiedades.requisicionescompras ATTRIBUTES(WITHOUT DEFAULTS)
ON ACTION actualizar
ATTRIBUTES(TEXT = "actualizar", IMAGE = "fa-refresh")
+71 -54
View File
@@ -374,63 +374,17 @@ FUNCTION tepcad001()
INPUT ARRAY documentos FROM record4.* ATTRIBUTES(WITHOUT DEFAULTS)
BEFORE INPUT
# LET suma=0
IF tt_recibos != deposito.monto THEN
CALL fgl_winmessage(
"ERROR",
"CANTIDAD DE RECIBOS DIFERENTE AL MONTO DEL DEPOSITO",
"STOP")
-- G6: en GBC esta grilla (solo lectura) puede no recibir foco; la carga
-- vive en llena_documentos() y se repite al guardar
IF NOT llena_documentos() THEN
NEXT FIELD check1
END IF
FOR idx = 1 TO recibos.getLength()
IF recibos[idx].check1 = "S" THEN
IF recibos[idx].documento1 IS NOT NULL THEN
LET documentos[idx].fecha = recibos[idx].fecha_doc
LET documentos[idx].documento =
recibos[idx].documento1
LET documentos[idx].tipo_cliente =
recibos[idx].tipo_cliente1
LET documentos[idx].sec_cliente =
recibos[idx].sec_cliente1
LET documentos[idx].cliente =
recibos[idx].nom_cliente
LET documentos[idx].tipodocumento =
recibos[idx].tipo_doc
IF recibos[idx].valor1 < 0 THEN
LET documentos[idx].valor =
recibos[idx].valor1 * -1
ELSE
LET documentos[idx].valor = recibos[idx].valor1
END IF
IF documentos[idx].documento IS NULL THEN
CALL documentos.clear()
END IF
END IF
# IF recibos[idx].check1="S" THEN
# END IF
END IF
END FOR
IF total IS NULL THEN
LET total = 0
END IF
#IF suma IS NULL THEN
LET suma = 0
#END IF
FOR idx = 1 TO documentos.getLength()
LET suma = suma + documentos[idx].valor
END FOR
DISPLAY BY NAME suma
END INPUT
ON ACTION guardar
-- G6: asegurar el detalle aunque la grilla nunca haya recibido foco
IF NOT llena_documentos() THEN
NEXT FIELD check1
END IF
SELECT num_doc INTO deposito.num_doc FROM tetb00009
@@ -441,7 +395,7 @@ FUNCTION tepcad001()
END IF
DISPLAY BY NAME deposito.num_doc
IF suma != deposito.monto THEN
IF suma IS NULL OR suma = 0 OR suma != deposito.monto THEN -- G6: NULL pasaba la validacion
CALL fgl_winmessage(
"ERROR",
"EL VALOR SUMADO DE LOS RECIBOS NO PUEDE SER DIFERENTE AL MONTO DEL DEPOSITO",
@@ -1275,3 +1229,66 @@ FUNCTION prd(p_fechas, puser)
RETURN bandera
END FUNCTION
# G6: copia los recibos marcados (check1='S') a documentos y totaliza en suma.
# Devuelve FALSE si el total de recibos no cuadra con el monto del deposito.
FUNCTION llena_documentos()
CALL documentos.clear()
# LET suma=0
IF tt_recibos != deposito.monto THEN
CALL fgl_winmessage(
"ERROR",
"CANTIDAD DE RECIBOS DIFERENTE AL MONTO DEL DEPOSITO",
"STOP")
RETURN FALSE
END IF
FOR idx = 1 TO recibos.getLength()
IF recibos[idx].check1 = "S" THEN
IF recibos[idx].documento1 IS NOT NULL THEN
LET documentos[idx].fecha = recibos[idx].fecha_doc
LET documentos[idx].documento =
recibos[idx].documento1
LET documentos[idx].tipo_cliente =
recibos[idx].tipo_cliente1
LET documentos[idx].sec_cliente =
recibos[idx].sec_cliente1
LET documentos[idx].cliente =
recibos[idx].nom_cliente
LET documentos[idx].tipodocumento =
recibos[idx].tipo_doc
IF recibos[idx].valor1 < 0 THEN
LET documentos[idx].valor =
recibos[idx].valor1 * -1
ELSE
LET documentos[idx].valor = recibos[idx].valor1
END IF
IF documentos[idx].documento IS NULL THEN
CALL documentos.clear()
END IF
END IF
# IF recibos[idx].check1="S" THEN
# END IF
END IF
END FOR
IF total IS NULL THEN
LET total = 0
END IF
#IF suma IS NULL THEN
LET suma = 0
#END IF
FOR idx = 1 TO documentos.getLength()
LET suma = suma + documentos[idx].valor
END FOR
DISPLAY BY NAME suma
RETURN TRUE
END FUNCTION
+1 -1
View File
@@ -20,7 +20,7 @@ X = formonly.fecha,FORMAT="dd/mm/yyyy";
x1 = formonly.num_req,TITLE="REQUISICION";
f1 = formonly.fecha_llegada,TITLE="FECHA LLEGADA";
instructions
screen record s_llegada[9] (fecha_llegada,num_req,fecha)
screen record s_llegada[5] (fecha_llegada,num_req,fecha)
delimiters " "
end
-172
View File
@@ -1,172 +0,0 @@
OPTIONS SHORT CIRCUIT
IMPORT util
IMPORT com
FUNCTION apiclient(pemail)
DEFINE data_apilayer RECORD
email,did_you_mean,USER,domain,syntax_valid STRING,
is_disposable,is_role_account,is_catch_all,is_deliverable,can_connect_smtp,
is_inbox_full,is_disabled,mx_records,FREE,score BOOLEAN
END RECORD
DEFINE data_ipq RECORD
MESSAGE STRING,
success,
valid,
disposable BOOLEAN,
smtp_score ,
overall_score DEC(10,2),
first_name string,
generic,
common,
dns_valid,
honeypot BOOLEAN,
deliverability STRING,
frequent_complainer BOOLEAN,
spam_trap_score STRING,
catch_all,
timed_out,
suspect,
recent_abuse BOOLEAN,
fraud_score DEC(10,2),
suggested_domain string,
leaked BOOLEAN
END RECORD
DEFINE estado,purl,cmd,res, msg,s,pemail,tiposervice STRING,
ret INT
# ELECCION DE SERVICIOS, POR EL MOMENTO ES IPQUALITY
LET tiposervice = 'ipq1'
IF tiposervice = 'ipq' THEN
LET purl = 'https://ipqualityscore.com/api/json/email/cHZNnfXkbJDtx43YcrQqHSjXzBrndwT3/',pemail CLIPPED
CALL ipquality_send_command(purl) RETURNING ret,res
DISPLAY "estoy a qui"
IF ret ==0 THEN
LET s = util.JSON.stringify(res)
CALL util.JSON.parse(res,data_ipq)
IF data_ipq.valid THEN
LET estado = 'VALIDO'
LET ret = 200
ELSE
LET ret = 400
LET estado = 'NO SE PUEDE ENTREGAR MENSAJE A ESTA DIRECCION EMAIL'
END IF
ELSE
CALL apilayer_send_command(purl, cmd) RETURNING ret, res
# DISPLAY "res ",res," ",ret
IF ret ==0 THEN
LET s = util.JSON.stringify(res)
CALL util.JSON.parse(res,data_apilayer)
IF data_apilayer.can_connect_smtp THEN
LET estado = 'VALIDO'
LET ret = 200
ELSE
LET ret = 400
LET estado = 'NO SE PUEDE ENTREGAR MENSAJE A ESTA DIRECCION EMAIL'
END IF
# DISPLAY "sintax ",data.syntax_valid," deliv ",data.is_deliverable
ELSE
IF ret = 429 THEN
LET ret = 200
LET estado ='VALIDO POR EXESO DE REQUEST'
ELSE
LET ret = 400
LET estado = 'NO FUE POSIBLE LA CONEXION, '
END IF
END IF
END IF
END IF
DISPLAY "en return ",estado," ",ret
RETURN estado,ret
END FUNCTION
#
## Communications library using com (http or https)
#
FUNCTION apilayer_send_command(url, cmd)
DEFINE url, cmd STRING
DEFINE result, tmp STRING
DEFINE http_req com.HTTPRequest
DEFINE http_resp com.HTTPResponse
TRY
LET http_req = com.HTTPRequest.Create(url)
CALL http_req.setHeader("apikey","gPWg6pDyOt3k2RL2ElbghaMqs6dNMAwm")
CALL http_req.doRequest()
LET http_resp=http_req.getResponse()
IF http_resp.getStatusCode() != 200 THEN
RETURN http_resp.getStatusCode(), http_resp.getStatusDescription()
END IF
LET tmp = http_resp.getStatusDescription()
IF (tmp == "OK" || tmp == "no error" ) THEN
RETURN -1, SFMT("HTTP request status description: %1 ",tmp)
END IF
LET result = http_resp.getTextResponse()
CATCH
RETURN -2, SFMT("HTTP request error: STATUS=%1 (%2)",STATUS,SQLCA.sqlerrd[2])
END TRY
RETURN 0, result
END FUNCTION
FUNCTION ipquality_send_command(url)
DEFINE url, cmd STRING
DEFINE result, tmp STRING
DEFINE http_req com.HTTPRequest
DEFINE http_resp com.HTTPResponse
TRY
LET http_req = com.HTTPRequest.Create(url)
CALL http_req.setHeader("apikey","cHZNnfXkbJDtx43YcrQqHSjXzBrndwT3")
CALL http_req.doRequest()
LET http_resp=http_req.getResponse()
IF http_resp.getStatusCode() != 200 THEN
RETURN http_resp.getStatusCode(), http_resp.getStatusDescription()
END IF
LET tmp = http_resp.getStatusDescription()
IF (tmp == "OK" || tmp == "no error" ) THEN
RETURN -1, SFMT("HTTP request status description: %1 ",tmp)
END IF
LET result = http_resp.getTextResponse()
CATCH
RETURN -2, SFMT("HTTP request error: STATUS=%1 (%2)",STATUS,SQLCA.sqlerrd[2])
END TRY
RETURN 0, result
END FUNCTION
FUNCTION show_sync_err(msg)
DEFINE msg STRING
CALL fgl_winmessage(%"ERROR", msg, "exclamation")
END FUNCTION
+27 -8
View File
@@ -97,16 +97,25 @@ FUNCTION productosconteo(pdata)
IF STATUS < 0 THEN
LET p.mensajes.cod_msg=STATUS
LET p.mensajes.descripcion = 'ERROR EN CONEXION ',SQLCA.sqlerrm
DISCONNECT CURRENT
# sin DISCONNECT: no hay conexion abierta y el error tumbaba el server
RETURN util.JSON.stringify(p)
END IF
LET fecha = TODAY
END IF
LET fecha = TODAY
LET fecha_ini = fecha - 90
IF p.credenciales.tipo_inventario IS NULL OR p.credenciales.tipo_inventario <> "productos" THEN
# solo productos tiene consulta; antes PREPARE de NULL tumbaba el server
LET p.mensajes.cod_msg = -1
LET p.mensajes.descripcion = 'TIPO DE INVENTARIO NO DISPONIBLE PARA CONTEO: ',
p.credenciales.tipo_inventario
DISCONNECT CURRENT
RETURN util.JSON.stringify(p)
END IF
IF p.credenciales.tipo_inventario = "productos" THEN
SELECT a.fecha_conteo INTO xfecha_conteo FROM intb00044 a
WHERE a.tipo_inventario = tipo_inventario AND a.disponible = "SI"
SELECT a.fecha_conteo INTO xfecha_conteo FROM intb00044 a
WHERE a.tipo_inventario = 'PRODUCTOS TERMINADOS' AND a.disponible = "SI"
DISPLAY "ESTOY PRODUCTOS",p.credenciales.codn
LET selec =
@@ -127,7 +136,9 @@ FUNCTION productosconteo(pdata)
"SELECT a.codid,b.bodega,c.descripcion,0"{ISNULL(SUM(b.cantidad_2),0)},",d.cod_seccion,d.cod_tramo,d.cod_fila,d.cod_pos
FROM iptb00006 b,iptb00002 a INNER JOIN intb00015 e ON e.cod_n = a.cod_n and
e.cod_grupo = a.cod_grupo and e.cod_tipo = a.cod_tipo and e.cod_sec = a.cod_sec and
e.estado='Pendiente' ,intb00009 c,iptb00062 d
e.estado='Pendiente' AND
e.semana_del = (SELECT MIN (x.semana_del) FROM intb00015 x WHERE x.semana_del >= GETDATE())
,intb00009 c,iptb00062 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 b.status_t is null ",
@@ -189,6 +200,14 @@ FUNCTION productosconteo(pdata)
END FOREACH
DISPLAY "NUMERO DE PRODUCTOS ",i
IF p.productos.getLength() = 0 THEN
# sin semana programada en intb00015 no hay nada que contar; evita la
# consulta de existencias (iptb00006) que tardaba >5 min y bloqueaba el WS
LET p.mensajes.cod_msg = 100
LET p.mensajes.descripcion = 'NO HAY PRODUCTOS PROGRAMADOS PARA CONTEO (intb00015)'
DISCONNECT CURRENT
RETURN util.JSON.stringify(p)
END IF
LET i = 1
PREPARE comando2 FROM s1