martes, 8 de mayo de 2012

How to Debug RTC and Web Services remotely


Introduction


The main goal of this post is to explain how to set up a test environment in pursuance of debugging RTC Client and Dynamics NAV 2009 Web Services.
In the example, it will be shown a Preproduction server with a Dynamics NAV 2009 Database and the Microsoft Dynamics NAV Server and Business Web Services.
Finally, it will be possible to debug from a local computer to the RTC Client and Web server in Preproduction server.

viernes, 6 de mayo de 2011

Cambios en el modelo 340 de hacienda para el 2011

Los cambios que se han establecido en el modelo 340 de hacienda para el 2011, son relativos a los ficheros que se presentan para informar de las operaciones a terceros. El cambio más concretamente afecta a las adquisiciones intracomunitarias.


Para empezar voy a poner un link donde podéis descargaros la aplicación de hacienda con la que podemos importar el fichero generado de Microsoft Dynamics NAV, y así podemos tanto modificar los datos que se han generado como verificarlos. Mucho mejor que ver el fichero de texto directamente ;).


http://www.aeat.es/wps/portal/ProgramaAyuda?channel=ca8888fff982e210VgnVCM1000004ef01e0a____&ver=L&site=56d8237c0bc1ff00VgnVCM100000d7005a80____&idioma=es_ES&menu=0&img=0

Anteriormente se consignaba la “autofactura” emitida por el destinatario de la operación tanto en el libro de facturas emitidas como recibidas con clave de operación “I”, y la factura recibida del proveedor también con clave “I”. De estos tres registros en el modelo 340, en la factura recibida no se consignaba IVA devengado pero si en la “autofacturas” recibidas.







Autofactura en Recibidas





Autofactura en Emitidas





Factura recibida del Proveedor





A partir del 2011 se anotará en el libro de facturas recibidas la factura del proveedor consignando la clave de operación “I”. Es esta factura se debe de calcular la cuota soportada de IVA (que antes no se consignaba) y según hacienda, “adicionalmente” podrá consignarse la cuota deducible. En el parche de Microsoft se consigna la cuota deducible siempre, con lo que se entiende que es necesario.

Factura recibida del Proveedor





Podemos observar que ahora ya no aparece el campo "Grupos reg. prod. gen. revers.", que era donde seleccionábamos para que grupos contable productos queríamos que se generaran las Autofacturas.







Y finalmente los libros de facturas emitidas y recibidas aparecen por defecto con el campo de "Muestra Autofacturas/Autoabonos" desmarcado cuando anteriormente lo tenían marcado.





jueves, 10 de marzo de 2011

Próximo Post....

En breve estará el nuevo post que estoy preparando. Consiste en la explicación de las nuevas modificaciones que la AEAT ha establecido sobre el modelo 340 para el 2011 pero en el marco de Microsoft Dynamics NAV por supuesto...

jueves, 10 de febrero de 2011

Reports en el RTC sin la opción de guardar como PDF o Excel

Una de las muchas ventajas del cliente orientado a roles (RTC), es la posibilidad de que los informes los podamos guardar en Excel o PDF. Que comodidad, sin necesitad de desarrollo alguno!!!


Pero curiosamente, cuando te pones a trabajar con el RTC y a imprimir informes y a realizar pruebas te das cuenta de que hay algunos informes  que no tienen esa opción activada. (Ejemplos como la confirmación de Pedidos de Compra o Venta).
Que desilusión!!!!



Pues no!he descubierto el problema de que no esté la opción y de cómo resolverlo.
Es muy sencillo. El hecho de que no aparezca es el siguiente código en el diseño del informe en Cliente Clásico:



Si comentamos el código o ponemos antes la sentencia de “IF NOT(ISSERVERTIER) THEN”, y ejecutamos el informe en el RTC ya nos saldrá la opción de guardar como.
El único problema es que no se ejecutará el código del Preview que normalmente está relacionado con el número de copias impresas o del archivado de versiones.
Nota: En el caso de la confirmación del pedido también hay código del Preview en el OnPostDataItem del CopyLoop.



lunes, 31 de enero de 2011

Envío de correos electrónicos en NAV mediante Outlook

