Entrada en AL

Nav123: Navision, Showare, OrderApp

Print Friendly, PDF & Email

El primer comienzo en Business Central AL es muy difícil para muchos. No importa si usted viene de la pista de Navision o es un recién llegado: Los obstáculos son increíblemente más altos que en los tiempos nativos.
Esto no se debe necesariamente a que Business Central sea tan complicado de programar. Más bien se debe a que las versiones anteriores de Navision eran increíblemente fáciles de programar. Si realmente ha desarrollado en Navision 3.5x (DOS) o Navision hasta la versión 2009R2, todo lo que viene después es innecesario y terriblemente complicado. Y lo es. Como efecto secundario "agradable", hay que señalar que incluso el más pequeño desarrollo/adaptación lleva ahora al menos el doble de tiempo en comparación con las versiones hasta 2009R2. Si se añade un diseño de informe justo por encima de "lista", uno debería contar más bien con un factor de 3-5 desde su experiencia. Lo que se hacía en segundos en las navisions nativas (insertar una columna o un campo, hacer clic rápidamente para crear un informe) ahora lleva 10 minutos en un entorno de desarrollo ya configurado. En cuanto se trata de documentos (cabeceras/filas, cambios de página), se convierte rápidamente en horas y días.

Sólo configurar el entorno de desarrollo ya lleva fácilmente una hora en los primeros intentos.


Términos de búsqueda adicionales: Getting started with Navision / Business Central 2020, Start Programming with Navision / Business Central AL 2020, Introduction to VisualStudio Code for NAVISION / BUSINESS CENTRAL 2020, Setting up Visuals Studio Code for Navision / Business Central Extensions.

Configuración de la máquina virtual

Si sólo se mantiene un Navision, por ejemplo el productivo de la propia empresa, este paso no es necesario.
Se acabaron los tiempos en los que 5 Navisions diferentes funcionaban sin problemas en un mismo ordenador. Toda la configuración siguiente debe coincidir exactamente (!) con el Navision o Business Central instalado, preferiblemente incluso el nivel de parche (CU = Cumulative Update). Mi recomendación, especialmente para programadores y desarrolladores: Una VM por instalación, por ejemplo, una VM para una versión demo, una VM para la versión de cliente 2019 Second Wave Cu2 etc.

Configure un HyperV con 4 núcleos y 4096 MB Ram, al menos 50 GB de disco duro.

Seleccione la carpeta para la máquina virtual

Recomiendo UEFI
Memoria de trabajo de al menos 4 Gb, 6 tampoco hacen daño
El disco duro virtual debe tener un tamaño mínimo de 50 Gb.

Arrancar desde un archivo de imagen de Windows 10. Esto se puede crear con el Media Creation Toolkit.
Importante: Establezca aquí la memoria de trabajo mínima, de lo contrario aparecerá el mensaje de error "No se han encontrado las condiciones de licencia del software de Microsoft. Asegúrese de que las fuentes de instalación son válidas e inicie de nuevo la instalación".

No necesito documentar la configuración de Windows 10 o Windows Server aquí, no es crítico. Simplemente "una vez como siempre". Recomiendo una cuenta sin conexión, desactivar todas las características ofrecidas durante la configuración, incluyendo Cortana, eliminando directamente la barra de búsqueda, correo, Microsoft Store de la barra de tareas.

Inmediatamente después de la primera configuración, por favor compruebe si su Windows ha empaquetado la partición de recuperación DETRÁS de la partición de datos:

Este NO es el aspecto que debería tener: La partición de datos ya no se puede ampliar porque la partición de recuperación se colocó detrás de la partición de datos
Así es como debería verse: La partición de datos puede ampliarse porque la partición de recuperación se colocó antes que la partición de datos

Borrar la partición de recuperación

Para poder seguir ampliando la partición de datos, la división de Windows con la partición de recuperación detrás de la partición de datos es extremadamente molesta. Por ejemplo, no se puede simplemente ampliar la unidad para restaurar una copia de seguridad de la base de datos y luego simplemente reducirla de nuevo. En una Vm, sin embargo, puedes muy bien prescindir de la partición de recuperación.

1. Inicie Diskpart como administrador
2. visualizar las unidades con list disk .

Cambie al primer soporte de datos con select disk 0 (¡sólo hay uno en la máquina virtual!).
4. Muestra las particiones con list volume .

Usando los tamaños, puedes encontrar rápidamente los volúmenes (particiones) a borrar, aquí Volumen 2 y Volumen 3.
Cambie al primer volumen (partición) a eliminar con select volume 2 y elimínelo con delete partition override. Repita este paso si es necesario.

