- En el procedimiento OnCreateAtServer (manejador de eventos del formulario), inserte una llamada de la siguiente manera:
// StandardSubsystems.AttachableCommands AttachableCommands.OnCreateAtServer(EsteObjeto); // Fin StandardSubsystems.AttachableCommands
- Inserte procedimientos (manejadores de comandos) en el módulo del formulario:
// StandardSubsystems.AttachableCommands &EnCliente Procedimiento Attachable_EjecutarComando(Comando) AttachableCommandsCliente.EjecutarComando(EsteObjeto, Comando, <ObjetoDeFormularioOTabla>); FinProcedimiento &EnServidor Procedimiento Attachable_EjecutarComandoEnServidor(Contexto, Resultado) AttachableCommands.EjecutarComando(EsteObjeto, Contexto, <ObjetoDeFormularioOTabla>, Resultado); FinProcedimiento &EnCliente Procedimiento Attachable_ActualizarComandos() AttachableCommandsClienteServidor.ActualizarComandos(EsteObjeto, <ObjetoDeFormularioOTabla>); FinProcedimiento // Fin StandardSubsystems.AttachableCommands
- Si un formulario es un formulario de objeto:
- En el parámetro <ObjetoDeFormularioOTabla>, pase el atributo de formulario del tipo StructureFormData. Por ejemplo:
AttachableCommandsCliente.EjecutarComando(EsteObjeto, Comando, Objeto);
- En el controlador OnReadAtServer del formulario, inserte una llamada de la siguiente manera:
&EnServidor Procedimiento OnReadAtServer(ObjetoActual) // StandardSubsystems.AttachableCommands AttachableCommandsClienteServidor.ActualizarComandos(EsteObjeto, <ObjetoDeFormularioOTabla>); // Fin StandardSubsystems.AttachableCommands FinProcedimiento
- En el controlador OnOpen del formulario, inserte una llamada de la siguiente manera:
&EnCliente Procedimiento OnOpen(Cancelar) // StandardSubsystems.AttachableCommands AttachableCommandsCliente.IniciarActualizaciónComandos(EsteObjeto); // Fin StandardSubsystems.AttachableCommands FinProcedimiento
- También se recomienda llamar a los procedimientos para actualizar la visibilidad de los comandos después de cambiar los atributos clave (cuyos valores se pueden usar en las condiciones de visibilidad de los comandos):
o AttachableCommandsCliente.IniciarActualizaciónComandos se utiliza para actualizar la visibilidad de los comandos en el cliente (adjunta el controlador inactivo Attachable_ActualizarComandos).
o AttachableCommandsClienteServidor.ActualizarComandos se utiliza para actualizar la visibilidad de los comandos en el servidor. Se utiliza si se realiza una llamada al servidor al llamar.
- Si este formulario es un formulario de lista:
- En el parámetro <ObjetoDeFormularioOTabla>, pase el elemento de formulario del tipo FormTable relacionado con la lista dinámica. Por ejemplo:
AttachableCommandsCliente.EjecutarComando(EsteObjeto, Comando, Items.Lista);
- En el controlador OnActivateRow de la tabla del formulario, inserte una llamada de la siguiente manera:
&EnCliente Procedimiento <NombreDeTabla>OnActivateRow(Item) // StandardSubsystems.AttachableCommands AttachableCommandsCliente.IniciarActualizaciónComandos(EsteObjeto); // Fin StandardSubsystems.AttachableCommands FinProcedimiento
Advertencia
El campo Referencia de la lista dinámica del formulario debe estar disponible en el manejador de comandos. Para hacer esto, en las propiedades del campo Referencia anidado en el atributo de formulario del tipo DynamicList, seleccione la casilla de verificación Usar siempre.
- En el parámetro <ObjetoDeFormularioOTabla>, pase el elemento de formulario del tipo FormTable relacionado con la lista dinámica. Por ejemplo:
- Opcional. Agregue un atributo del formulario AttachableCommandsParameters de un tipo arbitrario. Esto le permite evitar la creación dinámica de un atributo de formulario, lo que acelera el tiempo de apertura del formulario.
-