public clase_linea_albcom CogerLineaAlbaranPorCodigoYLinea(string comLpa, string anyo, string comLnl)
        {
            clase_linea_albcom linea = new clase_linea_albcom();

            string sql = "";

            if (frmPpal.USUARIO == "3")
            {
                sql = @"SELECT ComLpa, ProCod, comcfa, ComLnl, comltl, ArtCod, ComLca, ComLki, ComLim, comlcp, comlkp, ComLpr, ComLal, Stock, Partida, Anyo, Ref, AlmMay,Facturado FROM COMALB_LINEAS WHERE ComLpa=@ComCpa and Anyo=@Anyo and ComLnl=@ComLnl";
            }
            else
            {
                sql = @"SELECT ComLpa, ProCod, comcfa, ComLnl, comltl, ArtCod, ComLca, ComLki, comlcp, comlkp, ComLpr, ComLal, Stock, Partida, Anyo, Ref, AlmMay,Facturado FROM COMALB_LINEAS WHERE ComLpa=@ComCpa and Anyo=@Anyo and ComLnl=@ComLnl";
            }

            using (SqlCommand cmd = new SqlCommand(sql, GloblaVar.gConRem))
            {
                cmd.Parameters.AddWithValue("@ComCpa", comLpa);
                cmd.Parameters.AddWithValue("@Anyo", anyo);
                cmd.Parameters.AddWithValue("@ComLnl", comLnl);

                SqlDataReader reader = cmd.ExecuteReader();

                while (reader.Read())
                {
                    linea = CargarLineasAlbaran(reader);
                }

                reader.Close();
            }

            return(linea);
        }
