private void eliminarStockDePZsToolStripMenuItem_Click(object sender, EventArgs e) { string vMen = "Este proceso eliminara TODO el Stock de los Productos 'PZ-' (Producto Terminado),Esta seguro ?"; string vTit = "Eliminar"; if (MessageBox.Show(vMen, vTit, MessageBoxButtons.YesNo) == DialogResult.No) { return; } vMen = "Peroooo Seguro, seguro ?"; vTit = "Eliminar"; if (MessageBox.Show(vMen, vTit, MessageBoxButtons.YesNo) == DialogResult.No) { return; } frmInformacion frm = new frmInformacion(); frm.vTex = "Eliminando Stock de 'PZ-'"; frm.Show(); Application.DoEvents(); string vID = System.Guid.NewGuid().ToString(); string vSql = cConstantes.SQL_ElimStockPZ; DataTable dt = SQLDataAccess.Trae(vSql, cUtil.SQLConec(cParamXml.strConecProduc_Prueb)); foreach (DataRow dr in dt.Rows) { string vProd = dr["Producto"].ToString(); string vCan = dr["canreg"].ToString(); decimal vdCan = Convert.ToDecimal(vCan); string vUbi = dr["Ubi"].ToString(); string vLote = dr["Lote"].ToString(); string vOFL = dr["OFL"].ToString(); try { string vTipo = "Entrada"; if (vdCan < 0) { vTipo = "Salida"; } //Crear movimientos de producto y materia prima cMovimientos.Articulo oMov = new cMovimientos.Articulo(); //Movimiento de producto oMov.fncAlta(cParamXml.Emp, vTipo, DateTime.Now, DateTime.Now, cParamXml.AlmacenMat, vProd, "", vCan, "Inv_" + vID, vOFL, vUbi, vLote); } catch { } } frm.Close(); MessageBox.Show("Se han eliminado todo el Stock del los Productos 'PZ-'"); }
private bool fncGrabar() { bool vOk = false; //Crear movimientos cMovimientos.Articulo oMov = new cMovimientos.Articulo(); try { foreach (DataGridViewRow dr in grMovi.Rows) { if (!dr.IsNewRow) { string vProd = dr.Cells["Producto"].EditedFormattedValue.ToString(); string vDescripción = dr.Cells["Descripción"].EditedFormattedValue.ToString(); string vCan = dr.Cells["Cantidad"].EditedFormattedValue.ToString(); string vAUbi = dr.Cells["AUbi"].EditedFormattedValue.ToString(); string vDbi = dr.Cells["DUbi"].EditedFormattedValue.ToString(); string vLote = dr.Cells["Lote"].EditedFormattedValue.ToString(); string vOFL = dr.Cells["OFL"].EditedFormattedValue.ToString(); string vDoc = dr.Cells["Documento"].EditedFormattedValue.ToString(); string vWhere = " Empresa = " + cParamXml.Emp + " and Almacen = 'Principal' and Producto = N'" + vProd + "'"; vWhere += " and Ubi = '" + vDbi + "' and Lote='" + vLote + "' and OFL='" + vOFL + "'"; string vCanSt = cUtil.fncTraeCampo("Cantidad", "GC_Ind_ProductoUbiCanLoteOFL", vWhere, "", cParamXml.strConecProduc_Prueb, "SQL", true); decimal vdCansT = Convert.ToDecimal(vCanSt); decimal vdCan = Convert.ToDecimal(vCan); if (vdCan > vdCansT) { MessageBox.Show("La cantidad a sacar es superior al stock"); return(vOk); } //Movimiento de salida oMov.fncAlta(cParamXml.Emp, "Salida", DateTime.Now, DateTime.Now, cParamXml.AlmacenMat, vProd, vDescripción, "-" + vCan, vDoc, vOFL, vDbi, vLote); //Movimiento de entrada oMov.fncAlta(cParamXml.Emp, "Entrada", DateTime.Now, DateTime.Now, cParamXml.AlmacenMat, vProd, vDescripción, vCan, vDoc, "", vAUbi, vLote); } } vOk = true; } catch { } return(vOk); }
private bool fncEntregar(string vProducto, string vUbi, string vLote, decimal vCan, string vCajas, string vOFL) { bool vOk = false; using (SqlConnection dbConec = new SqlConnection(cParamXml.strConecProduc_Prueb)) { dbConec.Open(); SqlTransaction dbTr = dbConec.BeginTransaction(); try { //Damos de alta la cabecera cAlbaranesVenta.CabAlb oCabAlb = new cAlbaranesVenta.CabAlb(); int vNumAlb = 0; if (oCabAlb.fncAltaCab(oCab, "S", dbConec, dbTr, ref vNumAlb)) { //Damos de alta la linea cAlbaranesVenta.LinAlb oLinAlb = new cAlbaranesVenta.LinAlb(); oLinAlb.Empresa = cParamXml.Emp; oLinAlb.NumAlb = vNumAlb; oLinAlb.Producto = vProd; oLinAlb.Descripción = txDesProd.Text; oLinAlb.Cantidad = vCan; string vLoteOfl = vLote; if (vOFL != "") { vLoteOfl += " | " + vOFL; } oLinAlb.Lote = vLoteOfl; oLinAlb.Cajas = vCajas; oLinAlb.Impresiones = 0; oLinAlb.NumPrep = vNumPrep; if (oLinAlb.fncAltaLin(dbConec, dbTr)) { //Grabamos la cantridad entregada de la preparación if (cEntregas.LinPrepEntregas.fncMasCantidadServida(cParamXml.Emp.ToString(), vNumPrep, vLin, vCan.ToString(), dbConec, dbTr)) { //Si la entrega es de un pedido de modifica la cantidad entregada del pedido if (vNumPed != 0) { if (!cPedidosVenta.LinVenta.fncMasCantidadServida(cParamXml.Emp.ToString(), vNumPed, vLinPed, vCan.ToString(), dbConec, dbTr)) { return(vOk); } } //Movimientos de Producto cMovimientos.Articulo oMov = new cMovimientos.Articulo(); decimal vdCan = vCan * -1; if (oMov.fncAlta(cParamXml.Emp, "Salida", DateTime.Now, DateTime.Now, cParamXml.AlmacenMat, vProd, txDesProd.Text, vdCan.ToString(), vNumPrep.ToString(), vOFL, vUbi, vLote)) { vOk = true; } } } } //Descactivamos las cajas seleccionadas if ((vCajas != "") & (vOFL != "")) { string[] vmCajas = vCajas.Split(','); for (int i = 0; i < vmCajas.Length; i++) { string vSql = ""; string vTabla = " GC_OrdenProdCajas"; string vCampo = "Entregada"; string vWhere = " IdOF = '" + vOFL + "' AND (NumCajaBolsa = " + vmCajas[i] + ")"; vSql = cConstantes.SQL_UP_Update; vSql = vSql.Replace("[?1]", "[" + vCampo + "]"); vSql = vSql.Replace("[?2]", "1"); vSql = vSql.Replace("[?3]", vWhere); vSql = vSql.Replace("[?99]", vTabla); int viOk = SQLDataAccess.GEN_ExecuteNonQuery(vSql, cParamXml.strConecProduc_Prueb); } } } catch {} if (vOk) { //Al terminar correctamente los cambios se graban dbTr.Commit(); vOk = true; } else { //Al terminar con error se revierten los cambios dbTr.Rollback(); vOk = false; } } return(vOk); }
private bool fncTerminarOFL(string vLote, string vUbiPie, string vLotePie) { bool vOk = true; ////Recorro la lista de la OFL a Cerrar foreach (DataGridViewRow dr in grOFL.Rows) { string vOFL = dr.Cells["IdOF"].Value.ToString(); if (vOFL == txOF.Text) { string vTodas = " and (GC_OrdenProd.IdOF = '" + vOFL + "') "; string vSql = cConstantes.SQL_Terminar_OF; vSql = vSql.Replace("[?vbCr]", cConstantes.vbCtr.ToString()); vSql = vSql.Replace("[?vbLf]", cConstantes.vbLF.ToString()); vSql = vSql.Replace("[?Emp]", cParamXml.Emp.ToString()); vSql = vSql.Replace("[?Todas]", vTodas); DataTable dt = SQLDataAccess.Trae(vSql, cUtil.SQLConec(cParamXml.strConec)); string vProd = dt.Rows[0]["Articulo"].ToString(); string vMat = dt.Rows[0]["Material"].ToString(); string vSob = dt.Rows[0]["PiezasNoOk"].ToString(); string vUbi = dt.Rows[0]["Ubi"].ToString(); string vCanFab = dt.Rows[0]["CantidadFab"].ToString(); //string vProd = dr.Cells["Articulo"].Value.ToString(); //string vMat = dr.Cells["Material"].Value.ToString(); //string vSob = dr.Cells["PiezasNoOk"].Value.ToString(); //string vUbi = dr.Cells["Ubi"].Value.ToString(); //string vCanFab = dr.Cells["CantidadFab"].Value.ToString(); cMovimientos.Articulo oMov = new cMovimientos.Articulo(); SqlConnection dbConec = new SqlConnection(cParamXml.strConec); dbConec.Open(); SqlTransaction dbTr = dbConec.BeginTransaction(); try { //Movimientos de la cantidad sobrante decimal vdSob = Convert.ToDecimal(vSob); vSql = cConstantes.SQL_Produc_Pie_Produc_Lote_OF; vSql = vSql.Replace("[?vbCr]", cConstantes.vbCtr.ToString()); vSql = vSql.Replace("[?vbLf]", cConstantes.vbLF.ToString()); vSql = vSql.Replace("[?Emp]", cParamXml.Emp.ToString()); vSql = vSql.Replace("[?OF]", vOFL); vSql = vSql.Replace("[?Compo]", vMat); DataTable dtc = SQLDataAccess.Trae(vSql, cUtil.SQLConec(cParamXml.strConec)); vSql = cConstantes.SQL_Produc_Pie_Fab_Lote_OF; vSql = vSql.Replace("[?vbCr]", cConstantes.vbCtr.ToString()); vSql = vSql.Replace("[?vbLf]", cConstantes.vbLF.ToString()); vSql = vSql.Replace("[?Emp]", cParamXml.Emp.ToString()); vSql = vSql.Replace("[?OF]", vOFL); vSql = vSql.Replace("[?Prod]", vProd); DataTable dtp = SQLDataAccess.Trae(vSql, cUtil.SQLConec(cParamXml.strConec)); if (vOk) { decimal vdCanMat = vdSob * -1; foreach (DataRow drc in dtc.Rows) { string vLotec = drc["Lote"].ToString(); string vCans = drc["Cantidad"].ToString(); decimal vdCans = Convert.ToDecimal(vCans); vdCanMat = vdCans * -1; vOk = oMov.fncAlta(cParamXml.Emp, "Salida", DateTime.Now, DateTime.Now, cParamXml.AlmacenMat, vMat, "", vdCanMat.ToString(), vProd, vOFL, "PRODUC", vLotec, dbConec, dbTr); if (!vOk) { break; } } } if (vOk) { vOk = oMov.fncAlta(cParamXml.Emp, "Entrada", DateTime.Now, DateTime.Now, cParamXml.AlmacenMat, vMat, "", vdSob.ToString(), vProd, "", vUbi, vLote, dbConec, dbTr); } //Movimientos de las Piezas decimal vdPiezas = Convert.ToDecimal(vCanFab); if (vOk) { decimal vdCanPie = vdPiezas * -1; vdPiezas = 0; foreach (DataRow drc in dtp.Rows) { string vLotep = drc["Lote"].ToString(); string vCans = drc["Cantidad"].ToString(); decimal vdCanp = Convert.ToDecimal(vCans); vdCanPie = vdCanp * -1; oMov.fncAlta(cParamXml.Emp, "Salida", DateTime.Now, DateTime.Now, cParamXml.AlmacenMat, vProd, "", vdCanPie.ToString(), vOFL, vOFL, "FAB", vLotep, dbConec, dbTr); vdPiezas += vdCanPie * -1; if (!vOk) { break; } } } if (vOk) { oMov.fncAlta(cParamXml.Emp, "Entrada", DateTime.Now, DateTime.Now, cParamXml.AlmacenMat, vProd, "", vdPiezas.ToString(), "", vOFL, vUbiPie, vLotePie, dbConec, dbTr); } } catch { vOk = false; } if (vOk) { //Al terminar correctamente los cambios se graban dbTr.Commit(); dbConec.Close(); dbConec.Dispose(); cProduc.OF.fncCambiarEstado(cParamXml.Emp.ToString(), txOF.Text, "Terminada"); sbrCargar(); } else { //Al terminar con error se revierten los cambios dbTr.Rollback(); dbConec.Close(); dbConec.Dispose(); } } } return(vOk); }
private bool fncGrabar() { bool vOk = false; try { cMovimientos.Articulo cArticulo = new cMovimientos.Articulo(); foreach (DataGridViewRow dr in grMovi.Rows) { if (!dr.IsNewRow) { string vProd = dr.Cells["Producto"].Value.ToString(); string vCan = dr.Cells["Cantidad"].Value.ToString(); decimal vdCan = Convert.ToDecimal(vCan); string vUbi = (dr.Cells["Ubi"].Value != null) ? dr.Cells["Ubi"].Value.ToString():""; string vLote = (dr.Cells["Lote"].Value != null) ? dr.Cells["Lote"].Value.ToString():""; string vDoc = (dr.Cells["Documento"].Value != null) ? dr.Cells["Documento"].Value.ToString():""; string vOFL = (dr.Cells["OFL"].Value != null) ? dr.Cells["OFL"].Value.ToString():""; string vDes = (dr.Cells["Descripción"].Value != null) ? dr.Cells["Descripción"].Value.ToString():""; try { string vTipo = "Entrada"; if (vdCan < 0) { vTipo = "Salida"; } //Crear movimientos de producto y materia prima cMovimientos.Articulo oMov = new cMovimientos.Articulo(); //Movimiento de producto oMov.fncAlta(cParamXml.Emp, vTipo, DateTime.Now, DateTime.Now, cParamXml.AlmacenMat, vProd, vDes, vCan, vDoc, vOFL, vUbi, vLote); } catch (Exception ex) { string vEr = ex.Message; } } } //cMovimientos.Articulo cArticulo = new cMovimientos.Articulo(); //foreach (DataGridViewRow dr in grMovi.Rows) //{ // if (!dr.IsNewRow) // { // bool vOk2= cArticulo.fncAlta(dr); // if (vOk2) // { // //dr.Cells["Sel"].Value = false; // } // } //} vOk = true; } catch (Exception ex) { string vEr = ex.Message; } return(vOk); }
private void sbrGrabaMovCli() { if (cParamXml.ActCli == "False") { return; } tiProces.Enabled = false; lbMen.Text = "Grabando Movimientos de Cliente"; Application.DoEvents(); DataTable dt = new DataTable(); string vSql = cConstantes.SQL_AlbVenta_Pend; vSql = vSql.Replace("[?vbCr]", cConstantes.vbCtr.ToString()); vSql = vSql.Replace("[?vbLf]", cConstantes.vbLF.ToString()); vSql = vSql.Replace("[?Emp]", cParamXml.Emp.ToString()); vSql = vSql.Replace("[?Grabado]", "= 0 "); dt = SQLDataAccess.Trae(vSql, cUtil.SQLConec(cParamXml.strConecProduc_Prueb)); cAlbaranesVenta.LinAlbVenta oLinAlb = new cAlbaranesVenta.LinAlbVenta(); foreach (DataRow dr in dt.Rows) { string vNumAlb = dr["NumAlb"].ToString(); string vNumPed = dr["NumPed"].ToString(); string vProd = dr["Producto"].ToString(); string vNomProd = dr["Descripción"].ToString(); string vCan = dr["Cantidad"].ToString(); string vLote = dr["Lote"].ToString(); int vId = Convert.ToInt32(dr["Id"].ToString()); if (vCan == "") { vCan = "0"; } decimal vCanEnt = Convert.ToDecimal(vCan); oLinAlb.Id = vId; //Busco el Producto en anexos string vWhere = " Empresa = " + cParamXml.Emp + " and Producto = N'" + vProd + "'"; string vProdAnex = cUtil.fncTraeCampo("Producto", "GC_ProductoAnexos", vWhere, "", cParamXml.strConecProduc_Prueb, "SQL", true); if (vProdAnex == "***Inex***") { oLinAlb.fncGrabaCampo("Grabado", "12"); } else { //Crear movimientos de producto y materia prima cMovimientos.Articulo oMov = new cMovimientos.Articulo(); //Movimiento de producto if (vCanEnt == 0) { oLinAlb.fncGrabaCampo("Grabado", "13"); } else if (oMov.fncAlta(cParamXml.Emp, "Salida", DateTime.Now, DateTime.Now, cParamXml.AlmacenMat, vProd, vNomProd, ("-" + vCan), vNumAlb, "", "", vLote)) { oLinAlb.fncGrabaCampo("Grabado", "1"); } else { oLinAlb.fncGrabaCampo("Grabado", "11"); } } } lbMen.Text = ""; Application.DoEvents(); tiProces.Enabled = true; }
private void sbrGrabaMov() { if (cParamXml.ActProv == "False") { return; } tiProces.Enabled = false; lbMen.Text = "Grabando Movimientos de Proveedor"; Application.DoEvents(); DataTable dt = new DataTable(); string vSql = cConstantes.SQL_AlbCompra_Pend; vSql = vSql.Replace("[?vbCr]", cConstantes.vbCtr.ToString()); vSql = vSql.Replace("[?vbLf]", cConstantes.vbLF.ToString()); vSql = vSql.Replace("[?Emp]", cParamXml.Emp.ToString()); vSql = vSql.Replace("[?Grabado]", "= 0 "); dt = SQLDataAccess.Trae(vSql, cUtil.SQLConec(cParamXml.strConecProduc_Prueb)); cAlbaranesCompra.LinAlbCompra oLinAlb = new cAlbaranesCompra.LinAlbCompra(); foreach (DataRow dr in dt.Rows) { string vNumAlb = dr["NumAlb"].ToString(); string vLinAlb = dr["Linea"].ToString(); string vNumPed = dr["NumPed"].ToString(); string vProd = dr["Producto"].ToString(); string vNomProd = dr["Descripción"].ToString(); string vCan = dr["Cantidad"].ToString(); string vLote = dr["Lote"].ToString(); string vRecep = dr["RecepcionadoPor"].ToString(); string vCert = dr["Cert"].ToString(); string vUbi = dr["Ubi"].ToString(); string vSerie = dr["NumSerie"].ToString(); int vId = Convert.ToInt32(dr["Id"].ToString()); if (vCan == "") { vCan = "0"; } decimal vCanEnt = Convert.ToDecimal(vCan); oLinAlb.Id = vId; if (vCert == "") { oLinAlb.fncGrabaCampo("Grabado", "14"); lbMen.Text = ""; Application.DoEvents(); tiProces.Enabled = true; return; } if (vLote == "") { oLinAlb.fncGrabaCampo("Grabado", "15"); lbMen.Text = ""; Application.DoEvents(); tiProces.Enabled = true; return; } //if (vRecep == "") //{ // oLinAlb.fncGrabaCampo("Grabado", "16"); // lbMen.Text = ""; // Application.DoEvents(); // tiProces.Enabled = true; // return; //} //Busco el Producto en anexos string vWhere = " Empresa = " + cParamXml.Emp + " and Producto = N'" + vProd + "'"; string vProdAnex = cUtil.fncTraeCampo("Producto", "GC_ProductoAnexos", vWhere, "", cParamXml.strConecProduc_Prueb, "SQL", true); if (vProdAnex == "***Inex***") { oLinAlb.fncGrabaCampo("Grabado", "12"); } else { //Crear movimientos de producto y materia prima cMovimientos.Articulo oMov = new cMovimientos.Articulo(); cProductoLote oPL = new cProductoLote(); //Movimiento de producto if (oMov.fncAlta(cParamXml.Emp, "Entrada", DateTime.Now, DateTime.Now, cParamXml.AlmacenMat, vProd, vNomProd, vCan, vNumAlb, "", vUbi, vLote)) { oLinAlb.fncGrabaCampo("Grabado", "1"); string vNumSer = vSerie; if (vNumSer == "") { vNumSer = SQLDataAccess.GenTraeNumSerie("ProductoLote", true, cParamXml.strConec); } oPL.fncAlta(cParamXml.Emp, vNumSer, vProd, vLote, vNumAlb, Convert.ToInt32(vLinAlb)); } else { oLinAlb.fncGrabaCampo("Grabado", "11"); } } } lbMen.Text = ""; Application.DoEvents(); tiProces.Enabled = true; }
private bool fncElimEntregar(string vReg) { //_Res += ID + "#" +vAlb + "#" + vLin + "#" + vIdOF + "#" + vCaja + "#" + vCan + "#" + vLote + "|"; bool vOk = false; cEntregas.LinPrepEntregas linp = (cEntregas.LinPrepEntregas)bS2.Current; int vNumPrep = linp.NumPrep; int vLinPrep = linp.LinPrep; string vsNumPed = linp.PedLocal; if (vsNumPed == "") { vsNumPed = "0"; } int vNumPed = Convert.ToInt32(vsNumPed); int vLinPed = linp.LinPedLocal; string vProd = linp.Producto; using (SqlConnection dbConec = new SqlConnection(cParamXml.strConecProduc_Prueb)) { dbConec.Open(); SqlTransaction dbTr = dbConec.BeginTransaction(); try { string[] vmReg = vReg.Split('|'); for (int i = 0; i < vmReg.Length; i++) { string vR = vmReg[i].ToString(); if (vR.Length < 2) { break; } string[] vmR = vR.Split('#'); int vID = Convert.ToInt32(vmR[0].ToString()); string vOFL = vmR[3].ToString(); string vCajas = vmR[4].ToString(); string vCan = vmR[5].ToString(); string vLote = vmR[6].ToString(); string vUbi = cMovimientos.Articulo.fncTraeUbi(cParamXml.Emp, vNumPrep.ToString(), vProd, "Salida", "-" + vCan, vLote); int vNumAlb = 0; //Damos de Baja la linea cAlbaranesVenta.LinAlb oLinAlb = new cAlbaranesVenta.LinAlb(); if (oLinAlb.fncBaja(vID, dbConec, dbTr)) { //Grabamos la cantridad entregada de la preparación if (cEntregas.LinPrepEntregas.fncMenosCantidadServida(cParamXml.Emp.ToString(), vNumPrep, vLinPrep, vCan.ToString(), dbConec, dbTr)) { //Si la entrega es de un pedido de modifica la cantidad entregada del pedido if (vNumPed != 0) { if (!cPedidosVenta.LinVenta.fncMenosCantidadServida(cParamXml.Emp.ToString(), vNumPed, vLinPed, vCan.ToString(), dbConec, dbTr)) { return(vOk); } } //Movimientos de Producto cMovimientos.Articulo oMov = new cMovimientos.Articulo(); if (oMov.fncAlta(cParamXml.Emp, "Entrada", DateTime.Now, DateTime.Now, cParamXml.AlmacenMat, vProd, txDesProd.Text, vCan.ToString(), vNumPrep.ToString(), vOFL, vUbi, vLote)) { vOk = true; } } } //Descactivamos las cajas seleccionadas if ((vCajas != "") & (vOFL != "")) { string[] vmCajas = vCajas.Split(','); for (int i2 = 0; i2 < vmCajas.Length; i2++) { string vSql = ""; string vTabla = " GC_OrdenProdCajas"; string vCampo = "Entregada"; string vWhere = " IdOF = '" + vOFL.Trim() + "' AND (NumCajaBolsa = " + vmCajas[i2] + ")"; vSql = cConstantes.SQL_UP_Update; vSql = vSql.Replace("[?1]", "[" + vCampo + "]"); vSql = vSql.Replace("[?2]", "0"); vSql = vSql.Replace("[?3]", vWhere); vSql = vSql.Replace("[?99]", vTabla); int viOk = SQLDataAccess.GEN_ExecuteNonQuery(vSql, cParamXml.strConecProduc_Prueb); } } } } catch { vOk = false; } if (vOk) { //Al terminar correctamente los cambios se graban dbTr.Commit(); vOk = true; } else { //Al terminar con error se revierten los cambios dbTr.Rollback(); vOk = false; } } return(vOk); }