private void Cobrar_factura(string IdFactura) { //abrir un formulario de cobro sobre IdFactura string gIdent = this.GetType().FullName + " " + System.Reflection.MethodBase.GetCurrentMethod().Name + " "; GloblaVar.gUTIL.ATraza(gIdent + " Entrada a " + gIdent); try { clase_cabecera_factura factura = new clase_cabecera_factura(); factura.Factura = IdFactura; factura.Anyo = textBox_Anyo.Text; factura.Serie = comboBox_Serie.Text; factura.DetCod = textBox_DetCod.Text; factura.FechaEmision = DateTime.Today.ToShortDateString(); factura.ImportePendiente = textBox_Importe.Text; frmFPCobros Cobros = new frmFPCobros(); Cobros.CnO = CnO; Cobros.COBRO_AGRUPADO = false; Cobros.factura = factura; Cobros.ShowDialog(); } catch (Exception ex) { MessageBox.Show(ex.ToString()); GloblaVar.gUTIL.ATraza(gIdent + ex.ToString()); } }
private void button_Pago_Click(object sender, EventArgs e) { //Pago agrupado ArrayList Lista_Facturas = new ArrayList(); string proveedor = ""; for (int x = 0; x < dataGridView_Facturado.Rows.Count; x++) { if (dataGridView_Facturado.Rows[x].Cells[8].Value.ToString().ToLower() == "true") { //se incluye en el listado clase_factcom factura = new clase_factcom(); factura.Factura = dataGridView_Facturado.Rows[x].Cells[0].Value.ToString(); factura.Anyo = dataGridView_Facturado.Rows[x].Cells[1].Value.ToString(); factura.Serie = dataGridView_Facturado.Rows[x].Cells[2].Value.ToString(); factura.ProCod = dataGridView_Facturado.Rows[x].Cells[3].Value.ToString(); factura.FechaEmision = dataGridView_Facturado.Rows[x].Cells[5].Value.ToString(); factura.ImpteFactura = dataGridView_Facturado.Rows[x].Cells[6].Value.ToString(); factura.ImptePendiente = dataGridView_Facturado.Rows[x].Cells[7].Value.ToString(); Lista_Facturas.Add(factura); if (proveedor == "") { proveedor = factura.ProCod; } //guardamos el primer detallista } } if (Lista_Facturas.Count > 0) { if (Lista_Facturas.Count == 1) { //se hace un cobro normal clase_factcom esta_factura = (clase_factcom)Lista_Facturas[0]; Invocar_Pago(esta_factura); } else { //se hace un cobro agrupado de varias facturas //primero comprobar que todas sean del mismo detallista bool seguir = true; for (int x = 0; x < Lista_Facturas.Count; x++) { clase_factcom factura = (clase_factcom)Lista_Facturas[x]; if (proveedor != factura.ProCod) { seguir = false; } } if (seguir == true) { //se llama al formulario de cobro frmFPCobros Cobros = new frmFPCobros(); Cobros.CnO = CnO; Cobros.COBRO_AGRUPADO = true; Cobros.Lista_Facturas = Lista_Facturas; //si el formulario de diálogo devuelve OK se hace una recarga del grid if (Cobros.ShowDialog() == DialogResult.OK) { Cargar(); } } else { MessageBox.Show("Se han seleccionado facturas de detallistas diferentes"); } } } }