![]() | pago10 (Clase) |
Espacio de nombres: EasyOne.Comprobante.Complemento
public class pago10
El tipo pago10 expone a los siguientes miembros.
Nombre | Descripción | |
---|---|---|
![]() ![]() | EasyOne_pago10_AddDoctoRelacionado |
Nodo condicional para expresar la lista de documentos relacionados con los pagos diferentes de anticipos. Por cada documento que se relacione se debe generar un nodo DoctoRelacionado.
|
![]() ![]() | EasyOne_pago10_AddImpuestos |
Nodo condicional para expresar el resumen de los impuestos aplicables cuando este documento sea un anticipo.
|
![]() ![]() | EasyOne_pago10_AddPago |
Elemento requerido para incorporar la información de la recepción de pagos.
|
![]() ![]() | EasyOne_pago10_AddRetencion |
Nodo requerido para registrar la información detallada de una retención de impuesto específico.
|
![]() ![]() | EasyOne_pago10_AddTraslado |
Nodo requerido para la información detallada de un traslado de impuesto específico.
|
![]() ![]() | EasyOne_pago10_Create |
Construye el objeto pago10
|
![]() ![]() | EasyOne_pago10_Free |
Libera los recursos usados por este objeto
|
using System; using System.Collections.Generic; using System.Linq; using System.Runtime.InteropServices; using System.Text; using System.Threading.Tasks; namespace Consola.EasyOne { class ConsolaEasyOne { #region wrappers cfd32 [DllImport(@"EasyOne.DLL", CallingConvention = CallingConvention.Cdecl)] static public extern int EasyOne_FirmaComprobante(int p, string csd, string key, string pwd); [DllImport(@"EasyOne.DLL", CallingConvention = CallingConvention.Cdecl)] static public extern string EasyOne_LeeResultado(int p, int valor); [DllImport(@"EasyOne.DLL", CallingConvention = CallingConvention.Cdecl)] static public extern void EasyOne_SetInvoiceOneFachadaInfoPrueba(int p, string AgenteId, string SoftwareId); [DllImport(@"EasyOne.DLL", CallingConvention = CallingConvention.Cdecl)] static public extern int EasyOne_cfdi32_Create(string outFile); [DllImport(@"EasyOne.DLL", CallingConvention = CallingConvention.Cdecl)] static public extern void EasyOne_cfdi32_SetComprobante(int p, string serie, string folio, string fecha, string formaDePago, string condicionesDePago, string subTotal, string descuento, string motivoDescuento, string TipoCambio, string Moneda, string total, string tipoDeComprobante, string metodoDePago, string LugarExpedicion, string NumCtaPago, string FolioFiscalOrig, string SerieFolioFiscalOrig, string FechaFolioFiscalOrig, string MontoFolioFiscalOrig); [DllImport(@"EasyOne.DLL", CallingConvention = CallingConvention.Cdecl)] static public extern void EasyOne_cfdi32_SetEmisor(int p, string rfc, string nombre); [DllImport(@"EasyOne.DLL", CallingConvention = CallingConvention.Cdecl)] static public extern void EasyOne_cfdi32_SetEmisorDomicilioFiscal(int p, string calle, string noExterior, string noInterior, string colonia, string localidad, string referencia, string municipio, string estado, string pais, string codigoPostal); [DllImport(@"EasyOne.DLL", CallingConvention = CallingConvention.Cdecl)] static public extern void EasyOne_cfdi32_SetEmisorExpedidoEn(int p, string calle, string noExterior, string noInterior, string colonia, string localidad, string referencia, string municipio, string estado, string pais, string codigoPostal); [DllImport(@"EasyOne.DLL", CallingConvention = CallingConvention.Cdecl)] static public extern void EasyOne_cfdi32_AddRegimenFiscal(int p, string Regimen); [DllImport(@"EasyOne.DLL", CallingConvention = CallingConvention.Cdecl)] static public extern void EasyOne_cfdi32_SetReceptor(int p, string rfc, string nombre); [DllImport(@"EasyOne.DLL", CallingConvention = CallingConvention.Cdecl)] static public extern void EasyOne_cfdi32_SetReceptorDomicilio(int p, string calle, string noExterior, string noInterior, string colonia, string localidad, string referencia, string municipio, string estado, string pais, string codigoPostal); [DllImport(@"EasyOne.DLL", CallingConvention = CallingConvention.Cdecl)] static public extern void EasyOne_cfdi32_AddConcepto(int p, string cantidad, string unidad, string noIdentificacion, string descripcion, string valorUnitario, string importe); [DllImport(@"EasyOne.DLL", CallingConvention = CallingConvention.Cdecl)] static public extern void EasyOne_cfdi32_AddInformacionAduanera(int p, string numero, string fecha, string aduana); [DllImport(@"EasyOne.DLL", CallingConvention = CallingConvention.Cdecl)] static public extern void EasyOne_cfdi32_SetCuentaPredial(int p, string numero); [DllImport(@"EasyOne.DLL", CallingConvention = CallingConvention.Cdecl)] static public extern void EasyOne_cfdi32_AddParte(int p, string cantidad, string unidad, string noIdentificacion, string descripcion, string valorUnitario, string importe); [DllImport(@"EasyOne.DLL", CallingConvention = CallingConvention.Cdecl)] static public extern void EasyOne_cfdi32_AddParteInformacionAduanera(int p, string numero, string fecha, string aduana); [DllImport(@"EasyOne.DLL", CallingConvention = CallingConvention.Cdecl)] static public extern void EasyOne_cfdi32_SetImpuestos(int p, string totalImpuestosRetenidos, string totalImpuestosTrasladados); [DllImport(@"EasyOne.DLL", CallingConvention = CallingConvention.Cdecl)] static public extern void EasyOne_cfdi32_AddRetencion(int p, string impuesto, string importe); [DllImport(@"EasyOne.DLL", CallingConvention = CallingConvention.Cdecl)] static public extern void EasyOne_cfdi32_AddTraslado(int p, string impuesto, string tasa, string importe); [DllImport(@"EasyOne.DLL", CallingConvention = CallingConvention.Cdecl)] static public extern void EasyOne_cfdi32_Free(int p); [DllImport(@"EasyOne.DLL", CallingConvention = CallingConvention.Cdecl)] static public extern void EasyOne_AddComplemento(int p, int pComp); #endregion #region wrappers Pagos [DllImport("EasyOne.DLL", CallingConvention = CallingConvention.Cdecl)] static public extern int EasyOne_pago10_Create(); [DllImport("EasyOne.DLL", CallingConvention = CallingConvention.Cdecl)] static public extern void EasyOne_pago10_AddPago(int p, string FechaPago, string FormaDePagoP, string MonedaP, string TipoCambioP, string Monto, string NumOperacion, string RfcEmisorCtaOrd, string NomBancoOrdExt, string CtaOrdenante, string RfcEmisorCtaBen, string CtaBeneficiario, string TipoCadPago, string CertPago, string CadPago, string SelloPago); [DllImport("EasyOne.DLL", CallingConvention = CallingConvention.Cdecl)] static public extern void EasyOne_pago10_AddDoctoRelacionado(int p, string IdDocumento, string Serie, string Folio, string MonedaDR, string TipoCambioDR, string MetodoDePagoDR, string NumParcialidad, string ImpSaldoAnt, string ImpPagado, string ImpSaldoInsoluto); [DllImport("EasyOne.DLL", CallingConvention = CallingConvention.Cdecl)] static public extern void EasyOne_pago10_AddImpuestos(int p, string TotalImpuestosRetenidos, string TotalImpuestosTrasladados); [DllImport("EasyOne.DLL", CallingConvention = CallingConvention.Cdecl)] static public extern void EasyOne_pago10_AddRetencion(int p, string Impuesto, string Importe); [DllImport("EasyOne.DLL", CallingConvention = CallingConvention.Cdecl)] static public extern void EasyOne_pago10_AddTraslado(int p, string Impuesto, string TipoFactor, string TasaOCuota, string Importe); [DllImport("EasyOne.DLL", CallingConvention = CallingConvention.Cdecl)] static public extern void EasyOne_pago10_Free(int p); #endregion static void Main(string[] args) { try { GeneraCFDI32(); } catch (Exception ex) { Console.WriteLine(ex); } } public static void GeneraCFDI32() { //Iniciamos creando el objeto cfdi3.2 e indicamos el nombre del archivo de salida "Ejemplo.xml" int p = EasyOne_cfdi32_Create("Ejemplo.xml"); //Llenamos la sección del comprobante EasyOne_cfdi32_SetComprobante(p, "serie0", "folio0", "2017-01-27T10:13:51", "formaDePago0", "condicionesDePago0", "0.000000", "0.000000", "motivoDescuento0", "TipoCambio0", "Moneda0", "0.000000", "ingreso", "metodoDePago0", "LugarExpedicion0", "NumCtaPago0", "FolioFiscalOrig0", "SerieFolioFiscalOrig0", "2006-05-04T18:13:51.0", "0.000000"); //Llenamos la sección del Emisor EasyOne_cfdi32_SetEmisor(p, "AAA010101AAA", "nombre0"); //Llenamos la sección del Domicilio Fiscal del Emisor EasyOne_cfdi32_SetEmisorDomicilioFiscal(p, "calle0", "noExterior0", "noInterior0", "colonia0", "localidad0", "referencia0", "municipio0", "estado0", "pais0", "codig"); //Llenamos la sección del Expedido en del Emisor EasyOne_cfdi32_SetEmisorExpedidoEn(p, "calle1", "noExterior1", "noInterior1", "colonia1", "localidad1", "referencia1", "municipio1", "estado1", "pais1", "codigoPostal2"); //Agregamos un Regimen fiscal del Emisor EasyOne_cfdi32_AddRegimenFiscal(p, "Regimen0"); //Llenamos la sección del Receptor EasyOne_cfdi32_SetReceptor(p, "AAA010101AAA", "nombre1"); //Llenamos la sección del domicilio fiscal del Receptor EasyOne_cfdi32_SetReceptorDomicilio(p, "calle2", "noExterior2", "noInterior2", "colonia2", "localidad2", "referencia2", "municipio2", "estado2", "pais2", "codigoPostal3"); //Agregamos los concepto EasyOne_cfdi32_AddConcepto(p, "0", "unidad0", "noIdentificacion0", "descripcion0", "0.000000", "0.000000"); EasyOne_cfdi32_SetCuentaPredial(p, "numero0"); //Agregamos los Impuestos EasyOne_cfdi32_SetImpuestos(p, "0.000000", "0.000000"); EasyOne_cfdi32_AddRetencion(p, "ISR", "0.000000"); EasyOne_cfdi32_AddTraslado(p, "IVA", "0.000000", "0.000000"); //Creamos el objeto del Complemento Pagos int pag = EasyOne_pago10_Create(); //Agregamos un Pago EasyOne_pago10_AddPago(pag, "2016-05-04T18:13:51", "01", "AED", "50.000000", "50.000000", "NumOperacion0", "AAA010101AAA", "NomBancoOrdExt0", "0000000000", "AAA010101AAA", "0000000000", "TipoCadPago0", "ZGVmYXVsdA==", "CadPago0", "ZGVmYXVsdA=="); EasyOne_pago10_AddDoctoRelacionado(pag, "00000000-0000-0000-0000-000000000000", "Serie0", "Folio0", "AED", "0.000001", "PUE", "2", "50.000000", "50.000000", "50.000000"); EasyOne_pago10_AddImpuestos(pag, "50.000000", "50.000000"); EasyOne_pago10_AddRetencion(pag, "001", "50.000000"); EasyOne_pago10_AddTraslado(pag, "001", "Tasa", "0.000000", "50.000000"); //Añadimos Complemento al CFDI EasyOne_AddComplemento(p, pag); //Enviamos el CFDI al metodo de PRUEBAS //En la siguiente línea es necesario incluir la Clave de Integración que se proporciona en la Guía de Implementación (Menú "Ayuda" de su Oficina Virtual). EasyOne_SetInvoiceOneFachadaInfoPrueba(p, "USAR_CLAVE_DE_INTEGRACION", "USAR_CLAVE_DE_INTEGRACION"); //Para enviar el CFDI a PRODUCCION se debe quitar la linea de arriba y usar la siguiente linea descomentada. //En la siguiente línea es necesario incluir la Clave de Integración que se proporciona en la Guía de Implementación (Menú "Ayuda" de su Oficina Virtual). //EasyOne_SetInvoiceOneFachadaInfo(p, "USAR_CLAVE_DE_INTEGRACION", "USAR_CLAVE_DE_INTEGRACION"); //En la siguiente línea se deben colocar los nombres de los archivos de certificado de sellos del Emisor. //Para fines de esta prueba se usarán los certificados de sellos del Emisor AAA010101AAA. //Favor de colocar estos archivos (.CER y .KEY) en la misma carpeta donde se encuentra la aplicación. int i = EasyOne_FirmaComprobante(p, "CSD01_AAA010101AAA.cer", "CSD01_AAA010101AAA.key", "12345678a"); //Si el resultado es 0 = El CFDI se procesó correctamente if (i == 0) { string resultadoXML = String.Empty; //Obtenemos el XML completo y timbrado Console.WriteLine(resultadoXML = EasyOne_LeeResultado(p, 8)); } else { //En caso de error mostrar el detalle. Console.WriteLine(EasyOne_LeeResultado(p, 11)); } Console.ReadLine(); } } }