Beispiel #1
0
        private void dGV1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            string gIdent = this.GetType().FullName + " " + System.Reflection.MethodBase.GetCurrentMethod().Name;

            GloblaVar.gUTIL.ATraza(gIdent + " Entrada a  " + sender.ToString());

            string Albaran = dGV1.CurrentRow.Cells["Albaran"].Value.ToString();
            string Fecha   = dGV1.CurrentRow.Cells["Fecha"].Value.ToString();
            string Año     = dGV1.CurrentRow.Cells["Anyo"].Value.ToString();
            //string Det = dGV1.CurrentRow.Cells["C_Det"].Value.ToString();
            //string BI = dGV1.CurrentRow.Cells["BI1"].Value.ToString();
            //string IVA = dGV1.CurrentRow.Cells["IVA1"].Value.ToString();
            //string RE = dGV1.CurrentRow.Cells["RE1"].Value.ToString();
            //string Total = dGV1.CurrentRow.Cells["Total"].Value.ToString();
            //string Vendedor = dGV1.CurrentRow.Cells["C_Vend"].Value.ToString();
            //Cobrar_Albaran(Albaran, Fecha, Año, Det, BI, IVA, RE, Total, Vendedor);


            int a = 2;

            if (a == 1)
            {
                MessageBox.Show("Fase de PRUEBAS. Todavia no facture abonos.");
                this.Close();
            }
            else
            {
                clase_ABONG_CABE    AlbAbono           = new clase_ABONG_CABE();
                ArrayList           Lista_Lineas_Abono = new ArrayList();
                clase_linea_factura linea_abono        = null;
                string idFactura = "";

                if (AlbAbono.CargaAlbaran(Albaran, Año))
                {
                    string error = Comprobaciones(AlbAbono);
                    if (error == "")
                    {
                        //idFactura = Funciones.FacturarAbono1(AlbAbono, "AB", "Albaran de Abono de " + Funciones.DameNomDet(AlbAbono.DetCod.ToString()));
                        idFactura = Funciones.FacturarAbono1(AlbAbono, "AB", "La presente FACTURA RECTIFICATIVA modifica la factura NÚMERO: " + AlbAbono.RectificaFact + "  AÑO: " + AlbAbono.RectificaAnyoFact + "  SERIE: " + AlbAbono.RectificaSerieFact);
                    }
                    else
                    {
                        MessageBox.Show(error);
                    }
                }       //if (AlbAbono.CargaAlbaran(Albaran,Año))



                if (idFactura != "")
                {
                    AlbAbono = null;
                    MessageBox.Show("La FACTURA RECTIFICATIVA se ha generado correctamente. \n \n Numero de FACTURA: " + idFactura);
                    CargarGrid();
                }
            }
        } //private void dGV1_CellContentClick(object sender, DataGridViewCellEventArgs e)