Ahora puede ampliar y reducir la partición de datos como de costumbre y así adaptar también el disco duro virtual asociado a las necesidades reales.
Si utiliza Oracle Vm Virtual Box, no puede ampliar el disco duro virtual gráficamente. Aquí, el disco duro se gestiona generalmente en la línea de comandos. Entonces, amplíelo con, por ejemplo c:\“Programm files\oracle\VBoxManage“ modifyhd „volume.vdi“ –resize 60000.

Windows ya no arranca con la virtualización

Desde Windows 2004 / 2020H2 parece haber una incompatibilidad con Intel Virtualisation. Al menos yo tuve la desagradable experiencia de que después de un reinicio completamente normal del ordenador -sin ninguna actualización/cambio conocido- mi Lenovo Thinkpad P73 sólo me saludaba con pantallas azules de la muerte (BSOD). La mayoría de las veces recibía el mensaje de error IRQL NOT LESS OR EQUAL, más raramente Kernel Security Check Failure. Desenchufar la estación de acoplamiento USB-C, quitar la RAM, quitar otros discos del sistema, activar un punto de restauración, incluso reinstalar una copia de seguridad de datos creada mediante un script personalizado de WIMage no trajo ningún cambio. En algunos casos, Windows se colgaba directamente al arrancar: El círculo giratorio de puntos bajo el logotipo de Windows se detenía de repente y, al cabo de poco tiempo, el ordenador se reiniciaba por completo.
Lo único que ayudó en mi máquina fue desactivar el soporte de virtualización de Intel.
En la Bios (UEFI): Seguridad/Virtualización, establezca las dos opciones "Tecnología de virtualización Intel" y "Función Intel VT-d" en Desactivado.
„DMA Memory Protection“ sollte auf der Lenovo-Maschine beim Einsatz einer USB-C Docking Station ohnehin abgeschaltet sein, sonst hat man noch mehr Probleme. Nicht schlecht für eine Profi-Workstation vom Markenhersteller Lenovo, was? Aber dann läuft natürlich auch kein HyperV mehr. Meine einzige Lösung: HyperV & Sandbox unter Windows deinstallieren, und mit Oracle VM Virtual Box weiterarbeiten.

Con vboxmanage clonehd "Source.VHDX" "Destination.VDI" -format VHD, se puede extraer un disco duro VDI de un archivo VHDX. El VHDX puede entonces ser borrado. ¡vboxmanage también puede ser usado para inicializar una VM completa! Esto hace que OracleVM Virtualbox vboxmanage sea más potente que HyperV... pero no tan elegantemente integrado como HyperV.

Configurar Navision y Business Central como entorno de demostración/desarrollo

Si ya dispone de un sistema productivo, este paso no es necesario. Realice la configuración sólo en un ordenador que no desee utilizar de forma productiva para un 2º Navision, por ejemplo, Test & Productive. Aquí recomiendo el uso de dos VMs.

Con estas instrucciones se puede instalar un SecondWave 2020 fuera de la caja. Las versiones anteriores con C/AL Side by Side se pueden encontrar muy compacto aquí.
Con estas instrucciones creará aquí también una versión de demostración de Business Central (Navision). Sin embargo, el objetivo es crear un entorno completo para programadores/desarrolladores/consultores de Business Central / Navision.

Asigne el derecho a iniciar sesión como servicio a su cuenta de administrador local:

2. Inicie la instalación desde el CD de Business Central, acepte las condiciones de la licencia y seleccione "Opciones avanzadas de instalación":

3. Seleccione Personalizado. Atención: No vaya a "Cargar configuración".

4. Realice los siguientes ajustes:

Establezca la cuenta de servicio y la contraseña en el administrador local del paso 1. Puede configurar los demás ajustes según sus deseos. Navision o Business Central instalarán una versión de demostración (express) del servidor de base de datos SQL si es necesario. Esta versión puede actualizarse posteriormente a una versión completa o para desarrolladores.

Service failed to start. Verify that you have sufficient privileges to start system services

Sí... "normalmente" una configuración funciona directamente out of the box. Y si tienes un sistema Windows básico y fresco, funcionará como el anterior. Membresías de dominio, restricciones de ejecución, antivirus... Hay tantas cosas que pueden hacerte la vida imposible 🙂 .
Si recibe el mensaje de error "No se pudo iniciar el servicio Microsoft Dynamics 365 Business Central Server (BusinessCentral 140) (MicrosoftDynamicsNavServer$BusinessCentral140). Verifique que dispone de privilegios suficientes para iniciar los servicios del sistema (donde 140 será siempre el número de versión instalada), las cosas se ponen un poco complicadas
Es posible que los puertos que haya especificado para Navision (por ejemplo, dejando los puertos estándar como están, lo cual es bueno) ya estén ocupados.
Intenta lo siguiente:
Inicie un comando prompt con derechos de administrador, introduzca allí
netsh http show urlacl
Obtendrá entonces una lista más larga de dichas entradas:

