protected void Grabar_Factura(Object Sender, EventArgs E) { //Primero debemos revisar que se haya digitado una cantidad de dias valida if (DatasToControls.ValidarInt(diasPlazo.Text)) { if (System.Convert.ToInt32(diasPlazo.Text) > 0) { FacturaCliente miFacturaCliente = new FacturaCliente("FG", prefFact.Text, nitCSAEX.Text, almacen.SelectedValue, "F", Convert.ToUInt32(numFact.Text), Convert.ToUInt32(diasPlazo.Text), Convert.ToDateTime(fechFactura.Text), Convert.ToDateTime(fechFactura.Text).AddDays(Convert.ToInt32(diasPlazo.Text)), Convert.ToDateTime(null), Convert.ToDouble(totalApro.Text.Substring(1)), Convert.ToDouble(totalIva.Text.Substring(1)), 0, 0, 0, 0, centCostos.SelectedValue, obsrv.Text, DBFunctions.SingleData("SELECT pven_codigo FROM ccartera"), HttpContext.Current.User.Identity.Name.ToLower(), null); miFacturaCliente.SqlRels = ArmarDetalles(); //Ahora creamos nuestro objeto de tipo FacturaGarantias if (miFacturaCliente.GrabarFacturaCliente(true)) { Response.Redirect("" + indexPage + "?process=Automotriz.GarantiasAprobadas&prefF=" + miFacturaCliente.PrefijoFactura + "&numF=" + miFacturaCliente.NumeroFactura + ""); } //lb.Text += miFacturaCliente.ProcessMsg; else { lb.Text += miFacturaCliente.ProcessMsg; } } else { Utils.MostrarAlerta(Response, "Valor de dias de plazo no puede ser negativo. Revise por favor"); } } else { Utils.MostrarAlerta(Response, "Valor de dias de plazo no valido. Revise por favor"); } }
private bool ValidarFecha() { //Si la fecha es invalida if (!DatasToControls.ValidarDateTime(fecha.Text)) { return(false); } //Si los dias de plazo son invalidos o menores a cero else if (!DatasToControls.ValidarInt(tbdiasPlazo.Text) || Convert.ToInt32(tbdiasPlazo.Text) < 0) { return(false); } //Si la fecha de la factura es menor a la fecha de vencimiento (fecha de factura mas dias de plazo) else if (Convert.ToDateTime(fecha.Text) > (Convert.ToDateTime(fecha.Text).AddDays(Convert.ToInt32(tbdiasPlazo.Text)))) { return(false); } else // La fecha del documento NO puede ser menor a la veigencia contable if (String.Compare(fecha.Text.Substring(0, 7), DBFunctions.SingleData("SELECT CASE WHEN PMES_MES <10 THEN PANO_ANO||'-0'||PMES_MES ELSE PANO_ANO||'-'||PMES_MES END FROM CCONTABILIDAD")) < 0) { return(false); } else { DateTime fechaA = Convert.ToDateTime(fecha.Text); return(DBFunctions.RecordExist("SELECT PANO_ANO FROM PANO WHERE PANO_ANO=" + fechaA.Year + ";")); } }
protected void Agregar_Estatica(Object Sender, EventArgs e) { //Primero revisamos si ya existe una fila en esta posicion DataRow[] selection = dtFilas.Select("POSICION='" + posRep1.SelectedValue + "' AND ORDEN='" + ordPrs1.Text + "'"); if (selection.Length > 0) { Utils.MostrarAlerta(Response, "Ya Existe una fila en esta posición"); } else { if (DatasToControls.ValidarInt(ordPrs1.Text)) { DataRow fila = dtFilas.NewRow(); fila[0] = posRep1.SelectedValue; fila[1] = ordPrs1.Text; fila[2] = alin1.SelectedValue; fila[3] = text1.Text; fila[4] = rdOpc.SelectedValue; fila[5] = ""; dtFilas.Rows.Add(fila); this.Bind_dgFilas(); this.Reiniciar_Controles_Estaticas(); } else { Utils.MostrarAlerta(Response, "Orden de Presentación No Valida. Revisar Por Favor "); } } }
protected void AgregarFilaNiv2(object Sender, EventArgs E) { string nombreFila = ""; //revisamos si se ha digitado un nombre de fila if (tbNomFil.Text != "") { nombreFila = tbNomFil.Text; } else { int cantidadFilas = dtUbicaciones.Rows.Count; char val = (char)(65 + cantidadFilas); nombreFila = val.ToString(); } if (!DatasToControls.ValidarInt(tbDivCeldas.Text.Trim())) { Utils.MostrarAlerta(Response, "El valor de cajones es invalida revise por favor!"); return; } int cantidadCajones = Convert.ToInt32(tbDivCeldas.Text.Trim()); if (cantidadCajones < 1) { Utils.MostrarAlerta(Response, "El valor de cajones es invalida revise por favor!"); return; } //Ahora Debemos crear las ubicaciones de acuerdo a el numero de cajones bool error = false; for (int i = 1; i <= cantidadCajones; i++) { string almacen = DBFunctions.SingleData("SELECT palm_almacen FROM pubicacionitem WHERE pubi_codigo=(SELECT pubi_codpad FROM pubicacionitem WHERE pubi_codigo=" + codigoUbicacion + ")"); string nombreUbic = DBFunctions.SingleData("SELECT trim(PUBI_NOMBRE) FROM pubicacionitem WHERE pubi_codigo=" + codigoUbicacion + " "); //Debemos revisar que no exista ninguna ubicacion dentro de una ubicacion de nivel2 con la ubicacionespacial repetida if (!DBFunctions.RecordExist("SELECT * FROM pubicacionitem WHERE pubi_codpad=" + codigoUbicacion + " AND pubi_ubicespacial LIKE '" + (dtUbicaciones.Rows.Count + 1) + "-" + i + "'")) { if (cantidadCajones > 1) { nombreUbic += nombreFila + "-" + i; } else { nombreUbic += nombreFila; } if (DBFunctions.NonQuery("INSERT INTO pubicacionitem (pubi_codigo, pubi_nombre, pubi_codpad, pubi_ubicespacial, palm_almacen) VALUES(DEFAULT ,'" + nombreUbic + "'," + codigoUbicacion + ",'" + (dtUbicaciones.Rows.Count + 1) + "-" + i + "','" + almacen + "')") != 1) { lb.Text += "<br>Error " + DBFunctions.exceptions; error = true; } } } //Si no existio ningun error en la creacion de la nueva fila redireccionamos asi mismo if (!error) { Response.Redirect(indexPage + "?process=Inventarios.CfgUbicaciones&codUbi=" + codigoUbicacion); } }
protected void Aceptar_Conf1(Object Sender, EventArgs e) { bool error = false; if (tipDato.Text == "BIGINT" || tipDato.Text == "INTEGER" || tipDato.Text == "SMALLINT" || tipDato.Text == "DATE" || tipDato.Text == "TIME") { if (!DatasToControls.ValidarInt(vlrConst.Text)) { error = true; } } else if (tipDato.Text == "DECIMAL" || tipDato.Text == "DOUBLE" || tipDato.Text == "REAL") { if (!DatasToControls.ValidarDouble(vlrConst.Text)) { error = true; } } if (!error) { DataRow fila = dtOpers.NewRow(); if (chkSpace.Checked) { fila[0] = "nbsp"; } else { if (tipDato.Text == "VARCHAR" || tipDato.Text == "CHARACTER" || tipDato.Text == "LONG VARCHAR" || tipDato.Text == "CHAR") { fila[0] = "'" + vlrConst.Text + "'"; } else { fila[0] = vlrConst.Text; } } fila[1] = ddlOper2.SelectedValue; fila[2] = ""; fila[3] = ""; dtOpers.Rows.Add(fila); this.Bind_dgOpers(); confConst.Visible = false; this.Acciones_Controles_Configuracion(true); vlrConst.Text = ""; } else { Response.Write("<script language:javascript>alert('El valor de la constante no es compatible con el tipo de dato');</script>"); } }
public void DgListaEmpaqueUpdate(Object sender, DataGridCommandEventArgs e) { if (DatasToControls.ValidarInt(((TextBox)e.Item.Cells[3].Controls[0]).Text)) { int cantidad = Convert.ToInt32(((TextBox)e.Item.Cells[3].Controls[0]).Text); int cantidadInicial = Convert.ToInt32(dtListaEmpaque.Rows[e.Item.ItemIndex][9]); int cantidadPendiente = Convert.ToInt32(dtListaEmpaque.Rows[e.Item.ItemIndex][6]); int cantidadDisponible = Convert.ToInt32(dtListaEmpaque.Rows[e.Item.ItemIndex][7]); if (cantidad > 0) { DataRow[] selection = dtListaEmpaque.Select("CODIGOORIGINAL ='" + dtListaEmpaque.Rows[e.Item.ItemIndex][0] + "'"); for (int i = 0; i < selection.Length; i++) { if (selection[i][3].ToString().Trim() != dtListaEmpaque.Rows[e.Item.ItemIndex][3].ToString().Trim()) { int varianteDisponibilidad = Convert.ToInt32(selection[i][8]) - Convert.ToInt32(selection[i][9]); cantidadDisponible += (varianteDisponibilidad * (-1)); } } if ((cantidad - cantidadInicial) > cantidadDisponible) { Utils.MostrarAlerta(Response, "No hay disponibilidad suficiente para este ajuste.\\nCantidad Disponible : " + cantidadDisponible + ""); } else { if ((cantidad - cantidadInicial) > cantidadPendiente) { Utils.MostrarAlerta(Response, "Esta empacando mas de la cantidad pedida!"); } if (cantidad < 0) { cantidad = 0; } dtListaEmpaque.Rows[e.Item.ItemIndex][8] = cantidad; dtListaEmpaque.Rows[e.Item.ItemIndex][6] = Convert.ToInt32(dtListaEmpaque.Rows[e.Item.ItemIndex][6]) + ((cantidad - cantidadInicial) * (-1)); } } else { Utils.MostrarAlerta(Response, "No se puede asignar un valor menor o igual a 0!"); } } else { Utils.MostrarAlerta(Response, "La cantidad ingresada no es valida!"); } dgListaEmpaque.EditItemIndex = -1; BindDgListaEmpaque(); }
protected void AgregarFilaNiv2(object Sender, EventArgs E) { string nombreFila = ""; //revisamos si se ha digitado un nombre de fila if (tbNomFil.Text != "") { nombreFila = tbNomFil.Text; } else { int cantidadFilas = dtUbicaciones.Rows.Count; char val = (char)(65 + cantidadFilas); nombreFila = val.ToString(); } if (!DatasToControls.ValidarInt(tbDivCeldas.Text.Trim())) { Response.Write("<script language='javascript'>alert('El valor de cajones es invalida revise por favor!');</script>"); return; } int cantidadCajones = Convert.ToInt32(tbDivCeldas.Text.Trim()); if (cantidadCajones < 1) { Response.Write("<script language='javascript'>alert('El valor de cajones es invalida revise por favor!');</script>"); return; } //Ahora Debemos crear las ubicaciones de acuerdo a el numero de cajones bool error = false; for (int i = 1; i <= cantidadCajones; i++) { string almacen = DBFunctions.SingleData("SELECT palm_almacen FROM pubicacionitem WHERE pubi_codigo=(SELECT pubi_codpad FROM pubicacionitem WHERE pubi_codigo=" + codigoUbicacion + ")"); //Debemos revisar que no exista ninguna ubicacion dentro de una ubicacion de nivel2 con la ubicacionespacial repetida if (!DBFunctions.RecordExist("SELECT * FROM pubicacionitem WHERE pubi_codpad=" + codigoUbicacion + " AND pubi_ubicespacial LIKE '" + (dtUbicaciones.Rows.Count + 1) + "-" + i + "'")) { if (DBFunctions.NonQuery("INSERT INTO pubicacionitem VALUES(DEFAULT," + codigoUbicacion + ",'" + nombreFila + "-" + i + "','" + (dtUbicaciones.Rows.Count + 1) + "-" + i + "','" + almacen + "')") != 1) { lb.Text += "<br>Error " + DBFunctions.exceptions; error = true; } } } //Si no existio ningun error en la creacion de la nueva fila redireccionamos asi mismo if (!error) { Response.Redirect("AMS.Web.ModalDialogUbicacionesIFrame.aspx?tipProc=" + tipoProceso + "&codAlma=" + this.ddlAlmacen.SelectedValue + "&codItem=" + codItem + "&codOri=" + codOriginal + "&codUbicacion=" + codigoUbicacion); } }
protected void Aceptar_Dinamica(Object Sender, EventArgs e) { //Primero revisamos si existe algun valor en el textbox de resultados de la configuracion if (tbResultado.Text != "") { DataRow[] selection = dtFilas.Select("POSICION='" + posRep2.SelectedValue + "' AND ORDEN='" + ordPrs2.Text + "'"); if (selection.Length > 0) { Utils.MostrarAlerta(Response, "Ya Existe una fila en esta posición"); } else { if (DatasToControls.ValidarInt(ordPrs2.Text)) { string [] results = tbResultado.Text.Split('@'); DataRow fila = dtFilas.NewRow(); fila[0] = posRep2.SelectedValue; fila[1] = ordPrs2.Text; fila[2] = alin2.SelectedValue; if (text2.Text != "") { fila[3] = text2.Text + "&" + this.Preparar_Select(Request.QueryString["sql"], results[0], results[1]); } //lb.Text +="<br>" +this.Preparar_Select(Request.QueryString["sql"],results[0],results[1]); else { fila[3] = this.Preparar_Select(Request.QueryString["sql"], results[0], results[1]); } fila[4] = ""; fila[5] = results[1]; dtFilas.Rows.Add(fila); this.Bind_dgFilas(); this.Reiniciar_Controles_Estaticas(); tbResultado.Text = ""; } else { Utils.MostrarAlerta(Response, "Orden de Presentación No Valida. Revisar Por Favor"); } } } else { Utils.MostrarAlerta(Response, "No se ha configurado el valor de esta fila dinamica. Revisar Por Favor"); } }
protected void Aceptar_Filtro(Object Sender, EventArgs e) { //Debemos traer el tipo de dato que se ha seleccionad string tipoDato = DBFunctions.SingleData("SELECT coltype FROM sysibm.syscolumns WHERE name='" + ddlCampos.SelectedValue + "' AND tbname='" + ddlTablas.SelectedValue + "'").Trim(); bool validacion = true; //Si el tipo de dato es bigint, integer o smallint debo comprobar que sea compatible if (tipoDato == "BIGINT" || tipoDato == "INTEGER" || tipoDato == "SMALLINT") { validacion = DatasToControls.ValidarInt(vlCmp.Text); } else if (tipoDato == "DECIMAL" || tipoDato == "DOUBLE" || tipoDato == "REAL") { validacion = DatasToControls.ValidarDouble(vlCmp.Text); } else if (tipoDato == "DATE" || tipoDato == "TIME") { validacion = DatasToControls.ValidarDateTime(vlCmp.Text); } if (validacion) { DataRow fila = dtFltrRpt.NewRow(); fila[0] = ddlTablas.SelectedValue; fila[1] = ddlCampos.SelectedValue; fila[2] = oprCmp.SelectedValue; fila[3] = vlCmp.Text; fila[4] = tipoDato; dtFltrRpt.Rows.Add(fila); Bind_dgFltrRpt(); Accion_Controles_Seleccion1(true); confCondi.Visible = false; vlCmp.Text = ""; btnAptFn.Visible = true; } else { Utils.MostrarAlerta(Response, "Valor no valido para este filtro"); } }
protected void gridRtns_Item(object Sender, DataGridCommandEventArgs e) { int i, Porcentaje = 0; DatasToControls paramas = new DatasToControls(); //DataRow fila; if (((Button)e.CommandSource).CommandName == "AgregarCentroCosto") { //Response.Write("<script language:javascript>alert('Solo puede haber una retención de ese tipo');</script>"); if ((((TextBox)e.Item.Cells[2].Controls[1]).Text == "")) { Utils.MostrarAlerta(Response, "Debe ingresar un Centro de Costo"); } else if ((((TextBox)e.Item.Cells[3].Controls[1]).Text == "")) { Utils.MostrarAlerta(Response, "Debe ingresar un Porcentaje"); } else if ((((TextBox)e.Item.Cells[1].Controls[1]).Text == "")) { Utils.MostrarAlerta(Response, "Debe ingresar un Almacen"); } else { if (Session["tablaRtns"] == null) { this.Cargar_Tabla_Rtns(); } //Averiguar cuanto porcentaje tengo en tabla for (i = 0; i < tablaRtns.Rows.Count; i++) { Porcentaje += int.Parse(tablaRtns.Rows[i][3].ToString()); } //Validar que sea un entero if (DatasToControls.ValidarInt("" + ((TextBox)e.Item.Cells[3].Controls[1]).Text + "")) { Porcentaje += Convert.ToInt32(((TextBox)e.Item.Cells[3].Controls[1]).Text); if (Porcentaje > 100) { Utils.MostrarAlerta(Response, "Supero el maximo permitido 100%"); } else { DataRow fila = tablaRtns.NewRow(); fila["CODEMP"] = DDLEMPLEADO.SelectedValue; fila["ALMACEN"] = ((TextBox)e.Item.Cells[1].Controls[1]).Text; fila["CENTROCOSTO"] = ((TextBox)e.Item.Cells[2].Controls[1]).Text; fila["PORC"] = Convert.ToInt32(((TextBox)e.Item.Cells[3].Controls[1]).Text); tablaRtns.Rows.Add(fila); gridRtns.DataSource = tablaRtns; gridRtns.DataBind(); Session["tablaRtns"] = tablaRtns; } } else { Utils.MostrarAlerta(Response, "Los valores ingresados no pueden ser decimales, porfavor corrija"); } //Response.Write("<script language:javascript>alert('Porcentaje "+Porcentaje+"');</script>"); } } else if (((Button)e.CommandSource).CommandName == "RemoverCentroCosto") { Porcentaje -= Convert.ToInt32(tablaRtns.Rows[e.Item.DataSetIndex]["PORC"]); tablaRtns.Rows[e.Item.DataSetIndex].Delete(); Utils.MostrarAlerta(Response, "Atencion:Si elige guardar este dato sera borrado."); gridRtns.DataSource = tablaRtns; gridRtns.DataBind(); Session["tablaRtns"] = tablaRtns; } }
protected bool Validar_Datos(DataGridCommandEventArgs e) { bool error = false; //Si hay algun campo en blanco o no son validos los valores... if ((((TextBox)e.Item.Cells[0].Controls[1]).Text == "") || (((TextBox)e.Item.Cells[1].Controls[1]).Text == "") || (((TextBox)e.Item.Cells[2].Controls[1]).Text == "") || (((TextBox)e.Item.Cells[3].Controls[1]).Text == "") || (((TextBox)e.Item.Cells[4].Controls[1]).Text == "") || (!DatasToControls.ValidarInt(((TextBox)e.Item.Cells[5].Controls[1]).Text)) || (((TextBox)e.Item.Cells[6].Controls[1]).Text == "") || (!DatasToControls.ValidarDouble(((TextBox)e.Item.Cells[7].Controls[1]).Text)) || (!DatasToControls.ValidarDouble(((TextBox)e.Item.Cells[8].Controls[1]).Text)) || (!DatasToControls.ValidarDouble(((TextBox)e.Item.Cells[9].Controls[1]).Text))) { Utils.MostrarAlerta(Response, "Falta un Campo por Llenar o las entradas son Invalidos. Revisa tus Datos"); error = true; } //Si en los dos campos valor Debito y valor Credito hay un valor distinto de cero else if (((((TextBox)e.Item.Cells[7].Controls[1]).Text != "0") && (((TextBox)e.Item.Cells[8].Controls[1]).Text != "0"))) { Utils.MostrarAlerta(Response, "Uno de los campos Valor Debito o Valor Credito debe tener un valor de 0. Revisa tus Datos"); error = true; } //Si en ninguno de los dos campos hay valor else if ((((((TextBox)e.Item.Cells[7].Controls[1]).Text == "0") && (((TextBox)e.Item.Cells[8].Controls[1]).Text == "0")))) { Utils.MostrarAlerta(Response, "Uno de los campos Valor Debito o Valor Credito debe tener valor. Revisa tus Datos"); error = true; } //Si ya se ingreso el prefijo y numero de documento de referencia else if (Buscar_Documento(((TextBox)e.Item.Cells[4].FindControl("cuentatxt")).Text, ((TextBox)e.Item.Cells[4].FindControl("prefijotxt")).Text, Convert.ToInt32(((TextBox)e.Item.Cells[4].FindControl("numdocutxt")).Text.ToString()), ((TextBox)e.Item.Cells[4].FindControl("edit_numero")).Text, ((TextBox)e.Item.Cells[4].FindControl("edit_sede")).Text, ((TextBox)e.Item.Cells[4].FindControl("centrocostotxt")).Text)) { Utils.MostrarAlerta(Response, "El prefijo y el número de documento de referencia ya fueron ingresados anteriormente"); error = true; } //Si el nit digitado no existe else if (!DBFunctions.RecordExist("SELECT mnit_nit FROM mnit WHERE mnit_nit='" + ((TextBox)e.Item.Cells[6].FindControl("numnittxt")).Text + "'")) { Utils.MostrarAlerta(Response, "El nit especificado no existe"); error = true; } //Si la cuenta digitada no existe o ES SOLO niif else if (!DBFunctions.RecordExist("SELECT mcue_codipuc FROM mcuenta WHERE mcue_codipuc='" + ((TextBox)e.Item.Cells[1].FindControl("cuentatxt")).Text + "' and timp_codigo in ('A','P') and tCUE_codigo IN ('F', 'G') ")) { Utils.MostrarAlerta(Response, "La cuenta especificada no existe o es NO Imputable o es solo NIIF o es solo Fiscal"); error = true; } return(error); }
protected bool Validar_Datos2(ArrayList arraySettingRow) { bool error = false; //Si hay algun campo en blanco o no son validos los valores... if ((arraySettingRow[0].ToString() == "") || (arraySettingRow[1].ToString() == "") || (arraySettingRow[2].ToString() == "") || (arraySettingRow[3].ToString() == "") || (arraySettingRow[4].ToString() == "") || (!DatasToControls.ValidarInt(arraySettingRow[5].ToString())) || (arraySettingRow[6].ToString() == "") || (!DatasToControls.ValidarDouble(arraySettingRow[7].ToString())) || (!DatasToControls.ValidarDouble(arraySettingRow[8].ToString())) || (!DatasToControls.ValidarDouble(arraySettingRow[9].ToString()))) { Utils.MostrarAlerta(Response, "Falta un Campo por Llenar o las entradas son Invalidos. Revisa tus Datos"); error = true; } //Si en los dos campos valor Debito y valor Credito hay un valor distinto de cero else if (((arraySettingRow[7].ToString() != "0") && (arraySettingRow[8].ToString() != "0"))) { Utils.MostrarAlerta(Response, "Uno de los campos Valor Debito o Valor Credito debe tener un valor de 0. Revisa tus Datos"); error = true; } //Si en ninguno de los dos campos hay valor else if ((((arraySettingRow[7].ToString() == "0") && (arraySettingRow[8].ToString() == "0")))) { Utils.MostrarAlerta(Response, "Uno de los campos Valor Debito o Valor Credito debe tener valor. Revisa tus Datos"); error = true; } //Si ya se ingreso el prefijo y numero de documento de referencia else if (Buscar_Documento(arraySettingRow[1].ToString(), arraySettingRow[4].ToString(), Convert.ToInt32(arraySettingRow[5].ToString()), arraySettingRow[6].ToString(), arraySettingRow[2].ToString(), arraySettingRow[3].ToString())) { Utils.MostrarAlerta(Response, "El prefijo y el número de documento de referencia ya fueron ingresados anteriormente"); error = true; } //Si el nit digitado no existe else if (!DBFunctions.RecordExist("SELECT mnit_nit FROM mnit WHERE mnit_nit='" + arraySettingRow[6].ToString() + "'")) { Utils.MostrarAlerta(Response, "El nit especificado no existe"); error = true; } //Si la cuenta digitada no existe else if (!DBFunctions.RecordExist("SELECT mcue_codipuc FROM mcuenta WHERE mcue_codipuc='" + arraySettingRow[1].ToString() + "' and timp_codigo in ('A','P') and tCUE_codigo IN ('F','G') ")) { Utils.MostrarAlerta(Response, "La cuenta especificada no existe o es NO Imputable o es solo Niif"); error = true; } //Si la sede no existe else if (!DBFunctions.RecordExist("SELECT palm_almacen FROM palmacen where (pcen_centcart is not null or pcen_centteso is not null) and palm_almacen='" + arraySettingRow[2].ToString() + "' order by palm_descripcion;")) { Utils.MostrarAlerta(Response, "La sede especificada no existe"); error = true; } //Si el centro de costo no existe else if (!DBFunctions.RecordExist("SELECT pcen_codigo AS Codigo FROM pcentrocosto where timp_codigo <> 'N' and pcen_codigo = '" + arraySettingRow[3].ToString() + "' order by 1;")) { Utils.MostrarAlerta(Response, "El centro de costo especificado no existe"); error = true; } return(error); }
protected void btnPreLiquidar_Click(object Sender, EventArgs e) { /*Función que cumple varias funciones, la primera de ellas es verificar que los valores ingresados * por intereses y dias de gracia, sean iguales a los que ya se encuentran en CCARTERA. La segunda * función es sacar de mfacturacliente, todas las facturas cuya fecha de vencimiento + los dias de * gracia, sea menor a la fecha actual, luego llamo otras funciones que explico en su debido cuerpo*/ double tasa = Convert.ToDouble(DBFunctions.SingleData("SELECT ccar_intmen FROM ccartera")); int diasGracia = Convert.ToInt32(DBFunctions.SingleData("SELECT ccar_diasgracia FROM ccartera")); DataRow fila; facturas = new ArrayList(); detalles = new ArrayList(); if (!cbNit.Checked) { if (!DatasToControls.ValidarDouble(tbTasa.Text) || (Convert.ToDouble(tbTasa.Text) > (5 * tasa))) { Utils.MostrarAlerta(Response, "Tasa de Interes Invalida"); } else if (!DatasToControls.ValidarInt(tbGracia.Text) || (Convert.ToInt32(tbGracia.Text) != diasGracia)) { Utils.MostrarAlerta(Response, "Los dias de gracia difieren del valor especificado en los parámetros de cartera.\\nSe tomara el valor inicialmente registrado en cartera"); tbGracia.Text = diasGracia.ToString(); } else { ds = new DataSet(); DBFunctions.Request(ds, IncludeSchema.NO, "SELECT pdoc_codigo,mfac_numedocu,mnit_nit,mfac_tipodocu,tvig_vigencia,mfac_vence,(mfac_valofact+mfac_valoiva+mfac_valoflet+mfac_valoivaflet-mfac_valorete-mfac_valoabon) AS Faltante,SUM(DAYS(CURRENT DATE)-DAYS(mfac_vence + " + diasGracia + " days)) FROM dbxschema.mfacturacliente WHERE tvig_vigencia IN('V','A') AND mfac_tipodocu IN('C','F','N','A','I') AND mfac_vence + " + diasGracia + " DAYS < CURRENT DATE AND (mfac_valofact+mfac_valoiva+mfac_valoflet+mfac_valoivaflet-mfac_valorete-mfac_valoabon) > 1 GROUP BY pdoc_codigo,mfac_numedocu,mnit_nit,mfac_tipodocu,tvig_vigencia,mfac_vence,(mfac_valofact+mfac_valoiva+mfac_valoflet+mfac_valoivaflet-mfac_valorete-mfac_valoabon) ORDER BY mnit_nit,pdoc_codigo,mfac_vence ASC"); //lb.Text+="SELECT pdoc_codigo,mfac_numedocu,mnit_nit,mfac_tipodocu,tvig_vigencia,mfac_vence,(mfac_valofact+mfac_valoiva+mfac_valoflet+mfac_valoivaflet-mfac_valorete-mfac_valoabon) AS Faltante,SUM(DAYS(CURRENT DATE)-DAYS(mfac_vence + "+diasGracia+" days)) FROM dbxschema.mfacturacliente WHERE tvig_vigencia IN('V','A') AND mfac_tipodocu IN('C','F','N','A','I') AND mfac_vence + "+diasGracia+" DAYS < CURRENT DATE AND (mfac_valofact+mfac_valoiva+mfac_valoflet+mfac_valoivaflet-mfac_valorete-mfac_valoabon) > 0 GROUP BY pdoc_codigo,mfac_numedocu,mnit_nit,mfac_tipodocu,tvig_vigencia,mfac_vence,(mfac_valofact+mfac_valoiva+mfac_valoflet+mfac_valoivaflet-mfac_valorete-mfac_valoabon) ORDER BY mnit_nit,pdoc_codigo,mfac_vence ASC <br>"; if (Session["dtMora"] == null) { this.Cargar_dtMora(); } if (ds.Tables[0].Rows.Count != 0) { for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { fila = dtMora.NewRow(); fila[0] = ds.Tables[0].Rows[i][0].ToString(); fila[1] = ds.Tables[0].Rows[i][1].ToString(); fila[2] = ds.Tables[0].Rows[i][2].ToString(); fila[3] = ds.Tables[0].Rows[i][3].ToString(); fila[4] = ds.Tables[0].Rows[i][4].ToString(); fila[5] = Convert.ToDateTime(ds.Tables[0].Rows[i][5]).ToString("yyyy-MM-dd"); fila[6] = Convert.ToDouble(ds.Tables[0].Rows[i][6]); fila[7] = ds.Tables[0].Rows[i][7].ToString(); dtMora.Rows.Add(fila); } Session["dtMora"] = dtMora; facturas = this.Cruzar_Documentos(ref dtMora); Session["cruces"] = facturas; lnbReporte.Visible = true; Llenar_dgPreLiq(); btnLiquidar.Visible = true; btnPreLiquidar.Enabled = false; } else { Utils.MostrarAlerta(Response, "No se encontraron facturas"); } } } else { if (!DatasToControls.ValidarDouble(tbTasa.Text) || (Convert.ToDouble(tbTasa.Text) > (5 * tasa))) { Utils.MostrarAlerta(Response, "Tasa de Interes Invalida"); } else if (!DatasToControls.ValidarInt(tbGracia.Text) || (Convert.ToInt32(tbGracia.Text) != diasGracia)) { Utils.MostrarAlerta(Response, "Los dias de gracia difieren del valor especificado en los parámetros de cartera.\\nSe tomara el valor inicialmente registrado en cartera"); tbGracia.Text = diasGracia.ToString(); } else { ds = new DataSet(); DBFunctions.Request(ds, IncludeSchema.NO, "SELECT pdoc_codigo,mfac_numedocu,mnit_nit,mfac_tipodocu,tvig_vigencia,mfac_vence,(mfac_valofact+mfac_valoiva+mfac_valoflet+mfac_valoivaflet-mfac_valorete-mfac_valoabon) AS Faltante,SUM(DAYS(CURRENT DATE)-DAYS(mfac_vence + " + diasGracia + " days)) FROM dbxschema.mfacturacliente WHERE tvig_vigencia IN('V','A') AND mfac_tipodocu IN('C','F','N','A','I') AND mfac_vence + " + diasGracia + " DAYS < CURRENT DATE AND (mfac_valofact+mfac_valoiva+mfac_valoflet+mfac_valoivaflet-mfac_valorete-mfac_valoabon) > 1 AND mnit_nit='" + tbNit.Text + "' GROUP BY pdoc_codigo,mfac_numedocu,mnit_nit,mfac_tipodocu,tvig_vigencia,mfac_vence,(mfac_valofact+mfac_valoiva+mfac_valoflet+mfac_valoivaflet-mfac_valorete-mfac_valoabon) ORDER BY mnit_nit,pdoc_codigo,mfac_vence ASC"); //lb.Text+="SELECT pdoc_codigo,mfac_numedocu,mnit_nit,mfac_tipodocu,tvig_vigencia,mfac_vence,(mfac_valofact+mfac_valoiva+mfac_valoflet+mfac_valoivaflet-mfac_valorete-mfac_valoabon) AS Faltante,SUM(DAYS(CURRENT DATE)-DAYS(mfac_vence + "+diasGracia+" days)) FROM dbxschema.mfacturacliente WHERE tvig_vigencia IN('V','A') AND mfac_tipodocu IN('C','F','N','A','I') AND mfac_vence + "+diasGracia+" DAYS < CURRENT DATE AND (mfac_valofact+mfac_valoiva+mfac_valoflet+mfac_valoivaflet-mfac_valorete-mfac_valoabon) > 0 GROUP BY pdoc_codigo,mfac_numedocu,mnit_nit,mfac_tipodocu,tvig_vigencia,mfac_vence,(mfac_valofact+mfac_valoiva+mfac_valoflet+mfac_valoivaflet-mfac_valorete-mfac_valoabon) ORDER BY mnit_nit,pdoc_codigo,mfac_vence ASC <br>"; if (Session["dtMora"] == null) { this.Cargar_dtMora(); } if (ds.Tables[0].Rows.Count != 0) { for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { fila = dtMora.NewRow(); fila[0] = ds.Tables[0].Rows[i][0].ToString(); fila[1] = ds.Tables[0].Rows[i][1].ToString(); fila[2] = ds.Tables[0].Rows[i][2].ToString(); fila[3] = ds.Tables[0].Rows[i][3].ToString(); fila[4] = ds.Tables[0].Rows[i][4].ToString(); fila[5] = Convert.ToDateTime(ds.Tables[0].Rows[i][5]).ToString("yyyy-MM-dd"); fila[6] = Convert.ToDouble(ds.Tables[0].Rows[i][6]); fila[7] = ds.Tables[0].Rows[i][7].ToString(); dtMora.Rows.Add(fila); } Session["dtMora"] = dtMora; facturas = this.Cruzar_Documentos(ref dtMora); Session["cruces"] = facturas; lnbReporte.Visible = true; Llenar_dgPreLiq(); btnLiquidar.Visible = true; btnPreLiquidar.Enabled = false; } else { Utils.MostrarAlerta(Response, "No se encontraron facturas para el nit especificado"); } } } }
protected void aceptar_Click(object Sender, EventArgs e) { //string valida = Tools.General.validarCierreFinanzas(fecha.Text, "C"); if (!Tools.General.validarCierreFinanzas(fecha.Text, "C")) { Utils.MostrarAlerta(Response, "La fecha del documento no corresponde a la vigencia del sistema de cartera. Por favor revise."); return; } Session.Remove("TIPO_COMPROBANTE"); Session["TIPO_COMPROBANTE"] = tipoRecibo.SelectedValue; if (Request.QueryString["tipo"] == "RC" && tipoRecibo.SelectedValue.Equals("F")) { verCredito = "visible"; if (ddlCredito.Items.Count == 0 || ddlCredito.SelectedValue.Length == 0) { Utils.MostrarAlerta(Response, "Debe seleccionar el crédito"); return; } } else { verCredito = "hidden"; } if (concepto.Text.Length < 10) { Utils.MostrarAlerta(Response, "El concepto es demasiado corto. Mínimo 10 caracteres"); } else if (!DatasToControls.ValidarInt(numeroRecibo.Text)) { Utils.MostrarAlerta(Response, "Número Invalido"); } else if (almacen.SelectedValue == "Seleccione...") { Utils.MostrarAlerta(Response, "Almacén NO Seleccionado !!!"); } else if (ddlFlujo.SelectedValue == "0") { Utils.MostrarAlerta(Response, "Flujo de Caja NO Seleccionado !!!"); } else if (datCli.Text == "") { Utils.MostrarAlerta(Response, "Nit NO Seleccionado !!!"); } else if (datBen.Text == "") { Utils.MostrarAlerta(Response, "Nit por Cuenta de NO Seleccionado !!!"); } else { prefijoRecibo.Enabled = false; tipoRecibo.Enabled = false; fecha.Enabled = false; if (Request.QueryString["cruce"] != null) { fecha.Enabled = true; } almacen.Enabled = false; numeroRecibo.ReadOnly = true; concepto.ReadOnly = true; aceptar.Enabled = false; datCli.Enabled = false; datBen.Enabled = false; ddlCredito.Enabled = false; ((HtmlInputHidden)documentos.FindControl("hdnCli")).Value = datCli.Text; ((HtmlInputHidden)documentos.FindControl("hdnBen")).Value = datBen.Text; ((HtmlInputHidden)varios.FindControl("hdncli")).Value = datCli.Text; ((HtmlInputHidden)varios.FindControl("hdnben")).Value = datBen.Text; controlNoCausados.Cargar_tablaNC(); controlNoCausados.Mostrar_gridNC(); //Recibos de Caja if (tipoRecibo.SelectedValue == "A") { //Anticipo a Taller ((PlaceHolder)padre.FindControl("phPagos")).Visible = true; ((ImageButton)padre.FindControl("btnPagos")).ImageUrl = "../img/AMS.BotonContraer.png"; ((ImageButton)padre.FindControl("btnPagos")).Enabled = true; ((DataGrid)controlPagos.FindControl("gridRtns")).Visible = false; ((Panel)controlPagos.FindControl("pnlPrefNot")).Visible = true; this.Esconder_Controles(); } else if (tipoRecibo.SelectedValue == "F" || tipoRecibo.SelectedValue == "I" || tipoRecibo.SelectedValue == "E" || tipoRecibo.SelectedValue == "O") { //Ingreso Definitivo if (Request.QueryString["tipo"] == "RC" || Request.QueryString["tipo"] == "CE") { bool existeMFC = DBFunctions.RecordExist("SELECT mnit_nit FROM mfacturacliente WHERE mnit_nit IN ('" + this.datBen.Text + "','" + this.datCli.Text + "') AND tvig_vigencia<>'C'"); bool existeMFP = DBFunctions.RecordExist("SELECT mnit_nit FROM mfacturaproveedor WHERE mnit_nit IN ('" + this.datBen.Text + "','" + this.datCli.Text + "') AND tvig_vigencia<>'C'"); if (tipoRecibo.SelectedValue != "O" && (existeMFC || existeMFP)) { if (datCli.Text != datBen.Text) { Utils.MostrarAlerta(Response, "Se cargaran los documentos para estos nits: " + this.datCli.Text + " y " + this.datBen.Text + ". Si no desea hacer abonos a documentos. Solo de click en el botón Aceptar"); } else { Utils.MostrarAlerta(Response, "Se cargaran los documentos para este nit: " + this.datCli.Text + ". Si no desea hacer abonos a documentos. Solo de click en el botón Aceptar"); } controlDocumentos.CargarGrillaDocumentos(); ((PlaceHolder)padre.FindControl("phDocumentos")).Visible = true; ((ImageButton)padre.FindControl("btnDocumentos")).ImageUrl = "../img/AMS.BotonContraer.png"; ((ImageButton)padre.FindControl("btnDocumentos")).Enabled = true; this.Esconder_Controles(); } else if (tipoRecibo.SelectedValue == "O" || (!existeMFC && !existeMFP)) { if (tipoRecibo.SelectedValue != "O") { Utils.MostrarAlerta(Response, "No existen documentos para el/los nit(s) especificado(s)"); } this.Esconder_Controles(); ((PlaceHolder)padre.FindControl("phNoCausados")).Visible = true; if (Session["TIPO_COMPROBANTE"].ToString().Equals("O")) { ((PlaceHolder)padre.FindControl("phCancelacionObligFin")).Visible = true; } ((ImageButton)padre.FindControl("btnNoCausados")).ImageUrl = "../img/AMS.BotonContraer.png"; ((ImageButton)padre.FindControl("btnNoCausados")).Enabled = true; } } else if (Request.QueryString["tipo"] == "RP") { ((PlaceHolder)padre.FindControl("phNoCausados")).Visible = true; ((ImageButton)padre.FindControl("btnNoCausados")).ImageUrl = "../img/AMS.BotonContraer.png"; ((ImageButton)padre.FindControl("btnNoCausados")).Enabled = true; //((PlaceHolder)padre.FindControl("phPagos")).Visible=true; //((ImageButton)padre.FindControl("btnPagos")).ImageUrl="../img/AMS.BotonContraer.png"; //((ImageButton)padre.FindControl("btnPagos")).Enabled=true; ((DataGrid)controlPagos.FindControl("gridRtns")).Visible = false; this.Esconder_Controles(); } } else if (tipoRecibo.SelectedValue == "P") { //Legalización de un provisional bool existeMCP = DBFunctions.RecordExist("SELECT ttip_codigo,pban_codigo,mcpag_numerodoc,mcpag_tipomoneda,mcpag_valor/mcpag_valortasacambio,mcpag_valortasacambio,mcpag_valorbase,mcpag_fecha,test_estado FROM mcajapago P,mcaja M,pdocumento D WHERE M.pdoc_codigo=P.pdoc_codigo AND M.mcaj_numero=P.mcaj_numero AND M.pdoc_codigo=D.pdoc_codigo AND (M.mnit_nit IN ('" + this.datCli.Text + "','" + this.datBen.Text + "') OR M.mnit_nitben IN ('" + this.datCli.Text + "','" + this.datBen.Text + "')) AND P.ttip_codigo='C' AND P.test_estado='C' AND D.tdoc_tipodocu='RP'"); if (existeMCP) { if (datCli.Text != datBen.Text) { Utils.MostrarAlerta(Response, "Se cargaran los documentos para estos nits: " + this.datCli.Text + " y " + this.datBen.Text + ". Si no desea hacer abonos a documentos. Solo de click en el botón Aceptar"); } else { Utils.MostrarAlerta(Response, "Se cargaran los documentos para este nit: " + this.datCli.Text + ". Si no desea hacer abonos a documentos. Solo de click en el botón Aceptar"); } controlDocumentos.CargarGrillaDocumentos(); ((PlaceHolder)padre.FindControl("phDocumentos")).Visible = true; ((ImageButton)padre.FindControl("btnDocumentos")).ImageUrl = "../img/AMS.BotonContraer.png"; ((ImageButton)padre.FindControl("btnDocumentos")).Enabled = true; this.Esconder_Controles(); } else { Utils.MostrarAlerta(Response, "No existen recibos provisionales para el/los nit(s) especificado(s)"); } } else if (tipoRecibo.SelectedValue == "R") { //Reconsignación Cheques Devueltos, solo documentos bool existeMCP = DBFunctions.RecordExist("SELECT ttip_codigo,pban_codigo,mcpag_numerodoc,mcpag_tipomoneda,mcpag_valor,mcpag_valortasacambio,mcpag_valorbase,mcpag_fecha FROM mcajapago P,mcaja M WHERE M.pdoc_codigo=P.pdoc_codigo AND (M.mnit_nit IN ('" + this.datCli.Text + "','" + this.datBen.Text + "') OR M.mnit_nitben IN ('" + this.datCli.Text + "','" + this.datBen.Text + "')) AND M.mcaj_numero=P.mcaj_numero AND ttip_codigo='C' AND test_estado='D'"); if (existeMCP) { if (datCli.Text != datBen.Text) { Utils.MostrarAlerta(Response, "Se cargaran los documentos para estos nits: " + this.datCli.Text + " y " + this.datBen.Text + ". Si no desea hacer abonos a documentos. Solo de click en el botón Aceptar"); } else { Utils.MostrarAlerta(Response, "Se cargaran los documentos para este nit: " + this.datCli.Text + ". Si no desea hacer abonos a documentos. Solo de click en el botón Aceptar"); } ((PlaceHolder)padre.FindControl("phDocumentos")).Visible = true; ((ImageButton)padre.FindControl("btnDocumentos")).ImageUrl = "../img/AMS.BotonContraer.png"; ((ImageButton)padre.FindControl("btnDocumentos")).Enabled = true; controlDocumentos.CargarGrillaDocumentos(); this.Esconder_Controles(); } else { Utils.MostrarAlerta(Response, "No existen cheques devueltos para el/los nit(s) especificado(s)"); } } else if (tipoRecibo.SelectedValue == "V") { //Anticipo a Vehiculos this.Esconder_Controles(); ((PlaceHolder)padre.FindControl("phVarios")).Visible = true; ((Label)padre.FindControl("lbVarios")).Text = "Anticipos a Vehiculos"; ((Panel)varios.FindControl("panelAbonos")).Visible = true; ((Panel)varios.FindControl("panelPost")).Visible = false; ((ImageButton)padre.FindControl("btnVarios")).ImageUrl = "../img/AMS.BotonContraer.png"; ((ImageButton)padre.FindControl("btnVarios")).Enabled = true; controlVarios.Llenar_GridAnticipos(); } else if (tipoRecibo.SelectedValue == "C") { //Actualizacion Prorrogas Cheques if (DBFunctions.RecordExist("SELECT P.ttip_codigo FROM mcajapago P,mcaja M WHERE M.pdoc_codigo=P.pdoc_codigo AND M.mcaj_numero=P.mcaj_numero AND (M.mnit_nit IN ('" + this.datCli.Text + "','" + this.datBen.Text + "') OR M.mnit_nitben IN ('" + this.datCli.Text + "','" + this.datBen.Text + "')) AND P.ttip_codigo='C'")) { ((PlaceHolder)padre.FindControl("phVarios")).Visible = true; ((Panel)varios.FindControl("panelAbonos")).Visible = false; ((Panel)varios.FindControl("panelPost")).Visible = true; ((Label)padre.FindControl("lbVarios")).Text = "Actualización de Prorrogas de Cheques"; ((ImageButton)padre.FindControl("btnVarios")).ImageUrl = "../img/AMS.BotonContraer.png"; ((ImageButton)padre.FindControl("btnVarios")).Enabled = true; ((DataGrid)controlPagos.FindControl("gridRtns")).Visible = false; controlVarios.Llenar_GrillaProrrogas(); this.Esconder_Controles(); } else { Utils.MostrarAlerta(Response, "No hay cheques para el/los nit(s) especificado(s)"); } } else if (tipoRecibo.SelectedValue == "D") { //Devolución Pedido Cliente if (DBFunctions.RecordExist("SELECT M.pdoc_codigo,M.mped_numepedi,SUM(M.mped_valounit - m.mped_valodesc), SUM(V.mant_valorecicaja) FROM mpedidovehiculo M,manticipovehiculo V WHERE M.pdoc_codigo=V.mped_codigo AND M.mped_numepedi=V.mped_numepedi AND M.mnit_nit IN ('" + this.datCli.Text + "','" + this.datBen.Text + "') AND TEST_TIPOESTA = 10 GROUP BY M.pdoc_codigo,M.mped_numepedi ")) { ((PlaceHolder)padre.FindControl("phVarios")).Visible = true; ((Panel)varios.FindControl("panelDevPed")).Visible = true; ((Label)padre.FindControl("lbVarios")).Text = "Devolución de Pedidos de Clientes"; controlVarios.Cargar_GrillaPedidosDevueltos(); ((ImageButton)padre.FindControl("btnVarios")).ImageUrl = "../img/AMS.BotonContraer.png"; ((ImageButton)padre.FindControl("btnVarios")).Enabled = true; ((DataGrid)controlPagos.FindControl("gridRtns")).Visible = false; this.Esconder_Controles(); } else { Utils.MostrarAlerta(Response, "No hay abonos a pedidos para el/los nit(s) especificado(s) o ESTAN ASIGNADOS ó YA ESTAN FACTURADOS "); } } else if (tipoRecibo.SelectedValue == "G") { //Anticipo General ((PlaceHolder)padre.FindControl("phPagos")).Visible = true; ((ImageButton)padre.FindControl("btnPagos")).ImageUrl = "../img/AMS.BotonContraer.png"; ((ImageButton)padre.FindControl("btnPagos")).Enabled = true; ((DataGrid)controlPagos.FindControl("gridRtns")).Visible = false; ((Panel)controlPagos.FindControl("pnlPrefNotPro")).Visible = true; this.Esconder_Controles(); } else if (tipoRecibo.SelectedValue == "S") { //Préstamo a Cliente ((PlaceHolder)padre.FindControl("phPagos")).Visible = true; ((ImageButton)padre.FindControl("btnPagos")).ImageUrl = "../img/AMS.BotonContraer.png"; ((ImageButton)padre.FindControl("btnPagos")).Enabled = true; ((DataGrid)controlPagos.FindControl("gridRtns")).Visible = false; ((Panel)controlPagos.FindControl("panelPrefijo")).Visible = true; this.Esconder_Controles(); } } }
protected void DgInserts_AddAndDel(object sender, DataGridCommandEventArgs e) { //Agreaga, elimina Item //Reiniciar if (((Button)e.CommandSource).CommandName == "ClearRows") { dtInserts.Rows.Clear(); } //AgregarItem if (((Button)e.CommandSource).CommandName == "AddDatasRow" && CheckValues(e)) { //Revisamos que los valores de documento de referencia sean validos if (this.ddlCodDoc.SelectedItem.Text != "Seleccione..." && this.txObservaciones.Text != "" && this.tbPrefDocRef.Text != "" && DatasToControls.ValidarInt(this.tbPrefNumRef.Text)) { if (((TextBox)e.Item.Cells[4].Controls[1]).Text.Trim() == "") { Utils.MostrarAlerta(Response, "El valor de la unidad no puede ir vacio, revise por favor.."); return; } ds = new DataSet(); string Icod = ""; string IcodEdit = ((TextBox)e.Item.Cells[0].Controls[1]).Text.Trim(); //Aqui revisamos que el codigo del item es valido bool estCod = Referencias.Guardar(IcodEdit, ref Icod, (((DropDownList)e.Item.Cells[2].Controls[1]).SelectedValue.Split('-'))[1]); double cantN = 0, valN = 0; //Valores y cantidades bool valsN = (((TextBox)e.Item.Cells[3].Controls[1]).Text.Length > 0); //Se dio cantidad? string AnoAct = DBFunctions.SingleData("SELECT pano_ano from cinventario"); //Año actual contabilidad if (valsN) { //Se dieron valores: try { cantN = Convert.ToDouble(((TextBox)e.Item.Cells[3].Controls[1]).Text); } catch { valsN = false; }; try { valN = Convert.ToDouble(((TextBox)e.Item.Cells[4].Controls[1]).Text); } catch {}; } if (estCod) { //Aqui revisamos si es un codigo de sustitución o no string icodTmp = Icod; if (!Referencias.RevisionSustitucion(ref Icod, (((DropDownList)e.Item.Cells[2].Controls[1]).SelectedValue.Split('-'))[0])) { Response.Write("<script language='javascript'>alert('El codigo " + IcodEdit + " no se encuentra registrado.\\nRevise Por Favor.!');</script>"); return; } string icodTmp2 = ""; Referencias.Editar(Icod, ref icodTmp2, (((DropDownList)e.Item.Cells[2].Controls[1]).SelectedValue.Split('-'))[1]); if (icodTmp != Icod) { Response.Write("<script language='javascript'>alert('El codigo " + IcodEdit + " ha sido sustituido.El codigo actual es " + icodTmp2 + "!');</script>"); } //Se dio codigo de item for (int i = 0; i < dtInserts.Rows.Count; i++) //Revisar que no este ya el item en la lista { if (icodTmp2 == dtInserts.Rows[i][0].ToString().Trim()) { BindDatas(); Response.Write("<script language='javascript'>alert('El item ya esta en la lista, intente actualizarlo!');</script>"); return; } } //Crear msaldoitem almacen si no existe if (!DBFunctions.RecordExist("SELECT * FROM msaldoitemalmacen WHERE mite_codigo = '" + Icod + "' AND PALM_ALMACEN='" + ddlAlmacen.SelectedItem.Value + "' AND PANO_ANO=" + AnoAct)) { ArrayList sqlL = new ArrayList(); sqlL.Add("insert into msaldoitemalmacen (mite_codigo,palm_almacen,pano_ano,msal_cantactual,msal_cantasig,msal_costprom,msal_costpromhist,msal_cantpendiente,msal_canttransito,msal_cantinveinic) values ('" + Icod + "','" + ddlAlmacen.SelectedItem.Value + "'," + AnoAct + ",0,0,0,0,0,0,0)"); DBFunctions.Transaction(sqlL); sqlL.Clear(); } //Traer datos del item DBFunctions.Request(ds, IncludeSchema.NO, "select mitems.mite_codigo, mitems.mite_nombre, msaldoitemalmacen.msal_cantasig, msaldoitemalmacen.msal_costprom, msaldoitemalmacen.msal_cantactual,mitems.plin_codigo from mitems,msaldoitemalmacen where mitems.mite_codigo=msaldoitemalmacen.mite_codigo and mitems.mite_codigo='" + Icod + "' and msaldoitemalmacen.PALM_ALMACEN='" + ddlAlmacen.SelectedItem.Value + "' AND msaldoitemalmacen.PANO_ANO=" + AnoAct); // 0 1 2 3 4 5 if (ds.Tables[0].Rows.Count > 0) { double cosP = Convert.ToDouble(ds.Tables[0].Rows[0][3]); //Costo promedio dr = dtInserts.NewRow(); string codList = ""; Referencias.Editar(ds.Tables[0].Rows[0][0].ToString(), ref codList, DBFunctions.SingleData("SELECT plin_tipo FROM plineaitem WHERE plin_codigo='" + ds.Tables[0].Rows[0][5].ToString() + "'")); dr[0] = codList; //Cod dr[1] = ds.Tables[0].Rows[0][1]; //Nombre if (cantN < 0) //Validar cantidad { if (Math.Abs(cantN) <= Convert.ToDouble(ds.Tables[0].Rows[0][4])) //Si la cantidad es <0 abs(cantidad) debe ser mayor que la cantidad actual /****Rta:Si la cantidad asignada para el ajuste (digitada en la grilla) es mayor que la cantidad actual del almacen le asigna 0, sino asigna la digitada { dr[2] = cantN; //Cantidad valida } else { dr[2] = 0; //No hay existencias } } else { dr[2] = cantN; //No entiendo si es mayor que 0 cero, lo asigna de una vez } //if(valsN && (valN>0))//ASIGNACION COSTO PROMEDIO Si es valido el valor digitado en la grilla celda 2 (cantidad) Y el valor unitario es mayor que cero if (valsN && (cantN > 0)) { dr[3] = valN; } else { dr[3] = cosP; //costo promedio Response.Write("<script language:javascript>alert('El ajuste es negativo por tanto se tomara el costo promedio como valor unidad');</script>"); } if (Convert.ToDouble(dr[2]) == 0) { if (cantN == 0) { Response.Write("<script language='javascript'>alert('La cantidad no puede ser 0!');</script>"); } else { Response.Write("<script language='javascript'>alert('No hay suficiente existencia!');</script>"); } return; } dr[4] = ds.Tables[0].Rows[0][4]; //cantactual dr[5] = Convert.ToDouble(dr[2]) * Convert.ToDouble(dr[3]); //total dr[6] = ds.Tables[0].Rows[0][5].ToString(); dtInserts.Rows.Add(dr); } } else { Response.Write("<script language='javascript'>alert('El codigo " + IcodEdit + " es invalido para la linea de bodega " + ((DropDownList)e.Item.Cells[2].Controls[1]).SelectedItem.Text + ".\\nRevise Por Favor!');</script>"); } } else { Response.Write("<script language='javascript'>alert('Error en datos: El Cod. Documento, la Observación o el Prefijo Documento Referencia estan vacios o el Número Documento Referencia no es numérico. Revise Por Favor');</script>"); } } //EliminarItem if (((Button)e.CommandSource).CommandName == "DelDatasRow") { try{ dtInserts.Rows.Remove(dtInserts.Rows[e.Item.ItemIndex]); } catch {} } ; BindDatas(); }