Contenido
|
Un cliente Sistema de Gestión de Relaciones con el ejemplo
Para que esta definición de aplicaciones para trabajar, tendrá que importar los siguientes puntos de vista y los widgets utilizando el Add-ons menú. Widgets: * Fecha y hora Picker Vistas: * Google Charts * Calendario completo * Google Map 3
Con muy pocas líneas de código, JRapid crea entidades y todas las piezas de la interfaz de usuario necesarias para ver, administrar e informar sobre los objetos de negocio. Un sistema profesional, con todas las funciones es posible sin cometer cientos de horas. También, ver y sentir y funcionalidad es consistente en todo el sistema, y se puede extender libremente el código a fin de especializar la aplicación a sus necesidades particulares.
En el siguiente tutorial, voy a mostrar cómo crear un sistema como el de arriba es a la vez rápido y fácil. Una vez que se conocen los conceptos básicos y como configurar el entorno, se podrá ver la flexibilidad de la JRapid.
Entidades
JRapid sigue los detalles de diseño Model-Driven que hace hincapié en la importancia de las entidades u objetos de negocio y sus relaciones. En primer lugar, vamos a empezar por el modelado de las necesarias entidades y sus propiedades. Las entidades pueden ser considerados como sus objetos de negocio, o más simplemente como nombres y las propiedades son los atributos que definen a cada instancia de la entidad.Para cada entidad creada, tanto una forma y una lista se crean. La forma es una manera de entrar y actualizar la entidad.
Las listas son interfaces que permiten ver la totalidad o un subconjunto de las instancias existentes de una entidad en particular.
Propiedades
Las propiedades están disponibles en muchos tipos diferentes. Pueden ser de cualquier tipo base (un entero, doble o de cadena o los objetos más complicados, como números de teléfono o direcciones de correo). Entre las propiedades también puede haber casos de interrelaciones. Nuestra entidad cliente tiene una propiedad que es una referencia a la entidad del país. Esto crea una relación uno a uno (o una a ninguno si null), vinculación entre las dos entidades.<entidad label="Cliente" menú="Clientes" nombre="cliente"><propiedad display="primaria" etiqueta="Nombre" nombre="nombre" /><propiedad label="Contacto" nombre="contacto" /><propiedad label="Teléfono" nombre="teléfono" tipo="teléfono" /><propiedad label="Enviar" nombre="email" tipo="email" /><propiedad display="secundaria" label="Dirección" nombre="dirección" /><propiedad auto sugerencia="auto sugerencia" display="secundaria" label="City" nombre="ciudad" /><propiedad display="secundaria" entidad="País" label="País" nombre="país" /><property display="secondary" entity="State" label="State" name="state" subset="forCountry" subsetparams="country" /><propiedad entidad="Industria" label="Industria" nombre="industria" />...</entidad>
El punto de vista básico del cliente contiene 9 propiedades de modelado cada cliente en el sistema. Hay tipos simples como cuerdas, y más complicados los incorporados como teléfono y correo electrónico. También hay referencias al País, Estado y entidades de la industria, creando relaciones con esas otras mesas. Propiedades también son flexibles y configurables. Por ejemplo, un defecto de valor se puede ajustar para valores cuando se está creando una nueva entidad.
<entidad nombre="venta" etiqueta="venta" del menú="Ventas">...<propiedad nombre="embarcado" label="Enviado" tipo="booleano" default="false" />...</entidad>
Esto creará un valor predeterminado de false para despachada en la interfaz de usuario cuando se añade una venta. Incrustación permite una entidad a ser colocado dentro de otro para su uso como un hijo de la entidad exterior.
<property childproperty="sale" collection="list" embedded="inline" entity="SaleLine" extendable="extendable" labelposition="top" listindex="line" name="detail" />
La entidad SALELINE, definida como se muestra a continuación se hace referencia aquí como uno a muchos propiedad de una venta. Extensible significa que el usuario podrá añadir nuevas filas. La aplicación tiene ahora una venta con una interfaz para añadir tantas líneas de venta que considere necesarios al usuario para una venta particular.
<entidad label="SALELINE" nombre="SALELINE"><propiedad display="primaria" entidad="Venta" label="Venta" nombre="venta" /><propiedad display="primaria" etiqueta="Cantidad" nombre="cantidad" tipo="integer" /><property display="primary" entity="Product" label="Product" name="product" subset="forCombo" widget="combo" /><propiedad display="primaria" etiqueta="Precio" nombre="precio" tipo="doble"><dynamicvalue expr="product.price"><param entidad="Producto" nombre="producto" valor="producto" /></dynamicvalue></propiedad><propiedad calculada="precio * cantidad" label="Total" nombre="total" tipo="doble" /><propiedad oculta="oculto" label="N" nombre="n" tipo="corto" /></entidad>
Fórmula , calculada y dynamicvalue son otros atributos posibles para una propiedad. Fórmula le permitirá establecer un valor de propiedad sobre la base de una sentencia SQL. Para agregar una propiedad que muestra el promedio de ventas de un vendedor uno podría agregar la siguiente línea a la entidad vendedor:
<propiedad nombre="avgSales" label="Promedio ventas" display="secundaria" fórmula="(SELECT SUM (sale.total) / COUNT (DISTINCT MES (sale.date)) DESDE DONDE venta sale.seller=Identificación ) " />
El ejemplo SALELINE anterior también incluye un calculado el valor para el total. Cuando se introduce un precio y cantidad, la totalidad del campo se rellena automáticamente. La propiedad también puede tirar dinámicamente el valor de un campo particular de una entidad de la base de datos subyacente. Por ejemplo, la entidad producto tiene un precio. La entidad SALELINE utiliza el widget de combo para sugerir automáticamente productos que concuerden con lo que el usuario comienza a escribir. Una vez que se selecciona un producto hay una llamada dinámica que puebla el precio por ir a la tabla de productos en la base de datos. Si el usuario ha escrito una cantidad para el producto, toda la línea se calcula en el momento en que se selecciona el producto.
Filtros
Filtros son formas de limitar el número de filas visibles de una lista en particular. El ejemplo del cliente anterior crea dos filtros que permiten al usuario buscar a los clientes con un nombre particular o busca por su estado. Con sólo las dos líneas siguientes, tanto la interfaz front-end y back-end de los servicios se proporcionan para usted.<filtro de pantalla="primaria" etiqueta="Nombre" nombre="nombre" propiedad="nombre" /><filtro de pantalla="primaria" etiqueta="Estado" nombre="estado" propiedad="estado" />
El atributo de visualización siendo primaria hace que el filtro para mostrar en la lista principal de la entidad. El valor de la propiedad para el filtro debe coincidir con el nombre de una propiedad de la entidad.
Subconjuntos
Subconjuntos son otra manera de limitar el número de entidades en una lista. Mientras que los filtros funcionan dando al usuario una forma de buscar y limitar por su cuenta, subconjuntos se crean para restringir un conjunto de datos cuando todos los registros no tienen sentido para un uso particular. El uso más común es crear un subconjunto con uno o más parámetros que limita el número de registros. Por ejemplo, tenemos las entidades estatales y nacionales con cada estado que tiene un país como una de sus propiedades. Para crear un subgrupo que devuelve todos los estados para un país es trivial:<entidad label="Estado" del menú="Config" nombre="Estado"><subconjunto nombre="forCountry"><param entidad="País" nombre="país" /><condición campo="país" valor="país" /></subconjunto>...</entidad>
En el ejemplo de este subconjunto se utiliza cuando la introducción de direcciones para restringir los estados sólo a aquellos en el país seleccionado previamente.
Listados personalizados
Los predeterminados listados no son las únicas opciones que tiene para mostrar listas de entidades a los usuarios. La lista predeterminada se puede ajustar fácilmente a cualquier lista:<entidad defaultlisting="fotos" etiqueta="Vendedor" menú="Config" nombre="Vendedor"><lista DisplayProperties="foto, nombre, correo electrónico, teléfono, avgSales" name="fotos" /></entidad>
Esta lista mostrará la foto de este vendedor junto con su nombre, información y ventas promedio en contacto como el predeterminado para la entidad como defaultlisting se establece en los cuadros personalizados anuncio.
JRapid incluso soporta Google listados mapa, así que si desea mostrar un mapa con los puntos que muestran la dirección de sus clientes puede hacerlo fácilmente. Para ello será necesario la instalación de un punto de vista add-on de la comunidad JRapid tener acceso a la funcionalidad mapa.
<entidad label="Cliente" menú="Clientes" nombre="cliente"><lista nombre="mapa" vista="googlemap3, tabla" />...</entidad>
Widgets
Widgets son atributos que puede especificar para personalizar la forma determinada aparecen propiedades. Hay reproductores integrados de la JRapid biblioteca central y los widgets generados por los usuarios de la comunidad JRapid que se puede añadir a través del diseñador de páginas web.<propiedad label="Forma de pago" nombre="PaymentMethod" tipo="enum" widget de="radio"><enum>Comprobar</enum><enum>Tarjeta de crédito</enum><enum>Cash</enum></propiedad>
El ejemplo anterior crea un cuadro de radio para los tipos enumerados.
Algunos widgets básicos comunes son selecto, combo, radio, selectMultiple y casilla de verificación. Los dos últimos se utilizan cuando el usuario puede seleccionar más de un valor, o una colección de valores. Hay una amplia selección de widgets disponibles en la comunidad JRapid incluyendo formas de seleccionar puntos en un mapa, elegir un color, o incluso manejar documentos en documentos de Google. Usted puede encontrar una más información aquí .
Estilos
Además de la posibilidad de mostrar sus propiedades con diferentes widgets, también existe la posibilidad de añadir directivas CSS para que su aplicación se puede personalizar para la apariencia que desea. Propiedades aceptan un atributo de estilo que le permite dar formato a una sola propiedad que se utiliza en la entidad producto.<propiedad display="primaria" etiqueta="Title" nombre="title" estilo="width: 300px;" />
HTML puro también se puede añadir a una entidad para mostrar un título o una descripción de las propiedades.
<entidad label="Cliente" menú="Clientes" nombre="cliente">...<html nombre="title"> Por favor, seleccione el sector más cercano para el cliente </html><propiedad entidad="Industria" label="Industria" nombre="industria" />...</entidad>
Incorporación Listados
Es fácil de incluir una lista de otras entidades dentro de una entidad. Esto se puede hacer con una relación entre dos entidades tales como una relación de uno a muchos de los padres del niño, o con todos o un subconjunto de otra entidad donde no hay relación. El siguiente ejemplo muestra cómo incrustar una lista de las ventas para un cliente en la entidad cliente. El no poder especificar un subconjunto produciría todos los registros de una entidad en particular.<entidad label="Cliente" menú="Clientes" nombre="cliente">...<embeddedlisting entidad="Venta" nombre="sales" subconjunto="forCustomer" subsetparams="." />...</entidad>
Acciones
Acciones son poderosos ganchos que se pueden agregar a su aplicación que proporciona accesos directos, los procesos de activación o informes e incluso ejecutar javascript. El gancho se puede agregar como botón, como un menú desplegable, a la vista de formulario o puede sobrescribir el doble click acción predeterminada cuando una entidad se hace clic en. Las siguientes opciones están disponibles para lo que la acción puede hacer una vez que se dispara:- Relatedentity
- Entidad relacionada permite abrir el formulario de entidad para una entidad que figura como una propiedad. Para ver la industria para un cliente, esto podría ser utilizado para llegar a la forma de la industria.
- Relatedlisting
- Anuncios relacionados abrirán una lista cuando la propiedad relacionada es una colección o se puede utilizar con un subconjunto.
- Openentity
- Entidad abierta es la funcionalidad por defecto para las listas cuando una fila se hace doble clic en. Esto abrirá el formulario para una entidad.
- Javascript
- Dispare javascript incluido en su proyecto.
<entidad label="venta" del menú="Ventas" nombre="Venta">...<propiedad dimensión="fila" display="primaria" entidad="Cliente" label="Cliente" nombre="cliente"><acción label="Ver" ubicación="forma" nombre="openCustomer" tipo="openentity" /></propiedad>...</entidad>
Paneles
Paneles le proporcionan la capacidad de agrupar y organizar los diversos componentes de la aplicación. Pueden contener sus propios menús. Organizar un panel, puede utilizar columnas y especificar su anchura. Dentro de cada columna hay un diseño de acordeón para la colocación de artículos.<panel de menú="Paneles" name="Índice" título="Sales Manager 1.0 (powered by JRapid)"><Menú /><columna de ancho="70%"><acordeón>...</Panel>
Informes
JRapid proporciona construido en apoyo a Jasper Reports . Informar elementos se puede acceder fácilmente a través de acciones . Jasper ofrece iReport , un generador gráfico informe. Más información se puede encontrar aquí .Business Intelligence Reporting
JRapid también le proporciona un adicional de módulo de informes de BI que se ejecuta contra la base de datos de soporte. Este módulo proporciona información resumida en representación de los objetos en el sistema. En este caso se utiliza para mostrar las ventas por mes por informar sobre la cantidad de ventas con una fecha en cada mes para cada usuario particular.Business Intelligence también le ofrece "dimensiones" que le permiten filtrar y agrupar los resultados En el ejemplo anterior, las dimensiones son vendedor para las filas, y date_year y date_month para las columnas. "Configurar" le permitirá al usuario modificar las agrupaciones dinámicamente mientras que la aplicación web se ejecuta. Además, los gráficos se pueden obtener mediante la ejecución de un informe de BI.
No hay comentarios:
Publicar un comentario