Extendiendo entidades de vBase

unas de las dudas que mas se plantean a la hora de utilizar una OpenApps, es el poder beneficiarnos de futuras versiones (para lo que no debo modificar nada de la misma), pero a la vez poder complementarla según mis necesidades.
Siempre acabo necesitando añadir mis campos a alguna de sus tablas 😦

El caso más común se produce con la tabla entidades de vBase. Vamos a explicar como hacerlo con un ejemplo.

Quizás se conveniente recordar el artículo Personalizando entidades

Datos de partida:

  • Tenemos creado un tipo de entidad proveedor (Tabla ENT_TIP: ID = PRV, NAME=Proveedor, EMP = 1)
  • Utilizamos una constante para hacer referencia a este tipo de entidad. En nuestro caso usamos la contanes de vConta ~PRV_TIP@vConta.dat

Bien, en nuestro ejemplo queremos añadir datos específicos de una entidad que es un proveedor. Lo primero que hacemos es crear una tabla donde pondremos todos los campos del proveedor, la podemos llamar PRV_CND (Condiciones del proveedor).

El ID de la tabla, recomiendo hacer que sea el mismo ID que la tabla entidades (ENT).
En ella podemos añadir todos los campos que queramos. Un ejemplo:

Bien ahora vamos a crear un entidad que sea proveedor.

Yo crearía un mantenimiento en gestión, para ver solo proveedores. Desde ese mantenimiento haría un proceso para dar de alta un proveedor, el proceso sería:

Mediante esas funciones nos aseguramos que la entidad que se ha dado de alta queda como proveedor.

El usuario también podría ponerlo como proveedor desde el mantenimiento de las entidades de vBase, a través de la pestaña “Tipos de entidad”.

Ya tenemos la tabla con las condiciones del proveedor, ya sabemos como hacer que una entidad sea proveedor. Ahora lo que nos interesa es que cuando editen una entidad, si esta es un proveedor, podamos ver y modificar sus condiciones. Bien, vamos a ello.

1.- Formulario para editar condiciones del proveedor (PRV_CND)

Creamos un formulario para editar todos los campos del proveedor. Le ponemos un único botón, con la instrucción “aceptar”, y el texto “Guardar cambios”

2.- Proceso para presentar las condiciones del proveedor en la ficha de entidad (ENT_PRV_CND).

Creamos un proceso con origen Ficha de entidades, y salida Ficha de condiciones de proveedor

3.- Creamos un subformulario de entidades donde pondremos las condiciones del proveedor

En este subformulario ponemos un objeto “vista da datos”. Como primer objeto ponemos el proceso anterior ENT_PRV_CND, y como segundo el formulario del punto uno (PRV_CND)

Todo esto lo hemos hecho, naturalmente un nuestro proyecto de gestión. Para que este formulario se vea en el mantenimiento de entidades, debemos añadirlo a un punto de inserción de vBase.

Este punto de inserción lo condicionamos a que sea proveedor

Vista de la entidad:

Anuncios

2 comentarios en “Extendiendo entidades de vBase

  1. Fernando Vergniaud dijo:

    Nacho muy interesante tu nota, aunque no entiendo algo en el formulario de condiciones del proveedor solo estas poniendo campos de esa tabla , como hacer para tratar al proveedor como un todo y poder pedir nombre,direccion(de la entidad) y datos propios de la tabla del proveedor todo en un mismo formulario.

    • Hola Fernando: El mantenimiento se hace desde entidades. Un proveedor o un cliente es siempre una entidad, y en esta tabla (ENT) es donde están los datos comunes.
      Las tablas que aportan los datos específicos de cada tipo (proveedor, cliente), son extensiones de la primera. Por lo tanto lo mejor es mantenerlo desde la tabla principal, para eso uso el formulario del punto 3, insertando los datos de la tabla extensión en el mantenimiento de entidades.
      Como ves en la última imagen el mantenimiento de entidades de vBase tiene una pestaña nueva “Proveedor” donde estarán estos datos.

      Siempre mantienes desde entidades, para eso hay un localizador especial que te permite buscar solo entidades de un tipo (ejemplo: proveedor)

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s