예제 #1
0
        private void FrmDetalleCP_Load(object sender, EventArgs e)
        {
            LblNombreProveedor.Text = NombreProveedor;
            for (int i = 0; i < 20; i++)
            {
                dgvDetalleCP.Rows.Add();
            }

            string sentenciaCompra      = "Select * from Vista_EncabezadoCompra_Cartera where FECHAORDENCOMPRA between '" + FechaDesde + "' and '" + FechaHasta + "' AND IDPROVEEDOR = '" + IDProveedor + "'";
            string sentenciaRetencion   = "Select * from Vista_EncabezadoOrdenGiro_Cartera where FECHAORDENGIRO between '" + FechaDesde + "' and '" + FechaHasta + "' AND IDPROVEEDOR = '" + IDProveedor + "' AND ESTADO = '1'";
            string sentenciaNotaCredito = "Select * from Vista_EncabezadoNotaCredito_Cartera where FECHA   between '" + FechaDesde + "' and '" + FechaHasta + "' AND IDPROVEEDOR = '" + IDProveedor + "'  AND ESTADO = '1'";



            DataTable dtCompra      = objConsulta.BoolDataTable(sentenciaCompra);
            DataTable dtRetencion   = objConsulta.BoolDataTable(sentenciaRetencion);
            DataTable dtNotaCredito = objConsulta.BoolDataTable(sentenciaNotaCredito);

            //AGREGAR LAS COMPRAS
            if (dtCompra.Rows.Count > 0)
            {
                for (int i = 0; i < dtCompra.Rows.Count; i++)
                {
                    DataRow rowCompra = dtCompra.Rows[i];

                    if (i == dgvDetalleCP.RowCount - 1)
                    {
                        dgvDetalleCP.Rows.Add();
                    }

                    dgvDetalleCP.Rows[i].Cells[0].Value = "COMPRA - " + rowCompra[3].ToString() + rowCompra[4].ToString() + rowCompra[5].ToString(); //Detalle
                    dgvDetalleCP.Rows[i].Cells[1].Value = rowCompra[2];                                                                              //Debe
                    //dgvDetalleCP.Rows[i].Cells[2].Value = rowCompra[0]; // Haber
                    dgvDetalleCP.Rows[i].Cells[3].Value = Convert.ToDateTime(rowCompra[1]).ToShortDateString();                                      //Fecha
                }
            }
            //FIN AGREGAR LAS COMPRAS
            //AGREGAR LAS RETENCIONES
            if (dtRetencion.Rows.Count > 0)
            {
                for (int i = 0; i < dtRetencion.Rows.Count; i++)
                {
                    DataRow rowRetencion = dtRetencion.Rows[i];
                    if (i == dgvDetalleCP.RowCount - 1)
                    {
                        dgvDetalleCP.Rows.Add();
                    }

                    for (int j = 0; j < dgvDetalleCP.RowCount - 1; j++)
                    {
                        if (Convert.ToDateTime(Funcion.FormarFechaDiaMesAño(rowRetencion["FECHAORDENGIRO"].ToString())) < Convert.ToDateTime(dgvDetalleCP.Rows[j].Cells[3].Value))
                        {
                            ///Inicio Detalle OrdenGiro
                            int       IDOrdenGiro = Convert.ToInt32(rowRetencion[3]);
                            Double    Monto       = 0;
                            string    sentenciaDetalleRetencion = "Select SUM(MONTO) as MontoRetencion from TbDetalleOrdenGiro where IDENCABEZADOORDENGIRO = " + IDOrdenGiro + "";
                            DataTable dtDetalleRetencion        = objConsulta.BoolDataTable(sentenciaDetalleRetencion);
                            for (int k = 0; k < dtDetalleRetencion.Rows.Count; k++)
                            {
                                DataRow rowDetalleRetencion = dtDetalleRetencion.Rows[k];
                                if (rowDetalleRetencion[0] != System.DBNull.Value)
                                {
                                    Monto += Convert.ToDouble(rowDetalleRetencion[0]);
                                }
                            }
                            ///Fin Detalle OrdenGiro

                            dgvDetalleCP.Rows.Insert(j, 1);
                            dgvDetalleCP.Rows[j].Cells[0].Value = "RETENCION - " + Convert.ToInt32(rowRetencion[4]).ToString("D3") + Convert.ToInt32(rowRetencion[5]).ToString("D3") + Convert.ToInt32(rowRetencion[6]).ToString("D9"); //Detalle
                            //dgvDetalleCP.Rows[j].Cells[1].Value = Monto; //Debe
                            dgvDetalleCP.Rows[j].Cells[2].Value = Monto;                                                                                                                                                                // Haber
                            dgvDetalleCP.Rows[j].Cells[3].Value = Convert.ToDateTime(Funcion.FormarFechaDiaMesAño(rowRetencion[1].ToString())).ToShortDateString();                                                                     //Fecha
                            break;
                        }
                    }
                }
            }
            //FIN AGREGAR LAS RETENCIONES

            //AGREGAR LAS NOTA CREDITO

            if (dtNotaCredito.Rows.Count > 0)
            {
                for (int i = 0; i < dtNotaCredito.Rows.Count; i++)
                {
                    DataRow rowNotaCredito = dtNotaCredito.Rows[i];

                    if (i == dgvDetalleCP.RowCount - 1)
                    {
                        dgvDetalleCP.Rows.Add();
                    }

                    for (int j = 0; j < dgvDetalleCP.RowCount - 1; j++)
                    {
                        if (Convert.ToDateTime(rowNotaCredito["FECHA"]) < Convert.ToDateTime(dgvDetalleCP.Rows[j].Cells[3].Value))
                        {
                            dgvDetalleCP.Rows.Insert(j, 1);
                            dgvDetalleCP.Rows[j].Cells[0].Value = "NOTA CREDITO - " + Convert.ToInt32(rowNotaCredito[3]).ToString("D3") + Convert.ToInt32(rowNotaCredito[4]).ToString("D3") + Convert.ToInt32(rowNotaCredito[5]).ToString("D9"); //Detalle
                            //dgvDetalleCP.Rows[j].Cells[1].Value = rowNotaCredito[2]; //Debe
                            dgvDetalleCP.Rows[j].Cells[2].Value = rowNotaCredito[2];                                                                                                                                                             // Haber
                            dgvDetalleCP.Rows[j].Cells[3].Value = rowNotaCredito[1];                                                                                                                                                             // Fecha
                            break;
                        }
                    }
                }
            }


            //FIN AGREGAR LAS NOTA CREDITO


            //AGREGAR VARIOS
            for (int i = 0; i < dgvDetalleCP.RowCount - 1; i++)
            {
                if (Convert.ToString(dgvDetalleCP.Rows[i].Cells[0].Value) == "")
                {
                    if (i == dgvDetalleCP.RowCount - 1)
                    {
                        dgvDetalleCP.Rows.Add();
                    }
                    dgvDetalleCP.Rows[i].Cells[0].Value = "DESCUENTOS ADICIONALES"; //Detalle
                    //dgvDetalleCP.Rows[i].Cells[2].Value = "0,00"; // Haber
                    FilaDESCUENTOSADICIONALES = i;
                    foreach (DataGridViewRow row in dgvDetalleCP.Rows)
                    {
                        if (((row.Index == i)))
                        {
                            dgvDetalleCP.Rows[row.Index].Cells[1].ReadOnly = true;
                        }
                        else
                        {
                            if (Convert.ToString(dgvDetalleCP.Rows[row.Index].Cells[0].Value) != "")
                            {
                                dgvDetalleCP.Rows[row.Index].Cells[0].ReadOnly = true;
                                dgvDetalleCP.Rows[row.Index].Cells[1].ReadOnly = true;
                                dgvDetalleCP.Rows[row.Index].Cells[2].ReadOnly = true;
                            }
                            else
                            {
                                row.ReadOnly = true;
                            }
                        }
                    }
                    break;
                }
            }
            //FIN AGREGAR VARIOS

            Funcion.HabilitarColumnaDatagridview(dgvDetalleCP, 4);


            dgvDetalleCP.Columns[1].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
            dgvDetalleCP.Columns[2].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;


            CalcularDEBE_HABER_TOTAL(false);
        }