NAVISION 2009 – Error formulario: “La tabla especificada es distinta de la tabla usada por el formulario»

Como programadores de Navision, en muchas ocasiones tenemos que crear formularios con funcionalidades muy similares a otros ya existentes en el programa (ya realizados por nosotros con anterioridad).

En esos casos lo que se suele hacer es abrir el formulario cuya funcionalidad quieres “copiar/reutilizar” y darle a “Save as…”, guardándolo con otro ID y otro Name.

En estos casos, y por despiste nuestro, muchas veces quedan tablas referenciadas de manera errónea (quedan referencias a las tablas de las que tiraba el formulario original).

Un error típico cuando reutilizamos formularios es el siguiente.
Tenemos un formulario de tipo Ficha y queremos acceder a la Lista (F5):

navision-formulario

Al clickar en el botón de lista o al pulsar F5 nos salta el siguiente error:

navision-error-tabla-especificada

“La tabla especificada (TablaA) es distinta de la tabla usada por el formulario (TablaB)” o en inglés “The specified table (TablaA) is different from the table the form uses (TablaB)”

Esto se debe a que en la propiedad LookupFormID de la tabla asociada a este FORM (TablaA) hay especificada una tabla incorrecta. En el caso de este ejemplo, el formulario especificado tira de la TablaB cuando debería tirar de la TablaA.

Para corregirlo tenemos que ir al Designer de la tabla que tenemos en la propiedad SourceTable del formulario que da el error (En nuestro caso, TablaA).

navision-properties-form

Cambiamos ahí el formulario que debería desplegar al darle al botón de lista. Tiene que ser un formulario que tire de esta tabla que estamos diseñando, en nuestro ejemplo la TablaA. Si no lo tenemos, lo creamos.

¡Y listo, con esto tendríamos resuelto éste problema!