SOFTLAND LTDA. Generador de Informes Softland Manual del Usuario (Versión 1.1) ADVERTENCIA: Este producto es de propiedad intelectual de SOFTLAND LTDA. Toda reproducción total o parcial de él, está penada por la Ley. Windows es propiedad intelectual de Microsoft. Manual editado por el Departamento de Publicaciones de 3889000 - Fax: 2355432 - Providencia - Santiago - Chile. (0408) SOFTLAND LTDA. 7º de Línea 1247 - Teléfono: GENERADOR DE INFORMES SOFTLAND 1-1 INDICE ..................................................................................................................1 Generador de Informes Softland .....................................................................................................................................4 Tablas de diccionarios genéricos para cualquier sistema ERP..............................................................................7 Tablas de diccionarios sólo cuando la empresa exista por Activo Fijo ERP.........................................................7 Tablas de diccionarios sólo cuando la empresa exista por Contabilidad, Proveedores y Clientes ERP................7 Tablas de diccionarios sólo cuando la empresa exista por Notas de Venta ERP ..................................................8 Tablas de diccionarios sólo cuando la empresa exista por Órdenes de Compra ERP ...........................................9 Tablas de diccionarios sólo cuando la empresa exista por Recursos Humanos ERP ............................................9 Tablas de diccionarios sólo cuando la empresa exista por Inventario y Facturación ERP....................................9 Modificar un Informe .................................................................................................................................................17 Eliminar un Informe...................................................................................................................................................17 Imprimir un Informe ..................................................................................................................................................17 Seguridad .........................................................................................................................................................................18 Permiso por Usuario...................................................................................................................................................18 Cambio de Password ..................................................................................................................................................20 Expresiones......................................................................................................................................................................21 Introducción ...............................................................................................................................................................21 Texto en Expresiones .................................................................................................................................................21 Cálculos de Valores del Diccionario ..........................................................................................................................21 Multilínea en Expresiones..........................................................................................................................................22 Uso de Variables del Diccionario...............................................................................................................................22 Uso de Variables en el Código del Informe ...............................................................................................................22 Uso de los campos de Fuentes de Datos.....................................................................................................................23 Variables del Sistema .................................................................................................................................................24 Funciones de Expresión .............................................................................................................................................24 Texto de Información de Salida .....................................................................................................................................25 Introducción ...............................................................................................................................................................25 Parámetros de Salida de Texto ...................................................................................................................................25 Introducción ........................................................................................................................................................25 Múltiples Líneas.........................................................................................................................................................25 Arreglar ......................................................................................................................................................................25 Límite de Líneas.........................................................................................................................................................26 Líneas Subrayadas......................................................................................................................................................26 Número Máximo de Líneas........................................................................................................................................26 Ángulo........................................................................................................................................................................26 Procesando Duplicados ..............................................................................................................................................26 Condiciones................................................................................................................................................................27 Esconder Ceros ..........................................................................................................................................................27 Expresiones en el Texto ..................................................................................................................................................28 Texto sin Salida de Expresiones.................................................................................................................................28 Formato de Texto .......................................................................................................................................................28 Introducción ........................................................................................................................................................28 Formato General.........................................................................................................................................................29 Formato Numérico .....................................................................................................................................................29 Formato de Moneda Corriente ...................................................................................................................................30 Fecha Formato............................................................................................................................................................31 Formato de Hora ........................................................................................................................................................31 Formato de Porcentaje................................................................................................................................................32 1-2 Generador de Informes Softland Formato de Valores Boléanos ....................................................................................................................................33 Formato Personalizado...............................................................................................................................................33 Sistema de Información..............................................................................................................................................34 Funciones (sumario)...................................................................................................................................................34 Variables del Sistema .................................................................................................................................................35 Expresiones ................................................................................................................................................................35 Información Gráfica de Salida.......................................................................................................................................36 Introducción ...............................................................................................................................................................36 Imágenes ....................................................................................................................................................................36 Carga de Imágenes .....................................................................................................................................................36 Códigos de Barras ......................................................................................................................................................36 Formas........................................................................................................................................................................37 Estilos de los Componentes ............................................................................................................................................38 Introducción ...............................................................................................................................................................38 Fuentes .......................................................................................................................................................................38 Fondo .........................................................................................................................................................................38 Bordes ........................................................................................................................................................................39 Alineamiento Horizontal ............................................................................................................................................39 Alineación Vertical ....................................................................................................................................................40 Informes ...........................................................................................................................................................................41 Introducción ...............................................................................................................................................................41 Código del Informe ....................................................................................................................................................41 Bandas..............................................................................................................................................................................43 Introducción ...............................................................................................................................................................43 Tipos de Bandas .........................................................................................................................................................43 Bandas de Salida ........................................................................................................................................................43 Bandas de Datos.........................................................................................................................................................45 Introducción ........................................................................................................................................................45 Fuente de Datos para la Banda de Datos .............................................................................................................45 Datos de la Banda Virtual ...................................................................................................................................45 Lista de Salida .....................................................................................................................................................46 Lista con Cabecera ..............................................................................................................................................46 Banda de Pie de Página .......................................................................................................................................47 Listar una Banda tras otra....................................................................................................................................48 Clasificación de Datos.........................................................................................................................................48 Filtro de Datos.....................................................................................................................................................49 Banda Páginas ............................................................................................................................................................52 Introducción ........................................................................................................................................................52 Cabecera de Página .............................................................................................................................................52 De Pie de Página .................................................................................................................................................53 Informes Agrupación .................................................................................................................................................54 Introducción ........................................................................................................................................................54 Condición de Agrupación....................................................................................................................................54 Encabezado Grupo ..............................................................................................................................................54 Grupo de Pie de Página .......................................................................................................................................54 Nueva Página.......................................................................................................................................................55 Sólo Salida de Pie de Grupo................................................................................................................................55 Grupos Anidados.................................................................................................................................................55 Los Totales de un Grupo .....................................................................................................................................55 Numeración en un Grupo ....................................................................................................................................55 GENERADOR DE INFORMES SOFTLAND 1-3 Contenedores ...................................................................................................................................................................56 Introducción ...............................................................................................................................................................56 Bandas de Posicionamiento en un Contenedor ..........................................................................................................56 Posición de Contenedores ..........................................................................................................................................56 Posicionamiento en una Página ...........................................................................................................................56 Posicionamiento sobre una Banda.......................................................................................................................57 Posicionamiento en un Contenedor .....................................................................................................................57 Informe de Lado a Lado.............................................................................................................................................57 Múltiples tablas en una Página de Salida ...................................................................................................................58 El Cálculo de los Totales.................................................................................................................................................59 Introducción ...............................................................................................................................................................59 Totales de la Producción en cualquier parte de un Informe .......................................................................................59 Totales con Condición................................................................................................................................................59 Cálculo de los Totales de una Página y de un Contenedor.........................................................................................59 Cálculo de los Totales de una Columna .....................................................................................................................59 Agregar Funciones de Sintaxis...................................................................................................................................60 Navegación.......................................................................................................................................................................61 Introducción ..............................................................................................................................................................61 Marcadores.................................................................................................................................................................61 Árbol del Reporte.......................................................................................................................................................61 Hyperlinks..................................................................................................................................................................61 Preguntas Frecuentes......................................................................................................................................................62 General .......................................................................................................................................................................62 Diseñador de Reportes ...............................................................................................................................................65 Trabajar con Informes ................................................................................................................................................66 El Acceso a los Datos..........................................................................................................................................66 Formateando y Convirtiendo...............................................................................................................................70 Variables..............................................................................................................................................................71 Temas Varios.......................................................................................................................................................72 Vista Previa .........................................................................................................................................................77 Impresión de Informes.........................................................................................................................................85 Exportadores e Informes .....................................................................................................................................89 Configuraciones ..................................................................................................................................................91 1-4 Generador de Informes Softland Generador de Informes Softland Objetivo Esta aplicación permite generar informes a partir de un diccionario de datos Softland. Importante Para operar con esta aplicación, deberá tener creado el perfil asociado a un usuario dentro del Sistema ERP, el sistema chequeará que los perfiles hayan sido creados, de lo contrario, desplegará un mensaje de advertencia, tal como se muestra a continuación: Sr. Usuario: Los informes generados por este sistema podrán ser visualizados por los usuarios que correspondan a algún perfil especifico definido en uno o varios módulos Softland. Es necesario antes de proceder a la generación de un informe, contar con perfiles definidos. Por favor proceda a crearlos en el sistema ERP proceso Permiso por Perfiles menú Seguridad y luego acceda a generar los informes. Operatoria Para ejecutar esta aplicación seleccione Inicio/Programa/Softland ERP/Generador de Informes: Figura Nº 1 A continuación, se desplegará una pantalla con todas las empresas a las cuales puede acceder, indicando la unidad de localización, nombre y razón social de las empresas generadas, las cuales pueden ser visualizadas por disco, razón social empresa o todas. GENERADOR DE INFORMES SOFTLAND Para seleccionar la empresa, haga clic en el botón se muestra en la siguiente pantalla: 1-5 , tras lo cual, el sistema solicitará ingresar el usuario y la password, tal como A continuación, seleccione el botón Aceptar para continuar con el proceso. desde la 2ª Barra de Herramientas, tras lo cual se desplegará la pantalla Para agregar un nuevo informe, seleccione el botón para la Generación de Informes, tal como se muestra a continuación: 1-6 Generador de Informes Softland En ella, podrá seleccionar los íconos: Informe en Blanco o Asistente de Informes para continuar con el proceso, los demás íconos se encuentran deshabilitados en esta versión. Al seleccionar el botón Cancelar, se carga la fuente de datos de la empresa y el correspondiente diccionario por defecto, donde el usuario podrá crear a partir de estos datos sus propios informes, tal como se muestra en la siguiente pantalla: GENERADOR DE INFORMES SOFTLAND 1-7 A continuación, describiremos de las tablas y campos que conforman el Diccionario de Datos: Tablas de diccionarios genéricos para cualquier sistema ERP: Ciudad: Esta tabla del diccionario nos proporciona información sobre todas las Ciudades creadas en la base de datos. Comuna: Esta tabla del diccionario nos proporciona información sobre todas las Comunas creadas en la base de datos. Meses: Esta tabla del diccionario nos proporciona información sobre todos los meses creados en la base de datos. Monedas: Esta tabla del diccionario nos proporciona información sobre todas las monedas creadas en la base de datos. Países: Esta tabla del diccionario nos proporciona información sobre todos los países creados en la base de datos. Provincia: Esta tabla del diccionario nos proporciona información sobre todas las provincias creadas en la base de datos. Regiones: Esta tabla del diccionario nos proporciona información sobre todas las regiones creadas en la base de datos. Tablas de diccionarios solo cuando la empresa exista por Activo Fijo ERP: Activos Ficha: Esta tabla del diccionario nos entrega información de la ficha de los activos fijos ingresados por el sistema. Usted podrá seleccionar los campos que desee incluir en el informe que usted creará. Activo Notas: Esta tabla del diccionario nos proporciona información sobre las notas que poseen los activos fijos en su respectiva ficha. Activos Producidos: Esta tabla del diccionario nos proporciona información sobre la tabla de producción de los activos creados en el sistema. Activos Readecuación: Esta tabla del diccionario nos proporciona información sobre los movimientos que han tenido los activos fijos creados en el sistema, donde podrá asociar Activos Ubicaciones: Esta tabla del diccionario nos proporciona información sobre donde se encuentran los activos fijos ingresados la sistema. Tablas de diccionarios solo cuando la empresa exista por Contabilidad, Proveedores y Clientes ERP: Contabilidad Comprobantes: Esta tabla del diccionario nos proporciona información sobre el encabezado del comprobante, donde podrá seleccionar los campos de inicio de un comprobante. Contabilidad Comprobante Movimientos: Esta tabla del diccionario nos proporciona información sobre los movimientos contables asociado a un numero de comprobante, donde se podrá vincular los campos referentes a la cuenta contable, Debe, Haber, Descripciones, etc... de un comprobante contable. Contabilidad Comprobante Movimientos Detalle: Esta tabla del diccionario nos proporciona información sobre el detalle de libro por documentos rango de documentos. 1-8 Generador de Informes Softland Contabilidad Plan Cuentas: Esta tabla del diccionario nos proporciona información sobre el detalle de las cuentas contables creadas en la base de datos, los campos códigos, descripción y tipo de cuentas. Contabilidad Saldo de Cuentas: Esta tabla del diccionario nos proporciona información sobre el saldo contable de los movimientos por cuentas contables. Contabilidad Tipos Documento: Esta tabla del diccionario nos proporciona información sobre los tipos de documentos creados en la base de datos, libro compra, libro venta, libro retención y otros. Proveedores: Esta tabla del diccionario nos proporciona información sobre los auxiliares (Ficha de Auxiliar) que están clasificados como proveedor. Proveedores Saldo: Esta tabla del diccionario nos proporciona información sobre el saldo por auxiliar por cuenta contable y monto, para aquellos auxiliares que son proveedores. Proveedores Saldo Documentos: Esta tabla del diccionario nos proporciona información sobre el saldo por auxiliar por cuenta contable, tipo de documento, fechas y monto, para aquellos auxiliares que son Proveedores. Clientes: Esta tabla del diccionario nos proporciona información sobre los auxiliares (Ficha de Auxiliar) que están clasificados como clientes. Clientes Saldo: Esta tabla del diccionario nos proporciona información sobre el saldo por auxiliar por cuenta contable y monto, para aquellos auxiliares que son Clientes Clientes Saldo Documentos: Esta tabla del diccionario nos proporciona información sobre el saldo por auxiliar por cuenta contable, tipo de documento, fechas y monto, para aquellos auxiliares que son Clientes. Tablas de diccionarios solo cuando la empresa exista por Notas de Ventas ERP: Gestión Venta Cotizaciones: Esta tabla del diccionario nos proporciona información sobre el encabezado de las cotizaciones ingresadas en la base de datos. Gestión Venta Cotizaciones Detalle: Esta tabla del diccionario nos proporciona información sobre los movimientos o detalle de las cotizaciones ingresadas en la base de datos. Gestión Venta Notas de Venta: Esta tabla del diccionario nos proporciona información sobre el encabezado de las Notas de Ventas ingresadas en la base de datos. Gestión Venta Notas de Venta Detalle: Esta tabla del diccionario nos proporciona información sobre los movimientos o detalle de las notas de ventas ingresadas en la base de datos. Gestión Venta Resumen: Esta tabla del diccionario nos proporciona información sobre el estado de cada nota de venta por producto despachados, reservados o facturados. Producto: Esta tabla del diccionario nos proporciona información sobre la ficha de producto creados en la base de datos. GENERADOR DE INFORMES SOFTLAND 1-9 Producto Complementario: Esta tabla del diccionario nos proporciona información sobre los productos complementario asociados en la ficha de productos. Producto Sustituto: Esta tabla del diccionario nos proporciona información sobre los productos sustitutos asociados en la ficha de productos. Tablas de diccionarios solo cuando la empresa exista por Órdenes Compra ERP: Gestión Compra Orden Compra: Esta tabla del diccionario nos proporciona información sobre el encabezado de las ordenes de compra ingresadas en la base de datos. Gestión Compra Orden Compra Detalle: Esta tabla del diccionario nos proporciona información sobre los movimientos o detalles de ordenes de compra ingresadas en la base de datos. Gestión Compra Requisiciones: Esta tabla del diccionario nos proporciona información sobre el encabezado de las requisiciones ingresadas en la base de datos. Gestión Compra Requisiciones Detalle: Esta tabla del diccionario nos proporciona información sobre los movimientos o detalle de las requisiciones ingresadas en la base de datos. Gestión Compra Resumen: Esta tabla del diccionario nos proporciona información sobre el estado de las ordenes de compra por producto y cantidades. Tablas de diccionarios solo cuando la empresa exista por Recursos Humanos ERP: Empleados Ficha: Esta tabla del diccionario nos proporciona información sobre la ficha de cada trabajador que se encuentre ingresado en la base de datos. Empleados Saldo: Esta tabla del diccionario nos proporciona información sobre el saldo por cuenta y código de auxiliar que este marcado con clasificación empleado. Tablas de diccionarios solo cuando la empresa exista por Inventario y Facturación ERP: Inventario Costo Promedio Actual: Esta tabla del diccionario nos proporciona información sobre el costo promedio por producto. Inventario Guías Despacho: Esta tabla del diccionario nos proporciona información sobre el encabezado de las guías de despacho emitidas he ingresadas en la base de datos. Inventario Guías Despacho Detalle: Esta tabla del diccionario nos proporciona información sobre los movimientos y detalle de las guías de despacho emitidas he ingresadas en la base de datos. Inventario Guías de Entrada: Esta tabla del diccionario nos proporciona información sobre el encabezado de las guías de despacho recibidas he ingresadas en la base de datos. Inventario Guías de Entrada Detalle: Esta tabla del diccionario nos proporciona información sobre los movimientos y detalle de las guías de despacho recibidas he ingresadas en la base de datos. Inventario Movimientos Entrada Salida: Esta tabla del diccionario nos proporciona información sobre la entrada y salidas de los productos ingresados en base de datos. 1-10 Generador de Informes Softland Inventario Stock Bodega Producto: Esta tabla del diccionario nos proporciona información sobre el stock en cantidad de productos por bodega. Inventario Stock Detallado: Esta tabla del diccionario nos proporciona información sobre el stock detallado de movimientos de stock de productos por bodega. Inventario Stock Producto: Esta tabla del diccionario nos proporciona información sobre el stock por producto que se encuentran por cada uno de ellos en la base de datos. Ventas: Esta tabla del diccionario nos proporciona información sobre las venta totales por vendedor, fecha, tipo de documento y auxiliar. Ventas Boletas: Esta tabla del diccionario nos proporciona información sobre las boletas emitidas. Ventas Boletas Electrónicas: Esta tabla del diccionario nos proporciona información sobre las boletas electrónicas emitidas. Ventas Boletas Exentas Electrónicas: Esta tabla del diccionario nos proporciona información sobre las boletas electrónicas Exentas Emitidas. Ventas Boletas Exentas: Esta tabla del diccionario nos proporciona información sobre las boletas Exentas Emitidas. Ventas Detalle Boletas: Esta tabla del diccionario nos proporciona información sobre los movimientos y detalle de las boletas emitidas. Ventas Facturas: Esta tabla del diccionario nos proporciona información sobre las Facturas emitidas. Ventas Facturas Electrónicas: Esta tabla del diccionario nos proporciona información sobre las Facturas electrónicas emitidas. Ventas Facturas Exentas Electrónicas: Esta tabla del diccionario nos proporciona información sobre las Facturas electrónicas Exentas Emitidas. Ventas Facturas Exentas: Esta tabla del diccionario nos proporciona información sobre las Facturas Exentas Emitidas. Ventas Detalle Facturas: Esta tabla del diccionario nos proporciona información sobre los movimientos y detalle de las Facturas emitidas. Ventas Notas de Créditos: Esta tabla del diccionario nos proporciona información sobre las Notas de Créditos emitidas. Ventas Notas de Créditos Electrónicas: Esta tabla del diccionario nos proporciona información sobre las Notas de Créditos electrónicas emitidas. Ventas Notas de Créditos Exentas Electrónicas: Esta tabla del diccionario nos proporciona información sobre las Notas de Créditos electrónicas Exentas Emitidas. Ventas Notas de Créditos Exentas: Esta tabla del diccionario nos proporciona información sobre las Notas de Créditos Exentas Emitidas. Ventas Detalle Notas de Créditos: Esta tabla del diccionario nos proporciona información sobre los movimientos y detalle de las Notas de Créditos emitidas. GENERADOR DE INFORMES SOFTLAND 1-11 • Al seleccionar Informe en Blanco, el sistema mostrará una pantalla con el diseñador de informe en blanco, permitiendo de esa forma incorporarle todas las tablas, campos, y consultas a considerar. • Al seleccionar el ícono Asistente de Informes, el sistema mostrará los tipos de Informes a los que puede acceder, en esta versión sólo está habilitado el ícono Informe Estándar. Al continuar, se desplegará una nueva pantalla, la cual trae predefinida la tabla del diccionario (Tablas, Consultas y Campos a desplegar), tal como se muestra a continuación: Dentro de la lista desplegada, seleccione una fuente de datos (ej: Ciudades, Comunas, etc.). Indicada la información seleccione el botón Próximo para continuar con el proceso. 1-12 Generador de Informes Softland Dependiendo de la fuente de datos elegida, seleccione las columnas que desea mostrar en el informe, para esto haga clic ben el caja de chequeo que precede la columna a considerar. Para seleccionar todas las columnas que se muestran en pantalla, seleccione el botón Marcar Todos, por el contrario, el botón Restauración desmarcará las seleccionadas. Para continuar con el proceso, seleccione el botón Próximo. Dentro de esta pantalla, podrá organizar el orden de las Columnas a visualizar en el informe, para esto utilice el botón ubicado en la parte superior derecha de la pantalla. Junto a esta información se encuentran activos los siguientes botones: Anterior regresa a la pantalla anterior, Próximo continua con el proceso, Fin finaliza el asistente y Cancelar finaliza el proceso. GENERADOR DE INFORMES SOFTLAND 1-13 A continuación podrá determinar el ordenamiento de la información, pudiendo ordenar inmediatamente en columnas múltiples. Para continuar con el proceso, seleccione el botón Próximo. Dentro de esta pantalla podrá indicar los filtros a considerar en el informe, seleccione el botón Próximo para continuar con el proceso. 1-14 Generador de Informes Softland Dependiendo de las columnas consideradas en el informe, seleccione las que son necesarias agrupar, para esto haga clic en la caja de chequeo que precede a Junto a esta información se encuentran activos los siguientes botones: Anterior regresa a la pantalla anterior, Próximo continua con el proceso, Fin y Cancelar finaliza el proceso. En esta pantalla, podrá especificar y agregar los totales que requiera a su informe. Para continuar con el proceso, seleccione el botón Próximo. GENERADOR DE INFORMES SOFTLAND 1-15 Finalmente, podrá especificar el formato de salida del informe (Orientación, Lenguaje, Unidad). Indicada la información, seleccione el botón Fin, tras lo cual el sistema mostrará el diseño del informe, donde podrá realizar los cambios deseados, tal como se muestra a continuación: Para grabar el informe generado, seleccione el botón sistema desplegará una nueva pantalla. ubicado en la parte superior de la pantalla, tras lo cual el 1-16 Generador de Informes Softland En esta pantalla, podrá dar un nombre al informe, una descripción y el perfil del usuario que podrá emitir el informe: Nombre: Nombre con el cual se grabará el informe, largo máximo 250 caracteres (ingreso obligatorio). Descripción: Descripción del informe, largo máximo 100 caracteres (ingreso obligatorio). Perfiles: Sistema : Podrá filtrar los perfiles por sistema, los sistemas a mostrar corresponde a los sistemas que posee la empresa. Por defecto el sistema mostrará texto “Todos los Sistemas”. Buscar: Se podrá filtrar los perfiles de acuerdo al texto digitado, esta búsqueda será realizada en el código y descripción, además del sistema seleccionado, y el resultado de la búsqueda se mostrará en la lista de selección. Este informe podrá ser visualizado o impreso por los usuarios de los siguientes perfiles: mostrará todos los perfiles existentes de todos los sistemas, pero además dependiendo de los filtros anteriores, podrá seleccionar uno o varios, el dato es exigido, al menos debe existir uno. para grabar el nuevo informe y chequear que toda la información se encuentre Ingresada la información, seleccione el botón ingresada, de lo contrario, enviará un mensaje de advertencia por pantalla. Finalmente, los informes generados forman parte de la base de datos del sistema y se muestran en una lista en pantalla. Junto a esta información, se encuentra activa la 2ª Barra de Herramientas, donde podrá agregar nuevos informes, modificar, eliminar o imprimir los existentes. GENERADOR DE INFORMES SOFTLAND 1-17 Modificar un Informe ubicado en la 2ª Barra de Herramientas, tras lo cual se desplegará el Seleccione el informe a modificar y haga clic en el botón informe diseñado, donde podrá realizar todas las modificaciones deseadas. Al grabar los cambios sólo podrá modificar la descripción y los perfiles del informe Eliminar un Informe Para eliminar un informe desde la lista, seleccione el botón desde la 2ª Barra de Herramientas, tras lo cual el sistema desplegará una pantalla con la información asociada al informe (Nombre, Descripción y Perfiles), dentro de esta pantalla, seleccione nuevamente el botón , el sistema solicitará confirmar la eliminación. Imprimir un Informe Para imprimir un informe desde la lista de informes creados, seleccione el botón pudiendo imprimir el informe en el monitor o a la impresora. A continuación se presenta un ejemplo de este informe: ubicado en la 2ª Barra de Herramientas, Para abandonar y regresar a la pantalla anterior, seleccione desde la 2ª Barra de herramientas el botón . 1-18 Generador de Informes Softland Seguridad Administrar el control de ingreso de los usuarios a las distintas opciones de este sistema. Permisos por Usuario Objetivo Crear usuarios que tengan acceso al sistema y a la vez asignarle los permisos necesarios para la operación en los distintos procesos. - La única persona autorizada a operar dentro de este proceso, es el Usuario Principal o Administrador del sistema. - Tanto los Usuarios, como sus Passwords son únicas en los sistemas Softland, por lo tanto si un Usuario cambia su Password estando; por ejemplo, en Cotizaciones y Notas de Ventas, ésta quedará registrada y será válida para el ingreso a cualquier sistema Softland. Operatoria Al seleccionar la Definición de Usuario por primera vez, se presenta una pantalla similar a la de Asignación de Privilegios a Usuarios (Figura Nº 1), variando las opciones según el sistema que esté en uso. En ella tendrá que señalar el Código del Usuario (máximo 8 caracteres) y su Nombre (máximo 50 caracteres). Por ejemplo: como usuario se podrá ingresar la sigla del nombre (PQN) y en la descripción el nombre completo (Pablo Quiroga Núñez). A continuación se activará la carpeta: Permisos, tal como se muestra en la siguiente pantalla: Figura Nº 1 En esta carpeta el usuario principal asigna los permisos al usuario en definición, para que pueda ingresar a determinados procesos del sistema. Al elegirla, se despliega una lista de los procesos y los estados que éstos tienen respecto al usuario en definición. Los permisos pueden ser otorgados proceso a proceso a un Usuario, o tomando como base los permisos de un Perfil: • • Permisos al usuario proceso a proceso: se otorgan cuando se desea asignar una responsabilidad individual a un usuario, sobre uno o varios procesos. Por ejemplo: en el caso del sistema de Inventario y Facturación, el digitador Francisco Fuentes estará a cargo de la Mantención de las Facturas en Línea, por Lotes y Proforma, labores que no serán realizadas por otro digitador. Permisos al usuario tomando como base un Perfil: se otorgan al usuario todos los permisos que tenga asociado un Perfil, además de aquellos que le hayan sido dados en forma independiente. Por ejemplo: digitador Francisco Fuentes tendrá permiso para la Mantención de las Facturas en Línea, por Lotes y Proforma y, además los permisos del Perfil “Operadores”. (Los Perfiles se crean en el proceso Permisos por Perfiles, menú Seguridad de cualquier sistema ERP). GENERADOR DE INFORMES SOFTLAND 1-19 En esta carpeta se pueden llevar a cabo las siguientes operaciones, seleccionando el botón de opciones que aparece al lado izquierdo de cada una de las alternativas: Global: Permite consultar todos los permisos otorgados al usuario en definición, ya sea como usuario independiente o como parte de un Perfil. Todos aquellos procesos que aparezcan con un 9 en la columna "Asignado", podrán ser realizados por él. Usuario: Permite otorgar permisos individuales al usuario en definición, con el fin de que pueda acceder a uno o varios procesos del sistema. Para llevar a cabo esta opción, elija el proceso a autorizar en la columna Formulario, ubicando el indicador del mouse sobre él y haciendo clic. Con esto se despliegan en la columna Permiso, una o varias alternativas de operación que son dependientes del proceso recientemente elegido, a las cuales podrá tener acceso el usuario. Para dar autorización se hace un doble clic sobre la o las operaciones deseadas en la columna Permiso. Aquellas que sean elegidas irán apareciendo con un 9 en la columna "Asignado". Para dar por finalizado el proceso de definición se selecciona el botón Salir quedando el usuario con los permisos correspondientes. De esta misma forma, se pueden dar permisos adicionales a un usuario que tiene asignados Permisos por perfil, para ello se elige el usuario y luego se ingresan los permisos adicionales. Finalmente, podrá cambiar la password del usuario que viene predefinida como Softland, a través de la selección del botón Cambio Password, el cual tras ser elegido despliega una ventana con el nombre del usuario y su password actual, dando acceso para el ingreso de una nueva. En este punto podrá modificar la password de cualquier usuario, ya que frente al campo usuario se activa el botón Buscar, el cual le permite acceder a cualquier usuario de la lista y cambiarle su password. Cualquiera haya sido el caso, bastará con que seleccione el botón OK, para que la nueva password quede registrada. Para mayores antecedentes respecto al tema password refiérase al capítulo Cambio de Password. Ingresados todos los antecedentes para "Permisos por usuarios", se selecciona el botón Salir, quedando el usuario con los permisos correspondientes. Cuando esto ocurre, se despliega la pantalla con la lista de usuarios definidos, (Ver Figura Nº 2) pudiendo Agregar, Modificar y/o Eliminar Usuarios, a través de los botones de la 2ª Barra de Herramientas (Ver Apéndice B). Figura Nº 2 En caso que la lista de usuarios sea muy extensa, se podrá utilizar el sistema de búsqueda automática, que se lleva a cabo ingresando el código o la descripción del usuario, en uno de los recuadros de búsqueda (parte superior de esta ventana) y luego seleccionando el botón Aplicar. Esta pantalla es la misma que se despliega al ingresar a este proceso, cuando existen usuarios que fueron definidos. Para abandonar el proceso, basta con seleccionar el botón Salir. 1-20 Generador de Informes Softland Cambio de Password Objetivo Modificar la password de los usuarios, tanto principal como secundarios. En primera instancia todos los usuarios que se generan en este sistema, quedan con la password SOFTLAND, por lo tanto para modificarla y asignarle a cada usuario su propia password, se debe usar esta opción. - La password puede ser modificada solamente al usuario que está activo al momento de elegir esta opción. Para cambiársela a otro usuario, primero se debe activar el usuario deseado y luego ingresarle la nueva password en este proceso. (Un usuario está activo cuando aparece en la Barra de Estado que se despliega en la parte inferior de la pantalla. - Tanto los Usuarios, como sus Passwords son únicas en los sistemas Softland, por lo tanto si un Usuario cambia su Password estando en Contabilidad y Presupuestos, ésta quedará registrada y será válida para el ingreso a cualquier sistema Softland. Operatoria Al seleccionar esta opción se presenta una ventana con el nombre del usuario y se solicita la password original. Una vez que ésta es ingresada, el sistema pasa a solicitar la nueva password, la cual debe ser ingresada dos veces con el fin de verificar que se ingresó correctamente. (Ver Figura Nº 1). Figura Nº 1 Al finalizar se podrá optar por la alternativa OK para que la nueva password quede registrada, o por Salir, para irse del proceso sin cambiar la password. El usuario y la password son solicitados por el sistema, cada vez que se selecciona una empresa. GENERADOR DE INFORMES SOFTLAND 1-21 Expresiones Introducción Expresión es una combinación de operadores lógicos y matemáticos, símbolos absolutos, funciones, nombres de campo, controles, y, como resultado de la transformación de la expresión, se devuelve un único valor. Este valor se almacena y puede ser utilizado para trabajos posteriores. Las Expresiones que se utilizan con frecuencia en el generador de informes, son expresiones de texto. Este tipo de expresiones se usa para obtener un texto que se imprimirá y son convertidos en una cadena. Nombre de la propiedad en la que Propiedad en el que el resultado Descripción se registra la expresión del cálculo de la expresión se registra Text TextValue Esta propiedad se usa para obtener un texto para la impresión. Siempre se convierte en una cadena. Bookmark BookmarkValue Esta propiedad se usa para calcular el valor de favoritos. Hyperlink HyperlinkValue Esta propiedad se usa para calcular el hipervínculo cadenas Tag TagValue Esta propiedad se usa para calcular el valor del campo Etiqueta. Tooltip TooltipValue Esta propiedad se utiliza para calcular la cadena de salida en la ventana de vista previa. Checked CheckedValue Esta propiedad se utiliza para calcular la cadena de salida en la ventana de vista previa. Filter Esta propiedad se usa para filtrar datos. Condition Esta propiedad se utiliza para calcular la condición de agrupación en la banda GroupHeader. Code CodeValue Esta propiedad se usa para calcular el código para la cadena de códigos de barras de salida. Texto en expresiones La forma más sencilla de expresiones son las expresiones que contienen sólo el texto. Por ejemplo: MyText 12345 Test Estas tres expresiones consisten en una constante, y no incluyen cálculos. Las Expresiones de ese tipo se utilizan para indicar las constantes de cadena simple, absoluta de los símbolos, nombres de columnas, nombre de informes, referencias, etc.. Cálculos de valores en la Expresión La expresión, excepto la de texto simple, también puede incluir variables y funciones de valores de campo de las bases de datos. Para ello, puede añadir partes de un código de expresión. El código dentro del informe está escrito en lenguaje de programación ("(" símbolo es el comienzo de un código para el cálculo de valor) y (")" símbolo es el final de un código para el cálculo del valor). El código dentro de estos símbolos se calcula y es sustituido por el resultado de cálculo, en el texto el resultado de las expresiones de cálculo se convertiría automáticamente en la cadena. 1-22 Generador de Informes Softland Multilínea en Expresiones ¿Es posible configurar el texto multilínea en la expresión? Todo lo que necesita hacer para la creación de la multilínea de expresión es poner la línea de alimentación antes de una nueva línea (en el editor de código de la línea de alimentación se fija presionando Enter). Por ejemplo: Valor: (1 +2) - Después el cálculo se imprimirá en la expresión en los siguientes términos: Valor: 3 En otras palabras la expresión contendrá dos líneas. No hay límite en el número de líneas en el generador de informes. Sr. Usuario: Las expresiones con Multilínea no tienen límite en el uso del código para el cálculo del valor. Los mismos principios de cálculo de expresiones en multilínea se utilizan en el cálculo de una sola línea de las expresiones. Por lo tanto, deberá crear al mismo tiempo las expresiones multilínea y el código no puede ser separado de la línea de alimentación. Uso de variables del diccionario Una expresión usa variables creadas en el diccionario. Por esto, sólo deberá especificar el nombre de la variable en la expresión. Las variables pueden ser utilizadas en los cálculos. Por ejemplo: Valor = MyVariable + 10 MyVariable si la variable es de 15 entonces esta expresión devolverá el siguiente texto: Valor = 25 Importante: Si el lenguaje de programación es C #, entonces, el registro de nombres de las variables se debe considerar. Si el lenguaje de programación es VB.Net, entonces, el registro de nombres de las variables no debe considerarse. Uso de variables en el código del informe El generador de informes le permite añadir cualquier código adicional en el código del informe. Esta propiedad puede ser utilizada para la transformación de variables, las cuales siempre pueden utilizarse en expresiones del informe. Los principios de uso de las variables del código del informe son los mismos que los principios de uso de las variables del diccionario. Usted debe saber que sólo las variables del diccionario pueden ser utilizadas para cualquier cálculo de los valores. Por ejemplo, el cálculo de la progresiva total. ¡Importante! Sólo las variables del diccionario pueden ser utilizadas para cualquier cálculo de los valores. GENERADOR DE INFORMES SOFTLAND 1-23 Uso de los campos de fuentes de datos En las expresiones usted puede usar valores de las fuentes de datos. Para tal efecto, la referencia en el uso de la expresión en el campo de la fuente de datos, es la cadena de la representación sobre el informe. En primer lugar, deberá especificar el nombre de la fuente de datos y, a continuación, especificar el nombre del campo. Separe el nombre de la fuente de datos y el nombre del campo con puntos: {DataSource.Field} Por ejemplo {Customers.CompanyName} - Esta expresión devolverá el nombre de la empresa. Si la fuentede datos se relaciona con otras fuentes de datos, éstas pueden utilizar los campos de los padres de la fuente de datos. Así que después de indicar el nombre del campo de la fuente de datos de entrada indique el nombre de la relación. A continuación ingrese el nombre del campo de la fuente de datos. Importante: El nombre de la relación y el nombre del campo se separan con puntos: {Datasource.Relation.Field} Por ejemplo: {Products.ParentCategories.CategoryName} En este caso: Productos - nombre de la fuente de datos; ParentCategories - nombre de la relación de dos fuentes de datos. En este caso dos fuentes de datos: Productos (lista de productos), y las categorías (lista de las categorías de estos productos) están unidos. CategoryName – nombre de la columna en las categorías de la fuente de datos Como resultado del cálculo, la expresión devolverá los nombres de las categorías de producto. Utilice únicamente los nombres de las fuentes de datos, las relaciones, y los campos en la expresión. El Generador de Informes Softland no impone una limitación en el número de la relación de transferencia. En otras palabras, al trabajar con la columna le puede aplicar al informe dos o más relaciones. Por ejemplo: {OrderDetails.ParentProducts.ParentCategories.CategoryName} En esta expesión: OrderDetails - el nombre de la fuente de datos; ParentProducts - el nombre de la relación entre la OrdersDetails fuente de datos y productos; ParentCategories - el nombre de la relación entre la fuente de datos de productos y categorías; CategoryName - el campo de la fuente de datos de las categorías. Como se puede ver, el valor del campo CategoryName se ha obtenido mediante la relación de relacionar OrderDetails fuente de datos a la fuente de datos de las categorías. No se llama directamente a la fuente de datos de las categorías donde se utilizan. Importante: Si el lenguaje de programación es C #, entonces el registro de nombres de las variables debe considerarse. Si el lenguaje de programación es VB.Net, entonces el registro de nombres de las variables no debe considerarse. 1-24 Generador de Informes Softland Variables del sistema El Generador de Informes Softland ofrece las variables a utilizar en las expresiones, las cuales informan de la situación actual de un informe. Vamos a examinar las variables del sistema: • Line - devuelve el número actual de la línea. Utilízalo para las líneas de numeración en los informes. La numeración comienza por 1. La numeración de cada grupo se separa; • LineThrough - número de retornos a través de la línea. A diferencia de la línea de la variable LineThrough variable devuelve el número de una línea desde el principio de un informe sin agrupación. La numeración comienza por 1; • PageNumber - devuelve el número actual de una página. La numeración de páginas empieza con 1. Utilizado para la numeración de páginas; • TotalPageCount - devuelve el número total de páginas en el informe; • PageNofM - devuelve la cadena convencional de acuerdo a un patrón común: • Página (PageNumber) de (TotalPageCount) La variable se utiliza para la numeración de páginas. • Column - devuelve el número actual de una columna. Utilizado para la numeración de las columnas en el informe; • Date - devuelve la fecha actual; • Time - devuelve la hora actual; • ReportName - devuelve el nombre del informe; • ReportAlias - devuelve el informe alias; • ReportAuthor - devuelve el informe autor; • ReportChanged - devuelve la fecha del reciente informe el cambio; • ReportCreated - devuelve la fecha de la creación del informe; • ReportDescription - devuelve la descripción del informe. Funciones de expresión El Generador de Informes Softland, no tiene funciones incorporadas debido a que está estrechamente integrado con. Net Framework, pudiendo utilizar todas las funciones disponibles en. Net Framework. Por ejemplo, para Texto:: {MyString.Trim()} {"Test".ToUpper()} {MyString.Length} Valores: {Math.Round(MyValue, 2)} {Math.Sqrt(MyValue)} {MyValue.ToString() + " "} GENERADOR DE INFORMES SOFTLAND 1-25 Texto de información de salida Introducción El Texto es parte de cada informe. El Generador de Informes Softland puede utilizar para el texto de salida los siguientes componentes: Text, SystemText, ContourText y RichText (RichText tiene otras formas de funcionamiento y es visto en un capítulo especial). Los parámetros que están disponibles son: ubicación y tamaño, bosdes, relleno, alineación, etc... Junto a los estilos de fuente, componentes de texto ofrecen una gran cantidad de parámetros de texto de salida. Parámetros de salida de texto Introducción Existe una variedad de propiedades de componentes de texto. A continuación describiremos la importancia de algunas de ellas: Múltiples Líneas Si el texto no se puede poner en una línea será recortado por defecto. Si es necesario poner un texto sobre algunas líneas, entonces usted debe establecer la palabra de recapitulación, deberá establecer la propiedad de la componente de texto Multiples Líneas. Arreglar Usando la propiedad Arreglar, puede añadir de forma automática las marcas de omisión y la propiedad tiene los siguientes valores: Veremos con la frase “Esta es una prueba de como se muestran los datos” cómo se mostrará el texto de acuerdo a la propiedad Arreglar Ninguno - el texto es recortado estrictamente por el margen de un rectángulo o, si se trata de un texto multilínea, de la última palabra visible; Carácter - es recortado de la línea después del último carácter visible; Word - la línea está recortado visible después de la última palabra; Ellipsis character- últimos caracteres de una palabra se cambió a puntos; Ellipsis Word – última palabra se cambió a puntos; 1-26 Generador de Informes Softland Ellipsis path - el medio de una línea se cambia a fin de los puntos de inicio y final de una línea puede ser visible. Límite de líneas Al establecer la propiedad en Verdadero Límite de líneas podrá hacer visibles las líneas del texto. Usaremos la frase “Esta es una prueba de como se muestran los límites de texto en una línea”. Cuando es Falso la propiedad Límite de Líneas se muestra: Cuando es verdadero la propiedad Límite de Líneas se muestra: Líneas subrayadas Para establecer la propiedad en Verdadero las Líneas de Subrayado podrá subrayar cada línea del componente del texto. Número máximo de líneas ¿Cómo hacer que el componente de texto aumente el tamaño vertical y el número máximo de líneas horizontales?. R.- Utilice la propiedad Número máximo de líneas de forma predeterminada, esta propiedad es igual a cero y la componente vertical se incrementará. El componente es limitado en el aumento de tamaño de la página. Si establece el valor de esta propiedad en 5, entonces, al aumentar el tamaño vertical, que se incrementará en 5 líneas horizontales. Ángulo El uso de la propiedad Angulo puede configurar la rotación del texto. Para establecer los valores estándar de texto de la rotación (0, 45, 90, 180, y 270 grados), es recomendable el uso del botón selección de la propiedad de Ángulo , ubicado en la barra de herramientas. Procesando Duplicados En muchos informes hay una necesidad de fusionar algunos componentes en un solo texto que contienen valores duplicados. Si desea que el componente de texto iguale los valores de fusión, deberá definir el valor de la propiedad Procesando duplicados en Verdadero. GENERADOR DE INFORMES SOFTLAND 1-27 Condiciones La propiedad Condiciones le permite modificar el formato del texto que depende de la condición. Usted puede configurar el uso de ésta a través de la propiedad Condiciones o mediante el botón de la barra de herramientas de Formato . - Este botón llama a las condiciones Aquí se pueden especificar todas las condiciones especiales que desea aplicar a un texto. - Condición Si la condición no es cierto entonces el componente de formato se cambia a la que se indica en los parámetros. Esconder ceros Seleccione la propiedad Esconder ceros en Verdadero, el componente de texto no imprimirá los valores en cero dentro de la información numérica. 1-28 Generador de Informes Softland Expresiones en el texto Texto sin salida de expresiones Si la salida no contiene el código de procesamiento de expresión, es decir, no es una variable si no un texto fijo establezca el valor de la propiedad en Sólo texto en Verdadero, y, la expresión de salida será como un texto. Los cálculos no serán procesados. - La propiedad Sólo texto es verdadera. No se procesa el texto indicado, es un texto fijo. - La propiedad Sólo texto es falsa. El texto es producto del proceso de transformación de la expresión, ya sea una variable o un cálculo definido para ésta. Formato de texto Introducción El Formato de texto es el contenido de información en el formulario del informe. El Generador de Informes Softland contiene todas las herramientas necesarias para dar formato al contenido del informe. El formato de texto es la herramienta base para dar el formato deseado a los informes. Esta herramienta es un cuadro de diálogo, que le permite configurar los parámetros de formato. El cuadro de diálogo del formato de texto se llama desde el menú contextual, el cual aparece al hacer clic derecho en el texto de los componentes. Además, el uso de la propiedad Formato de Texto, le permite indicar también definir el formato a considerar en cada formulario. 1-. Tipo de formato. Usted puede elegir los siguientes tipos de formato: General - salida de datos sin formato; Número - Datos numéricos de formato; Moneda Corriente - Datos con formato de moneda; Fecha – Datos con formato de tipo fecha; Hora - Datos con formato de tipo hora; Porcentaje – Datos con formato de tipo porcentaje; Booleano – Datos con formato de tipo booleano (Verdadero y Falso); Personalizado – Permite personalizar el formato que se dará al formulario.. 2-. Muestra del texto; 3-. Especificar la opción de formato. GENERADOR DE INFORMES SOFTLAND 1-29 Formato General Formato General se utiliza para el ingreso de texto o valores numéricos sin considerar un formato fijo. Cuando se elige esta opción no está en el proceso de formato. Formato Numérico Use el formato numérico para los valores numéricos de salida (recomendado). Separador de Grupo Cuando utiliza el Separador de Grupo, los valores numéricos se configurarán con separador de miles. Colocación Local Cuando utiliza la configuración de Colocación local, los valores numéricos se mostrarán con el formato actual de la configuración regional del Sistema Operativo, si no se selecciona esta opción, el usuario podrá dar el formato deseado a los valores numéricos. Dígitos decimales Número de dígitos decimales, se utiliza en los valores numéricos para determinar el número de decimales que se mostrarán en el formato. Separador Decimal Es el carácter que se utiliza como separador decimal para el formato en valores numéricos. Separador de grupo Es el carácter que se utiliza como separador de miles para los formatos en valores numéricos. Tamaño de grupo El número de dígitos en cada grupo en formato de valores numéricos, por defecto son 3 en la separación de miles. Patrón negativo Se utiliza para el formato en que se mostrarán los valores numéricos negativos. 1-30 Generador de Informes Softland Formato de Moneda corriente Utilice el formato de moneda para aquellos valores numéricos que tengan la condición se ser valores en moneda. Use Separador de grupo Cuando utiliza el Separador de Grupo, los valores numéricos se configurarán con separador de miles. Colocación Local Cuando utiliza la configuración de Colocación local, los valores numéricos se mostrarán con el formato actual de la configuración regional del Sistema Operativo, si no se selecciona esta opción, el usuario podrá dar el formato deseado a los valores numéricos. Dígitos decimales Número de dígitos decimales, se utiliza en los valores numéricos para determinar el número de decimales que se mostrarán en el formato. Separador Decimal Es el caracter que se utiliza como separador decimal para el formato en valores numéricos. Separador de grupo Es el carácter que se utiliza como separador de miles para los formatos en valores numéricos. Tamaño de grupo El número de dígitos en cada grupo en formato de valores numéricos, por defecto son 3 en la separación de miles. Patrón positivo El patrón que se utiliza para dar formato a los valores numéricos positivos. Patrón negativo El patrón que se utiliza para dar formato a los valores numéricos negativos. Símbolo de la moneda Este símbolo se utiliza como símbolo de la moneda por defecto; GENERADOR DE INFORMES SOFTLAND 1-31 Fecha formato El formato de fecha se utiliza para la salida de los formularios de tipo fecha. Este formato se puede seleccionar de entre el conjunto de formatos como sigue: formato de fecha corto, formato de fecha largo, etc. En todos los formatos, excepto los que están marcados con el símbolo (*), el orden de los elementos no se cambia. Formato de hora El formato de la hora se utiliza para la salida de los formularios de tipo hora. Para los datos del tipo Hora puede seleccionar los siguientes dos tipos de hora de salida: formato corto (horas, minutos) y largo (horas, minutos, segundos). 1-32 Generador de Informes Softland Formato de Porcentaje Este formato se utiliza para los valores de salida que se desean expresar en porcentaje. Si formatea el valor se multiplica por 100, después se visualiza el signo de porcentaje. Use Separador de grupo Cuando utiliza el Separador de Grupo, los valores numéricos se configurarán con separador de miles. Colocación Local Cuando utiliza la configuración de Colocación local, los valores numéricos se mostrarán con el formato actual de la configuración regional del Sistema Operativo, si no se selecciona esta opción, el usuario podrá dar el formato deseado a los valores numéricos. Dígitos decimales Número de dígitos decimales, se utiliza en los valores numéricos para determinar el número de decimales que se mostrarán en el formato. Separador Decimal Es el caracter que se utiliza como separador decimal para el formato en valores numéricos. Separador de grupo Es el carácter que se utiliza como separador de miles para los formatos en valores numéricos. Tamaño de grupo El número de dígitos en cada grupo en formato de valores numéricos, por defecto son 3 en la separación de miles. Patrón positivo El patrón que se utiliza para dar formato a los valores numéricos positivos. Patrón negativo El patrón que se utiliza para dar formato a los valores numéricos negativos. Símbolo de Porcentaje Se utiliza para representar el símbolo con el que se mostrarán los valores definidos como porcentajes. GENERADOR DE INFORMES SOFTLAND 1-33 Formato de Valores booleanos Este formato se usa para el formato de los valores de tipo booleano. Se define el valor de la cadena para identificar los valores booleanos definidos como respuesta False. Se define el valor de cadena del valor booleano que se desplegará en pantalla como falsa. Se define el valor de la cadena para identificar los valores booleanos definidos como respuesta True. Se define el valor de cadena del valor booleano que se desplegará en pantalla como verdadera. Formato Personalizado Este tipo de formato se utiliza para configurar datos con formato que tienen una Máscara distinta a las definidas anteriormente. Máscara Es el formato establecido por el usuario para representar un valor o expresión.. Valores predefinidos La lista de valores predefinidos para configurar el formato a través de máscaras. 1-34 Generador de Informes Softland Sistema de información El Generador de Informes Softland puede encontrar el componente Textos de Sistema, el cual se utiliza para información de salida correspondiente a información propia del informe. Otros componentes pueden mostrar la información del sistema, pero el componente Textos de sistema ofrece una interfaz muy práctica para el establecimiento de parámetros. Esta componente ofrece tres modos de producción de información: funciones (sumario), las variables de sistema y expresiones. Funciones (sumario) Permite la configuración de funciones rápidas y fáciles para una banda de datos o columnas de datos. Sumario Muestra una lista desplegable que contiene todas las funciones incluidas en el generador de reportes Softland. Banda de datos Se debe especificar a qué banda de datos se quiere aplicar la función para ser calculada. Columna de datos Aquí se debe especificar la columna a la cual se aplicará la función seleccionada.. Condición Se debe especificar la condición que se requiera para aplicar la función seleccionada.. Ventana de edición de una condición En el Editor de texto que debe establecer la función que se aplicará para definir la condición, de ser necesario. GENERADOR DE INFORMES SOFTLAND 1-35 Variables del sistema Esta le permitirá seleccionar un una lista de variables de sistema. Expresión La tercera vía permite editar expresión en la ventana de edición de expresión. Esta ventana es la misma que la de una ventana de edición de texto. Se utiliza cuando no se puede obtener el resultado que desea y su actualización es necesaria. 1-36 Generador de Informes Softland Información gráfica de salida Introducción Hoy no sólo texto sino componentes gráficos pueden ser utilizados en los informes. El Generador de Informes Softland maneja los siguientes componentes gráficos: Imagen, Formas y Código de Barras. El componente de la imagen se utiliza para la producción de imágenes. La Forma se utiliza para la producción de formas (figuras geométricas en general) y el Código de Barras se utiliza para la producción de códigos de barras. Imágenes En el informe para ser más evidente, puede agregar imágenes. Hay logos, imágenes, fotos de productos, fotos de personal, etc., Para la salida de la imagen este generador puede utilizar el componente de imagen, el cual apoya los siguientes tipos de imágenes: BMP, JPEG, TIFF, GIF, PNG, ICO, EMF y WMF. Carga de imágenes El Generador de Informes Softland puede cargar las imágenes de tres maneras: - Carga una imagen de un archivo; Carga una imagen de un informe de código; Carga una imagen de un campo de datos. Cargando una imagen de un archivo Una imagen puede ser cargada desde un archivo. Especifique la ruta de acceso al archivo que contiene una imagen (botón abrir). Al confirmar, se carga esta imagen y posteriormente podrá ser impresa. Importante No utilice esta función para cargar las imágenes grandes (100kb). Esto puede causar que se detenga su informe. Cargar las imágenes de un campo de datos Especifique el campo de datos a partir de la cual la imagen será cargada. Para estos efectos puede utilizar la propiedad Columna de datos. Códigos de Barras El Generador de Informes Softland apoya 22 tipos de códigos de barras: EAN-8, EAN-13, UPC-A, UPC-E, UPC-Supp2, UPCSupp5, 2, de 5 de la norma, Interleaved 2 de 5, Código 39, Código 39 ampliada, Code 93, Code 93 extendido, Codabar, Código 128, Código 128b, 128c del Código, EAN 128, EAN 128b, 128c EAN, Plessey, Msi, Postnet. Para especificar el código en el código de barras debe usar la propiedad Tipo de Código de barras. GENERADOR DE INFORMES SOFTLAND 1-37 Al utilizar la componente de Código de Barras, debe saber que la modificación del tamaño de la componente no da lugar a cambios en el tamaño del código de barras. Todos los códigos de barras tienen su propio estándar. Muchos tipos de códigos de barras nunca pueden ser modificados o pueden ser modificados dentro de los límites. Varias propiedades adicionales para los códigos de barras están disponibles. Usted puede encontrar estas propiedades en el panel de Propiedades. Sólo el despliegue de códigos de barras tipo. Por ejemplo, se puede ver la EAN-128 de códigos de barras en una foto. Este código de barras le permite configurar dos opciones: la altura de códigos de barras y el módulo de códigos de barras. Formas En los informes que desea tener formas, use el componente Forma. El Generador de Informes Softland tienen diferentes formas y formas de llenado pincel, colores, margen, Forma del componente (rectangular, rectángulo redondeado, triángulo, formas ovaladas, flechas y la variedad de líneas), etc. 1-38 Generador de Informes Softland Estilos de los componentes Introducción El Generador de Informes Softland tiene muchos parámetros para el diseño del estilo de los componentes. Usted puede utilizar el tipo de letra, tamaño de letra, color de fuente, los componentes de antecedentes, el marco de alineación horizontal y vertical, etc. Fuentes El uso de diferentes tipos de fuentes, el cambio de tamaño de la letra, la aplicación de colores que pueden hacer de un texto cualquier estilo, pudiendo ser modificado en la propiedad Letra. Para establecer el tipo de letra, le recomendamos que utilice la Formateo de botones de la barra de herramientas. Letra En la lista desplegable puede especificar el tipo de fuente que se utilizará para la producción de un texto. El tamaño de la letra En la lista desplegable puede configurar el tamaño de la fuente del texto. Negrita Al pulsar este botón, ajustar el texto en negrita. Cursiva Al pulsar este botón, ajustar el texto en cursiva. Subrayó Al pulsar este botón, ajustar el texto subrayado. Relleno del texto Este control le permite definir el pincel para rellenar el texto. Fondo Dos pinceles se utilizan para llenar el fondo. Utilice la propiedad Fondo Bordes para modificar el color de fondo. del componente de la barra de herramientas de Llenar botón de color Este botón llama a la lista de colores disponibles que se utiliza para rellenar el fondo del componente seleccionado. Tres tipos de pinceles están disponibles. Ellos son los siguientes: Sólido, choque, gradiente y brillo. Sólido - La componente se llena con el color especificado. Choque - El fondo de la componente se rellena con el patrón definido. Además puede establecer el telón de fondo y un patrón de color. Gradiente - Los antecedentes de la componente se llenan con un degrado. Usted debe especificar los colores del degradado y el ángulo de rotación de la degradado. GENERADOR DE INFORMES SOFTLAND 1-39 Bordes Muchos componentes pueden tener bordes. Usted puede hacer un borde con diferente grosor, color y estilo. También un efecto de sombra se puede aplicar a un borde. Utilice la propiedad de Borde para el control del borde de una componente. 1.- Bordes Los Botones de control se utilizan para el establecimiento y la salida del borde. - Todos. Tras pulsar este botón - Ninguno. Tras pulsar este botón para cada lado de un componente puede ser fijado; se desaparecen los bordes. - Borde en la parte superior. Tras pulsar este botón - Borde de la izquierda. Tras pulsar este botón el borde en el lado izquierdo de un componente puede ser fijado. - Borde en la parte inferior. Tras pulsar este botón - Borde de la derecha. Tras pulsar este botón el borde en la parte superior de un componente puede ser fijado. el borde en la parte inferior de un componente puede ser fijado. el borde en el lado derecho de un componente se puede configurar. 2.- Sombras Este botón se utiliza para el control de la sombra. Tras pulsar este botón, la sombra de la componente aparecerá. 3.- Color del borde El uso de este botón permite seleccionar el color del borde de la componente que desee. 4.- Borde estilo Este control se utiliza para seleccionar el estilo del borde. Alineamiento horizontal Algunos de los componentes permiten configurar la alineación horizontal de su contenido en relación con su tamaño. Por ejemplo, los componentes de texto y de imagen. Alineación horizontal, la posición de un contenido se puede ajustar a la izquierda, margen derecho de un componente, o puede estar centrada, justificada o (los dos últimos son sólo puede aplicarse por el texto). Para la alineación, el uso de la propiedad Alineamiento Horizontal. Además, para la adaptación de formato puede utilizar botones de la barra de herramientas. 1.- Alinear a la izquierda El contenido del componente se traslada a la izquierda. Tras pulsar este botón componentes que están seleccionados; nos permite alinear a la izquierda todos los 2.- Alinear al centro El contenido del componente se traslada al centro. Tras pulsar este botón que están seleccionados; nos permite alinear al centro todos los componentes 3.- Alinear a la derecha El contenido del componente se traslada a la derecha. Tras pulsar este botón componentes que están seleccionados; nos permite alinear a la derecha todos los 4.- Alinear al ancho (justificar) El contenido de la componente se alinea a ambos márgenes izquierdo y derecho. Tras pulsar este botón la selección de todos los componentes seleccionados. nos ajustar al ancho de Alineación horizontal de la imagen Para la alineación horizontal de una imagen, se utilizan los mismos controles que los componentes de alineación de texto. Las imágenes se alinearán sólo cuando el Extensión es Falso. De lo contrario los parámetros de la alineación serán ignorados. 1-40 Generador de Informes Softland Alineación vertical Alineación vertical especifica la posición del contenido del componente en relación con la parte superior e inferior de un componente de los bordes, puede ser fijado a la parte superior e inferior de los bordes. Para utilizar la alineación vertical marque la propiedad de la componente de texto Alineamiento Vertical. Para el control de la alineación vertical le recomendamos utilizar el Formato de botones de la barra de herramientas. 1.- Alinear arriba El contenido de la componente se mueve a la parte superior del borde. Si se pulsa el botón componentes seleccionados para ser alineados verticalmente arriba; permite configurar todos los 2.- Alinear al centro El contenido de la componente se mueve al centro del componente. Si se pulsa el botón componentes seleccionados para ser alineados verticalmente centro; permite configurar todos los 3.- Alinear abajo El contenido de la componente se mueve a la parte inferior del borde. Si se pulsa el botón componentes seleccionados para ser alineados verticalmente abajo. permite configurar todos los La alineación vertical de un texto Por defecto, el componente de texto está alineado arriba. Alineación vertical de la imagen Se utilizan para el control de la alineación vertical de la imagen componente de la misma como para los controles de la alineación vertical de la componente de texto. Las imágenes están alineadas sólo cuando la propiedad Extensión es Falso. De lo contrario los parámetros de la alineación serán ignorados. GENERADOR DE INFORMES SOFTLAND 1-41 Informes Introducción El Generador de Informes Softland muestra los informes divididos en páginas, cada página puede tener su propio tamaño y orientación. Todos los componentes en el informe se colocan en las páginas. A diferencia de muchos generadores de informes, el Generador de Informes Softland divide la plantilla de informe en páginas. Cada página puede tener su propio tamaño y ámbito de la impresión, permitiendo que todos los componentes del informe estén colocados en las páginas. Esta estructura le da más flexibilidad a la construcción de informe. Al momento de imprimir una página, podrá cambiar el orden de impresión y la interrelación de las páginas, para esto utilice el componente Sub Informe. Además podrá hacer la interrelación entre las páginas de un informe. Código del Informe Cuando se crea un nuevo informe su código fuente se genera automáticamente. Con frecuencia, este es un informe de código script. Para la generación de código C # o VB.Net se utilizan lenguajes de programación. En el informe de código de clase, StiReport heredado de la clase, se describen su estructura y la inicialización. Al agregar nuevas páginas, elementos o cambiar algún parámetro de cambios en el informe se consigna en código del informe. La clase del informe contiene la descripción de todos los componentes, datos, acontecimientos, propiedades del informe, la estructura de datos fuente. También todos los eventos especificados por el usuario se agregan al código del informe. Al escribir eventos u otro código en el informe se puede utilizar el estándar de la sintaxis de los lenguajes de programación de. Net Framework. El código se genera informe sobre los lenguajes de programación C # o VB.Net. Por lo tanto, todos los eventos y cualquier otro tipo de código que se debe escribir sobre uno de estos lenguajes de programación. Si bien la prestación informe, la compilación de la clase que se produce en primer lugar. Después de que el informe es compilado plazo para su ejecución. El informe código se compila con el compilador Net Framework. 1-42 Generador de Informes Softland Si desea ver el informe de código debe hacer clic en la pestaña «Código» diseñador de informes. El Generador de Informes Softland le permite editar el código del informe, pero usted debe recordar que es imposible hacer cambios en el informe actualizado automáticamente, el cual se adjunta en el código front-end procesador: Comienzo de texto # Región StiReport Designer código generado - no modificar Informe actualizado automáticamente código Final del texto # Endregion StiReport Designer código generado – no modificar GENERADOR DE INFORMES SOFTLAND 1-43 Bandas Introducción El Generador de Informes Softland se basa utilizando las bandas (a veces se denominan bandas de secciones). Una banda se compone de dos partes: la banda de cabecera y banda zona de trabajo. Cada banda es un contenedor, el cual puede contener otros componentes. La posición de un componente de la banda se calcula en relación a la esquina superior izquierda de la banda de contenido. Estructura de una banda. - Banda de cabecera - Banda de la zona de trabajo La banda de control de las propiedades de una única banda en la posición prestados, es por lo general, un informe compuesto de muchas bandas con textos e imágenes sobre ellos. Cuando el informe de la prestación, con componentes de las bandas en ellos están siendo copiados tantas veces como es necesario. Por ejemplo, la banda de cabecera de salida se produce en el comienzo de una salida de datos. Y la banda de datos de salida se produce para todos los datos de cadena. Tipos de bandas Existe muchos de tipos de banda en el Generador de Informes Softland. Cada tipo tiene sus propiedades específicas, todas las bandas se dividen en dos categorías: bandas simples y bandas transversales. Las Bandas de la Cruz no pueden ser colocadas en una página, sino que puede ser colocado en en bandas simples. Bandas Simples Las Bandas Simples son elementos base para la construcción de informe. Para mayor comodidad visual todas las bandas tienen su color específico. Esto le permite entender la estructura de los informes. Bandas Cruzadas Bandas Cruz - es la segunda categoría de las bandas. Estas bandas no pueden ser colocadas en una página, pero puede ser colocada en cualquier banda simple. Esto permite construir informes transversales complejos. Bandas de salida En la construcción de un informe todas las bandas se muestran en un orden determinado. Esto se debe a que cada banda tiene funcionalidades específicas. Por ejemplo, para una tabla de salida debe usar tres bandas: de cabecera, datos, Pie de página. La cabecera de la banda se utiliza para las cabeceras de los datos de posicionamiento. Los datos se han colocado en la banda de datos y los totales de estos datos se sitúan en la banda Pie de página. 1-44 Icono Generador de Informes Softland Orden Nombre Descripción 1 PageHeaderBand Encabezado de cada página. 2 ReportTitleband Una vez en el comienzo del informe. 3 HeaderBand, ColumnHeader Una vez antes de la salida de datos (para el ColumnHeader - una vez por cada columna). De producto en cada página – opcionalmente. 4 GroupHeaderBand En el comienzo de cada grupo. 5 DataBand Por cada serie de datos. 6 GroupFooterBand En el final de cada grupo. 7 FooterBand, ColumnFooter Después de todos los datos de salida (para el ColumnFooter - una vez por cada columna). De producto en cada nueva página - opcionalmente. 8 ReportSummaryBand Una vez en el final de un informe. 9 PageFooterBand En cada página. En un informe se puede utilizar muchos tipos de bandas. Por ejemplo, dos bandas de cabecera. Importante: Todas las bandas del mismo tipo están en el orden de su posición en una página. En otras palabras, la banda de la que fue puesto en una página primero será mostrará al comienzo y luego las otras bandas. El orden de posición de las bandas puede cambiar, para esto sólo tiene que arrastrar con el cursor del ratón una de las bandas. GENERADOR DE INFORMES SOFTLAND 1-45 Bandas de datos Introducción Hay tres tipos de bandas de datos: Encabezado, Pie de página y Datos. Estas bandas se utilizan para los datos de la salida de los informes. La fuente de datos es una tabla, existen campos de datos en cada fuente de datos, después se ponen los datos de texto con referencias a la banda para poder ser listados. Una fuente de datos puede indicar, previamente, un número desconocido de cadenas de datos. La salida de la banda de datos puede ocurrir tantas veces como se especifica en el origen de datos. Por ejemplo, si hay 100 líneas entonces, la banda de datos de salida será de 100 veces. Si en el momento de estar imprimiendo, no hay espacio para todas las bandas en una sola página, entonces otra página se generará y se continuará la impresión. En la banda de cabecera se agregan los encabezados de cada dato desplegado en la banda de datos. Igualmente, la banda Pie de página se utiliza para los totales de una tabla de salida. Fuente de datos para la banda de datos Para la construcción de la banda de datos debe especificar la fuente de datos que utilizará, lo cual es necesario para el generador de informes. Por lo tanto, en la banda de datos indique la referencia a la fuente de datos que se ha de generar. En primer lugar, puede usar el editor de la banda de datos, para llamar al editor haga doble clic en la banda de datos. También puede llamar desde el menú contextual. Además, el editor de la banda puede ser llamado con el uso de la propiedad Fuente de datos de la banda de datos, permitiendo elegir la fuente de datos más rápido. También puede utilizar el botón de la banda de datos y de elegir la fuente de datos desde el menú contextual. Datos de la banda virtual Para imprimir los datos de banda sin especificar la fuente de datos a la misma, utilice la propiedad Contar datos, por defecto, este valor es igual a 0. Pero si, por ejemplo, para establecer esta propiedad en 4, entonces la banda de datos se van a imprimir 4 veces. Esto puede ser utilizado para las columnas vacías. Importante: Usted debe recordar que si se utiliza la banda de datos como la fuente de datos virtual, esta no debe ser especificada. También puede especificar el número de elementos de datos usando el editor de la banda. 1-46 Generador de Informes Softland Lista de salida Para generar un informe en el que datos de salida se despliegue en una lista, tiene que poner una banda de datos en una página, en la banda ponemos la fuente de datos y el lugar del texto de las componentes de la banda. En cada componente de texto se hace una referencia a los campos de datos. Por ejemplo: {GestionVenta_Cotizaciones.prueba.CodigoRegion} - Datos de la banda Los datos y que forma una tabla. - Fuente de datos La fuente de datos que se usa para obtener datos con cadenas de expresión. - Referencia a la fuente de datos La referencia a la fuente de datos, de la información que será llevado a la banda de datos, debe ser especificada. Imprimir en una nueva página Para imprimir cada cadena en una nueva página puede utilizar la propiedad Iniciar Número de Página. Establezca esta propiedad en Verdadero y los datos de cada cadena se imprimirán en una página nueva. Si la banda de datos tiene Detalle de bandas, éstas se imprimirán después de la banda principal. Después de todo el Detalle de componentes será impreso, la impresión será seguida de una nueva página. Lista con cabecera En los componentes de texto especifique los nombres de los datos que se encuentran en la banda de datos. En la presentación de un informe en la banda de datos de banda puede crear más de una banda de cabecera. Por ejemplo, la primera banda de cabecera es sólo en el comienzo de los datos, pero la segunda, tanto en el inicio de los datos y de nuevo en otras páginas de un informe. Las bandas de cabecera de salida dependerán de su posición en la página. Nota: Por una banda de datos es posible crear un número ilimitado de bandas de cabecera. La propiedad Imprimir todas las páginas Para ver el informe listado, usted puede encontrar que el generador de informes ha mostrado de nuevo los datos de cabecera en todas las páginas de un informe, esto se ha hecho para un mejor efecto visual de los datos de salida, pero si no hay necesidad de esto, puede ser cambiado, utilice la propiedad Imprimir todas las Páginas de la banda de cabecera. Establezca esta propiedad en Falso. La propiedad Mantenga encabezado junto Cuando la listas outtyping muestren la cabecera impresa en una sola página y la primera línea con los datos sobre el otro, use la propiedad Mantenga encabezado junto de la banda de datos. Si esta propiedad es Verdadero, entonces las cabeceras estarán siempre en la impresión de los datos. En otras palabras la cabecera y una cadena con datos como mínimo será en una sola página. Si la cabecera con la cadena de datos está fuera de los límites podrá enviarse la información a la página siguiente. Para evitar la cabecera y la primera línea de salida en diferentes páginas use la propiedad Mantenga el encabezado junto. GENERADOR DE INFORMES SOFTLAND 1-47 Banda de pie de página En las bandas de pie de página, se puede encontrar gran variedad de fórmulas para determinar totales. Esta banda se coloca después de la banda de datos. Por defecto, la banda Pie de página se imprime después de todos los datos que serán mostrados. Incluya la banda Pie de página al informe, sobre ella coloque un componente de texto. Supongamos que este componente de texto sumará la columna {GestionVentas_Cotizaciones.Total} se verá de la siguiente forma: Cuando se requiere que el generador de informes agregue la banda Pie de página, ésta se realizará una vez al final del informe, después de todos los datos de salida. También, al igual que la banda de cabecera, puede crear un número ilimitado de bandas de Pie. Las bandas de pie de página serán mostradas en el mismo orden en que fueron puestos en una página. Por una banda de datos puede crear un número ilimitado de bandas de Pie. 1-48 Generador de Informes Softland Propiedad Imprimir todas las páginas. A veces es necesario que la banda de Pie de página no salga en el final de un informe, sino en todas las páginas, para esto haga uso de la propiedad Imprimir todas las páginas de la banda de pie de página. Establezca esta propiedad en la verdadero y se imprimirán el pie de página seleccionado en cada página. La propiedad Mantenga pie junto Esta propiedad se utiliza para todos los datos que puedan estar en los límites de una página y el pie de página de banda de datos. Si esta propiedad es Verdadero, entonces los pies de página siempre se imprimirán junto con los datos. En otras palabras, si el pie de página está fuera de los límites de la página, entonces el pie de página se llevará a cabo en la página siguiente de la cadena de datos. Listar una banda tras otra A menudo es necesario que usted tenga más de una banda de datos en un informe, El Generador de Informes Softland no tiene ninguna limitación que las listas de salida se impriman una tras otra en un informe. Todo lo que necesita es poner dos bandas de datos en una página, especificar los datos de diferentes fuentes de datos, además de todos los datos para crear la banda de cabecera y el pie de página. El número de listas uno tras otro los productos es ilimitada. Clasificación de datos Con frecuencia los datos que se utilizan para hacer el informe, no están ordenados según lo requerido, no satisfaciendo sus necesidades. En este caso es posible clasificar los datos con el uso de las capacidades del Generador de Informes Softland. La clasificación puede ajustar los datos por cada banda por separado. Para la clasificación de configuración deberá usar la propiedad Orden. Importante: Está permitido clasificar por cinco columnas simultáneamente, por cada columna se puede especificar el orden de la clasificación y la manera de operar, pudiendo ser creciente o decreciente. En el Generador de Informes Softland podrá ordenar los datos por columnas. Por esta razón, se debe especificar el campo de la matriz de datos fuente. GENERADOR DE INFORMES SOFTLAND 1-49 Filtro de datos La banda de datos tiene dos propiedades que permiten realizar filtros de información dentro de un informe por una cierta condición. Estas propiedades son: Filtros y Filtrar en. Para ello, la banda de datos tiene dos propiedades: Filtrar en y Filtros. Filtrar en permite a la propiedad para activar o desactivar los filtros de la banda, los valores que puede tomar esta propiedad son Verdadero o Falso. En la propiedad Filtros se puede especificar la condición para los datos que se requieren en el informe. Filtro de tipo Fecha 1.- Como crear un parámetro de tipo fecha, con valor por defecto. Forma de operar para el filtro de fechas: Pesonal.fechaNacimient >= DateTime.Parse(Pesonal.Parameters["@Fecha"].ParameterValue.ToString()) 1-50 Generador de Informes Softland Manejo de Códigos Especiales para solicitud de Parámetros A continuación, se mostrarán los datos definidos como parámetros fijos: Tabla : Ciudad: Parámetro Código : @Codigo_Ciudad : Al encontrar este parámetro mostrará códigos y descripciones de la tabla, donde, además el filtro será realizado de acuerdo al código. Parámetro Código : @Nombre_Ciudad : Al encontrar este parámetro mostrará códigos y descripciones de la tabla, donde, además el filtro será realizado de acuerdo a la descripción. Tabla : Cliente: Parámetro Código : @Codigo_Cliente : Al encontrar este parámetro mostrará códigos y descripciones de la tabla, donde, además el filtro será realizado de acuerdo al código. Parámetro Código : @Nombre_Cliente : Al encontrar este parámetro mostrará códigos y descripciones de la tabla, donde, además el filtro será realizado de acuerdo a la descripción. Tabla : Producto: Parámetro Código : @Codigo_Producto : Al encontrar este parámetro mostrará códigos y descripciones de la tabla, donde, además el filtro será realizado de acuerdo al código. Parámetro Código : @Nombre_Producto : Al encontrar este parámetro mostrará códigos y descripciones de la tabla, donde, además el filtro será realizado de acuerdo a la descripción. Tabla : Grupo: Parámetro Código : @Codigo_Grupo : Al encontrar este parámetro mostrará códigos y descripciones de la tabla, donde, además el filtro será realizado de acuerdo al código. Parámetro Código : @Nombre_Grupo : Al encontrar este parámetro mostrará códigos y descripciones de la tabla, donde, además el filtro será realizado de acuerdo a la descripción. Tabla : SubGrupo: Parámetro Código : @Codigo_SubGrupo : Al encontrar este parámetro mostrará códigos y descripciones de la tabla, donde, además el filtro será realizado de acuerdo al código. Parámetro Código : @Nombre_SubGrupo : Al encontrar este parámetro mostrará códigos y descripciones de la tabla, donde, además el filtro será realizado de acuerdo a la descripción. Tabla : Región: Parámetro Código : @Codigo_Region : Al encontrar este parámetro mostrará códigos y descripciones de la tabla, donde, además el filtro será realizado de acuerdo al código. Parámetro Código : @Nombre_Region : Al encontrar este parámetro mostrará códigos y descripciones de la tabla, donde, además el filtro será realizado de acuerdo a la descripción. Tabla :Giro: Parámetro Código : @Codigo_Giro : Al encontrar este parámetro mostrará códigos y descripciones de la tabla, donde, además el filtro será realizado de acuerdo al código. Parámetro Código : @Nombre_Giro : Al encontrar este parámetro mostrará códigos y descripciones de la tabla, donde, además el filtro será realizado de acuerdo a la descripción. Tabla :Personal: Parámetro Código : @Codigo_Personal : Al encontrar este parámetro mostrará códigos y descripciones de la tabla, donde, además el filtro será realizado de acuerdo al código. Parámetro Código : @Nombre_Personal : Al encontrar este parámetro mostrará códigos y descripciones de la tabla, donde, además el filtro será realizado de acuerdo a la descripción. Tabla :Activo: Parámetro Código : @Codigo_Activo : Al encontrar este parámetro mostrará códigos y descripciones de la tabla, donde, además el filtro será realizado de acuerdo al código. Parámetro Código : @Nombre_Activo : Al encontrar este parámetro mostrará códigos y descripciones de la tabla, donde, además el filtro será realizado de acuerdo a la descripción. Tabla :Vendedor: Parámetro Código : @Codigo_Vendedor : Al encontrar este parámetro mostrará códigos y descripciones de la tabla, donde, además el filtro será realizado de acuerdo al código. GENERADOR DE INFORMES SOFTLAND 1-51 Parámetro Código : @Nombre_Vendedor : Al encontrar este parámetro mostrará códigos y descripciones de la tabla, donde, además el filtro será realizado de acuerdo a la descripción. Tabla :Cobrador: Parámetro Código : @Codigo_Cobrador : Al encontrar este parámetro mostrará códigos y descripciones de la tabla, donde, además el filtro será realizado de acuerdo al código. Parámetro Código : @Nombre_Cobrador : Al encontrar este parámetro mostrará códigos y descripciones de la tabla, donde, además el filtro será realizado de acuerdo a la descripción. Tabla :Auxiliar: Parámetro Código : @Codigo_Auxiliar : Al encontrar este parámetro mostrará códigos y descripciones de la tabla, donde, además el filtro será realizado de acuerdo al código. Parámetro Código : @Nombre_Auxiliar : Al encontrar este parámetro mostrará códigos y descripciones de la tabla, donde, además el filtro será realizado de acuerdo a la descripción. Además, el usuario podrá solicitar un rango de parámetros, agregando al final del nombre cualquier texto, es decir: @Codigo_Personal_Desde @Codigo_Personal_Hasta Luego en el query se debe colocar : Where (Campo) >= @Desde and Campo <= @Hasta. Where (Campo) Between @Desde And @Hasta. El proceso sólo cheque la existencia del nombre del parámetro fijo, en este caso @Codigo_Personal Pantalla solicitud de los parámetros: Como se aprecia en la imagen el nombre del parámetro es depurado. El usuario podrá digitar el código o el nombre, o bien pinchar el botón buscar, donde se mostrará la siguiente ayuda: 1-52 Generador de Informes Softland Filtro de tipo Texto y Número 1.- A continuación se detallan como se puede realizar filtros con datos de tipo Texto: Ejemplos de filtros campos de tipo texto Equals() = permite comparar dos textos ToLower() = Deja en minúscula el texto ToString() = convierte a texto ToUpper() = Deja en mayúscula el texto Trim() = Elimina los espacios en blanco del inicio y fin del texto - Compara texto, donde el valor a comparar debe ser el mismo de la base y parámetros, es decir caracteres en mayúscula y minúsculas deben coincidir Pesonal.nombres.ToString() == Pesonal.Parameters["@Texto"].ParameterValue.ToString() - Compara texto, donde no diferencia entre mayúscula y minusculaza. En este caso convierte todo a minúscula para comparar. Pesonal.nombres.ToString().ToLower()== Pesonal.Parameters["@Texto"].ParameterValue.ToString().ToLower() - Compara texto, donde no diferencia entre mayúscula y minúsculas. En este caso convierte todo a mayúscula para comparar. Pesonal.nombres.ToString().ToUpper()== Pesonal.Parameters["@Texto"].ParameterValue.ToString().ToUpper() - Compara texto, En este caso al Usar Trim(), saca los espacios en blanco del inicio y fin del valor a comparar. Pesonal.nombres.ToString().ToUpper().Trim()== Pesonal.Parameters["@Texto"].ParameterValue.ToString().ToUpper().Trim() - Compara texto, En este caso al Usar Equals() que es lo mismo que == Pesonal.nombres.ToString().ToUpper().Trim().Equals(Pesonal.Parameters["@Texto"].ParameterValue.ToString().ToUpper().Tri m()) 2.- A continuación se detallan como se puede realizar filtros con datos de tipo Numérico: Comparar numéricos. Para comparar se puede utilizar >, <, >=, <=, == - Compara valore numéricos enteros, donde se antepone antes del parámetro (int) Pesonal.AnoOtraEm == (int)Pesonal.Parameters["@Numero"].ParameterValue - Compara valores numéricos reales, donde el parámetro y campo debe estar entre la función System.Convert.ToDouble() System.Convert.ToDouble(Pesonal.AnoOtraEm)== System.Convert.ToDouble(Pesonal.Parameters["@Numero"].ParameterValue) Banda páginas Introducción Las bandas de las páginas se utilizan para la generación de la información en cada página. Hay dos bandas de la página: Encabezado de Página y Pie de Página. Estas Bandas se utilizan para la generación de la cabecera y el pie de página del informe. La banda de Encabezado de Página es la cabecera de la página (sólo coloca en la parte superior de la página). La banda de Pie de Página corresponde al pie de cada página (sólo coloca en la parte inferior de la página). Cabecera de página Utilice el Encabezado de Página para la generación de la información en cada página de un informe. La banda de Encabezado de Página se coloca en la parte superior de una página y su salida se produce una vez en cada página de un informe. Esta banda se utiliza para el número de páginas, fecha de la creación del informe de salida, etc. En otras palabras, puede ser cualquier salida de información en cada página. El Generador de Informes Softland no tiene ninguna limitación en el número de bandas Encabezado de Páginas, puede poner una, dos y más cabeceras. GENERADOR DE INFORMES SOFTLAND 1-53 Para crear un informe con el uso de la banda de Encabezado de Página, deberá crear dos bandas una para los datos de salida y otra banda de Encabezado para las cabeceras de los datos de salida. Luego ponga la banda Encabezado de Página, la cual se utilizará para el número de la página actual y el número total de páginas en el informe de salida. Para crear este componente en el texto Encabezado de Página debe colocar en un componente de texto la expresión que se muestra en el siguiente ejemplo: Acepte y finalmente, ejecute el informe. La propiedad Imprimir en El uso de la propiedad Imprimir en indica si en el generador de informes en qué páginas se imprimirá el encabezado de página, por defecto la propiedad viene configurada como Todas la Páginas, pero además puede definir que se muestre en Excepto primera página, Excepto última página, Excepto última y primera página, Solamente primera página, Solamente última Página, Solamente primera y última página. De pie de página Para la generación de información en la parte inferior de cada página se utiliza la banda de Pie de Página. Esta banda se muestra una vez en la parte inferior de cada página. El Generador de Informes Softland no tiene ninguna limitación en el número de bandas de Pie de Página. Esta banda se puede utilizar para el definir el número de una página, los totales de salida etc.. Para crear un informe con el uso de la banda de Encabezado de Página, deberá crear dos bandas una para los datos de salida y otra banda de Pie de Página para el pie de cada página de los salida de datos. Después de la prestación de cada página en su parte inferior se puede ver el número de página y el número total de páginas en el informe. La propiedad Imprimir en El uso de la propiedad Imprimir en indica si en el generador de informes en qué páginas se imprimirá el encabezado de página, por defecto la propiedad viene configurada como Todas la Páginas, pero además puede definir que se muestre en Excepto primera página, Excepto última página, Excepto última y primera página, Solamente primera página, Solamente última Página, Solamente primera y última página. 1-54 Generador de Informes Softland Informes Agrupación Introducción Una de las tareas más importantes en el informe es la construcción de agrupación de datos. La agrupación se puede aplicar tanto para cadenas lógicas de datos en una página o para hacer su informe mejor visualmente. Para utilizar informes con agrupación deberá utilizar las siguientes bandas: Encabezado Grupo (se muestra en el inicio de cada grupo) y Pie Grupo (se muestra en la parte final de cada grupo). Condición de agrupación Usted debe especificar la condición de agrupación para la generación de un informe por grupo. De acuerdo a esta condición los datos serán divididos en grupos. Por ejemplo, usted puede necesitar que la lista de empresas sea dividida en grupos por orden alfabético, entonces puede aplicar bandas de grupo. En otras palabras los nombres de las empresas que comienzan con la letra A en el primer grupo, nombres de las empresas que comienzan con B están en el segundo grupo, etc.. En este caso, la condición de estos grupos es la primera letra del nombre de la empresa, el generador de informes antes de la agrupación no posee cadenas tipo de datos automáticos. La condición se especifica en el diseño de la banda de Encabezado Grupo. Cualquier valor puede ser una condición. Por ejemplo, puede el grupo de la lista de las empresas ordenadas por región, y en este caso, la condición de agrupación estará dada por el campo región, que se debe agregar a la banda de Encabezado Grupo. Encabezado Grupo El Grupo de cabecera se crea con el uso de la banda Encabezado Grupo. La banda de Encabezado de Grupo es la banda base para los informes, para la generación de informes con agrupación. Es imposible hacer una agrupación sin esta banda. Por ejemplo, en el ejemplo anterior la agrupación es por código de Región y nombre de región, por lo tanto estos campos deben colocarse en la banda de Encabezado Grupo, esto hará que por cada región habrá una separación de los clientes en la fuente de datos seleccionada. Importante: Para informe agrupación con la prestación es necesario disponer de datos de la banda. Es necesario contar con la banda de datos porque esta lleva los datos de salida y estos datos son la base de la agrupación. Además, puede especificar la clasificación de la banda de datos. Los datos de clasificación tienen efecto en la agrupación. Grupo de pie de página Para la banda de salida de pie de la banda se utiliza Pie Grupo. Esta banda se coloca después de la banda de datos. Y todo esta banda de datos está vinculada con la banda Encabezado Grupo. Cada banda de Pie de Grupo pertenece a la banda Encabezado de Grupo. La banda pie de grupo no podrá salir sin la correspondiente banda de encabezado de grupo. GENERADOR DE INFORMES SOFTLAND 1-55 Nueva página Si desea tener un grupo en una página debe establecer la propiedad de Inicio de la nueva página de la banda Encabezado de Grupo en verdadero. Si esta propiedad es Verdadero luego de cada grupo en el informe se salta a la siguiente página. Si la información del grupo no puede ser colocada en una página entonces la información de salida se continúa en la página siguiente. Sólo salida de Pie de Grupo Por lo general, en los informes con agrupación, ya sea sólo o grupos de encabezados y pies de página, se utilizan simultáneamente. Pero, ¿qué hacer si en su informe necesita la salida de los datos sólo el Pie de Grupo sin encabezados de grupo? Para un informe con agrupación es necesario usar la banda Encabezado grupo, pero no queremos que ésta aparezca. En este caso debe configurar la banda Encabezado Grupo de altura en 0. Grupos anidados Para los informes puede utilizar más de una agrupación. Para esto tiene que poner el número necesario de bandas Encabezado Grupo antes de la banda de Datos. Importante: Le aconsejamos que tengan un número igual de bandas de Encabezado Grupo y Pie Grupo en su informe. Los totales de un grupo Para calcular los totales de un grupo es suficiente que en el componente de texto sea agregue la función deseada en la banda Encabezado Grupo o Pie Grupo. Por ejemplo, para el cálculo del número de líneas en cada grupo debe escribir la siguiente expresión en el componente de texto: {Count()} El componente se coloca en la banda Pie grupo. Al emitir el informe se puede ver en la parte inferior de cada grupo el cálculo del número de línea del grupo. Numeración en un grupo Se recomienda para la numeración en un grupo que se utilice la variable de sistema Line. La referencia a esta variable se especifica en el componente de texto. El componente de texto se coloca en la banda de datos. Por ejemplo, poner un texto en el componente de la banda de datos y escribir lo siguiente en su expresión: {Line} Luego en el informe se tendrá la lista numerada de los registros en cada grupo. La numeración comienza por 1. En un nuevo grupo la numeración comienza de nuevo. Si es necesario hacer una única numeración debería aplicar la variable de sistema LineThrough. Para esto debe cambiar la expresión en el texto componente: {LineThrough} Como resultado de obtendrá la numeración de todas las de grupo. 1-56 Generador de Informes Softland Contenedores Introducción El Contenedor es un área rectangular donde las componentes, incluyendo bandas, están contenidas. Si un contenedor se mueve se mueven todos los componentes en él. Un contenedor puede ser colocado en una página, en otro contenedor o en una banda. Esto le permite tener diversas habilidades en la creación de informe. Bandas de posicionamiento en un contenedor Un contenedor puede ser colocado en una página, en otro contenedor o en una banda. Casi todos los componentes de un informe pueden ser colocados en el contenedor, no así todas las bandas, ya sea informes de banda o bandas de la página Posición de Contenedores En los informes, se puede encontrar tres tipos de posición de los contenedores: en una página, sobre una banda, y en otro contenedor, tal como se describe a continuación: Posicionamiento en una página El primer tipo - la posición de un contenedor en una página. El objetivo principal es la organización de varios espacios independientes en la impresión. Los contenedores pueden ser colocados en cualquier parte de la página, cada contenedor es una pequeña página. En otras palabras los contenedores permiten llevar a cabo algunas pequeñas páginas con sus bandas y componentes en una sola página. Así que usted puede construir muchos informes complicados. La posición de los contenedores en una sola página es ilimitada. GENERADOR DE INFORMES SOFTLAND 1-57 Posicionamiento sobre una banda Este tipo tiene una gran limitación, el Contenedor no puede contener bandas, es decir se pueden utilizar sólo para el posicionamiento de componentes. Posicionamiento en un contenedor Este tipo describe el posicionamiento de un contenedor en otro contenedor. Este tipo es la mezcla de dos tipos descritos anteriormente. Por lo tanto, si el contenedor se coloca en otro recipiente que, a su vez, no está situado en una banda, entonces, el contenedor puede contener bandas. Por lo tanto, si el contenedor se coloca en otro recipiente que, a su vez, se coloca en una banda, a continuación, el contenedor no puede contener las bandas. Informes de lado a lado Permite la creación de informes lado a lado. Este tipo de informe puede ser en dos listas, lo que implica que ambos son absolutamente independientes el uno del otro. Por lo general, para la creación de este tipo de informes es necesario utilizar Sub Informe. A continuación, le indicaremos los pasos a seguir en la creación del informe lado a lado: Inserte dos contenedores en una página, la propiedad Muelle de uno de ellos se fija en la izquierda, la propiedad Muelle de la segunda se fija a la derecha. Es necesario que los contenedores acoplados al borde de la página tomen todo el espacio disponible por la altura. Entre contenedores establecimos un espacio para separar dos listas. Ahora, en el primer contenedor cree una banda de cabecera y de datos. El uso de estas bandas de la primera lista de salida se hará. Como resultado después de la emisión del informe verá dos listas. 1-58 Generador de Informes Softland Múltiples tablas en una página de salida Existen informes en los que es necesario disponer de múltiples tablas en una página. Además, son los cuadros que se coloca en cualquier parte de la página. La mayoría de las veces la construcción de tal informe deberá ser a través de Sub Informes. GENERADOR DE INFORMES SOFTLAND 1-59 El cálculo de los totales Introducción En muchos informes, es necesario calcular los totales - sumas de una página, el número de registros, el valor medio, etc. Para esto, puede utilizar las funciones incluidas en el Generador de Informes Softland. El uso de funciones permite calcular una suma, el número de registros, valores promedio, valores máximos, mínimos valores, primer valor de la lista, últimos valores de la lista, un rango especificado. El Generador de Informes Softland permite varias funciones como las siguientes funciones: - Sum - devuelve la suma de los datos especificados a sumar; - Count - devuelve el número de filas en el rango especificado; - Avg - devuelve el valor promedio de la expresión especificada; - Min - devuelve el valor mínimo de la expresión especificada; - Max - devuelve el máximo valor de la expresión especificada; - First - devuelve el primer valor en el rango especificado; - Last - devuelve el último valor en el rango especificado. Totales de la producción en cualquier parte de un informe Los componentes de texto, deben ser puestos en la banda de totales o en la banda de datos. Los componentes con funciones agregadas se pueden poner en cualquier parte de un informe. Totales con condición Es necesario calcular los totales con condición. Por ejemplo, si desea resumir todos los valores superiores a cero, El Generador de Informes Softland permite agrega runa condición a una función. Al agregar una condición a una función se debe poner el nombre con la condición adicional. Por ejemplo: {SumIf(Products.UnitsInStock, Products.UnitsInStock > )} Cálculo de los totales de una página y de un contenedor Es muy sencillo para el cálculo de los totales de un contenedor o de una página. Usted debe escribir en minúsculas la letra c antes del nombre de una función agregada. Por ejemplo: {cCount(DataBand1)} Cálculo de los totales de una columna Usando el Generador de Informes Softland puede calcular los totales en una columna. Sólo tiene que escribir en minúsculas col antes de la función agregada nombre. Por ejemplo: {colCount()} 1-60 Generador de Informes Softland Agregar funciones de sintaxis Ver las funciones agregadas de sintaxis en el ejemplo de la función Suma: Sum (expresión) Suma (banda, de expresión) SumIf (banda, de expresión, condición) Expresión - expresión de cálculo; Banda - el nombre de una banda para el cálculo; Condición - una de las condiciones de inclusión de una expresión en el cálculo. Al calcular una función agregada en una página o en el contenedor, que debe escribir una letra "c" en primer lugar y luego el nombre de función agregada. Véase la muestra: CSum (expresión) CSum (banda, de expresión) CSumIf (banda, de expresión, condición) Para el cálculo de los totales de un contenedor col usted debe escribir primero y después el nombre de función agregada: ColSum (expresión) ColSum (banda, de expresión) ColSumIf (banda, de expresión, condición) El Count es una función que tiene un rasgo distintivo de otras funciones agregadas. No tiene una expresión de cálculo. La sintaxis de esta función véase más adelante. Count () CountIf (condición) Conde (banda) CountIf (banda, condición) CCount () CCount (banda) CCountIf (banda, condición) ColCount () ColCount (banda) ColCountIf (banda, condición) GENERADOR DE INFORMES SOFTLAND 1-61 Navegación Introducción El Generador de Informes Softland tiene todos los instrumentos necesarios para la creación de hipervínculos en un informe y del informe a objetos fuera del informe. El marcador de propiedad se usa para hacer los favoritos. La propiedad de Hiperlink se utiliza para especificar los hipervínculos junto a todos los componentes (visible - texto, imagen, página, invisible bandas, contenedores). Así, entre todos los componentes de un informe puede realizar hipervínculos y bookmarks. Marcadores Los marcadores se utilizan para mostrar la estructura de un informe. También se utilizan marcadores para marcar el componente a fin de hacer una referencia sobre él, utilizando hipervínculos. Todos los componentes tienen la propiedad Marcador de página. La configuración del informe es invisible en el panel de propiedades, pero puede ser que en el informe se refiera al código o a la expresión. Árbol del reporte El árbol permite ver la estructura de un informe.. Hyperlinks Los hipervínculos son utilizados para la navegación en el informe. También puede usar las propiedades Marcador y Etiqueta del Hiperlink que se encuentra en la propiedad. 1-62 Generador de Informes Softland Preguntas Frecuentes para el desarrollador General ¿Cómo guardar / cargar un informe? Para guardar un informe: C# StiReport informe StiReport = new (); Report.Save ( "report.mrt"); VB Informe Dim Como StiReport = Nueva StiReport () Report.Save ( "report.mrt") Para cargar un informe: C# StiReport informe StiReport = new (); Report.Load ( "report.mrt"); VB Informe Dim Como StiReport = Nueva StiReport () Report.Load ( "report.mrt") ¿El modo de hacer un informe? Para emitir un informe y mostrar un informe dictado en la ventana de vista previa de ver el siguiente código: C# StiReport report = new StiReport(); report.Load("report.mrt"); report.Show(); VB Dim Report As StiReport = New StiReport() Report.Load("report.mrt") Report.Show() ¿Cómo obligar a los datos a un informe? Es necesario registrar los datos en el diccionario de datos para obligar a ellos en un informe. Se puede hacer de esta manera: C# DataSet dataSet1 = new DataSet(); ddataSet1.ReadXmlSchema("Demo.xsd"); dataSet1.ReadXml("Demo.xml"); StiReport report = new StiReport(); report.RegData("MyDataSet",dataSet1); GENERADOR DE INFORMES SOFTLAND VB Dim Data As DataSet = New DataSet() Data.ReadXmlSchema("Demo.xsd") Data.ReadXml("Demo.xml") Dim Report As StiReport New StiReport() Report.RegData("MyDataSet",Data) ¿Cuándo deben adjuntarse los datos - antes de la carga de un informe o después? Ejemplo 1: C# StiReport report = new StiReport(); report.Load("MyReport.mrt"); report.RegData("MyDataSet",dataSet1); VB Dim Report As StiReport = New StiReport() Report.Load("MyReport.mrt") Report.RegData("MyDataSet",DataSet1) Ejemplo 2: C# StiReport report = new StiReport(); report.RegData("MyDataSet",dataSet1); report.Load("MyReport.mrt"); VB Dim Report As StiReport = New StiReport() Report.RegData("MyDataSet",DataSet1) Report.Load("MyReport.mrt") ¿Cómo generar un informe diseñado? Véase el siguiente código de la forma de hacerlo: C# StiReport report = new StiReport(); report.Design(); VB Dim Report As StiReport = New StiReport() Report.Design() O como esta: C# Stimulsoft.Report.Design.StiDesigner designer = new Stimulsoft.Report.StiDesigner(); designer.Show(); 1-63 1-64 Generador de Informes Softland VB Dim Designer As Stimulsoft.Report.Design.StiDesigner = New Stimulsoft.Report.Designer.StiDesigner() Designer.Show() ¿Cómo guardar / cargar un informes? Para guardar un informe: C# //Render a report StiReport report = new StiReport(); report.Load("report.mrt"); report.Render(); //Save a report report.SaveDocument("document.mdc")); VB 'Render a report Dim Report As StiReport = New StiReport() Report.Load("report.mrt") Report.Render() 'Save a report Report.SaveDocument("document.mdc")) Para cargar guardado previamente prestados informe: C# StiReport report = new StiReport(); report.LoadDocument("document.mdc"); VB Dim Report As StiReport = New StiReport() Report.LoadDocument("document.mdc") ¿Cómo cargar DataSet XSD? Para cargar DataSet XSD puede utilizar el método ImportXMLSchema: C# StiReport report = new StiReport(); DataSet dataSet = new DataSet("Test"); dataSet.ReadXmlSchema("dataset.xsd"); report.Dictionary.ImportXMLSchema(dataSet); VB Dim Report As StiReport = New StiReport() Dim Data As DataSet = New DataSet("Test") Data.ReadXmlSchema("dataset.xsd") Report.Dictionary.ImportXMLSchema(Data) DataSet XSD esquema que se necesita sólo para el Diseñador. GENERADOR DE INFORMES SOFTLAND 1-65 ¿Cómo cambiar el lenguaje actual del script de un informe? Utilice el la propiedad de Lenguaje de la clase StiReport para cambiar el actual lenguaje de script de un informe. Por ejemplo: C# //Change the current language to VB StiReport report = new StiReport(); report.ScriptLanguage = StiReportLanguageType.VB; //Generate a new report report.ScriptNew(); VB 'Change the current language to VB Dim Report As StiReport = New StiReport() Report.ScriptLanguage = StiReportLanguageType.VB 'Generate a new report Report.ScriptNew() Diseñador de Reportes ¿Qué podemos hacer para desactivar las funciones no deseadas? La mayoría de los elementos de diseño se establecen en la configuración. Por lo tanto, puede deshabilitar los servicios que no usas, o que son complicadas para los usuarios. También puede comprobar opciones estáticas situadas en la StiOptions.Designer. ¿Qué puedo hacer para ocultar los consejos cuando se ejecuta el Diseñador? Haz lo siguiente: StiOptions.Designer.ShowTipsOnStartup = false; ¿Cómo ocultar la pestaña Código de la página en un informe? Fijar el valor de las siguientes propiedades falsa y la pestaña Código será ocultada. StiOptions.Designer.CodeTabVisible = false; ¿Qué puedo hacer para hacer algo después de ejecutar el diseñador, pero antes de la inicialización? Utilice el la propiedad StiDesigner.LoadingDesigner. Cómo interceptar grabar / cargar un informe en el diseñador? Usted debe utilizar dos propiedades: StiDesigner.SavingReport StiDesigner.LoadingReport 1-66 Generador de Informes Softland ¿Cómo ocultar algo en el diccionario de datos? Restricciones a la utilización especial de la clase. Por ejemplo: C# StiReport report = new StiReport(); report.Dictionary.Restrictions.Add("Customers", StiDataType.DataSource, StiRestrictionTypes.DenyShow); report.Dictionary.Restrictions.Add("DataSource._ID", StiDataType.DataColumn, StiRestrictionTypes.DenyShow); VB Dim Report As StiReport = New StiReport() Report.Dictionary.Restrictions.Add("Customers", StiDataType.DataSource, StiRestrictionTypes.DenyShow) Report.Dictionary.Restrictions.Add("DataSource._ID", StiDataType.DataColumn, StiRestrictionTypes.DenyShow) ¿Cómo cambiar el nombre del archivo en el diseñador? Utilice la propiedad ReportFile del informe. Se recomienda si guarda el archivo de informe no puede usar caracteres no válidos en el nombre del archivo. ¿Cómo ocultar un elemento de menú en el diseñador? Utilice el siguiente código para ocultar Ayuda Menú: C# StiConfig.Load(); StiMainMenuService service = StiConfig.Services.GetService(typeof(StiMainMenuService)) as StiMainMenuService; service.ShowHelp = false; VB StiConfig.Load() Dim Service As StiMainMenuService StiMainMenuService) Service.ShowHelp = False = TryCast(StiConfig.Services.GetService(GetType (StiMainMenuService)), Coloque este código en el comienzo de su programa. También puede comprobar la muestra DesignerManagement proyecto. Trabajar con informes El acceso a los datos ¿Cómo cambiar los datos de la conexión con la base de datos? Puede escribir el siguiente código: C# //Clear the list of databases report.Dictionary.Databases.Clear(); //Add the database and specify its name and the connection string report.Dictionary.Databases.Add(new StiSqlDatabase("Test", "MyDataConnectionString")); GENERADOR DE INFORMES SOFTLAND 1-67 VB 'Clear the list of databases Report.Dictionary.Databases.Clear() 'Add the database and specify its name and the connection string Report.Dictionary.Databases.Add(new StiSqlDatabase("Test", "MyDataConnectionString")) ¿Cómo convertir los datos directamente en la columna sin usar la conversión típica? Usted puede usar el indicador de la fuente de datos. Por ejemplo: C# object data = Customers["Phone"]; VB Dim Data As Object = Customers("Phone") ¿Cómo cambiar un texto de de una query cuando al informe se ejecuta? Puede usar parámetros. Por defecto el motor no admite parámetros del punto de vista normal. Por ejemplo: select * from customers where code=:code En este caso no se puede detectar el código. Sin embargo, puede utilizar un formulario de expresión en cualquier parte en la consulta SQL. Por ejemplo: select * from customers where code = {myvariable} select * from customers where {myvariable} select * from customers {myvariable} select * from {myvariable} where code=1 select {myvariable} from customers where code = {myvariable} {myvariable} select * from customers where code = {MyStaticClass.GetCondition()} select * from customers where {Datasource.Condition} select {myvar+myvar2} from customers ¿Cómo agregar un parámetro a la consulta SQL? En la fuente de datos que debe crear un parámetro, en la consulta SQL que escribe: select * from customers where customerid=@customerid Luego hay que inicializar este parámetro. Por ejemplo, para el código de inicialización puede usar el siguiente código: C# StiReport report = new StiReport(); report.RegData(myDataset); report.Compile(); report.DataSource["myvariable"].Parameters["@customerid"].ParameterValue = 1; VB Dim Report As StiReport = New StiReport() Report.RegData(MyDataSet) Report.DataSource["myvariable"].Parameters["@customerid"].ParameterValue = 1 1-68 Generador de Informes Softland ¿Cómo hacer un informe sobre el servidor y enviarlo al cliente? En primer lugar, generar un informe en el servidor y guardar el informe: C# StiReport report = new StiReport(); report.RegData(dataSet); report.Render(false); report.SaveDocument(stream); VB Dim Stream As New MemoryStream Dim Report As New StiReport Report.RegData(DataSet) Report.Render(False) Report.SaveDocument(Stream) Cargue un informe en un cliente y establezca los siguientes datos: C# StiReport report = new StiReport(); report.LoadDocument(stream); report.Show(); VB Dim Report As New StiReport Report.LoadDocument(stream) Report.Show() ¿Es posible diseñar un informe en el diseñador utilizando la base de datos local y cambiar la base de datos en el código trabajando en línea? Utilice el siguiente código: report.Databases.Clear(); report.Databases.Add(new StiSqlDatabase("MyDatabaseName", "connection string"); El nombre de una nueva base de datos, debe cumplir con el nombre de la base de datos en un informe. ¿Es posible la visualización de imágenes, tanto almacenados en una base de datos o alojado en un servidor? Puede utilizar muchas maneras. Con propiedades: Propiedad Image.DataColumn - carga la imagen de la base de datos. Propiedad Image.File - carga la imagen de archivo. Propiedad Image.ImageURL - especificar url de la imagen Desde el código de los eventos: 1. Cargar una imagen desde el archivo Image1.Image = Image.FromFile("Image1.gif"); GENERADOR DE INFORMES SOFTLAND 2. Carga una imagen de la URL Image1.Image = Stimulsoft.Base.Drawing.StiImageFromURL.LoadBitmap( "http://www.domain.com/bitmap.gif"); ¿Puedo cambiar la cadena de conexión del informe en tiempo de ejecución? Usted puede usar el siguiente código: C# StiReport report = new StiReport(); report.Load("MyReport.mrt"); report.Dictionary.Databases.Clear(); report.Dictionary.Databases.Add(new StiSqlDatabase("MyDatabase", "new connection string")); VB Dim Report As New StiReport Report.Load("MyReport.mrt") Report.Dictionary.Databases.Clear() Report.Dictionary.Databases.Add(New StiSqlDatabase("MyDatabase", "new connection string")) ¿Cómo enviar parámetros a la consulta SQL? 1. Puede utilizar cualquier forma de expresión a la consulta SQL, primero agregar variables a la consulta SQL: select * from customers where code = {myvariable} 2. Necesita crear variable en el Diccionario del informe 3. Es necesario que antes de inicializar la variable del informe ejecutando: C# StiReport report = new StiReport(); rreport.Load("Variables.mrt"); report.Compile(); //Set Variable report["myvariable"] = 123; report.Render(); VB Dim Report As StiReport = New StiReport() Report.Load("Variables.mrt") Report.Compile() 'Set Variable Report("myvariable") = " Value " Report.Render() 1-69 1-70 Generador de Informes Softland ¿Cómo comprobar valores nulos? Usted puede usar el siguiente código en el GetValueEvent: C# if (Customers["Flag"] == null)e.Value = "YES"; else e.Value = "NO"; VB If (Customers("Flag") Is Nothing) Then e.Value = "YES" Else e.Value = "NO" End If Para También puede usar la función IIF: C# {IIF(Customers["Flag"] == null, "YES", "NO")} VB {IIF(Customers("Flag") Is Nothing, "YES", "NO")} ¿Cómo hacer informes tipo Maestro-Detalle si dos cuadros se encuentran en otro Dataset? En este caso se debe permitir el almacenamiento en caché de todos los datos en un DataSet. Para esto debería establecer la propiedad CacheAllData en Verdadero. Usted puede hacer esto en el diccionario del informe. Formateando y Convirtiendo ¿Cómo convertir las coordenadas de una unidad a otra? Utilice los métodos ConvertFromHInches y ConvertToHInches de la clase StiUnit para convertir coordenadas. Por ejemplo: C# //Converts a value from centimeters to inches StiUnit unitFrom = new StiCentimetersUnit(); StiUnit unitTo = new StiInchesUnit(); double value = 2.54; value = unitFrom.ConvertToHInches(value); value = unitFrom.ConvertFromHInches(value); VB 'Converts a value from centimeters to inches Dim UnitFrom As StiUnit = New StiCentimetersUnit() Dim UnitTo As StiUnit = New StiInchesUnit() Dim Value As Double = 2.54 Value = UnitFrom.ConvertToHInches(value) Value = UnitFrom.ConvertFromHInches(value) ¿Cómo convertir las coordenadas y los tamaños de un informe? Todas las clases que se da cuenta de la interfaz IStiUnitConvert puede convertir las coordenadas y los tamaños de un informe de una unidad a otra. Por ejemplo: GENERADOR DE INFORMES SOFTLAND 1-71 C# //Converts coordinates and sizes of a report from the current unit into inches StiReport report = new StiReport(); StiUnit unitTo = new StiInchesUnit(); report.Convert(report.Unit, unitTo); VB 'Converts coordinates and sizes of a report from the current unit into inches Dim Report As StiReport = New StiReport() Dim UnitTo As StiUnit = New StiInchesUnit() Report.Convert(Report.Unit, UnitTo) ¿Cómo cambiar el valor de salida de campos DBNull y Null? Debe usar los valores de formato de texto - la propiedad TextFormat. También puede desactivar la conversión forzada de valores nulos - report.ConvertNulls la propiedad. Variables ¿Cómo agregar una variable en un informe? Usted puede usar el siguiente código para agregar una variable a un informe en el código: MyVariable agrega una nueva variable del tipo int: C# report.Dictionary.Variables.Add(new StiVariable("Category", "MyVariable", typeof(int), "1", false)); VB Report.Dictionary.Variables.Add(New StiVariable("Category", "MyVariable", CType(GetType(int), Type), "1", False)) ¿Cómo obtener al valor de una variable? Para obtener el valor de la variable, puede utilizar este código: C# StiReport report = new StiReport(); report.Load("Variables.mrt"); report.Compile(); //Set Variable report["VariableName"] = "Value"; //Get Variable object value = report["VariableName"]; VB Dim Report As StiReport = New StiReport() Report.Load("Variables.mrt") Report.Compile() 1-72 Generador de Informes Softland 'Set Variable Report("VariableName") = " Value " 'Get Variable Dim Value As Object = Report("VariableName") ¿Cómo agregar variables de sistema en el texto? Utilice el siguiente código: text1.Text = "{PageNofM}"; Temas Varios ¿Cómo cambiar la clasificación de los datos? Para cambiar la clasificación ver a continuación: DataBand1.Sort = new string[2] { "ASC", "Name" }; ¿Cómo devolver el tamaño real de un componente? Utilice el método StiComponent.GetActualSize. Este método devuelve el tamaño real del componente. Debe recordar que si desea devolver el método correcto de las propiedades CanGrow, CanShrink y AutoWidth (de texto) estas propiedades deben ser True. ¿Cómo encontrar un componente por su nombre? Para encontrar el nombre de la componente use este código: C# StiComponent component = report.GetComponentByName("ComponentName"); VB Dim Component As StiComponent = Report.GetComponentByName("ComponentName"); ¿Cómo establecer un texto o rtf en una componente de formato rtf? Use la propiedad StiRichText.RtfText. ¿Cómo debo agregar un marcador para un componente utilizando código? Utilice el siguiente código: component.Bookmark = "{Categories.CategoryName}"; GENERADOR DE INFORMES SOFTLAND 1-73 ¿Cuál es la diferencia entre el Text y la TextValue? En un texto la propiedad Text se calculará y almacenará. Después de que se calcula el resultado será puesto en el TextValue. En otras palabras se puede especificar expresiones. Por ejemplo: text1.Text = "Phone: {Customers.Phone}"; En el TextValue sólo puede especificar textos: text1.TextValue = "123"; ¿Qué hay que especificar en el campo DataColumn de una imagen? La fuente de datos después del punto y la columna de datos se especifican en este campo. Por ejemplo: Customers.Photo Puede utilizar el enlace a través de la palabra, no poner entre paréntesis. Por ejemplo Products.Customers.Photo ¿Cómo cargar la imagen almacenada en la base de datos? Para esto, deberá usar el evento BeforePrintEvent. Especifique el siguiente código en el evento: C# Image1.Image = Image.FromFile(MyDataSource.ImagePath); VB Image1.Image = Image.FromFile(MyDataSource.ImagePath) También puede utilizar la propiedad ImageData C# {Image.FromFile(MyDataSource.ImagePath)} VB {Image.FromFile(MyDataSource.ImagePath)} ¿Cómo obligar a ComboBox en el formulario de datos? Puede especificar la propiedad DataBindings. ComboBox comboBox = ReportComboBox.Control; Usted puede llenar en el cuadro combinado en el evento FormLoad: ReportComboBox.Items.Add("123"); ¿Cómo obtener acceso al código del informe? Uso de comandos de la propiedad de la clase StiReport. Esta propiedad contiene un texto del código del informe. 1-74 Generador de Informes Softland ¿Cómo generar un nuevo código de un informe? Utilice ScriptNew el método de la clase StiReport para generar un nuevo código de un informe. Por ejemplo: C# StiReport report = new StiReport(); report.ScriptNew(); VB Dim Report As StiReport = New StiReport() Report.ScriptNew() ¿Cómo actualizar código del informe? Para actualizar los datos de un código de informe, deberá usar el método ScriptUpdate de la clase StiReport. Por ejemplo: C# StiReport report = new StiReport(); report.ScriptUpdate(); VB Dim Report As StiReport = New StiReport() Report.ScriptUpdate() Antes de compilar el informe, el código se actualiza automáticamente. Por lo tanto, no hay necesidad de llamar al método ScriptUpdate. Cómo trabajar con los nombre de columnas que coinciden con palabras claves de C #? Ingrese el símbolo @ antes del nombre de la columna. Por ejemplo - @ clase ¿Cómo cargar una imagen de la URL? Utilice el código siguiente para cargar una imagen de mapa de bits en el formato: Image1.Image = Stimulsoft.Base.Drawing.StiImageFromURL.LoadBitmap("http://www.domain.com/bitmap.gif"); Utilice el código siguiente para cargar una imagen en el formato Metafile: Image1.Image = Stimulsoft.Base.Drawing.StiImageFromURL.LoadMetafile("http://www.domain.com/bitmap.emf"); También puede utilizar la propiedad ImageURL de la componente de la imagen. ¿Cómo saber el nombre del archivo desde el que se cargó el informe? Usted puede obtener la trayectoria del archivo anterior de la propiedad ReportFile. Muestra: string path = report.ReportFile; GENERADOR DE INFORMES SOFTLAND 1-75 ¿Cómo cambiar el valor del CheckBox en una página en vista previa? Puede utilizar al mismo tiempo una vista previa de informe y puede agregar una marca X en la vista previa del informe: Uso de la Cruz CheckStyle = "X" símbolo Por favor, escriba a la ClickEvent manejador de evento: C# Stimulsoft.Report.Components.StiCheckBox check = sender as Stimulsoft.Report.Components.StiCheckBox; if (check.CheckedValue == null || ((bool)check.CheckedValue) == false)check.CheckedValue = true; else check.CheckedValue = false; Invalidate(); VB Dim box1 As Stimulsoft.Report.Components.StiCheckBox = CType(sender, Stimulsoft.Report.Components.StiCheckBox) If ((box1.CheckedValue Is Nothing) OrElse Not CType(box1.CheckedValue, Boolean)) Then box1.CheckedValue = True Else box1.CheckedValue = False End If MyBase.Invalidate ¿Cómo cambiar el número de página? Si desea cambiar el número de la página todo lo que necesita es asignar el valor a la variable de sistema de la PageNumber. Por ejemplo: PageNumber = 1; También puede utilizar la propiedad especial ResetPageNumber. ¿Existe alguna forma de imprimir una cabecera para un databand en la segunda página? Puede utilizar BeforePrintEvent. Véase el ejemplo de código: C# if (PageNumber == 1)HeaderBand1.Enabled = false; else HeaderBand1.Enabled = true; VB If (MyBase.PageNumber = 1) Then Me.HeaderBand1.Enabled = False Else Me.HeaderBand1.Enabled = True End If 1-76 Generador de Informes Softland ¿Cómo reducir al mínimo el tamaño de la fuente del texto en función de la del tamaño de la componente de texto? En el caso de la propiedad GetValue del componente Texto se debe establecer el siguiente código: C# StiText text = sender as StiText; text.Font = text.GetActualFont(Customers.CompanyName); StiText text = sender as StiText; text.Font = text.GetActualFont(Customers.CompanyName, minimumFontSize); VB Dim text1 As Components.StiText = TryCast(sender, Components.StiText) text1.Font = text1.GetActualFont(Customers.CompanyName) Dim text1 As Components.StiText = TryCast(sender, Components.StiText) text1.Font = text1.GetActualFont(Customers.CompanyName, minimumFontSize) Donde el minimumFontSize - minimiza admisible el tamaño de la fuente. Para También puede utilizar dos propiedades de la componente de texto: ShrinkFontToFit ShrinkFontToFitMinimumSize ¿Cómo cambiar la duplicación de los valores de una banda en uno solo? Los valores de la propiedad ProcessingDuplicates son las siguientes: ProcessingDuplicates = Merge – si se duplican los valores se fusionan ProcessingDuplicates = Ninguna –se duplican los valores de salida sin cambios ProcessingDuplicates = Ocultar - la primera línea de salida es la duplicación de los valores ¿Cómo agregar el manejador de evento para los eventos? Después de llamar Mostrar, el motor automáticamente llama al método de compilación y crea un nuevo informe report.CompiledReport. Para agregar manejador de evento debe usar este código: C# report.Compile(); report.CompiledReport.GetComponents()["ComponentName"].BeforePrint += new EventHandler(Component_BeforePrint); report.Show(); GENERADOR DE INFORMES SOFTLAND 1-77 VB Report.Compile() AddHandler Report.CompiledReport.GetComponents.Item("ComponentName").BeforePrint, New EventHandler(AddressOf Me.Component_BeforePrint) Report.Show() Este código suscribe el informe compilado 2. Puede establecer script de evento directamente: C# component.BeforePrintEvent.Script = "MessageBox.Show(\"test\")"; VB Component.BeforePrintEvent.Script = "MessageBox.Show(""test"")" Puede asignar a la secuencia de comandos del evento y después de la compilación de este script ir a un manejador. ¿Cómo conseguir el acceso a las páginas de un informe? Páginas de un informe que se almacenan en la colección de páginas de los informes. Véase la muestra: C# //Returns the first page of a report StiPage page = report.Pages[0]; VB 'Returns the first page of a report Dim Page As StiPage = Report.Pages(0) ¿Cómo obtener el total de una banda sin su impresión? Debe disminuir la altura de la banda de datos 0. Vista Previa ¿Cómo grabar el proceso de carga y un informe hecho por mí? Usted puede utilizar SavingDocument estática y LoadingDocument eventos de la clase StiPreviewControl. El SavingDocument se utiliza para guardar el informe prestados. LoadingDocument se utiliza para cargar el informe prestados. Para grabar el proceso de informe ver lo que se indica a continuación: C# private static void OnSavingDocument(object sender, EventArgs e) { StiReport report = sender as StiReport; report.SaveDocument("MyFile.mdc"); } 1-78 Generador de Informes Softland StiPreviewControl.SavingDocument += new EventHandler(OnSavingDocument); VB Private Shared Sub OnSavingDocument(ByVal sender As Object, ByVal e As EventArgs) Dim Report As StiReport = TryCast(sender, StiReport) Report.SaveDocument("MyFile.mdc") End Sub AddHandler StiPreviewControl.SavingDocument, New EventHandler(AddressOf Form1.OnSavingDocument) Para el procesamiento de la carga de informes, ver lo que se indica a continuación: C# private static void OnLoadingDocument(object sender, EventArgs e) { StiReport report = sender as StiReport; report.LoadDocument("MyFile.mdc"); } StiPreviewControl.LoadingDocument += new EventHandler(OnLoadingDocument); VB Private Shared Sub OnLoadingDocument(ByVal sender As Object, ByVal e As EventArgs) Dim Report As StiReport = TryCast(sender, StiReport) Report.LoadDocument("MyFile.mdc") End Sub AddHandler StiPreviewControl.LoadingDocument, New EventHandler(AddressOf Form1.OnLoadingDocument) ¿Cómo proceso la impresión en la ventana de vista previa? Debe utilizar la propiedad estática PrintingDocument de la clase StiPreviewControl. Para la transformación de la impresión del informe ver lo que se indica a continuación: C# private static void OnPrintingDocument(object sender, EventArgs e) { StiReport report = sender as StiReport; report.Print(); }} StiPreviewControl.PrintingDocument += new EventHandler(OnPrintingDocument); VB Private Shared Sub OnPrintingDocument(ByVal sender As Object, ByVal e As EventArgs) Dim Report As StiReport = TryCast(sender, StiReport) Report.Print() End Sub AddHandler StiPreviewControl.PrintingDocument, New EventHandler(AddressOf Form1.OnPrintingDocument) GENERADOR DE INFORMES SOFTLAND 1-79 ¿Cómo desactivar los botones de la barra de herramientas? Si desea deshabilitar botones en la ventana de vista previa debe cambiar propiedades del servicio StiPreviewConfig. C# //Do this operation once when running the program StiConfig.Load(); //Get service StiPreviewConfigService StiPreviewConfigService; config = StiConfig.Services.GetService(typeof(StiPreviewConfigService)) as //Turn off all buttons of changes of the rendered report config.PageNewEnabled = false; config.PageDeleteEnabled = false; config.PageDesignEnabled = false; config.PageSizeEnabled = false; //Save configuration if necessary StiConfig.Save(); VB 'Do this operation once when running the program StiConfig.Load() 'Get service Dim Config As StiPreviewConfigService = TryCast(StiConfig.Services.GetService(GetType(StiPreviewConfigService)), StiPreviewConfigService) 'Turn off all buttons of changes of the rendered report Config.PageNewEnabled = False Config.PageDeleteEnabled = False Config.PageDesignEnabled = False Config.PageSizeEnabled = False 'Save configuration if necessary StiConfig.Save() El mismo resultado se puede obtener utilizando la Configurator.exe. Además, puede utilizar la StiPreviewControl. Contiene muchas de las propiedades para el control de la visibilidad de los diversos controles de la ventana de vista previa. También puede utilizar la propiedad de informe PreviewSettings, puede cambiar esta propiedad del diseñador de informes. ¿Cómo desactivar la barra de herramientas? Para desactivar la barra de herramientas se puede utilizar StiPreviewControl. Establecer la propiedad de la ShowToolbar en Falso. ¿Cómo procesar los informes en la ventana de vista previa? Su ventana de vista previa de informe se creará en primer lugar y luego será desplegada. C# 1-80 Generador de Informes Softland //Create a new window public class Form1 : Form { public Form1(StiReport report) { } } //Fill the PreviewForm property report.PreviewForm = typeof(Form1); VB 'Create a new window Public Class Form1 Inherits Form Public Sub New(ByVal report As StiReport) InitializeComponent() End Sub End Class 'Fill the PreviewForm property Report1.PreviewForm = CType(GetType(Form1), Type) ¿Cómo establecer el tamaño de las páginas en el control StiPreviewControl? Utilice el método SetZoom. Por ejemplo: C# //Set zoom 100% myPreviewControl.SetZoom(1); VB 'Set zoom 100% MyPreviewControl.SetZoom(1) ¿Cómo configurar el tamaño predefinido de las páginas en el control StiPreviewControl? Debe usar métodos predefinidos para establecer zoom: C# //Display the page myPreviewControl.SetZoomOnePage(); //Display two pages myPreviewControl.SetZoomTwoPages(); //Display multiple pages myPreviewControl.SetZoomMultiplePages(); //Display a page. The page is to be align by the width in the StiPreviewControl myPreviewControl.SetZoomPageWidth(); GENERADOR DE INFORMES SOFTLAND VB 'Display the page MyPreviewControl.SetZoomOnePage() 'Display two pages MyPreviewControl.SetZoomTwoPages() 'Display multiple pages MyPreviewControl.SetZoomMultiplePages() 'Display a page. The page is to be align by the width in the StiPreviewControl MyPreviewControl.SetZoomPageWidth() ¿Cómo actualizar el informe en la vista previa con el código del informe? Utilice el método de InvokeRefreshPreview para el generador de informes: C# this.InvokeRefreshPreview(); VB Me.InvokeRefreshPreview() ¿Cómo cargar una página en el informe actual desde el código del informe? Agregar a la componente en una página lo siguiente: C# //Create a page StiPage page = new StiPage(); //Load the page from a file page.Load("MyPage.pg"); //Add a page to the collection of rendered pages RenderedPages.Add(page); //Refresh the window of preview InvokeRefreshPreview(); VB 'Create a page Dim Page As New StiPage 'Load the page from a file Page.Load("MyPage.pg") 'Add a page to the collection of rendered pages Report.RenderedPages.Add(Page) 'Refresh the window of preview Report.InvokeRefreshPreview() 1-81 1-82 Generador de Informes Softland ¿Cómo conseguir el acceso a las páginas del informe actual? Utilice la propiedad RenderedPages de un informe: C# foreach (StiPage page in report.RenderedPages) { } VB Dim page As StiPage For Each page In MyBase.RenderedPages Next ¿Cómo mostrar todos los componentes en la vista previa del informe? Utilice la propiedad para imprimir: Verdadero - componente se muestra en el diseñador y se imprimirá Falso - componente se muestra en el diseño y no se imprime ¿Cómo agregar o cambiar una imagen en el informe actual con el código del informe? Agregar una imagen a su informe Crear y agregar un nuevo componente: C# StiImage image = new StiImage(); image.Left = 0; image.Top = 0; image.Width = 10; image.Height = 10; //An image name should be unique in your report image.Name = "MyUniqueName"; //Assign the image image.Image = myImage; //Add the component with the image with the report report.Pages[0].Components.Add(image); VB Dim Image As StiImage = New StiImage() Image.Left = 0 Image.Top = 0 Image.Width = 10 Image.Height = 10 'An image name should be unique in your report GENERADOR DE INFORMES SOFTLAND Image.Name = "MyUniqueName" 'Assign the image Image.Image = myImage 'Add the component with the image with the report Report.Pages(0).Components.Add(Image) Cambio de imágenes en el informe Veamos dos formas: La primera manera - el informe no se haya recogido El segundo camino - el informe se compila de carga de montaje La primera manera. Busque el componente de la imagen en el informe: C# StiImage image = report.GetComponents()["image1"] as StiImage; VB Dim Image As StiImage = CType(Report.GetComponents()("image1"), StiImage) Cambio de la imagen: C# image.Image = myImage; VB Image.Image = MyImage De esta manera, su imagen se convertirá en el código y, a continuación, el informe se compilará y correr. La segunda manera. Llene el informe: C# report.Compile(); VB Report.Compile() Busque el componente: Llene el informe: C# StiImage image = report.GetComponents()["image1"] as StiImage; VB Dim Image As StiImage = CType(Report.GetComponents()("image1"), StiImage) 1-83 1-84 Generador de Informes Softland Asignar la imagen: C# image.ImageToDraw = myImage; VB Image.ImageToDraw = MyImage ¿Cómo indicar cancelar presionando el botón en la ventana de vista previa y no muestre el informe? Compruebe la IsStopped propiedad de un informe: C# if (!report.IsStopped) ¿Cómo atachar su indicador de las páginas actuales? Para atachar el indicador de páginas del informe, deberá usar el evento Rendering del informe. Véase a continuación el ejemplo del código: C# //Create a new report StiReport report = new StiReport(); report.Load("report.mrt"); //Compile this report by all means report.Compile(); //Add to the Rendering event of a compiled report report.CompiledReport.Rendering += new EventHandler(this.OnRendering); //Start report rendering. Attention! The Render method is called from False arguments. //This argument indicates that there is no need to show progress of report rendering report.Render(false); //Show the rendered report report.Show(); //The event which we are attaching private void OnRendering(object sender, EventArgs e) { StiReport report = sender as StiReport; string info = (report.PageNumber - 1).ToString(); } VB 'Create a new report Dim Report As New StiReport Report.Load("report.mrt") 'Compile this report by all means Report.Compile() 'Add to the Rendering event of a compiled report GENERADOR DE INFORMES SOFTLAND 1-85 AddHandler Report.CompiledReport.Rendering, New EventHandler(AddressOf Me.OnRendering) 'Start report rendering. Attention! The Render method is called from False arguments. 'This argument indicates that there is no need to show progress of report rendering Report.Render(False) 'Show the rendered report Report.Show() 'The event which we are attaching Private Sub OnRendering(ByVal sender As Object, ByVal e As EventArgs) Dim Report As StiReport = CType(sender, StiReport) Dim Info As String = (Report.PageNumber - 1).ToString() End Sub ¡Atención! Deberá adjuntar a la report.CompiledReport y sólo después de esto el método de compilación. ¿Por qué tengo el texto impreso no es similar con el texto en la vista previa? Establecer la propiedad TextQuality de la componente de texto a la WYSIWYG (Lo que usted ve es lo que usted consigue) o tipográficas. Esta propiedad le permite ver su texto en una vista previa tal como será impresa. Impresión de informes ¿Cómo imprimir un informe de inmediato sin vista previa? Para empezar la carga de un informe es la forma siguiente: C# StiReport report = new StiReport(); report.Load("report.mrt"); report.Print(); VB Dim Report As StiReport = New StiReport() Report.Load("report.mrt") Report.Print() ¿Cómo imprimir informe sin cuadro de diálogo? Se debe usar StiReport. C# StiReport report = new StiReport(); report.Load("report.mrt"); report.Render(); PrinterSettings printerSettings = new PrinterSettings(); printerSettings.Copies = 2; Report.Print(printerSettings); VB 1-86 Generador de Informes Softland Dim Report As StiReport = New StiReport() Report.Load("report.mrt") Report.Render() Dim PrinterSettings As PrinterSettings = New PrinterSettings() PrinterSettings.Copies = 2 Report.Print(PrinterSettings) ¿Cómo imprimir un informe con los parámetros especificados? Usted puede usar el método de impresión. Por ejemplo: C# StiReport report = new StiReport(); report.Load("MyReport.mrt"); report.RegData(myDataSet); report.Render(); //Create Printer Settings PrinterSettings printerSettings = new PrinterSettings(); printerSettings.Copies = 1; printerSettings.FromPage = 1; printerSettings.ToPage = report.RenderedPages.Count; //Direct Print - Don't Show Print Dialog report.Print(false, printerSettings); VB Dim Report As New StiReport Report.Load("MyReport.mrt") Report.RegData(MyDataSet) Report.Render() 'Create Printer Settings Dim PrinterSettings As New PrinterSettings PrinterSettings.Copies = 1 PrinterSettings.FromPage = 1 PrinterSettings.ToPage = Report.RenderedPages.Count 'Direct Print - Don't Show Print Dialog Report.Print(False, PrinterSettings) ¿Cómo imprimir un informe con la impresora especificada? Usted debe especificar el nombre de la impresora en la propiedad PrinterName de la clase PrinterSettings. Por ejemplo: C# StiReport report = new StiReport(); report.Load("MyReport.mrt"); report.RegData(myDataSet); report.Render(); //Create Printer Settings PrinterSettings printerSettings = new PrinterSettings(); //Set Printer to Use for Printing printerSettings.PrinterName = "MyPrinterName"; //Direct Print - Don't Show Print Dialog report.Print(false, printerSettings); GENERADOR DE INFORMES SOFTLAND 1-87 VB Dim Report As New StiReport Report.Load("MyReport.mrt") Report.RegData(MyDataSet) Report.Render() 'Create Printer Settings Dim PrinterSettings As New PrinterSettings 'Set Printer to Use for Printing PrinterSettings.PrinterName = "MyPrinterName" 'Direct Print - Don't Show Print Dialog Report.Print(False, PrinterSettings) ¿Cómo indicar la fuente de papel especificado para la impresión? Utilice la clase PrinterSettings: C# StiReport report = new StiReport(); report.Load("MyReport.mrt"); report.RegData(myDataSet); report.Render(); //Create Printer Settings PrinterSettings printerSettings = new PrinterSettings((); //Specify paper source printerSettings.DefaultPageSettings.PaperSource = printerSettings.PaperSources[1]; //Direct Print - Don't Show Print Dialog report.Print(false, printerSettings); VB Dim Report As New StiReport Report.Load("MyReport.mrt") Report.RegData(MyDataSet) Report.Render() 'Create Printer Settings Dim PrinterSettings As New PrinterSettings 'Specify paper source PrinterSettings.DefaultPageSettings.PaperSource = PrinterSettings.PaperSources.Item(1) 'Direct Print - Don't Show Print Dialog Report.Print(False, PrinterSettings) El final de la página no se imprime completamente. ¿Qué debo hacer? Por defecto en los márgenes de la página se pone 1 cm por todos los lados. Pero algunas impresoras tienen más de 1 cm de márgenes en la parte inferior (Por ejemplo, si está usando impresoras DeskJet). Ajuste el margen inferior a 2 centímetros. 1-88 Generador de Informes Softland ¿Cómo imprimir los derechos de autor en cada página de un informe? A menudo es necesario que usted desee en la salida de los derechos de autor, información de sistema, timbres de agua, nombre de programa, y cualquier otra información que el usuario no sea capaz de borrar o editar en el Diseñador. El Generador de Informes Softland tiene propiedades especiales para este tipo de solicitud. Estamos hablando de dos eventos de página: PagePainting y PagePainted. Estos dos eventos se llaman cuando muestra una página. PagePainting posterior a la página que ha sido mostrada, pero no será uno de los componentes de salida. Este evento se utiliza para mostrar de información sobre los antecedentes de una página. Toda la información de salida después de la llamada de este evento se superpone en la información. La segunda propiedad PagePainted, es llamada cuando la página ha sido completamente mostrada. Así, cualquier información que se presente se superpone en la salida antes de una página. Entonces supongo que es necesario para la salida de los derechos de autor de una empresa, lo que ha creado este programa en cada página del informe. Para esto, es necesario crear el método para el evento de servicio: C# private static void OnPagePainting(StiPage sender, StiPagePaintEventArgs e) { } VB Private Shared Sub OnPagePainting(ByVal sender As StiPage, ByVal e As StiPagePaintEventArgs) End Sub Entonces, el manejador asigna a la estática el caso de una página. Además se debe realizar de asignación una vez que el caso es estático: C# StiPage.PagePainting += new StiPagePaintEventHandler(OnPagePainting); VB AddHandler StiPage.PagePainting, New StiPagePaintEventHandler(AddressOf Form1.OnPagePainting) Ahora es necesario una inscripción a la salida. Toda la información necesaria para la producción en la figura de los argumentos es llamada manejador. Con objeto de que el remitente la referencia a la página que se está pintada es pasado. Por medio de los parámetros e objeto de la producción se pasan. Los parámetros de salida se han de examinar más a fondo. Por lo tanto, este argumento tiene el tipo StiPagePaintEventArgs. Este tipo contiene los siguientes campos: Nombre de la Propiedad ClientRectangle FullRectangle ClipRectangle Graphics IsDesigning IsPrinting Descripción de la Propiedad Rectángulo que define el tamaño y la posición de la cara interna de la página sin campos de la página Rectángulo que define el tamaño y la posición de la cara interna de la página sin campos de la página Rectángulo describe el tamaño y la posición de la gama que requiere ser repintada Graphic zona en la que la muestra se produce Valor. Si es cierto entonces, la página está mostrada en el informe de diseño Valor. Si es cierto entonces, la página se ha impreso Debe recordar que no hay ninguna propiedad de la muestra en una página en la ventana de vista previa. Pero es fácil de comprobar con IsDesigning y IsPrinting. Si ambas de estas propiedades son falsas entonces, la página está mostrada en la ventana de vista previa. GENERADOR DE INFORMES SOFTLAND 1-89 El siguiente es el código para la cadena de producción de derechos de autor: C# private static void OnPagePainting(StiPage sender, StiPagePaintEventArgs e) { Font font = new Font("Arial", 20 * (float)sender.Zoom)); e.Graphics.DrawString("(C) 2005 MyCompany", font, Brushes.Red, e.FullRectangle); font.Dispose(); } VB Private Shared Sub OnPagePainting(ByVal sender As StiPage, ByVal e As StiPagePaintEventArgs) Dim Font As Font = New Font("Arial", (20.0! * CType(page.Zoom, Single)) e.Graphics.DrawString("(C) 2005 MyCompany", Font, Brushes.Red, e.FullRectangle, Format) Font.Dispose() End Sub En este método se muestra el derecho de autor en la página. Usted debe considerar la escala, por lo tanto, si utiliza un nuevo tipo de letra de su tamaño se corrige teniendo en cuenta la escala. Exportadores de Informes ¿Cómo exportar informes? Para exportar informe a archivo en formato pdf: C# StiReport report = new StiReport(); report.Load("report.mrt"); report.Render(); report.ExportDocument(StiExportFormat.Pdf, "document.pdf"); VB Dim Report As StiReport = New StiReport() Report.Load("report.mrt") Report.Render() Report.ExportDocument(StiPdfExportFormat.Pdf, "document.pdf") ¿Cómo exportar un informe sin utilizar el cuadro de diálogo? Para exportar un informe a archivo pdf sin utilizar el cuadro de diálogo haga lo siguiente: C# StiReport report = new StiReport(); report.Load("report.mrt"); report.Render(); StiPdfExportService pdfExport = new StiPdfExportService(); pdfExport.ExportPdf(report, "document.pdf"); VB 1-90 Generador de Informes Softland Dim Report As StiReport = New StiReport() Report.Load("report.mrt") Report.Render() Dim PdfExport As StiPdfExportService = New StiPdfExportService() PdfExport.ExportPdf(Report, "document.pdf") En este ejemplo, el informe está siendo exportado a pdf. Usted puede hacer lo mismo a su informe de exportación a otros formatos disponibles. Use las siguientes clases para la exportación: StiCsvExportService – exportar a Csv; StiExcelXmlExportService - exportar a ExcelXml; StiHtmlExportService - exportar a Html; StiImageExportService - exportar a Images; StiPdfExportService - exportar a Pdf; StiRtfExportService - exportar a Rtf; StiTxtExportService - exportar a Txt; StiXmlExportService - exportar a Xml. ¿Cómo desactivar los tipos de exportación innecesarios de la ventana de vista previa? Para esto, debe hacer lo siguiente: StiConfig.Load(); StiServiceContainer services = StiConfig.Services.GetServices(typeof(StiExportService)); foreach (StiService service in services) { if (service is StiBmpExportService)service.ServiceEnabled = false; if (service is StiCsvExportService)service.ServiceEnabled = false; if (service is StiEmfExportService)service.ServiceEnabled = false; if (service is StiGifExportService)service.ServiceEnabled = false; if (service is StiHtmlExportService)service.ServiceEnabled = false; if (service is StiJpegExportService)service.ServiceEnabled = false; if (service is StiPdfExportService)service.ServiceEnabled = false; if (service is StiRtfExportService)service.ServiceEnabled = false; if (service is StiTiffExportService)service.ServiceEnabled = false; if (service is StiTxtExportService)service.ServiceEnabled = false; if (service is StiXmlExportService)service.ServiceEnabled = false; } StiConfig.Save(); ¿Cómo exportar una página con el tamaño especificado en el mapa de bits? Utilice el método GetThumbnail de un StiPage: C# Bitmap bmp = page.GetThumbnail(200, 300); VB Dim Bmp As Bitmap = Page.GetThumbnail(200, 300) GENERADOR DE INFORMES SOFTLAND 1-91 ¿Cómo, utilizando el RichText, a la salida de texto en el formato RTF? En el caso de GetValueEvent la RichText escribir el siguiente código: C# System.IO.StreamReader reader = new System.IO.StreamReader("d:\\script.rtf"); string str = reader.ReadToEnd(); reader.Close(); e.Value = System.Xml.XmlConvert.EncodeName(StiRichText.PackRtf(str)); VB Dim Reader As System.IO.StreamReader = New System.IO.StreamReader("d:\\script.rtf") Dim Str As String = Reader.ReadToEnd() Reader.Close() e.Value = System.Xml.XmlConvert.EncodeName(StiRichText.PackRtf(Str)) Configuraciones ¿Qué puedo hacer para cargar o guardar la configuración del informe? Puede utilizar los métodos guardar y cargar de la clase StiConfig. ¿Qué puedo hacer si no quiero guardar la configuración? Si no desea guardar la configuración en la propiedad estática StiOptions.Configuration.DontSaveConfig defina True. ¿Cómo restaurar la configuración por defecto? Retire el archivo Stimulsoft.Report.config y vuelva a ejecutar la aplicación. Después de esto el Generador de Informes Softland crea el archivo de configuración de nuevo. También puede llamar al método StiConfig.Restore. Este método restaura la configuración por defecto. ¿Cómo usar más de una configuración simultáneamente? Usted debe apagar el automático de guardar la configuración y, a continuación, cargar y guardar configuraciones que necesita en el momento oportuno y adecuado posiciones. ¿Cómo guardar la configuración en la base de datos? Uso y ahorro de eventos Carga de la clase StiConfig. ¿Cómo adjuntar su propio TraceListener? Véase el texto siguiente: <system.diagnostics> <switches> <add name="traceLevel" value="4" /> </switches> <trace autoflush="true" indentsize="4"> <listeners> <add name="myListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="C:\Inetpub\wwwroot\ambReports1\_trace.log" /> 1-92 Generador de Informes Softland <remove type="System.Diagnostics.DefaultTraceListener"/> </listeners> </trace> </system.diagnostics> ¿Cómo mostrar todas las excepciones que se invocan en el Generador de Informes Softland? Establezca la propiedad StiOptions.Engine.HideExceptions en falso. ¿Cómo el Generador de Informes Softland permite desactivar los cuadros de diálogo con todos los mensajes? Establezca la propiedad StiOptions.Engine.HideMessages en verdadero. ¿Cómo cambiar la actual localización del generador de informes? Utilice el siguiente código: C# //Specify the file of localization StiConfig.LoadLocalization("MyLocalization.xml"); VB 'Specify the file of localization StiConfig.LoadLocalization("MyLocalization.xml") ¿Cómo cambiar la ruta de localización de los recursos? El directorio en el que el Generador de Informes Softland se realiza las búsquedas de localización de los recursos se establece en la propiedad StiOptions.Configuration.DirectoryLocalization. Por defecto esta propiedad es "Localización". En caso necesario, puede cambiar el valor de esta propiedad. ¿Qué unidades que se utilizan para almacenar las coordenadas de un informe? Las coordenadas de los componentes de un informe se almacenan en el actual las unidades del informe actual. Son centímetros, milímetros, pulgadas, y centésimas de pulgada. Para todos los cuadros de diálogo de las coordenadas se almacenan en píxeles. ¿Cómo cambiar la unidad actual en el informe? Para cambiar la actual dependencia de un informe, deberá utilizar la propiedad de la Unidad StiReport. Por ejemplo: C# //Set centimeters Report.Unit = new StiCentimetersUnit(); //Set millimeters Report.Unit = new StiMillimetersUnit(); //Set inches Report.Unit = new StiInchesUnit(); //Set hundredths of inch Report.Unit = new StiHundredthsOfInchUnit(); GENERADOR DE INFORMES SOFTLAND 1-93 VB 'Set centimeters Report.Unit = New StiCentimetersUnit() 'Set millimeters Report.Unit = New StiMillimetersUnit() 'Set inches Report.Unit = Newfd StiInchesUnit() 'Set hundredths of inch Report.Unit = New StiHundredthsOfInchUnit() Después que la Dependencia de la propiedad se ha cambiado el generador de informes convierte automáticamente todos los tamaños y posiciones de los componentes en esta nueva unidad.