Registrar y corregir ipprmt020 (Requisiciones Productos Almacenes)

- Registrar funciones compartidas faltantes (buscarequisicion, imprequisiciones, funciones_ip) y formularios ipfmmt003/ipfmmt020 en el proyecto
- Agregar usuarioSistema a seg000.4gl
- Ampliar combos Codigo Mov/Bodega/Bodega Destino en ipfmmt020.4fd (texto ilegible)
- Refrescar lista de requisiciones al anular (buscarData + clear del arreglo)
This commit is contained in:
2026-09-09 16:30:34 -04:00
parent 9e70c46451
commit a3e88776a9
6 changed files with 145 additions and 8 deletions
+120
View File
@@ -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="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/imprequisiciones.rdd" RWFglReportName="requiere"/>
<report:Conflicts>
<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">
<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="expectedAhead"/>
<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="expectedAhead"/>
<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="expectedWayAhead"/>
<WORDBOX name="WordBox4" length="1cm" floatingBehavior="enclosed" text="{{&quot;USUARIO: &quot;+nombreUsuario.trim()}}"/>
<rtl:input-variable name="p_iptb57.numero_doc" type="FGLNumeric" expectedLocation="expectedWayAhead"/>
<WORDBOX name="WordBox5" fontSize="12" fontBold="true" floatingBehavior="enclosed" text="{{&quot;DOCUMENTO: &quot;+p_iptb57.numero_doc.format(&quot;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&quot;)}}"/>
<rtl:input-variable name="p_iptb57.cod_mov" type="FGLNumeric" expectedLocation="expectedWayAhead"/>
<rtl:input-variable name="nombreMov" type="FGLString" expectedLocation="expectedWayAhead"/>
<WORDWRAPBOX name="WordWrapBox" width="width(&quot;M&quot;)*27" alignment="baseline" floatingBehavior="enclosed" text="{{&quot;TIPO DOCUMENTO: &quot;+&quot;(&quot;+p_iptb57.cod_mov.format(&quot;&lt;&lt;&lt;&quot;)+&quot;)&quot;+nombreMov.trim()}}"/>
<rtl:input-variable name="p_iptb57.fecha" type="FGLString" expectedLocation="expectedWayAhead"/>
<WORDBOX name="WordBox6" floatingBehavior="enclosed" text="{{&quot;FECHA: &quot;+p_iptb57.fecha}}"/>
<rtl:input-variable name="nombreBodega" type="FGLString" expectedLocation="expectedWayAhead"/>
<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="p_iptb57.bodega_destino" type="FGLNumeric" expectedLocation="expectedWayAhead"/>
<rtl:input-variable name="nombreBodegaDestino" type="FGLString" expectedLocation="expectedWayAhead"/>
<WORDBOX name="WordBox9" floatingBehavior="enclosed" text="{{&quot;BODEGA DESTINO: &quot;+&quot;(&quot;+p_iptb57.bodega_destino+&quot;)&quot;+nombreBodegaDestino}}"/>
<rtl:input-variable name="p_iptb57.num_oc" type="FGLNumeric" expectedLocation="expectedWayAhead"/>
<WORDBOX name="WordBox10" floatingBehavior="enclosed" text="{{&quot;NUMERO ORDEN:&quot;+p_iptb57.num_oc.format(&quot;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&quot;)}}"/>
<rtl:input-variable name="p_iptb57.cliente" type="FGLString" expectedLocation="expectedWayAhead"/>
<WORDWRAPBOX name="WordWrapBox1" width="width(&quot;M&quot;)*27" floatingBehavior="enclosed" text="{{&quot;CLIENTE: &quot;+p_iptb57.cliente}}"/>
<rtl:input-variable name="p_iptb57.observacion" type="FGLString" expectedLocation="expectedWayAhead"/>
<WORDWRAPBOX name="WordWrapBox2" width="width(&quot;M&quot;)*20" floatingBehavior="enclosed" text="{{&quot;OBSERVACION: &quot;+p_iptb57.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 name="FirstPageHeader" nameConstraint="FirstPageHeader" minOccurs="0" maxOccurs="1"/>
<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>
+8 -8
View File
@@ -76,9 +76,9 @@
<Edit fieldId="4" gridHeight="1" gridWidth="21" name="email" noEntry="true" posX="38" posY="1" tabIndex="-1" title="edit2" widget="Edit"/>
<Edit fieldId="24" gridHeight="1" gridWidth="23" justify="center" name="estado" noEntry="true" posX="61" posY="1" reverse="true" scroll="true" tabIndex="-1" title="edit2" widget="Edit"/>
<Label gridHeight="1" gridWidth="10" name="label7" posX="1" posY="2" text="Codigo Mov"/>
<ComboBox fieldId="15" gridHeight="1" gridWidth="24" items="" name="cod_mov" posX="12" posY="2" tabIndex="-1" title="combobox1" widget="ComboBox"/>
<Label gridHeight="1" gridWidth="10" name="label4" posX="38" posY="2" text="Orden Pedidos"/>
<Edit fieldId="5" gridHeight="1" gridWidth="10" name="num_oc" posX="49" posY="2" tabIndex="-1" title="edit2" widget="Edit"/>
<ComboBox fieldId="15" gridHeight="1" gridWidth="40" items="" name="cod_mov" posX="12" posY="2" tabIndex="-1" title="combobox1" widget="ComboBox"/>
<Label gridHeight="1" gridWidth="10" name="label4" posX="54" posY="2" text="Orden Pedidos"/>
<Edit fieldId="5" gridHeight="1" gridWidth="10" name="num_oc" posX="65" posY="2" tabIndex="-1" title="edit2" widget="Edit"/>
<Label gridHeight="1" gridWidth="10" name="label1" posX="1" posY="3" text="Numero Doc."/>
<Edit fieldId="1" gridHeight="1" gridWidth="10" name="numero_doc" noEntry="true" posX="12" posY="3" tabIndex="-1" title="edit1" widget="Edit"/>
<Label gridHeight="1" gridWidth="10" name="label5" posX="38" posY="3" text="Cliente"/>
@@ -91,11 +91,11 @@
<Edit fieldId="32" gridHeight="1" gridWidth="46" name="observacion" posX="49" posY="4" scroll="true" tabIndex="-1" title="edit1" widget="Edit"/>
<Button gridHeight="1" gridWidth="10" image="fa-paperclip" name="atardocumento" posX="101" posY="4" tabIndex="-1"/>
<Label gridHeight="1" gridWidth="10" name="label6" posX="1" posY="5" text="Bodega"/>
<ComboBox fieldId="7" gridHeight="1" gridWidth="24" items="" name="bodega" posX="12" posY="5" tabIndex="-1" title="edit2" widget="ComboBox"/>
<Label gridHeight="1" gridWidth="10" name="label8" posX="38" posY="5" text="Bodega Destino"/>
<ComboBox fieldId="16" gridHeight="1" gridWidth="18" items="" name="bodega_destino" posX="49" posY="5" tabIndex="-1" title="combobox1" widget="ComboBox"/>
<Edit fieldId="35" gridHeight="1" gridWidth="31" name="url_file" noEntry="true" posX="68" posY="5" scroll="true" tabIndex="-1" title="edit1" widget="Edit"/>
<Button gridHeight="1" gridWidth="10" image="open2" name="abrirdocumento" posX="101" posY="5" tabIndex="-1"/>
<ComboBox fieldId="7" gridHeight="1" gridWidth="28" items="" name="bodega" posX="12" posY="5" tabIndex="-1" title="edit2" widget="ComboBox"/>
<Label gridHeight="1" gridWidth="14" name="label8" posX="42" posY="5" text="Bodega Destino"/>
<ComboBox fieldId="16" gridHeight="1" gridWidth="28" items="" name="bodega_destino" posX="57" posY="5" tabIndex="-1" title="combobox1" widget="ComboBox"/>
<Edit fieldId="35" gridHeight="1" gridWidth="31" name="url_file" noEntry="true" posX="86" posY="5" scroll="true" tabIndex="-1" title="edit1" widget="Edit"/>
<Button gridHeight="1" gridWidth="10" image="open2" name="abrirdocumento" posX="119" posY="5" tabIndex="-1"/>
<Label gridHeight="1" gridWidth="10" name="label10" posX="1" posY="6" text="Estado Proceso"/>
<Edit fieldId="36" gridHeight="1" gridWidth="24" name="estado_proceso" noEntry="true" posX="12" posY="6" scroll="true" tabIndex="-1" title="edit1" widget="Edit"/>
</Group>
+2
View File
@@ -108,6 +108,7 @@ FUNCTION ipprmt020()
LET p_iptb57.numero_doc = arr_busqueda[arr_curr()].numeroid
LET p_iptb57.cod_mov = arr_busqueda[arr_curr()].cod_mov
CALL anular()
CALL buscarData()
ON ACTION imprimir ATTRIBUTE(TEXT = "Imprimir", IMAGE = "printer")
CALL buscadoc(
@@ -153,6 +154,7 @@ FUNCTION buscardata()
AND b.us_crea = usuarios
AND b.status_t IS NULL
CALL arr_busqueda.clear()
LET i = 1
FOREACH buscardata INTO arr_busqueda[i].*
LET p_iptb57.cod_mov = arr_busqueda[i].cod_mov
+5
View File
@@ -499,9 +499,13 @@
<Group id="1667448785" label="PRODUCTOS TERMINADOS">
<Library binaryName="FORMULARIOS_IP" dependencies="-1026233879" id="-1826025351" label="FORMULARIOS_IP">
<File filePath="ipdir/ipfmmt003.4fd"/>
<File filePath="ipdir/ipfmmt020.4fd"/>
</Library>
<Library binaryName="FUNCIONES_IP" dependencies="-1026233879" id="1763548104" label="FUNCIONES_IP">
<File filePath="ipdir/ipprgb000.4gl"/>
<File filePath="ipdir/buscarequisicion.4gl"/>
<File compilerOptions="--build-rdd" filePath="ipdir/imprequisiciones.4gl"/>
<File filePath="otrodir/funciones_ip.4gl"/>
</Library>
<Application binaryName="ipprmt002" dependencies="1763548104,-1026233879,-764824792" externalDependencies="libgre.42x" id="-960000000" label="ipprmt002">
<Configuration commandLineArguments="jpeguero Peguero2023" id="-961000000" label="Configuration"/>
@@ -514,6 +518,7 @@
<Application binaryName="ipprmt020" dependencies="1763548104,-1026233879,-764824792" externalDependencies="libgre.42x" id="-960000002" label="ipprmt020">
<Configuration commandLineArguments="jpeguero Peguero2023" id="-961000002" label="Configuration"/>
<File compilerOptions="--build-rdd" filePath="ipdir/ipprmt020.4gl"/>
<File filePath="bin/ipprmt020.4rp"/>
</Application>
<Application binaryName="ipprmt021" dependencies="1763548104,-1026233879,-764824792" externalDependencies="libgre.42x" id="-960000003" label="ipprmt021">
<Configuration commandLineArguments="jpeguero Peguero2023" id="-961000003" label="Configuration"/>
+10
View File
@@ -67,3 +67,13 @@ DEFINE numero_msg INT,
END IF
RETURN
END FUNCTION
FUNCTION usuarioSistema(xuser)
DEFINE xuser,nombre,email STRING
SELECT ISNULL(RTRIM(b.nom1_emp)||' '||RTRIM(b.apell1_emp),' '),a.email INTO nombre,email FROM seg0001 a,adtb00003 b
WHERE a.usuario = xuser AND
a.num_emp = b.num_emp
RETURN nombre,email
END FUNCTION