# Referencia de parámetros y variables [← Volver al índice](../crudl.md) Resumen de todos los parámetros, variables globales y punteros del marco. La columna **Estado** indica: * **Disponible** — implementado y utilizable. * **Reservado** — nombre previsto por el marco, sin implementación actual. No lo utilice; puede cambiar de significado. ## Parámetros de URL Disponibles en `@http_context/request/get` y en el miembro `parameters` del contexto de la vista. | Parámetro | Estado | Descripción | |---|---|---| | `_entities_type` | Disponible | Tipo de entidades. Determina la carpeta de la entidad y, salvo `@table_name`, el nombre de la tabla. Requerido. | | `_entity_id` | Disponible | Identificador de la entidad. Su presencia determina la operación. | | `_key` | Disponible | Campo usado como identificador. Predeterminado `sys_pk`. Tiene prioridad sobre `@keyfield`. | | `_app_group` | Disponible | Grupo de aplicaciones del administrador de conexiones. | | `_connection` | Disponible | Conexión dentro del grupo de aplicaciones. | | `ws` | Disponible | Espacio de trabajo. Su presencia activa la suplantación de identidad. | | `_redirect` | Disponible | Con el valor `disabled`, suprime la redirección PRG y renderiza el formulario. | | `_select` | Disponible | Lo genera el marco en la URL de redirección. Contiene el identificador del registro guardado. | | `_operation` | Disponible | Lo agrega el marco. Contiene la operación realizada. Visible en el contexto de la vista. | | `_from_url_e` | Disponible | URL de retorno codificada. | | `_view` | Convención | No lo emplea el marco. Nombre adoptado por convención para seleccionar subrecursos de una entidad desde `controller.dk`. | | `_limit` | Reservado | — | | `_fields` | Reservado | — | | `_order` | Reservado | — | | `_start` | Reservado | — | | `_method` | Reservado | — | Los filtros, el orden y la paginación se resuelven en la consulta del modelo. Ver [Filtros, orden y paginación](modelo.md#filtros-orden-y-paginación). ## Campos de control de la carga útil Todo campo cuyo nombre comience con `---` se mueve de la carga útil a los parámetros antes de que el modelo reciba los datos. | Campo | Descripción | |---|---| | `---from_url` | URL de retorno para la redirección PRG. | | `---from_url_e` | URL de retorno codificada. | | `---{cualquiera}` | Disponible como parámetro; no llega al modelo. | Ver [Patrón PRG y redirección](prg-y-redireccion.md#campos-de-control). ## Variables globales del punto de entrada | Variable | Predeterminado | Descripción | |---|---|---| | `@path_root` | `""` | Ruta física del sitio Web. | | `@base_path` | `""` | Ruta relativa de las carpetas de entidades. | | `@dbmvc_path` | `"crudl/"` | Ubicación de los archivos compartidos del marco. | | `@db_engine` | `"MY_SQL"` | Tipo de gestor de base de datos. | | `@crudl.qname` | `""` | Nombre cualificado de la conexión. | | `@crudl.user` | `""` | Usuario, solo para conexión constante. | | `@crudl.pwd` | `""` | Contraseña, solo para conexión constante. | | `@crudl.access_privilege` | manifiesto de `workspace` | Privilegios exigidos para la suplantación de identidad. | | `@ws` | de la URL | Espacio de trabajo. | | `@list_view` | `"list.dk"` | Nombre de la vista de lista. | | `@form_view` | `"form.dk"` | Nombre de la vista de formulario. | | `@error_view` | `"error.dk"` | Nombre de la vista de error. | | `@dkl_view_ext` | `".dk"` | Extensión asumida para vistas DKL. | | `@websencia_ext` | `".jsnwm"` | Extensión asumida para archivos de Websencia. | | `@entity_id_blank` | `"_new"` | Valor que indica entidad nueva. | | `@crudl_routes_json` | `"routes.json"` | Nombre del archivo declarativo de rutas. | | `@url_redir` | `""` | Plantilla de URL de redirección. | | `@path_template_protected` | `_protected/default.htt` | Plantilla envolvente. | | `@auto_crud` | `@true` | Admite entidades sin `model.dk` propio. | ## Variables globales del modelo | Variable | Predeterminado | Descripción | |---|---|---| | `@table_name` | `""` | Tabla subyacente. Si está vacía se usa `_entities_type`. | | `@keyfield` | `"sys_pk"` | Campo clave. `_key` tiene prioridad. | | `@read_query` | ver [modelo](modelo.md) | Consulta de la operación READ. | | `@get_sys_pk` | ver [modelo](modelo.md) | Consulta que resuelve la clave primaria desde una clave alterna. | | `@list_query` | ver [modelo](modelo.md) | Consulta de la operación LIST. | | `@create_fields` | `"*"` | Campos a establecer en el alta. | | `@update_fields` | `"*"` | Campos a establecer en la modificación. | | `@create_exclude_fields` | `""` | Campos excluidos del alta. | | `@update_exclude_fields` | `""` | Campos excluidos de la modificación. | | `@create_alias_fields` | `""` | Pares `alias:campo` para el alta. | | `@update_alias_fields` | `""` | Pares `alias:campo` para la modificación. | | `@use_transaction` | `@true` | Transacción para operaciones con dependientes. | | `@childs` | vacío | Tablas dependientes. Ver [maestro-detalle](maestro-detalle.md). | ## Punteros de función del modelo Se establecen con `point ... to`. Un puntero nulo produce `404 Operación no admitida`. | Puntero | Firma | Devuelve | |---|---|---| | `@create` | `&db, ¶ms, &data` | Entidad creada, completa | | `@read` | `&db, ¶ms` | Entidad solicitada | | `@update` | `&db, ¶ms, &data` | Entidad actualizada, completa | | `@delete` | `&db, ¶ms` | Nulo | | `@list` | `&db, ¶ms` | Lista de entidades | | `@blank` | `&db, ¶ms` | Elemento vacío o con predeterminados | | `@custom_delete` | `&db, table_name, sys_pk` | — | ## Punteros de función de la vista | Puntero | Firma | Descripción | |---|---|---| | `@view_controller` | `operation, ¶ms` | Establece `@success_view` y `@fail_view`. | | `@success_view` | `¶ms, &input_data, &output_data, &error_info` | Vista de éxito. | | `@fail_view` | `¶ms, &input_data, &output_data, &error_info` | Vista de error. | ## Miembros de `@crud_context` | Miembro | Descripción | |---|---| | `output` | Datos de salida. Se sustituye por `input` cuando hay error. | | `.` | Alias de `output`. | | `input` | Datos de entrada de la operación. | | `parameters` | Parámetros de la solicitud, incluido `_operation`. | | `error` | Nulo, o el objeto de error. | | `database` | Conexión a la base de datos. | | `http` | El objeto `@http_context` completo. | | `script` | Texto del script asociado a la vista. | ## Objeto de error ```json { "message": "Texto del error" } ``` ## Códigos de estado HTTP | Código | Situación | |---|---| | `200` | CREATE, READ, UPDATE y LIST realizadas | | `204` | DELETE realizada | | `302` | Redirección PRG en modo HTML | | `404` | Elemento no encontrado; entidad no definida; operación no admitida; identidad no indicada | | `500` | Vista no disponible; error de base de datos; error no clasificado | Desde un modelo propio puede producir cualquier código igual o mayor que `400` mediante `rise_error`. Por ejemplo, `423` cuando una entidad con bloqueo pesimista se encuentre bloqueada por otro usuario. ## Funciones de configuración y enrutamiento Disponibles tras incluir `crudl/crudl.dk`. | Función | Descripción | |---|---| | `crudl.load_config()` | Carga el archivo `.crudl`. | | `crudl.loadRoutesJSON()` | Carga el archivo declarativo de rutas. | | `crudl.routes.pattern(patrón)` | Declara los nombres de parámetros que forman la ruta lógica. | | `crudl.routes.entity(ruta, entidad)` | Compara la ruta y asigna `_entities_type`. Devuelve `1` o `0`. | | `crudl.route(ruta)` | Compara la ruta sin asignar entidad. | | `crudl.database()` | Devuelve la conexión del proveedor de identidades, o nulo. | | `crudl.config_file(ruta)` | Resuelve la ubicación del archivo `.crudl`. | ## Funciones del modelo genérico | Función | Descripción | |---|---| | `entity.child(table, join, select_query)` | Describe una tabla dependiente. | | `entity.safe_id(id)` | Filtra un identificador antes de interpolarlo. | | `entity.remove_fields(&data, &lista)` | Retira campos de un registro. | ## Funciones específicas del motor Deben implementarse por motor si se emplea la suplantación de identidad. | Función | Descripción | |---|---| | `dbr.check_alter_access(&user)` | Verifica el manifiesto de `@crudl.access_privilege`. | | `dbr.alter_id(qname, uid, uname, ids)` | Devuelve una conexión bajo la identidad indicada. | ## Documentos relacionados * [Instalación y configuración](instalacion.md) * [Implementación del modelo](modelo.md) * [Implementación de las vistas](vistas.md) * [Web services REST](rest.md)