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); }