--validacion de cancelaciones de rnc,validacion de pagos y refacturacion con pagos, obligar devolucion al cancelar con la funcionalidad 567, validaciones del pv.aspx

This commit is contained in:
2023-03-15 21:36:17 -07:00
parent c5c18177a0
commit 819193ab80
5 changed files with 122 additions and 82 deletions

View File

@@ -4261,7 +4261,7 @@ Partial Class PV
End If
'Descuento por clasificación
Dim ObjDescuento As New Descuentos
Dim ObjDescuento As New Modelos.VentaDescuentos
ObjDescuento = CalcularDescuentos(CvePSParametro, TxtCantidad.Text.Trim.ToDecimal, PrecioSugerido)
If ObjDescuento.EsPUModificado Then
@@ -4310,15 +4310,7 @@ Partial Class PV
UPPDescuento.Update()
End Sub
Partial Class Descuentos
Public ImporteDescuento As Decimal = 0
Public CvePromocionDetalle As Integer = -1
Public PU As Decimal = 0
Public EsPUModificado As Boolean = False
Public ImporteProntoPago As Decimal = 0
End Class
Private Function CalcularDescuentos(CvePS As Integer, Cantidad As Decimal, PU As Decimal) As Descuentos
Private Function CalcularDescuentos(CvePS As Integer, Cantidad As Decimal, PU As Decimal) As Modelos.VentaDescuentos
Dim Descuento As Decimal = HdnDescuento.Value.ToDecimal
If HdnTipoDescuento.Value = "0" Then
@@ -4341,7 +4333,7 @@ Partial Class PV
Dim CvePromocionDetalle As Integer = 0
Dim IncluyeImpuestos As Boolean = False
Dim TipoAplicacion As Integer = 1 ' 1 - descuento, 2 en PU
Dim ObjDescuento As New Descuentos
Dim ObjDescuento As New Modelos.VentaDescuentos
If DdlSubProyectoDatos.SelectedValue = "11842" Then '' E141, el subproyecto: Franquicia, no proceden las promociones
Return ObjDescuento
@@ -5483,7 +5475,7 @@ Partial Class PV
Dim DrPS As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=DdlPS.SelectedValue.ToEntero).FiltroPrimero("")
If ChkAjuste.Checked Then
Dim FolioGarantia As MFolioGarantiaMensaje = ValidaFolioGarantia(DdlPSAjuste.SelectedValue.ToEntero(), DdlFolioGarantia.SelectedValue.ToEntero())
Dim FolioGarantia As Modelos.MFolioGarantiaMensaje = ValidaFolioGarantia(DdlPSAjuste.SelectedValue.ToEntero(), DdlFolioGarantia.SelectedValue.ToEntero())
If Not FolioGarantia.Valido Then
Alert($"El folio de garantía no es valido.<br/> Clasificacion del Producto:{FolioGarantia.ClasificacionPS}.<br/>Tipo Folio:{FolioGarantia.TipoFolio}", TipoMensaje.MsgAdvertencia)
@@ -5571,7 +5563,7 @@ Partial Class PV
Descuento = HdnDescuento.Value.ToDecimal * TxtCantidad.Text.ToDecimal
End If
Dim ObjDescuento As New Descuentos
Dim ObjDescuento As New Modelos.VentaDescuentos
If DrPS("CveClasificacion").ToString.ToEntero.Contiene(20516, 20515) Then
ObjDescuento.ImporteDescuento = ((Cantidad * PU) * ClasificacionesDescuentos(DrPS("CveClasificacion").ToString.ToEntero))
End If
@@ -5595,7 +5587,7 @@ Partial Class PV
CveProyecto, Proyecto, DdlSubProyectoDatos.SelectedValue.ToEntero, DdlSubProyectoDatos.SelectedItem.Text,
Serie:="", TiempoEntrega:="", CuentaPredial:="", RegeneraIEPS:=ClienteDesglosaIEPS, CveVentaDetalle:=CveVentaDetalle, EsCargo:=EsCargo)
Dim ListaPSCargo As List(Of MConceptoUsado) = Nothing
Dim ListaPSCargo As List(Of Modelos.MConceptoUsado) = Nothing
If CveVentaDetalle <= 0 AndAlso Not EsCargo Then
ListaPSCargo = CalculaUsados(Consec)
ElseIf CveVentaDetalle > 0 AndAlso Not EsCargo Then
@@ -5605,7 +5597,7 @@ Partial Class PV
If ListaPSCargo IsNot Nothing AndAlso ListaPSCargo.Count > 0 Then
CalculaRecepcionUsados(CvePS, ListaPSCargo, Cantidad, Consec)
For Each Usado As MConceptoUsado In ListaPSCargo
For Each Usado As Modelos.MConceptoUsado In ListaPSCargo
AddPolizaVirtual(DdlPS.SelectedValue.ToEntero(), Usado.Consecutivo)
Next
End If
@@ -7422,7 +7414,7 @@ Partial Class PV
Alert("No se ha especificado producto de ajuste a entregar")
Exit Sub
End If
If TxtEtiqueta.Text <> "" OrElse TxtEtiqueta.Text.Length <> 4 Then
If TxtEtiqueta.Text = "" OrElse TxtEtiqueta.Text.Length <> 4 Then
Alert("No se ha especificado la etiqueta.")
Exit Sub
End If
@@ -7441,8 +7433,8 @@ Partial Class PV
If ObjAcum.GarantiasMesesGet(-1, UsuarioActual.CveEmpresa, CveMarca, DdlTipoUso.SelectedValue.ToEntero, TxtMesesUso.Text.ToEntero) Then
If ObjAcum.DtResultados.Rows.Count > 0 Then
''obtener siempre y cuando la fecha de inicio sea mayor
Dim strDate As Date = ($"01/{TxtEtiqueta.Text.Substring(0, 2)}/{TxtEtiqueta.Text.Substring(2, 2)}").ToDate
Dim drg As DataRow = ObjAcum.DtResultados.FiltroPrimero($" #{strDate.ToString("yyyy/MM/dd")}# > FechaInicioVigencia ", "FechaInicioVigencia")
Dim strDate As Date = ($"20{TxtEtiqueta.Text.Substring(2, 2)}/{TxtEtiqueta.Text.Substring(0, 2)}/01").ToDate
Dim drg As DataRow = ObjAcum.DtResultados.FiltroPrimero($" #{strDate.ToString("yyyy/MM/dd")}# >= FechaInicioVigencia ", "FechaInicioVigencia DESC")
If drg IsNot Nothing Then
TxtPorcentajeAjuste.Text = (drg("Valor").ToString.ToDouble / 100).ToString
@@ -7699,7 +7691,7 @@ Partial Class PV
End If
ObjAcumuladores.Dispose()
Dim FolioGarantia As MFolioGarantiaMensaje = ValidaFolioGarantia(DdlPSAjuste.SelectedValue.ToEntero(), DdlFolioGarantia.SelectedValue.ToEntero())
Dim FolioGarantia As Modelos.MFolioGarantiaMensaje = ValidaFolioGarantia(DdlPSAjuste.SelectedValue.ToEntero(), DdlFolioGarantia.SelectedValue.ToEntero())
If Not FolioGarantia.Valido Then
Alert($"El folio de garantía no es valido.<br/> Clasificacion del Producto:{FolioGarantia.ClasificacionPS}.<br/>Tipo Folio:{FolioGarantia.TipoFolio}", TipoMensaje.MsgAdvertencia)
@@ -7855,7 +7847,7 @@ Partial Class PV
EmitirImprimirNew()
End Sub
Private Sub CalculaRecepcionUsados(CvePS As Integer, ListaPSCargo As List(Of MConceptoUsado), CantidadUsado As Decimal, ConsecPSPadre As Integer)
Private Sub CalculaRecepcionUsados(CvePS As Integer, ListaPSCargo As List(Of Modelos.MConceptoUsado), CantidadUsado As Decimal, ConsecPSPadre As Integer)
If Modalidad = "U" Then
If TmpDTRecepcionUsados.Rows.Count > 0 Then
@@ -7934,7 +7926,7 @@ Partial Class PV
End If
Dim StrCargos As New StringBuilder
For Each Usado As MConceptoUsado In ListaPSCargo
For Each Usado As Modelos.MConceptoUsado In ListaPSCargo
StrCargos.AppendFormat(" {0},", Usado.CvePS)
Next
StrCargos.Remove(StrCargos.Length - 1, 1)
@@ -8052,17 +8044,13 @@ Partial Class PV
CalculaTotalesVenta()
End Sub
Public Class MConceptoUsado
Public Property Consecutivo As Integer
Public Property ConsecutivoUsado As Integer
Public Property CvePS As Integer
End Class
Private Function CalculaUsados(Consec As Integer, Optional LimpiarUsados As Boolean = True) As List(Of MConceptoUsado)
Private Function CalculaUsados(Consec As Integer, Optional LimpiarUsados As Boolean = True) As List(Of Modelos.MConceptoUsado)
If Modalidad = "U" AndAlso LimpiarUsados Then
EliminarUsados(Consec)
End If
Dim ListaPScargo As New List(Of MConceptoUsado)
Dim ListaPScargo As New List(Of Modelos.MConceptoUsado)
Dim DTTamanios As DataTable = GlobalDTAcumTamaños(UsuarioActual.CveEmpresa)
Dim DTCvePSCostos = DTTamanios.FiltraParametros("", "", {"CvePSCargo"})
@@ -8167,7 +8155,7 @@ Partial Class PV
drowPsTamaños("PS").ToString, "", drowPsTamaños("PU").ToString.ToDecimal, 0, -1, "", drowPsTamaños("CveSubProyecto").ToString.ToEntero,
drowPsTamaños("SubProyecto").ToString, EsCargo:=True, ConsecPSPadre:=drowPsTamaños("ConsecPSPadre").ToString.ToEntero, EliminarDB:=CBool(drowPsTamaños("EliminarDB").ToString()))
If Consec > 0 Then
ListaPScargo.Add(New MConceptoUsado() With {.Consecutivo = Consec, .ConsecutivoUsado = ConsecutivoUsado, .CvePS = drowPsTamaños("CvePS").ToString.ToEntero})
ListaPScargo.Add(New Modelos.MConceptoUsado() With {.Consecutivo = Consec, .ConsecutivoUsado = ConsecutivoUsado, .CvePS = drowPsTamaños("CvePS").ToString.ToEntero})
End If
End If
Next
@@ -8328,8 +8316,8 @@ Partial Class PV
End Sub
Private Function ValidaFolioGarantia(CvePS As Integer, CveFolioGarantia As Integer) As MFolioGarantiaMensaje
Dim Retorno As New MFolioGarantiaMensaje
Private Function ValidaFolioGarantia(CvePS As Integer, CveFolioGarantia As Integer) As Modelos.MFolioGarantiaMensaje
Dim Retorno As New Modelos.MFolioGarantiaMensaje
Dim Valido As Boolean = False
Dim TipoFolio As String = ""
@@ -8382,15 +8370,7 @@ Partial Class PV
Return Retorno
End Function
Partial Class MFolioGarantiaMensaje
Public Property CvePS As Integer
Public Property CveClasificacionPS As Integer
Public Property ClasificacionPS As String
Public Property CveFolioGarantia As Integer
Public Property TipoFolio As String
Public Property Valido As Boolean
End Class
Protected Sub DdlMarcaPS_SelectedIndexChanged(sender As Object, e As EventArgs)
CargaPS(DdlClasificacion.SelectedValue.ToEntero(), DdlPS, CveMarca:=DdlMarcaPS.SelectedValue.ToEntero())
UpModalVenta.Update()