Ver Mensaje Individual
  #286 (permalink)  
Antiguo 30/11/2010, 12:39
denisa
 
Fecha de Ingreso: octubre-2010
Mensajes: 3
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Factura electroncia sat mexico

[QUOTE=Mike_Rodriguez_J;3615541]Avances - Espero les sirva, yo necesito ayuda con la generación del XML,
a traves de openssl ya genero todo, sin embargo para limpiar el codigo decidi hacerlo con las clases y me resulta mucho mas facil, solo que ahora estoy atorado con la obtención del xml desde la clase CFD

Cita:
Iniciado por Mike_Rodriguez_J Ver Mensaje
Que tal buena tarde.

Ayuda con Visual Studio 2010

Alguien programando CFD con la generación de clases del archivo

QUOTE]

OJO, este codigo ya genera un archivo xml, el tema que tengo es el de los name spaces, no me esta arrojando lo mismo, alguna sugerencia:

Do While RecXML.EOF <> True
Dim FacturaProcesada As Integer
FacturaProcesada = RecXML.Fields("Invoice").Value

Dim CFD As Comprobante.Comprobante
CFD = New Comprobante.Comprobante

CFD.version = "2.0"
CFD.serie = "A"
CFD.folio = "1"
CFD.noCertificado = LeeCertificado("SerialNumber")
CFD.certificado = LeeCertificado("Base64")
CFD.subTotal = ComprobanteSubTotal(FacturaProcesada)
CFD.descuento = ComprobanteDescuento(FacturaProcesada)
CFD.motivoDescuento = "Descuento Cliente"
CFD.total = RecXML.Fields("Total").Value
CFD.metodoDePago = "Depósito en Cuenta, Tarjeta de Credito o Debito"
CFD.tipoDeComprobante = 1 'ComprobanteTipo(FacturaProcesada)

CFD.Emisor = New Comprobante.ComprobanteEmisor 'Aqui esta el tema de como crear el comprobante emisor dentro del CFD.Emisor (Asi es con los demas nodos)
CFD.Emisor.rfc = F_Emisor("RFC")
CFD.Emisor.nombre = F_Emisor("name")

CFD.Emisor.DomicilioFiscal = New Comprobante.t_UbicacionFiscal

CFD.Emisor.DomicilioFiscal.calle = DomicilioFiscalC("calle")
CFD.Emisor.DomicilioFiscal.noExterior = DomicilioFiscalC("noExterior")
CFD.Emisor.DomicilioFiscal.noInterior = DomicilioFiscalC("noInterior")
CFD.Emisor.DomicilioFiscal.localidad = DomicilioFiscalC("Colonia")
CFD.Emisor.DomicilioFiscal.localidad = DomicilioFiscalC("localidad")
CFD.Emisor.DomicilioFiscal.referencia = DomicilioFiscalC("referencia")
CFD.Emisor.DomicilioFiscal.municipio = DomicilioFiscalC("municipio")
CFD.Emisor.DomicilioFiscal.estado = DomicilioFiscalC("estado")
CFD.Emisor.DomicilioFiscal.pais = DomicilioFiscalC("pais")
CFD.Emisor.DomicilioFiscal.pais = DomicilioFiscalC("CodigoPostal")

CFD.Receptor = New Comprobante.ComprobanteReceptor
CFD.Receptor.rfc = "RfcCliente"
CFD.Receptor.nombre = "NombreCliente"

CFD.Receptor.Domicilio = New Comprobante.t_Ubicacion

CFD.Receptor.Domicilio.calle = "CalleCliente"
CFD.Receptor.Domicilio.noExterior = "noExterior"
'Conceptos


'OJO aqui esta el tema de como utilizar la parte de conceptos

Dim concepto As New Comprobante.ComprobanteConcepto
CFD.Conceptos = Array.CreateInstance(concepto.GetType, 10)
CFD.Conceptos(0) = New Comprobante.ComprobanteConcepto
CFD.Conceptos(0).cantidad = 1

'al solucionar lo anterior, se que me falta impuesto y lo demas pero me quise
'enfocar a generar el xml con esos datos para visualizarlo y hago este codigo, '
pero me sigue saliendo el (XMLNS)<?xml version="1.0" encoding="utf-8"?>
'<Comprobante xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" '
xmlns:schemalocation="http://www.sat.gob.mx/cfd/2 'http://www.sat.gob.mx/sitio_internet/cfd/2/cfdv2.xsd" version="2.0"

Dim xmlNameSpace = New XmlSerializerNamespaces()

xmlNameSpace.Add("xsi", "http://www.w3.org/2001/XMLSchema-instance")
xmlNameSpace.Add("schemalocation", "http://www.sat.gob.mx/cfd/2" & " " & "http://www.sat.gob.mx/sitio_internet/cfd/2/cfdv2.xsd")

Dim objStreamWriter As New StreamWriter("C:\CFD.xml", False)

Dim prueba As New XmlSerializerNamespaces
prueba.Add(String.Empty, String.Empty)
Dim x1 As New XmlSerializer(CFD.GetType, "http://www.sat.gob.mx/cfd/2")

x1.Serialize(objStreamWriter, CFD, xmlNameSpace)
objStreamWriter.Close()

Toda ayuda sera agradecida.
Estoy programando en visual studio 2010 en windows.forms



Hola oye mike como pudiste instanciar los items para los conceptos tengo algo así pero no se genera mi xml
ComprobanteConceptoCuentaPredial predial = new ComprobanteConceptoCuentaPredial();
t_InformacionAduanera[] infaduanera = new t_InformacionAduanera[1];
ComprobanteConceptoParte[] conParte = new ComprobanteConceptoParte[1];
conParte[0] = new ComprobanteConceptoParte();
conParte[0].cantidad = 412.52M;
conParte[0].descripcion = "descripcion";
infaduanera[0] = new t_InformacionAduanera();
infaduanera[0].aduana="aduana";
predial.numero="1";

comprobanteConcepto2[0].Items = new object[3];
comprobanteConcepto2[0].Items[0] = predial;
comprobanteConcepto2[0].Items[1] = infaduanera;
comprobanteConcepto2[0].Items[2] = conParte;