diff --git a/.gitignore b/.gitignore index c1c000c04..87f32d266 100644 --- a/.gitignore +++ b/.gitignore @@ -288,3 +288,5 @@ vwd.webinfo /A/a.aspx /A/a.aspx.vb /General/Report.rdlc +/TmpPruebas.aspx +/TmpPruebas.aspx.vb diff --git a/AF/CatAF.aspx b/AF/CatAF.aspx index b32f78b85..840217e53 100644 --- a/AF/CatAF.aspx +++ b/AF/CatAF.aspx @@ -54,6 +54,10 @@ Excel +
  • + + Personalizar Columnas +
  • @@ -160,7 +164,7 @@ - + @@ -190,86 +194,311 @@ -
    - Encontrados: - - -
    + - +
    + Encontrados: +
    + - + + <%-- 0 --%> + - + + <%-- 1 --%> + - <%----%> + + <%-- 2 --%> + + <%-- 3 --%> + + <%-- 4 --%> + + <%-- 5 --%> + + <%-- 6 --%> + + <%-- 7 --%> + + <%-- 8 --%> + + <%-- 9 --%> - + + + + <%-- 10 --%> + + + + + + + + <%-- 11 --%> + + + + + + + + <%-- 12 --%> + + + + + + + + <%-- 13 --%> + + + + + + + + <%-- 14 --%> + + + + + + + + <%-- 15 --%> + + + + + + + + <%-- 16 --%> + + + + + + + + <%-- 17 --%> + + + + + + + + <%-- 18 --%> + + + + + + + + <%-- 19 --%> + + + + + + + +
    + + + + + + + + + +<%-- + + + + --%> + + + + + + + + - + <%-- + --%> diff --git a/AF/CatAF.aspx.vb b/AF/CatAF.aspx.vb index 239c3235c..e8dfe0bfd 100644 --- a/AF/CatAF.aspx.vb +++ b/AF/CatAF.aspx.vb @@ -32,6 +32,19 @@ Partial Class AF_CatAF ViewState("DTAFCaracteristicas") = value End Set End Property + + Private Property DtDatos As DataTable + Get + If ViewState("DtDatos") Is Nothing Then + ViewState("DtDatos") = New DataTable + End If + Return DirectCast(ViewState("DtDatos"), DataTable) + End Get + Set(value As DataTable) + ViewState("DtDatos") = value + End Set + End Property + #End Region Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load @@ -46,6 +59,9 @@ Partial Class AF_CatAF CargaDatos() End If + CargaPersonalizacion() + + End If End Sub @@ -278,7 +294,7 @@ Partial Class AF_CatAF GvDatos.DataSource = DtActivosFijos GvDatos.DataBind() - 'LtlTotalRegistros.Text = DtActivosFijos.Rows.Count.ToString.FormatoNumero(0) + LtlTotalRegistros.Text = DtActivosFijos.Rows.Count.ToString.FormatoNumero(0) UpGV.Update() OrdenaDatos() @@ -492,5 +508,251 @@ Partial Class AF_CatAF #End Region +#Region " P E R S O N A L I Z A R C O L U M N A S " + Protected Sub LnkPersonalizar_Click(sender As Object, e As EventArgs) + + ChkGuardarPersonalizacion.Checked = False + RegistraScript("$('#DivPersonalizar').modal('show')") + + End Sub + + Protected Sub BtnPersonalizar_Click(sender As Object, e As System.EventArgs) Handles BtnPersonalizar.Click + + If ChkGuardarPersonalizacion.Checked Then + GuardaPersonalizacion() + End If + + Personaliza() + CargaGvDatos() + UpGV.Update() + + End Sub + + + + Private Sub GuardaPersonalizacion() + + Dim objUsuario As New ClsSisUsuarios + Dim ListPersonalizada As New List(Of String) + + If ChkCodigo.Checked Then ListPersonalizada.Add("Codigo") + + If ChkDescripcion.Checked Then ListPersonalizada.Add("Descripcion") + + If ChkTipoActivoFijo.Checked Then ListPersonalizada.Add("TipoActivoFijo") + + If ChkSubTIpoActivoFijo.Checked Then ListPersonalizada.Add("SubTIpoActivoFijo") + + If ChkResponsable.Checked Then ListPersonalizada.Add("Responsable") + + If ChkNoSerie.Checked Then ListPersonalizada.Add("NoSerie") + + If ChkAño.Checked Then ListPersonalizada.Add("Año") + + If ChkSubProyecto.Checked Then ListPersonalizada.Add("SubProyecto") + + If ChkEstadoActivoFijo.Checked Then ListPersonalizada.Add("EstadoActivoFijo") + + If ChkFechaIng.Checked Then ListPersonalizada.Add("FechaIng") + + If ChkGrupo.Checked Then ListPersonalizada.Add("Grupo") + + If ChkMarcaActivoFijo.Checked Then ListPersonalizada.Add("MarcaActivoFijo") + + If ChkModeloActivoFijo.Checked Then ListPersonalizada.Add("ModeloActivoFijo") + + If ChkNombreCuenta.Checked Then ListPersonalizada.Add("NombreCuenta") + + If ChkValorCompra.Checked Then ListPersonalizada.Add("ValorCompra") + + If ChkFechaCompra.Checked Then ListPersonalizada.Add("FechaCompra") + + If ChkFechaBaja.Checked Then ListPersonalizada.Add("FechaBaja") + + If ChkProyecto.Checked Then ListPersonalizada.Add("Proyecto") + + 'If ChkSubProyecto.Checked Then ListPersonalizada.Add("SubProyecto") + + If ChkNombreCliente.Checked Then ListPersonalizada.Add("NombreCliente") + + If ChkObservaciones.Checked Then ListPersonalizada.Add("Observaciones") + + + If objUsuario.AddUsuariosPersonalizaciones(UsuarioActual, "CatAF.aspx", String.Join("|", ListPersonalizada)) Then + 'Alert("Personalizacion guardada") + End If + + objUsuario.Dispose() + + End Sub + + + Private Sub CargaPersonalizacion() + + Dim strBasePersonalizacion As String = UsuarioActual.Personalizaciones("CatAF.aspx") + + If strBasePersonalizacion.Trim.Length > 0 Then + + ChkCodigo.Checked = False + ChkDescripcion.Checked = False + ChkTipoActivoFijo.Checked = False + ChkSubTIpoActivoFijo.Checked = False + ChkResponsable.Checked = False + ChkNoSerie.Checked = False + ChkAño.Checked = False + ChkSubProyecto.Checked = False + ChkEstadoActivoFijo.Checked = False + ChkFechaIng.Checked = False + ChkGrupo.Checked = False + ChkMarcaActivoFijo.Checked = False + ChkModeloActivoFijo.Checked = False + ChkNombreCuenta.Checked = False + ChkValorCompra.Checked = False + ChkFechaCompra.Checked = False + ChkFechaBaja.Checked = False + 'ChkNoSerie.Checked = False + 'ChkEstadoActivoFijo.Checked = False + 'ChkResponsable.Checked = False + ChkProyecto.Checked = False + 'ChkSubProyecto.Checked = False + ChkNombreCliente.Checked = False + ChkObservaciones.Checked = False + + Dim Personalizaciones As String() = strBasePersonalizacion.Split("|"c) + + For Each personalizacion As String In Personalizaciones + Select Case personalizacion + Case "Codigo" + ChkCodigo.Checked = True + Exit Select + Case "Descripcion" + ChkDescripcion.Checked = True + Exit Select + Case "TipoActivoFijo" + ChkTipoActivoFijo.Checked = True + Exit Select + Case "SubTIpoActivoFijo" + ChkSubTIpoActivoFijo.Checked = True + Exit Select + Case "Responsable" + ChkResponsable.Checked = True + Exit Select + Case "NoSerie" + ChkNoSerie.Checked = True + Exit Select + Case "Año" + ChkAño.Checked = True + Exit Select + Case "SubProyecto" + ChkSubProyecto.Checked = True + Exit Select + Case "EstadoActivoFijo" + ChkEstadoActivoFijo.Checked = True + Exit Select + Case "FechaIng" + ChkFechaIng.Checked = True + Exit Select + Case "Grupo" + ChkGrupo.Checked = True + Exit Select + Case "MarcaActivoFijo" + ChkMarcaActivoFijo.Checked = True + Exit Select + Case "ModeloActivoFijo" + ChkModeloActivoFijo.Checked = True + Exit Select + Case "NombreCuenta" + ChkNombreCuenta.Checked = True + Exit Select + Case "ValorCompra" + ChkValorCompra.Checked = True + Exit Select + Case "FechaCompra" + ChkFechaCompra.Checked = True + Exit Select + Case "FechaBaja" + ChkFechaBaja.Checked = True + Exit Select + Case "Proyecto" + ChkProyecto.Checked = True + Exit Select + Case "NombreCliente" + ChkNombreCliente.Checked = True + Exit Select + Case "Observaciones" + ChkObservaciones.Checked = True + Exit Select + Case Else + Exit Select + End Select + Next + + Else + PersonalizaDefault() + End If + + Personaliza() + + UPPersonalizar.Update() + + End Sub + + + Private Sub PersonalizaDefault() + + ChkCodigo.Checked = True + ChkDescripcion.Checked = True + ChkTipoActivoFijo.Checked = True + ChkSubTIpoActivoFijo.Checked = True + ChkResponsable.Checked = True + ChkNoSerie.Checked = True + ChkAño.Checked = True + ChkSubProyecto.Checked = True + ChkEstadoActivoFijo.Checked = True + ChkFechaIng.Checked = True + + End Sub + + + Private Sub Personaliza() + + GvDatos.Columns(0).Visible = ChkCodigo.Checked + GvDatos.Columns(1).Visible = ChkDescripcion.Checked + GvDatos.Columns(2).Visible = ChkTipoActivoFijo.Checked + GvDatos.Columns(3).Visible = ChkSubTIpoActivoFijo.Checked + GvDatos.Columns(4).Visible = ChkResponsable.Checked + GvDatos.Columns(5).Visible = ChkNoSerie.Checked + GvDatos.Columns(6).Visible = ChkAño.Checked + GvDatos.Columns(7).Visible = ChkSubProyecto.Checked + GvDatos.Columns(8).Visible = ChkEstadoActivoFijo.Checked + GvDatos.Columns(9).Visible = ChkFechaIng.Checked + + GvDatos.Columns(10).Visible = ChkGrupo.Checked + GvDatos.Columns(11).Visible = ChkMarcaActivoFijo.Checked + GvDatos.Columns(12).Visible = ChkModeloActivoFijo.Checked + GvDatos.Columns(13).Visible = ChkNombreCuenta.Checked + GvDatos.Columns(14).Visible = ChkValorCompra.Checked + GvDatos.Columns(15).Visible = ChkFechaCompra.Checked + GvDatos.Columns(16).Visible = ChkFechaBaja.Checked + 'GvDatos.Columns(17).Visible = ChkNoSerie.Checked + 'GvDatos.Columns(18).Visible = ChkEstadoActivoFijo.Checked + 'GvDatos.Columns(19).Visible = ChkResponsable.Checked + GvDatos.Columns(17).Visible = ChkProyecto.Checked + 'GvDatos.Columns(18).Visible = ChkSubProyecto.Checked + GvDatos.Columns(18).Visible = ChkNombreCliente.Checked + GvDatos.Columns(19).Visible = ChkObservaciones.Checked + + + + 'Personalizo = 1 + 'If Personalizo = 1 Then + ' ImgExcelPersonalizado.Visible = True + 'Else + ' ImgExcelPersonalizado.Visible = False + 'End If + + End Sub + +#End Region End Class diff --git a/App_Code/ClsGenerales.vb b/App_Code/ClsGenerales.vb index 0792aa609..5c3ef1f46 100644 --- a/App_Code/ClsGenerales.vb +++ b/App_Code/ClsGenerales.vb @@ -2617,18 +2617,18 @@ Public Class ClsGenerales End Try Return Retorno - End Function - - + End Function + + #End Region - + #Region "Bitacora" Public Function GetHistorialBitacora(CveAcarreo As Integer, CveOrdenCompra As Integer, CveActivoFijo As Integer, CveOS As Integer, CvePS As Integer, CveCompra As Integer, CveIE As Integer, CveEmpresa As Integer, Optional CveUsuario As Integer = -1, Optional CvePersonal As Integer = -1, Optional IdPoliza As Integer = -1, Optional CvePrePoliza As Integer = -1, Optional CvePeriodo As Integer = -1, Optional CveConceptoNomina As Integer = -1, Optional CvePromocion As Integer = -1, Optional CveAsistencia As Integer = -1, Optional CveAsistenciaDetalle As Integer = -1, Optional CveTipoBitacora As Integer = -1, - Optional FechaInicio As String = "", Optional FechaFin As String = "", Optional Fecha As Date = MinFecha) As Boolean + Optional FechaInicio As String = "", Optional FechaFin As String = "", Optional Fecha As Date = MinFecha, Optional CveContrato As Integer = -1) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Gral_HistorialBitacoraGet") @@ -2648,6 +2648,7 @@ Public Class ClsGenerales .Add("@CvePeriodo", SqlDbType.Int).Value = CvePeriodo .Add("@CveConceptoNomina", SqlDbType.Int).Value = CveConceptoNomina .Add("@CvePromocion", SqlDbType.Int).Value = CvePromocion + .Add("@CveContrato", SqlDbType.Int).Value = CveContrato .Add("@CveAsistencia", SqlDbType.Int).Value = CveAsistencia @@ -2698,7 +2699,7 @@ Public Class ClsGenerales CveIE As Integer, Actual As String, Anterior As String, CveUsuario As Integer, CveEmpresa As Integer, SeElimino As Integer, Descripcion As String, Tipo As String, Id_Clave As String, Optional IdPoliza As Integer = -1, Optional CvePromocion As Integer = -1, Optional CveUsuarioTabla As Integer = -1, - Optional CvePersonal As Integer = -1, Optional Motivo As String = "", Optional Fecha As String = "1900/01/01") As Boolean + Optional CvePersonal As Integer = -1, Optional Motivo As String = "", Optional Fecha As String = "1900/01/01", Optional CveContrato As Integer = -1) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Gral_HistorialBitacoraAdd") @@ -2725,6 +2726,7 @@ Public Class ClsGenerales .Add("@CvePersonal", SqlDbType.Int).Value = CvePersonal .Add("@Motivo", SqlDbType.VarChar).Value = Motivo .Add("@Fecha", SqlDbType.DateTime).Value = Fecha + .Add("@CveContrato", SqlDbType.Int).Value = CveContrato End With diff --git a/App_Code/ClsInventarios.vb b/App_Code/ClsInventarios.vb index d78ec663b..fd14b2e9a 100644 --- a/App_Code/ClsInventarios.vb +++ b/App_Code/ClsInventarios.vb @@ -1513,6 +1513,33 @@ Public Class ClsInventarios Return Retorno End Function + Public Function GetInvExistenciasCapas(CvePS As Integer, FechaI As DateTime, FechaF As DateTime, CveEmpresa As Integer, Optional CvesAlmacenes As String = "-1") As Boolean + Dim Retorno As Boolean = False + + DataAdapter("PA_Inv_ExistenciasCapasGet") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CvePS", SqlDbType.Int).Value = CvePS + .Add("@FechaI", SqlDbType.DateTime).Value = FechaI + .Add("@FechaF", SqlDbType.DateTime).Value = FechaF + .Add("@CvesAlmacenes", SqlDbType.VarChar).Value = CvesAlmacenes + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + End With + + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch Ex1 As SqlException + + Me.OnError("Ocurrió un error al obtener las existencias de los movimientos.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + + Catch ex As Exception + OnError("Ocurrió un error al obtener las existencias de los movimientos.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + End Try + + Return Retorno + + End Function Public Function GetKardexAlmacen(CvePS As Integer, FechaI As String, FechaF As String, CveAlmacen As Integer, CveUnidadMedida As Integer, CveUsuario As Integer, CveEmpresa As Integer) As Boolean Dim Retorno As Boolean = False diff --git a/App_Code/ClsOC.vb b/App_Code/ClsOC.vb index 3fb0c1389..08a417153 100644 --- a/App_Code/ClsOC.vb +++ b/App_Code/ClsOC.vb @@ -30,6 +30,7 @@ Public Class ClsOC Public Property CveOrdenCompra As Integer Public Property CveOrdenCompraDetalle As Integer Public Property Folio As Integer + Public Property Serie As String = "" Public Property CveIEAnticipo As Integer Public Property CveProveedorAnticipo As Integer Public Property FolioIEAnticipo As Integer @@ -120,6 +121,8 @@ Public Class ClsOC Public Property Promocion As String Public Property CveProveedorContacto As Integer Public Property NumRemision As String + Public Property PorcentajeProntoPago As Decimal = 0 + Public ReadOnly Property DtResultados() As DataTable Get @@ -606,6 +609,7 @@ Public Class ClsOC Dim dr As DataRow = Data.Rows(0) _CveOrdenCompra = dr("CveOrdenCompra").ToString.ToEntero _Folio = dr("Folio").ToString.ToEntero + _Serie = dr("Serie").ToString _CveIEAnticipo = dr("CveIEAnticipo").ToString.ToEntero _FolioIEAnticipo = dr("FolioIEAnticipo").ToString.ToEntero _ImporteAnticipo = dr("ImporteAnticipo").ToString.ToDecimal @@ -688,6 +692,7 @@ Public Class ClsOC Promocion = IfNull(dr("Promocion"), "", dr("Promocion").ToString).ToString CveProveedorContacto = If(Not IsDBNull(dr("CveProveedorContacto")), dr("CveProveedorContacto").ToString.ToEntero, -1) NumRemision = dr("NumRemision").ToString + PorcentajeProntoPago = dr("PorcentajeProntoPago").ToString.ToDecimal Retorno = True ElseIf Data.Rows.Count > 0 Then @@ -708,7 +713,7 @@ Public Class ClsOC Optional PorcentajeIVA As Decimal = 0.16D, Optional IVA As Decimal = 0, Optional RetIVA As Decimal = 0, Optional RetISR As Decimal = 0, Optional FechaExpiracion As Date = Nothing, Optional CveCotizacion As Integer = -1, Optional FolioAdicional As String = "", Optional EntregaDirecta As Integer = -1, Optional CveDireccionEnvio As Integer = -1, Optional Guia As String = "-1", Optional IEPS As Decimal = -1, Optional CveIEAnticipo As Integer = -1, Optional ImporteAnticipo As Decimal = 0, Optional UsoCFDI As Integer = -1, Optional Promocion As String = "-1", Optional CveProveedorContacto As Integer = -1, Optional NumRemision As String = "-1", - Optional CveColectiva As Integer = -1, Optional MetodoPago As Integer = -1, Optional CveSubProyectoEntrega As Integer = -1) As Boolean + Optional CveColectiva As Integer = -1, Optional MetodoPago As Integer = -1, Optional CveSubProyectoEntrega As Integer = -1, Optional PorcentajeProntoPago As Decimal = 0) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_OC_OrdenesCompraAdd") @@ -755,6 +760,7 @@ Public Class ClsOC .Add("@CveColectiva", SqlDbType.Int).Value = CveColectiva .Add("@MetodoPago", SqlDbType.Int).Value = MetodoPago ' 0 Contado, 1 Credito .Add("@CveSubProyectoEntrega", SqlDbType.Int).Value = CveSubProyectoEntrega ' 0 Contado, 1 Credito + .Add("@PorcentajeProntoPago", SqlDbType.Decimal).Value = PorcentajeProntoPago .Add("@vCveOrdenCompra", SqlDbType.Int).Direction = ParameterDirection.Output .Add("@vFolio", SqlDbType.Int).Direction = ParameterDirection.Output @@ -919,7 +925,7 @@ Public Class ClsOC Optional IVA As Decimal = 0, Optional RetIVA As Decimal = 0, Optional RetISR As Decimal = 0, Optional IDPoliza As Integer = -1, Optional FechaExpiracion As Date = Nothing, Optional FolioAdicional As String = "", Optional EntregaDirecta As Integer = -1, Optional CveDireccionEnvio As Integer = -1, Optional Guia As String = "-1", Optional IEPS As Decimal = -1, Optional UsoCFDI As Integer = -1, Optional Promocion As String = "-1", Optional pCveProveedorSucursal As Integer = -1, Optional CveProveedorContacto As Integer = -1, Optional PorcentajeIVA As Decimal = 0.16D, Optional NumRemision As String = "-1", Optional MetodoPago As Integer = -1, - Optional CveSubProyectoEntrega As Integer = -1) As Boolean + Optional CveSubProyectoEntrega As Integer = -1, Optional PorcentajeProntoPago As Decimal = 0) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_OC_OrdenesCompraUpdate") @@ -956,6 +962,8 @@ Public Class ClsOC .Add("@NumRemision", SqlDbType.VarChar).Value = NumRemision .Add("@MetodoPago", SqlDbType.Int).Value = MetodoPago ' 0 Contado, 1 Credito .Add("@CveSubProyectoEntrega", SqlDbType.Int).Value = CveSubProyectoEntrega + .Add("@PorcentajeProntoPago", SqlDbType.Decimal).Value = PorcentajeProntoPago + End With diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb index 04baf5021..04d175ee7 100644 --- a/App_Code/ClsPaginas.vb +++ b/App_Code/ClsPaginas.vb @@ -7850,7 +7850,10 @@ Public Class ClsPaginas params.Add(New ReportParameter("Proyecto", If(DtDetalle IsNot Nothing AndAlso DtDetalle.Rows.Count > 0, DtDetalle.MAX("Proyecto").ToString, ""))) End If params.Add(New ReportParameter("CentroCostos", If(DtDetalle IsNot Nothing AndAlso DtDetalle.Rows.Count > 0, DtDetalle.MAX("Proyecto").ToString, ""))) - params.Add(New ReportParameter("Folio", ObjOC.Folio.ToString)) + + + params.Add(New ReportParameter("Folio", If(ObjOC.Serie.Length > 0, $"{ObjOC.Serie}-{ObjOC.Folio.ToString}", ObjOC.Folio.ToString))) + params.Add(New ReportParameter("ProveedorNombre", ObjOC.RazonSocial)) params.Add(New ReportParameter("ProveedorLugar", ObjOC.LugarEntrega)) params.Add(New ReportParameter("Estatus", ObjOC.Estatus)) diff --git a/App_Code/ClsValidaCFDi.vb b/App_Code/ClsValidaCFDi.vb index c2e19cc0c..35248b76d 100644 --- a/App_Code/ClsValidaCFDi.vb +++ b/App_Code/ClsValidaCFDi.vb @@ -97,18 +97,24 @@ Public Class ClsValidaCFDi oAcuse = wsConsultaCFDI.Consulta(String.Format("?re={0}&rr={1}&tt={2}&id={3}", LRFCEmisor, LRFCReceptor, Importe, LFolioFiscal.ToUpper)) 'oAcuse = wsConsultaCFDI.Consulta("?re=LESA6211234B2&rr=GCO890418M56&tt=0000001360.000000&id=0C8BAD9C-A8C6-4A48-8FF5-0687AC6F1581") 'Alert(oAcuse.Estado) - If oAcuse.Estado.ToLower = "vigente" Then - EsValida = 1 - End If - If oAcuse.Estado.ToLower = "cancelado" Then - EsValida = 2 - End If - If oAcuse.ValidacionEFOS = "100" Then - EnListaEFOS = True + If oAcuse IsNot Nothing AndAlso oAcuse.Estado IsNot Nothing AndAlso oAcuse.ValidacionEFOS IsNot Nothing Then + If oAcuse.Estado.ToLower = "vigente" Then + EsValida = 1 + End If + If oAcuse.Estado.ToLower = "cancelado" Then + EsValida = 2 + End If + + If oAcuse.ValidacionEFOS = "100" Then + EnListaEFOS = True + Else + EnListaEFOS = False + End If Else - EnListaEFOS = False + EsValida = 0 End If + Catch ex As Exception MsgError = "Op1. No se pudo validar la vigencia ante el SAT " GuardaLog(String.Format("Op1. {0}", ex.Message)) @@ -122,7 +128,7 @@ Public Class ClsValidaCFDi Dim Vigencia As Timbrado.AcuseCancelacionSAT = Timbrado.VerificarVigenciaSAT(LFolioFiscal.ToUpper, LRFCEmisor.Replace("%26", "&"), LRFCReceptor.Replace("%26", "&"), Importe, True) - If Vigencia IsNot Nothing Then + If Vigencia IsNot Nothing AndAlso Vigencia.Estado IsNot Nothing AndAlso Vigencia.EsCancelable IsNot Nothing AndAlso Vigencia.EstatusCancelacion IsNot Nothing Then If Not Vigencia.Estado.ToUpper().Contains("NO ENCONTRADO") AndAlso Vigencia.EsCancelable.ToUpper() = "NO CANCELABLE" Then EsValida = 1 End If diff --git a/App_Code/ClsVentas.vb b/App_Code/ClsVentas.vb index 2732e461b..abc48596e 100644 --- a/App_Code/ClsVentas.vb +++ b/App_Code/ClsVentas.vb @@ -5221,7 +5221,7 @@ Public Class ClsVentas Return Retorno End Function - Public Function AutorizacionLimitesUpdate(CveAutorizacion As Integer, CveCliente As Integer, CveVendedor As Integer, Importe As Decimal, CveEstatus As Integer) As Boolean + Public Function AutorizacionLimitesUpdate(CveAutorizacion As Integer, CveCliente As Integer, CveVendedor As Integer, Importe As Decimal, CveEstatus As Integer, CveUsuarioAutorizo As Integer) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Vta_AutorizacionLimitesUpdate", CommandType.StoredProcedure) @@ -5233,7 +5233,7 @@ Public Class ClsVentas .Add("@CveVendedor", SqlDbType.Int).Value = CveVendedor .Add("@Importe", SqlDbType.Money).Value = Importe .Add("@CveEstatus", SqlDbType.Int).Value = CveEstatus - + .Add("@CveUsuarioAutorizo", SqlDbType.Int).Value = CveUsuarioAutorizo End With Try diff --git a/App_Code/LogicNominas.vb b/App_Code/LogicNominas.vb index 6d02f294b..86d3ec501 100644 --- a/App_Code/LogicNominas.vb +++ b/App_Code/LogicNominas.vb @@ -148,6 +148,7 @@ Public Class LogicNominas Dim totalDb As Decimal Dim subTotalDb As Decimal Dim CodigoPostal As String = "" + Dim CLABEInterbancaria As String = "" Dim ObjIncapacidades As New List(Of CFDINominaIncapacidades) 'Conexiones a la Base de Datos @@ -175,7 +176,7 @@ Public Class LogicNominas ClaveBanco = drow("ClaveBanco").ToString() BancoNumCuenta = drow("BancoNumCuenta").ToString() - + CLABEInterbancaria = drow("CLABE").ToString() 'If TimbreIndemnizacion Then ' cfdi.Timbrado = drow("SeTimbroFiniquitoVal").ToString().ToEntero() = 1 ' cfdi.IStimbreFiniquito = True @@ -495,8 +496,19 @@ Public Class LogicNominas cfdi.Nomina.Receptor.Puesto = Puesto cfdi.Nomina.Receptor.CodigoRiesgoPuesto = CveSATRiesgoPuesto.ToString() cfdi.Nomina.Receptor.PeriodicidadPago = PeriodicidadPago + If Not IsNothing(CLABEInterbancaria) OrElse CLABEInterbancaria.Trim().Length > 16 Then + cfdi.Nomina.Receptor.NumeroCuenta = CLABEInterbancaria + Else + cfdi.Nomina.Receptor.NumeroCuenta = BancoNumCuenta + End If + + cfdi.Nomina.Receptor.CodigoBanco = ClaveBanco - cfdi.Nomina.Receptor.NumeroCuenta = BancoNumCuenta + If Not IsNothing(cfdi.Nomina.Receptor.NumeroCuenta) AndAlso + cfdi.Nomina.Receptor.NumeroCuenta.Trim().Length > 17 Then + cfdi.Nomina.Receptor.CodigoBanco = "" + + End If cfdi.Nomina.Receptor.SDI = SDI cfdi.Nomina.Receptor.SBC = SalarioDiarioSS cfdi.Nomina.Receptor.Sindicalizado = If(Sindicalizado, "Sí", "No") diff --git a/App_Code/Modelos.vb b/App_Code/Modelos.vb index 6d332ce2c..579856c52 100644 --- a/App_Code/Modelos.vb +++ b/App_Code/Modelos.vb @@ -452,6 +452,7 @@ Namespace Modelos Dim ObjVentas As New ClsVentas() If ObjVentas.GetVenta(CveVenta, CveEmpresa, VerificaAlmacen:=VerificaAlmacen) Then If ObjVentas.DtResultados IsNot Nothing AndAlso ObjVentas.DtResultados.Rows.Count > 0 Then + setValues(ObjVentas.DtResultados.Rows(0)) SetMetodoPago() SetMoneda() @@ -466,26 +467,33 @@ Namespace Modelos Else Me.VentaDesglosaIEPS = True End If + SetTotales(ObjVentas.DtResultados, ObjVentas) + If CargaDTDetalle Then If ObjVentas.GetVentaDetalle(CveVenta) Then Me.DtDetalle = ObjVentas.DtResultados.Copy() End If End If + + If CargaDatosCliente Then SetCliente() + + If CargaDatosRelacionados Then IniciaValoresVentas(EsCancelacion) + + If String.IsNullOrEmpty(DirectorioServidor) Then DirectorioServidor = ModExtensiones.DirectorioBaseEmpresas + + Me.DirectorioServidor = DirectorioServidor + Timbre = New CFDITimbre End If Else + Me.CveVenta = -1 + Me.CveEmpresa = -1 + Me.CveCliente = -1 + ErrorList.Add("No se pudo cargar la información de la factura.") End If + ObjVentas.Dispose() - - If CargaDatosCliente Then SetCliente() - - If CargaDatosRelacionados Then IniciaValoresVentas(EsCancelacion) - - If String.IsNullOrEmpty(DirectorioServidor) Then DirectorioServidor = ModExtensiones.DirectorioBaseEmpresas - - Me.DirectorioServidor = DirectorioServidor - Timbre = New CFDITimbre End Sub Private Sub SetTotales(dtVentas As DataTable, ObjVentas As ClsVentas) Dim TmpDTImpuestos As New DataTable @@ -6331,93 +6339,94 @@ Namespace Modelos For Each CveRemision As Integer In ListaRemisionesCancelar Dim ObjRemision As New Factura(UsuarioActual, CveRemision, UsuarioActual.CveEmpresa, VerificaAlmacen:=True) - If ObjRemision IsNot Nothing AndAlso ObjRemision.SaldoAlmacen <> 0 Then + If ObjRemision IsNot Nothing AndAlso ObjRemision.CveVenta > 0 Then - Dim SaldoAlmacenExA As Decimal = 0 - Dim SaldoAlmacenUsados As Decimal = 0 - Dim DtSaldosAlmacenRemision As DataTable = Nothing - 'VERIFICA SI HACE FALTA DEVOLVER PRODUCTOS Y USADOS EN ESPECIFICO - If Not ErrorCancelar Then - If ObjInventario.GetSaldoVentaDetalleAlmacen(ObjRemision.CveVenta, UsuarioActual.CveEmpresa) Then - DtSaldosAlmacenRemision = ObjInventario.DtResultados.Copy() - Else - ErrorCancelar = True - MensajeError = "Ocurrió un error al cargar los saldos de devolución. Por favor vuelva a intentar." - End If - End If - - - Dim DtDevRemision As DataTable = DtDevoluciones.FiltraParametros($"CveRemision={CveRemision}") - - Dim DtDevMovs As DataTable = DtDevRemision.FiltraParametros("", DistinctColumns:={"CveMovimiento", "CveRemision", "CveAlmacen", "CveAlmacenDestino"}) - - For Each RowDevolucion As DataRow In DtDevMovs.Rows - CveAlmacen = RowDevolucion("CveAlmacen").ToString().ToEntero() - CveAlmacenDevolucion = RowDevolucion("CveAlmacenDestino").ToString().ToEntero() - - If CveAlmacen > 0 AndAlso DtSaldosAlmacenRemision IsNot Nothing Then - SaldoAlmacenExA = DtSaldosAlmacenRemision.SUMD("SaldoAlmacen", $"CveAlmacen = {CveAlmacen}") - End If - - If SaldoAlmacenExA <> 0 Then - If Not CancelarMovimientosRemision(CveRemision, CveAlmacen, CveAlmacenDevolucion, DtDevRemision.FiltraParametros($"CveMovimiento={RowDevolucion("CveMovimiento")}"), ObjVentas, ObjInventario, ObjConta) Then + If ObjRemision.SaldoAlmacen <> 0 Then + Dim SaldoAlmacenExA As Decimal = 0 + Dim SaldoAlmacenUsados As Decimal = 0 + Dim DtSaldosAlmacenRemision As DataTable = Nothing + 'VERIFICA SI HACE FALTA DEVOLVER PRODUCTOS Y USADOS EN ESPECIFICO + If Not ErrorCancelar Then + If ObjInventario.GetSaldoVentaDetalleAlmacen(ObjRemision.CveVenta, UsuarioActual.CveEmpresa) Then + DtSaldosAlmacenRemision = ObjInventario.DtResultados.Copy() + Else ErrorCancelar = True - MensajeError = "Ocurrió un error al cancelar los movimientos de la remisión." - Exit For + MensajeError = "Ocurrió un error al cargar los saldos de devolución. Por favor vuelva a intentar." End If End If - Next - 'CANCELAR MOVIMIENTOS DE USADOS SI TIENE - If Not ErrorCancelar AndAlso UsuarioActual.Empresa.Funcionalidad(531) = "1" Then - Dim CveAlmacenUsado As Integer = 0 - Dim CveMovimientoUsado As Integer = 0 + Dim DtDevRemision As DataTable = DtDevoluciones.FiltraParametros($"CveRemision={CveRemision}") - If ObjInventario.GetInv_Mov(ObjRemision.CveVenta, UsuarioActual.CveEmpresa) Then - CveMovimientoUsado = ObjInventario.DtResultados.FiltroPrimeroValor("CveMovimiento", "CvePS IS NULL AND CveConcepto = 42").ToEntero() - CveAlmacenUsado = ObjInventario.DtResultados.FiltroPrimeroValor("CveAlmacen", "CvePS IS NULL AND CveConcepto = 42").ToEntero() - Else - ErrorCancelar = True - MensajeError = "Ocurrió un error al cargar los datos de devolución de usado. Por favor vuelva a intentar." - End If + Dim DtDevMovs As DataTable = DtDevRemision.FiltraParametros("", DistinctColumns:={"CveMovimiento", "CveRemision", "CveAlmacen", "CveAlmacenDestino"}) - If CveAlmacenUsado > 0 AndAlso DtSaldosAlmacenRemision IsNot Nothing Then - SaldoAlmacenUsados = DtSaldosAlmacenRemision.SUMD("SaldoAlmacen", $"CveAlmacen = {CveAlmacenUsado}") - End If + For Each RowDevolucion As DataRow In DtDevMovs.Rows + CveAlmacen = RowDevolucion("CveAlmacen").ToString().ToEntero() + CveAlmacenDevolucion = RowDevolucion("CveAlmacenDestino").ToString().ToEntero() - If Not ErrorCancelar AndAlso CveMovimientoUsado > 0 AndAlso SaldoAlmacenUsados <> 0 Then - If CancelarInventarioUsado(ObjRemision, CveAlmacenUsado, CveMovimientoUsado, ObjInventario, ObjConta, Contabilizable:=False) <= 0 Then - ErrorCancelar = True - MensajeError = "Ocurrió un error al cancelar los usados. Por favor vuelva a intentar." + If CveAlmacen > 0 AndAlso DtSaldosAlmacenRemision IsNot Nothing Then + SaldoAlmacenExA = DtSaldosAlmacenRemision.SUMD("SaldoAlmacen", $"CveAlmacen = {CveAlmacen}") End If + + If SaldoAlmacenExA <> 0 Then + If Not CancelarMovimientosRemision(CveRemision, CveAlmacen, CveAlmacenDevolucion, DtDevRemision.FiltraParametros($"CveMovimiento={RowDevolucion("CveMovimiento")}"), ObjVentas, ObjInventario, ObjConta) Then + ErrorCancelar = True + MensajeError = "Ocurrió un error al cancelar los movimientos de la remisión." + Exit For + End If + End If + + Next + + 'CANCELAR MOVIMIENTOS DE USADOS SI TIENE + If Not ErrorCancelar AndAlso UsuarioActual.Empresa.Funcionalidad(531) = "1" Then + Dim CveAlmacenUsado As Integer = 0 + Dim CveMovimientoUsado As Integer = 0 + + If ObjInventario.GetInv_Mov(ObjRemision.CveVenta, UsuarioActual.CveEmpresa) Then + CveMovimientoUsado = ObjInventario.DtResultados.FiltroPrimeroValor("CveMovimiento", "CvePS IS NULL AND CveConcepto = 42").ToEntero() + CveAlmacenUsado = ObjInventario.DtResultados.FiltroPrimeroValor("CveAlmacen", "CvePS IS NULL AND CveConcepto = 42").ToEntero() + Else + ErrorCancelar = True + MensajeError = "Ocurrió un error al cargar los datos de devolución de usado. Por favor vuelva a intentar." + End If + + If CveAlmacenUsado > 0 AndAlso DtSaldosAlmacenRemision IsNot Nothing Then + SaldoAlmacenUsados = DtSaldosAlmacenRemision.SUMD("SaldoAlmacen", $"CveAlmacen = {CveAlmacenUsado}") + End If + + If Not ErrorCancelar AndAlso CveMovimientoUsado > 0 AndAlso SaldoAlmacenUsados <> 0 Then + If CancelarInventarioUsado(ObjRemision, CveAlmacenUsado, CveMovimientoUsado, ObjInventario, ObjConta, Contabilizable:=False) <= 0 Then + ErrorCancelar = True + MensajeError = "Ocurrió un error al cancelar los usados. Por favor vuelva a intentar." + End If + End If + + 'CANCELAR MOVIMIENTOS DE GARANTIA SI TIENE + If Not ErrorCancelar AndAlso Not GenerarMovimientoGarantia(15, "Salida Garantía", ClsPaginas.NowADS(), ObjRemision, ObjAcum, ObjInventario, ObjConta) Then + ErrorCancelar = True + End If + + 'CANCELA LOS FOLIOS DE GARANTIA + If Not ErrorCancelar AndAlso Not ObjAcum.UpdateGarantiaCancelacion(ObjRemision.CveVenta) Then + ErrorCancelar = True + MensajeError = "Ocurrió un error al actualizar la garantía" + End If + End If - End If + If DtDevRemision IsNot Nothing Then + DtDevRemision.Dispose() + End If - 'CANCELAR MOVIMIENTOS DE GARANTIA SI TIENE - If Not ErrorCancelar AndAlso UsuarioActual.Empresa.Funcionalidad(531) = "1" Then - If Not GenerarMovimientoGarantia(15, "Salida Garantía", ClsPaginas.NowADS(), ObjRemision, ObjAcum, ObjInventario, ObjConta) Then - ErrorCancelar = True + If DtDevMovs IsNot Nothing Then + DtDevMovs.Dispose() End If End If - 'CANCELA LOS FOLIOS DE GARANTIA - If Not ErrorCancelar Then - If Not ObjAcum.UpdateGarantiaCancelacion(ObjRemision.CveVenta) Then - ErrorCancelar = True - MensajeError = "Ocurrió un error al actualizar la garantía" - End If - End If - - If DtDevRemision IsNot Nothing Then - DtDevRemision.Dispose() - End If - - If DtDevMovs IsNot Nothing Then - DtDevMovs.Dispose() - End If - + Else + ErrorCancelar = True + MensajeError = "Ocurrió un error al cargar los datos de la remisión. Por favor vuelva a intentar." End If If ObjRemision IsNot Nothing Then diff --git a/Ashx/CargaEventos.ashx b/Ashx/CargaEventos.ashx index dab9d8862..b87b8b817 100644 --- a/Ashx/CargaEventos.ashx +++ b/Ashx/CargaEventos.ashx @@ -554,7 +554,7 @@ Public Class CargaEventos : Implements IHttpHandler, IRequiresSessionState Dim cevent As CalendarEvent = New CalendarEvent() cevent.id = dr("CveContrato").ToString.ToEntero - cevent.title = dr("DescripcionContrato").ToString + cevent.title = If(dr("CodigoAF").ToString.Trim.Length > 0, $"#{dr("CodigoAF").ToString}-{dr("DescripcionContrato").ToString}", $"-{dr("DescripcionContrato").ToString}") cevent.start = String.Format("{0:s}", dr("FechaInicial").ToString.ToDateTime) cevent.end = If(tipoVista = "fecha", String.Format("{0:s}", dr("FechaInicial").ToString.ToDateTime.AddHours(1)), String.Format("{0:s}", dr("FechaFinal").ToString.ToDateTime)) cevent.FechaFinal = String.Format("{0:s}", dr("FechaFinal").ToString.ToDateTime) diff --git a/Bancos/Creditos.aspx.vb b/Bancos/Creditos.aspx.vb index 7ae86544c..6d1bb5b0a 100644 --- a/Bancos/Creditos.aspx.vb +++ b/Bancos/Creditos.aspx.vb @@ -965,7 +965,7 @@ Partial Class Bancos_Creditos If CveCredito > 0 Then If ObjCredito.UpdateCreditos(CveCredito, DdlTipoCredito.SelectedValue.ToEntero, TxtReferencia.Text, TxtObservaciones.Text, -1, -1, -1, DdlTipoMoneda.SelectedValue.ToEntero, TxtFechaInicio.Text.ToString.ToDate, FechaVencimiento, TxtTasa.Text.Trim.ToDouble, TxtSobreTasa.Text.Trim.ToDouble, TxtIVA.Text.ToDouble / 100, TxtPlazo.Text.Trim.ToEntero, -1, TxtVehiculoValor.Text.ToString.ToDouble, TxtComisionValor.Text.ToString.ToDouble, TxtSeguroMensual.Text.ToString.ToDouble, TxtOtrosGastosValor.Text.ToString.ToDouble, - DdlProveedores.SelectedValue.ToEntero, RBLClasificacionContable.SelectedValue.ToEntero, DdlCtaContable.SelectedValue.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, AplicaAnticipo:=If(RBLAnticipo.SelectedValue.ToEntero = 1, True, False), + DdlProveedores.SelectedValue.ToEntero, RBLClasificacionContable.SelectedValue.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, AplicaAnticipo:=If(RBLAnticipo.SelectedValue.ToEntero = 1, True, False), CreditoAnticipo:=TxtVehiculoAnticipo.Text.ToDouble, ComisionAnticipo:=TxtComisionAnticipo.Text.ToDouble, SeguroAnticipo:=TxtSeguroAnticipo.Text.ToDouble, OtrosGastosAnticipo:=TxtOtrosGastosAnticipo.Text.ToDouble, FondoGarantia:=TxtFondoGarantia.Text.ToDouble, SeguroValor:=TxtSeguroValor.Text.ToDouble, TipoInteres:=ChkTipoInteres.Checked) Then If RegeneraTablaAmortizacion Then diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index dfa005080..144da0e15 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -6423,10 +6423,21 @@ Partial Class Compras_Compras Dim CvePrePoliza2Almacen As Integer = ObjConta.AddPrePolizas("Compras/Registrar/Almacen", If(EsContado And CvePlantillaPrePoliza = 1, 2, CvePlantillaPrePoliza), ImporteCompra, TxtTotal.Text.ToDouble, DdlMoneda.SelectedValue.ToEntero, NowADS(), ConceptoPoliza, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, FolioFijo:=FolioFijo, ReglaFolioPoliza:=ObjCompras.ObtenerReglaFolio(DdlTipoTransaccion.SelectedValue, DdlTipoTransaccionCaja.SelectedValue, UsuarioActual.CveEmpresa), CveTipoPoliza:=ObjConta.ObtenerTipoPoliza(DdlTipoTransaccion.SelectedValue, DdlTipoTransaccionCaja.SelectedValue, UsuarioActual.CveEmpresa)) If CvePrePoliza2Almacen > 0 Then - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza2Almacen, True, importeMN.RoundSQL(2), importeMN.RoundSQL(2), 205, Referencia, Concepto, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveIE:=CveIE, CvePersonal:=CvePersonal, CveMovimientoAlmacen:=CveMovimientoInventario, CveCreditoDetalle:=CveCreditoDetalle, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), TipoCambio:=tipoCambioActual, Contabilizable:=ContabilizableAlmacen) Then + + Dim ImpPrepoliza As Decimal = 0D + Dim ImpPrepolizaMN As Decimal = 0D + + For Each gvRowInv As GridViewRow In GvInv.Rows + Dim gvCantidad As Decimal = gvRowInv.FCTextBox("TbCantidad").Text.ToDecimal + Dim gvPU As Decimal = gvRowInv.DataKey("PU").ToDecimal + ImpPrepoliza = ImpPrepoliza + (gvCantidad * gvPU) + Next + ImpPrepolizaMN = ImpPrepoliza * tipoCambioActual * Multiplicador + + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza2Almacen, True, ImpPrepolizaMN.RoundSQL(2), ImpPrepolizaMN.RoundSQL(2), 205, Referencia, Concepto, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveIE:=CveIE, CvePersonal:=CvePersonal, CveMovimientoAlmacen:=CveMovimientoInventario, CveCreditoDetalle:=CveCreditoDetalle, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), TipoCambio:=tipoCambioActual, Contabilizable:=ContabilizableAlmacen) Then ErrorPrepoliza = True End If - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza2Almacen, False, importeMN.RoundSQL(2), importeMN.RoundSQL(2), 68, Referencia, Concepto, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveIE:=CveIE, CvePersonal:=CvePersonal, CveMovimientoAlmacen:=CveMovimientoInventario, CveCreditoDetalle:=CveCreditoDetalle, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), TipoCambio:=tipoCambioActual, Contabilizable:=ContabilizableAlmacen) Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza2Almacen, False, ImpPrepolizaMN.RoundSQL(2), ImpPrepolizaMN.RoundSQL(2), 68, Referencia, Concepto, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveIE:=CveIE, CvePersonal:=CvePersonal, CveMovimientoAlmacen:=CveMovimientoInventario, CveCreditoDetalle:=CveCreditoDetalle, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), TipoCambio:=tipoCambioActual, Contabilizable:=ContabilizableAlmacen) Then ErrorPrepoliza = True End If Else @@ -13318,10 +13329,11 @@ Partial Class Compras_Compras dtt = dtt.FiltraParametros($"Fecha >= #{NowADS.AddMonths(-12).ToString("yyyy/MM/dd")}#") End If DDLDevolucion.DataSource = dtt - DDLDevolucion.Items.Insert(0, New ListItem("Seleccione", "-1")) + End If objcompras.Dispose() DDLDevolucion.DataBind() + DDLDevolucion.Items.Insert(0, New ListItem("Seleccione", "-1")) UPDevolucion.Update() End Sub @@ -14242,6 +14254,7 @@ Partial Class Compras_Compras HdnVCveOC.Value = "" HdnCveEstatusOC.Value = "" + Dim tmpPorcentajeProntoPago As Decimal = 0 Dim OC As New ClsOC If PopUpOC Then Dim ArrayCveOC As String() = CvesOC.Split(New Char() {","c}) @@ -14252,6 +14265,7 @@ Partial Class Compras_Compras HdnCveEstatusOC.Value += String.Format("{0}{1}", If(HdnCveEstatusOC.Value <> "", ",", ""), OC.DtResultados.Rows(0)("CveEstatusSiguiente").ToString) EntregaDirecta += If(OC.DtResultados.Rows(0)("EntregaDirecta").ToString = "True", 1, 0) MetodoPagoOC = OC.DtResultados.Rows(0)("MetodoPagoOC").ToString.ToEntero + tmpPorcentajeProntoPago = OC.DtResultados.Rows(0)("PorcentajeProntoPago").ToString.ToDecimal End If End If Next @@ -14268,6 +14282,11 @@ Partial Class Compras_Compras HdnCveEstatusOC.Value += String.Format("{0}{1}", If(HdnCveEstatusOC.Value <> "", ",", ""), OC.DtResultados.Rows(0)("CveEstatusSiguiente").ToString) EntregaDirecta += If(OC.DtResultados.Rows(0)("EntregaDirecta").ToString = "True", 1, 0) MetodoPagoOC = OC.DtResultados.Rows(0)("MetodoPagoOC").ToString.ToEntero + + If tmpPorcentajeProntoPago = 0 Then + tmpPorcentajeProntoPago = OC.DtResultados.Rows(0)("PorcentajeProntoPago").ToString.ToDecimal + End If + End If End If Next @@ -14281,6 +14300,11 @@ Partial Class Compras_Compras PopUpOC = False + If tmpPorcentajeProntoPago > 0 Then + PorcentajeProntoPago = tmpPorcentajeProntoPago + End If + + If HdnVCveOC.Value <> "" Then If HdnCveEstatusOC.Value = "" Then Alert("No se tiene especificado el siguiente estatus de la Orden(es) de Compra. Por favor verifique los estatus y vuelva a intentar.", TipoMensaje.MsgAdvertencia) diff --git a/Contratos/Presupuestos.aspx.vb b/Contratos/Presupuestos.aspx.vb index 65d860f72..caa64a63f 100644 --- a/Contratos/Presupuestos.aspx.vb +++ b/Contratos/Presupuestos.aspx.vb @@ -412,7 +412,7 @@ Partial Class Contratos_Presupuestos CveConceptoContableNom = CveAgrupador End If - If CveClasificacion > 0 Then + If CveClasificacion > 0 Or CveConceptoContableNom > 0 Then If ImporteClasi > 0 Then TieneError = Not ObjCont.AddPresupuestosDetalle(CvePresupuestoNuevo, CveClasificacion, CveTipoGasto, ImporteClasi, ObsDetalle, CveConceptoContableNom:=CveConceptoContableNom) If TieneError Then diff --git a/Contratos/RepPresupuestosDetalle.aspx.vb b/Contratos/RepPresupuestosDetalle.aspx.vb index 36b32b15f..434af89c8 100644 --- a/Contratos/RepPresupuestosDetalle.aspx.vb +++ b/Contratos/RepPresupuestosDetalle.aspx.vb @@ -82,7 +82,9 @@ Partial Class Contratos_RepPresupuestosDetalle Private Sub CargaSubProyecto() DdlSubProyecto.Items.Clear() If DdlProyecto.SelectedValue.ToEntero > 0 Or UsuarioActual.Empresa.Tipo_CentroCosto = 1 Then - DdlSubProyecto.DataSource = If(UsuarioActual.Empresa.Funcionalidad(102) = "1" AndAlso Not UsuarioActual.TienePermisoProceso(110), GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, DdlProyecto.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, -1, 1), GlobalDTSubProyectos(DdlProyecto.SelectedValue.ToEntero, -1, UsuarioActual.CveEmpresa, 1)) + DdlSubProyecto.DataSource = If(UsuarioActual.Empresa.Funcionalidad(102) = "1" AndAlso Not UsuarioActual.TienePermisoProceso(110), + GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, DdlProyecto.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, -1, 1), + GlobalDTSubProyectos(UsuarioActual.CveEmpresa, -1, DdlProyecto.SelectedValue.ToEntero, 1)) End If DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1")) DdlSubProyecto.DataBind() @@ -94,19 +96,21 @@ Partial Class Contratos_RepPresupuestosDetalle Dim CveProyecto = IfNull(Request("CveProyecto"), -1).ToString.ToEntero Dim CveSubProyecto = IfNull(Request("CveSubProyecto"), -1).ToString.ToEntero Dim CveTipoGasto = IfNull(Request("CveTipoGasto"), -1).ToString.ToEntero - Dim Agrupador = IfNull(Request("Agrupador"), -1).ToString.ToEntero + Dim Agrupador = IfNull(Request("Agrupador"), -1).ToString.ToEntero + Gpo = IfNull(Request("CveAgrupador"), -1).ToString.ToEntero + Dim Mensual = CBool(IfNull(Request("Mensual"), False)) Dim EsProyecto = CBool(IfNull(Request("EsProyecto"), False)) 'If Agrupador = 1 Then Agrupador = 2 Else Agrupador = 1 DdlAgrupador.SelectedValueExist(Agrupador) DdlClasificacion.SelectedValueExist(CveClasificacion) - If DdlAgrupador.SelectedValue.ToEntero = 1 Then + If DdlAgrupador.SelectedValue.ToEntero = 1 Then 'Clasificación DdlClasificacion.SelectedValueExist(Gpo) DdlProyecto.SelectedValueExist(CveProyecto) DdlSubProyecto.SelectedValueExist(CveSubProyecto) - ElseIf DdlAgrupador.SelectedValue.ToEntero = 2 Then + ElseIf DdlAgrupador.SelectedValue.ToEntero = 2 Then ' Centro costo If Not EsProyecto Then Dim Dr As DataRow = GlobalDTSubProyectos(UsuarioActual.CveEmpresa, Gpo)(0) DdlProyecto.SelectedValueExist(Dr("CveProyecto")) @@ -121,6 +125,10 @@ Partial Class Contratos_RepPresupuestosDetalle TxtFiltrosFechaInicio.Text = FechaInicio TxtFiltrosFechaFin.Text = FechaFin ChkMensual.Checked = Mensual + + If Agrupador = 1 Then Agrupador = 2 Else Agrupador = 1 + DdlAgrupador.SelectedValueExist(Agrupador) + End Sub #End Region diff --git a/Inventarios/Kardex.aspx b/Inventarios/Kardex.aspx index 937e82045..891cfad73 100644 --- a/Inventarios/Kardex.aspx +++ b/Inventarios/Kardex.aspx @@ -121,30 +121,33 @@ Kardex - +
  • - PDF + PDF
  • - Excel + Excel
  • - Series Disponibles + Series Disponibles
  • - Caducidad de producto + Caducidad de producto
  • - Ayuda + Existecias por capas +
  • +
  • + Ayuda <%--
       
    --%>
  • - - + + @@ -164,17 +167,17 @@
    - Producto: + Producto:
    - +
    <%----%> - +
    - +
    @@ -192,7 +195,7 @@
    - +
    @@ -217,77 +220,81 @@
    + - -
    > -
    - -
    - - - -
    - - -
    - - - -
    - -
    - -
    - -
    - -
    - -
    - -
    - - -
    - -
    - +
    > +
    + +
    + + +
    -
    -
    + +
    + + + +
    -
    -
    Código Inicio:
    -
    -
    Código Fin:
    -
    -
    Marca
    -
    - - - -
    -
    Proveedor:
    -
    - -
    - -
    -
    -
    - Anterior +
    + +
    + +
    + +
    + +
    + +
    + + +
    + +
    +
    -
    -
    -
    - Siguiente +
    + +
    + +
    +
    Código Inicio:
    +
    + +
    +
    Código Fin:
    +
    + +
    +
    Marca
    +
    + + + +
    +
    Proveedor:
    +
    + +
    + +
    +
    +
    + Anterior +
    +
    +
    +
    + Siguiente +
    -
    @@ -424,7 +431,7 @@ - + @@ -434,31 +441,31 @@ - + - + - + - + - + - + @@ -477,19 +484,19 @@ - + - + - + @@ -545,7 +552,7 @@
    + +
    + +
    + + + +
    +
    @@ -533,6 +542,7 @@ + @@ -811,7 +821,13 @@ $('#HidRemisionSerieFolio').val(event.RemisionSerieFolio); $('#HidCveVentaRemision').val(event.CveVentaRemision); $('#HidRemisionSaldo').val(event.RemisionSaldo); - $('#HidCveAF').val(event.CveActivoFijo); + + if (event.CveActivoFijo > 0) { + $('#HidCveAF').val(event.CveActivoFijo); + } else { + $('#HidCveAF').val('-1'); + } + <%-- $('#HidRemision').text(event.RemisionSerieFolio); @@ -978,8 +994,15 @@ slotEventOverlap: false, // No permitir la superposición en vistas de agenda eventRender: function (event, element) { element.css({ - 'margin-bottom': '1px', // Ajusta el valor según sea necesario - 'margin-left': '1px' // Ajusta el valor según sea necesario + 'margin-bottom': '1px', + 'margin-left': '1px', + 'white-space': 'normal', // Permitir el ajuste de texto + 'height': 'auto', // Ajustar la altura automáticamente + 'overflow': 'hidden' // Ocultar cualquier desbordamiento + }); + element.find('.fc-title').css({ + 'white-space': 'normal', // Asegurar que el texto se ajuste + 'line-height': '1.2em' // Ajustar la altura de línea para mejor legibilidad }); }, events: { diff --git a/Transportes/RepContratosCalendario.aspx.vb b/Transportes/RepContratosCalendario.aspx.vb index 860d9b48f..733dfa845 100644 --- a/Transportes/RepContratosCalendario.aspx.vb +++ b/Transportes/RepContratosCalendario.aspx.vb @@ -221,7 +221,7 @@ Partial Class RepContratosCalendario Protected Sub UpdateContrato(sender As Object, e As EventArgs) - + Dim TieneError As Boolean = False Dim NumChoferes As Integer = If(chkSegundoChofer.Checked, 2, 1) If NumChoferes = 2 AndAlso DdlChofer2.SelectedValue.ToEntero <= 0 Then @@ -230,6 +230,7 @@ Partial Class RepContratosCalendario End If Dim ObjContratos As New ClsContratos + ObjContratos.IniciaTransacSQL() Dim DTAgendadados As New DataTable If ObjContratos.GetContratosValUnidadesAgendadas(DdlAF.SelectedValue.ToEntero, TxtFechaSalida.Text.ToDate, TxtFechaRegreso.Text.ToDate, UsuarioActual.CveEmpresa, CveContrato) Then @@ -261,10 +262,30 @@ Partial Class RepContratosCalendario CveAF:=DdlAF.SelectedValue.ToEntero, CantidadPasajeros:=TxtCantidadPasajeros.Text.ToEntero, Observaciones:=TxtObservaciones.Text.Trim, NumChoferes:=NumChoferes) Then RegistraScript("$('#ModalActualizar').modal('hide');") Alert("Actualizado Correctamente.") + Else + TieneError = True End If + + If HidCveAF.Value.ToEntero <> DdlAF.SelectedValue.ToEntero Then + Dim objGenerales = New ClsGenerales(ObjContratos.IniciaTransacSQL()) + + If Not objGenerales.AddHistorialBitacora(465, -1, -1, -1, -1, -1, -1, -1, DdlAF.SelectedItem.Text, HidCveAFDes.Value, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 0, TxtMotivoCambioUnidad.Text, "", "", CveContrato:=CveContrato) Then + TieneError = True + End If + End If + + If TieneError Then + ObjContratos.RollBack() + Else + ObjContratos.Commit() + End If + + + ObjContratos.Dispose() + UpTitulos.Update() CargaDatos() InicializaCalendar() @@ -299,6 +320,15 @@ Partial Class RepContratosCalendario DdlAF.SelectedValueExist(GvRow.DataKey("CveAF")) + HidCveAF.Value = "-1" + HidCveAFDes.Value = "" + If GvRow.DataKey("CveAF").ToEntero > 0 Then + HidCveAF.Value = GvRow.DataKey("CveAF").ToString + HidCveAFDes.Value = DdlAF.SelectedItem.Text + End If + + TxtMotivoCambioUnidad.Text = "" + DVMotivoCambioAF.Visible = False HypRemision.Text = GvRow.DataKey("RemisionSerieFolio") @@ -326,6 +356,9 @@ Partial Class RepContratosCalendario HidModClienteNombre.Value = GlobalDTCliente(UsuarioActual.CveEmpresa, -1, HidModCveCliente.Value.ToEntero).FiltroPrimeroValor("NombreComercial") End If + TxtMotivoCambioUnidad.Text = "" + DVMotivoCambioAF.Visible = False + DdlClientes.SelectedText = HidModClienteNombre.Value DdlClientes.SelectedValue = HidModCveCliente.Value @@ -347,9 +380,10 @@ Partial Class RepContratosCalendario End If CargaAFDdl(HidCveTipoAF.Value.ToEntero) + DdlAF.SelectedValueExist(HidCveAF.Value) - + HidCveAFDes.Value = DdlAF.SelectedItem.Text UpModal.Update() @@ -452,4 +486,16 @@ Partial Class RepContratosCalendario CargaCronograma(DdlTipoVista.SelectedValue.ToEntero) End Sub + + Protected Sub DdlAF_SelectedIndexChanged(sender As Object, e As EventArgs) + DVMotivoCambioAF.Visible = False + + If HidCveAF.Value.ToEntero > 0 AndAlso DdlAF.SelectedValue.ToEntero <> HidCveAF.Value.ToEntero Then + DVMotivoCambioAF.Visible = True + End If + + UpModal.Update() + End Sub + + End Class diff --git a/Ventas/CatAutorizacionLimites.aspx b/Ventas/CatAutorizacionLimites.aspx index 295100756..f935dd655 100644 --- a/Ventas/CatAutorizacionLimites.aspx +++ b/Ventas/CatAutorizacionLimites.aspx @@ -108,40 +108,39 @@ EmptyDataText="No se encontraron autorizaciones" ToolTip="" CssClass="table table-striped table-advance table-hover ScrollAD mysmallbtn" data-sort="true" Width="100%" GridLines="None"> - + - + - - - - - - - - - - - - + + + <%-- 30--%> + + + + + + + + <%-- 45--%> + + + - + + - - - - diff --git a/Ventas/CatAutorizacionLimites.aspx.vb b/Ventas/CatAutorizacionLimites.aspx.vb index 2c36f3c7b..55a9110c2 100644 --- a/Ventas/CatAutorizacionLimites.aspx.vb +++ b/Ventas/CatAutorizacionLimites.aspx.vb @@ -263,7 +263,7 @@ Partial Class Ventas_CatAutorizacionLimites End If Dim ObjVentas As New ClsVentas - If ObjVentas.AutorizacionLimitesUpdate(CveAutorizacion, CveCliente, CveVendedor, Importe, CveEstatusAutorizacion) Then + If ObjVentas.AutorizacionLimitesUpdate(CveAutorizacion, CveCliente, CveVendedor, Importe, CveEstatusAutorizacion, UsuarioActual.CveUsuario) Then Alert("El límite de crédito fue autorizado.") End If ObjVentas.Dispose() @@ -280,7 +280,7 @@ Partial Class Ventas_CatAutorizacionLimites Dim CveEstatusAutorizacion As Integer = 3 Dim ObjVentas As New ClsVentas - If ObjVentas.AutorizacionLimitesUpdate(CveAutorizacion, CveCliente, CveVendedor, Importe, CveEstatusAutorizacion) Then + If ObjVentas.AutorizacionLimitesUpdate(CveAutorizacion, CveCliente, CveVendedor, Importe, CveEstatusAutorizacion, UsuarioActual.CveUsuario) Then Alert("El límite de crédito fue rechazado.") End If ObjVentas.Dispose() @@ -356,7 +356,7 @@ Partial Class Ventas_CatAutorizacionLimites 'Oculta columnas en export sin afectar GridView en página Dim tcols As Integer = GvDatos.Columns.Count - GvDatos.HeaderRow.Cells(tcols - 2).Visible = False 'Autorizar/Rechazar + 'GvDatos.HeaderRow.Cells(tcols - 2).Visible = False 'Autorizar/Rechazar GvDatos.HeaderRow.Cells(tcols - 1).Visible = False 'Eliminar GvDatos.ExportToExcelGembox("CatAutorizacionLimites " & txtFechaI.Text.ToDate.ToString("dd-MM-yyyy") + " a " & fechaFin.ToDate.ToString("dd-MM-yyyy"), UsuarioActual, "Catálogo de autorizaciones de límite de crédito", DatosFiltros:=StrFiltro.ToString()) diff --git a/Ventas/RepVentasDetalle.aspx b/Ventas/RepVentasDetalle.aspx index 8317229e6..5f2199af1 100644 --- a/Ventas/RepVentasDetalle.aspx +++ b/Ventas/RepVentasDetalle.aspx @@ -346,7 +346,8 @@ - + <%-- 0--%> diff --git a/Ventas/Ventas.aspx b/Ventas/Ventas.aspx index 68a1d661a..5e4ec35f7 100644 --- a/Ventas/Ventas.aspx +++ b/Ventas/Ventas.aspx @@ -924,6 +924,7 @@ + Estatus:  @@ -933,6 +934,13 @@