Hardware On-premise Dynamics 365 for Operations

1 Estrella2 Estrella3 Estrella4 Estrella5 Estrella (Sin calificar)
Cargando…
Escrito por René Roca el . Posteado en AX7 - D3FO

Microsoft ha liberado las especificaciones de hardware para la instalación de Dynamics 365 for Finance and Operantions edition.

A nivel de arquitectura tenemos el siguiente gráfico con un resumen general de la arquitectura y las máquinas necesarias para interactuar con LCS  y entre ellas.bandwidth

A nivel de máquinas virtuales, nos muestra la siguiente configuración

bandwidth

bandwidth

bandwidth

En un entorno mínimo vamos a necesitar a modo de resumen:

  • 16 VM
  • 76 Core
  • 272 GB de Ram

Visto los siguiente requerimiento de Hardware, si realmente necesitamos toda esta infrastructura, quizá el ir a un entorno cloud no sea tan caro como podía parecer en un principio 😉

Podéis descargar la guía completa en el siguiente link

Consumo de datos VM de Dynamics 365 Update 5

1 Estrella2 Estrella3 Estrella4 Estrella5 Estrella (1 votos, promedio: 4,00 de 5)
Cargando…
Escrito por René Roca el . Posteado en AX7 - D3FO

Si estamos utilizando la máquina virtual de Dynamics 365 for Operations Update4/Update5 como entorno de desarrollo en local, podéis apreciar que existe un alto consumo de datos aunque no se esté utilizando la VM, solo con estar encendida ya se produce.
Para ser concretos en mi caso se ha detectado un consumo de unos 105 Mb la hora sin utilizar la máquina

bandwidth

En el caso de un cliente con 10 máquinas de desarrollo estamos hablando de una media de 1 Gb por hora y 24 por día, pudiendo crear problemas de red dentro de la red corporativa.

El causante de este uso de red ese el Monitor Agent. Este servicio se encarga de recolectar información y enviarla a LCS, no siendo necesario para una máquina de desarrollo.

TaskMonitor

Si desinstalamos este servicio dejaremos de tener este uso de red, para ello haremos lo siguiente:

– Abrimos una sesión de PowerShell.
– Vamos a la carpeta c:\Monitoring
– Ejecutamos el siguiente Script “MonitoringInstall-Uninstall.ps1

Una vez finalizado reiniciamos la máquina virtual y ya no tendremos este problema

Error al compilar Dynamics 365 for Operations Update 3

1 Estrella2 Estrella3 Estrella4 Estrella5 Estrella (Sin calificar)
Cargando…
Escrito por René Roca el . Posteado en AX7 - D3FO, Sin categoría

Si estáis trabajando con la primera versión de Dynamics 365 for Operations Update 3, al intentar compilar nuestro aplicativo vía Visual Studio Online nos encontraremos con el siguiente error:

2016-11-09T16:38:25.5277020Z VERBOSE: 4:38:25 PM: – Backup completed with RoboCopy exit code: 1.
2016-11-09T16:38:45.0277150Z VERBOSE: 4:38:45 PM: – Backup contains 5267623892 bytes in 193683 files:
2016-11-09T16:38:45.0277150Z I:\DynamicsBackup\Packages
2016-11-09T16:38:45.0277150Z WARNING: 4:38:45 PM: – Backup size does not match deployment metadata size
2016-11-09T16:38:45.0277150Z (Backup: 5267623892 bytes, Deployment metadata: 5267031092 bytes).
2016-11-09T16:38:45.0589660Z VERBOSE: 4:38:45 PM: – Exception thrown at
2016-11-09T16:38:45.0589660Z C:\DynamicsSDK\PrepareForBuild.ps1:261: throw “Failed to create backup of
2016-11-09T16:38:45.0589660Z metadata packages.”
2016-11-09T16:38:45.0589660Z
2016-11-09T16:38:45.0589660Z System.Management.Automation.RuntimeException: Failed to create backup of
2016-11-09T16:38:45.0589660Z metadata packages.
2016-11-09T16:38:45.1527190Z ##[error]Write-Message : 4:38:45 PM: Error preparing build environment: Failed to
create backup of metadata packages
.

