Example #1
0
        private void ajustarEntradasYsalidas(int ajuste)
        {
            if (AccesoInternet() == false)
            {
                MessageBox.Show("No hay internet, intente en un momento"); return;
            }
            int stockActual = productoSeleccionadoi.STOCK;

            if (stockActual != ajuste)
            {
                if (stockActual > ajuste)
                {
                    int       diferencia = stockActual - ajuste;
                    osa_gral  og         = new osa_gral();
                    osa_indiv oi         = new osa_indiv();
                    og.Id            = og.NextID();
                    og.ID_CLIENTE    = 0;
                    og.FECHA         = DateTime.Now.Date;
                    oi.Id            = oi.NextID();
                    oi.ID_OSAGRAL    = og.Id;
                    oi.ID_PRODUCTO2  = productoSeleccionadoi.Id;
                    oi.QTY2          = diferencia;
                    oi.precioAlmacen = productoSeleccionadoi.PrecioAlmacen;
                    oi.totalItem     = oi.precioAlmacen * oi.QTY2;
                    #region LOOP SALIDAS INVETNARIOCOSTOS
                    inventariocostos invCost = new inventariocostos(oi.ID_PRODUCTO2, "Salida");
                    if (invCost.Id > 0)
                    {
                        if (oi.QTY2 <= invCost.cantidad_actual)
                        {
                            invCost.cantidad_actual -= oi.QTY2;
                            invCost.Update("Id");
                        }
                        else
                        {
                            int Qty = oi.QTY2;
                            Qty -= invCost.cantidad_actual;
                            invCost.cantidad_actual = 0;
                            invCost.Update("Id");
                            while (Qty > 0)
                            {
                                inventariocostos invCost2 = new inventariocostos(oi.ID_PRODUCTO2, "Salida2");
                                if (invCost2.Id > 0)
                                {
                                    if (Qty <= invCost2.cantidad_actual)
                                    {
                                        invCost2.cantidad_actual -= Qty;
                                        invCost2.Update("Id");
                                        Qty = 0;
                                    }
                                    else
                                    {
                                        Qty -= invCost2.cantidad_actual;
                                        invCost2.cantidad_actual = 0;
                                        invCost2.Update("Id");
                                    }
                                }
                                else
                                {
                                    MessageBox.Show("No hay entradas registradas para esta salida");
                                    Qty = 0;
                                }
                            }
                        }
                    }
                    else
                    {
                        MessageBox.Show("Este producto no tiene Facturas de compra, Favor de ingresarlas antes de Sacar el Producto");
                    }
                    #endregion LOOP SALIDAS INVETNARIOCOSTOS
generalok:
                    og.Id = og.NextID();
                    og.Insert();
                    if (og.Error != "")
                    {
                        goto generalok;
                    }
individualok:
                    oi.Id         = oi.NextID();
                    oi.ID_OSAGRAL = og.Id;
                    oi.Insert();
                    if (oi.Error != "")
                    {
                        goto individualok;
                    }
                }
                else
                {
                    int diferencia = ajuste - stockActual;

                    oen_gral  og = new oen_gral();
                    oen_indiv oi = new oen_indiv();
                    og.Id           = og.NextID();
                    og.ID_PROVEEDOR = 0;
                    og.FECHA        = DateTime.Now;
                    oi.Id           = oi.NextID();
                    oi.ID_OENGRAL   = og.Id;
                    oi.ID_PRODUCTO  = productoSeleccionadoi.Id;
                    oi.QTY          = diferencia;

generalok:
                    og.Id = og.NextID();
                    og.Insert();
                    if (og.Error != "")
                    {
                        goto generalok;
                    }
individualok:
                    oi.Id         = oi.NextID();
                    oi.ID_OENGRAL = og.Id;
                    oi.Insert();
                    if (oi.Error != "")
                    {
                        goto individualok;
                    }
                }
            }
        }
        private void buttonIngresarHoja_Click_1(object sender, EventArgs e)
        {
            #region validaciones
            if (FACTURA.Text != "")
            {
                try
                {
                    Convert.ToInt32(FACTURA.Text);
                }
                catch
                {
                    MessageBox.Show("Solo numeros en la factura");
                    return;
                }
            }
            if (checkBoxPorProyecto.Checked == true)
            {
                if (proyectoSeleccionado == null)
                {
                    MessageBox.Show("Falta elegir el proyecto");
                    return;
                }
            }
            else
            {
                if (FACTURA.Text == "" && txtpo.Text == "" && COTIZACION.Text == "" && REMISION.Text == "")
                {
                    MessageBox.Show("Es necesario capturar un comprobante de salida");
                    return;
                }
            }
            if (FACTURA.Text != "" && txtpo.Text == "")
            {
                MessageBox.Show("Falta capturar la PO de la factura");
                return;
            }
            if (comboBoxClientes.SelectedIndex == -1 || comboVendedor.SelectedIndex == -1)
            {
                MessageBox.Show("Seleccione Cliente y Vendedor");
                return;
            }
            #endregion validaciones
            List <productos>        listaproductos   = new List <productos>();
            List <inventariocostos> listainventarios = new List <inventariocostos>();
            OSAGralSeleccionada.PARTIDAS2.Clear();
            if (AccesoInternet())
            {
                DataTable sal;
                sumatoria = 0;
                if (dataGridView2.RowCount > 0)
                {
                    for (int jj = 0; jj < dataGridView2.RowCount - 1; jj++)
                    {
                        string a = dataGridView2.Rows[jj].Cells[8].Value.ToString();
                        sal = productos.sumas(dataGridView2.Rows[jj].Cells[8].Value.ToString());
                        string w = dataGridView2.Rows[jj].Cells[4].Value.ToString();
                        sumatoria += Convert.ToDouble(sal.Rows[0][0]) * Convert.ToInt32(dataGridView2.Rows[jj].Cells[4].Value);
                    }
                }
                try
                {
                    /*
                     * OSA_GRAL OrdenSalida = new OSA_GRAL();
                     * OrdenSalida.Id = OrdenSalida.NextID();
                     * OrdenSalida.ID_CLIENTE = ClienteSeleccionado.ID;
                     * OrdenSalida.ID_VENDEDOR = EmpleadoSeleccionado.ID;
                     * OrdenSalida.FACTURA = FACTURA.Text;
                     * OrdenSalida.CODIGODEBARRAS = OrdenSalida.Id.ToString();
                     * OrdenSalida.FECHA = DateTime.Now.Date;
                     */
                    #region datos de salida general
                    if (checkBoxPorProyecto.Checked == true)
                    {
                        OSAGralSeleccionada.PROYECTO_ID = proyectoSeleccionado.ID;
                    }
                    OSAGralSeleccionada.ID_CLIENTE     = ClienteSeleccionado.ID;
                    OSAGralSeleccionada.ID_VENDEDOR    = EmpleadoSeleccionado.ID;
                    OSAGralSeleccionada.FACTURA        = FACTURA.Text;
                    OSAGralSeleccionada.TC             = Convert.ToDouble(textBoxTipoCambio.Text);
                    OSAGralSeleccionada.CODIGODEBARRAS = OSAGralSeleccionada.Id.ToString();
                    OSAGralSeleccionada.FECHA          = DateTime.Now.Date;
                    OSAGralSeleccionada.REMISION       = REMISION.Text;
                    OSAGralSeleccionada.COTIZACION     = COTIZACION.Text;
                    #endregion salida
                    if (PartidasOSA.Rows.Count > 0)
                    {
                        int item = 1;
                        #region validacion de productos
                        foreach (DataRow dr in PartidasOSA.Rows)
                        {
                            int       idproducto = Convert.ToInt32(dr["ID_PRODUCTO2"]);
                            productos stock      = new productos(idproducto);
                            if (stock.PrecioAlmacen == 0)
                            {
                                MessageBox.Show("El producto " + idproducto + " " + stock.DESCRIPCION + " No tiene PRECIO ACTUAL, favor de ingresarlo");
                                return;
                            }
                            osa_indiv PartidaIndividual = new osa_indiv();
                            PartidaIndividual.Id           = partidaId;
                            PartidaIndividual.ID_OSAGRAL   = OSAGralSeleccionada.Id;
                            PartidaIndividual.ITEM2        = item;
                            PartidaIndividual.ID_PRODUCTO2 = idproducto;
                            PartidaIndividual.QTY2         = Convert.ToInt32(dr["QTY2"]);
                            PartidaIndividual.VENTA        = Convert.ToInt32(dr["VENTA"]);
                            if (stock.PrecioAlmacen > 0)
                            {
                                PartidaIndividual.precioAlmacen = stock.PrecioAlmacen;
                                PartidaIndividual.totalItem     = stock.PrecioAlmacen * PartidaIndividual.QTY2;
                            }
                            stock.STOCK -= PartidaIndividual.QTY2;
                            if (stock.STOCK < 0)
                            {
                                MessageBox.Show("No hay suficientes " + dr["Catálogo"].ToString() + " en Stock");
                                return;
                            }
                        }
                        #endregion validacion
                        foreach (DataRow dr in PartidasOSA.Rows)
                        {
                            int       idproducto = Convert.ToInt32(dr["ID_PRODUCTO2"]);
                            productos stock      = new productos(idproducto);

                            /* if (stock.PrecioAlmacen == 0)
                             * {
                             *   MessageBox.Show("El producto " + idproducto + " " + stock.DESCRIPCION + " No tiene PRECIO ACTUAL, favor de ingresarlo");
                             *   return;
                             * }*/
                            #region guardar individual
                            osa_indiv PartidaIndividual = new osa_indiv();
                            PartidaIndividual.Id           = partidaId;
                            PartidaIndividual.ID_OSAGRAL   = OSAGralSeleccionada.Id;
                            PartidaIndividual.ITEM2        = item;
                            PartidaIndividual.ID_PRODUCTO2 = idproducto;
                            PartidaIndividual.QTY2         = Convert.ToInt32(dr["QTY2"]);
                            PartidaIndividual.VENTA        = Convert.ToInt32(dr["VENTA"]);
                            if (stock.PrecioAlmacen > 0)
                            {
                                PartidaIndividual.precioAlmacen = stock.PrecioAlmacen;
                                PartidaIndividual.totalItem     = stock.PrecioAlmacen * PartidaIndividual.QTY2;
                            }
                            #endregion individual
                            stock.STOCK -= PartidaIndividual.QTY2;//resta al stock

                            /*if (stock.STOCK < 0)
                             * {
                             *  MessageBox.Show("No hay suficientes " + dr["Catálogo"].ToString() + " en Stock");
                             *  return;
                             * }*/
                            listaproductos.Add(stock);
                            //stock.Update("Id");//actualiza datos del producto
                            MessageBox.Show(stock.CATALOGO + " nuevo stock " + stock.STOCK);
                            #region LOOP SALIDAS INVETNARIOCOSTOS
                            inventariocostos invCost = new inventariocostos(PartidaIndividual.ID_PRODUCTO2, "Salida");
                            if (invCost.Id > 0)
                            {
                                if (PartidaIndividual.QTY2 <= invCost.cantidad_actual) //si la cantidad de salida es menor o igual a la cantidad de inventario costos
                                {
                                    invCost.cantidad_actual -= PartidaIndividual.QTY2; //le resta la cantidad de salida a la de inventario costos
                                    listainventarios.Add(invCost);
                                    //invCost.Update("Id");//actualiza
                                }
                                else//si la cantidad de salida es mayor
                                {
                                    int Qty = PartidaIndividual.QTY2;
                                    Qty -= invCost.cantidad_actual;//a la cantidad de salida le resta la de inventarios
                                    invCost.cantidad_actual = 0;
                                    listainventarios.Add(invCost);
                                    //invCost.Update("Id");//actaliza
                                    while (Qty > 0)
                                    {
                                        inventariocostos invCost2 = new inventariocostos(PartidaIndividual.ID_PRODUCTO2, "Salida2");
                                        if (invCost2.Id > 0)
                                        {
                                            if (Qty <= invCost2.cantidad_actual) //si la cantidad de salida es menor o igual a la cantidad de inventario costos
                                            {
                                                invCost2.cantidad_actual -= Qty; //le resta la cantidad de salida a la de inventario costos
                                                listainventarios.Add(invCost2);
                                                //invCost2.Update("Id");
                                                Qty = 0;
                                            }
                                            else// si la cantidad de salida es mayor
                                            {
                                                Qty -= invCost2.cantidad_actual;
                                                invCost2.cantidad_actual = 0;
                                                listainventarios.Add(invCost2);
                                                //invCost2.Update("Id");
                                            }
                                        }
                                        else
                                        {
                                            // MessageBox.Show("No hay entradas registradas para esta salida");
                                            Qty = 0;
                                        }
                                    }
                                }
                            }

                            /* else
                             * {
                             *   // MessageBox.Show("Este producto no tiene Facturas de compra, Favor de ingresarlas antes de Sacar el Producto");
                             * }*/
                            #endregion LOOP SALIDAS INVETNARIOCOSTOS
                            OSAGralSeleccionada.PARTIDAS2.Add(PartidaIndividual);//agrga la individual
                            partidaId++;
                            item++;
                        }
                        SaveFileDialog save = new SaveFileDialog();
                        save.DefaultExt = "pdf";
                        save.Filter     = "PDF files|*.pdf";
                        if (save.ShowDialog() == DialogResult.OK)
                        {
                            string ruta = save.FileName;

                            CreatePDF(ruta);
                            System.Diagnostics.Process.Start(ruta);
                        }
                        DialogResult result = MessageBox.Show("DESEA GENERAR LA SALIDA CON LOS DATOS CAPTURADOS?", "REVISAR PDF ANTES DE GUARDAR", MessageBoxButtons.YesNo);
                        if (result == DialogResult.No)
                        {
                            return;
                        }
                        else if (result == DialogResult.Yes)
                        {
                            OSAGralSeleccionada.InsertarHoja();
                            string titulo = "OSA:" + textBoxOENid.Text + "\n\n";
                            foreach (productos prod in listaproductos)
                            {
                                titulo += prod.CATALOGO + "=" + prod.DESCRIPCION + ".\n\n";
                                prod.Update("Id");
                            }
                            foreach (inventariocostos inve in listainventarios)
                            {
                                inve.Update("Id");
                            }
                            if (!(Directory.Exists(Application.StartupPath + @"/OSA_RESPALDO/")))
                            {
                                Directory.CreateDirectory(Application.StartupPath + @"/OSA_RESPALDO/");
                            }
                            string ruta = Application.StartupPath + @"/OSA_RESPALDO/OSA_" + textBoxOENid.Text + ".pdf";
                            CreatePDF(ruta);
                            polizasdb crearpoliza = new polizasdb();
                            crearpoliza.Insertarpoliza(this, titulo);//////////////////////////////////////poliza

                            MySqlConnectionStringBuilder sb = new MySqlConnectionStringBuilder();

                            sb.Server   = "secure199.inmotionhosting.com";
                            sb.UserID   = "abdsto5_felipe";
                            sb.Password = "******";
                            sb.Database = "abdsto5_cotizaciones";


                            //PRUEBAS EN LOCALHOST

                            /*
                             * sb.Server = "localhost";
                             * sb.UserID = "felipe";
                             * sb.Password = "******";
                             * sb.Database = "ejemplo";
                             */
                            bdMysql = new DataBase();
                            bdMysql.DataBaseProvider = TypeOfDataBase.MySqlServer;
                            bdMysql.ConnectionString = sb.ToString();
                            //   bdMysql.ConnectionString = "Server = localhost; Database = descobi; Uid = felipe; Pwd = 1945Inadescobi";
                            bdMysql.CreateConnection();
                            DbObject.DefaultDataBaseObject = bdMysql;

                            resetOSA();//reset
                        }
                    }
                    else
                    {
                        MessageBox.Show("No hay partidas para guardar");
                    }
                }
                catch
                {
                    MessageBox.Show("Ingrese los datos correctos");
                }
            }
            else
            {
                MessageBox.Show("NO HAY INTERNET INTENTELO EN UN MOMENTO");//10000
            }
        }
