viernes, 13 de noviembre de 2020

 


                             "Warnings" con pragmas en Visual Studio Code


   Por ejemplo  .Tenemos  4 Advertencias  en el siguiente objeto "CompanyInformation.Table.al"






hay varias manera de tratar estas  advertencias

#pragma warning

La instrucción de advertencia #pragma puede habilitar o deshabilitar ciertas advertencias. Esto se puede usar como una solución para evitar recibir advertencias, Con la declaración de inhabilitación de advertencia de #pragma, warning disable inhabilitas la emisión de la advertencia para una ubicación específica en el código, y con la instruccion # pragma warning restore restauración de advertencia de pragma restauras la advertencia a su estado original. Si no restaura, la instrucción de desactivación es válida para el resto del archivo.


Insertamos una linea  #pragma warning disable




    desaparecen las advertencias en todo el objeto


debemos de cerrarlo 






   O podemos especificar la advertencia y deshabilitarlo por ejemplo AL0432
 
   #pragma warning disable AL0432


y se deshabilita las advertencias


al final debemos de restáuralo


#pragma warning restore AL0432




              

               Base APP  para Business Central "On-Prem"


 En este tema se describe los pasos y los valores de configuración del entorno de desarrollo      necesarios para personalizar el código de la aplicación base Local en Dynamics 365 Business    Central 2020 wave 2 

 Algo Importante se recomienda 

En lugar de personalizar el código de la aplicación base, se recomienda  crear extensiones siempre que sea posible, para no alterar el código fuente ya que  esto a cualquier actualización con lleva muchos problemas.

Requisitos

Tener instalados los siguientes requisitos previos para poder seguir los pasos de este tema.

  • Dynamics 365 Business Central 2020 Wave 2 local  "On-Premise"
  • Código de Visual Studio
  • La extensión AL Language


Para descargar el  código para Business Central local

1.-Obtenga la fuente de la aplicación base de la /Applications/BaseApp/Source carpeta en el DVD.



2.-Descomprima el archivo BaseApplication.source.zip y abra la carpeta de origen en Visual Studio Code. Esta carpeta contiene todos los objetos de la aplicación base y un "app.json" archivo con la configuración habilitada para OnPrem.


al abrir el folder en visual studio code
   
  vemos el archivo app.json







3.-Ahora, debe configurar su "launch.jsonarchivo en el servidor local.
    en este caso uso autentificación "Windows".


**nota  se presentan muchos errores en el punto 4 estos errores deben de desapareces



4.- Descargue los símbolos para la aplicación base usando Ctrl + Shift + P y luego elija Descargar símbolos .

esperemos unos momentos en lo que la aplicación empieza a compilar el código con los símbolos.

si aun aparecen  errores

puede ser varias razones , no en todos lo casos  a mi se me presento en las librerias Dotnet





para esto nos vamos a



y colocamos la ruta de la librerias

una vez agregados 


en  "setting.json" podemos ver la configuración




reiniciamos el servicio de la instancia




vemos en la exploración que se crearon carpetas 



Tenemos unas características indocumentadas  que mencionare las cuales  se edita el archivo "settings.json" como lo menciona la pagina oficial https://docs.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-optimize-visual-studio-code

  Visual Studio Code está diseñado para manejar muchos proyectos dependientes más  pequeños, y no un proyecto grande; sin embargo, como la aplicación base aún no está  dividida en módulos o componentes que permitan administrar el código en proyectos más pequeños, recomendamos las siguientes optimizaciones de rendimiento. 


