SILTRA 2.2.0: Error al procesar remesas INSS

El software de la Seguridad Social muestra un error al intentar procesar las remesas: «Error 713 Error definido por la aplicación o el objeto frmAfilia.cmdSiguiente_Click» desde soporte indican que reinstalar soluciona el problema… no es así claro.

La solución pasa por instalar la versión de otro programa WinSuite32 indicando durante la instalación que si encuentra librerías más antiguas no deben sustituirse (Importante seleccionar «No a todo«) y resulta…

El problema es de base, una aplicación en Java que depende de librerías de PC que no se incluyen con la distribución del programa, incluso sacan un parche para sustituir ejecutables con el mismo número de versión… 

Encontrar librerías de Visual Basic 5, OCX de más de 10 años… dentro del programa no es muy alentador…

gestores.configuracion.Gestor_Configuracion : validarVersionesWinsuite : Version Modulo WsAfilia: 6.2.0
gestores.configuracion.Gestor_Configuracion : validarVersionesWinsuite : Version Modulo WsINSS: 5.0.0
gestores.configuracion.Gestor_Configuracion : validarVersionesWinsuite : Version Modulo WsImpresion: 6.2.0
gestores.configuracion.Gestor_Configuracion : validarVersionesWinsuite : Version SILTRA WsAfilia: 6.2.0
gestores.configuracion.Gestor_Configuracion : validarVersionesWinsuite : Version SILTRA WsINSS: 5.0.0
gestores.configuracion.Gestor_Configuracion : validarVersionesWinsuite : Version SILTRA WsImpresion: 6.2.0

El nivel de desarrollo de aplicaciones en la administración pública no da mucha confianza…

 

Windows NT virtualizado con Hyper-V

Si anteriormente vimos la posibilidad de virtualizar un entorno antiguo con VMware, tambien es posible realizarlo con tecnología Hyper-v de Microsoft. Debemos tener en cuenta que no hay soporte para ratón desde la consola de Hyper-v, deberemos instalar acceso remoto adicional (UltraVNC por ejemplo).

Para la configuración de la conectividad de red, deberemos añadir un «Adaptador de red heredado» e instalar los drivers de red para la tarjeta «Intel 21140 based 10/100 mbps Ethernet Controller» indicando la ruta del driver (habitualmente «D:\i386\WNT40\NDIS40»). Si no disponemos en la máquina virtual de los archivos necesarios, podemos crear un fichero ISO con lo que necesitemos para insertarlo como unidad de CD desde Hyper-v

Una vez tengamos conectividad de red y acceso remoto, podemos facilitar la utilización instalando un driver de pantalla Universal VESA Windows NT para ampliar número de colores y resolución

Información básica adicional:

Virtualizar máquina física (P2V)

TIP: Linq could not find an implementation of the query pattern

TIP: Linq could not find an implementation of the query pattern

En modelos de datos generados con LINQ de forma automática, el acceso separado en diferentes clases puede ocasionar errores del tipo:

CS1936	Could not find an implementation of the query pattern for source type 'DbSet<nombreTabla>'.  'Where' not found.

A priori puede parecer un error en la implementación, alguna modificación de clases incorrecta, siempre esta la posibilidad de volver a generar el modelo de datos, si el error persiste debemos comprar que tenemos referenciada el espacio de nombres de LINQ

using System.Linq;

Una error tan sencillo y obvio que puede resultar confuso de resolver.

Directorio activo hybrido en Azure

Ambos nombres son equivalentes, describen un atributo que no cambia durante la vida de un objecto. Se trata de identificar de forma única en un entorno local y en Azure AD.

Por defecto se calcula codificando en Base 64 la propiedad objectGUID del servidor local, por ejemplo:

$Usuario = Get-ADuser nombreDeUsuario -Properties * -server localhost
$ImmutableID = [system.convert]::ToBase64String(([GUID]($Usuario.ObjectGUID)).tobytearray())

Realmente no debería cambiarse, pero en ocasiones nos encontramos en la necesidad de hacerlo, bien por una migración de directorio, eliminación de usuarios, replicación con errores… Si en lugar de utilizar el objectGUID utilizariamos un atributo personalizado no tendríamos este problema pero conllevaría la gestión y administración del mismo, si dentro de la empresa cada uno tiene un identificador único personal podría utilizarse para calcular el sourceAnchor.

Esta propiedad se establece durante la instalación inicial, solo si se desinstala correctamente se puede volver a establecer con un valor personalizado, desde la versión 1.1.524.0 se facilita el atributo ms-DS-ConsistencyGuidcomo atributo de los usuarios a utilizar como sourceAnchor.

Podemos visualizar la propiedad actual desde PowerShell:

Import-Module AzureAD
$O365Cred = Get-Credential
$O365Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell -Credential $O365Cred -Authentication Basic -AllowRedirection
Import-PSSession $O365Session
Connect-AzureAD -Credential $O365Cred
Get-AzureADUser -ObjectId [email protected] | Select objectID, UserPrincipalName, ImmutableID

Si bien, en la documentación aparece, la posibilidad de establecer el valor en nulo para desvincular las cuentas creadas localmente de la nube mediante powershell:

Set-AzureADUser -ObjectId [email protected] -ImmutableID $null

No genera ningún resultado ni modificación del objeto, por lo menos a fecha de hoy.

Como alternativa, podemos crear un usuario temporal en nuestro directorio, sincronizar e intercambiar sourceAnchor, asignando otro incorrecto al usuario a eliminar posteriormente.