Agregar un componente a una solución
Objetivo
Agregar un componente (como una tabla, un formulario o una vista) a una solución, ya sea creando uno nuevo en su diseñador o agregando uno que ya existe, desde el explorador de soluciones.
Requisitos previos
- Ha iniciado sesión en el Centro de control de administración como administrador de la plataforma.
- La solución existe y pertenece a un editor (consulte Crear una solución).
Pasos
- Abra la página Soluciones desde la navegación de la barra lateral.
- Seleccione Abrir en la fila de la solución. El explorador de soluciones muestra los componentes de la solución en una pestaña por tipo (Tablas (8), Aplicaciones (2), Informes (1), etc.) y convierte esta solución en su solución de trabajo. El nombre de cada pestaña indica cuántos componentes de ese tipo contiene la solución, así que puede ver la forma de toda la solución sin abrir nada; al seleccionar una pestaña se enumeran esos componentes. Solo tienen pestaña los tipos que la solución contiene de verdad.
- Para crear un componente nuevo, use el menú Nuevo (por ejemplo, Nueva tabla o Nueva aplicación). Se abre el diseñador correspondiente, y el componente que cree se agrega a esta solución de trabajo.
- Para agregar un componente que ya existe en el entorno, use Agregar existente: elija el tipo de componente (Tabla, Conjunto de opciones, Aplicación, Script, Pantalla de Studio, Variable de entorno, Directiva de datos, Informe, Consulta guardada, API personalizada, Portal, Aplicación personalizada, Control personalizado, Recurso web o Rol) y después elija el componente en la lista. Todas las elecciones se hacen con un selector; nunca escribe un nombre lógico. Seleccione Agregar existente.
- El componente aparece bajo la pestaña de su tipo, y el recuento de esa pestaña aumenta en uno. Si la solución no tenía ninguno de ese tipo, la pestaña aparece en ese momento.
Su selección pertenece a la pestaña en la que la hizo. Los comandos de la parte superior de la página (Administrar componentes, Dependencias, Quitar de la solución) actúan sobre el componente que seleccionó, así que cambiar de pestaña borra la selección. Es intencionado: un comando preparado para un componente que ya no ve es un comando que podría ejecutar por error.
Un informe y una consulta guardada se archivan bajo la tabla que leen, junto a los formularios y las vistas de esa tabla. No tiene que indicar qué tabla: el que elija ya lo sabe, y se agrega bajo ella. Por eso aparecen tanto aquí como dentro del selector de componentes de una tabla: dos caminos hacia la misma pertenencia, para las dos maneras en que la gente los busca.
Un rol no es un puntero, así que su entrada le lleva a otro sitio. Un rol está en una solución porque esa solución le concede algo (un permiso, sobre una tabla, para una operación), por eso elegir Rol abre la página Roles de la propia solución, donde se decide eso. Agregar una fila que no concediera nada daría a entender que el rol viaja cuando el paquete solo llevaría un nombre vacío.
Abrir un componente
Seleccione el nombre de un componente para abrirlo.
- Un componente con diseñador propio (una tabla, una consulta guardada, un script, un informe, una pantalla de Studio, un proceso, un rol) se abre en ese diseñador.
- Un componente que se edita en un panel lateral de su propia página de lista (un conjunto de opciones, una aplicación, una directiva de datos, una variable de entorno, una API personalizada, un portal) abre esa lista con el componente seleccionado y su editor ya abierto, en lugar de dejar que lo busque por segunda vez en una lista de treinta.
- Una aplicación personalizada, un control personalizado o un recurso web no tiene editor (se carga, no se crea en la plataforma), así que abre su lista con la fila seleccionada, lista para los comandos que actúan sobre ella.
También puede marcar la casilla de la fila y elegir Abrir en la parte superior de la página. Ambas opciones hacen lo mismo. El nombre es un vínculo normal, así que también puede abrirlo en una pestaña nueva.
Las reglas de negocio son la excepción. Una regla de negocio pertenece al formulario en el que se ejecuta, y la vista general no sabe qué formulario es, así que sus filas no se abren. Llegue a una regla de negocio a través del formulario de su tabla, con la acción Eventos del diseñador de formularios.
Elegir qué componentes de una tabla se incluyen
Una tabla es más de una cosa: tiene campos, formularios, vistas y relaciones. No tiene que incluirlos todos. Cuando usa Agregar existente con una tabla, se abre un selector de componentes que enumera los campos, los formularios, las vistas y las relaciones de la tabla, cada uno con una casilla. Seleccione los que debe llevar esta solución y elija Guardar: la tabla en sí siempre se incluye, y solo viajan con ella los subcomponentes que marcó.
Puede volver a esta elección en cualquier momento, incluso cuando la tabla ya está en la solución. Hay dos maneras de hacerlo:
- Seleccione la tabla en la pestaña Tablas y elija Administrar componentes.
- Vuelva a elegir la tabla en Agregar existente: una tabla que ya está en la solución se sigue ofreciendo ahí, y al elegirla se vuelve a abrir su selector en lugar de agregarla dos veces.
El selector se vuelve a abrir mostrando lo que hay en la solución en ese momento, así que puede agregar o quitar campos, formularios, vistas y relaciones concretos siempre que lo necesite; por ejemplo, para agregar un formulario nuevo que creó para una tabla existente sin arrastrar todo lo demás, o para volver a sacar una vista de la solución.
La fila de cada tabla indica cuánto de ella viaja en esta solución, así que una tabla que agregó sin seleccionar ninguno de sus campos lo dice claramente en lugar de parecer completa.
Las columnas y las relaciones viajan con su tabla. La definición de una tabla lleva todas sus columnas y relaciones, estén marcadas o no, así que sus casillas deciden lo que muestran las listas de esta solución, no lo que contiene el archivo exportado. Con los formularios, las vistas y las consultas guardadas es distinto: solo viajan los marcados.
Ver solo lo que contiene la solución
Todas las listas dentro de una solución muestran los componentes de esa solución, no los del entorno. Esto se aplica a las páginas de la propia navegación de la solución (Aplicaciones, Tablas, Conjuntos de opciones, Variables de entorno, Consultas guardadas, Scripts, Informes, Pantallas de Studio, API personalizadas, Portales, Roles, Directivas de datos, Aplicaciones personalizadas, Controles personalizados y Recursos web) y a las listas Campos, Formularios y Vistas de una tabla cuando la abre. Por tanto, una tabla que agregó sin elegir ningún campo muestra una lista de campos vacía, aunque el archivo exportado sigue llevando todas las columnas de la tabla (vea la nota anterior).
La solución predeterminada («Main») es la excepción: contiene todo lo que hay en el entorno, así que sus listas nunca se acotan. Es el lugar al que ir para ver todo lo que tiene un entorno, lo haya puesto quien lo haya puesto.
Un componente que cree con una solución abierta se agrega automáticamente a esa solución, así que aparece en su lista de inmediato.
Si falta en la lista algo que usa
Una solución lleva lo que necesita. Si su aplicación navega a una pantalla, o su informe nombra una consulta guardada, que instaló otra solución, agregue ese componente a su solución, con Agregar existente en la vista general de la solución o, para un campo, un formulario o una vista, a través del selector de componentes de una tabla. Así se declaran las dependencias, y eso es lo que permite al entorno de destino comprobarlas cuando se importa su paquete.
Tenga en cuenta lo que no significa una lista acotada: un componente que falta en la lista de esta solución sigue existiendo en el entorno y sigue funcionando. Todo lo que se alcanza por nombre lógico (una pantalla a la que navega una aplicación, un script que importa una regla, un conjunto de opciones al que se enlaza un campo) se resuelve en tiempo de ejecución, sea cual sea la solución que lo instaló. La lista responde a «¿qué lleva este paquete?», no a «¿a qué puede llegar esta aplicación?».
Ver qué depende de un componente
Seleccione un componente y elija Dependencias. Se abre un panel con dos listas:
- Lo necesitan: todo lo que en este entorno depende del componente. Es la lista que debe leer antes de eliminar nada: si una columna de búsqueda apunta a una tabla, o la navegación de una aplicación abre una vista, eliminarla los rompería, y la plataforma se negará.
- Necesita: aquello de lo que depende el propio componente. Es la lista que explica por qué importarlo solo en otro entorno fallaría: lo que aparece aquí tiene que viajar con él, o estar ya allí.
Cada fila indica qué es el otro componente, a qué tabla pertenece cuando pertenece a una, y por qué está en la lista: «una columna de búsqueda apunta a él», «una columna toma sus valores de él», «un rol de seguridad concede un permiso sobre él», etc.
La respuesta se calcula a partir de los metadatos del entorno cada vez que abre el panel, así que nunca está desactualizada. Además, no se limita a esta solución: la pregunta es qué existe en el entorno, lo haya instalado quien lo haya instalado.
Dependencias no está disponible para aplicaciones personalizadas, controles personalizados, recursos web, procesos, API personalizadas ni portales. No se describen con los mismos metadatos (nada lee lo que toca el script de una API personalizada, y los vínculos de un portal con la pantalla que publica y las tablas que puede leer no están modelados), así que, en lugar de mostrarle un panel vacío que parezca una respuesta, el comando está desactivado.
Quitar algo de una solución
Seleccione el componente y elija Quitar de la solución. Esto quita solo su pertenencia a esta solución: el componente en sí se queda en el entorno y en la solución predeterminada («Main»), y no se destruye ningún dato. Para sacar de una solución un único formulario, vista, campo o relación, vuelva a abrir el selector de componentes de su tabla y desmarque su casilla.
Quitar no comprueba qué sigue necesitando el componente. Si una columna de esta solución toma sus valores de la lista de opciones que quita, la solución se sigue exportando, y su siguiente importación en un entorno que no tenga esa lista se rechaza. Seleccione el componente y abra antes Dependencias: lo que aparezca en Lo necesita y esté en esta solución lo necesita.
Qué ocurre entre bastidores
Agregar un componente existente registra que pertenece a esta solución; un componente puede pertenecer a más de una solución no administrada. El selector de componentes registra exactamente qué subcomponentes de una tabla pertenecen a la solución; al guardarlo se agregan los recién marcados y se quitan los recién desmarcados, sin tocar las demás tablas. Quitar un componente quita solo esa pertenencia; no elimina el componente en sí. La solución predeterminada («Main») es la excepción: siempre contiene todos los componentes, así que no ofrece selector de componentes y no se le puede quitar nada.
Solución de problemas
- «field '…' references '…', which is neither in the package nor in this environment.» Aparece al importar. Una columna del paquete busca en una tabla, o toma sus valores de una lista de opciones (conjunto de opciones), que el paquete no lleva y que el entorno no tiene. No se importó nada. Si otra solución la trae, importe primero esa solución. Si no, en el entorno desde el que exportó, seleccione la tabla en la vista general de la solución, elija Dependencias, agregue lo que aparece en Necesita con Agregar existente y vuelva a exportar. Se puede agregar un componente de cualquier editor; su prefijo no tiene que coincidir con el de la solución.
- «El componente … ya existe en la solución». La solución ya hace referencia a ese componente.
Escenarios relacionados
- Crear una solución.
- Crear un editor.