Avanzar en registro y correccion de ipprmt044 (Productos Terminados)

- Registrar 8 archivos faltantes en FUNCIONES_IP (ipautorizareq, codigoModificacion,
  piking, conduces, ubicacionH, ipactualizareqtrx, loadDespiece, LlenarUbicaciones)
- Agregar dependencias FUNCIONESREPORT y FUNCIONESEMAIL a ipprmt044 (defecto,
  configureOutput, enviaemail ya existian en el proyecto)
- Resolver colision de nombres: renombrar REPORT/FUNCTION duplicados en
  ipautorizareq.4gl (requiere->requiereAutoriza, buscadoc->buscadocAutoriza,
  impdocumento->impdocumentoAutoriza) que chocaban con imprequisiciones.4gl
  y buscarequisicion.4gl
- Sincronizar registros locales desactualizados: x RECORD en ipautorizareq.4gl
  (faltaba us_crea) y x/z RECORD del REPORT formu4 en ipprgb000.4gl (faltaban
  bodega_destino, factura, area, descripcion_area, existencia, disponible,
  codigo_bloque, id_kit) respecto a los registros globales reales
- Migrar ipprmt020_1.4rp desde PROYECTOS y corregir su RWFglReportName

Pendiente: funcion 'fotos' (12 parametros) no existe en ningun archivo del
proyecto, consultado con Johnny
This commit is contained in:
2026-09-10 14:15:49 -04:00
parent e414e52523
commit 987c2c1122
5 changed files with 159 additions and 15 deletions
+126
View File
@@ -0,0 +1,126 @@
<?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="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="../ipdir/ipautorizareq.rdd" RWFglReportName="requiereAutoriza"/>
<report:Conflicts>
<report:Conflict nodeName="encabezado" message="Node was in trigger &quot;FirstPageHeader [0; 1]&quot;, but trigger was removed during schema update"/>
<report:Conflict nodeName="encabezado2" message="Node was in trigger &quot;FirstPageHeader [0; 1]&quot;, but trigger was removed during schema update"/>
<report:Conflict nodeName="encabezadomaster" message="Node was in trigger &quot;FirstPageHeader [0; 1]&quot;, but trigger was removed during schema update"/>
<report:Conflict nodeName="encabezadodetalle" message="Node was in trigger &quot;FirstPageHeader [0; 1]&quot;, but trigger was removed during schema update"/>
<report:Conflict nodeName="despiece" message="Node was in trigger &quot;AfterGroup codigo&quot;, but trigger was removed during schema update"/>
<report:Conflict nodeName="detalledespiece" message="Node was in trigger &quot;AfterGroup codigo&quot;, but trigger was removed during schema update"/>
<report:Conflict nodeName="totaldespiece" message="Node was in trigger &quot;AfterGroup codigo&quot;, but trigger was removed during schema update"/>
</report:Conflicts>
<rtl:stylesheet>
<PXML>
<rtl:match name="Report" nameConstraint="Report" minOccurs="1" maxOccurs="1">
<MINIPAGE name="Page Root" width="max" length="max">
<rtl:match name="FirstPageHeader" nameConstraint="FirstPageHeader" minOccurs="0" maxOccurs="1">
<LAYOUTNODE name="encabezado" width="min" length="max" alignment="center" fontBold="true" layoutDirection="leftToRight" floatingBehavior="enclosed">
<rtl:input-variable name="p_companias.nombre" type="FGLString" expectedLocation="expectedHere"/>
<WORDBOX name="WordBox1" width="max-2cm" floatingBehavior="enclosed" textAlignment="center" text="{{p_companias.nombre}}"/>
<WORDBOX name="WordBox" floatingBehavior="enclosed" text="Pagina:"/>
<PAGENOBOX name="PageNoBox" floatingBehavior="enclosed"/>
</LAYOUTNODE>
<LAYOUTNODE name="encabezado2" width="min" length="max" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox2" width="max-2cm" fontBold="true" floatingBehavior="enclosed" textAlignment="center" text="REQUISICION DOCUMENTOS"/>
<rtl:input-variable name="hora" type="FGLString" expectedLocation="expectedHere"/>
<WORDBOX name="WordBox3" floatingBehavior="enclosed" text="{{hora}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="encabezadomaster" width="min" length="min" fontSize="8" layoutDirection="leftToRight" floatingBehavior="enclosed">
<LAYOUTNODE name="LayoutNode1" width="3inch" length="min" floatingBehavior="enclosed" roundedCorners="true" borderWidth="1" borderStyle="solid">
<rtl:input-variable name="nombreusuario" type="FGLString" expectedLocation="expectedHere"/>
<WORDBOX name="WordBox4" length="1cm" floatingBehavior="enclosed" text="{{&quot;USUARIO: &quot;+nombreusuario.trim()}}"/>
<rtl:input-variable name="x.numero_doc" type="FGLNumeric" expectedLocation="expectedHere"/>
<WORDBOX name="WordBox5" fontSize="12" fontBold="true" floatingBehavior="enclosed" text="{{&quot;DOCUMENTO: &quot;+x.numero_doc.format(&quot;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&quot;)}}"/>
<rtl:input-variable name="x.cod_mov" type="FGLNumeric" expectedLocation="expectedHere"/>
<rtl:input-variable name="nombreMov" type="FGLString" expectedLocation="expectedHere"/>
<WORDWRAPBOX name="WordWrapBox" width="width(&quot;M&quot;)*27" alignment="baseline" floatingBehavior="enclosed" text="{{&quot;TIPO DOCUMENTO: &quot;+&quot;(&quot;+x.cod_mov.format(&quot;&lt;&lt;&lt;&quot;)+&quot;)&quot;+nombreMov.trim()}}"/>
<rtl:input-variable name="x.fecha" type="FGLString" expectedLocation="expectedHere"/>
<WORDBOX name="WordBox6" floatingBehavior="enclosed" text="{{&quot;FECHA: &quot;+x.fecha}}"/>
<rtl:input-variable name="nombreBodega" type="FGLString" expectedLocation="expectedHere"/>
<WORDBOX name="WordBox8" floatingBehavior="enclosed" text="{{&quot;BODEGA: &quot;+nombreBodega}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="LayoutNode2" width="3inch" length="min" floatingBehavior="enclosed" roundedCorners="true" borderWidth="1" borderStyle="solid">
<WORDBOX name="WordBox12" length="1cm" alignment="baseline" floatingBehavior="enclosed"/>
<rtl:input-variable name="nombreBodegaDestino" type="FGLString" expectedLocation="expectedHere"/>
<WORDBOX name="WordBox9" floatingBehavior="enclosed" text="{{&quot;BODEGA DESTINO: &quot;+nombreBodegaDestino}}"/>
<rtl:input-variable name="x.num_oc" type="FGLNumeric" expectedLocation="expectedHere"/>
<WORDBOX name="WordBox10" floatingBehavior="enclosed" text="{{&quot;NUMERO ORDEN:&quot;+x.num_oc.format(&quot;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&quot;)}}"/>
<rtl:input-variable name="vendedor" type="FGLString" expectedLocation="expectedHere"/>
<WORDWRAPBOX name="vendedor Value" class="grwStringValue" width="width(&quot;M&quot;)*25" alignment="baseline" floatingBehavior="enclosed" text="{{&quot;VENDEDOR: &quot;+vendedor.trim()}}"/>
<rtl:input-variable name="x.cliente" type="FGLString" expectedLocation="expectedHere"/>
<WORDWRAPBOX name="WordWrapBox1" width="width(&quot;M&quot;)*27" floatingBehavior="enclosed" text="{{&quot;CLIENTE: &quot;+x.cliente}}"/>
<rtl:input-variable name="x.observacion" type="FGLString" expectedLocation="expectedHere"/>
<WORDWRAPBOX name="WordWrapBox2" width="width(&quot;M&quot;)*20" floatingBehavior="enclosed" text="{{&quot;OBSERVACION: &quot;+x.observacion.trim()}}"/>
</LAYOUTNODE>
</LAYOUTNODE>
<LAYOUTNODE name="encabezadodetalle" width="min" length="min" fontSize="8" fontBold="true" layoutDirection="leftToRight" floatingBehavior="enclosed" roundedCorners="true" borderWidth="1" borderStyle="solid">
<WORDBOX name="WordBox13" width="3.5inch" floatingBehavior="enclosed" text="ITEM(S)" roundedCorners="false" borderWidth="1"/>
<WORDBOX name="WordBox14" width="2.2inch" floatingBehavior="enclosed" textAlignment="right" text="UNIDAD"/>
<WORDBOX name="WordBox15" width="1inch" floatingBehavior="enclosed" textAlignment="right" text="CANTIDAD"/>
</LAYOUTNODE>
</rtl:match>
<rtl:match name="Group codigo" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<MINIPAGE name="table" width="min" length="min" fontSize="8" layoutDirection="leftToRight">
<rtl:input-variable name="detalle.cod_n" type="FGLNumeric" expectedLocation="expectedHere"/>
<rtl:input-variable name="detalle.cod_grupo" type="FGLNumeric" expectedLocation="expectedHere"/>
<rtl:input-variable name="detalle.cod_tipo" type="FGLNumeric" expectedLocation="expectedHere"/>
<rtl:input-variable name="detalle.cod_sec" type="FGLNumeric" expectedLocation="expectedHere"/>
<rtl:input-variable name="detalle.descripcion" type="FGLString" expectedLocation="expectedHere"/>
<rtl:input-variable name="detalle.unidad_med" type="FGLString" expectedLocation="expectedHere"/>
<WORDWRAPBOX name="WordWrapBox3" width="width(&quot;M&quot;)*30" length="min" alignment="baseline" floatingBehavior="enclosed" text="{{detalle.cod_n.format(&quot;&amp;&amp;&amp;&amp;&quot;)+&quot;-&quot;+detalle.cod_grupo.format(&quot;&amp;&amp;&amp;&amp;&quot;)+&quot;-&quot;+detalle.cod_tipo.format(&quot;&amp;&amp;&amp;&amp;&amp;&amp;&quot;)+&quot;-&quot;+detalle.cod_sec.format(&quot;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&quot;)+&quot; &quot;+detalle.descripcion.trim()+&quot; &quot;+detalle.unidad_med}}"/>
<rtl:input-variable name="detalle.cantidad_1" type="FGLNumeric" expectedLocation="expectedHere"/>
<WORDBOX name="WordBox17" width="2.4inch" floatingBehavior="enclosed" textAlignment="right" text="{{detalle.cantidad_1.format(&quot;###,###.#####&quot;)}}"/>
<rtl:input-variable name="detalle.cantidad" type="FGLNumeric" expectedLocation="expectedHere"/>
<WORDBOX name="WordBox18" width="1.5inch" floatingBehavior="enclosed" textAlignment="right" text="{{detalle.cantidad.format(&quot;###,###.#####&quot;)}}"/>
</MINIPAGE>
<rtl:input-variable name="tienedespiece" type="FGLNumeric" expectedLocation="expectedAhead"/>
<LAYOUTNODE name="despiece" rtl:condition="tienedespiece==1" width="min" length="min" fontSize="8" layoutDirection="topToBottom" floatingBehavior="enclosed">
<WORDBOX name="WordBox20" width="max" floatingBehavior="enclosed" textAlignment="center" text="DESPIECE" roundedCorners="true" borderWidth="1" borderStyle="solid"/>
<LAYOUTNODE name="encabezadodespiece" width="min" length="max" layoutDirection="leftToRight" floatingBehavior="enclosed" roundedCorners="true" borderWidth="1" borderStyle="solid">
<WORDBOX name="WordBox24" width="1.5inch" floatingBehavior="enclosed" text="Etiquetas"/>
<WORDBOX name="WordBox26" width="1inch" floatingBehavior="enclosed" textAlignment="right" text="Lado 1"/>
<WORDBOX name="WordBox27" width="1inch" floatingBehavior="enclosed" textAlignment="right" text="Lado 2"/>
<WORDBOX name="WordBox28" width="1inch" floatingBehavior="enclosed" textAlignment="right" text="Lado 3"/>
<WORDBOX name="WordBox29" width="1inch" floatingBehavior="enclosed" textAlignment="right" text="Unidades"/>
<WORDBOX name="WordBox30" width="1inch" floatingBehavior="enclosed" textAlignment="right" text="Medida"/>
</LAYOUTNODE>
</LAYOUTNODE>
<rtl:match name="OnEveryRow" nameConstraint="OnEveryRow" minOccurs="0" maxOccurs="unbounded">
<rtl:input-variable name="tienedespiece" type="FGLNumeric" expectedLocation="expectedHere"/>
<LAYOUTNODE name="detalledespiece" rtl:condition="tienedespiece==1" width="min" length="min" fontSize="8" layoutDirection="leftToRight" floatingBehavior="enclosed">
<rtl:input-variable name="etiqueta" type="FGLString" expectedLocation="expectedHere"/>
<WORDWRAPBOX name="etiqueta Value" class="grwStringValue" width="width(&quot;M&quot;)*15" alignment="baseline" floatingBehavior="enclosed" text="{{etiqueta}}"/>
<rtl:input-variable name="xdespiece.lado_1" type="FGLNumeric" expectedLocation="expectedHere"/>
<DECIMALFORMATBOX name="despiece.lado_1 Value" class="grwNumericValue" width="1inch" anchorX="1" floatingBehavior="enclosed" textAlignment="right" format="---,---,---,--&amp;.&amp;&amp;" value="{{xdespiece.lado_1}}"/>
<rtl:input-variable name="xdespiece.lado_2" type="FGLNumeric" expectedLocation="expectedHere"/>
<DECIMALFORMATBOX name="despiece.lado_2 Value" class="grwNumericValue" width="1inch" anchorX="1" floatingBehavior="enclosed" textAlignment="right" format="---,---,---,--&amp;.&amp;&amp;" value="{{xdespiece.lado_2}}"/>
<rtl:input-variable name="xdespiece.lado_3" type="FGLNumeric" expectedLocation="expectedHere"/>
<DECIMALFORMATBOX name="despiece.lado_3 Value" class="grwNumericValue" width="1inch" anchorX="1" floatingBehavior="enclosed" textAlignment="right" format="---,---,---,--&amp;.&amp;&amp;" value="{{xdespiece.lado_3}}"/>
<rtl:input-variable name="xdespiece.cantidad" type="FGLNumeric" expectedLocation="expectedHere"/>
<DECIMALFORMATBOX name="despiece.cantidad Value" class="grwNumericValue" width="1inch" anchorX="1" floatingBehavior="enclosed" textAlignment="right" format="---,---,---,--&amp;.&amp;&amp;" value="{{xdespiece.cantidad}}"/>
<rtl:input-variable name="xdespiece.medida" type="FGLNumeric" expectedLocation="expectedHere"/>
<DECIMALFORMATBOX name="despiece.medida Value" class="grwNumericValue" width="1inch" anchorX="1" floatingBehavior="enclosed" textAlignment="right" format="---,---,---,--&amp;.&amp;&amp;" value="{{xdespiece.medida}}"/>
</LAYOUTNODE>
</rtl:match>
<rtl:input-variable name="tienedespiece" type="FGLNumeric" expectedLocation="expectedBefore"/>
<LAYOUTNODE name="totaldespiece" rtl:condition="tienedespiece==1" width="min" length="min" fontSize="8" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox21" width="4.8inch" floatingBehavior="enclosed" text="TOTALES"/>
<rtl:input-variable name="total_cantidad" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox22" width="1inch" floatingBehavior="enclosed" text="{{total_cantidad.format(&quot;##,###.#####&quot;)}}"/>
<rtl:input-variable name="total_medida" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox23" width="1inch" floatingBehavior="enclosed" text="{{total_medida.format(&quot;##,###.######&quot;)}}"/>
</LAYOUTNODE>
</rtl:match>
</MINIPAGE>
</rtl:match>
</PXML>
</rtl:stylesheet>
</report:Report>
+12 -11
View File
@@ -77,7 +77,7 @@ FUNCTION ipautorizadas(xusuario)
END IF
ON ACTION imprimir ATTRIBUTE(TEXT="Imprimir", IMAGE="printer")
IF arr_busqueda1[arr_curr()].numeroid > 0 THEN
CALL buscadoc(arr_busqueda1[arr_curr()].numeroid,arr_busqueda1[arr_curr()].cod_mov1)
CALL buscadocAutoriza(arr_busqueda1[arr_curr()].numeroid,arr_busqueda1[arr_curr()].cod_mov1)
LET data.rnumeroDoc = arr_busqueda1[arr_curr()].numeroid
LET data.rcodMov = arr_busqueda1[arr_curr()].cod_mov1
LET data.rtipo_cliente = arr_busqueda1[arr_curr()].rtipo_cliente
@@ -88,7 +88,7 @@ FUNCTION ipautorizadas(xusuario)
LET data.bodega_destino = arr_busqueda1[arr_curr()].bodega_destino
LET nombreUsuario = arr_busqueda1[arr_curr()].usuario
CALL impdocumento()
CALL impdocumentoAutoriza()
END IF
ON ACTION procesar ATTRIBUTE(TEXT="Procesa",IMAGE="")
IF arr_busqueda1[arr_curr()].numeroid > 0 THEN
@@ -172,7 +172,7 @@ FUNCTION buscadataReq(pusuario)
END FUNCTION
FUNCTION buscadoc(numid,codmov)
FUNCTION buscadocAutoriza(numid,codmov)
DEFINE numid,codmov INT
LET vendedor = null
@@ -235,7 +235,7 @@ FUNCTION buscadoc(numid,codmov)
LET idx = idx + 1
END FOREACH
END FUNCTION
FUNCTION impdocumento()
FUNCTION impdocumentoAutoriza()
DEFINE idx_l INT,
xcodigo VARCHAR(50)
LET r_filename = "ipprmt020_1.4rp"
@@ -251,7 +251,7 @@ FUNCTION impdocumento()
ELSE
RETURN
END IF
START REPORT requiere TO XML HANDLER HANDLER
START REPORT requiereAutoriza TO XML HANDLER HANDLER
FOR idx = 1 TO arr_iptb58.getLength()
@@ -261,15 +261,15 @@ FUNCTION impdocumento()
arr_iptb58[idx].cod_tipo USING '&&&&&&','-',
arr_iptb58[idx].cod_sec USING '&&&&&&&'
OUTPUT TO REPORT requiere(p_iptb57.*,arr_iptb58[idx].*,despiece1[idx].*, xcodigo)
OUTPUT TO REPORT requiereAutoriza(p_iptb57.*,arr_iptb58[idx].*,despiece1[idx].*, xcodigo)
END IF
END FOR
FINISH REPORT requiere
FINISH REPORT requiereAutoriza
END FUNCTION
REPORT requiere(x,detalle,xdespiece,codigo)
REPORT requiereAutoriza(x,detalle,xdespiece,codigo)
DEFINE hora STRING,
detalle RECORD
area INT,
@@ -308,7 +308,8 @@ REPORT requiere(x,detalle,xdespiece,codigo)
estado VARCHAR(50),
ruta_documento ,
url_file ,
idestado VARCHAR(200)
idestado VARCHAR(200),
us_crea VARCHAR(50)
END RECORD,
etiqueta VARCHAR(100),
+11 -3
View File
@@ -546,6 +546,7 @@ DEFINE x RECORD
conduce_no LIKE iptb00006.conduce_no,
descrip_mov CHAR(40), #LIKE intb00005.descrip_mov,
bodega LIKE iptb00006.bodega,
bodega_destino SMALLINT,
detalle LIKE iptb00006.detalle,
cod_sp LIKE iptb00006.cod_sp,
cod_sp_sec LIKE iptb00006.cod_sp_sec,
@@ -554,10 +555,13 @@ DEFINE x RECORD
cod_mov1 SMALLINT,
entrada INT,
descrip_mov1 CHAR(40),
descrip4 CHAR(30)
descrip4 CHAR(30),
factura INT
END RECORD
DEFINE z RECORD
area SMALLINT,
descripcion_area VARCHAR(30),
cod_n LIKE intb00003.cod_n,
cod_grupo LIKE intb00003.cod_grupo,
cod_tipo LIKE intb00003.cod_tipo,
@@ -565,8 +569,12 @@ DEFINE z RECORD
cantidad_1 LIKE iptb00006.cantidad_1,
cantidad_2 LIKE iptb00006.cantidad_2,
cantidad_p DEC(12,5),
unidad_med LIKE iptb00002.unidad_med,
descrip_esp CHAR(70)
unidad_med LIKE iptb00002.unidad_med,
descrip_esp CHAR(70),
existencia DEC(12,5),
disponible DEC(12,5),
codigo_bloque CHAR(15),
id_kit INT
END RECORD,
etiqueta,pcalle,purbanizacion,pcasa_num,ptelefono,pcelular,nombre,apellido CHAR(30),
plado1,plado2,plado3,pcantidad,pmedida DEC(12,5),
+10 -1
View File
@@ -508,6 +508,14 @@
<File compilerOptions="--build-rdd" filePath="ipdir/imprequisiciones.4gl"/>
<File filePath="otrodir/funciones_ip.4gl"/>
<File filePath="ipdir/estadosprocesos.4gl"/>
<File compilerOptions="--build-rdd" filePath="ipdir/ipautorizareq.4gl"/>
<File filePath="otrodir/codigoModificacion.4gl"/>
<File filePath="ipdir/piking.4gl"/>
<File filePath="ipdir/conduces.4gl"/>
<File filePath="ipdir/ubicacionH.4gl"/>
<File filePath="otrodir/LlenarUbicaciones.4gl"/>
<File filePath="ipdir/ipactualizareqtrx.4gl"/>
<File filePath="ipdir/loadDespiece.4gl"/>
</Library>
<Application binaryName="ipprmt002" dependencies="1763548104,-1026233879,-764824792" externalDependencies="libgre.42x" id="-960000000" label="ipprmt002">
<Configuration commandLineArguments="jpeguero Peguero2023" id="-961000000" label="Configuration"/>
@@ -526,9 +534,10 @@
<Configuration commandLineArguments="jpeguero Peguero2023" id="-961000003" label="Configuration"/>
<File compilerOptions="--build-rdd" filePath="ipdir/ipprmt021.4gl"/>
</Application>
<Application binaryName="ipprmt044" dependencies="1763548104,-1026233879,-764824792" externalDependencies="libgre.42x" id="-960000004" label="ipprmt044">
<Application binaryName="ipprmt044" dependencies="1763548104,-1026233879,-764824792,-1423229125,493047263" externalDependencies="libgre.42x" id="-960000004" label="ipprmt044">
<Configuration commandLineArguments="jpeguero Peguero2023" id="-961000004" label="Configuration"/>
<File compilerOptions="--build-rdd" filePath="ipdir/ipprmt044.4gl"/>
<File filePath="bin/ipprmt020_1.4rp"/>
</Application>
<Application binaryName="ipprmt064" dependencies="1763548104,-1026233879,-764824792" externalDependencies="libgre.42x" id="-960000005" label="ipprmt064">
<Configuration commandLineArguments="jpeguero Peguero2023" id="-961000005" label="Configuration"/>