martes, octubre 26, 2010

How To: Agregar informacion de impresion al PDF

Es un caso comun que ademas de la informacion incluida en el XML del comprobante fiscal digital, requieras incluir otro grupo de datos a la hora de generar el PDF. Pues bien, a partir de la version 1.1.10  el comprobante incluye una propiedad llamada DatosImpresion esta propiedad es de tipo hashtable asi que te permite agregar una lista de “nombres-valor” que seran convertidos a elementos XML en el archivo que servira como origen de datos a la hora de generar el PDF.

Bueno … y entonces como se agregan estos datos a la impresion?

Supon que requieres agregar la direccion de envio del producto, estos datos no forman parte de la especificacion del SAT asi que tus opciones son:

  1. Agregar la informacion en la addenda
  2. Utilizar la propiedad DatosImpresion del objeto Comprobante

en este post, me enfocare en la segunda ya que la integracion de datos a la addenda depende enteramente de tus aplicaciones, asi que sin mayot preambulo aqui van los pasos…

PASO 1: Definicion de datos
Para agregar la informacion de la direccion de envio, le agrego el identificador y el valor a la propiedad DatosImpresion de la siguiente manera

image

Solo debes recordar que esto se traducira a nodos XML asi que el identificador es sensible a mayusculas. DomicilioEnvio NO es lo mismo que domicilioenvio una vez agregada esta informacion necesitas ejecutar el metodo ProcesarComprobantes para generar el archivo con terminacion .pdf.xml que sera usado en el siguiente paso.

image

El motor ha creado un elemento XML llamado Impresion y dentro de este, informacion que estara disponible para la generacion del PDF, incluidos los datos que acabamos de especificar.

image

PASO 2: Modificacion del REPX
Debes editar el archivo .REPX para que tome en cuenta la informacion que sera enviada (en este caso DomicilioEnvio) asi que abre el archivo .REPX que se encuentra en tu directorio de ejecucion de la aplicacion o el directorio especificado en la propiedad compartida CFD.Globales.DirectorioRecursosXSD

image

Una vez que abres el archivo con el editor de formato, debes ir a la propiedad DataSource’s Schema

image

Y seleccionar el archivo generado en el paso anterior

image

Una vez que se asigno el archivo como esquema de datos, aparecera disponible la propiedad DomicilioEnvio

image

Para incluirla en el reporte solo hay que agregar una etiqueta desde el toolbox

image

Dando un clic en el smarttag, aparece el editor de la etiqueta, modifica la propiedad DataBinding  para que tome el valor de la propiedad DomicilioEnvio

image

Listo, ahora si puedes generar tus pdf’s y la informacion que envies como DomicilioEnvio sera mostrada en la etiqueta.

ANTES
image
AHORA
image

Asi o mas facil? Espero sus comentarios!

martes, octubre 12, 2010

Libros Gratis!

Aqui les dejo unos recursos para programadores que pueden ser de utilidad, por no decir que son un MUST-READ

http://amazedsaint.blogspot.com/2010/09/7-freely-available-e-booksguides-i.html

martes, octubre 05, 2010

How To : Cambiar el formato de la cantidad en moneda con CFD.NET 1.1.7 +

Con la actualizacion 1.1.7 de la libreria de facturacion electronica, ahora puedes modificar la leyenda de la cantidad en pesos que aparece en el pdf de una manera muy sencilla, utilizando el mismo concepto del String.Format, puedes definir un formato considerando que el parametro con indice 0 representa la cantidad entera en palabras y el parametro con indice 1 el valor numerico de los decimales redondeado a 2 posiciones.

Aqui esta el ejemplo:

image

Y el resultado:

image

Espero sus comentarios!