URL reservada : https://*:5358/
Usuario: PREFINED\\User
Escuchar: Sí
Delegar: No
Usuario: NT-AUTHORITY\Local Service
Escuchar: Sí
Delegar: No
SDDL: D:(A;;GX;;;BU)(A;;GX;;;LS)

Si encuentra allí una entrada con el número 7047,7048,7049 o los valores que usted mismo asignó durante la configuración, borre esta reserva, en el ejemplo anterior
netsh http delete urlacl url= https://*:5358/

A continuación, compruebe si se ha instalado Navision Service Tier. En caso afirmativo, elimínelo mediante la consola de configuración. A continuación, instale un nuevo NST.

Otro método para conseguir que Navision / Business Central se ejecute a pesar del mensaje de error "No se pudo iniciar el servicio Microsoft Dynamics 365 Business Central Server (BusinessCentral 150) (MicrosoftDynamicsNavServer$BusinessCentral150). Compruebe que dispone de privilegios suficientes para iniciar los servicios del sistema para ejecutar es engañar al instalador. Si pulsa "Cancelar" durante la instalación cuando aparezca este mensaje de error (y no aparecerá en ninguna otra parte), Navision o Business Central volverán a desinstalar el servicio.
Por favor intenta lo siguiente:
No pulse Reintentar (no hace nada) ni Cancelar (desinstala todo).
Vaya a Servicios del Sistema, debería ver el servicio Navision aquí:

Screenshot des installierten, aber nicht lauffähigen Navision Service Tier, trotz der Fehlermeldung Service Microsoft Dynamics 365 Business Central Server (BusinessCentral 140 150 160) (MicrosoftDynamicsNavServer$BusinessCentral160) failed to start. Verify that you have sufficient privileges to start system services

En este caso, ya has hecho el 99% del trabajo... Sólo que la configuración no quiere reconocer este logro.
En la configuración del servicio, cambie el nombre de inicio de sesión al servicio mencionado al principio e intente iniciar el servicio.
En este punto, también puede cambiar la configuración con Microsoft Dynamics 365 Business Central Server Console ya instalada, lo que antes no era posible (debido a la falta de una carpeta de servicio).
Probablemente el ServiceStart seguirá sin funcionar, pero ahora tienes las herramientas que necesitas por ahora.
Ahora viene lo más insólito: ¡disparar el montaje sin darle la posibilidad de retroceso!
Esto no suele ser posible con el administrador de tareas (pero puedes intentarlo). La mayoría de las veces, la configuración reconoce el comando del sistema Cerrar y hace su rollback de nuevo: Todo se ha ido.
Inicie el administrador de tareas en su lugar, necesitamos el PID de la configuración:

Rechtzeitiges Abschießen der Navision oder Business Central Setup-routine, ohne das der Service wieder deinstalliert wird (Service failed to start. Verify that you have sufficient privileges to start system services)

Ahora inicie una línea de comandos con derechos de administrador, e introduzca:


