Page 1 of 1

XBrowse( ( cFileXML ), cTitle,,,,,!.F., .F.,,, .F., .F. ) -EDITO

Posted: Wed Apr 30, 2025 1:35 pm
by FiveWiDi
Hola Antonio,

Si quiero ver un fichero *** XML *** así:

XBROWSER ( cFileXML ) TITLE cTitle

se abre una ventana donde su muestra el contenido del fichero (perfecto), pero el título de la ventana no logro que sea el que yo quiero ( TITLE ), muestra siempre como título de la ventana el nombre completo del fichero.

¿Estoy haciendo algo mal?

******************************************************
Editado:
Hay alguna manera en SETUP de cambiar el título de la ventana?

Cómo?

#xtranslate XBROWSER [<uData>] ;
[ TITLE <cTitle> ] ;
[ <autosort:AUTOSORT> ] ;
[ SETUP <fnSetUp> ] ;
[ COLUMNS <aCols,...> ] ;
[ SELECT <fnSelect> ] ;
[ <excel: CALC> ];
[ <fastedit: FASTEDIT> ];
[ VALID <uValid> ] ;
[ [SHOW] <sl: RECID,SLNUM> ] ;
[ <nomodal: NOMODAL> ] ;
[ <autofit: AUTOFIT> ] ;
=> ;
XBrowse( [<uData>], [<cTitle>], [<.autosort.>], ;
[\{|oBrw|<fnSetUp>\}], [\{<aCols>\}], ;
[\{|oBrw,oCol|<fnSelect>\}],!<.excel.>, <.fastedit.>, [\{|oBrw|<uValid>\}], ;
<(sl)>, <.nomodal.>, <.autofit.> )



Gracias,

Re: XBrowse( ( cFileXML ), cTitle,,,,,!.F., .F.,,, .F., .F. ) -EDITO

Posted: Wed Apr 30, 2025 3:31 pm
by Antonio Linares
Carlos,

Prueba con:

XBROWSER ( cFileXML ) SETUP xsetup( oBrw )

function xsetup( oBrw )

oBrw:oWnd:SetText( "nuevo titulo" )

return nil

Re: XBrowse( ( cFileXML ), cTitle,,,,,!.F., .F.,,, .F., .F. ) -EDITO

Posted: Wed Apr 30, 2025 3:45 pm
by FiveWiDi
Antonio Linares wrote: Wed Apr 30, 2025 3:31 pm Carlos,

Prueba con:

XBROWSER ( cFileXML ) SETUP xsetup( oBrw )

function xsetup( oBrw )

oBrw:oWnd:SetText( "nuevo titulo" )

return nil
Muchas gracias Antonio,

Pero no ha funcionado, no peta pero no cambia el Title de la ventana.
Es que no encuentro como gestiona el mostrar el contenido de un XML y no sé como meterle mano.

Para próximas versiones quizás sería interesante que XBrowse() devolviera su oWnd.

A ve si se te ocurre otra manera de como modifcar el Title. No es grave pero a mi usuario le facilita las cosas.

Re: XBrowse( ( cFileXML ), cTitle,,,,,!.F., .F.,,, .F., .F. ) -EDITO

Posted: Wed Apr 30, 2025 3:59 pm
by Antonio Linares
Carlos,

Prueba asi:

Code: Select all | Expand

function xsetup( oBrw )

   oBrw:oWnd:bInit = { || oBrw:oWnd:SetText( "Titulo" ) }

return nil

Re: XBrowse( ( cFileXML ), cTitle,,,,,!.F., .F.,,, .F., .F. ) -EDITO

Posted: Wed Apr 30, 2025 4:10 pm
by FiveWiDi
Antonio Linares wrote: Wed Apr 30, 2025 3:59 pm Carlos,

Prueba asi:

Code: Select all | Expand

function xsetup( oBrw )

   oBrw:oWnd:bInit = { || oBrw:oWnd:SetText( "Titulo" ) }

return nil
No hay manera.

