示例#1
0
 public string[] consultarcreditos()
 {
     //string[] datosUsuario = new string[3];
     string[]         respue      = new string[5];
     rnd.Credenciales crendencial = new rnd.Credenciales();
     crendencial.Password = PasswordFEL;
     crendencial.Usuario  = emisorRFC;
     crendencial.Cuenta   = CuentaFEL;
     rnd.RespuestaNumeroCreditos respuesta = new rnd.RespuestaNumeroCreditos();
     rnd.ConexionRemota          coneccion = new rnd.ConexionRemota();
     try
     {
         respuesta = coneccion.ObtenerNumeroCreditos(crendencial);
         respue[0] = respuesta.OperacionExitosa.ToString();
         respue[3] = respuesta.CreditosUsados.ToString();
         respue[4] = respuesta.CreditosRestantes.ToString();
         return(respue);
     }
     catch
     {
         respue[1] = respuesta.ErrorGeneral.ToString();
         respue[2] = respuesta.ErrorDetallado.ToString();
         return(respue);
     }
 }
示例#2
0
        public string[] obtenerpdf()
        {
            string[]         datosUsuario = new string[3];
            string[]         respuesta    = new string[4];
            rnd.Credenciales crendencial  = new rnd.Credenciales();
            crendencial.Password = PasswordFEL;
            crendencial.Usuario  = emisorRFC;
            crendencial.Cuenta   = CuentaFEL;
            rnd.ConexionRemota     coneccion = new rnd.ConexionRemota();
            rnd.RespuestaOperacion oper      = new rnd.RespuestaOperacion();
            try
            {
                //datosUsuario[0] = emisorRFC; ;
                //// Cuenta del usuario (REQUERIDO);. Posición 1.
                //datosUsuario[1] = CuentaFEL;
                //// Password del usuario (REQUERIDO);. Posición 2.
                //datosUsuario[2] = PasswordFEL;

                oper         = coneccion.ObtenerPDF(crendencial, UUID);
                respuesta[0] = oper.OperacionExitosa.ToString();

                respuesta[3] = oper.PDF.ToString();
                return(respuesta);
            }
            catch
            {
                respuesta[1] = oper.ErrorGeneral.ToString();
                respuesta[2] = oper.ErrorDetallado.ToString();
                return(respuesta);
            }
        }
示例#3
0
        public string[] enviacfdicorreo()
        {
            string[]         datosUsuario = new string[3];
            string[]         respuesta    = new string[2];
            rnd.Credenciales crendencial  = new rnd.Credenciales();
            crendencial.Password = PasswordFEL;
            crendencial.Usuario  = emisorRFC;
            crendencial.Cuenta   = CuentaFEL;
            rnd.ConexionRemota     coneccion = new rnd.ConexionRemota();
            rnd.RespuestaOperacion respu     = new rnd.RespuestaOperacion();
            try
            {
                //datosUsuario[0] = emisorRFC; ;
                //// Cuenta del usuario (REQUERIDO);. Posición 1.
                //datosUsuario[1] = CuentaFEL;
                //// Password del usuario (REQUERIDO);. Posición 2.
                //datosUsuario[2] = PasswordFEL;

                respu        = coneccion.EnviarCFDI(crendencial, UUID, Email);
                respuesta[0] = respu.OperacionExitosa.ToString();
                return(respuesta); // = coneccion.EnviarCFDI(datosUsuario, UUID, Email);
            }
            catch

            {
                return(respuesta);
            }
        }
