Пример #1
0
        public void autorizarSri(COMPROBANTE comprobante)
        {
            COMPROBANTE      comp      = new FacturaServicio().getComprobante(comprobante.CODIGOCOMPROBANTE);
            GeneradorFactura generador = new GeneradorFactura(comprobante);

            generador.GenerarXML();
        }
Пример #2
0
        private void simpleButtonReprocesar_Click(object sender, EventArgs e)
        {
            GeneradorFactura generador = new GeneradorFactura(this.comprobante);

            generador.GenerarXML();
            if (generador.getRespuestaAutorizacion() == null)
            {
                XtraMessageBox.Show("NO SE PUDO AUTORIZAR COMPROBANTE");
                return;
            }
            if (generador.getRespuestaAutorizacion().getAutorizaciones() == null)
            {
                XtraMessageBox.Show("NO EXISTE CONEXIÓN CON EL SRI O REVISE SU CONEXIÓN AL INTERNET.\nEL COMPROBANTE PUEDE SER IMPRESO.");
                return;
            }
            if (generador.getRespuestaAutorizacion().getAutorizaciones().getAutorizacion()[0].getEstado().Equals("AUTORIZADO"))
            {
                XtraMessageBox.Show("COMPROBANTE AUTORIZADO");
                this.EstadoComprobanteActual = this.estadosComprobante.getEstado(this.comprobante.CODIGOESTADOCOMPROBANTE);
            }
            else
            {
                XtraMessageBox.Show(generador.getRespuestaAutorizacion().getAutorizaciones().getAutorizacion()[0].getMensajes().getMensaje()[0].getMensaje());
            }
            this.comprobante = new FacturaServicio().getComprobante(this.comprobante.CODIGOCOMPROBANTE);
            this.cOMPROBANTEBindingSource.DataSource = this.comprobante;
            this.EstadoComprobanteActual.asignarControles();
        }
Пример #3
0
        private void simpleButtonRecuperar_Click(object sender, EventArgs e)
        {
            RecuperarPendienteForm recuperarPendienteForm = new RecuperarPendienteForm();
            int num = (int)recuperarPendienteForm.ShowDialog();

            if (recuperarPendienteForm.DialogResult != DialogResult.OK)
            {
                return;
            }
            this.detalleComprobanteList                    = new List <DETALLECOMPROBANTE>();
            this.comprobante                               = recuperarPendienteForm.getComprobanteSeleccionado();
            this.comprobante.CODIGOBODEGA                  = new long?(this.listadoBodega.First <BODEGA>().CODIGOBODEGA);
            this.cOMPROBANTEBindingSource.DataSource       = (object)this.comprobante;
            this.DETALLECOMPROBANTEGridControl.DataSource  = (object)this.comprobante.DETALLECOMPROBANTE;
            this.IMPUESTOCOMPROBANTEGridControl.DataSource = (object)this.comprobante.IMPUESTOCOMPROBANTE;
            this.socionegocioSeleccionado                  = this.comprobante.SOCIONEGOCIO;
            this.bindingSourceSocioNegocio.DataSource      = (object)this.comprobante.SOCIONEGOCIO;
            this.detalleComprobanteList.AddRange((IEnumerable <DETALLECOMPROBANTE>) this.comprobante.DETALLECOMPROBANTE);
            this.bindingListDetalleComprobante = new BindingList <DETALLECOMPROBANTE>((IList <DETALLECOMPROBANTE>) this.detalleComprobanteList);
            this.DETALLECOMPROBANTEGridControl.EndUpdate();
            this.IMPUESTOCOMPROBANTEGridControl.EndUpdate();
            this.cOMPROBANTEBindingSource.EndEdit();
            this.calcularImpuestos();
            this.EstadoComprobanteActual = this.estadosComprobante.getEstado(3L);
            this.EstadoComprobanteActual.asignarControles();
        }
Пример #4
0
        public void GenerarXML()
        {
            UtilesElectronico util = new UtilesElectronico();

            this.comprobante = new FacturaServicio().getComprobante(this.comprobante.CODIGOCOMPROBANTE);
            LlenarInformacionTributaria();
            util.serializar(factura);
        }
Пример #5
0
 public void Alta(COMPROBANTE objeto)
 {
     using (SIST_SUPERMERCADOEntities ctx = SIST_SUPERMERCADOEntities.ObtenerInstancia())
     {
         ctx.COMPROBANTE.AddObject(objeto);
         ctx.SaveChanges();
     }
 }
Пример #6
0
 public COMPROBANTE AltaConRetorno(COMPROBANTE objeto)
 {
     using (SIST_SUPERMERCADOEntities ctx = SIST_SUPERMERCADOEntities.ObtenerInstancia())
     {
         ctx.COMPROBANTE.AddObject(objeto);
         ctx.SaveChanges();
         return ObtenerPorID(objeto.COM_ID);
     }
 }
Пример #7
0
 public void Modificacion(COMPROBANTE objeto)
 {
     using (SIST_SUPERMERCADOEntities ctx = SIST_SUPERMERCADOEntities.ObtenerInstancia())
     {
         ctx.COMPROBANTE.Attach(objeto);
         ctx.ObjectStateManager.ChangeObjectState(objeto, System.Data.EntityState.Modified);
         ctx.SaveChanges();
     }
 }
