31 octubre 2011

Más datos para la empresa de demostración CRONUS

Microsoft Dynamics NAV viene con una empresa de demostración llamada CRONUS España S.A.
El propósito de esta empresa es el de poderla utilizar con fines demostrativos y formativos.
Pero tiene una pequeña carencia: hay pocos datos.
Pocos clientes y proveedores, con pocos movimientos (muchos tienen la supuesta carga inicial de saldo y nada más), pocos productos con pocos movimientos, etc.

Microsoft ha anunciado hoy mismo que habrá disponible una nueva empresa CRONUS con más y mejores datos para Microsoft Dynamics NAV 2009 R2.

  • 76 nuevos clientes y 32 direcciones de envío
  • Procesados 11.000 pedidos de venta y 800 pedidos de compra
  • 88.000 movimientos de contabilidad más
  • 32.000 movimientos de inventario más
  • CRONUS tiene ahora 2,4 millones de registros (hasta ahora tenía 61.210)


Accede al curso de Dynamics NAV


Esta nueva empresa de demostración está disponible desde hoy mismo en la versión internacional W1 y en las localizaciones de algunos países.

Para España estará disponible en Diciembre de 2011. Estaremos pendientes del día exacto.

Cristina Nicolàs

10 octubre 2011

Herramienta para la detección y corrección de errores en los costes (3.xx)

Tal y como comenté en un post anterior, recientemente descubrí que existe una herramienta para la detección y corrección de errores en los costes de Microsoft Dynamics NAV.

Comenté que existia una vieja herramienta, publicada en el año 2003 y destinada a las versiones 3.xx de Navision (también funciona, aunque no en todos los casos, para las versiones 4.xx). Comenté que en breve saldrá una nueva herramienta para NAV 2009 (que será válida también para NAV 5.xx).

Prometí analizar y postear sobre la vieja herramienta. Aquí lo teneis:

Para empezar, dejar muy y muy claro que la herramienta es una guía y no un manual completo. El informe de detección de errores cubre los errores típicos que se habían detectado en el momento de desarrollarla. La parte de corrección de errores explica y guía sobre cómo proceder, pero en ningún caso provee una herramienta que lo haga de forma automática.

El informe de detección de errores recorre todos los movimientos de producto y sus tablas relacionadas (movimientos de valor y liquidaciones, básicamente) para determinar si los datos son coherentes o no: comprueba que exista almenos un movimiento de valor por cada movimiento de producto, que los valores de los campos Positivo y Pendiente sean correctos (comparándolos con la cantidad y la cantidad pendiente, respectivamente), que el signo de la cantidad pendiente sea el mismo que el de la cantidad, que la cantidad pendiente no sea mayor que la cantidad, que el valor del campo "Valorado a coste medio" en todos los movimientos de valor de un mismo movimiento de producto sea el mismo y que sólo es "Sí" para los productos valorados a coste medio, etc.




Accede al curso de Dynamics NAV



Si la herramienta detecta cualquier incoherencia, nos lo mostrará para que sepamos qué incoherencias hay y podamos proceder a su corrección.

El descrito es el test básico de la herramienta. Existen otro tipos de tests:

  • Test de cantidad; Cantidad en movimientos de producto vs cantidad en liquidaciones.La cantidad y cantidad pendiente en un movimiento de producto se debe corresponder con las cantidades registradas en las liquidaciones.No hay liquidaciones repetidas
  • Test de cantidades liquidadas; el signo (positivo o negativo) de las cantidades en el movimiento y en la liquidación se corresponden, la cantidad pendiente en un movimiento de entrada se corresponde con la suma de las cantidades de las liquidaciones realizadas, un movimiento no se ha liquidado contra si mismo
  • Test de relaciones entre entradas y salidas para productos valorados a coste medio; principalmente cuestiones relacionadas con el campo "Valorado a coste medio"
  • Test de "Valorado a coste medio" y sus liquidaciones; si el movimiento se ha valorado a coste medio, que no se hayan liquidado costes
  • Test de la Fecha de Valoración; que la fecha de valoración de una salida no sea anterior a la fecha de valoración de la entrada contra la que ha sido liquidada

Es posible que todo esto os suene a chino. Son comprobaciones sobre el funcionamiento interno de los costes de Microsoft Dynamics NAV. 
La cuestión es: si en cualquier de estos tests, se detectan incoherencias, el resultado del proceso de Valoración de Stocks es completamente impredecible. Así que... mejor arreglar todo aquello que se haya detectado incoherente o incorrecto.