{
    "al.enableCodeAnalysis":true,
    "al.backgroundCodeAnalysis"false,
    "al.enableCodeActions"false,
    "al.incrementalBuild"true,
    "editor.codeLens"false

    /*
"al.enableCodeAnalysis": false      para desactivar el análisis de código por completo.

"al.backgroundCodeAnalysis": false  para desactivar el análisis de código se ejecuta en segundo plano, 
pero será permitido el análisis de código cuando se construye con Ctrl + Shift + B 
Esta es una alternativa si se requieren analizadores con "al.enableCodeAnalysis":true.

"al.enableCodeActions": false       para desactivar las acciones de código AL

"al.incrementalBuild": true         para permitir que el compilador reutilice la compilación en segundo plano existente
  para crear el paquete.

"editor.codeLens": false            para desactivar la lente de código en Visual Studio Code

 */






 

 




martes, 11 de agosto de 2020

certificados

CÓMO PERMITIR EL ACCESO A LA CLAVE PRIVADA DEL CERTIFICADO A LA CUENTA DE SERVICIO PARA MICROSOFT DYNAMICS NAV SERVIDOR

Para comenzar con este ejercicio que necesita para crear el primer certificado y revocación de certificados lista, si aún no creado referirse al post anterior.
Vamos a empezar con este ejercicio:
  • En el panel izquierdo de MMC, expanda el Certificados (equipo local) nodo, ampliar el personal nodo, y luego seleccione el Certificados subcarpeta.
  • En el panel derecho, haga clic en el NavServiceCert certificado, seleccione Todas las tareas y , a continuación, seleccione Administrar claves privadas .
  • En los permisos para las claves privadas NavServiceCert cuadro de diálogo, seleccione Agregar .
En los Seleccionar usuarios, equipos, cuentas de servicio o grupos de cuadro de diálogo, introduzca el nombre de la cuenta de servicio que es utilizado por Microsoft Dynamics NAV servidor De forma predeterminada, la cuenta de servicio es el servicio de red . Elija OK cuando haya terminado. Nota de seguridad
Certificado-15
En un entorno de producción, se ejecuta Microsoft Dynamics NAV Server en una cuenta de usuario de dominio dedicado en lugar de la cuenta de servicio de red menos segura. Debido a que esta es una aplicación de prueba, la cuenta de servicio de red es aceptable.
  • En los permisos para las claves privadas NavServiceCert cuadro de diálogo, seleccione la cuenta y, a continuación, seleccione el Permitir casilla de verificación junto a Control total . Elija OK cuando haya terminado.
  • En el panel derecho, haga doble clic en el NavServiceCert certificado.
  • En el Certificado cuadro de diálogo, elija el Detalles ficha y, a continuación, seleccione la huella digitalde campo.
Copiar o en cuenta el valor de la huella digital de campo. En el siguiente paso vamos a implementar los certificados de seguridad y configurar el archivo de configuración del servidor y la actualización de Microsoft Dynamics para Windows y clientes Web para apoyar la entrada a través de una WAN.
Certificado-16
Siguiente Paso del Enlace de ejecución de certificados de seguridad .

LA IMPLEMENTACIÓN DE LOS CERTIFICADOS DE SEGURIDAD PARA APOYAR LA ENTRADA EN UNA WAN

Hoy vamos a configurar un entorno para probar la integración de los certificados en una configuración para la conexión de equipos que ejecutan el cliente de Microsoft Dynamics NAV Windows o componentes de Microsoft Dynamics NAV Web Server para instancias de servidor de Microsoft Dynamics NAV a través de una red de área amplia (WAN) con la configuración de confianza de la cadena .
Lo único que tenemos que hacer ejercicio del día de hoy hace?
Para completar este proceso, vamos a necesitar:
  • El complemento Certificados para Microsoft Management Console (MMC). Si aún no dispone de este complemento instalado, a continuación, siga estos pasos:
    • Elija Inicio , seleccione Ejecutar y escriba MMC.exe .
    • En la consola, en el Archivo menú, seleccione Agregar / quitar complemento .
Certificado-1
    • En el Agregar un complemento independiente cuadro de diálogo, seleccione Certificados , seleccione Cuenta de equipo , seleccione el equipo local y elija Agregar .
Certificado-2
Certificado-3
  • El makecert.exe utilidad. El makecert.exe utilidad se instala con Microsoft Visual Studio y Microsoft Windows SDK.
Hemos creado e instalado una autoridad de certificación (CA) raíz y un certificado de servidor en el equipo que ejecuta Microsoft Dynamics NAV del servidor en los puestos anteriores.
Si no sigue a continuación los mensajes y volver aquí para continuar.
Cómo modificar el archivo de configuración del servidor de Microsoft Dynamics NAV para apoyar la entrada en una WAN
  • Iniciar la herramienta de Microsoft Dynamics NAV de administración del servidor.
  • Detener la instancia de servidor de Microsoft Dynamics NAV.
Certificado-17
  • Modificar los siguientes ajustes para la instancia de Microsoft Dynamics NAV del servidor en la herramienta de Microsoft Dynamics NAV de administración del servidor.
LlaveNuevo valorDescripción
ClientServicesCredentialType(ficha General)NavUserPasswordnombre de usuarioEste parámetro está en la ficha General de la herramienta Microsoft Dynamics NAV de administración del servidor. El valor por defecto es de Windows . Cuando se cambia aNavUserPassword o nombre de usuario , los usuarios de clientes que se conectan al servidor se le preguntará el nombre de usuario y contraseña credenciales.
CertificateThumbprint (ficha Servicios de clientes)Valor de la huella digital de campo en la entrada anteriorEl valor por defecto es <key> . Retire todos los espacios iniciales o finales de la huella digital.
Certificado-18
  • Elija Guardar .
  • Reiniciar la instancia de servidor de Microsoft Dynamics NAV.
Para modificar el archivo de configuración del cliente de Microsoft Dynamics NAV Windows para agregar información del certificado
  • Abra el archivo de configuración ClientUserSettings.config.
La ubicación de este archivo es Users \ < nombre de usuario > \ AppData \ Roaming \ Microsoft \ Microsoft Dynamics NAV.
Por defecto, este archivo está oculto. Por lo tanto, es posible que tenga que cambiar las opciones de carpeta en el Explorador de Windows para ver los archivos ocultos.
Certificado-19
  • Modificar los siguientes ajustes.
LlaveNuevo valorDescripción
ClientServicesCredentialTypeNavUserPasswordnombre de usuarioEl valor por defecto es de Windows . Cuando se cambia aNavUserPassword o nombre de usuario , los usuarios de clientes que se conectan al servidor se le pide el nombre de usuario y credenciales de contraseña
DnsIdentityEl nombre de sujeto del certificado de servicioEl valor por defecto es <identity> .Para este ejercicio, llevar la llave a NavServiceCert .
Certificado-20
Estoy utilizando NavUserPassword como credencial Type en este ejemplo.
  • Guarde y cierre el archivo ClientUserSettings.config.
Cuando se inicia el cliente, se le pedirá un nombre de usuario y una contraseña válidos para el dominio del servidor.
Certificado-21
Introduzca su nombre de usuario y contraseña para entrar, he creado uno para mi prueba de la siguiente manera: Para modificar el archivo de configuración del cliente Web de Microsoft Dynamics NAV para añadir la información del certificado
Certificado-22
  1. En el equipo que se instala los componentes de Microsoft Dynamics NAV Web Server, abra la carpeta de instalación para el cliente Web de Microsoft Dynamics NAV. Por defecto, la carpeta es C: \ Archivos de programa \ Microsoft Dynamics NAV \ 80 \ Web Client.
  2. Abra el archivo web.config en un editor de texto, como el Bloc de notas.
  3. Busque el elemento <DynamicsNavSettings> y, a continuación, cambiar los siguientes ajustes:
LlaveNuevo valorDescripción
ClientServicesCredentialTypeNavUserPasswordnombre de usuarioEl valor por defecto es de Windows . Cuando se cambia aNavUserPassword o nombre de usuario , los usuarios de clientes que se conectan al servidor se le preguntará el nombre de usuario y contraseña credenciales.
DnsIdentityEl nombre de sujeto del certificado de servicioPara este ejercicio, llevar la llave a NavServiceCert .
  1. Guarde el archivo web.config.
Esto también funciona como antes, las credenciales se pedirá al cliente Web abierta.
Mientras escribía este post no estoy teniendo Web Client instalado en mi equipo por lo que no incluyen capturas de pantalla para la misma.