Sei sulla pagina 1di 6

Implementando Marco de Referencia para Extensión de Tabla

Para implementar el marco de referencia para exenciones de tabla en Dynamics AX 2012 R3, a
continuación, se detallan los pasos:

Suponga que tiene tabla LedgerParameters y desea hacer la tabla de extensión


CCLedgerParametersExt.

Paso - 1: Agregar relación


 En la tabla CCLedgerParametersExt, agregue una nueva relación con la tabla
LedgerParameters, llamada LedgerParameters.
 Agregue un nuevo campo Clave extranjera → Basado en PrimaryKey. El campo de
referencia para la tabla principal se agregará automáticamente.

Nota: si la Primary Key de la tabla padre no está basada en RecId, pero la tabla tiene la
propiedad CreateRecIdIndex establecida en Yes, entonces la relación en el paso 1 debe
crearse como Basado en AlternateKey de campo única; de lo contrario, el nuevo campo
tendrá potencialmente el tipo incorrecto, y no será posible usarlo en el mapa
SysExtensionSerializerExtensionMap.

Paso - 2: Crear un índice único para el campo de referencia que apunta a SalesLine

Paso - 3 Integrar con el marco de extensiones de tabla

Agregue la tabla principal ( SalesLine - Si es una tabla estándar, ya puede existir ) a


SysExtensionSerializerMap y la tabla secundaria ( ISPLSalesLineExtension ) a
SysExtensionSerializerExtensionMap
Paso - 4: Crear métodos en la tabla ISPLSalesLineExtension
Paso - 5: Crear un nuevo campo PackedExtensions en SalesLine.

Este campo está disponible en la tabla estándar (Marque si ya existe)

Paso - 6: agregue una acción de eliminación desde SalesLine a la tabla


ISPLSalesLineExtension.

Paso - 7: Crear / Actualizar métodos en la tabla SalesLine


Paso - 8: modifique los métodos a continuación en la tabla padre. (Línea de
venta)

Verifique si el código ya existe si es una tabla estándar.

inserción pública vacía ()

súper();

this.SysExtensionSerializerMap :: postInsert ();

actualización public void ()

súper();

this.SysExtensionSerializerMap :: postUpdate ();

Paso - 9: Tenga en cuenta que el método de escritura de la fuente de datos


padre (SalesLine) debe modificarse:

public void write ()

súper();

ISPLSalesLineExtension.SysExtensionSerializerExtensionMap :: insertAfterBaseTable
(SalesLine);
}

Primero, el método de escritura de los desencadenadores de la tabla secundaria y, como


resultado, el registro secundario no se guardará ya que es una inserción y los métodos de
actualización no lo permiten sin la clave externa correcta.

Paso - 10: Modificar el código del formulario como se indica a continuación

Potrebbero piacerti anche