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 del espacio F. para dialogar con el usuario —mensajes, preguntas, abrir informes y formularios— y para actuar sobre el formulario abierto: guardar, disparar scripts, dar altas. Ejecutan en scripts del Terminal —de formulario o independientes—, no en fórmulas de algoritmo; las convenciones comunes están en el índice de funciones.
Mensajes y confirmaciones
El parámetro acciónRest indica la acción a aplicar cuando el script se ejecuta en emulación REST.
| Función | Parámetros | Devuelve | Qué hace |
|---|---|---|---|
MsgBox | (texto, acciónRest) | — | Muestra un mensaje al usuario. |
PromptYesNo | (título, pregunta, acciónRest) | Entero (1/0) | Pregunta Sí/No: devuelve 1 Sí, 0 No. |
PromptYesNoCancel | (título, pregunta, acciónRest) | Entero | Pregunta Sí/No/Cancelar: 1 Sí, 0 No, 2 Cancelar. |
num confirmar = F.PromptYesNo("Facturación", "¿Generar la factura?", 0)
¿v.confirmar = 0 ? F.CancelEvent()Pedir datos al usuario
| Función | Parámetros | Devuelve | Qué hace |
|---|---|---|---|
PromptDecimalNumber | (título, pregunta) | Decimal | Pide un número decimal y lo devuelve. |
PromptIntegerNumber | (título, pregunta) | Entero | Pide un número entero y lo devuelve. |
PromptRecord | (título, pregunta, sección) | Texto | Pide elegir un registro de la sección; devuelve su identificador. |
PromptRecordFromLoadedReport | (título, pregunta, informeIdOSección) | Relación (GUID) | Pide elegir un registro de un informe cargado; devuelve su identificador. |
num total = F.PromptDecimalNumber("Caja", "Importe contado al cierre")
F.MsgBox(F.Concat("Contado: ", F.FormatMoney(v.total)), 0)Abrir recursos
Abren un recurso de Dinaup identificándolo por su GUID.
| Función | Parámetros | Devuelve | Qué hace |
|---|---|---|---|
OpenForm | (sección) | — | Abre el formulario para ver o editar un registro de la sección. |
OpenReport | (informeId) | — | Abre un informe por su identificador. |
OpenDynamicDocument | (funciónApi) | — | Abre el documento dinámico que genera una función de API. |
Acciones sobre el formulario actual
Actúan sobre el registro abierto. Solo en scripts de formulario.
| Función | Parámetros | Devuelve | Qué hace |
|---|---|---|---|
Save | () | — | Guarda el registro actual del formulario. |
CancelEvent | () | — | Cancela el evento en curso e impide que continúe. |
CalculatePurchase | () | — | Ejecuta el cálculo de compra del registro actual. |
CalculateSale | () | — | Ejecuta el cálculo de venta del registro actual. |
Form_EnableSequentialAdd | (activado) | Entero | Activa o desactiva el modo de alta secuencial del formulario. |
IsNew | () | Entero (1/0) | El registro actual es nuevo. |
IsNew_Sequential | () | Entero (1/0) | El registro se creó en modo de alta secuencial. |
IsVirtualForm | () | Entero (1/0) | El formulario actual es virtual. |
Disparadores y cambios de campo
Declaran cuándo se dispara el script y leen el valor implicado en el cambio.
| Función | Parámetros | Devuelve | Qué hace |
|---|---|---|---|
InitializeTrigger | (evento) | — | Inicializa el disparador del script para el evento indicado. |
TriggerOnFieldChange | (campoId) | — | Dispara el script cuando cambia el campo indicado. |
TriggerIfFieldsFilled | (campoId) | — | Dispara el script solo si el campo indicado tiene valor. |
TriggerIfNewRecord | () | Sí/No | Dispara el script solo si el registro es nuevo. |
GetNewFieldValue | (campoId) | Texto | Devuelve el valor nuevo del campo. |
GetPreviousFieldValue | (campoId) | Texto | Devuelve el valor anterior del campo. |
@ Corre solo cuando cambia el campo Estado
F.TriggerOnFieldChange(S.Fields.Pedidos.Estado.ID)
txt anterior = F.GetPreviousFieldValue(S.Fields.Pedidos.Estado.ID)
txt nuevo = F.GetNewFieldValue(S.Fields.Pedidos.Estado.ID)Alta de registros desde el script
Dan de alta un registro por pasos: abres el alta, asignas campos y la confirmas. Solo en scripts de formulario.
| Función | Parámetros | Devuelve | Qué hace |
|---|---|---|---|
AddElement_Begin | (sección) | — | Inicia el alta de un registro en la sección indicada. |
AddElement_SetValue | (campo, valor) | — | Asigna el valor de un campo del alta en curso. El tipo del valor depende del campo. |
AddElement_Commit | () | — | Finaliza el alta sin aceptar automáticamente el registro. |
AddElement_CommitAndAccept | () | — | Finaliza el alta y acepta (guarda) el registro. |
Destinadores y catálogos
Leen cantidades de un destinador de destino y controlan qué se muestra en el formulario. Solo en scripts de formulario.
| Función | Parámetros | Devuelve | Qué hace |
|---|---|---|---|
Allocator_SourceQuantity | () | Decimal | Cantidad de origen del destinador. |
Allocator_CompletedQuantity | () | Decimal | Cantidad ya completada del destinador. |
Allocator_PendingQuantity | () | Decimal | Cantidad pendiente del destinador. |
Allocator_RenderGeneric | () | — | Pinta la representación visual genérica del destinador. |
Allocator_SetHidden | (destinadorId, estado) | Entero | Oculta o muestra un destinador por su ID. |
Catalog_SetDisabled | (catálogo, estado) | Entero | Desactiva o activa un catálogo por su ID. |
Email y sistema
| Función | Parámetros | Devuelve | Qué hace |
|---|---|---|---|
EmailSend | (origen, destino) | — | Envía un email desde la cuenta de origen a la dirección de destino. |
EmailSendReply | (origen, destino, respuestaA) | — | Envía una respuesta enlazada al email original. |
EmailSend_CurrentBuffer | () | — | Envía el documento actual por email. |
CurrencyChange | (isoOrigen, isoDestino, fecha) | Decimal | Tipo de cambio entre dos divisas ISO en la fecha dada. |
OSRunCMD | (comando, esperar, timeoutMs) | — | Ejecuta un comando del sistema operativo, con espera y timeout opcionales. |
EmailSend y EmailSendReply ejecutan solo en scripts de formulario; el resto también vale en scripts independientes.
Funciones de datos y listados
Cargar informes y secciones desde DinaScript, filtrarlos y ordenarlos, recorrer sus filas y volcar los valores en celdas HTML con formato.
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.