Debe leer el XML y después le debe aplicar el Title (buenos eso imagino).

Con un doble click en algún lugar de la ventana se podría forzar el cambio del Title?

Recordemos que se está visualizando un XML (creo que en un Tree).

Re: XBrowse( ( cFileXML ), cTitle,,,,,!.F., .F.,,, .F., .F. ) -EDITO

Posted: Wed Apr 30, 2025 4:40 pm
by Antonio Linares
Carlos,

Este código funciona bien aqui desde la carpeta FWH\samples:

Code: Select all | Expand

#include "FiveWin.ch"

function Main()

   XBROWSER memoRead( "test.xml" ) SETUP xsetup( oBrw )

return nil

function xsetup( oBrw )

   oBrw:oWnd:bInit = { || oBrw:oWnd:SetText( "Titulo" ) }

return nil
Puedes proporcionarme tu XML ?

Re: XBrowse( ( cFileXML ), cTitle,,,,,!.F., .F.,,, .F., .F. ) -EDITO

Posted: Wed Apr 30, 2025 4:52 pm
by FiveWiDi
Yo lanzo la instrucción desde un botón en una ventana MDICHILD, y la ventana mostrando el contendo del XML queda 'detras' de la aplicación, como si de una aplicación independiente (no lo es por que si se cierra el programa se cierra también esa ventana del XML) se tratara.

Este es el XML:

<!-- Date: 27-04-2025 Time: 22:05:04 -->
<!-- DESKTOP-SPO2CAU -->
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sum="https://www2.agenciatributaria.gob.es/s ... stroLR.xsd" xmlns:sum1="https://www2.agenciatributaria.gob.es/s ... macion.xsd" xmlns:xd="http://www.w3.org/2000/09/xmldsig#">
<soapenv:Header/>
<soapenv:Body>
<sum:RegFactuSistemaFacturacion>
<sum:Cabecera>
<sum1:ObligadoEmision>
<sum1:NombreRazon>LIMON, S.L.</sum1:NombreRazon>
<sum1:NIF>B62195999</sum1:NIF>
</sum1:ObligadoEmision>
</sum:Cabecera>
<sum:RegistroFactura>
<sum1:RegistroAlta>
<sum1:IDVersion>1.0</sum1:IDVersion>
<sum1:IDFactura>
<sum1:IDEmisorFactura>B62195999</sum1:IDEmisorFactura>
<sum1:NumSerieFactura>2025-000-000338</sum1:NumSerieFactura>
<sum1:FechaExpedicionFactura>27-04-2025</sum1:FechaExpedicionFactura>
</sum1:IDFactura>
<sum1:RefExterna>VFR-20250427-220356-255</sum1:RefExterna>
<sum1:NombreRazonEmisor>LIMON, S.L.</sum1:NombreRazonEmisor>
<sum1:Subsanacion>S</sum1:Subsanacion>
<sum1:RechazoPrevio>X</sum1:RechazoPrevio>
<sum1:TipoFactura>F1</sum1:TipoFactura>
<sum1:DescripcionOperacion>Ventas/Prestación de servicios.</sum1:DescripcionOperacion>
<sum1:FacturaSimplificadaArt7273>N</sum1:FacturaSimplificadaArt7273>
<sum1:FacturaSinIdentifDestinatarioArt61d>N</sum1:FacturaSinIdentifDestinatarioArt61d>
<sum1:Macrodato>N</sum1:Macrodato>
<sum1:Destinatarios>
<sum1:IDDestinatario>
<sum1:NombreRazon>HHJJ</sum1:NombreRazon>
<sum1:NIF>B81431999</sum1:NIF>
</sum1:IDDestinatario>
</sum1:Destinatarios>
<sum1:Cupon>N</sum1:Cupon>
<sum1:Desglose>
<sum1:DetalleDesglose>
<sum1:Impuesto>01</sum1:Impuesto>
<sum1:ClaveRegimen>01</sum1:ClaveRegimen>
<sum1:CalificacionOperacion>S1</sum1:CalificacionOperacion>
<sum1:TipoImpositivo>21.00</sum1:TipoImpositivo>
<sum1:BaseImponibleOimporteNoSujeto>100.00</sum1:BaseImponibleOimporteNoSujeto>
<sum1:CuotaRepercutida>21.00</sum1:CuotaRepercutida>
</sum1:DetalleDesglose>
</sum1:Desglose>
<sum1:CuotaTotal>21.00</sum1:CuotaTotal>
<sum1:ImporteTotal>121.00</sum1:ImporteTotal>
<sum1:Encadenamiento>
<sum1:RegistroAnterior>
<sum1:IDEmisorFactura>B62195999</sum1:IDEmisorFactura>
<sum1:NumSerieFactura>2024-000-000238</sum1:NumSerieFactura>
<sum1:FechaExpedicionFactura>01-11-2024</sum1:FechaExpedicionFactura>
<sum1:Huella>86BDE649CD4194261357D3E37E9F93BE1AB2C7FB3603BFFAE22CFA03D1FABB09</sum1:Huella>
</sum1:RegistroAnterior>
</sum1:Encadenamiento>
<sum1:SistemaInformatico>
<sum1:NombreRazon>LIMON, S.L.</sum1:NombreRazon>
<sum1:NIF>B62195999</sum1:NIF>
<sum1:NombreSistemaInformatico>BECFACT</sum1:NombreSistemaInformatico>
<sum1:IdSistemaInformatico>BF</sum1:IdSistemaInformatico>
<sum1:Version>Beta 1.0</sum1:Version>
<sum1:NumeroInstalacion>BETA01.00</sum1:NumeroInstalacion>
<sum1:TipoUsoPosibleSoloVerifactu>S</sum1:TipoUsoPosibleSoloVerifactu>
<sum1:TipoUsoPosibleMultiOT>N</sum1:TipoUsoPosibleMultiOT>
<sum1:IndicadorMultiplesOT>N</sum1:IndicadorMultiplesOT>
</sum1:SistemaInformatico>
<sum1:FechaHoraHusoGenRegistro>2025-04-27T22:03:56+02:00</sum1:FechaHoraHusoGenRegistro>
<sum1:TipoHuella>01</sum1:TipoHuella>
<sum1:Huella>141E61740CE04E6BC6FC1877965CAB8A3D7E3329C39C53BA3E9B9D596AEE0EC7</sum1:Huella>
</sum1:RegistroAlta>
</sum:RegistroFactura>
</sum:RegFactuSistemaFacturacion>
</soapenv:Body>
</soapenv:Envelope>

Re: XBrowse( ( cFileXML ), cTitle,,,,,!.F., .F.,,, .F., .F. ) -EDITO

Posted: Wed Apr 30, 2025 4:55 pm
by FiveWiDi
Antonio:

Así si funciona:

XBROWSER Memoread( cFileXML ) SETUP xsetup( oBrw )

Así no funciona:

XBROWSER ( cFileXML ) SETUP xsetup( oBrw )

Pero debe ser así:
XBROWSER ( cFileXML ) SETUP xsetup( oBrw )

Re: XBrowse( ( cFileXML ), cTitle,,,,,!.F., .F.,,, .F., .F. ) -EDITO

Posted: Wed Apr 30, 2025 4:56 pm
by Antonio Linares
Y como le das el valor a cFileXML ? Que valor tiene (nombre del fichero ó contenido del fichero) ?

Re: XBrowse( ( cFileXML ), cTitle,,,,,!.F., .F.,,, .F., .F. ) -EDITO

Posted: Wed Apr 30, 2025 5:10 pm
by FiveWiDi
Antonio Linares wrote: Wed Apr 30, 2025 4:56 pm Y como le das el valor a cFileXML ? Que valor tiene (nombre del fichero ó contenido del fichero) ?
Nombre, path completo, y se ve perfecto en un Tree (creo que es un Tree) que abre Xbrowse()