sábado, marzo 14, 2015

Temario Reunión de usuarios Xailer 2015

Reunión de usuarios  Xailer 2015:

Título

Desarrollo de aplicaciones en la nube con Xailer. 

Descripción:

La separación existente entre software ejecutable y software Web cada vez es menos cierta.
Actualmente es muy habitual la creación de software ejecutable que utiliza únicamente servicios Web para el manejo de datos e incluso la persistencia que requieran nuestras aplicaciones. De hecho, es el paradigma que se está utilizando actualmente en casi todas las aplicaciones para dispositivos móviles. 

El uso de aplicaciones ejecutables vía nube en vez de páginas web ofrece muchísimas ventajas, como son:

- Facilidad y rapidez en la creación de código, ya que sigue utilizando Xailer como hasta ahora. No hay prácticamente ninguna diferencia. El desarrollo de páginas Web es infinitamente más complicado, pero sobre todo requiere un esfuerzo de trabajo mucho mayor.

- Rapidez de ejecución: Efectivamente ningún software web es capaz de competir con un programa ejecutable. 

- Funcionalidad y flexibilidad: Conseguir con páginas web un grado de funcionalidad y flexibilidad parecido al que ofrece Xailer requiere un esfuerzo titánico y una muy alta capacitación por su parte en HTML5, Javascript, CSS, AJAX, y alguno de los siguientes lenguajes de programción del lado del servidor: PHP, J2EE, Node.js o ASP.

- Menores requerimientos de velocidad de conexión: En una programación tradicional web, además de los datos, se han de recibir: código HTML, imágenes, código Javascript, código CCS y cualquier otro recurso que desee mostrar. Además, a no ser de que usted sea un gran experto en HTML5 y programación AJAX estará recargando las mismas páginas pero con sutiles diferencias cientos de veces provocando un tráfico innecesario.

- Menores requerimientos en los servidores web: El código fuente que se ejecuta en los servidores web es mínimo y básicamente consiste en recibir y enviar información compactada para hacer todas las operaciones con las bases de datos, lo que permite que haya muchos usuarios conectados concurrentemente sin que afecte a la velocidad del servidor. Por el contrario, los clásicos entornos basados en CMS o que generan directamente código HTML, además de convertirse en una camisa de fuerza al poco tiempo, exigen un gran trabajo a los servidores web.

Con respecto a una programación tradicional con Xailer, la programación en la nube ofrece las siguientes ventajas:

Facilidad de instalación: Las aplicaciones por ejecutables cayeron en desuso y han sido en muchas empresas incluso prohibidas debido a su alto grado de dependencia con módulos externos, como pueden ser: un run-time de Java o .Net, una DLL de un determinado cliente de acceso a datos, una configuración previa de acceso como ODBC. etcétera. Exigían cada vez que había cambiar de máquina un proceso pesado y costoso de puesta en marcha de la misma para poder ejecutar nuestras aplicaciones. Las aplicaciones Xailer para la nube no requieren absolutamente de nada más que el propio ejecutable. Descargar y listo. Así de fácil. Obviamente requieren de una conexión a Internet o a su nube local.

- Compatible con programación de páginas Web: Aplicaciones Xailer en la nube y aplicaciones tradicionales web mediante HTML comparten sin problemas los mismos datos. No hay necesidad de hacer ningún tipo de traspaso o sincronización.

- Utilizando un enfoque de programación MVC (modelo vista-controlador) nos permite compartir todo el controlador con aplicaciones móviles y lógicamente con las páginas web que tenga que crear para ofrecer servicios B2C (business to client). El 90% de la funcionalidad de la aplicación que se corresponde con el back-office se puede realizar con Xailer, y sólo aquellas partes que tengan que hacerse para terceros deberán, si lo desea, realizarse como página Web.

Independencia del ISP: Casi el 100 % de los ISPs (Internet solution provider), es decir, de las empresas que le ofrecen el servicio de alojamiento web, no permiten el acceso a sus servidores de datos más que a través de las propias páginas que tiene usted alojadas, y por lo tanto no suelen estar muy abiertos a abrir determinados puertos de sus ordenadores para que puedan acceder a los servidores web de forma directa. Con Xailer para la nube, al utilizar directamente servicios web no le afecta en absoluto está limitación.

- Licenciamiento gratuito con MySQL ya que no requiere incluir en ningún caso la DLL de MySQL que es la que provocaría que la licencia dejase de ser gratuita.

Contenido:

- Descripción de aplicaciones híbridas en la nube
- Instalación y configuración de servidores LAMP para acceso a servicios web
- Puesta en marcha de servicios web hospedados
- Conceptos básicos de servidores MySQL/MariaDB, puesta en marcha, características y mantenimiento.
- Fundamentos principales del lenguaje SQL
- Migración de datos desde DBF. 
- Técnicas de programación limitando el ancho de banda utilizado
- Datasets en memoria: Ventajas e inconvenientes. 
- La clase TWebDatasource
- Primer ejemplo: Gestión de clientes y artículos
- Segundo ejemplo: Creación de facturas
- Tercer ejemplo: Creación de un modelo MVC para la creación de facturas
- Cuarto ejemplo: Simple página Web utilizando el anterior modelo MVC
- Quinto ejemplo: Simulación de ficheros INI en la nube
- Conexión a PRESTASHOP utilizando los propios web services que Prestashop ofrece (los asistentes recibirán un datasources para conectar directamente con PrestaShop).

Temas Adicionales (dependiendo de disponibilidad de tiempo):

Presentación del nuevo Asistente SQL de Xailer
Novedades que se incluirán en Xailer 4.0
Presentación de CATAVOLT sistema de desarrollo móvil para Android, iOS y Windows basado en SQL

El temario está abierto a sugerencias de otros temas que sean del interés de los asistentes.

viernes, marzo 13, 2015

Reunión de usuarios Xailer 2015 y Cursos gratuitos de Xailer !!!!!!

Pues parece modo de mentira como pasa el tiempo, la idea loca que surgió en una comida con 3 amigos en Madrid, va a convertirse en realidad por tercera vez y una vez mas en el paradisiaco Cancún, en el Caribe Mexicano.

Mucha gente nos ha preguntado ¿ Porqué Cancún ?, bueno, porque es un destino turístico reconocido a nivel internacional y porque en muchos paises de América Latina y de Europa, existen paquetes de viajes a Cancún que muchas veces resultan mas económicos que viajar dentro del mismo país o incluso al extranjero.

La ventaja que tiene Cancún en la diversidad de maneras de llegar y en la oferta hotelera para todos los presupuestos, (además del clima y del mar) es lo que nos anima a hacer nuestra reunión de usuarios nuevamente ahí.

Y por otro lado.... la reunión es en Junio.... los boletos de avión son mas baratos si los compras por estas fechas ;-).


Expositor, fechas y temas:


La reunión se realizará los dias Lunes 15, Martes 16 y Miércoles 17 de Junio de 2015.

Una vez más, nos acompañará durante 3 días  Ignacio Ortiz de Zuñiga, co-autor junto con José Jiménez de Xailer, y de la nueva integración de FastReport para Xailer y (x)Harbour.

Sabemos que "lo de hoy" es el "cloud computing", el desarrollo de apps para dispositivos móviles y es por eso que el tema principal de la reunión de este año, será DESARROLLO DE APLICACIONES EN LA NUBE CON XAILER.

Enfocaremos los tres dias de reunión en tratar este interesante tema, y veremos como integrar servidores de base de datos que viven "en la nube" con aplicaciones Xailer, e incluso, integrar las bases de datos de una tienda virtual montada en internet directamente a una aplicación Xailer.

El temario completo está a disposición de quien lo solicite, si me envian un correo a info@ciber-tec.com.

¿ Y las aplicaciones para móviles ?.... esa es una sorpresa que les tengo reservada para el último día de la reunión, donde además  les presentaré la manera de publicar sus informes hechos con FastReport en Web de una manera fácil y rápida.... pero eso, hasta el último día de la reunión.

Naturalmente, tendremos la gustada sesión de "preguntas y respuestas", donde podremos preguntar a Ignacio directamente nuestras dudas, así como intercambiar ideas con otros colegas que asistan a la reunión.

 

Cursos Gratis !!!!!!

Sí leiste bien....CURSOS GRATIS DE XAILER.

 Los asistentes a la reunión de usuarios, recibirán 2 cursos gratuitos de Xailer en nuestras instalaciones de la Ciudad de México, las fechas de los cursos son:

Xailer Básico:  21 al 23 de Abril ó 19 al 21 de Mayo
Xailer Intermedio: 24 al 25 de Abril ó 22 al 23 de Mayo

