sábado, 24 de mayo de 2014

Identificar registros que tengan fechas con años no configurados en los periodos fiscales.

En Dynamics GP si se trata de contabilizar un cheque que está aplicado a un documento cuya fecha no existe en los periodos fiscales muestra el mensaje de error: "Entero largo fuera de rango". Para esto es necesario hacer una búsqueda en las tablas de cuentas por pagar.

Por lo tanto se puede utilizar la siguiente instrucción que arma las consultas hacia las tablas.


SELECT 'SELECT '''+RTRIM(TABLE_NAME)+''', * FROM ' + RTRIM(TABLE_NAME) 
+ ' WHERE YEAR(['  + RTRIM(COLUMN_NAME) + ']) NOT IN (select YEAR1 from SY40101 UNION SELECT 1900)'
FROM INFORMATION_SCHEMA.COLUMNS WHERE DATA_TYPE = 'datetime' AND TABLE_NAME LIKE 'PM%'
 
 
Los las líneas que resulten de la instrucción se ejecutan y permite ver cuales registros tienen el año mal asignado

File not found: VBA6.DLL

Si usted tiene Office 2010 o superior y utiliza Dynamics GP 10.0 o 2010 es probable que se le presente el siguiente error cuando intenta abrir una ventana o reporte modificado con código VBA
Esto se debe a que la llave del registro de Windows encargada de indicar la ubicación del archivo VBE6.DLL (el mensaje muestra VBA6 pero el archivo en realidad se llama VBE6) esta apuntando a un archivo distinto.

Para solventarlo hay que hacer lo siguiente:

  • Abrir el editor de Visual Basic, seleccionar el proyecto Microsoft Dynamics
  • Abrir ventana de referencias, seleccionar la referencia correspondiente a Visual Basic for Application, anotar la ruta que se muestra en la parte inferior de la ventana.
  • Navegar en el explorador de archivos para conseguir el archivo VBE6.DLL y copiar la ruta: C:\Archivos de Programa(x86)\Common Files\microsoft shared\VBA\VBA6\VBE6.dll Nota: La carpeta Archivos de Programa puede cambiar según el idioma del sistema operativo o si el sistema operativo es de 32Bits
  • Abrir el registro de Windows y abrir la llave: HKEY_CLASSES_ROOT\TypeLib\{000204EF-0000-0000-C000-000000000046} en este punto puedes encontrar varias carpetas: 4.0, 4.1, 4.2, 6.0, todas contienen las carpetas 9\win32.
  • Revisa cuál de las carpetas win32 tiene la ruta identificada en el punto 2 y modificarla por la ruta copiada en el punto 3 incluyendo el nombre del archivo VBE6.DLL
  • Cierra Dynamics vuélvelo a abrir y ejecuta de nuevo el reporte o la ventana.