Beispiel #2
0
        private void button_Aceptar_Click(object sender, EventArgs e)
        {
            try
            {
                //importe
                if (textBox_Importe.Text != "")
                {
                    decimal auxiliar = 0;
                    if (Decimal.TryParse(textBox_Importe.Text, out auxiliar) == true)
                    {
                        if (auxiliar > 0)
                        {
                            textBox_Importe.Text = Funciones.Formatea(textBox_Importe.Text);
                        }
                    }
                }

                //detcod
                if (textBox_DetCod.Text != "" && textBox_Importe.Text != "")
                {
                    //insertar cobro
                    //proceso anterior, insertaba el abono en la tabla ABONOS
                    //string insert = "INSERT INTO ABONOS(DetCod, Fecha, Importe, Observaciones) ";
                    //insert += " VALUES(" + textBox_DetCod.Text + ", '" + textBox_Fecha.Text + "', " + textBox_Importe.Text + ", '" + textBox_Observaciones.Text.Replace("'", "''") + "')";

                    //SqlCommand myCommand = new SqlCommand(insert, myConnection);
                    //int res = myCommand.ExecuteNonQuery();

                    //proceso actual, crea un albarán y una factura con importes negativo
                    clase_linea_factura linea_factura = new clase_linea_factura();

                    //ComentadoEncarni
                    //linea_factura.LinF = "1";
                    linea_factura.ArtCod = "9998";
                    //ComentadoEncarni
                    //linea_factura.VelImp = textBox_Importe.Text;

                    string anyo = textBox_Fecha.Text.Substring(6, 4);

                    string factura = Funciones.FacturarAbono2(textBox_DetCod.Text, anyo, "AB", Convert.ToDateTime(textBox_Fecha.Text), linea_factura, textBox_Observaciones.Text, textBox_Importe.Text, myConnection);

                    if (factura != "")
                    {
                        MessageBox.Show("El abono se ha realizado correctamente");

                        //imprimir recibo
                        try
                        {
                            string fichero = Path.GetPathRoot(Environment.GetFolderPath(Environment.SpecialFolder.System)) + "\\OREMAPE\\RECIBOS\\temporal.txt";

                            TextWriter tw = new StreamWriter(fichero);


                            string linea = "ENDUMAR .";
                            tw.WriteLine(linea);
                            linea = "Mercavalencia, Modulo 20";
                            tw.WriteLine(linea);
                            linea = "46013 VALENCIA";
                            tw.WriteLine(linea); tw.WriteLine("");

                            linea = DateTime.Today.ToShortDateString();
                            tw.WriteLine(linea); tw.WriteLine("");

                            linea = "Cliente " + detcod;
                            tw.WriteLine(linea);

                            linea = "        " + detnom;
                            tw.WriteLine(linea); tw.WriteLine("");

                            linea = " Abonado: " + textBox_Importe.Text;
                            tw.WriteLine(linea);

                            linea = " ";
                            tw.WriteLine(linea);

                            if (textBox_Observaciones.Text != "")
                            {
                                linea = " Observaciones: " + textBox_Observaciones.Text;
                                tw.WriteLine(linea);
                            }

                            linea = " ";
                            tw.WriteLine(linea);

                            linea = " Firma o sello:";
                            tw.WriteLine(linea);

                            linea = " ";
                            tw.WriteLine(linea); tw.WriteLine(linea);

                            //Añadir 6 líneas en blanco
#if !DEBUG
                            tw.WriteLine(""); tw.WriteLine(""); tw.WriteLine("");
                            tw.WriteLine(""); tw.WriteLine(""); tw.WriteLine("");
#endif
                            tw.Close();


                            //Imprimir RECIBO

                            printDialog1.PrinterSettings = new System.Drawing.Printing.PrinterSettings();
                            string impresora = frmInicioCaja.RUTA_RECIBOS;
                            if (impresora == "")
                            {
                                impresora = printDialog1.PrinterSettings.PrinterName;
                            }

                            AbreCajon(impresora);
                            RawPrinterHelper.SendFileToPrinter(impresora, fichero);
                            CortaTicket(impresora);

                            //las pruebas en la oficina las haremos en Debug, y solo haremos un ticket
                            //al compilar como Release el ejecutable hará dos tickets:

#if !DEBUG
                            AbreCajon(impresora);
                            RawPrinterHelper.SendFileToPrinter(impresora, fichero);
                            CortaTicket(impresora);
#endif
                        }
                        catch (System.Exception ex)
                        {
                            MessageBox.Show(ex.ToString());
                        }
                    }
                    else
                    {
                        MessageBox.Show("Error. No se pudo registrar el abono.");
                    }
                }
                else
                {
                    MessageBox.Show("El importe y el código de cliente son obligatorios");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }
        private void Marcaciones(int indice)
        {
            //esta función se activa cuando se marca un albarán

            string VenAlb = dataGridView_Albaranes.Rows[indice].Cells[1].Value.ToString();
            string Anyo   = dataGridView_Albaranes.Rows[indice].Cells[3].Value.ToString();
            //string VenFec = dataGridView_Albaranes.Rows[indice].Cells[4].Value.ToString();

            //string VenBru = dataGridView_Albaranes.Rows[indice].Cells[6].Value.ToString();
            //string VenIva = dataGridView_Albaranes.Rows[indice].Cells[7].Value.ToString();
            //string VenRec = dataGridView_Albaranes.Rows[indice].Cells[8].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[4].Value.ToString() == VenAlb)
                        {
                            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
                ArrayList Lineas = Funciones.Lineas_Albaran(VenAlb, Anyo, CnO);

                for (int x = 0; x < Lineas.Count; x++)
                {
                    detalle_linea_albaran linea_albaran = (detalle_linea_albaran)Lineas[x];

                    clase_linea_factura linea_factura = new clase_linea_factura();

                    linea_factura.Albaran      = VenAlb;
                    linea_factura.Anyo         = textBox_Anyo.Text;
                    linea_factura.AnyoAlb      = Anyo;
                    linea_factura.ArtCod       = linea_albaran.ArtCod;
                    linea_factura.Cajas        = linea_albaran.VelBul;
                    linea_factura.Factura      = "";
                    linea_factura.Importe      = Funciones.Formatea(linea_albaran.VelImp);
                    linea_factura.Kilos        = linea_albaran.VelKil;
                    linea_factura.Linea        = contador.ToString();
                    linea_factura.LineaAlbaran = linea_albaran.VelLin;
                    linea_factura.PartAnyo     = linea_albaran.PartAnyo;
                    linea_factura.Partida      = linea_albaran.Partida;
                    linea_factura.Precio       = linea_albaran.VelPre;
                    linea_factura.Serie        = comboBox_Serie.Text;
                    linea_factura.Traza        = linea_albaran.VelTrz;
                    linea_factura.PartAlm      = linea_albaran.PartAlm;

                    //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 #4
0
        }   //private void textBox_DetCod_Enter(object sender, EventArgs e)

        private void button_Grabar_Click(object sender, EventArgs e)
        {
            if (textBox_DetCod.Text != "")
            {
                //Grabar el abono
                string gIdent = this.GetType().FullName + " " + System.Reflection.MethodBase.GetCurrentMethod().Name + " ";
                GloblaVar.gUTIL.ATraza(gIdent + " Click en Grabar Abono");

                //grabar las líneas
                ArrayList Lista_Lineas_Abono = new ArrayList();

                clase_linea_factura linea_abono = null;

                if (!string.IsNullOrEmpty(tbArtCod1.Text))
                {
                    linea_abono = new clase_linea_factura();

                    linea_abono.Linea   = "1";
                    linea_abono.ArtCod  = tbArtCod1.Text;
                    linea_abono.Kilos   = Funciones.Formatea(tbVelKil1.Text);
                    linea_abono.Precio  = Funciones.Formatea(tbVelPre1.Text);
                    linea_abono.Importe = Funciones.Formatea(tbVelImp1.Text);

                    Lista_Lineas_Abono.Add(linea_abono);
                }

                if (!string.IsNullOrEmpty(tbArtCod2.Text))
                {
                    linea_abono = new clase_linea_factura();

                    linea_abono.Linea   = "2";
                    linea_abono.ArtCod  = tbArtCod2.Text;
                    linea_abono.Kilos   = Funciones.Formatea(tbVelKil2.Text);
                    linea_abono.Precio  = Funciones.Formatea(tbVelPre2.Text);
                    linea_abono.Importe = Funciones.Formatea(tbVelImp2.Text);

                    Lista_Lineas_Abono.Add(linea_abono);
                }

                if (!string.IsNullOrEmpty(tbArtCod3.Text))
                {
                    linea_abono = new clase_linea_factura();

                    linea_abono.Linea   = "3";
                    linea_abono.ArtCod  = tbArtCod3.Text;
                    linea_abono.Kilos   = Funciones.Formatea(tbVelKil3.Text);
                    linea_abono.Precio  = Funciones.Formatea(tbVelPre3.Text);
                    linea_abono.Importe = Funciones.Formatea(tbVelImp3.Text);

                    Lista_Lineas_Abono.Add(linea_abono);
                }

                if (!string.IsNullOrEmpty(tbArtCod4.Text))
                {
                    linea_abono = new clase_linea_factura();

                    linea_abono.Linea   = "4";
                    linea_abono.ArtCod  = tbArtCod4.Text;
                    linea_abono.Kilos   = Funciones.Formatea(tbVelKil4.Text);
                    linea_abono.Precio  = Funciones.Formatea(tbVelPre4.Text);
                    linea_abono.Importe = Funciones.Formatea(tbVelImp4.Text);

                    Lista_Lineas_Abono.Add(linea_abono);
                }
                //GloblaVar.gIdVendedor;
                string idFactura = Funciones.FacturarAbono(textBox_DetCod.Text, textBox_Anyo.Text, comboBox_Serie.Text, Convert.ToDateTime(dtpFechaFra.Text), Lista_Lineas_Abono, textBox_Observaciones.Text, textBox_BI.Text, textBox_IVA.Text, textBox_Recargo.Text, textBox_Importe.Text, dTipo_iva, CnO);


                if (idFactura != "")
                {
                    Limpieza_Factura();
                    MessageBox.Show("El abono se ha realizado correctamente");
                    GloblaVar.gUTIL.ATraza(gIdent + "El abono se ha realizado correctamente");
                }
            }
            else
            {
                MessageBox.Show("El detallista es obligatorio");
            }
        }
        private void button_Grabar_Click(object sender, EventArgs e)
        {
            //grabar las líneas
            ArrayList Lista_Albaranes = new ArrayList();

            for (int x = 0; x < dataGridView_Albaranes.Rows.Count; x++)
            {
                if (dataGridView_Albaranes.Rows[x].Cells[0].FormattedValue.ToString().ToLower() == "true")
                {
                    dato_albaran dato = new dato_albaran();

                    dato.VenAlb = dataGridView_Albaranes.Rows[x].Cells[1].Value.ToString();
                    dato.Anyo   = dataGridView_Albaranes.Rows[x].Cells[3].Value.ToString();

                    Lista_Albaranes.Add(dato);
                }
            }

            //comprobar si la factura tiene líneas
            if (Lista_Albaranes.Count > 0)
            {
                //si tiene se graban los cambios
                //pero tiene que hacerse con un UPDATE en vez de un INSERT

                //cabecera

                string observaciones = textBox_Observaciones.Text.Replace("'", "''"); if (observaciones.Length > 99)
                {
                    observaciones = observaciones.Substring(0, 99);
                }
                string textopie = textBox_TextoPie.Text.Replace("'", "''"); if (textopie.Length > 199)
                {
                    textopie = textopie.Substring(0, 199);
                }
                string textocabe = textBox_TextoCabecera.Text.Replace("'", "''"); if (textocabe.Length > 199)
                {
                    textocabe = textocabe.Substring(0, 199);
                }

                string update_cabecera = "UPDATE FACTV_CABE SET DetCod=" + textBox_DetCod.Text + ", BI1=" + textBox_BI.Text.Replace(",", ".") + ", IVA1=" + textBox_IVA.Text.Replace(",", ".") + ", RE1=" + textBox_Recargo.Text.Replace(",", ".") + ", ImpteFactura=" + textBox_Importe.Text.Replace(",", ".") + ", ImptePendiente=" + textBox_Importe.Text.Replace(",", ".") + ", ";
                update_cabecera += " Observaciones='" + observaciones + "', TextoPie='" + textopie + "', TextoCabe='" + textocabe + "' ";
                update_cabecera += " WHERE Factura=" + textBox_Factura.Text + " AND Anyo=" + textBox_Anyo.Text + " AND Serie='" + textBox_Serie.Text + "' ";

                int res_cabecera = EjecutaNonQuery(update_cabecera);

                Funciones.Escribe_LOG("Se ha modificado una factura. Se incluye el update a continuación.", "MODIFICAR", CnO);
                Funciones.Escribe_LOG(update_cabecera, "MODIFICAR", CnO);

                //hay que borrar las líneas anteriores y escribir las nuevas

                string delete_lineas = "DELETE FACTV_LINEAS WHERE Factura=" + textBox_Factura.Text + " AND Anyo=" + textBox_Anyo.Text + " AND Serie='" + textBox_Serie.Text + "' ";
                int    res_delete    = EjecutaNonQuery(delete_lineas);

                //hay que desmarcar también los albaranes que estaban marcados

                string desmarca_albaranes = "UPDATE VENALB_CABE SET VenNfp = NULL, AnyoFra = NULL, SerieFra = NULL WHERE VenNfp=" + textBox_Factura.Text + " AND AnyoFra=" + textBox_Anyo.Text + " AND SerieFra='" + textBox_Serie.Text + "' ";
                int    res_desmarcar      = EjecutaNonQuery(desmarca_albaranes);

                //y marcar los nuevos

                Funciones.Marcar_Ventas(textBox_Factura.Text, textBox_Anyo.Text, textBox_Serie.Text, Lista_Albaranes, CnO);

                //y ahora escribimos las nuevas, código basado en Funciones.Facturar

                ArrayList Lista_Lineas_Factura = new ArrayList();
                int       contador             = 1;

                for (int y = 0; y < Lista_Albaranes.Count; y++)
                {
                    dato_albaran albaran = (dato_albaran)Lista_Albaranes[y];

                    ArrayList Lista_Lineas_Albaran = Funciones.Lineas_Albaran(albaran.VenAlb, albaran.Anyo, CnO);

                    if (Lista_Lineas_Albaran != null)
                    {
                        for (int x = 0; x < Lista_Lineas_Albaran.Count; x++)
                        {
                            detalle_linea_albaran linea_albaran = (detalle_linea_albaran)Lista_Lineas_Albaran[x];

                            clase_linea_factura linea_factura = new clase_linea_factura();

                            linea_factura.Albaran      = albaran.VenAlb;
                            linea_factura.Anyo         = textBox_Anyo.Text;
                            linea_factura.AnyoAlb      = albaran.Anyo;
                            linea_factura.ArtCod       = linea_albaran.ArtCod;
                            linea_factura.Cajas        = linea_albaran.VelBul;
                            linea_factura.Factura      = textBox_Factura.Text;
                            linea_factura.Importe      = linea_albaran.VelImp;
                            linea_factura.Kilos        = linea_albaran.VelKil;
                            linea_factura.Linea        = contador.ToString();
                            linea_factura.LineaAlbaran = linea_albaran.VelLin;
                            linea_factura.PartAnyo     = linea_albaran.PartAnyo;
                            linea_factura.Partida      = linea_albaran.Partida;
                            linea_factura.Precio       = linea_albaran.VelPre;
                            linea_factura.Serie        = textBox_Serie.Text;
                            linea_factura.Traza        = linea_albaran.VelTrz;
                            linea_factura.PartAlm      = linea_albaran.PartAlm;

                            Lista_Lineas_Factura.Add(linea_factura);

                            contador++;
                        }
                    }
                }

                for (int x = 0; x < Lista_Lineas_Factura.Count; x++)
                {
                    clase_linea_factura linea = (clase_linea_factura)Lista_Lineas_Factura[x];

                    string insert_linea = "INSERT FACTV_LINEAS(Factura, Anyo, Serie, LinF, VelAlb, AnyoAlb, VelLin, ArtCod, VelBul, VelKil, VelPre, VelTrz, VelImp, Partida, PartAnyo, PartAlm) ";
                    insert_linea += " VALUES (" + textBox_Factura.Text + ", " + textBox_Anyo.Text + ", '" + textBox_Serie.Text + "', " + linea.Linea + ", " + linea.Albaran + ", " + linea.AnyoAlb + ", " + linea.LineaAlbaran + ", " + linea.ArtCod + ", " + linea.Cajas.Replace(",", ".") + ", " + linea.Kilos.Replace(",", ".") + ", " + linea.Precio.Replace(",", ".") + ", '" + linea.Traza + "', " + linea.Importe.Replace(",", ".") + ", " + linea.Partida + ", " + linea.PartAnyo + ", '" + linea.PartAlm + "')";

                    int res_linea = EjecutaNonQuery(insert_linea);
                }

                //y ya está todo hecho
                //cerraremos el formulario y devolverá un OK
            }
            else
            {
                //si no tiene se avisa
                MessageBox.Show("No se puede grabar una factura sin líneas");

                //el formulario se cerrará pero no habrá hecho ningún cambio en la BD
            }
        }