Estos cursos tienen un precio normal de $7,500.00, pero, si reservas tu seminario con el 30% del precio (véase mas adelante), puedes asistir a los dos cursos (Básico e Intermedio) GRATIS. 

 

Precios del seminario:

Hemos aprendido mucho de las 2 reuniones anteriores, y por lo mismo, este año hemos encontrado una mejor sede, el Hotel Iberostar Cancún, que cuenta con todos los requerimientos necesarios para realización del evento, como conexión a internet, un salón espacioso y equipo de proyección y sonido adecuado, los precios del seminario son:


1 Participante: $8,500.00 M.N.  / $570.00 USD
2 Participantes: $8,000.00 M.N. / $530.00 USD por persona
3 Participantes o más: $7,500.00 M.N./ $500.00 USD por persona

Los precios en moneda nacional NO INCLUYEN EL 16% de IVA, precios en dólares no causan IVA.

Facilidades de pago:

Puedes pagar tu seminario en 3 comodas mensualidades en los meses de Abril (30% depósito para reservar tu lugar), Mayo (30% segundo pago) y Junio (a mas tardar el dia 7 de Junio 40% restante).

Por ejemplo para un asistente:

Abril :  $2,250.00
Mayo: $2,250.00
Junio: $4,000.00

Dos asistentes:

Abril: $4,800.00
Mayo: $4,800.00
Junio: $6,400.00

Hospedaje:

Como ya comenté anteriormente, nuestro hotel sede es el Hotel Iberostar Cancún, un hotel de playa, 5 estrellas con el concepto "todo incluído", sabemos que muchos de nuestros asistentes aprovechan para tomar unas merecidas vacaciones o bien los acompañan familiares, es por eso que hemos negociado con el hotel la reservación de un número LIMITADO de habitaciones con precio preferente para aquellos participantes que deseen hospedarse en el hotel sede durante los 3 días que dure el evento.

Los precios de las habitaciones son:

Habitación individual: $2,784.00 M.N. / $186.00 USD por noche
Habitacion doble: $ 3,828.00 M.N. / $255.00 USD por noche (para 2 personas)
Habitación triple: $5,264.00 M.N. /  $ 350.00 USD por noche (para 3 personas)

El hotel es un 5 estrellas,  en primera línea de playa, todas sus habitaciones tienen vista al mar, cuenta con piscina, área para niños y los alimentos y las bebidas sin límite están incluidas.

La ventaja de hospedarse en el hotel sede es que después del seminario, es que se puede continuar con la charla técnica tomando algo en algún bar del hotel, o bien cenando con otros colegas que también se hospeden en el hotel sede.

Las reservaciones se pueden hacer directamente en el hotel sede, favor de contactar a Martín Pech via correo electrónico o bien al teléfono (998) 8818000 ext. 8560 de Lunes a Viernes de 09:00 a 18:00 hrs. mencionen el código: REUNION XAILER 2015  para que se les aplique la tarifa que tenemos concertada con el hotel.

Así mismo si desean anticipar o prolongar su estancia, al momento de hacer su reservación pueden solicitar las noches extras que necesiten, obviamente aprovechando la tarifa promocional.

Informes, reservaciones y otros:


Para reservar tu lugar, mas informes y lo demás puedes ponerte en contacto con nosotros en los correos: alejandra.mejia@ciber-tec.com, info@ciber-tec.com, o bien al teléfono +52 55 5560 0168 de la ciudad de México, de lunes a viernes de 10:00 a 19:00 hrs.

Esperamos tu asistencia a este gran evento.


miércoles, diciembre 03, 2014

Descarga tus facturas desde el portal del SAT con VGestorCFDI. Parte 2.


Como comentaba en el artículo anterior, creamos 2 versiones de VGestorCFDI, una para usuarios finales y otra para los programadores.

Ahora toca el turno para explicar el funcionamiento de VGestorCFDI (o ConsultaSAT, como quieras llamarle) para desarrollador y como incluirlo en tus programas.

La versión para desarrollador de VGestorCFDI es una línea de comandos que puedes ejecutar desde tus programas Windows ya sea con una llamada las funciones WinExec() o WaitRun(), disponbiles en la mayoría de los lenguajes para Windows.

A diferencia de algunos otros de nuestros productos, donde hay LIBs, DLLs y otros componentes para llamarlos nativamente desde desde la mayoría de los lenguajes de programación, esta versión decidimos hacerla como un EXE externo que ha demostrado ser una manera eficaz de implementar en los distintos lenguajes de programación y garantizando que funcione perfectamente en todos ellos.

Antes de descargar la versión de desarrollador, asegurate que el equipo donde vayas a instalar la herramienta cuente con estos requisitos previos:

Estos requisitos también son necesarios para el equipo donde vayas a instalar tu aplicación que utilice ConsultaSAT.

Una vez que nos hemos asegurado de tener los requisitos previos,  estamos listos para descargar la versión de desarrollador de:


Descarga el EXE, ejecutalo en tu computadora y listo, el programa de instalación copiará los archivos necesarios para usar el producto y registrará un control ActiveX que es necesario para que la aplicación funcione.


La versión para desarrollador esta integrada por los siguientes componentes, mismos que deberás distribuir junto con tu aplicación para que ConsultaSAT funcione adecuadamente:

  • ConsultaSAT.EXE
  • CommandLine.DLL
  • csExWB.DLL
  • Interop.CSEXWBDLMANLib.DLL
  • csExWBDLMAN.DLL
Para que la aplicación funcione correctamente con tu software, deberás incluir los archivos anteriores en tu distribución, copiarlos en la carpeta del disco duro donde instales tu programa y al momento de instalar deberás "registrar" en el sistema de Windows un control ActiveX, el cual está contenido en la DLL csExWBDLMAN.DLL

La mayoría de los instaladores gratuitos y comerciales, pueden realizar los procesos de "registro" de los ActiveX en el momento de instalar la aplicación, nosotros recomendamos el instalador gratuito InnoSetup, que aparte de sus muchas características,  tiene la capacidad de registrar ActiveX al momento de instalar un programa.

Los controles ActiveX se pueden instalar también manualmente desde la línea de comandos, es muy importante que cuando ejecutes una línea de comandos para instalar un control ActiveX, lo hagas ejecutando la línea de comandos como ADMINISTRADOR, de lo contrario, el control ActiveX no quedará registrado.

Para ejecutar la línea de comandos como Administrador, da click con el botón derecho del raton, y selecciona del menú: Ejecutar como administrador:

 

Con esto se abrirá la ventana de comandos de Windows y podrás registrar el ActiveX tecleando:

REGSVR32  csExWBDLMAN.DLL



Nota que debes teclear este comando DESDE LA CARPETA DONDE TIENES LA DLL que quieres registrar, y repito: si quieres automatizar este paso, utiliza un instalador que registre ActiveX.

El archivo instalación que descargaste registra el ActiveX al momento de instalar, por lo que no es necesario que hagas el paso anterior manualmente.


Usando VGestorCFDI para desarrollador:

Como comenté al principio, ConsultaSAT para desarrollador es una línea de comando a la cual le envias los parámetros de consulta por medio de "switches", estos switches no son mas que letras o palabras que le indican al programa lo que tiene que hacer, seguido del parametro de configuración.

Los switches se pueden indicar con una sola letra antecedida por un signo de "-" (-o, -r, etc.) o bien mediante una palabra antecedida por 2 signos de "-" (--rango, --inicial, etc).


VGestorCFDI utiliza los siguientes switches:

Switches obligatorios y de información del contribuyente:

-e, --emisor: Se utiliza para indicar el RFC del  contribuyente del cual se desean descargar los archivos XML del portal del SAT. Es un parametro OBLIGATORIO

-c, --ciec: Se utiliza para indicar la clave CIEC (Clave de Identificación Electrónica Confidencial) del contribuyente, esta clave se tramita en el SAT y es la que se utiliza para acceder a los servicios del portal del SAT. Es un parámetro OBLIGATORIO

-l, --licencia: Es la licencia de uso del producto, esta licencia es gratuita para descargar archivos del año 2014 y se obtiene del portal de licencias de ConsultaSAT, para mas información para obtener la licencia gratuita de uso del producto, consulta la Parte 1, de esta serie de artículos. Es un parámetro OBLIGATORIO

Swtiches para controlar los archivos de salida:

-p, --path: Indica la ruta del disco duro donde se guardarán los XMLs descargados de la página del SAT, si la carpeta no existe, el programa la crea, la carpeta predeterminada es C:\ConsultaSAT. Cabe mencionar que el programa creará OTRAS carpetas debajo de la anterior, ya sea la de default o la que tu indiques, creará una carpeta con el nombre del RFC del cual estas obteniendo los archivos, debajo de esta carpeta creará otra carpeta con el nombre del AÑO que estes descargando, debajo de esta carpeta creará otra carpeta con el numero del mes que estas descargando y finalmente, debajo de esta carpeta creará una carpeta mas con el nombre "R", donde se almacenarán los documentos RECIBIDOS y otra con el nombre "E", donde se almacenarán los documentos EMITIDOS.


-o, --outFile: Sirve para indicar el nombre del archivo de salida donde se guardarán los resultados de la operación de descarga. Este es un archivo con formato XML donde se guardará el resultado y donde se indicará la cantidad de archivos encontrados, existentes, la fecha de la ultima descarga, etc, y además se incluye un listado de todos los documentos descargados indicando entre otros datos UUID: RFC, nombre del emisor y del receptor, fecha de certifiación, PAC que certificó, tipo de comprobante, estado, etc., si no se indica nombre, el programa creará ConsultaSAT.LOG en la misma carpeta indicada en el parametro -p. En caso de proporcionar un nombre específico al archivo este se creará en la ruta indicada en el nombre.


Switches para configurar tipos de documento y períodos de descarga:

-t, --type: Se utiliza para indicar el tipo de documento que deseamos recuperar de la pagina del SAT, se debe utilizar la letra "E" mayuscula para indicar que se quieren descargar los documentos EMITIDOS, o bien la letra "R" mayúscula para indicar que se quieren descargar los documentos RECIBIDOS.

Los siguientes 3 parámetros deben siempre de usarse juntos, y NO SE DEBEN UTILIZAR CUANDO SE UTILICEN LOS PARAMETROS -m, --mes, -a y --anio.

-r, --rango: Le indica VGestorCFDI que se desea realizar una búsqueda por rango de fechas, no se debe usar cuando se utilizan los parámetros -m, --mes, -a y --anio.

-i, --inicial: Indica la fecha inical de búsqueda, la fecha debe expresarse COMPLETA en el formato AAAA-MM-DDTHH:MM:SS, este parametro no se debe usar cuando se utilicen los parámetros -m, --mes, -a y --anio.

-f, -- final: Indica la fecha final de búsqueda, la fecha debe expresarse COMPLETA en el formato AAAA-MM-DDTHH:MM:SS, este parametro no se debe usar cuando se utilicen los parámetros -m, --mes, -a y --anio.

Los siguientes 2 parámetros deben de usarse siempre juntos y NO DEBEN DE USARSE CUANDO SE UTILICEN LOS PARAMETROS -r, --rango, -i, --inicial, -f y --final.

-m, --mes: Indica el número de mes que se desea descargar, este número hay que indicarlo siempre CON DOS DIGITOS (01 = Enero, 02 = febrero ......11 = Noviembre, 12 = Diciembre), este parámetro no se debe usar cuando se utilicen los parámetros  -r, --rango, -i, --inicial, -f y --final.

-a, --anio: Indica el numero de año que se desea descargar, este número hay que indicarlo siempre CON CUATRO DIGITOS (2013, 2014, 2015, etc), este parámetro no se debe usar cuando se utilicen los parámetros  -r, --rango, -i, --inicial, -f y --final.

En este punto tenemos que hacer un paréntesis para analizar las reglas que impone el SAT para descargar documentos del portal:

En primer lugar, el portal del SAT no permite descargar mas de 500 documentos por conexión.

En el caso de los documentos EMITIDOS, el rango de fechas solo puede estar DENTRO DEL MISMO AÑO, es decir no puedes descargar documentos de Octubre del 2013 a Marzo del 2014 por ejemplo, tienes que especificar fechas dentro del mismo año calendario es decir, de Octubre a Diciembre del 2013 y luego puedes hacer otra descarga de Enero a Marzo del 2014.

En el caso de los documentos RECIBIDOS, la fecha solo puede ser DENTRO DEL MISMO DIA, y existe una buena razón para esto, algunos de nuestros usuarios reciben mas 100 mil XMLs al mes, obviamente con la limitación de 500 documentos por descarga no es posible descargar todos los documentos recibidos, así que cuando uses la descarga por rango de fechas para documentos recibidos, puedes hacerlo por intervalos de tiempo dentro del mismo día:

Pensemos que el día 25 de Noviembre de 2014 recibiste mas de 500 documentos durante el día ¿ cómo descargarlos todos ?, bueno, si crees que entre las 00:00:00 y las 09:00:00 no hay mas 500 documentos, entonces puedes hacer una descarga:

desde: 2014-11-25T00:00:00
hasta:  2014-11-25T09:00:00

Luego, si crees que hay menos de 500 documentos por hora, puedes hacer una descarga:

desde: 2014-11-25T09:00:00
hasta: 2014-11-25T11:00:00

O bien, puedes reducir aun mas los intervalos de descarga incluso a minutos o segundos, por ejemplo:

desde: 2014-11-25T13:30:00
hasta:  2014-11-25T13:35:00

Y podrás recuperar los documentos generados dentro de los 5 minutos del rango de la hora especificada, usando esta característica puedes darle la vuelta a la limitación de los 500 documentos por conexión.

Parámetros para controlar la ventana de interfaz:

La línea de comandos tiene una pequeña interfaz que te mostrará en pantalla el progreso de la descarga de los docuementos, dicha interfaz siempre aparecerá en la parte inferior derecha de tu pantalla cuando ejecutes ConsultaSAT:


Por default esta interfaz está programada para aparecer, ejecutar de manera automatica la descarga de archivos de acuerdo a los parámetros que le proprocionaste en la línea de comandos y después de realizar las operaciones, cerrarse de manera automática, sin embargo, para propósitos de depuración de tu programa cuando lo integres a tu sistema, es posible manipular algunos comportamientos usando switches:

-s, --showForm: Muestra la interfaz, pero no ejecuta el proceso de descarga automáticamente, para hacerlo, deberás pulsar manualmente el botón Consultar, esto te permite revisar que los parámetros hayan sido pasados correctamente y en un momento dado modificarlos antes de realizar la descarga. Después de realizar la consulta, la interfaz se cerrará automáticamente.

-x, --noclose: Si se especifica este parámetro, la ventana de interfaz no se cierra al terminar de descargar los archivos y permanece abierta NO HAY MANERA DE CERRARLA, evita el uso de este parámetro.

-v, --maxvueltas: En algunas ocasiones el portal del SAT demora en entregar los archivos XMLs, con este parámetro se estable el número máximo de intentos que debe hacer ConsultaSAT para descargar un XML, el valor por default es 20, recomendamos un valor máximo de 50 intentos de descarga.

--opacity: Este parámetro nos sirve para indicar la transparencia de la ventana de interfaz, sus valores van de 0 a 1 en intervalos decimales, por ejemplo si no se quiere que la ventana de interfaz aparezca, habrá que indicar un valor 0 en este parámetro, si quieremos la ventana transparente un valor 0.5 podría ser aceptable, mientras que si queremos que aparezca la ventana usaremos el valor por default que es 1. EVITA USAR ESTE PARAMETRO CUANDO UTILICES LOS SWITCHES -s ó -x, ya que si la ventana está invisble no es posible interactuar con ella.

Veamos algunos ejemplos básicos del uso de la linea de comandos:

Ejemplo para descargar XMLs RECIBIDOS del mes de ENERO de 2014:

consultasat -e CTE940531F58 -c 1234abc -p C:\XMLSRECIBIDOS -t R -m 06 -a 2014 -o C:\XMLRECIBIDOS\junio.XML -l 2cuYXf/XeUdep13U4aO5NCmepd374YnrHtENyyutO0i2dpbVSVCUqGereg1

Ejemplo para descargar XMLs EMITIDOS del mes de NOVIEMBRE de 2014:

consultasat -e AAA010101AAA --ciec 1234ABC --path C:\XMLSEMITIDOS -t E -m 11 -a 2014 -o C:\XMLSEMITIDOS\NOVIEMBRE2014.XML --licencia 1cuYXf/XeUdep13U4aO5NGBlbdpbVSVCUqGereg1


Ejemplo para descargar XMLs RECIBIDOS del día 26 de Noviembre del 2014 de las 9 de la mañana a las 6 de la tarde (recuerda: documentos recibidos solo se pueden descargar del mismo dia):

consultasat -e AAA010101AAA -c 1234abc -p C:\XMLSRECIBIDOS -t R --rango -i 2014-11-26T09:00:00 --final 2014-11-26T17:59:59 -o C:\XMLSRECIBIDOS\NOVIEMBRE2014.XML -l 2cuYXf/XeUdep13U4aO5NCmepd374YnrHtENyyutO0i2QGBlbdpbVSVCUqGereg1

Ejemplo para descargar XMLs EMITIDOS de los meses de OCTUBRE y NOVIEMBRE del año 2014:

consultasat -e AAA010101AAA -c 1234abc -p C:\XMLSEMITIDOS -t E -r -i 2014-10-01T00:00:00 -f 2014-11-29T23:59:59 -o C:\XMLSEMITIDOS\RangoOctNov2014.XML -l 2cuYXf/XeUdep13U4aO5NCmepd374YnrHtENyyutO0i2QGBlbdpbVSVCUqGereg1


Próximamente liberaremos nuevas opciones en la línea de comandos, te recuerdo que para cualquier duda o aclaración nos contactes al tel (55) 55600168 o al correo soporte@ciber-tec.com

martes, diciembre 02, 2014

Descarga tus facturas desde la página del SAT con VGestorCFDI. Parte 1.

Desde que empezamos con el servicio de timbrado fiscal VirtualPAC, muchos de nuestros usuarios (la gran mayoría) nos han pedido nuevas herramientas para controlar y administrar los archivos XML tanto de sus facturas, emitidas y recibidas como de sus recibos de nómina.

Una cosa es cierta, muy pocos contribuyentes llevan un control eficiente de sus documentos electrónicos, y existe el ENORME problema de que aunque muchos emisores envían a sus clientes su factura en formato electrónico XML así como su representación impresa en formato PDF, muchos de los clientes no le dan importancia al documento electrónico y lo desechan, imprimen el documento PDF y luego se olvidan del archivo, en pocas palabras, llevan el control "a la antigua".

El próximo año entra en vigencia la CONTABILIDAD ELECTRONICA, y es requisito para cumplir con ella, referenciar los números de factura electrónica (UUIDs) en las pólizas que integran la contabilidad. Si bien esto no es obligatorio (de momento) tarde o temprano se necesitará dicha integración entre la facturación y la contabilidad electrónica.

Por otro lado, hay una interesante cantidad de empresas que NO ENVIAN los documentos XML de las facturas, hay que conseguirlos desde los portales de internet de los proveedores (cosa que ya no se debería  hacer) y de hecho, casi ningún cliente va y recupera sus XMLs.

Facturas del Telmex, Telcel, Comisión Federal de Electricidad, IMSS, o de almacenes como Liverpool, Palacio de Hierro o BestBuy duermen el sueño de los justos en los portales de internet de dichas empresas, sin que nunca el receptor de dicho documento los recupere.

Por otro lado, el SAT proporciona un portal donde usando la clave CIEC (Clave de Identificación Electrónica Confidencial) o la Firma Electrónica Avanzada (FIEL) del contribuyente, es posible recuperar todas los comprobantes fiscales electrónicos, tanto emitidos como recibidos.

Este servicio del SAT tiene ventajas y desventajas, la principal ventaja es que en un solo lugar están almacenados TODOS los documentos fiscales digitales, facturas, recibos de honorarios y arrendamiento, cartas porte, recibos de nómina y próximamente también las retenciones de impuestos realizadas por las empresas.

Otra ventaja es que al existir todos los documentos almacenados en el SAT, es que los documentos se encuentran validados y debidamente certificados por los Proveedores Autorizados de Certificación (PACs) y por lo tanto son válidos y fiscalmente deducibles.

Por otro lado, el estado de todos los documentos, ya sea si se encuentran vigentes o cancelados, está registrado también en el propio SAT y ya que es posible cancelar documentos en cualquier momento del ejercicio fiscal, el contribuyente que recibe el documento original, por medio de este portal, está en posibilidad de saber en todo momento el estado de los documentos recibidos.

Pero no todo son ventajas, la operación dentro del portal del SAT requiere de mucha (demasiada) intervención humana, las consultas hay que hacerlas ingresando datos manualmente, la descarga de los documentos XML hay que hacerla uno por uno y  manualmente también, las representaciones impresas (PDFs) no se encuentran almacenadas en el portal a menos que la factura haya sido elaborada utilizando el servicio gratuito de emisión del SAT y finalmente, el portal del SAT no permite descargar mas de 500 documentos por sesión.

Por las razones anteriores: la contabilidad electrónica, la necesidad de descargar todos los documentos desde el portal del SAT, el conocer el estado actual de los comprobantes, nos llevaron a pensar en la posibilidad de crear una aplicación que se pudiera conectar al portal del SAT, automatizar la navegación y descargar del mismo los documentos necesarios, con intervención mínima del usuario.

No voy a entrar en detalles técnicos de como hicimos, baste de momento saber que "automatizamos" la navegación por el portal del SAT, y llegamos mucho mas allá de lo que pensamos que era posible hacer con nuestra aplicación VGestorCFDI. (nombre clave: ConsultaSAT).

No creamos UNA, creamos DOS aplicaciones para la descarga de documentos desde el portal del SAT, una para el usuario final, cuya operación comentaré en este post, y otra más para que el desarrollador de aplicaciones que desee implementar esta funcionalidad en sus programas. y que mostraré como utilizar en el siguiente artículo.

VGestorCFDI, aplicación de escritorio para el usuario final.

Antes de empezar a analizar el producto, es necesario que descargues el programa de instalación del siguiente enlace:


Solo ejecuta el archivo descargado, instala la aplicación y listo; el programa de instalación configurará todos los componentes necesarios para la correcta ejecución del programa, sin embargo, es necesario contar con los siguientes requisitos en el equipo donde vayas a ejecutar el programa:


Si tienes instalado Office 2010 o superior, estos requisitos están cumplidos.

Después de instalar el programa, simplemente ejecútalo y verás la pantalla principal del programa:


El producto tiene múltiples opciones, así que iremos analizando una por una:


Administrando Contribuyentes:

VGestorCFDI (este es un buen momento para comentar: el nombre clave del proyecto, como lo conocemos en CiberTec es "ConsultaSAT", es por ello que verás referencias indistintamente a ConsultaSAT o a VGestorCFDI, en todo caso, nos estamos refiriendo al mismo producto), es una herramienta MULTICONTRIBUYENTE, lo cual lo hace ideal tanto para un usuario que tenga un solo RFC o bien para despachos de contadores o para corporativos empresariales que manejen mas de un RFC.

La primera opción de la barra del menú (Contribuyentes) realiza el mantenimiento del catálogo, cuenta con las opciones típicas para el mantenimiento de los contribuyentes:


Es importante mencionar que para usar la herramienta es necesario tramitar una licencia de uso del sistema, a través de un portal de internet que hemos diseñado para este fin. Esta licencia es GRATIS para consultar y descargar documentos del ejercicio 2014, pero para ejercicios posteriores o anteriores, hay que pagar una pequeña cuota por cada ejercicio que desees descargar (ya sé que esto de pagar no le gusta a muchos y créanme, lo siento mucho, pero tenemos familiares que tienen la costumbre de comer 3 veces al día y acreedores que esperan que paguemos nuestras deudas puntualmente).

La buena noticia es que gracias a este portal, puedes distribuir nuestra herramienta a tus clientes, amigos, usuarios, etc., generar tu mismo tus licencias y administrarlas y de paso obtener alguna ganancia (un pequeño extra cada mes no viene mal ¿ no ?), si estás interesado en la distribución de la herramienta, contacta con ventas@ciber-tec.com para obtener la lista de precios.

Bien, regresando al tema generación de licencias, decíamos que estas se generan desde el portal que está ubicado en la dirección:


Deberás crear una cuenta (opción Registrate) en la parte superior derecha:



Para poder iniciar sesión, primero es necesario registrarse, el proceso de registro lleva unos cuantos clicks del mouse, unos cuantos pulsos de teclas y unos cuantos datos:



Se te enviará un correo electrónico a la cuenta que registres con un link de internet que te servirá para validar tu dirección del correo en el portal (no nos gustan las direcciones falsas de correo,  nos gusta estar siempre y contacto con ustedes), a partir de que verifiques tu cuenta de correo, esta será tu nombre de usuario para acceder a los servicios de administración de licencias, una vez verificada tu cuenta, podrás acceder al portal con la opción Iniciar Sesión en la parte superior derecha de la pagina:



El portal tiene varias opciones para administrar tus licencias, no lo analizaremos a profundidad en este post, de momento solo utilizaremos la opción para generar la licencia gratuita para consultar el año 2014:



Utiliza la opción Nueva Licencia, ingresa el RFC del contribuyente del cual deseas recuperar los XMLs del portal del SAT, y marca 2014 para generar tu licencia gratuita:



Como puedes observar, es posible marcar otros años además del 2014, si deseas recuperar los XMLs del mismo contribuyente, pero de otros ejercicios deberás marcar los años de los cuales deseas obtener los XMLs, sin embargo, para poder consultar otros años es necesario contar con Créditos.

Cada año adicional que desees consultar anterior o posterior al 2014 tiene un costo de 1 Crédito por RFC, si deseas obtener una lista de precios de los créditos así como los descuentos que tenemos en compras por volumen, contacta por favor a ventas@ciber-tec.com para solicitar una lista de precios.

Bien, una vez ingresado el RFC y seleccionado el(los) año(s) que deseamos consultar en el portal del SAT, obtenemos la licencia, así como un Estado de Cuenta de las licencias generadas y de los créditos consumidos:



Ahora estamos listos para dar de alta a nuestro primer contribuyente, copia la licencia generada en el portal, regresa a la aplicación VGestorCFDI y selecciona la opción Agregar, del menú de Contribuyentes.

Verás una pantalla similar a esta:



Proporciona los datos solicitados: licencia, RFC, la clave CIEC (Clave de Identificación Electrónica Confidencial) misma que se tramita ante el SAT y el nombre o razón social del contribuyente para poder identificarlo posteriormente.

Es MUY IMPORTANTE que proporciones correctamente tanto el RFC del contribuyente como la clave CIEC ya que esta es la que nos da entrada al portal de consultas del SAT vía internet.

El sistema es multicontribuyente, por lo que podrás registrar todos los contribuyentes que desees y administrar los XMLs descargados de cada uno desde la misma aplicación, la sección de la izquierda de la ventana principal muestra todos los contribuyentes registrados:


Ya estamos listos para comenzar a descargar los achivos XML.


Descarga de los archivos XML.

Una vez configurado el contribuyente, ConsultaSAT nos ofrece la posibilidad de descargar 2 tipos de documentos: los documentos emitidos por el propio contribuyente y los documentos recibidos por el mismo, usando la opción Tipo: de la barra de herramientas del sistema:


Si, lo sé, los documentos que tu generas se supone (por ley) que debes tenerlos almacenados; por otro lado si utilizas nuestro servicio de timbrado VirtualPAC nosotros te guardamos todos los CFDIs generados con nuestro servicio por 5 años y te damos un portal de internet donde puedes consultarlos, luego entonces .... ¿ Porqué querría descargar del portal del SAT los XMLs que yo emito ?

La respuesta es muy simple: Los accidentes llegan a suceder, los discos duros se corrompen, las computadoras se dañan, los respaldos fallan y, aunque nosotros tenemos copia de los XMLs emitidos en los servidores de VirtualPAC, no tenemos manera de saber el ESTADO del comprobante, es decir, nosotros guardamos el documento, pero no sabemos si después de generado lo cancelaste, o si el comprobante sigue vigente, esa información solo se encuentra en el SAT.

Hablando de documentos cancelados por ti, ¿ sabías que para comprobar que el documento fue efectivamente cancelado es necesario tener el ACUSE DE CANCELACION del SAT ?, bueno entre otras cosas, VGestorCFDI además de recuperar los archivos XML de los documentos que tu emitiste, también recupera los archivos PDF de todos los XMLs cancelados.... a que es buena idea usar ConsultaSAT para descargar los documentos que tu emitiste.

Hablemos ahora un poco de los documentos que tu recibes, como mencioné al principio del post, hay una buena cantidad de archivos XML que recibes y que no sabes que recibes, como por ejemplo el del Seguro Social, el del Telefono, Club de Precios, tus recibos de nómina, etc.

VGestorCFDI puede descargar todo lo descargable de la pagina del SAT, y en el caso de los documentos recibidos por ti, podemos descargar además de los XMLs, también los archivos PDFs correspondiente, si es que la factura se generó desde el servicio gratuito de generación de facturas que ofrece el SAT.

Bien, basta ya de tanta charla, selecciona el Tipo de documento que quieras descargar: Emitidos o Recibidos.

Ahora estamos listos para comenzar a descargar.

VGestorCFDI te ofrece 2 maneras de descargar los documentos: Por Rango de Fechas o bien por Meses completos.


Descarga por Rango de Fechas:



El portal del SAT presenta una limitante: solo puedes descargar 500 documentos cada vez que te conectas a él, pero usando esta opción del menú es posible darle la vuelta esta limitación, presiona el botón Rango de Fechas de la barra de botones, entonces verás una pantalla similar a esta:


Solo tienes que proporcionar el Tipo de documento y el rango de fechas (Desde y Hasta) que deseas descargar, proporcionando la fecha en el formato AAAA-MM-DDTHH:MM:SS, te proporcionamos un calendario al momento de capturar los datos de fechas para ayudarte en la selección de los días, y para las  horas puedes utilizar las flechas arriba y abajo para cambiar las horas, minutos y segundos del rango de tiempo, luego simplemente presiona el botón Aceptar y Recuperar y listo, en unos segundos tendrás tus XMLs en el disco duro de tu computadora.

En este punto tenemos que hacer un paréntesis para analizar las reglas que impone el SAT para descargar documentos del portal:

En el caso de los documentos EMITIDOS, el rango de fechas solo puede estar DENTRO DEL MISMO AÑO, es decir no puedes descargar documentos de Octubre del 2013 a Marzo del 2014 por ejemplo, tienes que especificar fechas dentro del mismo año calendario es decir, de Octubre a Diciembre del 2013 y luego puedes hacer otra descarga de Enero a Marzo del 2014.

En el caso de los documentos RECIBIDOS, la fecha solo puede ser DENTRO DEL MISMO DIA, y existe una buena razón para esto, algunos de nuestros usuarios reciben mas 100 mil XMLs al mes, obviamente con la limitación de 500 documentos por descarga no es posible descargar todos los documentos recibidos, así que cuando uses la descarga por rango de fechas para documentos recibidos, puedes hacerlo por intervalos de tiempo dentro del mismo día:

Pensemos que el día 25 de Noviembre de 2014 recibiste mas de 500 documentos durante el día ¿ cómo descargarlos todos ?, bueno, si crees que entre las 00:00:00 y las 09:00:00 no hay mas 500 documentos, entonces puedes hacer una descarga:

desde: 2014-11-25T00:00:00
hasta:  2014-11-25T09:00:00,

Luego, si crees que hay menos de 500 documentos por hora, puedes hacer una descarga:

desde: 2014-11-25T09:00:00
hasta: 2014-11-25T11:00:00

O bien, puedes reducir aun mas los intervalos de descarga incluso a minutos o segundos, por ejemplo:

desde: 2014-11-25T13:30:00
hasta:  2014-11-25T13:35:00

Y podrás recuperar los documentos generados dentro de los 5 minutos del rango de la hora especificada, usando esta característica puedes darle la vuelta a la limitación de los 500 documentos por conexión.


Descarga por mes completo.


Si de antemano sabes que no tienes mas de 500 documentos emitidos ó recibidos, puedes utilizar esta opción que es la mas rápida para descargar los documentos:


Simplemente selecciona el Mes y el Año y presiona el botón Consulta SAT, espera unos instantes y tendrás descargados todos los documentos del mes:

Durante el proceso de descarga, podrás ir viendo en la barra de estado (en a parte inferior de la pantalla) el progreso de las operaciones:


http://www.ciber-tec.d2g.com/vgestor/vgcfdi200.gif


Los documentos (XMLs y en caso de haberlos, los PDFs) se descargarán en la carpeta C:\CFDI, de momento esta carpeta no se puede cambiar, pero es una mejora que pensamos incluir en futuras versiones del programa, lo hemos conservado así para mantener el producto sin muchas complicaciones de configuración.

El nombre de los documentos es el número de UUID de cada uno asignado por el PAC al momento de timbrar el documento.

Una vez descargados los archivos en tu computadora tu pantalla debería de verse como esta:


Verás en la parte superior un listado de todas las facturas descargadas con todos los datos necesarios para identificarlas, como emisor, receptor, fecha, UUID importe y algo MUY IMPORTANTE: el estado del docuemento: Vigente o Cancelado.

Cabe mencionar que ConsultaSAT ¡¡¡ es capaz de detectar si un documento cambia de estado !!!! ¿ Cómo lo hace ? muy fácil.... si vuelves a ejecutar la misma descarga y el estado del documento ha cambiado, el programa te informará cual o cuales documentos que estaban vigentes cuando se descargaron la primera vez ahora se encuentran cancelados, tanto emitidos como recibidos.

En la parte inferior del listado de documentos verás una sección dividida en con 3 pestañas:

 

Esta sección te permite visualizar lo siguiente:

En la primer pestaña se presenta el XML descargado:

 

La segunda pestaña presenta un PDF genérico creado por VGestorCFDI con la representación impresa del documento:

 

El diseño de este PDF puede modificarse desde la opción Reportes /Generar PDF / Diseñar  de la barra de herramientas, como veremos mas adelante.

Finalmente, la tercer pestaña funciona unicamente para documentos EMITIDOS y si se encuentran CANCELADOS, podrás visualizar también el PDF con el acuse de cancelación del SAT:

 

Para poder visualizar estos documentos, es indispensable que cuentes con el Adobe Acrobat Reader XI instalado en tu computadora.


Resultados: Reportes y diseño:

Los reportes de VGestorCFDI están basados en el fabuloso generador de reportes FastReport, recomendamos que visites la Web de FastReport donde podrás obtener un manual del uso del diseñador de reportes de manera gratuita, si es que estás interesado en modificar los reportes que vienen incluídos en el programa.

Una vez descargados los XMLs, solo queda revisar el resumen de las descargas, para ello usamos el módulo de reportes de ConsultaSAT que tiene unicamente 4 opciones:



La primera opción Generar PDF's nos permite generar TODOS los PDFs del período seleccionado, a partir de los XMLs descargados.

En la pantalla principal del programa, cada vez que te mueves de registro en el listado de XMLs descargados, se genera automaticamente el archivo PDF generico, esto puede ralentizar la navegación por el listado de los XMLs por lo que es buena idea utilizar esta opción para generar en un solo paso todos los PDFs y que la navegación por el listado no sea lenta.

Los PDFs generados se guardan en la misma carpeta donde se encuentran los XMLs (C:\CFDI por default) y el nombre del PDF es el mismo que el nombre del XML es decir el UUID del documento.

La segunda opción: Diseñar, te permite cambiar el PDF genérico que proporcionamos, usando el editor de reportes incluído en el producto (úsalo bajo tu propio riesgo, te recomendamos leer el manual que FastReport te proporciona de manera gratuita).


El diseñador de reportes para el PDF genérico viene pre-cargado con todos los valores del XML de la factura electrónica por lo que para diseñar el documento solo tendrás que cambiar de lugar los datos que ya están configurados.

De momento solo emitimos PDF de factura electrónica, en futuras versiones incluiremos también el PDF de recibos de nómina y de retenciones.

La tercera opción del menú: Concentrado, genera un informe ya sea de documentos emitidos o bien recibidos incluyendo datos como fecha, RFC emisor y receptor, serie y folio del documento, UUID, totales y estado y lo presenta en una pantalla vista previa como esta:


Desde la pantalla de vista previa puedes imprimir el reporte o bien exportarlo a cualquiera de los formatos incluidos: Word, Excel, HTML, PDF, envio por email,  texto plano, DBF, o bien guardarlo en Dropbox, GoogleDrive o Skydrive.

Finalmente, la cuarta opción del menú: Diseñar, te permite modificar el informe anterior, agregar o quitar columnas que no te interesen, y como en el caso del diseño del PDF, incluimos todos los campos que puedes utilizar en el informe:



Otras herramientas:

Del lado izquierdo de la pantalla principal veras 3 pestañas verticales:

 

La pantalla principal del programa está divida en 3 pestañas, cada una te da información muy importante sobre los procesos que efectua el programa.

La primer pestaña: Comprobantes, te da la información general de Contribuyentes, Documentos descargados y visualizacion de XMLs y PDFs:

 


La segunda pestaña: Registro, lleva una bitacora de las operaciones realizadas en cada conexión al servidor del SAT:


Esta sección te muestra la fecha en la que haz hecho conexiones al portal del SAT, el tipo de documento que descargaste, de que mes y de que año y de esos documentos cuantos se actualizaron, es decir cambiaron de estado, este listado es ideal para localizar docuementos que antes estaban vigentes pero que posteriormente fueron cancelados.

Finalmente la tercer pestaña: Navegación, realiza una operación muy interesante: te permite ver "en vivo" la navegación sobre el portal del SAT, selecciona esta tercer pestaña ANTES de hacer una consulta al portal del SAT, y durante el proceso de recuperación de archivos podrás ver como ConsultaSAT automatiza la navegación sobre el portal del SAT desde el proceso de acceso hasta cerrar la sesión.


Esta opción es util en caso de que el programa no obtenga respuesta para poder ver si hay algun error en la navegación del portal.  

Como verás, hemos podido realizar una aplicación muy interesante y útil para todos los contribuyentes, lo que nos llevo a pensar en hacer un módulo para que los programadores pudieran incorporar VGestorCFDI en sus programas, mismo que comentaré en el mi próximo artículo.

Cualquier duda sobre la operación del programa puedes plantearla en este mis blog, o bien comunicarte con nosotros al tel. (55) 55600168 para obtener mas información





sábado, octubre 19, 2013

Todo en uno.... FastReport para (x)Harbour (GRATIS) y Xailer.


Hace un par de meses hablábamos sobre el futuro de FastReport que ahora es llevado por el equipo Xailer.

Especulabamos en aquella ocasión sobre disponibilidad y precio del producto, y al día hoy (en realidad hace mas de 10 días) sabemos como será el licenciamiento y que va a ofrecer.

El equipo Xailer le apuesta fuerte a su versión de FastReport para (x)Harbour, lanzando simultáneamente dos versiones del producto, una exclusiva para Xailer, que se integra dentro del IDE directamente y que además puede hacer otras "cosillas", que comentaremos mas adelante, y la versión "clásica" de FastReport para (x)Harbour, que funciona de manera similar la versión de Sergey y que se puede usar tanto en (x)Harbour modo consola, como con otras GUIs, como FiveWin o Harbour MiniGUI.

El precio del producto ha dejado de ser un misterio, la licencia nueva de FastReport para Xailer-(x)Harbour, va a tener un precio de 300 Euros, similar al precio que tenía con Sergey, sin embargo solo por este mes de Octubre, los usuarios actuales de FastReport, que quieran "actualizar" a la versión de FastReport desarrollada por Xailer, obtendrán un descuento de 100.00 euros con respecto al precio establecido, es decir, pagarán solo 200.00 Euros.

¿ Te interesaría obtener FastReport GRATIS ?.... sí leiste bien, GRATIS, sin pagar ni un solo centavo.... ¿ Cómo ?.....

Aquí esta la clave, solo por este mes, hasta el 31 de Octubre del 2013, comprando una licencia de Xailer ENTERPRISE nueva (no actualización, ni renovación de servicio de soporte), obtendrás SIN COSTO tu licencia de FastReport para Xailer y también para (x)Harbour.... todo en un solo paquete, pagando unicamente 545.00 Euros, $705.00 USD ò 10,500.00 pesos mexicanos.

Y por si fuera poco y vives en Mèxico... NOSOTROS TE REGALAMOS EL CURSO DE XAILER BASICO para que aprendas TODO lo que necesitas saber para aprovechar al màximo tu nueva compra.  Este curso es para una sola persona, se imparte en nuestras instalaciones de la Ciudad de Mèxico, tiene una duraciòn de 3 dìas (25 horas) y un precio normal de $ 350.00 USD,  abarca todo lo que necesitas saber para comenzar a desarrollar aplicaciones con Xailer..... y ES GRATIS, para todos los interesados que radiquen en Mèxico, pero solo hasta el 31 de Octubre del 2013.

¿ Que ventajas voy a obtener ?.... muchas.... veamos algunas.

Mucho se ha hablado de un IDE para FiveWin (proyecto que quedó descartado hace mucho tiempo), Harbour MiniGUI tiene "algo" parecido a un IDE, Visual (x)Harbour es un entorno de desarrollo que lleva ya no sé cuantas versiones "beta" y que aún no termina de estar listo, yo no he visto ninguna aplicación completa totalmente desarrollada en Visual (x)Harbour, ni siquiera las aplicaciones de los promotores del proyecto.

Hoy por hoy, Xailer es un entorno de desarrollo que ha demostrado su estabilidad y fortaleza en todos lo sentidos, mismos que se destacan hoy en día al incluir la última pieza del rompecabezas que hacía falta: a FastReport.

Muchos de mis lectores podrían pensar.... ya está todo inventado, sí, sí, sí, FiveWin tiene la clase REPORT y la clase PRINTER y con ellas se puede hacer TODO lo que se necesita a nivel reportes.... pues sí y no.

Si recordamos los origenes de FiveWin, tendremos que recordar que las clases de impresión fueron escritas originalmente por Ignacio Ortiz de Zuñiga, autor junto con José Gimenez del proyecto Xailer, si bien esas clases sirven "para todo" a nivel reporterìa, su principal desventaja es de que carecen de dos cosas que desde mi punto de vista son escenciales: Un diseñador visual de reportes, y un motor de exportación que permita obtener informes en mas de un formato, y por otro lado, cualquier cosa que quieras hacer hablando de informes, la tienes que hacer a punta de escribir código, con lo cual, modificar informes existentes o crear nuevos, con lleva tirar lineas y lineas de codigo.

Si bien aun carecemos de un diseñador visual de informes propietario, algunos desarrolladores han optado por usar otros diseñadores como Crystal Reports, List&Label, el mismo FastReport, etc. y con ello subsanar las carencias que en materia de reportería tiene (x)Harbour en general.

Incluir FastReport en tus desarrollos, independientemente de la plataforma que uses (nosotros usamos la versión para .NET también para aplicaciones en la WEB) te da muchísima libertad para solventar los problemas de diseño de informes que tengas, personalmente me han solicitado muchas cosas "raras", como por ejemplo: "buscar" dentro de la vista previa de un informe un dato, o bien la manera de imprimir en rollos de impresora térmica sin limite de longitud, o la capacidad de continuar usando impresoras matriciales para imprimir informes gráficos, pero sin usar el modo gráfico de la impresora y alguna vez algún usuario me solicitó la posibilidad de modificar un informe DESPUES de haberlo generado, curiosamente todas esta cosas se pueden hacer con FastReport.

Dejemos de lado un momento FastReport y hablemos del "bundle" Xailer Enterprise / FastReport, y miremos el conjunto de herramientas que se nos presenta:

Tenemos por un lado el IDE de Xailer, totalmente terminado y 100% funcional en todas sus características, incluyendo herramientas tan importantes como el editor de código, con la sintaxis coloreada de acuerdo a la gramática de (x)Harbour y de Xailer, los "calltips" con la sintaxis de las funciones de (x)Harbour y el "Intellisense" con los componentes de las clases usadas en cada PRG, por otro lado tenemos el debugger (que no son MsgInfo()), con puntos de ruptura, evaluador de expresiones y analizador de áreas de trabajo (cuando trabajas con DBFs), el diseñador de formularios, que no le pide absolutamente nada a ningún otro diseñador de informes de ninguna otra herramienta y que incluye mas de 80 controles distintos, incluyendo los nativos de Windows y otros desarrollados por el equipo Xailer.

Mención aparte merecen los componentes de manejo de datos, los DataSets y los DataControls te van a permitir manejar tus datos de la manera que quieras pero siempre de una manera muy similar, tanto si trabajas con DBFs o bien usas bases de datos SQL. Xailer incluye un "arsenal" de herramientas muy interesantes en cuanto al manejo de datos se refiere, por ejemplo, se ofrece un soporte completo a archivos DBF tanto con índices NTX como CDX, se ofrece también soporte a Advantage Database Server para NTX, CDX, y el formato nativo ADT/ADI, hay 4 DataSource que sin duda serán de gran interés para tí sobre todo si no quieres usar DBFs y no quiere pagar por usar Advantage: estos datasources son:

SQLite: Xailer ofrece soporte completo a esta base de datos SQL autocontenida, incluyendo un "editor" tipo DBU pero para tablas SQLite, recuerda que SQLite se utiliza ampliamente en los dispositivos Android, a partir de ahí, aumentan sus posibilidades de uso con Xailer.

 MySQL y MariaDB: Bueno, todo el mundo lo sabe, desde que MySQL pasó a ser propiedad de Oracle, su tiempo como base de datos OpenSource también llegó a su fin, ahora hay que pasar por taquilla con Oracle para poder usar legalmente la base de datos, sin embargo, del mismo equipo de desarrollo original de MySQL (recuerda que MySQL primero fue comprado por SunMicrosystems, y luego esta fue adquirida por Oracle) llega MariaDB, un clon de MySQL pero totalmente OpenSource, Xailer ofrece un soporte total a ambas bases de datos SIN USAR UN CONECTOR EXTERNO, es decir, sin cliente ODBC o ADO. Xailer usa su propia librerìa de comunicaciones con estas bases de datos que se integra en tu aplicaciòn simplemente linkeando una liberìa y que via sockets realiza el control de la base de datos, lo que la hace mas ràpida incluso si tu servidor de base de datos està montado sobre internet.

Web: Este data source te permite acceder a los datos que se encuentran en servidores montados sobre internet a los cuales no se pueda acceder por conexiones nativas o bien por ADO o por ODBC, este componente funciona a travez de llamadas http, no por sockets ni por conectores externos, una buena alternativa para explotar bases de datos via internet.

Y ahora viene lo interesante..... todo el manejo de datos de Xailer, se habla de tù con FastReport.... asì de fàcil, pero esto va aùn mas lejos, si no te gusta la ventana de vista previa de FastReport, puedes hacer un formulario con Xailer ..... e incrustar dentro tu informe FastReport !!!!, asì, la interfaz de tu aplicaciòn irà acorde con la vista previa de FastReport y podràs ademàs dotar a la vista previa de exactamente las funcionalidades que tu quieras:



Creo que ahora el circulo està cerrado, lo bueno se ha hecho mejor, y sin duda este es un excelente momento para aprovechar y obtener dos estupendas herramientas de programaciòn por el precio de una y un curso para aprender a usarlas..... buena oportunidad ¿ no crees ?

domingo, julio 14, 2013

FastReport para (x)Harbour esta de regreso !!!! .... De la mano de Xailer !!!!

Si leíste hace algunos años (casi 4 para ser exactos, ¡ cómo pasa el tiempo !) mi artículo FastReport.... Desde Rusia con amor para xHarbour, seguramente no dudaste en comprar tu copia y ponerte a desarrollar todos tus reportes, informes, hojas de cálculo, etc. etc. etc. con FastReport.

FastReport llegó al mundo (x)Harbour de la mano de Sergey Spirin brillante programador ruso,quien desarrolló una completísima interfaz para (x)Harbour, basado en el soporte OLE que FastReport ofrece para todos los lenguajes de programación.

Cuando comprabas FastReport para (x)Harbour a Sergey, él te entregaba una clase para (x)Harbour con su correspondiente código fuente, un archivo de cabecera .CH y una DLL generada por él mismo (FastReport se puede comprar con el código fuente incluído, lo cual permite generar la DLL todas las veces que quieras) dicha DLL contenía todo el generador de informes FastReport (dato curioso: TODO FastReport, incluyendo diseñador visual de informes el módulo de vista previa así como los 11 motores de exportación a distintos formatos, están contenidos en una única DLL de aproximadamente 4 Mbytes de tamaño, que además, no requiere ningún proceso de instalación especial, basta que la copies a la carpeta donde tienes el programa EXE, no necesitas mas nada), con lo cual estabas listo para incluir este poderoso generador de informes en tus programas (x)Harbour, incluyendo los programas desarrollados para modo consola o bien para Windows con cualquiera de las GUIs mas populares: Xailer, FiveWin y Harbour MiniGUI.

Supongo que Sergey se cansó de vender copias y copias de FastReport para (x)Harbour, nosotros en CiberTec, ademas de haber realizado la traducción y el manual del producto de Sergey en español, vendimos algunas decenas de copias del producto, desafortunadamente y porque la vida tiene un final, hace poco mas de 1 año, sin avisar, Sergey Spirin falleció, dejando además de sus deudos personales, a unos cientos de programadores (x)Harbour que usamos su producto, huérfanos y sin saber a quien recurrir,  con esperanza de versiones mas potentes del generador de informes así como con la promesa inconclusa de poder utilizar otros productos de la famila FastReport con (x)Harbour.

El impacto de FastRepot ha sido tal en la comunidad de desarrolladores (x)Harbour, y en especial en la comunidad Xailer (conozco muy pocos desarrolladores de Xailer que no usan FastReport) que el equipo Xailer decidió retomar el proyecto de Sergey, continuar dándole vida a un excelente producto que ya dábamos por perdido para la comunidad de (x)Harbour. Así que Xailer firmó un contrato de "partnership" con la empresa que desarrolló FastReport para remotar el trabajo de Sergey, pero además inyectarle nuevo poder al mismo. Xailer es ahora "Desarrollador Asociado de FastReport"

Una vez firmado el acuerdo con Alexander Tzyganenko, CTO de FastReport, el equipo Xailer puso manos a la obra, primeramente analizando el trabajo de Sergey, que, como mencioné anteriormente, estaba basado en la conexión OLE de FastReport y aunque esto funciona y lo hace bien, no una buena idea hacerlo así, porque añades una capa extra de sobrecarga al programa que realmente no necesita, debido a esto el equipo Xailer decidió hacer llamadas directas a las funciones contenidas en la DLL, con lo cual se gana en velocidad de acceso a los informes.

La ventaja adicional de hacer llamadas directas a la DLL en vez de hacerlo por OLE es que tienes acceso a otras funciones que no están accesibles vía OLE porque no están publicadas para ser usadas por esta tecnología, lo cual le permitió al equipo Xailer acceder a TODO el poder de FastReport, capacidades que solo eran accesibles mediante lenguajes como Delphi, ya que la versión de FastReport que usa (x)Harbour es la misma que usa Delphi como VCL (Visual Control Library), en palabras de Ignacio Ortiz de Zuñiga.... "nos hemos metido hasta la cocina de FastReport y somos capaces de realizar cosas increíbles con el FastReport".

La nueva versión de FastReport para (x)Harbour, mejoró notablemente el acceso a datos, sobre todo en operaciones maestro / detalle / subdetalle / sub-sub detalle, como me comentó Ignacio en su momento ...."parece que Sergey no sabía para que servía el SET RELATION, no veas la que montaba para hacer un maestro detalle" con la nueva versión de FastReport adaptada por el equipo Xailer se facilitó el acceso a datos DBF, pero también, y tomando en cuenta que cada vez son menos los desarrolladores que utilizan tablas DBF y prefieren las bases de datos SQL, la nueva versión de FastReport para xHarbour incluye un completísimo soporte para los DataSets de Xailer.

Se ha tratado de mantener la compatibilidad con todo el trabajo de Sergey, porque es sabido que muchos desarrolladores de (x)Harbour utilizan este producto y sería una pena tener que cambiar la metodología que todos hemos usado hasta el momento para utilizar FastReport, también se han optimizado muchas funciones para mejorar el acceso a los "internals" del generador de informes desde Xailer, como son las llamadas a funciones escritas por tí y que se encuentren contenidas dentro del archivo EXE, Sergey utlizaba una función llamada CallHBFunc() para llamar a una función contenida dentro del EXE, la versión de Xailer realiza la llamada directa, sin necesidad de usar la función anteriormente mencionada.

Otra de las "quejas" o "temores" de los desarrolladores, es que el trabajo de Sergey se quedó estancado en la versión 4.7.92. La versión de FastReport para (x)Harbour desarrollada por el equipo Xailer, funciona con la versión mas reciente del generador de informes, que es la versión 4.14.3 garantizando además que tus aplicaciones van a trabajar con la versión mas reciente del generador de reportes (recuerda que FastReport para (x)Harbour funciona con la versión VCL para Delphi, existen otros productos FastReport para .NET, Lazarus, FMX y Mono.)

¿ Es correcto llamar a este desarrollo FastReport para (x)Harbour ?, de momento creo que no, obviamente el equipo Xailer ha enfocado todo su esfuerzo en hacer que FastReport  en primer lugar funcione correctamente con el IDE de Xailer, y lo ha logrado con todo éxito. En la versión 3.1 de Xailer (en otro artíclo hablaremos mas a fondo de esta nueva versión) se ha incluido una pestaña dentro del diseñador del IDE para ofrecer soporte a FastReport, directamente, tal como se hace en Delphi y en .NET.


Se ha puesto especial interés en el soporte a los DataSets de Xailer, tanto a DBF, ADS, SQL y Array DataSet. Me he tomado la libertad de publicar aquí el ejemplo de FastReport para Xailer (como sería correcto llamarlo), este ejemplo es IDENTICO al que descargas de la página web de FastReport para Delphi, solo que este ejemplo esta escrito en Xailer 3.1, utiliza todo tipo de DataSets de Xailer, incluye 60 reportes distintos en formato FR3 y la libería DLL de FastReport en versión demo:


Una de las cosas que mas me han gustado de esta versión de Xailer y FastReport es que ya no hay necesitad de tener un archivo .XML con las traducciones de los mensajes de FastReport, ya que ahora se pueden incluir dentro del EXE, por otro lado otra enorme ventaja de Xailer 3.1 (repito, hablaremos de esta nueva versión en otro artículo) es la posibilidad de incluir dentro del EXE cualquier tipo de archivo a travez del archivo de recursos, lo cual nos permite incluir todos los informes .FR3 en nuestro en EXE y no tener que repartirlos en archivos individuales, si no lo deseamos.

Ok, está claro, existe un FastReport para Xailer y funciona bien, pero.... ¿ Qué pasa si no utilizo Xailer ?, ¿ Que pasa si utilizo FiveWin, MiniGUI, Visual xHarbour o simplemente (x)Harbour en modo consola ?, pues que DE MOMENTO no podrás usar esta nueva versión ya que ha sido especificamente diseñada para su uso con Xailer y mas especificamente con la versión 3.x, sin embargo, he hablado con Ignacio y me comenta que seguramente habrá un versión "genérica" para usar con (x)Harbour y con todas sus GUIs "mas adelante", pero no hay, de momento, una fecha definida para liberar dicha versión, aunque pensándolo bien y después de todo, ya han hecho la parte mas complicada: hacer compatible FastReport con Xailer y por lógica con (x)Harbour. 

Hasta aquí todo bien, y en este momento quizá te estés preguntando ¿ Cuanto cuesta o va a costar esta nueva version de FastReport ?, de momento, hasta donde tengo entendido, el contrato firmado entre Xailer y FastReport, obliga a Xailer a distribuir una licencia de FastReport original por cada versión de FastReport para Xailer que se venda, sin embargo esto no afectará el precio final del producto ya que saldrá al mercado a un precio similar a lo que Sergey cobraba, es decir 300 Euros, por este precio obtienes  una licencia original de FastReport que obtendrás directamente de la empresa fabricante del generador de informes, mientras que el componente para Xailer (o para [x]Harbour cuando sea liberado) lo obtendrás directamente de la empresa Xailer.

Y ahora viene otra pregunta ¿ Qué pasa si yo compré mi FastReport para (x)Harbour con Sergey ?, ¿ tengo derecho a una actualización, upgrade o algo parecido para poder usar esta nueva versión desarrollada por el equipo Xailer ? pues no tengo idea, aunque podría apostar por un NO rotundo (opinión personal), sabemos que muchos usuarios no tienen una versión legal de FastReport y dado que la versión vendida por Sergey no incluía ningún sistema de protección o registro, pues no hay manera de saber si el usuario tiene una versión legal de FastReport. Desconozco si en un futuro Xailer implemente alguna política de actualización, pero yo creo que no la habrá.
FastReport es la elección por excelencia para el desarrollador de (x)Harbour, el generador da para mucho, personalmente me he puesto a jugar un poco con la exportación a HTML de FastReport y la interfaz para Xailer, he recompilado un viejo ejemplo con la nueva versión de Xailer y FastReport y he aquí el resultado:

Usando Xailer y FastReport para publicar en la web

¿ Vale la pena la espera ?, ¡ claro que sí !, la nueva versión de FastReport corrige muchos bugs que la versión utilizada por Segey, y la implementación del equipo Xailer te permite hacer cosas que antes no era posible hacer, merece la pena la nueva versión.

jueves, mayo 30, 2013

Requiem para un amigo.....

Acabo de recibir una noticia que me acaba de dejar frio.

Julio Miguel Llinás, Julito, amigo de la República Dominicana, y amigo mas de 15 años, ha fallecido el martes 28 de Mayo en Santo Domingo.

Su nombre era conocido en los foros de FiveWin, seguramente si eres asiduo visitante del foro recordarás sus mensajes.

Gracias Julio por apoyarme hace muchos años cuando comencé con la revista ClipperPlus, gracias por todas esas visitas que nos hicimos, gracias por todas esas estupendas cenas y charlas de horas cuando coincidiamos para vernos, gracias sobre todo por hacerme parte de tu equipo de trabajo y de tu familia.

Hoy voy a abrir esa botella de Ron Brugal que me regalaste la ultima vez que nos vimos, y me tomaré un trago a tu salud, tal como lo hicimos hace 3 meses, en esa magnífica cena donde acompañados de las personas que mas queremos en la vida, nos reimos, bromeamos y parecía que lo teniamos todo y que nada nos podía pasar.

María, amiga mia, compañera inseparable de Julio durante muchos años, desde aquí te mando un muy fuerte abrazo, para tí y para tus hijos.

El recuerdo de la amistad de Julio y de todos estos años, seguirá en mi hasta el final de mis dias.

Familia Llinás... los queremos.