Пример #8
0
 private void simpleButtonOK_Click(object sender, EventArgs e)
 {
     if (gridViewPendiente.FocusedRowHandle >= 0)
     {
         gridViewPendiente.SelectRow(gridViewPendiente.FocusedRowHandle);
         this.comprobanteSeleccionado = (COMPROBANTE)gridViewPendiente.GetRow(gridViewPendiente.FocusedRowHandle);
         this.DialogResult            = DialogResult.OK;
         this.Close();
     }
 }
 private void simpleButtonOK_Click(object sender, EventArgs e)
 {
     if (gridViewComprobante.GetSelectedRows().Count() == 0)
     {
         MessageBox.Show("Seleccione un producto");
         return;
     }
     this.comprobanteSeleccionado = (COMPROBANTE)gridViewComprobante.GetRow(gridViewComprobante.GetSelectedRows()[0]);
     this.DialogResult            = DialogResult.OK;
 }
 private void gridControlBusqueda_DoubleClick(object sender, EventArgs e)
 {
     if (gridViewComprobante.FocusedRowHandle >= 0)
     {
         gridViewComprobante.SelectRow(gridViewComprobante.FocusedRowHandle);
         this.comprobanteSeleccionado = (COMPROBANTE)gridViewComprobante.GetRow(gridViewComprobante.FocusedRowHandle);
         this.DialogResult            = DialogResult.OK;
         this.Close();
     }
 }
Пример #11
0
 public override void Grabar(long estado)
 {
     if (!this.validarDatos())
     {
         return;
     }
     this.comprobante.CODIGOSOCIONEGOCIO      = new long?(this.socionegocioSeleccionado.CODIGOSOCIONEGOCIO);
     this.comprobante.CODIGOESTADOCOMPROBANTE = estado;
     this.comprobante = this.facturaServicio.grabarComprobante(this.comprobante, this.detalleComprobanteList, this.impuestoComprobanteList, this.detalleFormaPago, this.socionegocioSeleccionado, CredencialUsuario.getInstancia().getEstablecimientoSeleccionado().CODIGOESTABLECIMIENTO, (long)CredencialUsuario.getInstancia().getPuntoDeEmision().CODIGOESTABLECIMIENTO, CredencialUsuario.getInstancia().getEmpresaSeleccionada().RUC, (TIPOCOMPROBANTE)this.CODIGOTIPOCOMPROBANTELookUpEdit.GetSelectedDataRow(), CredencialUsuario.getInstancia().getEmpresaSeleccionada().CODIGOTIPOAMBIENTE.ToString(), CredencialUsuario.getInstancia().getEstablecimientoSeleccionado().NUMERO, CredencialUsuario.getInstancia().getPuntoDeEmision().NOMBRE);
     if (this.facturaServicio.ErrorNasti != null)
     {
         XtraMessageBox.Show(this.facturaServicio.ErrorNasti.Error);
     }
 }
Пример #12
0
 public PagoForm(COMPROBANTE comprobante)
 {
     InitializeComponent();
     this.comprobante = comprobante;
     //this.comprobanteFormaPago.CODIGOCOMPROBANTE = this.comprobante.CODIGOCOMPROBANTE;
     this.comprobanteFormaPago.CODIGOFORMAPAGO = 1;
     this.comprobanteFormaPago.VALOR           = this.comprobante.TOTAL;
     comprobanteFormaPagoList.Add(this.comprobanteFormaPago);
     this.cOMPROBANTEFORMAPAGOBindingSource.DataSource = comprobanteFormaPagoList;
     if (this.comprobante.ESTADOCOMPROBANTE.CODIGOESTADOCOMPROBANTE == (long)EnumEstadoComprobante.AUTORIZADO || this.comprobante.ESTADOCOMPROBANTE.CODIGOESTADOCOMPROBANTE == (long)EnumEstadoComprobante.ANULADO)
     {
         this.simpleButtonOK.Enabled = false;
     }
 }
Пример #13
0
        public byte[] exportarPdf(long tipoDocumento, COMPROBANTE comprobante)
        {
            try
            {
                byte[] formatoReporte;
                PUNTOEMISIONDOCUMENTO puntoEmisionDocumento = (from puntoE in comprobante.PUNTOEMISION.PUNTOEMISIONDOCUMENTO where puntoE.CODIGOTIPOCOMPROBANTE == comprobante.TIPOCOMPROBANTE.CODIGOTIPOCOMPROBANTE select puntoE).FirstOrDefault();
                if (puntoEmisionDocumento.ARCHIVOREPORTE != null)

                {
                    formatoReporte = puntoEmisionDocumento.ARCHIVOREPORTE;
                }
                else
                if (comprobante.TIPOCOMPROBANTE.ARCHIVOREPORTE == null)
                {
                    XtraMessageBox.Show("NO SE HAN DEFINIDO REPORTE DE FACTURA");
                    return(null);
                }
                else
                {
                    formatoReporte = comprobante.TIPOCOMPROBANTE.ARCHIVOREPORTE;
                }
                System.IO.MemoryStream memoryStream = new System.IO.MemoryStream(formatoReporte);
                xtraReport.LoadLayout(memoryStream);
                Parameter parametro = new DevExpress.XtraReports.Parameters.Parameter();
                parametro.Value = comprobante.CODIGOCOMPROBANTE;
                parametro.Name  = "codigoComprobante";;
                xtraReport.Parameters["codigoComprobante"].Value = comprobante.CODIGOCOMPROBANTE;
                xtraReport.DrawWatermark  = (comprobante.CLAVEDEACCESO.Substring(23, 1).Equals("1") ? true : false);
                xtraReport.Watermark.Text = (comprobante.CLAVEDEACCESO.Substring(23, 1).Equals("1") ? "LA INFORMACIÓN IMPRESA NO TIENE VALIDEZ." + Environment.NewLine + "COMPROBANTE GENERADO EN EL AMBIENTE DE PRUEBAS" : "");
                formaReporte.Text         = comprobante.TIPOCOMPROBANTE.NOMBRE + "-" + comprobante.NUMEROCOMPROBANTE;
                formaReporte.getdocumentViewer1().DocumentSource = xtraReport;
                var archivopdf = new MemoryStream();
                xtraReport.ExportToPdf(archivopdf);
                return(archivopdf.ToArray());
            }
            catch (Exception ex)
            {
                XtraMessageBox.Show(ex.ToString());
            }
            return(null);
        }