Example #3
0
        private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.RowIndex < 0)
            {
                return;
            }
            if (dataGridView1.Rows[e.RowIndex].Cells[1].Value == DBNull.Value)
            {
                return;
            }
            int rowIndex = e.RowIndex;

            int    item     = Convert.ToInt32(dataGridView1.Rows[rowIndex].Cells[0].Value);
            string catalogo = dataGridView1.Rows[rowIndex].Cells[1].Value.ToString();

            osa_indiv        i       = new osa_indiv(item, osaSeleccionada.Id);
            productos        p       = new productos(i.ID_PRODUCTO2);
            inventariocostos invCost = new inventariocostos(i.ID_PRODUCTO2, true);

            FormDevolucion d = new FormDevolucion();

            d.labelProducto.Text     = "OSA no. " + osaSeleccionada.Id + ",  ITEM: " + item + ",  CATALOGO: " + catalogo;
            d.textBoxExistencia.Text = i.QTY2.ToString();
            d.existencia             = i.QTY2;
            d.stock = p.STOCK;
            d.ShowDialog();

            if (d.DialogResult == DialogResult.OK)
            {
                if (d.existencia < i.QTY2)
                {
                    #region WHILE DEVOLVER A iNVENTARIOCOSTOS
                    if (invCost.Id > 0)
                    {
                        int diferenciaOen = invCost.cantidad_oen - invCost.cantidad_actual;
                        int restaOsa      = i.QTY2 - d.existencia;

                        if (restaOsa <= diferenciaOen)
                        {
                            invCost.cantidad_actual += restaOsa;
                            invCost.Update("Id");
                        }
                        else
                        {
                            int qty = restaOsa;

                            invCost.cantidad_actual += diferenciaOen;
                            invCost.Update("Id");
                            qty -= diferenciaOen;

                            while (qty > 0)
                            {
                                inventariocostos invCost2 = new inventariocostos(i.ID_PRODUCTO2, true);
                                if (invCost2.Id > 0)
                                {
                                    int restaOen = invCost2.cantidad_oen - invCost2.cantidad_actual;
                                    if (qty <= restaOen)
                                    {
                                        invCost2.cantidad_actual += qty;
                                        invCost2.Update("Id");
                                        qty = 0;
                                    }
                                    else
                                    {
                                        invCost2.cantidad_actual += restaOen;
                                        invCost2.Update("Id");
                                        qty -= restaOen;
                                    }
                                }
                                else
                                {
                                    MessageBox.Show("No hay ordenes de entrada para este producto");
                                    qty = 0;
                                }
                            }
                        }
                    }
                    else
                    {
                        MessageBox.Show("No hay ordenes de entrada para estos productos");
                    }

                    #endregion WHILE DEVOLVER A INVENTARIOcOSTOS

                    i.QTY2  = d.existencia;
                    p.STOCK = d.stock;
                    i.Update("Id");
                    p.Update("Id");

                    MessageBox.Show("Devolucion aplicada");
                    VerDGV(osaSeleccionada.Id);
                    foreach (DataGridViewRow fila in dataGridView1.Rows)
                    {
                        string cantidad = fila.Cells[2].ToString();
                        string cat      = fila.Cells[1].ToString();
                    }
                }
            }
            if (osaSeleccionada.idpoliza > 0)
            {
                double tot = 0;
                foreach (DataGridViewRow fila in dataGridView1.Rows)
                {
                    if (fila.Cells[3].Value != null)
                    {
                        string cantidad = fila.Cells[3].Value.ToString();
                        catalogo = fila.Cells[1].Value.ToString();
                        item     = Convert.ToInt32(dataGridView1.Rows[fila.Index].Cells[0].Value);
                        i        = new osa_indiv(item, osaSeleccionada.Id);
                        p        = new productos(i.ID_PRODUCTO2);
                        tot     += Convert.ToInt32(cantidad) * p.PrecioAlmacen;
                    }
                }
                polizasdb pol = new polizasdb(osaSeleccionada.idpoliza);
                pol.subtotal = tot;
                pol.egreso   = tot;
                pol.Update("folio");
            }
        }
