Hols Jon,
Aunque estén vacías tienes que gestionar en una codeunit de tipo upgrade qué tiene que pasar con los datos.
Puedes hacerlo recorriendo la tabla de archivo y copiando los datos en la nueva definición de la tabla (que si no hay datos pues no recorrerá nada) y después haciendo un NavApp.DeleteArchiveData(IDdeLaTabla)
O, como no tienes datos y no tienes nada que perder, haciendo directamente el DeleteArchiveData.
El tema de marcar la tabla como obsolete es algo completamente distinto.
En una instalación on-premise puedes llegar a cambiar la estructura de una tabla, sea cual sea:
* Cambiar la clave primaria
* Cambiar el nombre de la tabla
* Cambiar el ID de la tabla
* Eliminar la tabla
* Eliminar un campo
* Cambiar un campo de nombre o de tipo
* Etc.
Aún así, tienes que gestionar el cambio a través de una codeunit de upgrade.
Sin embargo, en el caso de que publiques tu extensión en la AppSource, Microsoft no te permite que hagas ningún cambio destructivo en la estructura de datos.
Y para eso te dicen: si tienes que cambiar la clave primaria de una tabla (o cualquier otro cambio destructivo), tienes que hacer lo siguiente:
1. No cambiar nada en la tabla original
2. Marcar la tabla original como obsoleta
3. Crear una nueva tabla con la estructura que te interese y cambiar todas las referencias en tu código de la tabla original a la tabla nueva
4. Mover los datos de la tabla original a la tabla nueva
5. No eliminar la tabla original. Esta se quedará ahí para siempre
Esto significa que la nueva tabla no podrá tener el mismo ID que la antigua, ni el mismo nombre. Es una nueva tabla. Y la vieja no la puedes eliminar. Pero como está marcada como obsoleta, tampoco se puede utilizar.
Todo esto un poco lo digo a nivel teórico por lo que he leído, pero no lo he probado.
Un saludo,
Cristina Nicolàs
¿Quieres conocer las últimas novedades sobre Business Central? Dynamics ScaleUp 2019.
Consulta fechas en
DynamicsScaleUp.com