Пример #14
0
        public void imprimir(long tipoDocumento, COMPROBANTE comprobante)
        {
            try
            {
                byte[] formatoReporte;
                PUNTOEMISIONDOCUMENTO puntoEmisionDocumento = (from puntoE in comprobante.PUNTOEMISION.PUNTOEMISIONDOCUMENTO where puntoE.CODIGOTIPOCOMPROBANTE == comprobante.TIPOCOMPROBANTE.CODIGOTIPOCOMPROBANTE select puntoE).FirstOrDefault();
                if (puntoEmisionDocumento.ARCHIVOREPORTE != null)

                {
                    formatoReporte = puntoEmisionDocumento.ARCHIVOREPORTE;
                }
                else
                if (comprobante.TIPOCOMPROBANTE.ARCHIVOREPORTE == null)
                {
                    XtraMessageBox.Show("NO SE HAN DEFINIDO REPORTE DE FACTURA");
                    return;
                }
                else
                {
                    formatoReporte = comprobante.TIPOCOMPROBANTE.ARCHIVOREPORTE;
                }
                System.IO.MemoryStream memoryStream = new System.IO.MemoryStream(formatoReporte);
                xtraReport.LoadLayout(memoryStream);
                Parameter parametro = new DevExpress.XtraReports.Parameters.Parameter();
                parametro.Value          = comprobante.CODIGOCOMPROBANTE;
                parametro.Name           = "codigoComprobante";
                formaReporte.WindowState = FormWindowState.Maximized;
                xtraReport.Parameters["codigoComprobante"].Value = comprobante.CODIGOCOMPROBANTE;
                xtraReport.DrawWatermark  = (comprobante.CLAVEDEACCESO.Substring(23, 1).Equals("1") ? true : false);
                xtraReport.Watermark.Text = (comprobante.CLAVEDEACCESO.Substring(23, 1).Equals("1") ? "LA INFORMACIÓN IMPRESA NO TIENE VALIDEZ." + Environment.NewLine + "COMPROBANTE GENERADO EN EL AMBIENTE DE PRUEBAS" : "");
                formaReporte.Text         = comprobante.TIPOCOMPROBANTE.NOMBRE + "-" + comprobante.NUMEROCOMPROBANTE;
                formaReporte.getdocumentViewer1().DocumentSource = xtraReport;
                formaReporte.getdocumentViewer1().Show();
                formaReporte.getdocumentViewer1().PrintingSystem.SetCommandVisibility(DevExpress.XtraPrinting.PrintingSystemCommand.Open, DevExpress.XtraPrinting.CommandVisibility.None);
                formaReporte.ShowDialog();
            }
            catch (Exception ex)
            {
                XtraMessageBox.Show(ex.ToString());
            }
        }
Пример #15
0
        public override void Buscar()
        {
            FormBuscarComprobante formaBuscar = new FormBuscarComprobante((long)EnumTipoComprobante.FACTURA);

            formaBuscar.ShowDialog();
            if (formaBuscar.DialogResult == DialogResult.OK)
            {
                detalleComprobanteList = new List <DETALLECOMPROBANTE>();
                this.comprobante       = formaBuscar.getComprobanteSeleccionado();
                this.cOMPROBANTEBindingSource.DataSource       = this.comprobante;
                this.DETALLECOMPROBANTEGridControl.DataSource  = comprobante.DETALLECOMPROBANTE;
                this.IMPUESTOCOMPROBANTEGridControl.DataSource = comprobante.IMPUESTOCOMPROBANTE;
                this.socionegocioSeleccionado             = this.comprobante.SOCIONEGOCIO;
                this.bindingSourceSocioNegocio.DataSource = this.comprobante.SOCIONEGOCIO;
                detalleComprobanteList.AddRange(this.comprobante.DETALLECOMPROBANTE);
                bindingListDetalleComprobante = new BindingList <DETALLECOMPROBANTE>(detalleComprobanteList);
                this.DETALLECOMPROBANTEGridControl.EndUpdate();
                this.IMPUESTOCOMPROBANTEGridControl.EndUpdate();
                this.cOMPROBANTEBindingSource.EndEdit();
            }
        }
