This commit is contained in:
Oscar Irigoyen
2023-03-17 08:37:48 -07:00
11 changed files with 149 additions and 91 deletions

View File

@@ -589,11 +589,12 @@ Public Class ClsNominas
End Try End Try
Return retorno Return retorno
End Function End Function
Public Function RegistraProvision(CvePeriodo As Int32, CveEmpresa As Int32) As Boolean Public Function RegistraProvision(CvePeriodo As Int32, CveUsuario As Int32, CveEmpresa As Int32) As Boolean
Dim retorno As Boolean = False Dim retorno As Boolean = False
DataAdapter("PA_Nom_RegistraProvision", CommandType.StoredProcedure) DataAdapter("PA_Nom_RegistraProvision", CommandType.StoredProcedure)
With SqlAdapter.SelectCommand.Parameters With SqlAdapter.SelectCommand.Parameters
.Add("@CvePeriodo", SqlDbType.Int).Value = CvePeriodo .Add("@CvePeriodo", SqlDbType.Int).Value = CvePeriodo
.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
End With End With
Try Try

View File

@@ -5270,6 +5270,24 @@ Public Class ClsVentas
Return Retorno Return Retorno
End Function End Function
Public Function GetRNCSaldoNCRelacionadas(CveVentaRNC As Integer) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Vta_RNCSaldoNCRelacionadas")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveVentaRNC", SqlDbType.Int).Value = CveVentaRNC
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al obtener el saldo de la RNC.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
Return Retorno
End Function
#End Region #End Region
#Region "P O R C E N T A J E - C O M I S I O N E S" #Region "P O R C E N T A J E - C O M I S I O N E S"

View File

@@ -313,6 +313,7 @@ Namespace Modelos
Public CveMarca As Integer = -1 Public CveMarca As Integer = -1
Public ObsDescuento As String = "" Public ObsDescuento As String = ""
End Class End Class
<Serializable> <Serializable>
Public Class VentasBonificaciones Public Class VentasBonificaciones
Public CveVentaRNCCargo As Integer = -1 Public CveVentaRNCCargo As Integer = -1
@@ -335,6 +336,22 @@ Namespace Modelos
Public Property CveVentaDetalle As Integer Public Property CveVentaDetalle As Integer
Public Property Cantidad As Decimal Public Property Cantidad As Decimal
End Class End Class
<Serializable>
Public Class MConceptoUsado
Public Property Consecutivo As Integer
Public Property ConsecutivoUsado As Integer
Public Property CvePS As Integer
End Class
<Serializable>
Public 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
Public Enum TipoMensajeRespuesta Public Enum TipoMensajeRespuesta
TextoLimpio = 0 TextoLimpio = 0
HTML = 1 HTML = 1
@@ -4838,6 +4855,25 @@ Namespace Modelos
Dim TieneAlmacen As Boolean = False Dim TieneAlmacen As Boolean = False
Dim AplicaRefacturacionConPagos As Boolean = False Dim AplicaRefacturacionConPagos As Boolean = False
'VALIDA QUE LA RNC NO TENGA EGS CON SALDO
If ObjFactura.TipoDocto = "RNC" Then
Dim TotalRNC As Decimal = ObjFactura.Total
Dim SaldoRNC As Decimal = 0
Using ObjRNC As New ClsVentas
If ObjRNC.GetRNCSaldoNCRelacionadas(ObjFactura.CveVenta) AndAlso ObjRNC.DtResultados.Rows.Count > 0 Then
SaldoRNC = ObjRNC.DtResultados.FiltroPrimeroValor("SaldoRNC", "CveVentaEGS IS NULL").ToDecimal()
End If
End Using
'SI TIENE SALDO PENDIENTE POR CANCELAR DE LAS NOTAS DE CREDITO, NO PERMITIR CANCELAR
If SaldoRNC <= 0 OrElse (SaldoRNC <> TotalRNC) Then
Retorno.Mensaje = "La remisión no se puede cancelar debido a que tiene notas de credito vigentes"
Retorno.TipoMensaje = TipoMensaje.MsgAdvertencia
Return Retorno
End If
End If
Dim CveEstatusRefacturacion As Integer = If(ObjFactura.CveEstatusRefacturacion <= 0, 0, ObjFactura.CveEstatusRefacturacion) Dim CveEstatusRefacturacion As Integer = If(ObjFactura.CveEstatusRefacturacion <= 0, 0, ObjFactura.CveEstatusRefacturacion)
'SI YA FUE MARCADA COMO REFACTURACION Y FUE SEPARADA, MANTENER EL COMPORTAMIENTO DE CANCELACION COMO REFACTURACION 'SI YA FUE MARCADA COMO REFACTURACION Y FUE SEPARADA, MANTENER EL COMPORTAMIENTO DE CANCELACION COMO REFACTURACION

