Alguien sabe como puedo crear el sello digital para mi factura electrónica que se realiza mediante un XML?
Me falta para terminar mi XML:
Sello
Certificado
NoCertificado
para poder terminarlo, la versión en la que estoy es 3.2
Aquí les anexo el codigo fuente de mi XML.
Si alguien pudiese ayudarme o darme una idea de como generar lo que me falta.
Muchas gracias.
private void epibtnGenerar_Click(object sender, System.EventArgs args)
{
// ** Place Event Handling Code Here **
//tabla Company
CompanyAdapter adapterCompany = new CompanyAdapter(this.oTrans);
adapterCompany.BOConnect();
//tabla InvcHead
EpiDataView edvInvcHead = (EpiDataView)(this.oTrans.EpiDataViews["InvcHead"]);
System.Data.DataRow edvInvcHeadRow = edvInvcHead.CurrentDataRow;
//Tabla InvcDtl
EpiDataView edvInvcDtl = (EpiDataView)(this.oTrans.EpiDataViews["InvcDtl"]);
System.Data.DataRow edvInvcDtlRow = edvInvcDtl.CurrentDataRow;
//Tabla Customer
CustomerAdapter adapterCustomer = new CustomerAdapter(this.oTrans);
adapterCustomer.BOConnect();
// Declare and Initialize Variables
string company = "EPIC06";
string customer = edvInvcHeadRow["SoldToCustID"].ToString();
string date= String.Format("{0:s}", DateTime.Now);
//Segundo nodo
string tax= string.Empty;
string num= string.Empty;
string name= string.Empty;
string calle= string.Empty;
string noEx= string.Empty;
string col= string.Empty;
string mun= string.Empty;
string est= string.Empty;
string pais= string.Empty;
string cp= string.Empty;
//Tercer nodo
string Cname= string.Empty;
string Crfc= string.Empty;
string Ccp= string.Empty;
string Cpais= string.Empty;
string Cest= string.Empty;
string Cmun= string.Empty;
string Ccol= string.Empty;
string CnoExt= string.Empty;
string Ccalle= string.Empty;
//instanciar la tabla con la que se trabajará
//cuadro de diálogo donde se manda llamar para guardar el documento.
SaveFileDialog saveFileDialog1 = new SaveFileDialog();
saveFileDialog1.Title = "Generar XML";
saveFileDialog1.Filter = "xml|*.xml";
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
// Call Adapter method
bool result = adapterCompany.GetByID(company);
bool result1= adapterCustomer.GetByCustID(customer, false);
if(result)
{
tax=adapterCompany.CompanyData.Tables[0].Rows[0]["StateTaxId"].ToString();
num=adapterCompany.CompanyData.Tables[0].Rows[0]["Address2"].ToString();
name=adapterCompany.CompanyData.Tables[0].Rows[0]["Name"].ToString();
calle=adapterCompany.CompanyData.Tables[0].Rows[0]["Address1"].ToString();
noEx=adapterCompany.CompanyData.Tables[0].Rows[0]["Character02"].ToString();
col=adapterCompany.CompanyData.Tables[0].Rows[0]["Address3"].ToString();
mun=adapterCompany.CompanyData.Tables[0].Rows[0]["City"].ToString();
est=adapterCompany.CompanyData.Tables[0].Rows[0]["State"].ToString();
pais=adapterCompany.CompanyData.Tables[0].Rows[0]["CountryNum"].ToString();
cp=adapterCompany.CompanyData.Tables[0].Rows[0]["Zip"].ToString();
}
if(result1)
{
//Tercer nodo//Customer
Cname=adapterCustomer.CustomerData.Tables[0].Rows[0]["Name"].ToString();
Crfc=adapterCustomer.CustomerData.Tables[0].Rows[0]["ResaleID"].ToString();
Ccp=adapterCustomer.CustomerData.Tables[0].Rows[0]["Zip"].ToString();
Cpais=adapterCustomer.CustomerData.Tables[0].Rows[0]["CountryNum"].ToString();
Cest=adapterCustomer.CustomerData.Tables[0].Rows[0]["State"].ToString();
Cmun=adapterCustomer.CustomerData.Tables[0].Rows[0]["City"].ToString();
Ccol=adapterCustomer.CustomerData.Tables[0].Rows[0]["Address3"].ToString();
CnoExt=adapterCustomer.CustomerData.Tables[0].Rows[0]["Character01"].ToString();
Ccalle=adapterCustomer.CustomerData.Tables[0].Rows[0]["Address1"].ToString();
}
}
// Cleanup Adapter Reference
adapterCompany.Dispose();
adapterCustomer.Dispose();
FileStream fs = new FileStream(saveFileDialog1.FileName, FileMode.Create);
XmlTextWriter w = new XmlTextWriter(fs, Encoding.UTF8);
w.WriteStartDocument();
//Crear un nuevo nodo
w.WriteWhitespace ( "\n" );
w.WriteStartElement( "Comprobante");
//Propiedades/Atributos del nodo
w.WriteAttributeString("version", "3.2");
w.WriteAttributeString("folio","");
w.WriteAttributeString("fecha", date);
w.WriteAttributeString("tipoDeComprobante","Ingreso");
w.WriteAttributeString("formaDePago",edvInvcHeadRow["TermsCode"].ToString());
w.WriteAttributeString("noCertificado", "");
w.WriteAttributeString("certificado","" );
w.WriteAttributeString("subTotal", edvInvcHeadRow["DspSubTotal"].ToString());
w.WriteAttributeString("total", edvInvcHeadRow["DspInvoiceAmt"].ToString());
w.WriteAttributeString("metodoDePago", "No Identificado");
w.WriteAttributeString("LugarExpedicion", "ZAPOPAN, Jalisco");
w.WriteAttributeString("sello","");
//Segundo nodo
//tabla company
w.WriteStartElement( "Emisor");
w.WriteAttributeString("rfc", tax);
w.WriteAttributeString("nombre", name);
w.WriteWhitespace ( "\n" );
w.WriteStartElement("DomicilioFiscal");// WriteElementString, null-WriteStartElement
w.WriteAttributeString("calle", calle);
w.WriteAttributeString("noExterior", noEx);
w.WriteAttributeString("colonia", col);
w.WriteAttributeString("municipio", mun);
w.WriteAttributeString("estado", est);
w.WriteAttributeString("pais", pais);
w.WriteAttributeString("codigoPostal", cp);
w.WriteEndElement();
//tabla company
w.WriteStartElement("ExpedidoEn");// WriteElementString, null-WriteStartElement
w.WriteAttributeString("calle", calle);
w.WriteAttributeString("noExterior", noEx);
w.WriteAttributeString("colonia", col);
w.WriteAttributeString("municipio", mun);
w.WriteAttributeString("estado", est);
w.WriteAttributeString("pais", pais);
w.WriteAttributeString("codigoPostal", cp);
w.WriteEndElement();
w.WriteStartElement("RegimenFiscal");// WriteElementString, null-WriteStartElement
w.WriteAttributeString("Regimen", "Regimen General de Ley");
w.WriteEndElement();
w.WriteEndElement();
////Tercer Nodo
//tabla customer
w.WriteStartElement( "Receptor");
w.WriteAttributeString("nombre", Cname);
w.WriteAttributeString("rfc", Crfc );
w.WriteStartElement( "Domicilio");
w.WriteAttributeString("codigoPostal",Ccp );
w.WriteAttributeString("pais", Cpais);
w.WriteAttributeString("estado", Cest );
w.WriteAttributeString("municipio", Cmun );
w.WriteAttributeString("colonia",Ccol );
w.WriteAttributeString("noExterior", CnoExt);
w.WriteAttributeString("calle", Ccalle );
w.WriteEndElement();
w.WriteEndElement();
////Cuarto Nodo
w.WriteStartElement( "Conceptos");
for(int v=0; v<edvInvcDtl.dataView.Count ; v++)
{
w.WriteStartElement( "Concepto");// WriteElementString, null-WriteStartElement
w.WriteAttributeString("cantidad", edvInvcDtl.dataView[v]["DspSellingShipQty"].ToString());
w.WriteAttributeString("unidad", edvInvcDtl.dataView[v]["SalesUM"].ToString());
w.WriteAttributeString("descripcion", edvInvcDtl.dataView[v]["LineDesc"].ToString());
w.WriteAttributeString("ValorUnitario",edvInvcDtl.dataView[v]["DspUnitPrice"].ToString());
w.WriteAttributeString("importe",edvInvcDtl.dataView[v]["DspExtPrice"].ToString());
w.WriteEndElement();
}
w.WriteEndElement();
////Quinto Nodo
w.WriteStartElement( "Impuestos");
w.WriteStartElement("Traslados");
w.WriteStartElement("Traslado");// WriteElementString, null-WriteStartElement
w.WriteAttributeString("impuesto", "IVA");
w.WriteAttributeString("tasa", "");
w.WriteAttributeString("importe", edvInvcHeadRow["TaxAmt"].ToString());
w.WriteEndElement();
w.WriteEndElement();
w.WriteEndElement();
w.WriteEndElement();
w.WriteEndDocument();
w.Flush();
fs.Close();
}

DESCARGA SOFTWARE PARA FACTURA ELECTRONICA DE AQUI.
Facturacion, Validacion, Addendas, Librerias de programacion, etc.
CARTA PORTE V3.1
ECODEX TIENE ESTOS NUEVOS DATOS DE CONTACTO :
Comercializacion y Ventas - Evelia Vicke evicke@ecodex.com.mx 33-16-03-03-48
Soporte - Humberto Guerrero soporte@ecodex.com.mx 33-34-90-46-03
.
XML-Sello Factura Electronica
- Dado
- Mensajes: 15980
- Registrado: Mar Jul 06, 2010 7:56 pm
Re: XML-Sello Factura Electronica
Hay muchos tutoriales aqui en el foro. Dale una buscada
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!