Merge branch 'main' of https://git.fulldetord.com/jsoto/mbs
# Conflicts: # PROYECTO/mbsERP.4pw
This commit is contained in:
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -64,7 +64,7 @@ GLOBALS "prprgb000.4gl"
|
||||
nombre_vend,nombres,apellidos CHAR(40),fcalle CHAR(25),
|
||||
fcasa_num CHAR(5), fbarrio,furbanizacion CHAR(15),
|
||||
monto_desc,total1,p_costos1,total_i,total_mo DECIMAL(12,2),
|
||||
ult_numero,cuenta INTEGER,
|
||||
ult_numero,cuenta,existe_oc INTEGER,
|
||||
vetb05 RECORD LIKE vetb00005.*,
|
||||
cuenta_p,ridx SMALLINT,
|
||||
pbalance1,pbalance2 DEC(12,2),
|
||||
@@ -798,19 +798,26 @@ FUNCTION prpcad008()
|
||||
# SE COLOCO QUE EL NUMERO SE GENERARA A PARTIR DEL 01/01/2003 HACIA ATRAS POR MODIFICACION DEL
|
||||
# SISTEMA Y LA INCLUSION DEL NCF A PARTIR DEL 01/01/2007
|
||||
# FECHA MODIFICACION: 11/01/2007
|
||||
SELECT num_oc INTO ult_numero FROM prtb00020
|
||||
IF nuevo = "S" THEN
|
||||
IF ult_numero IS NULL THEN
|
||||
LET ult_numero = 0
|
||||
END IF
|
||||
LET ult_numero = ult_numero + 1
|
||||
LET prtb08.num_oc = ult_numero
|
||||
DISPLAY BY NAME prtb08.num_oc
|
||||
|
||||
UPDATE prtb00020 set num_oc = ult_numero,
|
||||
# CONSECUTIVO ATOMICO: el UPDATE incrementa y bloquea la fila de prtb00020
|
||||
# hasta el COMMIT, asi dos usuarios no pueden tomar el mismo num_oc
|
||||
# (antes se leia y luego se escribia -> PK_prtb00012 duplicada)
|
||||
BEGIN WORK
|
||||
UPDATE prtb00020 SET num_oc = ISNULL(num_oc, 0) + 1,
|
||||
us_crea = SUSER_SNAME(),
|
||||
fech_crea = GETDATE()
|
||||
|
||||
SELECT num_oc INTO ult_numero FROM prtb00020
|
||||
# AUTOCORRECCION: si el contador quedo por detras de prtb00012, salta al siguiente libre
|
||||
LET existe_oc = 0
|
||||
SELECT COUNT(*) INTO existe_oc FROM prtb00012 WHERE num_oc = ult_numero
|
||||
IF existe_oc > 0 THEN
|
||||
SELECT MAX(num_oc) + 1 INTO ult_numero FROM prtb00012
|
||||
UPDATE prtb00020 SET num_oc = ult_numero
|
||||
END IF
|
||||
COMMIT WORK
|
||||
LET prtb08.num_oc = ult_numero
|
||||
DISPLAY BY NAME prtb08.num_oc
|
||||
|
||||
{ CALL defecto(usuarios,clave,impresor) RETURNING imprime,negrilla_on,negrillas_of,
|
||||
doble_on,doble_off,comp_on,comp_off,
|
||||
doce,normal,archivo,copia1
|
||||
@@ -851,9 +858,8 @@ CALL seleccionarsalida() RETURNING r_output
|
||||
fech_crea = GETDATE()
|
||||
WHERE @num_oc = prtb09.num_oc
|
||||
|
||||
UPDATE prtb00020 SET num_oc = ult_numero,
|
||||
us_Crea = SUSER_SNAME(),
|
||||
fech_crea = GETDATE()
|
||||
# (se elimino la re-escritura de prtb00020 aqui: el consecutivo ya se tomo
|
||||
# arriba de forma atomica y re-escribirlo podia retroceder el contador)
|
||||
|
||||
# ACTUALIZA NUMERO TEMPORAL PARA EL DESPIECE
|
||||
UPDATE prtb00022 SET num_oc = prtb08.num_oc WHERE num_oc = tmpnumero
|
||||
|
||||
Binary file not shown.
@@ -59,7 +59,7 @@
|
||||
<Grid gridHeight="22" gridWidth="100" name="Grid1" posX="1" posY="1">
|
||||
<Group gridHeight="15" gridWidth="96" name="Group1" posX="1" posY="1">
|
||||
<Label posX="1" posY="1" text="Tipo de Movimiento"/>
|
||||
<ComboBox aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="cod_mto" comment="1= EMPLEO 2=CAMBIO 3=NOVEDADES 4=TERMINACION o Presione Ctrl-W" defaultValue="1" fieldId="2" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="36" include="1|2|3|4" items="" name="adtb00020.cod_mto" posX="21" posY="1" sqlTabName="adtb00020" sqlType="SMALLINT" tabIndex="1" table_alias_name="" widget="ComboBox"/>
|
||||
<ComboBox aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="cod_mto" comment="Seleccione el tipo de movimiento de la accion de personal" defaultValue="1" fieldId="2" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="36" items="" name="adtb00020.cod_mto" posX="21" posY="1" sqlTabName="adtb00020" sqlType="SMALLINT" tabIndex="1" table_alias_name="" widget="ComboBox"/>
|
||||
<Label posX="1" posY="2" text="Numero Documento"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="num_trx" fieldId="5" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="6" name="adtb00020.num_trx" noEntry="true" posX="21" posY="2" sqlTabName="adtb00020" sqlType="INTEGER" tabIndex="2" table_alias_name="" widget="Edit"/>
|
||||
<Label posX="33" posY="2" text="Numero Solicitante"/>
|
||||
@@ -79,7 +79,7 @@
|
||||
<Label posX="39" posY="4" text="-"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" autoNext="true" colName="cod_puesto" comment="Digite el puesto del empleado o Presione Ctrl-W para busqueda" fieldId="12" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="3" name="adtb00020.cod_puesto" posX="41" posY="4" sqlTabName="adtb00020" sqlType="SMALLINT" tabIndex="10" table_alias_name="" widget="Edit"/>
|
||||
<Label posX="46" posY="4" text="Cedula"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="cedula" fieldId="13" gridHeight="1" gridWidth="14" name="cedula" picture="###-#######-#" posX="55" posY="4" sqlTabName="formonly" tabIndex="11" table_alias_name="" widget="Edit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="cedula" fieldId="13" gridHeight="1" gridWidth="14" name="cedula" posX="55" posY="4" sqlTabName="formonly" tabIndex="11" table_alias_name="" widget="Edit"/>
|
||||
<Label posX="70" posY="4" text="Cuenta No:"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="cuenta_no" comment="No. de Cuenta para pago automatico" fieldId="1" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="14" name="adtb00003.cuenta_no" posX="81" posY="4" sqlTabName="adtb00003" sqlType="VARCHAR" tabIndex="12" table_alias_name="" widget="Edit"/>
|
||||
<Label posX="1" posY="5" text="Nombre"/>
|
||||
@@ -100,10 +100,12 @@
|
||||
<Item lstrtext="false" name="J" text="JORNAL"/>
|
||||
</ComboBox>
|
||||
<Label gridHeight="1" gridWidth="9" name="Label1" posX="63" posY="8" text="Estado Civil"/>
|
||||
<ComboBox aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" case="upper" colName="estado_civil" comment=" S = Soltero C = Casado " defaultValue="U" fieldId="21" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="18" include="S|C" items="CASADO, SOLTERO, UNION LIBRE" name="adtb00003.estado_civil" posX="75" posY="8" sqlTabName="adtb00003" sqlType="CHAR" tabIndex="19" table_alias_name="" widget="ComboBox">
|
||||
<ComboBox aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" case="upper" colName="estado_civil" comment="Estado civil del colaborador" defaultValue="U" fieldId="21" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="18" items="CASADO, SOLTERO, UNION LIBRE, DIVORCIADO, VIUDO" name="adtb00003.estado_civil" posX="75" posY="8" sqlTabName="adtb00003" sqlType="CHAR" tabIndex="19" table_alias_name="" widget="ComboBox">
|
||||
<Item lstrtext="false" name="C" text="CASADO"/>
|
||||
<Item lstrtext="false" name="S" text="SOLTERO"/>
|
||||
<Item lstrtext="false" name="U" text="UNION LIBRE"/>
|
||||
<Item lstrtext="false" name="D" text="DIVORCIADO"/>
|
||||
<Item lstrtext="false" name="V" text="VIUDO"/>
|
||||
</ComboBox>
|
||||
<Label posX="1" posY="9" text="Sexo"/>
|
||||
<ComboBox aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" case="upper" colName="sexo" comment="Digite M Para Sexo Masculino y F Para el Femenino" defaultValue="F" fieldId="40" gridHeight="1" gridWidth="11" include="M|F" items="FEMENINO, MASCULINO" name="sexo" posX="21" posY="9" sqlTabName="formonly" sqlType="CHAR" tabIndex="20" table_alias_name="" widget="ComboBox">
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
{
|
||||
------------------------------------------------------------------------
|
||||
FORMULARIO : ADFMRP048
|
||||
OBJETIVO : Parametros del reporte de horas de capacitacion por
|
||||
colaborador. Es utilizada por: ADPRRP048
|
||||
FECHA REALIZACION : Octubre 05, 2026
|
||||
------------------------------------------------------------------------
|
||||
}
|
||||
LAYOUT (TEXT="HORAS DE CAPACITACION POR COLABORADOR", STYLE="basic")
|
||||
GRID
|
||||
{
|
||||
<G "PARAMETROS" >
|
||||
Fecha desde [f001 ] Hasta [f002 ]
|
||||
Departamento [f003 ]
|
||||
Ficha (opcional) [f004 ]
|
||||
Filtro [f005]
|
||||
}
|
||||
END
|
||||
ATTRIBUTES
|
||||
DATEEDIT f001 = formonly.fecha_ini TYPE DATE, FORMAT="dd/mm/yyyy", REQUIRED,
|
||||
COMMENT="Fecha de inicio de la capacitacion (plan o ejecucion)";
|
||||
DATEEDIT f002 = formonly.fecha_fin TYPE DATE, FORMAT="dd/mm/yyyy", REQUIRED;
|
||||
COMBOBOX f003 = formonly.departamento TYPE SMALLINT, NOT NULL,
|
||||
COMMENT="Departamento del colaborador (TODOS = toda la empresa)";
|
||||
EDIT f004 = formonly.num_emp TYPE INTEGER,
|
||||
COMMENT="Deje en blanco para todos los colaboradores";
|
||||
CHECKBOX f005 = formonly.solo_pend, VALUECHECKED="S", VALUEUNCHECKED="N",
|
||||
TEXT="Solo colaboradores con horas pendientes",
|
||||
COMMENT="Muestra solo a quienes tienen capacitaciones requeridas sin cubrir en el periodo";
|
||||
END
|
||||
INSTRUCTIONS
|
||||
DELIMITERS " "
|
||||
END
|
||||
@@ -0,0 +1,31 @@
|
||||
{
|
||||
------------------------------------------------------------------------
|
||||
FORMULARIO : ADFMRP049
|
||||
OBJETIVO : Parametros del reporte de rotacion laboral.
|
||||
Es utilizada por: ADPRRP049
|
||||
FECHA REALIZACION : Octubre 05, 2026
|
||||
------------------------------------------------------------------------
|
||||
}
|
||||
LAYOUT (TEXT="ROTACION LABORAL", STYLE="basic")
|
||||
GRID
|
||||
{
|
||||
<G "PARAMETROS" >
|
||||
Ano desde [f001 ] Hasta [f002 ]
|
||||
Departamento [f003 ]
|
||||
Tipo de empleado [f004 ]
|
||||
Formato [f005 ]
|
||||
}
|
||||
END
|
||||
ATTRIBUTES
|
||||
EDIT f001 = formonly.ano_ini TYPE SMALLINT, REQUIRED;
|
||||
EDIT f002 = formonly.ano_fin TYPE SMALLINT, REQUIRED;
|
||||
COMBOBOX f003 = formonly.departamento TYPE SMALLINT, NOT NULL,
|
||||
COMMENT="Departamento (TODOS = toda la empresa)";
|
||||
COMBOBOX f004 = formonly.tipo_emp, NOT NULL,
|
||||
ITEMS=(("TODOS","TODOS"),("NORMAL","NORMAL"),("TEMPORERO","TEMPORERO"));
|
||||
COMBOBOX f005 = formonly.formato, NOT NULL,
|
||||
ITEMS=(("R","RESUMEN MENSUAL"),("D","DETALLE DE SALIDAS POR CAUSA"));
|
||||
END
|
||||
INSTRUCTIONS
|
||||
DELIMITERS " "
|
||||
END
|
||||
@@ -0,0 +1,49 @@
|
||||
{
|
||||
------------------------------------------------------------------------
|
||||
FORMULARIO : ADFMWD017
|
||||
OBJETIVO : Ventana de capacitacion (requerida / tomada) de la
|
||||
Accion de Personal. Es utilizada por: ADPRMT017
|
||||
FECHA REALIZACION : Octubre 05, 2026
|
||||
------------------------------------------------------------------------
|
||||
}
|
||||
LAYOUT (TEXT="CAPACITACION DEL EMPLEADO")
|
||||
GRID
|
||||
{
|
||||
<G "CAPACITACION" >
|
||||
Movimiento [f001 ]
|
||||
Requerida a cubrir [f002 ]
|
||||
Capacitacion [f003 ]
|
||||
[b01 ]
|
||||
Tipo de evento [f004 ]
|
||||
Horas requeridas [f005 ]
|
||||
Fecha inicio [f006 ] Fecha fin [f007 ]
|
||||
Horas tomadas [f008 ]
|
||||
Institucion/Facilitador [f009 ]
|
||||
Costo [f010 ]
|
||||
|
||||
<G "RESUMEN DEL EMPLEADO" >
|
||||
Requeridas [t001 ] Tomadas [t002 ] Pendientes [t003 ]
|
||||
}
|
||||
END
|
||||
ATTRIBUTES
|
||||
EDIT f001 = formonly.tipo_desc, NOENTRY, COLOR=BLUE;
|
||||
COMBOBOX f002 = formonly.id_requerida TYPE INTEGER,
|
||||
COMMENT="Capacitacion requerida pendiente que cubre esta capacitacion tomada";
|
||||
COMBOBOX f003 = formonly.cod_cap TYPE INTEGER,
|
||||
COMMENT="Seleccione la capacitacion. Si no existe use el boton Nuevo curso";
|
||||
BUTTON b01 : nuevo_curso, TEXT="Nuevo curso";
|
||||
COMBOBOX f004 = formonly.evento TYPE SMALLINT, NOENTRY,
|
||||
ITEMS=((1,"SEMINARIO"),(2,"CURSO"),(3,"TALLER"),(4,"CONFERENCIA"));
|
||||
EDIT f005 = formonly.horas_req TYPE DECIMAL(6,2), FORMAT="##&.&&";
|
||||
DATEEDIT f006 = formonly.fecha_ini TYPE DATE, FORMAT="dd/mm/yyyy";
|
||||
DATEEDIT f007 = formonly.fecha_fin TYPE DATE, FORMAT="dd/mm/yyyy";
|
||||
EDIT f008 = formonly.horas_tom TYPE DECIMAL(6,2), FORMAT="##&.&&";
|
||||
EDIT f009 = formonly.institucion, UPSHIFT;
|
||||
EDIT f010 = formonly.costo TYPE DECIMAL(12,2), FORMAT="###,##&.&&";
|
||||
EDIT t001 = formonly.trq TYPE DECIMAL(8,2), NOENTRY, COLOR=BLUE, FORMAT="###&.&&";
|
||||
EDIT t002 = formonly.ttm TYPE DECIMAL(8,2), NOENTRY, COLOR=BLUE, FORMAT="###&.&&";
|
||||
EDIT t003 = formonly.tpd TYPE DECIMAL(8,2), NOENTRY, COLOR=RED, FORMAT="###&.&&";
|
||||
END
|
||||
INSTRUCTIONS
|
||||
DELIMITERS " "
|
||||
END
|
||||
@@ -0,0 +1,32 @@
|
||||
{
|
||||
------------------------------------------------------------------------
|
||||
FORMULARIO : ADFMWD018
|
||||
OBJETIVO : Ventana de desvinculacion (causa de salida) de la
|
||||
Accion de Personal. Es utilizada por: ADPRMT017
|
||||
FECHA REALIZACION : Octubre 05, 2026
|
||||
------------------------------------------------------------------------
|
||||
}
|
||||
LAYOUT (TEXT="DESVINCULACION DEL EMPLEADO")
|
||||
GRID
|
||||
{
|
||||
<G "SALIDA" >
|
||||
Fecha de salida [f001 ]
|
||||
Causa [f002 ]
|
||||
Clasificacion [f003 ]
|
||||
Recontratable [f004]
|
||||
Detalle [f005 ]
|
||||
[f005 ]
|
||||
}
|
||||
END
|
||||
ATTRIBUTES
|
||||
DATEEDIT f001 = formonly.fecha_salida TYPE DATE, FORMAT="dd/mm/yyyy",
|
||||
COMMENT="Ultimo dia laborado";
|
||||
COMBOBOX f002 = formonly.cod_causa TYPE SMALLINT,
|
||||
COMMENT="Causa de la salida (se usa para el indicador de rotacion)";
|
||||
EDIT f003 = formonly.clase_desc, NOENTRY, COLOR=BLUE;
|
||||
COMBOBOX f004 = formonly.recontratable, ITEMS=(("S","SI"),("N","NO"));
|
||||
TEXTEDIT f005 = formonly.detalle, UPSHIFT, SCROLLBARS=NONE, STRETCH=X;
|
||||
END
|
||||
INSTRUCTIONS
|
||||
DELIMITERS " "
|
||||
END
|
||||
@@ -0,0 +1,29 @@
|
||||
{
|
||||
------------------------------------------------------------------------
|
||||
FORMULARIO : ADFMWD019
|
||||
OBJETIVO : Alta de una capacitacion en el catalogo (adtb00059)
|
||||
desde la ventana de capacitacion. Es utilizada por:
|
||||
ADPRMT017 (boton Nuevo curso)
|
||||
FECHA REALIZACION : Octubre 05, 2026
|
||||
------------------------------------------------------------------------
|
||||
}
|
||||
LAYOUT (TEXT="NUEVA CAPACITACION")
|
||||
GRID
|
||||
{
|
||||
<G "CATALOGO DE CAPACITACIONES" >
|
||||
Nombre [f001 ]
|
||||
Tipo de evento [f002 ]
|
||||
Horas estandar [f003 ]
|
||||
}
|
||||
END
|
||||
ATTRIBUTES
|
||||
EDIT f001 = formonly.nom_cap, UPSHIFT, REQUIRED,
|
||||
COMMENT="Nombre de la capacitacion (revise antes que no exista en la lista)";
|
||||
COMBOBOX f002 = formonly.evento TYPE SMALLINT, NOT NULL,
|
||||
ITEMS=((1,"SEMINARIO"),(2,"CURSO"),(3,"TALLER"),(4,"CONFERENCIA"));
|
||||
EDIT f003 = formonly.horas TYPE DECIMAL(6,2), FORMAT="##&.&&",
|
||||
COMMENT="Horas que dura normalmente esta capacitacion";
|
||||
END
|
||||
INSTRUCTIONS
|
||||
DELIMITERS " "
|
||||
END
|
||||
+734
-36
@@ -44,6 +44,38 @@ DEFINE vacacion RECORD
|
||||
tipo_sueldo CHAR(20),
|
||||
proporcion_vacaciones,salario_quincenal DEC(12,2)
|
||||
|
||||
#### VARIABLES PARA MODULO DE CAPACITACION (2026-10-05) ##########
|
||||
#### tipo_mov 'CAPACITACION REQUERIDA' / 'CAPACITACION TOMADA'
|
||||
#### detalle en adtb00060, catalogo en adtb00059 (adprmt017_capacitacion.sql)
|
||||
DEFINE capac RECORD
|
||||
tipo_desc VARCHAR(30),
|
||||
id_requerida INTEGER,
|
||||
cod_cap INTEGER,
|
||||
evento SMALLINT,
|
||||
horas_req DEC(6,2),
|
||||
fecha_ini DATE,
|
||||
fecha_fin DATE,
|
||||
horas_tom DEC(6,2),
|
||||
institucion VARCHAR(100),
|
||||
costo DEC(12,2)
|
||||
END RECORD
|
||||
DEFINE cap_tot RECORD
|
||||
trq, ttm, tpd DEC(8,2)
|
||||
END RECORD
|
||||
#### VARIABLES PARA DESVINCULACION (2026-10-05) ##########
|
||||
#### tipo_mov 'CANCELAR' (mov. 4 DESVINCULAR) / 'DESVINCULAR' / 'TERMINO'
|
||||
#### detalle en adtb00062, causas en adtb00061 (adprmt017_desvinculacion.sql)
|
||||
DEFINE desv RECORD
|
||||
fecha_salida DATE,
|
||||
cod_causa SMALLINT,
|
||||
clase_desc VARCHAR(20),
|
||||
recontratable CHAR(1),
|
||||
detalle VARCHAR(200)
|
||||
END RECORD
|
||||
DEFINE realiza_desvinculacion BOOLEAN
|
||||
DEFINE realiza_capacitacion BOOLEAN,
|
||||
cap_sql STRING
|
||||
|
||||
#### MODULO MENU GENERAL DE ACCION DE NOMINA #####
|
||||
|
||||
MAIN
|
||||
@@ -479,6 +511,28 @@ FUNCTION adpcad017()
|
||||
END IF
|
||||
END IF
|
||||
|
||||
## LLAMA LA VENTANA DE CAPACITACION (REQUERIDA / TOMADA)
|
||||
IF xtipo = "CAPACITACION REQUERIDA" OR xtipo = "CAPACITACION TOMADA" THEN
|
||||
CALL capacitacion('A') RETURNING realiza_capacitacion
|
||||
IF NOT realiza_capacitacion THEN
|
||||
RETURN
|
||||
END IF
|
||||
NEXT FIELD observacion
|
||||
END IF
|
||||
|
||||
## LLAMA LA VENTANA DE DESVINCULACION (CAUSA DE SALIDA)
|
||||
IF es_desvinculacion(xtipo) THEN
|
||||
IF empleado_desactivado(acc_per.num_emp) THEN
|
||||
CALL fgl_winmessage("INFO","ESTE EMPLEADO YA ESTA DESACTIVADO","info")
|
||||
NEXT FIELD num_emp
|
||||
END IF
|
||||
CALL desvinculacion('A') RETURNING realiza_desvinculacion
|
||||
IF NOT realiza_desvinculacion THEN
|
||||
RETURN
|
||||
END IF
|
||||
NEXT FIELD observacion
|
||||
END IF
|
||||
|
||||
AFTER FIELD sueldo_ac
|
||||
IF acc_per.sueldo_ac IS NULL OR acc_per.sueldo_ac < 0 THEN
|
||||
LET numero_msg = 16
|
||||
@@ -666,9 +720,18 @@ FUNCTION adpcad017()
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
## SE ASEGURA DE QUE TODA LA INFORMACION ESTE CORRECTA
|
||||
PROMPT "Informacion Correcta? (S/N).." FOR CHAR opt
|
||||
LET opt = UPSHIFT(opt)
|
||||
## SE ASEGURA DE QUE TODA LA INFORMACION ESTE CORRECTA
|
||||
IF fgl_winquestion("ACCION DE PERSONAL","La informacion esta correcta? Desea grabar la accion?",
|
||||
"YES","YES|NO","question",0) = "YES" THEN
|
||||
LET opt = "S"
|
||||
ELSE
|
||||
LET opt = "N"
|
||||
# Antes de 2026-10-05 un "N" seguia de largo: mensaje de grabado,
|
||||
# UPDATE de adtb00028 con num_trx nulo y pregunta de impresion.
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
## SI NO HA OCURRIDO NINGUN PROBLEMA SE PROCEDE A INSERTAR LA INFORMACION
|
||||
## EN LA TABLA DE ACCION DE PERSONAL
|
||||
@@ -751,8 +814,17 @@ FUNCTION adpcad017()
|
||||
VALUES (vacacion.num_nomi,acc_per.nomina,acc_per.num_emp,acc_per.departamento,acc_per.departamento,acc_per.nivel_emp,
|
||||
acc_per.cod_puesto,vacacion.cod_mov2,salario_quincenal,usuarios,getdate(),
|
||||
acc_per.num_trx,acc_per.cod_mto)
|
||||
END IF
|
||||
|
||||
END IF
|
||||
|
||||
END IF
|
||||
|
||||
IF xtipo = "CAPACITACION REQUERIDA" OR xtipo = "CAPACITACION TOMADA" THEN
|
||||
CALL graba_capacitacion()
|
||||
END IF
|
||||
|
||||
## DESVINCULACION: DESACTIVA AL EMPLEADO (status_t = 'D') Y GUARDA LA CAUSA
|
||||
IF es_desvinculacion(xtipo) THEN
|
||||
CALL graba_desvinculacion()
|
||||
END IF
|
||||
|
||||
################## DATOS PARA INSERTAR O MODIFICAR PETB00003 ############
|
||||
@@ -877,16 +949,9 @@ FUNCTION adpcad017()
|
||||
COMMIT WORK
|
||||
END IF
|
||||
|
||||
## ACTUALIZA LA TABLA DE EMPLEADOS EN CUANTO AL MOVIMIENTO DE LAS TERMINACIONES
|
||||
## DE LA ACCION DE PERSONAL
|
||||
|
||||
IF xtipo = "TERMINO" THEN
|
||||
UPDATE adtb00003 SET status_t = "T"
|
||||
WHERE num_emp = acc_per.num_emp
|
||||
|
||||
UPDATE adtb00021 SET status_t = "T"
|
||||
WHERE num_emp = acc_per.num_emp
|
||||
END IF
|
||||
## LAS TERMINACIONES (TERMINO/CANCELAR/DESVINCULAR) SE GRABAN DENTRO DE LA
|
||||
## TRANSACCION EN graba_desvinculacion() (2026-10-05). Antes ponia status_t='T'
|
||||
## pero el movimiento existente es 'CANCELAR' y nunca entraba aqui.
|
||||
|
||||
## ACTUALIZA LA TABLA DE SECUENCIA NUMERICA
|
||||
UPDATE adtb00028 SET num_trx = acc_per.num_trx
|
||||
@@ -895,19 +960,28 @@ FUNCTION adpcad017()
|
||||
LET numero_msg = 1
|
||||
CALL msg(numero_msg)
|
||||
CLEAR FORM
|
||||
LABEL preg:
|
||||
|
||||
PROMPT "Desea Imprimir Este Documento (S/N)?..." FOR CHAR optt
|
||||
LET optt = UPSHIFT(optt)
|
||||
IF optt IS NULL OR (optt != "S" AND optt != "N") THEN
|
||||
GOTO preg
|
||||
END IF
|
||||
IF fgl_winquestion("ACCION DE PERSONAL","Accion grabada. Desea imprimir el documento?",
|
||||
"NO","YES|NO","question",0) = "YES" THEN
|
||||
LET optt = "S"
|
||||
ELSE
|
||||
LET optt = "N"
|
||||
END IF
|
||||
IF optt = "S" THEN
|
||||
CALL configureoutput("PDF") RETURNING handler
|
||||
START REPORT imp_accion TO XML HANDLER handler
|
||||
OUTPUT TO REPORT imp_accion()
|
||||
FINISH REPORT imp_accion
|
||||
RUN imprime
|
||||
# 2026-10-05: antes usaba configureoutput("PDF"), que carga el motor
|
||||
# SIN diseno (loadCurrentSettings(NULL)) -> PDF en blanco. Ahora usa
|
||||
# el mismo adprmt017.4rp que la consulta.
|
||||
IF fgl_report_loadCurrentSettings("adprmt017.4rp") THEN
|
||||
CALL fgl_report_selectDevice("PDF")
|
||||
CALL fgl_report_selectPreview(TRUE)
|
||||
LET handler = fgl_report_commitCurrentSettings()
|
||||
IF handler IS NOT NULL THEN
|
||||
START REPORT imp_accion TO XML HANDLER handler
|
||||
OUTPUT TO REPORT imp_accion()
|
||||
FINISH REPORT imp_accion
|
||||
END IF
|
||||
ELSE
|
||||
CALL fgl_winmessage("INFO","No se pudo cargar el diseno adprmt017.4rp","stop")
|
||||
END IF
|
||||
END IF
|
||||
|
||||
END FUNCTION
|
||||
@@ -1559,7 +1633,13 @@ FUNCTION adpcmf017()
|
||||
UPDATE notb00007 SET status_t ="E",
|
||||
us_mod = usuarios,
|
||||
fech_mod = getdate()
|
||||
WHERE num_trx = acc_per.num_trx AND cod_mto = acc_per.cod_mto
|
||||
WHERE num_trx = acc_per.num_trx AND cod_mto = acc_per.cod_mto
|
||||
IF xtipo = "CAPACITACION REQUERIDA" OR xtipo = "CAPACITACION TOMADA" THEN
|
||||
CALL anula_capacitacion(acc_per.num_trx)
|
||||
END IF
|
||||
IF es_desvinculacion(xtipo) THEN
|
||||
CALL anula_desvinculacion(acc_per.num_trx, acc_per.num_emp)
|
||||
END IF
|
||||
COMMIT WORK
|
||||
LET numero_msg = 39
|
||||
CALL msg(numero_msg)
|
||||
@@ -1704,8 +1784,19 @@ nombre5 clipped," ",nombre6 clipped," ",apellido5 clipped," ",apellido6 clipped
|
||||
END IF
|
||||
|
||||
CALL vacaciones('C') RETURNING realiza_vacaciones # CUANDO ESTA CONSULTANDO ES 'C' Y ADICIONANDO ES 'A'
|
||||
|
||||
|
||||
|
||||
|
||||
END IF
|
||||
## DATOS CAPACITACION
|
||||
IF xtipo = "CAPACITACION REQUERIDA" OR xtipo = "CAPACITACION TOMADA" THEN
|
||||
CALL carga_capacitacion(acc_per.num_trx)
|
||||
CALL capacitacion('C') RETURNING realiza_capacitacion
|
||||
END IF
|
||||
## DATOS DESVINCULACION
|
||||
IF es_desvinculacion(xtipo) THEN
|
||||
IF carga_desvinculacion(acc_per.num_trx) THEN
|
||||
CALL desvinculacion('C') RETURNING realiza_desvinculacion
|
||||
END IF
|
||||
END IF
|
||||
|
||||
|
||||
@@ -1946,7 +2037,574 @@ FUNCTION vacaciones(operacion)
|
||||
END IF
|
||||
END FUNCTION
|
||||
|
||||
## VENTANA DE LOS NIVELES DEL LOS EMPLEADOS
|
||||
##################################################################
|
||||
## CAPACITACION (2026-10-05)
|
||||
## 'CAPACITACION REQUERIDA' : plan de horas por empleado (tipo_reg 'R')
|
||||
## 'CAPACITACION TOMADA' : horas ejecutadas (tipo_reg 'T'), puede
|
||||
## cubrir una requerida (id_requerida)
|
||||
## Tablas adtb00059/adtb00060 via SQL dinamico (no estan en smarmotech.sch)
|
||||
##################################################################
|
||||
FUNCTION capacitacion(operacion)
|
||||
DEFINE operacion VARCHAR(1),
|
||||
es_requerida BOOLEAN,
|
||||
pend DEC(8,2),
|
||||
xcod INTEGER,
|
||||
xnum INTEGER
|
||||
|
||||
LET int_flag = FALSE
|
||||
LET es_requerida = (xtipo = "CAPACITACION REQUERIDA")
|
||||
|
||||
OPEN WINDOW adwindow17 AT 10,12 WITH FORM "adfmwd017"
|
||||
ATTRIBUTE(BORDER,FORM LINE FIRST + 2)
|
||||
|
||||
CALL combo_capacitaciones()
|
||||
CALL combo_requeridas(acc_per.num_emp, operacion = 'C')
|
||||
CALL totales_capacitacion(acc_per.num_emp)
|
||||
|
||||
IF operacion = 'A' THEN
|
||||
INITIALIZE capac.* TO NULL
|
||||
LET capac.tipo_desc = xtipo
|
||||
LET capac.fecha_ini = acc_per.fech_efec
|
||||
|
||||
INPUT BY NAME capac.* WITHOUT DEFAULTS ATTRIBUTE(UNBUFFERED)
|
||||
BEFORE INPUT
|
||||
DISPLAY BY NAME cap_tot.*
|
||||
IF es_requerida THEN
|
||||
CALL DIALOG.setFieldActive("id_requerida", FALSE)
|
||||
CALL DIALOG.setFieldActive("horas_tom", FALSE)
|
||||
CALL DIALOG.setFieldActive("fecha_fin", FALSE)
|
||||
ELSE
|
||||
CALL DIALOG.setFieldActive("horas_req", FALSE)
|
||||
END IF
|
||||
|
||||
ON CHANGE id_requerida
|
||||
IF capac.id_requerida IS NOT NULL THEN
|
||||
CALL datos_requerida(capac.id_requerida)
|
||||
RETURNING capac.cod_cap, capac.evento, pend
|
||||
LET capac.horas_req = pend
|
||||
IF capac.horas_tom IS NULL THEN
|
||||
LET capac.horas_tom = pend
|
||||
END IF
|
||||
CALL DIALOG.setFieldActive("cod_cap", FALSE)
|
||||
ELSE
|
||||
LET capac.cod_cap = NULL
|
||||
LET capac.evento = NULL
|
||||
LET capac.horas_req = NULL
|
||||
CALL DIALOG.setFieldActive("cod_cap", TRUE)
|
||||
END IF
|
||||
|
||||
ON CHANGE cod_cap
|
||||
IF capac.cod_cap IS NOT NULL THEN
|
||||
CALL datos_curso(capac.cod_cap) RETURNING capac.evento, pend
|
||||
IF es_requerida THEN
|
||||
LET capac.horas_req = pend
|
||||
ELSE
|
||||
IF capac.horas_tom IS NULL THEN
|
||||
LET capac.horas_tom = pend
|
||||
END IF
|
||||
END IF
|
||||
END IF
|
||||
|
||||
ON ACTION nuevo_curso
|
||||
CALL nuevo_curso() RETURNING xcod
|
||||
IF xcod IS NOT NULL THEN
|
||||
CALL combo_capacitaciones()
|
||||
LET capac.cod_cap = xcod
|
||||
CALL datos_curso(capac.cod_cap) RETURNING capac.evento, pend
|
||||
IF es_requerida THEN
|
||||
LET capac.horas_req = pend
|
||||
ELSE
|
||||
LET capac.horas_tom = pend
|
||||
END IF
|
||||
END IF
|
||||
|
||||
AFTER INPUT
|
||||
IF int_flag THEN
|
||||
EXIT INPUT
|
||||
END IF
|
||||
IF capac.cod_cap IS NULL THEN
|
||||
CALL fgl_winmessage("INFO","DEBE SELECCIONAR LA CAPACITACION","info")
|
||||
NEXT FIELD cod_cap
|
||||
END IF
|
||||
IF es_requerida THEN
|
||||
IF capac.horas_req IS NULL OR capac.horas_req <= 0 THEN
|
||||
CALL fgl_winmessage("INFO","DEBE INDICAR LAS HORAS REQUERIDAS","info")
|
||||
NEXT FIELD horas_req
|
||||
END IF
|
||||
# Evita duplicar una requerida que todavia esta pendiente
|
||||
LET xnum = 0
|
||||
LET cap_sql =
|
||||
"SELECT COUNT(*) FROM adtb00060 r WHERE r.num_emp = ? AND r.cod_cap = ? ",
|
||||
" AND r.tipo_reg = 'R' AND r.status_t IS NULL ",
|
||||
" AND r.horas_req > ISNULL((SELECT SUM(t.horas_tom) FROM adtb00060 t ",
|
||||
" WHERE t.id_requerida = r.id_cap AND t.status_t IS NULL),0)"
|
||||
PREPARE p_cap_dup FROM cap_sql
|
||||
EXECUTE p_cap_dup INTO xnum USING acc_per.num_emp, capac.cod_cap
|
||||
IF xnum > 0 THEN
|
||||
IF fgl_winquestion("INFO",
|
||||
"ESTE EMPLEADO YA TIENE ESTA CAPACITACION REQUERIDA PENDIENTE. DESEA REGISTRARLA DE NUEVO?",
|
||||
"NO","YES|NO","QUESTION",0) = "NO" THEN
|
||||
NEXT FIELD cod_cap
|
||||
END IF
|
||||
END IF
|
||||
ELSE
|
||||
IF capac.horas_tom IS NULL OR capac.horas_tom <= 0 THEN
|
||||
CALL fgl_winmessage("INFO","DEBE INDICAR LAS HORAS TOMADAS","info")
|
||||
NEXT FIELD horas_tom
|
||||
END IF
|
||||
IF capac.fecha_ini IS NULL THEN
|
||||
CALL fgl_winmessage("INFO","DEBE INDICAR LA FECHA DE INICIO","info")
|
||||
NEXT FIELD fecha_ini
|
||||
END IF
|
||||
IF capac.fecha_fin IS NOT NULL AND capac.fecha_fin < capac.fecha_ini THEN
|
||||
CALL fgl_winmessage("INFO","LA FECHA FIN NO PUEDE SER MENOR QUE LA FECHA INICIO","info")
|
||||
NEXT FIELD fecha_fin
|
||||
END IF
|
||||
IF capac.id_requerida IS NOT NULL AND capac.horas_tom > capac.horas_req THEN
|
||||
IF fgl_winquestion("INFO",
|
||||
"LAS HORAS TOMADAS EXCEDEN LAS HORAS PENDIENTES DE LA REQUERIDA. CONTINUAR?",
|
||||
"NO","YES|NO","QUESTION",0) = "NO" THEN
|
||||
NEXT FIELD horas_tom
|
||||
END IF
|
||||
END IF
|
||||
END IF
|
||||
END INPUT
|
||||
ELSE
|
||||
LET capac.tipo_desc = xtipo
|
||||
DISPLAY BY NAME capac.*, cap_tot.*
|
||||
MENU "Capacitacion"
|
||||
COMMAND "Cerrar" "Cierra la ventana de capacitacion"
|
||||
EXIT MENU
|
||||
ON ACTION close
|
||||
EXIT MENU
|
||||
END MENU
|
||||
END IF
|
||||
|
||||
CLOSE WINDOW adwindow17
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = FALSE
|
||||
INITIALIZE capac.* TO NULL
|
||||
RETURN FALSE
|
||||
END IF
|
||||
RETURN TRUE
|
||||
END FUNCTION
|
||||
|
||||
## LLENA EL COMBO DEL CATALOGO DE CAPACITACIONES
|
||||
FUNCTION combo_capacitaciones()
|
||||
DEFINE cb ui.ComboBox,
|
||||
xcod INTEGER,
|
||||
xnom VARCHAR(100)
|
||||
|
||||
LET cb = ui.ComboBox.forName("formonly.cod_cap")
|
||||
IF cb IS NULL THEN
|
||||
RETURN
|
||||
END IF
|
||||
CALL cb.clear()
|
||||
LET cap_sql =
|
||||
"SELECT cod_cap, nom_cap FROM adtb00059 WHERE status_t IS NULL ORDER BY nom_cap"
|
||||
PREPARE p_cap_cat FROM cap_sql
|
||||
DECLARE c_cap_cat CURSOR FOR p_cap_cat
|
||||
FOREACH c_cap_cat INTO xcod, xnom
|
||||
CALL cb.addItem(xcod, xnom CLIPPED)
|
||||
END FOREACH
|
||||
FREE c_cap_cat
|
||||
END FUNCTION
|
||||
|
||||
## LLENA EL COMBO DE CAPACITACIONES REQUERIDAS DEL EMPLEADO
|
||||
## p_todas = FALSE solo las que tienen horas pendientes (captura)
|
||||
FUNCTION combo_requeridas(p_num_emp, p_todas)
|
||||
DEFINE p_num_emp INTEGER,
|
||||
p_todas BOOLEAN,
|
||||
cb ui.ComboBox,
|
||||
xid INTEGER,
|
||||
xnom VARCHAR(100),
|
||||
pend DEC(8,2)
|
||||
|
||||
LET cb = ui.ComboBox.forName("formonly.id_requerida")
|
||||
IF cb IS NULL THEN
|
||||
RETURN
|
||||
END IF
|
||||
CALL cb.clear()
|
||||
LET cap_sql =
|
||||
"SELECT r.id_cap, c.nom_cap, ",
|
||||
" ISNULL(r.horas_req,0) - ISNULL((SELECT SUM(t.horas_tom) FROM adtb00060 t ",
|
||||
" WHERE t.id_requerida = r.id_cap AND t.status_t IS NULL),0) ",
|
||||
"FROM adtb00060 r JOIN adtb00059 c ON c.cod_cap = r.cod_cap ",
|
||||
"WHERE r.num_emp = ? AND r.tipo_reg = 'R' AND r.status_t IS NULL ",
|
||||
"ORDER BY c.nom_cap"
|
||||
PREPARE p_cap_req FROM cap_sql
|
||||
DECLARE c_cap_req CURSOR FOR p_cap_req
|
||||
FOREACH c_cap_req USING p_num_emp INTO xid, xnom, pend
|
||||
IF NOT p_todas AND pend <= 0 THEN
|
||||
CONTINUE FOREACH
|
||||
END IF
|
||||
CALL cb.addItem(xid, xnom CLIPPED || " (" || (pend USING "<<<&.&&") || " h pend.)")
|
||||
END FOREACH
|
||||
FREE c_cap_req
|
||||
END FUNCTION
|
||||
|
||||
## TOTALES DE HORAS DEL EMPLEADO: REQUERIDAS, TOMADAS Y PENDIENTES
|
||||
FUNCTION totales_capacitacion(p_num_emp)
|
||||
DEFINE p_num_emp INTEGER
|
||||
|
||||
LET cap_tot.trq = 0
|
||||
LET cap_tot.ttm = 0
|
||||
LET cap_sql =
|
||||
"SELECT ISNULL(SUM(CASE WHEN tipo_reg = 'R' THEN horas_req END),0), ",
|
||||
" ISNULL(SUM(CASE WHEN tipo_reg = 'T' THEN horas_tom END),0) ",
|
||||
"FROM adtb00060 WHERE num_emp = ? AND status_t IS NULL"
|
||||
PREPARE p_cap_tot FROM cap_sql
|
||||
EXECUTE p_cap_tot INTO cap_tot.trq, cap_tot.ttm USING p_num_emp
|
||||
# Pendiente = lo requerido que falta por cubrir (las tomadas sin requerida no restan)
|
||||
LET cap_sql =
|
||||
"SELECT ISNULL(SUM(CASE WHEN x.pend > 0 THEN x.pend ELSE 0 END),0) FROM ( ",
|
||||
" SELECT ISNULL(r.horas_req,0) - ISNULL((SELECT SUM(t.horas_tom) FROM adtb00060 t ",
|
||||
" WHERE t.id_requerida = r.id_cap AND t.status_t IS NULL),0) pend ",
|
||||
" FROM adtb00060 r WHERE r.num_emp = ? AND r.tipo_reg = 'R' AND r.status_t IS NULL) x"
|
||||
PREPARE p_cap_pend FROM cap_sql
|
||||
EXECUTE p_cap_pend INTO cap_tot.tpd USING p_num_emp
|
||||
END FUNCTION
|
||||
|
||||
## TIPO DE EVENTO Y HORAS ESTANDAR DE UN CURSO DEL CATALOGO
|
||||
FUNCTION datos_curso(p_cod)
|
||||
DEFINE p_cod INTEGER,
|
||||
xev SMALLINT,
|
||||
xhoras DEC(8,2)
|
||||
|
||||
LET cap_sql = "SELECT evento, horas FROM adtb00059 WHERE cod_cap = ?"
|
||||
PREPARE p_cap_cur FROM cap_sql
|
||||
EXECUTE p_cap_cur INTO xev, xhoras USING p_cod
|
||||
RETURN xev, xhoras
|
||||
END FUNCTION
|
||||
|
||||
## CURSO, EVENTO Y HORAS PENDIENTES DE UNA CAPACITACION REQUERIDA
|
||||
FUNCTION datos_requerida(p_id)
|
||||
DEFINE p_id INTEGER,
|
||||
xcod INTEGER,
|
||||
xev SMALLINT,
|
||||
pend DEC(8,2)
|
||||
|
||||
LET cap_sql =
|
||||
"SELECT r.cod_cap, c.evento, ",
|
||||
" ISNULL(r.horas_req,0) - ISNULL((SELECT SUM(t.horas_tom) FROM adtb00060 t ",
|
||||
" WHERE t.id_requerida = r.id_cap AND t.status_t IS NULL),0) ",
|
||||
"FROM adtb00060 r JOIN adtb00059 c ON c.cod_cap = r.cod_cap WHERE r.id_cap = ?"
|
||||
PREPARE p_cap_dreq FROM cap_sql
|
||||
EXECUTE p_cap_dreq INTO xcod, xev, pend USING p_id
|
||||
RETURN xcod, xev, pend
|
||||
END FUNCTION
|
||||
|
||||
## AGREGA UN CURSO AL CATALOGO adtb00059 Y DEVUELVE SU CODIGO
|
||||
FUNCTION nuevo_curso()
|
||||
DEFINE nc RECORD
|
||||
nom_cap VARCHAR(100),
|
||||
evento SMALLINT,
|
||||
horas DEC(6,2)
|
||||
END RECORD,
|
||||
xnom VARCHAR(100),
|
||||
xev SMALLINT,
|
||||
xhoras DEC(6,2),
|
||||
xcod INTEGER
|
||||
|
||||
# Ventana adfmwd019: nombre, tipo y horas en un solo paso
|
||||
LET int_flag = FALSE
|
||||
LET nc.nom_cap = NULL
|
||||
LET nc.evento = 2
|
||||
LET nc.horas = NULL
|
||||
OPEN WINDOW adwindow19 AT 12,14 WITH FORM "adfmwd019"
|
||||
ATTRIBUTE(BORDER,FORM LINE FIRST + 2)
|
||||
INPUT BY NAME nc.* WITHOUT DEFAULTS ATTRIBUTE(UNBUFFERED)
|
||||
AFTER INPUT
|
||||
IF int_flag THEN
|
||||
EXIT INPUT
|
||||
END IF
|
||||
IF nc.nom_cap IS NULL OR length(nc.nom_cap CLIPPED) = 0 THEN
|
||||
CALL fgl_winmessage("INFO","DEBE INDICAR EL NOMBRE DE LA CAPACITACION","info")
|
||||
NEXT FIELD nom_cap
|
||||
END IF
|
||||
IF nc.horas IS NOT NULL AND nc.horas < 0 THEN
|
||||
CALL fgl_winmessage("INFO","LAS HORAS NO PUEDEN SER NEGATIVAS","info")
|
||||
NEXT FIELD horas
|
||||
END IF
|
||||
END INPUT
|
||||
CLOSE WINDOW adwindow19
|
||||
IF int_flag THEN
|
||||
LET int_flag = FALSE
|
||||
RETURN NULL
|
||||
END IF
|
||||
|
||||
LET xnom = upshift(nc.nom_cap CLIPPED)
|
||||
LET xev = nc.evento
|
||||
IF xev IS NULL OR xev < 1 OR xev > 4 THEN
|
||||
LET xev = 2
|
||||
END IF
|
||||
LET xhoras = nc.horas
|
||||
IF xhoras IS NULL THEN
|
||||
LET xhoras = 0
|
||||
END IF
|
||||
|
||||
LET xcod = NULL
|
||||
LET cap_sql = "SELECT cod_cap FROM adtb00059 WHERE nom_cap = ? AND status_t IS NULL"
|
||||
PREPARE p_cap_bnom FROM cap_sql
|
||||
EXECUTE p_cap_bnom INTO xcod USING xnom
|
||||
IF xcod IS NOT NULL THEN
|
||||
CALL fgl_winmessage("INFO","ESA CAPACITACION YA EXISTE EN EL CATALOGO, SE SELECCIONA","info")
|
||||
RETURN xcod
|
||||
END IF
|
||||
|
||||
LET cap_sql =
|
||||
"INSERT INTO adtb00059 (nom_cap, evento, horas, us_crea, fech_crea) ",
|
||||
"VALUES (?, ?, ?, SUSER_SNAME(), GETDATE())"
|
||||
PREPARE p_cap_ins_cat FROM cap_sql
|
||||
EXECUTE p_cap_ins_cat USING xnom, xev, xhoras
|
||||
EXECUTE p_cap_bnom INTO xcod USING xnom
|
||||
RETURN xcod
|
||||
END FUNCTION
|
||||
|
||||
## GRABA EL DETALLE DE CAPACITACION DE LA ACCION (dentro de la transaccion)
|
||||
FUNCTION graba_capacitacion()
|
||||
DEFINE xtipo_reg CHAR(1)
|
||||
|
||||
IF xtipo = "CAPACITACION REQUERIDA" THEN
|
||||
LET xtipo_reg = "R"
|
||||
LET capac.id_requerida = NULL
|
||||
LET capac.horas_tom = NULL
|
||||
LET capac.fecha_fin = NULL
|
||||
ELSE
|
||||
LET xtipo_reg = "T"
|
||||
LET capac.horas_req = NULL
|
||||
END IF
|
||||
|
||||
LET cap_sql =
|
||||
"INSERT INTO adtb00060 (num_trx, num_emp, tipo_reg, cod_cap, id_requerida, ",
|
||||
" horas_req, horas_tom, fecha_ini, fecha_fin, institucion, costo, us_crea, fech_crea) ",
|
||||
"VALUES (?,?,?,?,?,?,?,?,?,?,?, SUSER_SNAME(), GETDATE())"
|
||||
PREPARE p_cap_ins FROM cap_sql
|
||||
EXECUTE p_cap_ins USING acc_per.num_trx, acc_per.num_emp, xtipo_reg, capac.cod_cap,
|
||||
capac.id_requerida, capac.horas_req, capac.horas_tom,
|
||||
capac.fecha_ini, capac.fecha_fin, capac.institucion, capac.costo
|
||||
END FUNCTION
|
||||
|
||||
## CARGA EL DETALLE DE CAPACITACION DE UNA ACCION PARA CONSULTA
|
||||
FUNCTION carga_capacitacion(p_trx)
|
||||
DEFINE p_trx INTEGER
|
||||
|
||||
INITIALIZE capac.* TO NULL
|
||||
LET cap_sql =
|
||||
"SELECT a.id_requerida, a.cod_cap, c.evento, a.horas_req, a.fecha_ini, a.fecha_fin, ",
|
||||
" a.horas_tom, a.institucion, a.costo ",
|
||||
"FROM adtb00060 a JOIN adtb00059 c ON c.cod_cap = a.cod_cap WHERE a.num_trx = ?"
|
||||
PREPARE p_cap_sel FROM cap_sql
|
||||
EXECUTE p_cap_sel INTO capac.id_requerida, capac.cod_cap, capac.evento, capac.horas_req,
|
||||
capac.fecha_ini, capac.fecha_fin, capac.horas_tom,
|
||||
capac.institucion, capac.costo
|
||||
USING p_trx
|
||||
END FUNCTION
|
||||
|
||||
## ANULA EL DETALLE DE CAPACITACION JUNTO CON LA ACCION
|
||||
FUNCTION anula_capacitacion(p_trx)
|
||||
DEFINE p_trx INTEGER
|
||||
|
||||
LET cap_sql =
|
||||
"UPDATE adtb00060 SET status_t = 'E', us_mod = ?, fech_mod = GETDATE() WHERE num_trx = ?"
|
||||
PREPARE p_cap_anu FROM cap_sql
|
||||
EXECUTE p_cap_anu USING usuarios, p_trx
|
||||
END FUNCTION
|
||||
|
||||
##################################################################
|
||||
## DESVINCULACION (2026-10-05)
|
||||
## La desactivacion del empleado (adtb00003.status_t = 'D') se hace
|
||||
## por la accion de personal; noprmt016 ya no desactiva.
|
||||
## Causa codificada en adtb00062 (catalogo adtb00061) para Rotacion.
|
||||
##################################################################
|
||||
FUNCTION es_desvinculacion(p_tipo)
|
||||
DEFINE p_tipo VARCHAR(25)
|
||||
LET p_tipo = p_tipo CLIPPED
|
||||
RETURN (p_tipo = "CANCELAR" OR p_tipo = "DESVINCULAR" OR p_tipo = "TERMINO")
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION empleado_desactivado(p_num_emp)
|
||||
DEFINE p_num_emp INTEGER,
|
||||
xst CHAR(1)
|
||||
LET xst = NULL
|
||||
SELECT a.status_t INTO xst FROM adtb00003 a WHERE a.num_emp = p_num_emp
|
||||
RETURN (xst = "D")
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION desvinculacion(operacion)
|
||||
DEFINE operacion VARCHAR(1),
|
||||
cb ui.ComboBox,
|
||||
xcod SMALLINT,
|
||||
xdesc VARCHAR(60),
|
||||
xingreso DATE
|
||||
|
||||
LET int_flag = FALSE
|
||||
OPEN WINDOW adwindow18 AT 10,12 WITH FORM "adfmwd018"
|
||||
ATTRIBUTE(BORDER,FORM LINE FIRST + 2)
|
||||
|
||||
LET cb = ui.ComboBox.forName("formonly.cod_causa")
|
||||
CALL cb.clear()
|
||||
LET cap_sql = "SELECT cod_causa, desc_causa FROM adtb00061 WHERE status_t IS NULL ORDER BY cod_causa"
|
||||
PREPARE p_desv_cat FROM cap_sql
|
||||
DECLARE c_desv_cat CURSOR FOR p_desv_cat
|
||||
FOREACH c_desv_cat INTO xcod, xdesc
|
||||
CALL cb.addItem(xcod, xdesc CLIPPED)
|
||||
END FOREACH
|
||||
FREE c_desv_cat
|
||||
|
||||
IF operacion = 'A' THEN
|
||||
INITIALIZE desv.* TO NULL
|
||||
LET desv.fecha_salida = acc_per.fech_efec
|
||||
LET desv.recontratable = "S"
|
||||
|
||||
INPUT BY NAME desv.* WITHOUT DEFAULTS ATTRIBUTE(UNBUFFERED)
|
||||
ON CHANGE cod_causa
|
||||
LET desv.clase_desc = clase_causa(desv.cod_causa)
|
||||
|
||||
AFTER INPUT
|
||||
IF int_flag THEN
|
||||
EXIT INPUT
|
||||
END IF
|
||||
IF desv.fecha_salida IS NULL THEN
|
||||
CALL fgl_winmessage("INFO","DEBE INDICAR LA FECHA DE SALIDA","info")
|
||||
NEXT FIELD fecha_salida
|
||||
END IF
|
||||
LET xingreso = NULL
|
||||
SELECT a.fech_efec INTO xingreso FROM adtb00003 a WHERE a.num_emp = acc_per.num_emp
|
||||
IF xingreso IS NOT NULL AND desv.fecha_salida < xingreso THEN
|
||||
CALL fgl_winmessage("INFO","LA FECHA DE SALIDA ES MENOR QUE LA FECHA DE INGRESO","info")
|
||||
NEXT FIELD fecha_salida
|
||||
END IF
|
||||
IF desv.cod_causa IS NULL THEN
|
||||
CALL fgl_winmessage("INFO","DEBE SELECCIONAR LA CAUSA DE LA SALIDA","info")
|
||||
NEXT FIELD cod_causa
|
||||
END IF
|
||||
IF desv.recontratable IS NULL THEN
|
||||
CALL fgl_winmessage("INFO","INDIQUE SI EL EMPLEADO ES RECONTRATABLE","info")
|
||||
NEXT FIELD recontratable
|
||||
END IF
|
||||
END INPUT
|
||||
ELSE
|
||||
LET desv.clase_desc = clase_causa(desv.cod_causa)
|
||||
DISPLAY BY NAME desv.*
|
||||
MENU "Desvinculacion"
|
||||
COMMAND "Cerrar" "Cierra la ventana de desvinculacion"
|
||||
EXIT MENU
|
||||
ON ACTION close
|
||||
EXIT MENU
|
||||
END MENU
|
||||
END IF
|
||||
|
||||
CLOSE WINDOW adwindow18
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = FALSE
|
||||
INITIALIZE desv.* TO NULL
|
||||
RETURN FALSE
|
||||
END IF
|
||||
RETURN TRUE
|
||||
END FUNCTION
|
||||
|
||||
## DESCRIPCION DE LA CLASE DE LA CAUSA (VOLUNTARIA / INVOLUNTARIA / OTRA)
|
||||
FUNCTION clase_causa(p_cod)
|
||||
DEFINE p_cod SMALLINT,
|
||||
xclase CHAR(1)
|
||||
|
||||
LET xclase = NULL
|
||||
LET cap_sql = "SELECT clase FROM adtb00061 WHERE cod_causa = ?"
|
||||
PREPARE p_desv_clase FROM cap_sql
|
||||
EXECUTE p_desv_clase INTO xclase USING p_cod
|
||||
CASE xclase
|
||||
WHEN "V" RETURN "VOLUNTARIA"
|
||||
WHEN "I" RETURN "INVOLUNTARIA"
|
||||
WHEN "O" RETURN "OTRA"
|
||||
END CASE
|
||||
RETURN NULL
|
||||
END FUNCTION
|
||||
|
||||
## GRABA LA DESVINCULACION Y DESACTIVA AL EMPLEADO (dentro de la transaccion)
|
||||
FUNCTION graba_desvinculacion()
|
||||
DEFINE xdep, xpuesto SMALLINT,
|
||||
xtipo_emp VARCHAR(20),
|
||||
xingreso DATE,
|
||||
xdesc VARCHAR(60),
|
||||
xmotivo VARCHAR(255)
|
||||
|
||||
SELECT a.departamento, a.cod_puesto, a.tipo_empleado, a.fech_efec
|
||||
INTO xdep, xpuesto, xtipo_emp, xingreso
|
||||
FROM adtb00003 a
|
||||
WHERE a.num_emp = acc_per.num_emp
|
||||
|
||||
LET cap_sql =
|
||||
"INSERT INTO adtb00062 (num_trx, num_emp, fecha_salida, cod_causa, recontratable, detalle, ",
|
||||
" departamento, cod_puesto, tipo_empleado, fech_ingreso, origen, us_crea, fech_crea) ",
|
||||
"VALUES (?,?,?,?,?,?,?,?,?,?,'A', SUSER_SNAME(), GETDATE())"
|
||||
PREPARE p_desv_ins FROM cap_sql
|
||||
EXECUTE p_desv_ins USING acc_per.num_trx, acc_per.num_emp, desv.fecha_salida, desv.cod_causa,
|
||||
desv.recontratable, desv.detalle, xdep, xpuesto, xtipo_emp, xingreso
|
||||
|
||||
# Motivo al inicio de adtb00003.observacion (lo que ya habia se conserva detras)
|
||||
LET xdesc = NULL
|
||||
LET cap_sql = "SELECT desc_causa FROM adtb00061 WHERE cod_causa = ?"
|
||||
PREPARE p_desv_desc FROM cap_sql
|
||||
EXECUTE p_desv_desc INTO xdesc USING desv.cod_causa
|
||||
LET xmotivo = xdesc CLIPPED, " ", desv.fecha_salida USING "dd/mm/yyyy"
|
||||
IF desv.detalle IS NOT NULL THEN
|
||||
LET xmotivo = xmotivo CLIPPED, " ", desv.detalle CLIPPED
|
||||
END IF
|
||||
IF desv.recontratable = "N" THEN
|
||||
LET xmotivo = xmotivo CLIPPED, " NO REINGRESO"
|
||||
END IF
|
||||
|
||||
LET cap_sql =
|
||||
"UPDATE adtb00003 SET status_t = 'D', fecha_salida = ?, ",
|
||||
" observacion = LEFT(? + CASE WHEN observacion IS NULL OR LTRIM(observacion) = '' ",
|
||||
" THEN '' ELSE ' | ' + observacion END, 255), ",
|
||||
" us_mod = SUSER_SNAME(), fech_mod = GETDATE() ",
|
||||
"WHERE num_emp = ?"
|
||||
PREPARE p_desv_emp FROM cap_sql
|
||||
EXECUTE p_desv_emp USING desv.fecha_salida, xmotivo, acc_per.num_emp
|
||||
END FUNCTION
|
||||
|
||||
## CARGA LA DESVINCULACION DE UNA ACCION PARA CONSULTA
|
||||
FUNCTION carga_desvinculacion(p_trx)
|
||||
DEFINE p_trx INTEGER
|
||||
|
||||
INITIALIZE desv.* TO NULL
|
||||
LET cap_sql =
|
||||
"SELECT fecha_salida, cod_causa, recontratable, detalle FROM adtb00062 WHERE num_trx = ?"
|
||||
PREPARE p_desv_sel FROM cap_sql
|
||||
EXECUTE p_desv_sel INTO desv.fecha_salida, desv.cod_causa, desv.recontratable, desv.detalle
|
||||
USING p_trx
|
||||
# Las desvinculaciones anteriores a 2026-10-05 no tienen detalle
|
||||
RETURN (desv.cod_causa IS NOT NULL)
|
||||
END FUNCTION
|
||||
|
||||
## ANULA LA DESVINCULACION Y REACTIVA AL EMPLEADO SI NO TIENE OTRA SALIDA VIGENTE
|
||||
FUNCTION anula_desvinculacion(p_trx, p_num_emp)
|
||||
DEFINE p_trx, p_num_emp INTEGER
|
||||
|
||||
LET cap_sql =
|
||||
"UPDATE adtb00062 SET status_t = 'E', us_mod = ?, fech_mod = GETDATE() WHERE num_trx = ?"
|
||||
PREPARE p_desv_anu FROM cap_sql
|
||||
EXECUTE p_desv_anu USING usuarios, p_trx
|
||||
# Acciones anteriores a 2026-10-05 no tienen detalle: no se reactiva al empleado
|
||||
IF sqlca.sqlerrd[3] = 0 THEN
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
LET cap_sql =
|
||||
"UPDATE adtb00003 SET status_t = NULL, fecha_salida = NULL, us_mod = ?, fech_mod = GETDATE() ",
|
||||
"WHERE num_emp = ? AND status_t = 'D' ",
|
||||
" AND NOT EXISTS (SELECT 1 FROM adtb00062 d WHERE d.num_emp = ? AND d.status_t IS NULL)"
|
||||
PREPARE p_desv_react FROM cap_sql
|
||||
EXECUTE p_desv_react USING usuarios, p_num_emp, p_num_emp
|
||||
END FUNCTION
|
||||
|
||||
## VENTANA DE LOS NIVELES DEL LOS EMPLEADOS
|
||||
FUNCTION busca_nivel()
|
||||
OPEN WINDOW busqueda AT 10,10 WITH FORM "adfmwd008"
|
||||
ATTRIBUTE (BORDER,FORM LINE FIRST + 2, comment line last)
|
||||
@@ -2036,8 +2694,13 @@ DEFINE doble_of,doble_on,doble_off,negrillas_on,negrillas_off,comp_on,comp_of,
|
||||
depende,codigo_s,cod_provincia,codigo_n,serie SMALLINT,
|
||||
fecha_nac DATE,
|
||||
provincia,nombre_nac CHAR(30),
|
||||
hoy VARCHAR(25)
|
||||
|
||||
hoy VARCHAR(25),
|
||||
# Bloque de detalle para CAPACITACION / DESVINCULACION (2026-10-05).
|
||||
# es_vac = 1 muestra el bloque de vacaciones del .4rp; 0 muestra el detalle.
|
||||
es_vac SMALLINT,
|
||||
det_tit, det1, det2, det3 VARCHAR(150),
|
||||
xnom_det VARCHAR(100)
|
||||
|
||||
OUTPUT
|
||||
TOP MARGIN 4
|
||||
LEFT MARGIN 0
|
||||
@@ -2085,9 +2748,43 @@ ON EVERY ROW
|
||||
|
||||
SELECT @desc_mto INTO mov_emp.desc_mto
|
||||
FROM adtb00009
|
||||
WHERE @cod_mto = acc_per.cod_mto
|
||||
WHERE @cod_mto = acc_per.cod_mto
|
||||
|
||||
## DETALLE SEGUN EL MOVIMIENTO (CAPACITACION / DESVINCULACION)
|
||||
LET es_vac = 1
|
||||
LET det_tit = NULL LET det1 = NULL LET det2 = NULL LET det3 = NULL
|
||||
IF xtipo = "CAPACITACION REQUERIDA" OR xtipo = "CAPACITACION TOMADA" THEN
|
||||
LET es_vac = 0
|
||||
LET xnom_det = NULL
|
||||
LET cap_sql = "SELECT nom_cap FROM adtb00059 WHERE cod_cap = ?"
|
||||
PREPARE p_imp_cap FROM cap_sql
|
||||
EXECUTE p_imp_cap INTO xnom_det USING capac.cod_cap
|
||||
LET det_tit = xtipo CLIPPED
|
||||
LET det1 = "CAPACITACION: ", xnom_det CLIPPED
|
||||
IF xtipo = "CAPACITACION REQUERIDA" THEN
|
||||
LET det2 = "HORAS REQUERIDAS: ", capac.horas_req USING "<<<&.&&",
|
||||
" FECHA INICIO: ", capac.fecha_ini USING "dd/mm/yyyy"
|
||||
ELSE
|
||||
LET det2 = "HORAS TOMADAS: ", capac.horas_tom USING "<<<&.&&",
|
||||
" DEL ", capac.fecha_ini USING "dd/mm/yyyy",
|
||||
" AL ", capac.fecha_fin USING "dd/mm/yyyy"
|
||||
END IF
|
||||
LET det3 = "INSTITUCION/FACILITADOR: ", capac.institucion CLIPPED,
|
||||
" COSTO: ", capac.costo USING "<<<,<<&.&&"
|
||||
END IF
|
||||
IF es_desvinculacion(xtipo) THEN
|
||||
LET es_vac = 0
|
||||
LET xnom_det = NULL
|
||||
LET cap_sql = "SELECT desc_causa FROM adtb00061 WHERE cod_causa = ?"
|
||||
PREPARE p_imp_desv FROM cap_sql
|
||||
EXECUTE p_imp_desv INTO xnom_det USING desv.cod_causa
|
||||
LET det_tit = "DESVINCULACION"
|
||||
LET det1 = "FECHA DE SALIDA: ", desv.fecha_salida USING "dd/mm/yyyy",
|
||||
" CAUSA: ", xnom_det CLIPPED, " (", clase_causa(desv.cod_causa) CLIPPED, ")"
|
||||
LET det2 = "RECONTRATABLE: ", desv.recontratable
|
||||
LET det3 = "DETALLE: ", desv.detalle CLIPPED
|
||||
END IF
|
||||
|
||||
|
||||
PRINTX acc_per.num_trx,mov_emp.desc_mto,
|
||||
acc_per.fecha ,acc_per.fech_efec,apellido9,nombre9 ,
|
||||
direccion,dias2,
|
||||
@@ -2107,5 +2804,6 @@ ON EVERY ROW
|
||||
nombre_dpto,
|
||||
acc_per.cod_mto ,
|
||||
mov_emp.desc_mto,
|
||||
acc_per.observacion,vacacion.*,p_companias.nombre,hoy,descrip3,descrip4,descrip5
|
||||
acc_per.observacion,vacacion.*,p_companias.nombre,hoy,descrip3,descrip4,descrip5,
|
||||
es_vac,det_tit,det1,det2,det3
|
||||
END REPORT
|
||||
|
||||
@@ -0,0 +1,110 @@
|
||||
/* ------------------------------------------------------------------
|
||||
ADPRMT017 - Accion de Personal: movimientos de CAPACITACION
|
||||
Fecha : 2026-10-05
|
||||
Crea : adtb00059 (catalogo de capacitaciones)
|
||||
adtb00060 (capacitacion por empleado: requerida / tomada)
|
||||
movimientos en adtb00009
|
||||
vista vw_capacitacion_empleado (requeridas vs tomadas)
|
||||
Correr en: marmotech (probar primero en .40.9)
|
||||
Idempotente: se puede correr mas de una vez.
|
||||
------------------------------------------------------------------- */
|
||||
SET NOCOUNT ON;
|
||||
|
||||
/* 1. Catalogo de capacitaciones */
|
||||
IF OBJECT_ID('dbo.adtb00059') IS NULL
|
||||
BEGIN
|
||||
CREATE TABLE dbo.adtb00059 (
|
||||
cod_cap INT IDENTITY(1,1) NOT NULL CONSTRAINT pk_adtb00059 PRIMARY KEY,
|
||||
nom_cap VARCHAR(100) NOT NULL,
|
||||
evento SMALLINT NULL, -- 1 Seminario 2 Curso 3 Taller 4 Conferencia (igual que adtb00022)
|
||||
horas DECIMAL(6,2) NULL, -- horas estandar del curso
|
||||
status_t CHAR(1) NULL,
|
||||
us_crea VARCHAR(50) NULL,
|
||||
fech_crea DATETIME NULL,
|
||||
us_mod VARCHAR(50) NULL,
|
||||
fech_mod DATETIME NULL
|
||||
);
|
||||
CREATE UNIQUE INDEX ux_adtb00059_nom ON dbo.adtb00059(nom_cap) WHERE status_t IS NULL;
|
||||
END
|
||||
GO
|
||||
|
||||
/* 2. Capacitacion por empleado
|
||||
tipo_reg 'R' = requerida (plan), 'T' = tomada (ejecutada)
|
||||
Una 'T' puede referenciar la 'R' que cubre (id_requerida). */
|
||||
IF OBJECT_ID('dbo.adtb00060') IS NULL
|
||||
BEGIN
|
||||
CREATE TABLE dbo.adtb00060 (
|
||||
id_cap INT IDENTITY(1,1) NOT NULL CONSTRAINT pk_adtb00060 PRIMARY KEY,
|
||||
num_trx INT NOT NULL, -- adtb00020.num_trx
|
||||
num_emp INT NOT NULL,
|
||||
tipo_reg CHAR(1) NOT NULL CONSTRAINT ck_adtb00060_tipo CHECK (tipo_reg IN ('R','T')),
|
||||
cod_cap INT NOT NULL CONSTRAINT fk_adtb00060_cap REFERENCES dbo.adtb00059(cod_cap),
|
||||
id_requerida INT NULL CONSTRAINT fk_adtb00060_req REFERENCES dbo.adtb00060(id_cap),
|
||||
horas_req DECIMAL(6,2) NULL,
|
||||
horas_tom DECIMAL(6,2) NULL,
|
||||
fecha_ini DATE NULL,
|
||||
fecha_fin DATE NULL,
|
||||
institucion VARCHAR(100) NULL,
|
||||
costo DECIMAL(12,2) NULL,
|
||||
status_t CHAR(1) NULL, -- 'E' = anulado (junto con la accion)
|
||||
us_crea VARCHAR(50) NULL,
|
||||
fech_crea DATETIME NULL,
|
||||
us_mod VARCHAR(50) NULL,
|
||||
fech_mod DATETIME NULL
|
||||
);
|
||||
CREATE INDEX ix_adtb00060_emp ON dbo.adtb00060(num_emp, tipo_reg) INCLUDE (cod_cap, horas_req, horas_tom, status_t);
|
||||
CREATE INDEX ix_adtb00060_trx ON dbo.adtb00060(num_trx);
|
||||
CREATE INDEX ix_adtb00060_req ON dbo.adtb00060(id_requerida);
|
||||
END
|
||||
GO
|
||||
|
||||
/* 3. Movimientos de accion de personal */
|
||||
IF NOT EXISTS (SELECT 1 FROM dbo.adtb00009 WHERE tipo_mov = 'CAPACITACION REQUERIDA')
|
||||
INSERT INTO dbo.adtb00009 (cod_mto, desc_mto, tipo_mov, status_t, us_crea, fech_crea)
|
||||
SELECT ISNULL(MAX(cod_mto),0) + 1, 'CAPACITACION REQUERIDA', 'CAPACITACION REQUERIDA', NULL, SUSER_SNAME(), GETDATE()
|
||||
FROM dbo.adtb00009;
|
||||
|
||||
IF NOT EXISTS (SELECT 1 FROM dbo.adtb00009 WHERE tipo_mov = 'CAPACITACION TOMADA')
|
||||
INSERT INTO dbo.adtb00009 (cod_mto, desc_mto, tipo_mov, status_t, us_crea, fech_crea)
|
||||
SELECT ISNULL(MAX(cod_mto),0) + 1, 'CAPACITACION TOMADA', 'CAPACITACION TOMADA', NULL, SUSER_SNAME(), GETDATE()
|
||||
FROM dbo.adtb00009;
|
||||
GO
|
||||
|
||||
/* 4. Vista: por empleado, cada capacitacion requerida con lo tomado debajo.
|
||||
Las tomadas sin requerida asociada salen con tipo 'T' y horas_req 0. */
|
||||
IF OBJECT_ID('dbo.vw_capacitacion_empleado') IS NOT NULL
|
||||
DROP VIEW dbo.vw_capacitacion_empleado;
|
||||
GO
|
||||
CREATE VIEW dbo.vw_capacitacion_empleado AS
|
||||
SELECT e.num_emp,
|
||||
RTRIM(e.nom1_emp) + ' ' + RTRIM(e.apell1_emp) AS empleado,
|
||||
e.departamento,
|
||||
d.nom_dpto,
|
||||
r.tipo_reg,
|
||||
r.id_cap,
|
||||
c.cod_cap,
|
||||
c.nom_cap,
|
||||
c.evento,
|
||||
CASE c.evento WHEN 1 THEN 'SEMINARIO' WHEN 2 THEN 'CURSO'
|
||||
WHEN 3 THEN 'TALLER' WHEN 4 THEN 'CONFERENCIA' END AS tipo_evento,
|
||||
CASE WHEN r.tipo_reg = 'R' THEN ISNULL(r.horas_req,0) ELSE 0 END AS horas_requeridas,
|
||||
CASE WHEN r.tipo_reg = 'R'
|
||||
THEN ISNULL((SELECT SUM(t.horas_tom) FROM dbo.adtb00060 t
|
||||
WHERE t.id_requerida = r.id_cap AND t.status_t IS NULL),0)
|
||||
ELSE ISNULL(r.horas_tom,0) END AS horas_tomadas,
|
||||
CASE WHEN r.tipo_reg = 'R'
|
||||
THEN ISNULL(r.horas_req,0) - ISNULL((SELECT SUM(t.horas_tom) FROM dbo.adtb00060 t
|
||||
WHERE t.id_requerida = r.id_cap AND t.status_t IS NULL),0)
|
||||
ELSE 0 END AS horas_pendientes,
|
||||
r.fecha_ini,
|
||||
r.fecha_fin,
|
||||
r.institucion,
|
||||
r.costo,
|
||||
r.num_trx
|
||||
FROM dbo.adtb00060 r
|
||||
JOIN dbo.adtb00059 c ON c.cod_cap = r.cod_cap
|
||||
JOIN dbo.adtb00003 e ON e.num_emp = r.num_emp
|
||||
LEFT JOIN dbo.adtb00001 d ON d.departamento = e.departamento
|
||||
WHERE r.status_t IS NULL
|
||||
AND (r.tipo_reg = 'R' OR r.id_requerida IS NULL);
|
||||
GO
|
||||
@@ -0,0 +1,34 @@
|
||||
# ADPRMT017 – Movimientos de Capacitación (2026-10-05)
|
||||
|
||||
Pedido de RRHH: indicador **Horas de Capacitación**. Por cada colaborador se registran las capacitaciones **requeridas** con sus horas y luego las **tomadas**, que cubren a las requeridas.
|
||||
|
||||
## Backup
|
||||
`addir\backup_adprmt017_20261005\` contiene adprmt017.4gl, .rdd, adfmmt017.4fd/.per y los binarios que estaban en `addir\bin` y `PROYECTO\bin`.
|
||||
Para volver atrás: copiar `adprmt017.4gl` del backup sobre el actual, recompilar y desplegar. Las tablas nuevas no afectan a nadie si no se usan.
|
||||
|
||||
## Qué se agregó
|
||||
| Pieza | Detalle |
|
||||
|---|---|
|
||||
| `adtb00009` | 2 movimientos nuevos: `CAPACITACION REQUERIDA`, `CAPACITACION TOMADA` (cod_mto = MAX+1) |
|
||||
| `adtb00059` | Catálogo de capacitaciones: nombre, tipo de evento (1 Seminario, 2 Curso, 3 Taller, 4 Conferencia, igual que adtb00022) y horas estándar |
|
||||
| `adtb00060` | Detalle por empleado, ligado a `adtb00020.num_trx`. `tipo_reg` R/T; una T apunta a la R que cubre (`id_requerida`) |
|
||||
| `vw_capacitacion_empleado` | Por empleado: requeridas con sus horas tomadas y pendientes, más las tomadas que no tienen requerida (para BI y Excel) |
|
||||
| `adfmwd017.per` | Ventana nueva de capacitación. Se abre igual que la de vacaciones, después del puesto |
|
||||
| `adprmt017.4gl` | Captura (`capacitacion('A')`), consulta (`'C'`), grabado dentro de la misma transacción y anulación junto con la acción |
|
||||
|
||||
## Flujo
|
||||
1. **Nuevo**, elegir el movimiento *CAPACITACION REQUERIDA* y la ficha. Se abre la ventana: escoger la capacitación del catálogo (o usar el botón **Nuevo curso**). Las horas se toman del catálogo y se pueden editar.
|
||||
2. Cuando la persona toma el curso: **Nuevo**, elegir *CAPACITACION TOMADA* y en **Requerida a cubrir** escoger la pendiente. Se llena el curso y las horas pendientes; luego se ponen las fechas, las horas reales, la institución y el costo.
|
||||
3. El recuadro **Resumen del empleado** muestra el total de horas requeridas, tomadas y pendientes.
|
||||
4. **eLiminar** (anular) la acción también anula su detalle de capacitación.
|
||||
|
||||
## Despliegue (pendiente)
|
||||
1. Correr `adprmt017_capacitacion.sql` en marmotech (la sintaxis se validó en .40.8 con NOEXEC; no se ejecutó nada).
|
||||
2. Compilar la forma y el programa. Ambos compilan limpio en 3.20.14 y en fgl602:
|
||||
`fglform adfmwd017.per` → `adfmwd017.42f`; `fglcomp adprmt017.4gl` → `adprmt017.42m`.
|
||||
3. Copiar `adprmt017.42m` y `adfmwd017.42f` a `PROYECTO\bin`.
|
||||
4. No hace falta tocar `adfmmt017.4fd` ni regenerar smarmotech.sch: las tablas nuevas se usan con SQL dinámico.
|
||||
|
||||
## Notas
|
||||
- **adprmt019 (Adiestramientos)** no se tocó. Usa `adtb00022`, que solo tiene 2 registros, no guarda horas ni distingue requerida de tomada, y tiene **usuario y clave en claro** en el MAIN (`kpolanco`). Además las acciones del menú están cruzadas: *nuevo* llama a la búsqueda y *buscar* llama a la captura. Se puede retirar o migrar después.
|
||||
- Para **Rotación**: el movimiento 4 DESVINCULAR tiene `tipo_mov = 'CANCELAR'`, pero adprmt017 marca `status_t='T'` solo si es `'TERMINO'`. Por eso las desvinculaciones no marcan al empleado como terminado y además no guardan la causa. Hay que revisarlo antes de automatizar la rotación.
|
||||
@@ -0,0 +1,139 @@
|
||||
/* ------------------------------------------------------------------
|
||||
ADPRMT017 - Accion de Personal: DESVINCULAR (indicador de Rotacion)
|
||||
Fecha : 2026-10-05
|
||||
Crea : adtb00061 (catalogo de causas de salida)
|
||||
adtb00062 (detalle de desvinculacion por accion)
|
||||
vista vw_rotacion_mensual
|
||||
La desactivacion (adtb00003.status_t = 'D') pasa a hacerse SOLO por
|
||||
la accion de personal; noprmt016 ya no desactiva.
|
||||
Idempotente.
|
||||
------------------------------------------------------------------- */
|
||||
SET NOCOUNT ON;
|
||||
|
||||
/* 1. Catalogo de causas
|
||||
clase: V = voluntaria, I = involuntaria, O = otra
|
||||
cuenta_rotacion: 'N' para traslados dentro del grupo (no es salida real) */
|
||||
IF OBJECT_ID('dbo.adtb00061') IS NULL
|
||||
BEGIN
|
||||
CREATE TABLE dbo.adtb00061 (
|
||||
cod_causa SMALLINT NOT NULL CONSTRAINT pk_adtb00061 PRIMARY KEY,
|
||||
desc_causa VARCHAR(60) NOT NULL,
|
||||
clase CHAR(1) NOT NULL CONSTRAINT ck_adtb00061_clase CHECK (clase IN ('V','I','O')),
|
||||
cuenta_rotacion CHAR(1) NOT NULL CONSTRAINT df_adtb00061_cuenta DEFAULT 'S',
|
||||
status_t CHAR(1) NULL,
|
||||
us_crea VARCHAR(50) NULL,
|
||||
fech_crea DATETIME NULL
|
||||
);
|
||||
|
||||
INSERT INTO dbo.adtb00061 (cod_causa, desc_causa, clase, cuenta_rotacion, us_crea, fech_crea) VALUES
|
||||
( 1, 'RENUNCIA', 'V', 'S', SUSER_SNAME(), GETDATE()),
|
||||
( 2, 'ABANDONO DE TRABAJO', 'V', 'S', SUSER_SNAME(), GETDATE()),
|
||||
( 3, 'DIMISION', 'V', 'S', SUSER_SNAME(), GETDATE()),
|
||||
( 4, 'DESAHUCIO', 'I', 'S', SUSER_SNAME(), GETDATE()),
|
||||
( 5, 'DESPIDO', 'I', 'S', SUSER_SNAME(), GETDATE()),
|
||||
( 6, 'CIERRE DE OPERACION / MINA', 'I', 'S', SUSER_SNAME(), GETDATE()),
|
||||
( 7, 'FIN DE CONTRATO / TEMPORADA', 'I', 'S', SUSER_SNAME(), GETDATE()),
|
||||
( 8, 'NO SUPERO PERIODO DE PRUEBA', 'I', 'S', SUSER_SNAME(), GETDATE()),
|
||||
( 9, 'MUTUO ACUERDO', 'O', 'S', SUSER_SNAME(), GETDATE()),
|
||||
(10, 'PENSION / RETIRO', 'O', 'S', SUSER_SNAME(), GETDATE()),
|
||||
(11, 'FALLECIMIENTO', 'O', 'S', SUSER_SNAME(), GETDATE()),
|
||||
(12, 'TRASLADO A OTRA EMPRESA DEL GRUPO', 'O', 'N', SUSER_SNAME(), GETDATE()),
|
||||
(99, 'OTRA', 'O', 'S', SUSER_SNAME(), GETDATE());
|
||||
END
|
||||
GO
|
||||
|
||||
/* 2. Detalle de desvinculacion (una fila por accion DESVINCULAR) */
|
||||
IF OBJECT_ID('dbo.adtb00062') IS NULL
|
||||
BEGIN
|
||||
CREATE TABLE dbo.adtb00062 (
|
||||
id_desv INT IDENTITY(1,1) NOT NULL CONSTRAINT pk_adtb00062 PRIMARY KEY,
|
||||
num_trx INT NULL, -- adtb00020.num_trx (NULL = historico)
|
||||
num_emp INT NOT NULL,
|
||||
fecha_salida DATE NOT NULL,
|
||||
cod_causa SMALLINT NOT NULL CONSTRAINT fk_adtb00062_causa REFERENCES dbo.adtb00061(cod_causa),
|
||||
recontratable CHAR(1) NULL, -- S / N
|
||||
detalle VARCHAR(200) NULL,
|
||||
departamento SMALLINT NULL, -- foto al momento de la salida
|
||||
cod_puesto SMALLINT NULL,
|
||||
tipo_empleado VARCHAR(20) NULL, -- NORMAL / TEMPORERO
|
||||
fech_ingreso DATE NULL,
|
||||
origen CHAR(1) NOT NULL CONSTRAINT df_adtb00062_origen DEFAULT 'A', -- A accion, H historico
|
||||
status_t CHAR(1) NULL, -- 'E' anulada
|
||||
us_crea VARCHAR(50) NULL,
|
||||
fech_crea DATETIME NULL,
|
||||
us_mod VARCHAR(50) NULL,
|
||||
fech_mod DATETIME NULL
|
||||
);
|
||||
CREATE INDEX ix_adtb00062_fecha ON dbo.adtb00062(fecha_salida) INCLUDE (num_emp, cod_causa, departamento, tipo_empleado, status_t);
|
||||
CREATE INDEX ix_adtb00062_emp ON dbo.adtb00062(num_emp);
|
||||
CREATE INDEX ix_adtb00062_trx ON dbo.adtb00062(num_trx);
|
||||
END
|
||||
GO
|
||||
|
||||
/* 3. El movimiento 4 DESVINCULAR queda con tipo_mov 'CANCELAR'
|
||||
(adprmt017 reconoce CANCELAR, DESVINCULAR y TERMINO). No se cambia. */
|
||||
|
||||
/* 4. Rotacion mensual por departamento y tipo de empleado.
|
||||
salidas_rotacion excluye causas con cuenta_rotacion = 'N'.
|
||||
Plantilla = empleados con ingreso <= inicio de mes y sin salida antes del inicio. */
|
||||
IF OBJECT_ID('dbo.vw_rotacion_mensual') IS NOT NULL
|
||||
DROP VIEW dbo.vw_rotacion_mensual;
|
||||
GO
|
||||
CREATE VIEW dbo.vw_rotacion_mensual AS
|
||||
WITH meses AS (
|
||||
SELECT CAST('2022-01-01' AS DATE) AS ini
|
||||
UNION ALL
|
||||
SELECT DATEADD(MONTH, 1, ini) FROM meses WHERE ini < DATEADD(MONTH, -1, CAST(GETDATE() AS DATE))
|
||||
),
|
||||
emp AS (
|
||||
SELECT a.num_emp, a.departamento, ISNULL(a.tipo_empleado,'NORMAL') AS tipo_empleado,
|
||||
a.fech_efec, a.fecha_salida
|
||||
FROM dbo.adtb00003 a
|
||||
WHERE a.num_emp >= 39 -- fichas < 39 no son empleados reales
|
||||
AND (a.status_t IS NULL OR a.status_t = 'D')
|
||||
),
|
||||
sal AS (
|
||||
SELECT d.num_emp, d.fecha_salida, d.departamento, ISNULL(d.tipo_empleado,'NORMAL') AS tipo_empleado,
|
||||
c.clase, c.cuenta_rotacion
|
||||
FROM dbo.adtb00062 d JOIN dbo.adtb00061 c ON c.cod_causa = d.cod_causa
|
||||
WHERE d.status_t IS NULL
|
||||
)
|
||||
SELECT m.ini AS mes,
|
||||
YEAR(m.ini) AS anio,
|
||||
MONTH(m.ini) AS mes_num,
|
||||
g.departamento,
|
||||
dp.nom_dpto,
|
||||
g.tipo_empleado,
|
||||
g.plantilla_inicio,
|
||||
ISNULL(i.ingresos,0) AS ingresos,
|
||||
ISNULL(s.salidas,0) AS salidas,
|
||||
ISNULL(s.salidas_rotacion,0) AS salidas_rotacion,
|
||||
ISNULL(s.voluntarias,0) AS voluntarias,
|
||||
ISNULL(s.involuntarias,0) AS involuntarias,
|
||||
ISNULL(s.otras,0) AS otras,
|
||||
CASE WHEN g.plantilla_inicio > 0
|
||||
THEN CAST(100.0 * ISNULL(s.salidas_rotacion,0) / g.plantilla_inicio AS DECIMAL(6,2)) END AS rotacion_pct
|
||||
FROM meses m
|
||||
CROSS APPLY (
|
||||
SELECT e.departamento, e.tipo_empleado, COUNT(*) AS plantilla_inicio
|
||||
FROM emp e
|
||||
WHERE e.fech_efec <= m.ini AND (e.fecha_salida IS NULL OR e.fecha_salida >= m.ini)
|
||||
GROUP BY e.departamento, e.tipo_empleado
|
||||
) g
|
||||
OUTER APPLY (
|
||||
SELECT COUNT(*) AS ingresos FROM emp e
|
||||
WHERE e.departamento = g.departamento AND e.tipo_empleado = g.tipo_empleado
|
||||
AND e.fech_efec >= m.ini AND e.fech_efec < DATEADD(MONTH,1,m.ini)
|
||||
) i
|
||||
OUTER APPLY (
|
||||
SELECT COUNT(*) AS salidas,
|
||||
SUM(CASE WHEN x.cuenta_rotacion = 'S' THEN 1 ELSE 0 END) AS salidas_rotacion,
|
||||
SUM(CASE WHEN x.clase = 'V' THEN 1 ELSE 0 END) AS voluntarias,
|
||||
SUM(CASE WHEN x.clase = 'I' THEN 1 ELSE 0 END) AS involuntarias,
|
||||
SUM(CASE WHEN x.clase = 'O' THEN 1 ELSE 0 END) AS otras
|
||||
FROM sal x
|
||||
WHERE x.departamento = g.departamento AND x.tipo_empleado = g.tipo_empleado
|
||||
AND x.fecha_salida >= m.ini AND x.fecha_salida < DATEADD(MONTH,1,m.ini)
|
||||
) s
|
||||
LEFT JOIN dbo.adtb00001 dp ON dp.departamento = g.departamento;
|
||||
GO
|
||||
@@ -0,0 +1,34 @@
|
||||
# ADPRMT017 – Desvinculación por Acción de Personal (2026-10-05)
|
||||
|
||||
Objetivo: el indicador de **Rotación** (mes a mes y por causa). La desactivación del empleado ahora se hace **solo** por la acción de personal.
|
||||
|
||||
## Antes
|
||||
- **noprmt016** ("Activar/Desactivar") ponía `adtb00003.status_t = 'D'` sin fecha ni causa.
|
||||
- En **noprmt003** RRHH escribía a mano la `fecha_salida` y el motivo en `observacion` (texto libre: "DESAHUCIO", "RENUNCIA 30/03/2026"...).
|
||||
- En adprmt017 el movimiento 4 DESVINCULAR (`tipo_mov = 'CANCELAR'`) solo grababa `adtb00020`. El código esperaba `'TERMINO'`, que no existe, y además ese bloque estaba fuera de la transacción.
|
||||
|
||||
## Ahora
|
||||
| Programa | Cambio |
|
||||
|---|---|
|
||||
| adprmt017 | DESVINCULAR (tipo CANCELAR, DESVINCULAR o TERMINO) abre la ventana `adfmwd018`: fecha de salida, causa (catálogo), si es recontratable y un detalle. Dentro de la misma transacción: inserta en `adtb00062` y actualiza `adtb00003` (`status_t='D'`, `fecha_salida`, y el motivo al **inicio** de `observacion`, conservando lo que ya había detrás). Si el empleado ya está en D, no deja continuar. |
|
||||
| adprmt017 (eLiminar) | Anular una desvinculación nueva anula `adtb00062` y **reactiva** al empleado (status NULL, fecha_salida NULL) si no tiene otra salida vigente. Las acciones viejas, sin detalle, no reactivan a nadie. |
|
||||
| noprmt016 | Se quitó la opción **Desactivar**. Se dejó **Activar** (para reingresos). |
|
||||
| noprmt003 | `fecha_salida` salió de las 2 UPDATE activas y en `nofmmt003.4fd` quedó `noEntry` (compilar en GST). `observacion` sigue editable. |
|
||||
|
||||
## Tablas y vista (ya creadas en .40.8 / marmotech)
|
||||
- `adtb00061` causas: 1 Renuncia, 2 Abandono, 3 Dimisión (V); 4 Desahucio, 5 Despido, 6 Cierre de operación, 7 Fin de contrato/temporada, 8 No superó prueba (I); 9 Mutuo acuerdo, 10 Pensión, 11 Fallecimiento, 12 Traslado dentro del grupo (`cuenta_rotacion = 'N'`), 99 Otra (O).
|
||||
- `adtb00062` detalle: guarda una foto del departamento, el puesto, `tipo_empleado` (NORMAL/TEMPORERO) y la fecha de ingreso al momento de la salida.
|
||||
- `vw_rotacion_mensual`: por mes, departamento y tipo de empleado: plantilla al inicio, ingresos, salidas, salidas que cuentan para rotación, voluntarias, involuntarias, otras y % de rotación. Usa un CTE recursivo desde 2022, que llega al límite de 100 meses en 2030.
|
||||
|
||||
## Histórico (pendiente de aprobación)
|
||||
`adprmt017_desvinculacion_historico.sql` clasifica las salidas desde 2022 leyendo `observacion`. Vista previa (con rollback): 686 salidas → Desahucio 342, Renuncia 127, Abandono 31, Cierre 8, Fallecimiento 7, Traslado 3, Fin de contrato 2, Prueba 1, Pensión 1, **Otra 164** (sin texto o sin causa reconocible). Para deshacer: `DELETE FROM adtb00062 WHERE origen='H'`.
|
||||
|
||||
## Temporeros
|
||||
Solo 2 empleados tienen `tipo_empleado = 'TEMPORERO'`. Para medir la entrada y salida de temporeros, RRHH tiene que marcarlos en la maestra (noprmt003). La vista ya los separa.
|
||||
|
||||
## Backups
|
||||
- `addir\backup_adprmt017_20261005\`: original y `adprmt017_con_capacitacion.4gl`, que es la versión intermedia.
|
||||
- `nodir\backup_noprmt003_016_20261005\`: noprmt003, noprmt016, sus formas y binarios.
|
||||
|
||||
## Despliegue
|
||||
Copiar a `PROYECTO\bin` (todo compilado con 3.20): `adprmt017.42m`, `adfmwd017.42f`, `adfmwd018.42f`, `noprmt003.42m`, `noprmt016.42m`, y el `nofmmt003.42f` que se genere en GST.
|
||||
@@ -0,0 +1,44 @@
|
||||
/* ------------------------------------------------------------------
|
||||
Carga historica de salidas (2022 en adelante) en adtb00062
|
||||
desde adtb00003 (status_t = 'D' + fecha_salida + observacion libre).
|
||||
origen = 'H'. Para deshacer: DELETE FROM adtb00062 WHERE origen = 'H'
|
||||
Correr DESPUES de adprmt017_desvinculacion.sql. Idempotente.
|
||||
------------------------------------------------------------------- */
|
||||
SET NOCOUNT ON;
|
||||
|
||||
;WITH h AS (
|
||||
SELECT a.num_emp, a.fecha_salida, a.departamento, a.cod_puesto,
|
||||
ISNULL(a.tipo_empleado,'NORMAL') AS tipo_empleado, a.fech_efec,
|
||||
UPPER(ISNULL(a.observacion,'')) AS obs
|
||||
FROM dbo.adtb00003 a
|
||||
WHERE a.status_t = 'D'
|
||||
AND a.fecha_salida >= '2022-01-01'
|
||||
AND a.num_emp >= 39
|
||||
AND NOT EXISTS (SELECT 1 FROM dbo.adtb00062 d WHERE d.num_emp = a.num_emp AND d.fecha_salida = a.fecha_salida)
|
||||
)
|
||||
INSERT INTO dbo.adtb00062 (num_trx, num_emp, fecha_salida, cod_causa, recontratable, detalle,
|
||||
departamento, cod_puesto, tipo_empleado, fech_ingreso, origen, us_crea, fech_crea)
|
||||
SELECT NULL, h.num_emp, h.fecha_salida,
|
||||
CASE WHEN h.obs LIKE '%CAMBIO DE EMPRESA%' OR h.obs LIKE '%CAMBIO A ORDEL%'
|
||||
OR h.obs LIKE '%CAMBIO A CARIBBEAN%' OR h.obs LIKE '%TRASLAD%' THEN 12
|
||||
WHEN h.obs LIKE '%CIERRE%' THEN 6
|
||||
WHEN h.obs LIKE '%DESAHUCIO%' THEN 4
|
||||
WHEN h.obs LIKE '%DESPID%' THEN 5
|
||||
WHEN h.obs LIKE '%RENUNCIA%' THEN 1
|
||||
WHEN h.obs LIKE '%ABANDONO%' THEN 2
|
||||
WHEN h.obs LIKE '%DIMISION%' THEN 3
|
||||
WHEN h.obs LIKE '%3 MESES%' OR h.obs LIKE '%PRUEBA%' THEN 8
|
||||
WHEN h.obs LIKE '%FIN DE CONTRATO%' OR h.obs LIKE '%TEMPORADA%' THEN 7
|
||||
WHEN h.obs LIKE '%MUTUO%' THEN 9
|
||||
WHEN h.obs LIKE '%PENSION%' OR h.obs LIKE '%RETIRO%' THEN 10
|
||||
WHEN h.obs LIKE '%FALLEC%' THEN 11
|
||||
ELSE 99 END,
|
||||
CASE WHEN h.obs LIKE '%NO REINGRESO%' OR h.obs LIKE '%NO RECONTRAT%' THEN 'N' END,
|
||||
LEFT(NULLIF(LTRIM(RTRIM(h.obs)),''), 200),
|
||||
h.departamento, h.cod_puesto, h.tipo_empleado, h.fech_efec, 'H', SUSER_SNAME(), GETDATE()
|
||||
FROM h;
|
||||
|
||||
SELECT c.desc_causa, COUNT(*) n
|
||||
FROM dbo.adtb00062 d JOIN dbo.adtb00061 c ON c.cod_causa = d.cod_causa
|
||||
WHERE d.origen = 'H'
|
||||
GROUP BY c.desc_causa ORDER BY 2 DESC;
|
||||
@@ -0,0 +1,276 @@
|
||||
{
|
||||
-------------------------------------------------------------------------------
|
||||
PROGRAMA : ADPRRP048
|
||||
OBJETIVO : Horas de capacitacion por colaborador (indicador RRHH).
|
||||
Por colaborador: cada capacitacion REQUERIDA con sus
|
||||
horas y, debajo, las TOMADAS que la cubren; luego las
|
||||
tomadas no planificadas. Totales por colaborador y
|
||||
generales con % de cumplimiento.
|
||||
Datos: adtb00060 (detalle) / adtb00059 (catalogo),
|
||||
registrados por ADPRMT017 (Accion de Personal).
|
||||
FECHA REALIZACION : Octubre 05, 2026
|
||||
-------------------------------------------------------------------------------
|
||||
}
|
||||
GLOBALS "adprgb000.4gl"
|
||||
|
||||
DEFINE p RECORD
|
||||
fecha_ini DATE,
|
||||
fecha_fin DATE,
|
||||
departamento SMALLINT,
|
||||
num_emp INTEGER,
|
||||
solo_pend CHAR(1)
|
||||
END RECORD
|
||||
DEFINE filtros VARCHAR(200)
|
||||
|
||||
MAIN
|
||||
DEFER INTERRUPT
|
||||
CALL ARG_VAL(1) RETURNING usuarios
|
||||
CALL ARG_VAL(2) RETURNING clave
|
||||
CALL ARG_VAL(3) RETURNING impresor
|
||||
|
||||
CONNECT TO "smarmotech" USER usuarios USING clave
|
||||
SELECT a.* INTO p_companias.* FROM companias a
|
||||
CALL adprrp048()
|
||||
END MAIN
|
||||
|
||||
FUNCTION adprrp048()
|
||||
DEFINE x RECORD
|
||||
num_emp INTEGER,
|
||||
empleado VARCHAR(60),
|
||||
nom_dpto VARCHAR(40),
|
||||
nom_puesto VARCHAR(40),
|
||||
fila VARCHAR(20),
|
||||
nom_cap VARCHAR(100),
|
||||
tipo_evento VARCHAR(15),
|
||||
fecha_ini DATE,
|
||||
fecha_fin DATE,
|
||||
h_req DECIMAL(8,2),
|
||||
h_tom DECIMAL(8,2),
|
||||
h_pend DECIMAL(8,2),
|
||||
h_tom_t DECIMAL(8,2),
|
||||
institucion VARCHAR(100)
|
||||
END RECORD
|
||||
DEFINE cb ui.ComboBox,
|
||||
xdep SMALLINT,
|
||||
xnom VARCHAR(40),
|
||||
nfilas INTEGER
|
||||
|
||||
OPTIONS
|
||||
FORM LINE 8,
|
||||
ERROR LINE 23,
|
||||
COMMENT LINE 21
|
||||
|
||||
OPEN FORM adfmrp048 FROM "adfmrp048"
|
||||
DISPLAY FORM adfmrp048
|
||||
|
||||
LET cb = ui.ComboBox.forName("formonly.departamento")
|
||||
CALL cb.clear()
|
||||
CALL cb.addItem(0, "TODOS")
|
||||
DECLARE c_dep48 CURSOR FOR
|
||||
SELECT a.departamento, a.nom_dpto FROM adtb00001 a
|
||||
WHERE a.status_t IS NULL ORDER BY a.nom_dpto
|
||||
FOREACH c_dep48 INTO xdep, xnom
|
||||
CALL cb.addItem(xdep, xnom CLIPPED)
|
||||
END FOREACH
|
||||
|
||||
LET p.fecha_ini = MDY(1, 1, YEAR(TODAY))
|
||||
LET p.fecha_fin = MDY(12, 31, YEAR(TODAY))
|
||||
LET p.departamento = 0
|
||||
LET p.num_emp = NULL -- variable de modulo: arranca en 0, no en NULL
|
||||
LET p.solo_pend = "N"
|
||||
|
||||
INPUT BY NAME p.* WITHOUT DEFAULTS ATTRIBUTE(UNBUFFERED)
|
||||
AFTER INPUT
|
||||
IF int_flag THEN
|
||||
EXIT INPUT
|
||||
END IF
|
||||
IF p.fecha_ini IS NULL OR p.fecha_fin IS NULL OR p.fecha_fin < p.fecha_ini THEN
|
||||
CALL fgl_winmessage("INFO","REVISE EL RANGO DE FECHAS","info")
|
||||
NEXT FIELD fecha_ini
|
||||
END IF
|
||||
END INPUT
|
||||
IF int_flag THEN
|
||||
LET int_flag = FALSE
|
||||
CALL msg(2)
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
----------------------------------------------------------------------
|
||||
-- Filas: R (requerida, con lo tomado acumulado), T ligada (debajo de su
|
||||
-- requerida) y T no planificada (al final). El rango de fechas se mide
|
||||
-- sobre la fecha de inicio de la requerida (o de la tomada si no tiene).
|
||||
----------------------------------------------------------------------
|
||||
LET selec =
|
||||
"SELECT e.num_emp, ",
|
||||
" RTRIM(e.nom1_emp)+' '+RTRIM(e.apell1_emp)+ISNULL(' '+RTRIM(e.apell2_emp),''), ",
|
||||
" ISNULL(d.nom_dpto,''), ISNULL(pu.nom_puesto,''), ",
|
||||
" CASE WHEN r.tipo_reg = 'R' THEN 'REQUERIDA' ",
|
||||
" WHEN r.id_requerida IS NOT NULL THEN ' TOMADA' ",
|
||||
" ELSE 'NO PLANIFICADA' END, ",
|
||||
" c.nom_cap, ",
|
||||
" CASE c.evento WHEN 1 THEN 'SEMINARIO' WHEN 2 THEN 'CURSO' ",
|
||||
" WHEN 3 THEN 'TALLER' WHEN 4 THEN 'CONFERENCIA' ELSE '' END, ",
|
||||
" r.fecha_ini, r.fecha_fin, ",
|
||||
" CASE WHEN r.tipo_reg = 'R' THEN ISNULL(r.horas_req,0) END, ",
|
||||
" CASE WHEN r.tipo_reg = 'R' THEN ISNULL(t.tom,0) ELSE ISNULL(r.horas_tom,0) END, ",
|
||||
" CASE WHEN r.tipo_reg = 'R' THEN ",
|
||||
" CASE WHEN ISNULL(r.horas_req,0) - ISNULL(t.tom,0) > 0 ",
|
||||
" THEN ISNULL(r.horas_req,0) - ISNULL(t.tom,0) ELSE 0 END END, ",
|
||||
" CASE WHEN r.tipo_reg = 'T' THEN ISNULL(r.horas_tom,0) ELSE 0 END, ",
|
||||
" ISNULL(r.institucion,'') ",
|
||||
"FROM adtb00060 r ",
|
||||
" JOIN adtb00059 c ON c.cod_cap = r.cod_cap ",
|
||||
" JOIN adtb00003 e ON e.num_emp = r.num_emp ",
|
||||
" LEFT JOIN adtb00001 d ON d.departamento = e.departamento ",
|
||||
" LEFT JOIN adtb00004 pu ON pu.cod_puesto = e.cod_puesto ",
|
||||
" LEFT JOIN adtb00060 q ON q.id_cap = r.id_requerida ",
|
||||
" LEFT JOIN (SELECT id_requerida, SUM(horas_tom) tom FROM adtb00060 ",
|
||||
" WHERE tipo_reg = 'T' AND status_t IS NULL AND id_requerida IS NOT NULL ",
|
||||
" GROUP BY id_requerida) t ON t.id_requerida = r.id_cap ",
|
||||
"WHERE r.status_t IS NULL ",
|
||||
" AND ISNULL(q.fecha_ini, r.fecha_ini) BETWEEN ? AND ? "
|
||||
|
||||
LET filtros = "Periodo: ", p.fecha_ini USING "dd/mm/yyyy", " al ", p.fecha_fin USING "dd/mm/yyyy"
|
||||
IF p.departamento IS NOT NULL AND p.departamento <> 0 THEN
|
||||
LET selec = selec, " AND e.departamento = ", p.departamento USING "<<<<&"
|
||||
SELECT a.nom_dpto INTO xnom FROM adtb00001 a WHERE a.departamento = p.departamento
|
||||
LET filtros = filtros CLIPPED, " Departamento: ", xnom CLIPPED
|
||||
ELSE
|
||||
LET filtros = filtros CLIPPED, " Departamento: TODOS"
|
||||
END IF
|
||||
IF p.num_emp IS NOT NULL AND p.num_emp <> 0 THEN
|
||||
LET selec = selec, " AND e.num_emp = ", p.num_emp USING "<<<<<<&"
|
||||
LET filtros = filtros CLIPPED, " Ficha: ", p.num_emp USING "<<<<<<&"
|
||||
END IF
|
||||
IF p.solo_pend = "S" THEN
|
||||
LET selec = selec,
|
||||
" AND EXISTS (SELECT 1 FROM adtb00060 r2 ",
|
||||
" LEFT JOIN (SELECT id_requerida, SUM(horas_tom) tom FROM adtb00060 ",
|
||||
" WHERE tipo_reg = 'T' AND status_t IS NULL GROUP BY id_requerida) t2 ",
|
||||
" ON t2.id_requerida = r2.id_cap ",
|
||||
" WHERE r2.num_emp = r.num_emp AND r2.tipo_reg = 'R' AND r2.status_t IS NULL ",
|
||||
" AND r2.fecha_ini BETWEEN ? AND ? ",
|
||||
" AND ISNULL(r2.horas_req,0) - ISNULL(t2.tom,0) > 0) "
|
||||
LET filtros = filtros CLIPPED, " Solo con pendientes"
|
||||
END IF
|
||||
LET selec = selec,
|
||||
" ORDER BY ISNULL(d.nom_dpto,''), 2, e.num_emp, ",
|
||||
" CASE WHEN r.tipo_reg = 'T' AND r.id_requerida IS NULL THEN 1 ELSE 0 END, ",
|
||||
" ISNULL(r.id_requerida, r.id_cap), ",
|
||||
" CASE WHEN r.tipo_reg = 'R' THEN 0 ELSE 1 END, r.fecha_ini"
|
||||
|
||||
PREPARE p_rep48 FROM selec
|
||||
DECLARE c_rep48 CURSOR FOR p_rep48
|
||||
|
||||
-- Configuracion del motor de reportes (.4rp)
|
||||
LET r_filename = "adprrp048.4rp"
|
||||
LET preview = TRUE
|
||||
IF NOT fgl_report_loadCurrentSettings(r_filename) THEN
|
||||
CALL fgl_winmessage("INFO","No se pudo cargar el diseno adprrp048.4rp","stop")
|
||||
RETURN
|
||||
END IF
|
||||
CALL seleccionarSalida() RETURNING r_output
|
||||
CALL fgl_report_selectDevice(r_output)
|
||||
CALL fgl_report_selectPreview(preview)
|
||||
IF r_output = "XLSX" THEN
|
||||
CALL fgl_report_configurexlsxdevice(NULL,NULL,NULL,FALSE,FALSE,NULL,1)
|
||||
END IF
|
||||
LET handler = fgl_report_commitCurrentSettings()
|
||||
IF handler IS NULL THEN
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
LET nfilas = 0
|
||||
START REPORT capacitacion TO XML HANDLER handler
|
||||
IF p.solo_pend = "S" THEN
|
||||
OPEN c_rep48 USING p.fecha_ini, p.fecha_fin, p.fecha_ini, p.fecha_fin
|
||||
ELSE
|
||||
OPEN c_rep48 USING p.fecha_ini, p.fecha_fin
|
||||
END IF
|
||||
WHILE TRUE
|
||||
FETCH c_rep48 INTO x.*
|
||||
IF STATUS = NOTFOUND THEN
|
||||
EXIT WHILE
|
||||
END IF
|
||||
LET nfilas = nfilas + 1
|
||||
OUTPUT TO REPORT capacitacion(x.*)
|
||||
END WHILE
|
||||
CLOSE c_rep48
|
||||
FINISH REPORT capacitacion
|
||||
|
||||
IF nfilas = 0 THEN
|
||||
CALL fgl_winmessage("INFO","No hay capacitaciones registradas con esos parametros","info")
|
||||
END IF
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION pct48(a, b)
|
||||
DEFINE a, b DECIMAL(10,2)
|
||||
IF b IS NULL OR b = 0 THEN
|
||||
RETURN 0
|
||||
END IF
|
||||
RETURN (a / b) * 100
|
||||
END FUNCTION
|
||||
|
||||
REPORT capacitacion(x)
|
||||
DEFINE x RECORD
|
||||
num_emp INTEGER,
|
||||
empleado VARCHAR(60),
|
||||
nom_dpto VARCHAR(40),
|
||||
nom_puesto VARCHAR(40),
|
||||
fila VARCHAR(20),
|
||||
nom_cap VARCHAR(100),
|
||||
tipo_evento VARCHAR(15),
|
||||
fecha_ini DATE,
|
||||
fecha_fin DATE,
|
||||
h_req DECIMAL(8,2),
|
||||
h_tom DECIMAL(8,2),
|
||||
h_pend DECIMAL(8,2),
|
||||
h_tom_t DECIMAL(8,2),
|
||||
institucion VARCHAR(100)
|
||||
END RECORD
|
||||
DEFINE fecha_rep CHAR(10),
|
||||
hora CHAR(8),
|
||||
fini, ffin CHAR(10),
|
||||
g_req, g_tom, g_pend, g_cumpl DECIMAL(10,2),
|
||||
t_req, t_tom, t_pend, t_cumpl DECIMAL(10,2),
|
||||
t_emp INTEGER
|
||||
|
||||
ORDER EXTERNAL BY x.num_emp
|
||||
|
||||
FORMAT
|
||||
FIRST PAGE HEADER
|
||||
LET fecha_rep = TODAY USING "dd/mm/yyyy"
|
||||
LET hora = CURRENT HOUR TO SECOND
|
||||
LET t_emp = 0
|
||||
PRINTX p_companias.nombre, fecha_rep, hora, filtros
|
||||
|
||||
BEFORE GROUP OF x.num_emp
|
||||
LET t_emp = t_emp + 1
|
||||
PRINTX x.num_emp, x.empleado, x.nom_dpto, x.nom_puesto
|
||||
|
||||
ON EVERY ROW
|
||||
LET fini = x.fecha_ini USING "dd/mm/yyyy"
|
||||
LET ffin = x.fecha_fin USING "dd/mm/yyyy"
|
||||
PRINTX x.fila, x.nom_cap, x.tipo_evento, fini, ffin,
|
||||
x.h_req, x.h_tom, x.h_pend, x.institucion
|
||||
|
||||
AFTER GROUP OF x.num_emp
|
||||
LET g_req = GROUP SUM(x.h_req)
|
||||
LET g_tom = GROUP SUM(x.h_tom_t)
|
||||
LET g_pend = GROUP SUM(x.h_pend)
|
||||
IF g_req IS NULL THEN LET g_req = 0 END IF
|
||||
IF g_tom IS NULL THEN LET g_tom = 0 END IF
|
||||
IF g_pend IS NULL THEN LET g_pend = 0 END IF
|
||||
LET g_cumpl = pct48(g_req - g_pend, g_req)
|
||||
PRINTX g_req, g_tom, g_pend, g_cumpl
|
||||
|
||||
ON LAST ROW
|
||||
LET t_req = SUM(x.h_req)
|
||||
LET t_tom = SUM(x.h_tom_t)
|
||||
LET t_pend = SUM(x.h_pend)
|
||||
IF t_req IS NULL THEN LET t_req = 0 END IF
|
||||
IF t_tom IS NULL THEN LET t_tom = 0 END IF
|
||||
IF t_pend IS NULL THEN LET t_pend = 0 END IF
|
||||
LET t_cumpl = pct48(t_req - t_pend, t_req)
|
||||
PRINTX t_emp, t_req, t_tom, t_pend, t_cumpl
|
||||
END REPORT
|
||||
@@ -0,0 +1,354 @@
|
||||
{
|
||||
-------------------------------------------------------------------------------
|
||||
PROGRAMA : ADPRRP049
|
||||
OBJETIVO : Rotacion laboral (indicador RRHH).
|
||||
R = Resumen mensual: plantilla al inicio del mes,
|
||||
ingresos, salidas (voluntarias / involuntarias /
|
||||
otras) y % de rotacion; total y rotacion anual.
|
||||
D = Detalle de salidas agrupado por causa.
|
||||
Datos: vista vw_rotacion_mensual y adtb00062/adtb00061
|
||||
(desvinculaciones registradas por ADPRMT017; historico
|
||||
2022+ cargado con origen 'H').
|
||||
Rotacion % = salidas que cuentan para rotacion /
|
||||
plantilla al inicio (los traslados dentro del grupo
|
||||
no cuentan). Anual = salidas del ano / plantilla
|
||||
promedio de los meses del ano.
|
||||
FECHA REALIZACION : Octubre 05, 2026
|
||||
-------------------------------------------------------------------------------
|
||||
}
|
||||
GLOBALS "adprgb000.4gl"
|
||||
|
||||
DEFINE p RECORD
|
||||
ano_ini SMALLINT,
|
||||
ano_fin SMALLINT,
|
||||
departamento SMALLINT,
|
||||
tipo_emp VARCHAR(10),
|
||||
formato CHAR(1)
|
||||
END RECORD
|
||||
DEFINE filtros VARCHAR(200)
|
||||
|
||||
MAIN
|
||||
DEFER INTERRUPT
|
||||
CALL ARG_VAL(1) RETURNING usuarios
|
||||
CALL ARG_VAL(2) RETURNING clave
|
||||
CALL ARG_VAL(3) RETURNING impresor
|
||||
|
||||
CONNECT TO "smarmotech" USER usuarios USING clave
|
||||
SELECT a.* INTO p_companias.* FROM companias a
|
||||
CALL adprrp049()
|
||||
END MAIN
|
||||
|
||||
FUNCTION adprrp049()
|
||||
DEFINE cb ui.ComboBox,
|
||||
xdep SMALLINT,
|
||||
xnom VARCHAR(40)
|
||||
|
||||
OPTIONS
|
||||
FORM LINE 8,
|
||||
ERROR LINE 23,
|
||||
COMMENT LINE 21
|
||||
|
||||
OPEN FORM adfmrp049 FROM "adfmrp049"
|
||||
DISPLAY FORM adfmrp049
|
||||
|
||||
LET cb = ui.ComboBox.forName("formonly.departamento")
|
||||
CALL cb.clear()
|
||||
CALL cb.addItem(0, "TODOS")
|
||||
DECLARE c_dep49 CURSOR FOR
|
||||
SELECT a.departamento, a.nom_dpto FROM adtb00001 a
|
||||
WHERE a.status_t IS NULL ORDER BY a.nom_dpto
|
||||
FOREACH c_dep49 INTO xdep, xnom
|
||||
CALL cb.addItem(xdep, xnom CLIPPED)
|
||||
END FOREACH
|
||||
|
||||
LET p.ano_ini = YEAR(TODAY) - 1
|
||||
LET p.ano_fin = YEAR(TODAY)
|
||||
LET p.departamento = 0
|
||||
LET p.tipo_emp = "TODOS"
|
||||
LET p.formato = "R"
|
||||
|
||||
INPUT BY NAME p.* WITHOUT DEFAULTS ATTRIBUTE(UNBUFFERED)
|
||||
AFTER INPUT
|
||||
IF int_flag THEN
|
||||
EXIT INPUT
|
||||
END IF
|
||||
IF p.ano_ini IS NULL OR p.ano_fin IS NULL OR p.ano_fin < p.ano_ini
|
||||
OR p.ano_ini < 2022 THEN
|
||||
CALL fgl_winmessage("INFO","REVISE LOS ANOS (EL HISTORICO EMPIEZA EN 2022)","info")
|
||||
NEXT FIELD ano_ini
|
||||
END IF
|
||||
END INPUT
|
||||
IF int_flag THEN
|
||||
LET int_flag = FALSE
|
||||
CALL msg(2)
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
LET filtros = "Anos: ", p.ano_ini USING "<<<<", " a ", p.ano_fin USING "<<<<"
|
||||
IF p.departamento IS NOT NULL AND p.departamento <> 0 THEN
|
||||
SELECT a.nom_dpto INTO xnom FROM adtb00001 a WHERE a.departamento = p.departamento
|
||||
LET filtros = filtros CLIPPED, " Departamento: ", xnom CLIPPED
|
||||
ELSE
|
||||
LET filtros = filtros CLIPPED, " Departamento: TODOS"
|
||||
END IF
|
||||
LET filtros = filtros CLIPPED, " Tipo de empleado: ", p.tipo_emp CLIPPED
|
||||
|
||||
IF p.formato = "D" THEN
|
||||
LET r_filename = "adprrp049d.4rp"
|
||||
ELSE
|
||||
LET r_filename = "adprrp049.4rp"
|
||||
END IF
|
||||
LET preview = TRUE
|
||||
IF NOT fgl_report_loadCurrentSettings(r_filename) THEN
|
||||
CALL fgl_winmessage("INFO","No se pudo cargar el diseno " || r_filename CLIPPED,"stop")
|
||||
RETURN
|
||||
END IF
|
||||
CALL seleccionarSalida() RETURNING r_output
|
||||
CALL fgl_report_selectDevice(r_output)
|
||||
CALL fgl_report_selectPreview(preview)
|
||||
IF r_output = "XLSX" THEN
|
||||
CALL fgl_report_configurexlsxdevice(NULL,NULL,NULL,FALSE,FALSE,NULL,1)
|
||||
END IF
|
||||
LET handler = fgl_report_commitCurrentSettings()
|
||||
IF handler IS NULL THEN
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
IF p.formato = "D" THEN
|
||||
CALL detalle_salidas()
|
||||
ELSE
|
||||
CALL resumen_mensual()
|
||||
END IF
|
||||
END FUNCTION
|
||||
|
||||
## R: UNA FILA POR MES (SUMA DE LOS DEPARTAMENTOS / TIPOS FILTRADOS)
|
||||
FUNCTION resumen_mensual()
|
||||
DEFINE x RECORD
|
||||
anio SMALLINT,
|
||||
mes_num SMALLINT,
|
||||
mes_nom VARCHAR(12),
|
||||
plantilla INTEGER,
|
||||
ingresos INTEGER,
|
||||
salidas INTEGER,
|
||||
salidas_rot INTEGER,
|
||||
voluntarias INTEGER,
|
||||
involuntarias INTEGER,
|
||||
otras INTEGER,
|
||||
rot_pct DECIMAL(8,2)
|
||||
END RECORD
|
||||
DEFINE n INTEGER
|
||||
|
||||
LET selec =
|
||||
"SELECT anio, mes_num, SUM(plantilla_inicio), SUM(ingresos), SUM(salidas), ",
|
||||
" SUM(salidas_rotacion), SUM(voluntarias), SUM(involuntarias), SUM(otras) ",
|
||||
"FROM vw_rotacion_mensual WHERE anio BETWEEN ? AND ? "
|
||||
IF p.departamento IS NOT NULL AND p.departamento <> 0 THEN
|
||||
LET selec = selec, " AND departamento = ", p.departamento USING "<<<<&"
|
||||
END IF
|
||||
IF p.tipo_emp <> "TODOS" THEN
|
||||
LET selec = selec, " AND tipo_empleado = '", p.tipo_emp CLIPPED, "'"
|
||||
END IF
|
||||
LET selec = selec, " GROUP BY anio, mes_num ORDER BY anio, mes_num"
|
||||
|
||||
PREPARE p_res49 FROM selec
|
||||
DECLARE c_res49 CURSOR FOR p_res49
|
||||
|
||||
LET n = 0
|
||||
START REPORT rotacion TO XML HANDLER handler
|
||||
FOREACH c_res49 USING p.ano_ini, p.ano_fin
|
||||
INTO x.anio, x.mes_num, x.plantilla, x.ingresos, x.salidas,
|
||||
x.salidas_rot, x.voluntarias, x.involuntarias, x.otras
|
||||
LET n = n + 1
|
||||
LET x.mes_nom = nombre_mes(x.mes_num)
|
||||
LET x.rot_pct = pct49(x.salidas_rot, x.plantilla)
|
||||
OUTPUT TO REPORT rotacion(x.*)
|
||||
END FOREACH
|
||||
FINISH REPORT rotacion
|
||||
IF n = 0 THEN
|
||||
CALL fgl_winmessage("INFO","No hay datos con esos parametros","info")
|
||||
END IF
|
||||
END FUNCTION
|
||||
|
||||
## D: DETALLE DE SALIDAS AGRUPADO POR CAUSA
|
||||
FUNCTION detalle_salidas()
|
||||
DEFINE y RECORD
|
||||
clase VARCHAR(15),
|
||||
cod_causa SMALLINT,
|
||||
desc_causa VARCHAR(60),
|
||||
fecha_sal DATE,
|
||||
num_emp INTEGER,
|
||||
empleado VARCHAR(60),
|
||||
nom_dpto VARCHAR(40),
|
||||
nom_puesto VARCHAR(40),
|
||||
tipo_emp VARCHAR(20),
|
||||
meses INTEGER,
|
||||
recont VARCHAR(3),
|
||||
detalle VARCHAR(200)
|
||||
END RECORD
|
||||
DEFINE n INTEGER
|
||||
|
||||
LET selec =
|
||||
"SELECT CASE c.clase WHEN 'V' THEN 'VOLUNTARIA' WHEN 'I' THEN 'INVOLUNTARIA' ELSE 'OTRA' END, ",
|
||||
" c.cod_causa, c.desc_causa, d.fecha_salida, d.num_emp, ",
|
||||
" RTRIM(e.nom1_emp)+' '+RTRIM(e.apell1_emp)+ISNULL(' '+RTRIM(e.apell2_emp),''), ",
|
||||
" ISNULL(dp.nom_dpto,''), ISNULL(pu.nom_puesto,''), ISNULL(d.tipo_empleado,'NORMAL'), ",
|
||||
" CASE WHEN d.fech_ingreso IS NULL THEN NULL ELSE DATEDIFF(month, d.fech_ingreso, d.fecha_salida) END, ",
|
||||
" CASE d.recontratable WHEN 'S' THEN 'SI' WHEN 'N' THEN 'NO' ELSE '' END, ",
|
||||
" ISNULL(d.detalle,'') ",
|
||||
"FROM adtb00062 d ",
|
||||
" JOIN adtb00061 c ON c.cod_causa = d.cod_causa ",
|
||||
" JOIN adtb00003 e ON e.num_emp = d.num_emp ",
|
||||
" LEFT JOIN adtb00001 dp ON dp.departamento = d.departamento ",
|
||||
" LEFT JOIN adtb00004 pu ON pu.cod_puesto = d.cod_puesto ",
|
||||
"WHERE d.status_t IS NULL AND YEAR(d.fecha_salida) BETWEEN ? AND ? "
|
||||
IF p.departamento IS NOT NULL AND p.departamento <> 0 THEN
|
||||
LET selec = selec, " AND d.departamento = ", p.departamento USING "<<<<&"
|
||||
END IF
|
||||
IF p.tipo_emp <> "TODOS" THEN
|
||||
LET selec = selec, " AND ISNULL(d.tipo_empleado,'NORMAL') = '", p.tipo_emp CLIPPED, "'"
|
||||
END IF
|
||||
LET selec = selec,
|
||||
" ORDER BY CASE c.clase WHEN 'V' THEN 1 WHEN 'I' THEN 2 ELSE 3 END, c.cod_causa, d.fecha_salida"
|
||||
|
||||
PREPARE p_det49 FROM selec
|
||||
DECLARE c_det49 CURSOR FOR p_det49
|
||||
|
||||
LET n = 0
|
||||
START REPORT salidas TO XML HANDLER handler
|
||||
FOREACH c_det49 USING p.ano_ini, p.ano_fin INTO y.*
|
||||
LET n = n + 1
|
||||
OUTPUT TO REPORT salidas(y.*)
|
||||
END FOREACH
|
||||
FINISH REPORT salidas
|
||||
IF n = 0 THEN
|
||||
CALL fgl_winmessage("INFO","No hay salidas con esos parametros","info")
|
||||
END IF
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION nombre_mes(m)
|
||||
DEFINE m SMALLINT
|
||||
CASE m
|
||||
WHEN 1 RETURN "ENERO"
|
||||
WHEN 2 RETURN "FEBRERO"
|
||||
WHEN 3 RETURN "MARZO"
|
||||
WHEN 4 RETURN "ABRIL"
|
||||
WHEN 5 RETURN "MAYO"
|
||||
WHEN 6 RETURN "JUNIO"
|
||||
WHEN 7 RETURN "JULIO"
|
||||
WHEN 8 RETURN "AGOSTO"
|
||||
WHEN 9 RETURN "SEPTIEMBRE"
|
||||
WHEN 10 RETURN "OCTUBRE"
|
||||
WHEN 11 RETURN "NOVIEMBRE"
|
||||
WHEN 12 RETURN "DICIEMBRE"
|
||||
END CASE
|
||||
RETURN NULL
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION pct49(a, b)
|
||||
DEFINE a, b DECIMAL(12,2)
|
||||
IF b IS NULL OR b = 0 OR a IS NULL THEN
|
||||
RETURN 0
|
||||
END IF
|
||||
RETURN (a / b) * 100
|
||||
END FUNCTION
|
||||
|
||||
REPORT rotacion(x)
|
||||
DEFINE x RECORD
|
||||
anio SMALLINT,
|
||||
mes_num SMALLINT,
|
||||
mes_nom VARCHAR(12),
|
||||
plantilla INTEGER,
|
||||
ingresos INTEGER,
|
||||
salidas INTEGER,
|
||||
salidas_rot INTEGER,
|
||||
voluntarias INTEGER,
|
||||
involuntarias INTEGER,
|
||||
otras INTEGER,
|
||||
rot_pct DECIMAL(8,2)
|
||||
END RECORD
|
||||
DEFINE fecha_rep CHAR(10),
|
||||
hora CHAR(8),
|
||||
a_plant DECIMAL(10,2),
|
||||
a_ing, a_sal, a_rot, a_vol, a_inv, a_otr INTEGER,
|
||||
a_pct DECIMAL(8,2),
|
||||
t_ing, t_sal, t_vol, t_inv, t_otr INTEGER
|
||||
|
||||
ORDER EXTERNAL BY x.anio
|
||||
|
||||
FORMAT
|
||||
FIRST PAGE HEADER
|
||||
LET fecha_rep = TODAY USING "dd/mm/yyyy"
|
||||
LET hora = CURRENT HOUR TO SECOND
|
||||
PRINTX p_companias.nombre, fecha_rep, hora, filtros
|
||||
|
||||
BEFORE GROUP OF x.anio
|
||||
PRINTX x.anio
|
||||
|
||||
ON EVERY ROW
|
||||
PRINTX x.mes_nom, x.plantilla, x.ingresos, x.salidas, x.voluntarias,
|
||||
x.involuntarias, x.otras, x.rot_pct
|
||||
|
||||
AFTER GROUP OF x.anio
|
||||
LET a_plant = GROUP AVG(x.plantilla)
|
||||
LET a_ing = GROUP SUM(x.ingresos)
|
||||
LET a_sal = GROUP SUM(x.salidas)
|
||||
LET a_rot = GROUP SUM(x.salidas_rot)
|
||||
LET a_vol = GROUP SUM(x.voluntarias)
|
||||
LET a_inv = GROUP SUM(x.involuntarias)
|
||||
LET a_otr = GROUP SUM(x.otras)
|
||||
LET a_pct = pct49(a_rot, a_plant)
|
||||
PRINTX a_plant, a_ing, a_sal, a_vol, a_inv, a_otr, a_pct
|
||||
|
||||
ON LAST ROW
|
||||
LET t_ing = SUM(x.ingresos)
|
||||
LET t_sal = SUM(x.salidas)
|
||||
LET t_vol = SUM(x.voluntarias)
|
||||
LET t_inv = SUM(x.involuntarias)
|
||||
LET t_otr = SUM(x.otras)
|
||||
PRINTX t_ing, t_sal, t_vol, t_inv, t_otr
|
||||
END REPORT
|
||||
|
||||
REPORT salidas(y)
|
||||
DEFINE y RECORD
|
||||
clase VARCHAR(15),
|
||||
cod_causa SMALLINT,
|
||||
desc_causa VARCHAR(60),
|
||||
fecha_sal DATE,
|
||||
num_emp INTEGER,
|
||||
empleado VARCHAR(60),
|
||||
nom_dpto VARCHAR(40),
|
||||
nom_puesto VARCHAR(40),
|
||||
tipo_emp VARCHAR(20),
|
||||
meses INTEGER,
|
||||
recont VARCHAR(3),
|
||||
detalle VARCHAR(200)
|
||||
END RECORD
|
||||
DEFINE fecha_rep CHAR(10),
|
||||
hora CHAR(8),
|
||||
fsal CHAR(10),
|
||||
g_cant, t_cant INTEGER
|
||||
|
||||
ORDER EXTERNAL BY y.cod_causa
|
||||
|
||||
FORMAT
|
||||
FIRST PAGE HEADER
|
||||
LET fecha_rep = TODAY USING "dd/mm/yyyy"
|
||||
LET hora = CURRENT HOUR TO SECOND
|
||||
PRINTX p_companias.nombre, fecha_rep, hora, filtros
|
||||
|
||||
BEFORE GROUP OF y.cod_causa
|
||||
PRINTX y.desc_causa, y.clase
|
||||
|
||||
ON EVERY ROW
|
||||
LET fsal = y.fecha_sal USING "dd/mm/yyyy"
|
||||
PRINTX fsal, y.num_emp, y.empleado, y.nom_dpto, y.nom_puesto,
|
||||
y.tipo_emp, y.meses, y.recont, y.detalle
|
||||
|
||||
AFTER GROUP OF y.cod_causa
|
||||
LET g_cant = GROUP COUNT(*)
|
||||
PRINTX g_cant
|
||||
|
||||
ON LAST ROW
|
||||
LET t_cant = COUNT(*)
|
||||
PRINTX t_cant
|
||||
END REPORT
|
||||
@@ -0,0 +1,160 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<ManagedForm databaseName="smarmotech" fileVersion="31400" gstVersion="31408" name="ManagedForm" uid="{a549c11f-213c-4b69-ba25-7ba8e81abe58}">
|
||||
<AGSettings>
|
||||
<DynamicProperties version="2"/>
|
||||
</AGSettings>
|
||||
<Record additionalTables="" joinLeft="" joinOperator="" joinRight="" name="Undefined" order="" uid="{7d471b21-63f0-43b8-a8d9-f13f84ba45e9}" where="">
|
||||
<RecordField colName="cod_mto" defaultValue="1" fieldIdRef="2" fieldType="TABLE_COLUMN" name="adtb00020.cod_mto" sqlTabName="adtb00020" sqlType="SMALLINT" table_alias_name="" uid="{c1910f49-63bc-4f6d-aa7a-a0a56830d12e}"/>
|
||||
<RecordField colName="num_trx" fieldIdRef="5" fieldType="TABLE_COLUMN" name="adtb00020.num_trx" sqlTabName="adtb00020" sqlType="INTEGER" table_alias_name="" uid="{bad78dcd-5ecc-4f0c-903b-9c1f60503f44}"/>
|
||||
<RecordField colName="cod_sol" fieldIdRef="6" fieldType="TABLE_COLUMN" name="adtb00020.cod_sol" sqlTabName="adtb00020" sqlType="SMALLINT" table_alias_name="" uid="{a37cf6ad-6034-41ba-a4ae-b4332f7cb2c5}"/>
|
||||
<RecordField colName="fecha" fieldIdRef="7" fieldType="TABLE_COLUMN" name="adtb00020.fecha" sqlTabName="adtb00020" sqlType="DATE" table_alias_name="" uid="{e6e8db60-eca0-4f4f-a4a2-90b6113426bc}"/>
|
||||
<RecordField colName="fech_efec" fieldIdRef="8" fieldType="TABLE_COLUMN" name="adtb00020.fech_efec" sqlTabName="adtb00020" sqlType="DATE" table_alias_name="" uid="{169afb14-f444-4974-9265-4b473bdbdadd}"/>
|
||||
<RecordField colName="pnis" fieldIdRef="0" name="pnis" sqlTabName="formonly" table_alias_name="" uid="{1aaeb140-d426-4d15-b612-26047d56b5f8}"/>
|
||||
<RecordField colName="num_emp" fieldIdRef="9" fieldType="TABLE_COLUMN" name="adtb00020.num_emp" sqlTabName="adtb00020" sqlType="SMALLINT" table_alias_name="" uid="{cb242072-b73c-4429-8920-3e37e4146e79}"/>
|
||||
<RecordField colName="departamento" fieldIdRef="10" fieldType="TABLE_COLUMN" name="adtb00020.departamento" sqlTabName="adtb00020" sqlType="SMALLINT" table_alias_name="" uid="{52724440-1489-4cb1-9516-57a814edfb29}"/>
|
||||
<RecordField colName="nivel_emp" fieldIdRef="11" fieldType="TABLE_COLUMN" name="adtb00020.nivel_emp" sqlTabName="adtb00020" sqlType="SMALLINT" table_alias_name="" uid="{cd972710-19a7-4371-87c1-689f9968b674}"/>
|
||||
<RecordField colName="cod_puesto" fieldIdRef="12" fieldType="TABLE_COLUMN" name="adtb00020.cod_puesto" sqlTabName="adtb00020" sqlType="SMALLINT" table_alias_name="" uid="{7d817b85-b333-4438-935d-b6f72f34308a}"/>
|
||||
<RecordField colName="cedula" fieldIdRef="13" name="cedula" sqlTabName="formonly" table_alias_name="" uid="{942edd09-4d6c-4266-beb6-a06177c87c4b}"/>
|
||||
<RecordField colName="cuenta_no" fieldIdRef="1" fieldType="TABLE_COLUMN" name="adtb00003.cuenta_no" sqlTabName="adtb00003" sqlType="VARCHAR" table_alias_name="" uid="{f48e2a21-0619-46dd-bb71-71efdf9f5ca5}"/>
|
||||
<RecordField colName="descrip1" fieldIdRef="14" name="descrip1" sqlTabName="formonly" table_alias_name="" uid="{58277d32-b999-4232-bfa3-5c1e29875d75}"/>
|
||||
<RecordField colName="descrip2" fieldIdRef="15" name="descrip2" sqlTabName="formonly" table_alias_name="" uid="{ed02fb7a-54b2-49cb-8f23-c822fbf31ceb}"/>
|
||||
<RecordField colName="nombre_dpto" fieldIdRef="16" name="nombre_dpto" sqlTabName="formonly" table_alias_name="" uid="{7f62e7e2-a2b0-46e2-a69a-c46213a82610}"/>
|
||||
<RecordField colName="nom_puesto" fieldIdRef="17" fieldType="TABLE_COLUMN" name="adtb00004.nom_puesto" sqlTabName="adtb00004" sqlType="CHAR" table_alias_name="" uid="{023d641d-52e3-439a-9fa0-5cbee4d2f579}"/>
|
||||
<RecordField colName="sueldo_ac" fieldIdRef="18" fieldType="TABLE_COLUMN" name="adtb00020.sueldo_ac" precisionDecimal="10" scaleDecimal="2" sqlTabName="adtb00020" sqlType="DECIMAL" table_alias_name="" uid="{9c3607a4-0061-45b5-846a-d2a4a8c5d5f6}"/>
|
||||
<RecordField colName="" fieldIdRef="19" fieldType="NON_DATABASE" name="nomina" sqlTabName="" sqlType="CHAR" table_alias_name="" uid="{40a9f585-d0d3-4743-a0c5-1f1ae112d230}"/>
|
||||
<RecordField colName="estado_civil" defaultValue="U" fieldIdRef="21" fieldType="TABLE_COLUMN" name="adtb00003.estado_civil" sqlTabName="adtb00003" sqlType="CHAR" table_alias_name="" uid="{28c263a5-ee09-4d8b-993d-92d7d84c455a}"/>
|
||||
<RecordField colName="sexo" defaultValue="F" fieldIdRef="40" name="sexo" sqlTabName="formonly" sqlType="CHAR" table_alias_name="" uid="{94e4714a-3064-43a3-9045-c91a7081c93e}"/>
|
||||
<RecordField colName="tipo_sangre" defaultValue="AB+" fieldIdRef="23" fieldType="TABLE_COLUMN" name="adtb00012.tipo_sangre" sqlTabName="adtb00012" sqlType="CHAR" table_alias_name="" uid="{48ededba-cbcb-40c6-9b48-adbbdc5de259}"/>
|
||||
<RecordField colName="sueldo_lq" defaultValue="0" fieldIdRef="42" name="sueldo_lq" precisionDecimal="12" scaleDecimal="2" sqlTabName="formonly" sqlType="DECIMAL" table_alias_name="" uid="{b5e885ec-de5f-4de8-ab56-0f0466d82bb3}"/>
|
||||
<RecordField colName="observacion" fieldIdRef="24" fieldType="TABLE_COLUMN" name="adtb00020.observacion" sqlTabName="adtb00020" sqlType="CHAR" table_alias_name="" uid="{c84f4da4-673b-4935-89dd-170371ee0b6d}"/>
|
||||
<RecordField colName="num1_emp" fieldIdRef="25" fieldType="TABLE_COLUMN" name="adtb00020.num1_emp" sqlTabName="adtb00020" sqlType="SMALLINT" table_alias_name="" uid="{f83c838d-f907-4c8b-abaf-f4eee1eb62ee}"/>
|
||||
<RecordField colName="departamento1" fieldIdRef="26" fieldType="TABLE_COLUMN" name="adtb00020.departamento1" sqlTabName="adtb00020" sqlType="SMALLINT" table_alias_name="" uid="{03c26a0c-5471-48c1-8b6c-fed247129b95}"/>
|
||||
<RecordField colName="nivel1_emp" fieldIdRef="27" fieldType="TABLE_COLUMN" name="adtb00020.nivel1_emp" sqlTabName="adtb00020" sqlType="SMALLINT" table_alias_name="" uid="{ce9714aa-f0ac-45a7-baec-73c070650df6}"/>
|
||||
<RecordField colName="cod1_puesto" fieldIdRef="28" fieldType="TABLE_COLUMN" name="adtb00020.cod1_puesto" sqlTabName="adtb00020" sqlType="SMALLINT" table_alias_name="" uid="{6c3f6861-ca38-4b80-a3ed-01729c29a1e3}"/>
|
||||
<RecordField colName="descrip3" fieldIdRef="29" name="descrip3" sqlTabName="formonly" table_alias_name="" uid="{4898d4f5-1654-47f8-9cdd-718988bbd005}"/>
|
||||
<RecordField colName="num2_emp" fieldIdRef="30" fieldType="TABLE_COLUMN" name="adtb00020.num2_emp" sqlTabName="adtb00020" sqlType="SMALLINT" table_alias_name="" uid="{fd3d592f-dbb2-4343-9827-c36a460ce034}"/>
|
||||
<RecordField colName="departamento2" fieldIdRef="31" fieldType="TABLE_COLUMN" name="adtb00020.departamento2" sqlTabName="adtb00020" sqlType="SMALLINT" table_alias_name="" uid="{b6174a7b-bb09-4886-a1b9-89dca1bcf3a0}"/>
|
||||
<RecordField colName="nivel2_emp" fieldIdRef="32" fieldType="TABLE_COLUMN" name="adtb00020.nivel2_emp" sqlTabName="adtb00020" sqlType="SMALLINT" table_alias_name="" uid="{63ccced3-c219-441e-8647-feb32a8e802f}"/>
|
||||
<RecordField colName="cod2_puesto" fieldIdRef="33" fieldType="TABLE_COLUMN" name="adtb00020.cod2_puesto" sqlTabName="adtb00020" sqlType="SMALLINT" table_alias_name="" uid="{cf9a79bf-f263-408a-b963-a10d2d2f430d}"/>
|
||||
<RecordField colName="descrip4" fieldIdRef="34" name="descrip4" sqlTabName="formonly" table_alias_name="" uid="{379bce2d-2ce5-4f57-9d55-7f3f7b3a67fe}"/>
|
||||
<RecordField colName="num3_emp" fieldIdRef="35" fieldType="TABLE_COLUMN" name="adtb00020.num3_emp" sqlTabName="adtb00020" sqlType="SMALLINT" table_alias_name="" uid="{152d4176-3204-4e6e-a6a3-e4f92787b1bc}"/>
|
||||
<RecordField colName="departamento3" fieldIdRef="36" fieldType="TABLE_COLUMN" name="adtb00020.departamento3" sqlTabName="adtb00020" sqlType="SMALLINT" table_alias_name="" uid="{328a1957-b303-4bde-b913-2cc142eff874}"/>
|
||||
<RecordField colName="nivel3_emp" fieldIdRef="37" fieldType="TABLE_COLUMN" name="adtb00020.nivel3_emp" sqlTabName="adtb00020" sqlType="SMALLINT" table_alias_name="" uid="{44853c93-2b42-407e-8368-50f11cbb316c}"/>
|
||||
<RecordField colName="cod3_puesto" fieldIdRef="38" fieldType="TABLE_COLUMN" name="adtb00020.cod3_puesto" sqlTabName="adtb00020" sqlType="SMALLINT" table_alias_name="" uid="{46b5abec-9a78-4be3-9bda-7b8ec9a57841}"/>
|
||||
<RecordField colName="descrip5" fieldIdRef="39" name="descrip5" sqlTabName="formonly" table_alias_name="" uid="{9c9d8c1b-5031-4cf5-ab44-3dadafdfdf3b}"/>
|
||||
<RecordField colName="us_crea" fieldIdRef="43" fieldType="TABLE_COLUMN" name="adtb00020.us_crea" sqlTabName="adtb00020" sqlType="CHAR" table_alias_name="" uid="{c6163a70-937c-4d17-b991-f427a5139045}"/>
|
||||
<RecordField colName="us_mod" fieldIdRef="45" fieldType="TABLE_COLUMN" name="adtb00020.us_mod" sqlTabName="adtb00020" sqlType="CHAR" table_alias_name="" uid="{eb0bacfe-2dde-40f2-9fb5-9e0548d4882a}"/>
|
||||
<RecordField colName="fech_crea" fieldIdRef="44" fieldType="TABLE_COLUMN" name="adtb00020.fech_crea" qual1="YEAR" qualFraction="FRACTION(3)" sqlTabName="adtb00020" sqlType="DATETIME" table_alias_name="" uid="{69edd8d5-620a-49cf-b77a-6f9166a2e408}"/>
|
||||
<RecordField colName="fech_mod" fieldIdRef="46" fieldType="TABLE_COLUMN" name="adtb00020.fech_mod" qual1="YEAR" qualFraction="FRACTION(3)" sqlTabName="adtb00020" sqlType="DATETIME" table_alias_name="" uid="{7547110d-f3f4-42a6-8b1a-db0b0e04fa54}"/>
|
||||
<RecordField colName="" fieldIdRef="3" name="fecha5" sqlTabName="" table_alias_name="" uid="{1793c072-7959-4c58-a5b1-e7c2fed143b3}"/>
|
||||
<RecordField colName="" fieldIdRef="4" name="estado_accion" sqlTabName="" table_alias_name="" uid="{39f544a6-146d-4da8-a564-811bbfbc65be}"/>
|
||||
</Record>
|
||||
<Form gridHeight="24" gridWidth="103" name="adfmmt017" style="basic" text="FORMULARIO MANTENIMIENTO ACCION DE PERSONAL">
|
||||
<ToolBar name="ToolBar1">
|
||||
<ToolBarItem comment="Adicionar Registos" image="new" name="nuevo" text="Nuevo"/>
|
||||
<ToolBarItem comment="Buscar Regustros" image="find" name="buscar" text="Buscar"/>
|
||||
<ToolBarSeparator name="ToolBarSeparator1"/>
|
||||
<ToolBarItem comment="Salir del Programa" image="quit" name="salir" text="Salir"/>
|
||||
</ToolBar>
|
||||
<Grid gridHeight="22" gridWidth="100" name="Grid1" posX="1" posY="1">
|
||||
<Group gridHeight="15" gridWidth="96" name="Group1" posX="1" posY="1">
|
||||
<Label posX="1" posY="1" text="Tipo de Movimiento"/>
|
||||
<ComboBox aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="cod_mto" comment="1= EMPLEO 2=CAMBIO 3=NOVEDADES 4=TERMINACION o Presione Ctrl-W" defaultValue="1" fieldId="2" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="36" include="1|2|3|4" items="" name="adtb00020.cod_mto" posX="21" posY="1" sqlTabName="adtb00020" sqlType="SMALLINT" tabIndex="1" table_alias_name="" widget="ComboBox"/>
|
||||
<Label posX="1" posY="2" text="Numero Documento"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="num_trx" fieldId="5" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="6" name="adtb00020.num_trx" noEntry="true" posX="21" posY="2" sqlTabName="adtb00020" sqlType="INTEGER" tabIndex="2" table_alias_name="" widget="Edit"/>
|
||||
<Label posX="33" posY="2" text="Numero Solicitante"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="cod_sol" comment="Digite el Numero del Solicitante" fieldId="6" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="4" name="adtb00020.cod_sol" posX="53" posY="2" sqlTabName="adtb00020" sqlType="SMALLINT" tabIndex="3" table_alias_name="" widget="Edit"/>
|
||||
<Label posX="1" posY="3" text="Fecha"/>
|
||||
<DateEdit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="fecha" comment="Digite la fecha de elaboracion de la accion" fieldId="7" fieldType="TABLE_COLUMN" format="dd/mm/yyyy" gridHeight="1" gridWidth="10" name="adtb00020.fecha" posX="21" posY="3" sqlTabName="adtb00020" sqlType="DATE" tabIndex="4" table_alias_name="" widget="DateEdit"/>
|
||||
<Label posX="33" posY="3" text="Fecha Efectiva"/>
|
||||
<DateEdit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="fech_efec" comment="Digite la fecha de efectividad de la accion" fieldId="8" fieldType="TABLE_COLUMN" format="dd/mm/yyyy" gridHeight="1" gridWidth="10" name="adtb00020.fech_efec" posX="53" posY="3" sqlTabName="adtb00020" sqlType="DATE" tabIndex="5" table_alias_name="" widget="DateEdit"/>
|
||||
<Label gridHeight="1" gridWidth="10" name="Label5" posX="65" posY="3" text="Fecha Entrada"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" fieldId="3" gridHeight="1" gridWidth="14" name="fecha5" posX="81" posY="3" sqlTabName="" tabIndex="43" table_alias_name="" title="Edit1" widget="Edit"/>
|
||||
<Label posX="1" posY="4" text="Ficha No."/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" autoNext="true" colName="num_emp" comment="Digite la ficha del empleado o Presione Ctrl-W para busqueda" fieldId="9" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="4" name="adtb00020.num_emp" posX="21" posY="4" sqlTabName="adtb00020" sqlType="SMALLINT" tabIndex="7" table_alias_name="" widget="Edit"/>
|
||||
<Label posX="26" posY="4" text="-"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" autoNext="true" colName="departamento" comment="Digite el departamento del empleado o Presione Ctrl-W para busqueda" fieldId="10" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="4" name="adtb00020.departamento" posX="28" posY="4" sqlTabName="adtb00020" sqlType="SMALLINT" tabIndex="8" table_alias_name="" widget="Edit"/>
|
||||
<Label posX="33" posY="4" text="-"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" autoNext="true" colName="nivel_emp" comment="Digite el nivel del empleado o Presione Ctrl-W para busqueda" fieldId="11" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="3" name="adtb00020.nivel_emp" posX="35" posY="4" sqlTabName="adtb00020" sqlType="SMALLINT" tabIndex="9" table_alias_name="" widget="Edit"/>
|
||||
<Label posX="39" posY="4" text="-"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" autoNext="true" colName="cod_puesto" comment="Digite el puesto del empleado o Presione Ctrl-W para busqueda" fieldId="12" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="3" name="adtb00020.cod_puesto" posX="41" posY="4" sqlTabName="adtb00020" sqlType="SMALLINT" tabIndex="10" table_alias_name="" widget="Edit"/>
|
||||
<Label posX="46" posY="4" text="Cedula"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="cedula" fieldId="13" gridHeight="1" gridWidth="14" name="cedula" picture="###-#######-#" posX="55" posY="4" sqlTabName="formonly" tabIndex="11" table_alias_name="" widget="Edit"/>
|
||||
<Label posX="70" posY="4" text="Cuenta No:"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="cuenta_no" comment="No. de Cuenta para pago automatico" fieldId="1" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="14" name="adtb00003.cuenta_no" posX="81" posY="4" sqlTabName="adtb00003" sqlType="VARCHAR" tabIndex="12" table_alias_name="" widget="Edit"/>
|
||||
<Label posX="1" posY="5" text="Nombre"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="descrip1" fieldId="14" gridHeight="1" gridWidth="30" name="descrip1" noEntry="true" posX="21" posY="5" sqlTabName="formonly" tabIndex="13" table_alias_name="" widget="Edit"/>
|
||||
<Label posX="53" posY="5" text="Apellido"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="descrip2" fieldId="15" gridHeight="1" gridWidth="30" name="descrip2" noEntry="true" posX="63" posY="5" sqlTabName="formonly" tabIndex="14" table_alias_name="" widget="Edit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="nombre_dpto" fieldId="16" gridHeight="1" gridWidth="30" name="nombre_dpto" noEntry="true" posX="21" posY="6" sqlTabName="formonly" tabIndex="15" table_alias_name="" widget="Edit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="nom_puesto" fieldId="17" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="29" name="adtb00004.nom_puesto" noEntry="true" posX="53" posY="6" sqlTabName="adtb00004" sqlType="CHAR" tabIndex="16" table_alias_name="" widget="Edit"/>
|
||||
<Label posX="1" posY="7" text="NIS"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="pnis" comment="CODIGO IDENTIFICACION SEGURIDAD SOCIAL" fieldId="0" gridHeight="1" gridWidth="22" name="pnis" posX="21" posY="7" sqlTabName="formonly" tabIndex="6" table_alias_name="" widget="Edit"/>
|
||||
<Label gridHeight="1" gridWidth="10" name="Label6" posX="53" posY="7" text="Estatus"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" color="blue" fieldId="4" gridHeight="1" gridWidth="16" name="estado_accion" posX="65" posY="7" sqlTabName="" tabIndex="44" table_alias_name="" title="Edit1" widget="Edit"/>
|
||||
<Label posX="1" posY="8" text="Sueldo/Salario"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="sueldo_ac" comment="Digite el sueldo/salario del empleado" fieldId="18" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="11" name="adtb00020.sueldo_ac" posX="21" posY="8" precisionDecimal="10" scaleDecimal="2" sqlTabName="adtb00020" sqlType="DECIMAL" tabIndex="17" table_alias_name="" widget="Edit"/>
|
||||
<Label gridHeight="1" gridWidth="6" name="Label4" posX="39" posY="8" text="Nomina"/>
|
||||
<ComboBox aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" case="upper" colName="" comment="Digite S = Semanal, Q = Quincenal, V = Vendedor" fieldId="19" fieldType="NON_DATABASE" gridHeight="1" gridWidth="11" items="QUINCENAL, JORNAL" length="1" name="nomina" posX="46" posY="8" sqlTabName="" sqlType="CHAR" tabIndex="18" table_alias_name="" widget="ComboBox">
|
||||
<Item lstrtext="false" name="Q" text="QUINCENAL"/>
|
||||
<Item lstrtext="false" name="J" text="JORNAL"/>
|
||||
</ComboBox>
|
||||
<Label gridHeight="1" gridWidth="9" name="Label1" posX="63" posY="8" text="Estado Civil"/>
|
||||
<ComboBox aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" case="upper" colName="estado_civil" comment=" S = Soltero C = Casado " defaultValue="U" fieldId="21" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="18" include="S|C" items="CASADO, SOLTERO, UNION LIBRE" name="adtb00003.estado_civil" posX="75" posY="8" sqlTabName="adtb00003" sqlType="CHAR" tabIndex="19" table_alias_name="" widget="ComboBox">
|
||||
<Item lstrtext="false" name="C" text="CASADO"/>
|
||||
<Item lstrtext="false" name="S" text="SOLTERO"/>
|
||||
<Item lstrtext="false" name="U" text="UNION LIBRE"/>
|
||||
</ComboBox>
|
||||
<Label posX="1" posY="9" text="Sexo"/>
|
||||
<ComboBox aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" case="upper" colName="sexo" comment="Digite M Para Sexo Masculino y F Para el Femenino" defaultValue="F" fieldId="40" gridHeight="1" gridWidth="11" include="M|F" items="FEMENINO, MASCULINO" name="sexo" posX="21" posY="9" sqlTabName="formonly" sqlType="CHAR" tabIndex="20" table_alias_name="" widget="ComboBox">
|
||||
<Item lstrtext="false" name="F" text="FEMENINO"/>
|
||||
<Item lstrtext="false" name="M" text="MASCULINO"/>
|
||||
</ComboBox>
|
||||
<Label gridHeight="1" gridWidth="12" name="Label2" posX="33" posY="9" text="Tipo de Sangre"/>
|
||||
<ComboBox aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" case="upper" colName="tipo_sangre" defaultValue="AB+" fieldId="23" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="11" items="AB+, B-, O+, O-, A+, A-" name="adtb00012.tipo_sangre" posX="46" posY="9" sqlTabName="adtb00012" sqlType="CHAR" tabIndex="21" table_alias_name="" widget="ComboBox">
|
||||
<Item lstrtext="false" name="AB+" text="AB+"/>
|
||||
<Item lstrtext="false" name="B+" text="B-"/>
|
||||
<Item lstrtext="false" name="O+" text="O+"/>
|
||||
<Item lstrtext="false" name="O-" text="O-"/>
|
||||
<Item lstrtext="false" name="A+" text="A+"/>
|
||||
<Item lstrtext="false" name="A-" text="A-"/>
|
||||
</ComboBox>
|
||||
<Label gridHeight="1" gridWidth="14" name="Label3" posX="58" posY="9" text="Monto Liquidacion"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="sueldo_lq" defaultValue="0" fieldId="42" gridHeight="1" gridWidth="18" name="sueldo_lq" posX="75" posY="9" precisionDecimal="12" scaleDecimal="2" sqlTabName="formonly" sqlType="DECIMAL" tabIndex="22" table_alias_name="" widget="Edit"/>
|
||||
<Label posX="1" posY="10" text="Observaciones"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" case="upper" colName="observacion" fieldId="24" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="74" name="adtb00020.observacion" posX="21" posY="10" sqlTabName="adtb00020" sqlType="CHAR" tabIndex="23" table_alias_name="" widget="Edit"/>
|
||||
<Label posX="1" posY="11" text="Solicitado"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" autoNext="true" colName="num1_emp" comment="Digite la ficha del empleado solicitante o Presione Ctrl-W para busqueda" fieldId="25" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="5" name="adtb00020.num1_emp" posX="21" posY="11" sqlTabName="adtb00020" sqlType="SMALLINT" tabIndex="24" table_alias_name="" widget="Edit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="departamento1" fieldId="26" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="5" name="adtb00020.departamento1" noEntry="true" posX="28" posY="11" sqlTabName="adtb00020" sqlType="SMALLINT" tabIndex="25" table_alias_name="" widget="Edit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="nivel1_emp" fieldId="27" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="4" name="adtb00020.nivel1_emp" noEntry="true" posX="35" posY="11" sqlTabName="adtb00020" sqlType="SMALLINT" tabIndex="26" table_alias_name="" widget="Edit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="cod1_puesto" fieldId="28" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="4" name="adtb00020.cod1_puesto" noEntry="true" posX="40" posY="11" sqlTabName="adtb00020" sqlType="SMALLINT" tabIndex="27" table_alias_name="" widget="Edit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="descrip3" fieldId="29" gridHeight="1" gridWidth="49" name="descrip3" noEntry="true" posX="46" posY="11" sqlTabName="formonly" tabIndex="28" table_alias_name="" widget="Edit"/>
|
||||
<Label posX="1" posY="12" text="Autorizado"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" autoNext="true" colName="num2_emp" comment="Digite el numero del empleado que autoriza o Presione Ctrl-W para busqueda" fieldId="30" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="5" name="adtb00020.num2_emp" posX="21" posY="12" sqlTabName="adtb00020" sqlType="SMALLINT" tabIndex="29" table_alias_name="" widget="Edit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="departamento2" fieldId="31" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="5" name="adtb00020.departamento2" noEntry="true" posX="28" posY="12" sqlTabName="adtb00020" sqlType="SMALLINT" tabIndex="30" table_alias_name="" widget="Edit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="nivel2_emp" fieldId="32" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="4" name="adtb00020.nivel2_emp" noEntry="true" posX="35" posY="12" sqlTabName="adtb00020" sqlType="SMALLINT" tabIndex="31" table_alias_name="" widget="Edit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="cod2_puesto" fieldId="33" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="4" name="adtb00020.cod2_puesto" noEntry="true" posX="40" posY="12" sqlTabName="adtb00020" sqlType="SMALLINT" tabIndex="32" table_alias_name="" widget="Edit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="descrip4" fieldId="34" gridHeight="1" gridWidth="49" name="descrip4" noEntry="true" posX="46" posY="12" sqlTabName="formonly" tabIndex="33" table_alias_name="" widget="Edit"/>
|
||||
<Label posX="1" posY="13" text="Aprobado"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" autoNext="true" colName="num3_emp" comment="Digite el numero del empleado que aprueba o Presione Ctrl-W para busqueda" fieldId="35" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="5" name="adtb00020.num3_emp" posX="21" posY="13" sqlTabName="adtb00020" sqlType="SMALLINT" tabIndex="34" table_alias_name="" widget="Edit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="departamento3" fieldId="36" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="5" name="adtb00020.departamento3" noEntry="true" posX="28" posY="13" sqlTabName="adtb00020" sqlType="SMALLINT" tabIndex="35" table_alias_name="" widget="Edit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="nivel3_emp" fieldId="37" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="4" name="adtb00020.nivel3_emp" noEntry="true" posX="35" posY="13" sqlTabName="adtb00020" sqlType="SMALLINT" tabIndex="36" table_alias_name="" widget="Edit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="cod3_puesto" fieldId="38" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="4" name="adtb00020.cod3_puesto" noEntry="true" posX="40" posY="13" sqlTabName="adtb00020" sqlType="SMALLINT" tabIndex="37" table_alias_name="" widget="Edit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="descrip5" fieldId="39" gridHeight="1" gridWidth="49" name="descrip5" noEntry="true" posX="46" posY="13" sqlTabName="formonly" tabIndex="38" table_alias_name="" widget="Edit"/>
|
||||
</Group>
|
||||
<Group gridHeight="4" gridWidth="97" name="Group2" posX="1" posY="17">
|
||||
<Label posX="1" posY="1" text="Usuario Creador"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="us_crea" fieldId="43" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="17" name="adtb00020.us_crea" noEntry="true" posX="20" posY="1" sqlTabName="adtb00020" sqlType="CHAR" tabIndex="39" table_alias_name="" widget="Edit"/>
|
||||
<Label posX="40" posY="1" text="Usuario Modificador"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="us_mod" fieldId="45" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="16" name="adtb00020.us_mod" noEntry="true" posX="61" posY="1" sqlTabName="adtb00020" sqlType="CHAR" tabIndex="40" table_alias_name="" widget="Edit"/>
|
||||
<Label posX="1" posY="2" text="Fecha Creacion"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="fech_crea" fieldId="44" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="17" name="adtb00020.fech_crea" noEntry="true" posX="20" posY="2" qual1="YEAR" qualFraction="FRACTION(3)" sqlTabName="adtb00020" sqlType="DATETIME" tabIndex="41" table_alias_name="" widget="Edit"/>
|
||||
<Label posX="40" posY="2" text="Fecha Modificacion"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="fech_mod" fieldId="46" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="16" name="adtb00020.fech_mod" noEntry="true" posX="61" posY="2" qual1="YEAR" qualFraction="FRACTION(3)" sqlTabName="adtb00020" sqlType="DATETIME" tabIndex="42" table_alias_name="" widget="Edit"/>
|
||||
</Group>
|
||||
</Grid>
|
||||
</Form>
|
||||
<DiagramLayout>
|
||||
<![CDATA[AAAAAgAAAEwAewA3AGQANAA3ADEAYgAyADEALQA2ADMAZgAwAC0ANAAzAGIAOAAtAGEAOABkADkALQBmADEAMwBmADgANABiAGEANAA1AGUAOQB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQ==]]>
|
||||
</DiagramLayout>
|
||||
</ManagedForm>
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,93 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<report:Report xmlns:rtl="http://www.4js.com/2004/RTL" xmlns:report="http://www.4js.com/2007/REPORT" xmlns="http://www.4js.com/2004/PXML" gstVersion="31405" version="6.00">
|
||||
<report:Settings RWPageWidth="letterwidth" RWPageLength="letterlength" RWLeftMargin="0.5inch" RWTopMargin="0.5inch" RWRightMargin="0.5inch" RWBottomMargin="0.5inch">
|
||||
<report:FormatList>
|
||||
<report:Format-SVG/>
|
||||
<report:Format-PDF/>
|
||||
<report:Format-image/>
|
||||
</report:FormatList>
|
||||
</report:Settings>
|
||||
<report:Data RWDataLocation="../addir/adprmt017.rdd" RWFglReportName="imp_accion"/>
|
||||
<report:Conflicts/>
|
||||
<rtl:stylesheet>
|
||||
<PXML>
|
||||
<rtl:match name="Report" nameConstraint="Report">
|
||||
<MINIPAGE name="Page Root" width="max" length="max">
|
||||
<LAYOUTNODE name="Header" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
|
||||
<WORDBOX name="WordBox" floatingBehavior="enclosed" text="adprmt017"/>
|
||||
<rtl:input-variable name="p_companias.nombre" type="FGLString" expectedLocation="expectedAhead"/>
|
||||
<WORDBOX name="WordBox3" width="max-3cm" fontSize="14" fontBold="true" floatingBehavior="enclosed" textAlignment="center" text="{{p_companias.nombre.trim()}}"/>
|
||||
</LAYOUTNODE>
|
||||
<LAYOUTNODE name="SubHeader" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
|
||||
<WORDBOX name="WordBox1" width="max-2.5cm" fontSize="10" fontBold="true" floatingBehavior="enclosed" textAlignment="center" text="ACCION NOMINAS"/>
|
||||
<rtl:input-variable name="hoy" type="FGLString" expectedLocation="expectedAhead"/>
|
||||
<WORDBOX name="WordBox2" floatingBehavior="enclosed" text="{{hoy.trim()}}"/>
|
||||
</LAYOUTNODE>
|
||||
<rtl:match name="OnEveryRow" nameConstraint="OnEveryRow" minOccurs="0" maxOccurs="unbounded">
|
||||
<LAYOUTNODE name="Informacion1" width="min" length="min" fontSize="8" layoutDirection="leftToRight" floatingBehavior="enclosed" roundedCorners="true" borderWidth="1" borderStyle="solid">
|
||||
<rtl:input-variable name="mov_emp.desc_mto" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="WordBox4" width="2.5inch" floatingBehavior="enclosed" text="{{mov_emp.desc_mto}}" borderWidth="1" borderStyle="none"/>
|
||||
<rtl:input-variable name="acc_per.num_trx" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="WordBox5" width="2.5inch" floatingBehavior="enclosed" text="{{"DOCUMENTO: "+acc_per.num_trx.format("&&&&&&")}}" borderWidth="1" borderStyle="none"/>
|
||||
<rtl:input-variable name="acc_per.fecha" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="WordBox6" width="2.5inch" floatingBehavior="enclosed" text="{{"FECHA: "+acc_per.fecha}}" borderWidth="1" borderStyle="none"/>
|
||||
</LAYOUTNODE>
|
||||
<LAYOUTNODE name="Informacion2" width="min" length="min" fontSize="8" layoutDirection="leftToRight" floatingBehavior="enclosed">
|
||||
<rtl:input-variable name="nombre9" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<rtl:input-variable name="nombre10" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDWRAPBOX name="WordWrapBox" width="2.5inch" floatingBehavior="enclosed" text="{{"NOMBRES:"+nombre9.trim()+" "+nombre10.trim()}}" borderWidth="1" borderStyle="none"/>
|
||||
<rtl:input-variable name="apellido9" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<rtl:input-variable name="apellido10" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDWRAPBOX name="WordWrapBox1" width="2.5inch" floatingBehavior="enclosed" text="{{"APELLIDOS:"+apellido9.trim()+" "+apellido10}}"/>
|
||||
<rtl:input-variable name="acc_per.fech_efec" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDWRAPBOX name="WordWrapBox2" width="2.5inch" floatingBehavior="enclosed" text="{{"FECHA EFECTIVA:"+acc_per.fech_efec}}"/>
|
||||
</LAYOUTNODE>
|
||||
<LAYOUTNODE name="Informacion3" width="min" length="min" fontSize="8" layoutDirection="leftToRight" floatingBehavior="enclosed" borderWidth="1" borderStyle="solid">
|
||||
<rtl:input-variable name="vacacion.fecha_sal" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="WordBox7" width="2.5inch" floatingBehavior="enclosed" text="{{"FECHA SALIDA:"+vacacion.fecha_sal}}"/>
|
||||
<rtl:input-variable name="vacacion.fecha_ent" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="WordBox8" width="2.5inch" floatingBehavior="enclosed" text="{{"FECHA ENT:"+vacacion.fecha_ent}}"/>
|
||||
<rtl:input-variable name="vacacion.dias_tomados" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="WordBox9" width="2.5inch" floatingBehavior="enclosed" text="{{"DIAS TOMADOS:"+vacacion.dias_tomados.format("&&")}}"/>
|
||||
</LAYOUTNODE>
|
||||
<LAYOUTNODE name="Informacion4" width="min" length="min" fontSize="8" layoutDirection="leftToRight" floatingBehavior="enclosed">
|
||||
<rtl:input-variable name="vacacion.dias_vac" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="WordBox10" width="2.5inch" floatingBehavior="enclosed" text="{{"DIAS PAGADOS:"+vacacion.dias_vac.format("&&")}}"/>
|
||||
<rtl:input-variable name="vacacion.num_nomi" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="WordBox11" width="2.5inch" floatingBehavior="enclosed" text="{{"NUMERO NOMINA:"+vacacion.num_nomi.format("&&&&")}}"/>
|
||||
<rtl:input-variable name="vacacion.num_nomi" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="WordBox12" width="2.5inch" floatingBehavior="enclosed" text="{{"NOMINA NO C:"+vacacion.num_nomi.format("&&&&")}}"/>
|
||||
</LAYOUTNODE>
|
||||
<LAYOUTNODE name="Informacion5" width="min" length="min" fontSize="8" layoutDirection="leftToRight" floatingBehavior="enclosed" borderWidth="1" borderStyle="solid">
|
||||
<rtl:input-variable name="vacacion.pano" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="WordBox13" width="2.5inch" floatingBehavior="enclosed" text="{{"PERIODO:"+vacacion.pano}}"/>
|
||||
<rtl:input-variable name="vacacion.dias_tomados" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="WordBox14" width="2.5inch" floatingBehavior="enclosed" text="{{"DIAS A TOMAR:"+vacacion.dias_tomados}}"/>
|
||||
<rtl:input-variable name="dias2" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="WordBox15" width="2.5inch" floatingBehavior="enclosed" text="{{"DIAS PAGADOS:"+dias2}}"/>
|
||||
</LAYOUTNODE>
|
||||
<LAYOUTNODE name="Informacion6" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed" borderWidth="1" borderStyle="solid">
|
||||
<rtl:input-variable name="vacacion.valor_vacaciones" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="WordBox16" width="2.5inch" fontSize="8" fontBold="true" floatingBehavior="enclosed" text="{{"VALOR VACACIONES:"+vacacion.valor_vacaciones.format("###,###.##")}}"/>
|
||||
</LAYOUTNODE>
|
||||
</rtl:match>
|
||||
<LAYOUTNODE name="Autorizaciones1" width="1.2inch" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
|
||||
<WORDBOX name="WordBox17" length="1inch" floatingBehavior="enclosed"/>
|
||||
</LAYOUTNODE>
|
||||
<LAYOUTNODE name="Autorizciones2" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed" borderWidth="1" borderStyle="solid">
|
||||
<rtl:input-variable name="descrip3" type="FGLString" expectedLocation="expectedBefore"/>
|
||||
<WORDBOX name="WordBox20" width="5inch" floatingBehavior="enclosed" text="{{"SOLICITADO POR: "+descrip3.trim()}}"/>
|
||||
</LAYOUTNODE>
|
||||
<LAYOUTNODE name="Autorizaciones3" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
|
||||
<rtl:input-variable name="descrip4" type="FGLString" expectedLocation="expectedBefore"/>
|
||||
<WORDBOX name="WordBox21" width="5inch" floatingBehavior="enclosed" text="{{"AUTORIZADO: "+descrip4.trim()}}" borderWidth="1" borderStyle="solid"/>
|
||||
</LAYOUTNODE>
|
||||
<LAYOUTNODE name="Autorizaciones4" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
|
||||
<rtl:input-variable name="descrip5" type="FGLString" expectedLocation="expectedBefore"/>
|
||||
<WORDBOX name="WordBox22" width="5inch" floatingBehavior="enclosed" text="{{"APROBADO: "+descrip5.trim()}}" borderWidth="1" borderStyle="solid"/>
|
||||
</LAYOUTNODE>
|
||||
</MINIPAGE>
|
||||
</rtl:match>
|
||||
</PXML>
|
||||
</rtl:stylesheet>
|
||||
</report:Report>
|
||||
@@ -42,7 +42,18 @@
|
||||
<rtl:input-variable name="acc_per.fech_efec" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDWRAPBOX name="WordWrapBox2" width="2.5inch" floatingBehavior="enclosed" text="{{"FECHA EFECTIVA:"+acc_per.fech_efec}}"/>
|
||||
</LAYOUTNODE>
|
||||
<LAYOUTNODE name="Informacion3" width="min" length="min" fontSize="8" layoutDirection="leftToRight" floatingBehavior="enclosed" borderWidth="1" borderStyle="solid">
|
||||
<rtl:input-variable name="es_vac" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<LAYOUTNODE name="Detalle" rtl:condition="es_vac==0" width="min" length="min" fontSize="8" floatingBehavior="enclosed" borderWidth="1" borderStyle="solid">
|
||||
<rtl:input-variable name="det_tit" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="detTit" width="7.5inch" fontSize="9" fontBold="true" floatingBehavior="enclosed" text="{{det_tit.trim()}}"/>
|
||||
<rtl:input-variable name="det1" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDWRAPBOX name="det1Box" width="7.5inch" floatingBehavior="enclosed" text="{{det1.trim()}}"/>
|
||||
<rtl:input-variable name="det2" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDWRAPBOX name="det2Box" width="7.5inch" floatingBehavior="enclosed" text="{{det2.trim()}}"/>
|
||||
<rtl:input-variable name="det3" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDWRAPBOX name="det3Box" width="7.5inch" floatingBehavior="enclosed" text="{{det3.trim()}}"/>
|
||||
</LAYOUTNODE>
|
||||
<LAYOUTNODE name="Informacion3" rtl:condition="es_vac==1" width="min" length="min" fontSize="8" layoutDirection="leftToRight" floatingBehavior="enclosed" borderWidth="1" borderStyle="solid">
|
||||
<rtl:input-variable name="vacacion.fecha_sal" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="WordBox7" width="2.5inch" floatingBehavior="enclosed" text="{{"FECHA SALIDA:"+vacacion.fecha_sal}}"/>
|
||||
<rtl:input-variable name="vacacion.fecha_ent" type="FGLString" expectedLocation="expectedHere"/>
|
||||
@@ -50,7 +61,7 @@
|
||||
<rtl:input-variable name="vacacion.dias_tomados" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="WordBox9" width="2.5inch" floatingBehavior="enclosed" text="{{"DIAS TOMADOS:"+vacacion.dias_tomados.format("&&")}}"/>
|
||||
</LAYOUTNODE>
|
||||
<LAYOUTNODE name="Informacion4" width="min" length="min" fontSize="8" layoutDirection="leftToRight" floatingBehavior="enclosed">
|
||||
<LAYOUTNODE name="Informacion4" rtl:condition="es_vac==1" width="min" length="min" fontSize="8" layoutDirection="leftToRight" floatingBehavior="enclosed">
|
||||
<rtl:input-variable name="vacacion.dias_vac" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="WordBox10" width="2.5inch" floatingBehavior="enclosed" text="{{"DIAS PAGADOS:"+vacacion.dias_vac.format("&&")}}"/>
|
||||
<rtl:input-variable name="vacacion.num_nomi" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
@@ -58,7 +69,7 @@
|
||||
<rtl:input-variable name="vacacion.num_nomi" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="WordBox12" width="2.5inch" floatingBehavior="enclosed" text="{{"NOMINA NO C:"+vacacion.num_nomi.format("&&&&")}}"/>
|
||||
</LAYOUTNODE>
|
||||
<LAYOUTNODE name="Informacion5" width="min" length="min" fontSize="8" layoutDirection="leftToRight" floatingBehavior="enclosed" borderWidth="1" borderStyle="solid">
|
||||
<LAYOUTNODE name="Informacion5" rtl:condition="es_vac==1" width="min" length="min" fontSize="8" layoutDirection="leftToRight" floatingBehavior="enclosed" borderWidth="1" borderStyle="solid">
|
||||
<rtl:input-variable name="vacacion.pano" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="WordBox13" width="2.5inch" floatingBehavior="enclosed" text="{{"PERIODO:"+vacacion.pano}}"/>
|
||||
<rtl:input-variable name="vacacion.dias_tomados" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
@@ -66,7 +77,7 @@
|
||||
<rtl:input-variable name="dias2" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="WordBox15" width="2.5inch" floatingBehavior="enclosed" text="{{"DIAS PAGADOS:"+dias2}}"/>
|
||||
</LAYOUTNODE>
|
||||
<LAYOUTNODE name="Informacion6" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed" borderWidth="1" borderStyle="solid">
|
||||
<LAYOUTNODE name="Informacion6" rtl:condition="es_vac==1" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed" borderWidth="1" borderStyle="solid">
|
||||
<rtl:input-variable name="vacacion.valor_vacaciones" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="WordBox16" width="2.5inch" fontSize="8" fontBold="true" floatingBehavior="enclosed" text="{{"VALOR VACACIONES:"+vacacion.valor_vacaciones.format("###,###.##")}}"/>
|
||||
</LAYOUTNODE>
|
||||
|
||||
@@ -0,0 +1,120 @@
|
||||
<?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="11.00inch" RWPageLength="8.50inch" RWLeftMargin="0.4inch" RWTopMargin="0.4inch" RWRightMargin="0.4inch" RWBottomMargin="0.4inch">
|
||||
<report:FormatList>
|
||||
<report:Format-SVG/>
|
||||
<report:Format-PDF/>
|
||||
<report:Format-image/>
|
||||
</report:FormatList>
|
||||
</report:Settings>
|
||||
<report:Data RWDataLocation="../addir/adprrp048.rdd" RWFglReportName="capacitacion"/>
|
||||
<report:Conflicts/>
|
||||
<rtl:stylesheet>
|
||||
<PXML>
|
||||
<rtl:match name="Report" nameConstraint="Report" minOccurs="1" maxOccurs="1">
|
||||
<MINIPAGE name="Page Root" width="max" length="max" alignment="near">
|
||||
<LAYOUTNODE name="encabezados" width="max" length="min" fontSize="8" port="anyPageHeader" floatingBehavior="enclosed">
|
||||
<LAYOUTNODE name="compania" width="min" length="max" fontBold="true" layoutDirection="leftToRight" floatingBehavior="enclosed">
|
||||
<WORDBOX name="progId" width="1inch" alignment="baseline" floatingBehavior="enclosed" text="adprrp048"/>
|
||||
<rtl:input-variable name="p_companias.nombre" type="FGLString" expectedLocation="expectedAhead"/>
|
||||
<WORDBOX name="empresa" width="7.2inch" floatingBehavior="enclosed" textAlignment="center" text="{{p_companias.nombre.trim()}}"/>
|
||||
<rtl:input-variable name="fecha_rep" type="FGLString" expectedLocation="expectedAhead"/>
|
||||
<WORDBOX name="fechaRep" width="1inch" floatingBehavior="enclosed" textAlignment="right" text="{{fecha_rep}}"/>
|
||||
<rtl:input-variable name="hora" type="FGLString" expectedLocation="expectedAhead"/>
|
||||
<WORDBOX name="horaRep" width="0.9inch" floatingBehavior="enclosed" textAlignment="right" text="{{hora}}"/>
|
||||
</LAYOUTNODE>
|
||||
<LAYOUTNODE name="titulo" width="min" length="max" fontSize="11" fontBold="true" layoutDirection="leftToRight" floatingBehavior="enclosed">
|
||||
<WORDBOX name="tituloTxt" width="10.1inch" floatingBehavior="enclosed" textAlignment="center" text="HORAS DE CAPACITACION POR COLABORADOR"/>
|
||||
</LAYOUTNODE>
|
||||
<LAYOUTNODE name="filtrosNode" width="min" length="max" layoutDirection="leftToRight" floatingBehavior="enclosed">
|
||||
<rtl:input-variable name="filtros" type="FGLString" expectedLocation="expectedAhead"/>
|
||||
<WORDBOX name="filtrosTxt" width="10.1inch" floatingBehavior="enclosed" textAlignment="center" text="{{filtros.trim()}}"/>
|
||||
</LAYOUTNODE>
|
||||
<WORDBOX name="sepEnc" width="max" length="4" floatingBehavior="enclosed" text=" "/>
|
||||
<LAYOUTNODE name="encCols" width="min" length="max" fontSize="7.5" fontBold="true" layoutDirection="leftToRight" floatingBehavior="enclosed" bgColor="#E8D9E6" borderWidth="0.5" borderStyle="solid">
|
||||
<WORDBOX name="hFila" width="1.1inch" floatingBehavior="enclosed" text="MOVIMIENTO"/>
|
||||
<WORDBOX name="hCap" width="2.9inch" floatingBehavior="enclosed" text="CAPACITACION"/>
|
||||
<WORDBOX name="hTipo" width="0.9inch" floatingBehavior="enclosed" text="TIPO"/>
|
||||
<WORDBOX name="hIni" width="0.8inch" floatingBehavior="enclosed" text="INICIO"/>
|
||||
<WORDBOX name="hFin" width="0.8inch" floatingBehavior="enclosed" text="FIN"/>
|
||||
<WORDBOX name="hReq" width="0.65inch" floatingBehavior="enclosed" textAlignment="right" text="H. REQ."/>
|
||||
<WORDBOX name="hTom" width="0.65inch" floatingBehavior="enclosed" textAlignment="right" text="H. TOM."/>
|
||||
<WORDBOX name="hPend" width="0.65inch" floatingBehavior="enclosed" textAlignment="right" text="H. PEND."/>
|
||||
<WORDBOX name="hEspacio" width="0.1inch" floatingBehavior="enclosed" text=" "/>
|
||||
<WORDBOX name="hInst" width="1.5inch" floatingBehavior="enclosed" text="INSTITUCION"/>
|
||||
</LAYOUTNODE>
|
||||
</LAYOUTNODE>
|
||||
<rtl:match name="FirstPageHeader" nameConstraint="FirstPageHeader" minOccurs="0" maxOccurs="1"/>
|
||||
<rtl:match name="Group num_emp" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
|
||||
<LAYOUTNODE name="grpEnc" width="min" length="max" fontSize="8" fontBold="true" layoutDirection="leftToRight" floatingBehavior="enclosed" bgColor="#F3EEF3">
|
||||
<rtl:input-variable name="x.num_emp" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="gFicha" width="0.7inch" floatingBehavior="enclosed" format="<<<<<&" value="{{x.num_emp}}"/>
|
||||
<rtl:input-variable name="x.empleado" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="gEmp" textAlignment="left" width="3.6inch" floatingBehavior="enclosed" text="{{x.empleado.trim()}}"/>
|
||||
<rtl:input-variable name="x.nom_dpto" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="gDpto" textAlignment="left" width="2.9inch" floatingBehavior="enclosed" text="{{x.nom_dpto.trim()}}"/>
|
||||
<rtl:input-variable name="x.nom_puesto" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="gPuesto" textAlignment="left" width="2.9inch" floatingBehavior="enclosed" text="{{x.nom_puesto.trim()}}"/>
|
||||
</LAYOUTNODE>
|
||||
<rtl:match name="OnEveryRow" nameConstraint="OnEveryRow" minOccurs="0" maxOccurs="unbounded">
|
||||
<LAYOUTNODE name="fila" width="min" length="max" fontSize="7.5" layoutDirection="leftToRight" floatingBehavior="enclosed">
|
||||
<rtl:input-variable name="x.fila" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="dFila" width="1.1inch" floatingBehavior="enclosed" text="{{x.fila}}"/>
|
||||
<rtl:input-variable name="x.nom_cap" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="dCap" width="2.9inch" floatingBehavior="enclosed" text="{{x.nom_cap.trim()}}"/>
|
||||
<rtl:input-variable name="x.tipo_evento" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="dTipo" width="0.9inch" floatingBehavior="enclosed" text="{{x.tipo_evento.trim()}}"/>
|
||||
<rtl:input-variable name="fini" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="dIni" width="0.8inch" floatingBehavior="enclosed" text="{{fini}}"/>
|
||||
<rtl:input-variable name="ffin" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="dFin" width="0.8inch" floatingBehavior="enclosed" text="{{ffin}}"/>
|
||||
<rtl:input-variable name="x.h_req" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="dReq" class="grwNumericValue" width="0.65inch" anchorX="1" floatingBehavior="enclosed" textAlignment="right" format="---,--&.&&" value="{{x.h_req}}"/>
|
||||
<rtl:input-variable name="x.h_tom" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="dTom" class="grwNumericValue" width="0.65inch" anchorX="1" floatingBehavior="enclosed" textAlignment="right" format="---,--&.&&" value="{{x.h_tom}}"/>
|
||||
<rtl:input-variable name="x.h_pend" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="dPend" class="grwNumericValue" width="0.65inch" anchorX="1" fontBold="true" floatingBehavior="enclosed" textAlignment="right" format="---,--&.&&" value="{{x.h_pend}}"/>
|
||||
<WORDBOX name="dEspacio" width="0.1inch" floatingBehavior="enclosed" text=" "/>
|
||||
<rtl:input-variable name="x.institucion" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="dInst" width="1.5inch" floatingBehavior="enclosed" text="{{x.institucion.trim()}}"/>
|
||||
</LAYOUTNODE>
|
||||
</rtl:match>
|
||||
<MINIPAGE name="lineaPie" width="max" length="0.5" bgColor="#7E0C6E"/>
|
||||
<LAYOUTNODE name="grpPie" width="min" length="max" fontSize="7.5" fontBold="true" layoutDirection="leftToRight" floatingBehavior="enclosed">
|
||||
<WORDBOX name="pTit" width="3.0inch" floatingBehavior="enclosed" text="Total colaborador"/>
|
||||
<rtl:input-variable name="g_cumpl" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="pCumplTit" width="1.1inch" floatingBehavior="enclosed" text="Cumplimiento %"/>
|
||||
<DECIMALFORMATBOX name="pCumpl" width="1.5inch" floatingBehavior="enclosed" format="---&.&&" value="{{g_cumpl}}"/>
|
||||
<WORDBOX name="pVacio" width="0.9inch" floatingBehavior="enclosed" text=" "/>
|
||||
<rtl:input-variable name="g_req" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="pReq" class="grwNumericValue" width="0.65inch" anchorX="1" floatingBehavior="enclosed" textAlignment="right" format="---,--&.&&" value="{{g_req}}"/>
|
||||
<rtl:input-variable name="g_tom" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="pTom" class="grwNumericValue" width="0.65inch" anchorX="1" floatingBehavior="enclosed" textAlignment="right" format="---,--&.&&" value="{{g_tom}}"/>
|
||||
<rtl:input-variable name="g_pend" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="pPend" class="grwNumericValue" width="0.65inch" anchorX="1" floatingBehavior="enclosed" textAlignment="right" format="---,--&.&&" value="{{g_pend}}"/>
|
||||
</LAYOUTNODE>
|
||||
<WORDBOX name="sepGrp" width="max" length="6" floatingBehavior="enclosed" text=" "/>
|
||||
</rtl:match>
|
||||
<rtl:match name="OnLastRow" nameConstraint="OnLastRow" minOccurs="0" maxOccurs="1">
|
||||
<LAYOUTNODE name="totGen" width="min" length="max" fontSize="8.5" fontBold="true" layoutDirection="leftToRight" floatingBehavior="enclosed" bgColor="#E8D9E6" borderWidth="0.5" borderStyle="solid">
|
||||
<rtl:input-variable name="t_emp" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="tTit" width="1.2inch" floatingBehavior="enclosed" text="TOTAL GENERAL"/>
|
||||
<DECIMALFORMATBOX name="tEmp" width="0.5inch" floatingBehavior="enclosed" format="<<<<&" value="{{t_emp}}"/>
|
||||
<WORDBOX name="tEmpTit" width="1.3inch" floatingBehavior="enclosed" text="colaboradores"/>
|
||||
<rtl:input-variable name="t_cumpl" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="tCumplTit" width="1.1inch" floatingBehavior="enclosed" text="Cumplimiento %"/>
|
||||
<DECIMALFORMATBOX name="tCumpl" width="1.5inch" floatingBehavior="enclosed" format="---&.&&" value="{{t_cumpl}}"/>
|
||||
<WORDBOX name="tVacio" width="0.9inch" floatingBehavior="enclosed" text=" "/>
|
||||
<rtl:input-variable name="t_req" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="tReq" class="grwNumericValue" width="0.65inch" anchorX="1" floatingBehavior="enclosed" textAlignment="right" format="---,--&.&&" value="{{t_req}}"/>
|
||||
<rtl:input-variable name="t_tom" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="tTom" class="grwNumericValue" width="0.65inch" anchorX="1" floatingBehavior="enclosed" textAlignment="right" format="---,--&.&&" value="{{t_tom}}"/>
|
||||
<rtl:input-variable name="t_pend" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="tPend" class="grwNumericValue" width="0.65inch" anchorX="1" floatingBehavior="enclosed" textAlignment="right" format="---,--&.&&" value="{{t_pend}}"/>
|
||||
</LAYOUTNODE>
|
||||
</rtl:match>
|
||||
</MINIPAGE>
|
||||
</rtl:match>
|
||||
</PXML>
|
||||
</rtl:stylesheet>
|
||||
</report:Report>
|
||||
@@ -0,0 +1,113 @@
|
||||
<?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="8.50inch" RWPageLength="11.00inch" RWLeftMargin="0.4inch" RWTopMargin="0.4inch" RWRightMargin="0.4inch" RWBottomMargin="0.4inch">
|
||||
<report:FormatList>
|
||||
<report:Format-SVG/>
|
||||
<report:Format-PDF/>
|
||||
<report:Format-image/>
|
||||
</report:FormatList>
|
||||
</report:Settings>
|
||||
<report:Data RWDataLocation="../addir/adprrp049.rdd" RWFglReportName="rotacion"/>
|
||||
<report:Conflicts/>
|
||||
<rtl:stylesheet>
|
||||
<PXML>
|
||||
<rtl:match name="Report" nameConstraint="Report" minOccurs="1" maxOccurs="1">
|
||||
<MINIPAGE name="Page Root" width="max" length="max" alignment="near">
|
||||
<LAYOUTNODE name="encabezados" width="max" length="min" fontSize="8" port="anyPageHeader" floatingBehavior="enclosed">
|
||||
<LAYOUTNODE name="compania" width="min" length="max" fontBold="true" layoutDirection="leftToRight" floatingBehavior="enclosed">
|
||||
<WORDBOX name="progId" width="0.9inch" alignment="baseline" floatingBehavior="enclosed" text="adprrp049"/>
|
||||
<rtl:input-variable name="p_companias.nombre" type="FGLString" expectedLocation="expectedAhead"/>
|
||||
<WORDBOX name="empresa" width="4.8inch" floatingBehavior="enclosed" textAlignment="center" text="{{p_companias.nombre.trim()}}"/>
|
||||
<rtl:input-variable name="fecha_rep" type="FGLString" expectedLocation="expectedAhead"/>
|
||||
<WORDBOX name="fechaRep" width="0.9inch" floatingBehavior="enclosed" textAlignment="right" text="{{fecha_rep}}"/>
|
||||
<rtl:input-variable name="hora" type="FGLString" expectedLocation="expectedAhead"/>
|
||||
<WORDBOX name="horaRep" width="0.8inch" floatingBehavior="enclosed" textAlignment="right" text="{{hora}}"/>
|
||||
</LAYOUTNODE>
|
||||
<LAYOUTNODE name="titulo" width="min" length="max" fontSize="11" fontBold="true" layoutDirection="leftToRight" floatingBehavior="enclosed">
|
||||
<WORDBOX name="tituloTxt" width="7.4inch" floatingBehavior="enclosed" textAlignment="center" text="ROTACION LABORAL - RESUMEN MENSUAL"/>
|
||||
</LAYOUTNODE>
|
||||
<LAYOUTNODE name="filtrosNode" width="min" length="max" layoutDirection="leftToRight" floatingBehavior="enclosed">
|
||||
<rtl:input-variable name="filtros" type="FGLString" expectedLocation="expectedAhead"/>
|
||||
<WORDBOX name="filtrosTxt" width="7.4inch" floatingBehavior="enclosed" textAlignment="center" text="{{filtros.trim()}}"/>
|
||||
</LAYOUTNODE>
|
||||
<WORDBOX name="sepEnc" width="max" length="4" floatingBehavior="enclosed" text=" "/>
|
||||
<LAYOUTNODE name="encCols" width="min" length="max" fontSize="7.5" fontBold="true" layoutDirection="leftToRight" floatingBehavior="enclosed" bgColor="#E8D9E6" borderWidth="0.5" borderStyle="solid">
|
||||
<WORDBOX name="hMes" width="1.3inch" floatingBehavior="enclosed" text="MES"/>
|
||||
<WORDBOX name="hPlant" width="0.85inch" floatingBehavior="enclosed" textAlignment="right" text="PLANTILLA"/>
|
||||
<WORDBOX name="hIng" width="0.85inch" floatingBehavior="enclosed" textAlignment="right" text="INGRESOS"/>
|
||||
<WORDBOX name="hSal" width="0.85inch" floatingBehavior="enclosed" textAlignment="right" text="SALIDAS"/>
|
||||
<WORDBOX name="hVol" width="0.85inch" floatingBehavior="enclosed" textAlignment="right" text="VOLUNT."/>
|
||||
<WORDBOX name="hInv" width="0.85inch" floatingBehavior="enclosed" textAlignment="right" text="INVOLUNT."/>
|
||||
<WORDBOX name="hOtr" width="0.85inch" floatingBehavior="enclosed" textAlignment="right" text="OTRAS"/>
|
||||
<WORDBOX name="hRot" width="0.95inch" floatingBehavior="enclosed" textAlignment="right" text="ROTACION %"/>
|
||||
</LAYOUTNODE>
|
||||
</LAYOUTNODE>
|
||||
<rtl:match name="FirstPageHeader" nameConstraint="FirstPageHeader" minOccurs="0" maxOccurs="1"/>
|
||||
<rtl:match name="Group anio" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
|
||||
<LAYOUTNODE name="grpEnc" width="min" length="max" fontSize="8.5" fontBold="true" layoutDirection="leftToRight" floatingBehavior="enclosed" bgColor="#F3EEF3">
|
||||
<WORDBOX name="gTit" width="0.5inch" floatingBehavior="enclosed" text="AÑO"/>
|
||||
<rtl:input-variable name="x.anio" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="gAnio" width="1.0inch" floatingBehavior="enclosed" format="&&&&" value="{{x.anio}}"/>
|
||||
</LAYOUTNODE>
|
||||
<rtl:match name="OnEveryRow" nameConstraint="OnEveryRow" minOccurs="0" maxOccurs="unbounded">
|
||||
<LAYOUTNODE name="fila" width="min" length="max" fontSize="7.5" layoutDirection="leftToRight" floatingBehavior="enclosed">
|
||||
<rtl:input-variable name="x.mes_nom" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="dMes" width="1.3inch" floatingBehavior="enclosed" text="{{x.mes_nom}}"/>
|
||||
<rtl:input-variable name="x.plantilla" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="dPlant" class="grwNumericValue" width="0.85inch" anchorX="1" floatingBehavior="enclosed" textAlignment="right" format="---,--&" value="{{x.plantilla}}"/>
|
||||
<rtl:input-variable name="x.ingresos" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="dIng" class="grwNumericValue" width="0.85inch" anchorX="1" floatingBehavior="enclosed" textAlignment="right" format="---,--&" value="{{x.ingresos}}"/>
|
||||
<rtl:input-variable name="x.salidas" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="dSal" class="grwNumericValue" width="0.85inch" anchorX="1" floatingBehavior="enclosed" textAlignment="right" format="---,--&" value="{{x.salidas}}"/>
|
||||
<rtl:input-variable name="x.voluntarias" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="dVol" class="grwNumericValue" width="0.85inch" anchorX="1" floatingBehavior="enclosed" textAlignment="right" format="---,--&" value="{{x.voluntarias}}"/>
|
||||
<rtl:input-variable name="x.involuntarias" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="dInv" class="grwNumericValue" width="0.85inch" anchorX="1" floatingBehavior="enclosed" textAlignment="right" format="---,--&" value="{{x.involuntarias}}"/>
|
||||
<rtl:input-variable name="x.otras" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="dOtr" class="grwNumericValue" width="0.85inch" anchorX="1" floatingBehavior="enclosed" textAlignment="right" format="---,--&" value="{{x.otras}}"/>
|
||||
<rtl:input-variable name="x.rot_pct" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="dRot" class="grwNumericValue" width="0.95inch" anchorX="1" fontBold="true" floatingBehavior="enclosed" textAlignment="right" format="---&.&&" value="{{x.rot_pct}}"/>
|
||||
</LAYOUTNODE>
|
||||
</rtl:match>
|
||||
<MINIPAGE name="lineaPie" width="max" length="0.5" bgColor="#7E0C6E"/>
|
||||
<LAYOUTNODE name="grpPie" width="min" length="max" fontSize="7.5" fontBold="true" layoutDirection="leftToRight" floatingBehavior="enclosed">
|
||||
<WORDBOX name="pTit" width="1.3inch" floatingBehavior="enclosed" text="TOTAL AÑO / PROM."/>
|
||||
<rtl:input-variable name="a_plant" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="pPlant" class="grwNumericValue" width="0.85inch" anchorX="1" floatingBehavior="enclosed" textAlignment="right" format="---,--&" value="{{a_plant}}"/>
|
||||
<rtl:input-variable name="a_ing" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="pIng" class="grwNumericValue" width="0.85inch" anchorX="1" floatingBehavior="enclosed" textAlignment="right" format="---,--&" value="{{a_ing}}"/>
|
||||
<rtl:input-variable name="a_sal" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="pSal" class="grwNumericValue" width="0.85inch" anchorX="1" floatingBehavior="enclosed" textAlignment="right" format="---,--&" value="{{a_sal}}"/>
|
||||
<rtl:input-variable name="a_vol" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="pVol" class="grwNumericValue" width="0.85inch" anchorX="1" floatingBehavior="enclosed" textAlignment="right" format="---,--&" value="{{a_vol}}"/>
|
||||
<rtl:input-variable name="a_inv" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="pInv" class="grwNumericValue" width="0.85inch" anchorX="1" floatingBehavior="enclosed" textAlignment="right" format="---,--&" value="{{a_inv}}"/>
|
||||
<rtl:input-variable name="a_otr" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="pOtr" class="grwNumericValue" width="0.85inch" anchorX="1" floatingBehavior="enclosed" textAlignment="right" format="---,--&" value="{{a_otr}}"/>
|
||||
<rtl:input-variable name="a_pct" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="pRot" class="grwNumericValue" width="0.95inch" anchorX="1" floatingBehavior="enclosed" textAlignment="right" format="---&.&&" value="{{a_pct}}"/>
|
||||
</LAYOUTNODE>
|
||||
<WORDBOX name="sepGrp" width="max" length="6" floatingBehavior="enclosed" text=" "/>
|
||||
</rtl:match>
|
||||
<rtl:match name="OnLastRow" nameConstraint="OnLastRow" minOccurs="0" maxOccurs="1">
|
||||
<LAYOUTNODE name="totGen" width="min" length="max" fontSize="8" fontBold="true" layoutDirection="leftToRight" floatingBehavior="enclosed" bgColor="#E8D9E6" borderWidth="0.5" borderStyle="solid">
|
||||
<WORDBOX name="tTit" width="1.3inch" floatingBehavior="enclosed" text="TOTAL PERIODO"/>
|
||||
<WORDBOX name="tPlant" width="0.85inch" floatingBehavior="enclosed" text=" "/>
|
||||
<rtl:input-variable name="t_ing" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="tIng" class="grwNumericValue" width="0.85inch" anchorX="1" floatingBehavior="enclosed" textAlignment="right" format="---,--&" value="{{t_ing}}"/>
|
||||
<rtl:input-variable name="t_sal" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="tSal" class="grwNumericValue" width="0.85inch" anchorX="1" floatingBehavior="enclosed" textAlignment="right" format="---,--&" value="{{t_sal}}"/>
|
||||
<rtl:input-variable name="t_vol" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="tVol" class="grwNumericValue" width="0.85inch" anchorX="1" floatingBehavior="enclosed" textAlignment="right" format="---,--&" value="{{t_vol}}"/>
|
||||
<rtl:input-variable name="t_inv" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="tInv" class="grwNumericValue" width="0.85inch" anchorX="1" floatingBehavior="enclosed" textAlignment="right" format="---,--&" value="{{t_inv}}"/>
|
||||
<rtl:input-variable name="t_otr" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="tOtr" class="grwNumericValue" width="0.85inch" anchorX="1" floatingBehavior="enclosed" textAlignment="right" format="---,--&" value="{{t_otr}}"/>
|
||||
</LAYOUTNODE>
|
||||
<WORDBOX name="nota" width="max" length="min" fontSize="7" fontItalic="true" floatingBehavior="enclosed" text="Rotacion % = salidas que cuentan para rotacion / plantilla al inicio del mes. Anual = salidas del año / plantilla promedio. Los traslados dentro del grupo no cuentan."/>
|
||||
</rtl:match>
|
||||
</MINIPAGE>
|
||||
</rtl:match>
|
||||
</PXML>
|
||||
</rtl:stylesheet>
|
||||
</report:Report>
|
||||
@@ -0,0 +1,97 @@
|
||||
<?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="11.00inch" RWPageLength="8.50inch" RWLeftMargin="0.4inch" RWTopMargin="0.4inch" RWRightMargin="0.4inch" RWBottomMargin="0.4inch">
|
||||
<report:FormatList>
|
||||
<report:Format-SVG/>
|
||||
<report:Format-PDF/>
|
||||
<report:Format-image/>
|
||||
</report:FormatList>
|
||||
</report:Settings>
|
||||
<report:Data RWDataLocation="../addir/adprrp049.rdd" RWFglReportName="salidas"/>
|
||||
<report:Conflicts/>
|
||||
<rtl:stylesheet>
|
||||
<PXML>
|
||||
<rtl:match name="Report" nameConstraint="Report" minOccurs="1" maxOccurs="1">
|
||||
<MINIPAGE name="Page Root" width="max" length="max" alignment="near">
|
||||
<LAYOUTNODE name="encabezados" width="max" length="min" fontSize="8" port="anyPageHeader" floatingBehavior="enclosed">
|
||||
<LAYOUTNODE name="compania" width="min" length="max" fontBold="true" layoutDirection="leftToRight" floatingBehavior="enclosed">
|
||||
<WORDBOX name="progId" width="1inch" alignment="baseline" floatingBehavior="enclosed" text="adprrp049"/>
|
||||
<rtl:input-variable name="p_companias.nombre" type="FGLString" expectedLocation="expectedAhead"/>
|
||||
<WORDBOX name="empresa" width="7.2inch" floatingBehavior="enclosed" textAlignment="center" text="{{p_companias.nombre.trim()}}"/>
|
||||
<rtl:input-variable name="fecha_rep" type="FGLString" expectedLocation="expectedAhead"/>
|
||||
<WORDBOX name="fechaRep" width="1inch" floatingBehavior="enclosed" textAlignment="right" text="{{fecha_rep}}"/>
|
||||
<rtl:input-variable name="hora" type="FGLString" expectedLocation="expectedAhead"/>
|
||||
<WORDBOX name="horaRep" width="0.9inch" floatingBehavior="enclosed" textAlignment="right" text="{{hora}}"/>
|
||||
</LAYOUTNODE>
|
||||
<LAYOUTNODE name="titulo" width="min" length="max" fontSize="11" fontBold="true" layoutDirection="leftToRight" floatingBehavior="enclosed">
|
||||
<WORDBOX name="tituloTxt" width="10.1inch" floatingBehavior="enclosed" textAlignment="center" text="ROTACION LABORAL - DETALLE DE SALIDAS POR CAUSA"/>
|
||||
</LAYOUTNODE>
|
||||
<LAYOUTNODE name="filtrosNode" width="min" length="max" layoutDirection="leftToRight" floatingBehavior="enclosed">
|
||||
<rtl:input-variable name="filtros" type="FGLString" expectedLocation="expectedAhead"/>
|
||||
<WORDBOX name="filtrosTxt" width="10.1inch" floatingBehavior="enclosed" textAlignment="center" text="{{filtros.trim()}}"/>
|
||||
</LAYOUTNODE>
|
||||
<WORDBOX name="sepEnc" width="max" length="4" floatingBehavior="enclosed" text=" "/>
|
||||
<LAYOUTNODE name="encCols" width="min" length="max" fontSize="7.5" fontBold="true" layoutDirection="leftToRight" floatingBehavior="enclosed" bgColor="#E8D9E6" borderWidth="0.5" borderStyle="solid">
|
||||
<WORDBOX name="hFec" width="0.8inch" floatingBehavior="enclosed" text="SALIDA"/>
|
||||
<WORDBOX name="hFicha" width="0.5inch" floatingBehavior="enclosed" text="FICHA"/>
|
||||
<WORDBOX name="hNom" width="2.1inch" floatingBehavior="enclosed" text="COLABORADOR"/>
|
||||
<WORDBOX name="hDep" width="1.6inch" floatingBehavior="enclosed" text="DEPARTAMENTO"/>
|
||||
<WORDBOX name="hPue" width="1.6inch" floatingBehavior="enclosed" text="PUESTO"/>
|
||||
<WORDBOX name="hTipo" width="0.75inch" floatingBehavior="enclosed" text="TIPO"/>
|
||||
<WORDBOX name="hMeses" width="0.6inch" floatingBehavior="enclosed" textAlignment="right" text="MESES"/>
|
||||
<WORDBOX name="hEsp" width="0.1inch" floatingBehavior="enclosed" text=" "/>
|
||||
<WORDBOX name="hRec" width="0.5inch" floatingBehavior="enclosed" text="RECONT."/>
|
||||
<WORDBOX name="hDet" width="1.55inch" floatingBehavior="enclosed" text="DETALLE"/>
|
||||
</LAYOUTNODE>
|
||||
</LAYOUTNODE>
|
||||
<rtl:match name="FirstPageHeader" nameConstraint="FirstPageHeader" minOccurs="0" maxOccurs="1"/>
|
||||
<rtl:match name="Group cod_causa" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
|
||||
<LAYOUTNODE name="grpEnc" width="min" length="max" fontSize="8.5" fontBold="true" layoutDirection="leftToRight" floatingBehavior="enclosed" bgColor="#F3EEF3">
|
||||
<rtl:input-variable name="y.desc_causa" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="gCausa" width="4.0inch" textAlignment="left" floatingBehavior="enclosed" text="{{y.desc_causa.trim()}}"/>
|
||||
<rtl:input-variable name="y.clase" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="gClase" width="3.0inch" textAlignment="left" floatingBehavior="enclosed" text="{{"("+y.clase.trim()+")"}}"/>
|
||||
</LAYOUTNODE>
|
||||
<rtl:match name="OnEveryRow" nameConstraint="OnEveryRow" minOccurs="0" maxOccurs="unbounded">
|
||||
<LAYOUTNODE name="fila" width="min" length="max" fontSize="7.5" layoutDirection="leftToRight" floatingBehavior="enclosed">
|
||||
<rtl:input-variable name="fsal" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="dFec" width="0.8inch" floatingBehavior="enclosed" text="{{fsal}}"/>
|
||||
<rtl:input-variable name="y.num_emp" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="dFicha" width="0.5inch" floatingBehavior="enclosed" format="<<<<<&" value="{{y.num_emp}}"/>
|
||||
<rtl:input-variable name="y.empleado" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDWRAPBOX name="dNom" width="2.1inch" floatingBehavior="enclosed" text="{{y.empleado.trim()}}"/>
|
||||
<rtl:input-variable name="y.nom_dpto" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDWRAPBOX name="dDep" width="1.6inch" floatingBehavior="enclosed" text="{{y.nom_dpto.trim()}}"/>
|
||||
<rtl:input-variable name="y.nom_puesto" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDWRAPBOX name="dPue" width="1.6inch" floatingBehavior="enclosed" text="{{y.nom_puesto.trim()}}"/>
|
||||
<rtl:input-variable name="y.tipo_emp" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="dTipo" width="0.75inch" floatingBehavior="enclosed" text="{{y.tipo_emp.trim()}}"/>
|
||||
<rtl:input-variable name="y.meses" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="dMeses" class="grwNumericValue" width="0.6inch" anchorX="1" floatingBehavior="enclosed" textAlignment="right" format="---,--&" value="{{y.meses}}"/>
|
||||
<WORDBOX name="dEsp" width="0.1inch" floatingBehavior="enclosed" text=" "/>
|
||||
<rtl:input-variable name="y.recont" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="dRec" width="0.5inch" floatingBehavior="enclosed" text="{{y.recont}}"/>
|
||||
<rtl:input-variable name="y.detalle" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDWRAPBOX name="dDet" width="1.55inch" floatingBehavior="enclosed" text="{{y.detalle.trim()}}"/>
|
||||
</LAYOUTNODE>
|
||||
</rtl:match>
|
||||
<MINIPAGE name="lineaPie" width="max" length="0.5" bgColor="#7E0C6E"/>
|
||||
<LAYOUTNODE name="grpPie" width="min" length="max" fontSize="7.5" fontBold="true" layoutDirection="leftToRight" floatingBehavior="enclosed">
|
||||
<WORDBOX name="pTit" width="1.3inch" floatingBehavior="enclosed" text="Salidas por esta causa:"/>
|
||||
<rtl:input-variable name="g_cant" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="pCant" width="1.0inch" floatingBehavior="enclosed" format="---,--&" value="{{g_cant}}"/>
|
||||
</LAYOUTNODE>
|
||||
<WORDBOX name="sepGrp" width="max" length="6" floatingBehavior="enclosed" text=" "/>
|
||||
</rtl:match>
|
||||
<rtl:match name="OnLastRow" nameConstraint="OnLastRow" minOccurs="0" maxOccurs="1">
|
||||
<LAYOUTNODE name="totGen" width="min" length="max" fontSize="8.5" fontBold="true" layoutDirection="leftToRight" floatingBehavior="enclosed" bgColor="#E8D9E6" borderWidth="0.5" borderStyle="solid">
|
||||
<WORDBOX name="tTit" width="1.6inch" floatingBehavior="enclosed" text="TOTAL DE SALIDAS:"/>
|
||||
<rtl:input-variable name="t_cant" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="tCant" width="1.0inch" floatingBehavior="enclosed" format="---,--&" value="{{t_cant}}"/>
|
||||
</LAYOUTNODE>
|
||||
</rtl:match>
|
||||
</MINIPAGE>
|
||||
</rtl:match>
|
||||
</PXML>
|
||||
</rtl:stylesheet>
|
||||
</report:Report>
|
||||
@@ -0,0 +1,83 @@
|
||||
<?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="60003" version="7.00">
|
||||
<report:Settings RWPageWidth="letterwidth" RWPageLength="letterlength" RWLeftMargin="0.5cm" RWTopMargin="0.5cm" RWRightMargin="0.5cm" RWBottomMargin="0.5cm">
|
||||
<report:FormatList>
|
||||
<report:Format-SVG/>
|
||||
<report:Format-PDF/>
|
||||
<report:Format-image/>
|
||||
</report:FormatList>
|
||||
</report:Settings>
|
||||
<report:Data RWDataLocation="../GUI/ipdir/ipprrp013.rdd" RWFglReportName="estadistica"/>
|
||||
<report:Conflicts/>
|
||||
<rtl:stylesheet>
|
||||
<rtl:match name="Report" nameConstraint="Report">
|
||||
<PXML>
|
||||
<MINIPAGE name="Page Root" width="max" length="max" alignment="near">
|
||||
<LAYOUTNODE name="Page Header" width="max" length="min" port="anyPageHeader">
|
||||
<MINIPAGE name="StripeLayouter3" width="min" length="max" layoutDirection="leftToRight">
|
||||
<PAGENOBOX name="PageNoBox" x="1.23857" y="max" anchorX="0" anchorY="1" alignment="baseline" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="right"/>
|
||||
<WORDBOX name="WordBox4" floatingBehavior="enclosed" text="IPPRRP013"/>
|
||||
<WORDBOX name="WordBox5" x="1.2386" y="453.061" anchorX="0" anchorY="0" floatingBehavior="enclosed" text="PAGINA"/>
|
||||
<rtl:input-variable name="p_companias.nombre" type="FGLString" expectedLocation="expectedAhead"/>
|
||||
<WORDWRAPBOX name="p_companias.nombre Value" x="1.2386" y="184.611" width="width("M")*25" anchorX="0" anchorY="0" floatingBehavior="enclosed" text="{{p_companias.nombre}}"/>
|
||||
</MINIPAGE>
|
||||
<MINIPAGE name="MiniPage7" width="1.5cm" length="max" fontBold="true" layoutDirection="leftToRight">
|
||||
<WORDBOX name="WordBox9" x="5.539" y="40.8204" anchorX="0" anchorY="0" floatingBehavior="enclosed" text="SISTEMA DE INVENTARIO DE PRODUCTOS TERMINADOS"/>
|
||||
<WORDBOX name="WordBox11" x="22.5047" y="143.465" anchorX="0" anchorY="0" floatingBehavior="enclosed" text="DIAS DE INVENTARIO"/>
|
||||
<rtl:input-variable name="fecha" type="FGLString" expectedLocation="expectedAhead"/>
|
||||
<WORDBOX name="WordBox23" x="5.539" y="437.976" anchorX="0" anchorY="0" floatingBehavior="enclosed" text="{{"FECHA: "+fecha}}"/>
|
||||
<rtl:input-variable name="hora" type="FGLString" expectedLocation="expectedAhead"/>
|
||||
<WORDBOX name="WordBox24" x="27.0497" y="437.976" anchorX="0" anchorY="0" floatingBehavior="enclosed" text="{{"HORA: "+hora}}"/>
|
||||
</MINIPAGE>
|
||||
<MINIPAGE name="Table Header" width="min" length="max" alignment="near" layoutDirection="leftToRight">
|
||||
<WORDBOX name="Spacer" alignment="baseline" baselineType="leftleft" port="itemSeparator" text=" "/>
|
||||
<LAYOUTNODE name="LayoutNode3" width="min" length="max" alignment="near" fontSize="8" fontBold="true" layoutDirection="leftToRight" floatingBehavior="free">
|
||||
<WORDBOX name="WordBox13" floatingBehavior="enclosed" text="CODIGO"/>
|
||||
<WORDBOX name="WordBox14" width="1cm" floatingBehavior="enclosed" text=""/>
|
||||
<WORDBOX name="WordBox15" floatingBehavior="enclosed" text="DESCRIPCION"/>
|
||||
<WORDBOX name="WordBox16" width="3cm" alignment="center" floatingBehavior="enclosed" text=""/>
|
||||
<WORDBOX name="WordBox17" alignment="baseline" floatingBehavior="enclosed" text="VENTAS DEL PERIODO"/>
|
||||
<WORDBOX name="WordBox18" width="0.6cm" floatingBehavior="enclosed" text=""/>
|
||||
<WORDBOX name="WordBox19" floatingBehavior="enclosed" text="EXISTENCIA"/>
|
||||
<WORDBOX name="WordBox33_2" width="0.5cm" alignment="center" floatingBehavior="enclosed" text=""/>
|
||||
<WORDBOX name="WordBox34" floatingBehavior="enclosed" text="DIAS CON ORDEN"/>
|
||||
<WORDBOX name="WordBox36" width="0.5cm" floatingBehavior="enclosed" text=""/>
|
||||
<WORDBOX name="WordBox37" floatingBehavior="enclosed" text="FECHA VENTA"/>
|
||||
</LAYOUTNODE>
|
||||
<MINIPAGE name="Separator" width="1" length="max" bgColor="#000000" layoutDirection="leftToRight"/>
|
||||
</MINIPAGE>
|
||||
</LAYOUTNODE>
|
||||
<rtl:match name="OnEveryRow" nameConstraint="OnEveryRow" minOccurs="0" maxOccurs="unbounded">
|
||||
<LAYOUTNODE name="LayoutNode8" width="min" length="max" alignment="near" fontSize="7" layoutDirection="leftToRight" floatingBehavior="enclosed">
|
||||
<rtl:input-variable name="x.cod_n" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<rtl:input-variable name="x.cod_grupo" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<rtl:input-variable name="x.cod_tipo" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<rtl:input-variable name="x.cod_sec" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="WordBox18_1" alignment="baseline" baselineType="leftleft" text="{{x.cod_n.format("###")+""+x.cod_grupo.format("###")+""+x.cod_tipo.format("###")+""+x.cod_sec.format("####")}}"/>
|
||||
<WORDBOX name="WordBox19_1" width=".3cm" alignment="baseline" baselineType="leftleft"/>
|
||||
<rtl:input-variable name="x.descrip_esp" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="WordBox33" width="6.5cm" alignment="baseline" baselineType="leftleft" text="{{x.descrip_esp.trim()}}"/>
|
||||
<WORDBOX name="WordBox21" width="2.4cm" alignment="baseline" baselineType="leftleft"/>
|
||||
<rtl:input-variable name="x.consumo" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="WordBox29" width="1cm" alignment="baseline" floatingBehavior="enclosed" text="{{x.consumo.format("####")}}"/>
|
||||
<LAYOUTNODE name="LayoutNode5" width="0.5cm" length="min" floatingBehavior="enclosed"/>
|
||||
<rtl:input-variable name="x.existe" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="WordBox31_1" width="1cm" alignment="baseline" baselineType="leftleft" textAlignment="right" text="{{x.existe.format("###,###")}}"/>
|
||||
<WORDBOX name="WordBox31_2" width="1cm" floatingBehavior="enclosed" text=""/>
|
||||
<rtl:input-variable name="x.dias" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="WordBox32" width="1cm" floatingBehavior="enclosed" text="{{x.dias.format("###,###")}}"/>
|
||||
<WORDBOX name="WordBox38" width="2cm" floatingBehavior="enclosed" text=""/>
|
||||
<rtl:input-variable name="fecha_v" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="WordBox39" floatingBehavior="enclosed" text="{{fecha_v}}"/>
|
||||
</LAYOUTNODE>
|
||||
</rtl:match>
|
||||
<MINIPAGE name="MiniPage7_1" width="min" length="min">
|
||||
<WORDBOX name="WordBox31" length=".5cm" floatingBehavior="enclosed" text=""/>
|
||||
<rtl:input-variable name="total_registros" type="FGLNumeric" expectedLocation="expectedBefore"/>
|
||||
<WORDBOX name="WordBox33_1" floatingBehavior="enclosed" text="{{"TOTAL ARTICULOS IMPRESOS: "+total_registros.format(">>>>")}}"/>
|
||||
</MINIPAGE>
|
||||
</MINIPAGE>
|
||||
</PXML>
|
||||
</rtl:match>
|
||||
</rtl:stylesheet>
|
||||
</report:Report>
|
||||
@@ -0,0 +1,96 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<report:Report xmlns:rtl="http://www.4js.com/2004/RTL" xmlns:report="http://www.4js.com/2007/REPORT" xmlns="http://www.4js.com/2004/PXML" gstVersion="3140a" version="6.00">
|
||||
<report:Settings RWPageWidth="letterlength" RWPageLength="letterwidth" RWLeftMargin="0.5cm" RWTopMargin="0.5cm" RWRightMargin="0.5cm" RWBottomMargin="0.5cm">
|
||||
<report:FormatList>
|
||||
<report:Format-SVG/>
|
||||
<report:Format-PDF/>
|
||||
<report:Format-image/>
|
||||
</report:FormatList>
|
||||
</report:Settings>
|
||||
<report:Data RWDataLocation="ipprrp013.rdd" RWFglReportName="resumen"/>
|
||||
<report:Conflicts/>
|
||||
<rtl:stylesheet>
|
||||
<PXML>
|
||||
<rtl:match name="Report" nameConstraint="Report">
|
||||
<MINIPAGE name="Page Root" width="max" length="max" alignment="near">
|
||||
<LAYOUTNODE name="Page Header" width="max" length="min" port="anyPageHeader">
|
||||
<MINIPAGE name="StripeLayouter3" width="min" length="max" layoutDirection="leftToRight">
|
||||
<PAGENOBOX name="PageNoBox" x="1.23857" y="max" anchorX="0" anchorY="1" alignment="baseline" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="right"/>
|
||||
<WORDBOX name="WordBox4" floatingBehavior="enclosed" text="IPPRRP013"/>
|
||||
<WORDBOX name="WordBox5" x="1.2386" y="453.061" anchorX="0" anchorY="0" floatingBehavior="enclosed" text="PAGINA"/>
|
||||
<rtl:input-variable name="p_companias.nombre" type="FGLString" expectedLocation="expectedAhead"/>
|
||||
<WORDWRAPBOX name="p_companias.nombre Value" x="1.2386" y="184.611" width="width("M")*25" anchorX="0" anchorY="0" floatingBehavior="enclosed" text="{{p_companias.nombre}}"/>
|
||||
</MINIPAGE>
|
||||
<MINIPAGE name="MiniPage7" width="1.5cm" length="max" fontBold="true" layoutDirection="leftToRight">
|
||||
<WORDBOX name="WordBox9" x="5.539" y="40.8204" anchorX="0" anchorY="0" floatingBehavior="enclosed" text="SISTEMA DE INVENTARIO DE PRODUCTOS TERMINADOS"/>
|
||||
<WORDBOX name="WordBox11" x="22.5047" y="143.465" anchorX="0" anchorY="0" floatingBehavior="enclosed" text="RESUMEN DE MARGEN Y ROTACION POR CLASE"/>
|
||||
<rtl:input-variable name="fecha" type="FGLString" expectedLocation="expectedAhead"/>
|
||||
<WORDBOX name="WordBox23" x="5.539" y="437.976" anchorX="0" anchorY="0" floatingBehavior="enclosed" text="{{"FECHA: "+fecha}}"/>
|
||||
<rtl:input-variable name="hora" type="FGLString" expectedLocation="expectedAhead"/>
|
||||
<WORDBOX name="WordBox24" x="27.0497" y="437.976" anchorX="0" anchorY="0" floatingBehavior="enclosed" text="{{"HORA: "+hora}}"/>
|
||||
</MINIPAGE>
|
||||
<MINIPAGE name="PeriodoLine" width="min" length="max" layoutDirection="leftToRight">
|
||||
<rtl:input-variable name="fecha1" type="FGLString" expectedLocation="expectedAhead"/>
|
||||
<rtl:input-variable name="fecha2" type="FGLString" expectedLocation="expectedAhead"/>
|
||||
<WORDBOX name="WordBoxP1" floatingBehavior="enclosed" text="{{"PERIODO: "+fecha1+" a "+fecha2}}"/>
|
||||
</MINIPAGE>
|
||||
<MINIPAGE name="Table Header" width="min" length="max" alignment="near" layoutDirection="leftToRight">
|
||||
<WORDBOX name="Spacer" alignment="baseline" baselineType="leftleft" port="itemSeparator" text=" "/>
|
||||
<LAYOUTNODE name="LayoutNodeHdr" width="min" length="max" alignment="near" fontSize="8" fontBold="true" layoutDirection="leftToRight" floatingBehavior="free">
|
||||
<WORDBOX name="H_clase" width="5cm" floatingBehavior="enclosed" text="CLASE"/>
|
||||
<WORDBOX name="H_cat" width="3.5cm" floatingBehavior="enclosed" text="CATEGORIA"/>
|
||||
<WORDBOX name="H_prod" width="1.4cm" alignment="baseline" floatingBehavior="enclosed" textAlignment="right" text="#PROD"/>
|
||||
<WORDBOX name="H_vinv" width="2.6cm" alignment="baseline" floatingBehavior="enclosed" textAlignment="right" text="VALOR INV"/>
|
||||
<WORDBOX name="H_vta" width="2.6cm" alignment="baseline" floatingBehavior="enclosed" textAlignment="right" text="VENTA PERIODO"/>
|
||||
<WORDBOX name="H_gan" width="2.6cm" alignment="baseline" floatingBehavior="enclosed" textAlignment="right" text="GANANCIA"/>
|
||||
<WORDBOX name="H_mg" width="1.6cm" alignment="baseline" floatingBehavior="enclosed" textAlignment="right" text="MARGEN %"/>
|
||||
<WORDBOX name="H_rot" width="1.8cm" alignment="baseline" floatingBehavior="enclosed" textAlignment="right" text="ROT.PROM"/>
|
||||
<WORDBOX name="H_est" width="1.2cm" alignment="baseline" floatingBehavior="enclosed" textAlignment="right" text="#EST"/>
|
||||
<WORDBOX name="H_rev" width="1.2cm" alignment="baseline" floatingBehavior="enclosed" textAlignment="right" text="#REV"/>
|
||||
</LAYOUTNODE>
|
||||
<MINIPAGE name="Separator" width="1" length="max" bgColor="#000000" layoutDirection="leftToRight"/>
|
||||
</MINIPAGE>
|
||||
</LAYOUTNODE>
|
||||
<rtl:match name="OnEveryRow" nameConstraint="OnEveryRow" minOccurs="0" maxOccurs="unbounded">
|
||||
<LAYOUTNODE name="ClaseLine" width="min" length="max" alignment="near" fontSize="8" layoutDirection="leftToRight" floatingBehavior="enclosed">
|
||||
<rtl:input-variable name="r.cod_n" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<rtl:input-variable name="r.nombre_clase" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="V_clase" width="5cm" alignment="baseline" baselineType="leftleft" text="{{r.cod_n.format("####").trim()+" "+r.nombre_clase.trim()}}"/>
|
||||
<rtl:input-variable name="r.categoria" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="V_cat" width="3.5cm" alignment="baseline" baselineType="leftleft" text="{{r.categoria.trim()}}"/>
|
||||
<rtl:input-variable name="r.c_prod" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="V_prod" width="1.4cm" alignment="baseline" baselineType="leftleft" textAlignment="right" text="{{r.c_prod.format("###,##&")}}"/>
|
||||
<rtl:input-variable name="r.c_valor_inv" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="V_vinv" width="2.6cm" alignment="baseline" baselineType="leftleft" textAlignment="right" text="{{r.c_valor_inv.format("###,###,###,##&.&&")}}"/>
|
||||
<rtl:input-variable name="r.c_ventas" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="V_vta" width="2.6cm" alignment="baseline" baselineType="leftleft" textAlignment="right" text="{{r.c_ventas.format("###,###,###,##&.&&")}}"/>
|
||||
<rtl:input-variable name="r.c_ganancia" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="V_gan" width="2.6cm" alignment="baseline" baselineType="leftleft" textAlignment="right" text="{{r.c_ganancia.format("###,###,###,##&.&&")}}"/>
|
||||
<rtl:input-variable name="r.c_margen" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="V_mg" width="1.6cm" alignment="baseline" baselineType="leftleft" textAlignment="right" text="{{r.c_margen.format("##&.&&")}}"/>
|
||||
<rtl:input-variable name="r.c_rot_prom" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="V_rot" width="1.8cm" alignment="baseline" baselineType="leftleft" textAlignment="right" text="{{r.c_rot_prom.format("###,##&.&&")}}"/>
|
||||
<rtl:input-variable name="r.c_estrella" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="V_est" width="1.2cm" alignment="baseline" baselineType="leftleft" textAlignment="right" text="{{r.c_estrella.format("###,##&")}}"/>
|
||||
<rtl:input-variable name="r.c_revisar" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="V_rev" width="1.2cm" alignment="baseline" color="{{r.c_revisar>0?Color.RED:Color.BLACK}}" baselineType="leftleft" textAlignment="right" text="{{r.c_revisar.format("###,##&")}}"/>
|
||||
</LAYOUTNODE>
|
||||
</rtl:match>
|
||||
<MINIPAGE name="TotalSep" width="1" length="max" bgColor="#000000" layoutDirection="leftToRight"/>
|
||||
<MINIPAGE name="TotalLine" width="min" length="max" alignment="near" fontSize="8" fontBold="true" layoutDirection="leftToRight">
|
||||
<rtl:input-variable name="g_prod" type="FGLNumeric" expectedLocation="expectedBefore"/>
|
||||
<WORDBOX name="T_lbl" width="8.5cm" floatingBehavior="enclosed" text="{{"TOTAL GENERAL (productos: "+g_prod.format("###,##&").trim()+")"}}"/>
|
||||
<rtl:input-variable name="g_valor_inv" type="FGLNumeric" expectedLocation="expectedBefore"/>
|
||||
<WORDBOX name="T_vinv" width="2.6cm" alignment="baseline" floatingBehavior="enclosed" textAlignment="right" text="{{g_valor_inv.format("###,###,###,##&.&&")}}"/>
|
||||
<rtl:input-variable name="g_ventas" type="FGLNumeric" expectedLocation="expectedBefore"/>
|
||||
<WORDBOX name="T_vta" width="2.6cm" alignment="baseline" floatingBehavior="enclosed" textAlignment="right" text="{{g_ventas.format("###,###,###,##&.&&")}}"/>
|
||||
<rtl:input-variable name="g_ganancia" type="FGLNumeric" expectedLocation="expectedBefore"/>
|
||||
<WORDBOX name="T_gan" width="2.6cm" alignment="baseline" floatingBehavior="enclosed" textAlignment="right" text="{{g_ganancia.format("###,###,###,##&.&&")}}"/>
|
||||
<rtl:input-variable name="g_margen" type="FGLNumeric" expectedLocation="expectedBefore"/>
|
||||
<WORDBOX name="T_mg" width="1.6cm" alignment="baseline" floatingBehavior="enclosed" textAlignment="right" text="{{g_margen.format("##&.&&")}}"/>
|
||||
</MINIPAGE>
|
||||
</MINIPAGE>
|
||||
</rtl:match>
|
||||
</PXML>
|
||||
</rtl:stylesheet>
|
||||
</report:Report>
|
||||
@@ -0,0 +1,100 @@
|
||||
<?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="25.00cm" RWPageLength="29.70cm" RWLeftMargin="0.511993cm" RWTopMargin="1.3cm" RWRightMargin="0.430673cm" RWBottomMargin="1.3cm">
|
||||
<report:FormatList>
|
||||
<report:Format-SVG/>
|
||||
<report:Format-PDF/>
|
||||
<report:Format-image/>
|
||||
</report:FormatList>
|
||||
</report:Settings>
|
||||
<report:Data RWDataLocation="../ipdir/ipprrp053.rdd" RWFglReportName="rpt_ipprrp053"/>
|
||||
<report:Conflicts>
|
||||
<report:Conflict nodeName="LayoutNode31_1_1" message="Node was in trigger "OnLastRow [0; 1]", but trigger was removed during schema update"/>
|
||||
</report:Conflicts>
|
||||
<rtl:stylesheet>
|
||||
<PXML>
|
||||
<rtl:match name="Report" nameConstraint="Report" minOccurs="1" maxOccurs="1">
|
||||
<MINIPAGE name="pageRoot" width="max" length="766.687" alignment="near" fontName="Arial">
|
||||
<rtl:match name="FirstPageHeader" nameConstraint="FirstPageHeader" minOccurs="0" maxOccurs="1">
|
||||
<LAYOUTNODE name="Layout Node7" width="min" length="min" alignment="center" swapX="true" port="firstPageHeader">
|
||||
<LAYOUTNODE name="Titulo" width="min" length="max" fontBold="true" layoutDirection="leftToRight" floatingBehavior="enclosed" borderWidth="0.2" borderStyle="solid" borderColor="#828282">
|
||||
<WORDBOX name="WordBox159" width="66" alignment="baseline" floatingBehavior="enclosed" text="ipprrp053"/>
|
||||
<WORDWRAPBOX name="p_companias.nombre Value" width="549.417" length="14.7813" alignment="baseline" floatingBehavior="enclosed" text="{{"MARMOTECH S.A."}}" textAlignment="center"/>
|
||||
<WORDBOX name="WordBox159_1" width="66" alignment="baseline" floatingBehavior="enclosed" text=""/>
|
||||
</LAYOUTNODE>
|
||||
<MINIPAGE name="StripeLayouter14" width="16.245" length="max" alignment="center" layoutDirection="leftToRight">
|
||||
<WORDBOX name="WordBox2_1_1" width="146" alignment="baseline" fontBold="true" floatingBehavior="enclosed" textAlignment="left" text="Fecha desde:" borderWidth="0"/>
|
||||
<WORDBOX name="WordBox2_1" width="153" alignment="baseline" fontBold="true" floatingBehavior="enclosed" textAlignment="left" text="Hasta:" borderWidth="0"/>
|
||||
<rtl:input-variable name="fecha1" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<DATEFORMATBOX name="fech_inicio Value" class="grwDateValue" x="0.4891" y="80.0076" width="62.125" anchorX="0" anchorY="0" floatingBehavior="enclosed" format="{{"dd/mm/yyyy"}}" value="{{Date.fromIsoValue(fecha1.isoValue)}}"/>
|
||||
<rtl:input-variable name="fecha2" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<DATEFORMATBOX name="fech_corte Value" class="grwDateValue" x="0.4891" y="186.04" width="102.969" anchorX="0" anchorY="0" floatingBehavior="enclosed" format="{{"dd/mm/yyyy"}}" value="{{Date.fromIsoValue(fecha2.isoValue)}}"/>
|
||||
</MINIPAGE>
|
||||
<MINIPAGE name="Enc.Secundario" width="min" length="min" alignment="near" layoutDirection="leftToRight" borderWidth="0.2" borderStyle="solid" borderColor="#828282">
|
||||
<WORDBOX name="WordBox2" width="679.635" alignment="near" fontBold="true" floatingBehavior="enclosed" textAlignment="center" text="INFORME TRANSACCIONES INVENTARIOS" borderWidth="0"/>
|
||||
<rtl:input-variable name="fecha_actual" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="x.fecha_factura Value" width="141.56" length="22.3906" alignment="near" fontBold="true" floatingBehavior="enclosed" textAlignment="right" text="{{fecha_actual}}" borderWidth="0"/>
|
||||
</MINIPAGE>
|
||||
</LAYOUTNODE>
|
||||
</rtl:match>
|
||||
<rtl:match name="Group codigo_mov" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
|
||||
<LAYOUTNODE name="LayoutNode31_1" width="26.5682" length="max" alignment="near" fontSize="9" layoutDirection="leftToRight" borderWidth="1" borderColor="#dfdfdf">
|
||||
<rtl:input-variable name="x.codigo_mov" type="FGLNumeric" expectedLocation="expectedWayAhead"/>
|
||||
<rtl:input-variable name="x.descripcion_mov" type="FGLString" expectedLocation="expectedWayAhead"/>
|
||||
<WORDBOX name="karr_ordenes.valor Value9" class="grwNumericValue" width="254.866" length="25.0469" anchorX="1" alignment="center" fontSize="10" fontBold="true" baselineType="leftleft" textAlignment="left" text="{{"("+x.codigo_mov+")"+" "+x.descripcion_mov}}"/>
|
||||
</LAYOUTNODE>
|
||||
<LAYOUTNODE name="encabezadod" width="max" length="min" swapX="true">
|
||||
<MINIPAGE name="StripeLayouter23" width=".1cm" bgColor="#cc" layoutDirection="leftToRight"/>
|
||||
<MINIPAGE name="encabezadodetalle" width="min" length="max" bgColor="#cccccc" fontBold="true" layoutDirection="leftToRight">
|
||||
<WORDBOX name="WordBox44" width="92.688" length="12.3906" alignment="center" fontSize="8" baselineType="leftleft" textAlignment="center" text="{{"FECHA"}}"/>
|
||||
<WORDWRAPBOX name="WordWrapBox17" width="84.52" alignment="center" fontSize="8" baselineType="leftleft" text="DOCUMENTO" textAlignment="center"/>
|
||||
<WORDWRAPBOX name="WordBox120_1_2" width="156.347" alignment="center" fontSize="8" floatingBehavior="enclosed" text="ORIGEN " textAlignment="center"/>
|
||||
<WORDWRAPBOX name="WordBox120_4" width="141.347" length="9.1719" alignment="center" fontSize="8" floatingBehavior="enclosed" text="PRODUCTO " textAlignment="center"/>
|
||||
<WORDBOX name="WordBox120_1_1" width="84.3465" alignment="center" fontSize="8" floatingBehavior="enclosed" textAlignment="center" text="CANTIDAD"/>
|
||||
<WORDBOX name="WordBox120_1" width="84.3465" alignment="center" fontSize="8" floatingBehavior="enclosed" textAlignment="center" text="COSTO"/>
|
||||
</MINIPAGE>
|
||||
<MINIPAGE name="StripeLayouter25" width=".1cm" bgColor="#cc" layoutDirection="leftToRight"/>
|
||||
</LAYOUTNODE>
|
||||
<rtl:match name="OnEveryRow" nameConstraint="OnEveryRow" minOccurs="0" maxOccurs="unbounded">
|
||||
<LAYOUTNODE name="LayoutNode31" width="34.5682" length="max" alignment="near" fontSize="9" layoutDirection="leftToRight" borderWidth="1" borderStyle="solid" borderColor="#dfdfdf">
|
||||
<rtl:input-variable name="print_fecha" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDWRAPBOX name="WordWrapBox4" width="86.359" length="24.3281" alignment="baseline" fontSize="8" floatingBehavior="enclosed" text="{{print_fecha}}" trimText="both" textAlignment="center"/>
|
||||
<rtl:input-variable name="print_doc" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="WordBox" width="85.197" length="24.2783" alignment="baseline" fontSize="8" baselineType="leftleft" textAlignment="center" text="{{print_doc}}"/>
|
||||
<LAYOUTNODE name="espacio" width="min" length="3.5197" layoutDirection="leftToRight"/>
|
||||
<LAYOUTNODE name="espacio5_1" width="21" length="5" layoutDirection="leftToRight"/>
|
||||
<rtl:input-variable name="print_almacen" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDWRAPBOX name="x.almacen Value" class="grwStringValue" width="width("M")*20" length="26.3281" floatingBehavior="enclosed" text="{{print_almacen}}" textAlignment="center"/>
|
||||
<LAYOUTNODE name="espacio5_1_7" width="21" length="4" layoutDirection="leftToRight"/>
|
||||
<rtl:input-variable name="x.producto" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDWRAPBOX name="x.producto Value" class="grwStringValue" width="136.688" length="33.3281" fontSize="9" floatingBehavior="enclosed" text="{{x.producto}}" textAlignment="center"/>
|
||||
<LAYOUTNODE name="espacio5_1_1" width="20" length="5" layoutDirection="leftToRight"/>
|
||||
<rtl:input-variable name="x.cantidad" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="x.cantidad Value" class="grwNumericValue" width="89.9844" length="25.0469" anchorX="1" floatingBehavior="enclosed" textAlignment="center" format="---,---,---,---,---,--&.&&" value="{{x.cantidad}}"/>
|
||||
<LAYOUTNODE name="espacio5_1_1_1" width="20" length="5" layoutDirection="leftToRight"/>
|
||||
<rtl:input-variable name="x.costo_standard" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="x.costo_standard Value" class="grwNumericValue" length="25.183" anchorX="1" floatingBehavior="enclosed" textAlignment="center" format="---,---,---,---,---,--&.&&" value="{{x.costo_standard}}"/>
|
||||
</LAYOUTNODE>
|
||||
</rtl:match>
|
||||
<LAYOUTNODE name="LayoutNode31_1_1_1" width="25.433" length="max" alignment="near" fontSize="9" layoutDirection="leftToRight" borderWidth="1" borderStyle="solid" borderColor="#000000">
|
||||
<rtl:input-variable name="grupo_registros" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<WORDWRAPBOX name="WordWrapBox18" width="173.996" length="24.3281" alignment="center" fontBold="true" floatingBehavior="enclosed" text="{{"Total movimiento: "+grupo_registros}}" trimText="both" textAlignment="left"/>
|
||||
<LAYOUTNODE name="espacio5_1_8" width="20" length="353.377" layoutDirection="leftToRight"/>
|
||||
<rtl:input-variable name="grupo_cantidad" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="arr_costos.codigo_bloque Value7" class="grwStringValue" width="107.174" length="25.0469" fontBold="true" floatingBehavior="enclosed" textAlignment="center" value="{{grupo_cantidad}}"/>
|
||||
</LAYOUTNODE>
|
||||
</rtl:match>
|
||||
<rtl:match name="OnLastRow" nameConstraint="OnLastRow" minOccurs="0" maxOccurs="1">
|
||||
<LAYOUTNODE name="LayoutNode31_1_1" width="25.433" length="max" alignment="near" fontSize="9" layoutDirection="leftToRight" borderWidth="1" borderStyle="solid" borderColor="#000000">
|
||||
<rtl:input-variable name="total_registros" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<WORDWRAPBOX name="WordWrapBox11" width="174.36" length="24.3281" alignment="center" fontBold="true" floatingBehavior="enclosed" text="{{"Total registros: "+total_registros}}" trimText="both" textAlignment="left"/>
|
||||
<LAYOUTNODE name="espacio5_1_5" width="20" length="353.377" layoutDirection="leftToRight"/>
|
||||
<rtl:input-variable name="total_cantidad" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="arr_costos.codigo_bloque Value6" class="grwStringValue" width="107.174" length="25.0469" fontBold="true" floatingBehavior="enclosed" textAlignment="center" value="{{total_cantidad}}"/>
|
||||
</LAYOUTNODE>
|
||||
</rtl:match>
|
||||
</MINIPAGE>
|
||||
</rtl:match>
|
||||
</PXML>
|
||||
</rtl:stylesheet>
|
||||
</report:Report>
|
||||
@@ -0,0 +1,174 @@
|
||||
<?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="60003" version="7.00">
|
||||
<report:Settings RWPageWidth="letterwidth" RWPageLength="letterlength" RWLeftMargin="0.5cm" RWTopMargin="0.5cm" RWRightMargin="0.5cm" RWBottomMargin="0.5cm">
|
||||
<report:FormatList>
|
||||
<report:Format-PDF/>
|
||||
<report:Format-image/>
|
||||
<report:Format-SVG/>
|
||||
</report:FormatList>
|
||||
</report:Settings>
|
||||
<report:Data RWDataLocation="../vedir/veprmt022.rdd" RWFglReportName="imp_factura"/>
|
||||
<report:Conflicts>
|
||||
<report:Conflict nodeName="MiniPage1" message="Node was in trigger "Group factura [0; unbounded]", but trigger was removed during schema update"/>
|
||||
<report:Conflict nodeName="subtotal" message="Node was in trigger "Group factura [0; unbounded]", but trigger was removed during schema update"/>
|
||||
<report:Conflict nodeName="final" message="Node was in trigger "Group factura [0; unbounded]", but trigger was removed during schema update"/>
|
||||
</report:Conflicts>
|
||||
<rtl:stylesheet>
|
||||
<PXML>
|
||||
<rtl:match name="Report" nameConstraint="Report">
|
||||
<MINIPAGE name="MiniPage1" width="max" length="min" fontName="Arial">
|
||||
<LAYOUTNODE name="Layout Node7" width="min" length="min" alignment="near" swapX="true" port="firstPageHeader">
|
||||
<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="{{"file:///E:/MARMOTECHC/BIN320/IMAGENES/logo.png"}}" 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()}}"/>
|
||||
<WORDWRAPBOX name="WordWrapBox5" width="width("M")*33" fontSize="9" floatingBehavior="enclosed" text="{{direccion_sucursal.trim()}}"/>
|
||||
<LAYOUTNODE name="ourAdress" x="0" width="min" length="min" anchorX="0" layoutDirection="leftToRight" floatingBehavior="enclosed">
|
||||
<LAYOUTNODE name="Layout Node11" width="min" length="min">
|
||||
<WORDBOX name="WordBox11_1" alignment="near" fontSize="9" baselineType="leftleft" text="{{"RNC:"}}"/>
|
||||
<WORDBOX name="WordBox12" alignment="baseline" fontSize="9" baselineType="leftleft" text="Telefono:"/>
|
||||
</LAYOUTNODE>
|
||||
<LAYOUTNODE name="Layout Node12" width="min" length="min">
|
||||
<WORDBOX name="WordBox93" alignment="baseline" fontSize="9" floatingBehavior="enclosed" text="{{p_companias.rnc}}"/>
|
||||
<WORDBOX name="WordBox15" alignment="baseline" fontSize="9" baselineType="leftleft" text="{{p_companias.telefono}}"/>
|
||||
</LAYOUTNODE>
|
||||
</LAYOUTNODE>
|
||||
<LAYOUTNODE name="LayoutNode" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
|
||||
<WORDBOX name="WordBox32_1_1" alignment="baseline" baselineType="leftleft" text="{{"Fecha Emision: "+x.fecha_factura.value}}"/>
|
||||
</LAYOUTNODE>
|
||||
</LAYOUTNODE>
|
||||
</LAYOUTNODE>
|
||||
<LAYOUTNODE name="NCF" x="20" y="290" width="282.6" length="min" alignment="near" floatingBehavior="enclosed">
|
||||
<WORDBOX name="WordBox31_1" width="max" alignment="baseline" fontSize="12" fontBold="true" baselineType="leftleft" textAlignment="right" text="{{descripcion.trim()}}"/>
|
||||
<WORDBOX name="WordBox73_1" width="max" alignment="baseline" fontSize="12" baselineType="leftleft" textAlignment="right" text="{{ch_ncf.trim()}}"/>
|
||||
<WORDBOX name="ch_fecha Value" rtl:condition="ncffechaVencimiento==1" width="max" alignment="near" floatingBehavior="enclosed" textAlignment="right" text="{{"Vencimiento Secuencia: "+ch_fecha}}"/>
|
||||
</LAYOUTNODE>
|
||||
</LAYOUTNODE>
|
||||
<MINIPAGE name="razonsolcial" width="min" length="max" alignment="far" layoutDirection="leftToRight" roundedCorners="true" borderWidth="1" borderStyle="solid" borderTopColor="#0087cb" borderRightColor="#ffffff" borderBottomColor="#0087cb" borderLeftColor="#ffffff">
|
||||
<LAYOUTNODE name="customerAddress" x="0.5cm" width="min" length="min" anchorY="1" layoutDirection="leftToRight" floatingBehavior="enclosed">
|
||||
<LAYOUTNODE name="Layout Node15" width="min" length="min" alignment="near" fontSize="8">
|
||||
<LAYOUTNODE name="Layout Node17" width="min" length="min" fontItalic="true" layoutDirection="leftToRight">
|
||||
<WORDBOX name="WordBox18" alignment="baseline" fontBold="true" baselineType="leftleft" text="{{"Razon Social Cliente: "}}"/>
|
||||
<WORDBOX name="WordBox19" alignment="near" baselineType="leftleft" text="{{"("+x.tipo_cliente.format("<<")+"-"+x.sec_cliente.format("&&&&&&&&")+")"+x.nombre.trim()}}"/>
|
||||
</LAYOUTNODE>
|
||||
<LAYOUTNODE name="Layout Node33" width="min" length="min" layoutDirection="leftToRight">
|
||||
<WORDBOX name="WordBox64" width="2.2cm" alignment="baseline" fontBold="true" baselineType="leftleft" text="{{"RNC o CEDULA: "}}"/>
|
||||
<WORDBOX name="WordBox105" floatingBehavior="enclosed" text="{{rnc.trim()}}"/>
|
||||
</LAYOUTNODE>
|
||||
<LAYOUTNODE name="direccion" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
|
||||
<WORDBOX name="WordBox125" width="2.2cm" alignment="near" fontBold="true" floatingBehavior="enclosed" text="{{"Direccion: "}}"/>
|
||||
<WORDWRAPBOX name="WordWrapBox6" width="width("M")*34" floatingBehavior="enclosed" text="{{x.direccion}}"/>
|
||||
</LAYOUTNODE>
|
||||
<LAYOUTNODE name="telefonoemail" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
|
||||
<WORDBOX name="WordBox126" width="2.2cm" floatingBehavior="enclosed" text="Telefono"/>
|
||||
<WORDBOX name="WordBox123" width="2.3cm" floatingBehavior="enclosed" text="{{cliente_bas.telefono}}"/>
|
||||
<WORDBOX name="WordBox127" width="4cm" floatingBehavior="enclosed" text="{{" Email:"+cemail.trim()}}"/>
|
||||
</LAYOUTNODE>
|
||||
<LAYOUTNODE name="representante" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
|
||||
<WORDBOX name="WordBox128" width="2.2cm" floatingBehavior="enclosed" text="Representante"/>
|
||||
<WORDBOX name="WordBox124" width="4cm" floatingBehavior="enclosed" text="{{x.nombre_vend.trim()}}"/>
|
||||
</LAYOUTNODE>
|
||||
<LAYOUTNODE name="LayoutNode52" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
|
||||
<WORDBOX name="WordBox121" floatingBehavior="enclosed" text="{{"TASA: "+x.prima_us}}"/>
|
||||
</LAYOUTNODE>
|
||||
</LAYOUTNODE>
|
||||
</LAYOUTNODE>
|
||||
<LAYOUTNODE name="datosfactura" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
|
||||
<LAYOUTNODE name="LayoutNode53" x="14.1732" width="278.239" length="min" alignment="baseline" layoutDirection="topToBottom" floatingBehavior="enclosed">
|
||||
<LAYOUTNODE name="LayoutNode55" x="120" width="min" length="min" fontSize="12" fontBold="true" fontItalic="true" layoutDirection="leftToRight" floatingBehavior="enclosed">
|
||||
<WORDBOX name="WordBox129" width="3cm" floatingBehavior="enclosed" text="Factura No.:"/>
|
||||
<WORDBOX name="WordBox130" width="2cm" alignment="far" floatingBehavior="enclosed" text="{{x.factura.format("&&&&&&&&&")}}"/>
|
||||
</LAYOUTNODE>
|
||||
<LAYOUTNODE name="LayoutNode56" x="120" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
|
||||
<WORDBOX name="WordBox131" width="3cm" alignment="far" floatingBehavior="enclosed" text="Cotizacion No.:"/>
|
||||
<WORDBOX name="WordBox132" floatingBehavior="enclosed" text="{{x.conduce.format("&&&&&&&&&")}}"/>
|
||||
</LAYOUTNODE>
|
||||
<LAYOUTNODE name="LayoutNode57" x="120" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
|
||||
<WORDBOX name="WordBox133" width="3cm" floatingBehavior="enclosed" text="Orden No.:"/>
|
||||
<WORDBOX name="WordBox134" floatingBehavior="enclosed" text="{{x.orden.format("&&&&&&&&&")}}"/>
|
||||
</LAYOUTNODE>
|
||||
<LAYOUTNODE name="LayoutNode58" x="120" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
|
||||
<WORDBOX name="WordBox135" width="4cm" alignment="baseline" floatingBehavior="enclosed" text="{{"Condicion Cobros: "+condicion.descrip.trim()}}"/>
|
||||
</LAYOUTNODE>
|
||||
</LAYOUTNODE>
|
||||
</LAYOUTNODE>
|
||||
</MINIPAGE>
|
||||
<LAYOUTNODE name="LayoutNode41" width="15" length="min" alignment="near" layoutDirection="leftToRight" floatingBehavior="enclosed">
|
||||
<WORDBOX name="WordBox" alignment="baseline" floatingBehavior="enclosed"/>
|
||||
</LAYOUTNODE>
|
||||
<MINIPAGE name="StripeLayouter19" width="min" length="max" bgColor="#e5e5e5" fontBold="true" layoutDirection="leftToRight" roundedCorners="true" borderWidth=".9" borderStyle="solid">
|
||||
<WORDBOX name="WordBox40" width="2.7cm" alignment="baseline" baselineType="leftleft" textAlignment="center" text="Cantidad"/>
|
||||
<WORDWRAPBOX name="WordWrapBox1" width="8cm" alignment="baseline" baselineType="leftleft" floatingBehavior="free" text="Descripcion"/>
|
||||
<WORDWRAPBOX name="WordWrapBox" width="width("M")*6" alignment="baseline" floatingBehavior="enclosed" text="Unidad de Medida" textAlignment="center"/>
|
||||
<WORDBOX name="WordBox41" width="2cm" alignment="baseline" baselineType="rightright" textAlignment="right" text="Precio"/>
|
||||
<WORDBOX name="WordBox98_1" width="5.5cm" floatingBehavior="enclosed" textAlignment="right" text="Total"/>
|
||||
</MINIPAGE>
|
||||
<MINIPAGE name="StripeLayouter21" width=".2cm" layoutDirection="leftToRight"/>
|
||||
</LAYOUTNODE>
|
||||
<rtl:match name="OnEveryRow" nameConstraint="OnEveryRow" minOccurs="0" maxOccurs="unbounded">
|
||||
<MINIPAGE name="PAGINADETALLE" width="max" lengthAdjustment="shrinkToChildren" swapX="true" hidePageFooterOnLastPage="true" roundedCorners="true" borderWidth=".08" borderStyle="solid">
|
||||
<MINIPAGE name="DETALLEFACTURA" width="min" length="max" layoutDirection="leftToRight">
|
||||
<LAYOUTNODE name="LayoutNode31" width="min" length="max" fontSize="8" layoutDirection="leftToRight" roundedCorners="true" borderWidth=".9" borderStyle="solid">
|
||||
<WORDBOX name="cantidad" width="2.5cm" alignment="baseline" baselineType="leftleft" textAlignment="left" text="{{z.cantidad.format("###,##&.##")}}"/>
|
||||
<WORDWRAPBOX name="WordWrapBox3" width="8cm" alignment="baseline" baselineType="leftleft" text="{{z.descrip_esp.trim()}}"/>
|
||||
<WORDBOX name="WordBox97" width="2cm" alignment="baseline" floatingBehavior="enclosed" text="{{z.unidad_med.trim()}}"/>
|
||||
<WORDBOX name="precio" width="2cm" alignment="baseline" baselineType="leftleft" textAlignment="right" text="{{z.precio.format("###,###.##")}}"/>
|
||||
<WORDBOX name="monto" width="6cm" anchorY="1" alignment="baseline" bgColor="#d3d3d3" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="right" text="{{z.monto_fact.format("##,###,###.##")}}"/>
|
||||
</LAYOUTNODE>
|
||||
</MINIPAGE>
|
||||
</MINIPAGE>
|
||||
</rtl:match>
|
||||
<LAYOUTNODE name="subtotal" width="min" length="min" fontSize="8" layoutDirection="leftToRight" floatingBehavior="enclosed">
|
||||
<WORDBOX name="WordBox100" width="17.4cm" floatingBehavior="enclosed" text="Subtotal" borderStyle="none"/>
|
||||
<WORDBOX name="WordBox101" width="3.1cm" alignment="baseline" bgColor="#d3d3d3" floatingBehavior="enclosed" textAlignment="right" text="{{simbolo.trim()+x.sub_total.format("###,###,###.##")}}" roundedCorners="true" borderWidth=".9" borderStyle="solid"/>
|
||||
</LAYOUTNODE>
|
||||
<LAYOUTNODE name="final" width="min" length="min" layoutDirection="topToBottom" floatingBehavior="enclosed">
|
||||
<LAYOUTNODE name="LayoutNode45" width="min" length="min" alignment="near" fontSize="8" layoutDirection="leftToRight" floatingBehavior="enclosed" roundedCorners="true" borderWidth="1" borderStyle="solid">
|
||||
<WORDBOX name="WordBox109" width="17.4cm" alignment="baseline" floatingBehavior="enclosed" text="Descuento"/>
|
||||
<WORDBOX name="WordBox110" width="3.1cm" alignment="baseline" bgColor="#d3d3d3" floatingBehavior="enclosed" textAlignment="right" text="{{simbolo.trim()+x.desc_valor.format("###,###,###.##")}}"/>
|
||||
</LAYOUTNODE>
|
||||
<LAYOUTNODE name="LayoutNode46" width="min" length="min" alignment="near" fontSize="8" layoutDirection="leftToRight" floatingBehavior="enclosed" roundedCorners="true" borderWidth="1" borderStyle="solid">
|
||||
<WORDBOX name="WordBox111" width="17.4cm" floatingBehavior="enclosed" text="{{"Neto S/Impuesto"}}"/>
|
||||
<WORDBOX name="WordBox112" width="3.1cm" alignment="baseline" bgColor="#d3d3d3" floatingBehavior="enclosed" textAlignment="right" text="{{simbolo.trim()+neto_s_imp.format("###,###,###.##")}}"/>
|
||||
</LAYOUTNODE>
|
||||
<LAYOUTNODE name="ITBIS" width="min" length="min" alignment="near" fontSize="8" layoutDirection="leftToRight" floatingBehavior="enclosed" roundedCorners="false">
|
||||
<WORDBOX name="WordBox160" width="17.4cm" floatingBehavior="enclosed" text="{{"Itbis"}}"/>
|
||||
<WORDBOX name="WordBox102_1" width="3.1cm" alignment="baseline" bgColor="#d3d3d3" floatingBehavior="enclosed" textAlignment="right" text="{{simbolo.trim()+x.itbi.format("###,###,###.##")}}" roundedCorners="true" borderWidth=".9" borderStyle="solid"/>
|
||||
</LAYOUTNODE>
|
||||
<LAYOUTNODE name="LayoutNode43" width="min" length="min" fontSize="8" layoutDirection="leftToRight" floatingBehavior="enclosed">
|
||||
<WORDBOX name="WordBox103" width="17.3cm" alignment="far" floatingBehavior="enclosed" text="Total" roundedCorners="true" borderWidth=".9" borderStyle="solid"/>
|
||||
<WORDBOX name="WordBox104" width="3.1cm" bgColor="#d3d3d3" floatingBehavior="enclosed" textAlignment="right" text="{{simbolo.trim()+x.total_fact.format("###,###,###.##")}}" roundedCorners="true" borderWidth=".9" borderStyle="solid"/>
|
||||
</LAYOUTNODE>
|
||||
<MINIPAGE name="MiniPage2" width=".1cm" bgColor="#0087cb" layoutDirection="leftToRight"/>
|
||||
<WORDBOX name="WordBox106" length="1cm" floatingBehavior="enclosed"/>
|
||||
<LAYOUTNODE name="totalesmonedas" rtl:condition="x.prima_us>1" x="max-5.3cm" width="min" length="min" fontSize="9" layoutDirection="topToBottom" floatingBehavior="enclosed" roundedCorners="true" borderWidth="1" borderStyle="solid">
|
||||
<WORDBOX name="WordBox148" width="4cm" length=".7cm" alignment="baseline" fontBold="true" floatingBehavior="enclosed" textAlignment="center" text="{{"INFORMACION EN RD$"}}"/>
|
||||
<LAYOUTNODE name="LayoutNode67" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
|
||||
<WORDBOX name="WordBox155" width="2cm" floatingBehavior="enclosed" text="{{"ITBIS:"}}"/>
|
||||
<WORDBOX name="WordBox156" width="3cm" floatingBehavior="enclosed" textAlignment="right" text="{{chitbis.trim()}}"/>
|
||||
</LAYOUTNODE>
|
||||
<LAYOUTNODE name="LayoutNode68" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
|
||||
<WORDBOX name="WordBox157" width="2cm" floatingBehavior="enclosed" text="{{"MONTO TOTAL:"}}"/>
|
||||
<WORDBOX name="WordBox158" width="3cm" floatingBehavior="enclosed" textAlignment="right" text="{{chneto.trim()}}"/>
|
||||
</LAYOUTNODE>
|
||||
<WORDBOX name="WordBox159" length="1cm" floatingBehavior="enclosed"/>
|
||||
</LAYOUTNODE>
|
||||
<LAYOUTNODE name="LayoutNode69" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
|
||||
<WORDWRAPBOX name="WordWrapBox7" width="width("M")*60" length="1cm" floatingBehavior="enclosed" text="{{"OBSERVACIONES: "+observacion.trim()}}"/>
|
||||
</LAYOUTNODE>
|
||||
<MINIPAGE name="MiniPage" rtl:condition="muestraQR==1" width="min" length="max" layoutDirection="leftToRight">
|
||||
<BARCODEBOX name="BarCodeBox1" width="4cm" length="4cm" alignment="near" floatingBehavior="enclosed" codeType="qr-code" codeValue="{{dataqrcode.trim()}}"/>
|
||||
</MINIPAGE>
|
||||
<LAYOUTNODE name="LayoutNode44" rtl:condition="muestraQR==1" width="min" length="min" floatingBehavior="enclosed">
|
||||
<WORDBOX name="WordBox108" floatingBehavior="enclosed" text="{{"Codigo de Seguridad:"+xhash.trim()}}"/>
|
||||
<WORDBOX name="WordBox107" floatingBehavior="enclosed" text="{{"Fecha de Firma Digital: "+chfechafirmadigital.trim()}}"/>
|
||||
</LAYOUTNODE>
|
||||
</LAYOUTNODE>
|
||||
</MINIPAGE>
|
||||
</rtl:match>
|
||||
</PXML>
|
||||
</rtl:stylesheet>
|
||||
</report:Report>
|
||||
@@ -514,19 +514,28 @@ FUNCTION req_insert()
|
||||
DEFINE ultimo,numeroOrden INT
|
||||
|
||||
# WHENEVER ERROR CONTINUE
|
||||
SELECT a.num_req INTO ultimo FROM cctb00019 a
|
||||
|
||||
# 05/10/2026 - consecutivo dentro de la transaccion con bloqueo
|
||||
# (evita num_req duplicado en cctb00025, ver requisiciondespacho.4gl)
|
||||
BEGIN WORK
|
||||
PREPARE p_numreq FROM "SELECT ISNULL(MAX(num_req),0) FROM cctb00019 WITH (UPDLOCK, HOLDLOCK)"
|
||||
EXECUTE p_numreq INTO ultimo
|
||||
PREPARE p_maxreq FROM "SELECT ISNULL(MAX(num_req),0) FROM cctb00025 WITH (UPDLOCK, HOLDLOCK)"
|
||||
EXECUTE p_maxreq INTO numeroOrden
|
||||
|
||||
IF ultimo IS NULL THEN
|
||||
LET ultimo = 0
|
||||
END IF
|
||||
IF numeroOrden > ultimo THEN
|
||||
LET ultimo = numeroOrden
|
||||
END IF
|
||||
LET numeroOrden = NULL
|
||||
LET ultimo = ultimo + 1
|
||||
LET requisicion.num_req = ultimo
|
||||
|
||||
UPDATE cctb00019 SET num_req = requisicion.num_req,us_crea=usuarios,fech_crea=getdate()
|
||||
|
||||
|
||||
UPDATE cctb00019 SET num_req = requisicion.num_req,us_crea=usuarios,fech_crea=getdate()
|
||||
|
||||
# GUARDA MASTER TABLE
|
||||
# PREPARE s FROM "SELECT @@IDENTITY"
|
||||
BEGIN WORK
|
||||
# EXECUTE s INTO requisicion.num_req
|
||||
|
||||
DISPLAY BY NAME requisicion.num_req
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -629,7 +629,7 @@ REPORT estadistica(x,dias2,c_dias)
|
||||
FORMAT
|
||||
FIRST PAGE HEADER
|
||||
LET hora = time
|
||||
LET fecha = today
|
||||
LET fecha = today
|
||||
LET total_registros = 0
|
||||
LET tcantidad = 0
|
||||
LET fecha_v = NULL
|
||||
@@ -653,14 +653,14 @@ REPORT estadistica(x,dias2,c_dias)
|
||||
|
||||
# BUSCA ULTIMA FECHA DE COMPRA Y VENTA DEL PRODUCTO
|
||||
LET fecha_v = NULL
|
||||
SELECT convert(char(10),MAX(a.fecha_factura),103) INTO fecha_v
|
||||
SELECT MAX(a.fecha_factura) INTO fecha_v
|
||||
FROM vetb00003 d,vetb00002 a
|
||||
WHERE d.factura = a.factura AND
|
||||
d.cod_n=x.cod_n AND d.cod_grupo=x.cod_grupo AND
|
||||
d.cod_tipo = x.cod_tipo AND d.cod_sec = x.cod_sec AND
|
||||
a.status_t is NULL
|
||||
LET fecha_oc = NULL
|
||||
SELECT ISNULL(convert(char(10),MAX(a.fech_oc),103)," ") INTO fecha_oc
|
||||
SELECT MAX(a.fech_oc) INTO fecha_oc
|
||||
FROM cotb00015 d,cotb00014 a
|
||||
WHERE d.num_oc = a.num_oc AND
|
||||
d.cod_n=x.cod_n AND d.cod_grupo=x.cod_grupo AND
|
||||
|
||||
@@ -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="2.00">
|
||||
<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="60003" version="7.00">
|
||||
<report:Settings RWPageWidth="letterwidth" RWPageLength="letterlength" RWLeftMargin="0.5cm" RWTopMargin="0.5cm" RWRightMargin="0.5cm" RWBottomMargin="0.5cm">
|
||||
<report:FormatList>
|
||||
<report:Format-SVG/>
|
||||
@@ -8,22 +8,26 @@
|
||||
</report:FormatList>
|
||||
</report:Settings>
|
||||
<report:Data RWDataLocation="../GUI/ipdir/ipprrp013.rdd" RWFglReportName="estadistica"/>
|
||||
<report:Conflicts/>
|
||||
<rtl:stylesheet>
|
||||
<rtl:match nameConstraint="Report">
|
||||
<PXML name="Pxml1">
|
||||
<rtl:match name="Report" nameConstraint="Report">
|
||||
<PXML>
|
||||
<MINIPAGE name="Page Root" width="max" length="max" alignment="near">
|
||||
<LAYOUTNODE name="Page Header" width="max" length="min" port="anyPageHeader">
|
||||
<MINIPAGE name="StripeLayouter3" width="min" length="max" layoutDirection="leftToRight">
|
||||
<PAGENOBOX name="PageNoBox" x="1.23857" y="max" anchorX="0" anchorY="1" alignment="baseline" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="right"/>
|
||||
<WORDBOX name="WordBox4" floatingBehavior="enclosed" text="IPPRRP013"/>
|
||||
<WORDBOX name="WordBox5" x="1.2386" y="453.061" anchorX="0" anchorY="0" floatingBehavior="enclosed" text="PAGINA"/>
|
||||
<WORDWRAPBOX name="p_companias.nombre Value" x="1.2386" y="184.611" width="width("M")*20" anchorX="0" anchorY="0" floatingBehavior="enclosed" text="ELEMENTS"/>
|
||||
<rtl:input-variable name="p_companias.nombre" type="FGLString" expectedLocation="expectedAhead"/>
|
||||
<WORDWRAPBOX name="p_companias.nombre Value" x="1.2386" y="184.611" width="width("M")*25" anchorX="0" anchorY="0" floatingBehavior="enclosed" text="{{p_companias.nombre}}"/>
|
||||
</MINIPAGE>
|
||||
<MINIPAGE name="MiniPage7" width="1.5cm" length="max" fontBold="true" layoutDirection="leftToRight">
|
||||
<WORDBOX name="WordBox9" x="5.539" y="40.8204" anchorX="0" anchorY="0" floatingBehavior="enclosed" text="SISTEMA DE INVENTARIO DE PRODUCTOS TERMINADOS"/>
|
||||
<WORDBOX name="WordBox11" x="22.5047" y="143.465" anchorX="0" anchorY="0" floatingBehavior="enclosed" text="DIAS DE INVENTARIO"/>
|
||||
<WORDBOX name="WordBox23" x="5.539" y="437.976" anchorX="0" anchorY="0" floatingBehavior="enclosed" text="{{"FECHA: "+fecha.value}}"/>
|
||||
<WORDBOX name="WordBox24" x="27.0497" y="437.976" anchorX="0" anchorY="0" floatingBehavior="enclosed" text="{{"HORA: "+hora.value}}"/>
|
||||
<rtl:input-variable name="fecha" type="FGLString" expectedLocation="expectedAhead"/>
|
||||
<WORDBOX name="WordBox23" x="5.539" y="437.976" anchorX="0" anchorY="0" floatingBehavior="enclosed" text="{{"FECHA: "+fecha}}"/>
|
||||
<rtl:input-variable name="hora" type="FGLString" expectedLocation="expectedAhead"/>
|
||||
<WORDBOX name="WordBox24" x="27.0497" y="437.976" anchorX="0" anchorY="0" floatingBehavior="enclosed" text="{{"HORA: "+hora}}"/>
|
||||
</MINIPAGE>
|
||||
<MINIPAGE name="Table Header" width="min" length="max" alignment="near" layoutDirection="leftToRight">
|
||||
<WORDBOX name="Spacer" alignment="baseline" baselineType="leftleft" port="itemSeparator" text=" "/>
|
||||
@@ -43,35 +47,33 @@
|
||||
<MINIPAGE name="Separator" width="1" length="max" bgColor="#000000" layoutDirection="leftToRight"/>
|
||||
</MINIPAGE>
|
||||
</LAYOUTNODE>
|
||||
<rtl:match nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
|
||||
<LAYOUTNODE name="GRUPO" width="max" length="min" floatingBehavior="enclosed">
|
||||
<WORDBOX name="WordBox26" floatingBehavior="enclosed" text=""/>
|
||||
<WORDBOX name="WordBox24_1" alignment="baseline" floatingBehavior="enclosed" text="{{"GRUPO: "+x.grupo}}"/>
|
||||
<rtl:match name="OnEveryRow" nameConstraint="OnEveryRow" minOccurs="0" maxOccurs="unbounded">
|
||||
<LAYOUTNODE name="LayoutNode8" width="min" length="max" alignment="near" fontSize="7" layoutDirection="leftToRight" floatingBehavior="enclosed">
|
||||
<rtl:input-variable name="x.cod_n" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<rtl:input-variable name="x.cod_grupo" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<rtl:input-variable name="x.cod_tipo" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<rtl:input-variable name="x.cod_sec" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="WordBox18_1" alignment="baseline" baselineType="leftleft" text="{{x.cod_n.format("###")+""+x.cod_grupo.format("###")+""+x.cod_tipo.format("###")+""+x.cod_sec.format("####")}}"/>
|
||||
<WORDBOX name="WordBox19_1" width=".3cm" alignment="baseline" baselineType="leftleft"/>
|
||||
<rtl:input-variable name="x.descrip_esp" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="WordBox33" width="6.5cm" alignment="baseline" baselineType="leftleft" text="{{x.descrip_esp.trim()}}"/>
|
||||
<WORDBOX name="WordBox21" width="2.4cm" alignment="baseline" baselineType="leftleft"/>
|
||||
<rtl:input-variable name="x.consumo" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="WordBox29" width="1cm" alignment="baseline" floatingBehavior="enclosed" text="{{x.consumo.format("####")}}"/>
|
||||
<LAYOUTNODE name="LayoutNode5" width="0.5cm" length="min" floatingBehavior="enclosed"/>
|
||||
<rtl:input-variable name="x.existe" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="WordBox31_1" width="1cm" alignment="baseline" baselineType="leftleft" textAlignment="right" text="{{x.existe.format("###,###")}}"/>
|
||||
<WORDBOX name="WordBox31_2" width="1cm" floatingBehavior="enclosed" text=""/>
|
||||
<rtl:input-variable name="x.dias" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="WordBox32" width="1cm" floatingBehavior="enclosed" text="{{x.dias.format("###,###")}}"/>
|
||||
<WORDBOX name="WordBox38" width="2cm" floatingBehavior="enclosed" text=""/>
|
||||
<rtl:input-variable name="fecha_v" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="WordBox39" floatingBehavior="enclosed" text="{{fecha_v}}"/>
|
||||
</LAYOUTNODE>
|
||||
<rtl:match nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
|
||||
<LAYOUTNODE name="LayoutNode7" width="min" length="min" floatingBehavior="enclosed">
|
||||
<WORDBOX name="WordBox26_1" floatingBehavior="enclosed" text="{{"TIPO: "+x.tipo}}"/>
|
||||
<WORDBOX name="WordBox30" floatingBehavior="enclosed" text=""/>
|
||||
</LAYOUTNODE>
|
||||
<rtl:match nameConstraint="OnEveryRow" minOccurs="0" maxOccurs="unbounded">
|
||||
<LAYOUTNODE name="LayoutNode8" width="min" length="max" alignment="near" fontSize="7" layoutDirection="leftToRight" floatingBehavior="enclosed">
|
||||
<WORDBOX name="WordBox18_1" alignment="baseline" baselineType="leftleft" text="{{x.cod_n.format("###")+""+x.cod_grupo.format("###")+""+x.cod_tipo.format("###")+""+x.cod_sec.format("####")}}"/>
|
||||
<WORDBOX name="WordBox19_1" width=".3cm" alignment="baseline" baselineType="leftleft"/>
|
||||
<WORDBOX name="WordBox33" width="6.5cm" alignment="baseline" baselineType="leftleft" text="{{x.descrip_esp.trim()}}"/>
|
||||
<WORDBOX name="WordBox21" width="2.4cm" alignment="baseline" baselineType="leftleft"/>
|
||||
<WORDBOX name="WordBox29" width="1cm" alignment="baseline" floatingBehavior="enclosed" text="{{x.consumo.format("####")}}"/>
|
||||
<LAYOUTNODE name="LayoutNode5" width="0.5cm" length="min" floatingBehavior="enclosed"/>
|
||||
<WORDBOX name="WordBox31_1" width="1cm" alignment="baseline" baselineType="leftleft" textAlignment="right" text="{{x.existe.format("###,###")}}"/>
|
||||
<WORDBOX name="WordBox31_2" width="1cm" floatingBehavior="enclosed" text=""/>
|
||||
<WORDBOX name="WordBox32" width="1cm" floatingBehavior="enclosed" text="{{x.dias.format("###,###")}}"/>
|
||||
<WORDBOX name="WordBox38" width="2cm" floatingBehavior="enclosed" text=""/>
|
||||
<WORDBOX name="WordBox39" floatingBehavior="enclosed" text="{{x.fecha}}"/>
|
||||
</LAYOUTNODE>
|
||||
</rtl:match>
|
||||
</rtl:match>
|
||||
</rtl:match>
|
||||
<MINIPAGE name="MiniPage7_1" width="min" length="min">
|
||||
<WORDBOX name="WordBox31" length=".5cm" floatingBehavior="enclosed" text=""/>
|
||||
<rtl:input-variable name="total_registros" type="FGLNumeric" expectedLocation="expectedBefore"/>
|
||||
<WORDBOX name="WordBox33_1" floatingBehavior="enclosed" text="{{"TOTAL ARTICULOS IMPRESOS: "+total_registros.format(">>>>")}}"/>
|
||||
</MINIPAGE>
|
||||
</MINIPAGE>
|
||||
|
||||
@@ -43,6 +43,7 @@ FUNCTION ipprrp053()
|
||||
|
||||
OPEN FORM ipfmrp053 FROM "ipfmrp053"
|
||||
DISPLAY FORM ipfmrp053
|
||||
CALL ui.Window.getCurrent().setText("Informe Transacciones Inventarios")
|
||||
|
||||
INPUT BY NAME fecha1, fecha2
|
||||
|
||||
@@ -112,7 +113,7 @@ FUNCTION ipprrp053()
|
||||
LET r_filename = "ipprrp053.4rp"
|
||||
IF fgl_report_loadCurrentSettings(r_filename) THEN
|
||||
LET preview = 1
|
||||
CALL selectoutput() RETURNING r_output
|
||||
CALL selectOutputSimple() RETURNING r_output
|
||||
CALL fgl_report_selectDevice(r_output)
|
||||
CALL fgl_report_selectPreview(preview)
|
||||
LET handler = fgl_report_commitCurrentSettings()
|
||||
|
||||
@@ -0,0 +1,100 @@
|
||||
<?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="25.00cm" RWPageLength="29.70cm" RWLeftMargin="0.511993cm" RWTopMargin="1.3cm" RWRightMargin="0.430673cm" RWBottomMargin="1.3cm">
|
||||
<report:FormatList>
|
||||
<report:Format-SVG/>
|
||||
<report:Format-PDF/>
|
||||
<report:Format-image/>
|
||||
</report:FormatList>
|
||||
</report:Settings>
|
||||
<report:Data RWDataLocation="../ipdir/ipprrp053.rdd" RWFglReportName="rpt_ipprrp053"/>
|
||||
<report:Conflicts>
|
||||
<report:Conflict nodeName="LayoutNode31_1_1" message="Node was in trigger "OnLastRow [0; 1]", but trigger was removed during schema update"/>
|
||||
</report:Conflicts>
|
||||
<rtl:stylesheet>
|
||||
<PXML>
|
||||
<rtl:match name="Report" nameConstraint="Report" minOccurs="1" maxOccurs="1">
|
||||
<MINIPAGE name="pageRoot" width="max" length="766.687" alignment="near" fontName="Arial">
|
||||
<rtl:match name="FirstPageHeader" nameConstraint="FirstPageHeader" minOccurs="0" maxOccurs="1">
|
||||
<LAYOUTNODE name="Layout Node7" width="min" length="min" alignment="center" swapX="true" port="firstPageHeader">
|
||||
<LAYOUTNODE name="Titulo" width="min" length="max" fontBold="true" layoutDirection="leftToRight" floatingBehavior="enclosed" borderWidth="0.2" borderStyle="solid" borderColor="#828282">
|
||||
<WORDBOX name="WordBox159" width="66" alignment="baseline" floatingBehavior="enclosed" text="ipprrp053"/>
|
||||
<WORDWRAPBOX name="p_companias.nombre Value" width="549.417" length="14.7813" alignment="baseline" floatingBehavior="enclosed" text="{{"MARMOTECH S.A."}}" textAlignment="center"/>
|
||||
<WORDBOX name="WordBox159_1" width="66" alignment="baseline" floatingBehavior="enclosed" text=""/>
|
||||
</LAYOUTNODE>
|
||||
<MINIPAGE name="StripeLayouter14" width="16.245" length="max" alignment="center" layoutDirection="leftToRight">
|
||||
<WORDBOX name="WordBox2_1_1" width="146" alignment="baseline" fontBold="true" floatingBehavior="enclosed" textAlignment="left" text="Fecha desde:" borderWidth="0"/>
|
||||
<WORDBOX name="WordBox2_1" width="153" alignment="baseline" fontBold="true" floatingBehavior="enclosed" textAlignment="left" text="Hasta:" borderWidth="0"/>
|
||||
<rtl:input-variable name="fecha1" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<DATEFORMATBOX name="fech_inicio Value" class="grwDateValue" x="0.4891" y="80.0076" width="62.125" anchorX="0" anchorY="0" floatingBehavior="enclosed" format="{{"dd/mm/yyyy"}}" value="{{Date.fromIsoValue(fecha1.isoValue)}}"/>
|
||||
<rtl:input-variable name="fecha2" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<DATEFORMATBOX name="fech_corte Value" class="grwDateValue" x="0.4891" y="186.04" width="102.969" anchorX="0" anchorY="0" floatingBehavior="enclosed" format="{{"dd/mm/yyyy"}}" value="{{Date.fromIsoValue(fecha2.isoValue)}}"/>
|
||||
</MINIPAGE>
|
||||
<MINIPAGE name="Enc.Secundario" width="min" length="min" alignment="near" layoutDirection="leftToRight" borderWidth="0.2" borderStyle="solid" borderColor="#828282">
|
||||
<WORDBOX name="WordBox2" width="679.635" alignment="near" fontBold="true" floatingBehavior="enclosed" textAlignment="center" text="INFORME TRANSACCIONES INVENTARIOS" borderWidth="0"/>
|
||||
<rtl:input-variable name="fecha_actual" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="x.fecha_factura Value" width="141.56" length="22.3906" alignment="near" fontBold="true" floatingBehavior="enclosed" textAlignment="right" text="{{fecha_actual}}" borderWidth="0"/>
|
||||
</MINIPAGE>
|
||||
</LAYOUTNODE>
|
||||
</rtl:match>
|
||||
<rtl:match name="Group codigo_mov" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
|
||||
<LAYOUTNODE name="LayoutNode31_1" width="26.5682" length="max" alignment="near" fontSize="9" layoutDirection="leftToRight" borderWidth="1" borderColor="#dfdfdf">
|
||||
<rtl:input-variable name="x.codigo_mov" type="FGLNumeric" expectedLocation="expectedWayAhead"/>
|
||||
<rtl:input-variable name="x.descripcion_mov" type="FGLString" expectedLocation="expectedWayAhead"/>
|
||||
<WORDBOX name="karr_ordenes.valor Value9" class="grwNumericValue" width="254.866" length="25.0469" anchorX="1" alignment="center" fontSize="10" fontBold="true" baselineType="leftleft" textAlignment="left" text="{{"("+x.codigo_mov+")"+" "+x.descripcion_mov}}"/>
|
||||
</LAYOUTNODE>
|
||||
<LAYOUTNODE name="encabezadod" width="max" length="min" swapX="true">
|
||||
<MINIPAGE name="StripeLayouter23" width=".1cm" bgColor="#cc" layoutDirection="leftToRight"/>
|
||||
<MINIPAGE name="encabezadodetalle" width="min" length="max" bgColor="#cccccc" fontBold="true" layoutDirection="leftToRight">
|
||||
<WORDBOX name="WordBox44" width="92.688" length="12.3906" alignment="center" fontSize="8" baselineType="leftleft" textAlignment="center" text="{{"FECHA"}}"/>
|
||||
<WORDWRAPBOX name="WordWrapBox17" width="84.52" alignment="center" fontSize="8" baselineType="leftleft" text="DOCUMENTO" textAlignment="center"/>
|
||||
<WORDWRAPBOX name="WordBox120_1_2" width="156.347" alignment="center" fontSize="8" floatingBehavior="enclosed" text="ORIGEN " textAlignment="center"/>
|
||||
<WORDWRAPBOX name="WordBox120_4" width="141.347" length="9.1719" alignment="center" fontSize="8" floatingBehavior="enclosed" text="PRODUCTO " textAlignment="center"/>
|
||||
<WORDBOX name="WordBox120_1_1" width="84.3465" alignment="center" fontSize="8" floatingBehavior="enclosed" textAlignment="center" text="CANTIDAD"/>
|
||||
<WORDBOX name="WordBox120_1" width="84.3465" alignment="center" fontSize="8" floatingBehavior="enclosed" textAlignment="center" text="COSTO"/>
|
||||
</MINIPAGE>
|
||||
<MINIPAGE name="StripeLayouter25" width=".1cm" bgColor="#cc" layoutDirection="leftToRight"/>
|
||||
</LAYOUTNODE>
|
||||
<rtl:match name="OnEveryRow" nameConstraint="OnEveryRow" minOccurs="0" maxOccurs="unbounded">
|
||||
<LAYOUTNODE name="LayoutNode31" width="34.5682" length="max" alignment="near" fontSize="9" layoutDirection="leftToRight" borderWidth="1" borderStyle="solid" borderColor="#dfdfdf">
|
||||
<rtl:input-variable name="print_fecha" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDWRAPBOX name="WordWrapBox4" width="86.359" length="24.3281" alignment="baseline" fontSize="8" floatingBehavior="enclosed" text="{{print_fecha}}" trimText="both" textAlignment="center"/>
|
||||
<rtl:input-variable name="print_doc" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="WordBox" width="85.197" length="24.2783" alignment="baseline" fontSize="8" baselineType="leftleft" textAlignment="center" text="{{print_doc}}"/>
|
||||
<LAYOUTNODE name="espacio" width="min" length="3.5197" layoutDirection="leftToRight"/>
|
||||
<LAYOUTNODE name="espacio5_1" width="21" length="5" layoutDirection="leftToRight"/>
|
||||
<rtl:input-variable name="print_almacen" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDWRAPBOX name="x.almacen Value" class="grwStringValue" width="width("M")*20" length="26.3281" floatingBehavior="enclosed" text="{{print_almacen}}" textAlignment="center"/>
|
||||
<LAYOUTNODE name="espacio5_1_7" width="21" length="4" layoutDirection="leftToRight"/>
|
||||
<rtl:input-variable name="x.producto" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDWRAPBOX name="x.producto Value" class="grwStringValue" width="136.688" length="33.3281" fontSize="9" floatingBehavior="enclosed" text="{{x.producto}}" textAlignment="center"/>
|
||||
<LAYOUTNODE name="espacio5_1_1" width="20" length="5" layoutDirection="leftToRight"/>
|
||||
<rtl:input-variable name="x.cantidad" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="x.cantidad Value" class="grwNumericValue" width="89.9844" length="25.0469" anchorX="1" floatingBehavior="enclosed" textAlignment="center" format="---,---,---,---,---,--&.&&" value="{{x.cantidad}}"/>
|
||||
<LAYOUTNODE name="espacio5_1_1_1" width="20" length="5" layoutDirection="leftToRight"/>
|
||||
<rtl:input-variable name="x.costo_standard" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="x.costo_standard Value" class="grwNumericValue" length="25.183" anchorX="1" floatingBehavior="enclosed" textAlignment="center" format="---,---,---,---,---,--&.&&" value="{{x.costo_standard}}"/>
|
||||
</LAYOUTNODE>
|
||||
</rtl:match>
|
||||
<LAYOUTNODE name="LayoutNode31_1_1_1" width="25.433" length="max" alignment="near" fontSize="9" layoutDirection="leftToRight" borderWidth="1" borderStyle="solid" borderColor="#000000">
|
||||
<rtl:input-variable name="grupo_registros" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<WORDWRAPBOX name="WordWrapBox18" width="173.996" length="24.3281" alignment="center" fontBold="true" floatingBehavior="enclosed" text="{{"Total movimiento: "+grupo_registros}}" trimText="both" textAlignment="left"/>
|
||||
<LAYOUTNODE name="espacio5_1_8" width="20" length="353.377" layoutDirection="leftToRight"/>
|
||||
<rtl:input-variable name="grupo_cantidad" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="arr_costos.codigo_bloque Value7" class="grwStringValue" width="107.174" length="25.0469" fontBold="true" floatingBehavior="enclosed" textAlignment="center" value="{{grupo_cantidad}}"/>
|
||||
</LAYOUTNODE>
|
||||
</rtl:match>
|
||||
<rtl:match name="OnLastRow" nameConstraint="OnLastRow" minOccurs="0" maxOccurs="1">
|
||||
<LAYOUTNODE name="LayoutNode31_1_1" width="25.433" length="max" alignment="near" fontSize="9" layoutDirection="leftToRight" borderWidth="1" borderStyle="solid" borderColor="#000000">
|
||||
<rtl:input-variable name="total_registros" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<WORDWRAPBOX name="WordWrapBox11" width="174.36" length="24.3281" alignment="center" fontBold="true" floatingBehavior="enclosed" text="{{"Total registros: "+total_registros}}" trimText="both" textAlignment="left"/>
|
||||
<LAYOUTNODE name="espacio5_1_5" width="20" length="353.377" layoutDirection="leftToRight"/>
|
||||
<rtl:input-variable name="total_cantidad" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="arr_costos.codigo_bloque Value6" class="grwStringValue" width="107.174" length="25.0469" fontBold="true" floatingBehavior="enclosed" textAlignment="center" value="{{total_cantidad}}"/>
|
||||
</LAYOUTNODE>
|
||||
</rtl:match>
|
||||
</MINIPAGE>
|
||||
</rtl:match>
|
||||
</PXML>
|
||||
</rtl:stylesheet>
|
||||
</report:Report>
|
||||
+14
-2
@@ -630,11 +630,13 @@
|
||||
<Application binaryName="ipprrp013" dependencies="1763548104,-1026233879,-764824792,-1423229125" externalDependencies="libgre.42x" id="-960000026" label="ipprrp013">
|
||||
<Configuration commandLineArguments="jpeguero Peguero2023" id="-961000026" label="Configuration"/>
|
||||
<File compilerOptions="--build-rdd" filePath="ipdir/ipprrp013.4gl"/>
|
||||
<File filePath="bin/ipprrp013r.4rp"/>
|
||||
<File filePath="ipdir/ipfmrp013.4fd"/>
|
||||
</Application>
|
||||
<Application binaryName="ipprrp053" dependencies="1763548104,-1026233879,-764824792" externalDependencies="libgre.42x" id="-960000027" label="ipprrp053">
|
||||
<Application binaryName="ipprrp053" dependencies="1763548104,-1026233879,-764824792,-1423229125" externalDependencies="libgre.42x" id="-960000027" label="ipprrp053">
|
||||
<Configuration commandLineArguments="jpeguero Peguero2023" id="-961000027" label="Configuration"/>
|
||||
<File compilerOptions="--build-rdd" filePath="ipdir/ipprrp053.4gl"/>
|
||||
<File filePath="ipdir/ipfmrp053.4fd"/>
|
||||
</Application>
|
||||
<Application binaryName="ipprrp014" dependencies="1763548104,-1026233879,-764824792" externalDependencies="libgre.42x" id="-960000028" label="ipprrp014">
|
||||
<Configuration commandLineArguments="jpeguero Peguero2023" id="-961000028" label="Configuration"/>
|
||||
@@ -745,6 +747,7 @@
|
||||
</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>
|
||||
@@ -888,6 +891,7 @@
|
||||
<File filePath="nodir/noprrp045.4gl"/>
|
||||
<File filePath="bin/noprrp045.4rp"/>
|
||||
</Application>
|
||||
<Group id="942743738" label="NOMINA"/>
|
||||
</Group>
|
||||
<Group id="-802694369" label="REPORTE ENTRADA">
|
||||
<Library binaryName="FORMULARIO_AL" id="267647114" label="FORMULARIO_AL"/>
|
||||
@@ -942,6 +946,8 @@
|
||||
<File filePath="vedir/vefmwd102.per"/>
|
||||
</Library>
|
||||
<Library binaryName="FUNCIONES_VE" dependencies="-1026233879" id="-1093277845" label="FUNCIONES_VE">
|
||||
<File filePath="vedir/codigoncf.4gl"/>
|
||||
<File filePath="otrodir/formaspago.4gl"/>
|
||||
<File filePath="vedir/vefumt001.4gl"/>
|
||||
<File filePath="vedir/veprgb000.4gl"/>
|
||||
</Library>
|
||||
@@ -961,9 +967,15 @@
|
||||
<Configuration commandLineArguments="jsoto lmmjvsd2014" id="684926648" label="Configuration"/>
|
||||
<File filePath="vedir/veprmt025.4gl"/>
|
||||
</Application>
|
||||
<Application binaryName="veprmt001" dependencies="-1093277845,-1026233879,-764824792" id="200550882" label="veprmt001">
|
||||
<Application binaryName="veprmt001" dependencies="-1093277845,-1026233879,-764824792,-1423229125" externalDependencies="libgre.42x" id="200550882" label="veprmt001">
|
||||
<Configuration commandLineArguments="jsoto lmmjvsd2014" id="1427917002" label="Configuration"/>
|
||||
<File filePath="vedir/veprmt001.4gl"/>
|
||||
<File filePath="otrodir/buscarnc.4gl"/>
|
||||
<File filePath="vedir/veconduce.4gl"/>
|
||||
<File filePath="vedir/vecontroexistencia.4gl"/>
|
||||
<File compilerOptions="--build-rdd" filePath="vedir/vefactura.4gl"/>
|
||||
<File filePath="bin/veprmt022.4rp"/>
|
||||
<File filePath="otrodir/verifica_cantidad.4gl"/>
|
||||
</Application>
|
||||
<Application binaryName="veprmt024" dependencies="-1093277845,-1026233879,-764824792" id="773751002" label="veprmt024">
|
||||
<Configuration commandLineArguments="jsoto lmmjvsd2014" id="1651668050" label="Configuration"/>
|
||||
|
||||
@@ -0,0 +1,360 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<ManagedForm databaseName="smarmotech" fileVersion="40100" gstVersion="60003" name="ManagedForm" uid="{5bf98cc1-b062-4aac-994b-1a85d5a86fdc}">
|
||||
<AGSettings>
|
||||
<DynamicProperties version="4"/>
|
||||
</AGSettings>
|
||||
<Record additionalTables="" joinLeft="" joinOperator="" joinRight="" name="Undefined" order="" uid="{490c8c5c-b330-43bd-aa59-a3860119ae91}" where="">
|
||||
<RecordField colName="num_emp" fieldIdRef="6" fieldType="TABLE_COLUMN" name="adtb00003.num_emp" sqlTabName="adtb00003" sqlType="SMALLINT" table_alias_name="" uid="{4feb0513-abfb-4b70-8499-21c92fd11753}"/>
|
||||
<RecordField colName="" fieldIdRef="7" fieldType="NON_DATABASE" name="departamento" sqlTabName="" sqlType="SMALLINT" table_alias_name="" uid="{081e8811-7d0d-4d9c-b03e-460eb2cf5dec}"/>
|
||||
<RecordField colName="" fieldIdRef="9" fieldType="NON_DATABASE" name="cod_puesto" sqlTabName="" sqlType="SMALLINT" table_alias_name="" uid="{98692374-598f-4135-bd52-1b9a5de2b55b}"/>
|
||||
<RecordField colName="fotos" fieldIdRef="2" name="fotos" sqlTabName="formonly" table_alias_name="" uid="{5375c60d-38e3-4385-84dd-079727a2e943}"/>
|
||||
<RecordField colName="nom1_emp" fieldIdRef="10" fieldType="TABLE_COLUMN" name="adtb00003.nom1_emp" sqlTabName="adtb00003" sqlType="CHAR" table_alias_name="" uid="{2dc450d3-aa01-44ed-a8ce-e9bc8dd30999}"/>
|
||||
<RecordField colName="nom2_emp" fieldIdRef="11" fieldType="TABLE_COLUMN" name="adtb00003.nom2_emp" sqlTabName="adtb00003" sqlType="CHAR" table_alias_name="" uid="{0f8c40d8-ce4b-409e-ae3f-13d664146844}"/>
|
||||
<RecordField colName="apell1_emp" fieldIdRef="12" fieldType="TABLE_COLUMN" name="adtb00003.apell1_emp" sqlTabName="adtb00003" sqlType="CHAR" table_alias_name="" uid="{2ee8839c-b094-4265-9df4-b1e6c297e3d9}"/>
|
||||
<RecordField colName="apell2_emp" fieldIdRef="13" fieldType="TABLE_COLUMN" name="adtb00003.apell2_emp" sqlTabName="adtb00003" sqlType="CHAR" table_alias_name="" uid="{f5fcc1e4-a1b6-4b99-8116-35a56583997d}"/>
|
||||
<RecordField colName="nom_puesto" fieldIdRef="14" fieldType="TABLE_COLUMN" name="adtb00004.nom_puesto" sqlTabName="adtb00004" sqlType="CHAR" table_alias_name="" uid="{3937d342-cbef-4d86-8ddb-b219f3266e3c}"/>
|
||||
<RecordField colName="nom_dpto" fieldIdRef="15" fieldType="TABLE_COLUMN" name="adtb00001.nom_dpto" sqlTabName="adtb00001" sqlType="CHAR" table_alias_name="" uid="{e63f176e-6785-4264-9c4f-333d938f82f0}"/>
|
||||
<RecordField colName="calle" fieldIdRef="16" fieldType="TABLE_COLUMN" name="adtb00003.calle" sqlTabName="adtb00003" sqlType="CHAR" table_alias_name="" uid="{5bab2a43-0644-4814-80b0-5468ab21a59d}"/>
|
||||
<RecordField colName="barrio" fieldIdRef="18" fieldType="TABLE_COLUMN" name="adtb00003.barrio" sqlTabName="adtb00003" sqlType="CHAR" table_alias_name="" uid="{9163e4e4-0468-4086-9129-ef219a1e7004}"/>
|
||||
<RecordField colName="urbanizacion" fieldIdRef="19" fieldType="TABLE_COLUMN" name="adtb00003.urbanizacion" sqlTabName="adtb00003" sqlType="CHAR" table_alias_name="" uid="{6d5bac99-2518-452c-9699-917f69a25241}"/>
|
||||
<RecordField fieldIdRef="20" fieldType="NON_DATABASE" length="11" name="cedula" sqlType="CHAR" table_alias_name="" uid="{d8f19aa3-9af4-4eaf-97d6-f6cf347c5b8b}"/>
|
||||
<RecordField colName="serie" fieldIdRef="21" fieldType="TABLE_COLUMN" name="adtb00003.serie" sqlTabName="adtb00003" sqlType="SMALLINT" table_alias_name="" uid="{ff2361ba-847d-4264-a4f6-bd7a906baf3f}"/>
|
||||
<RecordField colName="telefono" fieldIdRef="26" name="telefono" sqlTabName="formonly" table_alias_name="" uid="{2403c8ca-2915-4bc0-8e61-ad9ac59d1af7}"/>
|
||||
<RecordField colName="fech_nac" fieldIdRef="22" fieldType="TABLE_COLUMN" name="adtb00003.fech_nac" sqlTabName="adtb00003" sqlType="DATE" table_alias_name="" uid="{a436bb39-2337-42ad-999c-636881481a86}"/>
|
||||
<RecordField colName="cod_nac" fieldIdRef="23" fieldType="TABLE_COLUMN" name="adtb00003.cod_nac" sqlTabName="adtb00003" sqlType="SMALLINT" table_alias_name="" uid="{3b8f576a-9c8c-49ff-9501-0a90922909dd}"/>
|
||||
<RecordField colName="nom_nac" fieldIdRef="24" fieldType="TABLE_COLUMN" name="adtb00007.nom_nac" sqlTabName="adtb00007" sqlType="CHAR" table_alias_name="" uid="{8f620000-0694-472f-b5de-0e24adb061b8}"/>
|
||||
<RecordField colName="estado_civil" fieldIdRef="27" fieldType="TABLE_COLUMN" name="adtb00003.estado_civil" sqlTabName="adtb00003" sqlType="CHAR" table_alias_name="" uid="{45e29cdd-6c02-4d3d-b787-fe08d4e101b9}"/>
|
||||
<RecordField colName="tipo_sangre" fieldIdRef="29" fieldType="TABLE_COLUMN" name="adtb00003.tipo_sangre" sqlTabName="adtb00003" sqlType="CHAR" table_alias_name="" uid="{024a7ab0-ce3e-45d5-a735-26421d2ff1ec}"/>
|
||||
<RecordField colName="nomina" fieldIdRef="31" fieldType="TABLE_COLUMN" name="adtb00003.nomina" sqlTabName="adtb00003" sqlType="CHAR" table_alias_name="" uid="{ca455153-595d-4863-808c-489142306153}"/>
|
||||
<RecordField colName="descrip" fieldIdRef="32" name="descrip" sqlTabName="formonly" table_alias_name="" uid="{04438030-690f-4fd8-aaa2-83e1c027f1cc}"/>
|
||||
<RecordField colName="fech_efec" fieldIdRef="33" fieldType="TABLE_COLUMN" name="adtb00003.fech_efec" sqlTabName="adtb00003" sqlType="DATE" table_alias_name="" uid="{75116c66-c029-4375-b161-4266dc5c8497}"/>
|
||||
<RecordField colName="paga_seg" fieldIdRef="39" fieldType="TABLE_COLUMN" name="adtb00003.paga_seg" sqlTabName="adtb00003" sqlType="CHAR" table_alias_name="" uid="{970d97eb-8d78-477d-b6e4-21b61e4c89cf}"/>
|
||||
<RecordField colName="cod_seg1" fieldIdRef="36" fieldType="TABLE_COLUMN" name="adtb00003.cod_seg1" sqlTabName="adtb00003" sqlType="CHAR" table_alias_name="" uid="{4c841bde-c6a1-4acb-b898-3d9190d51412}"/>
|
||||
<RecordField colName="cod_seg2" fieldIdRef="37" fieldType="TABLE_COLUMN" name="adtb00003.cod_seg2" sqlTabName="adtb00003" sqlType="SMALLINT" table_alias_name="" uid="{3794cf6b-4e5d-4fd0-8a18-5a1c718bd892}"/>
|
||||
<RecordField colName="localidad" fieldIdRef="1" name="localidad" sqlTabName="formonly" table_alias_name="" uid="{4f1c881a-9d71-4d55-b09e-07df6d063466}"/>
|
||||
<RecordField colName="descrip_st" fieldIdRef="5" name="descrip_st" sqlTabName="formonly" table_alias_name="" uid="{d44c1245-2fc3-4423-a1f3-1c8c000764fc}"/>
|
||||
<RecordField colName="casa_num" fieldIdRef="17" fieldType="TABLE_COLUMN" name="adtb00003.casa_num" sqlTabName="adtb00003" sqlType="CHAR" table_alias_name="" uid="{111bf751-06b7-4dff-944d-e2b930f046e0}"/>
|
||||
<RecordField colName="credito" fieldIdRef="0" name="credito" sqlTabName="formonly" table_alias_name="" uid="{7894fd9c-4095-4233-8283-7ea87b343bfa}"/>
|
||||
<RecordField colName="licencia" fieldIdRef="25" fieldType="TABLE_COLUMN" name="adtb00003.licencia" sqlTabName="adtb00003" sqlType="CHAR" table_alias_name="" uid="{5c751079-1303-4ce4-acb1-b0c3b7673794}"/>
|
||||
<RecordField colName="p_sexo" fieldIdRef="34" name="p_sexo" sqlTabName="formonly" sqlType="CHAR" table_alias_name="" uid="{3b6f1e9e-8a35-4bf9-92be-a084d3d9f799}"/>
|
||||
<RecordField colName="tipo_sexo" fieldIdRef="35" name="tipo_sexo" sqlTabName="formonly" table_alias_name="" uid="{cd8e0645-387e-443c-984e-33307ed137d6}"/>
|
||||
<RecordField colName="cod_seg3" defaultValue="1" fieldIdRef="38" fieldType="TABLE_COLUMN" name="adtb00003.cod_seg3" sqlTabName="adtb00003" sqlType="SMALLINT" table_alias_name="" uid="{a6011d93-8ed9-4413-b5a6-2fda05931cb6}"/>
|
||||
<RecordField colName="sueldo_ac" fieldIdRef="30" fieldType="TABLE_COLUMN" name="adtb00003.sueldo_ac" precisionDecimal="10" scaleDecimal="2" sqlTabName="adtb00003" sqlType="DECIMAL" table_alias_name="" uid="{b8e6fc34-0883-4d61-84bc-5af562c0914b}"/>
|
||||
<RecordField colName="fecha_salida" fieldIdRef="3" name="fecha_salida" sqlTabName="formonly" sqlType="DATE" table_alias_name="" uid="{274f2ebc-ed68-4c84-b93a-bd05f9c9bc26}"/>
|
||||
<RecordField colName="cuenta_no" fieldIdRef="4" fieldType="TABLE_COLUMN" name="adtb00003.cuenta_no" sqlTabName="adtb00003" sqlType="VARCHAR" table_alias_name="" uid="{d6e44c3a-0ebb-4f95-a907-aec3572a66d8}"/>
|
||||
<RecordField colName="status_t" fieldIdRef="40" fieldType="TABLE_COLUMN" name="adtb00003.status_t" sqlTabName="adtb00003" sqlType="CHAR" table_alias_name="" uid="{6406bdfc-baa3-4ae1-8cbc-a27e94f80087}"/>
|
||||
<RecordField colName="us_crea" fieldIdRef="41" fieldType="TABLE_COLUMN" name="adtb00003.us_crea" sqlTabName="adtb00003" sqlType="CHAR" table_alias_name="" uid="{dcb5b900-e5b7-41fb-a209-e4a20a25d78b}"/>
|
||||
<RecordField colName="us_mod" fieldIdRef="43" fieldType="TABLE_COLUMN" name="adtb00003.us_mod" sqlTabName="adtb00003" sqlType="CHAR" table_alias_name="" uid="{54f0e4da-9591-4237-8410-1d86f9b928aa}"/>
|
||||
<RecordField colName="fech_crea" fieldIdRef="42" fieldType="TABLE_COLUMN" name="adtb00003.fech_crea" qual1="YEAR" qualFraction="FRACTION(3)" sqlTabName="adtb00003" sqlType="DATETIME" table_alias_name="" uid="{75ef7ce8-7920-4307-bbd5-d9abe540b50f}"/>
|
||||
<RecordField colName="fech_mod" fieldIdRef="44" fieldType="TABLE_COLUMN" name="adtb00003.fech_mod" qual1="YEAR" qualFraction="FRACTION(3)" sqlTabName="adtb00003" sqlType="DATETIME" table_alias_name="" uid="{5240b45f-83a6-4d2b-8948-ea05adb49fdb}"/>
|
||||
<RecordField colName="fecha_salida" fieldIdRef="45" name="fecha_ultimo_aumento" sqlTabName="formonly" sqlType="DATE" table_alias_name="" uid="{515ff4ef-a63a-4afb-8956-1e9b3856d1d4}"/>
|
||||
<RecordField colName="" fieldIdRef="46" name="sec_vend_sup" sqlTabName="" table_alias_name="" uid="{447e0eb3-7e79-49f0-ad7f-8ee5340d744d}"/>
|
||||
<RecordField colName="" fieldIdRef="58" name="sec_vend_supervisor" sqlTabName="" table_alias_name="" uid="{dc4a28ee-6dc7-482f-bdd8-7599eb260431}"/>
|
||||
<RecordField colName="" fieldIdRef="59" name="nombre_supervisor" sqlTabName="" table_alias_name="" uid="{75342cd2-3685-48de-8efa-6542b501d001}"/>
|
||||
<RecordField colName="" defaultValue="1" fieldIdRef="60" name="tipocuenta" sqlTabName="" table_alias_name="" uid="{3ddb28a4-0d03-4daa-8d5d-56bf41ad4b48}"/>
|
||||
<RecordField colName="" defaultValue="10101070" fieldIdRef="61" name="codbancodestino" sqlTabName="" table_alias_name="" uid="{de0451f9-623b-4b44-8c57-62b0e84617f6}"/>
|
||||
<RecordField colName="" fieldIdRef="62" name="digiverbancodestino" sqlTabName="" table_alias_name="" uid="{c49fb61c-0e8a-4fa8-b210-9c2f9f4fe19c}"/>
|
||||
<RecordField colName="" defaultValue="FIJO" fieldIdRef="63" name="tipo_sueldo" sqlTabName="" table_alias_name="" uid="{e750b10f-ad62-408b-b65f-71094d6f91ae}"/>
|
||||
<RecordField colName="" fieldIdRef="64" name="email" sqlTabName="" table_alias_name="" uid="{cd560286-be50-4ca8-a2d3-c2fd5c6ce871}"/>
|
||||
<RecordField colName="" defaultValue="NO" fieldIdRef="65" name="instalador" sqlTabName="" table_alias_name="" uid="{074c6cbc-0aaa-4841-940d-8654653666d0}"/>
|
||||
<RecordField colName="" fieldIdRef="66" name="cuenta_aux" sqlTabName="" table_alias_name="" uid="{837e19e0-6f11-45bb-8636-46775a954700}"/>
|
||||
<RecordField colName="" fieldIdRef="67" name="descripcion_cuenta" sqlTabName="" table_alias_name="" uid="{22b9abe4-5dd7-4e65-9dc8-c8483aaad9bc}"/>
|
||||
<RecordField colName="" defaultValue="1" fieldIdRef="68" name="moneda" sqlTabName="" table_alias_name="" uid="{28072654-ebbe-4fb6-b449-7e5d9a162bb0}"/>
|
||||
<RecordField colName="" fieldIdRef="69" name="valorrd" sqlTabName="" table_alias_name="" uid="{e9141fd0-b3b9-472d-9205-50d59673c275}"/>
|
||||
<RecordField colName="" fieldIdRef="70" name="tasa" sqlTabName="" table_alias_name="" uid="{b02c7437-47fe-48c7-af7b-c1a1939ad755}"/>
|
||||
<RecordField colName="" fieldIdRef="71" name="cuenta_out" sqlTabName="" table_alias_name="" uid="{32a4052e-b473-48b6-b724-12aed7a43f88}"/>
|
||||
<RecordField colName="" fieldIdRef="72" name="departamento_out" sqlTabName="" table_alias_name="" uid="{759e2be4-f8d0-457f-874a-43fbae5a06b6}"/>
|
||||
<RecordField colName="" fieldIdRef="73" name="nombre_out" sqlTabName="" table_alias_name="" uid="{fc6d87c6-7fe3-453f-8fe7-42bc1ef3f05f}"/>
|
||||
<RecordField colName="" fieldIdRef="74" name="num_emp_supervisor" sqlTabName="" table_alias_name="" uid="{aa382c09-48a7-4298-ac66-535a21a2455c}"/>
|
||||
<RecordField colName="" fieldIdRef="75" name="nombre_super" sqlTabName="" table_alias_name="" uid="{84c5ff1f-1f23-4a99-88cc-87080807a3ba}"/>
|
||||
<RecordField colName="" fieldIdRef="76" name="nivel_emp" sqlTabName="" table_alias_name="" uid="{00c17420-b5f8-4fb5-ab3c-104e116c0d8e}"/>
|
||||
<RecordField fieldIdRef="8" name="fecha_suspension" uid="{2745f11b-199a-40f3-a254-572aa945d7e0}"/>
|
||||
<RecordField fieldIdRef="77" name="codigo_retiro_bco" uid="{4aabc8f7-bd3b-4959-b98f-b19ec374ba67}"/>
|
||||
<RecordField defaultValue="NO" fieldIdRef="78" name="retiro_comercial" uid="{90b270e5-7681-40b2-b54b-d74ec6fddd36}"/>
|
||||
<RecordField fieldIdRef="79" name="estado_legal" uid="{a8ea96fa-dc1f-43d2-8b39-1f533c6c45e7}"/>
|
||||
<RecordField defaultValue="SI" fieldIdRef="80" name="genera_file_bco" uid="{22e6b273-6354-4690-aceb-a6a6f0cf088e}"/>
|
||||
<RecordField fieldIdRef="81" name="observacion" uid="{386331f5-b16d-47c4-b771-bba34d2695d6}"/>
|
||||
<RecordField fieldIdRef="82" name="combobox1" uid="{f4f1f6e8-9dbc-41e6-bd16-22e62d72ec18}"/>
|
||||
<RecordField defaultValue="CEDULA" fieldIdRef="83" name="tipo_documento" uid="{ff65f57a-feb3-41b3-a3d0-eda9db81de3f}"/>
|
||||
<RecordField defaultValue="NO" fieldIdRef="84" name="gerentemarcas" uid="{893f39f1-feea-4ccf-8817-0973928269de}"/>
|
||||
<RecordField fieldIdRef="85" name="alias" uid="{8b28d403-2cfa-4509-9024-d48ad2b14368}"/>
|
||||
<RecordField defaultValue="NO" fieldIdRef="86" name="enviar_volante" uid="{4983a089-4097-4fb0-9d09-6a8c63a0e25e}"/>
|
||||
<RecordField defaultValue="NO" fieldIdRef="87" name="enviar_encuesta" uid="{211240e2-5f56-4fd1-885e-3c15e421b9ec}"/>
|
||||
<RecordField fieldIdRef="88" name="telefonoCorporativo" uid="{d81c8030-2426-4b8f-8a18-7a5252bdae11}"/>
|
||||
<RecordField fieldIdRef="89" name="numeroOficina" uid="{4e05b2fc-d82a-4fab-972b-a364da855cfc}"/>
|
||||
<RecordField fieldIdRef="90" name="extension" uid="{d6637114-3d62-4201-a5ed-08e8971c47bd}"/>
|
||||
<RecordField colName="" fieldIdRef="91" name="email_corporativo" sqlTabName="" table_alias_name="" uid="{beb90f8a-330e-438a-9bda-44c361411505}"/>
|
||||
</Record>
|
||||
<Record additionalTables="" joinLeft="" joinOperator="" joinRight="" name="s_comisiones" order="" uid="{2fd34cfe-7434-4588-9701-90230b646d4d}" where="">
|
||||
<RecordField colName="" fieldIdRef="47" name="sec_vend" sqlTabName="" table_alias_name="" uid="{dc61578e-3442-4a67-a552-797118da9e81}"/>
|
||||
<RecordField colName="" fieldIdRef="48" name="nombre_vend" sqlTabName="" table_alias_name="" uid="{9e620625-d063-405c-9d8a-ef723c6910b6}"/>
|
||||
<RecordField colName="" fieldIdRef="49" name="porc_cobros" sqlTabName="" table_alias_name="" uid="{705695e0-9906-483a-8d75-f3dff325fb65}"/>
|
||||
<RecordField colName="" fieldIdRef="50" name="porc_cobros_a" sqlTabName="" table_alias_name="" uid="{72d31938-3a8f-49ed-9ad5-fb94291aa89d}"/>
|
||||
</Record>
|
||||
<Record additionalTables="" joinLeft="" joinOperator="" joinRight="" name="s_adicionales" order="" uid="{d4a05e54-66e4-432d-ae50-e1dfdfa37f00}" where="">
|
||||
<RecordField colName="" fieldIdRef="51" name="sec_vend1" sqlTabName="" table_alias_name="" uid="{337b6444-84de-4ddd-a61a-15acba688cd5}"/>
|
||||
<RecordField colName="" fieldIdRef="57" name="nombre_vend1" sqlTabName="" table_alias_name="" uid="{4d915661-7886-4e5a-9445-7c6df960bb70}"/>
|
||||
<RecordField colName="" fieldIdRef="52" name="cod_n" sqlTabName="" table_alias_name="" uid="{9a965de9-1dad-457c-b36d-029c6edf5d8a}"/>
|
||||
<RecordField colName="" fieldIdRef="53" name="descripcion" sqlTabName="" table_alias_name="" uid="{d91ca76d-d57d-4f97-8e61-5a48da9f6b8d}"/>
|
||||
<RecordField colName="" fieldIdRef="54" name="porc_vendedor" sqlTabName="" table_alias_name="" uid="{7eedc394-7d47-40fa-a302-af3f8baa754d}"/>
|
||||
<RecordField colName="" fieldIdRef="55" name="porc_supervisor" sqlTabName="" table_alias_name="" uid="{8a401a6b-c4e7-49cc-bcf3-be7b374a14f5}"/>
|
||||
<RecordField colName="" fieldIdRef="56" name="porc_directo" sqlTabName="" table_alias_name="" uid="{2a8c5b53-4611-452b-8687-65472f2d7724}"/>
|
||||
</Record>
|
||||
<Record additionalTables="" name="s_herramientas" uid="{a1c2e3f4-0001-4a10-9b20-11aa22bb3301}">
|
||||
<RecordField colName="" fieldIdRef="92" name="h_codigo" sqlTabName="" table_alias_name="" uid="{a1c2e3f4-0002-4a10-9b20-11aa22bb3302}"/>
|
||||
<RecordField colName="" fieldIdRef="93" name="h_descripcion" sqlTabName="" table_alias_name="" uid="{a1c2e3f4-0003-4a10-9b20-11aa22bb3303}"/>
|
||||
<RecordField colName="" fieldIdRef="94" name="h_fecha" sqlTabName="" table_alias_name="" uid="{a1c2e3f4-0004-4a10-9b20-11aa22bb3304}"/>
|
||||
<RecordField colName="" fieldIdRef="95" name="h_documento" sqlTabName="" table_alias_name="" uid="{a1c2e3f4-0005-4a10-9b20-11aa22bb3305}"/>
|
||||
<RecordField colName="" fieldIdRef="96" name="h_cantidad" sqlTabName="" table_alias_name="" uid="{a1c2e3f4-0006-4a10-9b20-11aa22bb3306}"/>
|
||||
</Record>
|
||||
<Form gridHeight="44" gridWidth="247" name="nofmmt003" style="basic" text="MAESTRA EMPLEADOS">
|
||||
<ActionDefaultList name="ActionDefaultList1">
|
||||
<ActionDefault name="busca_foto" text="Buscar Fotos"/>
|
||||
</ActionDefaultList>
|
||||
<ToolBar name="ToolBar1">
|
||||
<ToolBarItem comment="Nuevo Empleado" image="new" name="nuevo" text="Empleados"/>
|
||||
<ToolBarItem comment="Criterio de busqueda" image="find" name="buscar" text="Buscar Empleado"/>
|
||||
<ToolBarSeparator name="ToolBarSeparator1"/>
|
||||
<ToolBarItem image="quit" name="salir" text="Salir"/>
|
||||
</ToolBar>
|
||||
<Folder gridHeight="43" gridWidth="246" name="Folder1" posX="1" posY="1">
|
||||
<Page name="General" text="General">
|
||||
<Grid gridHeight="40" gridWidth="116" name="Grid1" posX="0" posY="0">
|
||||
<Group gridHeight="8" gridWidth="98" name="Group1" posX="1" posY="1" text="Empleados">
|
||||
<Label posX="2" posY="1" text="Ficha No."/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="num_emp" fieldId="6" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="7" name="adtb00003.num_emp" notNull="true" posX="14" posY="1" required="true" sqlTabName="adtb00003" sqlType="SMALLINT" tabIndex="1" table_alias_name="" widget="Edit"/>
|
||||
<FFImage aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" autoScale="true" colName="fotos" fieldId="2" gridHeight="5" gridWidth="23" name="fotos" posX="73" posY="1" sqlTabName="formonly" stretch="both" table_alias_name="" unitWidth="characters" widget="FFImage" width="17"/>
|
||||
<Label gridHeight="1" gridWidth="10" name="Label42" posX="2" posY="2" text="Departamento"/>
|
||||
<ComboBox aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" fieldId="7" fieldType="NON_DATABASE" gridHeight="1" gridWidth="43" items="" length="1" name="departamento" posX="14" posY="2" sqlTabName="" sqlType="SMALLINT" tabIndex="2" table_alias_name="" widget="ComboBox"/>
|
||||
<Label gridHeight="1" gridWidth="10" name="Label43" posX="2" posY="3" text="Puesto"/>
|
||||
<ComboBox aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" fieldId="9" fieldType="NON_DATABASE" gridHeight="1" gridWidth="43" items="" length="1" name="cod_puesto" posX="14" posY="3" sqlTabName="" sqlType="SMALLINT" tabIndex="3" table_alias_name="" widget="ComboBox"/>
|
||||
<Button gridHeight="1" gridWidth="8" name="busca_foto" posX="62" posY="3" tabIndex="8"/>
|
||||
<Label gridHeight="1" gridWidth="6" name="Label44" posX="2" posY="4" text="Nombre"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" case="upper" colName="nom1_emp" fieldId="10" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="21" name="adtb00003.nom1_emp" posX="14" posY="4" sqlTabName="adtb00003" sqlType="CHAR" tabIndex="4" table_alias_name="" widget="Edit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" case="upper" colName="nom2_emp" fieldId="11" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="21" name="adtb00003.nom2_emp" posX="37" posY="4" sqlTabName="adtb00003" sqlType="CHAR" tabIndex="5" table_alias_name="" widget="Edit"/>
|
||||
<Label gridHeight="1" gridWidth="9" name="Label45" posX="2" posY="5" text="Apellidos"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" case="upper" colName="apell1_emp" fieldId="12" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="21" name="adtb00003.apell1_emp" posX="14" posY="5" sqlTabName="adtb00003" sqlType="CHAR" tabIndex="6" table_alias_name="" widget="Edit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" case="upper" colName="apell2_emp" fieldId="13" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="21" name="adtb00003.apell2_emp" posX="37" posY="5" sqlTabName="adtb00003" sqlType="CHAR" tabIndex="7" table_alias_name="" widget="Edit"/>
|
||||
<CheckBox defaultValue="NO" fieldId="84" gridHeight="1" gridWidth="11" name="gerentemarcas" posX="2" posY="6" tabIndex="-1" text="Gerente Marcas" title="checkbox1" valueChecked="SI" valueUnchecked="NO" widget="CheckBox"/>
|
||||
<CheckBox defaultValue="NO" fieldId="86" gridHeight="1" gridWidth="11" name="enviar_volante" posX="20" posY="6" tabIndex="-1" text="Envia Volante" title="checkbox1" valueChecked="SI" valueUnchecked="NO" widget="CheckBox"/>
|
||||
<CheckBox defaultValue="NO" fieldId="87" gridHeight="1" gridWidth="11" name="enviar_encuesta" posX="40" posY="6" tabIndex="-1" text="Envia Encuesta" title="checkbox1" valueChecked="SI" valueUnchecked="NO" widget="CheckBox"/>
|
||||
</Group>
|
||||
<Group gridHeight="23" gridWidth="45" name="Group3" posX="60" posY="9">
|
||||
<Label gridHeight="1" gridWidth="13" justify="right" name="Label1" posX="4" posY="1" text="LOCALIDAD:"/>
|
||||
<ComboBox aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="localidad" fieldId="1" gridHeight="1" gridWidth="19" items="" name="localidad" posX="18" posY="1" sqlTabName="formonly" tabIndex="28" table_alias_name="" widget="ComboBox"/>
|
||||
<Label gridHeight="1" gridWidth="13" justify="right" name="Label2" posX="4" posY="2" text="STATUS:"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="descrip_st" fieldId="5" gridHeight="1" gridWidth="13" name="descrip_st" posX="18" posY="2" sqlTabName="formonly" tabIndex="29" table_alias_name="" widget="Edit"/>
|
||||
<Label gridHeight="1" gridWidth="13" justify="right" name="Label3" posX="4" posY="3" text="Casa No:"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" case="upper" colName="casa_num" fieldId="17" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="11" name="adtb00003.casa_num" posX="18" posY="3" sqlTabName="adtb00003" sqlType="CHAR" tabIndex="30" table_alias_name="" widget="Edit"/>
|
||||
<Label gridHeight="1" gridWidth="13" justify="right" name="Label4" posX="4" posY="4" text="Credito"/>
|
||||
<ComboBox aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="credito" fieldId="0" gridHeight="1" gridWidth="5" include="SI|NO" items="SI, NO" name="credito" posX="18" posY="4" sqlTabName="formonly" tabIndex="31" table_alias_name="" widget="ComboBox">
|
||||
<Item name="SI" text="SI"/>
|
||||
<Item name="NO" text="NO"/>
|
||||
</ComboBox>
|
||||
<Label gridHeight="1" gridWidth="13" justify="right" name="Label5" posX="4" posY="5" text="Licencia"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="licencia" fieldId="25" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="11" name="adtb00003.licencia" posX="18" posY="5" sqlTabName="adtb00003" sqlType="CHAR" tabIndex="32" table_alias_name="" widget="Edit"/>
|
||||
<Label gridHeight="1" gridWidth="13" justify="right" name="Label6" posX="4" posY="6" text="Sexo"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" case="upper" colName="p_sexo" comment="Digite M Para SEXO MASCULINO y F Para FEMENINO" fieldId="34" gridHeight="1" gridWidth="2" include="M|F" name="p_sexo" posX="18" posY="6" sqlTabName="formonly" sqlType="CHAR" tabIndex="33" table_alias_name="" widget="Edit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="tipo_sexo" fieldId="35" gridHeight="1" gridWidth="13" name="tipo_sexo" noEntry="true" posX="21" posY="6" sqlTabName="formonly" tabIndex="34" table_alias_name="" widget="Edit"/>
|
||||
<Label gridHeight="1" gridWidth="13" justify="right" name="Label7" posX="4" posY="7" text="Poncha"/>
|
||||
<ComboBox aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="cod_seg3" comment="1- CONTROL ASISTENCIA 0- NO CONTROL" defaultValue="1" fieldId="38" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="5" include="1|0" items="1, 0" name="adtb00003.cod_seg3" posX="18" posY="7" sqlTabName="adtb00003" sqlType="SMALLINT" tabIndex="35" table_alias_name="" widget="ComboBox">
|
||||
<Item name="1" text="1"/>
|
||||
<Item name="0" text="0"/>
|
||||
</ComboBox>
|
||||
<Label gridHeight="1" gridWidth="13" justify="right" name="Label8" posX="4" posY="8" text="Sueldo"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="sueldo_ac" fieldId="30" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="11" name="adtb00003.sueldo_ac" posX="18" posY="8" precisionDecimal="10" scaleDecimal="2" sqlTabName="adtb00003" sqlType="DECIMAL" tabIndex="36" table_alias_name="" widget="Edit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" fieldId="69" gridHeight="1" gridWidth="12" name="valorrd" posX="30" posY="8" sqlTabName="" tabIndex="68" table_alias_name="" title="Edit1" widget="Edit"/>
|
||||
<Label gridHeight="1" gridWidth="13" justify="right" name="Label20" posX="4" posY="9" text="Moneda"/>
|
||||
<ComboBox aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" defaultValue="1" fieldId="68" gridHeight="1" gridWidth="18" items="RD$, USD$" name="moneda" posX="18" posY="9" sqlTabName="" tabIndex="67" table_alias_name="" title="Edit1" widget="ComboBox">
|
||||
<Item lstrtext="false" name="1" text="RD$"/>
|
||||
<Item lstrtext="false" name="2" text="USD$"/>
|
||||
</ComboBox>
|
||||
<Label gridHeight="1" gridWidth="13" justify="right" name="Label21" posX="4" posY="10" text="Tasa"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" fieldId="70" gridHeight="1" gridWidth="11" name="tasa" posX="18" posY="10" sqlTabName="" tabIndex="69" table_alias_name="" title="Edit1" widget="Edit"/>
|
||||
<Label gridHeight="1" gridWidth="13" justify="right" name="Label9" posX="4" posY="11" text="F.Salida"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="fecha_salida" fieldId="3" format="dd/mm/yyyy" gridHeight="1" gridWidth="11" name="fecha_salida" posX="18" posY="11" sqlTabName="formonly" sqlType="DATE" tabIndex="37" table_alias_name="" widget="Edit"/>
|
||||
<Label gridHeight="1" gridWidth="13" justify="right" name="Label13" posX="4" posY="12" text="Tipo Cuenta"/>
|
||||
<ComboBox aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" defaultValue="1" fieldId="60" gridHeight="1" gridWidth="19" items="CUENTA CORRIENTE, CUENTA AHORRO" name="tipocuenta" posX="18" posY="12" sqlTabName="" tabIndex="59" table_alias_name="" title="Edit1" widget="ComboBox">
|
||||
<Item lstrtext="false" name="1" text="CUENTA CORRIENTE"/>
|
||||
<Item lstrtext="false" name="2" text="CUENTA AHORRO"/>
|
||||
</ComboBox>
|
||||
<Label gridHeight="1" gridWidth="13" justify="right" name="Label14" posX="4" posY="13" text="Banco"/>
|
||||
<ComboBox aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" defaultValue="10101070" fieldId="61" gridHeight="1" gridWidth="19" items="BANCO POPULAR, BANCO RESERVAS" name="codbancodestino" posX="18" posY="13" sqlTabName="" tabIndex="60" table_alias_name="" title="Edit1" widget="ComboBox">
|
||||
<Item lstrtext="false" name="10101070" text="BANCO POPULAR"/>
|
||||
<Item lstrtext="false" name="10101010" text="BANCO RESERVAS"/>
|
||||
</ComboBox>
|
||||
<Label gridHeight="1" gridWidth="13" justify="right" name="Label15" posX="4" posY="14" text="Digito Ver Banco"/>
|
||||
<ComboBox aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" fieldId="62" gridHeight="1" gridWidth="19" items="BANCO POPULAR, BANCO RESERVAS" name="digiverbancodestino" posX="18" posY="14" sqlTabName="" tabIndex="61" table_alias_name="" title="Edit1" widget="ComboBox">
|
||||
<Item lstrtext="false" name="8" text="BANCO POPULAR"/>
|
||||
<Item lstrtext="true" name="6" text="BANCO RESERVAS"/>
|
||||
</ComboBox>
|
||||
<Label gridHeight="1" gridWidth="13" justify="right" name="Label10" posX="4" posY="15" text="Cuenta_no"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="cuenta_no" fieldId="4" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="11" name="adtb00003.cuenta_no" posX="18" posY="15" sqlTabName="adtb00003" sqlType="VARCHAR" tabIndex="38" table_alias_name="" widget="Edit"/>
|
||||
<Label gridHeight="1" gridWidth="13" justify="right" name="label50" posX="4" posY="16" text="Genera File Banco"/>
|
||||
<ComboBox defaultValue="SI" fieldId="80" gridHeight="1" gridWidth="11" items="SI, NO" name="genera_file_bco" posX="18" posY="16" tabIndex="-1" title="combobox1" widget="ComboBox">
|
||||
<Item lstrtext="false" name="SI" text="SI"/>
|
||||
<Item lstrtext="false" name="NO" text="NO"/>
|
||||
</ComboBox>
|
||||
<Label gridHeight="1" gridWidth="13" justify="right" name="Label11" posX="4" posY="17" text="Fecha Aumento"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="fecha_salida" fieldId="45" format="dd/mm/yyyy" gridHeight="1" gridWidth="11" name="fecha_ultimo_aumento" posX="18" posY="17" sqlTabName="formonly" sqlType="DATE" tabIndex="44" table_alias_name="" widget="Edit"/>
|
||||
<Label gridHeight="1" gridWidth="13" justify="right" name="label46" posX="4" posY="18" text="Fecha Suspension"/>
|
||||
<Edit fieldId="8" gridHeight="1" gridWidth="11" name="fecha_suspension" posX="18" posY="18" tabIndex="-1" title="edit1" widget="Edit"/>
|
||||
<Label gridHeight="1" gridWidth="13" justify="right" name="label47" posX="4" posY="19" text="Codigo RETIRO"/>
|
||||
<Edit fieldId="77" gridHeight="1" gridWidth="11" name="codigo_retiro_bco" noEntry="true" posX="18" posY="19" scroll="true" tabIndex="-1" title="edit1" widget="Edit"/>
|
||||
<Label comment="Adiciona este empleado en el file Retiro Comercial" gridHeight="1" gridWidth="13" justify="right" name="label48" posX="4" posY="20" text="Retiro Comercial"/>
|
||||
<ComboBox defaultValue="NO" fieldId="78" gridHeight="1" gridWidth="11" items="NO, SI" name="retiro_comercial" posX="18" posY="20" tabIndex="-1" title="edit1" widget="ComboBox">
|
||||
<Item lstrtext="false" name="NO" text="NO"/>
|
||||
<Item lstrtext="false" name="SI" text="SI"/>
|
||||
</ComboBox>
|
||||
<Label gridHeight="1" gridWidth="10" justify="right" name="label49" posX="4" posY="21" text="Estado Legal"/>
|
||||
<ComboBox fieldId="79" gridHeight="1" gridWidth="20" items="ACTIVO, FASE, FASE-ACTIVO" name="estado_legal" posX="18" posY="21" tabIndex="-1" title="combobox1" widget="ComboBox">
|
||||
<Item lstrtext="false" name="ACTIVO" text="ACTIVO"/>
|
||||
<Item lstrtext="false" name="FASE" text="FASE"/>
|
||||
<Item lstrtext="false" name="FASE-ACTIVO" text="FASE-ACTIVO"/>
|
||||
</ComboBox>
|
||||
</Group>
|
||||
<Group gridHeight="24" gridWidth="59" name="Group2" posX="1" posY="10" text="Generales">
|
||||
<Label gridHeight="1" gridWidth="10" name="Label25" posX="1" posY="1" text="Nivel Educacion"/>
|
||||
<ComboBox aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" fieldId="76" gridHeight="1" gridWidth="30" items="" name="nivel_emp" posX="14" posY="1" sqlTabName="" tabIndex="75" table_alias_name="" title="Edit1" widget="ComboBox"/>
|
||||
<Label gridHeight="1" gridWidth="10" name="label37" posX="45" posY="1" text="Alias"/>
|
||||
<Label gridHeight="1" gridWidth="6" name="Label39" posX="1" posY="2" text="Puesto"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="nom_puesto" fieldId="14" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="30" name="adtb00004.nom_puesto" noEntry="true" posX="14" posY="2" sqlTabName="adtb00004" sqlType="CHAR" tabIndex="9" table_alias_name="" widget="Edit"/>
|
||||
<Edit case="upper" fieldId="85" gridHeight="1" gridWidth="10" name="alias" posX="45" posY="2" scroll="true" tabIndex="-1" title="edit1" widget="Edit"/>
|
||||
<Label gridHeight="1" gridWidth="6" name="Label40" posX="1" posY="3" text="Depto."/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="nom_dpto" fieldId="15" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="30" name="adtb00001.nom_dpto" noEntry="true" posX="14" posY="3" sqlTabName="adtb00001" sqlType="CHAR" tabIndex="10" table_alias_name="" widget="Edit"/>
|
||||
<Label gridHeight="1" gridWidth="5" hidden="true" name="Label33" posX="45" posY="3" text="Serie"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" autoNext="true" colName="serie" comment="Digite la serie del empleado" fieldId="21" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="6" hidden="true" name="adtb00003.serie" posX="51" posY="3" sqlTabName="adtb00003" sqlType="SMALLINT" tabIndex="15" table_alias_name="" widget="Edit"/>
|
||||
<Label gridHeight="1" gridWidth="10" name="Label24" posX="1" posY="4" text="Supervisor"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" fieldId="74" gridHeight="1" gridWidth="10" name="num_emp_supervisor" posX="14" posY="4" sqlTabName="" tabIndex="73" table_alias_name="" title="Edit1" widget="Edit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" fieldId="75" gridHeight="1" gridWidth="19" name="nombre_super" posX="25" posY="4" scroll="true" sqlTabName="" tabIndex="74" table_alias_name="" title="Edit2" widget="Edit"/>
|
||||
<Label gridHeight="1" gridWidth="4" name="Label38" posX="1" posY="5" text="Dir."/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" case="upper" colName="calle" fieldId="16" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="26" name="adtb00003.calle" posX="14" posY="5" scroll="true" sqlTabName="adtb00003" sqlType="CHAR" tabIndex="11" table_alias_name="" widget="Edit"/>
|
||||
<Label gridHeight="1" gridWidth="12" name="Label36" posX="1" posY="6" text="Urbanizacion"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" case="upper" colName="barrio" fieldId="18" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="15" name="adtb00003.barrio" posX="14" posY="6" scroll="true" sqlTabName="adtb00003" sqlType="CHAR" tabIndex="12" table_alias_name="" widget="Edit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" case="upper" colName="urbanizacion" fieldId="19" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="10" name="adtb00003.urbanizacion" posX="43" posY="6" scroll="true" sqlTabName="adtb00003" sqlType="CHAR" tabIndex="13" table_alias_name="" widget="Edit"/>
|
||||
<ComboBox defaultValue="CEDULA" fieldId="83" gridHeight="1" gridWidth="12" items="CEDULA, PASAPORTE" name="tipo_documento" posX="1" posY="7" tabIndex="-1" title="combobox2" widget="ComboBox">
|
||||
<Item lstrtext="false" name="CEDULA" text="CEDULA"/>
|
||||
<Item lstrtext="false" name="PASAPORTE" text="PASAPORTE"/>
|
||||
</ComboBox>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" autoNext="false" comment="Digite la cedula del empleado en formato 99999999999" fieldId="20" fieldType="NON_DATABASE" gridHeight="1" gridWidth="11" length="11" name="cedula" posX="14" posY="7" sqlType="CHAR" tabIndex="14" table_alias_name="" widget="Edit"/>
|
||||
<Label gridHeight="1" gridWidth="14" name="Label34" posX="29" posY="7" text="Fecha de Naci."/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="fech_nac" comment="Digite la fecha de nacimiento del empleado" fieldId="22" fieldType="TABLE_COLUMN" format="dd/mm/yyyy" gridHeight="1" gridWidth="10" name="adtb00003.fech_nac" posX="44" posY="7" sqlTabName="adtb00003" sqlType="DATE" tabIndex="17" table_alias_name="" widget="Edit"/>
|
||||
<Label gridHeight="1" gridWidth="8" name="Label35" posX="1" posY="8" text="Telefono"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="telefono" fieldId="26" format="(###)###-####" gridHeight="1" gridWidth="13" name="telefono" posX="14" posY="8" scroll="true" sqlTabName="formonly" tabIndex="16" table_alias_name="" widget="Edit"/>
|
||||
<Label gridHeight="1" gridWidth="11" name="label54" posX="29" posY="8" text="Num. Oficina"/>
|
||||
<Edit fieldId="89" format="(###)###-####" gridHeight="1" gridWidth="13" name="numeroOficina" posX="41" posY="8" scroll="true" tabIndex="-1" title="edit1" widget="Edit"/>
|
||||
<Label gridHeight="1" gridWidth="12" name="label53" posX="1" posY="9" text="Tel. Corporativo (flota)"/>
|
||||
<Edit fieldId="88" format="(###)###-####" gridHeight="1" gridWidth="13" name="telefonoCorporativo" posX="14" posY="9" scroll="true" tabIndex="-1" title="edit1" widget="Edit"/>
|
||||
<Label gridHeight="1" gridWidth="7" name="label55" posX="30" posY="9" text="Extension"/>
|
||||
<Edit fieldId="90" format="####" gridHeight="1" gridWidth="9" name="extension" posX="43" posY="9" tabIndex="-1" title="edit1" widget="Edit"/>
|
||||
<Label gridHeight="1" gridWidth="12" name="Label32" posX="1" posY="10" text="Nacionalidad"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" autoNext="true" colName="cod_nac" comment="Digite la nacionalidad del empleado" fieldId="23" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="2" name="adtb00003.cod_nac" posX="14" posY="10" sqlTabName="adtb00003" sqlType="SMALLINT" tabIndex="18" table_alias_name="" widget="Edit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="nom_nac" fieldId="24" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="27" name="adtb00007.nom_nac" noEntry="true" posX="19" posY="10" sqlTabName="adtb00007" sqlType="CHAR" tabIndex="19" table_alias_name="" widget="Edit"/>
|
||||
<Label gridHeight="1" gridWidth="12" name="Label28" posX="1" posY="11" text="Estado Civil"/>
|
||||
<ComboBox aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" case="upper" colName="estado_civil" comment="Digite S = Soltero, C = Casado" fieldId="27" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="13" include="S|C" items="CASADO, SOLTERO, DIVORCIADO, UNION LIBRE" name="adtb00003.estado_civil" posX="14" posY="11" sqlTabName="adtb00003" sqlType="CHAR" tabIndex="20" table_alias_name="" widget="ComboBox">
|
||||
<Item lstrtext="false" name="C" text="CASADO"/>
|
||||
<Item lstrtext="false" name="S" text="SOLTERO"/>
|
||||
<Item lstrtext="false" name="D" text="DIVORCIADO"/>
|
||||
<Item lstrtext="false" name="U" text="UNION LIBRE"/>
|
||||
</ComboBox>
|
||||
<Label gridHeight="1" gridWidth="14" name="Label27" posX="28" posY="11" text="Tipo de Sangre"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="tipo_sangre" comment="Digite el tipo de sangre del empleado" fieldId="29" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="3" name="adtb00003.tipo_sangre" posX="43" posY="11" sqlTabName="adtb00003" sqlType="CHAR" tabIndex="21" table_alias_name="" widget="Edit"/>
|
||||
<Label gridHeight="1" gridWidth="6" name="Label29" posX="1" posY="12" text="Nomina"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" case="upper" colName="nomina" comment="Digite Q = Quincenal, S = Semanal, V = Vendedor J-Jornales" fieldId="31" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="3" include="Q|S|V|J" name="adtb00003.nomina" posX="8" posY="12" sqlTabName="adtb00003" sqlType="CHAR" tabIndex="22" table_alias_name="" widget="Edit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="descrip" fieldId="32" gridHeight="1" gridWidth="13" name="descrip" noEntry="true" posX="14" posY="12" sqlTabName="formonly" tabIndex="23" table_alias_name="" widget="Edit"/>
|
||||
<Label gridHeight="1" gridWidth="13" name="Label41" posX="28" posY="12" text="Fecha Entrada"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="fech_efec" fieldId="33" fieldType="TABLE_COLUMN" format="dd/mm/yyyy" gridHeight="1" gridWidth="10" name="adtb00003.fech_efec" posX="43" posY="12" sqlTabName="adtb00003" sqlType="DATE" tabIndex="24" table_alias_name="" widget="Edit"/>
|
||||
<Label gridHeight="1" gridWidth="11" name="Label30" posX="1" posY="13" text="Paga Seguro"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" case="upper" colName="paga_seg" comment="Digite S si el empleado paga SEGURO, N en caso contario" fieldId="39" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="1" include="S|N" name="adtb00003.paga_seg" posX="14" posY="13" required="true" sqlTabName="adtb00003" sqlType="CHAR" tabIndex="25" table_alias_name="" widget="Edit"/>
|
||||
<Label gridHeight="1" gridWidth="10" name="Label26" posX="28" posY="13" text="Codigo TSS"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="cod_seg1" fieldId="36" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="10" name="adtb00003.cod_seg1" posX="43" posY="13" sqlTabName="adtb00003" sqlType="CHAR" tabIndex="26" table_alias_name="" widget="Edit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="cod_seg2" fieldId="37" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="2" name="adtb00003.cod_seg2" posX="55" posY="13" sqlTabName="adtb00003" sqlType="SMALLINT" tabIndex="27" table_alias_name="" widget="Edit"/>
|
||||
<Label gridHeight="1" gridWidth="10" name="Label31" posX="1" posY="14" text="Supervisor"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" fieldId="46" gridHeight="1" gridWidth="10" name="sec_vend_sup" posX="14" posY="14" sqlTabName="" tabIndex="45" table_alias_name="" title="Edit1" widget="Edit"/>
|
||||
<Label gridHeight="1" gridWidth="10" name="label52" posX="28" posY="14" text="Horario"/>
|
||||
<ComboBox fieldId="82" gridHeight="1" gridWidth="10" items="" name="combobox1" posX="43" posY="14" required="true" tabIndex="-1" title="combobox1" widget="ComboBox"/>
|
||||
<Label gridHeight="1" gridWidth="10" name="Label16" posX="1" posY="15" text="Tipo Sueldo"/>
|
||||
<ComboBox aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" defaultValue="FIJO" fieldId="63" gridHeight="1" gridWidth="21" items="FIJO, VARIABLE" name="tipo_sueldo" posX="14" posY="15" sqlTabName="" tabIndex="62" table_alias_name="" title="ComboBox1" widget="ComboBox">
|
||||
<Item lstrtext="false" name="FIJO" text="FIJO"/>
|
||||
<Item lstrtext="false" name="VARIABLE" text="VARIABLE"/>
|
||||
</ComboBox>
|
||||
<Label gridHeight="1" gridWidth="10" name="Label17" posX="1" posY="16" text="Email"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" case="lower" colName="" fieldId="64" gridHeight="1" gridWidth="21" name="email" posX="14" posY="16" scroll="true" sqlTabName="" tabIndex="63" table_alias_name="" title="Edit1" widget="Edit"/>
|
||||
<Label gridHeight="1" gridWidth="10" name="Label19" posX="36" posY="16" text="Cuenta Finanzas"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" fieldId="66" gridHeight="1" gridWidth="10" name="cuenta_aux" posX="47" posY="16" sqlTabName="" tabIndex="65" table_alias_name="" title="Edit1" widget="Edit"/>
|
||||
<Label gridHeight="1" gridWidth="10" name="label56" posX="1" posY="17" text="Email Corporativo"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" case="lower" colName="" fieldId="91" gridHeight="1" gridWidth="21" name="email_corporativo" posX="14" posY="17" scroll="true" sqlTabName="" tabIndex="-1" table_alias_name="" title="Edit1" widget="Edit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" fieldId="67" gridHeight="1" gridWidth="20" name="descripcion_cuenta" posX="37" posY="17" scroll="true" sqlTabName="" tabIndex="66" table_alias_name="" title="Edit2" widget="Edit"/>
|
||||
<Label gridHeight="1" gridWidth="10" name="Label18" posX="1" posY="18" text="Instalador"/>
|
||||
<ComboBox aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" defaultValue="NO" fieldId="65" gridHeight="1" gridWidth="10" items="SI, NO" name="instalador" posX="14" posY="18" sqlTabName="" tabIndex="64" table_alias_name="" title="ComboBox1" widget="ComboBox">
|
||||
<Item lstrtext="false" name="SI" text="SI"/>
|
||||
<Item lstrtext="false" name="NO" text="NO"/>
|
||||
</ComboBox>
|
||||
<Label gridHeight="1" gridWidth="10" name="Label22" posX="1" posY="19" text="Codigo E/S"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" comment="Digite codigo sistema control entrada / salida empleado" fieldId="71" gridHeight="1" gridWidth="10" name="cuenta_out" posX="14" posY="19" sqlTabName="" tabIndex="70" table_alias_name="" title="Edit1" widget="Edit"/>
|
||||
<Label gridHeight="1" gridWidth="10" name="Label23" posX="1" posY="20" text="Depto"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" comment="Departamento Sistema E/S" fieldId="72" gridHeight="1" gridWidth="10" name="departamento_out" posX="14" posY="20" sqlTabName="" tabIndex="71" table_alias_name="" title="Edit1" widget="Edit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" fieldId="73" gridHeight="1" gridWidth="29" name="nombre_out" posX="27" posY="20" sqlTabName="" tabIndex="72" table_alias_name="" title="Edit1" widget="Edit"/>
|
||||
<Label gridHeight="1" gridWidth="10" name="label51" posX="1" posY="21" text="Observaciones"/>
|
||||
<Edit fieldId="81" gridHeight="1" gridWidth="42" name="observacion" posX="14" posY="21" scroll="true" tabIndex="-1" title="edit1" widget="Edit"/>
|
||||
</Group>
|
||||
<Group gridHeight="4" gridWidth="98" name="Group4" posX="1" posY="35">
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="status_t" fieldId="40" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="1" name="adtb00003.status_t" noEntry="true" posX="3" posY="1" sqlTabName="adtb00003" sqlType="CHAR" tabIndex="39" table_alias_name="" widget="Edit"/>
|
||||
<Label posX="5" posY="1" text="Usuario Creador"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="us_crea" fieldId="41" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="9" name="adtb00003.us_crea" noEntry="true" posX="22" posY="1" sqlTabName="adtb00003" sqlType="CHAR" tabIndex="40" table_alias_name="" widget="Edit"/>
|
||||
<Label posX="40" posY="1" text="Usuario Modificador"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="us_mod" fieldId="43" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="9" name="adtb00003.us_mod" noEntry="true" posX="60" posY="1" sqlTabName="adtb00003" sqlType="CHAR" tabIndex="41" table_alias_name="" widget="Edit"/>
|
||||
<Label posX="5" posY="2" text="Fecha Creacion"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="fech_crea" fieldId="42" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="16" name="adtb00003.fech_crea" noEntry="true" posX="22" posY="2" qual1="YEAR" qualFraction="FRACTION(3)" sqlTabName="adtb00003" sqlType="DATETIME" tabIndex="42" table_alias_name="" widget="Edit"/>
|
||||
<Label posX="40" posY="2" text="Fecha Creacion"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="fech_mod" fieldId="44" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="16" name="adtb00003.fech_mod" noEntry="true" posX="60" posY="2" qual1="YEAR" qualFraction="FRACTION(3)" sqlTabName="adtb00003" sqlType="DATETIME" tabIndex="43" table_alias_name="" widget="Edit"/>
|
||||
</Group>
|
||||
</Grid>
|
||||
</Page>
|
||||
<Page hidden="true" name="Page2" text="Comisiones">
|
||||
<VBox gridHeight="29" gridWidth="138" name="VBox1" posX="1" posY="1">
|
||||
<Grid gridHeight="27" gridWidth="138" name="Grid2" posX="0" posY="1">
|
||||
<Group gridHeight="11" gridWidth="126" name="Group5" posX="2" posY="1" text="Comisiones Generales">
|
||||
<Label gridHeight="1" gridWidth="10" name="Label12" posX="3" posY="1" text="SUPERVISOR"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" fieldId="58" gridHeight="1" gridWidth="6" name="sec_vend_supervisor" posX="15" posY="1" sqlTabName="" tabIndex="57" table_alias_name="" title="Edit1" widget="Edit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" fieldId="59" gridHeight="1" gridWidth="73" name="nombre_supervisor" posX="22" posY="1" sqlTabName="" tabIndex="58" table_alias_name="" title="Edit2" widget="Edit"/>
|
||||
<Table gridHeight="7" gridWidth="96" name="Table1" posX="2" posY="3" totalRows="5">
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" fieldId="47" gridHeight="1" gridWidth="11" name="sec_vend" posX="0" posY="0" sqlTabName="" tabIndex="46" table_alias_name="" title="Vendedor" widget="Edit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" fieldId="48" gridHeight="1" gridWidth="50" name="nombre_vend" noEntry="true" posX="11" posY="0" sqlTabName="" tabIndex="47" table_alias_name="" title="Nombre" widget="Edit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" fieldId="49" gridHeight="1" gridWidth="15" name="porc_cobros" posX="61" posY="0" sqlTabName="" tabIndex="48" table_alias_name="" title="Porciento Supervisor" widget="Edit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" fieldId="50" gridHeight="1" gridWidth="15" name="porc_cobros_a" posX="76" posY="0" sqlTabName="" tabIndex="49" table_alias_name="" title="Porciento" widget="Edit"/>
|
||||
</Table>
|
||||
</Group>
|
||||
<Group gridHeight="14" gridWidth="131" name="Group6" posX="2" posY="13" text="Comisiones por productos">
|
||||
<Table gridHeight="6" gridWidth="119" name="Table2" posX="4" posY="2" totalRows="5">
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" fieldId="51" gridHeight="1" gridWidth="8" name="sec_vend1" posX="0" posY="0" sqlTabName="" tabIndex="50" table_alias_name="" title="Codigo Vendedor" widget="Edit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" fieldId="57" gridHeight="1" gridWidth="20" name="nombre_vend1" noEntry="true" posX="8" posY="0" scroll="true" sqlTabName="" tabIndex="56" table_alias_name="" title="Nombre" widget="Edit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" fieldId="52" gridHeight="1" gridWidth="10" name="cod_n" posX="28" posY="0" sqlTabName="" tabIndex="51" table_alias_name="" title="Clase" widget="Edit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" fieldId="53" gridHeight="1" gridWidth="25" name="descripcion" noEntry="true" posX="38" posY="0" scroll="true" sqlTabName="" tabIndex="52" table_alias_name="" title="Descripcion" widget="Edit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" fieldId="54" gridHeight="1" gridWidth="16" name="porc_vendedor" posX="63" posY="0" sqlTabName="" tabIndex="53" table_alias_name="" title="Porciento Vendedor" widget="Edit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" fieldId="55" gridHeight="1" gridWidth="16" name="porc_supervisor" posX="79" posY="0" sqlTabName="" tabIndex="54" table_alias_name="" title="Porciento Supervisor" widget="Edit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" fieldId="56" gridHeight="1" gridWidth="16" name="porc_directo" posX="95" posY="0" sqlTabName="" tabIndex="55" table_alias_name="" title="Porciento Directo" widget="Edit"/>
|
||||
</Table>
|
||||
</Group>
|
||||
</Grid>
|
||||
</VBox>
|
||||
</Page>
|
||||
<Page name="page1" text="Herramientas">
|
||||
<Grid gridHeight="20" gridWidth="116" name="GridHerr" posX="0" posY="0">
|
||||
<Group gridHeight="18" gridWidth="98" name="GroupHerr" posX="1" posY="1" text="Herramientas asignadas">
|
||||
<Table gridHeight="15" gridWidth="94" name="TableHerr" posX="2" posY="1" totalRows="12">
|
||||
<Edit fieldId="92" gridHeight="1" gridWidth="12" name="h_codigo" noEntry="true" posX="0" posY="0" tabIndex="" title="Codigo" widget="Edit"/>
|
||||
<Edit fieldId="93" gridHeight="1" gridWidth="40" name="h_descripcion" noEntry="true" posX="12" posY="0" scroll="true" tabIndex="" title="Descripcion" widget="Edit"/>
|
||||
<Edit fieldId="94" gridHeight="1" gridWidth="12" name="h_fecha" noEntry="true" posX="52" posY="0" tabIndex="" title="Fecha" widget="Edit"/>
|
||||
<Edit fieldId="95" gridHeight="1" gridWidth="14" name="h_documento" noEntry="true" posX="64" posY="0" scroll="true" tabIndex="" title="Documento" widget="Edit"/>
|
||||
<Edit fieldId="96" gridHeight="1" gridWidth="10" name="h_cantidad" noEntry="true" posX="78" posY="0" tabIndex="" title="Cantidad" widget="Edit"/>
|
||||
</Table>
|
||||
</Group>
|
||||
</Grid>
|
||||
</Page>
|
||||
</Folder>
|
||||
</Form>
|
||||
<DiagramLayout>
|
||||
<![CDATA[AAAAAgAAAEwAewA0ADkAMABjADgAYwA1AGMALQBiADMAMwAwAC0ANAAzAGIAZAAtAGEAYQA1ADkALQBhADMAOAA2ADAAMQAxADkAYQBlADkAMQB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAEwAewBhADEAYwAyAGUAMwBmADQALQAwADAAMAAxAC0ANABhADEAMAAtADkAYgAyADAALQAxADEAYQBhADIAMgBiAGIAMwAzADAAMQB9QEQAAA8AAAJARAAADwAAAgAAAAAAAAAAAQAAAEwAewAyAGYAZAAzADQAYwBmAGUALQA3ADQAMwA0AC0ANAA1ADgAOAAtADkANwAwADEALQA5ADAAMgAzADAAYgA2ADQANgBkADQAZAB9QCAAAJgAArtAIAAAmAACuz90euFHrhR7AQAAAEwAewBkADQAYQAwADUAZQA1ADQALQA2ADYAZQA0AC0ANAAzADIAZAAtAGEAZQA1ADAALQBlADEAZABmAGQAZgBhADMANwBmADAAMAB9QFIAAKsAAxJANzM0D5mdkT94k3S8an76AQ==]]>
|
||||
</DiagramLayout>
|
||||
</ManagedForm>
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,160 @@
|
||||
{
|
||||
----------------------------------------------------------------------------
|
||||
PROGRAMA : NOPRMT016
|
||||
OBEJTIVO : Activar / Desactivar empleados para la nomina
|
||||
PROGRAMADOR : Ing. Juan Soto
|
||||
FECHA : Enero 17, 1993.
|
||||
----------------------------------------------------------------------------
|
||||
}
|
||||
GLOBALS
|
||||
"noprgb000.4gl"
|
||||
DEFINE p_datos RECORD
|
||||
num_emp SMALLINT,
|
||||
tipo_emp CHAR(1),
|
||||
nombre_t CHAR(15),
|
||||
nombre CHAR(30)
|
||||
END RECORD
|
||||
DEFINE nomb1,nomb2 CHAR(30)
|
||||
MAIN
|
||||
DEFER INTERRUPT
|
||||
CALL ARG_VAL(1) RETURNING usuarios
|
||||
CALL ARG_VAL(2) RETURNING clave
|
||||
|
||||
#LET usuarios = 'jsoto'
|
||||
#LET clave = 'lmmjvsd2009'
|
||||
|
||||
CONNECT to "smarmotech" USER usuarios USING clave
|
||||
SELECT a.* INTO p_companias.* FROM companias a
|
||||
CALL noprmt016()
|
||||
END MAIN
|
||||
|
||||
FUNCTION noprmt016()
|
||||
OPTIONS
|
||||
FORM LINE 8,
|
||||
ERROR LINE 24
|
||||
CLEAR SCREEN
|
||||
|
||||
|
||||
OPEN FORM nofmmt016 FROM "nofmmt016"
|
||||
DISPLAY FORM nofmmt016
|
||||
|
||||
MENU "OPCION"
|
||||
COMMAND "Activar"
|
||||
"<CTRL-C> Cancela operacion"
|
||||
CALL activo()
|
||||
COMMAND "Desactivar"
|
||||
"<CTRL-C> Cancela Operacion"
|
||||
CALL desactivo()
|
||||
COMMAND "Salir"
|
||||
EXIT MENU
|
||||
END MENU
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION activo()
|
||||
INITIALIZE p_datos.* TO NULL
|
||||
INPUT BY NAME p_datos.*
|
||||
|
||||
AFTER FIELD num_emp
|
||||
IF p_datos.num_emp is null THEN
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD num_emp
|
||||
END IF
|
||||
SELECT nom1_emp,apell1_emp,nomina INTO nomb1,nomb2,p_datos.tipo_emp
|
||||
FROM adtb00003
|
||||
WHERE num_emp = p_datos.num_emp
|
||||
|
||||
IF status = notfound THEN
|
||||
LET numero_msg = 12
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD num_emp
|
||||
END IF
|
||||
CASE
|
||||
WHEN p_datos.tipo_emp = "Q"
|
||||
LET p_datos.nombre_t = "QUINCENAL"
|
||||
EXIT CASE
|
||||
WHEN p_datos.tipo_emp = "S"
|
||||
LET p_datos.nombre_t = "SEMANAL"
|
||||
EXIT CASE
|
||||
WHEN p_datos.tipo_emp = "V"
|
||||
LET p_datos.nombre_t = "VENDEDOR"
|
||||
EXIT CASE
|
||||
OTHERWISE
|
||||
LET p_datos.nombre_t = "NO EXISTE"
|
||||
EXIT CASE
|
||||
END CASE
|
||||
LET p_datos.nombre = nomb1 clipped," ",nomb2 clipped
|
||||
DISPLAY BY NAME p_datos.nombre,p_datos.nombre_t ATTRIBUTE (BOLD)
|
||||
AFTER INPUT
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = false
|
||||
RETURN
|
||||
END IF
|
||||
EXIT INPUT
|
||||
END INPUT
|
||||
|
||||
UPDATE adtb00003 set status_t = null,
|
||||
us_mod = suser_sname(),
|
||||
fech_mod = GETDATE()
|
||||
WHERE num_emp = p_datos.num_emp
|
||||
|
||||
LET numero_msg = 190
|
||||
CALL msg(numero_msg)
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION desactivo()
|
||||
INITIALIZE p_datos.* TO NULL
|
||||
INPUT BY NAME p_datos.*
|
||||
|
||||
AFTER FIELD num_emp
|
||||
IF p_datos.num_emp is null THEN
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD num_emp
|
||||
END IF
|
||||
SELECT nom1_emp,apell1_emp,nomina INTO nomb1,nomb2,p_datos.tipo_emp
|
||||
FROM adtb00003
|
||||
WHERE num_emp = p_datos.num_emp
|
||||
|
||||
IF status = notfound THEN
|
||||
LET numero_msg = 12
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD num_emp
|
||||
END IF
|
||||
|
||||
CASE
|
||||
WHEN p_datos.tipo_emp = "Q"
|
||||
LET p_datos.nombre_t = "QUINCENAL"
|
||||
EXIT CASE
|
||||
WHEN p_datos.tipo_emp = "S"
|
||||
LET p_datos.nombre_t = "SEMANAL"
|
||||
EXIT CASE
|
||||
WHEN p_datos.tipo_emp = "V"
|
||||
LET p_datos.nombre_t = "VENDEDOR"
|
||||
EXIT CASE
|
||||
OTHERWISE
|
||||
LET p_datos.nombre_t = "NO EXISTE"
|
||||
EXIT CASE
|
||||
END CASE
|
||||
LET p_datos.nombre = nomb1 clipped," ",nomb2 clipped
|
||||
DISPLAY BY NAME p_datos.nombre,p_datos.nombre_t ATTRIBUTE (BOLD)
|
||||
AFTER INPUT
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = false
|
||||
RETURN
|
||||
END IF
|
||||
EXIT INPUT
|
||||
END INPUT
|
||||
|
||||
UPDATE adtb00003 set status_t = "D" ,
|
||||
us_mod = suser_sname(),
|
||||
fech_mod = GETDATE()
|
||||
WHERE num_emp = p_datos.num_emp
|
||||
|
||||
LET numero_msg = 191
|
||||
CALL msg(numero_msg)
|
||||
END FUNCTION
|
||||
@@ -172,7 +172,7 @@
|
||||
<Label gridHeight="1" gridWidth="13" justify="right" name="Label21" posX="4" posY="10" text="Tasa"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" fieldId="70" gridHeight="1" gridWidth="11" name="tasa" posX="18" posY="10" sqlTabName="" tabIndex="69" table_alias_name="" title="Edit1" widget="Edit"/>
|
||||
<Label gridHeight="1" gridWidth="13" justify="right" name="Label9" posX="4" posY="11" text="F.Salida"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="fecha_salida" fieldId="3" format="dd/mm/yyyy" gridHeight="1" gridWidth="11" name="fecha_salida" posX="18" posY="11" sqlTabName="formonly" sqlType="DATE" tabIndex="37" table_alias_name="" widget="Edit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="fecha_salida" fieldId="3" format="dd/mm/yyyy" gridHeight="1" gridWidth="11" name="fecha_salida" noEntry="true" posX="18" posY="11" sqlTabName="formonly" sqlType="DATE" tabIndex="37" table_alias_name="" widget="Edit"/>
|
||||
<Label gridHeight="1" gridWidth="13" justify="right" name="Label13" posX="4" posY="12" text="Tipo Cuenta"/>
|
||||
<ComboBox aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" defaultValue="1" fieldId="60" gridHeight="1" gridWidth="19" items="CUENTA CORRIENTE, CUENTA AHORRO" name="tipocuenta" posX="18" posY="12" sqlTabName="" tabIndex="59" table_alias_name="" title="Edit1" widget="ComboBox">
|
||||
<Item lstrtext="false" name="1" text="CUENTA CORRIENTE"/>
|
||||
|
||||
+1205
-1203
File diff suppressed because it is too large
Load Diff
@@ -42,9 +42,9 @@ FUNCTION noprmt016()
|
||||
COMMAND "Activar"
|
||||
"<CTRL-C> Cancela operacion"
|
||||
CALL activo()
|
||||
COMMAND "Desactivar"
|
||||
"<CTRL-C> Cancela Operacion"
|
||||
CALL desactivo()
|
||||
# 2026-10-05: la desactivacion se hace por la Accion de Personal
|
||||
# (ADPRMT017, movimiento DESVINCULAR) para registrar fecha y causa
|
||||
# de salida (indicador de rotacion). desactivo() queda sin uso.
|
||||
COMMAND "Salir"
|
||||
EXIT MENU
|
||||
END MENU
|
||||
|
||||
@@ -39,7 +39,7 @@ FUNCTION autorizacioncontado(pcotizacion,valor_cotizado,pagado,usuarios,xmonto_a
|
||||
xfecha_oc,psecvend,usuarios)
|
||||
RETURNING xnum_req,valor_requisicion
|
||||
END IF
|
||||
IF xnum_req IS NULL THEN
|
||||
IF xnum_req IS NULL OR xnum_req = 0 THEN
|
||||
SELECT MAX(a.num_req) INTO xnum_req FROM cctb00026 a WHERE a.cotizacion_no = pcotizacion
|
||||
AND a.status_t IS NULL
|
||||
END IF
|
||||
|
||||
@@ -0,0 +1,90 @@
|
||||
FUNCTION autorizacioncontado(pcotizacion,valor_cotizado,pagado,usuarios,xmonto_avance,xnum_doc,xtipo_doc,xnombre_cliente)
|
||||
DEFINE pcotizacion,xnum_oc,pcondpago,ptipocliente,psecliente,xnum_req,psecvend,xnum_doc INT,
|
||||
xfecha_oc,xtipo_Doc CHAR(10),
|
||||
usuarios,xestado VARCHAR(50),
|
||||
valor_cotizado,xmonto_avance,pagado,valor_requisicion DEC(12,2),
|
||||
descripcion_estado,nombre_ven,xnombre_cliente,estado VARCHAR(100)
|
||||
|
||||
|
||||
SELECT a.num_oc,a.tipo_cliente,a.sec_cliente,a.cond_pago,a.sec_vend, CONVERT(CHAR(10),a.fecha_oc,103)
|
||||
INTO xnum_oc,ptipocliente,psecliente,pcondpago,psecvend,xfecha_oc
|
||||
FROM prtb00012 a WHERE a.cotizacion_no = pcotizacion AND a.status_t IS NULL
|
||||
|
||||
IF STATUS = NOTFOUND THEN
|
||||
LET descripcion_estado = 'REQUISICION ',xnum_req USING "<<<<<<<<",
|
||||
' NO AUTORIZADA POR SISTEMA, LA COTIZACION NO TIENE ORDEN, CONDICION AL CONTADO'
|
||||
LET xestado = 'NO AUTORIZADA'
|
||||
LET estado = descripcion_estado
|
||||
INSERT INTO cctb00031 (fecha,us_crea,sec_vend,tipo_cliente,
|
||||
sec_cliente,nombreCliente,num_req,limite_cr,monto_cotizacion,
|
||||
balance,estado,tipo_doc_ref,monto_req,num_recibo,tipo_doc,
|
||||
monto_avance,valor_cotizacion,descrip_estado,cotizacion_no,nombrevendedor,num_oc)
|
||||
|
||||
VALUES (getdate(),'MBS',psecvend,ptipocliente,psecliente,
|
||||
xnombre_cliente,xnum_req,'0',valor_cotizado,'0',xestado,
|
||||
xtipo_Doc,valor_cotizado,xnum_doc,xtipo_Doc,
|
||||
xmonto_avance,valor_cotizado,descripcion_estado,xnum_oc,nombre_ven,xnum_oc )
|
||||
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
SELECT RTRIM(a.nom1_emp)+ISNULL(a.apell1_Emp,'') INTO nombre_ven
|
||||
FROM adtb00003 a WHERE a.num_emp = psecvend
|
||||
|
||||
SELECT DISTINCT a.cotizacion_no FROM cctb00026 a WHERE a.cotizacion_no = pcotizacion
|
||||
AND a.status_t IS NULL
|
||||
## CUANDO NO TIENE LA REQUISICION DE DESPACHOS
|
||||
IF STATUS = NOTFOUND THEN
|
||||
CALL requisiciondespacho(xnum_oc,ptipocliente,psecliente,Pcondpago,valor_cotizado,
|
||||
xfecha_oc,psecvend,usuarios)
|
||||
RETURNING xnum_req,valor_requisicion
|
||||
END IF
|
||||
IF xnum_req IS NULL THEN
|
||||
SELECT MAX(a.num_req) INTO xnum_req FROM cctb00026 a WHERE a.cotizacion_no = pcotizacion
|
||||
AND a.status_t IS NULL
|
||||
END IF
|
||||
LET estado ="LA REQUISICION ",xnum_req USING "<<<<<<<<", " NO AUTORIZADA"
|
||||
UPDATE cctb00001 SET num_req = xnum_req
|
||||
WHERE tipo_doc =xtipo_Doc AND num_doc = xnum_doc AND
|
||||
tipo_cliente =ptipocliente AND
|
||||
sec_cliente = psecliente
|
||||
|
||||
|
||||
IF xmonto_avance +pagado >= valor_cotizado THEN
|
||||
LET xestado = 'AUTORIZADA'
|
||||
|
||||
UPDATE cctb00025 SET estado =xestado,us_mod = 'MBS',fech_mod = getdate()
|
||||
WHERE num_req = xnum_req
|
||||
|
||||
|
||||
LET descripcion_estado = 'REQUISICION ',xnum_req USING "<<<<<<<<",
|
||||
' AUTORIZADA POR SISTEMA, LA COTIZACION ES AL CONTADO'
|
||||
LET estado = descripcion_estado
|
||||
INSERT INTO cctb00031 (fecha,us_crea,sec_vend,tipo_cliente,
|
||||
sec_cliente,nombreCliente,num_req,limite_cr,monto_cotizacion,
|
||||
balance,estado,tipo_doc_ref,monto_req,num_recibo,tipo_doc,
|
||||
monto_avance,valor_cotizacion,descrip_estado,cotizacion_no,nombrevendedor,num_oc)
|
||||
|
||||
VALUES (getdate(),'MBS',psecvend,ptipocliente,psecliente,
|
||||
xnombre_cliente,xnum_req,'0',valor_cotizado,'0',xestado,
|
||||
xtipo_Doc,valor_cotizado,xnum_doc,xtipo_Doc,
|
||||
xmonto_avance,valor_cotizado,descripcion_estado,xnum_oc,nombre_ven,xnum_oc )
|
||||
|
||||
ELSE
|
||||
LET descripcion_estado = 'REQUISICION ',xnum_req USING "<<<<<<<<",
|
||||
' NO AUTORIZADA POR SISTEMA, LA COTIZACION ES AL CONTADO'
|
||||
LET xestado = 'NO AUTORIZADA'
|
||||
LET estado = descripcion_estado
|
||||
INSERT INTO cctb00031 (fecha,us_crea,sec_vend,tipo_cliente,
|
||||
sec_cliente,nombreCliente,num_req,limite_cr,monto_cotizacion,
|
||||
balance,estado,tipo_doc_ref,monto_req,num_recibo,tipo_doc,
|
||||
monto_avance,valor_cotizacion,descrip_estado,cotizacion_no,nombrevendedor,num_oc)
|
||||
|
||||
VALUES (getdate(),'MBS',psecvend,ptipocliente,psecliente,
|
||||
xnombre_cliente,xnum_req,'0',valor_cotizado,'0',xestado,
|
||||
xtipo_Doc,valor_cotizado,xnum_doc,xtipo_Doc,
|
||||
xmonto_avance,valor_cotizado,descripcion_estado,xnum_oc,nombre_ven,xnum_oc )
|
||||
|
||||
END IF
|
||||
RETURN estado
|
||||
END FUNCTION
|
||||
@@ -6,13 +6,24 @@
|
||||
ACTUALIZA LA REQUISICION DE DESPACHO
|
||||
|
||||
}
|
||||
FUNCTION autorizarequisicion(balance,monto_actual_req, monto_req_autorizadas, limite_cr,tienefactura,factura)
|
||||
DEFINE balance,monto_actual_req, monto_req_autorizadas, limite_cr,valor_total DEC(12,2),
|
||||
FUNCTION autorizarequisicion(balance,monto_actual_req, monto_req_autorizadas, limite_cr,tienefactura,factura,ztipocliente)
|
||||
DEFINE balance,monto_actual_req, monto_req_autorizadas, limite_cr,valor_total,tasa,
|
||||
monto_control DEC(12,2),
|
||||
string_estado STRING,
|
||||
tienefactura VARCHAR(2),
|
||||
autoriza BOOLEAN,
|
||||
factura INT
|
||||
factura,ztipocliente INT
|
||||
|
||||
|
||||
# BUSCA TASA
|
||||
SELECT a.ultima_tasa INTO tasa FROM vetb00060 a
|
||||
WHERE a.tipo_cliente = ztipocliente
|
||||
IF tasa > 1 THEN
|
||||
LET monto_control = 1.60 * tasa
|
||||
ELSE
|
||||
LET monto_control = 100
|
||||
END IF
|
||||
|
||||
LET valor_total = monto_req_autorizadas+monto_actual_req
|
||||
IF tienefactura = "SI" THEN
|
||||
LET string_estado = "ESTA REQUISICION NO FUE AUTORIZADA, TIENE FACTURAS VENCIDAS EL CLIENTE, UNA DE LAS FACTURAS ES ",factura USING "<<<<<<<<"
|
||||
@@ -23,7 +34,7 @@ FUNCTION autorizarequisicion(balance,monto_actual_req, monto_req_autorizadas, li
|
||||
#CUANDO EL CLIENTE TIENE SALDO A FAVOR
|
||||
IF balance < 0 THEN
|
||||
|
||||
IF ((balance * -1)) >=valor_total THEN
|
||||
IF ((balance * -1))+monto_control >=valor_total THEN
|
||||
|
||||
LET autoriza = TRUE
|
||||
LET string_estado = "ESTA REQUISICION ESTA AUTORIZADA, PORQUE EL BALANCE DE ",balance USING "##,###,###.##",
|
||||
|
||||
@@ -146,15 +146,15 @@ FUNCTION evaluaclientes
|
||||
|
||||
FOREACH busca_vencido INTO xaplicacion,xpendiente
|
||||
IF xpendiente > 0 THEN
|
||||
SELECT MAX( a.tipo_doc),MAX(a.fecha_ven)
|
||||
INTO Xtipodoc,Xfechavence
|
||||
FROM cctb00001 a
|
||||
WHERE a.status_t IS NULL AND a.num_doc = a.aplica_a AND
|
||||
SELECT MAX( a.tipo_doc),MAX(a.fecha_ven)
|
||||
INTO Xtipodoc,Xfechavence
|
||||
FROM cctb00001 a
|
||||
WHERE a.status_t IS NULL AND a.num_doc = a.aplica_a AND
|
||||
a.num_doc=xaplicacion AND
|
||||
a.tipo_doc not in ("PG","NC","PC","OC","DV","AV","AP") and
|
||||
a.tipo_cliente=xtipocliente AND
|
||||
a.tipo_doc not in ("PG","NC","PC","OC","DV","AV","AP") and
|
||||
a.tipo_cliente=xtipocliente AND
|
||||
a.sec_cliente=xseccliente
|
||||
|
||||
|
||||
LET dias = 0
|
||||
IF xfechavence IS NULL THEN
|
||||
CONTINUE FOREACH
|
||||
@@ -174,8 +174,8 @@ FUNCTION evaluaclientes
|
||||
EXIT FOREACH
|
||||
END IF
|
||||
END IF
|
||||
END IF
|
||||
# OUTPUT TO REPORT prueba(xaplicacion,xpendiente,xfechavence,dias)
|
||||
END IF
|
||||
# OUTPUT TO REPORT prueba(xaplicacion,xpendiente,xfechavence,dias)
|
||||
END FOREACH
|
||||
END IF
|
||||
|
||||
@@ -188,7 +188,7 @@ FUNCTION evaluaclientes
|
||||
LET monto_cotizacion = 0
|
||||
END IF
|
||||
#FUNCTION PARAMETROS AUTORIZACIONES DESPACHO
|
||||
CALL autorizarequisicion(balance,xmonto,monto_cotizacion,xlimite,tienefactura,facturas) RETURNING autoriza,string_estado
|
||||
CALL autorizarequisicion(balance,xmonto,monto_cotizacion,xlimite,tienefactura,facturas,xtipocliente) RETURNING autoriza,string_estado
|
||||
|
||||
SELECT a.correo INTO emailto FROM seg0003 a,seg0000 b
|
||||
WHERE b.sec_vend = xsec_vend AND
|
||||
|
||||
@@ -18,37 +18,38 @@
|
||||
pusuarios CHAR(50),
|
||||
selec STRING,
|
||||
txtmensaje VARCHAR(200),
|
||||
pubicacion VARCHAR(170)
|
||||
pubicacion VARCHAR(170),
|
||||
idx_max INT
|
||||
|
||||
DEFINE arr_requisicion DYNAMIC ARRAY OF RECORD
|
||||
procesa CHAR(3),
|
||||
num_oc INT,
|
||||
fecha CHAR(10),
|
||||
cotizacion_no INT,
|
||||
tipo_cliente SMALLINT,
|
||||
sec_cliente INT,
|
||||
nombre CHAR(30),
|
||||
cantidad_1 DEC(12,5),
|
||||
DEFINE arr_requisicion DYNAMIC ARRAY OF RECORD
|
||||
procesa CHAR(3),
|
||||
num_oc INT,
|
||||
fecha CHAR(10),
|
||||
cotizacion_no INT,
|
||||
tipo_cliente SMALLINT,
|
||||
sec_cliente INT,
|
||||
nombre CHAR(30),
|
||||
cantidad_1 DEC(12,5),
|
||||
cantidad DEC(12,5),
|
||||
area SMALLINT,
|
||||
cod_n SMALLINT,
|
||||
cod_grupo SMALLINT,
|
||||
cod_tipo SMALLINT,
|
||||
cod_sec SMALLINT,
|
||||
descripcion CHAR(30),
|
||||
unidad_med CHAR(3),
|
||||
cantidad_ord1 DEC(12,5),
|
||||
cantidad_ord DEC(12,5),
|
||||
cantidad_pendiente DEC(12,5),
|
||||
precio DEC(12,2),
|
||||
descuento DEC(12,2),
|
||||
descvalor DEC(12,2),
|
||||
valor DEC(12,2)
|
||||
area SMALLINT,
|
||||
cod_n SMALLINT,
|
||||
cod_grupo SMALLINT,
|
||||
cod_tipo SMALLINT,
|
||||
cod_sec SMALLINT,
|
||||
descripcion CHAR(30),
|
||||
unidad_med CHAR(3),
|
||||
cantidad_ord1 DEC(12,5),
|
||||
cantidad_ord DEC(12,5),
|
||||
cantidad_pendiente DEC(12,5),
|
||||
precio DEC(12,2),
|
||||
descuento DEC(12,2),
|
||||
descvalor DEC(12,2),
|
||||
valor DEC(12,2)
|
||||
END RECORD,
|
||||
pitbis,xmonto,monto_cotizacion DEC(12,2),
|
||||
estado_req varchar(30),
|
||||
cuenta smallint
|
||||
|
||||
|
||||
SET CONNECTION "MSSQL"
|
||||
|
||||
LET monto_cotizacion = xmonto
|
||||
@@ -61,16 +62,37 @@
|
||||
|
||||
# PREPARE s FROM "SELECT @@IDENTITY"
|
||||
|
||||
SELECT a.num_req INTO xnumreq FROM cctb00019 a
|
||||
IF xnumreq IS NULL THEN
|
||||
LET xnumreq = 0
|
||||
END IF
|
||||
LET xnumreq = xnumreq + 1
|
||||
|
||||
# 05/10/2026 - Error -268 PK_cctb00025 duplicada: el consecutivo se leia
|
||||
# fuera de la transaccion y sin bloqueo (con RCSI dos usuarios leen el mismo
|
||||
# num_req). Ahora se lee DENTRO de BEGIN WORK con UPDLOCK,HOLDLOCK y se
|
||||
# compara contra MAX(cctb00025) por si el contador quedo atrasado.
|
||||
WHENEVER ERROR CONTINUE
|
||||
BEGIN WORK
|
||||
PREPARE p_numreq FROM "SELECT ISNULL(MAX(num_req),0) FROM cctb00019 WITH (UPDLOCK, HOLDLOCK)"
|
||||
EXECUTE p_numreq INTO xnumreq
|
||||
IF STATUS < 0 THEN
|
||||
ROLLBACK WORK
|
||||
CALL fgl_winmessage("ERROR",SQLERRMESSAGE,"STOP")
|
||||
RETURN 0,0
|
||||
END IF
|
||||
PREPARE p_maxreq FROM "SELECT ISNULL(MAX(num_req),0) FROM cctb00025 WITH (UPDLOCK, HOLDLOCK)"
|
||||
EXECUTE p_maxreq INTO idx_max
|
||||
IF xnumreq IS NULL THEN
|
||||
LET xnumreq = 0
|
||||
END IF
|
||||
IF idx_max > xnumreq THEN
|
||||
LET xnumreq = idx_max
|
||||
END IF
|
||||
LET xnumreq = xnumreq + 1
|
||||
|
||||
UPDATE cctb00019 SET num_req = xnumreq,us_crea=pusuarios,fech_crea=getdate()
|
||||
# EXECUTE s INTO xnumreq
|
||||
|
||||
IF STATUS < 0 THEN
|
||||
ROLLBACK WORK
|
||||
CALL fgl_winmessage("ERROR",SQLERRMESSAGE,"STOP")
|
||||
RETURN 0,0
|
||||
END IF
|
||||
|
||||
LET selec =
|
||||
"INSERT INTO cctb00034 (id_kit,cotizacion_no,num_oc,num_req,secuencia,area,cod_n,cod_grupo,cod_tipo,cod_sec,cantidad)",
|
||||
"SELECT a.id_kit,a.cotizacion_no,a.num_oc,'",xnumreq USING "<<<<<<","',a.secuencia,a.area,a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec,a.cantidad ",
|
||||
@@ -82,8 +104,8 @@ BEGIN WORK
|
||||
|
||||
IF STATUS < 0 THEN
|
||||
ROLLBACK WORK
|
||||
CALL fgl_winmessage("ERROR",SQLCA.SQLCODE,"INFO")
|
||||
RETURN xnumreq,xmonto
|
||||
CALL fgl_winmessage("ERROR",SQLERRMESSAGE,"STOP")
|
||||
RETURN 0,0
|
||||
END IF
|
||||
|
||||
LET estado_req = 'NO AUTORIZADA'
|
||||
@@ -169,8 +191,8 @@ BEGIN WORK
|
||||
|
||||
IF STATUS < 0 THEN
|
||||
ROLLBACK WORK
|
||||
CALL fgl_winmessage("ERROR",SQLCA.SQLCODE,"INFO")
|
||||
RETURN xnumreq,xmonto
|
||||
CALL fgl_winmessage("ERROR",SQLERRMESSAGE,"STOP")
|
||||
RETURN 0,0
|
||||
|
||||
END IF
|
||||
|
||||
@@ -208,8 +230,8 @@ BEGIN WORK
|
||||
EXECUTE comando
|
||||
IF STATUS < 0 THEN
|
||||
ROLLBACK WORK
|
||||
CALL fgl_winmessage("ERROR",SQLCA.SQLCODE,"INFO")
|
||||
RETURN xnumreq,xmonto
|
||||
CALL fgl_winmessage("ERROR",SQLERRMESSAGE,"STOP")
|
||||
RETURN 0,0
|
||||
|
||||
END IF
|
||||
|
||||
@@ -221,8 +243,8 @@ BEGIN WORK
|
||||
"NO DESPACHADA",xmonto)
|
||||
IF STATUS < 0 THEN
|
||||
ROLLBACK WORK
|
||||
CALL fgl_winmessage("ERROR",SQLCA.SQLCODE,"INFO")
|
||||
RETURN xnumreq,xmonto
|
||||
CALL fgl_winmessage("ERROR",SQLERRMESSAGE,"STOP")
|
||||
RETURN 0,0
|
||||
|
||||
END IF
|
||||
COMMIT WORK
|
||||
@@ -246,5 +268,6 @@ BEGIN WORK
|
||||
# subject, procedimiento )
|
||||
|
||||
# CALL fgl_Winmessage("INFORMACION",chmensaje,"STOP")
|
||||
WHENEVER ERROR STOP
|
||||
RETURN xnumreq,xmonto
|
||||
END FUNCTION
|
||||
|
||||
@@ -0,0 +1,250 @@
|
||||
{
|
||||
FUNCION : requisiciondespacho()
|
||||
OBJETIVO : hacer la requisicion de despacho automatica
|
||||
FECHA : 27/08/2011
|
||||
DESARROLLADO POR : Ing. Juan Soto
|
||||
}
|
||||
SCHEMA smarmotech
|
||||
FUNCTION requisiciondespacho(xnum_oc,xtipo_cliente,xsec_cliente,xcondpago,xmonto,xfecha_oc,
|
||||
xsec_vend,pusuarios)
|
||||
|
||||
DEFINE xnum_oc INT,
|
||||
xfecha_oc DATE,
|
||||
xsec_vend,xkit INT,
|
||||
xnumreq,xtipo_cliente,xsec_cliente,pcotizacion INT,
|
||||
idx,xcondpago smallint,
|
||||
chmensaje,procedimiento,cuerpo_correo,subject STRING,
|
||||
vendedorEmail,nombre_vendedor CHAR(60),
|
||||
pusuarios CHAR(50),
|
||||
selec STRING,
|
||||
txtmensaje VARCHAR(200),
|
||||
pubicacion VARCHAR(170)
|
||||
|
||||
DEFINE arr_requisicion DYNAMIC ARRAY OF RECORD
|
||||
procesa CHAR(3),
|
||||
num_oc INT,
|
||||
fecha CHAR(10),
|
||||
cotizacion_no INT,
|
||||
tipo_cliente SMALLINT,
|
||||
sec_cliente INT,
|
||||
nombre CHAR(30),
|
||||
cantidad_1 DEC(12,5),
|
||||
cantidad DEC(12,5),
|
||||
area SMALLINT,
|
||||
cod_n SMALLINT,
|
||||
cod_grupo SMALLINT,
|
||||
cod_tipo SMALLINT,
|
||||
cod_sec SMALLINT,
|
||||
descripcion CHAR(30),
|
||||
unidad_med CHAR(3),
|
||||
cantidad_ord1 DEC(12,5),
|
||||
cantidad_ord DEC(12,5),
|
||||
cantidad_pendiente DEC(12,5),
|
||||
precio DEC(12,2),
|
||||
descuento DEC(12,2),
|
||||
descvalor DEC(12,2),
|
||||
valor DEC(12,2)
|
||||
END RECORD,
|
||||
pitbis,xmonto,monto_cotizacion DEC(12,2),
|
||||
estado_req varchar(30),
|
||||
cuenta smallint
|
||||
|
||||
SET CONNECTION "MSSQL"
|
||||
|
||||
LET monto_cotizacion = xmonto
|
||||
|
||||
SELECT b.nom1_emp || ' '||b.apell1_emp,a.email
|
||||
INTO nombre_vendedor,vendedorEmail
|
||||
FROM seg0000 a,adtb00003 b
|
||||
WHERE a.sec_vend = xsec_vend and
|
||||
a.sec_vend = b.num_emp
|
||||
|
||||
# PREPARE s FROM "SELECT @@IDENTITY"
|
||||
|
||||
SELECT a.num_req INTO xnumreq FROM cctb00019 a
|
||||
IF xnumreq IS NULL THEN
|
||||
LET xnumreq = 0
|
||||
END IF
|
||||
LET xnumreq = xnumreq + 1
|
||||
|
||||
BEGIN WORK
|
||||
UPDATE cctb00019 SET num_req = xnumreq,us_crea=pusuarios,fech_crea=getdate()
|
||||
# EXECUTE s INTO xnumreq
|
||||
|
||||
LET selec =
|
||||
"INSERT INTO cctb00034 (id_kit,cotizacion_no,num_oc,num_req,secuencia,area,cod_n,cod_grupo,cod_tipo,cod_sec,cantidad)",
|
||||
"SELECT a.id_kit,a.cotizacion_no,a.num_oc,'",xnumreq USING "<<<<<<","',a.secuencia,a.area,a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec,a.cantidad ",
|
||||
"FROM prtb00031 a ",
|
||||
" WHERE ",
|
||||
" a.num_oc ='", xnum_oc USING "<<<<<<","'"
|
||||
PREPARE xcctb34 FROM selec
|
||||
EXECUTE xcctb34
|
||||
|
||||
IF STATUS < 0 THEN
|
||||
ROLLBACK WORK
|
||||
CALL fgl_winmessage("ERROR",SQLCA.SQLCODE,"INFO")
|
||||
RETURN xnumreq,xmonto
|
||||
END IF
|
||||
|
||||
LET estado_req = 'NO AUTORIZADA'
|
||||
DECLARE insertaReq CURSOR FOR
|
||||
SELECT a.num_oc,a.cotizacion_no,b.secuencia,b.area,b.cod_n,b.cod_grupo,b.cod_tipo,
|
||||
b.cod_Sec,b.cantidad_1,b.cantidad,b.cantidad_1,b.cantidad,c.precio,
|
||||
c.porc_Desc,(c.precio*c.cantidad) * (c.porc_desc/100),a.tipo_cliente,a.sec_cliente,
|
||||
d.nombre_cliente,d.porc_itbi,c.id_kit,a.ubicacion,d.direccion_proyecto
|
||||
FROM prtb00012 a,prtb00023 b,vetb00051 c,vetb00050 d
|
||||
WHERE a.num_oc = b.num_oc and
|
||||
a.cotizacion_no = c.cotizacion_no and
|
||||
a.cotizacion_no = d.cotizacion_no and
|
||||
a.num_oc = xnum_oc and
|
||||
b.cod_n = c.cod_n and
|
||||
b.cod_grupo = c.cod_grupo and
|
||||
b.cod_tipo = c.cod_tipo and
|
||||
b.cod_sec = c.cod_sec AND
|
||||
b.area = c.area
|
||||
UNION
|
||||
SELECT a.num_oc,a.cotizacion_no,b.secuencia,b.area,b.cod_n,b.cod_grupo,b.cod_tipo,
|
||||
b.cod_Sec,b.cantidad_1,b.cantidad,b.cantidad_1,b.cantidad,c.precio,
|
||||
c.porc_Desc,(c.precio*c.cantidad) * (c.porc_desc/100),a.tipo_cliente,a.sec_cliente,
|
||||
d.nombre_cliente,d.porc_itbi,c.id_kit,a.ubicacion,d.direccion_proyecto
|
||||
FROM prtb00012 a,prtb00023 b,vetb00031 c,vetb00050 d
|
||||
WHERE a.num_oc = b.num_oc and
|
||||
a.cotizacion_no = c.cotizacion_no and
|
||||
a.cotizacion_no = d.cotizacion_no and
|
||||
a.num_oc = xnum_oc and
|
||||
b.cod_n = c.cod_n and
|
||||
b.cod_grupo = c.cod_grupo and
|
||||
b.cod_tipo = c.cod_tipo and
|
||||
b.cod_sec = c.cod_sec AND
|
||||
b.area = c.area
|
||||
|
||||
|
||||
LET idx = 1
|
||||
LET pcotizacion = 0
|
||||
LET xmonto = 0
|
||||
# DISPLAY " ESTOY EN ESTO ",xnum_oc
|
||||
FOREACH insertareq INTO arr_requisicion[idx].num_oc,
|
||||
arr_requisicion[idx].cotizacion_no,
|
||||
idx,
|
||||
arr_requisicion[idx].area,
|
||||
arr_requisicion[idx].cod_n,
|
||||
arr_requisicion[idx].cod_grupo,
|
||||
arr_requisicion[idx].cod_tipo,
|
||||
arr_requisicion[idx].cod_Sec,
|
||||
arr_requisicion[idx].cantidad_1,
|
||||
arr_requisicion[idx].cantidad,
|
||||
arr_requisicion[idx].cantidad_ord,
|
||||
arr_requisicion[idx].cantidad_ord1,
|
||||
arr_requisicion[idx].precio,
|
||||
arr_requisicion[idx].descuento,
|
||||
arr_requisicion[idx].descvalor,
|
||||
arr_requisicion[idx].tipo_cliente,
|
||||
arr_requisicion[idx].sec_cliente,
|
||||
arr_requisicion[idx].nombre,
|
||||
pitbis,xkit,
|
||||
pubicacion
|
||||
|
||||
#DISPLAY " VOY PARA LA 26, en el foreach cantidad ",arr_requisicion[idx].cantidad_ord
|
||||
IF arr_requisicion[idx].cantidad_ord IS NOT NULL THEN
|
||||
LET pcotizacion = arr_requisicion[idx].cotizacion_no
|
||||
IF arr_requisicion[idx].descvalor IS NULL THEN
|
||||
LET arr_requisicion[idx].descvalor=0
|
||||
END IF
|
||||
LET arr_requisicion[idx].valor = (arr_requisicion[idx].cantidad *arr_requisicion[idx].precio) -
|
||||
arr_requisicion[idx].descvalor
|
||||
LET arr_requisicion[idx].valor = arr_requisicion[idx].valor + (arr_requisicion[idx].valor * (pitbis/100))
|
||||
LET xmonto = arr_requisicion[idx].valor + xmonto
|
||||
INSERT INTO cctb00026 (num_req,num_oc,cotizacion_no,id,area,cod_n,cod_grupo,cod_tipo,cod_Sec,
|
||||
cantidad_ord1,cantidad_ord,cantidad_1,cantidad,precio,
|
||||
descuento,descvalor,valor,us_crea,fech_crea,estado,id_kit)
|
||||
VALUES (xnumreq,arr_requisicion[idx].num_oc,arr_requisicion[idx].cotizacion_no,
|
||||
idx,arr_requisicion[idx].area,arr_requisicion[idx].cod_n,arr_requisicion[idx].cod_grupo,
|
||||
arr_requisicion[idx].cod_tipo,arr_requisicion[idx].cod_Sec,
|
||||
arr_requisicion[idx].cantidad_ord1,arr_requisicion[idx].cantidad_ord,
|
||||
arr_requisicion[idx].cantidad_1,
|
||||
arr_requisicion[idx].cantidad,
|
||||
arr_requisicion[idx].precio,arr_requisicion[idx].descuento,
|
||||
arr_requisicion[idx].descvalor,
|
||||
arr_requisicion[idx].valor,SUSER_SNAME(),GETDATE(),estado_req,xkit)
|
||||
|
||||
IF STATUS < 0 THEN
|
||||
ROLLBACK WORK
|
||||
CALL fgl_winmessage("ERROR",SQLCA.SQLCODE,"INFO")
|
||||
RETURN xnumreq,xmonto
|
||||
|
||||
END IF
|
||||
|
||||
# EXECUTE xcctb34 USING xkit
|
||||
# IF STATUS < 0 THEN
|
||||
# ROLLBACK WORK
|
||||
# RETURN xnumreq,xmonto
|
||||
# END IF
|
||||
|
||||
END IF
|
||||
LET idx = idx +1
|
||||
END FOREACH
|
||||
|
||||
# CONTROL MONTO REQUISION
|
||||
{ IF xmonto > monto_cotizacion THEN
|
||||
# ROLLBACK WORK
|
||||
|
||||
LET xnumreq = 0
|
||||
LET xmonto=0
|
||||
RETURN xnumreq,xmonto
|
||||
END IF
|
||||
}
|
||||
IF pcotizacion IS NOT NULL THEN
|
||||
SELECT DISTINCT a.cotizacion_no FROM vetb00022 a WHERE a.cotizacion_no = pcotizacion
|
||||
IF STATUS <> NOTFOUND THEN
|
||||
LET selec =
|
||||
"INSERT INTO cctb00027 (num_req,etiqueta,num_oc,secuencia,area,cod_n,cod_grupo,cod_tipo,cod_sec, ",
|
||||
"Lado_1,lado_2,lado_3,cantidad,medida,cantidad_r,medida_r,us_crea,",
|
||||
"fech_crea)",
|
||||
" SELECT '",xnumreq,"',etiqueta,'",xnum_oc,"',secuencia,area,cod_n,cod_grupo,cod_tipo,cod_sec,lado_1,lado_2,lado_3,",
|
||||
"ISNULL(cantidad,0),medida,ISNULL(cantidad,0),medida,'",pusuarios CLIPPED,"',getdate() FROM vetb00022 WHERE cotizacion_no= ",
|
||||
pcotizacion USING "<<<<<<<<"
|
||||
|
||||
PREPARE comando FROM selec
|
||||
EXECUTE comando
|
||||
IF STATUS < 0 THEN
|
||||
ROLLBACK WORK
|
||||
CALL fgl_winmessage("ERROR",SQLCA.SQLCODE,"INFO")
|
||||
RETURN xnumreq,xmonto
|
||||
|
||||
END IF
|
||||
|
||||
END IF
|
||||
END IF
|
||||
INSERT INTO cctb00025 (num_req,fecha,sec_vend,sec_vend_aprobado,us_crea,fech_crea,
|
||||
estado,fecha_autorizacion,estado_despacho,monto_req)
|
||||
VALUES (xnumreq,today,xsec_vend,null,SUSER_NAME(),GETDATE(),estado_req,getdate(),
|
||||
"NO DESPACHADA",xmonto)
|
||||
IF STATUS < 0 THEN
|
||||
ROLLBACK WORK
|
||||
CALL fgl_winmessage("ERROR",SQLCA.SQLCODE,"INFO")
|
||||
RETURN xnumreq,xmonto
|
||||
|
||||
END IF
|
||||
COMMIT WORK
|
||||
|
||||
|
||||
IF xcondpago <> 4 and xcondpago<> 10 THEN
|
||||
CALL entramensaje(xnumreq,pcotizacion,"A",pusuarios)
|
||||
END IF
|
||||
IF xcondpago = 4 OR xcondpago = 10 THEN
|
||||
INSERT INTO cctb00029 (num_req,mensaje,us_crea,fech_crea) VALUES (xnumreq,pubicacion,pusuarios,getdate())
|
||||
END IF
|
||||
LET chmensaje = "NUMERO DE REQUISICION: ",xnumreq USING "<<<<<<"
|
||||
LET subject = "AVISO REQUISICION DESPACHO NO. ",xnumreq USING "&&&&&&"
|
||||
LET procedimiento = "{ call cc_avisadespacho(?,?,?,?) }" CLIPPED
|
||||
LET cuerpo_correo = "VENDEDOR : ",nombre_vendedor CLIPPED
|
||||
LET cuerpo_correo = cuerpo_correo CLIPPED," FECHA REQUISICION : ",xfecha_oc USING "DD/MM/YYYY"
|
||||
LET cuerpo_correo = cuerpo_correo CLIPPED," NUMERO DE ORDEN: ",xnum_oc USING "&&&&&&"
|
||||
LET cuerpo_correo = cuerpo_correo CLIPPED," CLIENTE: ",arr_requisicion[1].nombre
|
||||
|
||||
# CALL envia_correo('rantonio@marmotech.com.do;jsantelises@marmotech.com.do',vendedorEmail,cuerpo_correo,
|
||||
# subject, procedimiento )
|
||||
|
||||
# CALL fgl_Winmessage("INFORMACION",chmensaje,"STOP")
|
||||
RETURN xnumreq,xmonto
|
||||
END FUNCTION
|
||||
@@ -55,6 +55,7 @@ FUNCTION convierteorden(
|
||||
pprecio, monto_cotizacion DEC(12, 2),
|
||||
pdesc DEC(8, 2),
|
||||
pkit INT,
|
||||
existe_oc INT,
|
||||
pfecha_compromiso DATE
|
||||
|
||||
CALL STARTLOG("veconvierte.txt")
|
||||
@@ -71,11 +72,8 @@ FUNCTION convierteorden(
|
||||
LET pcantidad = 0
|
||||
LET pcantidad1 = 0
|
||||
|
||||
SELECT num_oc INTO ult_numero FROM prtb00020
|
||||
IF ult_numero IS NULL THEN
|
||||
LET ult_numero = 0
|
||||
END IF
|
||||
LET ult_numero = ult_numero + 1
|
||||
# El consecutivo num_oc se toma DENTRO de la transaccion (ver BEGIN WORK)
|
||||
LET ult_numero = 0
|
||||
LET xsecvend_a = NULL
|
||||
|
||||
SELECT a.tipo_cliente,
|
||||
@@ -122,8 +120,20 @@ FUNCTION convierteorden(
|
||||
WHENEVER ANY ERROR STOP
|
||||
|
||||
BEGIN WORK
|
||||
# CONSECUTIVO ATOMICO: el UPDATE incrementa y bloquea la fila de prtb00020
|
||||
# hasta el COMMIT/ROLLBACK, asi dos usuarios no pueden tomar el mismo num_oc
|
||||
# (antes se leia fuera de la transaccion -> PK_prtb00012 duplicada)
|
||||
UPDATE prtb00020
|
||||
SET num_oc = ult_numero, us_crea = xusuario, fech_crea = GETDATE()
|
||||
SET num_oc = ISNULL(num_oc, 0) + 1, us_crea = xusuario, fech_crea = GETDATE()
|
||||
SELECT num_oc INTO ult_numero FROM prtb00020
|
||||
# AUTOCORRECCION: si el contador quedo por detras de prtb00012
|
||||
# (otro programa creo ordenes sin avanzarlo), salta al siguiente libre
|
||||
LET existe_oc = 0
|
||||
SELECT COUNT(*) INTO existe_oc FROM prtb00012 WHERE num_oc = ult_numero
|
||||
IF existe_oc > 0 THEN
|
||||
SELECT MAX(num_oc) + 1 INTO ult_numero FROM prtb00012
|
||||
UPDATE prtb00020 SET num_oc = ult_numero
|
||||
END IF
|
||||
|
||||
IF xsecvend_a IS NULL OR xsecvend_a = 0 THEN
|
||||
|
||||
|
||||
Reference in New Issue
Block a user