Corregir ipprrp005 (Maestra Costo Standard): dependencias, logo y titulo

- Registrar ipfmrp005.4fd en el proyecto (form not found al abrir).
- Agregar dependencias faltantes FUNCIONESREPORT (msgrp000) para el
  papel/preview del reporte.
- selectOutput() no estaba definida en ningun modulo enlazable sin
  conflicto: la version de otrodir/vesalidaimpresora.4gl tiene una
  firma distinta (devuelve 3 valores) y la de otrodir/msgrp000.4gl
  choca con indir/defecto.4gl al traer ambas. Se extrajo a un archivo
  propio (otrodir/selectoutput_simple.4gl) la version de un solo
  valor de retorno que ya coincidia con lo que espera este programa,
  reutilizando el formulario "Configuration" ya existente.
- ipprrp005.4rp: la ruta del logo era absoluta a la maquina de
  produccion (E:\MARMOTECHC\IMAGENES\logo.png), no existia aqui -
  cambiada a ruta relativa (logo.png, ya esta en PROYECTO/bin).
- Se agrego titulo a la ventana (usaba el generico "screen").

Verificado con producto 29-668-1403-6952, año 2026: Material 3,512.42,
Labor 0.00, Gasto 0.00, Costo STD 3,512.42 - reporte bien formateado
(usa el .4rp original del programa, no uno reescrito). Cierre limpio.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-29 12:22:37 -04:00
co-authored by Claude Sonnet 5
parent d1b29437c9
commit 3923c9dc01
5 changed files with 111 additions and 3 deletions
+70
View File
@@ -0,0 +1,70 @@
<?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="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 RWDataLocation="ipprrp005.rdd" RWFglReportName="maestra_st"/>
<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">
<LAYOUTNODE name="header" width="min" length="min" swapX="true" port="firstPageHeader">
<MINIPAGE name="StripeLayouter11" width="97.3906" alignment="near" layoutDirection="leftToRight">
<LAYOUTNODE name="Layout Node9" y="max-33.3652" width="214.531" length="26.3906" anchorY="1" alignment="center" layoutDirection="topToBottom" baselineType="leftleft" floatingBehavior="free" borderStyle="none">
<WORDBOX name="WordBox47" width="213.984" length="14.3281" alignment="far" fontSize="15" fontBold="true" underline="true" layoutDirection="topToBottom" baselineType="leftleft" textAlignment="center" text="MAESTRA COSTO STANDARD" trimText="both"/>
</LAYOUTNODE>
<IMAGEBOX name="ImageBox1_1" y="29.4882" width="221.836" length="92.4741" floatingBehavior="enclosed" url="logo.png" intendedResolution="120"/>
</MINIPAGE>
</LAYOUTNODE>
<rtl:match name="Group ventas" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<MINIPAGE name="category" width="32.5063" length="max" alignment="center" layoutDirection="leftToRight">
<rtl:input-variable name="tipo_reporte" type="FGLString" expectedLocation="expectedHere"/>
<WORDWRAPBOX name="tipo_reporte Value" class="grwStringValue" x="2.72501" y="2.90761" width="189.563" length="25.7813" anchorX="0" anchorY="0" fontSize="16" floatingBehavior="enclosed" text="{{tipo_reporte}}" textAlignment="left" borderTopColor="#000000" borderRightColor="#000000" borderBottomColor="#000000" borderLeftColor="#000000"/>
</MINIPAGE>
<MINIPAGE name="encabezado" width="min" length="max" layoutDirection="leftToRight">
<MINIPAGE name="StripeLayouter23_1" width="6.83465" bgColor="#cc" layoutDirection="leftToRight"/>
<MINIPAGE name="encabezadodetalle1" width="13.3906" length="max" bgColor="#cccccc" fontBold="true" layoutDirection="leftToRight">
<WORDBOX name="WordBox161" width="190.688" length="12.3906" alignment="center" baselineType="leftleft" textAlignment="center" text="PRODUCTO"/>
<LAYOUTNODE name="espacio7" width="min" length="6.5197" layoutDirection="leftToRight"/>
<WORDBOX name="WordBox162" width="76.9055" length="12.7813" alignment="baseline" baselineType="leftleft" textAlignment="center" text="MATERIAL"/>
<LAYOUTNODE name="espacio8" width="min" length="6.5197" layoutDirection="leftToRight"/>
<WORDBOX name="WordBox163" width="70.6929" alignment="baseline" baselineType="leftleft" textAlignment="center" text="LABOR"/>
<LAYOUTNODE name="espacio9" width="min" length="6.5197" layoutDirection="leftToRight"/>
<WORDBOX name="WordBox164" width="64.5197" alignment="baseline" baselineType="leftleft" textAlignment="center" text="GASTO"/>
<LAYOUTNODE name="espacio10" width="min" length="6.5197" layoutDirection="leftToRight"/>
<WORDBOX name="WordBox165" width="74.8661" alignment="baseline" floatingBehavior="free" textAlignment="center" text="COSTO STD."/>
</MINIPAGE>
<MINIPAGE name="StripeLayouter25_1" width="6.83465" bgColor="#cc" layoutDirection="leftToRight"/>
</MINIPAGE>
<rtl:match name="Group cod_n" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match name="OnEveryRow" nameConstraint="OnEveryRow" minOccurs="0" maxOccurs="unbounded">
<LAYOUTNODE name="LayoutNode31_1" width="37.278" length="max" alignment="near" fontSize="9" layoutDirection="leftToRight" borderWidth="1" borderStyle="solid" borderColor="#000000">
<LAYOUTNODE name="espacio6" width="min" length="11" layoutDirection="leftToRight"/>
<rtl:input-variable name="producto" type="FGLString" expectedLocation="expectedHere"/>
<WORDWRAPBOX name="WordWrapBox13" width="178.359" length="29.3281" alignment="baseline" floatingBehavior="enclosed" text="{{producto}}" trimText="both" textAlignment="center"/>
<LAYOUTNODE name="espacio" width="min" length="6.5197" layoutDirection="leftToRight"/>
<rtl:input-variable name="x.material" type="FGLNumeric" expectedLocation="expectedHere"/>
<DECIMALFORMATBOX name="x.material Value1" class="grwNumericValue" width="75.9375" anchorX="1" alignment="baseline" floatingBehavior="enclosed" textAlignment="center" format="---,---,---,--&amp;.&amp;&amp;" value="{{x.material}}"/>
<LAYOUTNODE name="espacio1" width="min" length="7.5197" layoutDirection="leftToRight"/>
<rtl:input-variable name="x.labor" type="FGLNumeric" expectedLocation="expectedHere"/>
<DECIMALFORMATBOX name="x.labor Value1" class="grwNumericValue" width="70.9688" anchorX="1" alignment="baseline" floatingBehavior="enclosed" textAlignment="center" format="---,---,---,--&amp;.&amp;&amp;" value="{{x.labor}}"/>
<LAYOUTNODE name="espacio5" width="min" length="5.5197" layoutDirection="leftToRight"/>
<rtl:input-variable name="x.gastos" type="FGLNumeric" expectedLocation="expectedHere"/>
<DECIMALFORMATBOX name="x.gastos Value1" class="grwNumericValue" width="66.5" anchorX="1" floatingBehavior="enclosed" textAlignment="center" format="---,---,---,--&amp;.&amp;&amp;" value="{{x.gastos}}"/>
<LAYOUTNODE name="espacio5_1" width="27" length="5" layoutDirection="leftToRight"/>
<rtl:input-variable name="costo_std" type="FGLNumeric" expectedLocation="expectedHere"/>
<DECIMALFORMATBOX name="costo_std Value1" class="grwNumericValue" width="84.5" anchorX="1" floatingBehavior="enclosed" textAlignment="center" format="---,---,---,--&amp;.&amp;&amp;" value="{{costo_std}}"/>
</LAYOUTNODE>
</rtl:match>
</rtl:match>
</rtl:match>
</MINIPAGE>
</rtl:match>
</PXML>
</rtl:stylesheet>
</report:Report>
+1
View File
@@ -53,6 +53,7 @@ FUNCTION ipprrp005()
OPEN FORM ipfmrp005 FROM "ipfmrp005" OPEN FORM ipfmrp005 FROM "ipfmrp005"
DISPLAY FORM ipfmrp005 DISPLAY FORM ipfmrp005
CALL ui.Window.getCurrent().setText("MAESTRA COSTO STANDARD")
#CALL pantalla() #CALL pantalla()
DISPLAY "ipprrp005" AT 4,3 DISPLAY "ipprrp005" AT 4,3
DISPLAY "Maestra Costos Std." AT 6,31 DISPLAY "Maestra Costos Std." AT 6,31
+1 -1
View File
@@ -18,7 +18,7 @@
<LAYOUTNODE name="Layout Node9" y="max-33.3652" width="214.531" length="26.3906" anchorY="1" alignment="center" layoutDirection="topToBottom" baselineType="leftleft" floatingBehavior="free" borderStyle="none"> <LAYOUTNODE name="Layout Node9" y="max-33.3652" width="214.531" length="26.3906" anchorY="1" alignment="center" layoutDirection="topToBottom" baselineType="leftleft" floatingBehavior="free" borderStyle="none">
<WORDBOX name="WordBox47" width="213.984" length="14.3281" alignment="far" fontSize="15" fontBold="true" underline="true" layoutDirection="topToBottom" baselineType="leftleft" textAlignment="center" text="MAESTRA COSTO STANDARD" trimText="both"/> <WORDBOX name="WordBox47" width="213.984" length="14.3281" alignment="far" fontSize="15" fontBold="true" underline="true" layoutDirection="topToBottom" baselineType="leftleft" textAlignment="center" text="MAESTRA COSTO STANDARD" trimText="both"/>
</LAYOUTNODE> </LAYOUTNODE>
<IMAGEBOX name="ImageBox1_1" y="29.4882" width="221.836" length="92.4741" floatingBehavior="enclosed" url="file:///E:/MARMOTECHC/IMAGENES/logo.png" intendedResolution="120"/> <IMAGEBOX name="ImageBox1_1" y="29.4882" width="221.836" length="92.4741" floatingBehavior="enclosed" url="logo.png" intendedResolution="120"/>
</MINIPAGE> </MINIPAGE>
</LAYOUTNODE> </LAYOUTNODE>
<rtl:match name="Group ventas" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded"> <rtl:match name="Group ventas" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
+6 -2
View File
@@ -142,6 +142,7 @@
</Library> </Library>
<Library binaryName="FUNCIONESREPORT" id="-1423229125" label="FUNCIONESREPORT"> <Library binaryName="FUNCIONESREPORT" id="-1423229125" label="FUNCIONESREPORT">
<File filePath="otrodir/msgrp000.4gl"/> <File filePath="otrodir/msgrp000.4gl"/>
<File filePath="otrodir/selectoutput_simple.4gl"/>
<File filePath="otrodir/seleccionarsalida.4gl"/> <File filePath="otrodir/seleccionarsalida.4gl"/>
<File filePath="otrodir/vesalidaimpresora.4gl"/> <File filePath="otrodir/vesalidaimpresora.4gl"/>
<File filePath="vedir/veprrp049_1.4gl"/> <File filePath="vedir/veprrp049_1.4gl"/>
@@ -301,6 +302,7 @@
<Application binaryName="cpprmt001" dependencies="-594793224,-1026233879,-764824792" id="-93012595" label="cpprmt001"> <Application binaryName="cpprmt001" dependencies="-594793224,-1026233879,-764824792" id="-93012595" label="cpprmt001">
<Configuration commandLineArguments="jsoto lmmjvsd2014" id="2059119033" label="Configuration"/> <Configuration commandLineArguments="jsoto lmmjvsd2014" id="2059119033" label="Configuration"/>
<File filePath="cpdir/cpprmt001.4gl"/> <File filePath="cpdir/cpprmt001.4gl"/>
<File filePath="ipdir/ipprrp010.4rp"/>
</Application> </Application>
<Application binaryName="cpprmt002" dependencies="-594793224,-1026233879,-764824792,1811699727" id="-1772765857" label="cpprmt002"> <Application binaryName="cpprmt002" dependencies="-594793224,-1026233879,-764824792,1811699727" id="-1772765857" label="cpprmt002">
<Configuration commandLineArguments="alopez Lopez2023" id="106388225" label="Configuration"/> <Configuration commandLineArguments="alopez Lopez2023" id="106388225" label="Configuration"/>
@@ -711,13 +713,15 @@
<File compilerOptions="--build-rdd" filePath="ipdir/ipprrp050.4gl"/> <File compilerOptions="--build-rdd" filePath="ipdir/ipprrp050.4gl"/>
<File filePath="ipdir/ipfmrp050.4fd"/> <File filePath="ipdir/ipfmrp050.4fd"/>
</Application> </Application>
<Application binaryName="ipprrp010" dependencies="1763548104,-1026233879,-764824792" externalDependencies="libgre.42x" id="-960000021" label="ipprrp010"> <Application binaryName="ipprrp010" dependencies="1763548104,-1026233879,-764824792,-1423229125,-801525068" externalDependencies="libgre.42x" id="-960000021" label="ipprrp010">
<Configuration commandLineArguments="jpeguero Peguero2023" id="-961000021" label="Configuration"/> <Configuration commandLineArguments="jpeguero Peguero2023" id="-961000021" label="Configuration"/>
<File compilerOptions="--build-rdd" filePath="ipdir/ipprrp010.4gl"/> <File compilerOptions="--build-rdd" filePath="ipdir/ipprrp010.4gl"/>
<File filePath="ipdir/ipfmrp010.per"/>
</Application> </Application>
<Application binaryName="ipprrp005" dependencies="1763548104,-1026233879,-764824792" externalDependencies="libgre.42x" id="-960000022" label="ipprrp005"> <Application binaryName="ipprrp005" dependencies="1763548104,-1026233879,-764824792,-1423229125" externalDependencies="libgre.42x" id="-960000022" label="ipprrp005">
<Configuration commandLineArguments="jpeguero Peguero2023" id="-961000022" label="Configuration"/> <Configuration commandLineArguments="jpeguero Peguero2023" id="-961000022" label="Configuration"/>
<File compilerOptions="--build-rdd" filePath="ipdir/ipprrp005.4gl"/> <File compilerOptions="--build-rdd" filePath="ipdir/ipprrp005.4gl"/>
<File filePath="ipdir/ipfmrp005.4fd"/>
</Application> </Application>
<Application binaryName="ipprrp009" dependencies="1763548104,-1026233879,-764824792" externalDependencies="libgre.42x" id="-960000023" label="ipprrp009"> <Application binaryName="ipprrp009" dependencies="1763548104,-1026233879,-764824792" externalDependencies="libgre.42x" id="-960000023" label="ipprrp009">
<Configuration commandLineArguments="jpeguero Peguero2023" id="-961000023" label="Configuration"/> <Configuration commandLineArguments="jpeguero Peguero2023" id="-961000023" label="Configuration"/>
+33
View File
@@ -0,0 +1,33 @@
FUNCTION selectOutput()
DEFINE
r_output STRING, -- output format option
r_action STRING, -- used to set preview option
r_filename STRING, -- filename of Report Design document (the .4rp filename)
preview INTEGER -- preview option TRUE/FALSE, to display report in Report Viewer
-- display form allowing user to select the .4rp filename and output options
OPTIONS INPUT WRAP
OPEN WINDOW f_configuration WITH FORM "Configuration"
LET INT_FLAG=FALSE
LET preview = FALSE
INPUT BY NAME r_output
ON ACTION CANCEL
EXIT PROGRAM
ON ACTION CLOSE
EXIT PROGRAM
END INPUT
CLOSE WINDOW f_configuration
CALL ui.interface.refresh()
-- set preview variable to match output option r_action
IF r_action IS NOT NULL THEN
IF r_action == "preview" THEN
LET preview = TRUE
END IF
END IF
--return output option variable to be used to configure the report engine
RETURN r_output
END FUNCTION