Navision tiene la posibilidad de enviar correos mediante la Code Unit 400 y  el Automation ‘Microsoft Navision Mail.SmtpMessage‘, que se registra en la instalación del cliente de Navision.
Gracias a esto tenemos la posibilidad de realizar desarrollos que nos permitan por ejemplo enviar correos electrónicos a nuestros clientes adjuntando sus facturas.
Este Automation nos es muy útil pero a su vez es limitado. En ocasiones queremos poder tener más potencia en cuanto al envío de correos electrónicos. Este tipo de características que no son cubiertas, las podemos cubrir en muchos casos con los Automations de Outlook.
Gracias a estos Automations, podremos por ejemplo mandar los correos con acuse de recibo y lectura, enviar correos con plantillas creadas en Outlook e incluso interactuar con sus contactos. Para ello en cada  equipo cliente de Navision deberemos de tener instalado y configurado un cliente de Outlook (versión 2003 en adelante).
Vamos a ver un ejemplo de un envío de correo con adjunto, con acuse de recibo y lectura y con una plantilla creada en Outlook.

Para el ejemplo he utilizado Microsoft Dynamics NAV R2 con Outlook 2003.

Lo primero será tener un plantilla de Outlook (*.oft) con el diseño deseado. Nótese que la función de plantillas es incompatible con la función de escribir un cuerpo en el correo, es decir o decidimos poner una plantilla o escribir el cuerpo con el texto deseado.
Creamos las siguientes variables en la Code Unit donde vayamos a poner el código:

Name   DataType         Subtype           Length
OMail  Automation      'Microsoft Outlook 11.0 Object Library'.MailItem
OApp  Automation      'Microsoft Outlook 11.0 Object Library'.Application

Y el código sera el siguiente:
//Envío correo mediante dll Outlook
IF ISCLEAR(OApp) THEN
  CREATE(OApp,FALSE,TRUE);

//OMail := OApp.CreateItem(0);//Si no utilizamos plantillas
OMail := OApp.CreateItemFromTemplate('C:\Plantilla Correos\plantilla.oft');

OMail."To" := 'correodestino@correo.com';
OMail.Attachments.Add('C:\Plantilla Correos\adjunto.xml'); //Si queremos adjuntar un fichero
OMail.Subject := 'Asunto del correo';
//OMail.Body := 'El cuerpo del mensaje'; //O ponemos este código o el de la plantilla.
OMail.OriginatorDeliveryReportRequested := TRUE; //Confirmación de recepción.
OMail.ReadReceiptRequested := TRUE; //Confirmación de lectura.
OMail.Send;

Como curiosidad debido a un tema de límite de tamaño interno de nombres cuando escribimos o seleccionamos la función OMail.OriginatorDeliveryReportRequested, Navision nos copia OMail.OriginatorDeliveryReportRequest, con lo que cada vez que entramos en la Code Unit y modificamos código nos da error de que no existe la variable OriginatorDeliveryReportRequest porque no reconoce ese nombre y debemos de poner ‘ed’ al final del nombre de la función cada vez.

martes, 11 de enero de 2011

Simular "Skip All" en el formulario de importación de objetos

En muchas ocasiones echamos de menos la existencia el botón de “Skip All” en el formulario de importación de objetos. ¿Quien no ha tenido alguna vez un fob como numerosos objetos y solo tenía que importar una pequeña parte de ellos?.


Yo cuando no conocía la posibilidad de hacer lo siguiente, me ha tocado destrozar el F8 + Cursor Abajo como un energúmeno para marcar con Skip todos los objetos. Con este pequeño truco podremos seleccionar solo los objetos deseados sin tener que manualmente marcarlos como Skip.
El truco es simple, consiste en utilizar la funcionalidad que tienen Navision en los formularios tipo lista, de marcar las líneas deseadas con Ctrl + F1. Tras la selección de las mismas pulsamos a Ver -> Solo los marcados. De esta forma nos quedará el formulario de importación de objetos solo con los que hemos marcados. Tras estas acciones, lo de siempre, “Replace All” y Aceptar.
De la misma forma podemos también utilizar los filtros de Navision (F7), si por ejemplo tenemos los objetos versionados correctamente, o si queremos solo las tablas o un objeto en concreto.