diff --git a/App_Code/ClsNominas.vb b/App_Code/ClsNominas.vb index 4ab276bd8..2d1764be0 100644 --- a/App_Code/ClsNominas.vb +++ b/App_Code/ClsNominas.vb @@ -3712,6 +3712,18 @@ Public Class ClsNominas End Function + Public Function CalculaDiasFeriados(fechaInicio As String, fechaFin As String, DiasPagos As Int32, DiasFeriados As Int32, cveEmpresa As Int32, cveUsuario As Int32) As Boolean + Dim retorno As Boolean = False + DataAdapter("PA_Nom_CalculaDiasFeriados", CommandType.StoredProcedure) + addParameters("@FechaFin", SqlDbType.VarChar, fechaFin) + addParameters("@FechaInicio", SqlDbType.VarChar, fechaInicio) + addParameters("@DiasPagos", SqlDbType.Int, DiasPagos) + addParameters("@DiasFeriados", SqlDbType.Int, DiasFeriados) + addParameters("@CveEmpresa", SqlDbType.Int, cveEmpresa) + addParameters("@CveUsuario", SqlDbType.Int, cveUsuario) + retorno = RunQuery("Ocurrió un error al realizar la carga de periodos.") + Return retorno + End Function diff --git a/App_Code/Modelos.vb b/App_Code/Modelos.vb index df3cea594..286a10cb5 100644 --- a/App_Code/Modelos.vb +++ b/App_Code/Modelos.vb @@ -2153,7 +2153,7 @@ Namespace Modelos PedidoContrato:=factura.PedidoContrato, ObservacionesAlmacen:=factura.ObservacionesAlmacen, CveSubProyecto:=factura.CveSubProyecto, CveSubProyectoCobranza:=factura.CveSubProyectoCobranza, CveSubProyectoEjecucion:=factura.CveSubProyectoEjecucion, CveFormaPago33:=factura.CveFormaPago33, CveMetodoPago33:=factura.CveMetodoPago33, CveUsoCFDI:=factura.CveUsoCFDI, OrdenCompra:=factura.OrdenCompra, CveCuentaTerminal:=factura.CveCuentaTerminal, CveTipoRelacion:=factura.CveTipoRelacion, ImpuestoLocal:=TotalImpuestoLocal, CveVentaRelacion:=(If(factura.CveVentaRelacion.ToEntero > 0, factura.CveVentaRelacion, -1)), ImporteRelacion:=(If(factura.ImporteRelacion <> Nothing, factura.ImporteRelacion, -1)), - CveTipoAmortizacionAnticipo:=factura.CveTipoAmortizacionAnticipo, CveEmpresaCRM:=CveEmpresaCRM, EsInterno:=EsInterno, ServicioDomicilio:=factura.ServicioDomicilio, RFCReceptor:=RFCReceptor, EsGarantia:=factura.EsGarantia) Then + CveTipoAmortizacionAnticipo:=factura.CveTipoAmortizacionAnticipo, CveEmpresaCRM:=CveEmpresaCRM, EsInterno:=EsInterno, ServicioDomicilio:=factura.ServicioDomicilio, RFCReceptor:=RFCReceptor, EsGarantia:=factura.EsGarantia, DescripcionVenta:=factura.DescripcionVenta) Then ErrorList.Add("Ocurrió un error al Generar la Venta.
Revise su factura y cualquier detalle comuníquese a Soporte Técnico") @@ -7458,6 +7458,7 @@ Namespace Modelos Public Property FordASN As String = "" Public Property FemsaFactura As Modelos.FemsaFactura Public Property DevolucionImportePagado As Decimal = 0 + Public Property DescripcionVenta As String = "" Public Sub SetSubProyecto() If CveSubProyecto > 0 AndAlso UsuarioActual IsNot Nothing Then diff --git a/RH/Personal.aspx.vb b/RH/Personal.aspx.vb index 029a45413..7395a49c5 100644 --- a/RH/Personal.aspx.vb +++ b/RH/Personal.aspx.vb @@ -7899,88 +7899,95 @@ Partial Class RH_Personal Private Sub CalculaDiasVacaciones(fechaInicioParametro As Date, diasVacaciones As Integer, Optional fechaFinParametro As Date = Nothing) - Dim diaDescanso As Integer = GlobalDTTurno(UsuarioActual.CveEmpresa).FiltroPrimeroValor("DiaDescanso", $" CveTurno = {DdlTurno.SelectedValue.ToEntero}").ToEntero - diaDescanso = If(diaDescanso <= 0, 1, diaDescanso) + 'Dim diaDescanso As Integer = GlobalDTTurno(UsuarioActual.CveEmpresa).FiltroPrimeroValor("DiaDescanso", $" CveTurno = {DdlTurno.SelectedValue.ToEntero}").ToEntero + 'diaDescanso = If(diaDescanso <= 0, 1, diaDescanso) - If fechaFinParametro <> Nothing Then - If fechaInicioParametro > fechaFinParametro Then - Alert("La fecha fin no puede ser mayor a la fecha inicial", TipoMensaje.MsgAdvertencia) - fechaFinParametro = Nothing - TxtVacDiasPago.Text = DiasDisponibles.ToString - End If - End If + 'If fechaFinParametro <> Nothing Then + ' If fechaInicioParametro > fechaFinParametro Then + ' Alert("La fecha fin no puede ser mayor a la fecha inicial", TipoMensaje.MsgAdvertencia) + ' fechaFinParametro = Nothing + ' TxtVacDiasPago.Text = DiasDisponibles.ToString + ' End If + 'End If - If fechaFinParametro <> Nothing Then + 'If fechaFinParametro <> Nothing Then - Dim DiferenciaEntreFechas As Integer = (fechaFinParametro - fechaInicioParametro).Days + 1 - Dim DiasNolavorales As Integer = 0 - Dim FechaTemp As Date = fechaInicioParametro + ' Dim DiferenciaEntreFechas As Integer = (fechaFinParametro - fechaInicioParametro).Days + 1 + ' Dim DiasNolavorales As Integer = 0 + ' Dim FechaTemp As Date = fechaInicioParametro - For x As Integer = 1 To DiferenciaEntreFechas - Dim day_of_week As Integer = CType(FechaTemp.DayOfWeek, Integer) + 1 + ' For x As Integer = 1 To DiferenciaEntreFechas + ' Dim day_of_week As Integer = CType(FechaTemp.DayOfWeek, Integer) + 1 - If day_of_week = diaDescanso Then - DiasNolavorales = DiasNolavorales + 1 + ' If day_of_week = diaDescanso Then + ' DiasNolavorales = DiasNolavorales + 1 + ' End If + + ' FechaTemp = FechaTemp.AddDays(1) + + ' If 1 = DiferenciaEntreFechas Then + ' If day_of_week = diaDescanso Then + ' DiasNolavorales = DiasNolavorales + 1 + ' End If + ' End If + ' Next x + + + ' If (DiferenciaEntreFechas - DiasNolavorales) >= DiasDisponibles Then + ' diasVacaciones = DiasDisponibles + ' Else + ' diasVacaciones = DiferenciaEntreFechas - DiasNolavorales + ' End If + + ' TxtVacDiasPago.Text = diasVacaciones.ToString + + 'End If + + 'If TxtVacDiasPago.Text.ToEntero > DiasDisponibles Then + ' TxtVacDiasPago.Text = DiasDisponibles.ToString + ' diasVacaciones = DiasDisponibles + 'End If + + + 'Dim DiasAgregados As Integer = 0 + 'Dim FechaFin As Date = fechaInicioParametro + 'Dim Contador As Integer = 0 + 'For x As Integer = 2 To diasVacaciones + ' Dim day_of_week As Integer = CType(FechaFin.DayOfWeek, Integer) + 1 + ' If day_of_week = diaDescanso Then + ' FechaFin = FechaFin.AddDays(2) + ' DiasAgregados = DiasAgregados + 1 + ' Else + ' FechaFin = FechaFin.AddDays(1) + ' day_of_week = CType(FechaFin.DayOfWeek, Integer) + 1 + ' If (diasVacaciones = Contador + 2) AndAlso day_of_week = diaDescanso Then + ' FechaFin = FechaFin.AddDays(1) + ' DiasAgregados = DiasAgregados + 1 + ' End If + + ' End If + ' Contador = Contador + 1 + 'Next + + + + 'Dim UltimoDiamasUno As Integer = CType(FechaFin.AddDays(1).DayOfWeek, Integer) + 1 + + 'If UltimoDiamasUno = diaDescanso Then + ' FechaFin = FechaFin.AddDays(1) + ' DiasAgregados = DiasAgregados + 1 + 'End If + 'TxtFechaFinVac.Text = FechaFin.ToString + 'Txtdiasinabiles.Text = DiasAgregados.ToString + Using onom As New ClsNominas + If onom.CalculaDiasFeriados(fechaInicioParametro.ToDateTime().ToString("yyyy-MM-dd"), "", diasVacaciones, 0, UsuarioActual.CveEmpresa, UsuarioActual.CvePersonal) Then + If Not IsNothing(onom.DtResultados) AndAlso onom.DtResultados.Rows.Count > 0 Then + Dim drow As DataRow = onom.DtResultados.Rows(0) + TxtFechaFinVac.Text = String.Format("{0:dd/MM/yyyy}", drow("FechaInicio")) + Txtdiasinabiles.Text = String.Format("{0}", drow("DiaFeriadoB")) End If - - FechaTemp = FechaTemp.AddDays(1) - - If 1 = DiferenciaEntreFechas Then - If day_of_week = diaDescanso Then - DiasNolavorales = DiasNolavorales + 1 - End If - End If - Next x - - - If (DiferenciaEntreFechas - DiasNolavorales) >= DiasDisponibles Then - diasVacaciones = DiasDisponibles - Else - diasVacaciones = DiferenciaEntreFechas - DiasNolavorales End If - - TxtVacDiasPago.Text = diasVacaciones.ToString - - End If - - If TxtVacDiasPago.Text.ToEntero > DiasDisponibles Then - TxtVacDiasPago.Text = DiasDisponibles.ToString - diasVacaciones = DiasDisponibles - End If - - - Dim DiasAgregados As Integer = 0 - Dim FechaFin As Date = fechaInicioParametro - Dim Contador As Integer = 0 - For x As Integer = 2 To diasVacaciones - Dim day_of_week As Integer = CType(FechaFin.DayOfWeek, Integer) + 1 - If day_of_week = diaDescanso Then - FechaFin = FechaFin.AddDays(2) - DiasAgregados = DiasAgregados + 1 - Else - FechaFin = FechaFin.AddDays(1) - day_of_week = CType(FechaFin.DayOfWeek, Integer) + 1 - If (diasVacaciones = Contador + 2) AndAlso day_of_week = diaDescanso Then - FechaFin = FechaFin.AddDays(1) - DiasAgregados = DiasAgregados + 1 - End If - - End If - Contador = Contador + 1 - Next - - - - Dim UltimoDiamasUno As Integer = CType(FechaFin.AddDays(1).DayOfWeek, Integer) + 1 - - If UltimoDiamasUno = diaDescanso Then - FechaFin = FechaFin.AddDays(1) - DiasAgregados = DiasAgregados + 1 - End If - - TxtFechaFinVac.Text = FechaFin.ToString - Txtdiasinabiles.Text = DiasAgregados.ToString - + End Using UpSolicitarVacaciones.Update() End Sub diff --git a/Ventas/PV.aspx b/Ventas/PV.aspx index efaae63ff..d384469cb 100644 --- a/Ventas/PV.aspx +++ b/Ventas/PV.aspx @@ -322,6 +322,12 @@ + + Descripción: + + + + Es Distribuidor diff --git a/Ventas/PV.aspx.vb b/Ventas/PV.aspx.vb index 5128cadec..3202802b6 100644 --- a/Ventas/PV.aspx.vb +++ b/Ventas/PV.aspx.vb @@ -1283,6 +1283,13 @@ Partial Class PV End If DdlTipoDefecto.Width = New Unit(260%) + If UsuarioActual.Empresa.Funcionalidad(163) = "1" Then + TrDescripcionVenta.Visible = True + If CveVenta <= 0 Then + TxtDescripcionVenta.Enabled = True + End If + End If + 'Le quitamos el tamaño extra 'RegistraScript("window.onload = function AjustarVentana() { $('.page-content').css('min-height','100%'); }") End If @@ -1510,6 +1517,11 @@ Partial Class PV HdnFolioFiscalNC.Value = DbRowVenta("FolioFiscalPadre").ToString End If + If UsuarioActual.Empresa.Funcionalidad(163) = "1" Then + TrDescripcionVenta.Visible = True + TxtDescripcionVenta.Text = DbRowVenta("DescripcionVenta").ToString() + End If + 'Envio Direccion If DbRowVenta("CveDireccionEnvio").ToString.ToEntero > 0 AndAlso DbRowVenta("CveDireccionEnvio").ToString IsNot Nothing Then @@ -3770,6 +3782,8 @@ Partial Class PV ObjFactura.GenerarPDFFactura = False + ObjFactura.DescripcionVenta = TxtDescripcionVenta.Text.Trim() + Dim CveTipoAlmacen As Integer = If(TmpDTAjustes IsNot Nothing AndAlso TmpDTAjustes.Rows.Count > 0, 6, 22) If GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltraParametros($"CveTipoAlmacen = {CveTipoAlmacen} AND CveSubProyecto= {DdlSubProyectoDatos.SelectedValue}").Rows.Count > 0 Then ObjFactura.CveAlmacenRecepcionUsados = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltraParametros($"CveTipoAlmacen = {CveTipoAlmacen} AND CveSubProyecto= {DdlSubProyectoDatos.SelectedValue}").Rows(0)("CveAlmacen").ToString.ToEntero @@ -6088,7 +6102,10 @@ Partial Class PV TxtFechaPago.Text = NowADS().AddDays(PlazoCobranza).ToShortDateString Case 2 'CONTADO If DdlTipoComprobante.SelectedValue.Contiene("Ing", "Ant") Then - DivContado.Visible = True + 'SI ES MODALIDAD COBRANZA, NO MOSTRAR + If Not (UsuarioActual.Empresa.Funcionalidad(109) = "1") Then + DivContado.Visible = True + End If TxtImporteContado.Text = TxtTotal.Text End If TxtFechaPago.Text = NowADS().ToShortDateString diff --git a/Ventas/Ventas.aspx b/Ventas/Ventas.aspx index 3569a58bf..628e7c404 100644 --- a/Ventas/Ventas.aspx +++ b/Ventas/Ventas.aspx @@ -378,6 +378,9 @@
  • Solicitar autorización de crédito
  • +
  • + Cancelar solo CFDI +
  • diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb index 44320dd7d..476164075 100644 --- a/Ventas/Ventas.aspx.vb +++ b/Ventas/Ventas.aspx.vb @@ -2340,6 +2340,11 @@ Partial Class Ventas If Not IsPostBack Then + ''SOLO SISTEMA DEBE VER ESTA OPCION + 'If UsuarioActual.CveUsuario = 100 Then + ' LnkCancelarSoloCFDI.Visible = True + 'End If + If IfNull(Request("Opcionx"), "").ToString = "Saldar" And UsuarioActual.CveUsuario = 100 Then TxtFechaSaldarVenta.Text = "2021/12/31" SaldarVenta() @@ -16194,6 +16199,8 @@ Partial Class Ventas #Region " BTN ELIMINAR " Protected Sub BtnEmitir_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BtnEmitir.Click + 'ChkEnviarFactura.Checked = False + If CveVenta <= 0 Then Alert("Ocurrió un error al emitir la factura", TipoMensaje.MsgError) Exit Sub @@ -35733,5 +35740,32 @@ Partial Class Ventas #End Region + Protected Sub LnkCancelarSoloCFDI_Click(sender As Object, e As EventArgs) + If CveVenta > 0 Then + Dim RowVenta As DataRow = Nothing + + Using ObjVentas As New ClsVentas + If (ObjVentas.GetVenta(CveVenta, UsuarioActual.CveEmpresa)) Then + RowVenta = ObjVentas.DtResultados.Copy().Rows(0) + End If + End Using + + If RowVenta IsNot Nothing Then + Dim FolioFiscal As String = RowVenta("FolioFiscal").ToString().Trim() + Dim Total As Decimal = RowVenta("Total").ToString().ToDecimal() + Dim RFCReceptor As String = RowVenta("RFCReceptor").ToString() + Dim ObjTimbrado As New Timbrado + Dim resp = ObjTimbrado.CFDICancelar(UsuarioActual.Empresa, FolioFiscal, Total, RFCReceptor, UsuarioActual.Empresa.RFC, CvePACCancelacion:=4, ValidaFactura:=False, CveSATMotivoCancelacion:=2) + If resp IsNot Nothing Then + Alert(resp.Estado) + End If + + End If + End If + + + + + End Sub End Class