- Localice la tabla SalesTable en el Explorador de Aplicaciones.
- Haz clic derecho y elige crear extensión.
- Recordando que todos los nombres de elementos deben ser globalmente únicos, cambie el nombre de la nueva extensión. Para nuestro caso SalesTable.HAExtension.
- Abra la extensión de la tabla y agregue el nuevo campo.
- Cree la clase de manejo de eventos. Para nuestro caso SalesTable_Extension.
[ExtensionOf(tablestr(SalesTable))]
final class SalesTable_Extension
{
}
- En el nodo Eventos de la tabla extendida SalesTable.HAExtension, haz clic derecho sobre el evento OnInserting; luego Copiar metodo de manejo de evento.
- Pegue el método en la clase de manejo de eventos creada, de la siguiente manera.
[ExtensionOf(tablestr(SalesTable))]
final class SalesTable_Extension
{
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
[DataEventHandler(tableStr(SalesTable), DataEventType::Inserting)]
public static void SalesTable_onInserting(Common sender, DataEventArgs e)
{
}
}
- Agregue dentro del evento el proceso que desee ejecutar, de la siguiente manera.
[ExtensionOf(tablestr(SalesTable))]
final class SalesTable_Extension
{
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
[DataEventHandler(tableStr(SalesTable), DataEventType::Inserting)]
public static void SalesTable_onInserting(Common sender, DataEventArgs e)
{
SalesTable salesTable = sender as SalesTable;
salesTable.HAName = salesTable.SalesName;
info(strFmt("Orden de venta %1 procesada",salesTable.SalesId));
}
}
- Para nuestro ejemplo, el proceso se ejecutará cada vez que se cree una nueva Orden de venta.
- Adicionalmente, se almacenará el dato asignado en el nuevo campo.