Example #4
0
        private void buttonIngresarHoja_Click(object sender, EventArgs e)
        {
            List <productos> listaproductos = new List <productos>();

            if (ProveedorSeleccionado == null)
            {
                return;
            }
            if (AccesoInternet())
            {
                OENGralSeleccionada.PARTIDAS.Clear();
                OENGralSeleccionada.ItemsInventario.Clear();
                OENGralSeleccionada.ID_PROVEEDOR   = ProveedorSeleccionado.ID;
                OENGralSeleccionada.CODIGODEBARRAS = OENGralSeleccionada.Id.ToString();
                OENGralSeleccionada.FECHA          = DateTime.Now.Date;
                if (PartidasOEN.Rows.Count > 0)
                {
                    int item = 1;
                    totales = 0;
                    double tjavier = 0;
                    foreach (DataRow dr in PartidasOEN.Rows)
                    {
                        #region datos individuales
                        oen_indiv PartidaIndividual = new oen_indiv();
                        PartidaIndividual.Id          = partidaId;
                        PartidaIndividual.ID_OENGRAL  = OENGralSeleccionada.Id;
                        PartidaIndividual.ITEM        = item;
                        PartidaIndividual.ID_PRODUCTO = Convert.ToInt32(dr["ID_PRODUCTO"]);
                        try
                        {
                            PartidaIndividual.QTY    = Convert.ToInt32(dr["QTY"]);
                            PartidaIndividual.COMPRA = Convert.ToInt32(dr["COMPRA"]);
                            PartidaIndividual.VENTA  = Convert.ToInt32(dr["VENTA"]);
                            PartidaIndividual.PU     = Convert.ToDouble(dr["PU"]);
                            if (dr["MONEDA"].ToString() == "USD" || dr["MONEDA"].ToString() == "usd")
                            {
                                tjavier = Convert.ToDouble(dr["PU"]) * Convert.ToDouble(dr["QTY"]);
                            }
                            else
                            {
                                tjavier = (Convert.ToDouble(dr["PU"]) / Convert.ToDouble(dr["TC"])) * Convert.ToDouble(dr["QTY"]);
                            }
                        }
                        catch
                        {
                            MessageBox.Show("Escriba costo unitario de todas las partidas");
                            return;
                        }
                        totales += tjavier;
                        PartidaIndividual.TC                = Convert.ToDouble(dr["TC"]);
                        PartidaIndividual.MONEDA            = dr["MONEDA"].ToString();
                        PartidaIndividual.FACTURA_PROVEEDOR = dr["FACTURA_PROVEEDOR"].ToString();
                        PartidaIndividual.FECHA_FACTURAP    = Convert.ToDateTime(dr["FECHA_FACTURAP"]);
                        string moneda = PartidaIndividual.MONEDA;
                        double pu     = PartidaIndividual.PU;
                        double tc     = PartidaIndividual.TC;
                        int    qty    = PartidaIndividual.QTY;
                        #endregion datos
                        productos stock = new productos(PartidaIndividual.ID_PRODUCTO);
                        if (stock.PrecioAlmacen > 0)
                        {
                            int nuevaCantidad = qty + stock.STOCK;
                            if (moneda == "PMX")//convierte a dolar
                            {
                                pu = pu / tc;
                            }
                            //if (stock.PrecioAlmacen < pu)
                            //{
                            stock.PrecioAlmacen = pu;//guarda el precio

                            /*                       //}
                             * if (stock.PrecioAlmacen != pu)
                             * {
                             *
                             * double sumaStock = stock.STOCK * stock.PrecioAlmacen;
                             * double sumaIngresos = pu * qty;
                             * double sumaTotal = sumaStock + sumaIngresos;
                             * double nuevoCosto = sumaTotal / nuevaCantidad;
                             *
                             * stock.PrecioAlmacen = nuevoCosto;
                             * }*/
                        }
                        else
                        {
                            if (moneda == "PMX")
                            {
                                pu /= tc;
                            }
                            stock.PrecioAlmacen = pu;
                            stock.MONEDA        = "USD";
                        }
                        stock.STOCK += PartidaIndividual.QTY;        //suma al stock
                        if (PartidaIndividual.QTY <= stock.ORDENADO) //le resta las entradas a las cantidades ordenadas
                        {
                            stock.ORDENADO -= PartidaIndividual.QTY;
                        }
                        else if (stock.ORDENADO > 0)//pone en cero lo ordenado
                        {
                            stock.ORDENADO = 0;
                        }
                        stock.FECHA_FACTURA = PartidaIndividual.FECHA_FACTURAP;
                        listaproductos.Add(stock);
                        //stock.Update("Id");//actualiza los datos del producto    ///////
                        #region guarda datos de inventario costos
                        inventariocostos invCost = new inventariocostos();// LLENADO DE InventarioCostos
                        invCost.Id               = PartidaIndividual.Id;
                        invCost.id_producto      = PartidaIndividual.ID_PRODUCTO;
                        invCost.cantidad_actual  = PartidaIndividual.QTY;
                        invCost.cantidad_oen     = PartidaIndividual.QTY;
                        invCost.costoU           = PartidaIndividual.PU;
                        invCost.Moneda           = PartidaIndividual.MONEDA;
                        invCost.tipoCambio       = PartidaIndividual.TC;
                        invCost.facturaProveedor = PartidaIndividual.FACTURA_PROVEEDOR;
                        invCost.fechaFactura     = PartidaIndividual.FECHA_FACTURAP;
                        invCost.totalItem        = PartidaIndividual.PU * PartidaIndividual.QTY;
                        if (PartidaIndividual.MONEDA == "USD")//convierte a pesos
                        {
                            invCost.totalItemPMX = invCost.totalItem * invCost.tipoCambio;
                        }
                        else
                        {
                            invCost.totalItemPMX = invCost.totalItem;
                        }
                        #endregion guarda
                        OENGralSeleccionada.PARTIDAS.Add(PartidaIndividual);
                        OENGralSeleccionada.ItemsInventario.Add(invCost);
                        partidaId++;
                        item++;
                    }
                    SaveFileDialog save = new SaveFileDialog();
                    save.DefaultExt = "pdf";
                    save.Filter     = "PDF files|*.pdf";
                    if (save.ShowDialog() == DialogResult.OK)
                    {
                        string ruta = save.FileName;
                        CreatePDF(ruta);
                        System.Diagnostics.Process.Start(ruta);
                    }
                    DialogResult result = MessageBox.Show("DESEA GENERAR LA ENTRADA CON LOS DATOS CAPTURADOS?", "REVISAR PDF ANTES DE GUARDAR", MessageBoxButtons.YesNo);
                    if (result == DialogResult.No)
                    {
                        return;
                    }
                    else if (result == DialogResult.Yes)
                    {
                        OENGralSeleccionada.InsertarHoja();
                        foreach (productos prod in listaproductos)
                        {
                            prod.Update("Id");
                        }
                        if (!(Directory.Exists(Application.StartupPath + @"/OEN_RESPALDO/")))
                        {
                            Directory.CreateDirectory(Application.StartupPath + @"/OEN_RESPALDO/");
                        }
                        string ruta = Application.StartupPath + @"/OEN_RESPALDO/OEN_" + textBoxOENid.Text + ".pdf";
                        CreatePDF(ruta);
                        resetOEN();
                    }
                }
                else
                {
                    MessageBox.Show("No hay partidas para guardar");
                }
            }
            else
            {
                MessageBox.Show("NO HAY INTERNET INTENTELO EN UN MOMENTO");//10000
            }
        }