View File

@@ -531,10 +531,17 @@
</div> </div>
<div class="form-group proveedoreespes" runat="server" id="divImportacion" visible="false"> <div class="form-group proveedoreespes" runat="server" id="divImportacion" visible="false">
<span class="whitoutcol linewhitsize proveedoreespes">Importación </span> <span class="whitoutcol linewhitsize proveedoreespes">Importación </span>
<div class="whitoutcol whitoutcol"> <div class="whitoutcol">
<asp:CheckBox runat="server" ID="chkImportacion"> </asp:CheckBox> <asp:CheckBox runat="server" ID="chkImportacion"> </asp:CheckBox>
</div> </div>
</div> </div>
<div class="form-group proveedoreespes" runat="server" id="divCompraImportacion" visible="false">
<span class="whitoutcol linewhitsize proveedoreespes">
<asp:Literal ID="LtlImportacionTexto" runat="server">Importación</asp:Literal>:</span>
<div class="whitoutcol">
<asp:HyperLink runat="server" ID="HplCompraImportacion" CssClass="Texto"> </asp:HyperLink>
</div>
</div>
<div class="form-group proveedoreespes" runat="server" id="divFolioGarantia" visible="false"> <div class="form-group proveedoreespes" runat="server" id="divFolioGarantia" visible="false">
<span class="whitoutcol linewhitsize proveedoreespes">Folio Garantía </span> <span class="whitoutcol linewhitsize proveedoreespes">Folio Garantía </span>
<div class="whitoutcol whitoutcol"> <div class="whitoutcol whitoutcol">

View File

@@ -2841,6 +2841,19 @@ Partial Class Compras_Compras
TxtRembolsoNumero.Enabled = If(IdPoliza > 0, False, True) TxtRembolsoNumero.Enabled = If(IdPoliza > 0, False, True)
If dr("CveImportacion").ToString <> "" Then
divCompraImportacion.Visible = True
HplCompraImportacion.Text = dr("Importacion").ToString
If dr("TipoImportacion").ToString = "2" Then 'flete/indirecto
LtlImportacionTexto.Text = "Indirecto"
HplCompraImportacion.NavigateUrl = $"/Inventarios/Fletes.aspx?CveFlete={dr("CveImportacion")}"
Else
HplCompraImportacion.NavigateUrl = $"/Compras/Importaciones.aspx?CveImportacion={dr("CveImportacion")}"
End If
End If
If dr("CveFolioGarantia").ToString <> "" Then If dr("CveFolioGarantia").ToString <> "" Then
divFolioGarantia.Visible = True divFolioGarantia.Visible = True
DdlFolioGarantia.Items.Insert(0, New ListItem(dr("FolioGarantia").ToString, dr("CveFolioGarantia").ToString)) DdlFolioGarantia.Items.Insert(0, New ListItem(dr("FolioGarantia").ToString, dr("CveFolioGarantia").ToString))
@@ -3004,7 +3017,6 @@ Partial Class Compras_Compras
ImgFecha.Enabled = False ImgFecha.Enabled = False
CEFecha.Enabled = False CEFecha.Enabled = False
If UsuarioActual.TienePermisoProceso(342) Then If UsuarioActual.TienePermisoProceso(342) Then
TxtFecha.Enabled = True TxtFecha.Enabled = True
ImgFecha.Enabled = True ImgFecha.Enabled = True
@@ -3012,8 +3024,6 @@ Partial Class Compras_Compras
LnkActualziarFechadecompra.Visible = True LnkActualziarFechadecompra.Visible = True
End If End If
DdlProveedor.Enabled = False DdlProveedor.Enabled = False
DdlProveedorSucursal.Enabled = False DdlProveedorSucursal.Enabled = False
DdlEstatus.Enabled = False DdlEstatus.Enabled = False