taskkill /PID 1644 /T /F (acaba de encontrar el 1644 en el administrador de tareas, también puede encontrarlo con tasklist en la línea de comandos. Es posible que haya capturado un proceso hijo de la instalación, en cuyo caso Taskkill le dirá: Error: El proceso con PID XXXX (proceso subordinado de YYYY) no pudo ser terminado.
A continuación, repita de nuevo el taskkill con YYYY. Esto puede ser necesario de forma recursiva.
Si no consigues nada de esta manera, desenchufa la máquina virtual o apágala del todo. En ningún caso pulses "Cancelar".


Después de reiniciar, puedes observar el nivel de servicio de Navision a través del visor de eventos y ver por qué está eructando. Es casi seguro que seguirá sin funcionar después de esta cura de caballo... pero al menos ahora puedes simplemente observarlo y gestionarlo.

No se deje irritar por un estado continuo "en proceso de arranque". Pulse F5 en la pantalla de servicio, el intento de arranque siempre tarda sólo unos segundos (normalmente <30).
Después de que el ordenador se haya reiniciado completamente, simplemente reinicie el servicio una vez y luego compruebe la pantalla de eventos.
Seguramente encontrará allí los consejos realmente válidos sobre lo que debe hacer.
The connection to SQL server could not be established : Vaya a la Consola de Administración y compruebe la configuración del servidor. Por supuesto, compruebe también si el servidor SQL con la base de datos (de demostración) se está ejecutando.

Nota: También puede instalar un servicio de servidor Navision con ServiceControll (SC):
sc \\Computername create MicrosoftDynamicsNAVServer$NAVision binpath= „Programmverzeichnis\140\Service\Microsoft.Dynamics.Nav.Server.exe $NAVision“ DisplayName= „Microsoft Dynamics NAV Server 140“ start= auto type= own depend= NetTcpPortSharing Pero recomiendo configurarlo a través de Setup.exe. Una vez que has llegado al punto en que tienes que usar mie..., la instalación está tan jodida que probablemente no podrás hacerla funcionar de todos modos. También puede ayudar simplemente respirar hondo, reiniciar el ordenador desde cero y empezar de nuevo.

Login failed for user ‚NavServer‘. Reason: An attempt to login using SQL authentication failed. Server is configured for Windows authentication only

Este suele ser el caso cuando se cambia el servicio del servidor Navision / Business Central de la autenticación de Windows (por ejemplo, servicios de red) a la autenticación del servidor SQL, o viceversa.
Razón: La configuración de Navision instala el SQL Express sólo con Windows. Por lo tanto, puede crear tantos SQL_Users en el servidor SQL como desee: el SQL seguirá sin permitir la conexión con Navision.
Utilizando el MS SQL SMS, haga clic con el botón derecho en el servidor, Propiedades, Seguridad, Activar modo mixto.
¡No busque en la pantalla de eventos! Sólo encontrará esta nota en el SQL_Log.

Consejo extra: Coloca al menos estos programas en tu barra de tareas lo antes posible:

Empfehlung der wichtigsten Verwaltungstools für eine Navision und Business Central Installation
Entorno de desarrollo C/Side (hasta BC14), consola de administración NST, cliente RTC, control de servicios, línea de comandos (posiblemente Powershell al lado), visualización de eventos, MSSQLSMS




Si ya dispone de un servidor SQL para alojar la base de datos Navision, también puede especificarlo en este paso.
Tras unos minutos, la instalación le informará de que se ha realizado correctamente. Ahora tiene Business Central, un servidor SQL, la arquitectura de 3 niveles y un enlace instalados en su ordenador.

Dependiendo de la versión de Windows que esté utilizando, necesitará un navegador que pueda mostrar Navision o Business Central correctamente. Aquí puede elegir entre Google Chrome (funcionó muy bien con Navision desde el principio, mi recomendación), Edge (sólo funciona con Business Central después de que Microsoft renunciara a su propio motor y tomara el de Chromium), Firefox (funciona "bastante bien", pero es la segunda opción en este contexto). Internet Explorer sólo está disponible si prefieres echarte Tabasco y zumo de lima en los ojos. Pero sirve perfectamente para instalar Chrome :-).


Configurar el servidor Business Central

Para poder cargar automáticamente los símbolos y el código base (Base Application) con VSC (Visual Studio Code), es necesario liberar Business Central y Navision DiensteServer para el entorno de desarrollo. Inicie la administración de Business Central, cambie a la instancia deseada (en esta demostración es la BC160), Desarrollo

Allowed Extension Target Level: En nuestro ejemplo tenemos una solución OnPrem (onPremisses).
Enable Debugging: Activar
Enable Developer Service Endpoint: Activar
El resto permanece como preestablecido.

Configuración VS-Code

Se acabaron los tiempos de un entorno de desarrollo integrado, también "low-code" o "programación fácil". Mientras que en el pasado se podía crear una estructura de datos completa (aunque sin reenvío de borrado, desgraciadamente Navision/Microsoft nunca lo consiguieron) incluyendo un informe de documento con estructura de cabecera/línea completamente sin una línea de código de programa, hoy en día ni siquiera se puede cambiar un sí/no editable sin algo parecido a código de programa.


Le recomiendo vivamente que no utilice "Docker" a menos que ya tenga experiencia en este tema ("Docker" en Windows con Business Central o Navision). En este caso, seguro que no necesita mis instrucciones. Utilice más bien el concepto de máquinas virtuales tal y como se ha descrito anteriormente, especialmente para los principiantes.

  1. Descargue, instale y ejecute Visual Studio Code desde aquí (También puede buscar Visual Studio Code en el Browser).
    Recomendación: Activar todas las opciones.

2. Instale el entorno AL "AL Language" (tardará unos segundos).

