-- si es codigosat servicios de facturacion, active el pu, slatandose e l proceso
This commit is contained in:
@@ -14534,119 +14534,121 @@ Partial Class Ventas
|
|||||||
TxtPrecio.Enabled = True
|
TxtPrecio.Enabled = True
|
||||||
End If
|
End If
|
||||||
|
|
||||||
If UsuarioActual.TienePermisoProceso(68) Then TxtPrecio.Enabled = False
|
Dim PSCodigoSAT As String = drPS("SATClavePS").ToString
|
||||||
|
|
||||||
|
If UsuarioActual.TienePermisoProceso(68) AndAlso Not PSCodigoSAT.Contiene("84111506", "80141610") Then TxtPrecio.Enabled = False
|
||||||
|
|
||||||
If TmpDT IsNot Nothing AndAlso TmpDT.Rows.Count = 0 Then
|
If TmpDT IsNot Nothing AndAlso TmpDT.Rows.Count = 0 Then
|
||||||
DdlMoneda.SelectedValueExist(drPS("CveMoneda").ToString())
|
DdlMoneda.SelectedValueExist(drPS("CveMoneda").ToString())
|
||||||
CambiaMoneda()
|
CambiaMoneda()
|
||||||
End If
|
|
||||||
|
|
||||||
'SUGIERE PRECIO
|
|
||||||
Dim PrecioSugerido = 0.0
|
|
||||||
PrecioSugerido = drPS("Precio").ToString().ToDouble
|
|
||||||
|
|
||||||
If UsuarioActual.CveEmpresa.Contiene(1) Then
|
|
||||||
Dim ObjPS As New ClsProductosServicios
|
|
||||||
If ObjPS.GetPorcentajeProductos(CveCliente) Then
|
|
||||||
Dim PrecioAplicado = ObjPS.DtResultados.FiltraParametros($"CvePS = {CvePSParametro}").FiltroPrimeroValor("PrecioA").ToDouble
|
|
||||||
If PrecioAplicado > 0 Then
|
|
||||||
PrecioSugerido = PrecioAplicado
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
ObjPS.Dispose()
|
|
||||||
End If
|
|
||||||
|
|
||||||
If UsuarioActual.Empresa.Funcionalidad(404).ToEntero > 0 Then 'cuando el valor es 10.- secuencia Cliente/Sucursal, 20 - sucursal/cliente
|
|
||||||
Dim TipoPrecioLista As Integer = UsuarioActual.Empresa.Funcionalidad(404).ToEntero
|
|
||||||
' si es 10. primero el cliente
|
|
||||||
Dim CvePrecioListaPS As Integer
|
|
||||||
Dim PorcentajePrecio As Double = 0
|
|
||||||
|
|
||||||
If TipoPrecioLista = 10 Then
|
|
||||||
|
|
||||||
CvePrecioListaPS = GlobalDTCliente(UsuarioActual.CveEmpresa, Estatus:=-1, CveCliente:=CveCliente).FiltroPrimeroValor("CvePrecioLista").ToEntero()
|
|
||||||
If CvePrecioListaPS <= 0 Then
|
|
||||||
|
|
||||||
CvePrecioListaPS = GlobalDTSubProyectos(-1, CveSubProyecto:=DdlSubProyectoDatos.SelectedValue.ToEntero(), CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimeroValor("CvePrecioLista", "").ToEntero()
|
|
||||||
|
|
||||||
End If
|
|
||||||
|
|
||||||
Else
|
|
||||||
|
|
||||||
CvePrecioListaPS = GlobalDTSubProyectos(-1, CveSubProyecto:=DdlSubProyectoDatos.SelectedValue.ToEntero(), CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimeroValor("CvePrecioLista", "").ToEntero()
|
|
||||||
If CvePrecioListaPS <= 0 Then
|
|
||||||
|
|
||||||
CvePrecioListaPS = GlobalDTCliente(UsuarioActual.CveEmpresa, Estatus:=-1, CveCliente:=CveCliente).FiltroPrimeroValor("CvePrecioLista").ToEntero()
|
|
||||||
|
|
||||||
End If
|
|
||||||
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
If CvePrecioListaPS > 0 Then
|
'SUGIERE PRECIO
|
||||||
|
Dim PrecioSugerido = 0.0
|
||||||
|
PrecioSugerido = drPS("Precio").ToString().ToDouble
|
||||||
|
|
||||||
|
If UsuarioActual.CveEmpresa.Contiene(1) Then
|
||||||
Dim ObjPS As New ClsProductosServicios
|
Dim ObjPS As New ClsProductosServicios
|
||||||
If ObjPS.GetPSPreciosLista(UsuarioActual.CveEmpresa, CvePrecioListaPS, CvePS:=CvePSParametro) Then
|
If ObjPS.GetPorcentajeProductos(CveCliente) Then
|
||||||
PrecioSugerido = ObjPS.DtResultados.FiltroPrimeroValor("PrecioLista").ToDouble
|
Dim PrecioAplicado = ObjPS.DtResultados.FiltraParametros($"CvePS = {CvePSParametro}").FiltroPrimeroValor("PrecioA").ToDouble
|
||||||
PorcentajePrecio = ObjPS.DtResultados.FiltroPrimeroValor("Porcentaje").ToDouble
|
If PrecioAplicado > 0 Then
|
||||||
|
PrecioSugerido = PrecioAplicado
|
||||||
|
End If
|
||||||
End If
|
End If
|
||||||
ObjPS.Dispose()
|
ObjPS.Dispose()
|
||||||
End If
|
End If
|
||||||
|
|
||||||
If PrecioSugerido = 0 Then
|
If UsuarioActual.Empresa.Funcionalidad(404).ToEntero > 0 Then 'cuando el valor es 10.- secuencia Cliente/Sucursal, 20 - sucursal/cliente
|
||||||
Dim ObjInventarios As New ClsInventarios
|
Dim TipoPrecioLista As Integer = UsuarioActual.Empresa.Funcionalidad(404).ToEntero
|
||||||
Dim CostoPS = ObjInventarios.GetCostoPS(CvePSParametro, TxtCantidad.Text.Trim.ToDouble, -1, "-1", TxtFecha.Text.ToDate, DdlSubProyectoDatos.SelectedValue.ToEntero(), CveTipoAlmacen:=1)
|
' si es 10. primero el cliente
|
||||||
'si el costo es cero, puede ser que no halla movimientos del producto, en esa sucursal. y se volverá a sacar sin especificar sucursal
|
Dim CvePrecioListaPS As Integer
|
||||||
If CostoPS = 0 Then CostoPS = ObjInventarios.GetCostoPS(CvePSParametro, TxtCantidad.Text.Trim.ToDouble, -1, "-1", TxtFecha.Text.ToDate, -1, CveTipoAlmacen:=1)
|
Dim PorcentajePrecio As Double = 0
|
||||||
ObjInventarios.Dispose()
|
|
||||||
If CostoPS > 0 And PorcentajePrecio > 0 Then
|
If TipoPrecioLista = 10 Then
|
||||||
PrecioSugerido = ((PorcentajePrecio / 100) + 1) * CostoPS
|
|
||||||
|
CvePrecioListaPS = GlobalDTCliente(UsuarioActual.CveEmpresa, Estatus:=-1, CveCliente:=CveCliente).FiltroPrimeroValor("CvePrecioLista").ToEntero()
|
||||||
|
If CvePrecioListaPS <= 0 Then
|
||||||
|
|
||||||
|
CvePrecioListaPS = GlobalDTSubProyectos(-1, CveSubProyecto:=DdlSubProyectoDatos.SelectedValue.ToEntero(), CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimeroValor("CvePrecioLista", "").ToEntero()
|
||||||
|
|
||||||
|
End If
|
||||||
|
|
||||||
|
Else
|
||||||
|
|
||||||
|
CvePrecioListaPS = GlobalDTSubProyectos(-1, CveSubProyecto:=DdlSubProyectoDatos.SelectedValue.ToEntero(), CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimeroValor("CvePrecioLista", "").ToEntero()
|
||||||
|
If CvePrecioListaPS <= 0 Then
|
||||||
|
|
||||||
|
CvePrecioListaPS = GlobalDTCliente(UsuarioActual.CveEmpresa, Estatus:=-1, CveCliente:=CveCliente).FiltroPrimeroValor("CvePrecioLista").ToEntero()
|
||||||
|
|
||||||
|
End If
|
||||||
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
If CvePrecioListaPS > 0 Then
|
||||||
|
Dim ObjPS As New ClsProductosServicios
|
||||||
|
If ObjPS.GetPSPreciosLista(UsuarioActual.CveEmpresa, CvePrecioListaPS, CvePS:=CvePSParametro) Then
|
||||||
|
PrecioSugerido = ObjPS.DtResultados.FiltroPrimeroValor("PrecioLista").ToDouble
|
||||||
|
PorcentajePrecio = ObjPS.DtResultados.FiltroPrimeroValor("Porcentaje").ToDouble
|
||||||
|
End If
|
||||||
|
ObjPS.Dispose()
|
||||||
|
End If
|
||||||
|
|
||||||
|
If PrecioSugerido = 0 Then
|
||||||
|
Dim ObjInventarios As New ClsInventarios
|
||||||
|
Dim CostoPS = ObjInventarios.GetCostoPS(CvePSParametro, TxtCantidad.Text.Trim.ToDouble, -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 CostoPS = 0 Then CostoPS = ObjInventarios.GetCostoPS(CvePSParametro, TxtCantidad.Text.Trim.ToDouble, -1, "-1", TxtFecha.Text.ToDate, -1, CveTipoAlmacen:=1)
|
||||||
|
ObjInventarios.Dispose()
|
||||||
|
If CostoPS > 0 And PorcentajePrecio > 0 Then
|
||||||
|
PrecioSugerido = ((PorcentajePrecio / 100) + 1) * CostoPS
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
CvePrecioLista = CvePrecioListaPS
|
||||||
End If
|
End If
|
||||||
CvePrecioLista = CvePrecioListaPS
|
|
||||||
End If
|
|
||||||
|
|
||||||
|
|
||||||
'Dim ObjClasificaciones As New ClsClasificaciones
|
'Dim ObjClasificaciones As New ClsClasificaciones
|
||||||
'If ObjClasificaciones.GetClasificaciones() Then
|
'If ObjClasificaciones.GetClasificaciones() Then
|
||||||
' PrecioBaseCosto = ObjClasificaciones.DtResultados.FiltroPrimeroValor("PrecioBaseCosto", $"CveEmpresa = {UsuarioActual.CveEmpresa} AND CveClasificacion = {drPS("CveClasificacion")}").ToDecimal
|
' PrecioBaseCosto = ObjClasificaciones.DtResultados.FiltroPrimeroValor("PrecioBaseCosto", $"CveEmpresa = {UsuarioActual.CveEmpresa} AND CveClasificacion = {drPS("CveClasificacion")}").ToDecimal
|
||||||
'End If
|
'End If
|
||||||
|
|
||||||
If PrecioSugerido > 0 Then
|
If PrecioSugerido > 0 Then
|
||||||
Dim PrecioBaseCosto As Decimal = 0
|
Dim PrecioBaseCosto As Decimal = 0
|
||||||
PrecioBaseCosto = GlobalDTClasificaciones(UsuarioActual.CveEmpresa, CveClasificacion:=drPS("CveClasificacion").ToString().ToEntero()).FiltroPrimeroValor("PrecioBaseCosto", "").ToDecimal
|
PrecioBaseCosto = GlobalDTClasificaciones(UsuarioActual.CveEmpresa, CveClasificacion:=drPS("CveClasificacion").ToString().ToEntero()).FiltroPrimeroValor("PrecioBaseCosto", "").ToDecimal
|
||||||
|
|
||||||
If PrecioBaseCosto > 0 Then
|
If PrecioBaseCosto > 0 Then
|
||||||
PrecioSugerido = PrecioSugerido * ((PrecioBaseCosto / 100) + 1)
|
PrecioSugerido = PrecioSugerido * ((PrecioBaseCosto / 100) + 1)
|
||||||
|
End If
|
||||||
|
TxtPrecio.Text = PrecioSugerido.ToString("#,###.####") ' que muestre hasta los 4 digitos si lo requiere
|
||||||
End If
|
End If
|
||||||
TxtPrecio.Text = PrecioSugerido.ToString("#,###.####") ' que muestre hasta los 4 digitos si lo requiere
|
|
||||||
End If
|
|
||||||
|
|
||||||
|
|
||||||
If IsNumeric(TxtCantidad.Text.Trim) Then
|
If IsNumeric(TxtCantidad.Text.Trim) Then
|
||||||
LblTotalPS.Text = (TxtCantidad.Text.Trim.ToDouble * TxtPrecio.Text.ToDouble).ToString().FormatoNumero(2)
|
LblTotalPS.Text = (TxtCantidad.Text.Trim.ToDouble * TxtPrecio.Text.ToDouble).ToString().FormatoNumero(2)
|
||||||
Else
|
|
||||||
LblTotalPS.Text = "0.00"
|
|
||||||
End If
|
|
||||||
LblPrecio1.Text = TxtPrecio.Text
|
|
||||||
UPPDescuento.Update()
|
|
||||||
|
|
||||||
HdnIVAPS.Value = If(drPS("IVA").ToString() = "-1", ViewState("IVA"), drPS("IVA").ToString()).ToString()
|
|
||||||
HdnIVARetAPS.Value = drPS("RetIVA").ToString()
|
|
||||||
HdnAsientoContable.Value = drPS("AsientoContableVentas").ToString()
|
|
||||||
HdnCtaContable.Value = drPS("IdCtaContVentas").ToString()
|
|
||||||
HdnAplicaParaConcepto.Value = drPS("AplicaParaConcepto").ToString()
|
|
||||||
HdnCodigo.Value = drPS("Codigo").ToString()
|
|
||||||
If DdlClasificacion.SelectedIndex = 0 Then
|
|
||||||
If drPS("CveClasificacion").ToString() IsNot Nothing Then
|
|
||||||
DdlClasificacion.SelectedValueExist(drPS("CveClasificacion").ToString())
|
|
||||||
Else
|
Else
|
||||||
Alert("El Productos/Servicio no tiene asignada una Clasificación.", TipoMensaje.MsgInformacion)
|
LblTotalPS.Text = "0.00"
|
||||||
|
End If
|
||||||
|
LblPrecio1.Text = TxtPrecio.Text
|
||||||
|
UPPDescuento.Update()
|
||||||
|
|
||||||
|
HdnIVAPS.Value = If(drPS("IVA").ToString() = "-1", ViewState("IVA"), drPS("IVA").ToString()).ToString()
|
||||||
|
HdnIVARetAPS.Value = drPS("RetIVA").ToString()
|
||||||
|
HdnAsientoContable.Value = drPS("AsientoContableVentas").ToString()
|
||||||
|
HdnCtaContable.Value = drPS("IdCtaContVentas").ToString()
|
||||||
|
HdnAplicaParaConcepto.Value = drPS("AplicaParaConcepto").ToString()
|
||||||
|
HdnCodigo.Value = drPS("Codigo").ToString()
|
||||||
|
If DdlClasificacion.SelectedIndex = 0 Then
|
||||||
|
If drPS("CveClasificacion").ToString() IsNot Nothing Then
|
||||||
|
DdlClasificacion.SelectedValueExist(drPS("CveClasificacion").ToString())
|
||||||
|
Else
|
||||||
|
Alert("El Productos/Servicio no tiene asignada una Clasificación.", TipoMensaje.MsgInformacion)
|
||||||
|
End If
|
||||||
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
End If
|
ElseIf CvePSParametro = -2 Then
|
||||||
|
|
||||||
ElseIf CvePSParametro = -2 Then
|
|
||||||
CargaPS(DdlClasificacion.SelectedValue.ToEntero(), Ddl)
|
CargaPS(DdlClasificacion.SelectedValue.ToEntero(), Ddl)
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user