Las validaciones siempre son importantes dentro del mundo de las aplicaciones, es por eso que no puede faltar dentro de Microsoft Dynamics NAV.
Existen varias formas de realizar validaciones. Aquí menciono dos:
- Tablas: Las validaciones se realizan en los campos de las tablas, afectando a todos los demás objetos. Estas validaciones son generales y afectan a tablas y páginas.
- Páginas: Las validaciones se realizan en los campos de la página. Por ejemplo, cuando sólo queremos realizar las validaciones en la página sin afectar a otras páginas.
Hoy, demostraré cómo validar un campo de tabla:
- Afectaremos al campo RUC ("VAT Registation No." en NAV):

- En las tablas, seleccionamos la 79 (Company Information):

- Nos dirigimos al campo 19 (VAT Registration Number):

- Seleccionamos el botón que nos lleva al código C/AL:

- Escribimos el código que valida nuestro campo:
VAT Registration No. - OnValidate()
// "VAT Registration No." := UPPERCASE("VAT Registration No.");
// IF "VAT Registration No." = xRec."VAT Registration No." THEN
// EXIT;
// IF NOT VATRegNoFormat.Test("VAT Registration No.","Country/Region Code",'',DATABASE::"Company Information") THEN
// EXIT;
// IF "Country/Region Code" = '' THEN
// EXIT;
// IF VATRegNoSrvConfig.VATRegNoSrvIsEnabled THEN BEGIN
// VATRegistrationLogMgt.ValidateVATRegNoWithVIES(ResultRecordRef,Rec,"Primary Key",
// VATRegistrationLog."Account Type"::"Company Information","Country/Region Code");
// ResultRecordRef.SETTABLE(Rec);
// END;
////CAMADO
//Con esto verificamos que el RUC debe contener 8 caracteres como mínimo
IF STRLEN("VAT Registration No.") < 8 THEN
FIELDERROR("VAT Registration No.", 'El RUC debe contener como mínimo 8 caracteres');
//Con esto verificamos que tenga el dígito verificador. En Paraguay, el RUC sería 1234567-8
IF STRPOS("VAT Registration No.", '-') < 1 THEN
FIELDERROR("VAT Registration No.", 'El RUC debe contener el DV (dígito verificador)');
////CAMADO
Probamos la validación con los datos de España:

Al colocar los datos del RUC de Paraguay...

La validación siempre se produce al salir del campo a validar.
De esta manera, hemos validado que se cumplan los requisitos para el RUC, en territorio paraguayo :)
Muchas veces, nos encontramos con problemas para iniciar sesión dentro de nuestro querido ERP, Microsoft Dynamics NAV 2018. Generalmente el error presentado aquí ocurre cuando el servicio de NAV está detenido o bien el servicio de base de datos se encuentra detenido.
Para solucionar el problema se debe iniciar el servicio y el problema se solucionará rápidamente.
El problema:
- No se puede crear una conexión con el servidor (Hacer clic en "Sí" no soluciona el problema, solo alarga la desesperación):

- Luego de hacer clic en "No", verificamos si la dirección del servidor es correcta. Si la dirección es correcta y no tenemos empresas disponibles pasa lo siguiente:

- Nos muestra este mensaje de error bastante molesto:

- Verificamos el estado del servicio de NAV, en Dynamics NAV 2018 Adminsitration:

La solución:
- En la consola de Administración de Dynamics NAV 2018, iniciamos el servicio:

- Verificamos su estado:

- Volvemos al NAV y si es la primera vez que nos conectamos mostrará un mensaje similar a este:

- Seleccionamos la empresa con la cual trabajaremos y listo:

De esta manera el problema fue solucionado y podemos seguir disfrutando de las funciones proveídas por nuestro ERP.
En esta entrada explicaré como crear una nueva instancia de Microsoft Dynamics NAV 2018 a partir de una instancia ya instalada.
Los pasos son muy sencillos, pero debemos tener en cuenta ciertos puntos muy importantes. ¡Manos a la obra!
- Primero abrimos Dynamics NAV 2018 Administration (que básicamente es una ventana Microsoft Management Console):

Se debe tener en cuenta que lo que está marcado en verde no se puede administrar desde aquí porque pertenecen a otras versiones de Microsoft Dynamics NAV (2016 y Business Central, en este caso). Lo que está en rojo resulta en nuestra instancia base de Microsoft Dynamics NAV 2018.
- Hacemos clic en "Add Instance" en el panel de Acciones:

- Procedemos a cargar el nombre, los puertos necesarios y las credenciales para la cuenta del servicio (generalmente se deja como esta):

Los puertos generalmente utilizan esos números, solo se modifican las decenas. Por ejemplo, 7045,7055,7065,7075, etc.
- Una vez creada la instancia van a figurar todas las demás configuraciones del servicio NAV. A la derecha (en acciones) encontraremos los detalles de la seguridad del servicio y la base de datos. En el centro, encontraremos la secci'on "Database" donde colocaremos los detalles de la base de datos:

- Completamos los detalles de la base de datos como se muestra en la figura:

- Volvemos a la página inicial de la consola y seleccionamos la nueva instancia. Procedemos a hacer clic en "Start":

- Clic en aceptar y procede a iniciar el servicio (si no existe algún error):

- Verificamos que el estado del servicio sea "Running":

De esta manera, tenemos una nueva instancia de NAV que podemos utilizar según la necesidad que tengamos.
En la entrada anterior, hemos visto cómo cambiar la autenticación Windows por la autenticación propia del NAV. Cuando intentamos abrir el NAV con la nueva autenticación, probablemente, nos encontremos con un problema muy común. El error que aparece a continuación:

No es un error, como tal, sino que la configuración del NAV está predeterminada para autenticación Windows. a continuación, pongo a disposición los pasos para corregir el problema:
- Luego del mensaje de advertencia, el NAV nos consulta por un servidor (en el caso que nos hayamos equivocado:)

- Si volvemos a intentar, efectivamente saldrá nuevamente el error:

- Nos dirigimos al Dynamics NAV 2018 Administration y procedemos a parar el servicio que necesitamos:

- Buscamos el archivo de configuración necesario, que se encuentra en C:\ProgramData\Microsoft\Microsoft Dynamics NAV\110 y modificamos el archivo ClientUserSettings.config. También debemos modificar el valor correspondiente en la ruta local de nuestro usuario C:\Users\%USERPROFILE%\AppData\Roaming\Microsoft\Microsoft Dynamics NAV\110. En caso que no esté disponible la carpeta ProgramData, debemos habilitarlo.

- Marcamos la siguiente línea:
<add key="ClientServicesCredentialType" value="Windows"/>
- Y la reemplazamos por esta:
<add key="ClientServicesCredentialType" value="NavUserPassword"/>
- Nos dirigimos al Dynamics NAV 2018 Administration y procedemos a iniciar nuevamente el servicio.
- Iniciamos el Dynamics NAV 2018 y colocamos las credenciales NAV:

- Probablemente, nos muestre una advertencia (por el tema del certificado SSL):

- Cambiamos la palabra localhost por el nombre de nuestro servidor (computadora local):

- Luego del cambio, introducimos nuestras credenciales y...

- Vemos al NAV, con la sesión iniciada y la autenticación NAV activada.