El documento que acompaña la herramienta explica algunos casos (para los que ya había sus correspondientes hotfixes y por tanto ya no deberían producirse) en qué se podían producir incoherencias. 
Yo añado una nueva casuística (quizá algún día haga un post con un ejemplo práctico paso a paso): cuando a alguien le da por cambiar el método de valoración de existencias de un producto. Sabeis que Navision no permite hacerlo si el producto tiene movimentos. Sabeis también que para un programador de NAV es muuuuuuuy fácil hacer que si que se permita. Lo que quizá no sabeis es que a la larga acaba generando inconsistencias en los datos (las que yo conozco almenos, detectables por esta herramienta) y lleva a resultados impredecibles (redondeos enormes, por ejemplo).

Hasta aquí perfecto. Y qué debemos hacer en caso que encontremos alguna incorrección en nuestros datos?
Pues hay dos cosas que debemos hacer: corregir el código para que el error no se vuelva a producir y corregir los datos.

Para corregir el código, deberíamos buscar hotfixes publicados por Microsoft. En principio, el bug debería estar ya solucionado y aplicando un hotfix nos debería bastar.
Para corregir los datos... la herramienta habla de ser extremadamente cautelosos, de hacer pruebas exhaustivas en un entorno de pruebas antes de implementarlo en nuestra base de datos real. 
Cómo he comentado un poco más arriba, no hay ningún proceso para corregir los datos de forma automática. Esta tarea queda para nosotros, los desarrolladores de Navision. Lo que está bien de la herramienta, pero, es que explica, por ejemplo, cómo marcar movimientos de producto para que sean valorados de nuevo por el proceso de valoración de stocks. Explica también otros campos involucrados en los costes que hay que tener en cuenta.
Esto está muy bien. Lo que hubiera dado yo por tener una guía como esta cuando he tenido que corregir algo de costes, en lugar de darme de tortas con el código para descubrir lo que aquí se explica...

La documentación que acompaña la herramienta explica también paso a paso cómo se crean los movimientos de producto y de valor, cómo se liquidan, cómo se marcan para que el proceso de valoración de stocks pase por éstos movimientos, y finalmente, explica cómo funciona el proceso de valoración de stocks. Por fin! Había seguido algunas veces el código de este proceso, y la verdad es que nunca había entendido nada! 

En resumen, con la herramienta de detección de errores en los costes podemos detectar si tenemos incoherencias en los costes. En caso de tenerlas y tener que hacer alguna corrección, no hay nada que lo haga de forma automática, porqué la corrección a realizar depende mucho de cada caso particular, pero tenemos una guía sobre qué tener en cuenta para que la corrección sea exitosa.
Para aquel que quiera profundizar un poco en el funcionamiento interno de los costes, bajaros y leed con atención la documentación. Os resultará útil.
Aquí va el link.


Cristina Nicolàs

06 octubre 2011

Propiedad Editable de los campos mostrados en una página

El cliente RTC de Microsoft Dynamics NAV salió hace ya unos cuantos años. Seguramente muchos técnicos de Navision enseguida se pusieron a trabajar con él y dominan ya a la perfección cómo programar páginas, cómo cambian las páginas respecto a los formularios y todo este tipo de cosas.
Por desgracia, no es mi caso. Intento estar siempre al día, pero en el caso del RTC, no lo he estado demasiado. He mirado documentación, por supuesto, pero hasta ahora aún he trabajado para clientes que estaban en versiones anteriores de Microsoft Dynamics NAV. 
Ahora me pongo a programar para el RTC, que es un mundo completamente nuevo para mi, y empiezo a descubrir cómo hacerlo, los pequeños trucos, etc.
Estará desfasado, sí, pero voy a hacer unos cuantos posts explicando aquellos pequeños trucos y cosas varias que vaya encontrando.




Accede al curso de Dynamics NAV



Dicho esto, empiezo con el primer truco, el que da nombre al título de este post:

Propiedad Editable de los campos mostrados en una página

En un formulario, la propiedad Editable de un control (TextBox, CheckBox, etc.) mostrado en el formulario es un valor fijo que acepta los valores Sí y No.

La propiedad, pero, puede cambiarse en tiempo de ejecución asignando un nuevo valor a la propiedad con una sentencia como la siguiente:
CurrForm."Nombre del Control".EDITABLE(NuevoValorDeLaPropiedad);