Siendo totalmente imposible compilar nuestro aplicativo.
Siempre que intentamos programar la compilación nos encontramos que el script de realizar el backup de nuestro código falla, dando un tamaño diferente entre origen y destino.

Esto es debido a un error en el script de copia, donde el script de Powershell al copiar la carpeta J:\AosService\PackagesLocalDirectory para hacer un backup, está copiando el contenido de un Symlink en lugar del link

Podéis encontrar más información en el siguiente link de lcs https://fix.lcs.dynamics.com/Issue/Resolved/?kb=3205627

Para arreglar el problema, podemos instalar el hotfix facilitado por Microsoft o agregar nostros el parámetro /SL en el script de copia, para ello nos conectaremos por terminal server a nuestro servidor y buscaremos la siguiente ruta: c:\DynamicsSDK el archivo PrepareForBuild.ps1

error_mail

Editamos el fichero y agregamos el parámetro /SL en la siguiente sentencia:

$Output = & RoboCopy $DeploymentPackagesPath $BackupPath /MIR /COPYALL /E /R:3 /W:10 /NFL /NDL /NS /NC /NP /SL /LOG:”$RoboCopyLog”

error_mail

Error 0x80040211 () en envío mails

1 Estrella2 Estrella3 Estrella4 Estrella5 Estrella (1 votos, promedio: 3,00 de 5)
Cargando…
Escrito por René Roca el . Posteado en Consultoria, Tecnica, X++

Cuando trabajamos con varios AOS en Dynamics AX 2012, y utilizamos el envío de mails, nos podemos encontrar en la situación que desde un AOS nos funcione el envío perfectamente, pero desde otro AOS nos muestre el siguiente mensaje de error:

error_mail

Este error se produce, porque Dynamics Ax guarda el password del usuario de correo electrónico por AOS, si  vemos el método password de la tabla SysEmailParameters podemos ver como para recuperar el password busca por ID de AOS en la tabla SysEmailSMTPPassword

static SMTPPassword password()
{
    CryptoBlob cryptoBlob = connull();
    SysEmailSMTPPassword SMTPPassword;
 
    AOSId AOSId;
    AOSInstanceId AOSInstanceId;
 
    ;
    [AOSId,AOSInstanceId] = SysEmailSMTPPassword::currentAOSInstance();
 
    SMTPPassword = SysEmailSMTPPassword::find(AOSId,AOSInstanceId);
 
    if (SMTPPassword.RecId != 0)
        cryptoBlob = SMTPPassword.Password;
 
    if (cryptoBlob != connull())
        return cryptoblob2str(WinapiServer::cryptUnProtectData(cryptoBlob));
    else
        return '';
}

Si examinamos la tabla SysEmailSMTPPassword, tendríamos que tener una entrada para cada AOS, para ello tendremos que informar la contraseña en los parámetros de correo electrónico conectandonos a cada uno de los AOS que tenga nuestra instalación.
Si tenéis alguna duda de como conectaros a un AOS concreto, podemos ver como se hace en el siguiente artículo.

Conectarse a un AOS

1 Estrella2 Estrella3 Estrella4 Estrella5 Estrella (Sin calificar)
Cargando…
Escrito por René Roca el . Posteado en Consultoria, Tecnica

Cada vez las instalaciones de Dynamics AX son más complejas y con más usuarios, es por ello que en muchas de ellas se trabaja con mas de una AOS.
Si por alguna razón queremos conectarnos a un AOS en concreto podemos utilizar la siguiente sentencia:

ax32.exe -loadbalance=0 -aos2=axline@nombre_del_aos

Por ejemplo si tenemos un AOS que se llama PRODAOS1 y nos queremos conectar a él, y tenemos instalado el cliente en la ruta estandar ejecutaremos la siguiente sentencia:

"C:\Program Files (x86)\Microsoft Dynamics AX\60\Client\Bin\Ax32.exe" -loadbalance=0 -aos2=axline@PRODAOS1