예제 #1
0
        void btnAceptar_Click(object sender, EventArgs e)
        {
            Documento.FechaAnulacion = new DateTime?(DateTime.Now);
            TipoDocumento tipoDocumento = TipoDocumento.Get(Documento.TipoDocumentoID);

            if (checkEliminar.Checked && tipoDocumento.ConsecutivoActual - 1 == Documento.Consecutivo)
            {
                tipoDocumento.ConsecutivoActual--;
                tipoDocumento.Update();
                updateArticulo();
                Documento.Delete();
                MessageBox.Show("Documento se elimino con exito!", Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                return;
            }
            if (Documento.Observacion != string.Empty)
            {
                Documento expr_11C = Documento;
                expr_11C.Observacion += Environment.NewLine;
            }
            Documento expr_137 = Documento;

            expr_137.Observacion += "ANULADA";
            if (txtMotivo.Text != string.Empty)
            {
                Documento expr_169 = Documento;
                expr_169.Observacion = expr_169.Observacion + " Motivo:" + txtMotivo.Text;
            }
            Documento.EstadoDocumentoID = EstadoDocumento.FindByEstado(EstadoDocumento.ANULADO).ID;
            updateArticulo();
            Documento.Update();
            MessageBox.Show("Documento se anulo con exito!", Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
        }
예제 #2
0
        private void btnAceptar_Click(object sender, EventArgs e)
        {
            this.Comprobante.FechaAnulacion = new DateTime?(DateTime.Now);
            foreach (DetalleComprobante current in this.Comprobante.Detalles)
            {
                if (current.Documento != null)
                {
                    Documento documento = current.Documento;
                    //this.ddao.Load(documento);
                    documento.TotalAbono -= current.Total + current.Retencion + current.Descuento;
                    if (documento.TotalAbono <= 0m)
                    {
                        documento.TotalAbono        = 0m;
                        documento.EstadoDocumentoID = EstadoDocumento.FindByEstado(EstadoDocumento.FACTURADO).ID;
                    }
                    else
                    {
                        documento.EstadoDocumentoID = EstadoDocumento.FindByEstado(EstadoDocumento.PAGADO_PARCIALMENTE).ID;
                    }
                    documento.Update();;
                }
            }
            if (this.checkEliminar.Checked)
            {
                TipoDocumento tipoDocumento = TipoDocumento.Get(Comprobante.TipoDocumentoID);
                //this.tdao.Load(tipoDocumento);
                if (tipoDocumento.ConsecutivoActual - 1 == this.Comprobante.Consecutivo)
                {
                    tipoDocumento.ConsecutivoActual--;
                    tipoDocumento.Update();
                    Comprobante.Delete();
                    MessageBox.Show("Comprobante se elimino con exito!", Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                    base.Close();
                    return;
                }
            }
            if (this.Comprobante.Observacion != string.Empty)
            {
                Comprobante expr_191 = this.Comprobante;
                expr_191.Observacion += Environment.NewLine;
            }
            Comprobante expr_1AC = this.Comprobante;

            expr_1AC.Observacion += "ANULADA";
            if (this.txtMotivo.Text != string.Empty)
            {
                Comprobante expr_1DE = this.Comprobante;
                expr_1DE.Observacion = expr_1DE.Observacion + " Motivo:" + this.txtMotivo.Text;
            }
            this.Comprobante.EstadoDocumentoID = EstadoDocumento.FindByEstado(EstadoDocumento.ANULADO).ID;
            Comprobante.Update();
            MessageBox.Show("Documento se anulo con exito!", "SoluPYME " + Entorno.VERSION, MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
            base.Close();
        }
예제 #3
0
        private void FormAnularComprobante_Load(object sender, EventArgs e)
        {
            this.lbTipoDocumento.Text  = TipoDocumento.Get(Comprobante.TipoDocumentoID).Descripcion.ToUpper();
            this.lbConsecutivo.Text    = string.Format("{0:" + this.CalcularCerosIzquierda(TipoDocumento.Get(Comprobante.TipoDocumentoID).CerosIzquierda) + "}", this.Comprobante.Consecutivo);
            this.checkEliminar.Enabled = false;
            TipoDocumento tipoDocumento = TipoDocumento.Get(this.Comprobante.TipoDocumentoID);

            if (tipoDocumento.ConsecutivoActual - 1 == this.Comprobante.Consecutivo)
            {
                this.checkEliminar.Enabled = true;
            }
        }
예제 #4
0
        void FormAnularDocumento_Load(object sender, EventArgs e)
        {
            lbTipoDocumento.Text  = TipoDocumento.Get(Documento.TipoDocumentoID).Descripcion.ToUpper();
            lbConsecutivo.Text    = string.Format("{0:" + CalcularCerosIzquierda(TipoDocumento.Get(Documento.TipoDocumentoID).CerosIzquierda) + "}", Documento.Consecutivo);
            checkEliminar.Enabled = false;
            TipoDocumento tipoDocumento = TipoDocumento.Get(Documento.TipoDocumentoID);

            if (tipoDocumento.ConsecutivoActual - 1 == Documento.Consecutivo)
            {
                checkEliminar.Enabled = true;
            }
        }
예제 #5
0
 private void GrabarDocumento()
 {
     this.Documento.Observacion = this.cbFormaPago.Text;
     this.Documento.UsuarioID   = Entorno.USUARIO.ID;
     if (this.Documento.ID == 0)
     {
         this.TipoDocumento         = TipoDocumento.Get(this.TipoDocumento.ID);
         this.Documento.Consecutivo = this.TipoDocumento.ConsecutivoActual;
         Documento.Save();
         this.TipoDocumento.ConsecutivoActual++;
         TipoDocumento.Update();
     }
 }
예제 #6
0
    private void GetTipoDocumento(int idTipoDocumento)
    {
        dvSalvarTipoDocumento.Visible  = true;
        dvListarTipoDocumentos.Visible = false;

        var TipoDocumento = new TipoDocumento();

        TipoDocumento.IDTipoDocumento = idTipoDocumento;
        TipoDocumento.Get();

        txtId.Text   = TipoDocumento.IDTipoDocumento.ToString();
        txtNome.Text = TipoDocumento.Nome.ToString();
    }
예제 #7
0
        internal void LlenarComprobante()
        {
            this.comprobante.Load();
            this.tipoDocumento = TipoDocumento.Get(this.comprobante.TipoDocumentoID);
            formateo           = "##0";
            if (this.tipoDocumento.CantidadDecimal > 0)
            {
                formateo += this.CalcularNumeroDecimal(this.tipoDocumento.CantidadDecimal);
            }
            this.tercero = Tercero.Get(this.comprobante.TerceroID);
            this.txtCodigoTercero.Text   = this.tercero.Codigo;
            this.txtNombreComercial.Text = this.tercero.NombreComercial;
            this.dtpFechaCreacion.Value  = this.comprobante.FechaComprobante.Value;
            this.lbConsecutivo.Text      = string.Format("{0:" + this.CalcularCerosIzquierda(TipoDocumento.Get(this.comprobante.TipoDocumentoID).CerosIzquierda) + "}", this.comprobante.Consecutivo);
            this.LlenarDataGrid();
            this.txtObservacion.Text = this.comprobante.Observacion;
            if (this.comprobante.FormaPago == Comprobante.CHEQUE)
            {
                this.txtSucursal.Text      = this.comprobante.Sucursal;
                this.txtNumeroCheque.Text  = this.comprobante.NumeroCheque;
                this.cbBanco.SelectedValue = this.comprobante.BancoID;
            }
            this.cbCondicion.SelectedIndex = this.cbCondicion.FindStringExact(this.comprobante.FormaPago);
            string format = "{0:N" + this.tipoDocumento.CantidadDecimal + "}";

            this.txtDescuento.Text = string.Format(format, this.comprobante.TotalDescuento);
            this.txtRetencion.Text = string.Format(format, this.comprobante.TotalRetencion);
            this.txtTotal.Text     = string.Format(format, this.comprobante.Total);
            if (TipoDocumento.Get(this.comprobante.TipoDocumentoID).Codigo == TipoDocumentoMaestro.COMPROBANTE_EGRESO)
            {
                this.rbEgreso.PerformClick();
            }
            else
            {
                this.rbIngreso.PerformClick();
            }
            this.cbImpresionComprobante.SelectedValue = this.comprobante.ImpresionDocumentoID;
            if (!string.IsNullOrEmpty(comprobante.EstadoDocumentoID.ToString()) && EstadoDocumento.Get(this.comprobante.EstadoDocumentoID).Descripcion == EstadoDocumento.ANULADO)
            {
                //this.btnAnular.Enabled = false;
            }
            this.dicDetallesComprobante = new Dictionary <Documento, decimal>();
            foreach (DetalleComprobante current in this.comprobante.Detalles)
            {
                if (current.Documento != null)
                {
                    this.dicDetallesComprobante.Add(current.Documento, current.Total);
                }
            }
            this.EvaluarTercero();
        }
예제 #8
0
 private void dataGridViewDetalles_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
 {
     if (e.Value != null)
     {
         if (e.Value is Documento)
         {
             documento     = (Documento)e.Value;
             tipoDocumento = TipoDocumento.Get(documento.TipoDocumentoID);
             e.Value       = tipoDocumento.Codigo + "-" + string.Format("{0:" + this.CalcularCerosIzquierda(tipoDocumento.CerosIzquierda) + "}", documento.Consecutivo);
         }
         if ((this.dataGridViewDetalles.Columns[e.ColumnIndex].Name == "TotalDocumento" || this.dataGridViewDetalles.Columns[e.ColumnIndex].Name == "Descuento" || this.dataGridViewDetalles.Columns[e.ColumnIndex].Name == "Retencion" || this.dataGridViewDetalles.Columns[e.ColumnIndex].Name == "Total") && this.tipoDocumento.CantidadDecimal > 0)
         {
             e.CellStyle.Format = "##0" + this.CalcularNumeroDecimal(this.tipoDocumento.CantidadDecimal);
         }
     }
 }
예제 #9
0
        private void AdicionarConcepto(Documento doc)
        {
            var detalleComprobante = new DetalleComprobante();

            detalleComprobante.Documento = documento;
            tipoDocumento = TipoDocumento.Get(documento.TipoDocumentoID);
            detalleComprobante.Concepto = string.Concat(new string[] {
                " PAGO ",
                tipoDocumento.Descripcion,
                " Numero ",
                tipoDocumento.Codigo,
                "-",
                string.Format("{0:" + this.CalcularCerosIzquierda(tipoDocumento.CerosIzquierda) + "}", documento.Consecutivo)
            });
            detalleComprobante.TotalDocumento = documento.Total - documento.TotalAbono;
            detalleComprobante.Total          = documento.Total - documento.TotalAbono;
            this.comprobante.Detalles.Add(detalleComprobante);
            this.LlenarDataGrid();
            this.EvaluarTercero();
        }
예제 #10
0
 void updateArticulo()
 {
     if (TipoDocumento.Get(Documento.TipoDocumentoID).Factor == TipoDocumento.FACTOR_SUMA || TipoDocumento.Get(Documento.TipoDocumentoID).Factor == TipoDocumento.FACTOR_RESTA)
     {
         foreach (DetalleDocumento current in Documento.Detalles)
         {
             Articulo articulo = Articulo.Get(current.ArticuloID);
             if (TipoDocumento.Get(Documento.TipoDocumentoID).Factor == TipoDocumento.FACTOR_SUMA && !articulo.Servicio)
             {
                 articulo.StockActual     -= current.Cantidad;
                 articulo.StockDisponible -= current.Cantidad;
             }
             if (TipoDocumento.Get(Documento.TipoDocumentoID).Factor == TipoDocumento.FACTOR_RESTA && !articulo.Servicio)
             {
                 articulo.StockActual     += current.Cantidad;
                 articulo.StockDisponible += current.Cantidad;
             }
             articulo.Update();
         }
     }
 }
예제 #11
0
        internal void DocumentoDetalle()
        {
            if (this.documento != null)
            {
                this.dataGridViewDetalles.SelectedCells[0].Value = this.documento;
            }
            else
            {
                this.dataGridViewDetalles.SelectedCells[0].Value = "";
            }
            int rowIndex = this.dataGridViewDetalles.SelectedCells[0].RowIndex;

            tipoDocumento = TipoDocumento.Get(this.documento.TipoDocumentoID);
            this.dataGridViewDetalles.Rows[rowIndex].Cells["Concepto"].Value = string.Concat(new string[] {
                "PAGO ",
                tipoDocumento.Descripcion,
                " Numero ",
                tipoDocumento.Codigo,
                "-",
                string.Format("{0:" + this.CalcularCerosIzquierda(tipoDocumento.CerosIzquierda) + "}", this.documento.Consecutivo)
            });
        }
예제 #12
0
    protected void btnSalvar_Click(object sender, EventArgs e)
    {
        var TipoDocumento = new TipoDocumento();

        try
        {
            if (txtId.Text != "")
            {
                TipoDocumento.IDTipoDocumento = int.Parse(txtId.Text);
                TipoDocumento.Get();
            }

            TipoDocumento.Nome = txtNome.Text;

            TipoDocumento.Save();
            GetTipoDocumentos();

            Page.ClientScript.RegisterStartupScript(this.GetType(), "script", "<script>alert('Registro salvo.')</script>");
        }
        catch (Exception err)
        {
            Page.ClientScript.RegisterStartupScript(this.GetType(), "script", "<script>alert('" + FormatError.FormatMessageForJAlert(err.Message) + "')</script>");
        }
    }
예제 #13
0
        private void ImprimirTirilla()
        {
            Ticket ticket = new Ticket();

            ticket.AddHeaderLine(this.Centrar(this.Empresa.RazonSocial, ticket.MaxChar));
            ticket.AddHeaderLine(this.Centrar(this.Empresa.Nit, ticket.MaxChar));
            ticket.AddHeaderLine(this.Centrar(this.Empresa.Direccion, ticket.MaxChar));
            ticket.AddHeaderLine(this.Centrar("TEL. " + this.Empresa.TelefonoPrincipal, ticket.MaxChar));
            ticket.AddHeaderLine(this.Centrar("Email: " + this.Empresa.Email, ticket.MaxChar));
            ticket.AddHeaderLine("");
            if (this.TipoDocumento.TipoFacturacion == Tercero.REGIMEN_SIMPLIFICADO)
            {
                ticket.AddHeaderLine(this.Centrar("REGIMEN SIMPLIFICADO", ticket.MaxChar));
            }
            else
            {
                ticket.AddHeaderLine(this.Centrar("IVA REGIMEN COMUN", ticket.MaxChar));
            }
            ticket.AddHeaderLine(this.Centrar("AGENTE NO RETENEDOR DE IVA", ticket.MaxChar));
            ticket.AddHeaderLine("");
            ticket.AddHeaderLine(this.Centrar("FACTURACION POR SISTEMA POS", ticket.MaxChar));
            ticket.AddHeaderLine("");
            ticket.AddHeaderLine("FACTURA # " + TipoDocumento.Get(this.Documento.TipoDocumentoID).Prefijo + string.Format("{0:" + this.CalcularCerosIzquierda(TipoDocumento.Get(this.Documento.TipoDocumentoID).CerosIzquierda) + "}", this.Documento.Consecutivo));
            ticket.AddHeaderLine("FECHA:" + DateTime.Now.ToString("yyyy/MM/dd") + "    HORA:" + DateTime.Now.ToShortTimeString());
            foreach (DetalleDocumento current in this.Documento.Detalles)
            {
                if (Entorno.IS_VALID_LICENCE)
                {
                    string item = "true";
                    if (item != string.Empty && Convert.ToBoolean(item))
                    {
                        ticket.AddItem(Convert.ToString(current.Cantidad), current.Descripcion, string.Format(this.FORMATO_DECIMAL, current.Total));
                    }
                    else
                    {
                        ticket.AddItem(Convert.ToString(current.Cantidad), "NO HAY LICENCIA", string.Format(this.FORMATO_DECIMAL, current.Total));
                    }
                }
                else
                {
                    ticket.AddItem(Convert.ToString(current.Cantidad), "NO HAY LICENCIA", string.Format(this.FORMATO_DECIMAL, current.Total));
                }
            }
            ticket.AddTotal("SUBTOTAL", string.Format(this.FORMATO_DECIMAL, this.Documento.SubTotal));
            ticket.AddTotal("IVA", string.Format(this.FORMATO_DECIMAL, this.Documento.TotalIva));
            ticket.AddTotal("TOTAL", string.Format(this.FORMATO_DECIMAL, this.Documento.Total));
            ticket.AddTotal("", "");
            ticket.AddTotal("RECIBIDO", string.Format(this.FORMATO_DECIMAL, Convert.ToDecimal(this.txtEntregado.Text)));
            ticket.AddTotal("CAMBIO", string.Format(this.FORMATO_DECIMAL, this.cambio));
            if (this.TipoDocumento.TipoFacturacion == Tercero.REGIMEN_COMUN)
            {
                ticket.AddFooterLine("FACTURA AUTORIZADA RES" + this.TipoDocumento.Autorizacion);
                ticket.AddFooterLine(string.Concat(new string[] {
                    "DE ",
                    this.TipoDocumento.FechaAutorizacion.Value.ToString("yyyy/MM/dd"),
                    " DEL ",
                    this.TipoDocumento.NumeracionDianDesde,
                    " AL ",
                    this.TipoDocumento.NumeracionDianHasta
                }));
            }
            ticket.AddFooterLine("");
            ticket.AddFooterLine("LE ATENDIO: " + Entorno.USUARIO.NombreUsuario);
            ticket.AddFooterLine("");
            ticket.AddFooterLine(this.Centrar("... GRACIAS POR SUS COMPRAS ...", ticket.MaxChar));
            ticket.PrintTicket(this.Preferencias.ImpresoraPredeterminada);
        }