Funciones de controles y listas
Bloquear y obligar campos, avisar al usuario, ajustar desplegables y sumar columnas de la lista desde los scripts de formulario de DinaScript.
Funciones del espacio F. para controlar los campos de un formulario —bloquear, obligar, avisar, sugerir valores— y para operar sobre su lista de registros. Todas ejecutan en scripts de formulario; no están disponibles en fórmulas de algoritmo. Las convenciones comunes (tipos de datos, valores sí/no) están en el índice de funciones.
Bloquear y limitar campos
Las funciones con parámetro estado activan la restricción con true y la retiran con false. El motivo se muestra al usuario cuando intenta saltarse el límite.
| Función | Parámetros | Devuelve | Qué hace |
|---|---|---|---|
Field_SetLockedWithReason | (campo, motivo, estado) | — | Bloquea o desbloquea el campo mostrando el motivo. |
Field_IsLocked | (campo) | Entero (1/0) | El campo está bloqueado ahora mismo. |
Field_SetMinValueWithReason / Field_SetMaxValueWithReason | (campo, motivo, valor, estado) | — | Impone un valor mínimo o máximo con su motivo. |
Field_ForcePositive / Field_ForceNegative | (campo, activado) | — | El campo numérico solo acepta positivos o negativos. |
Field_IndirectQuantityLimit | (campoRelación, campoCantidad, mínimo, máximo, campoLimitado, afectaPositivamente, motivo, activa) | — | Limita una cantidad según el rango de un registro relacionado. |
Obligar, validar y avisar
| Función | Parámetros | Devuelve | Qué hace |
|---|---|---|---|
Field_SetRequiredWithReason | (campo, motivo, estado) | — | Marca el campo como obligatorio u opcional con su motivo. |
Field_IsRequired | (campo) | Entero (1/0) | El campo es obligatorio ahora mismo. |
Field_SetWarningWithReason | (campo, aviso, estado) | — | Pone o quita un aviso sobre el campo. |
Field_ListDropdownWarning | (aviso, estado) | — | Pone o quita un aviso en la lista desplegable. |
CheckFillUnique | (campo) | Entero (1/0) | El valor del campo no se repite en otros registros. |
num esUnica = F.CheckFillUnique("REFERENCIA")
if esUnica = 0
F.Field_SetWarningWithReason("REFERENCIA", "Esta referencia ya existe", true)
F.Field_SetFocus("REFERENCIA", true)
endLeer y escribir valores
| Función | Parámetros | Devuelve | Qué hace |
|---|---|---|---|
Field_Clear | (campo) | — | Vacía el campo. |
Field_ResetToDefault | (campo) | — | Devuelve el campo a su valor inicial. |
Field_SuggestValue | (campo, sugerencia, clave) | — | Muestra un valor sugerido; la clave permite sustituirlo o retirarlo. |
Field_GetInitialTextValue / Field_GetInitialNumericValue | (campo) | Texto / Decimal | Valor guardado del campo, antes de los cambios sin guardar. |
Field_GetUnsavedNumericDifference | (campo) | Decimal | Diferencia entre el valor actual sin guardar y el guardado. |
Field_IsModified | (campo) | Entero (1/0) | El campo ha cambiado desde que se cargó. |
Field_IsAffectedBetweenTicks | (campo) | Entero (1/0) | El campo ha cambiado entre ticks de procesamiento. |
Field_RecalculateAlgorithm | (campo) | — | Fuerza el recálculo del algoritmo asignado al campo. |
Field_UrlAssistantReadValue | (campo, parámetro) | Texto | Lee un parámetro de un campo asistente de URL. |
@ Avisa si el ajuste de stock se dispara respecto a lo guardado
num ajuste = F.Field_GetUnsavedNumericDifference("STOCK")
¿ajuste > 100 ? F.Field_SetWarningWithReason("STOCK", "Ajuste inusualmente grande", true)Etiquetas, foco y aspecto
| Función | Parámetros | Devuelve | Qué hace |
|---|---|---|---|
Field_SetLabel | (campo, etiqueta) | — | Cambia la etiqueta visible del campo. |
Field_SetExtraIdentifierText | (campo, etiqueta) | — | Cambia el texto identificador extra del campo. |
Field_SetPlaceholder | (campo, ejemplo) | — | Pone un texto de ejemplo en el campo vacío. |
Field_SetFocus | (campo, seleccionar) | — | Lleva el cursor al campo, con opción de seleccionar su contenido. |
Field_CopyIconFromField | (campoDestino, campoOrigen) | — | Copia el icono de un campo a otro. |
Desplegables y autocompletado
Las Field_Dropdown* sin parámetro de campo actúan sobre el desplegable que se está abriendo.
| Función | Parámetros | Devuelve | Qué hace |
|---|---|---|---|
Field_DropdownApplyFilter | (campo) | — | Filtra el desplegable según el valor de otro campo. |
Field_DropdownApplyAlternative | () | — | Aplica una fuente de datos alternativa al desplegable. |
Field_DropdownApplySearchAlgorithm | (algoritmo) | — | Aplica un algoritmo de búsqueda al desplegable. |
Field_DropdownAutoSelectFirst | () | — | Selecciona automáticamente el primer elemento. |
Field_DropdownAutoSelectIfSingle | () | — | Selecciona el elemento si el desplegable solo tiene uno. |
Field_DropdownCancel | (motivo) | — | Cancela la apertura del desplegable y muestra el motivo. |
Field_DropdownClearFilters | () | — | Quita todos los filtros aplicados al desplegable. |
Field_DropdownEnableFilterRemoval | (títuloFiltro) | — | Ofrece al usuario quitar el filtro con ese título. |
Field_TextEnableCombo / Field_TextDisableCombo | (campo) | — | Activa o desactiva el modo desplegable en un campo de texto. |
Field_TextAddAutoComplete | (campo, valor) | — | Añade un valor memorizado al autocompletado del campo. |
Field_TextClearAutoComplete | (campo) | — | Borra todos los valores memorizados del campo. |
Relaciones
| Función | Parámetros | Devuelve | Qué hace |
|---|---|---|---|
AddRelation | (campo, modoAutomático) | — | Añade una relación al campo indicado. |
Field_CopyOnAddRelation | (campo, valor) | — | Copia un valor al campo al añadir una relación. |
Field_CopyOnAddRelation rellena campos, pero no los bloquea. Si la copia no debe modificarse, bloquea el campo de la sección de destino con Field_SetLockedWithReason en el script de esa sección.
Precios, cronómetros y acciones
| Función | Parámetros | Devuelve | Qué hace |
|---|---|---|---|
RecalculatePrice4F | (pvpSin, pvpCon, impuestosIncluidos, porcentajeImpuesto) | — | Recalcula PVP sin y con impuestos. |
RecalculatePrice5F | (precio, pvpSin, pvpCon, impuestosIncluidos, porcentajeImpuesto) | — | Como la anterior, con campo de precio combinado. |
RecalculatePrice9F | (precio, pvpSin, pvpCon, dtoFijo, dtoPorciento, subtotal, total, impuestosIncluidos, porcentajeImpuesto) | — | Versión completa: descuentos, subtotal y total. |
Field_StopwatchStart / Field_StopwatchStop | (campo) | — | Arranca o para el cronómetro de un campo temporizador. |
Field_StopwatchState | (campo) | Entero | Estado del cronómetro: en marcha o parado. |
TriggerClick | (campo) | — | Dispara el clic de un campo botón. |
EnableReportCompatibilityAlgorithm / DisableReportCompatibilityAlgorithm | () | — | Activa o desactiva el algoritmo de compatibilidad de informes. |
Operar con la lista
Trabajan sobre la lista de registros del formulario: totales y recuentos por columna, y carga o vaciado de la lista completa.
| Función | Parámetros | Devuelve | Qué hace |
|---|---|---|---|
Column_Sum | (campo) | Decimal | Suma todos los valores de la columna. |
Column_CountFilled | (campo) | Entero | Cuenta los valores no vacíos de la columna. |
Column_CountDistinct | (campo) | Entero | Cuenta los valores distintos de la columna. |
Column_CountDistinctFilled | (campo) | Entero | Cuenta los valores distintos no vacíos. |
Column_MaxValue_* | (campo) | Según sufijo | Valor máximo de la columna. |
Column_MinValue_* | (campo) | Según sufijo | Valor mínimo de la columna. |
CountItemList | () | Entero | Número de elementos de la lista. |
List_Count | () | Entero | Número de registros de la lista. |
List_Clear | () | — | Vacía la lista: elimina todos los registros. |
LoadList | () | Entero | Carga la lista (informe) y devuelve cuántos registros cargó. |
Los sufijos de Column_MaxValue_* y Column_MinValue_* (_Numeric, _Int, _Text, _Time, _Date, _DateTime) siguen la convención de familias tipadas del índice de funciones.
@ Un pedido sin importe necesita explicación
num total = F.Column_Sum("IMPORTE")
¿total = 0 ? F.Field_SetRequiredWithReason("MOTIVO", "Explica por qué el pedido va sin importe", true)Funciones de interacción y formulario
Mensajes, confirmaciones y peticiones de datos al usuario, apertura de informes y formularios, y control del formulario abierto: guardado, disparadores y altas.
Funciones de documentos y gráficos
Construir tablas en memoria, escribir en la salida de documentos dinámicos, generar URLs firmadas de archivos y montar gráficos y mapas por código.