Пример #1
0
        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;
        }
Пример #2
0
        private void sbrProcesoCli()
        {
            if (cParamXml.ActCli == "False")
            {
                return;
            }

            tiProces.Enabled = false;
            lbMen.Text       = "Procesando Albaranes de Cliente";
            Application.DoEvents();
            DataTable dt = new DataTable();

            string vNumSerie = SQLDataAccess.GenTraeNumSerie(cParamXml.NSerOrdAlbCli, false, cParamXml.strConec);

            string vSql = cConstantes.SQL_Alb_Cli_Dbf;

            vSql = vSql.Replace("[?vbCr]", cConstantes.vbCtr.ToString());
            vSql = vSql.Replace("[?vbLf]", cConstantes.vbLF.ToString());
            vSql = vSql.Replace("[?NumAlb]", vNumSerie);

            try
            {
                dt = SQLDataAccess.TraeDBF(vSql, cUtil.DBFConec(cParamXml.strOleDBConecDbf));
                cAlbaranesVenta.LinAlbVenta oLinAlb = new cAlbaranesVenta.LinAlbVenta();

                foreach (DataRow dr in dt.Rows)
                {
                    string vNumAlb  = dr["nnumalb"].ToString();
                    string vNumPed  = dr["nnumped"].ToString();
                    string vProd    = dr["CREF"].ToString();
                    string vNomProd = dr["cdetalle"].ToString();
                    string vCan     = dr["NCANENT"].ToString();
                    string vFecha   = dr["DFecAlb"].ToString();
                    string vCli     = dr["ccodcli"].ToString();
                    string vNomCli  = cClientes.fncTraeC("cnomcli", vCli);
                    string vLote    = dr["cprop2"].ToString();
                    string vLinea   = dr["nlinea"].ToString();
                    if (vLinea == "")
                    {
                        vLinea = "0";
                    }
                    if (vCan == "")
                    {
                        vCan = "0";
                    }
                    decimal vCanEnt = Convert.ToDecimal(vCan);

                    oLinAlb.Empresa      = cParamXml.Emp;
                    oLinAlb.NumAlb       = vNumAlb;
                    oLinAlb.Linea        = Convert.ToInt16(vLinea);
                    oLinAlb.FechaEntrega = Convert.ToDateTime(vFecha);
                    oLinAlb.Producto     = vProd;
                    oLinAlb.Descripción  = vNomProd;
                    oLinAlb.CodCli       = vCli;
                    oLinAlb.NombreCli    = vNomCli;
                    oLinAlb.Cantidad     = vCanEnt;
                    oLinAlb.Lote         = vLote;
                    oLinAlb.Grabado      = 10;

                    if (oLinAlb.fncAltaLin())
                    {
                        SQLDataAccess.GenSetNumSerie(cParamXml.NSerOrdAlbCli, vNumAlb, cParamXml.strConec);
                    }
                }
            }
            catch (Exception ex)
            {
                lbError.Text = DateTime.Now.ToLongDateString() + "-- " + ex.Message;
            }


            lbMen.Text = "";
            Application.DoEvents();
            tiProces.Enabled = true;
        }