Пример #16
0
        public void DatosIniciales()
        {
            this.Tag                           = (object)"FACTURA";
            this.facturaServicio               = new FacturaServicio();
            this.socionegocioSeleccionado      = new SOCIONEGOCIO();
            this.detalleComprobanteList        = new List <DETALLECOMPROBANTE>();
            this.bindingListDetalleComprobante = new BindingList <DETALLECOMPROBANTE>((IList <DETALLECOMPROBANTE>) this.detalleComprobanteList);
            this.codigoEmpresa                 = CredencialUsuario.getInstancia().getEmpresaSeleccionada().CODIGOEMPRESA;
            this.CODIGOTIPOCOMPROBANTELookUpEdit.Properties.DataSource = (object)this.facturaServicio.getTipoComprobante();
            this.CODIGOESTABLECIMIENTOLookUpEdit.Properties.DataSource = (object)this.facturaServicio.getEstablecimiento(this.codigoEmpresa);
            this.CODIGOPUNTOEMISIONLookUpEdit.Properties.DataSource    = (object)this.facturaServicio.getPuntoEmision(CredencialUsuario.getInstancia().getEstablecimientoSeleccionado().CODIGOESTABLECIMIENTO);
            this.bindingSourceSocioNegocio.DataSource                = (object)this.socionegocioSeleccionado;
            this.DETALLECOMPROBANTEGridControl.DataSource            = (object)this.bindingListDetalleComprobante;
            this.CODIGOLISTADEPRECIOLookUpEdit.Properties.DataSource = (object)this.facturaServicio.getListadoDePrecio(this.codigoEmpresa);
            IEnumerable <LISTADEPRECIO> listadoDePrecio = this.facturaServicio.getListadoDePrecio(this.codigoEmpresa);

            this.CODIGOLISTADEPRECIOLookUpEdit.Properties.DataSource     = (object)listadoDePrecio;
            this.CODIGOESTADOCOMPROBANTELookUpEdit.Properties.DataSource = (object)this.facturaServicio.getEstadoComprobante();
            this.listadoBodega = this.facturaServicio.getBodega(this.codigoEmpresa, CredencialUsuario.getInstancia().getEstablecimientoSeleccionado().CODIGOESTABLECIMIENTO);
            this.CODIGOBODEGALookUpEdit.Properties.ValueMember   = "CODIGOBODEGA";
            this.CODIGOBODEGALookUpEdit.Properties.DisplayMember = "NOMBRE";
            this.CODIGOBODEGALookUpEdit.Properties.DataSource    = (object)this.listadoBodega;
            this.comprobante = new COMPROBANTE();
            this.comprobante.CODIGOPUNTOEMISION      = CredencialUsuario.getInstancia().getPuntoDeEmision().CODIGOPUNTOEMISION;
            this.comprobante.CODIGOESTABLECIMIENTO   = CredencialUsuario.getInstancia().getEstablecimientoSeleccionado().CODIGOESTABLECIMIENTO;
            this.comprobante.FECHAEMISION            = DateTime.Now;
            this.comprobante.CODIGOTIPOCOMPROBANTE   = 1L;
            this.comprobante.CODIGOLISTADEPRECIO     = new long?(listadoDePrecio.Min <LISTADEPRECIO>((Func <LISTADEPRECIO, long>)(x => x.CODIGOLISTADEPRECIO)));
            this.comprobante.CODIGOESTADOCOMPROBANTE = 3L;
            this.comprobante.CODIGOEMPRESA           = this.codigoEmpresa;
            this.comprobante.CODIGOBODEGA            = new long?(this.listadoBodega.First <BODEGA>().CODIGOBODEGA);
            this.cOMPROBANTEBindingSource.DataSource = (object)this.comprobante;
            this.EstadoComprobanteActual             = this.estadosComprobante.getEstado(3L);
            this.EstadoComprobanteActual.asignarControles();
            this.setcodigoEstado(3L);
            this.limpiarErrores((Control)this);
        }
Пример #17
0
        public override void Buscar()
        {
            FormBuscarComprobante buscarComprobante = new FormBuscarComprobante(1L);
            int num = (int)buscarComprobante.ShowDialog();

            if (buscarComprobante.DialogResult != DialogResult.OK)
            {
                return;
            }
            this.detalleComprobanteList = new List <DETALLECOMPROBANTE>();
            this.comprobante            = buscarComprobante.getComprobanteSeleccionado();
            this.cOMPROBANTEBindingSource.DataSource       = (object)this.comprobante;
            this.DETALLECOMPROBANTEGridControl.DataSource  = (object)this.comprobante.DETALLECOMPROBANTE;
            this.IMPUESTOCOMPROBANTEGridControl.DataSource = (object)this.comprobante.IMPUESTOCOMPROBANTE;
            this.socionegocioSeleccionado             = this.comprobante.SOCIONEGOCIO;
            this.bindingSourceSocioNegocio.DataSource = (object)this.comprobante.SOCIONEGOCIO;
            this.detalleComprobanteList.AddRange((IEnumerable <DETALLECOMPROBANTE>) this.comprobante.DETALLECOMPROBANTE);
            this.bindingListDetalleComprobante = new BindingList <DETALLECOMPROBANTE>((IList <DETALLECOMPROBANTE>) this.detalleComprobanteList);
            this.DETALLECOMPROBANTEGridControl.EndUpdate();
            this.IMPUESTOCOMPROBANTEGridControl.EndUpdate();
            this.cOMPROBANTEBindingSource.EndEdit();
            this.EstadoComprobanteActual = this.estadosComprobante.getEstado(this.comprobante.CODIGOESTADOCOMPROBANTE);
            this.EstadoComprobanteActual.asignarControles();
        }