También puede descargar el entorno AL de Internet. Por favor, utilice el archivo VSIX suministrado con su Navision o Business Central, ¡entonces tendrá al 100% el entorno correcto!
Puede encontrar el archivo VSIX correcto aquí: C:\Program Files (x86)\Microsoft Dynamics 365 Business Central\160\AL Development Environment Donde 160 es su versión de BC.


3. Active el entorno actual de Navision y Business Central.
Con Shift+Ctrl+P llamas al comando process (o lo que signifique la P) e inicias tu primer objeto Navision con al:go. No puede cargar el entorno AL antes de eso.

AL:Go es un snippet. Debes tener en mente todos los parámetros que ahora se consultarán. Si abandonas el snippet, puedes volver a empezar desde el principio o tener que trabajar "a pie" con los asistentes que contiene. ¡Bienvenido a Microsoft!

Consejo: Ejecute una vez el fragmento de AL:Go y anote (sí, con lápiz y tal) las consultas que aparezcan, junto con las respuestas. Si es necesario, completa las respuestas. A continuación, descarta este primer proyecto, introduce todas las respuestas que falten en tu nota y vuelve a empezar.
Sie brauchen: Projektname (gewöhnen Sie sich schnell ein zentrales Verzeichnis an!), TargetPlattform (ihr Server), evtl. Benutzername, Benutzerkennwort, Servername

Adaptar launch.json y app.json

Edite inmediatamente el archivo launch.json resultante.
Añade "schemaUpdateMode„:“ForceSync":
(Consejo: En este punto, el AutoCompleteWizzard ya debe aparecer después de introducir sche !)
Añada "port":7049 (véase más arriba Development port)
Cambia la autentificación a Windows

Edita el app.json, añade "target„: „onPrem":

Nota: Por supuesto, para un desarrollo regular también hay que ajustar muchos de los otros parámetros, pero ese es otro tema muy amplio. Aquí sólo se trata de crear una sensación inicial de felicidad.

Nota 2: ¿Por qué OnPrem? Sólo así podrá seguir integrando objetos .Net (DotNet) en Business Central o Navision, y hacerlo de una forma tan profesional que podrá disfrutarlo realmente en el nuevo Navision. Lo contrario es cierto: En todos los demás objetivos, especialmente en la nube, simplemente no hay más .Net (DotNet). Fin. Fuera. Punto y final. Se acabó. Sin "Pero" y sin "¡Necesito...!".
OK Ok ok... Sobre Blazor va de nuevo, pero eso tampoco es el tema para una introducción aquí.

Cargar símbolos

Ahora puede / debe cargar los símbolos (todas las referencias internas, comandos, funciones, nombres de tablas, campos...): CTRL+Mayús+P, AL:Descargar Símbolos

Tras unos segundos, aparece el mensaje de que los símbolos se han descargado correctamente. El mensaje desaparece, la alegría permanece: La aplicación HelloWorld registrada por el asistente de repente compila sin errores:


Bienvenido a su nuevo entorno de desarrollo Navision / Business Central (entorno de programación).

Gestión de licencias Fin.flf

Microsoft también recomienda utilizar el cliente de desarrollo de Navision en 2020 para ver y actualizar la licencia. Por supuesto, esto es sólo una broma... espero. Porque esto ya no se suministra en absoluto desde Navision & Business Central 2019 second Wave. Usted tiene que utilizar el Powershell para eso.
Inicie el Powershell de administración de Business Central y Navision como Admin:

Mostrar la información de la licencia actual


Escribe "export-navs" y pulsa la tecla TAB, luego la barra espaciadora y el nombre de la instancia + enter. Así, en nuestro ejemplo
Export-NAVServerLicenseInformation bc160


Navision o Business Central le muestra la información de licencia almacenada en esta licencia:

Importar un nuevo archivo de licencia

En el mismo Shell, escriba Import-NAVS y pulse TAB. Si no se muestra inmediatamente el comando correcto, utilice TAB en el Powershell (como en la programación por lotes anterior para los nombres de archivo) para recorrer los comandos:
Import-NAVServerLicense BC160 -LicenseData ([Byte[]]$(Get-Content -Path „c:\temp\fin.flf“ -Encoding Byte)) -Database NavDatabase

Nota: BC160 es su instancia, "c:\temp\fin.flf" es la ruta y el nombre del archivo de su licencia. Atención. Business Central y Navision o el Powershell ya comprueban si la licencia es adecuada para su sistema. Si no es así, se emitirá la notificación correspondiente. Pero el archivo de licencia se importará igualmente. Por lo tanto, antes de importar un nuevo archivo de licencia, compruebe siempre que tiene el archivo de licencia anterior como archivo. De este modo, en caso de error, podrá volver al estado anterior simplemente reimportando el FIN.FLF en funcionamiento.