En las páginas, este comportamiento es distinto. La propiedad Editable de los controles acepta una expresión booleana. Pero no existe una función para cambiar la propiedad en tiempo de ejecución, es decir, no se puede escribir una sentencia como la siguiente:

CurrPage."Nombre del control".EDITABLE(NuevoValorDeLaPropiedad);

Cómo podemos entonces reproducir el comportamiento de hacer un campo Editable/No Editable en tiempo de ejecución?

La herramienta de transformación de formularios a páginas hace lo siguiente:
* Declara una variable global, de tipo boolean, a la que llama NombreDelControlEditable
* Cambia la sentencia
CurrForm."Nombre del Control".EDITABLE(NuevoValorDeLaPropiedad);
   por
NombreDelControlEditable := NuevoValorDeLaPropiedad;
* Asigna la variable global creada a la propiedad Editable del control

Podéis ver un ejemplo de lo comentado en la ficha del cliente (Form 21 y Página 21). En la ficha del cliente, el estándar de Microsoft Dynamics NAV hace editable el campo Contacto en función de si hay o no un Nº contacto. 


Cristina Nicolàs

03 octubre 2011

Sesiones de formación sobre los costes de NAV

El pasado 27 de septiembre tuve la oportunidad de asistir a un evento organizado por Microsoft llamado "What's up in Dynamics NAV Inventory Costing". Se trata de una iniciativa de formación online, sesiones formativas a través de Live Meeting. La de la semana pasada fue la primera que trataba el área de costes de Navision. Cada 2 meses se celebrará una sesión parecida. La próxima ya tiene fecha: el 22 de noviembre. Allí estaré para escuchar lo que puedan explicar.


En la primera sesión explicaron algún bug conocido en el área de costes de Microsoft Dynamics NAV, explicaron cómo se asignan las fechas de registro cuando se ejecuta el proceso de valoración de stocks (haciendo un repaso histórico de cómo ha ido cambiando a lo largo de las diferentes versiones), también cómo se asignan las fechas de registro cuando se registran los costes en la contabilidad.
Todo muy interesante. Me ayudó a hacer un repaso de cosas que más o menos sabía, algunas que quizá tenía un poco olvidadas y sobre todo, a profundizar un poco en algunos detalles.




Accede al curso de Dynamics NAV




Pero lo más interesante, sin duda, fue descubrir que existe una herramienta llamada "Costing Error Detection Tool". No tenía ni idea que existiera una herramienta cómo esta. En cualquier caso, pero, la herramienta actual está más que desfasada (se hizo en 2003, para las versiones 3.xx). Pero, notícia importante, en unas 2 semanas debería estar disponible para descarga en la Partner Source la misma herramienta para Microsoft Dynamics NAV 2009 (servirá también para las versiones 5.xx, pues los costes no han cambiado).


La herramienta, así a grosso modo, incluye:
* Informe de detección de errores.
  El informe testeará las cantidades, liquidaciones, fechas de registro, costes esperados, etc.
  Debería recorrer toda la información sobre costes en una empresa y comprobar que todos los datos sean los esperados.
* Documentación
  - Explicación del diseño del área de costes: las diferentes tablas involucradas, cómo se tratan las transerencias, cómo se tratan las liquidaciones fijas, etc.
  - Explicación sobre la corrección de datos


Sin duda estaré pendiente cuando salga esta herramienta para analizarla y sacar mis propias conclusiones.


De momento, probaré con la herramienta actual. Para quien la quiera ver también, éste es el link para la descarga.
según dijeron, la herramienta salió para detectar errores que se habían producido en los costes (y liquidaciones de productos) al migrar de versiones anteriores a las versiones 3.xx. La herramienta es válida también para las versiones 4.xx de Navision (excepto para productos valorados a coste medio, y aún menos para productos valorados a coste medio con movimientos de transferencia).


Yo me acabo de descargar la herramienta actual. En cuanto la haya analizado os lo haré saber.


Cristina Nicolàs

NAVtechDays 2011

El 29 y 30 de septiembre se realizó en Bélgica una conferencia organizada por mibuso dirigida a técnicos que trabajan con Microsoft Dynamics NAV: NAVtechdays 2011
Tuve la gran suerte de poder asistir a tal evento, en el que se vieron nuevos aspectos de la próxima versión de Navision, pero también cosas de versiones que ya están en el mercado.
Fue realmente interesante, la verdad. En los próximos días escribiré sobre las impresiones recogidas en el evento.




Accede al curso de Dynamics NAV



