Herramientas Informaticas

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: }

Anterior

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

Siguiente

Gameplay Call of Duty MWF2 Suspencion Veterano

1 comentario

  1. Juan

    No coincide el fuente con el titulo del articulo.

    Saludos

Deja un comentario

Creado con WordPress & Tema de Anders Norén

Discover more from Cesar Systems

Subscribe now to keep reading and get access to the full archive.

Continue reading