Etiqueta

17 de junio de 2015

Creación de códigos de barras en formato “Code 128”

El método que presentamos en éste artículo, requiere del uso de la fuente o tipo de letra “Code 128 Barcode” de IDAutomation. La generación de códigos de barras en formato ”Code 128” permite el uso de números, símbolos, y letras (mayúsculas o minúsculas) en el texto, pero tal flexibilidad hace que todas las fuentes para la generación de códigos de barras “Code 128” requieran un carácter de inicio, el carácter de suma de comprobación, y un carácter de parada, a fin de generar códigos de barras legibles, es decir que puedan ser leídos por cualquier lector con soporte “Code 128”.

Lo que deseamos mostrar en éste artículo, es un ejemplo sobre cómo realizar el cálculo para la composición de dicho código desde Omnis Studio. IDAutomation, dispone de otras fuentes o tipos de letra, más fáciles de usar, como el correspondiente al “Code  39”, que no requiere de sumas de comprobación u otros cálculos.

El código Omnis que mostramos a continuación ha sido escrito para el “Code 128” y la fuente de  IDAutomation de tipo C para Mac.


10 de junio de 2015

Como programar la impresión de rangos de páginas

Se debe tener en cuenta que (cuando no se especifican rangos de páginas) el administrador de impresión, construye previamente todas las páginas del informe, quedando temporalmente almacenadas en el disco. Sólo entonces son enviadas al dispositivo impresor. De hecho la ejecución del método “$ejectpage” no tiene efecto alguno hasta haber concluido los trabajos previos. Éste comportamiento es ligeramente diferente, cuando no se especifican rangos de páginas, en estos casos, el administrador de impresión expulsará las páginas tan pronto como se completan, excepto si la eyección automática está desactivada.

Algunos dispositivos (según el destino elegido para el informe) no soportan rangos de páginas. De hecho, (aparte de cualquier impresora) sólo los dispositivos de “pantalla” y ”vista previa” soportan actualmente rangos de páginas. Cómo siempre los rangos de páginas puede ser especificadas desde el diálogo de configuración del trabajo de impresión, pero en éste artículo lo que vamos a ver es, cómo hacerlo desde programación.

 

El componente “screen report field”


Éste componente contempla el método “$redirect”, el cual es usado para re-enviar el informe hacia otro dispositivo y la propiedad “$root.$prefs.$pages” puede ser utilizada para especificar el rango de páginas a enviar, a continuación mostramos un ejemplo:

Calculate $cdevice as kDevPrinter
Calculate $prefs.$pages as "20-1"
Do $cobj.$redirect(kFalse)
Calculate $prefs.$pages as ""

 

Rangos posibles


Los rangos de página que pueden ser especificados en “$root.$prefs.$pages” o en “$cinst.$pages”, si queremos que afecte sólo al informe en uso. Son los siguientes:
  • “1,3,5,2,4”
  • Imprimirá las páginas especificadas y en el orden en que se indican.
  • "1-10,30-35"
  • Imprimirá páginas de la 1 a la 10 y después las páginas de la 30 a la 35.
  • "O1-10, E1-10"
  • Imprimirá primero todas las páginas impares que se encuentren entre la 1 y la 10, después todas las páginas en el rango de 1 a 10.
  • "30-1"
  • Imprimirá las páginas de la 1 a la 30, pero en orden inverso.
  • "C"
  • Imprimirá la página en ese momento visible  (obviamente sólo utilizable junto con el método “$redirect” del componente “screen report field”).

Por supuesto podemos realizar cualesquiera combinaciones, basándonos en las reglas anteriores, si una página aparece más de una vez se imprimirá también más de una vez.

3 de junio de 2015

Uso de ODB en Windows

El manual Omnis sobre ODB (el odb.pdf) explica exhaustivamente el uso de ésta útil herramienta que nos permite construir un servidor de base de datos con nuestros df1, por lo que en éste artículo, sólo mostraré algunos de los últimos cambios introducidos y en concreto para la plataforma Windows. Recordemos que su última versión disponible es la 1.6.5

Uno de éstos cambios es que el ODB para ésta plataforma es ahora una aplicación sólo ejecutable desde la línea de comandos de Windows, habiendo sido eliminada la anterior aplicación denominada ODBService.exe.

Como iniciar ODB en Windows 2000/XP/Vista/7


Una vez actualizado el archivo de configuración con los detalles de los archivos de datos (ver el manual odb.pdf), podremos iniciar el ODB ejecutando el odbridge.exe ubicado en la carpeta ODB.
Abra el símbolo del sistema, (línea de comandos de Windows) sitúese sobre el directorio ODBC y escriba…

odbridge (o odbridge start)

...y pulse retorno.

Si todo ha funcionado como debe, verá lo siguiente:

Executing start...
...see messages.txt for success

Puede ver el contenido del fichero “messages.txt” de la carpeta ODBC para comprobar si el DB se ha iniciado correctamente. Si se ha producido un error este archivo contendrá los detalles del error, o (si todo fue bien) la línea siguiente:

ODB is now listening for requests from your clients

Nota: También es posible iniciar el ODB mediante hacer doble-clic en odbridge.exe mientras esté a la vista en una ventana. En este caso el servidor “data bridge” se iniciará de modo silencioso, pero aún se podrá consultar sobre su resultado en el archivo “messages.txt”.

Como parar el ODB


Para detener el servidor “data bridge”, escriba…

odbridge shutdown

…y pulse retorno.

Si todo ha funcionado como debe, verá lo siguiente:

Executing shutdown...
...see messages.txt for success

Si en el momento del cierre existen usuarios conectados, se producirá un error. En éste caso no es seguro que el ODB haya sido detenido realmente. Deberá asegurarse de que no existan usuarios conectados (es decir, que hayan cerrado sus archivos de datos) antes de volver a intentarlo.

Sin embargo, es posible forzar el apagado del OBD aún cuando existan usuarios conectados. Para ello escriba…

odbridge kill

…y pulse retorno.

Nota: Tenga en cuenta, que con esta acción se corre el riesgo potencial de corrupción del archivos de datos, si coincide que un usuario esté escribiendo en el archivo, durante el cierre.

Como instalar un servicio Windows para lanzar el ODB


Puede instalar el ODB como un servicio Windows, con el fin de que sea iniciado automáticamente junto con el sistema. Para ello, asegúrese primero de que el OBD no este ejecutándose, después, escriba…

odbridge install

…y pulse retorno.

Si todo ha funcionado como debe, verá lo siguiente:

Installing “C:\....\odbridge.exe” as a service
The operation completed successfully.

En caso de producirse un error, en lugar de lo anterior verá el mensaje de error correspondiente. Por defecto, el servicio (denominado “Omnis Data Bridge”) es configurado para iniciarse automáticamente, pero, usted puede modificar dicha configuración desde “Panel de control≥≥Herramientas administrativas≥≥Servicios” si así lo desea.

Como eliminar el servicio Windows


Para detener y eliminar el servicio “Omnis Data Bridge”, escriba…

odbridge remove

…y pulse retorno.

Si todo ha funcionado como debe, verá lo siguiente:

Uninstalling service: odbridge
The operation completed successfully.

En caso de producirse un error, en lugar de lo anterior verá el mensaje de error correspondiente.

Nota: La eliminación del servicio es equivalente a ejecutar el comando “odbridge kill”. Por lo que, (como en el caso anterior) deberá asegurarse de que no existan clientes conectados antes de eliminarlo.