Para mostrar el Calendario correspondiente a un determinado mes disponemos de un formulario FRM_SVG_CALENDARIO con origen la tabla temporal SVG_CAL_MESES y el control Imagen SVG SVG_CALENDARIO. En tiempo de diseño cargamos una imagen svg estática incluída en el proyecto.

En el manejador POS_INI ejecutamos el siguiente código JavaScript que lee el código svg de la tabla SVG_CAL_MESES desde el campo SVG_CAL y crea un fichero temporal en disco para poder cargarlo en la imagen svg.


Manejador POS_INI


importClass("VFile");

importClass("VTextFile");


var oSVG = theRoot.dataView().control("SVG_CALENDARIO")

// Fichero temporal donde guardamos el código SVG

var cPathSVG = theApp.clientCachePath() + "/mes.svg"

var cSVG = theRegisterIn.fieldToString("SVG_CAL")


// Se declara el objeto fichero para guardar el código SVG

var oFichero = new VTextFile(cPathSVG);

if (oFichero.open(VFile.OpenModeWriteOnly | VFile.OpenModeTruncate)) {

       oFichero.setCodec("UTF-8")

       oFichero.write(cSVG);

       // Se cierra el fichero

       oFichero.close();

}

// Carga el código SVG en el control Imagen SVG

oSVG.load(cPathSVG)


La creación de un fichero temporal es necesario porque Velneo no nos permite enlazar el control Imagen SVG a un campo de la tabla y tampoco podemos cargar el código svg desde un String o ByteArray.




Created with the Personal Edition of HelpNDoc: Easily create HTML Help documents