diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb index 30c4cce4f..16b8b8e09 100644 --- a/Ventas/Ventas.aspx.vb +++ b/Ventas/Ventas.aspx.vb @@ -9054,69 +9054,66 @@ Partial Class Ventas GvPS.DataSource = TmpDT DtInv = TmpDT.Copy.FiltraParametros("CveTipoPS = 2") GvPS.DataBind() - - If UsuarioActual.TienePermisoProceso(253) Then - GvPS.Rows(e.NewEditIndex).FCTextBox("TxtPrecio").Enabled = True - End If + Dim gvr As GridViewRow = GvPS.Rows(e.NewEditIndex) If UsuarioActual.Empresa.Funcionalidad(558) = "1" Then - GvPS.Rows(e.NewEditIndex).FCDropDownList("DdlUnidadMedida").Enabled = False - GvPS.Rows(e.NewEditIndex).FCDropDownList("DdlClasificacion").Enabled = False + gvr.FCDropDownList("DdlUnidadMedida").Enabled = False + gvr.FCDropDownList("DdlClasificacion").Enabled = False End If 'SI ES LLANTERA NO DEBE BLOQUEAR EL TEXTBOX - If GvPS.Rows(e.NewEditIndex).DataKey("CvePromocionDetalle").ToString().ToEntero() > 0 AndAlso (Not UsuarioActual.Empresa.Funcionalidad(558) = "1") Then - GvPS.Rows(e.NewEditIndex).FCTextBox("TxtDescuento").Enabled = False - GvPS.Rows(e.NewEditIndex).FCTextBox("TxtDescuento").ToolTip = "No se puede editar el descuento porque viene de una promoción" + If gvr.DataKey("CvePromocionDetalle").ToString().ToEntero() > 0 AndAlso (Not UsuarioActual.Empresa.Funcionalidad(558) = "1") Then + gvr.FCTextBox("TxtDescuento").Enabled = False + gvr.FCTextBox("TxtDescuento").ToolTip = "No se puede editar el descuento porque viene de una promoción" End If If Me.CveVenta > 0 AndAlso UsuarioActual.CveEmpresa = 119 AndAlso DdlTipoComprobante.SelectedValue.Contiene("Ing", "Rem", "Cot") Then - GvPS.Rows(e.NewEditIndex).FCTextBox("TxtDescuento").Enabled = False + gvr.FCTextBox("TxtDescuento").Enabled = False End If If CveVenta > 0 AndAlso UsuarioActual.Empresa.Funcionalidad(531) = "1" Then - GvPS.Rows(e.NewEditIndex).FCTextBox("TxtCantidad").Enabled = False + gvr.FCTextBox("TxtCantidad").Enabled = False - GvPS.Rows(e.NewEditIndex).FCDropDownList("DdlUnidadMedida").Enabled = False - GvPS.Rows(e.NewEditIndex).FCDropDownLost("DdlPS").Enabled = False - GvPS.Rows(e.NewEditIndex).FCDropDownLost("DdlPS").ddlWS.Attributes.Add("disabled", "disabled") - GvPS.Rows(e.NewEditIndex).FCDropDownList("DdlUnidadMedida").Enabled = False - GvPS.Rows(e.NewEditIndex).FCDropDownList("DdlClasificacion").Enabled = False - GvPS.Rows(e.NewEditIndex).FCDropDownList("DdlProyecto").Enabled = False - GvPS.Rows(e.NewEditIndex).FCDropDownList("DdlSubProyecto").Enabled = False + gvr.FCDropDownList("DdlUnidadMedida").Enabled = False + gvr.FCDropDownLost("DdlPS").Enabled = False + gvr.FCDropDownLost("DdlPS").ddlWS.Attributes.Add("disabled", "disabled") + gvr.FCDropDownList("DdlUnidadMedida").Enabled = False + gvr.FCDropDownList("DdlClasificacion").Enabled = False + gvr.FCDropDownList("DdlProyecto").Enabled = False + gvr.FCDropDownList("DdlSubProyecto").Enabled = False - GvPS.Rows(e.NewEditIndex).FCTextBox("TxtObsPS").Enabled = True - GvPS.Rows(e.NewEditIndex).FCTextBox("TxtPrecio").Enabled = False - GvPS.Rows(e.NewEditIndex).FCTextBox("TxtDescuento").Enabled = False + gvr.FCTextBox("TxtObsPS").Enabled = True + gvr.FCTextBox("TxtPrecio").Enabled = False + gvr.FCTextBox("TxtDescuento").Enabled = False End If If (CveVenta <= 0 OrElse EsCreaApartirDe) AndAlso UsuarioActual.Empresa.Funcionalidad(531) = "1" Then Try - If GvPS.Rows(e.NewEditIndex).DataKey("CvePrecioLista").ToString().ToEntero() > 0 Then - GvPS.Rows(e.NewEditIndex).FCTextBox("TxtPrecio").Enabled = False + If gvr.DataKey("CvePrecioLista").ToString().ToEntero() > 0 Then + gvr.FCTextBox("TxtPrecio").Enabled = False End If Catch ex As Exception End Try - GvPS.Rows(e.NewEditIndex).FCTextBox("TxtDescuento").Enabled = False + gvr.FCTextBox("TxtDescuento").Enabled = False End If If EsVentaMedica Then - GvPS.Rows(e.NewEditIndex).FCTextBox("TxtPrecio").Enabled = False + gvr.FCTextBox("TxtPrecio").Enabled = False If DdlTipoComprobante.SelectedValue = "Cot" Or RBLTipoVenta.SelectedValue.ToEntero = 2 Then - GvPS.Rows(e.NewEditIndex).FCTextBox("TxtPrecio").Enabled = True + gvr.FCTextBox("TxtPrecio").Enabled = True End If End If If CveCicloComercial > 0 Then - For Each gvr As GridViewRow In GvContratoDetalles.Rows - If gvr.RowType = DataControlRowType.DataRow Then - If gvr.DataKey("Cantidad").ToString().ToDecimal() = GvPS.Rows(e.NewEditIndex).DataKey("Cantidad").ToString().ToDecimal() AndAlso gvr.DataKey("CvePS").ToString().ToEntero() = GvPS.Rows(e.NewEditIndex).DataKey("CvePS").ToString().ToEntero() Then - If gvr.DataKey("LimitarCantidad").ToString() = "False" Then - GvPS.Rows(e.NewEditIndex).FCTextBox("TxtCantidad").Enabled = True + For Each gvrcd As GridViewRow In GvContratoDetalles.Rows + If gvrcd.RowType = DataControlRowType.DataRow Then + If gvrcd.DataKey("Cantidad").ToString().ToDecimal() = gvr.DataKey("Cantidad").ToString().ToDecimal() AndAlso gvrcd.DataKey("CvePS").ToString().ToEntero() = gvr.DataKey("CvePS").ToString().ToEntero() Then + If gvrcd.DataKey("LimitarCantidad").ToString() = "False" Then + gvr.FCTextBox("TxtCantidad").Enabled = True Exit For End If End If @@ -9126,16 +9123,15 @@ Partial Class Ventas End If If UsuarioActual.CveEmpresa = 189 Then - Dim DrPS = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=TmpDT.Rows(e.NewEditIndex)("CvePS").ToString().ToEntero()).FiltroPrimero("") + Dim DrPS = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CvePS:=TmpDT.Rows(e.NewEditIndex)("CvePS").ToString().ToEntero()).FiltroPrimero("") - If CBool(DrPS("PrecioLibre")) Then - GvPS.Rows(e.NewEditIndex).FCTextBox("TxtPrecio").Enabled = True - Else - GvPS.Rows(e.NewEditIndex).FCTextBox("TxtPrecio").Enabled = False + If DrPS IsNot Nothing Then + gvr.FCTextBox("TxtPrecio").Enabled = CBool(DrPS("PrecioLibre")) End If - End If + If UsuarioActual.TienePermisoProceso(253) Then gvr.FCTextBox("TxtPrecio").Enabled = True + UpPS.Update() End Sub @@ -18318,9 +18314,11 @@ Partial Class Ventas DdlUnidadMedida.DataBind() DdlUnidadMedida.SelectedValueExist(drPS("CveUnidadMedida").ToString()) + If UsuarioActual.TienePermisoProceso(253) Then TxtPrecio.Enabled = True + If EsVentaMedica Then TxtPrecio.Enabled = False - If UsuarioActual.CveUsuario = 3986 Or RBLTipoVenta.SelectedValue.ToEntero = 2 Then + If UsuarioActual.CveUsuario = 3986 OrElse RBLTipoVenta.SelectedValue = "2" Then TxtPrecio.Enabled = True End If @@ -18339,11 +18337,7 @@ Partial Class Ventas End If End If - - - Dim PSCodigoSAT As String = drPS("SATClavePS").ToString - - If UsuarioActual.TienePermisoProceso(68) AndAlso Not PSCodigoSAT.Contiene("84111506", "80141610") Then TxtPrecio.Enabled = False + If UsuarioActual.TienePermisoProceso(68) AndAlso Not drPS("SATClavePS").ToString.Contiene("84111506", "80141610") Then TxtPrecio.Enabled = False If TmpDT IsNot Nothing AndAlso TmpDT.Rows.Count = 0 AndAlso Not ChkEmitirComercioExterior.Checked Then DdlMoneda.SelectedValueExist(drPS("CveMoneda").ToString()) @@ -18355,7 +18349,6 @@ Partial Class Ventas Dim tPrecioSugerido As Decimal = 0 tPrecioSugerido = drPS("Precio").ToString().ToDecimal Dim ObjPrecioSugerido As Modelos.MPrecioSugerido = CalculaPrecioSugerido(CvePSParametro, drPS("CveClasificacion").ToString().ToEntero()) - PrecioSugerido = ObjPrecioSugerido.PrecioSugerido If ObjPrecioSugerido.CvePrecioLista > 0 AndAlso DivPrecioLista.Visible Then @@ -18397,14 +18390,10 @@ Partial Class Ventas If Not CBool(drPS("PrecioLibre")) Then Alert("No se encontraron listas de precio disponibles", TipoMensaje.MsgAdvertencia) End If - End If - End If End If - End If - End If If UsuarioActual.CveEmpresa = 189 Then @@ -18423,6 +18412,7 @@ Partial Class Ventas TxtPrecio.Enabled = CBool(drPS("PrecioLibre")) End If End If + If UsuarioActual.TienePermisoProceso(253) Then TxtPrecio.Enabled = True 'permiso para activar los precios If PrecioSugerido <= 0 Then PrecioSugerido = tPrecioSugerido @@ -18488,17 +18478,32 @@ Partial Class Ventas thCosto.Visible = True thCosto2.Visible = True - Dim ObjInventarios As New ClsInventarios + If UsuarioActual.Empresa.Funcionalidad(602) = "UC" Then 'validación sobre el último costo + Dim ObjInventarios As New ClsInventarios + If ObjInventarios.GetUltimoCosto(UsuarioActual.CveEmpresa, CvePSParametro) Then + Dim dr As DataRow = ObjInventarios.DtResultados.FiltroPrimero("") + If dr IsNot Nothing Then + Costo = dr("UltimoCosto").ToString.ToDecimal + End If + End If + ObjInventarios.Dispose() + Else + Dim ObjInventarios As New ClsInventarios + Costo = ObjInventarios.GetCostoPS(CvePSParametro, TxtCantidad.Text.Trim.ToDecimal, -1, "-1", TxtFecha.Text.ToDate, DdlSubProyectoDatos.SelectedValue.ToEntero(), CveTipoAlmacen:=1) + 'si el costo es cero, puede ser que no halla movimientos del producto, en esa sucursal. y se volverá a sacar sin especificar sucursal + If Costo <= 0 Then Costo = ObjInventarios.GetCostoPS(CvePSParametro, TxtCantidad.Text.Trim.ToDecimal, -1, "-1", TxtFecha.Text.ToDate, -1, CveTipoAlmacen:=1) + ObjInventarios.Dispose() + End If - Costo = ObjInventarios.GetCostoPS(CvePSParametro, TxtCantidad.Text.Trim.ToDecimal, -1, "-1", TxtFecha.Text.ToDate, DdlSubProyectoDatos.SelectedValue.ToEntero(), CveTipoAlmacen:=1) - 'si el costo es cero, puede ser que no halla movimientos del producto, en esa sucursal. y se volverá a sacar sin especificar sucursal - If Costo <= 0 Then Costo = ObjInventarios.GetCostoPS(CvePSParametro, TxtCantidad.Text.Trim.ToDecimal, -1, "-1", TxtFecha.Text.ToDate, -1, CveTipoAlmacen:=1) - - ObjInventarios.Dispose() + 'RMF código temporal. GDiaz. cliente DICA 7% + If CveCliente = 1555244 Then + PrecioSugerido = Costo * 1.07D + TxtPrecio.Text = PrecioSugerido.ToString("#,##0.####") + End If If Costo > 0 Then If TxtPrecio.Text.ToDecimal() > 0 Then - Dim PorUtilidad = String.Format("{0:N2} %", ((TxtPrecio.Text.ToDecimal() - Costo) / TxtPrecio.Text.ToDecimal()) * 100D) + Dim PorUtilidad = String.Format("{0:N2} %", ((TxtPrecio.Text.ToDecimal() - Costo) / Costo) * 100D) LtlHeaderCosto.Text = String.Format("{0:N2}
{1}", Costo, PorUtilidad) End If End If @@ -19599,7 +19604,7 @@ Partial Class Ventas objPS.Dispose() End If - Dim ValidaExistencia As Boolean = (DdlTipoComprobante.SelectedValue <> "Cot" And ChkSinExistencia.Checked = False) Or UsuarioActual.Empresa.Funcionalidad(578).ToEntero = 1 + Dim ValidaExistencia As Boolean = (DdlTipoComprobante.SelectedValue <> "Cot" And ChkSinExistencia.Checked = False) OrElse UsuarioActual.Empresa.Funcionalidad(578).ToEntero = 1 If CantidadOriginal > 0 Then 'SI NO HAY CAMBIOS EN LAS CANTIDADES, NO VALIDAR EXISTENCIA @@ -19673,6 +19678,9 @@ Partial Class Ventas End If Dim VerificarCostos As Boolean = True + If CveCliente = 1555244 Then ' GDIAZ - DICA + VerificarCostos = False + End If If ObjDescuento IsNot Nothing Then If ObjDescuento.CvePromocionDetalle > 0 Then VerificarCostos = False @@ -19755,8 +19763,6 @@ Partial Class Ventas End If End If End If - - End If End If