También hubo tiempo para lo social. Me gustó poder conocer a gente con la que hemos coincidido mucho en tipsdbits, a JAJ y a kitik (aunque a kitik la tengo ya más que vista), pero también a otra gente cómo los compañeros canarios. Desde aquí un saludo para todos.

Y también tiempo para el turismo. Antwerpen es una ciudad preciosa. Y aprovechando el viaje, me quedé el fin de semana en Bélgica y visité también Gent y Brugge. Todas ellas ciudades encantadoras, de verdad, os las recomiendo.

Cristina Nicolàs

05 septiembre 2011

Ley contra la morosidad: Los informes


Con la funcionalidad liberada por Microsoft para adecuarse a la Ley contra la morosidad en España, venían 2 nuevos informes (hay que actualizar la licencia para poderlos usar): Cliente - pagos vencidos y Proveedor - pagos vencidos.

Tras analizarlos, mi indignación, expresada ya en el post anterior, no ha hecho más que crecer.
El informe Cliente - pagos vencidos mira las facturas de los clientes y su fecha de pago, y da un resumen estadístico del número de pagos realizados dentro y fuera del período de vencimiento de las facturas.

Parece correcto, pero, se excluyen de este informe todas aquellas facturas que han generado uno o varios efectos. La factura no se ha liquidado contra un pago sinó contra un efecto, y es el efecto el que se ha liquidado contra el pago. El informe no tiene en cuenta la factura (porque no se ha liquidado contra un pago y por tanto no se puede comparar la fecha de vencimiento contra la fecha de pago), ni tampoco el efecto (porque sólo mira facturas).





Accede al curso de Dynamics NAV


Y además, lo dicho, sólo tiene en cuenta facturas ya pagadas. Para que la estadística fuera un poco mejor podría también tener en cuenta facturas no pagadas aún, que podrían estar aún dentro del plazo o se podrían haber pasado ya...

Idem en el informe de proveedores.

Esperamos un año a que Microsoft haga cambios para adecuarse a la ley.
Y cuando por fin aparecen:

Las modificaciones que se realizan son mínimas y no tienen en cuenta algunos aspectos de la ley.
Las modificaciones no tienen en cuenta funcionalidades de la localización española de Microsoft Dynamics NAV.

Que alguien me lo cuente porqué no entiendo nada.

Cristina Nicolàs

Dynamica

Ley contra la morosidad: impresiones sobre la nueva funcionalidad


Tenemos ya disponibles los objetos para adecuar Microsoft Dynamics NAV a la Ley de Morosidad. En este otro post tenéis los links para la descarga.

Hace ya unos cuantos meses, cuando anuncié que Microsoft estaba trabajando en una funcionalidad para adecuarse a esta ley (podéis leer el post aquí), explicaba que lo que no controlaba Navision era el hecho que la fecha de vencimiento debería calcularse en base a la fecha de entrega (o recepción) de los bienes o prestación de los servicios. Tampoco controlaba el hecho que en una misma factura pueden juntarse varias entregas, siempre y cuando el período entre entregas no sea superior a los 15 días, caso en el qué la fecha de vencimiento debería calcularse en base a la fecha correspondiente a la mitad del período que se factura.

Comentaba que del modo cómo trabaja Navision respecto al cálculo de las fechas de vencimiento, nos bastaba con definir nuevos términos de pago y poner (manualmente) las fechas de emisión del documento adecuadas.




Accede al curso de Dynamics NAV


Las expectativas que tenía para la funcionalidad que Microsoft ha desarrollado, eran principalmente que de algún modo se tuvieran en cuenta las fechas de registro de los albaranes, para el cálculo de la fecha de vencimiento, y también para no permitir juntar albaranes cuya diferencia entre fechas de registro fuera superior a 15 días.

Dicho esto y tras haber analizado los cambios en la funcionalidad de cálculo de fechas de vencimiento que introduce esta herramienta, he de decir que me siento completamente decepcionada y que creo que la herramienta liberada por Microsoft es deficiente. Lo que cambia respecto a lo que venía siendo el estándar de Microsoft Dynamcics NAV es tan poco, y además se podía ya obtener casi el mismo resultado mediante la correcta configuración de los términos de pago, que, sinceramente, tras tantos meses de espera desde la modificación de la ley (que es de Julio de 2010), creo que es indignante lo que han hecho. Parece que han hecho algún pequeño cambio sólo para poder decir que no han pasado olímpicamente del tema.

¿Qué cambios introduce la nueva funcionalidad? 