Пример #18
0
        public void DatosIniciales()
        {
            this.Tag = "FACTURA";
            this.socionegocioSeleccionado = new SOCIONEGOCIO();
            detalleComprobanteList        = new List <DETALLECOMPROBANTE>();
            bindingListDetalleComprobante = new BindingList <DETALLECOMPROBANTE>(detalleComprobanteList);
            codigoEmpresa = CredencialUsuario.getInstancia().getEmpresaSeleccionada().CODIGOEMPRESA;
            this.CODIGOTIPOCOMPROBANTELookUpEdit.Properties.DataSource = facturaServicio.getTipoComprobante();
            this.CODIGOESTABLECIMIENTOLookUpEdit.Properties.DataSource = facturaServicio.getEstablecimiento(codigoEmpresa);
            this.CODIGOPUNTOEMISIONLookUpEdit.Properties.DataSource    = facturaServicio.getPuntoEmision(CredencialUsuario.getInstancia().getEstablecimientoSeleccionado().CODIGOESTABLECIMIENTO);
            // this.CODIGOVENDEDORLookUpEdit.Properties.DataSource = facturaServicio.getVendedores(codigoEmpresa);
            bindingSourceSocioNegocio.DataSource                     = this.socionegocioSeleccionado;
            this.DETALLECOMPROBANTEGridControl.DataSource            = this.bindingListDetalleComprobante;
            this.CODIGOLISTADEPRECIOLookUpEdit.Properties.DataSource = facturaServicio.getListadoDePrecio(codigoEmpresa);
            IEnumerable <LISTADEPRECIO> listaPrecio = facturaServicio.getListadoDePrecio(codigoEmpresa);

            this.CODIGOLISTADEPRECIOLookUpEdit.Properties.DataSource     = listaPrecio;
            this.CODIGOESTADOCOMPROBANTELookUpEdit.Properties.DataSource = facturaServicio.getEstadoComprobante();
            listadoBodega = facturaServicio.getBodega(codigoEmpresa, CredencialUsuario.getInstancia().getEstablecimientoSeleccionado().CODIGOESTABLECIMIENTO);
            this.CODIGOBODEGALookUpEdit.Properties.ValueMember   = "CODIGOBODEGA";
            this.CODIGOBODEGALookUpEdit.Properties.DisplayMember = "NOMBRE";
            this.CODIGOBODEGALookUpEdit.Properties.DataSource    = listadoBodega;
            comprobante = new COMPROBANTE();
            comprobante.CODIGOPUNTOEMISION           = CredencialUsuario.getInstancia().getPuntoDeEmision().CODIGOPUNTOEMISION;
            comprobante.CODIGOESTABLECIMIENTO        = CredencialUsuario.getInstancia().getEstablecimientoSeleccionado().CODIGOESTABLECIMIENTO;
            comprobante.FECHAEMISION                 = DateTime.Now;
            comprobante.CODIGOTIPOCOMPROBANTE        = (long)EnumTipoComprobante.FACTURA;
            comprobante.CODIGOLISTADEPRECIO          = listaPrecio.Min(x => x.CODIGOLISTADEPRECIO);
            comprobante.CODIGOESTADOCOMPROBANTE      = (long)EnumEstadoComprobante.NUEVO;
            comprobante.CODIGOEMPRESA                = codigoEmpresa;
            comprobante.CODIGOBODEGA                 = listadoBodega.First().CODIGOBODEGA;
            this.cOMPROBANTEBindingSource.DataSource = comprobante;
            this.EstadoComprobanteActual             = new EstadoNuevo(this);
            this.setcodigoEstado((long)EnumEstadoComprobante.NUEVO);
            this.limpiarErrores(this);
        }
Пример #19
0
        private void simpleButton1_Click_1(object sender, EventArgs e)
        {
            RecuperarPendienteForm recuperar = new RecuperarPendienteForm();

            recuperar.ShowDialog();
            if (recuperar.DialogResult == DialogResult.OK)
            {
                detalleComprobanteList   = new List <DETALLECOMPROBANTE>();
                this.comprobante         = recuperar.getComprobanteSeleccionado();
                comprobante.CODIGOBODEGA = listadoBodega.First().CODIGOBODEGA;
                this.cOMPROBANTEBindingSource.DataSource       = this.comprobante;
                this.DETALLECOMPROBANTEGridControl.DataSource  = comprobante.DETALLECOMPROBANTE;
                this.IMPUESTOCOMPROBANTEGridControl.DataSource = comprobante.IMPUESTOCOMPROBANTE;
                this.socionegocioSeleccionado             = this.comprobante.SOCIONEGOCIO;
                this.bindingSourceSocioNegocio.DataSource = this.comprobante.SOCIONEGOCIO;
                detalleComprobanteList.AddRange(this.comprobante.DETALLECOMPROBANTE);
                bindingListDetalleComprobante = new BindingList <DETALLECOMPROBANTE>(detalleComprobanteList);

                this.DETALLECOMPROBANTEGridControl.EndUpdate();
                this.IMPUESTOCOMPROBANTEGridControl.EndUpdate();
                this.cOMPROBANTEBindingSource.EndEdit();
                calcularImpuestos();
            }
        }
