Ver Mensaje Individual
  #282 (permalink)  
Antiguo 29/11/2010, 02:54
JasonInvoiceware
 
Fecha de Ingreso: noviembre-2010
Mensajes: 1
Antigüedad: 14 años
Puntos: 0
Respuesta: Factura electroncia sat mexico

Hola,
Perdona por mi español, pois soy de Brasil.
Me gusta mucho su código, puedes me enviar el código del método leecertificado?

Gracias,

Jason
[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