Se introduce un nuevo campo en la configuración de los Términos de Pago, llamado "Nº máximo de días hasta la fecha de vencimiento". 
El cálculo de la fecha de vencimiento se sigue haciendo en base a la Fecha de Emisión del Documento. Si el cálculo del vencimiento según el término de pago se pasa del nº de días especificado en el mismo, entonces el límite especificado en este nuevo campo es el que queda como fecha de vencimiento.
Al tener en cuenta días de pago y períodos de no pago, Microsoft Dynamics NAV siempre acababa estableciendo fechas de vencimiento posteriores a la calculada inicialmente por el término de pago. Ahora es capaz también de ir hacía atrás en el cálculo del vencimiento, para cumplir con el máximo de días establecido.
Si encuentra cualquier tipo de incongruencia de fechas, nos deja la fecha de vencimiento en blanco y es el usuario quien debe introducirla de forma manual.

Para quien usa la casuística simple de cálculo de fechas de vencimiento (cálculo basado única y exclusivamente en Términos de Pago), la nueva funcionalidad liberada por Microsoft no aporta absolutamente nada. Si antes tenía términos de pago para cálculo a 30D, 60D, 90D, etc., y ahora el máximo número de días permito son 60... no necesito nada nuevo... dejo de utilizar todos aquellos términos de pago con un cálculo superior a estos 60 días, definiendo nuevos términos de pago si lo considero oportuno... y listos!

Cuando se combinan los términos de pago con días de pago y con períodos de no pago, entonces la funcionalidad parece que sí que sirve de algo. Sabéis que utilizando los días de pago y los períodos de no pago, la fecha de vencimiento final siempre es igual o superior al término de pago. Entonces no nos basta con definir los términos de pago para adecuarse a la ley y dejar de utilizar los que establecieran períodos más grandes. La nueva funcionalidad también prevee que la fecha final pueda ser inferior a lo calculado inicialmente por el término de pago.

Por ejemplo:

Utilizo un Término de Pago llamado 30D (que calcula el vencimiento a 30 días). Establecemos que el nº máximo de días son 45.
El día de pago para el cliente es el día 15.
El período de no pago es del 01/08/2012 hasta 31/08/2012

Fecha emisión documento: 27/01/2012

Fecha vencimiento antes de la nueva herramienta: 15/03/2012 (27/01 + 30D = 26/02/2012. Lo llevamos hasta el siguiente día 15 que es el 15/03/2012)
Fecha vencimiento: 15/02/2012 (Antes se calculaba 15/03, que es posterior a los 45 días máximos, de modo que lo lleva al anterior día 15, el 15/02)

Fecha emisión documento: 27/06/2012

Fecha vencimiento antes de la nueva herramienta: 15/09/2012 (por el término de pago debería ser 15/08/2012, pero como es un período de no pago, lo lleva hasta el siguiente día 15, el 15/09/2012)
Fecha vencimiento: 15/07/2012 (Antes se calculaba 15/09/2012, que no cumple con los 45 días máximos, de modo que lo lleva al anterior día 15, el 15/07)

Algo hemos avanzado con la nueva funcionalidad, no puedo negarlo. Pero a grosso modo funciona del mismo modo en cómo ya venía funcionando Microsoft Dynamics NAV.

Faltan muchas otras cosas: 
¿dónde se tiene en cuenta la fecha de entrega o recepción de los bienes? No hubiera sido tan difícil utilizar de algún modo las fechas de registro de los albaranes...
¿dónde se tiene en cuenta que no se puede juntar en una misma factura entregas realizadas con más de 15 días de diferencia?
¿hay algún control sobre los productos perecederos, de los que la ley habla específicamente para establecer condiciones diferentes?

Nada, no hay nada. Lo tiene que controlar el usuario de forma manual.

Estoy de acuerdo que hay muchas leyes y dentro de estas, mucha variabilidad, y que un ERP no tiene porque recogerlo absolutamente todo. Al final realmente todo queda bajo responsabilidad del usuario. Qué sé yo, la administración establece por ejemplo las fechas en las que hay que presentar las declaraciones de IVA, por ejemplo, y el ERP no lo tiene en cuenta para nada, puedes calcular y registrar la declaración de IVA a posteriori si quieres, que no se va a quejar ni te va a advertir ni nada. Cierto, el ERP no tiene porque recoger absolutamente todo aquello que establecen las leyes...

De todos modos, esta herramienta se ha quedado tan, pero que tan corta, que no puedo más que sentirme decepcionada e indignada.

Cristina Nicolàs