Пример #20
0
 public GeneradorFactura(COMPROBANTE comprobante)
 {
     this.comprobante = comprobante;
 }
Пример #21
0
 public void setComprobante(COMPROBANTE comprobante)
 {
     this.comprobante = comprobante;
 }
Пример #22
0
 public FormaPagoForm(COMPROBANTE comprobante)
 {
     InitializeComponent();
     datosIniciales();
     this.comprobante = comprobante;
 }
Пример #23
0
        public void enviarComprobante()
        {
            if (this.comprobante == null)
            {
                return;
            }
            Nasti.Datos.Utiles.UtilesElectronico util = new Nasti.Datos.Utiles.UtilesElectronico();
            this.comprobante = new FacturaServicio().getComprobante(this.comprobante.CODIGOCOMPROBANTE);
            FormProgressBar progress = new FormProgressBar();

            progress.setTexto("Generando XML");
            progress.Show();
            LlenarInformacionTributaria(comprobante.TIPOCOMPROBANTE.VERSION);
            byte[] archivo = util.serializar(factura);
            progress.setTexto("Firmando comprobante");
            progress.Update();
            byte[] archivoFirmado = util.firmarArchivo(archivo, comprobante.EMPRESA.CLAVEFIRMA, comprobante.EMPRESA.CODIGOEMPRESA, comprobante.EMPRESA.FIRMAELECTRONICA, comprobante.EMPRESA.PROVEEDORCERTIFICADO.SIGLA, comprobante.EMPRESA.RUC);
            if (archivoFirmado == null)

            {
                XtraMessageBox.Show("Error en el proceso de firmado. Contactese con el administrador del sistema");
                return;
            }
            if (comprobante == null || archivoFirmado == null || comprobante.CLAVEDEACCESO == null)
            {
                return;
            }
            GeneralServicio generalServicio = new GeneralServicio();
            PARAMETRO       parametroSRI    = generalServicio.getParametro(comprobante.EMPRESA.CODIGOEMPRESA, "ENVIAR_SRI");

            if (parametroSRI != null)
            {
                if (parametroSRI.VALORSTRING.Equals("S"))
                {
                    EnvioComprobantesWs envio = new EnvioComprobantesWs();
                    progress.setTexto("Enviando al SRI.");
                    envio.obtenerRespuestaEnvio(archivoFirmado, comprobante.EMPRESA.RUC, comprobante.TIPOCOMPROBANTE.CODIGOSRI, comprobante.CLAVEDEACCESO.ToString());
                    this.respuestaSolicitud    = envio.getRespuestaSolicitud();
                    this.respuestaAutorizacion = envio.getRespuestaAutorizacion();
                    progress.setTexto("Autorizando comprobante.");
                    progress.Update();
                    if (respuestaSolicitud.getEstado().Equals("RECIBIDA"))
                    {
                        comprobante.ESTADO = (int)EnumEstadoComprobante.RECIBIDOSRI;
                        envio.autorizarComprobante(comprobante.CLAVEDEACCESO);
                        if (envio.getRespuestaAutorizacion().getAutorizaciones() != null)
                        {
                            envio.autorizarComprobante(comprobante.CLAVEDEACCESO);
                        }
                        if (envio.getRespuestaAutorizacion().getAutorizaciones().getAutorizacion()[0].getEstado().Equals("AUTORIZADO"))
                        {
                            comprobante.CODIGOESTADOCOMPROBANTE = (long)EnumEstadoComprobante.AUTORIZADO;
                            XMLGregorianCalendar fec = envio.getRespuestaAutorizacion().getAutorizaciones().getAutorizacion()[0].getFechaAutorizacion();
                            comprobante.FECHAAUTORIZACION = new DateTime(fec.getYear(), fec.getMonth(), fec.getDay(), fec.getHour(), fec.getMinute(), fec.getSecond());
                            comprobante.ARCHIVOAUTORIZADO = System.Text.Encoding.UTF8.GetBytes(envio.getRespuestaAutorizacion().getAutorizaciones().getAutorizacion()[0].getComprobante());
                        }
                        else
                        {
                            comprobante.CODIGOESTADOCOMPROBANTE = (long)EnumEstadoComprobante.NOAUTORIZADO;
                            comprobante.NOVEDAD = envio.getRespuestaAutorizacion().getAutorizaciones().getAutorizacion()[0].getMensajes().getMensaje()[0].getMensaje();
                        }
                        progress.setTexto("Actualizando comprobante en el sistema");
                        progress.Update();
                        facturaServicio.actualizarComprobante(comprobante);
                        if (facturaServicio.ErrorNasti != null)
                        {
                            XtraMessageBox.Show(facturaServicio.ErrorNasti.Error);
                        }
                        //XtraMessageBox.Show("Existe un inconveniente al autorizar el comprobante");
                    }
                    else if (respuestaSolicitud.getEstado().Equals("DEVUELTA"))
                    {
                        if (respuestaSolicitud.getComprobantes().getComprobante()[0].getMensajes().getMensaje()[0].getIdentificador().Equals("43"))
                        {
                            if (respuestaSolicitud.getComprobantes().getComprobante()[0].getClaveAcceso().Equals(comprobante.CLAVEDEACCESO))
                            {
                                try
                                {
                                    progress.setTexto("Extrayendo nuevamente comprobante autorizado");
                                    envio.autorizarComprobante(comprobante.CLAVEDEACCESO);
                                    this.respuestaAutorizacion = envio.getRespuestaAutorizacion();
                                    if (envio.getRespuestaAutorizacion().getAutorizaciones().getAutorizacion()[0].getEstado().Equals("AUTORIZADO"))
                                    {
                                        progress.setTexto("COMPROBANTE AUTORIZADO");
                                        progress.Update();
                                        comprobante.CODIGOESTADOCOMPROBANTE = (long)EnumEstadoComprobante.AUTORIZADO;
                                        XMLGregorianCalendar fec = envio.getRespuestaAutorizacion().getAutorizaciones().getAutorizacion()[0].getFechaAutorizacion();
                                        comprobante.FECHAAUTORIZACION = new DateTime(fec.getYear(), fec.getMonth(), fec.getDay(), fec.getHour(), fec.getMinute(), fec.getSecond());
                                        comprobante.ARCHIVOAUTORIZADO = new XStreamUtil().getResuestaStream(System.Text.Encoding.UTF8.GetBytes(envio.getRespuestaAutorizacion().getAutorizaciones().getAutorizacion()[0].getComprobante()), comprobante.CLAVEDEACCESO, comprobante.FECHAAUTORIZACION.ToString(), comprobante.ESTADOCOMPROBANTE.DESCRIPCION);
                                        //enviar correo

                                        progress.setTexto("Enviando por correo.");
                                        progress.Update();
                                        this.enviarCorreo();
                                    }
                                    else
                                    {
                                        comprobante.CODIGOESTADOCOMPROBANTE = (long)EnumEstadoComprobante.NOAUTORIZADO;
                                        comprobante.NOVEDAD = envio.getRespuestaAutorizacion().getAutorizaciones().getAutorizacion()[0].getMensajes().getMensaje()[0].getMensaje();
                                    }
                                    progress.setTexto("Actualizando el comprobante en el sistema");
                                    new FacturaServicio().actualizarComprobante(comprobante);
                                    progress.Update();
                                }
                                catch (Exception ex)
                                {
                                    XtraMessageBox.Show(ex.ToString());
                                    return;
                                }
                            }
                        }
                        else
                        {
                            XtraMessageBox.Show(respuestaSolicitud.getComprobantes().getComprobante()[0].getMensajes().getMensaje()[0].getMensaje());
                        }
                    }
                }
            }
            else
            {
                XtraMessageBox.Show("NO EXISTE PARAMETRO GENERAR_SRI");
            }

            progress.Close();
        }