View File

@@ -518,7 +518,7 @@
<asp:GridView ID="GvInv" runat="server" EmptyDataText="Aun no hay registros." AutoGenerateColumns="False" ShowFooter="True" ShowHeader="true" ShowHeaderWhenEmpty="True" <asp:GridView ID="GvInv" runat="server" EmptyDataText="Aun no hay registros." AutoGenerateColumns="False" ShowFooter="True" ShowHeader="true" ShowHeaderWhenEmpty="True"
DataKeyNames="EntregaDirecta,Consec,CodigoBarras,CvePS,CveUM,PU,CantidadC,CantidadF,UM,PS,CveCompraDetalle,CveOrdenCompraDetalle,PUExtranjero,AplicaSerieLote,CveClasificacion,Codigo,CveVentaDetalle,CostoIndirecto,CveTamaño,Lote,AplicaSeccion,AplicaLote,AplicaCaducidad,AplicaSerie" HeaderStyle-CssClass="Titulos" RowStyle-Height="25px" CssClass="table table-striped table-hover Widthall ScrollAD mysmallbtn" data-heighterror="450" data-freezerows="1" GridLines="None"> DataKeyNames="EntregaDirecta,Consec,CodigoBarras,CvePS,CveUM,PU,CantidadC,CantidadF,UM,PS,CveCompraDetalle,CveOrdenCompraDetalle,PUExtranjero,AplicaSerieLote,CveClasificacion,Codigo,CveVentaDetalle,CostoIndirecto,CveTamaño,Lote,AplicaSeccion,AplicaLote,AplicaCaducidad,AplicaSerie" HeaderStyle-CssClass="Titulos" RowStyle-Height="25px" CssClass="table table-striped table-hover Widthall ScrollAD mysmallbtn" data-heighterror="450" data-freezerows="1" GridLines="None">
<HeaderStyle Height="58px" /> <HeaderStyle Height="28px" />
<Columns> <Columns>
<asp:TemplateField> <asp:TemplateField>
<ItemTemplate> <ItemTemplate>

View File

@@ -227,7 +227,7 @@ Partial Class Inventarios_TraspasoAlmacen
CvePS = 0 CvePS = 0
TipoSeccionAlmacen = 0 TipoSeccionAlmacen = 0
Dim PermisoEspecialCambioFecha As Boolean = False Dim PermisoEspecialCambioFecha As Boolean = False
If UsuarioActual.CveUsuario = 1937 Then PermisoEspecialCambioFecha = True If UsuarioActual.CveUsuario.Contiene(100, 1937) Then PermisoEspecialCambioFecha = True
If UsuarioActual.Empresa.Funcionalidad(281).ToEntero = 1 And Not PermisoEspecialCambioFecha Then If UsuarioActual.Empresa.Funcionalidad(281).ToEntero = 1 And Not PermisoEspecialCambioFecha Then
TxtFecha.Enabled = False TxtFecha.Enabled = False
@@ -972,7 +972,7 @@ Partial Class Inventarios_TraspasoAlmacen
If Existencia < 0 Then If Existencia < 0 Then
ErrorExistencia = True ErrorExistencia = True
TextoExistencia.AppendFormat("-<b>#{0}</b> {1} {2} &nbsp; Existencia: <b>{3}</b>{4}<br/>", gvr.DataKey("No"), gvr.DataKey("PS"), If(gvr.DataKey("Serie").ToString().Trim().Length > 0, $" &nbsp; Serie: <b>{gvr.DataKey("Serie")}</b>", ""), (Existencia + gvr.FCTextBox("TxtCantidad2").Text.ToEntero), MsgAdicional) TextoExistencia.AppendFormat(" {1},", gvr.DataKey("No"), gvr.DataKey("CvePS"), If(gvr.DataKey("Serie").ToString().Trim().Length > 0, $" &nbsp; Serie: <b>{gvr.DataKey("Serie")}</b>", ""), (Existencia + gvr.FCTextBox("TxtCantidad2").Text.ToEntero), MsgAdicional)
End If End If
Next Next

View File

@@ -8362,7 +8362,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
{ {
using (ClsNominas objnom = new ClsNominas()) using (ClsNominas objnom = new ClsNominas())
{ {
if (objnom.RegistraProvision(CvePeriodoSeleccionado, UsuarioActual.CveEmpresa)) if (objnom.RegistraProvision(CvePeriodoSeleccionado, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa))
{ {
int CvePrePolizaProvision = 0; int CvePrePolizaasmilidos = 0; int CvePrePolizaProrrateo = 0; int CvePrePolizaProvision = 0; int CvePrePolizaasmilidos = 0; int CvePrePolizaProrrateo = 0;
if (objnom.DTSetResultados.Tables.Count > 1 && objnom.DTSetResultados.Tables[1].Rows.Count == 0) if (objnom.DTSetResultados.Tables.Count > 1 && objnom.DTSetResultados.Tables[1].Rows.Count == 0)

View File

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

View File

@@ -1675,12 +1675,7 @@
</ContentTemplate> </ContentTemplate>
</ajax:TabPanel> </ajax:TabPanel>
<ajax:TabPanel ID="TabAlmacen" ClientIDMode="Static" runat="server" Enabled="true" HeaderText=""> <ajax:TabPanel ID="TabAlmacen" ClientIDMode="Static" runat="server" Enabled="true" HeaderText="Almacen">
<HeaderTemplate>
<span onclick="CargaMovimientosInventario();" id="spanAlmacen" runat="server">
Almacen
</span>
</HeaderTemplate>
<ContentTemplate> <ContentTemplate>
<%--<asp:UpdatePanel ID="UpInvDev" UpdateMode="Conditional" runat="server"> <%--<asp:UpdatePanel ID="UpInvDev" UpdateMode="Conditional" runat="server">

View File

@@ -2354,7 +2354,10 @@ Partial Class Ventas
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If UsuarioActual.CveEmpresa.Contiene(141, 152, 153, 160, 161, 162) Then System.Threading.Thread.Sleep(2000) If EsProduccion Then
If UsuarioActual.CveEmpresa.Contiene(141, 152, 153, 160, 161, 162) Then System.Threading.Thread.Sleep(2000)
End If
If Not IsPostBack Then If Not IsPostBack Then
If IfNull(Request("Opcionx"), "").ToString = "Saldar" And UsuarioActual.CveUsuario = 100 Then If IfNull(Request("Opcionx"), "").ToString = "Saldar" And UsuarioActual.CveUsuario = 100 Then
@@ -2847,7 +2850,7 @@ Partial Class Ventas
If CveVenta <= 0 Then If CveVenta <= 0 Then
'REMOVER EVENTO PARA RECARGAR ALMACEN 'REMOVER EVENTO PARA RECARGAR ALMACEN
HdnCargarInventario.Value = "False" HdnCargarInventario.Value = "False"
spanAlmacen.Attributes.Remove("onclick") 'spanAlmacen.Attributes.Remove("onclick")
Tab.ActiveTabIndex = 1 Tab.ActiveTabIndex = 1
Updatetabs.Update() Updatetabs.Update()
End If End If
@@ -15323,6 +15326,22 @@ Partial Class Ventas
End If End If
End If End If
Dim ModalidadRefacturacion As Integer = UsuarioActual.Empresa.Funcionalidad(586).ToEntero()
'REFACTURACION CON PAGOS, DEBE CANCELAR SALDOS DEL DOCUMENTO ANTERIOR Y TRASPASAR PAGOS AL NUEVO
If ModalidadRefacturacion = 2 AndAlso ObjFactura.TipoDocto.Contiene("Ing", "Ant") AndAlso ObjFactura.NuevaFactura = 1 Then
If Not ObjConta.TraspasarSaldosPrePolizasRefacturacion(ObjFacturaNC.CveVenta, ObjFactura.CveVenta, ObjFactura.CvePrePoliza, CvePlantilaPoliza, UsuarioActual.CveEmpresa) Then
ErrorList.Add("Ocurrió un error al traspasos saldos en refacturación")
End If
Else
'EN CASO DE SER REFACTURACION DE ANTICIPO SE ACTUALIZAN LAS VENTAS APLICADAS HACIA EL NUEVO
If NuevaFactura = 1 AndAlso CveDevolucion > 0 AndAlso ObjFactura.TipoDocto.Contiene("Ant") Then
If Not ObjVentas.TraspasaVentasAplicadasAnt(ObjFactura.CveVenta, CveDevolucion, UsuarioActual.CveEmpresa, ObjFactura.CvePrePoliza) Then
ErrorPrepoliza = True
End If
End If
End If
If ObjConta.ValidacionPrePolizaCuadre(ObjFactura.CvePrePoliza, 2) Then If ObjConta.ValidacionPrePolizaCuadre(ObjFactura.CvePrePoliza, 2) Then
If ObjConta.ValorPolizaDescuadre > 0 Then If ObjConta.ValorPolizaDescuadre > 0 Then
If ObjConta.ValorPolizaDescuadre = 2 Then If ObjConta.ValorPolizaDescuadre = 2 Then
@@ -15339,21 +15358,6 @@ Partial Class Ventas
End If End If
End If End If
'EN CASO DE SER REFACTURACION DE ANTICIPO SE ACTUALIZAN LAS VENTAS APLICADAS HACIA EL NUEVO
If NuevaFactura = 1 AndAlso CveDevolucion > 0 AndAlso ObjFactura.TipoDocto.Contiene("Ant") Then
If Not ObjVentas.TraspasaVentasAplicadasAnt(ObjFactura.CveVenta, CveDevolucion, UsuarioActual.CveEmpresa, ObjFactura.CvePrePoliza) Then
ErrorPrepoliza = True
End If
End If
Dim ModalidadRefacturacion As Integer = UsuarioActual.Empresa.Funcionalidad(586).ToEntero()
'REFACTURACION CON PAGOS, DEBE CANCELAR SALDOS DEL DOCUMENTO ANTERIOR Y TRASPASAR PAGOS AL NUEVO
If ModalidadRefacturacion = 2 AndAlso ObjFactura.TipoDocto.Contiene("Ing", "Ant") AndAlso ObjFactura.NuevaFactura = 1 Then
If Not ObjConta.TraspasarSaldosPrePolizasRefacturacion(ObjFacturaNC.CveVenta, ObjFactura.CveVenta, ObjFactura.CvePrePoliza, CvePlantilaPoliza, UsuarioActual.CveEmpresa) Then
ErrorList.Add("Ocurrió un error al traspasos saldos en refacturación")
End If
End If
Return ErrorPrepoliza Return ErrorPrepoliza
Catch ex As Exception Catch ex As Exception
@@ -23103,7 +23107,7 @@ Partial Class Ventas
Dim TienePagos As Boolean = ((Not (DtPagos Is Nothing OrElse DtPagos.Rows.Count = 0)) AndAlso (DtPagos IsNot Nothing AndAlso DtPagos.Rows.Count > 0)) OrElse AmortizacionNC > 0 Dim TienePagos As Boolean = ((Not (DtPagos Is Nothing OrElse DtPagos.Rows.Count = 0)) AndAlso (DtPagos IsNot Nothing AndAlso DtPagos.Rows.Count > 0)) OrElse AmortizacionNC > 0
'SI LA VENTA ES NUEVA VALIDAR TAMBIEN LOS PAGOS DE CONTADO 'SI LA VENTA ES NUEVA VALIDAR TAMBIEN LOS PAGOS DE CONTADO
If UsuarioActual.Empresa.Funcionalidad(558) = "1" AndAlso CveVenta <= 0 AndAlso DdlTipoComprobante.SelectedValue.Contiene("Ing", "Rem", "Ant") Then If UsuarioActual.Empresa.Funcionalidad(558) = "1" AndAlso ((CveVenta <= 0 OrElse EsCreaApartirDe OrElse TipoDoctoViejo = "Cot") AndAlso DdlTipoComprobante.SelectedValue.Contiene("Ing", "Rem", "Ant")) Then
If Not PermiteCredito AndAlso Not TienePagos AndAlso TxtTotal.Text.ToDecimal > 0 Then If Not PermiteCredito AndAlso Not TienePagos AndAlso TxtTotal.Text.ToDecimal > 0 Then
If MostrarAlertas Then If MostrarAlertas Then
@@ -23576,6 +23580,13 @@ Partial Class Ventas
DivDevAlm.Visible = True DivDevAlm.Visible = True
TieneAlmacen = True TieneAlmacen = True
End If End If
If DdlTipoComprobante.SelectedValue.Contiene("Rem", "Dev") Then
ChkDevAlm.Checked = True
LiDevolucionAlmacen.Visible = True
If DdlTipoComprobante.SelectedValue = "Dev" Then
LblDevAlm.Text = "Salida de almacen"
End If
End If
CargaGVInv(ObjInv.DtResultados) CargaGVInv(ObjInv.DtResultados)
End If End If
End If End If
@@ -24748,14 +24759,6 @@ Partial Class Ventas
Dim RowVenta As DataRow = ObjVentas.DtResultados.Rows(0) Dim RowVenta As DataRow = ObjVentas.DtResultados.Rows(0)
SaldoAlmacen = RowVenta("SaldoAlmacen").ToString().ToDecimal() SaldoAlmacen = RowVenta("SaldoAlmacen").ToString().ToDecimal()
If DdlTipoComprobante.SelectedValue.Contiene("Rem", "Dev") AndAlso SaldoAlmacen <> 0 Then
ChkDevAlm.Checked = True
LiDevolucionAlmacen.Visible = True
If DdlTipoComprobante.SelectedValue = "Dev" Then
LblDevAlm.Text = "Salida de almacen"
End If
End If
Else Else
PermiteCancelar = False PermiteCancelar = False
End If End If
@@ -24763,19 +24766,26 @@ Partial Class Ventas
PermiteCancelar = False PermiteCancelar = False
End If End If
If PermiteCancelar And SaldoVenta <> 0 Then
If UsuarioActual.TienePermisoProceso(269) AndAlso Not DevolucionAlmacen = 2 Then
DivDevAlm.Visible = True
TieneAlmacen = True
End If
End If
End Using End Using
If Not PermiteCancelar Then If Not PermiteCancelar Then
Alert("La venta no se puede cancelar si no ha sido surtida previamente", TipoMensaje.MsgAdvertencia) Alert("La venta no se puede cancelar si no ha sido surtida previamente", TipoMensaje.MsgAdvertencia)
Exit Sub Exit Sub
End If End If
If SaldoVenta <> 0 Then
If UsuarioActual.TienePermisoProceso(269) AndAlso Not DevolucionAlmacen = 2 Then
DivDevAlm.Visible = True
TieneAlmacen = True
If UsuarioActual.Empresa.Funcionalidad(567) = "1" Then
ChkDevAlm.Checked = True
ChkDevAlm.Enabled = False
End If
End If
End If
End If End If
If DdlTipoComprobante.SelectedValue.Contiene("Ing", "Ant", "Dev", "Egs") Then If DdlTipoComprobante.SelectedValue.Contiene("Ing", "Ant", "Dev", "Egs") Then
@@ -32899,7 +32909,7 @@ Partial Class Ventas
End If End If
'REMOVER EVENTO PARA RECARGAR ALMACEN 'REMOVER EVENTO PARA RECARGAR ALMACEN
spanAlmacen.Attributes.Remove("onclick") 'spanAlmacen.Attributes.Remove("onclick")
Tab.ActiveTabIndex = 1 Tab.ActiveTabIndex = 1
HdnCargarInventario.Value = "False" HdnCargarInventario.Value = "False"
Updatetabs.Update() Updatetabs.Update()
@@ -36587,10 +36597,11 @@ Partial Class Ventas
End If End If
'REMOVER EVENTO PARA RECARGAR ALMACEN 'REMOVER EVENTO PARA RECARGAR ALMACEN
spanAlmacen.Attributes.Remove("onclick") 'spanAlmacen.Attributes.Remove("onclick")
Tab.ActiveTabIndex = 1 'Tab.ActiveTabIndex = 1
HdnCargarInventario.Value = "False" HdnCargarInventario.Value = "False"
Updatetabs.Update() 'Updatetabs.Update()
UpINV.Update()
End Sub End Sub
Protected Sub LBAplicaDevolucion_Click(sender As Object, e As EventArgs) Protected Sub LBAplicaDevolucion_Click(sender As Object, e As EventArgs)