Esta documentación está en fase de desarrollo y puede contener errores.

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ónParámetrosDevuelveQué 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ónParámetrosDevuelveQué 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)
end

Leer y escribir valores

FunciónParámetrosDevuelveQué 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 / DecimalValor guardado del campo, antes de los cambios sin guardar.
Field_GetUnsavedNumericDifference(campo)DecimalDiferencia 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)TextoLee 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ónParámetrosDevuelveQué 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ónParámetrosDevuelveQué 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ónParámetrosDevuelveQué 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ónParámetrosDevuelveQué 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)EnteroEstado 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ónParámetrosDevuelveQué hace
Column_Sum(campo)DecimalSuma todos los valores de la columna.
Column_CountFilled(campo)EnteroCuenta los valores no vacíos de la columna.
Column_CountDistinct(campo)EnteroCuenta los valores distintos de la columna.
Column_CountDistinctFilled(campo)EnteroCuenta los valores distintos no vacíos.
Column_MaxValue_*(campo)Según sufijoValor máximo de la columna.
Column_MinValue_*(campo)Según sufijoValor mínimo de la columna.
CountItemList()EnteroNúmero de elementos de la lista.
List_Count()EnteroNúmero de registros de la lista.
List_Clear()Vacía la lista: elimina todos los registros.
LoadList()EnteroCarga 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)

Índice de funcionesFunciones de texto

On this page