示例#4
0
        public string[] cancelacdfi()
        {
            string[]         datosUsuario = new string[3];
            string[]         respuesta    = new string[3];
            string[]         listaUUID    = new string[1];
            rnd.Credenciales crendencial  = new rnd.Credenciales();
            crendencial.Password = PasswordFEL;
            crendencial.Usuario  = emisorRFC;
            crendencial.Cuenta   = CuentaFEL;
            listaUUID[0]         = UUID;
            rnd.ConexionRemota                coneccion = new rnd.ConexionRemota();
            rnd.RespuestaCancelacionR         respu     = new rnd.RespuestaCancelacionR();
            rnd.RespuestaCancelacionDetallada re        = new rnd.RespuestaCancelacionDetallada();
            try
            {
                //datosUsuario[0] = emisorRFC; ;
                //// Cuenta del usuario (REQUERIDO);. Posición 1.
                //datosUsuario[1] = CuentaFEL;
                //// Password del usuario (REQUERIDO);. Posición 2.
                //datosUsuario[2] = PasswordFEL;

                respu        = coneccion.CancelarCFDIs(crendencial, listaUUID); //(datosUsuario, listaUUID);
                respuesta[0] = respu.OperacionExitosa.ToString();
                re           = respu.UUIDS[0];
                respuesta[2] = respu.Acuse.ToString();
                respuesta[1] = re.RespuestaServicio + ' ' + re.UUID;



                return(respuesta); // = coneccion.CancelarCFDI(datosUsuario, listaUUID);
            }
            catch
            {
                if ((respuesta[0] == "True") && (respuesta[2] == null))
                {
                    try
                    {
                        respuesta[1] = respu.ErrorGeneral.ToString() + ' ' + respu.ErrorDetallado.ToString() + ' ' + re.MensajeError + ' ' + re.UUID;

                        return(respuesta);
                    }
                    catch
                    {
                        respuesta[1] = re.MensajeError + ' ' + ' ' + re.UUID;
                        return(respuesta);
                    }
                }
                else
                {
                    try
                    {
                        respuesta[1] = respu.ErrorGeneral.ToString() + ' ' + respu.ErrorDetallado.ToString() + ' ' + re.MensajeError + ' ' + re.UUID;

                        return(respuesta);
                    }
                    catch
                    {
                        respuesta[1] = re.MensajeError + ' ' + ' ' + re.UUID;
                        return(respuesta);
                    }
                }
            }
        }