Пример #24
0
 public void Alta(COMPROBANTE entidad)
 {
     mCOMPROBANTES.Alta(entidad);
 }
 public void setComprobanteSeleccionado(COMPROBANTE comprobante)
 {
     this.comprobanteSeleccionado = comprobante;
 }
Пример #26
0
        private void button1_Click(object sender, EventArgs e)
        {
            logicSRI.sendClaveAcceso("1301202101179282192400120010050000298690002986913");

            List <DETALLE_COMPROBANTE> _listaDetalle = new List <DETALLE_COMPROBANTE>();

            DETALLE_COMPROBANTE _infoDetalle = new DETALLE_COMPROBANTE();

            _infoDetalle.dec_id             = 1;
            _infoDetalle.dec_cantidad       = 1;
            _infoDetalle.dec_codigoproducto = "PRO001";
            _infoDetalle.dec_descripcion    = "COMPUTADOR";
            _infoDetalle.dec_descuento      = 0;
            _infoDetalle.dec_iva0           = 0;
            _infoDetalle.dec_precio         = 1000;
            _infoDetalle.dec_ivagravado     = 120;
            _infoDetalle.dec_valortotal     = 1120;

            DETALLE_COMPROBANTE _infoDetalle2 = new DETALLE_COMPROBANTE();

            _infoDetalle2.dec_id             = 2;
            _infoDetalle2.dec_cantidad       = 1;
            _infoDetalle2.dec_codigoproducto = "PRO002";
            _infoDetalle2.dec_descripcion    = "TECLADO";
            _infoDetalle2.dec_descuento      = 0;
            _infoDetalle2.dec_iva0           = 0;
            _infoDetalle2.dec_precio         = 100;
            _infoDetalle2.dec_ivagravado     = 12;
            _infoDetalle2.dec_valortotal     = 112;

            _listaDetalle.Add(_infoDetalle);
            _listaDetalle.Add(_infoDetalle2);

            COMPROBANTE _infoComprobante = new COMPROBANTE();

            DatosElectronicos _infoDatosElectronicos = new DatosElectronicos();


            var res = LayerLogic.ClassLibrary.PlantillaXml.xmlFactura.generateFacturaXml(_infoComprobante, _listaDetalle, _infoDatosElectronicos);

            //Convert Base 64
            string xmlSinFirma = res.Declaration.ToString() + res.ToString();

            byte[] newByte = new byte[xmlSinFirma.Length];
            newByte = Encoding.UTF8.GetBytes(xmlSinFirma);
            string base64 = Convert.ToBase64String(newByte);

            LayerLogic.ClassLibrary.Complementos.Firmar.firmar(base64);



            res.Save(@"C:\XML\result.xml");


            string fecha           = DateTime.Now.ToString("ddMMyyyy");
            string tipoCOmprobante = "02";
            string ruc             = "1725667054001";
            string codigoNumerico  = "12345";
            string secuencia       = "00000001";
            string establecimiento = "001";
            string emsion          = "002";
        }
