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.
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.
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)end
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 guardadonum ajuste = F.Field_GetUnsavedNumericDifference("STOCK")¿ajuste > 100 ? F.Field_SetWarningWithReason("STOCK", "Ajuste inusualmente grande", true)
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.
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ónnum total = F.Column_Sum("IMPORTE")¿total = 0 ? F.Field_SetRequiredWithReason("MOTIVO", "Explica por qué el pedido va sin importe", true)