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!

1 comentario:

  1. Anónimo11:38 p.m.

    Muchas gracias Humberto, este cambio que hiciste es realmete útil a la hora de generar el formato en PDF solicitado por el cliente.

    Saludos

    ResponderBorrar