Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
83fffcd31f | ||
|
|
1e64839bf2 | ||
|
|
539af7f912 | ||
|
|
b52ccfae7f | ||
|
|
b09ba2374f | ||
|
|
7f069af336 | ||
|
|
c6bcf1b743 | ||
|
|
1829bd1bc7 | ||
|
|
16bff226c5 | ||
|
|
91a1a4ef96 | ||
|
|
931a814278 | ||
|
|
5b53d994ac | ||
|
|
05d5adf8c9 | ||
|
|
a8c4ab1f78 | ||
|
|
6a72dad748 | ||
|
|
afc4fd5f04 | ||
|
|
4762e8c10d | ||
|
|
c744b6fd61 | ||
|
|
282c4ce7fa | ||
|
|
313482be68 | ||
|
|
ff2a3df470 | ||
|
|
48192eb211 | ||
|
|
f8e97fd09e | ||
|
|
316496520b | ||
|
|
f48618a23c | ||
|
|
1d6a2556e5 | ||
|
|
465205efc6 | ||
|
|
5841de1da3 | ||
|
|
f6f1c9b8c7 | ||
|
|
4a8d31d9d0 | ||
|
|
6dac9550c1 | ||
|
|
75d81bdfc7 | ||
|
|
b5bf9e2b26 | ||
|
|
fa54d93651 | ||
|
|
4bfaea0a47 | ||
|
|
96c461d4b6 | ||
|
|
3422acc241 | ||
|
|
a226f65b00 | ||
|
|
65ad3fd68c | ||
|
|
2d3d2c4fbc | ||
|
|
8ced6a5498 | ||
|
|
bf73616f5c | ||
|
|
dead250cf9 | ||
|
|
c8743d85c8 | ||
|
|
4059dc92e6 | ||
|
|
ef6980358e | ||
|
|
5e5da7a926 | ||
|
|
7dfed7798c | ||
|
|
93a4eb40f5 | ||
|
|
16ef05828e | ||
|
|
9bc9170788 | ||
|
|
9e4b66497c | ||
|
|
7aa4734658 | ||
|
|
3bb4b58216 | ||
|
|
073c284449 | ||
|
|
0c3e16d08c | ||
|
|
9eb74bbea7 | ||
|
|
1be68d9313 | ||
|
|
97b9c16bf1 | ||
|
|
4e3993daf8 | ||
|
|
4c9a841473 | ||
|
|
9c520ec3ad | ||
|
|
548dc62d4a | ||
|
|
0f48fc5afc | ||
|
|
604f9339ed | ||
|
|
7e166ca852 | ||
|
|
fcaa47948b | ||
|
|
31daca8636 | ||
|
|
7831e33c28 | ||
|
|
c7325cc87d | ||
|
|
3a021932f3 | ||
|
|
1d3906bcc3 | ||
|
|
a67f97271a | ||
|
|
e0722b2e2a | ||
|
|
a1c15d43f3 | ||
|
|
f6e41932b1 | ||
|
|
cb8363561a | ||
|
|
adbbaaee8e | ||
|
|
f363390589 | ||
|
|
a52b16b8b2 | ||
|
|
b8f403c2e4 | ||
|
|
8a87ebbc10 | ||
|
|
0991743a80 | ||
|
|
70c3131e9c | ||
|
|
fc5a23132d | ||
|
|
54c77ca23e | ||
|
|
705fadfdb4 | ||
|
|
c190582481 | ||
|
|
aa7fe013c0 | ||
|
|
e051b498f6 | ||
|
|
5dcc4adf2c | ||
|
|
95aa24c029 | ||
|
|
d8764b3bda | ||
|
|
ea88c93da3 | ||
|
|
7d5a853351 | ||
|
|
fc2fa7acac | ||
|
|
47942191ee | ||
|
|
43f9d16e62 | ||
|
|
659e690af3 | ||
|
|
d805fa3164 | ||
|
|
3903f11a92 | ||
|
|
d76e6d7035 | ||
|
|
79a4a4530c | ||
|
|
0ed9fb6d98 | ||
|
|
b6ae121e22 | ||
|
|
ad1a97dd9a | ||
|
|
f8df43d126 | ||
|
|
61818beb31 | ||
|
|
4b2d63007b | ||
|
|
9366fc90e4 | ||
|
|
a5ccd3083f | ||
|
|
f574991f0d | ||
|
|
2498c785d3 | ||
|
|
ccf12198ba | ||
|
|
f414a150d9 | ||
|
|
67a5190309 | ||
|
|
9ba79096c4 | ||
|
|
80bd203be6 | ||
|
|
8ac18135e5 | ||
|
|
65515b14c2 | ||
|
|
4bdcf34a7d | ||
|
|
a7431ef94a | ||
|
|
c795294090 | ||
|
|
5eedb6b174 | ||
|
|
f9a7bb91dc | ||
|
|
60a4119326 | ||
|
|
895499a8a8 | ||
|
|
6c20f62de9 | ||
|
|
3923c9dc01 | ||
|
|
d1b29437c9 | ||
|
|
6ec15cfb3d | ||
|
|
aeab10ce0d | ||
|
|
0641c6b2be | ||
|
|
c7442a777b | ||
|
|
7e2f99b50e | ||
|
|
c1719d4b6e | ||
|
|
c296da0151 | ||
|
|
66a57b4b3c | ||
|
|
c141af53f2 | ||
|
|
750b9a6bcf | ||
|
|
303a722875 | ||
|
|
58909014ab | ||
|
|
3d43efa82f | ||
|
|
ecf819671d | ||
|
|
1ea7f53344 | ||
|
|
899f4ee138 | ||
|
|
37209b5009 | ||
|
|
c00ba4b920 | ||
|
|
31fbc9a3b9 | ||
|
|
7bda7659a6 | ||
|
|
e33dad06b8 | ||
|
|
12bb4e837b | ||
|
|
fc49b30714 | ||
|
|
1647848fec | ||
|
|
5f1c3b6e3b | ||
|
|
5baf191a88 | ||
|
|
64f5e612d9 | ||
|
|
7638c1046b | ||
|
|
c52fce4cb8 | ||
|
|
5667c1e508 | ||
|
|
61195adc75 | ||
|
|
3d293561d2 | ||
|
|
d4eb103454 | ||
|
|
bb9d9a05a1 | ||
|
|
866778edfe | ||
|
|
4ce1e7a03d | ||
|
|
f163516115 | ||
|
|
1ed4e0e691 | ||
|
|
189c582eee | ||
|
|
ecdd770632 | ||
|
|
7915a27efe | ||
|
|
79eff57d70 | ||
|
|
9ac3f70a13 | ||
|
|
972f2f1f47 | ||
|
|
d43f2729bd | ||
|
|
987c2c1122 | ||
|
|
e414e52523 | ||
|
|
a3e88776a9 | ||
|
|
9e70c46451 | ||
|
|
adf5224440 | ||
|
|
888a36553e | ||
|
|
97ef961e13 | ||
|
|
77e844390e | ||
|
|
81182e5ded | ||
|
|
60e392c033 |
@@ -34,7 +34,6 @@ mydatabase.db
|
||||
# ── Logs de ejecución ──
|
||||
*.log
|
||||
*.err
|
||||
PROYECTO/bin/*.TXT
|
||||
|
||||
# ── Spool de reportes (salida temporal de impresión) ──
|
||||
PROYECTO/spool/
|
||||
@@ -49,3 +48,22 @@ desktop.ini
|
||||
|
||||
# NOTA: se CONSERVAN en el repo -> *.4gl *.per *.4fd *.4pw *.4st *.4ad
|
||||
# *.sch *.4db (esquema), imagenes (*.png *.jpg), README, docs.
|
||||
|
||||
# -- Paquetes GAR: se generan en el build (gsmake -t mbs mbsERP.4pw), no van al repo --
|
||||
*.gar
|
||||
|
||||
# -- PROYECTO/bin: no se versiona (compilados, imagenes, ejecutables, datos de ejecucion) --
|
||||
# salvo los disenos de reporte .4rp, que son fuentes registradas en mbsERP.4pw.
|
||||
PROYECTO/bin/**
|
||||
!PROYECTO/bin/**/
|
||||
!PROYECTO/bin/**/*.4rp
|
||||
|
||||
# -- Llaves y certificados: NUNCA en el repo (se entregan aparte a quien los necesite) --
|
||||
*.jks
|
||||
*.keystore
|
||||
*.p12
|
||||
*.pfx
|
||||
*.pem
|
||||
*.key
|
||||
*.crt
|
||||
*.cer
|
||||
|
||||
@@ -0,0 +1,117 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<ManagedForm fileVersion="31400" gstVersion="3140a" name="ManagedForm" uid="{8f013df5-71e9-4123-ace5-57cb0d559141}">
|
||||
<AGSettings>
|
||||
<DynamicProperties version="2"/>
|
||||
</AGSettings>
|
||||
<Record name="scr_costos" uid="{1072830e-e04e-4a63-8f41-4aa8efa5ffaa}">
|
||||
<RecordField colName="tipo" fieldIdRef="11" name="tipo" sqlTabName="formonly" uid="{d9350682-2ead-47c0-8563-a7d127b1ec5d}"/>
|
||||
<RecordField fieldIdRef="5" name="codigo" uid="{7225c2f2-2ca5-4952-9439-39d6105683b2}"/>
|
||||
<RecordField colName="emp_no" fieldIdRef="8" name="emp_no" sqlTabName="formonly" sqlType="DECIMAL" uid="{ada70def-e69a-4c50-bd69-1fb91fd596cf}"/>
|
||||
<RecordField colName="h_directa" fieldIdRef="12" name="h_directa" sqlTabName="formonly" uid="{f0d26a13-bbd5-4de4-a3ad-9e26feb8ccb0}"/>
|
||||
<RecordField colName="h_indirecta" fieldIdRef="13" name="h_indirecta" sqlTabName="formonly" uid="{d3a40df7-5349-4812-82bc-a96aa2c4027b}"/>
|
||||
<RecordField colName="e_directa" fieldIdRef="14" name="e_directa" sqlTabName="formonly" uid="{d24a8ff5-f9b6-4fbb-a667-451a948c3f7b}"/>
|
||||
<RecordField colName="e_indirecta" fieldIdRef="15" name="e_indirecta" sqlTabName="formonly" uid="{9a0f1103-7db4-43c3-8147-f715eab9a3c1}"/>
|
||||
<RecordField colName="cod_prod" fieldIdRef="9" name="cod_prod" sqlTabName="formonly" uid="{e1b64282-cd3b-4615-bcb8-fde9313110e2}"/>
|
||||
<RecordField fieldIdRef="20" name="lado1" uid="{10db271d-bbce-4ae7-9e10-144888550c81}"/>
|
||||
<RecordField fieldIdRef="21" name="lado2" uid="{f134fcc5-822c-4f75-8b71-70263f00284c}"/>
|
||||
<RecordField fieldIdRef="22" name="lado3" uid="{98f897e4-b702-4356-bf11-25e1b93bb2ab}"/>
|
||||
<RecordField colName="cantidad" fieldIdRef="17" name="cantidad" sqlTabName="formonly" uid="{166ac25b-ad15-45f8-8b8e-7862ac3bccfe}"/>
|
||||
<RecordField fieldIdRef="23" name="medida1" uid="{c1b4ea3b-4927-423f-8dfd-a3dc80f64090}"/>
|
||||
<RecordField colName="codigo_bloque" fieldIdRef="2" name="codigo_bloque" sqlTabName="formonly" uid="{d03b323d-b9bb-4eea-9514-c14bcccd7a56}"/>
|
||||
<RecordField colName="turno" fieldIdRef="0" name="turno" sqlTabName="formonly" uid="{cea5543d-5e89-46ba-a306-d6d732238f3a}"/>
|
||||
<RecordField fieldIdRef="24" name="depto_receptor" uid="{33d0c1ec-7dc1-4ec0-b489-b23701305b3c}"/>
|
||||
<RecordField fieldIdRef="28" name="ref" uid="{e955cc32-7b71-4cec-90cd-379631ca8437}"/>
|
||||
<RecordField fieldIdRef="50" name="num_oc" uid="{b2c3d4e5-0050-4a00-9050-0d0c0b0a0950}"/>
|
||||
</Record>
|
||||
<Record name="record1" uid="{af6b78f0-189c-4e68-8607-46f11a433423}">
|
||||
<RecordField colName="num_doc" fieldIdRef="4" name="num_doc" sqlTabName="formonly" uid="{2bec5bf1-0623-4163-9235-ba4b878a0590}"/>
|
||||
<RecordField colName="fecha" fieldIdRef="7" name="fecha" sqlTabName="formonly" sqlType="DATE" uid="{77a2edd0-719f-44f1-83dc-e532b159653f}"/>
|
||||
<RecordField colName="factor" fieldIdRef="6" name="factor" sqlTabName="formonly" uid="{6dee7883-621c-45f7-8519-0cf206a8f484}"/>
|
||||
<RecordField colName="departamento" fieldIdRef="3" name="departamento" sqlTabName="formonly" uid="{b4139611-41fc-494f-9bba-b6dee92f1e87}"/>
|
||||
<RecordField colName="descripcion" fieldIdRef="18" name="descripcion" sqlTabName="formonly" uid="{f5f4d146-6d13-4504-b957-e3f116446c65}"/>
|
||||
<RecordField colName="medida" fieldIdRef="16" name="medida" sqlTabName="formonly" uid="{f4fcca96-d1c9-43fa-a343-4b1ed7441d3a}"/>
|
||||
<RecordField colName="nombre" fieldIdRef="19" name="nombre" sqlTabName="formonly" uid="{0b987b65-36cf-4e02-91a5-46831177aa0a}"/>
|
||||
<RecordField fieldIdRef="27" name="cod_mov" uid="{611b980b-7ec3-480b-82f2-c4509213bf31}"/>
|
||||
</Record>
|
||||
<Record name="s_docs" uid="{a1b2c3d4-0001-4a00-9001-0d0c0b0a0901}">
|
||||
<RecordField fieldIdRef="40" name="d_num_doc" uid="{a1b2c3d4-0002-4a00-9002-0d0c0b0a0902}"/>
|
||||
<RecordField fieldIdRef="41" name="d_fecha" uid="{a1b2c3d4-0003-4a00-9003-0d0c0b0a0903}"/>
|
||||
<RecordField fieldIdRef="42" name="d_departamento" uid="{a1b2c3d4-0004-4a00-9004-0d0c0b0a0904}"/>
|
||||
<RecordField fieldIdRef="43" name="d_movimiento" uid="{a1b2c3d4-0005-4a00-9005-0d0c0b0a0905}"/>
|
||||
<RecordField fieldIdRef="44" name="d_estado" uid="{a1b2c3d4-0006-4a00-9006-0d0c0b0a0906}"/>
|
||||
<RecordField fieldIdRef="45" name="d_bloques" uid="{a1b2c3d4-0007-4a00-9007-0d0c0b0a0907}"/>
|
||||
</Record>
|
||||
<Form gridHeight="20" gridWidth="258" name="prfmmt003" style="basic" text="CREACION DOCUMENTO PRODUCCION">
|
||||
<ToolBar name="toolbar1">
|
||||
<ToolBarItem comment="Nuevo Documento" image="new" name="nuevo" text="Produccion"/>
|
||||
<ToolBarItem comment="Criterio de busqueda" image="find" name="buscar" text="Buscar Documento"/>
|
||||
<ToolBarItem comment="Anula Registro en Screen" image="cancel" name="anular" text="Anular Registros"/>
|
||||
<ToolBarItem comment="Lista de documentos (mas recientes primero)" image="detail" name="documentos" text="Documentos"/>
|
||||
<ToolBarItem comment="Recorrido/trazabilidad del bloque" image="fa-sitemap" name="traza" text="Trazabilidad"/>
|
||||
<ToolBarSeparator name="toolbarseparator1"/>
|
||||
<ToolBarItem image="quit" name="salir" text="Salir"/>
|
||||
</ToolBar>
|
||||
<Folder gridHeight="20" gridWidth="258" name="folder1" posX="0" posY="0">
|
||||
<Page action="documentos" name="pg_docs" text="Documentos">
|
||||
<Grid gridHeight="18" gridWidth="257" name="grid_docs" posX="0" posY="0">
|
||||
<Table gridHeight="17" gridWidth="255" name="table_docs" posX="1" posY="0" totalRows="16" unitWidth="characters" width="150">
|
||||
<Edit fieldId="40" gridHeight="1" gridWidth="12" name="d_num_doc" noEntry="true" posX="0" posY="0" scroll="true" tabIndex="-1" title="NUM. DOC" widget="Edit"/>
|
||||
<Edit fieldId="41" gridHeight="1" gridWidth="14" name="d_fecha" noEntry="true" posX="12" posY="0" scroll="true" tabIndex="-1" title="FECHA" widget="Edit"/>
|
||||
<Edit fieldId="42" gridHeight="1" gridWidth="42" name="d_departamento" noEntry="true" posX="26" posY="0" scroll="true" tabIndex="-1" title="DEPARTAMENTO" widget="Edit"/>
|
||||
<Edit fieldId="43" gridHeight="1" gridWidth="36" name="d_movimiento" noEntry="true" posX="68" posY="0" scroll="true" tabIndex="-1" title="MOVIMIENTO" widget="Edit"/>
|
||||
<Edit fieldId="44" gridHeight="1" gridWidth="12" name="d_estado" noEntry="true" posX="104" posY="0" scroll="true" tabIndex="-1" title="ESTADO" widget="Edit"/>
|
||||
<Edit fieldId="45" gridHeight="1" gridWidth="34" name="d_bloques" noEntry="true" posX="116" posY="0" scroll="true" tabIndex="-1" title="BLOQUES" widget="Edit"/>
|
||||
</Table>
|
||||
</Grid>
|
||||
</Page>
|
||||
<Page name="pg_prod" text="Produccion">
|
||||
<Grid gridHeight="18" gridWidth="258" name="grid1" posX="0" posY="0">
|
||||
<Group gridHeight="6" gridWidth="62" name="group1" posX="1" posY="0" text="General">
|
||||
<Label gridHeight="1" gridWidth="10" name="label1" posX="3" posY="1" text="Secuencia"/>
|
||||
<Edit colName="num_doc" fieldId="4" gridHeight="1" gridWidth="5" name="num_doc" noEntry="false" posX="14" posY="1" sqlTabName="formonly" tabIndex="1" widget="Edit"/>
|
||||
<Label gridHeight="1" gridWidth="6" name="label2" posX="21" posY="1" text="Fecha"/>
|
||||
<DateEdit colName="fecha" fieldId="7" format="DD/MM/YYYY" gridHeight="1" gridWidth="9" name="fecha" posX="28" posY="1" required="true" sqlTabName="formonly" sqlType="DATE" tabIndex="2" widget="DateEdit"/>
|
||||
<Label gridHeight="1" gridWidth="6" name="label3" posX="3" posY="2" text="Factor"/>
|
||||
<Edit colName="factor" comment="Digite factor que desa calcular las horas normales" fieldId="6" gridHeight="1" gridWidth="5" name="factor" posX="14" posY="2" sqlTabName="formonly" tabIndex="3" widget="Edit"/>
|
||||
<Label gridHeight="1" gridWidth="8" name="label4" posX="3" posY="3" text="Departa."/>
|
||||
<ComboBox colName="departamento" fieldId="3" gridHeight="1" gridWidth="32" items="" name="departamento" posX="14" posY="3" required="true" sqlTabName="formonly" tabIndex="4" widget="ComboBox"/>
|
||||
<Label gridHeight="1" gridWidth="10" name="label6" posX="3" posY="4" text="Cod. Movimiento"/>
|
||||
<ComboBox fieldId="27" gridHeight="1" gridWidth="35" items="" name="cod_mov" posX="14" posY="4" tabIndex="-1" title="combobox1" widget="ComboBox"/>
|
||||
</Group>
|
||||
<Group gridHeight="8" gridWidth="257" name="group2" posX="1" posY="6" text="Detalle">
|
||||
<Table gridHeight="6" gridWidth="254" name="table1" posX="2" posY="1" totalRows="5" unitWidth="characters" width="76">
|
||||
<ComboBox colName="tipo" comment="Digite Codigo de la Maquina" fieldId="11" gridHeight="1" gridWidth="30" items="" name="tipo" posX="0" posY="0" scroll="true" sqlTabName="formonly" tabIndex="5" title="OPERACION" widget="ComboBox"/>
|
||||
<ComboBox fieldId="5" gridHeight="1" gridWidth="48" items="" name="codigo" posX="30" posY="0" scroll="true" tabIndex="-1" title="Equipo" unhidable="true" unmovable="true" unsortable="true" widget="ComboBox"/>
|
||||
<ButtonEdit action="empleado" autoNext="true" colName="emp_no" fieldId="8" gridHeight="1" gridWidth="10" name="emp_no" posX="78" posY="0" sqlTabName="formonly" sqlType="DECIMAL" tabIndex="6" title="EMPLEADO" widget="ButtonEdit"/>
|
||||
<Edit autoNext="true" colName="h_directa" fieldId="12" gridHeight="1" gridWidth="6" name="h_directa" posX="88" posY="0" sqlTabName="formonly" tabIndex="7" title="N.DIRECTA" widget="Edit"/>
|
||||
<Edit autoNext="true" colName="h_indirecta" fieldId="13" gridHeight="1" gridWidth="6" name="h_indirecta" posX="94" posY="0" sqlTabName="formonly" tabIndex="8" title="N.IND." widget="Edit"/>
|
||||
<Edit autoNext="true" colName="e_directa" fieldId="14" gridHeight="1" gridWidth="6" name="e_directa" posX="100" posY="0" sqlTabName="formonly" tabIndex="9" title="E. DIRECTAS" widget="Edit"/>
|
||||
<Edit autoNext="true" colName="e_indirecta" fieldId="15" gridHeight="1" gridWidth="5" name="e_indirecta" posX="106" posY="0" sqlTabName="formonly" tabIndex="10" title="E.INDIRECTAS" widget="Edit"/>
|
||||
<ButtonEdit action="semielaborado" colName="cod_prod" fieldId="9" gridHeight="1" gridWidth="10" name="cod_prod" posX="111" posY="0" sqlTabName="formonly" tabIndex="11" title="SEMI-ELABORADO" widget="ButtonEdit"/>
|
||||
<Edit fieldId="20" gridHeight="1" gridWidth="8" name="lado1" posX="121" posY="0" tabIndex="-1" title="Ancho" widget="Edit"/>
|
||||
<Edit fieldId="21" gridHeight="1" gridWidth="8" name="lado2" posX="129" posY="0" tabIndex="-1" title="Largo" widget="Edit"/>
|
||||
<Edit fieldId="22" gridHeight="1" gridWidth="8" name="lado3" posX="137" posY="0" tabIndex="-1" title="Espesor" widget="Edit"/>
|
||||
<Edit colName="cantidad" comment="Digite Cantidad Producida" fieldId="17" gridHeight="1" gridWidth="12" name="cantidad" posX="145" posY="0" sqlTabName="formonly" tabIndex="12" title="CANTIDAD" widget="Edit"/>
|
||||
<Edit fieldId="23" gridHeight="1" gridWidth="8" name="medida1" noEntry="true" posX="157" posY="0" tabIndex="-1" title="Medida" widget="Edit"/>
|
||||
<Edit case="upper" colName="codigo_bloque" fieldId="2" gridHeight="1" gridWidth="20" name="codigo_bloque" posX="165" posY="0" scroll="true" sqlTabName="formonly" tabIndex="13" title="BLOQUE" widget="Edit"/>
|
||||
<ComboBox colName="turno" fieldId="0" gridHeight="1" gridWidth="20" items="" name="turno" posX="185" posY="0" sqlTabName="formonly" tabIndex="14" title="TURNO" widget="ComboBox"/>
|
||||
<ComboBox fieldId="24" gridHeight="1" gridWidth="13" items="" name="depto_receptor" notNull="false" posX="205" posY="0" required="false" tabIndex="-1" title="DEPTO. RECEPTOR" widget="ComboBox"/>
|
||||
<ButtonEdit action="ordenped" fieldId="50" gridHeight="1" gridWidth="12" name="num_oc" posX="218" posY="0" scroll="true" tabIndex="18" title="ORDEN PED." widget="ButtonEdit"/>
|
||||
<Phantom fieldId="28" name="ref" widget="Phantom"/>
|
||||
</Table>
|
||||
</Group>
|
||||
<Group gridHeight="4" gridWidth="56" name="group3" posX="1" posY="14" text="INFORMACION">
|
||||
<Label gridHeight="1" gridWidth="7" name="label5" posX="1" posY="1" text="Produce"/>
|
||||
<Edit colName="descripcion" fieldId="18" gridHeight="1" gridWidth="31" name="descripcion" noEntry="true" posX="12" posY="1" sqlTabName="formonly" tabIndex="15" widget="Edit"/>
|
||||
<Edit colName="medida" fieldId="16" gridHeight="1" gridWidth="3" name="medida" noEntry="true" posX="44" posY="1" sqlTabName="formonly" tabIndex="16" widget="Edit"/>
|
||||
<Label gridHeight="1" gridWidth="8" name="label9" posX="1" posY="2" text="Empleado"/>
|
||||
<Edit colName="nombre" fieldId="19" gridHeight="1" gridWidth="31" name="nombre" noEntry="true" posX="12" posY="2" sqlTabName="formonly" tabIndex="17" widget="Edit"/>
|
||||
</Group>
|
||||
</Grid>
|
||||
</Page>
|
||||
</Folder>
|
||||
</Form>
|
||||
<DiagramLayout>
|
||||
<![CDATA[AAAAAgAAAEwAewAxADAANwAyADgAMwAwAGUALQBlADAANABlAC0ANABhADYAMwAtADgAZgA0ADEALQA0AGEAYQA4AGUAZgBhADUAZgBmAGEAYQB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAEwAewBhADEAYgAyAGMAMwBkADQALQAwADAAMAAxAC0ANABhADAAMAAtADkAMAAwADEALQAwAGQAMABjADAAYgAwAGEAMAA5ADAAMQB9QDAAAAQAAABAMAAABAAAAAAAAAAAAAAAAQAAAEwAewBhAGYANgBiADcAOABmADAALQAxADgAOQBjAC0ANABlADYAOAAtADgANgAwADcALQA0ADYAZgAxADEAYQA0ADMAMwA0ADIAMwB9QHMAAEhgAHpAPVVV1VVWYD9QYk3S8an8AQ==]]>
|
||||
</DiagramLayout>
|
||||
</ManagedForm>
|
||||
@@ -11,7 +11,7 @@
|
||||
|
||||
END RECORD,
|
||||
nombre_cia STRING
|
||||
FUNCTION impresion(pnumoc)
|
||||
FUNCTION impresion_oc(pnumoc)
|
||||
DEFINE pnumoc,I INT
|
||||
|
||||
DECLARE busca_orden CURSOR FOR
|
||||
|
||||
@@ -32,7 +32,8 @@ FUNCTION imprime (datos_c, arr_costos)
|
||||
codigo_bloque LIKE cttb00003.codigo_bloque,
|
||||
turno SMALLINT,
|
||||
depto_receptor SMALLINT,
|
||||
ref INT
|
||||
ref INT,
|
||||
num_oc INT
|
||||
END RECORD
|
||||
|
||||
DEFINE nombre, descripcion, movimiento, departamento, turno, maquina, depto_receptor STRING
|
||||
@@ -125,7 +126,8 @@ REPORT p_diaria(datos_c, arr_costos, nombre, descripcion, movimiento, departamen
|
||||
codigo_bloque LIKE cttb00003.codigo_bloque,
|
||||
turno SMALLINT,
|
||||
depto_receptor SMALLINT,
|
||||
ref INT
|
||||
ref INT,
|
||||
num_oc INT
|
||||
END RECORD
|
||||
|
||||
DEFINE nombre, descripcion, movimiento, departamento, descrip_turno,
|
||||
|
||||
@@ -114,8 +114,8 @@ FUNCTION prprmt003()
|
||||
|
||||
CLEAR SCREEN
|
||||
|
||||
OPEN FORM prfmmt003 FROM "prfmmt003"
|
||||
DISPLAY FORM prfmmt003
|
||||
OPEN FORM prfmmt003pr FROM "prfmmt003pr"
|
||||
DISPLAY FORM prfmmt003pr
|
||||
DISPLAY "Registro de Produccion Diaria" AT 4,25
|
||||
DISPLAY "prprmt003" AT 4,3
|
||||
# CALL pantalla1()
|
||||
|
||||
@@ -7,6 +7,16 @@
|
||||
------------------------------------------------------------------
|
||||
}
|
||||
GLOBALS "prprgb000.4gl"
|
||||
|
||||
DEFINE arrprtb08 DYNAMIC ARRAY OF RECORD
|
||||
cod_n_c LIKE prtb00008.cod_n,
|
||||
cod_grupo_c LIKE prtb00008.cod_grupo,
|
||||
cod_tipo_c LIKE prtb00008.cod_tipo,
|
||||
cod_sec_c LIKE prtb00008.cod_sec,
|
||||
cantidad_c LIKE prtb00008.cantidad,
|
||||
descrip_esp_c LIKE intb00001.descrip_esp,
|
||||
unidad_c LIKE intb00001.unidad_med
|
||||
END RECORD
|
||||
DEFINE nombre LIKE vetb00004.nombre,
|
||||
descrip_esp_c,descrip_esp LIKE iptb00002.descrip_esp,
|
||||
unidad LIKE iptb00002.unidad_med,
|
||||
@@ -41,10 +51,11 @@ END MAIN
|
||||
FORM LINE 9,
|
||||
ERROR LINE 23,
|
||||
COMMENT LINE 21
|
||||
CALL pantalla()
|
||||
# (pantalla() es el encabezado de la pantalla de texto antigua; no aplica en GUI)
|
||||
OPEN FORM ctfmmt006 FROM "prfmmt006"
|
||||
DISPLAY FORM ctfmmt006
|
||||
CALL pantalla()
|
||||
CALL ui.Window.getCurrent().setText("Ordenes de Produccion")
|
||||
# (pantalla() es el encabezado de la pantalla de texto antigua; no aplica en GUI)
|
||||
DISPLAY "prprmt006" AT 4,3
|
||||
DISPLAY "Ordenes De Produccion" AT 6,32
|
||||
|
||||
@@ -280,13 +291,13 @@ FUNCTION prpcad006()
|
||||
b.cod_sec = prtb07.cod_sec AND
|
||||
a.num_oc = b.num_oc
|
||||
LET idx = 1
|
||||
FOREACH buscame INTO prtb08[idx].*
|
||||
FOREACH buscame INTO arrprtb08[idx].*
|
||||
LET idx = idx + 1
|
||||
END FOREACH
|
||||
|
||||
CALL set_count(idx-1)
|
||||
}
|
||||
INPUT ARRAY prtb08 FROM s_orden.*
|
||||
INPUT ARRAY arrprtb08 FROM s_orden.*
|
||||
|
||||
ON KEY(CONTROL-W)
|
||||
CALL busca_material()
|
||||
@@ -295,13 +306,13 @@ FUNCTION prpcad006()
|
||||
LET scr_l = scr_line()
|
||||
AFTER FIELD cod_sec_c
|
||||
LET descrip_esp_c = NULL
|
||||
IF prtb08[curr].cod_sec_c IS NOT NULL THEN
|
||||
IF arrprtb08[curr].cod_sec_c IS NOT NULL THEN
|
||||
SELECT a.descrip_esp,a.unidad_med INTO descrip_esp_c,unidad_c
|
||||
FROM intb00001 a
|
||||
WHERE a.cod_n = prtb08[curr].cod_n_c AND
|
||||
a.cod_grupo = prtb08[curr].cod_grupo_c AND
|
||||
a.cod_tipo = prtb08[curr].cod_tipo_c AND
|
||||
a.cod_sec = prtb08[curr].cod_sec_c AND
|
||||
WHERE a.cod_n = arrprtb08[curr].cod_n_c AND
|
||||
a.cod_grupo = arrprtb08[curr].cod_grupo_c AND
|
||||
a.cod_tipo = arrprtb08[curr].cod_tipo_c AND
|
||||
a.cod_sec = arrprtb08[curr].cod_sec_c AND
|
||||
a.status_t IS NULL
|
||||
IF STATUS = NOTFOUND THEN
|
||||
LET numero_msg = 3
|
||||
@@ -309,15 +320,15 @@ FUNCTION prpcad006()
|
||||
NEXT FIELD cod_n_c
|
||||
END IF
|
||||
END IF
|
||||
LET prtb08[curr].descrip_esp_c = descrip_esp_c
|
||||
LET prtb08[curr].unidad_c = unidad_c
|
||||
DISPLAY prtb08[curr].descrip_esp_c TO s_orden[scr_l].descrip_esp_c
|
||||
LET arrprtb08[curr].descrip_esp_c = descrip_esp_c
|
||||
LET arrprtb08[curr].unidad_c = unidad_c
|
||||
DISPLAY arrprtb08[curr].descrip_esp_c TO s_orden[scr_l].descrip_esp_c
|
||||
ATTRIBUTE(BLUE)
|
||||
DISPLAY prtb08[curr].unidad_c TO s_orden[scr_l].unidad_c
|
||||
DISPLAY arrprtb08[curr].unidad_c TO s_orden[scr_l].unidad_c
|
||||
ATTRIBUTE(BLUE)
|
||||
AFTER FIELD cantidad_c
|
||||
IF prtb08[curr].cod_n_c IS NOT NULL THEN
|
||||
IF prtb08[curr].cantidad_c IS NULL THEN
|
||||
IF arrprtb08[curr].cod_n_c IS NOT NULL THEN
|
||||
IF arrprtb08[curr].cantidad_c IS NULL THEN
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD cantidad_c
|
||||
@@ -347,23 +358,23 @@ FUNCTION prpcad006()
|
||||
# SE ESTA VALIDANDO EL PRODUCTO TERMINADO EN EL CODIGO DE LA MATERIA PRIMA
|
||||
# PARA CUANDO LA ORDEN SEA PARA PRODUCTOS IMPORTADOS QUE NO TIENEN COMPOSICION
|
||||
|
||||
IF prtb08[1].cod_n_c IS NULL THEN
|
||||
LET prtb08[1].cod_n_c = prtb07.cod_n
|
||||
LET prtb08[1].cod_grupo_c = prtb07.cod_grupo
|
||||
LET prtb08[1].cod_tipo_c = prtb07.cod_tipo
|
||||
LET prtb08[1].cod_sec_c = prtb07.cod_Sec
|
||||
OUTPUT TO REPORT ordenes(prtb07.num_oc,prtb08[idx].*)
|
||||
IF arrprtb08[1].cod_n_c IS NULL THEN
|
||||
LET arrprtb08[1].cod_n_c = prtb07.cod_n
|
||||
LET arrprtb08[1].cod_grupo_c = prtb07.cod_grupo
|
||||
LET arrprtb08[1].cod_tipo_c = prtb07.cod_tipo
|
||||
LET arrprtb08[1].cod_sec_c = prtb07.cod_Sec
|
||||
OUTPUT TO REPORT ordenes(prtb07.num_oc,arrprtb08[idx].*)
|
||||
END IF
|
||||
FOR idx = 1 TO arr_count()
|
||||
IF prtb08[idx].cod_n_c IS NOT NULL THEN
|
||||
IF arrprtb08[idx].cod_n_c IS NOT NULL THEN
|
||||
INSERT INTO prtb00008 VALUES (prtb07.num_oc,
|
||||
prtb08[idx].cod_n_c,
|
||||
prtb08[idx].cod_grupo_c,
|
||||
prtb08[idx].cod_tipo_c,
|
||||
prtb08[idx].cod_sec_c,
|
||||
prtb08[idx].cantidad_c,
|
||||
arrprtb08[idx].cod_n_c,
|
||||
arrprtb08[idx].cod_grupo_c,
|
||||
arrprtb08[idx].cod_tipo_c,
|
||||
arrprtb08[idx].cod_sec_c,
|
||||
arrprtb08[idx].cantidad_c,
|
||||
SUSER_SNAME(),current,null,null)
|
||||
OUTPUT TO REPORT ordenes(prtb07.num_oc,prtb08[idx].*)
|
||||
OUTPUT TO REPORT ordenes(prtb07.num_oc,arrprtb08[idx].*)
|
||||
END IF
|
||||
END FOR
|
||||
FINISH REPORT ordenes
|
||||
@@ -534,24 +545,24 @@ LABEL sale9:
|
||||
END FUNCTION
|
||||
FUNCTION limpia()
|
||||
FOR idx = 1 TO 10
|
||||
LET prtb08[idx].cod_n_c = null
|
||||
LET prtb08[idx].cod_grupo_c = null
|
||||
LET prtb08[idx].cod_tipo_c = null
|
||||
LET prtb08[idx].cod_sec_c = null
|
||||
LET prtb08[idx].unidad_c = null
|
||||
LET prtb08[idx].cantidad_c = null
|
||||
LET prtb08[idx].descrip_esp_c = null
|
||||
LET arrprtb08[idx].cod_n_c = null
|
||||
LET arrprtb08[idx].cod_grupo_c = null
|
||||
LET arrprtb08[idx].cod_tipo_c = null
|
||||
LET arrprtb08[idx].cod_sec_c = null
|
||||
LET arrprtb08[idx].unidad_c = null
|
||||
LET arrprtb08[idx].cantidad_c = null
|
||||
LET arrprtb08[idx].descrip_esp_c = null
|
||||
END FOR
|
||||
FOR idx = 1 TO 5
|
||||
DISPLAY prtb08[idx].cod_n_c TO s_orden[idx].cod_n_c
|
||||
DISPLAY prtb08[idx].cod_grupo_c TO s_orden[idx].cod_grupo_c
|
||||
DISPLAY prtb08[idx].cod_tipo_c TO s_orden[idx].cod_tipo_c
|
||||
DISPLAY prtb08[idx].cod_sec_c TO s_orden[idx].cod_sec_c
|
||||
DISPLAY prtb08[idx].cantidad_c TO s_orden[idx].cantidad_c
|
||||
DISPLAY arrprtb08[idx].cod_n_c TO s_orden[idx].cod_n_c
|
||||
DISPLAY arrprtb08[idx].cod_grupo_c TO s_orden[idx].cod_grupo_c
|
||||
DISPLAY arrprtb08[idx].cod_tipo_c TO s_orden[idx].cod_tipo_c
|
||||
DISPLAY arrprtb08[idx].cod_sec_c TO s_orden[idx].cod_sec_c
|
||||
DISPLAY arrprtb08[idx].cantidad_c TO s_orden[idx].cantidad_c
|
||||
|
||||
DISPLAY prtb08[idx].descrip_esp_c TO s_orden[idx].descrip_esp_c
|
||||
DISPLAY arrprtb08[idx].descrip_esp_c TO s_orden[idx].descrip_esp_c
|
||||
ATTRIBUTE(BLUE)
|
||||
DISPLAY prtb08[idx].unidad_c TO s_orden[idx].unidad_c
|
||||
DISPLAY arrprtb08[idx].unidad_c TO s_orden[idx].unidad_c
|
||||
ATTRIBUTE(BLUE)
|
||||
|
||||
END FOR
|
||||
@@ -565,28 +576,28 @@ FUNCTION busca_detalle()
|
||||
WHERE a.num_oc = numero_oc
|
||||
|
||||
LET idx = 1
|
||||
FOREACH busca_d INTO prtb08[idx].*
|
||||
FOREACH busca_d INTO arrprtb08[idx].*
|
||||
SELECT a.descrip_esp,a.unidad_med INTO descrip_esp_c,unidad_c
|
||||
FROM intb00001 a
|
||||
WHERE a.cod_n = prtb08[idx].cod_n_c AND
|
||||
a.cod_grupo = prtb08[idx].cod_grupo_c AND
|
||||
a.cod_tipo = prtb08[idx].cod_tipo_c AND
|
||||
a.cod_sec = prtb08[idx].cod_sec_c AND
|
||||
WHERE a.cod_n = arrprtb08[idx].cod_n_c AND
|
||||
a.cod_grupo = arrprtb08[idx].cod_grupo_c AND
|
||||
a.cod_tipo = arrprtb08[idx].cod_tipo_c AND
|
||||
a.cod_sec = arrprtb08[idx].cod_sec_c AND
|
||||
a.status_t IS NULL
|
||||
IF idx > 5 THEN
|
||||
EXIT FOREACH
|
||||
END IF
|
||||
LET prtb08[idx].descrip_esp_c = descrip_esp_c
|
||||
LET prtb08[idx].unidad_c = unidad_c
|
||||
DISPLAY prtb08[idx].cod_n_c TO s_orden[idx].cod_n_c
|
||||
DISPLAY prtb08[idx].cod_grupo_c TO s_orden[idx].cod_grupo_c
|
||||
DISPLAY prtb08[idx].cod_tipo_c TO s_orden[idx].cod_tipo_c
|
||||
DISPLAY prtb08[idx].cod_sec_c TO s_orden[idx].cod_sec_c
|
||||
DISPLAY prtb08[idx].cantidad_c TO s_orden[idx].cantidad_c
|
||||
LET arrprtb08[idx].descrip_esp_c = descrip_esp_c
|
||||
LET arrprtb08[idx].unidad_c = unidad_c
|
||||
DISPLAY arrprtb08[idx].cod_n_c TO s_orden[idx].cod_n_c
|
||||
DISPLAY arrprtb08[idx].cod_grupo_c TO s_orden[idx].cod_grupo_c
|
||||
DISPLAY arrprtb08[idx].cod_tipo_c TO s_orden[idx].cod_tipo_c
|
||||
DISPLAY arrprtb08[idx].cod_sec_c TO s_orden[idx].cod_sec_c
|
||||
DISPLAY arrprtb08[idx].cantidad_c TO s_orden[idx].cantidad_c
|
||||
|
||||
DISPLAY prtb08[idx].descrip_esp_c TO s_orden[idx].descrip_esp_c
|
||||
DISPLAY arrprtb08[idx].descrip_esp_c TO s_orden[idx].descrip_esp_c
|
||||
ATTRIBUTE(BLUE)
|
||||
DISPLAY prtb08[idx].unidad_c TO s_orden[idx].unidad_c
|
||||
DISPLAY arrprtb08[idx].unidad_c TO s_orden[idx].unidad_c
|
||||
ATTRIBUTE(BLUE)
|
||||
LET idx = idx + 1
|
||||
END FOREACH
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -140,6 +140,7 @@ FUNCTION prprmt011()
|
||||
--fechaSolDespacho
|
||||
|
||||
OPEN WINDOW prfmmt011 AT 10,10 WITH FORM "prfmmt011"
|
||||
CALL ui.Window.getCurrent().setText("Administracion Ordenes")
|
||||
#WHENEVER ERROR CONTINUE
|
||||
|
||||
LET w = ui.Window.getCurrent()
|
||||
@@ -201,7 +202,7 @@ FUNCTION prprmt011()
|
||||
IF busqueda IS NULL THEN
|
||||
LET selec1 =
|
||||
" SELECT 'N', x.cerrada, x1.estado_produccion,x1.estado_producto,x1.departamento,x3.nom_dpto,RTRIM(CAST(x.sec_vend AS CHAR)) + ' ' + RTRIM(b.nom1_emp), b.apell1_emp, ",
|
||||
" CONVERT(CHAR(10), x.fecha_oc,103) AS fecha_orden , CONVERT(char(10),x1.fecha_compromiso,103) ,x1.fecha_llegada, x1.fecha_disp_entrega, ",
|
||||
" x.fecha_oc AS fecha_orden , x1.fecha_compromiso ,x1.fecha_llegada, x1.fecha_disp_entrega, ",
|
||||
" x1.fecha_solic_despacho, x1.fecha_instalacion, x.cotizacion_no, x.num_oc,x5.num_oc, x.observacion,g.descripcion, CAST(e.tipo_cliente AS CHAR(2)) ",
|
||||
" + '-' + CAST(e.sec_cliente AS CHAR(6)) + ' ' + RTRIM(e.nombre) ,x4.descripcion, CAST(x1.cod_n AS VARCHAR(4)) + '-' + CAST(x1.cod_grupo AS VARCHAR(4)) ",
|
||||
" + '-' + CAST(x1.cod_tipo AS VARCHAR(4)) + '-' + CAST(x1.cod_sec AS VARCHAR(7)) + ' ' + RTRIM(x2.descrip_esp), ",
|
||||
@@ -243,7 +244,7 @@ FUNCTION prprmt011()
|
||||
END IF
|
||||
LET selec1 =
|
||||
" SELECT 'N', x.cerrada, x1.estado_produccion,x1.estado_producto,x1.departamento,x3.nom_dpto,RTRIM(CAST(x.sec_vend AS CHAR)) + ' ' + RTRIM(b.nom1_emp), b.apell1_emp, ",
|
||||
" CONVERT(CHAR(10), x.fecha_oc,103) AS fecha_orden , CONVERT(char(10),x1.fecha_compromiso,103) ,
|
||||
" x.fecha_oc AS fecha_orden , x1.fecha_compromiso ,
|
||||
x1.fecha_llegada,x1.fecha_disp_entrega, ",
|
||||
" x1.fecha_solic_despacho, x1.fecha_instalacion, x.cotizacion_no, x.num_oc,x5.num_oc, x.observacion,g.descripcion, CAST(e.tipo_cliente AS CHAR(2)) ",
|
||||
" + '-' + CAST(e.sec_cliente AS CHAR(6)) + ' ' + RTRIM(e.nombre) ,x4.descripcion, CAST(x1.cod_n AS VARCHAR(4)) + '-' + CAST(x1.cod_grupo AS VARCHAR(4)) ",
|
||||
@@ -281,7 +282,7 @@ FUNCTION prprmt011()
|
||||
IF actualiza_log_produccion="SI" THEN
|
||||
LET selec1=
|
||||
" SELECT 'N', x.cerrada, x1.estado_produccion,x1.departamento,x3.nom_dpto,RTRIM(CAST(x.sec_vend AS CHAR)) + ' ' + RTRIM(b.nom1_emp), b.apell1_emp, ",
|
||||
" CONVERT(CHAR(10), x.fecha_oc,103) AS fecha_orden , CONVERT(char(10),x1.fecha_compromiso,103) ,' ', x.cotizacion_no, x.num_oc, x.observacion,g.descripcion, CAST(e.tipo_cliente AS CHAR(2)) ",
|
||||
" x.fecha_oc AS fecha_orden , x1.fecha_compromiso ,' ', x.cotizacion_no, x.num_oc, x.observacion,g.descripcion, CAST(e.tipo_cliente AS CHAR(2)) ",
|
||||
" + '-' + CAST(e.sec_cliente AS CHAR(6)) + ' ' + RTRIM(e.nombre) , CAST(x1.cod_n AS VARCHAR(4)) + '-' + CAST(x1.cod_grupo AS VARCHAR(4)) ",
|
||||
" + '-' + CAST(x1.cod_tipo AS VARCHAR(4)) + '-' + CAST(x1.cod_sec AS VARCHAR(4)) + ' ' + RTRIM(x2.descrip_esp), ",
|
||||
" SUM(x1.cantidad), '0' , '0' , '0' , x.sec_vend, x1.cod_n, x1.cod_grupo, x1.cod_tipo, x1.cod_Sec, e.tipo_cliente, e.sec_cliente, ",
|
||||
@@ -440,7 +441,7 @@ FUNCTION prprmt011()
|
||||
IF veces > 1 THEN
|
||||
LET att[idx].col7 = 'blue reverse'
|
||||
ELSE
|
||||
SELECT CONVERT(CHAR(10),a.fecha_llegada,103) INTO arr_ordenes[idx].fecha_llegada
|
||||
SELECT a.fecha_llegada INTO arr_ordenes[idx].fecha_llegada
|
||||
FROM cctb00026 a
|
||||
WHERE a.num_oc = arr_ordenes[idx].num_oc AND
|
||||
a.cod_n = arr_ordenes[idx].cod_n AND
|
||||
@@ -1091,7 +1092,7 @@ FUNCTION fparciales(xnum_oc,xcodn,xcodgrupo,xcodtipo,xcodsec,xfecha,xproducto)
|
||||
|
||||
|
||||
DECLARE busca_parcial CURSOR FOR
|
||||
SELECT CONVERT(CHAR(10),a.fecha_compromiso,103),a.cantidad FROM prtb00028 a
|
||||
SELECT a.fecha_compromiso,a.cantidad FROM prtb00028 a
|
||||
WHERE a.num_oc = xnum_oc AND
|
||||
a.cod_n = xcodn AND
|
||||
a.cod_grupo = xcodgrupo AND
|
||||
@@ -1313,7 +1314,7 @@ FUNCTION vepcmf008(num_cotizacion)
|
||||
LET SELEC = " SELECT DISTINCT a.cod_cia,a.ventas,a.cotizacion_no,a.tipo_cliente,a.sec_cliente,a.nombre_cliente, " ||
|
||||
" a.rnc,a.nombre_proyecto,a.direccion_cliente,a.cod_provincia,a.direccion_proyecto, " ||
|
||||
" a.telefono_r,a.telefono_o,a.email,a.tipo_precio,a.beeper,a.celular,a.prima,a.fax1,a.celular1, " ||
|
||||
" a.fax, CONVERT(CHAR(10),a.fecha,103),CONVERT(CHAR(10),a.fecha_entrega,103), " ||
|
||||
" a.fax, a.fecha,a.fecha_entrega, " ||
|
||||
" a.plazo_entrega,a.comentario,a.contacto, a.cond_pago,a.sec_Vend,a.porc_itbi," ||
|
||||
" a.total_bruto,a.sub_total,a.monto_Desc,a.monto_itbi,a.total_neto,a.monto_dolar,a.num_emp_inst, " ||
|
||||
" a.codigo_dgii,a.tipo_ncf,a.cliente_generico,a.sec_vend_aux,a.codigo,a.cod_zona,a.sincronizado, "||
|
||||
|
||||
@@ -54,7 +54,7 @@ FUNCTION prprmt020()
|
||||
|
||||
OPEN WINDOW w1 WITH FORM "prfmmt012"
|
||||
DIALOG ATTRIBUTES(UNBUFFERED,FIELD ORDER FORM)
|
||||
INPUT BY NAME prtb09.num_oc
|
||||
INPUT BY NAME prtb08.num_oc
|
||||
|
||||
BEFORE INPUT
|
||||
LET d_tipos="PDF"
|
||||
@@ -86,7 +86,7 @@ FUNCTION prprmt020()
|
||||
AFTER FIELD num_oc
|
||||
SELECT a.cotizacion_no,b.nombre,a.sec_vend,ISNULL(c.nom1_emp,' ')+ISNULL(c.apell1_emp,' '),
|
||||
a.tipo_cliente,a.sec_cliente
|
||||
INTO prtb09.cotizacion_no,nombre_cliente,psec_vend,vendedor,
|
||||
INTO prtb08.cotizacion_no,nombre_cliente,psec_vend,vendedor,
|
||||
prtb08.tipo_cliente,prtb08.sec_cliente
|
||||
FROM prtb00012 a,vetb00004 b,adtb00003 c
|
||||
WHERE a.num_oc = prtb08.num_oc AND
|
||||
|
||||
@@ -177,7 +177,7 @@ END RECORD
|
||||
" ORDEN ECOMMERCE ",orden_externa USING "&&&&&&&"
|
||||
INPUT ARRAY detalle FROM sdetalle.* ATTRIBUTE(WITHOUT DEFAULTS)
|
||||
ON ACTION impresion ATTRIBUTE(TEXT="Orden",IMAGE="printer")
|
||||
CALL impresion(pnum_oc)
|
||||
CALL impresion_oc(pnum_oc)
|
||||
ON ACTION etiqueta ATTRIBUTE(TEXT="Label",IMAGE="fa-tag")
|
||||
LET datos.celular = orden.celular
|
||||
LET datos.cliente = orden.nombre_envio
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
<LAYOUTNODE name="Layout Node9" y="max-33.3652" width="214.531" length="26.3906" anchorY="1" alignment="center" layoutDirection="topToBottom" floatingBehavior="free">
|
||||
<WORDBOX name="WordBox34" width="213.984" length="14.3281" alignment="far" fontSize="20" fontBold="true" underline="true" layoutDirection="topToBottom" baselineType="leftleft" textAlignment="center" text="ANÁLISIS PRODUCCIÓN" trimText="both"/>
|
||||
</LAYOUTNODE>
|
||||
<IMAGEBOX name="ImageBox1_1" y="6.5535" width="230.836" length="92.4741" floatingBehavior="enclosed" url="file:///F:/MARMOTECHC/IMAGENES/logo.png" intendedResolution="120"/>
|
||||
<IMAGEBOX name="ImageBox1_1" y="6.5535" width="230.836" length="92.4741" floatingBehavior="enclosed" url="IMAGENES/Logo.png" intendedResolution="120"/>
|
||||
<rtl:input-variable name="fecha_reporte" type="FGLString" expectedLocation="expectedAhead"/>
|
||||
<WORDBOX name="fecha_reporte Value1" class="grwDateValue" x="4.0943" y="414.196" width="103.969" anchorX="0" anchorY="0" floatingBehavior="enclosed" textAlignment="right" text="{{fecha_reporte}}"/>
|
||||
</MINIPAGE>
|
||||
|
||||
@@ -35,14 +35,16 @@
|
||||
<RecordField colName="" fieldIdRef="26" name="xnum_emp" sqlTabName="" table_alias_name="" uid="{cbe6a079-16f8-4d94-8834-508b8802f0eb}"/>
|
||||
<RecordField colName="" fieldIdRef="27" name="nombre_empleado" sqlTabName="" table_alias_name="" uid="{025a8c47-52a6-46a7-809d-068fce546410}"/>
|
||||
<RecordField colName="" fieldIdRef="28" name="bloque" sqlTabName="" table_alias_name="" uid="{1fdfddbb-c15b-430b-900a-277fe124636e}"/>
|
||||
<RecordField colName="" fieldIdRef="29" name="xnum_ocp" sqlTabName="" table_alias_name="" uid="{3b6f1c2e-8d4a-4f7b-9e21-6a5c0d9e7f11}"/>
|
||||
<RecordField colName="" fieldIdRef="30" name="proveedor" sqlTabName="" table_alias_name="" uid="{9c2e7a41-5b3d-4e8f-a1c6-2d7f8e0b4a22}"/>
|
||||
</Record>
|
||||
<Form gridHeight="31" gridWidth="163" name="acfmrp010" style="basic" text="ETIQUETAS">
|
||||
<Form gridHeight="33" gridWidth="163" name="acfmrp010" style="basic" text="ETIQUETAS">
|
||||
<ActionDefaultList name="ActionDefaultList1">
|
||||
<ActionDefault image="cancel" name="cancel" text="Cancela operacion"/>
|
||||
<ActionDefault image="find" name="busca" text="Busca informacion"/>
|
||||
<ActionDefault image="printer" name="imprime" text="Imprimir"/>
|
||||
</ActionDefaultList>
|
||||
<Grid gridHeight="28" gridWidth="163" name="Grid1" posX="0" posY="1">
|
||||
<Grid gridHeight="30" gridWidth="163" name="Grid1" posX="0" posY="1">
|
||||
<Group gridHeight="10" gridWidth="138" name="Group1" posX="1" posY="1" text="INFORMACIONES SOBRE EL TAMANO DE LA ETIQUETA E INVENTARIO">
|
||||
<Label posX="1" posY="1" text="INVENTARIO"/>
|
||||
<ComboBox aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="inventario" defaultValue="PRODUCTOS TERMINADOS" fieldId="9" gridHeight="1" gridWidth="43" include="ACTIVOS FIJOS|PRODUCTOS TERMINADOS|MATERIA PRIMA|REPUESTOS" items="ACTIVOS FIJOS, PRODUCTOS TERMINADOS, MATERIA PRIMA, REPUESTOS" name="inventario" posX="20" posY="1" sqlTabName="formonly" tabIndex="1" table_alias_name="" widget="ComboBox">
|
||||
@@ -99,7 +101,7 @@
|
||||
<Label posX="2" posY="4" text="DEPARTAMENTO"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="codigo_dp" fieldId="13" gridHeight="1" gridWidth="7" name="codigo_dp" posX="21" posY="4" sqlTabName="formonly" tabIndex="13" table_alias_name="" widget="Edit"/>
|
||||
</Group>
|
||||
<Group gridHeight="6" gridWidth="70" name="Group4" posX="70" posY="11" text="Informacion Orden">
|
||||
<Group gridHeight="8" gridWidth="70" name="Group4" posX="70" posY="11" text="Informacion Orden">
|
||||
<Label gridHeight="1" gridWidth="10" name="Label2" posX="3" posY="1" text="Orden"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" fieldId="23" gridHeight="1" gridWidth="10" name="xnum_oc" posX="17" posY="1" sqlTabName="" tabIndex="25" table_alias_name="" title="Edit1" widget="Edit"/>
|
||||
<Label gridHeight="1" gridWidth="10" name="Label3" posX="3" posY="2" text="Cliente"/>
|
||||
@@ -109,8 +111,12 @@
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" fieldId="27" gridHeight="1" gridWidth="40" name="nombre_empleado" posX="28" posY="3" sqlTabName="" tabIndex="28" table_alias_name="" title="Edit3" widget="Edit"/>
|
||||
<Label gridHeight="1" gridWidth="10" name="Label5" posX="3" posY="4" text="Bloque"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" case="upper" colName="" fieldId="28" gridHeight="1" gridWidth="27" name="bloque" posX="17" posY="4" scroll="true" sqlTabName="" tabIndex="29" table_alias_name="" title="Edit1" widget="Edit"/>
|
||||
<Label gridHeight="1" gridWidth="12" name="Label6" posX="3" posY="5" text="Orden Compra"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" comment="Orden de compra (cotb00014)" fieldId="29" gridHeight="1" gridWidth="10" name="xnum_ocp" posX="17" posY="5" sqlTabName="" tabIndex="30" table_alias_name="" title="Edit4" widget="Edit"/>
|
||||
<Label gridHeight="1" gridWidth="10" name="Label7" posX="3" posY="6" text="Proveedor"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" fieldId="30" gridHeight="1" gridWidth="51" name="proveedor" posX="17" posY="6" sqlTabName="" tabIndex="31" table_alias_name="" title="Edit5" widget="Edit"/>
|
||||
</Group>
|
||||
<Group gridHeight="9" gridWidth="161" name="Group3" posX="1" posY="17" text="MEDIDAS, SOLO PARA MATERIA PRIMA O PRODUCTOS TERMINADOS">
|
||||
<Group gridHeight="9" gridWidth="161" name="Group3" posX="1" posY="19" text="MEDIDAS, SOLO PARA MATERIA PRIMA O PRODUCTOS TERMINADOS">
|
||||
<Table gridHeight="5" gridWidth="157" name="Table1" posX="2" posY="2" totalRows="4" unitWidth="characters" width="157">
|
||||
<CheckBox aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="imp" defaultValue="NO" fieldId="14" gridHeight="1" gridWidth="3" name="imp" notNull="true" posX="0" posY="0" required="true" sqlTabName="formonly" tabIndex="14" table_alias_name="" title="IMPRIME" valueChecked="SI" valueUnchecked="NO" widget="CheckBox"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="pcodid" fieldId="0" gridHeight="1" gridWidth="10" name="pcodid" posX="3" posY="0" scroll="true" sqlTabName="formonly" tabIndex="15" table_alias_name="" widget="Edit"/>
|
||||
|
||||
@@ -442,6 +442,11 @@ FUNCTION acpcad001() --Consultar Datos Activo
|
||||
LET i = i + 1
|
||||
|
||||
END FOREACH
|
||||
-- el FOREACH deja un elemento vacio al final; al seleccionarlo getdata armaba
|
||||
-- "WHERE a.codigo = " sin valor (-201) y el programa se caia
|
||||
IF DisArray.getLength() >= i THEN
|
||||
CALL DisArray.deleteElement(i)
|
||||
END IF
|
||||
|
||||
END FUNCTION
|
||||
|
||||
@@ -470,12 +475,12 @@ FUNCTION getdata(idx INT)
|
||||
,a.id_MaintainX
|
||||
,a.id_codigo
|
||||
,b.nombre
|
||||
FROM actb00001 a left join irtb00009 b on a.id_codigo = b.codigo
|
||||
WHERE a.codigo = " || DisArray[idx].codigo1 || "
|
||||
AND a.status_t is null and b.status_t is null
|
||||
FROM actb00001 a left join irtb00009 b on a.id_codigo = b.codigo AND b.status_t is null
|
||||
WHERE a.codigo = ?
|
||||
AND a.status_t is null
|
||||
ORDER BY a.codigo"
|
||||
|
||||
EXECUTE query INTO infoArray.*
|
||||
EXECUTE query USING DisArray[idx].codigo1 INTO infoArray.*
|
||||
|
||||
SELECT a.descripcion
|
||||
INTO des.descripcion2
|
||||
@@ -568,6 +573,9 @@ FUNCTION insertData()
|
||||
|
||||
IF infoArray.id_MaintainX IS NULL THEN
|
||||
ROLLBACK WORK
|
||||
-- antes seguia grabando fuera de la transaccion (el COMMIT caia -255)
|
||||
CALL fgl_winmessage("MaintainX", "NO SE PUDO REGISTRAR EN MAINTAINX, OPERACION CANCELADA", "stop")
|
||||
RETURN
|
||||
END IF
|
||||
END IF
|
||||
|
||||
@@ -701,6 +709,8 @@ INITIALIZE checking TO NULL
|
||||
|
||||
IF answer IS NULL THEN
|
||||
ROLLBACK WORK
|
||||
CALL fgl_winmessage("MaintainX", "NO SE PUDO ACTUALIZAR MAINTAINX, OPERACION CANCELADA", "stop")
|
||||
RETURN
|
||||
END IF
|
||||
END IF
|
||||
|
||||
@@ -811,11 +821,13 @@ INITIALIZE checking TO NULL
|
||||
END IF
|
||||
|
||||
IF infoArray.id_MaintainX IS NOT NULL THEN
|
||||
CALL ApiMaintainX('DELETE',infoArray.id_MaintainX,maquinaria.*, infoArray.*,extraCampos.*,NULL)
|
||||
CALL ApiMaintainX('DELETE',infoArray.id_MaintainX,infoArray.*,maquinaria.*,extraCampos.*,NULL) -- antes maquinaria/infoArray invertidos
|
||||
RETURNING answer
|
||||
|
||||
IF answer != 1 THEN
|
||||
IF answer != 1 OR answer IS NULL THEN
|
||||
ROLLBACK WORK
|
||||
CALL fgl_winmessage("MaintainX", "NO SE PUDO ELIMINAR EN MAINTAINX, OPERACION CANCELADA", "stop")
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
END IF
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
-- acprmt001 (version ene-2025, integracion MaintainX) usa 4 columnas que nunca se
|
||||
-- crearon en actb00001: proveedor del activo, tipo de activo y activo padre.
|
||||
-- Todas NULL: no afectan filas existentes ni a los programas que no las usan.
|
||||
-- Ejecutar primero en la .250 (QA G6); en produccion (.40.8) solo cuando se apruebe.
|
||||
USE marmotech;
|
||||
GO
|
||||
IF COL_LENGTH('dbo.actb00001','cod_sp') IS NULL
|
||||
ALTER TABLE dbo.actb00001 ADD cod_sp INT NULL; -- cotb00001.cod_sp (proveedor)
|
||||
IF COL_LENGTH('dbo.actb00001','cod_sp_sec') IS NULL
|
||||
ALTER TABLE dbo.actb00001 ADD cod_sp_sec INT NULL; -- cotb00001.cod_sp_sec
|
||||
IF COL_LENGTH('dbo.actb00001','tipo_activo') IS NULL
|
||||
ALTER TABLE dbo.actb00001 ADD tipo_activo VARCHAR(30) NULL; -- CAMIONES, IT HARDWARE, MAQUINARIAS, MONTACARGAS, EDIFICIOS
|
||||
IF COL_LENGTH('dbo.actb00001','activo_padre') IS NULL
|
||||
ALTER TABLE dbo.actb00001 ADD activo_padre INT NULL; -- actb00001.codigo del activo padre
|
||||
GO
|
||||
SELECT name FROM sys.columns WHERE object_id = OBJECT_ID('dbo.actb00001')
|
||||
AND name IN ('cod_sp','cod_sp_sec','tipo_activo','activo_padre');
|
||||
@@ -235,11 +235,12 @@ FUNCTION acpcmf004()
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
-- G6: trans LIKE actb00004.* incluye rowid; sin el 2o a.rowid todo quedaba corrido una columna (-1213)
|
||||
LET SELEC =
|
||||
|
||||
|
||||
|
||||
"SELECT a.rowid,a.codigo
|
||||
"SELECT a.rowid,a.rowid,a.codigo
|
||||
,a.num_doc
|
||||
,CONVERT(VARCHAR(10),a.fecha,103)
|
||||
,a.cod_mov
|
||||
@@ -419,7 +420,7 @@ FUNCTION acpcmf004()
|
||||
CALL fgl_winmessage("INFO","NO SE ACTUALIZARON REGISTROS","INFO")
|
||||
EXIT PROGRAM
|
||||
END IF
|
||||
SELECT MIN(convert(varchar(10),a.fecha,103)) INTO fecha6 FROM actb00004 a
|
||||
SELECT MIN(a.fecha) INTO fecha6 FROM actb00004 a -- G6: MIN sobre texto dd/mm/yyyy no da la fecha menor
|
||||
WHERE a.codigo = trans.codigo AND a.status_t IS NULL
|
||||
|
||||
IF fecha6 IS NULL THEN
|
||||
|
||||
@@ -92,7 +92,8 @@ INPUT BY NAME p_ano1,p_mes1
|
||||
NEXT FIELD p_ano1
|
||||
END IF
|
||||
|
||||
SELECT MAX(CONVERT(VARCHAR(10),a.fecha,103)) INTO fecha_ant FROM actb00004 a
|
||||
-- G6: MAX sobre texto dd/mm/yyyy devolvia 31/12 y no la ultima depreciacion (permitia duplicar el mes)
|
||||
SELECT MAX(a.fecha) INTO fecha_ant FROM actb00004 a
|
||||
WHERE a.status_t IS NULL AND a.cod_mov = 5
|
||||
|
||||
IF fecha_ant >= trans.fecha THEN
|
||||
|
||||
@@ -14,7 +14,9 @@ GLOBALS
|
||||
kcantidad DEC(12,4),
|
||||
codlista,cia_logo SMALLINT,
|
||||
xnum_emp,xnum_oc INT,
|
||||
cliente,nombre_empleado,nom1,nom2,apell1,apell2 VARCHAR(100)
|
||||
xnum_ocp INT, -- orden de compra (cotb00014)
|
||||
cliente,nombre_empleado,nom1,nom2,apell1,apell2 VARCHAR(100),
|
||||
proveedor VARCHAR(100) -- proveedor de la orden de compra (cotb00001)
|
||||
MAIN
|
||||
DEFER INTERRUPT
|
||||
CALL ARG_VAL(1) RETURNING usuarios
|
||||
@@ -81,7 +83,16 @@ ON ACTION cancel
|
||||
FROM codigo_act,descripcion_act,codigo_dp
|
||||
END IF
|
||||
IF inventario = "PRODUCTOS TERMINADOS" THEN
|
||||
INPUT BY NAME xnum_oc,xnum_emp,bloque
|
||||
INPUT BY NAME xnum_oc,xnum_ocp,xnum_emp,bloque
|
||||
AFTER FIELD xnum_ocp
|
||||
IF xnum_ocp IS NULL THEN
|
||||
LET proveedor = NULL
|
||||
DISPLAY BY NAME proveedor
|
||||
ELSE
|
||||
IF NOT busca_proveedor_oc() THEN
|
||||
NEXT FIELD xnum_ocp
|
||||
END IF
|
||||
END IF
|
||||
ON ACTION busca_emp
|
||||
CALL busca_empleado1() RETURNING Xnum_emp,nom1,nom2,apell1,apell2
|
||||
LET nombre_empleado = xnum_emp USING "<<<<<","-",nom1 CLIPPED,apell1 CLIPPED
|
||||
@@ -127,7 +138,15 @@ ON ACTION cancel
|
||||
CALL fgl_Winmessage("INFO","EMPLEADO NO EXISTE","INFO")
|
||||
NEXT FIELD xnum_emp
|
||||
END IF
|
||||
DISPLAY BY NAME nombre_empleado
|
||||
DISPLAY BY NAME nombre_empleado
|
||||
END IF
|
||||
IF xnum_ocp IS NOT NULL THEN
|
||||
IF NOT busca_proveedor_oc() THEN
|
||||
NEXT FIELD xnum_ocp
|
||||
END IF
|
||||
ELSE
|
||||
LET proveedor = NULL
|
||||
DISPLAY BY NAME proveedor
|
||||
END IF
|
||||
EXIT INPUT
|
||||
END INPUT
|
||||
@@ -243,25 +262,25 @@ CALL set_count(idx-1)
|
||||
INPUT ARRAY despiece WITHOUT DEFAULTS FROM smedida.*
|
||||
AFTER FIELD lado3
|
||||
LET idx = arr_curr()
|
||||
IF despiece[idx].unidad= "M2" THEN
|
||||
LET despiece[idx].medida =
|
||||
despiece[idx].cantidad * (despiece[idx].lado1 * despiece[idx].lado2)
|
||||
END IF
|
||||
|
||||
IF despiece[idx].unidad= "M3" THEN
|
||||
LET despiece[idx].medida =
|
||||
despiece[idx].cantidad * (despiece[idx].lado1 * despiece[idx].lado2 * despiece[idx].lado3)
|
||||
END IF
|
||||
|
||||
IF despiece[idx].unidad= "ML" THEN
|
||||
LET despiece[idx].medida =
|
||||
despiece[idx].cantidad * despiece[idx].lado1
|
||||
LET despiece[idx].lado2 = 0
|
||||
END IF
|
||||
|
||||
IF despiece[idx].unidad= "UD" OR despiece[idx].unidad= "GL" THEN
|
||||
LET despiece[idx].medida = despiece[idx].cantidad
|
||||
END IF
|
||||
IF despiece[idx].unidad= "M2" THEN
|
||||
LET despiece[idx].medida =
|
||||
despiece[idx].cantidad * (despiece[idx].lado1 * despiece[idx].lado2)
|
||||
END IF
|
||||
|
||||
IF despiece[idx].unidad= "M3" THEN
|
||||
LET despiece[idx].medida =
|
||||
despiece[idx].cantidad * (despiece[idx].lado1 * despiece[idx].lado2 * despiece[idx].lado3)
|
||||
END IF
|
||||
|
||||
IF despiece[idx].unidad= "ML" THEN
|
||||
LET despiece[idx].medida =
|
||||
despiece[idx].cantidad * despiece[idx].lado1
|
||||
LET despiece[idx].lado2 = 0
|
||||
END IF
|
||||
|
||||
IF despiece[idx].unidad= "UD" OR despiece[idx].unidad= "GL" THEN
|
||||
LET despiece[idx].medida = despiece[idx].cantidad
|
||||
END IF
|
||||
|
||||
AFTER FIELD cantidad
|
||||
LET idx = arr_curr()
|
||||
@@ -376,9 +395,29 @@ REPORT activos(x,descripcion,xfecha_compra,xprecio,xsimbolo,xcodigo,xunidadmed,
|
||||
END IF
|
||||
PRINTX x,codigo_dp,descripcion,descripcion_dp,fecha,barcodigo_act,
|
||||
Xfecha_compra,xprecio,xsimbolo,xcodigo,xvalor_medida,xcantidad,
|
||||
xlado1,xlado2,xlado3,xunidadmed,cia_logo,xnum_emp,xnum_oc,cliente,nombre_empleado,bloque
|
||||
xlado1,xlado2,xlado3,xunidadmed,cia_logo,xnum_emp,xnum_oc,cliente,nombre_empleado,bloque,
|
||||
xnum_ocp,proveedor
|
||||
END REPORT
|
||||
|
||||
# Valida la orden de compra (cotb00014, no anulada) y trae su proveedor (cotb00001)
|
||||
FUNCTION busca_proveedor_oc()
|
||||
LET proveedor = NULL
|
||||
SELECT CAST(b.cod_sp AS VARCHAR(4))+'-'+
|
||||
CAST(b.cod_sp_sec AS VARCHAR(4))+' '+RTRIM(b.nom_sp)
|
||||
INTO proveedor
|
||||
FROM cotb00014 a,cotb00001 b
|
||||
WHERE a.num_oc = xnum_ocp AND a.status_t IS NULL AND
|
||||
a.cod_sp = b.cod_sp AND a.cod_sp_sec = b.cod_sp_sec
|
||||
IF STATUS = NOTFOUND THEN
|
||||
LET proveedor = NULL
|
||||
DISPLAY BY NAME proveedor
|
||||
CALL fgl_winmessage("INFO","ORDEN DE COMPRA NO EXISTE O ESTA ANULADA","INFO")
|
||||
RETURN FALSE
|
||||
END IF
|
||||
DISPLAY BY NAME proveedor
|
||||
RETURN TRUE
|
||||
END FUNCTION
|
||||
|
||||
|
||||
FUNCTION codigo_128(cod_val,pcantidad)
|
||||
|
||||
|
||||
@@ -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
|
||||
@@ -7,7 +7,7 @@
|
||||
FECHA REALIZACION : Junio 24, 1993
|
||||
------------------------------------------------------------------------
|
||||
}
|
||||
DATABASE rayovac
|
||||
DATABASE smarmotech
|
||||
SCREEN SIZE 24 by 80
|
||||
{
|
||||
Busqueda de los Niveles de Empleados
|
||||
|
||||
@@ -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
|
||||
@@ -55,7 +55,8 @@ FUNCTION adpcad001()
|
||||
{WHENEVER ERROR CONTINUE}
|
||||
|
||||
## CAPTURA LOS DATOS QUE VA A CONTENER EL REGISTRO
|
||||
INPUT BY NAME depto.* #,m_estado_a,m_estado_m
|
||||
INPUT BY NAME depto.departamento, depto.nom_dpto, depto.status_t, depto.us_crea,
|
||||
depto.fech_crea, depto.us_mod, depto.fech_mod #,m_estado_a,m_estado_m
|
||||
|
||||
## VERIFICA QUE EL CODIGO NO EXISTA EN EL CATALOGO DE DEPARTAMENTO. SI EXISTE,
|
||||
## ENTONCES DESPLEGA LOS DATOS DEL REGISTRO EXISTENTE.
|
||||
@@ -77,7 +78,8 @@ FUNCTION adpcad001()
|
||||
NEXT FIELD departamento
|
||||
END IF
|
||||
|
||||
DISPLAY BY NAME depto.*
|
||||
DISPLAY BY NAME depto.departamento, depto.nom_dpto, depto.status_t, depto.us_crea,
|
||||
depto.fech_crea, depto.us_mod, depto.fech_mod
|
||||
LET numero_msg = 12
|
||||
CALL msg(numero_msg)
|
||||
LET depto.nom_dpto = NULL
|
||||
@@ -113,10 +115,12 @@ FUNCTION adpcad001()
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD nom_dpto
|
||||
ELSE
|
||||
INSERT INTO adtb00001 VALUES (depto.departamento,depto.nom_dpto,
|
||||
INSERT INTO adtb00001 (departamento,nom_dpto,status_t,us_crea,fech_crea,us_mod,fech_mod)
|
||||
VALUES (depto.departamento,depto.nom_dpto,
|
||||
null, SUSER_SNAME (), GETDATE (), null, null)
|
||||
|
||||
INSERT INTO adtb00029 VALUES (depto.departamento,m_estado_a,m_estado_m,
|
||||
INSERT INTO adtb00029 (departamento,estado_a,estado_m,depto_ant,estatus_t,us_crea,fech_crea,us_mod,fech_mod)
|
||||
VALUES (depto.departamento,m_estado_a,m_estado_m,
|
||||
depto.departamento,null,SUSER_SNAME(), GETDATE (),null,null)
|
||||
|
||||
LET m_depto = depto.departamento
|
||||
@@ -159,7 +163,7 @@ FUNCTION adpcmf001()
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
LET SELEC = " SELECT UNIQUE * FROM adtb00001 where ",
|
||||
LET SELEC = " SELECT DISTINCT * FROM adtb00001 where ",
|
||||
" status_t is null and ",
|
||||
criterio clipped,
|
||||
" ORDER BY 1"
|
||||
@@ -246,9 +250,7 @@ FUNCTION adpcmf001()
|
||||
END IF
|
||||
|
||||
## SE SELECCIONAN LOS CAMPOS QUE SON MODIFICABLES
|
||||
INPUT BY NAME depto.nom_dpto,
|
||||
m_estado_a,
|
||||
m_estado_m WITHOUT DEFAULTS
|
||||
INPUT BY NAME depto.nom_dpto WITHOUT DEFAULTS
|
||||
|
||||
AFTER FIELD nom_dpto
|
||||
IF depto.nom_dpto IS NULL THEN
|
||||
@@ -283,9 +285,7 @@ FUNCTION adpcmf001()
|
||||
UPDATE chequeo SET nom_dpto = depto.nom_dpto
|
||||
WHERE departamento = depto.departamento
|
||||
|
||||
UPDATE adtb00029 SET estado_a = m_estado_a,
|
||||
estado_m = m_estado_m,
|
||||
us_mod = SUSER_NAME(),
|
||||
UPDATE adtb00029 SET us_mod = SUSER_NAME(),
|
||||
fech_mod = GETDATE()
|
||||
WHERE departamento = depto.departamento
|
||||
|
||||
|
||||
@@ -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
|
||||
@@ -257,7 +289,7 @@ FUNCTION adpcad017()
|
||||
## SELECCIONA LA FECHA DE INGRESO Y EL SUELDO DE LA TABLA DE CONTRATACION
|
||||
## Y SELECCION DE EMPLEADOS
|
||||
|
||||
SELECT UNIQUE convert(char(10),a.fech_efec,101),a.sueldo,b.cod_sol
|
||||
SELECT UNIQUE a.fech_efec,a.sueldo,b.cod_sol
|
||||
INTO contra.fech_efec,contra.sueldo,parece.cod_sol
|
||||
FROM adtb00019 a,adtb00018 b
|
||||
WHERE a.cod_sol = b.cod_sol and b.cod_sol = acc_per.cod_sol and
|
||||
@@ -269,7 +301,7 @@ FUNCTION adpcad017()
|
||||
END IF
|
||||
|
||||
|
||||
IF xtipo <> 'INGRESO' THEN
|
||||
IF xtipo IS NULL OR xtipo <> 'INGRESO' THEN
|
||||
LET acc_per.cod_sol = NULL
|
||||
NEXT FIELD fecha
|
||||
END IF
|
||||
@@ -277,9 +309,9 @@ FUNCTION adpcad017()
|
||||
## VERIFICA QUE EL SOLICITANTE EXISTE EN LA TABLA DE SOLICITANTES. SI EXISTE
|
||||
## LO PRESENTA EN PANTALLA.
|
||||
|
||||
SELECT cod_sol,convert(char(10),fecha,101),nom1_sol,nom2_sol,apell1_sol,
|
||||
SELECT cod_sol,fecha,nom1_sol,nom2_sol,apell1_sol,
|
||||
apell2_sol,calle,casa_num,barrio,urbanizacion,telefono,
|
||||
cod_provincia,convert(char(10),fech_nac,101),cod_nac,estado_civil,estatura,
|
||||
cod_provincia,fech_nac,cod_nac,estado_civil,estatura,
|
||||
peso,cedula,licencia,tipo_sangre,cod_puesto,
|
||||
cod_prof,sexo,status_t,us_crea,fech_crea,us_mod,fech_mod,
|
||||
serie
|
||||
@@ -340,12 +372,12 @@ FUNCTION adpcad017()
|
||||
## CHEQUEA QUE EL EMPLEADO EXISTA EN LA TABLA DE EMPLEADOS. SI EXISTE
|
||||
## DESPLEGA TODA LA INFORMACION REFERENTE AL EMPLEADO.
|
||||
|
||||
IF xtipo <> 'INGRESO' THEN
|
||||
IF xtipo IS NULL OR xtipo <> 'INGRESO' THEN
|
||||
|
||||
SELECT b.departamento,b.nivel_emp,b.cod_puesto,b.nom1_emp,
|
||||
b.nom2_emp,b.apell1_emp,b.apell2_emp,b.sueldo_ac,
|
||||
b.nomina,b.estado_civil,b.tipo_sangre,
|
||||
b.cedula,b.cuenta_no,CONVERT(char(10),b.fech_efec,103),b.tipo_sueldo
|
||||
b.cedula,b.cuenta_no,b.fech_efec,b.tipo_sueldo
|
||||
INTO acc_per.departamento,acc_per.nivel_emp,acc_per.cod_puesto,
|
||||
nombre9,nombre10,apellido9,apellido10,acc_per.sueldo_ac,
|
||||
acc_per.nomina,acc_per.estado_civil,acc_per.tipo_sangre,
|
||||
@@ -370,8 +402,8 @@ FUNCTION adpcad017()
|
||||
WHERE k.cod_puesto = acc_per.cod_puesto and k.status_t is null
|
||||
|
||||
SELECT UNIQUE a.sexo INTO acc_per.sexo FROM adtb00021 a
|
||||
WHERE a.num_emp = acc_per.num_emp AND a.cod_par = 0 AND
|
||||
a.sec_par = 0
|
||||
WHERE a.num_emp = acc_per.num_emp AND ISNULL(a.cod_par,0) = 0 AND
|
||||
ISNULL(a.sec_par,0) = 0
|
||||
|
||||
SELECT a.nis INTO pnis FROM adtb00030 a
|
||||
WHERE a.num_emp = acc_per.num_emp
|
||||
@@ -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 ############
|
||||
@@ -833,7 +905,7 @@ FUNCTION adpcad017()
|
||||
personal.serie USING "<<<"
|
||||
|
||||
SELECT UNIQUE num_emp FROM adtb00021
|
||||
WHERE num_emp = acc_per.num_emp AND cod_par = 0 AND sec_par = 0
|
||||
WHERE num_emp = acc_per.num_emp AND ISNULL(cod_par,0) = 0 AND ISNULL(sec_par,0) = 0
|
||||
|
||||
IF STATUS = NOTFOUND THEN
|
||||
|
||||
@@ -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
|
||||
@@ -927,14 +1001,14 @@ FUNCTION adpcmf017()
|
||||
END IF
|
||||
|
||||
LET selec =
|
||||
"SELECT UNIQUE a.num_trx,a.cod_mto,a.cod_sol,convert(char(10),a.fecha,103), ",
|
||||
" CONVERT(CHAR(10),a.fech_efec,103),a.num_emp,a.departamento,a.nivel_emp,a.cod_puesto, ",
|
||||
"SELECT UNIQUE a.num_trx,a.cod_mto,a.cod_sol,a.fecha, ",
|
||||
" a.fech_efec,a.num_emp,a.departamento,a.nivel_emp,a.cod_puesto, ",
|
||||
" a.sueldo_ac,a.nomina,a.estado_civil,b.sexo,a.tipo_sangre, ",
|
||||
" a.sueldo_lq,a.observacion,a.num1_emp,a.departamento1, ",
|
||||
" a.nivel1_emp,a.cod1_puesto,a.num2_emp,a.departamento2, ",
|
||||
" a.nivel2_emp,a.cod2_puesto,a.num3_emp,a.departamento3, ",
|
||||
" a.nivel3_emp,a.cod3_puesto,c.cedula,a.us_crea,a.fech_crea,a.us_mod, ",
|
||||
" a.fech_mod,CASE a.status_t WHEN 'E' THEN 'ANULADO' ELSE 'ACTIVO' END, CONVERT(CHAR(10),c.fech_nac,103) ",
|
||||
" a.fech_mod,CASE a.status_t WHEN 'E' THEN 'ANULADO' ELSE 'ACTIVO' END, c.fech_nac ",
|
||||
"FROM adtb00020 a,adtb00003 c LEFT OUTER JOIN adtb00021 b ON b.num_emp = c.num_emp ",
|
||||
"WHERE a.num_emp = c.num_emp AND ",criterio clipped,
|
||||
" ORDER BY a.num_emp"
|
||||
@@ -1506,7 +1580,7 @@ FUNCTION adpcmf017()
|
||||
END IF
|
||||
|
||||
UPDATE adtb00021 SET sexo = acc_per.sexo WHERE num_emp = acc_per.num_emp
|
||||
AND cod_par = 0 AND sec_par=0
|
||||
AND ISNULL(cod_par,0) = 0 AND ISNULL(sec_par,0) = 0
|
||||
UPDATE adtb00017 SET departamento = acc_per.departamento,
|
||||
nivel_emp = acc_per.nivel_emp,
|
||||
cod_puesto = acc_per.cod_puesto,
|
||||
@@ -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)
|
||||
@@ -1588,7 +1668,7 @@ FUNCTION desplegar()
|
||||
SELECT b.departamento,b.nivel_emp,b.cod_puesto,b.nom1_emp,
|
||||
b.nom2_emp,b.apell1_emp,b.apell2_emp,b.sueldo_ac,
|
||||
b.nomina,b.estado_civil,b.tipo_sangre,
|
||||
b.cedula,b.cuenta_no,CONVERT(char(10),b.fech_efec,103),
|
||||
b.cedula,b.cuenta_no,b.fech_efec,
|
||||
b.sueldo_ac
|
||||
INTO acc_per.departamento,acc_per.nivel_emp,acc_per.cod_puesto,
|
||||
nombre9,nombre10,apellido9,apellido10,acc_per.sueldo_ac,
|
||||
@@ -1684,7 +1764,7 @@ nombre5 clipped," ",nombre6 clipped," ",apellido5 clipped," ",apellido6 clipped
|
||||
## DATOS VACACIONES
|
||||
IF xtipo = 'VACACIONES' THEN
|
||||
INITIALIZE vacacion.* TO NULL
|
||||
SELECT a.cod_mov,a.cod_mov2,a.num_dias_disfrute,CONVERT(CHAR(10),a.fecha_sal,103),CONVERT(CHAR(10),a.fecha_ent,103),
|
||||
SELECT a.cod_mov,a.cod_mov2,a.num_dias_disfrute,a.fecha_sal,a.fecha_ent,
|
||||
a.num_nomi,
|
||||
a.num_dias_disfrute,a.periodo,a.valor_vacaciones,a.num_dias_pagados,a.proporcion_vacaciones
|
||||
INTO vacacion.cod_mov1,vacacion.cod_mov2,vacacion.dias_vac,vacacion.fecha_sal,vacacion.fecha_ent,
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -1839,7 +1930,7 @@ FUNCTION vacaciones(operacion)
|
||||
LET salario_acumulado = 0
|
||||
IF vacacion.cod_mov1 = 36 THEN
|
||||
LET salario = 0
|
||||
SELECT CONVERT(CHAR(10),a.fech_efec,103),a.sueldo_ac INTO fecha_entrada_emp,salario
|
||||
SELECT a.fech_efec,a.sueldo_ac INTO fecha_entrada_emp,salario
|
||||
FROM adtb00003 a
|
||||
WHERE a.num_emp = acc_per.num_emp
|
||||
|
||||
@@ -1920,7 +2011,7 @@ FUNCTION vacaciones(operacion)
|
||||
END INPUT
|
||||
ELSE
|
||||
LET salario = 0
|
||||
SELECT CONVERT(CHAR(10),a.fech_efec,103),a.sueldo_ac INTO fecha_entrada_emp,salario
|
||||
SELECT a.fech_efec,a.sueldo_ac INTO fecha_entrada_emp,salario
|
||||
FROM adtb00003 a
|
||||
WHERE a.num_emp = acc_per.num_emp
|
||||
LET salario_quincenal = salario /2
|
||||
@@ -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
|
||||
@@ -2070,7 +2733,7 @@ ON EVERY ROW
|
||||
SELECT COUNT(*) INTO depende FROM adtb00013
|
||||
WHERE cod_sol = codigo_s AND cod_par = 4
|
||||
|
||||
SELECT a.cod_provincia,CONVERT(CHAR(10),a.fech_nac,103),a.cod_nac
|
||||
SELECT a.cod_provincia,a.fech_nac,a.cod_nac
|
||||
INTO cod_provincia,fecha_nac,codigo_n
|
||||
FROM adtb00012 a
|
||||
WHERE a.cod_sol = codigo_s
|
||||
@@ -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;
|
||||
@@ -30,8 +30,6 @@ MAIN
|
||||
CALL ARG_VAL(1) RETURNING usuarios
|
||||
CALL ARG_VAL(2) RETURNING clave
|
||||
CALL ARG_VAL(3) RETURNING impresor
|
||||
let usuarios = "kpolanco"
|
||||
let clave = "RevolutionX3"
|
||||
CONNECT to "smarmotech" USER usuarios USING clave
|
||||
SELECT a.* INTO p_companias.* FROM companias a
|
||||
CALL adprmt027()
|
||||
@@ -183,8 +181,8 @@ DEFINE elimina CHAR(3)
|
||||
|
||||
LET SELEC = " SELECT a.ano,a.num_emp,a.cod_puesto,a.nom1_emp,a.nom2_emp, ",
|
||||
" a.apell1_emp,a.apell2_emp, ",
|
||||
" a.cedula,a.serie,a.nomina,CONVERT(CHAR(10),a.fecha_ing,103), ",
|
||||
" a.nom_puesto,CONVERT(CHAR(10),a.fech_vac,103) ",
|
||||
" a.cedula,a.serie,a.nomina,a.fecha_ing, ",
|
||||
" a.nom_puesto,a.fech_vac ",
|
||||
" FROM vacaciones a ",
|
||||
" WHERE ",
|
||||
criterio clipped,
|
||||
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -809,27 +809,27 @@ analisiscotizaciones^mes^0^10^3^
|
||||
analisiscotizaciones^cotizacion_no^258^4^4^
|
||||
analisiscotizaciones^num_oc^2^4^5^
|
||||
analisiscotizaciones^estado^201^50^6^
|
||||
analisiscotizaciones^unidadescotizadas^5^9733^7^
|
||||
analisiscotizaciones^valorcotizado^5^9740^8^
|
||||
analisiscotizaciones^unidadescotizadas^5^8197^7^
|
||||
analisiscotizaciones^valorcotizado^5^8204^8^
|
||||
analisiscotizaciones^sub_total^261^3074^9^
|
||||
analisiscotizaciones^unidadesdespachadas^261^9733^10^
|
||||
analisiscotizaciones^valordespachado^261^9738^11^
|
||||
analisiscotizaciones^unidadesdespachadas^261^8197^10^
|
||||
analisiscotizaciones^valordespachado^261^8202^11^
|
||||
analisiscotizaciones^equipoventas^201^100^12^
|
||||
analisiscotizaciones^tasa^5^3075^13^
|
||||
analisiscotizaciones^vendedor^201^31^14^
|
||||
analisiscotizaciones^emailsupervisor^201^100^15^
|
||||
analisiscotizaciones^depachosautorizados^5^9733^16^
|
||||
analisiscotizaciones^depachosautorizados^5^8197^16^
|
||||
analisiscotizaciones_cdelacruz^ano^1^2^1^
|
||||
analisiscotizaciones_cdelacruz^numeromes^1^2^2^
|
||||
analisiscotizaciones_cdelacruz^mes^0^10^3^
|
||||
analisiscotizaciones_cdelacruz^cotizacion_no^258^4^4^
|
||||
analisiscotizaciones_cdelacruz^num_oc^2^4^5^
|
||||
analisiscotizaciones_cdelacruz^estado^201^50^6^
|
||||
analisiscotizaciones_cdelacruz^unidadescotizadas^5^9733^7^
|
||||
analisiscotizaciones_cdelacruz^valorcotizado^5^9740^8^
|
||||
analisiscotizaciones_cdelacruz^unidadescotizadas^5^8197^7^
|
||||
analisiscotizaciones_cdelacruz^valorcotizado^5^8204^8^
|
||||
analisiscotizaciones_cdelacruz^sub_total^261^3074^9^
|
||||
analisiscotizaciones_cdelacruz^unidadesdespachadas^261^9733^10^
|
||||
analisiscotizaciones_cdelacruz^valordespachado^261^9738^11^
|
||||
analisiscotizaciones_cdelacruz^unidadesdespachadas^261^8197^10^
|
||||
analisiscotizaciones_cdelacruz^valordespachado^261^8202^11^
|
||||
analisiscotizaciones_cdelacruz^equipoventas^201^100^12^
|
||||
analisiscotizaciones_cdelacruz^tasa^5^3075^13^
|
||||
analisiscotizaciones_cdelacruz^vendedor^201^31^14^
|
||||
@@ -840,11 +840,11 @@ analisiscotizaciones_jefrancisco^mes^0^10^3^
|
||||
analisiscotizaciones_jefrancisco^cotizacion_no^258^4^4^
|
||||
analisiscotizaciones_jefrancisco^num_oc^2^4^5^
|
||||
analisiscotizaciones_jefrancisco^estado^201^50^6^
|
||||
analisiscotizaciones_jefrancisco^unidadescotizadas^5^9733^7^
|
||||
analisiscotizaciones_jefrancisco^valorcotizado^5^9740^8^
|
||||
analisiscotizaciones_jefrancisco^unidadescotizadas^5^8197^7^
|
||||
analisiscotizaciones_jefrancisco^valorcotizado^5^8204^8^
|
||||
analisiscotizaciones_jefrancisco^sub_total^261^3074^9^
|
||||
analisiscotizaciones_jefrancisco^unidadesdespachadas^261^9733^10^
|
||||
analisiscotizaciones_jefrancisco^valordespachado^261^9738^11^
|
||||
analisiscotizaciones_jefrancisco^unidadesdespachadas^261^8197^10^
|
||||
analisiscotizaciones_jefrancisco^valordespachado^261^8202^11^
|
||||
analisiscotizaciones_jefrancisco^equipoventas^201^100^12^
|
||||
analisiscotizaciones_jefrancisco^tasa^5^3075^13^
|
||||
analisiscotizaciones_jefrancisco^vendedor^201^31^14^
|
||||
@@ -855,11 +855,11 @@ analisiscotizaciones_jisa^mes^0^10^3^
|
||||
analisiscotizaciones_jisa^cotizacion_no^258^4^4^
|
||||
analisiscotizaciones_jisa^num_oc^2^4^5^
|
||||
analisiscotizaciones_jisa^estado^201^50^6^
|
||||
analisiscotizaciones_jisa^unidadescotizadas^5^9733^7^
|
||||
analisiscotizaciones_jisa^valorcotizado^5^9740^8^
|
||||
analisiscotizaciones_jisa^unidadescotizadas^5^8197^7^
|
||||
analisiscotizaciones_jisa^valorcotizado^5^8204^8^
|
||||
analisiscotizaciones_jisa^sub_total^261^3074^9^
|
||||
analisiscotizaciones_jisa^unidadesdespachadas^261^9733^10^
|
||||
analisiscotizaciones_jisa^valordespachado^261^9738^11^
|
||||
analisiscotizaciones_jisa^unidadesdespachadas^261^8197^10^
|
||||
analisiscotizaciones_jisa^valordespachado^261^8202^11^
|
||||
analisiscotizaciones_jisa^equipoventas^201^100^12^
|
||||
analisiscotizaciones_jisa^tasa^5^3075^13^
|
||||
analisiscotizaciones_jisa^vendedor^201^31^14^
|
||||
@@ -870,11 +870,11 @@ analisiscotizaciones_mhurtado^mes^0^10^3^
|
||||
analisiscotizaciones_mhurtado^cotizacion_no^258^4^4^
|
||||
analisiscotizaciones_mhurtado^num_oc^2^4^5^
|
||||
analisiscotizaciones_mhurtado^estado^201^50^6^
|
||||
analisiscotizaciones_mhurtado^unidadescotizadas^5^9733^7^
|
||||
analisiscotizaciones_mhurtado^valorcotizado^5^9740^8^
|
||||
analisiscotizaciones_mhurtado^unidadescotizadas^5^8197^7^
|
||||
analisiscotizaciones_mhurtado^valorcotizado^5^8204^8^
|
||||
analisiscotizaciones_mhurtado^sub_total^261^3074^9^
|
||||
analisiscotizaciones_mhurtado^unidadesdespachadas^261^9733^10^
|
||||
analisiscotizaciones_mhurtado^valordespachado^261^9738^11^
|
||||
analisiscotizaciones_mhurtado^unidadesdespachadas^261^8197^10^
|
||||
analisiscotizaciones_mhurtado^valordespachado^261^8202^11^
|
||||
analisiscotizaciones_mhurtado^equipoventas^201^100^12^
|
||||
analisiscotizaciones_mhurtado^tasa^5^3075^13^
|
||||
analisiscotizaciones_mhurtado^vendedor^201^31^14^
|
||||
@@ -885,11 +885,11 @@ analisiscotizaciones_mpuig^mes^0^10^3^
|
||||
analisiscotizaciones_mpuig^cotizacion_no^258^4^4^
|
||||
analisiscotizaciones_mpuig^num_oc^2^4^5^
|
||||
analisiscotizaciones_mpuig^estado^201^50^6^
|
||||
analisiscotizaciones_mpuig^unidadescotizadas^5^9733^7^
|
||||
analisiscotizaciones_mpuig^valorcotizado^5^9740^8^
|
||||
analisiscotizaciones_mpuig^unidadescotizadas^5^8197^7^
|
||||
analisiscotizaciones_mpuig^valorcotizado^5^8204^8^
|
||||
analisiscotizaciones_mpuig^sub_total^261^3074^9^
|
||||
analisiscotizaciones_mpuig^unidadesdespachadas^261^9733^10^
|
||||
analisiscotizaciones_mpuig^valordespachado^261^9738^11^
|
||||
analisiscotizaciones_mpuig^unidadesdespachadas^261^8197^10^
|
||||
analisiscotizaciones_mpuig^valordespachado^261^8202^11^
|
||||
analisiscotizaciones_mpuig^equipoventas^201^100^12^
|
||||
analisiscotizaciones_mpuig^tasa^5^3075^13^
|
||||
analisiscotizaciones_mpuig^vendedor^201^31^14^
|
||||
@@ -900,11 +900,11 @@ analisiscotizaciones_mvargas^mes^0^10^3^
|
||||
analisiscotizaciones_mvargas^cotizacion_no^258^4^4^
|
||||
analisiscotizaciones_mvargas^num_oc^2^4^5^
|
||||
analisiscotizaciones_mvargas^estado^201^50^6^
|
||||
analisiscotizaciones_mvargas^unidadescotizadas^5^9733^7^
|
||||
analisiscotizaciones_mvargas^valorcotizado^5^9740^8^
|
||||
analisiscotizaciones_mvargas^unidadescotizadas^5^8197^7^
|
||||
analisiscotizaciones_mvargas^valorcotizado^5^8204^8^
|
||||
analisiscotizaciones_mvargas^sub_total^261^3074^9^
|
||||
analisiscotizaciones_mvargas^unidadesdespachadas^261^9733^10^
|
||||
analisiscotizaciones_mvargas^valordespachado^261^9738^11^
|
||||
analisiscotizaciones_mvargas^unidadesdespachadas^261^8197^10^
|
||||
analisiscotizaciones_mvargas^valordespachado^261^8202^11^
|
||||
analisiscotizaciones_mvargas^equipoventas^201^100^12^
|
||||
analisiscotizaciones_mvargas^tasa^5^3075^13^
|
||||
analisiscotizaciones_mvargas^vendedor^201^31^14^
|
||||
@@ -5458,9 +5458,9 @@ product_collection^descripcion^201^255^2^
|
||||
productosdelta^codigomarmotech^201^45^1^
|
||||
productosdelta^descrip_esp^457^180^2^
|
||||
productosdelta^nomenclatura^201^50^3^
|
||||
productosdelta^cantidadvendida^261^9733^4^
|
||||
productosdelta^cantidadvendida^261^8197^4^
|
||||
productosdelta^ultimaentrada^7^4^5^
|
||||
productosdelta^existencia^5^9733^6^
|
||||
productosdelta^existencia^5^8197^6^
|
||||
productosprecioscostosstdcostolq^ano^1^2^1^
|
||||
productosprecioscostosstdcostolq^clase^258^4^2^
|
||||
productosprecioscostosstdcostolq^grupo^258^4^3^
|
||||
@@ -5476,7 +5476,7 @@ productosprecioscostosstdcostolq^material^5^3076^12^
|
||||
productosprecioscostosstdcostolq^labor^5^3076^13^
|
||||
productosprecioscostosstdcostolq^gastos^5^3076^14^
|
||||
productosprecioscostosstdcostolq^fecha_lq^7^4^15^
|
||||
productosprecioscostosstdcostolq^costoliquidacion^5^9734^16^
|
||||
productosprecioscostosstdcostolq^costoliquidacion^5^8198^16^
|
||||
productosprecioscostosstdcostolq^numero_mes^1^2^17^
|
||||
productosprecioscostosstdcostolq^ventas^0^1^18^
|
||||
productosprecioscostosstdcostolq^proveedor^201^41^19^
|
||||
@@ -6117,10 +6117,10 @@ rotacioniventario^codclase^2^4^10^
|
||||
rotacioniventario^codgrupo^2^4^11^
|
||||
rotacioniventario^codtipo^2^4^12^
|
||||
rotacioniventario^codmedida^2^4^13^
|
||||
rotacioniventario^costoventas^5^9737^14^
|
||||
rotacioniventario^existencia^5^9734^15^
|
||||
rotacioniventario^costoinventario^5^9737^16^
|
||||
rotacioniventario^cantidadvendida^5^9734^17^
|
||||
rotacioniventario^costoventas^5^8201^14^
|
||||
rotacioniventario^existencia^5^8198^15^
|
||||
rotacioniventario^costoinventario^5^8201^16^
|
||||
rotacioniventario^cantidadvendida^5^8198^17^
|
||||
rotacioniventario^categoria^201^100^18^
|
||||
seg0000^id_number^1^2^1^
|
||||
seg0000^usuario^256^40^2^
|
||||
@@ -8654,8 +8654,8 @@ ventas_clientes^ciudad^0^30^5^
|
||||
ventas_clientes^cliente^256^100^6^
|
||||
ventas_clientes^tipo_cliente^257^2^7^
|
||||
ventas_clientes^sec_cliente^258^4^8^
|
||||
ventas_clientes^venta^5^9730^9^
|
||||
ventas_clientes^costo^5^9737^10^
|
||||
ventas_clientes^venta^5^8194^9^
|
||||
ventas_clientes^costo^5^8201^10^
|
||||
ventas_clientes^nombre_provincia^0^30^11^
|
||||
ventas_clientes^descrip^0^30^12^
|
||||
ventas_clientes^calle^0^100^13^
|
||||
@@ -8671,9 +8671,9 @@ ventas_facturas^fecha^7^4^8^
|
||||
ventas_facturas^documento^258^4^9^
|
||||
ventas_facturas^moneda^201^40^10^
|
||||
ventas_facturas^ano^1^2^11^
|
||||
ventas_facturas^monto_bruto^5^9736^12^
|
||||
ventas_facturas^descuento^5^9734^13^
|
||||
ventas_facturas^neto^5^9734^14^
|
||||
ventas_facturas^monto_bruto^5^8200^12^
|
||||
ventas_facturas^descuento^5^8198^13^
|
||||
ventas_facturas^neto^5^8198^14^
|
||||
ventas_facturas^clase^0^30^15^
|
||||
ventas_facturas^tipo^201^30^16^
|
||||
ventas_facturas^grupo^0^30^17^
|
||||
@@ -9844,8 +9844,8 @@ vwcobros^ficha^257^2^1^
|
||||
vwcobros^primernombre^0^15^2^
|
||||
vwcobros^primerapellido^0^15^3^
|
||||
vwcobros^tipocobro^201^40^4^
|
||||
vwcobros^valor^5^9730^5^
|
||||
vwcobros^valorrd^5^9732^6^
|
||||
vwcobros^valor^5^8194^5^
|
||||
vwcobros^valorrd^5^8196^6^
|
||||
vwcobros^ano^1^2^7^
|
||||
vwcobros^numero_mes^1^2^8^
|
||||
vwcobros^nombremes^0^10^9^
|
||||
@@ -9900,7 +9900,7 @@ vwcodigosnuevos^cod_n^257^2^16^
|
||||
vwcodigosnuevos^cod_grupo^257^2^17^
|
||||
vwcodigosnuevos^cod_tipo^257^2^18^
|
||||
vwcodigosnuevos^cod_sec^257^2^19^
|
||||
vwcodigosnuevos^existencia^5^9733^20^
|
||||
vwcodigosnuevos^existencia^5^8197^20^
|
||||
vwcomisiones^tipoventas^0^30^1^
|
||||
vwcomisiones^tipo_cliente^1^2^2^
|
||||
vwcomisiones^sec_cliente^2^4^3^
|
||||
@@ -9956,8 +9956,8 @@ vwcompras^documetorecepcion^2^4^19^
|
||||
vwcompras^fecharecepcion^10^4365^20^
|
||||
vwcompras^departamento^0^30^21^
|
||||
vwcompras^grupo^201^30^22^
|
||||
vwcompras^existencia^261^9733^23^
|
||||
vwcompras^consumo^261^9733^24^
|
||||
vwcompras^existencia^261^8197^23^
|
||||
vwcompras^consumo^261^8197^24^
|
||||
vwcompras^costoliquidacion^5^3076^25^
|
||||
vwcompras^descripcionmoneda^0^30^26^
|
||||
vwcompras^simbolomoneda^0^4^27^
|
||||
@@ -10295,7 +10295,7 @@ vwipprodtermusuario^cantidad2^261^3077^18^
|
||||
vwipprodtermusuario^producto^0^30^19^
|
||||
vwipprodtermusuario^bodega^201^30^20^
|
||||
vwipprodtermusuario^costo_std^5^4614^21^
|
||||
vwipprodtermusuario^cantidadorden^261^9733^22^
|
||||
vwipprodtermusuario^cantidadorden^261^8197^22^
|
||||
vwiptiposmov^codigo^257^2^1^
|
||||
vwiptiposmov^descripcion^256^40^2^
|
||||
vwiptiposmov^origen^201^8^3^
|
||||
@@ -10343,7 +10343,7 @@ vwmatprima^mes^0^10^20^
|
||||
vwmatprima^depto_a^1^2^21^
|
||||
vwmatprima^nom_dpto^0^30^22^
|
||||
vwmatprima^origen^457^8^23^
|
||||
vwmatprima^existencia^5^9730^24^
|
||||
vwmatprima^existencia^5^8194^24^
|
||||
vwmatprima_scosto^cod_n^257^2^1^
|
||||
vwmatprima_scosto^cod_grupo^257^2^2^
|
||||
vwmatprima_scosto^cod_tipo^257^2^3^
|
||||
@@ -10365,7 +10365,7 @@ vwmatprima_scosto^mes^0^10^18^
|
||||
vwmatprima_scosto^depto_a^1^2^19^
|
||||
vwmatprima_scosto^nom_dpto^0^30^20^
|
||||
vwmatprima_scosto^origen^457^8^21^
|
||||
vwmatprima_scosto^existencia^5^9730^22^
|
||||
vwmatprima_scosto^existencia^5^8194^22^
|
||||
vwmatprimausuario^cod_n^257^2^1^
|
||||
vwmatprimausuario^cod_grupo^257^2^2^
|
||||
vwmatprimausuario^cod_tipo^257^2^3^
|
||||
@@ -10389,7 +10389,7 @@ vwmatprimausuario^mes^0^10^20^
|
||||
vwmatprimausuario^depto_a^1^2^21^
|
||||
vwmatprimausuario^nom_dpto^0^30^22^
|
||||
vwmatprimausuario^origen^457^8^23^
|
||||
vwmatprimausuario^existencia^5^9730^24^
|
||||
vwmatprimausuario^existencia^5^8194^24^
|
||||
vwordenescocinas^cod_n^1^2^1^
|
||||
vwordenescocinas^num_oc^258^4^2^
|
||||
vwordenescocinas^fecha_oc^263^4^3^
|
||||
@@ -10429,12 +10429,12 @@ vwordenesdespachadasc^producto^457^180^10^
|
||||
vwordenesdespachadasc^cantidad^5^3077^11^
|
||||
vwordenesdespachadasc^porc_desc^5^3586^12^
|
||||
vwordenesdespachadasc^precio^5^3074^13^
|
||||
vwordenesdespachadasc^valorbruto^5^9738^14^
|
||||
vwordenesdespachadasc^descuento^5^9734^15^
|
||||
vwordenesdespachadasc^valorneto^5^9734^16^
|
||||
vwordenesdespachadasc^valorbruto^5^8202^14^
|
||||
vwordenesdespachadasc^descuento^5^8198^15^
|
||||
vwordenesdespachadasc^valorneto^5^8198^16^
|
||||
vwordenesdespachadasc^porc_comision^5^3076^17^
|
||||
vwordenesdespachadasc^ano^1^2^18^
|
||||
vwordenesdespachadasc^comision^5^9734^19^
|
||||
vwordenesdespachadasc^comision^5^8198^19^
|
||||
vwprecios^descripcion^201^40^1^
|
||||
vwprecios^cod_n^257^2^2^
|
||||
vwprecios^cod_grupo^257^2^3^
|
||||
@@ -10480,9 +10480,9 @@ vwprodterm_scosto^departamento^2^4^33^
|
||||
vwprodterm_scosto^num_oc^2^4^34^
|
||||
vwprodterm_scosto^precio^5^2562^35^
|
||||
vwprodterm_scosto^descuento^5^2562^36^
|
||||
vwprodterm_scosto^valorbrutord^5^9226^37^
|
||||
vwprodterm_scosto^expr1^5^9734^38^
|
||||
vwprodterm_scosto^netord^5^9734^39^
|
||||
vwprodterm_scosto^valorbrutord^5^8202^37^
|
||||
vwprodterm_scosto^expr1^5^8198^38^
|
||||
vwprodterm_scosto^netord^5^8198^39^
|
||||
vwprodterm_scosto^tasa^5^3075^40^
|
||||
vwproduccion^ano^1^2^1^
|
||||
vwproduccion^dia^0^20^2^
|
||||
@@ -10570,11 +10570,11 @@ vwproducciont^cod_tipo^2^4^13^
|
||||
vwproducciont^cod_sec^2^4^14^
|
||||
vwproducciont^descripcionp^457^180^15^
|
||||
vwproducciont^unidadmed^0^4^16^
|
||||
vwproducciont^unidades^5^9733^17^
|
||||
vwproducciont^cantidad^5^9733^18^
|
||||
vwproducciont^unidades^5^8197^17^
|
||||
vwproducciont^cantidad^5^8197^18^
|
||||
vwproducciont^ano^1^2^19^
|
||||
vwproducciont^mes^201^14^20^
|
||||
vwproducciont^metrosadicionales^5^9738^21^
|
||||
vwproducciont^metrosadicionales^5^8202^21^
|
||||
vwproducciont^bodega^1^2^22^
|
||||
vwproductos^descrip_esp^256^80^1^
|
||||
vwproductos^cod_sec^257^2^2^
|
||||
@@ -10589,7 +10589,7 @@ vwproductos^tipo^201^30^10^
|
||||
vwproductos^grupo^0^30^11^
|
||||
vwproductos^origen^0^20^12^
|
||||
vwproductos^expr1^0^30^13^
|
||||
vwproductosprecioscostos^existencia^5^9733^1^
|
||||
vwproductosprecioscostos^existencia^5^8197^1^
|
||||
vwproductosprecioscostos^almacen^201^30^2^
|
||||
vwproductosprecioscostos^descripcionproducto^457^180^3^
|
||||
vwproductosprecioscostos^unidadmedida^0^4^4^
|
||||
@@ -10679,23 +10679,23 @@ vwptventasgral^pventas^1^2^48^
|
||||
vwptventasgral^grupo^0^100^49^
|
||||
vwreportesfactura_cdelacruz^mes^0^10^1^
|
||||
vwreportesfactura_cdelacruz^moneda^201^40^2^
|
||||
vwreportesfactura_cdelacruz^valor_bruto^5^9734^3^
|
||||
vwreportesfactura_cdelacruz^devolucion^5^9734^4^
|
||||
vwreportesfactura_cdelacruz^valor_neto^5^9734^5^
|
||||
vwreportesfactura_cdelacruz^valor_bruto^5^8198^3^
|
||||
vwreportesfactura_cdelacruz^devolucion^5^8198^4^
|
||||
vwreportesfactura_cdelacruz^valor_neto^5^8198^5^
|
||||
vwreportesfactura_cdelacruz^numero_mes^1^2^6^
|
||||
vwreportesfactura_cdelacruz^idventas^201^1^7^
|
||||
vwreportesfactura_jisa^mes^0^10^1^
|
||||
vwreportesfactura_jisa^moneda^201^40^2^
|
||||
vwreportesfactura_jisa^valor_bruto^5^9734^3^
|
||||
vwreportesfactura_jisa^devolucion^5^9734^4^
|
||||
vwreportesfactura_jisa^valor_neto^5^9734^5^
|
||||
vwreportesfactura_jisa^valor_bruto^5^8198^3^
|
||||
vwreportesfactura_jisa^devolucion^5^8198^4^
|
||||
vwreportesfactura_jisa^valor_neto^5^8198^5^
|
||||
vwreportesfactura_jisa^numero_mes^1^2^6^
|
||||
vwreportesfactura_jisa^idventas^201^1^7^
|
||||
vwreportesfactura_mpuig^mes^0^10^1^
|
||||
vwreportesfactura_mpuig^moneda^201^40^2^
|
||||
vwreportesfactura_mpuig^valor_bruto^5^9734^3^
|
||||
vwreportesfactura_mpuig^devolucion^5^9734^4^
|
||||
vwreportesfactura_mpuig^valor_neto^5^9734^5^
|
||||
vwreportesfactura_mpuig^valor_bruto^5^8198^3^
|
||||
vwreportesfactura_mpuig^devolucion^5^8198^4^
|
||||
vwreportesfactura_mpuig^valor_neto^5^8198^5^
|
||||
vwreportesfactura_mpuig^numero_mes^1^2^6^
|
||||
vwreportesfactura_mpuig^idventas^201^1^7^
|
||||
vwrepuestos^tipoinventario^457^10^1^
|
||||
@@ -10740,7 +10740,7 @@ vwrequisicionesautorizadas^numeroorden^258^4^7^
|
||||
vwrequisicionesautorizadas^tipoventa^201^40^8^
|
||||
vwrequisicionesautorizadas^cliente^201^110^9^
|
||||
vwrequisicionesautorizadas^valor_cotizacion^261^3074^10^
|
||||
vwrequisicionesautorizadas^valorrequisicion^5^9730^11^
|
||||
vwrequisicionesautorizadas^valorrequisicion^5^8194^11^
|
||||
vwrequisicionesautorizadas^codigovendedor^257^2^12^
|
||||
vwrequisicionesautorizadas^tipocliente^257^2^13^
|
||||
vwrequisicionesautorizadas^codigocliente^257^2^14^
|
||||
@@ -10766,7 +10766,7 @@ vwretrabajo^cod_sec^2^4^12^
|
||||
vwretrabajo^cliente^0^100^13^
|
||||
vwretrabajo^vendedor^457^31^14^
|
||||
vwretrabajo^cantidaddevuelta^5^3077^15^
|
||||
vwretrabajo^valorbruto^5^9738^16^
|
||||
vwretrabajo^valorbruto^5^8202^16^
|
||||
vwretrabajo^mes^0^10^17^
|
||||
vwretrabajo^numero_mes^1^2^18^
|
||||
vwretrabajo^numerodocumentoalmacen^2^4^19^
|
||||
@@ -10852,7 +10852,7 @@ vwvaloresordenes^ano^1^2^2^
|
||||
vwvaloresordenes^numeromes^1^2^3^
|
||||
vwvaloresordenes^mes^0^10^4^
|
||||
vwvaloresordenes^moneda^201^40^5^
|
||||
vwvaloresordenes^valor^5^9737^6^
|
||||
vwvaloresordenes^valor^5^8201^6^
|
||||
vwvaloresordenes^tasa^5^3075^7^
|
||||
vwventas^origen1^1^2^1^
|
||||
vwventas^descventas^201^40^2^
|
||||
@@ -10861,8 +10861,8 @@ vwventas^producto^0^30^4^
|
||||
vwventas^descripcion^201^30^5^
|
||||
vwventas^valorbruto^5^6407^6^
|
||||
vwventas^porc_itbis^261^2310^7^
|
||||
vwventas^descuento^261^9735^8^
|
||||
vwventas^subtotal^261^9734^9^
|
||||
vwventas^descuento^261^8199^8^
|
||||
vwventas^subtotal^261^8198^9^
|
||||
vwventas^factura^2^4^10^
|
||||
vwventas^cond_pago^1^2^11^
|
||||
vwventas^fecha_factura^7^4^12^
|
||||
|
||||
|
Before Width: | Height: | Size: 304 KiB |
|
Before Width: | Height: | Size: 12 KiB |
@@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<DeclaracionJurada xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||
<DetalleGeneral>Los CONTRIBUYENTES, RESPONSABLES Y TERCEROS MANDATARIOS aceptan y acuerdan estar legalmente obligados a cumplir con las condiciones establecidas por la legislacion o cualquier normativa vigente, asi como por la DIRECCION GENERAL DE IMPUESTOS INTERNOS (DGII), para la emision y uso de los Comprobantes Fiscales Electronicos (e-CF). Estas condiciones constituyen un contrato vinculante entre el CONTRIBUYENTE, RESPONSABLE Y TERCERO MANDATARIO, asi como tambien entre estos y la DGII. Si usted es RESPONSABLE O TERCERO MANDATARIO declara estar debidamente autorizado para representar al CONTRIBUYENTE, respecto del cual se verifica el hecho generador de la obligacion tributaria. Adicionalmente, acepta que los CONTRIBUYENTES, RESPONSABLES Y TERCEROS MANDATARIOS son responsables solidarios del uso de los e - CF y de las informaciones contenidas en los mismos, asi como de cualquier consecuencia legal o comercial derivada, directa o indirectamente de dicho uso. En ese orden, es deber de estos conocer y manejar el modelo de facturacion electronica definido por la DGII y las condiciones necesarias para que un e -CF sea valido. Asimismo, los CONTRIBUYENTES, RESPONSABLES Y TERCEROS MANDATARIOS estan obligados a utilizar un certificado de firma digital para poder emitir e-CF, los cuales deben estar debidamente acreditados por una entidad certificadora autorizada por el Instituto Dominicano de las Telecomunicaciones(INDOTEL) y la normativa vigente.</DetalleGeneral>
|
||||
</DeclaracionJurada>
|
||||
@@ -1,4 +0,0 @@
|
||||
Date: 12/11/2024 Time: 10:34:41
|
||||
Program error at 'cgprmt022.4gl', line number 18.
|
||||
SQL statement error number -6319 (-1).
|
||||
Internal error in the database library. Set FGLSQLDEBUG to get more details.
|
||||
@@ -1,66 +0,0 @@
|
||||
|
||||
|
||||
P MARMOTECH S. A.
|
||||
CALLE CENTRAL, MADRE VIEJA NORTE, SAN CRISTOBAL
|
||||
Tels : (809)528-0650 Fax : (809)-528-0640
|
||||
RNC : 101-52126-2 Pag. 1
|
||||
|
||||
PESENORES :
|
||||
NESTOR MONTERO COD.#21-0000066
|
||||
HAINA, 809-517-4745
|
||||
SAN CRISTOBAL RNC #09300230456 FACTURA 83746
|
||||
.
|
||||
NCF: A010010010100050864
|
||||
FACTURAS QUE GENERAN CREDITOS Y/O SUSTENTAN COSTOS Y GASTOS
|
||||
|
||||
=======================================================================================================================================
|
||||
SALIDA ORDEN FECHA CONDICION VENDEDOR COTIZACION FECHA FACTURA
|
||||
068130 109104 15/01/2018 CONTADO (4061) 117809 10/02/2018
|
||||
=======================================================================================================================================
|
||||
CODIGO CANTIDAD UNIDADES DESCRIPCION PRECIO DESC. TOTAL
|
||||
=======================================================================================================================================
|
||||
0006-0090-0001-0002 6.528 M2 7 PLANCHA CHAMPAGNE BROWN PULIDO 2 CM 1,454.080 .00 9,492.23
|
||||
|
||||
VALOR BRUTO 9,492.23
|
||||
SUB-TOTAL RD$ 9,492.23
|
||||
18.00% ITBIS 1,708.60
|
||||
--------------
|
||||
VALOR NETO RD$ 11,200.83
|
||||
==============
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
M
|
||||
OBSERVACIONES:
|
||||
|
||||
|
||||
|
||||
NOMBRE TRANSPORTISTA: CEDULA: 000000000 SERIE: 000
|
||||
PLACA DEL VEHICULO:
|
||||
|
||||
|
||||
|
||||
------------------------------- -------------------------------
|
||||
FACTURADO POR REVISADO POR
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<Form database_name="formonly" fourSTFile="" gstVersion="15a01" height="12" name="Form1" posX="0" posY="0" text="Configuration" width="59">
|
||||
<Grid fontPitch="default" height="11" hidden="--------" lstrcomment="false" name="gr2" posX="2" posY="0" width="54">
|
||||
<Label color="black" colorCondition="black" commentgroup="" flag_text_changed="TRUE" fontPitch="default" format="" geometry="" height="1" hidden="--------" justify="right" lstrcomment="false" lstrtext="false" miscellaneous="" name="lb1" posX="1" posY="0" sample="" sizePolicy="initial" style="" text="Reporte" width="9"/>
|
||||
<FormField colName="r_action" data_type="--------" fieldType="FORM_ONLY" name="" repeatDetails="" sqlTabName="formonly">
|
||||
<RadioGroup color="black" colorCondition="black" commentgroup="" constraints="" data_type="--------" defaultValue="preview" fontPitch="default" formfieldname="formfield2" geometry="" height="2" hidden="--------" items="" lstrcomment="false" miscellaneous="" name="r_action" noEntry="--------" notNull="--------" orientation="vertical" posX="16" posY="7" repeatDetails="" required="--------" sizePolicy="initial" sortItem="" style="" tabIndex="2" width="10">
|
||||
<Item lstrtext="" name="preview" text="Preview"/>
|
||||
<Item lstrtext="false" name="save" text="Save On Disk"/>
|
||||
</RadioGroup>
|
||||
</FormField>
|
||||
<Label color="black" colorCondition="black" commentgroup="" flag_text_changed="TRUE" fontPitch="default" format="" geometry="" height="1" hidden="--------" justify="right" lstrcomment="false" lstrtext="false" miscellaneous="" name="lb3" posX="1" posY="7" sample="" sizePolicy="initial" style="" text="Accion" width="9"/>
|
||||
<Label color="black" colorCondition="black" commentgroup="" flag_text_changed="TRUE" fontPitch="default" format="" geometry="" height="1" hidden="--------" justify="right" lstrcomment="false" lstrtext="false" miscellaneous="" name="lb2" posX="1" posY="2" sample="" sizePolicy="initial" style="" text="Salida Reporte" width="9"/>
|
||||
<FormField colName="r_output" data_type="--------" fieldType="FORM_ONLY" name="" repeatDetails="" sqlTabName="formonly">
|
||||
<RadioGroup color="black" colorCondition="black" commentgroup="" constraints="" data_type="--------" defaultValue="PDF" fontPitch="default" formfieldname="formfield1" geometry="" height="3" hidden="--------" items="" lstrcomment="false" miscellaneous="" name="r_output" noEntry="--------" notNull="--------" orientation="vertical" posX="16" posY="2" repeatDetails="" required="--------" sizePolicy="initial" style="" tabIndex="1" width="5">
|
||||
<Item lstrtext="false" name="Image" text="Image"/>
|
||||
<Item lstrtext="" name="PDF" text="PDF"/>
|
||||
<Item lstrtext="false" name="SCREEN" text="SVG"/>
|
||||
</RadioGroup>
|
||||
</FormField>
|
||||
<HLine geometry1="" height="1" name="hl2" posX="1" posY="1" repeatDetails="" width="50"/>
|
||||
<HLine geometry1="" height="1" name="hl2_1" posX="1" posY="5" repeat="true" repeatDetails="" width="50"/>
|
||||
<FormField colName="r_filename" data_type="--------" fieldType="FORM_ONLY" hrecindex="-1" name="" repeatDetails="" sqlTabName="formonly">
|
||||
<ComboBox case="NONE" color="black" colorCondition="black" commentgroup="" constraints="" data_type="--------" defaultValue="ListDemo" fontPitch="default" formfieldname="formfield0" geometry1="" height="1" hidden="--------" initializer="" items="" lstrcomment="false" miscellaneous="" name="r_filename" noEntry="--------" notNull="--------" posX="16" posY="0" queryEditable="--------" required="--------" sample="" scroll="--------" sizePolicy="fixed" sortItem="" style="" tabIndex="3" width="34">
|
||||
<Item lstrtext="false" name="veprrp049" text="Cotizacion"/>
|
||||
</ComboBox>
|
||||
</FormField>
|
||||
</Grid>
|
||||
</Form>
|
||||
|
Before Width: | Height: | Size: 137 KiB |
|
Before Width: | Height: | Size: 280 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 179 KiB |
|
Before Width: | Height: | Size: 179 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 272 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 272 KiB |
|
Before Width: | Height: | Size: 171 KiB |
|
Before Width: | Height: | Size: 5.3 KiB |
|
Before Width: | Height: | Size: 93 KiB |
|
Before Width: | Height: | Size: 128 KiB |
@@ -1,87 +0,0 @@
|
||||
<?xml version="1.0" encoding="ANSI_X3.4-1968"?>
|
||||
<StyleList>
|
||||
<Style name="Window">
|
||||
<StyleAttribute name="windowType" value="normal" />
|
||||
</Style>
|
||||
<Style name="Window.main">
|
||||
<StyleAttribute name="windowType" value="normal" />
|
||||
<StyleAttribute name="startMenuPosition" value="menu" />
|
||||
</Style>
|
||||
<Style name="Window.main-mbs">
|
||||
<StyleAttribute name="position" value="center" />
|
||||
<StyleAttribute name="windowType" value="normal" />
|
||||
<StyleAttribute name="actionPanelPosition" value="none" />
|
||||
<StyleAttribute name="ringMenuPosition" value="none" />
|
||||
<StyleAttribute name="statusBarType" value="none" />
|
||||
</Style>
|
||||
<Style name="Window.dialog">
|
||||
<StyleAttribute name="windowType" value="modal" />
|
||||
<StyleAttribute name="sizable" value="no" />
|
||||
<StyleAttribute name="position" value="center" />
|
||||
<StyleAttribute name="actionPanelPosition" value="bottom" />
|
||||
<StyleAttribute name="ringMenuPosition" value="bottom" />
|
||||
<StyleAttribute name="toolBarPosition" value="none" />
|
||||
<StyleAttribute name="statusBarType" value="none" />
|
||||
<StyleAttribute name="errorMessagePosition" value="popup" />
|
||||
</Style>
|
||||
<Style name="Window.dialog2">
|
||||
<StyleAttribute name="windowType" value="modal" />
|
||||
<StyleAttribute name="sizable" value="no" />
|
||||
<StyleAttribute name="position" value="center" />
|
||||
<StyleAttribute name="actionPanelPosition" value="none" />
|
||||
<StyleAttribute name="ringMenuPosition" value="none" />
|
||||
<StyleAttribute name="toolBarPosition" value="none" />
|
||||
<StyleAttribute name="statusBarType" value="none" />
|
||||
<StyleAttribute name="errorMessagePosition" value="popup" />
|
||||
</Style>
|
||||
<Style name="Window.dialog3">
|
||||
<StyleAttribute name="windowType" value="modal" />
|
||||
<StyleAttribute name="sizable" value="yes" />
|
||||
<StyleAttribute name="toolBarPosition" value="none" />
|
||||
<StyleAttribute name="actionPanelPosition" value="none" />
|
||||
<StyleAttribute name="ringMenuPosition" value="none" />
|
||||
<StyleAttribute name="statusBarType" value="none" />
|
||||
<StyleAttribute name="errorMessagePosition" value="popup" />
|
||||
</Style>
|
||||
<Style name="Window.dialog4">
|
||||
<StyleAttribute name="windowType" value="modal" />
|
||||
<StyleAttribute name="sizable" value="yes" />
|
||||
<StyleAttribute name="actionPanelPosition" value="bottom" />
|
||||
<StyleAttribute name="ringMenuPosition" value="none" />
|
||||
<StyleAttribute name="statusBarType" value="none" />
|
||||
<StyleAttribute name="errorMessagePosition" value="popup" />
|
||||
</Style>
|
||||
<Style name="Window.naked">
|
||||
<StyleAttribute name="windowType" value="modal" />
|
||||
<StyleAttribute name="border" value="tool" />
|
||||
<StyleAttribute name="actionPanelPosition" value="none" />
|
||||
<StyleAttribute name="ringMenuPosition" value="none" />
|
||||
<StyleAttribute name="toolBarPosition" value="none" />
|
||||
<StyleAttribute name="statusBarType" value="none" />
|
||||
</Style>
|
||||
<Style name="Window.viewer">
|
||||
<StyleAttribute name="windowType" value="modal" />
|
||||
<StyleAttribute name="windowSystemMenu" value="yes" />
|
||||
<StyleAttribute name="windowOptionMinimize" value="no" />
|
||||
<StyleAttribute name="windowOptionMaximize" value="no" />
|
||||
<StyleAttribute name="sizable" value="yes" />
|
||||
<StyleAttribute name="actionPanelPosition" value="none" />
|
||||
<StyleAttribute name="ringMenuPosition" value="none" />
|
||||
<StyleAttribute name="toolBarPosition" value="none" />
|
||||
<StyleAttribute name="statusBarType" value="none" />
|
||||
</Style>
|
||||
<Style name="Label:title">
|
||||
<StyleAttribute name="fontSize" value="xx-large" />
|
||||
<StyleAttribute name="fontFamily" value="sans-serif" />
|
||||
<StyleAttribute name="textDecoration" value="underline" />
|
||||
</Style>
|
||||
<Style name="Table:focus">
|
||||
<StyleAttribute name="highlightColor" value="#7E0C6E" />
|
||||
</Style>
|
||||
<Style name="Table.detail:even">
|
||||
<StyleAttribute name="backgroundColor" value="#DECFDB" />
|
||||
</Style>
|
||||
<Style name="Image.title">
|
||||
<StyleAttribute name="border" value="no" />
|
||||
</Style>
|
||||
</StyleList>
|
||||
@@ -1,93 +0,0 @@
|
||||
<StyleList>
|
||||
<Style name="Window" >
|
||||
<StyleAttribute value="normal" name="windowType" />
|
||||
</Style>
|
||||
<Style name="Window.main" >
|
||||
<StyleAttribute value="normal" name="windowType" />
|
||||
<StyleAttribute value="menu" name="startMenuPosition" />
|
||||
</Style>
|
||||
<Style name="Window.main-mbs" >
|
||||
<StyleAttribute value="center" name="position" />
|
||||
<StyleAttribute value="normal" name="windowType" />
|
||||
<StyleAttribute value="none" name="actionPanelPosition" />
|
||||
<StyleAttribute value="none" name="ringMenuPosition" />
|
||||
<StyleAttribute value="none" name="statusBarType" />
|
||||
</Style>
|
||||
<Style name="Window.dialog" >
|
||||
<StyleAttribute value="modal" name="windowType" />
|
||||
<StyleAttribute value="no" name="sizable" />
|
||||
<StyleAttribute value="center" name="position" />
|
||||
<StyleAttribute value="bottom" name="actionPanelPosition" />
|
||||
<StyleAttribute value="bottom" name="ringMenuPosition" />
|
||||
<StyleAttribute value="none" name="toolBarPosition" />
|
||||
<StyleAttribute value="none" name="statusBarType" />
|
||||
<StyleAttribute value="popup" name="errorMessagePosition" />
|
||||
</Style>
|
||||
<Style name="Window.dialog2" >
|
||||
<StyleAttribute value="modal" name="windowType" />
|
||||
<StyleAttribute value="no" name="sizable" />
|
||||
<StyleAttribute value="center" name="position" />
|
||||
<StyleAttribute value="none" name="actionPanelPosition" />
|
||||
<StyleAttribute value="none" name="ringMenuPosition" />
|
||||
<StyleAttribute value="none" name="toolBarPosition" />
|
||||
<StyleAttribute value="none" name="statusBarType" />
|
||||
<StyleAttribute value="popup" name="errorMessagePosition" />
|
||||
</Style>
|
||||
<Style name="Window.dialog3" >
|
||||
<StyleAttribute value="modal" name="windowType" />
|
||||
<StyleAttribute value="yes" name="sizable" />
|
||||
<StyleAttribute value="none" name="toolBarPosition" />
|
||||
<StyleAttribute value="none" name="actionPanelPosition" />
|
||||
<StyleAttribute value="none" name="ringMenuPosition" />
|
||||
<StyleAttribute value="none" name="statusBarType" />
|
||||
<StyleAttribute value="popup" name="errorMessagePosition" />
|
||||
</Style>
|
||||
<Style name="Window.dialog4" >
|
||||
<StyleAttribute value="modal" name="windowType" />
|
||||
<StyleAttribute value="yes" name="sizable" />
|
||||
<StyleAttribute value="bottom" name="actionPanelPosition" />
|
||||
<StyleAttribute value="none" name="ringMenuPosition" />
|
||||
<StyleAttribute value="none" name="statusBarType" />
|
||||
<StyleAttribute value="popup" name="errorMessagePosition" />
|
||||
</Style>
|
||||
<Style name="Window.naked" >
|
||||
<StyleAttribute value="modal" name="windowType" />
|
||||
<StyleAttribute value="tool" name="border" />
|
||||
<StyleAttribute value="none" name="actionPanelPosition" />
|
||||
<StyleAttribute value="none" name="ringMenuPosition" />
|
||||
<StyleAttribute value="none" name="toolBarPosition" />
|
||||
<StyleAttribute value="none" name="statusBarType" />
|
||||
</Style>
|
||||
<Style name="Window.viewer" >
|
||||
<StyleAttribute value="modal" name="windowType" />
|
||||
<StyleAttribute value="yes" name="windowSystemMenu" />
|
||||
<StyleAttribute value="no" name="windowOptionMinimize" />
|
||||
<StyleAttribute value="no" name="windowOptionMaximize" />
|
||||
<StyleAttribute value="yes" name="sizable" />
|
||||
<StyleAttribute value="none" name="actionPanelPosition" />
|
||||
<StyleAttribute value="none" name="ringMenuPosition" />
|
||||
<StyleAttribute value="none" name="toolBarPosition" />
|
||||
<StyleAttribute value="none" name="statusBarType" />
|
||||
</Style>
|
||||
<Style name="edit:title" >
|
||||
<StyleAttribute value="large" name="fontSize" />
|
||||
<StyleAttribute value="sans-serif" name="fontFamily" />
|
||||
<StyleAttribute value="bold" name="textDecoration" />
|
||||
</Style>
|
||||
<Style name="Label:title" >
|
||||
<StyleAttribute value="sans-serif" name="fontFamily" />
|
||||
<StyleAttribute value="large" name="fontSize" />
|
||||
<StyleAttribute value="normal" name="fontStyle" />
|
||||
<StyleAttribute value="bold" name="fontWeight" />
|
||||
</Style>
|
||||
<Style name="Table:focus" >
|
||||
<StyleAttribute value="#7E0C6E" name="highlightColor" />
|
||||
</Style>
|
||||
<Style name="Table.detail:even" >
|
||||
<StyleAttribute value="#DECFDB" name="backgroundColor" />
|
||||
</Style>
|
||||
<Style name="Image.title" >
|
||||
<StyleAttribute value="no" name="border" />
|
||||
</Style>
|
||||
</StyleList>
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
Date: 20/10/2020 Time: 11:50:09
|
||||
Program error at 'noprrp015.4gl', line number 17.
|
||||
SQL statement error number -930 (-18456).
|
||||
[Microsoft][SQL Server Native Client 11.0][SQL Server]Login failed for user ''.
|
||||
Date: 20/10/2020 Time: 11:50:31
|
||||
Program error at 'noprrp015.4gl', line number 71.
|
||||
FORMS statement error number -6302.
|
||||
Can not read from GUI: Connection closed by peer.
|
||||
Date: 20/10/2020 Time: 11:51:04
|
||||
Program error at 'noprrp015.4gl', line number 106.
|
||||
SQL statement error number -6372 (-164).
|
||||
[Microsoft][SQL Server Native Client 11.0][SQL Server]Each GROUP BY expression must contain at least one column that is not an outer reference.
|
||||
Date: 20/10/2020 Time: 11:51:45
|
||||
Program error at 'noprrp015.4gl', line number 106.
|
||||
SQL statement error number -6372 (-164).
|
||||
[Microsoft][SQL Server Native Client 11.0][SQL Server]Each GROUP BY expression must contain at least one column that is not an outer reference.
|
||||
Date: 20/10/2020 Time: 11:52:24
|
||||
Program error at 'noprrp015.4gl', line number 150.
|
||||
SQL statement error number -6372 (-207).
|
||||
[Microsoft][SQL Server Native Client 11.0][SQL Server]Invalid column name 'a'.
|
||||
Date: 20/10/2020 Time: 11:53:01
|
||||
Program error at 'noprrp015.4gl', line number 201.
|
||||
FORMS statement error number -1322.
|
||||
A report output file cannot be opened: C:\archivo: Permission denied.
|
||||
Date: 19/05/2021 Time: 15:01:12
|
||||
Program error at 'noprrp015.4gl', line number 17.
|
||||
SQL statement error number -6372 (1).
|
||||
[Microsoft][SQL Server Native Client 11.0]SQL Server Network Interfaces: Error Locating Server/Instance Specified [xFFFFFFFF].
|
||||
@@ -1,4 +0,0 @@
|
||||
Date: 01/03/2013 Time: 09:54:50
|
||||
Program error at 'noprmt026.4gl', line number 74.
|
||||
SQL statement error number -1205 (-1).
|
||||
Invalid month in date.
|
||||
@@ -1,12 +0,0 @@
|
||||
Date: 08/06/2013 Time: 11:50:15
|
||||
Program error at 'noprrp035.4gl', line number 171.
|
||||
SQL statement error number -6372 (-206).
|
||||
[Microsoft][SQL Server Native Client 10.0][SQL Server]Operand type clash: date is incompatible with int
|
||||
Date: 08/06/2013 Time: 11:51:32
|
||||
Program error at 'noprrp035.4gl', line number 171.
|
||||
SQL statement error number -6372 (-206).
|
||||
[Microsoft][SQL Server Native Client 10.0][SQL Server]Operand type clash: date is incompatible with int
|
||||
Date: 08/06/2013 Time: 11:55:05
|
||||
Program error at 'noprrp035.4gl', line number 172.
|
||||
SQL statement error number -6372 (-206).
|
||||
[Microsoft][SQL Server Native Client 10.0][SQL Server]Operand type clash: date is incompatible with int
|
||||
@@ -1,4 +0,0 @@
|
||||
Date: 05/06/2014 Time: 11:51:54
|
||||
Program error at 'noprrp035.4gl', line number 208.
|
||||
SQL statement error number -6372 (-241).
|
||||
[Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Conversion failed when converting date and/or time from character string.
|
||||
@@ -1,6 +0,0 @@
|
||||
|
||||
|
||||
Este Modulo es excelente para manejar las ordenes de pedidos,
|
||||
asi como tambien el seguimiento a los clientes.
|
||||
|
||||
Utilice la opcion ORDEN DE PEDIDOS para que vea su versatilidad
|
||||
@@ -1,112 +0,0 @@
|
||||
<?xml version="1.0" encoding="windows-1252"?>
|
||||
<?FGLReportToRTLInputStyleSheet reportName="r_registros"?>
|
||||
<?PrettyPrinterStyleSheet tee="true" writeToFile="debug1.xml"?>
|
||||
<?ScopeExtenderStyleSheet systemId="file:/C:/Users/jsoto/Documents/GENERO/BDL240/MARMOTECH/PROYECTO/bin/PUNTOVENTAS/veprrp001.4rp" styleURL="file:/C:/Users/jsoto/Documents/GENERO/BDL240/MARMOTECH/PROYECTO/bin/PUNTOVENTAS/veprrp001.4rp" ignoreUnmatchedInput="true" variableValueNamesAreInLowerCase="true"?>
|
||||
<?PrettyPrinterStyleSheet tee="true" writeToFile="debug2.xml"?>
|
||||
<?RTLStyleSheet ignoreUnmatchedInput="true" autoCreate4GLVariables="true" variableValueNamesAreInLowerCase="true" styleURL="file:/C:/Users/jsoto/Documents/GENERO/BDL240/MARMOTECH/PROYECTO/bin/PUNTOVENTAS/veprrp001.4rp" FGLDIR="C:/Program Files/FourJs/Genero Studio/fgl" FGLPROFILE="C:/Program Files/FourJs/Genero Studio/fgl/etc/fglprofile" FGLEXECUTABLENAME="veprmt022" FOURRPNAME="veprrp001" outputDeviceName="SVG" isPreview="1"?>
|
||||
<?PrettyPrinterStyleSheet tee="true" writeToFile="debug3.xml"?>
|
||||
<?BoxDecoratorStyleSheet systemId="file:/C:/Users/jsoto/Documents/GENERO/BDL240/MARMOTECH/PROYECTO/bin/PUNTOVENTAS/veprrp001.4rp"?>
|
||||
<?HlPxmlToPxmlStyleSheet notUsed="true"?>
|
||||
<?PrettyPrinterStyleSheet tee="true" writeToFile="debug4.xml"?>
|
||||
<?PxmlLayouter pageWidth="3.00inch" pageHeight="3.00inch" topMargin="0.10inch" leftMargin="0.10inch" rightMargin="0.10inch" bottomMargin="0.10inch" FGLDIR="C:/Program Files/FourJs/Genero Studio/fgl" FGLPROFILE="C:/Program Files/FourJs/Genero Studio/fgl/etc/fglprofile" FGLEXECUTABLENAME="veprmt022" FOURRPNAME="veprrp001" markOverfullBoxesInDocument="true"?>
|
||||
<?SVGWriterStyleSheet antialiasFonts="true" antialiasShapes="true" embedFonts="true" qt422workarounds="true" charsetToEmbed="ISO-8859-15"?>
|
||||
<?PrettyPrinterStyleSheet tee="false" writeToHost="localhost" encoding="UTF-8" writeMagic="true" writeToPort="6400" writeCompressed="false"?>
|
||||
<Report name="veprmt022.r_registros" headerLength="0" trailerLength="0" pageLength="66" topMargin="3" bottomMargin="3" leftMargin="5" rightMargin="132" xmlns="http://www.4js.com/2004/REPORT">
|
||||
<Skip/>
|
||||
<Skip/>
|
||||
<Skip/>
|
||||
<FirstPageHeader/>
|
||||
<Group>
|
||||
<BeforeGroup/>
|
||||
<Group>
|
||||
<OnEveryRow>
|
||||
<Print>
|
||||
<Item name="x.factura" type="INTEGER" value=" 0" isoValue="0"/>
|
||||
<Item name="x.fecha_factura" type="CHAR(10)" value=" "/>
|
||||
<Item name="x.fecha_nomina" type="CHAR(10)" value=" "/>
|
||||
<Item name="x.codigo_id" type="INTEGER" value=" 1203" isoValue="1203"/>
|
||||
<Item name="x.nombre_cliente" type="VARCHAR(60)" value="1203-VENTURA ANTONIO VIZCAINO PERDOMO "/>
|
||||
<Item name="x.bruto" type="DECIMAL(12,2)" value=" 497.00" isoValue="497.00"/>
|
||||
<Item name="x.descuento" type="DECIMAL(12,2)" value=" 0.00" isoValue="0.00"/>
|
||||
<Item name="x.itbis" type="DECIMAL(12,2)" value=" 0.00" isoValue="0.00"/>
|
||||
<Item name="x.sub_total" type="DECIMAL(12,2)" value=" 497.00" isoValue="497.00"/>
|
||||
<Item name="x.neto" type="DECIMAL(12,2)" value=" 497.00" isoValue="497.00"/>
|
||||
<Item name="x.estado" type="CHAR(20)" value=" "/>
|
||||
<Item name="x.condicion" type="VARCHAR(30)" value=" "/>
|
||||
<Item name="nombre_cia" type="VARCHAR(60)" value="CAFETERIA MARMOTECH "/>
|
||||
<Item name="hora" type="CHAR(16)" value="2015-06-25 14:58"/>
|
||||
<Item name="xfecha1" type="CHAR(10)" value="09/06/2015"/>
|
||||
<Item name="xfecha2" type="CHAR(10)" value="25/06/2015"/>
|
||||
</Print>
|
||||
</OnEveryRow>
|
||||
</Group>
|
||||
<AfterGroup>
|
||||
<Print>
|
||||
<Item name="total_condicion" type="DECIMAL(12,2)" value=" 497.00" isoValue="497.00"/>
|
||||
</Print>
|
||||
</AfterGroup>
|
||||
</Group>
|
||||
<OnLastRow>
|
||||
<Print>
|
||||
<Item name="total_venta" type="DECIMAL(12,2)" value=" 497.00" isoValue="497.00"/>
|
||||
</Print>
|
||||
</OnLastRow>
|
||||
<Skip/>
|
||||
<Skip/>
|
||||
<Skip/>
|
||||
<Skip/>
|
||||
<Skip/>
|
||||
<Skip/>
|
||||
<Skip/>
|
||||
<Skip/>
|
||||
<Skip/>
|
||||
<Skip/>
|
||||
<Skip/>
|
||||
<Skip/>
|
||||
<Skip/>
|
||||
<Skip/>
|
||||
<Skip/>
|
||||
<Skip/>
|
||||
<Skip/>
|
||||
<Skip/>
|
||||
<Skip/>
|
||||
<Skip/>
|
||||
<Skip/>
|
||||
<Skip/>
|
||||
<Skip/>
|
||||
<Skip/>
|
||||
<Skip/>
|
||||
<Skip/>
|
||||
<Skip/>
|
||||
<Skip/>
|
||||
<Skip/>
|
||||
<Skip/>
|
||||
<Skip/>
|
||||
<Skip/>
|
||||
<Skip/>
|
||||
<Skip/>
|
||||
<Skip/>
|
||||
<Skip/>
|
||||
<Skip/>
|
||||
<Skip/>
|
||||
<Skip/>
|
||||
<Skip/>
|
||||
<Skip/>
|
||||
<Skip/>
|
||||
<Skip/>
|
||||
<Skip/>
|
||||
<Skip/>
|
||||
<Skip/>
|
||||
<Skip/>
|
||||
<Skip/>
|
||||
<Skip/>
|
||||
<Skip/>
|
||||
<Skip/>
|
||||
<Skip/>
|
||||
<Skip/>
|
||||
<Skip/>
|
||||
<Skip/>
|
||||
<Skip/>
|
||||
<Skip/>
|
||||
<PageTrailer/>
|
||||
</Report>
|
||||
@@ -1,104 +0,0 @@
|
||||
<?xml version="1.0" encoding="windows-1252"?>
|
||||
<?ScopeExtenderStyleSheet systemId="file:/C:/Users/jsoto/Documents/GENERO/BDL240/MARMOTECH/PROYECTO/bin/PUNTOVENTAS/veprrp001.4rp" styleURL="file:/C:/Users/jsoto/Documents/GENERO/BDL240/MARMOTECH/PROYECTO/bin/PUNTOVENTAS/veprrp001.4rp" ignoreUnmatchedInput="true" variableValueNamesAreInLowerCase="true"?>
|
||||
<?PrettyPrinterStyleSheet tee="true" writeToFile="debug2.xml"?>
|
||||
<?RTLStyleSheet ignoreUnmatchedInput="true" autoCreate4GLVariables="true" variableValueNamesAreInLowerCase="true" styleURL="file:/C:/Users/jsoto/Documents/GENERO/BDL240/MARMOTECH/PROYECTO/bin/PUNTOVENTAS/veprrp001.4rp" FGLDIR="C:/Program Files/FourJs/Genero Studio/fgl" FGLPROFILE="C:/Program Files/FourJs/Genero Studio/fgl/etc/fglprofile" FGLEXECUTABLENAME="veprmt022" FOURRPNAME="veprrp001" outputDeviceName="SVG" isPreview="1"?>
|
||||
<?PrettyPrinterStyleSheet tee="true" writeToFile="debug3.xml"?>
|
||||
<?BoxDecoratorStyleSheet systemId="file:/C:/Users/jsoto/Documents/GENERO/BDL240/MARMOTECH/PROYECTO/bin/PUNTOVENTAS/veprrp001.4rp"?>
|
||||
<?HlPxmlToPxmlStyleSheet notUsed="true"?>
|
||||
<?PrettyPrinterStyleSheet tee="true" writeToFile="debug4.xml"?>
|
||||
<?PxmlLayouter pageWidth="3.00inch" pageHeight="3.00inch" topMargin="0.10inch" leftMargin="0.10inch" rightMargin="0.10inch" bottomMargin="0.10inch" FGLDIR="C:/Program Files/FourJs/Genero Studio/fgl" FGLPROFILE="C:/Program Files/FourJs/Genero Studio/fgl/etc/fglprofile" FGLEXECUTABLENAME="veprmt022" FOURRPNAME="veprrp001" markOverfullBoxesInDocument="true"?>
|
||||
<?SVGWriterStyleSheet antialiasFonts="true" antialiasShapes="true" embedFonts="true" qt422workarounds="true" charsetToEmbed="ISO-8859-15"?>
|
||||
<?PrettyPrinterStyleSheet tee="false" writeToHost="localhost" encoding="UTF-8" writeMagic="true" writeToPort="6400" writeCompressed="false"?>
|
||||
<xxx0:Report name="veprmt022.r_registros" headerLength="0" trailerLength="0" pageLength="66" topMargin="3" bottomMargin="3" leftMargin="5" rightMargin="132" xmlns:rtli="http://www.4js.com/2004/RTL-INPUT" xmlns:xxx0="http://www.4js.com/2004/REPORT">
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:FirstPageHeader/>
|
||||
<xxx0:Group>
|
||||
<xxx0:BeforeGroup/>
|
||||
<xxx0:Group>
|
||||
<xxx0:OnEveryRow>
|
||||
<rtli:variable-value name="x.factura" type="INTEGER" value=" 0" isoValue="0"/>
|
||||
<rtli:variable-value name="x.fecha_factura" type="CHAR(10)" value=" "/>
|
||||
<rtli:variable-value name="x.fecha_nomina" type="CHAR(10)" value=" "/>
|
||||
<rtli:variable-value name="x.codigo_id" type="INTEGER" value=" 1203" isoValue="1203"/>
|
||||
<rtli:variable-value name="x.nombre_cliente" type="VARCHAR(60)" value="1203-VENTURA ANTONIO VIZCAINO PERDOMO "/>
|
||||
<rtli:variable-value name="x.bruto" type="DECIMAL(12,2)" value=" 497.00" isoValue="497.00"/>
|
||||
<rtli:variable-value name="x.descuento" type="DECIMAL(12,2)" value=" 0.00" isoValue="0.00"/>
|
||||
<rtli:variable-value name="x.itbis" type="DECIMAL(12,2)" value=" 0.00" isoValue="0.00"/>
|
||||
<rtli:variable-value name="x.sub_total" type="DECIMAL(12,2)" value=" 497.00" isoValue="497.00"/>
|
||||
<rtli:variable-value name="x.neto" type="DECIMAL(12,2)" value=" 497.00" isoValue="497.00"/>
|
||||
<rtli:variable-value name="x.estado" type="CHAR(20)" value=" "/>
|
||||
<rtli:variable-value name="x.condicion" type="VARCHAR(30)" value=" "/>
|
||||
<rtli:variable-value name="nombre_cia" type="VARCHAR(60)" value="CAFETERIA MARMOTECH "/>
|
||||
<rtli:variable-value name="hora" type="CHAR(16)" value="2015-06-25 14:58"/>
|
||||
<rtli:variable-value name="xfecha1" type="CHAR(10)" value="09/06/2015"/>
|
||||
<rtli:variable-value name="xfecha2" type="CHAR(10)" value="25/06/2015"/>
|
||||
</xxx0:OnEveryRow>
|
||||
</xxx0:Group>
|
||||
<xxx0:AfterGroup>
|
||||
<rtli:variable-value name="total_condicion" type="DECIMAL(12,2)" value=" 497.00" isoValue="497.00"/>
|
||||
</xxx0:AfterGroup>
|
||||
</xxx0:Group>
|
||||
<xxx0:OnLastRow>
|
||||
<rtli:variable-value name="total_venta" type="DECIMAL(12,2)" value=" 497.00" isoValue="497.00"/>
|
||||
</xxx0:OnLastRow>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:PageTrailer/>
|
||||
</xxx0:Report>
|
||||
@@ -1,94 +0,0 @@
|
||||
<?xml version="1.0" encoding="windows-1252"?>
|
||||
<?RTLStyleSheet ignoreUnmatchedInput="true" autoCreate4GLVariables="true" variableValueNamesAreInLowerCase="true" styleURL="file:/C:/Users/jsoto/Documents/GENERO/BDL240/MARMOTECH/PROYECTO/bin/PUNTOVENTAS/veprrp001.4rp" FGLDIR="C:/Program Files/FourJs/Genero Studio/fgl" FGLPROFILE="C:/Program Files/FourJs/Genero Studio/fgl/etc/fglprofile" FGLEXECUTABLENAME="veprmt022" FOURRPNAME="veprrp001" outputDeviceName="SVG" isPreview="1"?>
|
||||
<?PrettyPrinterStyleSheet tee="true" writeToFile="debug3.xml"?>
|
||||
<?BoxDecoratorStyleSheet systemId="file:/C:/Users/jsoto/Documents/GENERO/BDL240/MARMOTECH/PROYECTO/bin/PUNTOVENTAS/veprrp001.4rp"?>
|
||||
<?HlPxmlToPxmlStyleSheet notUsed="true"?>
|
||||
<?PrettyPrinterStyleSheet tee="true" writeToFile="debug4.xml"?>
|
||||
<?PxmlLayouter pageWidth="3.00inch" pageHeight="3.00inch" topMargin="0.10inch" leftMargin="0.10inch" rightMargin="0.10inch" bottomMargin="0.10inch" FGLDIR="C:/Program Files/FourJs/Genero Studio/fgl" FGLPROFILE="C:/Program Files/FourJs/Genero Studio/fgl/etc/fglprofile" FGLEXECUTABLENAME="veprmt022" FOURRPNAME="veprrp001" markOverfullBoxesInDocument="true"?>
|
||||
<?SVGWriterStyleSheet antialiasFonts="true" antialiasShapes="true" embedFonts="true" qt422workarounds="true" charsetToEmbed="ISO-8859-15"?>
|
||||
<?PrettyPrinterStyleSheet tee="false" writeToHost="localhost" encoding="UTF-8" writeMagic="true" writeToPort="6400" writeCompressed="false"?>
|
||||
<xxx0:Report name="veprmt022.r_registros" headerLength="0" trailerLength="0" pageLength="66" topMargin="3" bottomMargin="3" leftMargin="5" rightMargin="132" xmlns:rtli="http://www.4js.com/2004/RTL-INPUT" xmlns:xxx0="http://www.4js.com/2004/REPORT">
|
||||
<rtli:variable-value name="xfecha1" value="09/06/2015" type="CHAR(10)"/>
|
||||
<rtli:variable-value name="nombre_cia" value="CAFETERIA MARMOTECH " type="VARCHAR(60)"/>
|
||||
<rtli:variable-value name="hora" value="2015-06-25 14:58" type="CHAR(16)"/>
|
||||
<rtli:variable-value name="xfecha2" value="25/06/2015" type="CHAR(10)"/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:FirstPageHeader/>
|
||||
<xxx0:Group>
|
||||
<xxx0:BeforeGroup/>
|
||||
<xxx0:Group>
|
||||
<xxx0:OnEveryRow>
|
||||
<rtli:variable-value name="x.factura" type="INTEGER" value=" 0" isoValue="0"/>
|
||||
<rtli:variable-value name="x.fecha_factura" type="CHAR(10)" value=" "/>
|
||||
<rtli:variable-value name="x.nombre_cliente" type="VARCHAR(60)" value="1203-VENTURA ANTONIO VIZCAINO PERDOMO "/>
|
||||
<rtli:variable-value name="x.neto" type="DECIMAL(12,2)" value=" 497.00" isoValue="497.00"/>
|
||||
</xxx0:OnEveryRow>
|
||||
</xxx0:Group>
|
||||
<xxx0:AfterGroup>
|
||||
<rtli:variable-value name="total_condicion" type="DECIMAL(12,2)" value=" 497.00" isoValue="497.00"/>
|
||||
</xxx0:AfterGroup>
|
||||
</xxx0:Group>
|
||||
<xxx0:OnLastRow>
|
||||
<rtli:variable-value name="total_venta" type="DECIMAL(12,2)" value=" 497.00" isoValue="497.00"/>
|
||||
</xxx0:OnLastRow>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:Skip/>
|
||||
<xxx0:PageTrailer/>
|
||||
</xxx0:Report>
|
||||
@@ -1,41 +0,0 @@
|
||||
<?xml version="1.0" encoding="windows-1252"?>
|
||||
<?BoxDecoratorStyleSheet systemId="file:/C:/Users/jsoto/Documents/GENERO/BDL240/MARMOTECH/PROYECTO/bin/PUNTOVENTAS/veprrp001.4rp"?>
|
||||
<?HlPxmlToPxmlStyleSheet notUsed="true"?>
|
||||
<?PrettyPrinterStyleSheet tee="true" writeToFile="debug4.xml"?>
|
||||
<?PxmlLayouter pageWidth="3.00inch" pageHeight="3.00inch" topMargin="0.10inch" leftMargin="0.10inch" rightMargin="0.10inch" bottomMargin="0.10inch" FGLDIR="C:/Program Files/FourJs/Genero Studio/fgl" FGLPROFILE="C:/Program Files/FourJs/Genero Studio/fgl/etc/fglprofile" FGLEXECUTABLENAME="veprmt022" FOURRPNAME="veprrp001" markOverfullBoxesInDocument="true"?>
|
||||
<?SVGWriterStyleSheet antialiasFonts="true" antialiasShapes="true" embedFonts="true" qt422workarounds="true" charsetToEmbed="ISO-8859-15"?>
|
||||
<?PrettyPrinterStyleSheet tee="false" writeToHost="localhost" encoding="UTF-8" writeMagic="true" writeToPort="6400" writeCompressed="false"?>
|
||||
<xxx0:PXML xmlns:xxx0="http://www.4js.com/2004/PXML">
|
||||
<xxx0:MINIPAGE fontSize="8" length="min" name="Page Root" width="max">
|
||||
<xxx0:MINIPAGE layoutDirection="leftToRight" length="min" name="encPrincipal" width="min">
|
||||
<xxx0:WORDWRAPBOX floatingBehavior="enclosed" name="nombre_cia Value" text="CAFETERIA MARMOTECH " width="width("M")*18"/>
|
||||
<xxx0:WORDBOX floatingBehavior="enclosed" name="hora Value" text="2015-06-25 14:58"/>
|
||||
</xxx0:MINIPAGE>
|
||||
<xxx0:MINIPAGE fontBold="true" fontSize="7" layoutDirection="leftToRight" length="min" name="rangofechas" width="min">
|
||||
<xxx0:WORDBOX floatingBehavior="enclosed" name="Finicial" text="FECHA INICIAL:" textAlignment="right" width="2cm"/>
|
||||
<xxx0:WORDBOX floatingBehavior="enclosed" name="xfecha1 Value" text="09/06/2015"/>
|
||||
<xxx0:WORDBOX floatingBehavior="enclosed" name="FFinal" text="FECHA FINAL:" textAlignment="right" width="2cm"/>
|
||||
<xxx0:WORDBOX floatingBehavior="enclosed" name="xfecha2 Value" text="25/06/2015"/>
|
||||
</xxx0:MINIPAGE>
|
||||
<xxx0:MINIPAGE borderStyle="solid" borderWidth="1" fontSize="7" layoutDirection="leftToRight" length="min" name="encabezados" roundedCorners="true" width="min">
|
||||
<xxx0:WORDBOX floatingBehavior="enclosed" name="WordBox" text="FECHA" width="1.5cm"/>
|
||||
<xxx0:WORDBOX floatingBehavior="enclosed" name="WordBox1" text="FACTURA" width="1.5cm"/>
|
||||
<xxx0:WORDBOX alignment="baseline" floatingBehavior="enclosed" name="WordBox5" text="NOMBRE" textAlignment="left" width="2cm"/>
|
||||
<xxx0:WORDBOX floatingBehavior="enclosed" name="WordBox2" text="VALOR" textAlignment="right" width="1.9cm"/>
|
||||
</xxx0:MINIPAGE>
|
||||
<xxx0:LAYOUTNODE floatingBehavior="enclosed" fontSize="7" layoutDirection="leftToRight" length="min" name="detalle" width="min">
|
||||
<xxx0:WORDBOX floatingBehavior="enclosed" name="x.fecha_factura Value" text=" " width="1cm"/>
|
||||
<xxx0:DECIMALFORMATBOX anchorX="1" floatingBehavior="enclosed" format="----------#" name="x.factura Value" textAlignment="right" value="0" width=".9cm"/>
|
||||
<xxx0:WORDWRAPBOX alignment="baseline" floatingBehavior="enclosed" name="x.nombre_cliente Value" text="1203-VENTURA ANTONIO VIZCAINO PERDOMO " width="width("M")*20"/>
|
||||
<xxx0:DECIMALFORMATBOX anchorX="1" floatingBehavior="enclosed" format="---,---,---,--&.&&" name="x.neto Value" textAlignment="right" value="497" width="1cm"/>
|
||||
</xxx0:LAYOUTNODE>
|
||||
<xxx0:MINIPAGE fontSize="8" layoutDirection="leftToRight" length="min" name="totalCondicion" width="min">
|
||||
<xxx0:WORDBOX floatingBehavior="enclosed" name="WordBox3" text="T. CONDI" width="3cm"/>
|
||||
<xxx0:DECIMALFORMATBOX anchorX="1" floatingBehavior="enclosed" format="---,---,---,--&.&&" name="total_condicion Value" textAlignment="right" value="497" width="2cm"/>
|
||||
</xxx0:MINIPAGE>
|
||||
<xxx0:MINIPAGE fontSize="8" layoutDirection="leftToRight" length="min" name="totalGeneral" width="min">
|
||||
<xxx0:WORDBOX floatingBehavior="enclosed" name="WordBox4" text="T. GENERAL" width="3cm"/>
|
||||
<xxx0:DECIMALFORMATBOX anchorX="1" floatingBehavior="enclosed" format="---,---,---,--&.&&" name="total_venta Value" textAlignment="right" value="497" width="2cm"/>
|
||||
</xxx0:MINIPAGE>
|
||||
</xxx0:MINIPAGE>
|
||||
</xxx0:PXML>
|
||||
@@ -1,40 +0,0 @@
|
||||
<?xml version="1.0" encoding="windows-1252"?>
|
||||
<?PxmlLayouter pageWidth="3.00inch" pageHeight="3.00inch" topMargin="0.10inch" leftMargin="0.10inch" rightMargin="0.10inch" bottomMargin="0.10inch" FGLDIR="C:/Program Files/FourJs/Genero Studio/fgl" FGLPROFILE="C:/Program Files/FourJs/Genero Studio/fgl/etc/fglprofile" FGLEXECUTABLENAME="veprmt022" FOURRPNAME="veprrp001" markOverfullBoxesInDocument="true"?>
|
||||
<?SVGWriterStyleSheet antialiasFonts="true" antialiasShapes="true" embedFonts="true" qt422workarounds="true" charsetToEmbed="ISO-8859-15"?>
|
||||
<?PrettyPrinterStyleSheet tee="false" writeToHost="localhost" encoding="UTF-8" writeMagic="true" writeToPort="6400" writeCompressed="false"?>
|
||||
<xxx0:PXML xmlns:xxx0="http://www.4js.com/2004/PXML">
|
||||
<xxx0:MINIPAGE fontSize="8" length="min" name="Page Root" width="max">
|
||||
<xxx0:MINIPAGE layoutDirection="leftToRight" length="min" name="encPrincipal" width="min">
|
||||
<xxx0:WORDWRAPBOX floatingBehavior="enclosed" name="nombre_cia Value" text="CAFETERIA MARMOTECH " width="width("M")*18"/>
|
||||
<xxx0:WORDBOX floatingBehavior="enclosed" name="hora Value" text="2015-06-25 14:58"/>
|
||||
</xxx0:MINIPAGE>
|
||||
<xxx0:MINIPAGE fontBold="true" fontSize="7" layoutDirection="leftToRight" length="min" name="rangofechas" width="min">
|
||||
<xxx0:WORDBOX floatingBehavior="enclosed" name="Finicial" text="FECHA INICIAL:" textAlignment="right" width="2cm"/>
|
||||
<xxx0:WORDBOX floatingBehavior="enclosed" name="xfecha1 Value" text="09/06/2015"/>
|
||||
<xxx0:WORDBOX floatingBehavior="enclosed" name="FFinal" text="FECHA FINAL:" textAlignment="right" width="2cm"/>
|
||||
<xxx0:WORDBOX floatingBehavior="enclosed" name="xfecha2 Value" text="25/06/2015"/>
|
||||
</xxx0:MINIPAGE>
|
||||
<xxx0:BORDERBOX borderStyle="solid" borderWidth="1" roundedCorners="true">
|
||||
<xxx0:MINIPAGE fontSize="7" layoutDirection="leftToRight" length="min" name="encabezados" width="min">
|
||||
<xxx0:WORDBOX floatingBehavior="enclosed" name="WordBox" text="FECHA" width="1.5cm"/>
|
||||
<xxx0:WORDBOX floatingBehavior="enclosed" name="WordBox1" text="FACTURA" width="1.5cm"/>
|
||||
<xxx0:WORDBOX alignment="baseline" floatingBehavior="enclosed" name="WordBox5" text="NOMBRE" textAlignment="left" width="2cm"/>
|
||||
<xxx0:WORDBOX floatingBehavior="enclosed" name="WordBox2" text="VALOR" textAlignment="right" width="1.9cm"/>
|
||||
</xxx0:MINIPAGE>
|
||||
</xxx0:BORDERBOX>
|
||||
<xxx0:LAYOUTNODE floatingBehavior="enclosed" fontSize="7" layoutDirection="leftToRight" length="min" name="detalle" width="min">
|
||||
<xxx0:WORDBOX floatingBehavior="enclosed" name="x.fecha_factura Value" text=" " width="1cm"/>
|
||||
<xxx0:DECIMALFORMATBOX anchorX="1" floatingBehavior="enclosed" format="----------#" name="x.factura Value" textAlignment="right" value="0" width=".9cm"/>
|
||||
<xxx0:WORDWRAPBOX alignment="baseline" floatingBehavior="enclosed" name="x.nombre_cliente Value" text="1203-VENTURA ANTONIO VIZCAINO PERDOMO " width="width("M")*20"/>
|
||||
<xxx0:DECIMALFORMATBOX anchorX="1" floatingBehavior="enclosed" format="---,---,---,--&.&&" name="x.neto Value" textAlignment="right" value="497" width="1cm"/>
|
||||
</xxx0:LAYOUTNODE>
|
||||
<xxx0:MINIPAGE fontSize="8" layoutDirection="leftToRight" length="min" name="totalCondicion" width="min">
|
||||
<xxx0:WORDBOX floatingBehavior="enclosed" name="WordBox3" text="T. CONDI" width="3cm"/>
|
||||
<xxx0:DECIMALFORMATBOX anchorX="1" floatingBehavior="enclosed" format="---,---,---,--&.&&" name="total_condicion Value" textAlignment="right" value="497" width="2cm"/>
|
||||
</xxx0:MINIPAGE>
|
||||
<xxx0:MINIPAGE fontSize="8" layoutDirection="leftToRight" length="min" name="totalGeneral" width="min">
|
||||
<xxx0:WORDBOX floatingBehavior="enclosed" name="WordBox4" text="T. GENERAL" width="3cm"/>
|
||||
<xxx0:DECIMALFORMATBOX anchorX="1" floatingBehavior="enclosed" format="---,---,---,--&.&&" name="total_venta Value" textAlignment="right" value="497" width="2cm"/>
|
||||
</xxx0:MINIPAGE>
|
||||
</xxx0:MINIPAGE>
|
||||
</xxx0:PXML>
|
||||
|
Before Width: | Height: | Size: 128 KiB |
@@ -15,7 +15,7 @@
|
||||
<rtl:match name="Group xcodigo" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
|
||||
<MINIPAGE name="Page Root" width="max" length="max">
|
||||
<LAYOUTNODE name="Layout Node2" width="min" length="min">
|
||||
<IMAGEBOX name="ImageBox3" width="100" length="38.2134" url="{{"file:///e:/marmotechc/BIN320/IMAGENES/compania/logo.png"}}" intendedResolution="96"/>
|
||||
<IMAGEBOX name="ImageBox3" width="100" length="38.2134" url="{{"IMAGENES/Logo.png"}}" intendedResolution="96"/>
|
||||
<MINIPAGE name="Separator" width="1" length="max" bgColor="#000000" layoutDirection="leftToRight" swapX="false"/>
|
||||
</LAYOUTNODE>
|
||||
<LAYOUTNODE name="Layout Node3" width="max" length="min" fontSize="10">
|
||||
@@ -44,6 +44,16 @@
|
||||
<rtl:input-variable name="xfecha_compra" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDBOX name="WordBox8" alignment="baseline" fontSize="12" baselineType="leftleft" text="{{xfecha_compra.value}}"/>
|
||||
</LAYOUTNODE>
|
||||
<LAYOUTNODE name="Layout Node6" width="min" length="min" layoutDirection="leftToRight">
|
||||
<WORDBOX name="WordBox13" width="120" alignment="baseline" fontSize="14" baselineType="leftleft" text="ORDEN COMPRA"/>
|
||||
<rtl:input-variable name="xnum_ocp" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="xnum_ocp Value" alignment="baseline" fontSize="12" baselineType="leftleft" format="&&&&&&" value="{{xnum_ocp}}"/>
|
||||
</LAYOUTNODE>
|
||||
<LAYOUTNODE name="Layout Node7" width="min" length="min" layoutDirection="leftToRight">
|
||||
<WORDBOX name="WordBox14" width="120" alignment="baseline" fontSize="14" baselineType="leftleft" text="PROVEEDOR"/>
|
||||
<rtl:input-variable name="proveedor" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDWRAPBOX name="proveedor Value" width="width("M")*14" alignment="baseline" fontSize="10" baselineType="leftleft" text="{{proveedor.trim()}}"/>
|
||||
</LAYOUTNODE>
|
||||
<rtl:input-variable name="barcodigo_act" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<BARCODEBOX name="BarCodeBox1" x="22.8704" y="220.506" width="105.815" length="35.8691" anchorX="0" anchorY="0" codeType="code-128" codeValue="{{barcodigo_act.value}}" noText="true"/>
|
||||
</MINIPAGE>
|
||||
|
||||
@@ -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>
|
||||
@@ -1,66 +0,0 @@
|
||||
|
||||
|
||||
|
||||
3355 2300 0 113JUAN SOTO CONCEPCION 31/12/1899C/ PRIMERA, RES. SOL RECIENTE 1 31/12/1899 0 00104581939 0 175000.00 01/04/200831/12/1899 0 0 <byte value> 0 31/12/1899 0 0 031/12/1899 0 31/12/1899 M A R M O T E C H, S. A. (C) TECNOLOGIA GERENTE DE TECNOLOGIA EMPLEADOS ACTIVOS 1
|
||||
3980 2300 0 16MIGUEL PINALES DEL ROSARIO 31/12/1899C/ PRIMERA 31/12/1899 0 40225031695 0 25000.00 09/06/201431/12/1899 0 0 <byte value> 0 31/12/1899 0 0 031/12/1899 0 31/12/1899 M A R M O T E C H, S. A. (C) TECNOLOGIA ASISTENTE TECNOLOGIA EMPLEADOS ACTIVOS 2
|
||||
4791 2300 0 16ALEXANDER PAULINO ROSARIO 31/12/1899C/ MANZANA N 28 31/12/1899 0 40226444517 0 20000.00 25/03/201931/12/1899 0 0 <byte value> 0 31/12/1899 0 0 031/12/1899 0 31/12/1899 M A R M O T E C H, S. A. (C) TECNOLOGIA ASISTENTE TECNOLOGIA EMPLEADOS ACTIVOS 3
|
||||
3
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 137 KiB |
@@ -1,226 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
||||
<!-- <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0-beta/css/bootstrap.min.css" /> -->
|
||||
<title>Custom Bootstrap 4 card</title>
|
||||
<link href="https://fonts.googleapis.com/css?family=Open+Sans:400,500&subset=latin-ext" rel="stylesheet">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" />
|
||||
</head>
|
||||
|
||||
<style>
|
||||
html {
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.card {
|
||||
position: relative;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-ms-flex-direction: column;
|
||||
flex-direction: column;
|
||||
min-width: 0;
|
||||
word-wrap: break-word;
|
||||
background-color: #fff;
|
||||
background-clip: border-box;
|
||||
border: 1px solid black;
|
||||
border-radius: .25rem;
|
||||
}
|
||||
|
||||
.container {
|
||||
font-size: 14px;
|
||||
color: #666666;
|
||||
font-family: "Open Sans";
|
||||
}
|
||||
|
||||
.card-custom {
|
||||
overflow: hidden;
|
||||
min-height: 500px;
|
||||
|
||||
/* box-shadow: 0 0 15px rgba(10, 10, 10, 0.3); */
|
||||
}
|
||||
|
||||
.card-custom-img {
|
||||
height: 278px;
|
||||
background-color: #792227;
|
||||
background-size: cover;
|
||||
background-position: center;
|
||||
border-color: inherit;
|
||||
margin-top: 222px;
|
||||
}
|
||||
|
||||
/* First border-left-width setting is a fallback */
|
||||
/* .card-custom-img::after {
|
||||
position: absolute;
|
||||
content: '';
|
||||
top: 161px;
|
||||
left: 0;
|
||||
width: 0;
|
||||
height: 0;
|
||||
border-style: solid;
|
||||
border-top-width: 40px;
|
||||
border-right-width: 0;
|
||||
border-bottom-width: 0;
|
||||
border-left-width: 545px;
|
||||
border-left-width: calc(575px - 5vw);
|
||||
border-top-color: transparent;
|
||||
border-right-color: transparent;
|
||||
border-bottom-color: transparent;
|
||||
border-left-color: inherit;
|
||||
} */
|
||||
|
||||
.img-fluid {
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
img {
|
||||
vertical-align: middle;
|
||||
border-style: none;
|
||||
}
|
||||
|
||||
.card-custom-avatar img {
|
||||
border-radius: 50%;
|
||||
border: 5px solid #792227;
|
||||
position: absolute;
|
||||
top: 234px;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
width: 158px;
|
||||
height: 154px;
|
||||
}
|
||||
|
||||
.card-custom-avatar2 .img2 {
|
||||
position: absolute;
|
||||
top: 65px;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
width: 255px;
|
||||
height: 90px;
|
||||
}
|
||||
|
||||
.card-custom-avatar2 .direccion {
|
||||
position: absolute;
|
||||
top: 94px;
|
||||
left: 53%;
|
||||
transform: translate(-50%, -50%);
|
||||
width: 69%;
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
.card-custom-avatar2 .telefono {
|
||||
position: absolute;
|
||||
top: 110px;
|
||||
left: 52%;
|
||||
transform: translate(-50%, -50%);
|
||||
width: 30%;
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
.card-footer{
|
||||
color: white;
|
||||
position: absolute;
|
||||
height: 195px;
|
||||
bottom: 0;
|
||||
width: 100%;
|
||||
/* background-color: aquamarine; */
|
||||
}
|
||||
|
||||
.nombre {
|
||||
position: absolute;
|
||||
font-size: 23px;
|
||||
left: 50%;
|
||||
transform: translate(-50% , -50%);
|
||||
-webkit-transform: translate(-50%, -50%);
|
||||
width: 50%;
|
||||
}
|
||||
|
||||
.cargo {
|
||||
font-size: 15px;
|
||||
position: absolute;
|
||||
top: 15%;
|
||||
left: 50%;
|
||||
transform: translate(-50% , -50%);
|
||||
-webkit-transform: translate(-50%, -50%);
|
||||
}
|
||||
|
||||
|
||||
.m-auto {
|
||||
margin: auto!important;
|
||||
}
|
||||
|
||||
.pt-5 {
|
||||
padding-top: 3rem!important;
|
||||
}
|
||||
|
||||
.row {
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-ms-flex-wrap: wrap;
|
||||
flex-wrap: wrap;
|
||||
margin-right: -15px;
|
||||
margin-left: -15px;
|
||||
}
|
||||
|
||||
.pb-3 {
|
||||
padding-bottom: 1rem!important;
|
||||
}
|
||||
|
||||
.col-md-6 {
|
||||
width: 310px;
|
||||
}
|
||||
|
||||
.bg-white {
|
||||
background-color: #fff!important;
|
||||
}
|
||||
.m-auto {
|
||||
margin: auto!important;
|
||||
}
|
||||
.pt-5 {
|
||||
padding-top: 3rem!important;
|
||||
}
|
||||
.row {
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-ms-flex-wrap: wrap;
|
||||
flex-wrap: wrap;
|
||||
margin-right: -15px;
|
||||
margin-left: -15px;
|
||||
}
|
||||
*, ::after, ::before {
|
||||
box-sizing: inherit;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
|
||||
<body>
|
||||
<div class="container">
|
||||
<div class="row pt-5 m-auto">
|
||||
<div class="col-md-6 col-lg-4 pb-3">
|
||||
<!-- Copy the content below until next comment -->
|
||||
<div class="card card-custom bg-white border-white border-0">
|
||||
<div class="card-custom-avatar2">
|
||||
<img class="img-fluid img2" src="Logo_DCM.png" alt="Avatar" />
|
||||
<p class="card-text direccion">Av. Ing Roberto Pastoriza 164. Sto.Dgo.</p>
|
||||
<p class="card-text telefono">(809)-227-2223)</p>
|
||||
</div>
|
||||
|
||||
<div class="card-custom-avatar">
|
||||
<img class="img-fluid" src="lana.PNG" alt="Avatar" />
|
||||
</div>
|
||||
<div class="card-custom-img"></div>
|
||||
<div class="card-footer">
|
||||
<p class="nombre">Lana Rhoades</p>
|
||||
<p class="cargo">Gerente de RR.HH</p>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Copy until here -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
Before Width: | Height: | Size: 171 KiB |
@@ -14,7 +14,7 @@
|
||||
<rtl:match name="Report" nameConstraint="Report" minOccurs="1" maxOccurs="1">
|
||||
<MINIPAGE name="Page Root" width="max" length="min">
|
||||
<MINIPAGE name="ENCABEZADOSGRAL" width="130" length="560.485" alignment="center" fontSize="9" layoutDirection="leftToRight">
|
||||
<IMAGEBOX name="ImageBox4" x="7" y="5" width="112.489" length="65.8341" anchorX="0" anchorY="0" url="file:///E:/MARMOTECHC/BIN320/IMAGENES/Logo_DCM.PNG" intendedResolution="96"/>
|
||||
<IMAGEBOX name="ImageBox4" x="7" y="5" width="112.489" length="65.8341" anchorX="0" anchorY="0" url="IMAGENES/Logo_DCM.png" intendedResolution="96"/>
|
||||
<LAYOUTNODE name="Layout Node8" y="max-181.379" width="min" length="min" anchorY="1" floatingBehavior="enclosed">
|
||||
<rtl:input-variable name="p_companias.nombre" type="FGLString" expectedLocation="expectedAhead"/>
|
||||
<WORDWRAPBOX name="p_companias.nombre Value" width="width("M")*20" alignment="baseline" fontSize="12" fontBold="true" baselineType="leftleft" text="{{p_companias.nombre}}"/>
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
Date: 03/02/2026 Time: 10:46:04
|
||||
Program error at 'ccprmt017.4gl', line number 28.
|
||||
SQL statement error number -930 (-18456).
|
||||
[Microsoft][SQL Server Native Client 11.0][SQL Server]Error de inicio de sesión del usuario ''.
|
||||
Date: 03/02/2026 Time: 10:46:25
|
||||
Program error at 'ccprmt017.4gl', line number 60.
|
||||
FORMS statement error number -1110.
|
||||
Form file (cpfmt017) not found.
|
||||
Date: 03/02/2026 Time: 10:46:49
|
||||
Program error at 'ccprmt017.4gl', line number 60.
|
||||
FORMS statement error number -1110.
|
||||
Form file (ccfmt017) not found.
|
||||
Date: 03/02/2026 Time: 10:47:04
|
||||
Program error at 'ccprmt017.4gl', line number 62.
|
||||
FORMS statement error number -1102.
|
||||
Field (comisiones) not found in form.
|
||||
Date: 03/02/2026 Time: 10:48:00
|
||||
Program error at 'ccprmt017.4gl', line number 79.
|
||||
SQL statement error number -206 (-208).
|
||||
[Microsoft][SQL Server Native Client 11.0][SQL Server]Invalid object name 'ctb9'.
|
||||
Date: 03/02/2026 Time: 10:55:18
|
||||
Program error at 'ccprmt017.4gl', line number 73.
|
||||
SQL statement error number -6372 (-4104).
|
||||
[Microsoft][SQL Server Native Client 11.0][SQL Server]The multi-part identifier "a.id" could not be bound.
|
||||
Date: 03/02/2026 Time: 10:56:56
|
||||
Program error at 'ccprmt017.4gl', line number 65.
|
||||
SQL statement error number -284 (-1).
|
||||
A subquery has returned not exactly one row.
|
||||
@@ -0,0 +1,62 @@
|
||||
<?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="a4width" RWPageLength="a4length" RWLeftMargin="1.3cm" RWTopMargin="1.3cm" RWRightMargin="1.3cm" RWBottomMargin="1.3cm">
|
||||
<report:FormatList>
|
||||
<report:Format-SVG/>
|
||||
<report:Format-PDF/>
|
||||
<report:Format-image/>
|
||||
</report:FormatList>
|
||||
</report:Settings>
|
||||
<report:Data RWFglReportName="ventas"/>
|
||||
<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" fontName="Arial" fontSize="8">
|
||||
<LAYOUTNODE name="header" width="min" length="min" alignment="center" port="firstPageHeader">
|
||||
<WORDBOX name="Title" width="500" length="24" alignment="near" fontSize="15" fontBold="true" textAlignment="center" text="Clientes sin Ventas"/>
|
||||
<LAYOUTNODE name="espacio titulo" width="500" length="6"/>
|
||||
</LAYOUTNODE>
|
||||
<rtl:match name="Group sec_vend" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
|
||||
<MINIPAGE name="info" width="min" length="max" layoutDirection="leftToRight" fontBold="true">
|
||||
<rtl:input-variable name="empresa" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDWRAPBOX name="empresa Value" width="170" length="12" alignment="baseline" floatingBehavior="enclosed" text="{{empresa}}"/>
|
||||
<rtl:input-variable name="titulo" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDWRAPBOX name="titulo Value" width="330" length="12" alignment="baseline" floatingBehavior="enclosed" textAlignment="right" text="{{titulo}}"/>
|
||||
</MINIPAGE>
|
||||
<LAYOUTNODE name="espacio info" width="500" length="6"/>
|
||||
<MINIPAGE name="vendedor header" width="min" length="max" layoutDirection="leftToRight" bgColor="#cccccc" fontBold="true">
|
||||
<rtl:input-variable name="vendedor" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDWRAPBOX name="vendedor Value" width="500" length="12" alignment="baseline" floatingBehavior="enclosed" text="{{vendedor}}"/>
|
||||
</MINIPAGE>
|
||||
<MINIPAGE name="encabezado" width="min" length="max" bgColor="#eeeeee" fontBold="true" layoutDirection="leftToRight">
|
||||
<WORDBOX name="h1" width="170" length="12" alignment="baseline" text="Cliente"/>
|
||||
<WORDBOX name="h2" width="55" length="12" alignment="baseline" textAlignment="right" text="Factura"/>
|
||||
<WORDBOX name="h3" width="70" length="12" alignment="baseline" textAlignment="right" text="Fecha"/>
|
||||
<WORDBOX name="h4" width="75" length="12" alignment="baseline" textAlignment="right" text="Valor"/>
|
||||
<WORDBOX name="h5" width="45" length="12" alignment="baseline" textAlignment="right" text="No.dias"/>
|
||||
<WORDBOX name="h6" width="85" length="12" alignment="baseline" textAlignment="right" text="Balance"/>
|
||||
</MINIPAGE>
|
||||
<rtl:match name="OnEveryRow" nameConstraint="OnEveryRow" minOccurs="0" maxOccurs="unbounded">
|
||||
<MINIPAGE name="fila" width="min" length="max" layoutDirection="leftToRight">
|
||||
<rtl:input-variable name="cli" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDWRAPBOX name="cli Value" width="170" length="12" alignment="baseline" floatingBehavior="enclosed" text="{{cli}}"/>
|
||||
<rtl:input-variable name="x.factura" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="factura Value" width="55" length="12" alignment="baseline" textAlignment="right" floatingBehavior="enclosed" format="------&" value="{{x.factura}}"/>
|
||||
<rtl:input-variable name="fec" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDWRAPBOX name="fec Value" width="70" length="12" alignment="baseline" textAlignment="right" floatingBehavior="enclosed" text="{{fec}}"/>
|
||||
<rtl:input-variable name="x.valor" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="valor Value" width="75" length="12" alignment="baseline" textAlignment="right" floatingBehavior="enclosed" format="-,---,--&.&&" value="{{x.valor}}"/>
|
||||
<rtl:input-variable name="dias_c" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="dias Value" width="45" length="12" alignment="baseline" textAlignment="right" floatingBehavior="enclosed" format="---,--&" value="{{dias_c}}"/>
|
||||
<rtl:input-variable name="x.balance" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="balance Value" width="85" length="12" alignment="baseline" textAlignment="right" floatingBehavior="enclosed" format="---,---,--&.&&" value="{{x.balance}}"/>
|
||||
</MINIPAGE>
|
||||
</rtl:match>
|
||||
<LAYOUTNODE name="espacio vendedor" width="500" length="14"/>
|
||||
</rtl:match>
|
||||
</MINIPAGE>
|
||||
</rtl:match>
|
||||
</PXML>
|
||||
</rtl:stylesheet>
|
||||
</report:Report>
|
||||
@@ -0,0 +1,94 @@
|
||||
<?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="a4length" RWPageLength="a4width" RWLeftMargin="1.3cm" RWTopMargin="1.3cm" RWRightMargin="1.3cm" RWBottomMargin="1.3cm">
|
||||
<report:FormatList>
|
||||
<report:Format-SVG/>
|
||||
<report:Format-PDF/>
|
||||
<report:Format-image/>
|
||||
</report:FormatList>
|
||||
</report:Settings>
|
||||
<report:Data RWFglReportName="estado3"/>
|
||||
<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" fontName="Arial" fontSize="8">
|
||||
<LAYOUTNODE name="header" width="min" length="min" alignment="center" port="firstPageHeader">
|
||||
<WORDBOX name="Title" width="720" length="24" alignment="near" fontSize="15" fontBold="true" textAlignment="center" text="Saldos por Antiguedad"/>
|
||||
<LAYOUTNODE name="espacio titulo" width="720" length="6"/>
|
||||
</LAYOUTNODE>
|
||||
<rtl:match name="Group grupo" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
|
||||
<MINIPAGE name="info" width="min" length="max" layoutDirection="leftToRight" fontBold="true">
|
||||
<rtl:input-variable name="x.empresa" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDWRAPBOX name="empresa Value" width="300" length="12" alignment="baseline" floatingBehavior="enclosed" text="{{x.empresa}}"/>
|
||||
<rtl:input-variable name="x.titulo" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDWRAPBOX name="titulo Value" width="420" length="12" alignment="baseline" floatingBehavior="enclosed" textAlignment="right" text="{{x.titulo}}"/>
|
||||
</MINIPAGE>
|
||||
<LAYOUTNODE name="espacio info" width="720" length="6"/>
|
||||
<MINIPAGE name="encabezado" width="min" length="max" bgColor="#cccccc" fontBold="true" layoutDirection="leftToRight">
|
||||
<WORDBOX name="h1" width="190" length="12" alignment="baseline" text="Cliente"/>
|
||||
<WORDBOX name="h2" width="75" length="12" alignment="baseline" textAlignment="right" text="Corriente"/>
|
||||
<WORDBOX name="h3" width="75" length="12" alignment="baseline" textAlignment="right" text="De 1 a 30"/>
|
||||
<WORDBOX name="h4" width="75" length="12" alignment="baseline" textAlignment="right" text="De 31 a 60"/>
|
||||
<WORDBOX name="h5" width="75" length="12" alignment="baseline" textAlignment="right" text="De 61 a 90"/>
|
||||
<WORDBOX name="h6" width="75" length="12" alignment="baseline" textAlignment="right" text="Mas de 90"/>
|
||||
<WORDBOX name="h7" width="85" length="12" alignment="baseline" textAlignment="right" text="Total"/>
|
||||
<WORDBOX name="h8" width="45" length="12" alignment="baseline" textAlignment="right" text="%"/>
|
||||
</MINIPAGE>
|
||||
<rtl:match name="OnEveryRow" nameConstraint="OnEveryRow" minOccurs="0" maxOccurs="unbounded">
|
||||
<MINIPAGE name="fila" width="min" length="max" layoutDirection="leftToRight">
|
||||
<rtl:input-variable name="x.cliente" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDWRAPBOX name="cliente Value" width="190" length="12" alignment="baseline" floatingBehavior="enclosed" text="{{x.cliente}}"/>
|
||||
<rtl:input-variable name="x.c1" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="c1 Value" width="75" length="12" alignment="baseline" textAlignment="right" floatingBehavior="enclosed" format="--,---,--&.&&" value="{{x.c1}}"/>
|
||||
<rtl:input-variable name="x.c2" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="c2 Value" width="75" length="12" alignment="baseline" textAlignment="right" floatingBehavior="enclosed" format="--,---,--&.&&" value="{{x.c2}}"/>
|
||||
<rtl:input-variable name="x.c3" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="c3 Value" width="75" length="12" alignment="baseline" textAlignment="right" floatingBehavior="enclosed" format="--,---,--&.&&" value="{{x.c3}}"/>
|
||||
<rtl:input-variable name="x.c4" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="c4 Value" width="75" length="12" alignment="baseline" textAlignment="right" floatingBehavior="enclosed" format="--,---,--&.&&" value="{{x.c4}}"/>
|
||||
<rtl:input-variable name="x.c5" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="c5 Value" width="75" length="12" alignment="baseline" textAlignment="right" floatingBehavior="enclosed" format="--,---,--&.&&" value="{{x.c5}}"/>
|
||||
<rtl:input-variable name="x.total" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="total Value" width="85" length="12" alignment="baseline" textAlignment="right" floatingBehavior="enclosed" format="--,---,---,--&.&&" value="{{x.total}}"/>
|
||||
<rtl:input-variable name="x.pct" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="pct Value" width="45" length="12" alignment="baseline" textAlignment="right" floatingBehavior="enclosed" format="---&.&&" value="{{x.pct}}"/>
|
||||
</MINIPAGE>
|
||||
</rtl:match>
|
||||
<LAYOUTNODE name="espacio totales" width="720" length="8"/>
|
||||
<MINIPAGE name="totales" width="min" length="max" layoutDirection="leftToRight" bgColor="#eeeeee" fontBold="true">
|
||||
<WORDBOX name="tl" width="190" length="12" alignment="baseline" textAlignment="right" text="Totales -->"/>
|
||||
<rtl:input-variable name="t30" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="t30 Value" width="75" length="12" alignment="baseline" textAlignment="right" floatingBehavior="enclosed" format="--,---,--&.&&" value="{{t30}}"/>
|
||||
<rtl:input-variable name="t45" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="t45 Value" width="75" length="12" alignment="baseline" textAlignment="right" floatingBehavior="enclosed" format="--,---,--&.&&" value="{{t45}}"/>
|
||||
<rtl:input-variable name="t60" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="t60 Value" width="75" length="12" alignment="baseline" textAlignment="right" floatingBehavior="enclosed" format="--,---,--&.&&" value="{{t60}}"/>
|
||||
<rtl:input-variable name="tm60" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="tm60 Value" width="75" length="12" alignment="baseline" textAlignment="right" floatingBehavior="enclosed" format="--,---,--&.&&" value="{{tm60}}"/>
|
||||
<rtl:input-variable name="tm120" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="tm120 Value" width="75" length="12" alignment="baseline" textAlignment="right" floatingBehavior="enclosed" format="--,---,--&.&&" value="{{tm120}}"/>
|
||||
<rtl:input-variable name="tsaldo" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="tsaldo Value" width="85" length="12" alignment="baseline" textAlignment="right" floatingBehavior="enclosed" format="--,---,---,--&.&&" value="{{tsaldo}}"/>
|
||||
</MINIPAGE>
|
||||
<MINIPAGE name="cxc" width="min" length="max" layoutDirection="leftToRight" fontBold="true">
|
||||
<WORDBOX name="cl" width="190" length="12" alignment="baseline" textAlignment="right" text="Total CXC -->"/>
|
||||
<rtl:input-variable name="ct30" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="ct30 Value" width="75" length="12" alignment="baseline" textAlignment="right" floatingBehavior="enclosed" format="--,---,--&.&&" value="{{ct30}}"/>
|
||||
<rtl:input-variable name="ct45" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="ct45 Value" width="75" length="12" alignment="baseline" textAlignment="right" floatingBehavior="enclosed" format="--,---,--&.&&" value="{{ct45}}"/>
|
||||
<rtl:input-variable name="ct60" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="ct60 Value" width="75" length="12" alignment="baseline" textAlignment="right" floatingBehavior="enclosed" format="--,---,--&.&&" value="{{ct60}}"/>
|
||||
<rtl:input-variable name="ctm60" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="ctm60 Value" width="75" length="12" alignment="baseline" textAlignment="right" floatingBehavior="enclosed" format="--,---,--&.&&" value="{{ctm60}}"/>
|
||||
<rtl:input-variable name="ctm120" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="ctm120 Value" width="75" length="12" alignment="baseline" textAlignment="right" floatingBehavior="enclosed" format="--,---,--&.&&" value="{{ctm120}}"/>
|
||||
<rtl:input-variable name="ctsaldo" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="ctsaldo Value" width="85" length="12" alignment="baseline" textAlignment="right" floatingBehavior="enclosed" format="--,---,---,--&.&&" value="{{ctsaldo}}"/>
|
||||
</MINIPAGE>
|
||||
</rtl:match>
|
||||
</MINIPAGE>
|
||||
</rtl:match>
|
||||
</PXML>
|
||||
</rtl:stylesheet>
|
||||
</report:Report>
|
||||
@@ -0,0 +1,84 @@
|
||||
<?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="a4width" RWPageLength="a4length" RWLeftMargin="1.3cm" RWTopMargin="1.3cm" RWRightMargin="1.3cm" RWBottomMargin="1.3cm">
|
||||
<report:FormatList>
|
||||
<report:Format-SVG/>
|
||||
<report:Format-PDF/>
|
||||
<report:Format-image/>
|
||||
</report:FormatList>
|
||||
</report:Settings>
|
||||
<report:Data RWFglReportName="estado18"/>
|
||||
<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" fontName="Arial" fontSize="8">
|
||||
<LAYOUTNODE name="header" width="min" length="min" alignment="center" port="firstPageHeader">
|
||||
<WORDBOX name="Title" width="500" length="24" alignment="near" fontSize="15" fontBold="true" textAlignment="center" text="Estado de Cuentas Pendientes de Cobro"/>
|
||||
<LAYOUTNODE name="espacio titulo" width="500" length="8"/>
|
||||
</LAYOUTNODE>
|
||||
<rtl:match name="Group codigo" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
|
||||
<MINIPAGE name="cliente header" width="min" length="max" layoutDirection="leftToRight" bgColor="#cccccc" fontBold="true">
|
||||
<rtl:input-variable name="x.cliente" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDWRAPBOX name="cliente Value" width="290" length="12" alignment="baseline" floatingBehavior="enclosed" text="{{x.cliente}}"/>
|
||||
<rtl:input-variable name="x.limite" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDWRAPBOX name="limite Value" width="210" length="12" alignment="baseline" floatingBehavior="enclosed" textAlignment="right" text="{{x.limite}}"/>
|
||||
</MINIPAGE>
|
||||
<MINIPAGE name="direccion header" width="min" length="max" layoutDirection="leftToRight" bgColor="#eeeeee">
|
||||
<rtl:input-variable name="x.direccion" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDWRAPBOX name="direccion Value" width="230" length="12" alignment="baseline" floatingBehavior="enclosed" text="{{x.direccion}}"/>
|
||||
<rtl:input-variable name="x.zona" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDWRAPBOX name="zona Value" width="190" length="12" alignment="baseline" floatingBehavior="enclosed" text="{{x.zona}}"/>
|
||||
<rtl:input-variable name="x.corte" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDWRAPBOX name="corte Value" width="80" length="12" alignment="baseline" floatingBehavior="enclosed" textAlignment="right" text="{{x.corte}}"/>
|
||||
</MINIPAGE>
|
||||
<MINIPAGE name="encabezado" width="min" length="max" bgColor="#eeeeee" fontBold="true" layoutDirection="leftToRight">
|
||||
<WORDBOX name="h1" width="130" length="12" alignment="baseline" text="Documento"/>
|
||||
<WORDBOX name="h2" width="80" length="12" alignment="baseline" text="Fecha"/>
|
||||
<WORDBOX name="h3" width="100" length="12" alignment="baseline" textAlignment="right" text="Valor"/>
|
||||
<WORDBOX name="h4" width="100" length="12" alignment="baseline" textAlignment="right" text="Balance"/>
|
||||
<WORDBOX name="h5" width="60" length="12" alignment="baseline" textAlignment="right" text="Dias"/>
|
||||
</MINIPAGE>
|
||||
<rtl:match name="OnEveryRow" nameConstraint="OnEveryRow" minOccurs="0" maxOccurs="unbounded">
|
||||
<MINIPAGE name="fila" width="min" length="max" layoutDirection="leftToRight">
|
||||
<rtl:input-variable name="x.documento" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDWRAPBOX name="documento Value" width="130" length="12" alignment="baseline" floatingBehavior="enclosed" text="{{x.documento}}"/>
|
||||
<rtl:input-variable name="x.fecha" type="FGLString" expectedLocation="expectedHere"/>
|
||||
<WORDWRAPBOX name="fecha Value" width="80" length="12" alignment="baseline" floatingBehavior="enclosed" text="{{x.fecha}}"/>
|
||||
<rtl:input-variable name="x.valor" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="valor Value" width="100" length="12" alignment="baseline" textAlignment="right" floatingBehavior="enclosed" format="--,---,---,--&.&&" value="{{x.valor}}"/>
|
||||
<rtl:input-variable name="x.balance" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="balance Value" width="100" length="12" alignment="baseline" textAlignment="right" floatingBehavior="enclosed" format="--,---,---,--&.&&" value="{{x.balance}}"/>
|
||||
<rtl:input-variable name="x.dias" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="dias Value" width="60" length="12" alignment="baseline" textAlignment="right" floatingBehavior="enclosed" format="----&" value="{{x.dias}}"/>
|
||||
</MINIPAGE>
|
||||
</rtl:match>
|
||||
<MINIPAGE name="antiguedad header" width="min" length="max" layoutDirection="leftToRight" bgColor="#eeeeee" fontBold="true">
|
||||
<WORDBOX name="a1" width="80" length="12" alignment="baseline" textAlignment="right" text="No vencido"/>
|
||||
<WORDBOX name="a2" width="80" length="12" alignment="baseline" textAlignment="right" text="1 a 30"/>
|
||||
<WORDBOX name="a3" width="80" length="12" alignment="baseline" textAlignment="right" text="31 a 45"/>
|
||||
<WORDBOX name="a4" width="80" length="12" alignment="baseline" textAlignment="right" text="46 a 60"/>
|
||||
<WORDBOX name="a5" width="80" length="12" alignment="baseline" textAlignment="right" text="Mas de 60"/>
|
||||
<WORDBOX name="a6" width="90" length="12" alignment="baseline" textAlignment="right" text="Total"/>
|
||||
</MINIPAGE>
|
||||
<MINIPAGE name="antiguedad valores" width="min" length="max" layoutDirection="leftToRight" fontBold="true">
|
||||
<rtl:input-variable name="nov" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="nov Value" width="80" length="12" alignment="baseline" textAlignment="right" floatingBehavior="enclosed" format="--,---,--&.&&" value="{{nov}}"/>
|
||||
<rtl:input-variable name="d1" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="d1 Value" width="80" length="12" alignment="baseline" textAlignment="right" floatingBehavior="enclosed" format="--,---,--&.&&" value="{{d1}}"/>
|
||||
<rtl:input-variable name="d2" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="d2 Value" width="80" length="12" alignment="baseline" textAlignment="right" floatingBehavior="enclosed" format="--,---,--&.&&" value="{{d2}}"/>
|
||||
<rtl:input-variable name="d3" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="d3 Value" width="80" length="12" alignment="baseline" textAlignment="right" floatingBehavior="enclosed" format="--,---,--&.&&" value="{{d3}}"/>
|
||||
<rtl:input-variable name="d4" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="d4 Value" width="80" length="12" alignment="baseline" textAlignment="right" floatingBehavior="enclosed" format="--,---,--&.&&" value="{{d4}}"/>
|
||||
<rtl:input-variable name="total" type="FGLNumeric" expectedLocation="expectedHere"/>
|
||||
<DECIMALFORMATBOX name="total Value" width="90" length="12" alignment="baseline" textAlignment="right" floatingBehavior="enclosed" format="--,---,---,--&.&&" value="{{total}}"/>
|
||||
</MINIPAGE>
|
||||
<LAYOUTNODE name="espacio cliente" width="500" length="14"/>
|
||||
</rtl:match>
|
||||
</MINIPAGE>
|
||||
</rtl:match>
|
||||
</PXML>
|
||||
</rtl:stylesheet>
|
||||
</report:Report>
|
||||
@@ -1,24 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<SemillaModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||
<valor>WwW0VXsgqcEZbOUMnVD20kgn+7/K40O9Ms5zZEGSzf7SikTV6wAEHjdzDEVwLKJIAPKFe9rp3MfPi7xnv40mu2980EsrpRTmllVIaTOE0KeeBoZekOGC1Tn18R+JuHetNBAchOdWIGpk6LRkEp0yQA==</valor>
|
||||
<fecha>2026-07-16T10:42:51.0668064-04:00</fecha>
|
||||
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
|
||||
<SignedInfo>
|
||||
<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
|
||||
<SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/>
|
||||
<Reference URI="">
|
||||
<Transforms>
|
||||
<Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
|
||||
</Transforms>
|
||||
<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
|
||||
<DigestValue>k9ci+rdnRRpaPe2vZCrPGdlMXuTNtEdV3IRbSCIuuPw=</DigestValue>
|
||||
</Reference>
|
||||
</SignedInfo>
|
||||
<SignatureValue>Ut48SQO6/VuztmFtDFgReAN6xLxrX29XK49U0nIybLvk3c+ps6b8VAHIBkSI/zdy+8YzLszlHGn0WIQAp661HS1kZ1ZSXaZ8nSri1Zl8HyB8ArvCHJqmaBgwnkxVoX+T5OgEqbDHtsBRc0keq88xLF5UcFG1dEcMlvmiM6wTHhj6JSTgTYjtAy3oDdgniO/JLc/iDVJqwAiZEwCkYmayo9uBxv+Jz+IuLhsqrt6dFJHfBEJZA3jyMBNMdSriE1LbVyGcjpFCb482r7Sr5w+ngt8mtrA2cT5QP949lHiRpvbgvkiStF2X8urB4Vgs1UTNV/d/0zOsucUpfdPBJY+KGA==</SignatureValue>
|
||||
<KeyInfo>
|
||||
<X509Data>
|
||||
<X509Certificate>MIIJgDCCB2igAwIBAgIILvImiGW0S1gwDQYJKoZIhvcNAQELBQAwgbgxFzAVBgNVBGEMDlZBVERPLTQwMTAyMzY4MSMwIQYDVQQDDBpkaWdpZmlybWEgQ0EgU3Vib3JkaW5hZGEgMTESMBAGA1UECwwJZGlnaWZpcm1hMTswOQYDVQQKDDJDw6FtYXJhIGRlIENvbWVyY2lvIHkgUHJvZHVjY2nDs24gZGUgU2FudG8gRG9taW5nbzEaMBgGA1UEBwwRRGlzdHJpdG8gTmFjaW9uYWwxCzAJBgNVBAYTAkRPMB4XDTI1MDkwMzE1MDcwMFoXDTI3MDkwMzE1MDcwMFowgbYxOzA5BgNVBAkMMkNBTExFIENFTlRSQUwgTUFEUkVWSUVKQSBOT1JURSwwOTAxMCxTYW4gQ3Jpc3RvYmFsMSEwHwYDVQQDDBhKT1JHRSBSSUNBUkRPIFNVQkVSTyBJU0ExGjAYBgNVBAUTEUlEQ0RPLTAxMzAwMDQ4NjY1MRYwFAYDVQQqDA1KT1JHRSBSSUNBUkRPMRMwEQYDVQQEDApTVUJFUk8gSVNBMQswCQYDVQQGEwJETzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJDFW87AVh9FknnJSlXpHVzRnuS5hzcQlpXVweQvVxEAXksq6i2bX7UCrS6RFOyR1fm59daQuxyk3Ralk4StBMUXg1fpVe1WWi4+rDccIHtRf+SvC7bhCAITk6kUnWGLs03ZrAIxWmQQtQCF8KMIVhSqIGnKRR3UzKq0s9Mi/yBSkvLobuSUDJFpV80cdt17eww9BiHEMnyoedHJ+Dd/11UAFehnhNhzNvIJwdWu2TZO2SAKPmAHc2oZwHkCz0laQAbWwrq2vEXQ55Hw8mclhE3c/zqUjn/KDlmfXaTK2gilvGPnFjQqIR7PeXD9WfKMQZDDcJr9w59o+lGL7NNbHJkCAwEAAaOCBIwwggSIMHoGCCsGAQUFBwEDBG4wbDAIBgYEAI5GAQEwCwYGBACORgEDAgEUMAgGBgQAjkYBBDA0BgYEAI5GAQUwKjAoFiJodHRwczovL2Rwcy5jYW1hcmFzYW50b2RvbWluZ28uZG8vEwJFTjATBgYEAI5GAQYwCQYHBACORgEGATCB3AYIKwYBBQUHAQEEgc8wgcwwSAYIKwYBBQUHMAKGPGh0dHBzOi8vd3d3LmNhbWFyYXNhbnRvZG9taW5nby5kby9kaWdpZmlybWEvQ0NQU0RfY2FkZW5hLmNydDA/BggrBgEFBQcwAYYzaHR0cDovL29jc3AxLmNhbWFyYXNhbnRvZG9taW5nby5kby9wdWJsaWMvcGtpL29jc3AvMD8GCCsGAQUFBzABhjNodHRwOi8vb2NzcDIuY2FtYXJhc2FudG9kb21pbmdvLmRvL3B1YmxpYy9wa2kvb2NzcC8wHQYDVR0OBBYEFFdrvC9iM4+tPDIWPR+/gnqvDeTdMB8GA1UdIwQYMBaAFM7rpVkdIemjmSWnCkqsx5WQBhELMCoGA1UdEgQjMCGBH2RpZ2lmaXJtYUBjYW1hcmFzYW50b2RvbWluZ28uZG8wggHZBgNVHSAEggHQMIIBzDAJBgcEAIvsQAEAMIIBvQYLKwYBBAGBzHwBAwEwggGsMC4GCCsGAQUFBwIBFiJodHRwczovL2Nwcy5jYW1hcmFzYW50b2RvbWluZ28uZG8vMIIBeAYIKwYBBQUHAgIwggFqHoIBZgBDAGUAcgB0AGkAZgBpAGMAYQBkAG8AIABwAGEAcgBhACAAcAByAG8AYwBlAGQAaQBtAGkAZQBuAHQAbwBzACAAdAByAGkAYgB1AHQAYQByAGkAbwBzACAAZQBuACAAcAAxADIAIABlAG0AaQB0AGkAZABvACAAcABvAHIAIABDAEMAUABTAEQALAAgAHUAYgBpAGMAYQBkAG8AIABBAHYAZQAuACAAMgA3ACAAZABlACAAZgBlAGIAcgBlAHIAbwAgAGUAcwBxACAAdABpAHIAYQBkAGUAbgB0AGUAcwAgADIAMgA4ACAAdABvAHIAcgBlACAAZgByAGkAdQBzAGEALAAgAEwAYQAgAEUAcwBwAGUAcgBpAGwAbABhACwAIABTAGEAbgB0AG8AIABEAG8AbQBpAG4AZwBvACwAIABSAGUAcAD6AGIAbABpAGMAYQAgAEQAbwBtAGkAbgBpAGMAYQBuAGEwgY8GA1UdHwSBhzCBhDBAoD6gPIY6aHR0cDovL2NybDEuY2FtYXJhc2FudG9kb21pbmdvLmRvL3B1YmxpYy9wa2kvY3JsL0NDUFNELmNybDBAoD6gPIY6aHR0cDovL2NybDIuY2FtYXJhc2FudG9kb21pbmdvLmRvL3B1YmxpYy9wa2kvY3JsL0NDUFNELmNybDAOBgNVHQ8BAf8EBAMCBeAwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMEMCEGA1UdEQQaMBiBFmpzb3RvQG1hcm1vdGVjaC5jb20uZG8wDQYJKoZIhvcNAQELBQADggIBAIiGfGfXGgO5zHP5BkVKAUHMkKrUP7G3ohexFPp53Io1WbdL3L7oE8EtArLQyySdWr+0Yxb/6VE74krBUb+RhpghKlIhOTqsJvOL8Bdo3prI23hZWi2A4wHZn99W3pISBU2PE8QTodoaR0yOpIgqyYCIZmgHGSExFymDHp8iwfqxSS3HWnXgK5eI5iU/Zisl9bPBhHrFR1j9WjnZTx7IxocGmvd/efn26dJ3MgTP/TUx0P7jatukcTUazl6N9Ht/rHFBSan9vzG+rgSPRvT/flIRhSJyUvVuBGv1+NJWy5R1HoazlVO0cR4QB+U3nvg6E1j0ceccybWjIowA38pU/YpI81UVXSl0dbtwrFPrRmMzfnvMATX8H1NrOb98cLlIss9U1yWQxdyTes4mItBTYjA0K0ESUFGKL3ZputaM7KDW85kWkjXQj/TJP4DClyzO4SjVx9ZFqSkz+yFzlvbfTU7clVshJHYxlmuO+nou19+2l7SPHz2UaikU4JAmdn9bNIypte31BF30rahUywK6ePT1nQ5xL1tSIe2m9BtyG/45yiHobm7kljEeBl4EzkY2mFEp84cH4s28BbRF/S2p8xkGFqNtDKa+DwcWd97IG+62en+/2vE75a9KRUxneW8Ipl6P/e5moXyLYLZS0lMGShBom8cTYdLFFRAPbksXIa5U</X509Certificate>
|
||||
</X509Data>
|
||||
</KeyInfo>
|
||||
</Signature>
|
||||
</SemillaModel>
|
||||
@@ -1,32 +0,0 @@
|
||||
// check_cert_match.js
|
||||
const fs = require('fs');
|
||||
const crypto = require('crypto');
|
||||
|
||||
function pemToDer(pem) {
|
||||
return Buffer.from(
|
||||
pem.replace(/-----BEGIN CERTIFICATE-----/g, '')
|
||||
.replace(/-----END CERTIFICATE-----/g, '')
|
||||
.replace(/\s+/g, ''),
|
||||
'base64'
|
||||
);
|
||||
}
|
||||
|
||||
function sha1Fingerprint(der) {
|
||||
return crypto.createHash('sha1').update(der).digest('hex').toUpperCase().match(/.{2}/g).join(':');
|
||||
}
|
||||
|
||||
// 1) Cert PEM que usa FourJs (el mismo con el que te funciona): p.ej. .\cert\marmotech\onlyCert.pem
|
||||
const certPemFour = fs.readFileSync('.\\onlyCert.pem', 'utf8');
|
||||
const fpFour = sha1Fingerprint(pemToDer(certPemFour));
|
||||
console.log('Fingerprint PEM:', fpFour);
|
||||
|
||||
// 2) Extraer el cert del XML de FourJs (Signature.xml)
|
||||
const xml = fs.readFileSync('.\\Signature.xml', 'utf8');
|
||||
const m = xml.match(/<X509Certificate>([\s\S]*?)<\/X509Certificate>/i);
|
||||
if (!m) throw new Error('No se encontró <X509Certificate> en Signature.xml');
|
||||
const certFromXmlDer = Buffer.from(m[1].replace(/\s+/g, ''), 'base64');
|
||||
const fpXml = sha1Fingerprint(certFromXmlDer);
|
||||
console.log('Fingerprint en Signature.xml:', fpXml);
|
||||
|
||||
// Comparar
|
||||
console.log('¿Coinciden? ', fpFour === fpXml ? 'SÍ ✅' : 'NO ❌');
|
||||