示例#5
0
        public string[] GenerarCDFI()
        {
            //string[] datosUsuario = new string[3];
            //string[] datosReceptor = new string[16];
            //string[] datosCFDI = new string[22];
            //string[] datosConceptos = new string[conceptos.Count];
            string[]              datosInfoAduanera     = new string[infoaduanera.Count];
            string[]              datosRetenidos        = new string[1];
            string[]              datosTraslados        = new string[1];
            string[]              datosRetenidosLocales = new string[1];
            string[]              datosTrasladosLocales = new string[1];
            string[]              respuesta             = new string[5];
            rnd.Credenciales      datosUsuario          = new rnd.Credenciales();
            rnd.ComprobanteRemota datosCFDI             = new rnd.ComprobanteRemota();
            //rnd.ComprobanteRemota datoscfdi = new rnd.ComprobanteRemota();
            datosCFDI.Receptor = new rnd.ReceptorR();
            //rnd.ConceptoR datosConceptos = new rnd.ConceptoR();
            List <rnd.ConceptoR>      listaconceptos       = new List <rnd.ConceptoR>();
            List <rnd.RegimenFiscalR> listaRegimenFiscales = new List <rnd.RegimenFiscalR>();

            rnd.RegimenFiscalR Regimen = new rnd.RegimenFiscalR();
            List <rnd.EtiquetaPersonalizadaR> listaEtiquetasPersonalizadas = new List <rnd.EtiquetaPersonalizadaR>();

            rnd.DetallesConcepto  detalles = new rnd.DetallesConcepto();
            List <rnd.RetencionR> listaImpuestosRetenidos = new List <rnd.RetencionR>();

            rnd.RetencionR       impuestoRetenido        = new rnd.RetencionR();
            List <rnd.TrasladoR> listaImpuestosTraslados = new List <rnd.TrasladoR>();

            rnd.TrasladoR          ImpuestoTraslado = new rnd.TrasladoR();
            rnd.ConexionRemota     coneccion        = new rnd.ConexionRemota();
            rnd.RespuestaOperacion respuesta1       = new rnd.RespuestaOperacion();
            datosCFDI.Impuestos = new rnd.ImpuestosR();

            try
            {
                // Vector para envío de datos de usuario.
                //Dim datosUsuario As New WSRemota32.ArrayOfString
                // RFC del emisor (REQUERIDO);. Posición 0.
                datosUsuario.Cuenta = CuentaFEL;
                // Cuenta del usuario (REQUERIDO);. Posición 1.
                datosUsuario.Usuario = emisorRFC;
                // Password del usuario (REQUERIDO);. Posición 2.
                datosUsuario.Password = PasswordFEL;

                //*************************************************************************************
                // Sección de variables para identificar y actualizar los datos del Cliente o Receptor.
                //*************************************************************************************
                // Vector para envío de datos de cliente receptor.

                // Nombre del cliente (REQUERIDO;. Posición 0.
                datosCFDI.Receptor.NombreCliente = NombreCliente;
                // Contacto de referencia del cliente (opcional;. Posición 1.
                datosCFDI.Receptor.Contacto = Contacto;
                // Teléfono del cliente (opcional;. Posición 2.
                datosCFDI.Receptor.TelefonoContacto = Telefono;
                // Email del cliente (opcional;. Posición 3.
                datosCFDI.Receptor.emailContacto = Email;
                // RFC del receptor (REQUERIDO;. Posición 4.
                datosCFDI.Receptor.RFC = rfcReceptor; //WAPR7802271P5
                // Nombre del receptor (REQUERIDO;. Posición 5.
                datosCFDI.Receptor.Nombre = nombreReceptor;
                // Calle del receptor (REQUERIDO;. Posición 6.
                datosCFDI.Receptor.calle = calleReceptor;
                // No. exterior del receptor (REQUERIDO;. Posición 7.
                datosCFDI.Receptor.noExterior = noExteriorReceptor;
                // No. interior del receptor (opcional;. Posición 8.
                datosCFDI.Receptor.noInterior = noInteriorReceptor;
                // Colonia del receptor (REQUERIDO;. Posición 9.
                datosCFDI.Receptor.colonia = coloniaReceptor;
                // Localidad del receptor (opcional;. Posición 10.
                datosCFDI.Receptor.localidad = localidadReceptor;
                // Referencia del receptor (opcional;. Posición 11.
                datosCFDI.Receptor.referencia = referenciaReceptor;
                // Municio del receptor (REQUERIDO;. Posición 12.
                datosCFDI.Receptor.municipio = municipioReceptor;
                // Estado del receptor (REQUERIDO;. Posición 13.
                datosCFDI.Receptor.estado = estadoReceptor;
                // País del receptor (REQUERIDO;. Posición 14.
                datosCFDI.Receptor.pais = paisReceptor;
                // Código postal del receptor (REQUERIDO;. Posición 15.
                datosCFDI.Receptor.codigoPostal = codigoPostalReceptor;

                //******************************************************
                // Sección de variables de información general del CFDI.
                //******************************************************

                // Clave del CFDI (REQUERIDO);. Posición 0.
                datosCFDI.ClaveCFDI = ClaveCFDI;
                // Forma de pago (REQUERIDO;. Posición 1.
                datosCFDI.formaDePago = formaDePago;
                // Pago en parcialidades (opcional;. Posición 2.
                //datosCFDI.par = parcialidades;
                // Condiciones de pago (opcional;. Posición 3.
                datosCFDI.condicionesDePago = condicionesDePago;
                // Método de pago (opcional;. Posición 4.
                datosCFDI.metodoDePago = metodoDePago;
                // El descuento usado (opcional;. Posición 5.
                datosCFDI.descuento = Convert.ToDecimal(descuento);
                // El porcentaje de descuento (opcional;. Posición 6.
                datosCFDI.PorcentajeDescuento = Convert.ToDecimal(porcentajeDescuento);
                // El motivo de descuento (opcional;. Posición 7.
                datosCFDI.motivoDescuento = motivoDescuento;
                // La moneda utilizada (REQUERIDO;. Posición 8.
                datosCFDI.Moneda = moneda;
                // Tipo de cambio (opcional;. Posición 9.
                datosCFDI.TipoCambio = tipoCambio;
                // Fecha del tipo de cambio (opcional;. Posición 10.
                if (fechaTipoCambio != "")
                {
                    datosCFDI.FechaTipoCambio = Convert.ToDateTime(fechaTipoCambio);
                }
                else
                {
                    //datosCFDI.FechaTipoCambio = DateTime.MinValue;
                }

                // El total de impuestos retenidos (REQUERIDO;. Posición 11.
                datosCFDI.Impuestos.totalImpuestosRetenidos = Convert.ToDecimal(totalImpuestosRetenidos);
                // El total de impuestos trasladados (REQUERIDO;. Posición 12.
                //datosCFDI.t = totalImpuestosTrasladados;
                // El subtotal del comprobante (REQUERIDO;. Posición 13.
                datosCFDI.Impuestos.totalImpuestosTrasladados = Convert.ToDecimal(totalImpuestosTrasladados);
                datosCFDI.subTotal = Convert.ToDecimal(subTotal);
                // El total del comprobante (REQUERIDO;. Posición 14.
                datosCFDI.total = Convert.ToDecimal(total);
                // El importe con letra formado (REQUERIDO;. Posición 15.
                datosCFDI.ImporteConLetra = importeConLetra;
                // NUEVOS CAMPOS SAT 3.2
                // (16; LugarExpedicion (REQUERIDO;
                datosCFDI.LugarExpedicion = LugarExpedicion;
                // (17; NumCuentaPago (OPCIONAL;
                datosCFDI.NumCtaPago = NumCuentaPago;
                // (18; FolioFiscalOrig (OPCIONAL;
                datosCFDI.FolioFiscalOrig = FolioFiscalOrig;
                // (19; SerieFolioFiscalOrig (OPCIONAL;
                //datosCFDI.SerieFolioFiscalOrig = SerieFolioFiscalOrig;
                //// (20; FechaFolioFiscalOrig (OPCIONAL;
                //datosCFDI.FechaFolioFiscalOrig = Convert.ToDateTime(FechaFolioFiscalOrig);
                //// (21; MontoFolioFiscalOrig (OPCIONAL;
                //datosCFDI.MontoFolioFiscalOrig = Convert.ToDecimal(MontoFolioFiscalOrig);


                Regimen.Regimen = "Regimen general de ley de personas morales";
                listaRegimenFiscales.Add(Regimen);
                //'Se agrega la lista de Regimen al comprobante.
                datosCFDI.RegimenesFiscales = listaRegimenFiscales.ToArray();


                //********************************************************************************************
                // Sección de variables para el uso de información comercial y personal de la empresa emisora.
                //********************************************************************************************
                // Secuencia: |nombre|valor|
                // Etequeta1(opceonal;.

                //int e = 0;
                if (datosEtiquetas1 != null)
                {
                    string[] r = new string[4];
                    r = datosEtiquetas1.Split('|');
                    rnd.EtiquetaPersonalizadaR Etiquetas = new rnd.EtiquetaPersonalizadaR();
                    //''Nombre Etiqueta (REQUERIDO).
                    Etiquetas.Nombre = r[1];
                    //''Valor Etiqueta (REQUERIDO).
                    Etiquetas.Valor = r[2];
                    //''Se agrega la Etiqueta Personalizada a la lista de Etiquetas
                    listaEtiquetasPersonalizadas.Add(Etiquetas);
                    //e++;
                }
                if (datosEtiquetas2 != null)
                {
                    string[] r = new string[4];
                    r = datosEtiquetas2.Split('|');
                    rnd.EtiquetaPersonalizadaR Etiquetas = new rnd.EtiquetaPersonalizadaR();
                    //''Nombre Etiqueta (REQUERIDO).
                    Etiquetas.Nombre = r[1];
                    //''Valor Etiqueta (REQUERIDO).
                    Etiquetas.Valor = r[2];
                    //''Se agrega la Etiqueta Personalizada a la lista de Etiquetas
                    listaEtiquetasPersonalizadas.Add(Etiquetas);
                    //e++;
                }
                if (datosEtiquetas3 != null)
                {
                    string[] r = new string[4];
                    r = datosEtiquetas3.Split('|');
                    rnd.EtiquetaPersonalizadaR Etiquetas = new rnd.EtiquetaPersonalizadaR();
                    //''Nombre Etiqueta (REQUERIDO).
                    Etiquetas.Nombre = r[1];
                    //''Valor Etiqueta (REQUERIDO).
                    Etiquetas.Valor = r[2];
                    //''Se agrega la Etiqueta Personalizada a la lista de Etiquetas
                    listaEtiquetasPersonalizadas.Add(Etiquetas);
                    //e++;
                }
                if (datosEtiquetas4 != null)
                {
                    string[] r = new string[4];
                    r = datosEtiquetas4.Split('|');
                    rnd.EtiquetaPersonalizadaR Etiquetas = new rnd.EtiquetaPersonalizadaR();
                    //''Nombre Etiqueta (REQUERIDO).
                    Etiquetas.Nombre = r[1];
                    //''Valor Etiqueta (REQUERIDO).
                    Etiquetas.Valor = r[2];
                    //''Se agrega la Etiqueta Personalizada a la lista de Etiquetas
                    listaEtiquetasPersonalizadas.Add(Etiquetas);
                    //e++;
                }
                if (datosEtiquetas5 != null)
                {
                    string[] r = new string[4];
                    r = datosEtiquetas5.Split('|');
                    rnd.EtiquetaPersonalizadaR Etiquetas = new rnd.EtiquetaPersonalizadaR();
                    //''Nombre Etiqueta (REQUERIDO).
                    Etiquetas.Nombre = r[1];
                    //''Valor Etiqueta (REQUERIDO).
                    Etiquetas.Valor = r[2];
                    //''Se agrega la Etiqueta Personalizada a la lista de Etiquetas
                    listaEtiquetasPersonalizadas.Add(Etiquetas);
                    //e++;
                }
                datosCFDI.Etiquetas = listaEtiquetasPersonalizadas.ToArray();
                //string[] datosEtiquetas = new string[e];
                ////rnd.EtiquetaPersonalizadaR etiquetalista = new rnd.EtiquetaPersonalizadaR();
                ////etiquetalista.
                ////datosEtiquetas[0] = datosEtiquetas1;
                ////// Etiqueta2 (opcional;.
                ////datosEtiquetas[1] = datosEtiquetas2;

                //for (int x=0; e != 0; e--)
                //{
                //    datosEtiquetas[0] = datosEtiquetas1;
                //    //// Etiqueta2 (opcional;.

                //    datosEtiquetas[1] = datosEtiquetas2;
                //    datosEtiquetas[2] = datosEtiquetas3;
                //    datosEtiquetas[3] = datosEtiquetas4;
                //    datosEtiquetas[4] = datosEtiquetas5;
                //    x = x++;
                //}

                //foreach (string s in datosEtiquetas)
                //{

                //}
                //datosEtiquetas[5] = datosEtiquetas6;

                //*************************************************************************
                // Sección de variables para la información y descripción de los conceptos.
                //*************************************************************************
                // Vector para referenciar los conceptos del comprobante.



                // Secuencia: |cantidad|unidad|noIdentificacion|descripcion|valorUnitario|importe|
                int contador = 0;

                foreach (string i in conceptos)
                {
                    //|cantidad|unidad|noIdentificacion|descripcion|valorUnitario|importe|
                    string[]      datosConceptos = new string[6];
                    rnd.ConceptoR concepto       = new rnd.ConceptoR();
                    datosConceptos            = i.Split('|');
                    concepto.cantidad         = Convert.ToDecimal(datosConceptos[1]);
                    concepto.noIdentificacion = datosConceptos[3];
                    concepto.unidad           = datosConceptos[2];
                    concepto.descripcion      = datosConceptos[4];
                    concepto.valorUnitario    = Convert.ToDecimal(datosConceptos[5]);
                    concepto.importe          = Convert.ToDecimal(datosConceptos[6]);
                    concepto.DetalleConcepto  = detalles;
                    //datosConceptos[contador] = i;
                    listaconceptos.Add(concepto);
                    contador = contador + 1;
                }
                datosCFDI.Conceptos = listaconceptos.ToArray();


                // Concepto1
                //datosConceptos[] = |1|mtro.||Prueba de CFDI concepto1|1|1|);
                //// Concepto2
                //datosConceptos[] = |1|mtro.||Prueba de CFDI concepto2|1|1|);
                //// Concepto3
                //datosConceptos[] = |1|mtro.|104445|Prueba de CFDI concepto3|1|1|);
                //// Concepto4
                //datosConceptos[] = |1|ltro.|104445|Prueba de CFDI concepto4|1|1|);

                //****************************************************************************************************
                // Sección de variables para la información aduanera correspondiente a cada concepto usado en el CFDI.
                //****************************************************************************************************
                // Vector para referenciar la información aduanera.

                // Secuencia: |numero|fecha|aduana|
                // IMPORTANTE: El tamaño del vector de aduanera debe coincidir respectivamente con el de conceptos, ya que es 1 a 1.
                // Información aduanera para el concepto 1
                //contador=0;
                //foreach(string i in infoaduanera)
                //{
                //    datosInfoAduanera[contador] = i;
                //    contador=contador+1;
                //}
                //       datosInfoAduanera[] = |777888|2012-02-07|Aduana de Puebla|);
                //       // Información aduanera para el concepto 2
                //// Algunos lenguajes no aceptan “nothing”, por lo que puede simplemente establecer un string vacío “” como una excepción a la regla.
                //       datosInfoAduanera.Add;
                //       // Información aduanera para el concepto 3
                //       datosInfoAduanera[] = |444555|2012-02-05||);
                //       // Información aduanera para el concepto 4
                //       datosInfoAduanera[] = Nothing);

                //*************************************************************************************************
                // Sección de variables para la información de todos los impuestos retenidos utilizados en el CFDI.
                //*************************************************************************************************
                // Vector para referenciar los impuestos retenidos.
                datosCFDI.Impuestos = new rnd.ImpuestosR();
                datosCFDI.Impuestos.totalImpuestosRetenidos   = Convert.ToDecimal(0.0);
                datosCFDI.Impuestos.totalImpuestosTrasladados = Convert.ToDecimal(16.0);
                // Secuencia: |NombreImpuesto|impuesto|importe|
                // Impuesto retenido 1

                //                ''Nombre del impuesto. (REQUERIDO).
                impuestoRetenido.NombreImpuesto = "IVA (IVA 16.00%)";
                //''Impuesto (REQUERIDO).
                impuestoRetenido.Impuesto = "IVA";
                //''Importe de la retencion. (REQUERIDO).
                impuestoRetenido.Importe = Convert.ToDecimal(0.00);
                // ''Se agrega el Impuesto Retenido a la lista de Impuestos Retenidos
                listaImpuestosRetenidos.Add(impuestoRetenido);
                // ''Se agrega la lista de impuestos Retenidos al comprobante
                datosCFDI.Impuestos.Retenciones = listaImpuestosRetenidos.ToArray();
                //datosRetenidos[0] = "|IVA (IVA 16.00%)|IVA|0.00|";
                // Impuesto retenido 2
                //datosRetenidos[] = datosRetenidosISR);

                //***************************************************************************************************
                // Sección de variables para la información de todos los impuestos trasladados utilizados en el CFDI.
                //***************************************************************************************************
                // Vector para referenciar los impuestos trasladados.

                datosTraslados = datosTraslados1.Split('|');
                //'Nombre del impuesto. (REQUERIDO).
                ImpuestoTraslado.NombreImpuesto = datosTraslados[1];
                //'Impuesto (REQUERIDO).
                ImpuestoTraslado.Impuesto = datosTraslados[2];
                //'Tasa del Impuesto (REQUERIDO).
                ImpuestoTraslado.Tasa = Convert.ToDecimal(datosTraslados[3]);
                //'Importe del Impuesto. (REQUERIDO).
                ImpuestoTraslado.Importe = Convert.ToDecimal(datosTraslados[4]);
                // 'Se agrega el Impuesto de Traslado a la lista de Impuestos Trasladados
                listaImpuestosTraslados.Add(ImpuestoTraslado);
                // 'Se agrega la lista de Impuestos Trasladados al Comprobante
                datosCFDI.Impuestos.Traslados = listaImpuestosTraslados.ToArray();
                // Secuencia: |NombreImpuesto|impuesto|tasa|importe|
                // Impuesto trasladado no. 1.


                //*********************************************************************************************************
                // Sección de variables para la información de todos los impuestos retenidos locales utilizados en el CFDI.
                //*********************************************************************************************************
                // Vector para referenciar los impuestos retenidos locales.


                // Secuencia: |NombreImpuesto|impuesto|tasa|importe|
                // Impuesto retenido local 1
                //datosRetenidosLocales[0] = "|IVA (Local 16.00%)|IVA|16.00|0.00|";
                // Impuesto retenido local 2
                //datosRetenidosLocales[] = datosRetenidosLocales2);

                //***********************************************************************************************************
                // Sección de variables para la información de todos los impuestos trasladados locales utilizados en el CFDI.
                //***********************************************************************************************************
                // Vector para referenciar los impuestos trasladados locales.


                // Secuencia: |NombreImpuesto|impuesto|tasa|importe|
                // Impuesto trasladado local no. 1.
                //datosTrasladosLocales[0] = "|IVA (Local 16.00%)|IVA|16.00|0.00|";

                coneccion.PreAuthenticate = true;
                //rnd.Credenciales crenden=new rnd.Credenciales();

                // |cantidad|unidad|noIdentificacion|descripcion|valorUnitario|importe|
                respuesta1   = coneccion.GenerarCFDIv32(datosUsuario, datosCFDI);
                respuesta[0] = respuesta1.OperacionExitosa.ToString();
                respuesta[4] = respuesta1.CBB;
                respuesta[3] = respuesta1.XML.ToString();
                return(respuesta);
            }
            catch
            {
                respuesta[2] = respuesta1.ErrorDetallado.ToString();
                respuesta[1] = respuesta1.ErrorGeneral.ToString();
                return(respuesta);
            }
        }