Beispiel #2
0
        private void btnEliminarLinea_Click(object sender, EventArgs e)
        {
            try
            {
                string resp = "";

                if (lineasAlbPartida.Count > 0)
                {
                    string lineaSel = dgvAlbLineas.CurrentRow.Cells["ComLnl"].Value.ToString();

                    if (esEdicion)
                    {
                        clase_lineaAlbCom_partida lineaAP = lineasAlbPartida.FirstOrDefault(x => x.ComLnl == lineaSel);

                        if (lineaSel != null)
                        {
                            clase_linea_albcom linea = new clase_linea_albcom();

                            SqlTransaction sqlTran = GloblaVar.gConRem.BeginTransaction();

                            resp = linea.Eliminar(tbComCpa.Text, lineaSel, tbAnyo.Text, lineaAP.Partida, ref sqlTran);

                            if (resp == "")
                            {
                                sqlTran.Commit();
                            }
                            else
                            {
                                sqlTran.Rollback();
                            }
                        }
                    }

                    if (resp == "")
                    {
                        lineasAlbPartida.RemoveAll(x => x.ComLnl == lineaSel);

                        cargarGridLineas();
                        calcularTotalAlbaran();
                    }
                    else
                    {
                        MessageBox.Show("Error al eliminar la línea del albarán:\n\n" + resp);
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error al eliminar la línea del albarán:\n\n" + ex.Message);
            }
        }
        private clase_linea_albcom CargarLineasAlbaran(IDataReader reader)
        {
            clase_linea_albcom linea = new clase_linea_albcom();

            try
            {
                linea.ComLpa = Convert.ToString(reader["ComLpa"]);
                linea.ProCod = Convert.ToString(reader["ProCod"]);
                linea.comcfa = Convert.ToString(reader["comcfa"]);
                linea.ComLnl = Convert.ToString(reader["ComLnl"]);
                linea.comltl = Convert.ToString(reader["comltl"]);
                linea.ArtCod = Convert.ToString(reader["ArtCod"]);
                linea.ComLca = Convert.ToString(reader["ComLca"]);
                linea.ComLki = Convert.ToString(reader["ComLki"]);
                if (frmPpal.USUARIO == "3")
                {
                    linea.ComLim = Convert.ToString(reader["ComLim"]);
                    linea.ArtDes = Convert.ToString(reader["ArtDes"]);
                }
                linea.comlcp  = Convert.ToString(reader["comlcp"]);
                linea.comlkp  = Convert.ToString(reader["comlkp"]);
                linea.ComLpr  = Convert.ToString(reader["ComLpr"]);
                linea.ComLal  = Convert.ToString(reader["ComLal"]);
                linea.Stock   = Convert.ToString(reader["Stock"]);
                linea.Partida = Convert.ToString(reader["Partida"]);
                linea.Anyo    = Convert.ToString(reader["Anyo"]);
                linea.Ref     = Convert.ToString(reader["Ref"]);
                linea.AlmMay  = Convert.ToString(reader["AlmMay"]);
                if (reader["Facturado"] == System.DBNull.Value)
                {
                    linea.Facturado = false;
                }
                else
                {
                    linea.Facturado = Convert.ToBoolean(reader["Facturado"]);
                }

                linea.cPartida = cPartida.CogerPartida(linea.Partida, linea.Anyo);
            }

            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
                GloblaVar.gUTIL.ATraza(" clase_linea_albcom.CargarLineasAlbaran " + ex.ToString());
            }

            return(linea);
        }
Beispiel #4
0
        public string CogerAlbaranYLineasPorCodigo(string comCpa, string anyo)
        {
            string gIdent = this.GetType().FullName + " " + System.Reflection.MethodBase.GetCurrentMethod().Name + " ";
            string resp   = "";

            try
            {
                string sql = @"SELECT ComCpa, Anyo, ProCod, ComCfa, FpaCod, comcpo, comctf, comcim, Portes, Colla FROM COMALB_CABE WHERE ComCpa=@ComCpa and Anyo=@Anyo";

                using (SqlCommand cmd = new SqlCommand(sql, GloblaVar.gConRem))
                {
                    cmd.Parameters.AddWithValue("@ComCpa", comCpa);
                    cmd.Parameters.AddWithValue("@Anyo", anyo);

                    SqlDataReader reader = cmd.ExecuteReader();

                    while (reader.Read())
                    {
                        resp = CargarAlbaran(reader);
                        if (resp == "")
                        {
                            clase_linea_albcom linea = new clase_linea_albcom();
                            this.lineas = linea.CogerLineasAlbaranPorCodigo(comCpa, anyo);
                        }
                    }

                    reader.Close();
                }
            }
            catch (Exception ex)
            {
                resp = ex.Message;
                //MessageBox.Show(ex.Message);
                GloblaVar.gUTIL.ATraza(gIdent + ex.Message);
            }

            return(resp);
        }
Beispiel #5
0
        //private void Formato_Facturado()
        //{
        //    //esta función ajusta las columnas de lineas de factura
        //    if (dataGridView_Facturado.Rows.Count > 0)
        //    {
        //        dataGridView_Facturado.Columns[0].Visible = false;
        //        dataGridView_Facturado.Columns[1].Visible = false;
        //        dataGridView_Facturado.Columns[2].Visible = false;
        //        dataGridView_Facturado.Columns[3].Visible = true;
        //        dataGridView_Facturado.Columns[4].Visible = true;
        //        dataGridView_Facturado.Columns[5].Visible = false;
        //        dataGridView_Facturado.Columns[6].Visible = false;
        //        dataGridView_Facturado.Columns[7].Visible = true;
        //        dataGridView_Facturado.Columns[8].Visible = true;
        //        dataGridView_Facturado.Columns[9].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
        //        dataGridView_Facturado.Columns[10].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
        //        dataGridView_Facturado.Columns[11].Visible = true;
        //        dataGridView_Facturado.Columns[12].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
        //        dataGridView_Facturado.Columns[13].Visible = false;
        //        dataGridView_Facturado.Columns[14].Visible = false;
        //        dataGridView_Facturado.Columns[15].Visible = false;
        //    }
        //}

        private void Marcaciones(int indice)
        {
            //esta función se activa cuando se marca un albarán
            string ComCpa = dataGridView_Albaranes.Rows[indice].Cells[1].Value.ToString();
            string Anyo   = dataGridView_Albaranes.Rows[indice].Cells[2].Value.ToString();

            //comprobar si estaba marcada
            bool marcada = false;

            if (dataGridView_Albaranes.Rows[indice].Cells[0].Value.ToString().ToLower() == "true")
            {
                marcada = true;
            }

            if (marcada)
            {
                //si esta marcada se va a desmarcar
                dataGridView_Albaranes.Rows[indice].Cells[0].Value = false;

                for (int y = 0; y < 2; y++)
                {
                    for (int x = 0; x < dataGridView_Facturado.Rows.Count; x++)
                    {
                        int row = 0; bool encontrada = false;

                        if (dataGridView_Facturado.Rows[x].Cells[1].Value.ToString() == ComCpa)
                        {
                            encontrada = true;
                            row        = x;
                        }

                        if (encontrada == true)
                        {
                            dataGridView_Facturado.Rows.Remove(dataGridView_Facturado.Rows[row]);
                            Renumerar_Grid();
                            x--;
                        }
                    }
                }
            }
            else
            {
                dataGridView_Albaranes.Rows[indice].Cells[0].Value = true;
                int contador = dataGridView_Facturado.Rows.Count + 1;

                //lectura de lineas de albarán
                clase_linea_albcom        linea  = new clase_linea_albcom();
                List <clase_linea_albcom> lineas = linea.CogerLineasAlbaranPorCodigo(ComCpa, Anyo);

                foreach (clase_linea_albcom linAlbCom in lineas)
                {
                    clase_linea_factcom linea_factura = new clase_linea_factcom();

                    linea_factura.Factura = "";
                    linea_factura.Anyo    = textBox_Anyo.Text;
                    linea_factura.Serie   = comboBox_Serie.Text;
                    linea_factura.LinF    = contador.ToString();
                    linea_factura.ComLpa  = ComCpa;
                    linea_factura.AnyoAlb = Anyo;
                    linea_factura.ComLnl  = linAlbCom.ComLnl;
                    linea_factura.ArtCod  = linAlbCom.ArtCod;
                    linea_factura.ArtDes  = linAlbCom.ArtDes;
                    linea_factura.ComLca  = linAlbCom.ComLca;
                    linea_factura.ComLki  = Funciones.FormateaKilos(linAlbCom.ComLki);
                    linea_factura.ComLpr  = Funciones.Formatea(linAlbCom.ComLpr);
                    linea_factura.ComLim  = Funciones.Formatea(linAlbCom.ComLim);
                    linea_factura.ComTrz  = linAlbCom.Ref;

                    //se ha creado una línea de factura a partir de las lineas del albarán y ahora se agrega por binding
                    dataSource2.Add(linea_factura);

                    contador++;
                }
            }
        }
Beispiel #6
0
        private void btnGuardar_Click(object sender, EventArgs e)
        {
            string gIdent = this.GetType().FullName + " " + System.Reflection.MethodBase.GetCurrentMethod().Name + " ";

            GloblaVar.gUTIL.ATraza(gIdent + "Comienza Grabación de Albarán ");
            try
            {
                string resp = "";

                if (tbProCod.Text == string.Empty || lineasAlbPartida.Count == 0)
                {
                    if (tbProCod.Text == string.Empty)
                    {
                        GloblaVar.gUTIL.ATraza(gIdent + " Se dejaron el Código de proveedor vacio ");
                        resp = " - El proveedor es obligatorio\n";
                    }

                    if (lineasAlbPartida.Count == 0)
                    {
                        GloblaVar.gUTIL.ATraza(gIdent + " Debe  añadir alguna linea de albarán ");
                        resp += " - Debe añadir alguna línea de albarán\n";
                    }

                    MessageBox.Show("Los siguientes campos son obligatorios: \n\n" + resp);
                    GloblaVar.gUTIL.ATraza(gIdent + " Los siguientes campos son obligatorios: " + resp);
                }
                else
                {
                    //Edición albarán, modifico sólo los datos generales del albarán, las líneas las iré modificando conforme las vaya editando
                    if (esEdicion)
                    {
                        GloblaVar.gUTIL.ATraza(gIdent + " Modificando datos de Cabecera del albarán ");
                        bool modificaProCod = false;
                        if (albaran.ProCod != tbProCod.Text)
                        {
                            modificaProCod = true;
                        }
                        albaran.ProCod = tbProCod.Text;
                        albaran.ComCfa = dtpComCfa.Value.ToString();
                        albaran.Anyo   = dtpComCfa.Value.Year.ToString();
                        albaran.comcim = Funciones.Formatea(importeTotal);
                        albaran.Portes = Funciones.Formatea(tbPortes.Text);
                        albaran.Colla  = Funciones.Formatea(tbColla.Text);

                        resp = albaran.Modificar(tbComCpa.Text, tbAnyo.Text, modificaProCod);
                        if (resp == "")
                        {
                            MessageBox.Show("El albarán se ha modificado correctamente");
                            GloblaVar.gUTIL.ATraza(gIdent + " El albarán se ha modificado correctamente ");
                            limpiar();
                            limpiarDetalleLinea();
                        }
                        else
                        {
                            MessageBox.Show("Error al modificar el albarán: \n\n" + resp);
                        }
                    }
                    else //Nuevo albarán, inserto tanto los datos generales del albarán como las líneas
                    {
                        albaran.ProCod = tbProCod.Text;
                        albaran.ComCfa = dtpComCfa.Value.ToString();
                        albaran.FpaCod = "1";
                        albaran.Comcpo = "0";
                        albaran.comctf = "P";
                        albaran.comcim = Funciones.Formatea(importeTotal);
                        albaran.Anyo   = dtpComCfa.Value.Year.ToString();
                        albaran.Portes = Funciones.Formatea(tbPortes.Text);
                        albaran.Colla  = Funciones.Formatea(tbColla.Text);

                        //albaran.lineas = lineasAlbPartida;

                        List <clase_linea_albcom> listLineasAlb = new List <clase_linea_albcom>();

                        foreach (clase_lineaAlbCom_partida lineaAP in lineasAlbPartida)
                        {
                            clase_linea_albcom lineaAlb = new clase_linea_albcom();

                            lineaAlb.ComLnl                = lineaAP.ComLnl;
                            lineaAlb.ArtCod                = lineaAP.ArtCod;
                            lineaAlb.ArtDes                = lineaAP.ArtDes;
                            lineaAlb.ComLca                = lineaAP.ComLca;
                            lineaAlb.ComLki                = lineaAP.ComLki;
                            lineaAlb.ComLpr                = lineaAP.ComLpr;
                            lineaAlb.ComLim                = lineaAP.ComLim;
                            lineaAlb.cPartida.Ref          = lineaAP.Ref;
                            lineaAlb.cPartida.PDesembarco  = lineaAP.PDesembarco;
                            lineaAlb.cPartida.FDesembarco  = lineaAP.FDesembarco;
                            lineaAlb.cPartida.FElaboracion = lineaAP.FElaboracion;
                            lineaAlb.cPartida.FCaducidad   = lineaAP.FCaducidad;
                            lineaAlb.cPartida.ArtePesca    = lineaAP.ArtePesca;
                            lineaAlb.cPartida.Obtencion    = lineaAP.Obtencion;
                            lineaAlb.cPartida.Presentacion = lineaAP.Presentacion;
                            lineaAlb.cPartida.Matricula    = lineaAP.Matricula;
                            lineaAlb.cPartida.ZCaptura     = lineaAP.ZCaptura;
                            lineaAlb.cPartida.FCaptura     = lineaAP.FCaptura;
                            lineaAlb.cPartida.Pais         = lineaAP.Pais;
                            lineaAlb.cPartida.PExpedidor1  = lineaAP.PExpedidor1;
                            lineaAlb.cPartida.PExpedidor2  = lineaAP.PExpedidor2;
                            lineaAlb.cPartida.CExped1      = lineaAP.CExped1;
                            lineaAlb.cPartida.CExped2      = lineaAP.CExped2;
                            lineaAlb.cPartida.CExped3      = lineaAP.CExped3;
                            lineaAlb.cPartida.CondEsps     = lineaAP.CondEsps;

                            listLineasAlb.Add(lineaAlb);
                        }

                        albaran.lineas = listLineasAlb;

                        resp = albaran.Insertar();

                        if (resp == "")
                        {
                            MessageBox.Show("El albarán número " + albaran.ComCpa + " se ha insertado correctamente");

                            limpiar();
                            limpiarDetalleLinea();
                        }
                        else
                        {
                            MessageBox.Show("Error al insertar el albarán: \n\n" + resp);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
                GloblaVar.gUTIL.ATraza(gIdent + ex.ToString());
            }
        }
Beispiel #7
0
        private void btnAceptarLinea_Click(object sender, EventArgs e)
        {
            if (tbArtCod.Text == string.Empty || tbComLki.Text == string.Empty || tbComLpr.Text == string.Empty)
            {
                MessageBox.Show("Los campos artículo, kilos y precio son obligatorios");
            }
            else
            {
                if (esEdicion) //Edición albarán
                {
                    string resp = "";

                    if (esEdicionLinea)
                    {
                        clase_lineaAlbCom_partida lineaSel = lineasAlbPartida.FirstOrDefault(x => x.ComLnl == tbComLnl.Text);

                        lineaSel.ArtCod       = tbArtCod.Text;
                        lineaSel.ArtDes       = tbArtDes.Text;
                        lineaSel.ComLca       = tbComLca.Text;
                        lineaSel.ComLki       = Funciones.FormateaKilos(tbComLki.Text);
                        lineaSel.ComLpr       = Funciones.Formatea(tbComLpr.Text);
                        lineaSel.ComLim       = Funciones.Formatea(Funciones.Multiplica(lineaSel.ComLki, lineaSel.ComLpr));
                        lineaSel.Ref          = tbRef.Text;
                        lineaSel.Partida      = tbPartida.Text;
                        lineaSel.ArtePesca    = cbArtePesca.Text;
                        lineaSel.Obtencion    = cbObtencion.Text;
                        lineaSel.Presentacion = cbPresentacion.Text;
                        lineaSel.Matricula    = cbBarco.Text;
                        lineaSel.PDesembarco  = cbPtoDbco.Text;
                        lineaSel.FDesembarco  = dtpFDesembarco.Value.ToShortDateString();
                        //lineaSel.FElaboracion = dtpFElaboracion.Value.ToShortDateString();
                        lineaSel.FElaboracion = tbFElaboracion.Text;
                        //lineaSel.FCaducidad = dtpFCaducidad.Value.ToShortDateString();
                        lineaSel.FCaducidad  = tbFCaducidad.Text;
                        lineaSel.ZCaptura    = cbZonaCaptura.Text;
                        lineaSel.FCaptura    = dtpFCaptura.Value.ToShortDateString();
                        lineaSel.Pais        = cbPais.Text;
                        lineaSel.PExpedidor1 = tbProNom.Text;
                        lineaSel.PExpedidor2 = tbPExpedidor2.Text;
                        lineaSel.CExped1     = "";
                        lineaSel.CExped2     = "";
                        lineaSel.CExped3     = "";
                        lineaSel.CondEsps    = lCondEsps.Text;

                        //Modificamos la base de datos

                        clase_linea_albcom lineaAlb = new clase_linea_albcom();

                        lineaAlb = lineaAlb.CogerLineaAlbaranPorCodigoYLinea(tbComCpa.Text, tbAnyo.Text, tbComLnl.Text);
                        //lineaAlb.cPartida.CogerPartidaPorRef(lineaSel.Ref);

                        lineaAlb.ArtCod = lineaSel.ArtCod;
                        lineaAlb.ComLca = lineaSel.ComLca;
                        lineaAlb.ComLki = lineaSel.ComLki;
                        lineaAlb.ComLpr = lineaSel.ComLpr;
                        lineaAlb.comlcp = lineaSel.ComLca;
                        lineaAlb.comlkp = lineaSel.ComLki;
                        lineaAlb.Ref    = lineaSel.Ref;
                        //lineaAlb.Stock = lineaSel.ComLki;


                        lineaAlb.cPartida.PDesembarco  = lineaSel.PDesembarco;
                        lineaAlb.cPartida.FDesembarco  = lineaSel.FDesembarco;
                        lineaAlb.cPartida.FElaboracion = lineaSel.FElaboracion;
                        lineaAlb.cPartida.FCaducidad   = lineaSel.FCaducidad;
                        lineaAlb.cPartida.ArtePesca    = lineaSel.ArtePesca;
                        lineaAlb.cPartida.Obtencion    = lineaSel.Obtencion;
                        lineaAlb.cPartida.Presentacion = lineaSel.Presentacion;
                        lineaAlb.cPartida.Matricula    = lineaSel.Matricula;
                        lineaAlb.cPartida.ArtCod       = lineaSel.ArtCod;
                        lineaAlb.cPartida.StockInicial = lineaSel.ComLki;
                        lineaAlb.cPartida.ZCaptura     = lineaSel.ZCaptura;
                        lineaAlb.cPartida.FCaptura     = lineaSel.FCaptura;
                        lineaAlb.cPartida.Pais         = lineaSel.Pais;
                        lineaAlb.cPartida.PExpedidor1  = lineaSel.PExpedidor1;
                        lineaAlb.cPartida.PExpedidor2  = lineaSel.PExpedidor2;
                        lineaAlb.cPartida.CExped1      = lineaSel.CExped1;
                        lineaAlb.cPartida.CExped2      = lineaSel.CExped2;
                        lineaAlb.cPartida.CExped3      = lineaSel.CExped3;
                        lineaAlb.cPartida.CondEsps     = lineaSel.CondEsps;
                        lineaAlb.cPartida.Ref          = lineaSel.Ref;

                        //lineaAlb.cPartida.Stock = lineaSel.ComLki;

                        resp = lineaAlb.cPartida.Modificar();
                        if (resp == "")
                        {
                            resp = lineaAlb.Modificar();
                            if (resp == "")
                            {
                                cargarGridLineas();
                                calcularTotalAlbaran();
                                limpiarDetalleLinea();
                            }
                            else
                            {
                                MessageBox.Show("Error al modificar la línea del albarán:\n\n" + resp);
                            }
                        }
                        else
                        {
                            MessageBox.Show("Error al modificar la partida:\n\n" + resp);
                        }
                    }
                    else //Nueva línea
                    {
                        clase_linea_albcom lineaAlb = new clase_linea_albcom();
                        string             nuevaLnl = lineaAlb.ObtenerNumeroLineaAlbaran(tbComCpa.Text, tbAnyo.Text);

                        clase_lineaAlbCom_partida nueva = new clase_lineaAlbCom_partida();

                        nueva.ComLnl       = nuevaLnl;
                        nueva.ArtCod       = tbArtCod.Text;
                        nueva.ArtDes       = tbArtDes.Text;
                        nueva.ComLca       = tbComLca.Text;
                        nueva.ComLki       = Funciones.FormateaKilos(tbComLki.Text);
                        nueva.ComLpr       = Funciones.Formatea(tbComLpr.Text);
                        nueva.ComLim       = Funciones.Formatea(Funciones.Multiplica(nueva.ComLki, nueva.ComLpr));
                        nueva.Ref          = tbRef.Text;
                        nueva.ArtePesca    = cbArtePesca.Text;
                        nueva.Obtencion    = cbObtencion.Text;
                        nueva.Presentacion = cbPresentacion.Text;
                        nueva.Matricula    = cbBarco.Text;
                        nueva.PDesembarco  = cbPtoDbco.Text;
                        nueva.FDesembarco  = dtpFDesembarco.Value.ToShortDateString();
                        //nueva.FElaboracion = dtpFElaboracion.Value.ToShortDateString();
                        nueva.FElaboracion = tbFElaboracion.Text;
                        //nueva.FCaducidad = dtpFCaducidad.Value.ToShortDateString();
                        nueva.FCaducidad  = tbFCaducidad.Text;
                        nueva.ZCaptura    = cbZonaCaptura.Text;
                        nueva.FCaptura    = dtpFCaptura.Value.ToShortDateString();
                        nueva.Pais        = cbPais.Text;
                        nueva.PExpedidor1 = tbProNom.Text;
                        nueva.PExpedidor2 = tbPExpedidor2.Text;
                        nueva.CExped1     = "";
                        nueva.CExped2     = "";
                        nueva.CExped3     = "";
                        nueva.CondEsps    = lCondEsps.Text;

                        //Ahora insertamos en base de datos

                        lineaAlb.ComLpa    = tbComCpa.Text;
                        lineaAlb.ProCod    = tbProCod.Text;
                        lineaAlb.comcfa    = dtpComCfa.Value.ToString();
                        lineaAlb.ComLnl    = nuevaLnl;
                        lineaAlb.comltl    = "N";
                        lineaAlb.ArtCod    = nueva.ArtCod;
                        lineaAlb.ComLca    = nueva.ComLca;
                        lineaAlb.ComLki    = nueva.ComLki;
                        lineaAlb.comlcp    = nueva.ComLca;
                        lineaAlb.comlkp    = nueva.ComLki;
                        lineaAlb.ComLpr    = nueva.ComLpr;
                        lineaAlb.Ref       = nueva.Ref;
                        lineaAlb.ComLal    = "1";
                        lineaAlb.Stock     = lineaAlb.ComLki;
                        lineaAlb.Anyo      = tbAnyo.Text;
                        lineaAlb.AlmMay    = "01";
                        lineaAlb.Facturado = false;

                        lineaAlb.cPartida.Anyo         = tbAnyo.Text;
                        lineaAlb.cPartida.AlmMay       = "01";
                        lineaAlb.cPartida.Ref          = nueva.Ref;
                        lineaAlb.cPartida.PDesembarco  = nueva.PDesembarco;
                        lineaAlb.cPartida.FDesembarco  = nueva.FDesembarco;
                        lineaAlb.cPartida.ArtCod       = nueva.ArtCod;
                        lineaAlb.cPartida.ProCod       = tbProCod.Text;
                        lineaAlb.cPartida.FElaboracion = nueva.FElaboracion;
                        lineaAlb.cPartida.FCaducidad   = nueva.FCaducidad;
                        lineaAlb.cPartida.StockInicial = nueva.ComLki;
                        lineaAlb.cPartida.ArtePesca    = nueva.ArtePesca;
                        lineaAlb.cPartida.Obtencion    = nueva.Obtencion;
                        lineaAlb.cPartida.Presentacion = nueva.Presentacion;
                        lineaAlb.cPartida.Matricula    = nueva.Matricula;
                        lineaAlb.cPartida.AlbCompra    = lineaAlb.ComLpa;
                        lineaAlb.cPartida.FCompra      = lineaAlb.comcfa;
                        lineaAlb.cPartida.ZCaptura     = nueva.ZCaptura;
                        lineaAlb.cPartida.FCaptura     = nueva.FCaptura;
                        lineaAlb.cPartida.Pais         = nueva.Pais;
                        lineaAlb.cPartida.PExpedidor1  = nueva.PExpedidor1;
                        lineaAlb.cPartida.PExpedidor2  = nueva.PExpedidor2;
                        lineaAlb.cPartida.CExped1      = nueva.CExped1;
                        lineaAlb.cPartida.CExped2      = nueva.CExped2;
                        lineaAlb.cPartida.CExped3      = nueva.CExped3;
                        lineaAlb.cPartida.CondEsps     = nueva.CondEsps;


                        SqlTransaction sqlTran = GloblaVar.gConRem.BeginTransaction();

                        resp = lineaAlb.cPartida.Insertar(ref sqlTran);
                        if (resp == "")
                        {
                            //Asignamos a la línea los datos que vienen de la partida (Partida y Ref)
                            lineaAlb.Partida = lineaAlb.cPartida.Partida;
                            lineaAlb.Ref     = lineaAlb.cPartida.Ref;

                            nueva.Ref     = lineaAlb.cPartida.Ref;
                            nueva.Partida = lineaAlb.Partida;
                            lineasAlbPartida.Add(nueva);

                            resp = lineaAlb.Insertar(ref sqlTran);
                        }

                        if (resp == "")
                        {
                            sqlTran.Commit();

                            cargarGridLineas();
                            calcularTotalAlbaran();
                            limpiarDetalleLinea();
                        }
                        else
                        {
                            sqlTran.Rollback();

                            MessageBox.Show("Error al insertar la línea del albarán:\n\n" + resp);
                        }
                    }
                }
                else //Nuevo albarán
                {
                    if (esEdicionLinea)
                    {
                        clase_lineaAlbCom_partida lineaSel = lineasAlbPartida.FirstOrDefault(x => x.ComLnl == tbComLnl.Text);

                        lineaSel.ArtCod = tbArtCod.Text;
                        lineaSel.ArtDes = tbArtDes.Text;
                        lineaSel.ComLca = tbComLca.Text;
                        lineaSel.ComLki = Funciones.FormateaKilos(tbComLki.Text);
                        lineaSel.ComLpr = Funciones.Formatea(tbComLpr.Text);
                        lineaSel.ComLim = Funciones.Formatea(Funciones.Multiplica(lineaSel.ComLki, lineaSel.ComLpr));
                        lineaSel.Ref    = tbRef.Text;
                        //lineaSel.Partida = tbPartida.Text;
                        lineaSel.ArtePesca    = cbArtePesca.Text;
                        lineaSel.Obtencion    = cbObtencion.Text;
                        lineaSel.Presentacion = cbPresentacion.Text;
                        lineaSel.Matricula    = cbBarco.Text;
                        lineaSel.PDesembarco  = cbPtoDbco.Text;
                        lineaSel.FDesembarco  = dtpFDesembarco.Value.ToShortDateString();
                        //lineaSel.FElaboracion = dtpFElaboracion.Value.ToShortDateString();
                        lineaSel.FElaboracion = tbFElaboracion.Text;
                        //lineaSel.FCaducidad = dtpFCaducidad.Value.ToShortDateString();
                        lineaSel.FCaducidad  = tbFCaducidad.Text;
                        lineaSel.ZCaptura    = cbZonaCaptura.Text;
                        lineaSel.FCaptura    = dtpFCaptura.Value.ToShortDateString();
                        lineaSel.Pais        = cbPais.Text;
                        lineaSel.PExpedidor1 = tbProNom.Text;
                        lineaSel.PExpedidor2 = tbPExpedidor2.Text;
                        lineaSel.CExped1     = "";
                        lineaSel.CExped2     = "";
                        lineaSel.CExped3     = "";
                        lineaSel.CondEsps    = lCondEsps.Text;
                    }
                    else //Nueva línea
                    {
                        contLinea++;

                        clase_lineaAlbCom_partida nueva = new clase_lineaAlbCom_partida();

                        nueva.ComLnl       = (contLinea).ToString();
                        nueva.ArtCod       = tbArtCod.Text;
                        nueva.ArtDes       = tbArtDes.Text;
                        nueva.ComLca       = tbComLca.Text;
                        nueva.ComLki       = Funciones.FormateaKilos(tbComLki.Text);
                        nueva.ComLpr       = Funciones.Formatea(tbComLpr.Text);
                        nueva.ComLim       = Funciones.Formatea(Funciones.Multiplica(nueva.ComLki, nueva.ComLpr));
                        nueva.Ref          = tbRef.Text;
                        nueva.ArtePesca    = cbArtePesca.Text;
                        nueva.Obtencion    = cbObtencion.Text;
                        nueva.Presentacion = cbPresentacion.Text;
                        nueva.Matricula    = cbBarco.Text;
                        nueva.PDesembarco  = cbPtoDbco.Text;
                        nueva.FDesembarco  = dtpFDesembarco.Value.ToShortDateString();
                        //nueva.FElaboracion = dtpFElaboracion.Value.ToShortDateString();
                        nueva.FElaboracion = tbFElaboracion.Text;
                        //nueva.FCaducidad = dtpFCaducidad.Value.ToShortDateString();
                        nueva.FCaducidad  = tbFCaducidad.Text;
                        nueva.ZCaptura    = cbZonaCaptura.Text;
                        nueva.FCaptura    = dtpFCaptura.Value.ToShortDateString();
                        nueva.Pais        = cbPais.Text;
                        nueva.PExpedidor1 = tbProNom.Text;
                        nueva.PExpedidor2 = tbPExpedidor2.Text;
                        nueva.CExped1     = "";
                        nueva.CExped2     = "";
                        nueva.CExped3     = "";
                        nueva.CondEsps    = lCondEsps.Text;
                        lineasAlbPartida.Add(nueva);
                    }

                    cargarGridLineas();
                    calcularTotalAlbaran();
                    limpiarDetalleLinea();
                }

                tbArtCod.Focus();
            }
        }
        private void Cargar()
        {
            string gIdent = this.GetType().FullName + " " + System.Reflection.MethodBase.GetCurrentMethod().Name;

            ArrayList Lineas_Albaran  = new ArrayList();
            ArrayList Albaranes       = new ArrayList();
            ArrayList Numeros_Albaran = new ArrayList();

            string total_importes = "";

            label_Importes_Sel.Text = "0";

            string strQ = @"SELECT LA.ComLpa, LA.ProCod, P.ProNom, LA.ComCfa, LA.Anyo, LA.ComLnl, LA.ArtCod, A.ArtDes, LA.ComLca, LA.ComLki, LA.ComLpr, LA.ComLim, LA.Facturado ";

            strQ += " FROM ";
            strQ += " COMALB_LINEAS AS LA INNER JOIN ARTICULOS AS A ON LA.ArtCod=A.ArtCod ";
            strQ += " INNER JOIN PROVEEDORES AS P ON LA.ProCod=P.ProCod ";
            strQ += " WHERE ";
            strQ += "(comcfa BETWEEN @dateIni AND @dateFin) ";
            if (checkTodosProv.CheckState == CheckState.Unchecked)
            {
                strQ += " AND ";
                strQ += " LA.ProCod=@proCodIni ";
            }
            strQ += " AND ";
            strQ += " ISNULL(Facturado,0) <> 1 ";
            strQ += " ORDER BY LA.ComLpa, LA.ComLnl";

            this.Cursor = Cursors.WaitCursor;

            try
            {
                SqlCommand myCommand = new SqlCommand(strQ, CnO);
                myCommand.Parameters.AddWithValue("@proCodIni", tProvIni.Text);
                myCommand.Parameters.AddWithValue("@dateIni", dateTimePicker_Inicio.Text);
                myCommand.Parameters.AddWithValue("@dateFin", dateTimePicker_Fin.Text);

                SqlDataReader myReader = myCommand.ExecuteReader();

                while (myReader.Read())
                {
                    clase_linea_albcom linea_albcom = new clase_linea_albcom();

                    linea_albcom.ComLpa = myReader["ComLpa"].ToString();
                    linea_albcom.ProCod = myReader["ProCod"].ToString();
                    linea_albcom.ProNom = myReader["ProNom"].ToString();
                    linea_albcom.comcfa = myReader["comcfa"].ToString();
                    if (linea_albcom.comcfa.Length > 10)
                    {
                        linea_albcom.comcfa = linea_albcom.comcfa.Substring(0, 10);
                    }
                    linea_albcom.ComLnl    = myReader["ComLnl"].ToString();
                    linea_albcom.Anyo      = myReader["Anyo"].ToString();
                    linea_albcom.ArtCod    = myReader["ArtCod"].ToString();
                    linea_albcom.ArtDes    = myReader["ArtDes"].ToString();
                    linea_albcom.ComLca    = myReader["ComLca"].ToString();
                    linea_albcom.ComLki    = Funciones.FormateaKilos(myReader["ComLki"].ToString());
                    linea_albcom.ComLpr    = Funciones.Formatea(myReader["ComLpr"].ToString());
                    linea_albcom.ComLim    = Funciones.Formatea(myReader["ComLim"].ToString());
                    linea_albcom.Facturado = false;

                    total_importes = Funciones.Suma(total_importes, linea_albcom.ComLim);

                    Lineas_Albaran.Add(linea_albcom);

                    if (!Numeros_Albaran.Contains(linea_albcom.ComLpa))
                    {
                        Numeros_Albaran.Add(linea_albcom.ComLpa);
                        Albaranes.Add(linea_albcom);
                    }
                }

                myReader.Close();

                dataGridView_ComAlbLineas.AutoGenerateColumns = false;
                dataGridView_ComAlbLineas.DataSource          = Lineas_Albaran;

                dataGridView_ComAlb.AutoGenerateColumns = false;
                dataGridView_ComAlb.DataSource          = Albaranes;

                if (dataGridView_ComAlbLineas.Rows.Count > 0)
                {
                    //aprovechamos para cambiar el nombre de algunas columnas
                    dataGridView_ComAlbLineas.Columns["ComLca"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
                    dataGridView_ComAlbLineas.Columns["ComLki"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
                    dataGridView_ComAlbLineas.Columns["ComLpr"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
                    dataGridView_ComAlbLineas.Columns["ComLim"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;

                    dataGridView_ComAlb.Columns["Facturado"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;

                    label_importes.Text = total_importes;
                }
                else
                {
                    label_importes.Text = "0";
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
                GloblaVar.gUTIL.ATraza(gIdent + " ERROR " + ex.ToString());
            }

            this.Cursor = Cursors.Default;
            //this.Au
        }       // Cargar