Пример #27
0
        public static XDocument generateFacturaXml(COMPROBANTE _infoComprobante, List <DETALLE_COMPROBANTE> _listaDetalleProductos, DatosElectronicos _infoDatosElectronicos)
        {
            XElement factura = new XElement("factura", new XAttribute("id", "comprobante"), new XAttribute("version", "1.1.0"));

            //InfoTributaria

            factura.Add(
                new XElement("infoTributaria",
                             new XElement("ambiente", _infoDatosElectronicos.ambiente),
                             new XElement("tipoEmision", "1"),
                             new XElement("razonSocial", "FABRICIO MERO"),
                             new XElement("nombreComercial", "EL ASESOR CONTABLE"),
                             new XElement("ruc", "0801895186001"),
                             new XElement("claveAcceso", _infoDatosElectronicos.ClaveAcceso),
                             new XElement("codDoc", "01"),
                             new XElement("estab", _infoComprobante.com_establecimiento),
                             new XElement("ptoEmi", _infoComprobante.com_emision),
                             new XElement("secuencial", _infoComprobante.com_secuencial),
                             new XElement("dirMatriz", "LAS CASAS")

                             ));

            //infoFactura

            XElement infoFactura = new XElement("infoFactura");

            infoFactura.Add(
                new XElement("fechaEmision", _infoComprobante.com_fecha),
                new XElement("dirEstablecimiento", _infoComprobante.com_direccion),
                new XElement("contribuyenteEspecial", "NO"),
                new XElement("obligadoContabilidad", "NO"),
                new XElement("tipoIdentificacionComprador", _infoComprobante.com_tipoIdentificacion == "CF" ? "7" :
                             _infoComprobante.com_tipoIdentificacion == "R" ? "4" :
                             _infoComprobante.com_tipoIdentificacion == "P" ? "6" :
                             _infoComprobante.com_tipoIdentificacion == "c" ? "5" : null),
                new XElement("direccionComprador", _infoComprobante.com_direccion),
                new XElement("razonSocialComprador", _infoComprobante.com_nombres),

                new XElement("identificacionComprador", _infoComprobante.com_identificacion),
                new XElement("totalSinImpuestos", _infoComprobante.com_total.ToString("0.00")),
                new XElement("totalDescuento", _infoComprobante.com_totalDescuento.ToString("0.00")),

                new XElement("totalConImpuestos",
                             new XElement("totalImpuesto",
                                          new XElement("codigo", "2"),
                                          new XElement("codigoPorcentaje", "2"),
                                          new XElement("baseImponible", "50.00"),
                                          new XElement("valor", "6.00"))),
                new XElement("propina", "0.00"),
                new XElement("importeTotal", "56.00"),
                new XElement("moneda", "DOLAR"),
                new XElement("pagos",
                             new XElement("pago",
                                          new XElement("formaPago", "18"),
                                          new XElement("total", "56.00"),
                                          new XElement("plazo", "3"),
                                          new XElement("unidadTiempo", "30")
                                          ))
                );


            //InfoDetalle
            XElement detalleFactura = new XElement("detalles",
                                                   from a in _listaDetalleProductos
                                                   select new XElement("detalle",
                                                                       new XElement("CodigoPrincipal", a.dec_codigoproducto),
                                                                       new XElement("codigoAuxiliar", a.dec_codigoproducto),
                                                                       new XElement("descripcion", a.dec_descripcion),
                                                                       new XElement("cantidad", a.dec_cantidad),
                                                                       new XElement("precioUnitario", a.dec_precio.ToString("0.00")),
                                                                       new XElement("descuento", a.dec_descuento.ToString("0.00")),
                                                                       new XElement("precioTotalSinImpuesto", a.dec_cantidad * a.dec_precio),
                                                                       new XElement("impuestos",
                                                                                    new XElement("impuesto",
                                                                                                 new XElement("codigo", "2"),
                                                                                                 new XElement("codigoPorcentaje", "2"),
                                                                                                 new XElement("tarifa", "12.00"),
                                                                                                 new XElement("baseImponible", a.dec_cantidad * a.dec_precio),
                                                                                                 new XElement("valor", a.dec_ivagravado)))));


            //InfoAdicional



            XDocument doc = new XDocument(
                new XDeclaration("1.0", "utf-8", "no")

                );

            factura.Add(infoFactura);
            factura.Add(detalleFactura);

            //infoAdicional a factura


            doc.Add(factura);

            return(doc);
        }
Пример #28
0
 public COMPROBANTE AltaConRetorno(COMPROBANTE entidad)
 {
     return mCOMPROBANTES.AltaConRetorno(entidad);
 }
Пример #29
0
 //public void BajaLogica(COMPROBANTE entidad)
 //{
 //    entidad.CLI_ESTADO = false;
 //    mCOMPROBANTES.Modificacion();
 //}
 public void BajaFisica(COMPROBANTE entidad)
 {
     mCOMPROBANTES.Baja(entidad);
 }
Пример #30
0
 public void Modificacion(COMPROBANTE entidad)
 {
     mCOMPROBANTES.Modificacion(entidad);
 }