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

Anuncios

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

Agrega el tuyo

  1. No coincide el fuente con el titulo del articulo.

    Saludos

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s