Source: https://doc.velneo.com/comandos-de-sistema.html
Timestamp: 2020-01-29 11:37:11+00:00

Document:
Comandos de Sistema · Documentación de Velneo
Configurar impresora lógica
Ejecutar comando de sistema
Ejecutar documento
Get estado de la memoria física
Get información pantalla
Informe personalizable: editar informe
Limpiar configuración de impresora lógica
Portapapeles: get imagen
Portapapeles: get texto
Portapapeles: limpiar
Portapapeles: set imagen
Portapapeles: set texto
Conjunto de comandos de instrucción de proceso de sistema.
Comando de instrucción del grupo sistema que permite configurar propiedades de una impresora lógica antes de imprimir el informe.
Identificador de impresora lógica
Desplegable que mostrará toda la lista de impresoras lógicas disponibles. Seleccionar la impresora lógica que se desea configurar.
Desplegable que mostrará todas las propiedades disponibles. Seleccionar la propiedad a configurar. Las propiedades disponibles son:
Permite configurar si se hará impresión dúplex (1) o no (0).
Intercalar copias
Cuando se imprimen dos o más copias de un informe, permite configurar si queremos activar la propiedad de intercalar copias (1) o no (0) del driver de la impresora.
Si vale 1, las páginas serán impresas del modo siguiente: 1-2-3, 1-2-3, 1-2-3...
Si vale 0, las páginas serán impresas del modo siguiente: 1-1-1, 2-2-2, 3-3-3...
Permite configurar si queremos que el informe sea impreso en escala de grises (0) o en color (1).
Nos permite establecer una cadena con el nombre que queremos que se muestre en la cola de la impresora.
Ejemplo: "Factura nº " + #ID
Para salidas a fichero. Nos permite especificar el nombre que tendrá el fichero a generar.
Ejemplo: "factura_" + #ID + ".pdf"
Nos permite especificar una cadena con el nombre de la impresora por la que queremos imprimir el informe.
Esto nos permitirá, en un momento dado, imprimir un informe por una impresora distinta a la asociada a su impresora lógica.
Ejemplo: "Generic/ Text Only"
Nos permite especificar el nº de copias que queremos imprimir del informe. Ha de ser un número entero.
NOTA: en algunos sistemas con X11 no es funcional está propiedad.
Nos permite configurar el origen del papel. Debemos especificar un número entero con el código de la bandeja de origen del papel.
OnlyOne 0
EnvelopeManual 5
SmallFormat 8
LargeFormat 9
LargeCapacity 10
FormSource 12
CustomSource 14
Fórmula de dato
En este parámetro escribiremos la fórmula que se corresponda con la propiedad de impresora que se haya seleccionado en el parámetro anterior.
Este comando de instrucción de proceso permite configurar una propiedad de una impresora lógica. Esta propiedad será aplicada a la impresora física asociada al imprimir el informe.
Debemos incluir este comando por cada propiedad que queramos configurar.
Si en el momento de configurar la impresora lógica por proceso ésta no está asignada a ninguna impresora física, se mostrará el cuadro de diálogo de selección de impresora del sistema operativo para que la seleccionemos y ésta quedará asignada a la impresora lógica de forma permanente.
1) Configurar el nº de copias de una impresora lógica e imprimir un informe asociado a la misma:
Imprimir informe ( MAE@Informes e impresoras logicas app, )
2) Configurar varios parámetros de la impresora lógica e imprimir un informe asociado a la misma:
Configurar impresora lógica ( IMP@verp app, Origen del papel: Entero con el código del origen del papel. , 1 )
Configurar impresora lógica ( IMP@verp app, Duplex: 0 (Falso) ó 1 (Verdadero), 1 )
Cargar lista ( MAESTROS@Informes e impresoras logicas dat, ID, , , , )
Ejecutar comando del sistema
Comando de instrucción del grupo sistema que permite ejecutar un comando del sistema operativo.
Fórmula de comando
Expresión de tipo fórmula con el comando del sistema operativo a ejecutar.
Identificador de la variable local numérica de retorno
Variable local del proceso de tipo numérico donde se recogerá el retorno del comando ejecutado. Si el comando no retorna ningún valor la variable contendrá un 0.
Ejecuta el comando del sistema operativo especificado en el primer parámetro y si éste devuelve algún valor, lo atrapa en la variable local numérica de retorno.
La variable local podrá ser cualquiera de tipo numérico ya declarada en el proceso o podremos declarar una nueva.
Ejecutamos el fichero por lotes fichero.bat para que se ejecuten las instrucciones que este contiene.
Ejecutar comando del sistema ( "c:/fichero.bat",  )
Comando de instrucción del grupo sistema que permite ejecutar el documento o la url indicada en sus parámetros. El documento o la URL será abierto en la aplicación que esté asociada a ese tipo de documento en el sistema operativo.
Fórmula de senda
Expresión de tipo fórmula con la senda del archivo a ejecutar. La senda del documento deberá ir precedida del esquema file: y si se trata de una url, del esquema http o https.
Variable local.
Este comando permite ejecutar el documento indicado en sus parámetros. Dicho documento será abierto en la aplicación que esté asociada a ese tipo de documento en el sistema operativo. Retornará un 1 si el fichero ha sido ejecutado y 0 si no.
Para la especificación de la senda del documento podremos hacer uso del asistente para edición de fórmulas, separando cada parte de la misma por el carácter “/”. Ejemplo: “file:///c:/documentos/file.txt”.
Si necesitamos crear sendas relativas y no absolutas, podremos hacer uso de las funciones estándar.
Si es el usuario quien deba indicar el fichero a ejecutar, podremos facilitarle esta tarea mediante el uso del comando de instrucción de proceso Ventana de selección de fichero.
Este comando de instrucción de proceso no es funcional en tercer plano. En el caso de tener esta necesidad, hemos de sustituirlo por el comando de instrucción ejecutar comando del sistema indicando como parámetro el ejecutable y el fichero que ha de abrir.
La especificación de las sendas de disco han de seguir el esquema de fichero URI:
Para ficheros locales será:
file:///c:/path/file.txt
Para ubicaciones de red será:
file://nombrehost/path/file.txt
Esto es así porque para un fichero local se omite el nombre del host, pero no la barra oblicua (/):
file://nombrehost/c:/path/file.txt = file:///c:/path/file.txt
Ejecutamos el documento de la caché del cliente que hemos adjuntado como objeto fichero adjunto en la solución.
Ejecutar documento ( "file:///"+sysCacheClientPath +"API Rest en tu aplicación.pdf",  )
Comando de instrucción del grupo Sistema que emite un pitido con el altavoz del sistema.
Emite un pitido con el altavoz del sistema.
Este comando de instrucción de proceso no es funcional en Android.
Si el usuario es administrador emitimos un sonido
If ( sysIsAdministrator )
Comando de instrucción del grupo Sistema que permite conocer el estado de la memoria física del ordenador donde sea ejecutado el proceso.
Identificador de variable local numérica de retorno del porcentaje de memoria ocupado
Declaración de una variable local donde retornará qué porcentaje de la memoria física está siendo utilizado.
Identificador de variable local numérica de retorno de bytes de memoria total
Declaración de una variable local donde retornará el número total de bytes de la memoria física.
Identificador de variable local numérica de retorno de bytes de memoria libre
Declaración de una variable local donde retornará el número total de bytes libres de la memoria física.
Permite conocer el estado de la memoria física del ordenador donde sea ejecutado el proceso.
Si el proceso es ejecutado en primer o segundo plano, la máquina sobre la que se ejecute será la estación cliente, si el proceso es ejecutado en tercer o cuarto plano, la máquina sobre la que se ejecute será el servidor.
Guardamos en la variable local PORC_MEN_OCUPADO el porcentaje de memoria ocupado , la memoria total en MEM_BYTES_TOTAL y la memoria libre en MEM_BYTES_LIBRES
Get estado de la memoria física del sistema ( PORC_MEM_OCUPADO, MEM_BYTES_TOTAL, MEM_BYTES_LIBRES )
Comando de instrucción del grupo Sistema que nos devuelve información sobre la pantalla en la que se esté ejecutando la aplicación.
Identificador de la variable local numérica de retorno de ratio
Identificador de una variable local:
Si retorna un 1 querrá decir que se trata de un dispositivo con resolución estándar si retorna un valor igual o mayor que 2 quiere decir que se trata de un dispositivo con resolución HighDpi.
Identificador de la variable local numérica de retorno de ancho (Opcional)
Identificador de una variable local de tipo numérico donde se retornará el ancho de la pantalla donde está siendo ejecutada la solución.
Identificador de la variable local numérica de retorno de alto (Opcional)
Identificador de una variable local de tipo numérico donde se retornará el alto de la pantalla donde está siendo ejecutada la solución.
Este comando de instrucción de proceso nos devuelve información sobre la pantalla en la que se esté ejecutando la aplicación.
Obtenemos el RATIO, el ANCHO y el ALTO de la pantalla mostrando sus valores diferenciando entre resolución estándar y resolución HighDpi.
Get información pantalla ( RATIO, ANCHO, ALTO )
If ( RATIO = 1 )
Mensaje ( "Dispositivo con resolución estándar con ancho " + ANCHO + " y alto " +ALTO, Información, ,  )
If ( RATIO > 1 )
Mensaje ( "Dispositivo con resolución HighDpi con ancho " + ANCHO + " y alto " +ALTO, Información, ,  )
Comando de instrucción del grupo Sistema que permite editar la configuración de un informe personalizable. Un informe personalizable es un archivo con formato XML generado con nuestro editor de informes personalizables y que puede ser editado en tiempo de ejecución.
Origen de la instrucción: ninguno.
En este parámetro indicaremos la senda del archivo XML a editar.
Este comando de instrucción permite editar la configuración de un informe personalizable.
Editamos el informe que tenemos asignado en la variable local INF_XML.
Set ( INF_XML, “C:/INF_TMP.XML" )
Informe personalizable: editar informe ( INF_XML )
Comando de instrucción del grupo Sistema que permite la ejecución de una aplicación externa.
Modo de lanzar aplicación
Se ejecutará la aplicación especificada y el usuario no podrá volver a la aplicación Velneo hasta que no la haya cerrado.
El usuario podrá trabajar con la aplicación Velneo y con la aplicación lanzada al mismo tiempo.
Expresión de tipo fórmula con la senda de la aplicación a ejecutar.
Fórmula de parámetros (Opcional)
Expresión de tipo fórmula con la lista de parámetros de la aplicación, por ejemplo, la senda de un archivo que se desee abrir con la aplicación.
Variable local del proceso, de tipo numérico, donde se atrapará el retorno de la aplicación. Si la aplicación no ha sido ejecutada, retornará un 0.
Ejecuta la aplicación pasada en sus parámetros.
La variable local numérica de retorno podremos usar tanto una ya declarada con anterioridad como declarar una nueva.
si el sistema operativo es Windows y hay espacios en blanco en la senda, será necesario entrecomillarla, para ello podemos usar la secuencia de escape \c. Ejemplo:
"\c" + SENDA + "\c", donde SENDA es la variable local que contiene la senda de la aplicación a ejecutar.
Lanzamos el programa testing.exe y al cerrar la ejecución del mismo retornamos a Velneo.
Lanzar aplicación ( Esperar, "C:/testing.exe", , OK )
Comando de instrucción del grupo sistema que permite limpiar la configuración de una impresora lógica.
Seleccionaremos la impresora lógica cuya configuración queremos limpiar.
Este comando de instrucción permite limpiar la configuración de una impresora lógica. Es decir, borra la asignación a la impresora física que tuviese asociada y toda la configuración que se haya hecho con el comando de instrucción de proceso configurar impresora lógica.
Es para uso exclusivo en Velneo vClient. El deshacer la asignación de la impresora tiene efecto permanente, es decir, modifica en archivo en disco donde se guarda la configuración de impresoras lógicas dejando la impresoras lógica sin asignar a una física.
Limpiar configuración de impresora lógica ( FACTURAS@vERP2 app )
Comando de instrucción del grupo Sistema que permite guardar en un campo de tipo objeto dibujo una imagen copiada en el portapapeles del sistema.
Identificador del campo objeto dibujo
Debemos especificar el campo objeto dibujo de la ficha en curso donde queremos pegar la imagen del portapapeles.
Guarda en el campo objeto dibujo indicado en sus parámetros una imagen copiada previamente en el portapapeles. Usa el portapapeles.
Es para uso exclusivo en el vClient.
No es funcional en Android e iOS.
El usuario ha copiado una imagen en el portapapeles y, en un manejador de evento de un formulario, queremos guardarla en un campo de tipo objeto dibujo de la tabla asociada:
Portapapeles: Get Imagen ( FOTO )
Comando de instrucción del grupo Sistema que permite guardar en una variable local del proceso un texto copiado en el portapapeles del sistema.
Identificador de variable local alfabética de retorno
Debemos especificar una variable local donde almacenar el texto copiado en el portapapeles.
Tipo MIME (opcional)
Está pensado para diferenciar de cuando se trata de un texto plano ("text/plain") o de un texto html ("text/html"), por ejemplo. Si lo dejamos vacío, el texto obtenido del portapapeles será tomado como texto plano ("text/plain").
Guarda en una variable local del proceso un texto que ha sido copiado previamente en el portapapeles del sistema. Al usar el portapapeles del sistema, podremos pegar un texto copiado desde otra aplicación.
Se ha copiado en el portapapeles un texto y, en un manejador de evento de un formulario de una tabla, lo pegamos en el campo NAME:
Portapapeles: Get texto ( PORTAPAPELES_TXT )
Modificar campo ( NAME, PORTAPAPELES_TXT )
Comando de instrucción del grupo Sistema que permite limpiar el contenido del portapapeles del sistema.
Limpia el contenido del portapapeles.
Limpiamos el contenido del portapapeles:
Comando de instrucción del grupo Sistema que permite guardar en el portapapeles del sistema el contenido de un campo de tipo objeto dibujo.
Guarda en el portapapeles el contenido del campo de tipo objeto dibujo indicado en sus parámetros. Al usar el portapapeles del sistema, podremos pegar la imagen copiada en otra aplicación.
El contenido que tenía el portapapeles será reemplazado por la imagen copiada.
En proceso con origen ficha de una tabla queremos copiar en el portapapeles el contenido del campo objeto dibujo llamado FOTO:
Portapapeles: Set Imagen ( FOTO )
Comando de instrucción del grupo Sistema que permite guardar en el portapapeles del sistema un texto.
Expresión de tipo fórmula donde compondremos la fórmula de texto a copiar en el portapapeles.
Está pensado para diferenciar de cuando se trata de un texto plano ("text/plain") o de un texto html ("text/html"), por ejemplo. Si lo dejamos vacío, el texto a copiar en el portapapeles será tomado como texto plano ("text/plain").
Guarda en el portapapeles el texto que establezcamos en sus parámetros. Al usar el portapapeles del sistema, podremos pegar el texto copiado en cualquier otra aplicación.
El contenido que tenía el portapapeles será reemplazado por el texto copiado.
En un formulario de un cliente queremos guardar en el portapapeles un texto que contenga el nombre del cliente y su NIF:
Portapapeles: Set texto ( #NAME + "-" + #NIF )
Comando de instrucción del grupo Sistema que reproduce ficheros de sonido con extensión WAV.
Expresión de tipo fórmula con la senda del archivo a ejecutar.
Reproduce ficheros de sonido con extensión WAV especificado en su parámetro.
Para facilitar la especificación de la fórmula podremos hacer uso del asistente para edición de fórmulas.
Si se desea solicitar al usuario el archivo a reproducir, podremos hacer uso del comando Ventana de selección de fichero.
Si en la fórmula se va escribir una senda, se usará el carácter “/” para separar los distintos niveles de la misma. Ejemplo:
"c:/archivos de programa/archivo.wav"
En el caso de que no existan registros en la tabla PERS_M se reproduce el sonido del fichero alerta.wav.
Cargar lista ( PERS_M@ejemplo, ID, , , ,  )
If ( ! sysListSize )
Reproducir sonido ( "c:/archivos/alerta.wav" )
Comando de instrucción del grupo Sistema que permite cerrar la aplicación en curso.
Fórmula valor de retorno de la aplicación (Opcional)
En este parámetro podemos establecer, mediante una fórmula, un valor de retorno. Para su especificación podremos hacer uso del asistente para edición de fórmulas.
Este comando de instrucción de proceso permite cerrar la aplicación en curso y retornar un valor.
El retornar un valor nos será de utilidad cuando la aplicación sea llamada desde otra mediante el comando de instrucción Lanzar aplicación. Supongamos que en el proceso donde cerramos aplicación evaluamos una serie de condiciones y, en función de las mismas, vamos a retornar distintos valores; en el proceso llamador o en el batch, por ejemplo, podremos evaluar el retorno obtenido y actuar en consecuencia.
Este comando solamente puede ser usado en manejadores de eventos de las señales pre-inicialización o post-inicializado del marco AUTOEXEC. Sin embargo, si desde esos manejadores lanzamos un proceso que ejecute el comando no se procesará, pues todavía la inicialización de la aplicación no ha finalizado, y no está disponible el gestor de cola de mensajes. En su lugar debemos podemos ejecutar set retorno = No.
En el caso de que queramos forzar el cierre desde cualquier otro punto de la aplicación, lo que haremos será crear una acción que dispare el comando archivo: salir; no es necesario que la acción esté incluida en la interfaz de la aplicación, simplemente basta con que esté declarada.
Cuando el año actual del sistema sea inferior al 2000 salimos de la aplicación.
If ( year(currentDate()) < 2000 )
Mensaje ( "Se ha superado el año 2020", Información, ,  )
Salir de la aplicación ()

References: resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución