Herramientas Informaticas

Mes: febrero 2015 Página 1 de 4

Saber si una factura esta en el SAT

Hola Que tal camaradas.

En este tutorial, les mostraré como saber si una factura esta cancelada o activa en el SAT.

Primero tenemos que entrar a la pagina que nos ayudara a sabes si esta en el SAT.

image

https://verificacfdi.facturaelectronica.sat.gob.mx/ 

Buscamos los datos de la factura en el XML o la representación impresa del CFDI.

Ponemos los datos en la pagina.

Luego podemos ver los datos de la factura entre ellos incluido el estado de la misma.

Video demostrativo

Gameplay Call of Duty MWF2 Suspencion Veterano

Extraer los conceptos de un CFDI V3.2 XML en C#

 

Buenas camaradas.

 

Les dejo la parte del fuente para poder sacar la información de un XML de la factura, es esta parte sacaremos lo que son los conceptos, es decir, el detalle de la factura, es donde vienen los productos.

Una vez que tengamos la clase cfdv32.cs al proyecto, que les dije como generarla en entradas anteriores, codificamos de la siguiente manera.

Le dejo el video demostrativo también

   1: using System;

   2: using System.Collections.Generic;

   3: using System.ComponentModel;

   4: using System.Data;

   5: using System.Drawing;

   6: using System.Linq;

   7: using System.Text;

   8: using System.Threading.Tasks;

   9: using System.Windows.Forms;

  10: using System.Xml.Serialization;

  11: using System.Xml;

  12: using System.Data.SQLite;

  13: using LECTOR_CFDI.Clases; 

  14:  

  15: namespace LECTOR_CFDI

  16: {

  17:     public partial class Form1 : Form

  18:     {

  19:         string strUUID;

  20:         string strSelloSat;

  21:         string strNoCertificadoSat;

  22:         string strSelloCFD;

  23:         string strFechaTimbrado;

  24:         string strVersion;

  25:         

  26:         public Form1()

  27:         {

  28:             InitializeComponent();

  29:         }

  30:  

  31:         private void button1_Click(object sender, EventArgs e)

  32:         {

  33:             XmlSerializer serielizer = new XmlSerializer(typeof(Comprobante));

  34:             XmlTextReader reader = new XmlTextReader(@"C:xml.xml");

  35:             Comprobante factura = (Comprobante)serielizer.Deserialize(reader);

  36:  

  37:             classConexion bd = new classConexion();

  38:  

  39:  

  40:             classComplemento complemento = new classComplemento();

  41:             complemento.strUUID = (factura.Complemento.Any[0].Attributes[3].Value);

  42:             complemento.strVersion = (factura.Complemento.Any[0].Attributes[2].Value);

  43:             complemento.strFechaTimbrado = (factura.Complemento.Any[0].Attributes[4].Value);

  44:             complemento.strSelloSat = (factura.Complemento.Any[0].Attributes[7].Value);

  45:             complemento.strSelloCFD = (factura.Complemento.Any[0].Attributes[5].Value);

  46:             complemento.strNoCertificadoSat = (factura.Complemento.Any[0].Attributes[6].Value);

  47:             complemento.insertar();

  48:  

  49:             //INSERTANDO LOS CONCEPTOS

  50:             foreach (ComprobanteConcepto comp in factura.Conceptos)

  51:             {

  52:                 classConceptos clsConceptos = new classConceptos();

  53:                 clsConceptos.strUUID = complemento.strUUID;

  54:                 clsConceptos.strImporte = comp.importe.ToString () ;

  55:                 clsConceptos.strDescripcion = comp.descripcion.ToString();

  56:                 clsConceptos.strValorUnitario = comp.valorUnitario.ToString();

  57:                 clsConceptos.strCantidad = comp.cantidad.ToString();

  58:                 clsConceptos.insertar();

  59:  

  60:             }

  61:         

  62:         }

  63:         

  64:     }

  65: }

Clase de conexión e inserción de SQLite C# 2013 Express

Que tal camaradas.

 

Hace unos días, vimos como conectar C Sharp con SQLite.

image

 

Como corrección en el video anterior, pusimos una librería de SQlite con una versión anterior.

Para corregir esto, solo tenemos que descargar las librerías de SQLite, para la versión de .NET 4.5.

De la misma manera, lo podemos descargar de la pagina oficial, aun así, les dejare en la descripción, las dos paginas, una de Mediafire y otra de la pagina oficial.

Una vez descargada la librería, tenemos que poner los DLL, en la carpeta del proyecto donde se esta generando el ejecutable.

 

 

Ahora veremos la clase conexión.

Primeramente, tenemos que tener en la cabecera el System.data.SQLite.

Después solo ocuparemos 2 líneas, una será para acceder al archivo que es la variable SQLCON y la otra para hacer las consultas en el archivo que seria el SQLCMD.

Con este ultimo haremos una función, con el cual le mandaremos a travez de una cadena la consulta que deseamos realizar en la base de datos.

En, SQLCON, ponemos la cadena de conexión, alli pondremos el lugar donde esta el archivo de la base de datos, que es donde se genera el ejecutable.

   1: using System;

   2: using System.Collections.Generic;

   3: using System.Linq;

   4: using System.Text;

   5: using System.Threading.Tasks;

   6: using System.Data.SQLite; 

   7:  

   8: namespace LECTOR_CFDI.Clases

   9: {

  10:     

  11:  

  12:     

  13:     //Classe para hacer la conexion y ejecutar querys

  14:     class classConexion

  15:     {

  16:         //VARIABLES QUE USAREMOS

  17:         SQLiteConnection SQLcon = new SQLiteConnection("Data Source=|DataDirectory|facturas.s3db;");

  18:         SQLiteCommand SQLcmd;

  19:  

  20:     public void ejecutar(string strConsulta){

  21:         SQLcon.Open();  

  22:         SQLcmd= new SQLiteCommand (strConsulta,SQLcon);

  23:         SQLcmd.ExecuteNonQuery();

  24:     }

  25:     }

  26:   

  27: }

 

 

Luego en la clase complemento, hacemos la función guardar, que tendrá la consulta para insertar los datos en la base de datos.

   1: using System;

   2: using System.Collections.Generic;

   3: using System.Linq;

   4: using System.Text;

   5: using System.Threading.Tasks;

   6: using LECTOR_CFDI.Clases;

   7:  

   8: namespace LECTOR_CFDI.Clases

   9: {

  10:     class classComplemento

  11:     {

  12:         public string strUUID;

  13:         public string strSelloSat;

  14:         public string strNoCertificadoSat;

  15:         public string strSelloCFD;

  16:         public string strFechaTimbrado;

  17:         public string strVersion;

  18:         

  19:         public void insertar()

  20:         {

  21:             string strQuery;

  22:  

  23:             strQuery = "";

  24:             strQuery = "insert into Complemento values('";

  25:             strQuery = strQuery+strUUID + "','";

  26:             strQuery = strQuery+strFechaTimbrado + "','";

  27:             strQuery = strQuery+strSelloCFD + "','";

  28:             strQuery = strQuery+strNoCertificadoSat + "','";

  29:             strQuery = strQuery+strSelloSat + "','";

  30:             strQuery = strQuery+strVersion + "')";

  31:  

  32:             classConexion con= new classConexion();

  33:  

  34:             con.ejecutar(strQuery);

  35:  

  36:         }

  37:     }

  38: }

Para terminar instanciamos la clase complemento para meterle los datos que necesitamos.

   1: using System;

   2: using System.Collections.Generic;

   3: using System.ComponentModel;

   4: using System.Data;

   5: using System.Drawing;

   6: using System.Linq;

   7: using System.Text;

   8: using System.Threading.Tasks;

   9: using System.Windows.Forms;

  10: using System.Xml.Serialization;

  11: using System.Xml;

  12: using System.Data.SQLite;

  13: using LECTOR_CFDI.Clases; 

  14:  

  15: namespace LECTOR_CFDI

  16: {

  17:     public partial class Form1 : Form

  18:     {

  19:         string strUUID;

  20:         string strSelloSat;

  21:         string strNoCertificadoSat;

  22:         string strSelloCFD;

  23:         string strFechaTimbrado;

  24:         string strVersion;

  25:         

  26:         public Form1()

  27:         {

  28:             InitializeComponent();

  29:         }

  30:  

  31:         private void button1_Click(object sender, EventArgs e)

  32:         {

  33:             XmlSerializer serielizer = new XmlSerializer(typeof(Comprobante));

  34:             XmlTextReader reader = new XmlTextReader(@"C:xml.xml");

  35:             Comprobante factura = (Comprobante)serielizer.Deserialize(reader);

  36:  

  37:             classConexion bd = new classConexion();  

  38:             

  39:             

  40:             //MessageBox.Show (factura.fecha.ToString());

  41:             classComplemento complemento = new classComplemento();

  42:             complemento.strUUID = (factura.Complemento.Any[0].Attributes[3].Value);

  43:             complemento.strVersion = (factura.Complemento.Any[0].Attributes[2].Value);

  44:             complemento.strFechaTimbrado = (factura.Complemento.Any[0].Attributes[4].Value);

  45:             complemento.strSelloSat = (factura.Complemento.Any[0].Attributes[7].Value);

  46:             complemento.strSelloCFD = (factura.Complemento.Any[0].Attributes[5].Value);

  47:             complemento.strNoCertificadoSat = (factura.Complemento.Any[0].Attributes[6].Value);

  48:             

  49:             complemento.insertar();     

  50:         

  51:         }

  52:         

  53:     }

  54: }

 

Eso es todo por hoy.

Continuamos en el siguiente video donde haremos el mismo ejercicio con los conceptos de la factura y los datos restantes de la factura.

Conexión SQLite C# 2013 Express

Que tal camaradas les dejo este video tutorial continuando el proyecto de extracción del  XML CFDI V3.2, esta parte es muy necesaria, ya que guardaremos los datos del CFDI en la base de datos, pero primero tenemos que agregar las referencias al proyectos.

Enlaces:

Pagina Oficial
http://tcpdiag.dl.sourceforge.net/project/sqlite-dotnet2/SQLite%20for%20ADO.NET%202.0/1.0.66.0/SQLite-1.0.66.0-setup.exe

MediaFire
https://www.mediafire.com/?18ydencmruqnihn

Saludos y nos vemos a la próxima

Pintar código fuente en las entradas del blog

Extraer información de un XML CFDI C#

Buenos días camaradas, en este vídeo les mostrare como extraer el UUID y datos del complemento usando la clase cfdv23.cs C#

   1: using System;

   2: using System.Collections.Generic;

   3: using System.ComponentModel;

   4: using System.Data;

   5: using System.Drawing;

   6: using System.Linq;

   7: using System.Text;

   8: using System.Threading.Tasks;

   9: using System.Windows.Forms;

  10: using System.Xml.Serialization;

  11: using System.Xml; 

  12:  

  13: XmlSerializer serielizer = new XmlSerializer(typeof(Comprobante));

  14: XmlTextReader reader = new XmlTextReader(@"C:xml.xml");

  15: Comprobante factura = (Comprobante)serielizer.Deserialize(reader);

  16:  

  17: string strUUID,strSelloSat,strNoCertificadoSat,strSelloCFD,strFechaTimbrado;

  18: //MessageBox.Show (factura.fecha.ToString());

  19:  

  20: strUUID = (factura.Complemento.Any[0].Attributes[3].Value);

Espero les sirva

Manejo SQLite Administrator Introducción

Que tal camaradas, siguiendo el tutorial de C# Express 2013, el siguiente video se tratara del manejo de base de datos en SQLite, en el cual guardaremos los datos necesarios de la factura.

Utilizaremos SQLite por que guardaremos la información en un archivo local dentro del programa y no en una base de datos Cliente/Servidor, ya que no sera necesario en este proyecto.

Para descargar el administrador están los siguientes enlaces:

Pagina Oficial:
http://sqliteadmin.orbmu2k.de/

Mediafire:
https://www.mediafire.com/?dbwqrd3o2ot8odz

Generar clase C# con XSD

Que tal camaradas, Les dejo el siguiente videotutorial donde se mostrara como como generar una clase para C# a partir de un XSD

Espero Les Sirva

El comando es XSD.EXE “RutaDelArchivo”  /C /L:CS

Saludos

ISO Visual Studio 2013 Express Gratis

Que tal camaradas les dejo el videotutorial para descargar e instalar Visual Studio 2013 Express en español, que necesitaremos para programar las próximas aplicaciones en los siguientes videos

les dejo en enlace de descarga

MediaFire

****PENDIENTE*****

 

Pagina oficial de descarga
http://goo.gl/p327PE

Página 1 de 4

Creado con WordPress & Tema de Anders Norén