diff --git a/App_Code/ClsBancos.vb b/App_Code/ClsBancos.vb index 38d16dc57..145843325 100644 --- a/App_Code/ClsBancos.vb +++ b/App_Code/ClsBancos.vb @@ -1950,12 +1950,14 @@ Public Class ClsBancos Return Retorno End Function - Public Function GetIngresoEgresosDelDia(Fecha As Date, Tipo As String, Opcion As Integer, CveEmpresa As Integer) As Boolean + Public Function GetIngresoEgresosDelDia(Grupo As Integer, FechaInicio As Date, FechaFin As Date, Tipo As String, Opcion As Integer, CveEmpresa As Integer) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Banc_IngresoEgresosDiariosGet") With SqlAdapter.SelectCommand.Parameters - .Add("@Fecha", SqlDbType.Date).Value = Fecha + .Add("@Grupo", SqlDbType.Int).Value = Grupo + .Add("@FechaInicio", SqlDbType.Date).Value = FechaInicio + .Add("@FechaFin", SqlDbType.Date).Value = FechaFin .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa .Add("@Tipo", SqlDbType.VarChar).Value = Tipo 'Ing Ingresp Egs Egreso .Add("@Opcion", SqlDbType.VarChar).Value = Opcion diff --git a/App_Code/ClsContabilidad.vb b/App_Code/ClsContabilidad.vb index 61f19afbb..d6f77b7f8 100644 --- a/App_Code/ClsContabilidad.vb +++ b/App_Code/ClsContabilidad.vb @@ -4313,7 +4313,7 @@ Public Class ClsContabilidad Return Retorno End Function - Public Function GetAnexoCatalagoCC(CveCuenta As Integer, FechaI As Date, FechaF As Date, CveSubProyecto As Integer, CveEmpresa As Integer, Divisor As Integer, CveUsuario As Integer) As Boolean + Public Function GetAnexoCatalagoCC(CveCuenta As Integer, FechaI As Date, FechaF As Date, CveSubProyecto As Integer, CveEmpresa As Integer, Divisor As Integer, CveUsuario As Integer, Optional OpcionCuentas As Integer = -1) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Conta_AnexoCatalogoCCGet") @@ -4326,6 +4326,7 @@ Public Class ClsContabilidad .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa .Add("@Divisor", SqlDbType.Int).Value = Divisor .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario + .Add("@OpcionCuentas", SqlDbType.Int).Value = OpcionCuentas End With Try diff --git a/App_Code/ClsGenerales.vb b/App_Code/ClsGenerales.vb index b36cf01da..3b125265b 100644 --- a/App_Code/ClsGenerales.vb +++ b/App_Code/ClsGenerales.vb @@ -4472,13 +4472,32 @@ Public Class ClsGenerales End Try Return Retorno - End Function + End Function #End Region + + + Public Function GetReporteDiario(CveEmpresa As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_Gral_RepCierreDia") + With SqlAdapter.SelectCommand.Parameters + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + End With + + Try + SqlAdapter.Fill(DSet) + Retorno = True + Catch ex As Exception + OnError($"Ocurrió un error al obtener los datos del reporte diario.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + #Region "IDisposable Support" - - - ' IDisposable + + + ' IDisposable Protected Overridable Sub Dispose(disposing As Boolean) If Not Me.disposedValue Then If disposing Then diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb index 2a408ff3c..72e96b468 100644 --- a/App_Code/ClsPaginas.vb +++ b/App_Code/ClsPaginas.vb @@ -6107,13 +6107,13 @@ Public Class ClsPaginas End If End If End Sub - Protected Sub ImprimeFormatoCartaPorteTimbrado(CveTimbre As Integer) - Dim resp As Modelos.MSubReportData = PreParaImpresionCartaPorte(CveTimbre) + Protected Sub ImprimeFormatoCartaPorteTimbrado(CveTimbre As Integer, Optional imprmirNom043 As Boolean = False) + Dim resp As Modelos.MSubReportData = PreParaImpresionCartaPorte(CveTimbre, imprmirNom043:=imprmirNom043) If resp.DataSources.Count > 0 AndAlso resp.Parametros.Count > 0 Then ImprimirPDF("Empresas/Grales/Formatos/CartaPorteTimbrado.rdlc", resp.DataSources, resp.Parametros, resp.SerieFolio) End If End Sub - Private Function PreParaImpresionCartaPorte(CveTimbre As Integer, Optional AplicaSubReporte As Boolean = False) As Modelos.MSubReportData + Private Function PreParaImpresionCartaPorte(CveTimbre As Integer, Optional AplicaSubReporte As Boolean = False, Optional imprmirNom043 As Boolean = False) As Modelos.MSubReportData Dim retorno As New Modelos.MSubReportData retorno.Nombre = "CartaPorte" Try @@ -6180,6 +6180,7 @@ Public Class ClsPaginas Dim ConfATR1 As String = "" Dim ConfATR2 As String = "" Dim ObjInv As New ClsGenerales + Dim TelDestino As String = "" If ObjInv.GetGralTimbre(CveTimbre, "-1", MinFecha, MaxFecha, -1, UsuarioActual.CveEmpresa, -1) Then If ObjInv.DtResultados.Rows.Count > 0 Then @@ -6188,6 +6189,7 @@ Public Class ClsPaginas SerieFolio = Dr("SerieFolio").ToString Telefono = Dr("FiguraTelefono").ToString TipoDocto = Dr("TipoDocto").ToString + TelDestino = Dr("TelDestino").ToString If UsuarioActual.CveEmpresa = 13 Then PermisoSCTR1 = Dr("PermisoSCTR1").ToString @@ -6562,6 +6564,7 @@ Public Class ClsPaginas ImgCBB = "" End If + 'Dim bCBB As Byte() = qrCode.GenerarQrCode($"{ClsPaginas.LigaVerificacionSATCCP}?IdCCP={cfdi.CfdiInfo.IdCCP}&FechaOrig={Carta.Ubicaciones(0).FechaHoraSalidaLlegada}&FechaTimb={cfdi.CfdiInfo.FechaTimbrado}") ImagenCCP = New System.IO.FileInfo(RutaCCP) If ImagenCCP.Exists Then ImgCCP = String.Format("file://{0}", ImagenCCP.FullName) @@ -6627,6 +6630,12 @@ Public Class ClsPaginas params.Add(New ReportParameter("RemolquePlaca2", RemolquePlaca2)) params.Add(New ReportParameter("RemolqueSubtimo2", RemolqueSubtimo2)) + params.Add(New ReportParameter("imprmirNom043", If(imprmirNom043, "1", "0"))) + + If imprmirNom043 Then + params.Add(New ReportParameter("TelDestino", TelDestino)) + End If + If UsuarioActual.CveEmpresa = 13 Then params.Add(New ReportParameter("PermisoSCTRemolque1", PermisoSCTR1)) params.Add(New ReportParameter("PermisoSCTRemolque2", PermisoSCTR2)) @@ -8020,10 +8029,14 @@ Public Class ClsPaginas params.Add(New ReportParameter("ProveedorContacto", ObjOC.ProveedorContacto)) params.Add(New ReportParameter("Comprador", ObjOC.UsuarioAsignado)) End If - - If UsuarioActual.CveEmpresa.Contiene(189) Then - params.Add(New ReportParameter("DiasCreditoOC", dtOC(0)("DiasCreditoOC").ToString)) - End If + + If UsuarioActual.CveEmpresa.Contiene(189) Then + If dtOC(0)("DiasCreditoOC").ToString.ToEntero > 0 Then + params.Add(New ReportParameter("DiasCreditoOC", dtOC(0)("DiasCreditoOC").ToString)) + Else + params.Add(New ReportParameter("DiasCreditoOC", dtOC(0)("PlazoPago").ToString)) + End If + End If If UsuarioActual.CveEmpresa.Contiene(13, 83) Then diff --git a/App_Code/ClsVentas.vb b/App_Code/ClsVentas.vb index 2f25b01ec..6f3d45107 100644 --- a/App_Code/ClsVentas.vb +++ b/App_Code/ClsVentas.vb @@ -1965,7 +1965,7 @@ Public Class ClsVentas Optional TipoDocto As String = "-1", Optional CveClienteClasificacion As Integer = -1, Optional CveProveedorCompra As Integer = -1, Optional CveMarca As Integer = -1, Optional MostrarLitraje As Boolean = False, Optional TipoCliente As Integer = -1, Optional ModalidadContable As Boolean = False, Optional EsGarantia As Integer = -1, Optional CveCondicionesPago As Integer = -1, Optional EsDistribuidor As Integer = -1, Optional CveClasificacion2 As Integer = -1, - Optional ServicioDomicilio As Integer = -1) As Boolean + Optional ServicioDomicilio As Integer = -1, Optional EsFilial As Integer = -1) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Vta_GetRepPS") SqlAdapter.SelectCommand.CommandTimeout = 0 @@ -2002,6 +2002,7 @@ Public Class ClsVentas .Add("@EsDistribuidor", SqlDbType.Int).Value = EsDistribuidor .Add("@CveClasificacion2", SqlDbType.Int).Value = CveClasificacion2 .Add("@ServicioDomicilio", SqlDbType.Int).Value = ServicioDomicilio + .Add("@EsFilial", SqlDbType.Int).Value = EsFilial End With Try @@ -2021,7 +2022,7 @@ Public Class ClsVentas Optional TCEspecifico As Double = 0, Optional CveClienteClasificacion As Integer = -1, Optional CveProveedorCompra As Integer = -1, Optional CveMarca As Integer = -1, Optional CveClasificacionDetalle As Integer = -1, Optional TipoCliente As Integer = -1, Optional ModalidadContable As Boolean = False, Optional EsGarantia As Integer = -1, Optional MostrarLitraje As Boolean = False, Optional CveCondicionesPago As Integer = -1, Optional EsDistribuidor As Integer = -1, - Optional CveClasificacion2 As Integer = -1, Optional CveClienteSucursal As Integer = -1, Optional ServicioDomicilio As Integer = -1) As Boolean + Optional CveClasificacion2 As Integer = -1, Optional CveClienteSucursal As Integer = -1, Optional ServicioDomicilio As Integer = -1, Optional EsFilial As Integer = -1) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Vta_GetRepPSDetalle") SqlAdapter.SelectCommand.CommandTimeout = 0 @@ -2063,7 +2064,7 @@ Public Class ClsVentas .Add("@CveClasificacion2", SqlDbType.Int).Value = CveClasificacion2 .Add("@CveClienteSucursal", SqlDbType.Int).Value = CveClienteSucursal .Add("@ServicioDomicilio", SqlDbType.Int).Value = ServicioDomicilio - + .Add("@EsFilial", SqlDbType.Int).Value = EsFilial End With @@ -6785,9 +6786,6 @@ Public Class ClsVentas End Function - - - Public Function AddMedicoEspecialidad(Especialidad As String, Estatus As Boolean, CveUsuario As Integer, CveEmpresa As Integer) As Boolean Dim Retorno As Boolean = False @@ -6808,7 +6806,6 @@ Public Class ClsVentas Return Retorno End Function - Public Function UpdateMedicoEspecialidad(CveMedicoEspecialidad As Integer, Especialidad As String, Estatus As Boolean, CveUsuario As Integer, CveEmpresa As Integer) As Boolean Dim Retorno As Boolean = False @@ -6829,7 +6826,6 @@ Public Class ClsVentas Return Retorno End Function - Public Function RemoveMedicoEspecialidad(CveMedicoEspecialidad As Integer, CveEmpresa As Integer) As Boolean Dim Retorno As Boolean = False @@ -6851,7 +6847,6 @@ Public Class ClsVentas #End Region #Region "S U B E S P E C I A L I D A D E S" - Public Function GetMedicosSubEspecialidades(CveMedicoSubEspecialidad As Integer, CveEmpresa As Integer, Estatus As Integer) As Boolean Dim Retorno As Boolean = False @@ -6873,10 +6868,6 @@ Public Class ClsVentas Return Retorno End Function - - - - Public Function AddMedicoSubEspecialidad(CveMedicoEspecialidad As Integer, SubEspecialidad As String, Estatus As Boolean, CveUsuario As Integer, CveEmpresa As Integer) As Boolean Dim Retorno As Boolean = False @@ -6896,7 +6887,6 @@ Public Class ClsVentas OnError("Ocurrió un error al guardar la SubEspecialidad.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) End Try Return Retorno - End Function Public Function UpdateMedicoSubEspecialidad(CveMedicoSubEspecialidad As Integer, CveMedicoEspecialidad As Integer, SubEspecialidad As String, Estatus As Boolean, CveUsuario As Integer, CveEmpresa As Integer) As Boolean @@ -6942,9 +6932,7 @@ Public Class ClsVentas #End Region -#Region "MEDICO CLIENTE SUCURALES" - - +#Region "MEDICO CLIENTE SUCURSALES" Public Function GetMedicosClientesSucursales(CveMedico As Integer, CveEmpresa As Integer) As Boolean @@ -7025,7 +7013,6 @@ Public Class ClsVentas Return Retorno End Function - Public Function RemoveMedicosClientesSucursales(CveMedicoClienteSucursal As Integer, CveEmpresa As Integer) As Boolean Dim Retorno As Boolean = False @@ -7047,7 +7034,7 @@ Public Class ClsVentas #End Region -#Region "PRODEDIMIENTOS" +#Region "PROCEDIMIENTOS" Public Function GetProcedimientos(CveProcedimiento As Integer, CveEmpresa As Integer, Estatus As Integer) As Boolean @@ -7137,8 +7124,6 @@ Public Class ClsVentas Return Retorno End Function - - Public Function AddProcedimientoProducto(CveProcedimiento As Integer, CvePS As Integer, Autogenerado As Boolean, Estatus As Boolean, CveUsuario As Integer, Cantidad As Decimal) As Boolean Dim Retorno As Boolean = False @@ -7161,8 +7146,6 @@ Public Class ClsVentas Return Retorno End Function - - Public Function UpdateProcedimientoProducto(CveProcedimientoProducto As Integer, CvePS As Integer, Autogenerado As Boolean, Estatus As Boolean, CveUsuario As Integer, Cantidad As Decimal) As Boolean Dim Retorno As Boolean = False @@ -7185,8 +7168,6 @@ Public Class ClsVentas Return Retorno End Function - - Public Function SincronizacionProcedimientoProducto(CveProcedimiento As Integer, CveVenta As Integer, CveUsuario As Integer, CveEmpresa As Integer) As Boolean Dim Retorno As Boolean = False @@ -7232,7 +7213,6 @@ Public Class ClsVentas Return Retorno End Function - Public Function RemoveProcedimientoProducto(CveProcedimientoProducto As Integer, CveEmpresa As Integer) As Boolean Dim Retorno As Boolean = False @@ -7250,10 +7230,6 @@ Public Class ClsVentas Return Retorno End Function - - - - Public Function GetProcedimientoVentas(CveProcedimiento As Integer, CveEmpresa As Integer) As Boolean Dim Retorno As Boolean = False @@ -7273,7 +7249,6 @@ Public Class ClsVentas End Function - #End Region #Region "VENTAS MEDICAS COMISIONES" @@ -7356,7 +7331,6 @@ Public Class ClsVentas #End Region - #Region "VENTAS MEDICAS COMISIONES ESPECIALES" Public Function GetComisionesMedicasEspeciales(CveMedico As Integer, CvePS As Integer, CveEmpresa As Integer) As Boolean @@ -7434,7 +7408,7 @@ Public Class ClsVentas #End Region -#Region "DEVOLUICON" +#Region "DEVOLUCION" Public Function UpdateVentasDetalleCantidadDevolucion(CveVentaDetalle As Integer, CantidadDevolucion As Decimal) As Boolean Dim Retorno As Boolean = False @@ -7481,6 +7455,26 @@ Public Class ClsVentas End Function #End Region + Public Function UpdateVentaAdicional(CveVenta As Integer, Opcion As String, Valor As String, CveEmpresa As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_Vta_VentaAdicionalUpdate") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveVenta", SqlDbType.Int).Value = CveVenta + .Add("@Opcion", SqlDbType.VarChar).Value = Opcion + .Add("@Valor", SqlDbType.VarChar).Value = Valor + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + End With + + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al actualizar el adicional de la venta.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + End Try + + Return Retorno + End Function Public Function GetVentasMedicasIndicadoresRep(Grupo As Integer, FechaI As Date, FechaF As Date, CveCliente As Integer, CveMedico As Integer, CveProcedimiento As Integer, CveEmpresa As Integer, CveVendedor As Integer) As Boolean diff --git a/App_Code/Modelos.vb b/App_Code/Modelos.vb index ef33bccdd..ea5c15c34 100644 --- a/App_Code/Modelos.vb +++ b/App_Code/Modelos.vb @@ -1306,43 +1306,14 @@ Namespace Modelos ObjFactura.FechaEjecucion = DateTime.Today ObjFactura.UsuarioCreo = UsuarioActual.Usuario ObjFactura.TipoDocumento = ObjFactura.TipodeComprobante - 'Totales, Y se llena TmpDTImpuestos 'CLIENTE ObjFactura.CveCliente = CveCliente ObjFactura.SetCliente() - 'Dim ObjCliente As New ClsClientes - 'If ObjCliente.GetClientes(ObjFactura.CveCliente, "-1", "-1", "-1", "-1", "-1", "-1", -1, UsuarioActual.CveEmpresa, -1, TipoCliente:=-1) Then - ' If ObjCliente.DtResultados.Rows.Count > 0 Then - ' ObjFactura.CveFormaPago33 = ObjCliente.CveFormaPago33 - ' ObjFactura.FormaPago33 = ClsPaginas.GlobalDTVtaFormaPago.FiltroPrimeroValor("FormaPago", String.Format("CveFormaPago = {0}", ObjCliente.CveFormaPago33)) - ' ObjFactura.FormaPagoSAT33 = ClsPaginas.GlobalDTVtaFormaPago.FiltroPrimeroValor("ClaveFormaPagoSAT", String.Format("CveFormaPago = {0}", ObjCliente.CveFormaPago33)) - - ' ObjFactura.CveMetodoPago33 = ObjCliente.CveMetodoPago33 - ' ObjFactura.MetodoPago33 = ClsPaginas.GlobalDTVtaMetodoPago.FiltroPrimeroValor("MetodoPago", String.Format("CveMetodoPago = {0}", ObjCliente.CveMetodoPago33)) - ' ObjFactura.ClaveMetodoPagoSAT = ClsPaginas.GlobalDTVtaMetodoPago.FiltroPrimeroValor("ClaveMetodoPagoSAT", String.Format("CveMetodoPago = {0}", ObjCliente.CveMetodoPago33)) - - ' ObjFactura.CveUsoCFDI = ObjCliente.CveUsoCFDI - ' ObjFactura.UsoCFDI = ClsPaginas.GlobalDTSATUsosCFDI.FiltroPrimeroValor("Descripcion", String.Format("CveUsoCFDI = {0}", ObjCliente.CveUsoCFDI)) - ' ObjFactura.ClaveUsoCFDI = ClsPaginas.GlobalDTSATUsosCFDI.FiltroPrimeroValor("UsoCFDI", String.Format("CveUsoCFDI = {0}", ObjCliente.CveUsoCFDI)) - ' End If - 'End If - - ''If ObjCliente.GetSucursales(ObjFactura.CveCliente) Then - '' If ObjCliente.DtResultados.Rows.Count > 0 Then - '' ObjFactura.CveClienteSucursal = If(String.IsNullOrEmpty(ObjCliente.DtResultados.FiltroPrimeroValor("CveClienteSucursal", "Estatus = 'Activo'")), -1, ObjCliente.DtResultados.FiltroPrimeroValor("CveClienteSucursal", "Estatus = 'Activo'").ToEntero()) - '' Else - '' ObjFactura.CveClienteSucursal = -1 - '' End If - ''End If - 'ObjCliente.Dispose() - ObjFactura.CveSubProyecto = CveSubProyecto.ToEntero - ObjFactura.SetSubProyecto() ObjFactura.SetSubProyectoMatriz() - ObjFactura.CveSubProyectoCobranza = CveSubProyecto.ToEntero ObjFactura.CveSubProyectoEjecucion = CveSubProyecto.ToEntero diff --git a/App_Code/modExtensiones.vb b/App_Code/modExtensiones.vb index 9343ffa93..4b42c5616 100644 --- a/App_Code/modExtensiones.vb +++ b/App_Code/modExtensiones.vb @@ -2393,6 +2393,28 @@ Namespace Extensiones Dim worksheet As ExcelWorksheet = excel.Worksheets(0) worksheet.Rows.InsertEmpty(0, TotalRowHeader) + + + '2025-02-15 OIC Este for es para que las celdas tomen formato numerico y se puedan sumar + For Each row In worksheet.Rows + For Each cell In row.AllocatedCells + If cell.Value IsNot Nothing Then + Dim valorTexto As String = cell.Value.ToString().Trim() + Dim numero As Decimal + ' Intentar convertir a número + If Decimal.TryParse(valorTexto, System.Globalization.NumberStyles.Any, + System.Globalization.CultureInfo.InvariantCulture, + numero) Then + + ' Si se pudo convertir exitosamente, reasignar como Double + cell.Value = numero + End If + End If + Next + Next + + + Dim celdasConTexto As CellRange = worksheet.GetUsedCellRange(True) If celdasConTexto Is Nothing Then Exit Sub 'No se recuperaron datos, salir de sin guardar porque soltará error celdasConTexto.Style.Font.Name = "Calibri Light" diff --git a/Ashx/E140.ashx b/Ashx/E140.ashx index 25a99bd7f..1ad9449bc 100644 --- a/Ashx/E140.ashx +++ b/Ashx/E140.ashx @@ -6,6 +6,7 @@ Imports System.Data Imports Newtonsoft.Json Imports Extensiones Imports System.IO +Imports Newtonsoft.Json.Linq Imports Microsoft.Reporting.WebForms Public Class E140 : Implements IHttpHandler, IRequiresSessionState @@ -14,18 +15,325 @@ Public Class E140 : Implements IHttpHandler, IRequiresSessionState Return False End Get End Property - Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest + Public Shared ReadOnly Property EsProduccion As Boolean + Get + If IsNothing(System.Configuration.ConfigurationManager.AppSettings("EsProduccion")) Then + Return False + Else + Return (System.Configuration.ConfigurationManager.AppSettings("EsProduccion").ToString() = "1") + End If + End Get + End Property + Private ReadOnly Property CveEmpresa As Integer = 140 + Private ReadOnly Property UsuarioWSE140 As String = "bdh_apiuser_" + Private ReadOnly Property PasswordWSE140 As String = "*863.fy03pon.8kmn_vbtu" + Public ReadOnly Property TokenAutorizacion As String + Get + Return "$2y$10$LGqtRWUloKQmAt.jcUldc.PmS5LJ6l.WU2w1G4PBOTLMVKZRNQFPS" + End Get + End Property + Private Function ValidaUsuarioSistema(CveUsuario As Integer, CveEmpresa As Integer) As Usuario + Dim UsuarioActual As Usuario = Nothing + Dim NombreCadena As String = ClsPaginas.GlobalNombreCadenaConexion(CveEmpresa) + Dim ObjUsuarios As New ClsSisUsuarioAutenticacion(NombreCadena:=NombreCadena) + UsuarioActual = ObjUsuarios.GetUsuarioDetalle(100, CveEmpresa) + If UsuarioActual IsNot Nothing Then + HttpContext.Current.Session("UsuarioSIG") = UsuarioActual + 'CreaObjetoEmpresa(UsuarioActual) + End If + ObjUsuarios.Dispose() + + Return UsuarioActual + End Function + + Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest + Dim retorno As String Try - Select Case context.Request("metodo") + Dim Metodo As String = If(context.Request("Metodo") = Nothing, "", context.Request("Metodo").ToString()) + Select Case Metodo Case "MetasVendedores" MetasVendedores(context) End Select + + If Metodo = "ConsultaRemisiones" Then + context.Response.ContentType = "application/json" + Dim Auth As AuthMessage = ValidarSolicitud(context) + + If Auth.IsSucces Then + retorno = ConsultaRemisiones(context, "") + Else + context.Response.StatusCode = Auth.StatusCode + retorno = JsonConvert.SerializeObject(Auth.ErrorMessage) + End If + context.Response.Write(retorno) + ElseIf Metodo = "RegistraPago" Then + context.Response.ContentType = "application/json" + Dim Auth As AuthMessage = ValidarSolicitud(context) + + If Auth.IsSucces Then + retorno = RegistraPagoRemision(context, "") + Else + context.Response.StatusCode = Auth.StatusCode + retorno = JsonConvert.SerializeObject(Auth.ErrorMessage) + End If + context.Response.Write(retorno) + End If Catch ex As Exception ex.GuardaLog(ex.Message) End Try End Sub + Private Function ValidarSolicitud(ByVal context As HttpContext) As AuthMessage + Dim unauthorized As Boolean = True + Dim respuesta As New AuthMessage + + Dim authHeader = context.Request.Headers("Authorization") + If authHeader IsNot Nothing Then + Dim basicAuth As String = authHeader.Replace("Basic ", "") + + Dim usernamePasswordArray = Encoding.UTF8.GetString(Convert.FromBase64String(basicAuth)).Split(":"c) + + Dim userName = usernamePasswordArray(0) + Dim password = usernamePasswordArray(1) + unauthorized = Not (userName = Me.UsuarioWSE140 AndAlso password = Me.PasswordWSE140) + + Else + respuesta.ErrorMessage = New AppsResponseError() With {.message = "el usuario y/o contraseña son requeridos"} + respuesta.IsSucces = False + respuesta.StatusCode = 200 + + Return respuesta + End If + + If unauthorized Then + respuesta.ErrorMessage = New AppsResponseError() With {.message = "el usuario y/o contraseña no son validos"} + respuesta.IsSucces = False + respuesta.StatusCode = 200 + + Return respuesta + Else + respuesta.ErrorMessage = Nothing + respuesta.IsSucces = True + respuesta.StatusCode = 200 + + Return respuesta + End If + + End Function + + Private Function ConsultaRemisiones(ByVal context As HttpContext, Codigo As String) As String + Dim Respuesta As New AppsResponse + Dim RespuestaError As New AppsResponseError + Dim TieneError As Boolean = False + Dim CveSubProyecto As String = "11790" + + Dim Usuario As Usuario = ValidaUsuarioSistema(100, CveEmpresa) + Dim data As New JArray + Dim dtt As New DataTable + Dim ObjVentas As New ClsVentas + If ObjVentas.GetRepRemisionesSinFacturar(Now.AddYears(-2).ToShortDateString, Now.ToShortDateString, Now.ToShortDateString, CveSubProyecto, -1, -1, "-1", CveEmpresa, CveUsuarioConsulta:=100, PrimerProducto:=True) Then + dtt = ObjVentas.DtResultados.FiltraParametros("CveVenta > 0") + End If + ObjVentas.Dispose() + + If dtt IsNot Nothing Then + Try + For Each Row As DataRow In dtt.Rows + Dim objVenta As New JObject( + New JProperty("cveventa", Row("CveVenta")), + New JProperty("folio", Row("Folio")), + New JProperty("cliente", Row("Cliente")), + New JProperty("fecha", Row("Fecha")), + New JProperty("total", Row("Total")), + New JProperty("moneda", Row("Abreviatura")), + New JProperty("primerproducto", Row("PrimerCodigoPS")) + ) + data.Add(objVenta) + Next + Catch ex As Exception + TieneError = True + RespuestaError.message = "Ocurrió un error al obtener las remisiones pendientes." + End Try + dtt.Dispose() + Else + TieneError = True + End If + + Respuesta.data = data + + If TieneError Then + context.Response.StatusCode = 200 + Return JsonConvert.SerializeObject(RespuestaError) + Else + context.Response.StatusCode = 200 + Return JsonConvert.SerializeObject(Respuesta) + End If + End Function + + Private Function RegistraPagoRemision(ByVal context As HttpContext, CveVenta As String) As String + Dim Respuesta As New AppsResponse + Dim RespuestaError As New AppsResponseError + Dim TieneError As Boolean = False + Dim CveSubProyecto As String = "11790" + Dim JsonRequest As JObject = Nothing + + If context.Request.InputStream IsNot Nothing Then + Using reader As New StreamReader(context.Request.InputStream) + Dim json = reader.ReadToEnd + If Not String.IsNullOrEmpty(json) Then + JsonRequest = JObject.Parse(json) + If JsonRequest Is Nothing Then + TieneError = True + End If + End If + End Using + End If + + Dim UsuarioActual As Usuario = ValidaUsuarioSistema(100, CveEmpresa) + Dim data As New JArray + Dim dtt As New DataTable + Dim MsgError As String = "" + Dim CveCuentaBancaria As Integer = 8075 + Dim ImportePago As Decimal = JsonRequest("importe_pago").ToString.ToDecimal + Dim FechaPago As Date = JsonRequest("fecha_pago").ToString.ToDate + Dim FolioPago As String = JsonRequest("referencia_pago").ToString + Dim CveTipoTransaccion As Integer = If(JsonRequest("referencia_pago").ToString = "tdc", 12, 11) + Dim CveMonedaPago As Integer = If(JsonRequest("moneda_pago").ToString = "USD", 2, 1) + Dim pCveVenta As Integer = JsonRequest("cveventa").ToString.ToEntero + Dim Referencia As String = "" + 'validaciones + + Dim ObjVenta As New ClsVentas() + Dim ObjClientes As New ClsClientes + If ObjVenta.GetVenta(pCveVenta, CveEmpresa) Then + If ObjVenta.DtResultados IsNot Nothing AndAlso ObjVenta.DtResultados.Rows.Count > 0 Then + Dim dr As DataRow = ObjVenta.DtResultados.Rows(0) + 'importe y forma de pago. + Dim VentaRemision As New ClsPaginas.Venta(UsuarioActual) + VentaRemision.CveVenta = dr("CveVenta").ToString.ToEntero + VentaRemision.Fecha = dr("Fecha").ToString.ToDate + VentaRemision.CveCliente = dr("CveCliente").ToString.ToEntero + VentaRemision.CveMoneda = dr("CveMoneda").ToString.ToEntero + VentaRemision.TipoDocto = dr("TipoDocto").ToString + VentaRemision.SerieFolio = dr("SerieFolio").ToString + VentaRemision.ClienteNombre = dr("ClienteNombre").ToString + VentaRemision.TC = dr("TipoCambio").ToString.ToDecimal + VentaRemision.Total = dr("Total").ToString.ToDecimal + VentaRemision.IVA = dr("IVA").ToString.ToDecimal + VentaRemision.IEPS = dr("IEPS").ToString.ToDecimal + VentaRemision.RetIVA = dr("RetIVA").ToString.ToDecimal + VentaRemision.RetISR = dr("RetISR").ToString.ToDecimal + VentaRemision.PorcentajeIVA = dr("PorcentajeIVA").ToString.ToDecimal + VentaRemision.CveSubProyecto = dr("CveSubProyecto").ToString.ToEntero + + Dim ObjFactura = Modelos.Factura.CrearVentaNueva(UsuarioActual, VentaRemision.CveSubProyecto, VentaRemision.CveCliente, VentaRemision.CveMoneda, "Ing") + ObjFactura.CveMoneda = VentaRemision.CveMoneda + ObjFactura.CveVendedor = dr("CveVendedor").ToString.ToEntero + ObjFactura.CveFormaPago = dr("CveFormaPago33").ToString.ToEntero + 'ObjFactura.ClaveFormaPagoSAT = "99" + ObjFactura.CveMetodoPago = dr("CveMetodoPago").ToString.ToEntero + 'ObjFactura.ClaveMetodoPagoSAT = "PPD" + Dim DtRemisionesPS As DataTable = Nothing + If ObjClientes.GetVentasRemisionesTotales(VentaRemision.CveCliente, VentaRemision.CveVenta.ToString(), 1, CveEmpresa) Then + DtRemisionesPS = ObjClientes.DtResultados.Copy() + End If + For Each drr As DataRow In DtRemisionesPS.Rows + ObjFactura.AgregarPS(drr("CvePS").ToString().ToEntero(), drr("Cantidad").ToString().ToDecimal(), drr("PU").ToString().ToDecimal(), drr("Descuento").ToString().ToDecimal, drr("Obs").ToString(), CveUM:=drr("CveUM").ToString().ToEntero(), + CveProyecto:=drr("CveProyecto").ToString().ToEntero(), CveSubProyecto:=drr("CveSubProyecto").ToString().ToEntero(), CveVentaDetallePadre:=drr("CveVentaDetalle").ToString().ToEntero(), CveVentaDetalleRemision:=drr("CveVentaDetalle").ToString().ToEntero(), + PorcentajeIVA:=drr("PorcentajeIVA").ToString().ToDecimal(), CvePromocionDetalle:=drr("CvePromocionDetalle").ToString.ToEntero) + Next + + ObjFactura.GenerarSalidaAlmacen = True + ObjFactura.DtInventario = ObjFactura.DtDetalle.FiltraParametros("CveTipoPS = 2").Copy() + 'ObjFactura.CveAlmacen = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveAlmacen", $"CveTipoAlmacen = 1 AND CveSubProyecto = {VentaRemision.CveSubProyecto}", "Orden").ToString().ToEntero() + + ObjFactura.CalculaTotales() + + Dim ObjConta As New ClsContabilidad() + Dim ObjIE As New ClsBancos(ObjConta.IniciaTransacSQL()) + Dim ObjVentas As New ClsVentas(ObjConta.IniciaTransacSQL()) + Dim CvePrePoliza As Integer = ObjConta.AddPrePolizas("Ashx/E140", 4, 0, 0, 1, FechaPago, "Venta Kiosco", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) + + If CvePrePoliza > 0 Then + 'registro de venta y pago + + Dim Retorno As Modelos.Factura.MMensajeFactura = Nothing + Retorno = ObjFactura.EmitirFactura(False, Transac:=ObjVentas.IniciaTransacSQL(), Modulo:="Cobranza/GuardarVenta", MostrarURL:=True) + Retorno.Factura = ObjFactura + + If Retorno IsNot Nothing AndAlso Retorno.CveVenta > 0 Then + VentaRemision.CveVenta = ObjFactura.CveVenta + 'Respuesta.data = Retorno.SerieFolio + + If TieneError Then + Dim sb As New StringBuilder() + For Each msg As String In Retorno.Mensajes + sb.AppendFormat("{0}. ", msg) + Next + RespuestaError.message = sb.ToString() + End If + '11- tdd, 12-tdc + Dim CveIE As Integer = ObjIE.AddBancos_IE(CveCuentaBancaria, CveTipoTransaccion, FechaPago, "-1", "", ImportePago, VentaRemision.CveMoneda, + VentaRemision.TC, "", "", False, True, -1, CvePrePoliza, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) + + If CveIE > 0 Then + 'Importe de pago + Dim Pago As New ClsPaginas.VentaPago + Pago.TipoPago = "XXX" + Pago.Fecha = FechaPago + Pago.CveIE = CveIE + Pago.CveMonedaPago = CveMonedaPago + Pago.ImportePago = ImportePago + Pago.ImportePagoVenta = ImportePago + Pago.Referencia = Referencia + + If MsgError = "" AndAlso ClsPaginas.AplicaPrePolizaPagoVenta(VentaRemision, Pago, CvePrePoliza, ObjConta) Then + MsgError = "No se pudo insertar la póliza" + End If + Else + MsgError = "No se pudo insertar el pago" + End If + Else + TieneError = True + End If + End If + If Not TieneError Then + Dim bytesPDF As Byte() = DescargarFactura(ObjFactura.SerieFolio, CveEmpresa, ObjFactura.CveVenta) 'ClsPaginas.PdfFactura(ObjFactura, AplicaPagare:="0", Guardar:=True, RegenerarQR:=True, EsTicket:=False) + + 'generar el pdf y mandarlo + Dim objretorno As New JObject( + New JProperty("CveVenta", ObjFactura.CveVenta), + New JProperty("SerieFolio", ObjFactura.SerieFolio), + New JProperty("pdf", Convert.ToBase64String(bytesPDF)) + ) + data.Add(objretorno) + Respuesta.data = data + ObjConta.RollBack() + 'ObjConta.Commit() + Else + ObjConta.RollBack() + End If + ObjConta.Dispose() + ObjIE.Dispose() + End If + End If + ObjVenta.Dispose() + ObjClientes.Dispose() + + Respuesta.data = data + + If TieneError Then + context.Response.StatusCode = 200 + Return JsonConvert.SerializeObject(RespuestaError) + Else + context.Response.StatusCode = 200 + Return JsonConvert.SerializeObject(Respuesta) + End If + End Function + + +#Region "M E T A S V E N D E D O R E S" Private Shared Sub MetasVendedores(ByVal context As HttpContext) @@ -128,7 +436,6 @@ Public Class E140 : Implements IHttpHandler, IRequiresSessionState For Each dRow As System.Data.DataRow In DTVendedores.Rows - Dim CorreoSupervisor As String = dRow("Correo").ToString() Dim Sucursal As String = dRow("Sucursal").ToString Dim Vendedor As String = dRow("Nombre").ToString() @@ -226,6 +533,30 @@ Public Class E140 : Implements IHttpHandler, IRequiresSessionState Next End Sub +#End Region + Private Function DescargarFactura(FilePDF As String, CveEmpresa As Integer, CveVenta As Integer) As Byte() + ' + Dim Url = New Uri(String.Format("{0}://{1}:{2}/Compras/PopUpVerFactura.aspx?P={3}", HttpContext.Current.Request.Url.Scheme, HttpContext.Current.Request.Url.Host, HttpContext.Current.Request.Url.Port, Encripta(String.Format("OP=VTA&CVEVENTA={0}&PAG=1&GUARDAR=1®ENERAR=1", CveVenta)))) + Dim File As Byte() = Nothing + Try + Using httpClient = New System.Net.Http.HttpClient() + httpClient.Timeout = New TimeSpan(0, 1, 0) + Using request = New System.Net.Http.HttpRequestMessage(System.Net.Http.HttpMethod.Get, Url) + request.Headers.Add("ADSToken", Encripta(String.Format("CVEEMPRESA={0}&TICKS={1}&CVEUSUARIO=100", CveEmpresa, DateTime.UtcNow.Ticks))) + Dim response = httpClient.SendAsync(request).Result + If response.StatusCode = Net.HttpStatusCode.OK Then + File = response.Content.ReadAsByteArrayAsync().Result + End If + End Using + End Using + Catch ex As Exception + File = Nothing + OnError("Ocurrió un error al descargar la factura", ex) + End Try + + Return File + End Function + Private Shared Sub MandaCorreo(Para As String, Cuerpo As String, bytes As Byte()) Try @@ -247,15 +578,51 @@ Public Class E140 : Implements IHttpHandler, IRequiresSessionState End Try End Sub + Private Shared Function IsValidJson(ByVal strInput As String) As Boolean + If String.IsNullOrWhiteSpace(strInput) Then + Return False + End If - Public Shared ReadOnly Property EsProduccion As Boolean - Get - If IsNothing(System.Configuration.ConfigurationManager.AppSettings("EsProduccion")) Then + strInput = strInput.Trim() + + If (strInput.StartsWith("{") AndAlso strInput.EndsWith("}")) OrElse (strInput.StartsWith("[") AndAlso strInput.EndsWith("]")) Then + + Try + Dim obj = JToken.Parse(strInput) + Return True + Catch jex As JsonReaderException + Console.WriteLine(jex.Message) Return False - Else - Return (System.Configuration.ConfigurationManager.AppSettings("EsProduccion").ToString() = "1") - End If - End Get - End Property + Catch ex As Exception + Console.WriteLine(ex.ToString()) + Return False + End Try + Else + Return False + End If + End Function + + Private Class AppsResponse + Sub New() + status = "success" + End Sub + Public Property status As String + Public Property data As Object + Public Property message As String + End Class + + Private Class AppsResponseError + Sub New() + status = "error" + End Sub + Public Property status As String + Public Property message As String + End Class + + Private Class AuthMessage + Public Property IsSucces As Boolean + Public Property ErrorMessage As AppsResponseError + Public Property StatusCode As Integer + End Class End Class \ No newline at end of file diff --git a/Ashx/E141.ashx b/Ashx/E141.ashx index 946bc4519..fd6a82ba1 100644 --- a/Ashx/E141.ashx +++ b/Ashx/E141.ashx @@ -62,9 +62,9 @@ Public Class E141 : Implements IHttpHandler, System.Web.SessionState.IRequiresSe #Region "V A L I D A - D A T O S" Private Function ValidaUsuarioSistema(CveUsuario As Integer, CveEmpresa As Integer) As Usuario Dim UsuarioActual As Usuario = Nothing - Dim NombreCadena As String = ClsPaginas.GlobalNombreCadenaConexion(141) + Dim NombreCadena As String = ClsPaginas.GlobalNombreCadenaConexion(CveEmpresa) Dim ObjUsuarios As New ClsSisUsuarioAutenticacion(NombreCadena:=NombreCadena) - UsuarioActual = ObjUsuarios.GetUsuarioDetalle(100) + UsuarioActual = ObjUsuarios.GetUsuarioDetalle(100, CveEmpresa) If UsuarioActual IsNot Nothing Then HttpContext.Current.Session("UsuarioSIG") = UsuarioActual 'CreaObjetoEmpresa(UsuarioActual) @@ -281,11 +281,11 @@ Public Class E141 : Implements IHttpHandler, System.Web.SessionState.IRequiresSe Dim ResultadoMail As Integer = 0 Dim CorreoDestino As String = "atencion@fidelityapps.mx" Dim MailCC As String = "citas@econollantas.com;sixrogs@hotmail.com;ffelix@econollantas.com" - Dim MailCCO As String = "jonathan.perez@adssistemas.mx;rene.molina@adsistemas.mx" + Dim MailCCO As String = "jonathan.perez@adssistemas.mx;" If Not EsProduccion Then CorreoDestino = "jonathan.perez@adssistemas.mx" - MailCC = "rene.molina@adsistemas.mx" + MailCC = "" MailCCO = "japmx95@gmail.com" End If diff --git a/Bancos/DepositosCaja.aspx b/Bancos/DepositosCaja.aspx index cafa2516a..e522c9c6e 100644 --- a/Bancos/DepositosCaja.aspx +++ b/Bancos/DepositosCaja.aspx @@ -151,11 +151,12 @@
- + +
TC:
@@ -367,7 +368,7 @@
-
+
diff --git a/Bancos/DepositosCaja.aspx.vb b/Bancos/DepositosCaja.aspx.vb index 355064115..5db1c8b8e 100644 --- a/Bancos/DepositosCaja.aspx.vb +++ b/Bancos/DepositosCaja.aspx.vb @@ -84,10 +84,10 @@ Partial Class Bancos_DepositosCaja Else DivRowCuenta.Visible = False DivDescuentocheck.Visible = False - End If - If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then - DivRowCuenta.Visible = True - End If + End If + If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then + DivRowCuenta.Visible = True + End If End If If UsuarioActual.CveEmpresa.Contiene(140, 141) Then divTipoPago.Visible = False : divTipoPago1.Visible = False @@ -273,6 +273,7 @@ Partial Class Bancos_DepositosCaja Try Dim FolioIE As Long = -1 Dim CveMoneda As Integer = 1 + Dim CveMonedaDeposito As Integer Dim TipoCambio As Decimal = 1 Dim Fecha As Date = TxtFecha.Text.ToDate Dim drOrigen As DataRow = GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveCuenta:=DdlCajaChica.SelectedValue.ToEntero, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimero("") @@ -294,7 +295,14 @@ Partial Class Bancos_DepositosCaja End If If drDestino IsNot Nothing Then - CveMoneda = drDestino("CveMoneda").ToString.ToEntero + CveMonedaDeposito = drDestino("CveMoneda").ToString.ToEntero + End If + If CveMonedaDeposito <> 1 Then + TipoCambio = TxtTCDeposito.Text.ToDecimal + If TipoCambio < 10 Then + Alert("Tipo cambio incorrecto", TipoMensaje.ToastAdventencia) + Exit Sub + End If End If NuevaCvePrePoliza = ObjConta.AddPrePolizas("DepCaja", 13, TotalImportePrePoliza, TotalImportePrePoliza, CveMoneda, Fecha, $"Depósito Bancario - {DdlTipoDeposito.SelectedItem.Text}", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveTipoPoliza:=1) @@ -372,12 +380,18 @@ Partial Class Bancos_DepositosCaja If FolioIE <= 0 Then OcurrioError = True End If - CveIEOrigen = ObjBancos.AddBancos_IE(DdlCuentaDeposito.SelectedValue.ToEntero, CveTransaccionBanco, Fecha, FolioIE.ToString, $"Depósito Bancario - {tSubProyectoDeposito}", TotalImporte, CveMoneda, 1, TxtObservaciones.Text, "", False, False, -1, NuevaCvePrePoliza, "-1", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveProveedorIntermediario:=CveProveedorIntermediario) + + CveIEOrigen = ObjBancos.AddBancos_IE(DdlCuentaDeposito.SelectedValue.ToEntero, CveTransaccionBanco, Fecha, FolioIE.ToString, $"Depósito Bancario - {tSubProyectoDeposito}", TotalImporte, CveMonedaDeposito, TipoCambio, TxtObservaciones.Text, "", False, False, -1, NuevaCvePrePoliza, "-1", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveProveedorIntermediario:=CveProveedorIntermediario) documentos += String.Format("Depósito: {1}    
", CveIEOrigen, FolioIE) - If Not OcurrioError AndAlso ObjConta.AddPrePolizasDetalle(NuevaCvePrePoliza, False, TotalImporte, TotalImporte * TipoCambio, 30, $"Depósito Bancario - {DdlTipoDeposito.SelectedItem.Text}", $"Depósito Bancario - {DdlTipoDeposito.SelectedItem.Text}", CveClasificacion:=CveClasificacion, CveSubProyecto:=CveSubProyecto, CveIE:=CveIEOrigen) Then + If Not OcurrioError AndAlso ObjConta.AddPrePolizasDetalle(NuevaCvePrePoliza, False, TotalImporte, TotalImporte, 30, $"Depósito Bancario - {DdlTipoDeposito.SelectedItem.Text}", $"Depósito Bancario - {DdlTipoDeposito.SelectedItem.Text}", CveClasificacion:=CveClasificacion, CveSubProyecto:=CveSubProyecto, CveIE:=CveIEOrigen) Then + If CveMonedaDeposito > 1 Then + If Not OcurrioError AndAlso Not ObjConta.AddPrePolizasDetalle(NuevaCvePrePoliza, False, TotalImporte, (TotalImporte * TipoCambio) - TotalImporte, 204, $"Depósito Bancario - {DdlTipoDeposito.SelectedItem.Text}", $"Depósito Bancario - {DdlTipoDeposito.SelectedItem.Text}", CveClasificacion:=CveClasificacion, CveSubProyecto:=CveSubProyecto, CveIE:=CveIEOrigen, ImporteME:=TotalImporte, TipoCambio:=TipoCambio) Then + OcurrioError = True + End If + End If If ChkFaltante.Checked Then CveSubProyectoComision = DdlSubProyectoDeposito.SelectedValue.ToEntero CveClasificacionComision = DdlClasificacion.SelectedValue.ToEntero @@ -442,7 +456,15 @@ Partial Class Bancos_DepositosCaja End If CveIEDestino = ObjBancos.AddBancos_IE(CveCuentaBancaria, 2, Fecha, FolioIE.ToString, String.Format("Depósito Bancario: {0}", SerieFolio), Importe, CveMoneda, 1, TxtObservaciones.Text, "", False, False, -1, NuevaCvePrePoliza, "-1", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) - If Not OcurrioError AndAlso Not ObjConta.AddPrePolizasDetalle(NuevaCvePrePoliza, True, Importe, Importe * TipoCambio, 30, SerieFolio, String.Format("Depósito Bancario: {0}", SerieFolio), CveClasificacion:=CveClasificacion, CveSubProyecto:=tCveSubProyecto, CveVenta:=CveVenta, CveIE:=CveIEDestino) Then + If Not OcurrioError AndAlso ObjConta.AddPrePolizasDetalle(NuevaCvePrePoliza, True, Importe, Importe, 30, SerieFolio, String.Format("Depósito Bancario: {0}", SerieFolio), CveClasificacion:=CveClasificacion, CveSubProyecto:=tCveSubProyecto, CveVenta:=CveVenta, CveIE:=CveIEDestino) Then + + If Gvr.DataKey("CveMoneda").ToEntero > 1 Then + If Not OcurrioError AndAlso Not ObjConta.AddPrePolizasDetalle(NuevaCvePrePoliza, True, Importe, (Importe * TipoCambio) - Importe, 204, SerieFolio, String.Format("Depósito Bancario: {0}", SerieFolio), CveClasificacion:=CveClasificacion, CveSubProyecto:=tCveSubProyecto, CveVenta:=CveVenta, CveIE:=CveIEDestino, ImporteME:=Importe, TipoCambio:=TipoCambio) Then + OcurrioError = True + Exit For + End If + End If + Else OcurrioError = True Exit For End If @@ -730,4 +752,13 @@ Partial Class Bancos_DepositosCaja Return File End Function + + Protected Sub DdlCuentaDeposito_SelectedIndexChanged(sender As Object, e As EventArgs) + Dim CveMonedaDeposito As Integer = GlobalDTBancosCuentasGral(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveMoneda", $"CveCuenta={DdlCuentaDeposito.SelectedValue}").ToEntero + If CveMonedaDeposito <> 1 Then + divtcdeposito.Visible = True + Else + divtcdeposito.Visible = False + End If + End Sub End Class \ No newline at end of file diff --git a/Bancos/FlujoDiario.aspx b/Bancos/FlujoDiario.aspx index f7c74ee6f..621acd184 100644 --- a/Bancos/FlujoDiario.aspx +++ b/Bancos/FlujoDiario.aspx @@ -26,28 +26,52 @@
-
Fecha:
+
Fecha Inicio:
- + - + - - - - - - + + + + + + +
+
+ +
Fecha Fin:
+
+
+ + + + + + + + + +
Opción:
- - - - - + + + + + +
+
Vista:
+
+ + + + +
@@ -63,6 +87,5 @@ - diff --git a/Bancos/FlujoDiario.aspx.vb b/Bancos/FlujoDiario.aspx.vb index 23aa78957..131baad04 100644 --- a/Bancos/FlujoDiario.aspx.vb +++ b/Bancos/FlujoDiario.aspx.vb @@ -44,7 +44,8 @@ Partial Class Bancos_FlujoDiario Private Sub Bancos_FlujoDiario_Load(sender As Object, e As EventArgs) Handles Me.Load If Not IsPostBack Then - TxtFecha.Text = NowADS().ToString + TxtFechaI.Text = NowADS().AddDays(-1).ToString("dd/MM/yyyy") + TxtFechaF.Text = NowADS().ToString("dd/MM/yyyy") End If End Sub @@ -56,9 +57,10 @@ Partial Class Bancos_FlujoDiario params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa)) params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre)) params.Add(New ReportParameter("FechaImpresion", NowADS().ToDateTime.ToShortDateString)) - params.Add(New ReportParameter("Fecha", TxtFecha.Text.ToDate.ToLongDateString)) + params.Add(New ReportParameter("FechaI", TxtFechaI.Text.ToDate.ToString("dd/MMM/yyyy", New System.Globalization.CultureInfo("es-MX")).Replace(".", "").ToUpper())) + params.Add(New ReportParameter("FechaF", TxtFechaF.Text.ToDate.ToString("dd/MMM/yyyy", New System.Globalization.CultureInfo("es-MX")).Replace(".", "").ToUpper())) - If Imagen.Exists Then + If Imagen.Exists Then params.Add(New ReportParameter("LogoPath", $"file://{Imagen.FullName}")) Else params.Add(New ReportParameter("LogoPath", "")) @@ -68,23 +70,23 @@ Partial Class Bancos_FlujoDiario 'SE LLENA TmpDTSaldosIniciales Dim Ban As New ClsBancos - If Ban.GetBancosSaldos(-1, -1, -1, MinFecha.ToString, TxtFecha.Text.ToDate.AddDays(-1).ToShortDateString, OpcionSaldo, "-1", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then - TmpDTSaldosIniciales = Ban.DtResultados + If Ban.GetBancosSaldos(-1, -1, -1, MinFecha.ToString, TxtFechaF.Text.ToDate.AddDays(-1).ToShortDateString, OpcionSaldo, "-1", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then + TmpDTSaldosIniciales = Ban.DtResultados.Copy() End If 'Se Llena TmpDTIngresosDelDia - If Ban.GetIngresoEgresosDelDia(TxtFecha.Text.ToDate, "Ing", OpcionSaldo, UsuarioActual.CveEmpresa) Then - TmpDTIngresosDelDia = Ban.DtResultados '.FiltraParametros("CveTipoTransaccion <> 8") + If Ban.GetIngresoEgresosDelDia(DdlGrupo.SelectedValue.ToEntero(), TxtFechaI.Text.ToDate, TxtFechaF.Text.ToDate, "Ing", OpcionSaldo, UsuarioActual.CveEmpresa) Then + TmpDTIngresosDelDia = Ban.DtResultados.Copy() '.FiltraParametros("CveTipoTransaccion <> 8") End If 'Se Llena TmpDTGastosDelDia - If Ban.GetIngresoEgresosDelDia(TxtFecha.Text.ToDate, "Egs", OpcionSaldo, UsuarioActual.CveEmpresa) Then - TmpDTGastosDelDia = Ban.DtResultados '.FiltraParametros("CveTipoTransaccion <> 2") + If Ban.GetIngresoEgresosDelDia(DdlGrupo.SelectedValue.ToEntero(), TxtFechaI.Text.ToDate, TxtFechaF.Text.ToDate, "Egs", OpcionSaldo, UsuarioActual.CveEmpresa) Then + TmpDTGastosDelDia = Ban.DtResultados.Copy() '.FiltraParametros("CveTipoTransaccion <> 2") End If 'Se Llena TmpDTSaldosActuales - If Ban.GetBancosSaldos(-1, -1, -1, MinFecha.ToString, TxtFecha.Text, OpcionSaldo, "-1", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then - TmpDTSaldosActuales = Ban.DtResultados + If Ban.GetBancosSaldos(-1, -1, -1, MinFecha.ToString, TxtFechaF.Text, OpcionSaldo, "-1", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then + TmpDTSaldosActuales = Ban.DtResultados.Copy() End If Ban.Dispose() @@ -103,7 +105,7 @@ Partial Class Bancos_FlujoDiario 'lrds.Add(rds5)- - ImprimirPDF("Empresas/Grales/Formatos/FlujoDiario.rdlc", lrds, params, NombreArchivo:=String.Format("FlujoDiario-{0}", TxtFecha.Text.ToDate.ToShortDateString)) + ImprimirPDF("Empresas/Grales/Formatos/FlujoDiario.rdlc", lrds, params, NombreArchivo:=String.Format("FlujoDiario-{0}", TxtFechaF.Text.ToDate.ToShortDateString)) End Sub diff --git a/Compras/Compras.aspx b/Compras/Compras.aspx index 8a318b45f..6f55e7050 100644 --- a/Compras/Compras.aspx +++ b/Compras/Compras.aspx @@ -1524,7 +1524,7 @@

- + @@ -3612,10 +3612,10 @@
- + Fecha - + diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index 908a8771d..4c2820c32 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -1260,6 +1260,21 @@ Partial Class Compras_Compras End Set End Property + Private Property FechaMovtoDev As Date + Get + If ViewState("FechaMovtoDev") Is Nothing Then + ViewState("FechaMovtoDev") = MinFecha + End If + Return ViewState("FechaMovtoDev").ToString.ToDate + End Get + Set(value As Date) + ViewState("FechaMovtoDev") = value + End Set + End Property + + + + Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load If Not IsPostBack Then @@ -1439,12 +1454,18 @@ Partial Class Compras_Compras End If If DdlTipoComprobante.SelectedValue = "NC" Then - 'paneldevolucion.Visible = True Pnlalmaceninventarios.Visible = False - 'cargaddldevoluciones(CveProveedor, TxtSubTotal2.Text.ToDouble) - InicializaAplicaNCFact() DivReembolso.Visible = False RBLPago.Items(2).Enabled = False + + If UsuarioActual.Empresa.Funcionalidad(574) = "1" Then + ConfiguraseleccionRNC() + Else + InicializaAplicaNCFact() + End If + 'paneldevolucion.Visible = True + 'cargaddldevoluciones(CveProveedor, TxtSubTotal2.Text.ToDouble) + End If If DdlTipoComprobante.SelectedValue = "DEV" Then @@ -1579,7 +1600,6 @@ Partial Class Compras_Compras 'RFVSubProyecto.Enabled = True End If - 'VALIDA Usuario TIPO REMESA If UsuarioActual.TienePermisoProceso(108) Then RBLPago.Enabled = False @@ -1672,10 +1692,6 @@ Partial Class Compras_Compras DdlTipoComprobante.SelectedValueExist("DEV") End If - If UsuarioActual.Empresa.Funcionalidad(574).ToEntero = 1 AndAlso DdlTipoComprobante.SelectedValue = "NC" Then - ConfiguraseleccionRemisionNotaCredito() - End If - If Not CveCompra > 0 Then LnkProrrateoGasolina.Visible = True InicializaDTProrrateoGasolina() @@ -1791,7 +1807,7 @@ Partial Class Compras_Compras 'End Sub - Private Sub ConfiguraseleccionRemisionNotaCredito() + Private Sub ConfiguraseleccionRNC() Dim AutoSelRNC As Boolean = False DdlTipoComprobante_SelectedIndexChanged(Nothing, Nothing) @@ -2011,8 +2027,10 @@ Partial Class Compras_Compras SubTotalConceptos = TmpDT.SUMD("Total").RoundSQL If Not TmpDT.Columns.Contains("Amortizacion") Then TmpDT.Columns.Add("Amortizacion", GetType(Decimal)) + If Not TmpDT.Columns.Contains("AplicaSerie") Then TmpDT.Columns.Add(New DataColumn("AplicaSerie", GetType(Boolean)) With {.DefaultValue = False}) If Not TmpDT.Columns.Contains("AplicaLote") Then TmpDT.Columns.Add(New DataColumn("AplicaLote", GetType(Boolean)) With {.DefaultValue = False}) If Not TmpDT.Columns.Contains("AplicaCaducidad") Then TmpDT.Columns.Add(New DataColumn("AplicaCaducidad", GetType(Boolean)) With {.DefaultValue = False}) + If Not TmpDT.Columns.Contains("Serie") Then TmpDT.Columns.Add("Serie", GetType(String)) If Not TmpDT.Columns.Contains("Lote") Then TmpDT.Columns.Add("Lote", GetType(String)) If Not TmpDT.Columns.Contains("FechaCaducidad") Then TmpDT.Columns.Add("FechaCaducidad", GetType(Date)) @@ -2121,7 +2139,10 @@ Partial Class Compras_Compras DdlTipoComprobante.Items.Remove(DdlTipoComprobante.Items.FindByValue("DEV")) DdlTipoCompra.Items.Remove(DdlTipoCompra.Items.FindByValue("6")) DdlTipoCompra.Items.Remove(DdlTipoCompra.Items.FindByValue("11")) - If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then DdlTipoCompra.Items.Add(New ListItem("Recolección", "14")) + If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then + DdlTipoCompra.Items.Add(New ListItem("Recolección", "14")) + DdlTipoCompra.Items.Add(New ListItem("Apoyo sin virtual", "16")) + End If Case "E" DdlTipoComprobante.SelectedValue = "NC" DdlTipoComprobante.Items.Remove(DdlTipoComprobante.Items.FindByValue("Fac")) @@ -2841,6 +2862,10 @@ Partial Class Compras_Compras CvePrePoliza = dr("CvePrePoliza").ToString.ToEntero EstatusAlmacen = dr("EstatusAlmacen").ToString.ToEntero DdlTipoCompra.SelectedValueExist(dr("CveTipoCompra")) + If DdlTipoCompra.SelectedValue = "16" Then + DdlTipoCompra.Items.Add(New ListItem("Apoyo sin virtual", "16")) + DdlTipoCompra.SelectedValue = dr("CveTipoCompra").ToString + End If TipoCompraOriginal = dr("CveTipoCompra").ToString.ToEntero CveTipoConcepto = dr("CveTipoConcepto").ToString.ToEntero ChkEsNoDeducible.Checked = dr("NoDeducible").ToString.ToEntero > 0 @@ -2868,565 +2893,550 @@ Partial Class Compras_Compras TxtSubTotal2.Text = (dr("SubTotal").ToString.ToDouble - dr("Descuentos").ToString.ToDouble).FormatoNumero(2) TxtDescuento.Text = dr("Descuentos").ToString.FormatoNumero(2) - LblAmortizacion.Text = dr("Amortizacion").ToString.FormatoNumero(2) - TxtIVA.Text = dr("IVA").ToString.FormatoNumero(2) - TxtRetIVA.Text = dr("RetIVA").ToString.FormatoNumero(2) - TxtRetISR.Text = dr("RetISR").ToString.FormatoNumero(2) - TxtIEPS.Text = dr("IEPS").ToString.FormatoNumero(2) - If dr("IEPS").ToString.ToDouble > 0 Then TrIEPS.Visible = True - If dr("RetIVA").ToString.ToDouble > 0 Then TrRetIVA.Visible = True - If dr("RetISR").ToString.ToDouble > 0 Then TrRetISR.Visible = True - If Math.Abs(dr("Redondeo").ToString.ToDouble) > 0 Then TrRedondeo.Visible = True - TxtRedondeo.Text = dr("Redondeo").ToString.FormatoNumero(2) + LblAmortizacion.Text = dr("Amortizacion").ToString.FormatoNumero(2) + TxtIVA.Text = dr("IVA").ToString.FormatoNumero(2) + TxtRetIVA.Text = dr("RetIVA").ToString.FormatoNumero(2) + TxtRetISR.Text = dr("RetISR").ToString.FormatoNumero(2) + TxtIEPS.Text = dr("IEPS").ToString.FormatoNumero(2) + If dr("IEPS").ToString.ToDouble > 0 Then TrIEPS.Visible = True + If dr("RetIVA").ToString.ToDouble > 0 Then TrRetIVA.Visible = True + If dr("RetISR").ToString.ToDouble > 0 Then TrRetISR.Visible = True + If Math.Abs(dr("Redondeo").ToString.ToDouble) > 0 Then TrRedondeo.Visible = True + TxtRedondeo.Text = dr("Redondeo").ToString.FormatoNumero(2) - TxtOtrosImpuestos.Text = dr("OtrosImpuestos").ToString.FormatoNumero(2) - If dr("OtrosImpuestos").ToString.ToDouble > 0 Then TrOtrosImpuestos.Visible = True - TxtTotal.Text = dr("Total").ToString.FormatoNumero(2) + TxtOtrosImpuestos.Text = dr("OtrosImpuestos").ToString.FormatoNumero(2) + If dr("OtrosImpuestos").ToString.ToDouble > 0 Then TrOtrosImpuestos.Visible = True + TxtTotal.Text = dr("Total").ToString.FormatoNumero(2) - HfTotalCompra.Value = TxtTotal.Text + HfTotalCompra.Value = TxtTotal.Text - TipoCambio = dr("TipoCambio").ToString.ToDecimal - TipoCambioOriginal = dr("TipoCambioOriginal").ToString.ToDecimal - If TipoCambio > 1 Then LblTC.Text = String.Format("TC: {0}", TipoCambio.ToString("N4")) - If TipoCambio <> TipoCambioOriginal Then LblTCO.Text = String.Format("
TC Original: {0}", TipoCambioOriginal.ToString("N4")) + TipoCambio = dr("TipoCambio").ToString.ToDecimal + TipoCambioOriginal = dr("TipoCambioOriginal").ToString.ToDecimal + If TipoCambio > 1 Then LblTC.Text = String.Format("TC: {0}", TipoCambio.ToString("N4")) + If TipoCambio <> TipoCambioOriginal Then LblTCO.Text = String.Format("
TC Original: {0}", TipoCambioOriginal.ToString("N4")) - AsignaValoresOriginales(TxtSubTotal.Text.ToDecimal, TxtSubTotal2.Text.ToDecimal, TxtIVA.Text.ToDouble, TxtRetIVA.Text.ToDouble, TxtRetISR.Text.ToDouble, TxtTotal.Text.ToDecimal) - CalculaTotalPorDevengar() - TxtDocumentoImporteFE.Text = dr("Total").ToString - RVDocumentoImporte.MaximumValue = dr("Total").ToString.FormatoNumero(2) - RVDocumentoImporteFE.MaximumValue = RVDocumentoImporte.MaximumValue - RVDocumentoImporteCaja.MaximumValue = RVDocumentoImporte.MaximumValue + AsignaValoresOriginales(TxtSubTotal.Text.ToDecimal, TxtSubTotal2.Text.ToDecimal, TxtIVA.Text.ToDouble, TxtRetIVA.Text.ToDouble, TxtRetISR.Text.ToDouble, TxtTotal.Text.ToDecimal) + CalculaTotalPorDevengar() + TxtDocumentoImporteFE.Text = dr("Total").ToString + RVDocumentoImporte.MaximumValue = dr("Total").ToString.FormatoNumero(2) + RVDocumentoImporteFE.MaximumValue = RVDocumentoImporte.MaximumValue + RVDocumentoImporteCaja.MaximumValue = RVDocumentoImporte.MaximumValue - HFDiferenciaCompra.Value = TxtTotal.Text + HFDiferenciaCompra.Value = TxtTotal.Text - TotalGeneral = dr("Total").ToString.ToDouble - CveMoneda = dr("CveMoneda").ToString.ToEntero - DdlValidadaSAT.SelectedValue = "Si" - TxtObsFact.Text = dr("Observaciones").ToString - LblUsuarioCaptura.Text = dr("Usuario").ToString - LitFechCaptura.Text = dr("FechaIng").ToString.ToDate.ToShortDateString - LitFechCaptura.ToolTip = dr("FechaIng").ToString - LblRetIVA.Text = If(dr("RetIVA").ToString.ToDecimal > 0, TmpDT.MAX("RetIVAPorcentaje").ToDecimal * 100, 0).ToString.FormatoNumero(4) '(If(SubTotal2 > 0, (RetencionIVA / SubTotal2), 0) * 100).FormatoNumero(3) + "%" - LblRetISR.Text = If(dr("RetISR").ToString.ToDecimal > 0, TmpDT.MAX("RetISRPorcentaje").ToDecimal * 100, 0).ToString.FormatoNumero(4) '(If(SubTotal2 > 0, (RetencionISR / SubTotal2), 0) * 100).FormatoNumero(3) - If dr("TipoFactura").ToString <> "CFDi" Then LblTipoFact.Text = dr("TipoFactura").ToString : divTipoFactura.Visible = True - ViewState("CveFactura") = dr("CveFactura").ToString.ToEntero - ViewState("IdPoliza") = dr("IdPoliza").ToString.ToEntero + TotalGeneral = dr("Total").ToString.ToDouble + CveMoneda = dr("CveMoneda").ToString.ToEntero + DdlValidadaSAT.SelectedValue = "Si" + TxtObsFact.Text = dr("Observaciones").ToString + LblUsuarioCaptura.Text = dr("Usuario").ToString + LitFechCaptura.Text = dr("FechaIng").ToString.ToDate.ToShortDateString + LitFechCaptura.ToolTip = dr("FechaIng").ToString + LblRetIVA.Text = If(dr("RetIVA").ToString.ToDecimal > 0, TmpDT.MAX("RetIVAPorcentaje").ToDecimal * 100, 0).ToString.FormatoNumero(4) '(If(SubTotal2 > 0, (RetencionIVA / SubTotal2), 0) * 100).FormatoNumero(3) + "%" + LblRetISR.Text = If(dr("RetISR").ToString.ToDecimal > 0, TmpDT.MAX("RetISRPorcentaje").ToDecimal * 100, 0).ToString.FormatoNumero(4) '(If(SubTotal2 > 0, (RetencionISR / SubTotal2), 0) * 100).FormatoNumero(3) + If dr("TipoFactura").ToString <> "CFDi" Then LblTipoFact.Text = dr("TipoFactura").ToString : divTipoFactura.Visible = True + ViewState("CveFactura") = dr("CveFactura").ToString.ToEntero + ViewState("IdPoliza") = dr("IdPoliza").ToString.ToEntero - DdlMoneda.SelectedValue = dr("CveMoneda").ToString - 'primero se asigna la moneda, para que dentro del proveedor carge los anticipos solo de esa moneda - DdlProveedor.Visible = False - HplProveedor.Visible = True - If dr("CveRetIVAConcepto").ToString.Contiene("2", "3") Then RetIVAFlete = True - If dr("CveRetISRConcepto").ToString.Contiene("3") Then RetISRResico = True - CargaProveedor(CveProveedor, "-1") + DdlMoneda.SelectedValue = dr("CveMoneda").ToString + 'primero se asigna la moneda, para que dentro del proveedor carge los anticipos solo de esa moneda + DdlProveedor.Visible = False + HplProveedor.Visible = True + If dr("CveRetIVAConcepto").ToString.Contiene("2", "3") Then RetIVAFlete = True + If dr("CveRetISRConcepto").ToString.Contiene("3") Then RetISRResico = True + CargaProveedor(CveProveedor, "-1") - DdlRetIVAConcepto.SelectedValueExist(dr("CveRetIVAConcepto").ToString) + DdlRetIVAConcepto.SelectedValueExist(dr("CveRetIVAConcepto").ToString) - DdlRetISRConcepto.SelectedValueExist(dr("CveRetISRConcepto").ToString) - CveRetIVAConceptoOriginal = If(dr("CveRetIVAConcepto").ToString.ToEntero > 0, dr("CveRetIVAConcepto").ToString.ToEntero, -1) - CveRetISRConceptoOriginal = If(dr("CveRetISRConcepto").ToString.ToEntero > 0, dr("CveRetISRConcepto").ToString.ToEntero, -1) + DdlRetISRConcepto.SelectedValueExist(dr("CveRetISRConcepto").ToString) + CveRetIVAConceptoOriginal = If(dr("CveRetIVAConcepto").ToString.ToEntero > 0, dr("CveRetIVAConcepto").ToString.ToEntero, -1) + CveRetISRConceptoOriginal = If(dr("CveRetISRConcepto").ToString.ToEntero > 0, dr("CveRetISRConcepto").ToString.ToEntero, -1) - If dr("CveTipoConcepto").ToString.ToEntero = 1 Then LblProveedor.Text = "Proveedor:" Else LblProveedor.Text = "Acreedor:" - HdnCveEstatusFactura.Value = dr("CveEstatusFactura").ToString - LblCompraEstatus.Text = dr("EstatusFactura").ToString - If dr("CveEstatusFactura").ToString = "2" Then ChkProgramarPago.Checked = True + If dr("CveTipoConcepto").ToString.ToEntero = 1 Then LblProveedor.Text = "Proveedor:" Else LblProveedor.Text = "Acreedor:" + HdnCveEstatusFactura.Value = dr("CveEstatusFactura").ToString + LblCompraEstatus.Text = dr("EstatusFactura").ToString + If dr("CveEstatusFactura").ToString = "2" Then ChkProgramarPago.Checked = True - TrRembolsoUpdate.Visible = True - TrRembolsoNumero.Visible = True + TrRembolsoUpdate.Visible = True + TrRembolsoNumero.Visible = True - Dim DtPersonal As DataTable = GlobalDTRHPersonal(UsuarioActual.CveEmpresa).FiltraParametros("", "NombreCompleto") - DdlRembolsoPersonal.DataSource = DtPersonal - DdlRembolsoPersonal.Items.Insert(0, New ListItem("Sin Seleccionar", "-1")) - DdlRembolsoPersonal.DataBind() - If dr("CvePersonal").ToString.ToEntero > 0 Then - DdlRembolsoPersonal.SelectedValueExist(dr("CvePersonal").ToString) - TxtRembolsoNumero.Text = dr("NumeroReembolso").ToString - RblRembolso.SelectedValuesIfExist("1") - TrRembolsoPersonal.Visible = True - End If + Dim DtPersonal As DataTable = GlobalDTRHPersonal(UsuarioActual.CveEmpresa).FiltraParametros("", "NombreCompleto") + DdlRembolsoPersonal.DataSource = DtPersonal + DdlRembolsoPersonal.Items.Insert(0, New ListItem("Sin Seleccionar", "-1")) + DdlRembolsoPersonal.DataBind() + If dr("CvePersonal").ToString.ToEntero > 0 Then + DdlRembolsoPersonal.SelectedValueExist(dr("CvePersonal").ToString) + TxtRembolsoNumero.Text = dr("NumeroReembolso").ToString + RblRembolso.SelectedValuesIfExist("1") + TrRembolsoPersonal.Visible = True + End If - Dim DtCajaChica As DataTable = GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveEmpresa:=UsuarioActual.CveEmpresa) - DtCajaChica = DtCajaChica.FiltraParametros(String.Format("CveTipoCuenta = 1")) - DdlRembolsoCajaChica.DataSource = DtCajaChica - DdlRembolsoCajaChica.Items.Insert(0, New ListItem("Sin Seleccionar", "-1")) - DdlRembolsoCajaChica.DataBind() - If dr("CveCajaChica").ToString.ToEntero > 0 Then - DdlRembolsoCajaChica.SelectedValueExist(dr("CveCajaChica").ToString) - TxtRembolsoNumero.Text = dr("NumeroReembolso").ToString - RblRembolso.SelectedValuesIfExist("2") - TrRembolsoCajaChica.Visible = True - End If + Dim DtCajaChica As DataTable = GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveEmpresa:=UsuarioActual.CveEmpresa) + DtCajaChica = DtCajaChica.FiltraParametros(String.Format("CveTipoCuenta = 1")) + DdlRembolsoCajaChica.DataSource = DtCajaChica + DdlRembolsoCajaChica.Items.Insert(0, New ListItem("Sin Seleccionar", "-1")) + DdlRembolsoCajaChica.DataBind() + If dr("CveCajaChica").ToString.ToEntero > 0 Then + DdlRembolsoCajaChica.SelectedValueExist(dr("CveCajaChica").ToString) + TxtRembolsoNumero.Text = dr("NumeroReembolso").ToString + RblRembolso.SelectedValuesIfExist("2") + TrRembolsoCajaChica.Visible = True + End If - If dr("CvePersonal").ToString.ToEntero > 0 Or dr("CveCajaChica").ToString.ToEntero > 0 Then - NumeroReembolsoOriginal = dr("NumeroReembolso").ToString - End If + If dr("CvePersonal").ToString.ToEntero > 0 Or dr("CveCajaChica").ToString.ToEntero > 0 Then + NumeroReembolsoOriginal = dr("NumeroReembolso").ToString + End If - VisualizaEstatusCompraSaldo(dr("TipoDocto").ToString, dr("Saldo").ToString.ToDecimal, dr("Total").ToString.ToDecimal) - If dr("IdPoliza").ToString.ToEntero > 0 Then - HplCompraContabilizada.Text = "Si" - If UsuarioActual.Empresa.TipoContabilidad = 2 Then HplCompraContabilizada.NavigateUrl = String.Format("/Contabilidad/RegPoliza.aspx?IdPoliza={0}", dr("IdPoliza")) - LblCompraEstatus.ForeColor = Drawing.Color.Navy - trContabilizada.Visible = True - If UsuarioActual.TienePermisoProceso(107) Then BtnDescontabilizar.Visible = True - Else - BtnDescontabilizar.Visible = False - HplCompraContabilizada.Text = "No" - trContabilizada.Visible = True - End If - - If UsuarioActual.Empresa.TipoContabilidad = 1 Then - trContabilizada.Visible = False - End If - - UPPDescontablizar.Update() - - TxtFechaPago.Text = dr("FechaVencimiento").ToString.ToDate.ToShortDateString - RowBitacora.Visible = True - CargaEventoBitacora() - 'ImgAddObs.Attributes.Add("onclick", "javascript: PosicionaObjeto(this.id,'DivEventoBitacora',null,-250,-250); $('#DivEventoBitacora').show(1000); ") - ImgAddObs.Visible = True - ChkAplicaNotaCredito.Checked = CBool(dr("AplicaNotaCredito").ToString) - - 'CompraSaldo = TotalGeneral - LblAmortizacion.Text.ToDouble - CompraSaldo = dr("Saldo").ToString.ToDouble - - If CompraSaldo > dr("Saldo").ToString.ToDouble Then - CompraSaldo = dr("Saldo").ToString.ToDouble - End If - HdnCompraSaldo.Value = CompraSaldo.ToString - - If CompraSaldo > 0 And UsuarioActual.TienePermisoProceso(100) Then - HLPagar.Visible = True - HLPagar.NavigateUrl = $"/Bancos/PopIECompras.aspx?CveCompra={CveCompra}&TB_iframe=true&height=520&width=700" - End If - - If dr("CveFactura").ToString.ToEntero > 0 Then - ImgDownXML.Visible = True : ImgDownXML.NavigateUrl = String.Format("/Compras/PopUpVerFactura.aspx?P={0}", Encripta(String.Format("OP=Fact&EXT=xml&CveFactura={0}&RFC={1}", dr("CveFactura"), dr("RFC").ToString.Replace("&", "%26%")))) - ImgDownPDF.Visible = True : ImgDownPDF.NavigateUrl = String.Format("/Compras/PopUpVerFactura.aspx?P={0}", Encripta(String.Format("OP=Fact&EXT=pdf&CveFactura={0}&RFC={1}", dr("CveFactura"), dr("RFC").ToString.Replace("&", "%26%")))) - Else - LnkGenrarPDF.Visible = True - End If - - 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")}" + VisualizaEstatusCompraSaldo(dr("TipoDocto").ToString, dr("Saldo").ToString.ToDecimal, dr("Total").ToString.ToDecimal) + If dr("IdPoliza").ToString.ToEntero > 0 Then + HplCompraContabilizada.Text = "Si" + If UsuarioActual.Empresa.TipoContabilidad = 2 Then HplCompraContabilizada.NavigateUrl = String.Format("/Contabilidad/RegPoliza.aspx?IdPoliza={0}", dr("IdPoliza")) + LblCompraEstatus.ForeColor = Drawing.Color.Navy + trContabilizada.Visible = True + If UsuarioActual.TienePermisoProceso(107) Then BtnDescontabilizar.Visible = True Else - HplCompraImportacion.NavigateUrl = $"/Compras/Importaciones.aspx?CveImportacion={dr("CveImportacion")}" - End If - End If - - If dr("CveFolioGarantia").ToString <> "" Then - divFolioGarantia.Visible = True - DdlFolioGarantia.Items.Insert(0, New ListItem(dr("FolioGarantia").ToString, dr("CveFolioGarantia").ToString)) - DdlFolioGarantia.SelectedValue = dr("CveFolioGarantia").ToString - End If - - 'CargaDetalle - If ObjCompra.GetCompraDetalle(CveCompra, UsuarioActual.CveEmpresa) Then - TmpDT = ObjCompra.DtResultados - TmpDTOriginal = ObjCompra.DtResultados.Copy - - TmpDT.Columns.Add("CveClasificacionActualizar", GetType(Integer)) - 'TmpDT.Columns.Add("CveEq", GetType(Integer)) - TmpDT.Columns.Add("CveAlmacen", GetType(Integer)) - 'TmpDT.Columns.Add("CvePersonal", GetType(Integer)) - - TmpDT.Columns.Add("IdCuentaComprometido", GetType(Integer)) - TmpDT.Columns.Add("IdCuentaPorEjercer", GetType(Integer)) - TmpDT.Columns.Add("IdCuentaDevengado", GetType(Integer)) - TmpDT.Columns.Add("IdCuentaMatriz", GetType(Integer)) - - TmpDT.Columns.Add("PSDescripcion", GetType(String)) - TmpDT.Columns.Add("ProductoOC", GetType(String)) - TmpDT.Columns.Add("CantidadF", GetType(Double)) - - 'Consignaciones - TmpDT.Columns.Add("CveAlmacenConsignacion", GetType(Integer)) - TmpDT.Columns.Add("NoConsignacion", GetType(Integer)) - TmpDT.Columns.Add("CveConsignacion", GetType(Integer)) - TmpDT.Columns.Add("HdnPS", GetType(String)) - TmpDT.Columns.Add("HdnCvePS", GetType(String)) - TmpDT.Columns.Add("HdnClasificacion", GetType(String)) - TmpDT.Columns.Add("HdnCveClasificacion", GetType(String)) - TmpDT.Columns.Add("HdnCveAlmacen", GetType(String)) - - 'INVENTARIO SERIE/LOTE - TmpDT.Columns.Add("CveMetodoInventario", GetType(Integer)) - - 'Fletes y Servicios - 'TmpDT.Columns.Add("AplicaCostoIndirecto", GetType(Integer)) 'Ya traemos el estatus flete - TmpDT.Columns.Add("CostoIndirectoAlmacen", GetType(Decimal)) - TmpDT.Columns.Add("EntregaDirecta", GetType(Integer)) - - TmpDT.Columns.Add("CveContrato", GetType(Integer)) - TmpDT.Columns.Add("DifPSSat", GetType(Integer)) - - If Not TmpDT.Columns.Contains("CveContratoDetalle") Then - TmpDT.Columns.Add("CveContratoDetalle", GetType(Integer)) - End If - If Not TmpDT.Columns.Contains("CveCultivoCuadroDetalle") Then - TmpDT.Columns.Add("CveCultivoCuadroDetalle", GetType(Integer)) + BtnDescontabilizar.Visible = False + HplCompraContabilizada.Text = "No" + trContabilizada.Visible = True End If - If Not TmpDT.Columns.Contains("CveSATPSActualizado") Then - TmpDT.Columns.Add("CveSATPSActualizado", GetType(Integer)) + If UsuarioActual.Empresa.TipoContabilidad = 1 Then + trContabilizada.Visible = False End If - If Not TmpDT.Columns.Contains("ImporteSinImpuestos") Then - TmpDT.Columns.Add("ImporteSinImpuestos", GetType(Decimal)) + UPPDescontablizar.Update() + + TxtFechaPago.Text = dr("FechaVencimiento").ToString.ToDate.ToShortDateString + RowBitacora.Visible = True + CargaEventoBitacora() + 'ImgAddObs.Attributes.Add("onclick", "javascript: PosicionaObjeto(this.id,'DivEventoBitacora',null,-250,-250); $('#DivEventoBitacora').show(1000); ") + ImgAddObs.Visible = True + ChkAplicaNotaCredito.Checked = CBool(dr("AplicaNotaCredito").ToString) + + 'CompraSaldo = TotalGeneral - LblAmortizacion.Text.ToDouble + CompraSaldo = dr("Saldo").ToString.ToDouble + + If CompraSaldo > dr("Saldo").ToString.ToDouble Then + CompraSaldo = dr("Saldo").ToString.ToDouble End If - If Not TmpDT.Columns.Contains("AplicaLote") Then - TmpDT.Columns.Add("AplicaLote", GetType(Boolean)) - End If - If Not TmpDT.Columns.Contains("AplicaCaducidad") Then - TmpDT.Columns.Add("AplicaCaducidad", GetType(Boolean)) + HdnCompraSaldo.Value = CompraSaldo.ToString + + If CompraSaldo > 0 And UsuarioActual.TienePermisoProceso(100) Then + HLPagar.Visible = True + HLPagar.NavigateUrl = $"/Bancos/PopIECompras.aspx?CveCompra={CveCompra}&TB_iframe=true&height=520&width=700" End If - If Not TmpDT.Columns.Contains("Lote") Then - TmpDT.Columns.Add("Lote", GetType(String)) + If dr("CveFactura").ToString.ToEntero > 0 Then + ImgDownXML.Visible = True : ImgDownXML.NavigateUrl = String.Format("/Compras/PopUpVerFactura.aspx?P={0}", Encripta(String.Format("OP=Fact&EXT=xml&CveFactura={0}&RFC={1}", dr("CveFactura"), dr("RFC").ToString.Replace("&", "%26%")))) + ImgDownPDF.Visible = True : ImgDownPDF.NavigateUrl = String.Format("/Compras/PopUpVerFactura.aspx?P={0}", Encripta(String.Format("OP=Fact&EXT=pdf&CveFactura={0}&RFC={1}", dr("CveFactura"), dr("RFC").ToString.Replace("&", "%26%")))) + Else + LnkGenrarPDF.Visible = True End If - If Not TmpDT.Columns.Contains("FechaCaducidad") Then - TmpDT.Columns.Add("FechaCaducidad", GetType(Date)) + + 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 + divFolioGarantia.Visible = True + DdlFolioGarantia.Items.Insert(0, New ListItem(dr("FolioGarantia").ToString, dr("CveFolioGarantia").ToString)) + DdlFolioGarantia.SelectedValue = dr("CveFolioGarantia").ToString + End If + + 'CargaDetalle + If ObjCompra.GetCompraDetalle(CveCompra, UsuarioActual.CveEmpresa) Then + TmpDT = ObjCompra.DtResultados + TmpDTOriginal = ObjCompra.DtResultados.Copy + + TmpDT.Columns.Add("CveClasificacionActualizar", GetType(Integer)) + 'TmpDT.Columns.Add("CveEq", GetType(Integer)) + TmpDT.Columns.Add("CveAlmacen", GetType(Integer)) + 'TmpDT.Columns.Add("CvePersonal", GetType(Integer)) + + TmpDT.Columns.Add("IdCuentaComprometido", GetType(Integer)) + TmpDT.Columns.Add("IdCuentaPorEjercer", GetType(Integer)) + TmpDT.Columns.Add("IdCuentaDevengado", GetType(Integer)) + TmpDT.Columns.Add("IdCuentaMatriz", GetType(Integer)) + + TmpDT.Columns.Add("PSDescripcion", GetType(String)) + TmpDT.Columns.Add("ProductoOC", GetType(String)) + TmpDT.Columns.Add("CantidadF", GetType(Double)) + + 'Consignaciones + TmpDT.Columns.Add("CveAlmacenConsignacion", GetType(Integer)) + TmpDT.Columns.Add("NoConsignacion", GetType(Integer)) + TmpDT.Columns.Add("CveConsignacion", GetType(Integer)) + TmpDT.Columns.Add("HdnPS", GetType(String)) + TmpDT.Columns.Add("HdnCvePS", GetType(String)) + TmpDT.Columns.Add("HdnClasificacion", GetType(String)) + TmpDT.Columns.Add("HdnCveClasificacion", GetType(String)) + TmpDT.Columns.Add("HdnCveAlmacen", GetType(String)) + + 'INVENTARIO SERIE/LOTE + TmpDT.Columns.Add("CveMetodoInventario", GetType(Integer)) + + 'Fletes y Servicios + 'TmpDT.Columns.Add("AplicaCostoIndirecto", GetType(Integer)) 'Ya traemos el estatus flete + TmpDT.Columns.Add("CostoIndirectoAlmacen", GetType(Decimal)) + TmpDT.Columns.Add("EntregaDirecta", GetType(Integer)) + + TmpDT.Columns.Add("CveContrato", GetType(Integer)) + TmpDT.Columns.Add("DifPSSat", GetType(Integer)) + + If Not TmpDT.Columns.Contains("CveContratoDetalle") Then TmpDT.Columns.Add("CveContratoDetalle", GetType(Integer)) + If Not TmpDT.Columns.Contains("CveCultivoCuadroDetalle") Then TmpDT.Columns.Add("CveCultivoCuadroDetalle", GetType(Integer)) + If Not TmpDT.Columns.Contains("CveSATPSActualizado") Then TmpDT.Columns.Add("CveSATPSActualizado", GetType(Integer)) + If Not TmpDT.Columns.Contains("ImporteSinImpuestos") Then TmpDT.Columns.Add("ImporteSinImpuestos", GetType(Decimal)) + + If Not TmpDT.Columns.Contains("AplicaSerie") Then TmpDT.Columns.Add("AplicaSerie", GetType(Boolean)) + If Not TmpDT.Columns.Contains("AplicaLote") Then TmpDT.Columns.Add("AplicaLote", GetType(Boolean)) + If Not TmpDT.Columns.Contains("AplicaCaducidad") Then TmpDT.Columns.Add("AplicaCaducidad", GetType(Boolean)) + + If Not TmpDT.Columns.Contains("Serie") Then TmpDT.Columns.Add("Serie", GetType(String)) + If Not TmpDT.Columns.Contains("Lote") Then TmpDT.Columns.Add("Lote", GetType(String)) + If Not TmpDT.Columns.Contains("FechaCaducidad") Then TmpDT.Columns.Add("FechaCaducidad", GetType(Date)) + GvPS.DataSource = TmpDT GvPS.DataBind() If UsuarioActual.Empresa.UsaAC Then - CargaHidendsAC() - End If - - CalculaTotales(True) - - 'If UsuarioActual.Empresa.UsaInventarios Then - ' DtInv = TmpDT.FiltraParametros(String.Format("CveTipoPS = 2")).Copy - - ' If dr("Inventario").ToString = "1" Then - - ' CveMovimientoAlmacen = dr("CveMovimiento").ToString.ToEntero - - ' Dim Inv As New ClsInventarios - ' If Inv.GetMovimientosDetalle(dr("CveMovimiento").ToString.ToEntero, UsuarioActual.CveEmpresa) Then - ' 'Dim TempParametros = Encripta(String.Format("OP=Alm&CveMovimiento={0}", dr("CveMovimiento"))) - ' 'ImgImprimirAlmacen.NavigateUrl = String.Format("/Compras/PopUpVerFactura.aspx?P={0}", TempParametros) - - ' ImgImprimirAlmacen.Visible = True - ' ImgImprimirAlmacen.NavigateUrl = String.Format("/Inventarios/EntradasSalidas.aspx?CveMovimiento={0}", dr("CveMovimiento")) - - ' Dim drt As DataRow - ' 'actualizo el almacen - ' For Each dri As DataRow In DtInv.Rows - - ' drt = Inv.DtResultados.FiltroPrimero(String.Format("CvePS = {0} AND Cantidad = {1}", dri("CvePS"), dri("Cantidad"))) - ' If drt IsNot Nothing Then - ' Dim TmpDr As DataRow = TmpDT.Select($"Consec = {dri("Consec").ToString.ToEntero}")(0) 'Charlie - ' TmpDr("CveAlmacen") = drt("CveAlmacen") 'Charlie - - ' dri("CveAlmacen") = drt("CveAlmacen") - - ' End If - - ' Next - - ' End If - - ' ''Proceso Super Tramposo de Charlie - ' 'If Inv.GetMovimientosDetalle(dr("CveMovimiento").ToString.ToEntero, UsuarioActual.CveEmpresa, CveCompra:=-123) Then - ' ' Dim drt As DataRow - ' ' For Each dri As DataRow In DtInv.Rows - ' ' drt = Inv.DtResultados.FiltroPrimero(String.Format("CvePS = {0} AND Cantidad = {1}", dri("CvePS"), dri("Cantidad"))) - ' ' If drt IsNot Nothing Then - ' ' Dim TmpDr As DataRow = TmpDT.Select($"Consec = {dri("Consec").ToString.ToEntero}")(0) - ' ' TmpDr("CveAlmacen") = drt("CveAlmacen") - ' ' End If - ' ' Next - ' 'End If - - ' Inv.Dispose() - - ' End If - - ' CargaGvInv() - - ' 'Ocultamos "Recibir Aqui" - ' GvInv.Columns(6).Visible = False - ' GvInv.Columns(7).Visible = False - - 'End If - End If - - DdlTipoComprobante.Enabled = False - If dr("TipoDocto").ToString = "RNC" Then - DdlTipoComprobante.Items.Add(New ListItem("Remisión de Nota de Crédito", "RNC")) - End If - - DdlTipoComprobante.SelectedValue = dr("TipoDocto").ToString - If dr("TipoDocto").ToString.Contiene("Fac", "Ant") Then - ChkAplicaNotaCredito.Enabled = True - ImgAnticiposPendientes.Visible = True - Else - ImgAnticiposPendientes.Visible = False - ChkAplicaNotaCredito.Enabled = False - End If - HlProveedor.HRef = "" - TxtCodigo.ReadOnly = True - 'IPP Usuario Sistema No Bloquea, se cambió al proceso - If UsuarioActual.TienePermisoProceso(79) Then - TxtCantidad.Enabled = True - TxtPrecio.Enabled = True - Else - TxtCantidad.Enabled = False - TxtPrecio.Enabled = False - End If - - DdlPS.Enabled = False - TxtObsPS.Enabled = False - 'ImgAmort.Attributes.Clear() - LbAgregar.Enabled = False - TxtSerie.Enabled = False - TxtFolio.Enabled = False - - TxtFecha.Enabled = False - ImgFecha.Enabled = False - CEFecha.Enabled = False - - If UsuarioActual.TienePermisoProceso(342) Then - TxtFecha.Enabled = True - ImgFecha.Enabled = True - CEFecha.Enabled = True - LnkActualziarFechadecompra.Visible = True - End If - - DdlProveedor.Enabled = False - DdlProveedorSucursal.Enabled = False - DdlEstatus.Enabled = False - DdlMoneda.Enabled = False - DdlRetIVAConcepto.Enabled = False - DdlRetISRConcepto.Enabled = False - If UsuarioActual.TienePermisoProceso(79) Then - BtnActualizar.Visible = True - DdlProveedorSucursal.Enabled = True - DdlPS.Enabled = True - TxtObsPS.Enabled = True - LbAgregar.Enabled = True - LnkUpdateFechaPago.Visible = True - - If DdlRetIVAConcepto.SelectedValue.ToEntero > 0 Then - DdlRetIVAConcepto.Enabled = True - End If - - If DdlRetISRConcepto.SelectedValue.ToEntero > 0 Then - DdlRetISRConcepto.Enabled = True - End If - End If - - BtnGuardar.Visible = False - BtnGuardar.Enabled = False - UpPSS.Update() - - 'GvLeyendasFiscales.Enabled = False - TxtSubTotal.ReadOnly = True - TxtIVA.ReadOnly = True - TxtRetIVA.ReadOnly = True - TxtRetISR.ReadOnly = True - TxtIEPS.ReadOnly = True - TxtOtrosImpuestos.ReadOnly = True - TxtTotal.ReadOnly = True - - 'CargaLeyendasFiscales - ViewState("CompraFolio") = TxtFolio.Text.Trim - - Dim dtnc As DataTable = Nothing - If dr("TipoDocto").ToString = "Fac" Then - 'carga as notas de credito vinculadas - If ObjCompra.GetComprasNotasCredito(CveCompra, -1) Then - dtnc = ObjCompra.DtResultados - End If - ElseIf dr("TipoDocto").ToString.Contiene("NC", "DEV", "Ant") Then - If dr("TipoDocto").ToString = "NC" Then - DivReembolso.Visible = False - RBLPago.Items(2).Enabled = False - End If - If ObjCompra.GetComprasNotasCredito(-1, CveCompra) Then - dtnc = ObjCompra.DtResultados - LtlGvAnticiposSel.Text = "
Compras Aplicadas
" - End If - End If - - 'VINCULACIÓN OC - NUEVA DICIEMBRE 2015 - If dr("OCVinculada").ToString() <> "" Then - - Dim OCS As String = "", CveOCS As String = "" - Dim DtOCs As New DataTable - DtOCs.Columns.Add("SerieFolioOC", GetType(String)) - DtOCs.Columns.Add("CveOrdenCompra", GetType(Integer)) - DtOCs.Columns.Add("Fecha", GetType(Date)) - DtOCs.Columns.Add("Descripcion", GetType(String)) - For Each drt As DataRow In TmpDT.FiltraParametros("", "", {"SerieFolioOC", "CveOrdenCompra"}).Rows - If drt("SerieFolioOC").ToString <> "" Then - Dim DrOC As DataRow = DtOCs.NewRow - DrOC("SerieFolioOC") = drt("SerieFolioOC").ToString - DrOC("CveOrdenCompra") = drt("CveOrdenCompra").ToString - DtOCs.Rows.Add(DrOC) + CargaHidendsAC() End If - Next - If DtOCs.Rows.Count > 0 Then - For Each drt As DataRow In DtOCs.Rows - OCS += If(OCS <> "", String.Format(",{0}", drt("SerieFolioOC").ToString), drt("SerieFolioOC").ToString) - CveOCS += If(CveOCS <> "", String.Format(",{0}", drt("CveOrdenCompra").ToString), drt("CveOrdenCompra").ToString) - 'If ObjOC.GetOrdenesCompraRep("OC", -1, -1, -1, -1, MinFecha, MaxFecha, drt("CveOrdenCompra").ToString.ToEntero, CveProveedor, -1, -1, -1, UsuarioActual.CveEmpresa, -1) Then - ' If ObjOC.DtResultados.Rows.Count = 1 Then - ' OCS += If(OCS <> "", String.Format(",{0}", drt("FolioOC").ToString), drt("FolioOC").ToString) - ' CveOCS += If(CveOCS <> "", String.Format(",{0}", drt("CveOrdenCompra").ToString), drt("CveOrdenCompra").ToString) - ' drt("Fecha") = ObjOC.DtResultados.FiltroPrimeroValor("FechaIng") - ' drt("Descripcion") = ObjOC.DtResultados.FiltroPrimeroValor("Descripcion") - ' End If - 'End If + CalculaTotales(True) + + 'If UsuarioActual.Empresa.UsaInventarios Then + ' DtInv = TmpDT.FiltraParametros(String.Format("CveTipoPS = 2")).Copy + + ' If dr("Inventario").ToString = "1" Then + + ' CveMovimientoAlmacen = dr("CveMovimiento").ToString.ToEntero + + ' Dim Inv As New ClsInventarios + ' If Inv.GetMovimientosDetalle(dr("CveMovimiento").ToString.ToEntero, UsuarioActual.CveEmpresa) Then + ' 'Dim TempParametros = Encripta(String.Format("OP=Alm&CveMovimiento={0}", dr("CveMovimiento"))) + ' 'ImgImprimirAlmacen.NavigateUrl = String.Format("/Compras/PopUpVerFactura.aspx?P={0}", TempParametros) + + ' ImgImprimirAlmacen.Visible = True + ' ImgImprimirAlmacen.NavigateUrl = String.Format("/Inventarios/EntradasSalidas.aspx?CveMovimiento={0}", dr("CveMovimiento")) + + ' Dim drt As DataRow + ' 'actualizo el almacen + ' For Each dri As DataRow In DtInv.Rows + + ' drt = Inv.DtResultados.FiltroPrimero(String.Format("CvePS = {0} AND Cantidad = {1}", dri("CvePS"), dri("Cantidad"))) + ' If drt IsNot Nothing Then + ' Dim TmpDr As DataRow = TmpDT.Select($"Consec = {dri("Consec").ToString.ToEntero}")(0) 'Charlie + ' TmpDr("CveAlmacen") = drt("CveAlmacen") 'Charlie + + ' dri("CveAlmacen") = drt("CveAlmacen") + + ' End If + + ' Next + + ' End If + + ' ''Proceso Super Tramposo de Charlie + ' 'If Inv.GetMovimientosDetalle(dr("CveMovimiento").ToString.ToEntero, UsuarioActual.CveEmpresa, CveCompra:=-123) Then + ' ' Dim drt As DataRow + ' ' For Each dri As DataRow In DtInv.Rows + ' ' drt = Inv.DtResultados.FiltroPrimero(String.Format("CvePS = {0} AND Cantidad = {1}", dri("CvePS"), dri("Cantidad"))) + ' ' If drt IsNot Nothing Then + ' ' Dim TmpDr As DataRow = TmpDT.Select($"Consec = {dri("Consec").ToString.ToEntero}")(0) + ' ' TmpDr("CveAlmacen") = drt("CveAlmacen") + ' ' End If + ' ' Next + ' 'End If + + ' Inv.Dispose() + + ' End If + + ' CargaGvInv() + + ' 'Ocultamos "Recibir Aqui" + ' GvInv.Columns(6).Visible = False + ' GvInv.Columns(7).Visible = False + + 'End If + End If + + DdlTipoComprobante.Enabled = False + If dr("TipoDocto").ToString = "RNC" Then + DdlTipoComprobante.Items.Add(New ListItem("Remisión de Nota de Crédito", "RNC")) + End If + + DdlTipoComprobante.SelectedValue = dr("TipoDocto").ToString + If dr("TipoDocto").ToString.Contiene("Fac", "Ant") Then + ChkAplicaNotaCredito.Enabled = True + ImgAnticiposPendientes.Visible = True + Else + ImgAnticiposPendientes.Visible = False + ChkAplicaNotaCredito.Enabled = False + End If + HlProveedor.HRef = "" + TxtCodigo.ReadOnly = True + 'IPP Usuario Sistema No Bloquea, se cambió al proceso + If UsuarioActual.TienePermisoProceso(79) Then + TxtCantidad.Enabled = True + TxtPrecio.Enabled = True + Else + TxtCantidad.Enabled = False + TxtPrecio.Enabled = False + End If + + DdlPS.Enabled = False + TxtObsPS.Enabled = False + 'ImgAmort.Attributes.Clear() + LbAgregar.Enabled = False + TxtSerie.Enabled = False + TxtFolio.Enabled = False + + TxtFecha.Enabled = False + ImgFecha.Enabled = False + CEFecha.Enabled = False + + If UsuarioActual.TienePermisoProceso(342) Then + TxtFecha.Enabled = True + ImgFecha.Enabled = True + CEFecha.Enabled = True + LnkActualziarFechadecompra.Visible = True + End If + + DdlProveedor.Enabled = False + DdlProveedorSucursal.Enabled = False + DdlEstatus.Enabled = False + DdlMoneda.Enabled = False + DdlRetIVAConcepto.Enabled = False + DdlRetISRConcepto.Enabled = False + If UsuarioActual.TienePermisoProceso(79) Then + BtnActualizar.Visible = True + DdlProveedorSucursal.Enabled = True + DdlPS.Enabled = True + TxtObsPS.Enabled = True + LbAgregar.Enabled = True + LnkUpdateFechaPago.Visible = True + + If DdlRetIVAConcepto.SelectedValue.ToEntero > 0 Then + DdlRetIVAConcepto.Enabled = True + End If + + If DdlRetISRConcepto.SelectedValue.ToEntero > 0 Then + DdlRetISRConcepto.Enabled = True + End If + End If + + BtnGuardar.Visible = False + BtnGuardar.Enabled = False + UpPSS.Update() + + 'GvLeyendasFiscales.Enabled = False + TxtSubTotal.ReadOnly = True + TxtIVA.ReadOnly = True + TxtRetIVA.ReadOnly = True + TxtRetISR.ReadOnly = True + TxtIEPS.ReadOnly = True + TxtOtrosImpuestos.ReadOnly = True + TxtTotal.ReadOnly = True + + 'CargaLeyendasFiscales + ViewState("CompraFolio") = TxtFolio.Text.Trim + + Dim dtnc As DataTable = Nothing + If dr("TipoDocto").ToString = "Fac" Then + 'carga as notas de credito vinculadas + If ObjCompra.GetComprasNotasCredito(CveCompra, -1) Then + dtnc = ObjCompra.DtResultados + End If + ElseIf dr("TipoDocto").ToString.Contiene("NC", "DEV", "Ant") Then + If dr("TipoDocto").ToString = "NC" Then + DivReembolso.Visible = False + RBLPago.Items(2).Enabled = False + End If + If ObjCompra.GetComprasNotasCredito(-1, CveCompra) Then + dtnc = ObjCompra.DtResultados + LtlGvAnticiposSel.Text = "
Compras Aplicadas
" + End If + End If + + 'VINCULACIÓN OC - NUEVA DICIEMBRE 2015 + If dr("OCVinculada").ToString() <> "" Then + + Dim OCS As String = "", CveOCS As String = "" + Dim DtOCs As New DataTable + DtOCs.Columns.Add("SerieFolioOC", GetType(String)) + DtOCs.Columns.Add("CveOrdenCompra", GetType(Integer)) + DtOCs.Columns.Add("Fecha", GetType(Date)) + DtOCs.Columns.Add("Descripcion", GetType(String)) + For Each drt As DataRow In TmpDT.FiltraParametros("", "", {"SerieFolioOC", "CveOrdenCompra"}).Rows + If drt("SerieFolioOC").ToString <> "" Then + Dim DrOC As DataRow = DtOCs.NewRow + DrOC("SerieFolioOC") = drt("SerieFolioOC").ToString + DrOC("CveOrdenCompra") = drt("CveOrdenCompra").ToString + DtOCs.Rows.Add(DrOC) + End If Next + + If DtOCs.Rows.Count > 0 Then + For Each drt As DataRow In DtOCs.Rows + OCS += If(OCS <> "", String.Format(",{0}", drt("SerieFolioOC").ToString), drt("SerieFolioOC").ToString) + CveOCS += If(CveOCS <> "", String.Format(",{0}", drt("CveOrdenCompra").ToString), drt("CveOrdenCompra").ToString) + 'If ObjOC.GetOrdenesCompraRep("OC", -1, -1, -1, -1, MinFecha, MaxFecha, drt("CveOrdenCompra").ToString.ToEntero, CveProveedor, -1, -1, -1, UsuarioActual.CveEmpresa, -1) Then + ' If ObjOC.DtResultados.Rows.Count = 1 Then + ' OCS += If(OCS <> "", String.Format(",{0}", drt("FolioOC").ToString), drt("FolioOC").ToString) + ' CveOCS += If(CveOCS <> "", String.Format(",{0}", drt("CveOrdenCompra").ToString), drt("CveOrdenCompra").ToString) + ' drt("Fecha") = ObjOC.DtResultados.FiltroPrimeroValor("FechaIng") + ' drt("Descripcion") = ObjOC.DtResultados.FiltroPrimeroValor("Descripcion") + ' End If + 'End If + Next + End If + + TxtOC.Text = OCS + TieneOC = True + + If DtOCs.Rows.Count > 1 Then + HLOCsVinculadas.Visible = True + GvOCsVinculadas.DataSource = DtOCs + GvOCsVinculadas.DataBind() + UpOCsVinculadas.Update() + ElseIf DtOCs.Rows.Count = 1 Then + HLOCsVinculadas.Visible = True + HLOCsVinculadas.Attributes.Remove("data-toggle") + HLOCsVinculadas.Attributes.Remove("data-target") + HLOCsVinculadas.Attributes.Add("data-toggle", "tooltip") + HLOCsVinculadas.NavigateUrl = $"/OC/OC.aspx?OC={DtOCs.FiltroPrimeroValor("CveOrdenCompra")}" + HLOCsVinculadas.Target = "_blank" + End If + + End If - TxtOC.Text = OCS - TieneOC = True + 'BLOQUEA OC + TxtOC.Enabled = False + ImgBtnBuscarOC.Visible = False + Tab.ActiveTabIndex = 0 - If DtOCs.Rows.Count > 1 Then - HLOCsVinculadas.Visible = True - GvOCsVinculadas.DataSource = DtOCs - GvOCsVinculadas.DataBind() - UpOCsVinculadas.Update() - ElseIf DtOCs.Rows.Count = 1 Then - HLOCsVinculadas.Visible = True - HLOCsVinculadas.Attributes.Remove("data-toggle") - HLOCsVinculadas.Attributes.Remove("data-target") - HLOCsVinculadas.Attributes.Add("data-toggle", "tooltip") - HLOCsVinculadas.NavigateUrl = $"/OC/OC.aspx?OC={DtOCs.FiltroPrimeroValor("CveOrdenCompra")}" - HLOCsVinculadas.Target = "_blank" + GvAnticiposSel.DataSource = dtnc + GvAnticiposSel.DataBind() + + If dtnc IsNot Nothing AndAlso dtnc.Rows.Count > 0 Then + LtlGvAnticiposSel.Visible = True End If + '' VALIDA ELIMINAR COMPRA, QUE NO TENGA PAGOS CONCILIADOS + If (UsuarioActual.TienePermisoProceso(77) OrElse UsuarioActual.TienePermisoProceso(135)) AndAlso dr("NumPagosConciliados").ToString.ToEntero = 0 Then ' Eliminar compra - End If + 'SIN VINCULACIÓN + If UsuarioActual.TienePermisoProceso(135) Then + If TxtOC.Text = "" AndAlso IdPoliza < 1 AndAlso CveMovimientoAlmacen < 1 AndAlso LblUsuarioCaptura.Text = UsuarioActual.Usuario AndAlso TmpDT.MAX("CveActivoFijo").ToEntero < 1 AndAlso Not ChkProgramarPago.Checked AndAlso CompraSaldo = TxtTotal.Text.ToDouble Then + BtnEliminarCompra.Visible = True + End If + End If - 'BLOQUEA OC - TxtOC.Enabled = False - ImgBtnBuscarOC.Visible = False - Tab.ActiveTabIndex = 0 - - GvAnticiposSel.DataSource = dtnc - GvAnticiposSel.DataBind() - - If dtnc IsNot Nothing AndAlso dtnc.Rows.Count > 0 Then - LtlGvAnticiposSel.Visible = True - End If - - '' VALIDA ELIMINAR COMPRA, QUE NO TENGA PAGOS CONCILIADOS - If (UsuarioActual.TienePermisoProceso(77) OrElse UsuarioActual.TienePermisoProceso(135)) AndAlso dr("NumPagosConciliados").ToString.ToEntero = 0 Then ' Eliminar compra - - 'SIN VINCULACIÓN - If UsuarioActual.TienePermisoProceso(135) Then - If TxtOC.Text = "" AndAlso IdPoliza < 1 AndAlso CveMovimientoAlmacen < 1 AndAlso LblUsuarioCaptura.Text = UsuarioActual.Usuario AndAlso TmpDT.MAX("CveActivoFijo").ToEntero < 1 AndAlso Not ChkProgramarPago.Checked AndAlso CompraSaldo = TxtTotal.Text.ToDouble Then + 'ELIMINAR A FUERZAS + If UsuarioActual.TienePermisoProceso(77) Then BtnEliminarCompra.Visible = True + If CompraSaldo <> TxtTotal.Text.ToDouble AndAlso dr("TipoDocto").ToString = "Fac" Then + BtnEliminarCompra.Enabled = False + BtnEliminarCompra.ToolTip = "La compra tiene pagos asociados, elimine los pagos primero." + End If + End If + + Dim StrInventario As String = "" + If dr("Inventario").ToString = "1" Then + StrInventario = "los Movimientos de Inventario relacionados" + End If + + If UsuarioActual.Empresa.UsaAC Then + BtnEliminarCompra.Attributes.Add("data-original-title", String.Format("¿Está seguro que desea eliminar la Compra, {0} y la Poliza Asociada?", StrInventario)) + ElseIf BtnEliminarCompra.Enabled Then + BtnEliminarCompra.Attributes.Add("data-original-title", String.Format("¿Está seguro que desea eliminar la Compra y {0}?", StrInventario)) End If End If - 'ELIMINAR A FUERZAS - If UsuarioActual.TienePermisoProceso(77) Then - BtnEliminarCompra.Visible = True - If CompraSaldo <> TxtTotal.Text.ToDouble AndAlso dr("TipoDocto").ToString = "Fac" Then - BtnEliminarCompra.Enabled = False - BtnEliminarCompra.ToolTip = "La compra tiene pagos asociados, elimine los pagos primero." + 'VALIDA CANCELAR COMPRA - AC + ValidaCancelarCompra() + + 'CUANDO ESTA CANCELADA + If dr("CveEstatusFactura").ToString = "-2" Then + BtnEliminarCompra.Visible = False + BtnActualizar.Visible = False + BtnGuardar.Visible = False + BtnCancelarCompra.Visible = False + + LblCompraEstatus.Text = "CANCELADA" + LblCompraEstatus.Font.Bold = True + LblCompraEstatus.Font.Size = 12 + LblCompraEstatus.ForeColor = Drawing.Color.DarkRed + 'HplIr.Visible = False + + BtnDescontabilizar.Visible = False + BtnEliminarPolizaMultiple.Visible = False + + 'LIGA POLIZA CANCELACIÓN + 'HplPolizaCancelación.NavigateUrl = String.Format("/Contabilidad/RegPoliza.aspx?IdPoliza={0}", dr("IdPoliza")) + + End If + + 'CUANDO FUE REFACTURADA + If dr("CompraRefacturada").ToString.ToEntero > 0 Then + BtnEliminarCompra.Visible = False + BtnActualizar.Visible = False + BtnGuardar.Visible = False + BtnCancelarCompra.Visible = False + End If + + 'TIENE AMORTIZACIÓN + If GvAnticiposSel.Rows.Count > 0 Then + + If Not DdlTipoComprobante.SelectedValue.Contiene("NC", "DEV") Then + BtnCancelarCompra.Visible = False + BtnEliminarCompra.Visible = False End If End If - Dim StrInventario As String = "" - If dr("Inventario").ToString = "1" Then - StrInventario = "los Movimientos de Inventario relacionados" + 'Tiene Importacion + + If dr("EsImportacion").ToString = "True" Then + chkImportacion.Checked = True + Else + chkImportacion.Checked = False + End If + CargaComplementosPago() + CargaGvBitacora() + InventarioMov() + HabilitaNCInv() + + If Request("RG") IsNot Nothing Then + BtnRegenerarPrePolizaAlmacen_Click(Nothing, Nothing) End If - If UsuarioActual.Empresa.UsaAC Then - BtnEliminarCompra.Attributes.Add("data-original-title", String.Format("¿Está seguro que desea eliminar la Compra, {0} y la Poliza Asociada?", StrInventario)) - ElseIf BtnEliminarCompra.Enabled Then - BtnEliminarCompra.Attributes.Add("data-original-title", String.Format("¿Está seguro que desea eliminar la Compra y {0}?", StrInventario)) - End If - End If - - 'VALIDA CANCELAR COMPRA - AC - ValidaCancelarCompra() - - 'CUANDO ESTA CANCELADA - If dr("CveEstatusFactura").ToString = "-2" Then - BtnEliminarCompra.Visible = False - BtnActualizar.Visible = False - BtnGuardar.Visible = False - BtnCancelarCompra.Visible = False - - LblCompraEstatus.Text = "CANCELADA" - LblCompraEstatus.Font.Bold = True - LblCompraEstatus.Font.Size = 12 - LblCompraEstatus.ForeColor = Drawing.Color.DarkRed - 'HplIr.Visible = False - - BtnDescontabilizar.Visible = False - BtnEliminarPolizaMultiple.Visible = False - - 'LIGA POLIZA CANCELACIÓN - 'HplPolizaCancelación.NavigateUrl = String.Format("/Contabilidad/RegPoliza.aspx?IdPoliza={0}", dr("IdPoliza")) - - End If - - 'CUANDO FUE REFACTURADA - If dr("CompraRefacturada").ToString.ToEntero > 0 Then - BtnEliminarCompra.Visible = False - BtnActualizar.Visible = False - BtnGuardar.Visible = False - BtnCancelarCompra.Visible = False - End If - - 'TIENE AMORTIZACIÓN - If GvAnticiposSel.Rows.Count > 0 Then - - If Not DdlTipoComprobante.SelectedValue.Contiene("NC", "DEV") Then + If DdlTipoComprobante.SelectedValue = "RNC" And CompraSaldo <> TxtTotal.Text.ToDecimal Then BtnCancelarCompra.Visible = False BtnEliminarCompra.Visible = False End If - End If - 'Tiene Importacion - - If dr("EsImportacion").ToString = "True" Then - chkImportacion.Checked = True - Else - chkImportacion.Checked = False - End If - CargaComplementosPago() - CargaGvBitacora() - InventarioMov() - HabilitaNCInv() - - If Request("RG") IsNot Nothing Then - BtnRegenerarPrePolizaAlmacen_Click(Nothing, Nothing) - End If - - If DdlTipoComprobante.SelectedValue = "RNC" And CompraSaldo <> TxtTotal.Text.ToDecimal Then - BtnCancelarCompra.Visible = False - BtnEliminarCompra.Visible = False - End If - - If UsuarioActual.Empresa.Funcionalidad(578) = "1" Then - If ObjCompra.GetGastoMedicos(CveCompra) Then - DTMedicos = ObjCompra.DtResultados - GvMedicosGastos.DataSource = ObjCompra.DtResultados - GvMedicosGastos.DataBind() + If UsuarioActual.Empresa.Funcionalidad(578) = "1" Then + If ObjCompra.GetGastoMedicos(CveCompra) Then + DTMedicos = ObjCompra.DtResultados + GvMedicosGastos.DataSource = ObjCompra.DtResultados + GvMedicosGastos.DataBind() + End If End If - End If - Else - Alert("La compra solicitada no se encontró. Por favor rectifique y vuelva a intentar.", TipoMensaje.MsgAdvertencia) + Else + Alert("La compra solicitada no se encontró. Por favor rectifique y vuelva a intentar.", TipoMensaje.MsgAdvertencia) End If Else Alert("Ocurrió un error al cargar la compra. Por favor vuelta a intentar o comuniquese con Sistemas.", TipoMensaje.MsgError) @@ -4899,7 +4909,6 @@ Partial Class Compras_Compras TmpDT.AcceptChanges() If Correcto Then - Dim ObjCompras As New ClsCompras() Dim ObjConta As New ClsContabilidad(ObjCompras.IniciaTransacSQL()) Dim ObjIE As New ClsBancos(ObjCompras.IniciaTransacSQL) @@ -4913,7 +4922,6 @@ Partial Class Compras_Compras Dim ObjCGame As New ClsCGame(ObjCompras.IniciaTransacSQL()) Dim ObjProductosServicios As New ClsProductosServicios(ObjCompras.IniciaTransacSQL()) Dim ObjGrales As New ClsGenerales(ObjCompras.IniciaTransacSQL()) - Dim ObjContaAC As ClsContPAQi = Nothing Dim ErrorMovtosCxP As Boolean = False @@ -5047,7 +5055,6 @@ Partial Class Compras_Compras UsuarioActual.Sesion("Comp-NumeroReembolso") = "" End If - If Not ErrorReembolso Then 'PORCENTAJE IVA @@ -5559,12 +5566,15 @@ Partial Class Compras_Compras Dim TmpDr As DataRow = TmpDT.Select($"Consec = {Row("Consec").ToString}")(0) TmpDr("CveCompraDetalle") = ObjCompras.CveCompraDetalle - ' Si no es un movimiento de almacen va a tronar - Try - Dim InvDr As DataRow = DtInv.Select($"Consec = {Row("Consec").ToString}")(0) - InvDr("CveCompraDetalle") = ObjCompras.CveCompraDetalle - Catch ex As Exception - End Try + Dim drs As DataRow() = DtInv.Select($"Consec = {Row("Consec").ToString}") + If drs.Count > 0 Then drs(0)("CveCompraDetalle") = ObjCompras.CveCompraDetalle + + '' Si no es un movimiento de almacen va a tronar + 'Try + ' Dim InvDr As DataRow = DtInv.Select($"Consec = {Row("Consec").ToString}")(0) + ' InvDr("CveCompraDetalle") = ObjCompras.CveCompraDetalle + 'Catch ex As Exception + 'End Try End If @@ -5784,7 +5794,6 @@ Partial Class Compras_Compras If CveMovimientoInventario <= 0 Then ErrorMovInv = True Else - Dim DtDetalle As New DataTable Dim DtEquivalencias As DataTable Dim CveProducto As Integer @@ -5866,8 +5875,6 @@ Partial Class Compras_Compras Exit For End If End If - - End If End If i = i + 1 @@ -5891,7 +5898,6 @@ Partial Class Compras_Compras End If End If End If - End If Next End If @@ -6018,7 +6024,6 @@ Partial Class Compras_Compras If Capital > 0 Or Interes > 0 Or Ambos > 0 Then If ObjIE.GetCreditosDetalle(CveCreditoTemp, -1) Then - Dim CveCompraCapital As Integer = -1 Dim CveCompraInteres As Integer = -1 @@ -6251,9 +6256,6 @@ Partial Class Compras_Compras End Select End If - - - importeMovimiento = importePagoProv If CveMonedaPago = 2 AndAlso DdlMoneda.SelectedValue.ToEntero = 1 Then importeMovimiento = importeMovimiento / TipoCambioCompra @@ -6271,7 +6273,6 @@ Partial Class Compras_Compras CveSubProyectoDT = TmpDT(0)("CveSubProyecto").ToString.ToEntero CveTipoGastoDT = TmpDT(0)("CveTipoGasto").ToString.ToEntero End If - Concepto = $"{NombreProveedor} {TxtSerie.Text} - {TxtFolio.Text}" Dim ImporteSubCre As Decimal = TxtSubTotal.Text.ToDecimal @@ -6281,7 +6282,6 @@ Partial Class Compras_Compras ErrorPrepoliza = True End If - 'If importeMovimiento <> 0 Then For Each gvRowCredito As GridViewRow In GvCreditos.Rows @@ -6540,7 +6540,6 @@ Partial Class Compras_Compras End If AlmacenSoloExistencia = True End If - Dr.AcceptChanges() Next End If @@ -6583,7 +6582,6 @@ 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 - Dim ImpPrepoliza As Decimal = 0D Dim ImpPrepolizaMN As Decimal = 0D @@ -6604,16 +6602,13 @@ Partial Class Compras_Compras Else ErrorPrepoliza = True End If - Else 'SI ES GASTO CON ALMACEN NO DEBE CONTABILIZAR CONCEPTO 68 If CveMovimientoInventario > 0 AndAlso Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, 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 ErrorPrepoliza = True End If - End If - 'SI ES GASTO CON ALMACEN REGISTRA EL CONCEPTO 95 If DdlTipoCompra.SelectedValue = "10" Or EntradaComoGastoConAlmacen Then If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not TipoMovimiento, importeMN.RoundSQL(2), importeMN.RoundSQL(2), 95, Referencia, Concepto, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveIE:=CveIE, CvePersonal:=CvePersonal, CveMovimientoAlmacen:=CveMovimientoInventario, CveCreditoDetalle:=CveCreditoDetalle, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), TipoCambio:=tipoCambioActual, Contabilizable:=False) Then @@ -6831,7 +6826,7 @@ Partial Class Compras_Compras If RegistraConcepto225 Then - importeMovimiento = TmpDT.SUM(If(ListaDocumentos IsNot Nothing AndAlso ListaDocumentos.Count > 0 AndAlso ArrAnticipos IsNot Nothing AndAlso ArrAnticipos.Count > 0 AndAlso TxtTotal.Text.ToDecimal = 0, "ImporteSinImpuestos", "Total"), $"ISNULL(TipoAF,0) <> 2 And ISNULL(AplicaCostoIndirecto,0) <> 1 And ISNULL(CveTipoPS,0) = 2").ToString.ToDecimal + importeMovimiento = TmpDT.SUM("Total") 'TmpDT.SUM(If(ListaDocumentos IsNot Nothing AndAlso ListaDocumentos.Count > 0 AndAlso ArrAnticipos IsNot Nothing AndAlso ArrAnticipos.Count > 0 AndAlso TxtTotal.Text.ToDecimal = 0, "ImporteSinImpuestos", "Total"), $"ISNULL(TipoAF,0) <> 2 And ISNULL(AplicaCostoIndirecto,0) <> 1 And ISNULL(CveTipoPS,0) = 2").ToString.ToDecimal importeMN = importeMovimiento * tipoCambioActual * Multiplicador 'no es necesario, ya se está interpretandoe l usado como producto @@ -6851,8 +6846,6 @@ Partial Class Compras_Compras End If Concepto = $"{NombreProveedor} {TxtSerie.Text} - {TxtFolio.Text}" - - If importeMovimiento > 0 Or TxtTotal.Text.ToDecimal = 0 Then RegistroCuentaPuente = True Dim ImporteTransito As Decimal = 0 @@ -6870,8 +6863,6 @@ Partial Class Compras_Compras End If End If Next - - Dim importeMNTemp As Decimal = 0 Dim CveCompraAmortizacion As Integer = -1 @@ -6902,7 +6893,6 @@ Partial Class Compras_Compras End If End If - 'si se marca que no se va a recibir, falta validación If Not ErrorMovInv AndAlso Not ObjCompras.UpdateEstatusAlmacen(CveCompra, 1, UsuarioActual.CveUsuario) Then ErrorMovInv = True @@ -6923,20 +6913,28 @@ Partial Class Compras_Compras End If End If Else - - Dim DiferenciaDevolucion As Decimal = If(DdlMoneda.SelectedValue.ToEntero <> 1, (importeMovimiento * TxtTC.Text.ToDecimal), importeMovimiento) - TotalRealDevolucion If TotalRealDevolucion <> 0 Then - + Dim tCveCompra As Integer = CveCompra + Dim tCveCompraAmortizacion As Integer = -1 If Math.Abs(DiferenciaDevolucion) > 0 Then Dim tMovto As Boolean = False + Dim tConceptoDiferencia As Integer = 69 If UsuarioActual.CveEmpresa = 119 Then tMovto = True Else DiferenciaDevolucion = -DiferenciaDevolucion End If - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, tMovto, DiferenciaDevolucion, DiferenciaDevolucion, 69, Referencia, Concepto, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, ImporteME:=If(tipoCambioActual = 1, 0, DiferenciaDevolucion), TipoCambio:=tipoCambioActual, CveMovimientoAlmacen:=CveMovimientoDevolucion, Contabilizable:=SeContabiliza, CveSubProyecto:=tCveSubProyecto, CveClasificacion:=tCveClasif) Then + If UsuarioActual.Empresa.Funcionalidad(574) = "1" Then ' las devoluciones, que tengan descuento por rnc, debe de descontar del saldo de la factura aplicada + tConceptoDiferencia = 272 + tCveCompraAmortizacion = tCveCompra + If ObjConta.GetPrePolizasDetalle(CvePrePoliza, UsuarioActual.CveEmpresa) Then + tCveCompra = ObjConta.DtResultados.FiltroPrimeroValor("CveCompraAmortizacion", "CveConceptoContable = 60").ToEntero 'a aplicación de la nc + End If + End If + + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, tMovto, DiferenciaDevolucion, DiferenciaDevolucion, tConceptoDiferencia, Referencia, Concepto, CveCompra:=tCveCompra, CveCompraAmortizacion:=tCveCompraAmortizacion, CveProveedor:=CveProveedorConcepto, ImporteME:=If(tipoCambioActual = 1, 0, DiferenciaDevolucion), TipoCambio:=tipoCambioActual, CveMovimientoAlmacen:=CveMovimientoDevolucion, Contabilizable:=SeContabiliza, CveSubProyecto:=tCveSubProyecto, CveClasificacion:=tCveClasif) Then ErrorPrepoliza = True End If End If @@ -7014,8 +7012,6 @@ Partial Class Compras_Compras End If End If - 'ChkNCInvNC - If Not RegistroCuentaPuente AndAlso Not ChkNCInvNC.Checked Then 'GASTO If UsuarioActual.CveEmpresa = 119 Then @@ -7040,20 +7036,7 @@ Partial Class Compras_Compras If AgregaMercanciaInventario Then DT = DT.FiltraParametros("ISNULL(CveTipoPS,0) <> 2") End If - Dim DTDistinct As DataTable = DT.Copy - 'If UsuarioActual.Empresa.Funcionalidad(126) = "1" Then - ' For Each drowdis As DataRow In DTDistinct.Rows - ' If drowdis("CveTipoGasto").ToString = "" Then - ' drowdis("CveTipoGasto") = 0 - ' End If - ' If drowdis("TipoGasto").ToString.Trim = "" Then - ' drowdis("TipoGasto") = "ND" - ' End If - ' Next - ' DTDistinct = DTDistinct.FiltraParametros("ISNULL(TipoAF, 0) <> 2", "", {"CveClasificacion", "Clasificacion", "SubProyecto", "CveSubProyecto", "CveTipoGasto", "TipoGasto"}) - 'Else - For Each drowdis As DataRow In DTDistinct.Rows If drowdis("CveTipoGasto").ToString = "" Then @@ -7258,7 +7241,7 @@ Partial Class Compras_Compras End If Next - If UsuarioActual.Empresa.Funcionalidad(574) = "1" Then + If UsuarioActual.Empresa.Funcionalidad(574) = "1" AndAlso DdlTipoCompra.SelectedValue = "15" Then Dim TotalSaldo As Decimal = TxtTotal.Text.ToDecimal For Each gvRow As GridViewRow In GvRNC.Rows @@ -10918,17 +10901,17 @@ Partial Class Compras_Compras TmpDT.Columns.Add("DifPSSat", GetType(Integer)) - TmpDT.Columns.Add("CveContratoDetalle", GetType(Integer)) TmpDT.Columns.Add("CveCultivoCuadroDetalle", GetType(Integer)) TmpDT.Columns.Add("TemporadaCuadro", GetType(String)) + TmpDT.Columns.Add("AplicaSerie", GetType(Boolean)) TmpDT.Columns.Add("AplicaLote", GetType(Boolean)) TmpDT.Columns.Add("AplicaCaducidad", GetType(Boolean)) + TmpDT.Columns.Add("Serie", GetType(String)) TmpDT.Columns.Add("Lote", GetType(String)) TmpDT.Columns.Add("FechaCaducidad", GetType(Date)) - TmpDTOriginal = New DataTable TmpDTOriginal.Columns.Add("Consec", GetType(Integer)) TmpDTOriginal.Columns.Add("Cantidad", GetType(Decimal)) @@ -11038,8 +11021,10 @@ Partial Class Compras_Compras TmpDTOriginal.Columns.Add("CveCultivoCuadroDetalle", GetType(Double)) TmpDTOriginal.Columns.Add("TemporadaCuadro", GetType(String)) + TmpDTOriginal.Columns.Add("AplicaSerie", GetType(Boolean)) TmpDTOriginal.Columns.Add("AplicaLote", GetType(Boolean)) TmpDTOriginal.Columns.Add("AplicaCaducidad", GetType(Boolean)) + TmpDTOriginal.Columns.Add("Serie", GetType(String)) TmpDTOriginal.Columns.Add("Lote", GetType(String)) TmpDTOriginal.Columns.Add("FechaCaducidad", GetType(Date)) @@ -13876,9 +13861,14 @@ Partial Class Compras_Compras 'si no esta vinculado a nc simplemente me lo brinco If realizadevolucion Then - 'si el subtotal es iwal a la nc lo guardo si no marco error - If subtotal > subtotaldevolucion - 1 AndAlso subtotal < subtotaldevolucion + 1 Then - + 'si el subtotal es igual a la nc lo guardo si no marco error + Dim tTolerancia As Decimal = 0 + Dim tAjustaUltimo As Boolean = True + If UsuarioActual.Empresa.Funcionalidad(574) = "1" Then + tTolerancia = Math.Abs(TxtSubTotal2.Text.ToDecimal - subtotaldevolucion) + tAjustaUltimo = False + End If + If Math.Abs(subtotal - subtotaldevolucion) <= tTolerancia Then CveMovimientoEntrada = ObjInventario.AddMovimiento(CveAlmacen, 13, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCompra, -1, -1, -1, Modulo:="Comp/G1") If CveMovimientoEntrada <= 0 Then ErrorMovInv = True @@ -13894,17 +13884,16 @@ Partial Class Compras_Compras PU = Dr.DataKey("PU").ToString.ToDecimal PUExtranjero = Dr.DataKey("PUExtranjero").ToString.ToDecimal ii += 1 - If CantidadRenglones = ii Then + If CantidadRenglones = ii AndAlso tAjustaUltimo Then Dim dif As Decimal = subtotal - Acumulado - PU = (((Dr.FCTextBox("TxtCantidad").Text.ToDecimal * Dr.DataKey("PU").ToString.ToDecimal)) + dif) / Dr.FCTextBox("TxtCantidad").Text.ToDecimal + PU = (((Dr.FCTextBox("TxtCantidad").Text.ToDecimal * Dr.DataKey("PU").ToDecimal)) + dif) / Dr.FCTextBox("TxtCantidad").Text.ToDecimal End If - If ObjInventario.GetExistenciasProducto(Dr.DataKey("CvePS").ToString.ToEntero, Dr.DataKey("CveUM").ToString.ToEntero, UsuarioActual.CveEmpresa, CveAlmacen, - FechaMovto:=TxtFecha.Text.ToDateTime.AddHours(NowADS().Hour).AddMinutes(NowADS().Minute).AddSeconds(NowADS().Second).ToString("yyyy/MM/dd HH:mm")) Then - + Dim tFechaExistencia As DateTime = TxtFecha.Text.ToDateTime.AddHours(NowADS().Hour).AddMinutes(NowADS().Minute).AddSeconds(NowADS().Second) + If ObjInventario.GetExistenciasProducto(Dr.DataKey("CvePS").ToEntero, Dr.DataKey("CveUM").ToEntero, UsuarioActual.CveEmpresa, CveAlmacen, + FechaMovto:=tFechaExistencia.ToString("yyyy/MM/dd HH:mm")) Then Dim Existencia As Decimal = ObjInventario.DtResultados.FiltroPrimeroValor("ExistenciaFinal", String.Format("CveAlmacen = {0}", CveAlmacen)).ToDecimal - - If Dr.FCTextBox("TxtCantidad").Text.ToDouble > Existencia Then - Alert($"No hay existencia suficiente del producto {Dr.DataKey("PS").ToString} en la fecha:{TxtFecha.Text}", TipoMensaje.MsgAdvertencia) + If Dr.FCTextBox("TxtCantidad").Text.ToDecimal > Existencia Then + Alert($"No hay existencia suficiente del producto:
- {Dr.DataKey("CodigoPS")} en la fecha: {tFechaExistencia.ToString("yyyy/MM/dd HH:mm")}", TipoMensaje.MsgAdvertencia) ErrorMovInv = True Exit For End If @@ -13930,11 +13919,11 @@ Partial Class Compras_Compras End If Else ErrorMovInv = True - Alert("El Total de la NC debe ser igual al total de la devolucion", TipoMensaje.MsgAdvertencia) + Alert("El Total de la NC debe ser igual al total de la devolucion", TipoMensaje.MsgAdvertencia) + End If End If - End If - If ObjInventario.GetMovimientosDetalle(CveMovimientoEntrada, UsuarioActual.CveEmpresa, -1) Then + If ObjInventario.GetMovimientosDetalle(CveMovimientoEntrada, UsuarioActual.CveEmpresa, -1) Then For Each drow As DataRow In ObjInventario.DtResultados.Rows TotalSumaPU = TotalSumaPU + drow("Total").ToString.ToDecimal @@ -13952,6 +13941,7 @@ Partial Class Compras_Compras Private Sub cargaddldevoluciones(CveProveedor As Integer, SubTotal As Double) Dim objcompras As New ClsCompras() + If objcompras.GetCompraParaDevolucion(CveProveedor, UsuarioActual.CveEmpresa, SubTotal) Then DDLDevolucion.Items.Clear() Dim dtt As DataTable = objcompras.DtResultados @@ -13969,6 +13959,9 @@ Partial Class Compras_Compras End Sub Protected Sub DDLDevolucion_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DDLDevolucion.SelectedIndexChanged + + FechaMovtoDev = MinFecha + If DdlTipoComprobante.SelectedValue.Contiene("DEV") Then DivAlmacenDev.Visible = True End If @@ -13976,6 +13969,7 @@ Partial Class Compras_Compras Dim objcompras As New ClsCompras() If objcompras.GetCompraDetalleAlmacen(UsuarioActual.CveEmpresa, DDLDevolucion.SelectedValue.ToEntero) Then GVDevolucion.DataSource = objcompras.DtResultados + FechaMovtoDev = objcompras.DtResultados.FiltroPrimeroValor("FechaMovto").ToDate.ToString("dd/MM/yyyy").ToDate End If objcompras.Dispose() GVDevolucion.DataBind() @@ -13986,24 +13980,19 @@ Partial Class Compras_Compras End If Next DdlAlmacenDevolucion.SelectedValueExist(CveAlmacen) - UPDevolucion.Update() + + If EsGrupoDiaz AndAlso FechaMovtoDev <> MinFecha AndAlso (FechaMovtoDev >= TxtFecha.Text.ToDate) Then + Alert("La fecha de la devolución se cambiará a una fecha posterior al ingreso.", TipoMensaje.ToastAdventencia) + End If + End Sub - 'Protected Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click - ' cargaddldevoluciones(CveProveedor, TextBox1.Text.ToDouble) - 'End Sub - 'Protected Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click - ' Dim ObjInventario As New ClsInventarios() - ' Dim cvecompra As Integer = 5221 - ' Dim subtotal As Double = TextBox1.Text.ToDouble - ' guardardevolucion(ObjInventario, cvecompra, subtotal, NowADS().ToDate) - 'End Sub + Protected Sub BtnVinculaDevolucion_Click(sender As Object, e As EventArgs) Try Dim subtotaldevolucion As Decimal = 0 Dim realizadevolucion As Boolean = False - 'Calculo los subtotales para comparar con la NC Dim cantidad As Decimal = 0D @@ -14018,11 +14007,20 @@ Partial Class Compras_Compras 'si no esta vinculado a nc simplemente me lo brinco If realizadevolucion Then - 'si el subtotal es iwal a la nc lo guardo si no marco error - If TxtSubTotal2.Text.ToDouble > subtotaldevolucion - 1 AndAlso TxtSubTotal2.Text.ToDouble < subtotaldevolucion + 1 Then - + 'si el subtotal es igual a la nc lo guardo si no marco error + 'si tiene FNC574, se ajustará la diferencia a un concepto como RNC + Dim tTolerancia As Decimal = 1 + 'si tiene la funcionalidad ajustará en un producto la diferencia + If UsuarioActual.Empresa.Funcionalidad(574) = "1" Then tTolerancia = Math.Abs(TxtSubTotal2.Text.ToDecimal - subtotaldevolucion) + If Math.Abs(TxtSubTotal2.Text.ToDecimal - subtotaldevolucion) <= tTolerancia Then VinculaDevolucion() + If EsGrupoDiaz AndAlso FechaMovtoDev <> MinFecha AndAlso (FechaMovtoDev >= TxtFecha.Text.ToDate) Then + TxtFecha.Text = FechaMovtoDev.AddDays(1).ToString("dd/MM/yyyy") + Alert("La fecha de la devolución se cambiará a una fecha posterior al ingreso.", TipoMensaje.ToastAdventencia) + UpParametros.Update() + End If + Else Alert("El Total de la NC debe ser igual al total de la devolucion", TipoMensaje.MsgAdvertencia) End If @@ -14033,7 +14031,6 @@ Partial Class Compras_Compras OnError("Ocurrió un error al realizar la vinculación", ex) End Try - End Sub Private Sub VinculaDevolucion() @@ -14053,15 +14050,17 @@ Partial Class Compras_Compras Dim IVAPorcentajeCompra As Decimal = Math.Round((IVACompra / SubTotalCompra), 2) Dim Contador As Integer = 0 Dim Consec As Integer = 0 - + Dim tAjusteUltimo As Boolean = True For Each gvr As GridViewRow In GVDevolucion.Rows If gvr.FCTextBox("TxtCantidad").Text.ToDecimal > 0 Then Contador += 1 End If Next - Dim CveSubProyectoContrato As String = GlobalDTAlmacen(UsuarioActual.CveEmpresa, CveAlmacen:=DdlAlmacenDevolucion.SelectedValue.ToEntero).FiltroPrimeroValor("CveSubProyecto") - Dim SubProyecto As String = GlobalDTSubProyectos(UsuarioActual.CveEmpresa, CveSubProyecto:=CveSubProyectoContrato.ToEntero).FiltroPrimeroValor("SubProyecto") + Dim Total As Decimal = 0 + Dim CveSubProyectoDev As String = GlobalDTAlmacen(UsuarioActual.CveEmpresa, CveAlmacen:=DdlAlmacenDevolucion.SelectedValue.ToEntero).FiltroPrimeroValor("CveSubProyecto") + Dim SubProyecto As String = GlobalDTSubProyectos(UsuarioActual.CveEmpresa, CveSubProyecto:=CveSubProyectoDev.ToEntero).FiltroPrimeroValor("SubProyecto") 'Iteramos el GridView de la OC + If UsuarioActual.Empresa.Funcionalidad(574) = "1" Then tAjusteUltimo = False For Each gvr As GridViewRow In GVDevolucion.Rows If gvr.FCTextBox("TxtCantidad").Text.ToDecimal > 0 Then @@ -14073,22 +14072,20 @@ Partial Class Compras_Compras Dim UM As String = gvr.DataKey("UM").ToString Dim CveClasificacion As Integer = gvr.DataKey("CveClasificacion").ToString.ToEntero Dim Clasificacion As String = gvr.DataKey("Clasificacion").ToString - Dim PS As String = gvr.DataKey("PS").ToString + Dim PS As String = gvr.DataKey("CodigoPS").ToString Dim CveTipoPS As Integer = gvr.DataKey("CveTipoPS").ToString.ToEntero - Dim CveProyecto As String = "-1" - Dim Proyecto As String = "Seleccione" Dim Obs As String = "" Dim PU As Decimal = gvr.DataKey("PU").ToString.ToDecimal - Dim Total As Decimal = gvr.FCTextBox("TxtTotalDevolucion").Text.ToDecimal - Dim IVA As Decimal = IVAPorcentajeCompra 'Math.Round(Total * IVAPorcentajeCompra, 2) + Total = gvr.FCTextBox("TxtTotalDevolucion").Text.ToDecimal + Dim IVA As Decimal = IVAPorcentajeCompra 'Math.Round(Total * IVAPorcentajeCompra, 2) Dim Descuento As Decimal = 0 Acumulado += (PU * Cantidad) Consec += 1 - If Consec = Contador Then 'SubTotalCompra < Acumulado Then + If Consec = Contador AndAlso tAjusteUltimo Then 'SubTotalCompra < Acumulado Then 'ajusta el valor Dim dif As Decimal = SubTotalCompra - Acumulado If dif <> 0 Then @@ -14096,10 +14093,25 @@ Partial Class Compras_Compras Total = Cantidad * PU End If End If - AddPS(Cantidad, CveUM, UM, CveClasificacion, Clasificacion, CvePS, PS, CveTipoPS, CveSubProyectoContrato, SubProyecto, Proyecto, CveProyecto, Obs, PU, Total, IVA, 0, 0, 0, 0, Descuento, -1, False) + AddPS(Cantidad, CveUM, UM, CveClasificacion, Clasificacion, CvePS, PS, CveTipoPS, CveSubProyectoDev, SubProyecto, Proyecto, CveProyecto, Obs, PU, Total, IVAPorcentajeCompra, 0, 0, 0, 0, Descuento, -1, False, CveAlmacen:=DdlAlmacenDevolucion.SelectedValue.ToEntero) End If Next + If UsuarioActual.Empresa.Funcionalidad(574) = "1" Then + Dim CvePSRNC As Integer = UsuarioActual.Empresa.Funcionalidad(580).ToEntero + If CvePSRNC = 0 Then + Alert("producto utilizado para diferencia no definido.") + Exit Sub + End If + Dim PSRow As DataRow = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CvePS:=CvePSRNC).FiltroPrimero("") + Dim PS As String = PSRow("PSCodigo").ToString + Dim tDif As Decimal = TxtSubTotal2.Text.ToDecimal - Total + + AddPS(1, PSRow("CveUnidadMedida").ToString.ToEntero, PSRow("UnidadMedida").ToString, + PSRow("CveClasificacion").ToString.ToEntero, PSRow("Clasificacion").ToString, CvePSRNC, PS, 1, CveSubProyectoDev.ToString, SubProyecto, "", "-1", "", tDif, tDif, IVAPorcentajeCompra, 0, 0, 0, 0, 0) + + End If + AddPS2() BtnGuardar.Enabled = True @@ -14115,7 +14127,6 @@ Partial Class Compras_Compras ImgClasificacion.Visible = False LbAgregar.Visible = False - UpPSS.Update() 'CargaGvInv() @@ -14137,7 +14148,6 @@ Partial Class Compras_Compras End If GvOC1.DataBind() - ' TmpDT = OrdenarTablas("CvePS", DTOCTemp, TmpDT) GvOC2.DataSource = TmpDT GvOC2.DataBind() @@ -14491,19 +14501,13 @@ Partial Class Compras_Compras End If End If - If Not TmpDT.Columns.Contains("AplicaLote") Then - TmpDT.Columns.Add("AplicaLote", GetType(Boolean)) - End If - If Not TmpDT.Columns.Contains("AplicaCaducidad") Then - TmpDT.Columns.Add("AplicaCaducidad", GetType(Boolean)) - End If - If Not TmpDT.Columns.Contains("Lote") Then - TmpDT.Columns.Add("Lote", GetType(String)) - End If - If Not TmpDT.Columns.Contains("FechaCaducidad") Then - TmpDT.Columns.Add("FechaCaducidad", GetType(Date)) - End If + If Not TmpDT.Columns.Contains("AplicaLote") Then TmpDT.Columns.Add("AplicaLote", GetType(Boolean)) + If Not TmpDT.Columns.Contains("AplicaCaducidad") Then TmpDT.Columns.Add("AplicaCaducidad", GetType(Boolean)) + + If Not TmpDT.Columns.Contains("Lote") Then TmpDT.Columns.Add("Lote", GetType(String)) + + If Not TmpDT.Columns.Contains("FechaCaducidad") Then TmpDT.Columns.Add("FechaCaducidad", GetType(Date)) If ObjInventario.GetInv_ComprasMov(CveCompra, UsuarioActual.CveEmpresa) Then If ObjInventario.DtResultados.Rows.Count > 0 Then @@ -16721,7 +16725,6 @@ Partial Class Compras_Compras End If End If - UPCondicionesPago.Update() End Sub @@ -18169,7 +18172,7 @@ Partial Class Compras_Compras Case "A" 'ADD Dim SATClavePS As Integer = -1 - Dim PSRow As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=DdlPS.SelectedValue.ToEntero).FiltroPrimero("") + Dim PSRow As DataRow = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CvePS:=DdlPS.SelectedValue.ToEntero).FiltroPrimero("") If PSRow IsNot Nothing Then SATClavePS = PSRow("SATClavePS").ToString.ToEntero End If @@ -18258,13 +18261,11 @@ Partial Class Compras_Compras Optional PSCodigo As String = "-", Optional PSDescripcion As String = "-", Optional CantidadF As Double = -1, Optional EntregaDirecta As Integer = -1, Optional OtrosGastos As Decimal = 0, Optional CveSATPS As Integer = -1, Optional CargaXml As Boolean = False, Optional CveTipoGasto As Integer = -1, Optional TipoGasto As String = "", Optional PorcentajeIVA As Decimal = 0, Optional PorcentajeIEPS As Decimal = 0, Optional PorcentajeRetIVA As Decimal = 0, Optional PorcentajeRetISR As Decimal = 0, Optional NoDeducible As Boolean = False, Optional CveContratoDetalle As Integer = -1, Optional CveCultivoCuadroDetalle As Integer = -1, - Optional CveSATPSActualizado As Boolean = False, Optional TemporadaCuadro As String = "", Optional CodigoPS As String = "") As Integer + Optional CveSATPSActualizado As Boolean = False, Optional TemporadaCuadro As String = "", Optional CodigoPS As String = "", Optional CveAlmacen As Integer = -1) As Integer Dim Row As DataRow = Nothing - If Not TmpDT.Columns.Contains("CodigoPS") Then - TmpDT.Columns.Add("CodigoPS") - End If + If Not TmpDT.Columns.Contains("CodigoPS") Then TmpDT.Columns.Add("CodigoPS") Row = TmpDT.NewRow() Dim Retorno As Integer = 0 @@ -18293,6 +18294,12 @@ Partial Class Compras_Compras If Not DdlTipoCompra.SelectedValue.Contiene("12") AndAlso DrPS("AplicaSerie").ToString = "True" Then Row("CveMetodoInventario") = "1" End If + If (DrPS("CvePSCargo").ToString <> "") Then 'si es un producto de usado. que se registre contablemente como alamcen(como producto) + CveTipoPS = 2 + End If + Row("AplicaSerie") = DrPS("AplicaSerie") + Row("AplicaLote") = DrPS("AplicaLote") + Row("AplicaCaducidad") = DrPS("AplicaCaducidad") Else Row("PSCodigo") = PSCodigo Row("CveMetodoInventario") = 0 @@ -18306,36 +18313,17 @@ Partial Class Compras_Compras If (Version = "3.3" Or Version = "4.0") And CveSATPS > 0 Then Dim DrPSSAT As DataRow = Nothing - If CargaXml Then - DrPSSAT = GlobalDTPSATPS("-1", CveSATPS.ToString).FiltroPrimero("") - 'If GlobalDTPSATPS().FiltraParametros(String.Format("SATClavePS={0}", CveSATPS)).Rows.Count > 0 Then - ' DrPSSAT = GlobalDTPSATPS().FiltraParametros(String.Format("SATClavePS={0}", CveSATPS)).Rows(0) - 'End If - Else - DrPSSAT = GlobalDTPSATPS("-1", CveSATPS.ToString).FiltroPrimero("") '= GlobalDTPSATPS().FiltroPrimero(String.Format("SATClavePS={0}", CveSATPS)) - 'If GlobalDTPSATPS().FiltraParametros(String.Format("CveSATPS={0}", CveSATPS)).Rows.Count > 0 Then - ' DrPSSAT = GlobalDTPSATPS().FiltraParametros(String.Format("CveSATPS={0}", CveSATPS)).Rows(0) - 'End If - End If + DrPSSAT = GlobalDTPSATPS("-1", CveSATPS.ToString).FiltroPrimero("") If DrPSSAT IsNot Nothing Then Row("SATClaveProductoServicio") = DrPSSAT("SATClaveProductoServicio").ToString Row("CveSATPS") = DrPSSAT("CveSATPS").ToString If CveSATPSActualizado Then Row("CveSATPSActualizado") = 1 - Else Row("CveSATPSActualizado") = 0 - End If End If End If - Try - If (DrPS("CvePSCargo").ToString <> "") Then 'si es un producto de usado. que se registre contablemente como alamcen(como producto) - CveTipoPS = 2 - End If - Catch ex As Exception - - End Try Dim DecimalesPermitidos As Integer = 6 @@ -18427,6 +18415,7 @@ Partial Class Compras_Compras Row("CveCultivoCuadroDetalle") = CveCultivoCuadroDetalle Row("TemporadaCuadro") = TemporadaCuadro + If CveAlmacen > 0 Then Row("CveAlmacen") = CveAlmacen If UsuarioActual.Empresa.UsaAC Then Row("CveProgramaOperativo") = DdlACGeneral1.SelectedValue.ToEntero @@ -19430,7 +19419,7 @@ Partial Class Compras_Compras For Each Dr As DataRow In Dt.Rows Dim Total As Decimal = ObjInventario.DtResultados.FiltraParametros($"CveClasificacion = {Dr("CveClasificacion")}").SUM("Total").RoundSQL() ' * (If(EsCancelacion, -1, 1)) - If Not ObjConta.AddPrePolizasDetalle(CvePrePolizaSalida, Not TipoMovtoAlmacen, Total, Total, 95, LblFolio.Text, Obs, 0, CveMovimientoAlmacen:=CveMovimientoSalida, CveClasificacion:=Dr("CveClasificacion").ToString.ToEntero, CveSubProyecto:=tCveSubProyecto, Contabilizable:=EsContabilizable) Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePolizaSalida, Not TipoMovtoAlmacen, Total, Total, 259, LblFolio.Text, Obs, 0, CveMovimientoAlmacen:=CveMovimientoSalida, CveClasificacion:=Dr("CveClasificacion").ToString.ToEntero, CveSubProyecto:=tCveSubProyecto, Contabilizable:=EsContabilizable) Then Respuesta = False End If Next @@ -20749,15 +20738,23 @@ Partial Class Compras_Compras End If End If - If DdlTipoCompra.SelectedValue = "15" Then 'Remisión de nota de crédito + If UsuarioActual.Empresa.Funcionalidad(574) = "1" Then 'cuando es emp DIAZ - If DdlTipoComprobante.SelectedValue = "NC" Then - CargaGVRemisionNotaCredito() - HLAplicaNCFact.Visible = False + If DdlTipoCompra.SelectedValue = "15" Then 'Remisión de nota de crédito + + If DdlTipoComprobante.SelectedValue = "NC" Then + CargaGVRemisionNotaCredito() + HLAplicaNCFact.Visible = False + Else + Alert("Para elegir Remisión de Nota de Crédito el tipo de documento debe de ser Nota de Crédito.", TipoMensaje.MsgAdvertencia) + 'DdlRemisionNotaCredito.SelectedValueExist(-1) + DdlTipoCompra.SelectedValueExist(-1) + End If Else - Alert("Para elegir Remisión de Nota de Crédito el tipo de documento debe de ser Nota de Crédito.", TipoMensaje.MsgAdvertencia) - 'DdlRemisionNotaCredito.SelectedValueExist(-1) - DdlTipoCompra.SelectedValueExist(-1) + 'SE ACTIVA DE NUEVO PARA LA SELECCIÓN + HLAplicaNCFact.Visible = True + InicializaAplicaNCFact() + If CveFactura > 0 Then NCSeleccionFacturasRelacionadas(UUIDSList) End If End If @@ -22038,12 +22035,12 @@ Partial Class Compras_Compras Dim respuesta As Boolean = True Dim PorcentajeIVA As Decimal = TmpDT.MAX("IVAPorcentaje").ToDecimal - Dim CvePS_RNC As Integer = UsuarioActual.Empresa.Funcionalidad(580).ToEntero - Dim PSRow As DataRow = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CvePS:=CvePS_RNC).FiltroPrimero("") + Dim CvePSRNC As Integer = UsuarioActual.Empresa.Funcionalidad(580).ToEntero + Dim PSRow As DataRow = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CvePS:=CvePSRNC).FiltroPrimero("") Dim CveSubProyectoPrincipal As Integer = AsignarSubProyectoPrincipal() Dim SubProyecto As String = "" - If Not CvePS_RNC > 0 Then + If Not CvePSRNC > 0 Then Alert("No esta definido el producto de Remisión de Nota de Crédito.", TipoMensaje.MsgAdvertencia) Return False End If @@ -22056,7 +22053,6 @@ Partial Class Compras_Compras SubProyecto = GlobalDTSubProyectos(UsuarioActual.CveEmpresa, CveSubProyecto:=CveSubProyectoPrincipal).FiltroPrimeroValor("SubProyecto") If PSRow IsNot Nothing Then - Dim CompraRNC As New ClsCompraManagerCompras(UsuarioActual) With { .TipoDocto = "RNC", .CveProveedor = CveProveedor, @@ -22090,7 +22086,7 @@ Partial Class Compras_Compras Dim IVARNC As Decimal = (Importe * PorcentajeIVA).RoundSQL(2) Dim TotalRNC As Decimal = If(RedondearSaldado, (Importe + IVARNC).RoundSQL(2), (Importe + IVARNC)) - CompraRNC.ConfiguraRegistroRapido(CvePS_RNC, CveUM, UM, CveClasificacion, Clasificacion, PS, CveSubProyectoPrincipal, SubProyecto, ImporteRNC, IVARNC, TotalRNC, PorcentajeIVA, TipoCambio:=TipoCambioOriginal) + CompraRNC.ConfiguraRegistroRapido(CvePSRNC, CveUM, UM, CveClasificacion, Clasificacion, PS, CveSubProyectoPrincipal, SubProyecto, ImporteRNC, IVARNC, TotalRNC, PorcentajeIVA, TipoCambio:=TipoCambioOriginal) If CompraRNC.AddCompra(sqltransaccion) Then Dim tImporteRNC = TotalRNC ' le agrego el importe del iva Dim Pago As New CompraPago @@ -22619,7 +22615,7 @@ Partial Class Compras_Compras nRow("SubTotal") = subtotalParcial.RoundSQL(4) nRow("Total") = totalParcialDeseado.RoundSQL(4) - nRow("PorcentajeIVA") = (ivaParcial / subtotalParcial).RoundSQL(4) + nRow("PorcentajeIVA") = (ivaParcial / subtotalParcial).RoundSQL(2) nRow("Porcentaje") = ((totalParcialDeseado.RoundSQL(4) * 100) / TotalOriginal).RoundSQL(2) nRow("RetIVAPorcentaje") = (retIvaParcial / subtotalParcial).RoundSQL(4) @@ -22850,7 +22846,7 @@ Public Class ClsCompraManagerCompras Public Property CveMetodoPago As Integer Public Property MetodoPago As String - Public Property DocumentosRelacionadosUUIDSList As List(Of String) = New List(Of String) + Public Property DocumentosRelacionadosUUIDSList As HashSet(Of String) = New HashSet(Of String) Public ReadOnly Property DocumentosRelacionadosUUIDSString As String Get Return GeneraStringDoctosRelacionados() @@ -23069,7 +23065,7 @@ Public Class ClsCompraManagerCompras If TipoComprobante.ToUpper = "E" AndAlso (CFDIVersion = EnumCFDIVersion.v33 OrElse CFDIVersion = EnumCFDIVersion.v40) Then Dim UUIDS As String = "" - Dim UUIDSLista As New List(Of String) + Dim UUIDSLista As New HashSet(Of String) Dim nodeCFDIRelacionados As XmlNode nodeCFDIRelacionados = XMLDoc.SelectSingleNode(String.Format("//{0}:CfdiRelacionados", Prefijo), namespaces) @@ -23222,6 +23218,8 @@ Public Class ClsCompraManagerCompras If Not TmpDT.Columns.Contains("AplicaCaducidad") Then TmpDT.Columns.Add("AplicaCaducidad", GetType(Boolean)) + If Not TmpDT.Columns.Contains("AplicaSerie") Then TmpDT.Columns.Add("AplicaSerie", GetType(Boolean)) + If Not TmpDT.Columns.Contains("Lote") Then TmpDT.Columns.Add("Lote", GetType(String)) If Not TmpDT.Columns.Contains("FechaCaducidad") Then TmpDT.Columns.Add("FechaCaducidad", GetType(Date)) @@ -23454,7 +23452,6 @@ Public Class ClsCompraManagerCompras TmpDT.Columns.Add("SATClaveUnidadMedida", GetType(String)) TmpDT.Columns.Add("CveSATPSActualizado", GetType(Integer)) - 'Tipo de Gasto TmpDT.Columns.Add("CveTipoGasto", GetType(Integer)) TmpDT.Columns.Add("TipoGasto", GetType(String)) @@ -23462,26 +23459,23 @@ Public Class ClsCompraManagerCompras TmpDT.Columns.Add("ImporteSinImpuestos", GetType(Double)) TmpDT.Columns.Add("ImporteConImpuestos", GetType(Double)) TmpDT.Columns.Add("NoDeducible", GetType(Boolean)) - TmpDT.Columns.Add("DifPSSat", GetType(Integer)) - TmpDT.Columns.Add("CveContratoDetalle", GetType(Integer)) TmpDT.Columns.Add("CveCultivoCuadroDetalle", GetType(Integer)) TmpDT.Columns.Add("TemporadaCuadro", GetType(String)) TmpDT.Columns.Add("NoIdentificacion", GetType(String)) - + TmpDT.Columns.Add("AplicaSerie", GetType(Boolean)) TmpDT.Columns.Add("AplicaLote", GetType(Boolean)) TmpDT.Columns.Add("AplicaCaducidad", GetType(Boolean)) + TmpDT.Columns.Add("Serie", GetType(String)) TmpDT.Columns.Add("Lote", GetType(String)) TmpDT.Columns.Add("FechaCaducidad", GetType(Date)) - TmpDT.AcceptChanges() - End Sub Private Function AjustesValidacion() As Boolean Dim respuesta As Boolean = True diff --git a/Compras/PopUpVerFactura.aspx.vb b/Compras/PopUpVerFactura.aspx.vb index cc779f1fa..a4e7e7422 100644 --- a/Compras/PopUpVerFactura.aspx.vb +++ b/Compras/PopUpVerFactura.aspx.vb @@ -1395,7 +1395,9 @@ Partial Class PopUpVerFactura If UrlParametros("OP").ToString = "CARPOTIMBRE" Then If UrlParametros("CVETIMBRE") IsNot Nothing AndAlso UrlParametros("CVETIMBRE").ToString.ToEntero > 0 Then - ImprimeFormatoCartaPorteTimbrado(UrlParametros("CVETIMBRE").ToString.ToEntero) + Dim imprmirNom043 As Boolean = If(UsuarioActual.CveEmpresa.Contiene(119), True, False) + ImprimeFormatoCartaPorteTimbrado(UrlParametros("CVETIMBRE").ToString.ToEntero, imprmirNom043:=imprmirNom043) + 'ImprimeFormatoCartaPorteTimbrado(UrlParametros("CVETIMBRE").ToString.ToEntero) End If End If @@ -4256,12 +4258,14 @@ Partial Class PopUpVerFactura ObjCompra.Dispose() If Not Archivo.Exists Then - params.Add(New ReportParameter("LogoPath", RutaImagenLogo)) - ImprimirPDF(String.Format("Empresas/Grales/Formatos/DevolucionProveedor.rdlc", UsuarioActual.Empresa.Ruta), DtMovimientos, params, String.Format("Devolucion Proveedor - {0}", Folio), RDSName:="DsInventarios") Else - ImprimirPDF(String.Format("{0}Formatos\DevolucionProveedor.rdlc", UsuarioActual.Empresa.Ruta), DtMovimientos, params, String.Format("Devolucion Proveedor - {0}", Folio), RDSName:="DsInventarios") + If UsuarioActual.CveEmpresa.Contiene(189) Then + ImprimirPDF(String.Format("{0}Formatos\DevolucionProveedor.rdlc", UsuarioActual.Empresa.Ruta), DtMovimientos, params, String.Format("Devolucion Proveedor - {0}", Folio), RDSName:="DsInventarios", DtDatos2:=DTPrePoliza, RDSName2:="DsPrePoliza") + Else + ImprimirPDF(String.Format("{0}Formatos\DevolucionProveedor.rdlc", UsuarioActual.Empresa.Ruta), DtMovimientos, params, String.Format("Devolucion Proveedor - {0}", Folio), RDSName:="DsInventarios") + End If End If 'ImprimirPDF(UsuarioActual.Empresa.Ruta & "Formatos/DevolucionProveedor.rdlc", DtMovimientos, params, String.Format("Devolucion Proveedor - {0}", Folio), RDSName:="DsInventarios") diff --git a/Compras/eFacturas.aspx b/Compras/eFacturas.aspx index 0e1e68e12..577e6b336 100644 --- a/Compras/eFacturas.aspx +++ b/Compras/eFacturas.aspx @@ -33,6 +33,10 @@ .ajax__tab_xp .ajax__tab_body { font-size: 12px !important; } + + .addropzone { + min-height: 170px; + } @@ -268,7 +272,7 @@ Caja Chica Viáticos - Deudores + <%--Deudores--%>
@@ -933,61 +937,91 @@ - <%--
+
-
- -
-
--%> +
+ +
+
+ Cargar Excel: +
+
+ +
+
+ +
+
+ +
+
+ Formato +
+
+ Cargar +
+
+ +
+ +
+ +
-
-
- - - - <%-- - --%> - -
- -
-
-
- - - - - -
-
-
- -
- -
-
-
- - -
-
-
-
- - -
-
+
+
@@ -1018,6 +1052,9 @@
+ + +
@@ -1565,9 +1604,6 @@ - - -
- - - - - -
- - - - - - - -
diff --git a/Compras/eFacturas.aspx.vb b/Compras/eFacturas.aspx.vb index d1eb38b6a..dcd6b6243 100644 --- a/Compras/eFacturas.aspx.vb +++ b/Compras/eFacturas.aspx.vb @@ -26,6 +26,7 @@ Imports SharpCompress.Common Imports SharpCompress.Reader Imports Telerik.Web.UI Imports System.Data.SqlClient +Imports Stimulsoft.Base.Serializing 'Imports Telerik.Web.UI @@ -5586,13 +5587,13 @@ Partial Class Compras_eFacturas If DdlSubProyectoProrrateoGasolina.SelectedValue.ToEntero > 0 Then - AgregarProrrateoGasolina(DdlSubProyectoProrrateoGasolina.SelectedValue.ToEntero, DdlSubProyectoProrrateoGasolina.SelectedItem.Text, CvePs, CveUM, UM, CveClasificacion, Clasificacion) + AgregarProrrateoGasolina(DdlSubProyectoProrrateoGasolina.SelectedValue.ToEntero, DdlSubProyectoProrrateoGasolina.SelectedItem.Text, CvePs, CveUM, UM, CveClasificacion, Clasificacion, TxtPrecioProrrateoGasolina.Text.ToDecimal) Else DTProrrateoTmp.Rows.Clear() For Each item As ListItem In DdlSubProyectoProrrateoGasolina.Items If item.Value.ToEntero > 0 Then - AgregarProrrateoGasolina(item.Value.ToEntero, item.Text, CvePs, CveUM, UM, CveClasificacion, Clasificacion) + AgregarProrrateoGasolina(item.Value.ToEntero, item.Text, CvePs, CveUM, UM, CveClasificacion, Clasificacion, TxtPrecioProrrateoGasolina.Text.ToDecimal) End If Next End If @@ -5604,7 +5605,7 @@ Partial Class Compras_eFacturas End Sub - Private Sub AgregarProrrateoGasolina(CveSubProyecto As Integer, SubProyecto As String, CvePS As Integer, CveUM As Integer, UM As String, CveClasificacion As Integer, Clasificacion As String) + Private Sub AgregarProrrateoGasolina(CveSubProyecto As Integer, SubProyecto As String, CvePS As Integer, CveUM As Integer, UM As String, CveClasificacion As Integer, Clasificacion As String, Porcentaje As Decimal) ''' este prco3eso compratira todo esto se debe de llevar a la genracion de la factura por porcentaje @@ -5614,7 +5615,7 @@ Partial Class Compras_eFacturas Dim RetIVAOriginal As Decimal = 0D 'TxtRetIVA.Text.ToDecimal Dim TotalOriginal As Decimal = 1 - Dim totalParcialDeseado As Decimal = TxtPrecioProrrateoGasolina.Text.ToDecimal + Dim totalParcialDeseado As Decimal = Porcentaje Dim PorcentajeCalculado As Decimal = totalParcialDeseado / TotalOriginal Dim subtotalParcial As Decimal = SubTotalOriginal * PorcentajeCalculado @@ -5642,7 +5643,7 @@ Partial Class Compras_eFacturas nRow("Total") = totalParcialDeseado.RoundSQL(4) nRow("PorcentajeIVA") = (ivaParcial / subtotalParcial).RoundSQL(4) - nRow("Porcentaje") = TxtPrecioProrrateoGasolina.Text.ToDecimal '((totalParcialDeseado.RoundSQL(4) * 100) / TotalOriginal).RoundSQL(2) + nRow("Porcentaje") = Porcentaje '((totalParcialDeseado.RoundSQL(4) * 100) / TotalOriginal).RoundSQL(2) 'nRow("RetIVAPorcentaje") = (retIvaParcial / subtotalParcial).RoundSQL(4) 'nRow("RetISRPorcentaje") = (retIsrParcial / subtotalParcial).RoundSQL(4) @@ -6073,6 +6074,243 @@ Partial Class Compras_eFacturas End Function + + Protected Sub LnkRegistroRNC_Click(sender As Object, e As EventArgs) + VinculacionAutomaticaRNC() + End Sub + + Private Sub VinculacionAutomaticaRNC() + Dim ErrorProceso As Boolean = False + Dim ErrorProcesoStr As String = "" + Dim Contador As Integer = 0 + Dim Objcompras As New ClsCompras + Objcompras.IniciaTransacSQL() + + 'DataKeyNames="CveFactura,CveCompra,CveProveedor,SerieFolio,NombreProveedor,UUID,RFCDe,RFCPara,TipoFactura,FueValidado,TipoComprobante,Version,RFCde,XML,PDF,BloquePorComplemento,Total,CveTipoProveedor,FechaFactura" + + + For Each GvRow As GridViewRow In GvD.Rows + + If GvRow.DataKey("TipoComprobante") = "E" Then + + Dim TotalFactura As Decimal = GvRow.DataKey("Total").ToDecimal + Dim SaldoFactura As Decimal = TotalFactura + + Dim CFDIXmlPath As String = $"{UsuarioActual.Empresa.Ruta}Compras\{GvRow.DataKey("RFCDe")}\{GvRow.DataKey("XML")}" + If Not File.Exists(CFDIXmlPath) Then + ErrorProceso = True + Continue For + End If + + Dim CompraActual As New ClsCompraManager(CFDIXmlPath, ClsCompraManager.EnumCargaCompra.DesdeArchivo, GlobalDTTiposGastos(UsuarioActual.CveEmpresa), UsuarioActual) + + CompraActual.CveFactura = GvRow.DataKey("CveFactura").ToEntero + CompraActual.CveProveedor = GvRow.DataKey("CveProveedor").ToEntero + CompraActual.CveTipoProveedor = GvRow.DataKey("CveTipoProveedor").ToEntero + CompraActual.CveTipoConceptoProveedor = GvRow.DataKey("CveTipoProveedor").ToEntero + CompraActual.TipoCompra = ClsCompraManager.EnumTipoCompra.Sin_definir + CompraActual.IEPSGasto = True + CompraActual.Descripcion = TxtDescripcionCompra.Text.Trim + CompraActual.NombreProveedor = GvRow.DataKey("NombreProveedor") + + For Each DR As String In CompraActual.DocumentosRelacionadosUUIDSList + + Next + + + 'If CompraActual.ConfiguraRegistroCompra(DdlPS.SelectedValue.ToEntero, DdlSubProyecto.SelectedValue.ToEntero, CveCajachica, CvePersonal, + ' DdlRetIVAConcepto.SelectedValue.ToEntero, DdlRetISRConcepto.SelectedValue.ToEntero, NumeroReembolso:=TxtNumeroReembolso.Text, + ' DTProrrateo:=DTProrrateo, DTPagosDeudores:=New DataTable) Then + + ' 'FIX ME OIC Recuerda cambiar el tipo de documento al registrar, actualmente tiene FAC y NC uno u otro, ajustar para que registre *** Egs *** cuado TipoComprobante = 'E' + ' If CompraActual.AddCompra(Objcompras.IniciaTransacSQL()) Then + ' Contador = Contador + 1 + ' Else + ' ErrorProceso = True + ' ErrorProcesoStr = CompraActual.MensajeError + ' Exit For + ' End If + 'Else + ' ErrorProceso = True + ' ErrorProcesoStr = CompraActual.MensajeError + ' Exit For + 'End If + + 'If RBLContado.SelectedValue.ToEntero = 4 Then 'Deudores + ' Dim CompraActualPagar = New Compra + ' If Objcompras.GetCompras(CompraActual.CveCompra, "-1", "-1", -1, -1, UsuarioActual.CveEmpresa) Then + ' If Objcompras.DtResultados IsNot Nothing AndAlso Objcompras.DtResultados.Rows.Count > 0 Then + ' Dim dr As DataRow = Objcompras.DtResultados.Rows(0) + + + ' CompraActualPagar.CveCompra = CompraActual.CveCompra + ' CompraActualPagar.CveTipoConceptoProveedor = dr("CveTipoConcepto").ToString.ToEntero + ' CompraActualPagar.CveProveedor = dr("CveProveedor").ToString.ToEntero + ' CompraActualPagar.CveMoneda = dr("CveMoneda").ToString.ToEntero + ' CompraActualPagar.Fecha = dr("Fecha").ToString.ToDate + ' CompraActualPagar.SerieFolio = dr("SerieFolio").ToString + ' 'CompraActualPagar.ProveedorNombre = TxtPagueseA.Text + ' CompraActualPagar.TC = dr("TipoCambio").ToString.ToDecimal + ' CompraActualPagar.Total = dr("Total").ToString.ToDecimal + ' CompraActualPagar.IVA = dr("IVA").ToString.ToDecimal + ' CompraActualPagar.IVADeducible = dr("IVADeducible").ToString.ToDecimal.RoundSQL + ' CompraActualPagar.IVANoDeducible = dr("IVANoDeducible").ToString.ToDecimal.RoundSQL + ' CompraActualPagar.IEPS = dr("IEPS").ToString.ToDecimal + ' CompraActualPagar.RetIVA = dr("RetIVA").ToString.ToDecimal + ' CompraActualPagar.RetISR = dr("RetISR").ToString.ToDecimal + ' CompraActualPagar.CveConceptoRetIVA = dr("CveRetIVAConcepto").ToString.ToEntero + ' CompraActualPagar.CveConceptoRetISR = dr("CveRetISRConcepto").ToString.ToEntero + ' CompraActualPagar.PorcentajeIVA = dr("PorcentajeIVA").ToString.ToDecimal + ' CompraActualPagar.UsuarioActual = UsuarioActual + ' CompraActualPagar.CveSubProyecto = dr("CveSubProyecto").ToString.ToEntero + ' CompraActualPagar.EsImportacion = CBool(dr("EsImportacion")) + ' CompraActualPagar.CompraNoDeducible = dr("NoDeducible").ToString.ToEntero + + + + ' Else + ' ErrorProceso = True + ' End If + ' Else + ' ErrorProceso = True + ' End If + + + + + + 'End If + + End If + If ErrorProceso Then + Exit For + End If + Next + + If ErrorProceso Then + Objcompras.RollBack() + Alert($"Se registraron {Contador} Compras. error {ErrorProcesoStr}", TipoMensaje.MsgAdvertencia) + Else + Objcompras.Commit() + CargaDatos(NowADS()) + CambieDeudor() + CargaDatos(NowADS()) + If Contador > 0 Then + Alert($"Se registraron {Contador} Compras") + End If + End If + + Objcompras.Dispose() + + End Sub + + Protected Sub LnkDecargaPlatilla_Click(sender As Object, e As EventArgs) + + Dim rutaArchivoPlantilla As String = ModExtensiones.DirectorioBaseEmpresas & "Empresas\Grales\CargaProrrateoPorcentaje.xlsx" + + Dim nombreArchivo As String = "CargaProrrateoPorcentaje.xlsx" + + ' Configurar la respuesta HTTP + Response.Clear() + Response.ContentType = "application/octet-stream" + Response.AppendHeader("Content-Disposition", "attachment; filename=" & nombreArchivo) + + Dim contenido As Byte() = System.IO.File.ReadAllBytes(rutaArchivoPlantilla) + Response.BinaryWrite(contenido) + + Response.Flush() + Response.End() + + End Sub + + Protected Sub BrnAgregarPlantilla_Click(sender As Object, e As EventArgs) + + If TxtExcel.getfiles().Archivos.Count > 0 Then + Dim file As Archivo = TxtExcel.getfiles().Archivos(0) + Dim Directorio As String = Server.MapPath("~") & file.path + Dim Tipo As String = If(file.Extension.Contiene("xlsx", "xlsx", "xlsm", "xlsb"), "EXCEL", "CSV") + + Dim DTPlantilla As DataTable = ReadExcelFile(Directorio + file.filename, True) + + ProcesaPlantilla(DTPlantilla) + + Else + Alert("No existe el archivo.Favor de subir un archivo csv o excel a la plataforma", TipoMensaje.MsgError) + End If + + End Sub + + + Function ProcesaPlantilla(DTPlantilla As DataTable) As Boolean + + + Dim CvePs As Integer = DdlPS.SelectedValue.ToEntero + + If Not CvePs > 0 Then + Alert("Debe seleccionar un producto", TipoMensaje.MsgAdvertencia) + Return False + End If + + Dim PsRow As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePs).FiltroPrimero("") + + If PsRow Is Nothing Then + Alert("No se encontro el producto", TipoMensaje.MsgAdvertencia) + Return False + End If + + Dim CveUM As Integer = PsRow("CveUM").ToString.ToEntero + Dim UM As String = GlobalDTUnidadesMedida(UsuarioActual.CveEmpresa).FiltroPrimeroValor("UnidadMedida", $" CveUnidadMedida = {CveUM} ") + + Dim CveClasificacion As Integer = PsRow("CveClasificacion").ToString.ToEntero + Dim Clasificacion As String = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("Clasificacion", $" CveClasificacion = {CveClasificacion} ") + + Dim TotalPorcentaje As Decimal + Dim ErrorProceso As Boolean = False + Dim SbSubProyectosNoencontrados As New StringBuilder + + For Each dRow As DataRow In DTPlantilla.Rows + If dRow("Porcentaje").ToString.ToDecimal < 0 Then + Alert("No se admiten porcentajes negativos.", TipoMensaje.MsgAdvertencia) + Return False + End If + TotalPorcentaje = TotalPorcentaje + dRow("Porcentaje").ToString.ToDecimal + Next + + TotalPorcentaje = TotalPorcentaje.RoundSQL + If TotalPorcentaje <> 100 Then + Alert($"La suma de porcentaje es diferente de 100%, el porcetaje actual es de {TotalPorcentaje}%", TipoMensaje.MsgAdvertencia) + Return False + End If + + If Not DTPlantilla.Columns.Contains("CveSubProyecto") Then + DTPlantilla.Columns.Add("CveSubProyecto", GetType(Integer)) + End If + + + For Each dRow As DataRow In DTPlantilla.Rows + Dim CveSubProyecto As Integer = GlobalDTSubProyectos(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $" SubProyecto = '{dRow("CentroCosto").ToString}' ").ToEntero + If CveSubProyecto > 0 Then + dRow("CveSubProyecto") = CveSubProyecto + Else + ErrorProceso = True + SbSubProyectosNoencontrados.AppendLine($"{dRow("CentroCosto").ToString}
") + End If + Next + + If ErrorProceso AndAlso SbSubProyectosNoencontrados.Length > 0 Then + Alert($"No se encontraron los siguientes centros de costo
{SbSubProyectosNoencontrados.ToString}", TipoMensaje.MsgAdvertencia) + End If + + For Each dRow As DataRow In DTPlantilla.Rows + AgregarProrrateoGasolina(dRow("CveSubProyecto").ToString.ToEntero, dRow("CentroCosto").ToString, CvePs, CveUM, UM, CveClasificacion, Clasificacion, dRow("Porcentaje").ToString.ToDecimal) + Next + + TxtExcel.Text = "[]" + Return True + + End Function + + End Class diff --git a/Contabilidad/RegPrePolizaS.aspx b/Contabilidad/RegPrePolizaS.aspx index 8b3e8406f..10eedf997 100644 --- a/Contabilidad/RegPrePolizaS.aspx +++ b/Contabilidad/RegPrePolizaS.aspx @@ -87,6 +87,10 @@
  • Cargar Excel
  • +
  • + +
  • @@ -567,7 +571,7 @@ + data-toggle="confirmation" data-popout="true" data-original-title="Confirmar" data-btn-ok-label="si" /> diff --git a/Contabilidad/RegPrePolizaS.aspx.vb b/Contabilidad/RegPrePolizaS.aspx.vb index d9051657e..c4129847f 100644 --- a/Contabilidad/RegPrePolizaS.aspx.vb +++ b/Contabilidad/RegPrePolizaS.aspx.vb @@ -312,6 +312,10 @@ Partial Class ContabilidadC_RegPrePolizaS Contabilizar() End If + If Request("quitaconta") IsNot Nothing Then + Quitacontabilidad() + End If + End If Exit Sub @@ -508,6 +512,10 @@ Partial Class ContabilidadC_RegPrePolizaS GvPrePoliza.Columns(7).Visible = True End If + If UsuarioActual.CveRol = 1 OrElse UsuarioActual.CveUsuario = 2296 Then + BtnQuitarContabilidad.Visible = True + End If + If DtMovimientos.FiltraParametros("CveConceptoContable IN (2,292)").Rows.Count > 0 AndAlso DtMovimientos.FiltraParametros("CveConceptoContable IN (30)").Rows.Count = 0 Then LnkComplementoPago.Visible = True End If @@ -2892,5 +2900,31 @@ Partial Class ContabilidadC_RegPrePolizaS Protected Sub LnkEmitirComplemento_Click(sender As Object, e As EventArgs) GeneraTimbre(CvePrePoliza) End Sub + + Protected Sub BtnQuitarContabilidad_Click(sender As Object, e As EventArgs) + Quitacontabilidad() + End Sub + + Private Sub Quitacontabilidad() + Dim tieneerror As Boolean = False + Dim oculta As Boolean = False + Dim ObjConta As New ClsContabilidad() + ObjConta.IniciaTransacSQL() + 'If GvPrePoliza.Rows.Count = 0 Then oculta = True + + For Each gvr As GridViewRow In GvPrePoliza.Rows + If Not ObjConta.UpdateContabilizable(gvr.DataKey("CvePrePolizaDetalle").ToEntero, oculta) Then + tieneerror = True + End If + Next + If Not tieneerror Then + ObjConta.Commit() + Alert("limpieza") + Else + ObjConta.RollBack() + End If + + ObjConta.Dispose() + End Sub End Class diff --git a/Contabilidad/RepAnexoCatalogoCC.aspx b/Contabilidad/RepAnexoCatalogoCC.aspx index 548cdf295..0e105651a 100644 --- a/Contabilidad/RepAnexoCatalogoCC.aspx +++ b/Contabilidad/RepAnexoCatalogoCC.aspx @@ -169,7 +169,7 @@ - + @@ -359,7 +359,13 @@ let currentid = 1; function HandlerGraf(obj, evt) { $("#DivModalGrafica").modal(); - cdatos = $(obj).data('values'); + + //cdatos = $(obj).data('values'); + + cdatos = $(obj).data('values').sort(function (a, b) { + return b.Valor - a.Valor; + }); + if (currentid == 1) { CargaGraficaBarras(); } else { @@ -369,6 +375,9 @@ } function CargaGraficaBarras() { let data = cdatos; + //let data = cdatos.sort(function (a, b) { + // return b.Valor - a.Valor; + //}); var chart = AmCharts.makeChart("chartdiv", { "type": "serial", "theme": "light", @@ -406,6 +415,11 @@ function CargaGraficaPastel() { let data = cdatos; + + //let data = cdatos.sort(function (a, b) { + // return b.Valor - a.Valor; + //}); + var chart = AmCharts.makeChart("chartdiv", { "type": "pie", "theme": "light", diff --git a/Contabilidad/RepAnexoCatalogoCC.aspx.vb b/Contabilidad/RepAnexoCatalogoCC.aspx.vb index ae99858cd..22ce9b1b2 100644 --- a/Contabilidad/RepAnexoCatalogoCC.aspx.vb +++ b/Contabilidad/RepAnexoCatalogoCC.aspx.vb @@ -236,9 +236,15 @@ Partial Class Contabilidad2_RepAnexoCatalogoCC Next Dim CveCunetaRow As Integer = e.Row.DataKey("CveCuenta").ToEntero + If e.Row.Cells(2).Text.ToDecimal <> 0 Then + e.Row.Cells(2).Text = $"{ If(DdlDivisor.SelectedValue.ToEntero > 1, e.Row.Cells(2).Text.ToDecimal.ToString("###,###,##0"), e.Row.Cells(2).Text.ToDecimal.ToString("###,###,###.00")) }" + Else + e.Row.Cells(2).Text = $"-" + End If + + Dim inicial As Boolean = True Index = 4 - For Each DRow As DataRow In DTHeaders.Rows Dim Importe As Decimal = e.Row.DBCampo($"SubProyecto{DRow("SubProyecto")}").ToDecimal @@ -249,7 +255,7 @@ Partial Class Contabilidad2_RepAnexoCatalogoCC End If If Importe <> 0 Then - e.Row.Cells(Index).Text = $"{ If(DdlDivisor.SelectedValue.ToEntero > 1, Importe.ToString("###,###,##0"), Importe.ToString("###,###,###.00")) }" + e.Row.Cells(Index).Text = $"{ If(DdlDivisor.SelectedValue.ToEntero > 1, Importe.ToString("###,###,##0"), Importe.ToString("###,###,###.00")) }" End If Index += 1 diff --git a/Contabilidad/RepIVA.aspx b/Contabilidad/RepIVA.aspx index 9277a203e..9ba2ebace 100644 --- a/Contabilidad/RepIVA.aspx +++ b/Contabilidad/RepIVA.aspx @@ -390,7 +390,7 @@ - + diff --git a/Contabilidad/RepIVA.aspx.cs b/Contabilidad/RepIVA.aspx.cs index 1a90339d7..e562cfbc1 100644 --- a/Contabilidad/RepIVA.aspx.cs +++ b/Contabilidad/RepIVA.aspx.cs @@ -13,6 +13,11 @@ using System.IO; using CrystalDecisions.CrystalReports.Engine; using CrystalDecisions.Shared; using System.Diagnostics; +using DocumentFormat.OpenXml.Drawing; +using DocumentFormat.OpenXml.ExtendedProperties; +using static Stimulsoft.Report.StiOptions; +using System.Web.Services.Description; +using System.Drawing; public partial class Contabilidad_RepIVA : ClsPaginas { @@ -331,39 +336,130 @@ public partial class Contabilidad_RepIVA : ClsPaginas if (Objconta.GetRepIVA(txtFechaI.Text.ToDate(), txtFechaF.Text.ToDate(), 2, UsuarioActual.CveUsuario, -1, Conciliado, UsuarioActual.CveEmpresa, TipoCambio, TCEspecifico)) { - - foreach (DataRow Drow in Objconta.DtResultados.FiltraParametros("CveCompra is null and CveProveedor > 0 and SubTotal >= 1 ").Rows) // and(IVA > 1 OR IEPS > 0) + if (txtFechaI.Text.ToDate().Year < 2025) // años anteriores al 2025 { - SBDIOT.AppendLine( - Drow["TipoTercero"].ToString() + "|" + - Drow["TipoOperacion"].ToString() + "|" + - Drow["RFC"].ToString() + "|" + - Drow["NumeroIDFiscal"].ToString() + "|" + - Drow["NombreExtranjero"].ToString() + "|" + - Drow["PaisResidencia"].ToString() + "|" + - Drow["Nacionalidad"].ToString() + "|" + - LV(Drow["valorActos1516"].ToString()) + "|" + - LV(Drow["valorActos15"].ToString()) + "|" + - LV(Drow["ValorIvaNo1516"].ToString()) + "|" + + foreach (DataRow Drow in Objconta.DtResultados.FiltraParametros("CveCompra is null and CveProveedor > 0 and SubTotal >= 1 ").Rows) // and(IVA > 1 OR IEPS > 0) + { + SBDIOT.AppendLine( + Drow["TipoTercero"].ToString() + "|" + + Drow["TipoOperacion"].ToString() + "|" + + Drow["RFC"].ToString() + "|" + + Drow["NumeroIDFiscal"].ToString() + "|" + + Drow["NombreExtranjero"].ToString() + "|" + + Drow["PaisResidencia"].ToString() + "|" + + Drow["Nacionalidad"].ToString() + "|" + + LV(Drow["valorActos1516"].ToString()) + "|" + + LV(Drow["valorActos15"].ToString()) + "|" + + LV(Drow["ValorIvaNo1516"].ToString()) + "|" + - LV(Drow["valorActos1011"].ToString()) + "|" + - LV(Drow["valorActos10"].ToString()) + "|" + - LV(Drow["valorActosImp8"].ToString()) + "|" + - LV(Drow["ValorIvaNo10"].ToString()) + "|" + - LV(Drow["ValorIvaNo08"].ToString()) + "|" + + LV(Drow["valorActos1011"].ToString()) + "|" + + LV(Drow["valorActos10"].ToString()) + "|" + + LV(Drow["valorActosImp8"].ToString()) + "|" + + LV(Drow["ValorIvaNo10"].ToString()) + "|" + + LV(Drow["ValorIvaNo08"].ToString()) + "|" + - LV(Drow["valorActosImp1516"].ToString()) + "|" + - LV(Drow["ValorIvaNoImp16"].ToString()) + "|" + + LV(Drow["valorActosImp1516"].ToString()) + "|" + + LV(Drow["ValorIvaNoImp16"].ToString()) + "|" + - LV(Drow["valorActosImp10"].ToString()) + "|" + - LV(Drow["ValorIvaNoImp10"].ToString()) + "|" + + LV(Drow["valorActosImp10"].ToString()) + "|" + + LV(Drow["ValorIvaNoImp10"].ToString()) + "|" + - LV(Drow["IvaExentoImpo"].ToString()) + "|" + - LV(Drow["IVACero"].ToString()) + "|" + - LV(Drow["IvaExento"].ToString()) + "|" + - LV(Drow["IvaRetenido"].ToString()) + "|" + - LV(Drow["IvaDevoluciones"].ToString()) + "|"); + LV(Drow["IvaExentoImpo"].ToString()) + "|" + + LV(Drow["IVACero"].ToString()) + "|" + + LV(Drow["IvaExento"].ToString()) + "|" + + LV(Drow["IvaRetenido"].ToString()) + "|" + + LV(Drow["IvaDevoluciones"].ToString()) + "|"); + } } + else + { + foreach (DataRow Drow in Objconta.DtResultados.FiltraParametros("CveCompra is null and CveProveedor > 0 and SubTotal >= 1 ").Rows) // and(IVA > 1 OR IEPS > 0) + { + SBDIOT.AppendLine( + Drow["TipoTercero"].ToString() + "|" + + Drow["TipoOperacion"].ToString() + "|" + + Drow["RFC"].ToString() + "|" + + Drow["NumeroIDFiscal"].ToString() + "|" + + Drow["NombreExtranjero"].ToString() + "|" + + Drow["PaisResidencia"].ToString() + "|" + + Drow["Nacionalidad"].ToString() + "|" + + // 3.2 valor de los actos o actividades + LV(Drow["valorActosImp8"].ToString()) + "|" + // actos norte + LV(Drow["valorActosImp8"].ToString()) + "|" + // desc norte + LV(Drow["valorActosImp8"].ToString()) + "|" + // actos sur + LV(Drow["valorActosImp8"].ToString()) + "|" + // desc sur + LV(Drow["valorActosImp8"].ToString()) + "|" + // 16% + LV(Drow["valorActosImp8"].ToString()) + "|" + // desc 16% + LV(Drow["valorActosImp8"].ToString()) + "|" + // importacion 16% + LV(Drow["valorActosImp8"].ToString()) + "|" + // desc importacion 16% + LV(Drow["valorActosImp8"].ToString()) + "|" + // importacion intangibles 16% + LV(Drow["valorActosImp8"].ToString()) + "|" + // desc intangibles 16% + // 3.3 IVA Acreditable + LV(Drow["valorActosImp8"].ToString()) + "|" + // actos norte + LV(Drow["valorActosImp8"].ToString()) + "|" + // proporcion actos norte + LV(Drow["valorActosImp8"].ToString()) + "|" + // actos sur + LV(Drow["valorActosImp8"].ToString()) + "|" + // proporcion actos sur + LV(Drow["valorActosImp8"].ToString()) + "|" + // 16% + LV(Drow["valorActosImp8"].ToString()) + "|" + // proporcion 16% + LV(Drow["valorActosImp8"].ToString()) + "|" + // importacion 16% + LV(Drow["valorActosImp8"].ToString()) + "|" + // proporción importacion 16% + LV(Drow["valorActosImp8"].ToString()) + "|" + // intangibles 16% + LV(Drow["valorActosImp8"].ToString()) + "|" + // proporcion intangibles 16% + // 3.4 IVA NO Acreditable + LV(Drow["valorActosImp8"].ToString()) + "|" + + LV(Drow["valorActosImp8"].ToString()) + "|" + + LV(Drow["valorActosImp8"].ToString()) + "|" + + LV(Drow["valorActosImp8"].ToString()) + "|" + + LV(Drow["valorActosImp8"].ToString()) + "|" + + LV(Drow["valorActosImp8"].ToString()) + "|" + + LV(Drow["valorActosImp8"].ToString()) + "|" + + LV(Drow["valorActosImp8"].ToString()) + "|" + + LV(Drow["valorActosImp8"].ToString()) + "|" + + LV(Drow["valorActosImp8"].ToString()) + "|" + + LV(Drow["valorActosImp8"].ToString()) + "|" + + LV(Drow["valorActosImp8"].ToString()) + "|" + + LV(Drow["valorActosImp8"].ToString()) + "|" + + LV(Drow["valorActosImp8"].ToString()) + "|" + + LV(Drow["valorActosImp8"].ToString()) + "|" + + LV(Drow["valorActosImp8"].ToString()) + "|" + + LV(Drow["valorActosImp8"].ToString()) + "|" + + LV(Drow["valorActosImp8"].ToString()) + "|" + + LV(Drow["valorActosImp8"].ToString()) + "|" + + LV(Drow["valorActosImp8"].ToString()) + "|" + + // 3.5 datos adicionales + LV(Drow["valorActosImp8"].ToString()) + "|" + // VA retenido por el contribuyente + LV(Drow["valorActosImp8"].ToString()) + "|" + //Actos o actividades pagados en la importación de bienes y servicios por los que no se pagara el IVA (Exentos) + LV(Drow["valorActosImp8"].ToString()) + "|" + // Actos o actividades pagados por los que no se pagará el IVA(Exentos) + LV(Drow["valorActosImp8"].ToString()) + "|" + // Demás actos o actividades pagados a la tasa del 0% + LV(Drow["valorActosImp8"].ToString()) + "|" + // Actos o actividades no objeto del IVA realizados en + LV(Drow["valorActosImp8"].ToString()) + "|" + // Actos o actividades no objeto del IVA por no contar on establecimiento en territorio nacion + LV(Drow["valorActosImp8"].ToString()) + "|"); // Manifiesto que se dio efectos fiscales a los comprobantes que amparan las operaciones realizadas con el proveedor + + //LV(Drow["valorActos1516"].ToString()) + "|" + + //LV(Drow["valorActos15"].ToString()) + "|" + + //LV(Drow["ValorIvaNo1516"].ToString()) + "|" + + + //LV(Drow["valorActos1011"].ToString()) + "|" + + //LV(Drow["valorActos10"].ToString()) + "|" + + //LV(Drow["valorActosImp8"].ToString()) + "|" + + //LV(Drow["ValorIvaNo10"].ToString()) + "|" + + //LV(Drow["ValorIvaNo08"].ToString()) + "|" + + + //LV(Drow["valorActosImp1516"].ToString()) + "|" + + //LV(Drow["ValorIvaNoImp16"].ToString()) + "|" + + + //LV(Drow["valorActosImp10"].ToString()) + "|" + + //LV(Drow["ValorIvaNoImp10"].ToString()) + "|" + + + //LV(Drow["IvaExentoImpo"].ToString()) + "|" + + //LV(Drow["IVACero"].ToString()) + "|" + + //LV(Drow["IvaExento"].ToString()) + "|" + + //LV(Drow["IvaRetenido"].ToString()) + "|" + + //LV(Drow["IvaDevoluciones"].ToString()) + "|"); + } + + } + } Objconta.Dispose(); diff --git a/Contabilidad/RepMovimientosAuxiliaresCatalogo.aspx b/Contabilidad/RepMovimientosAuxiliaresCatalogo.aspx index 2499e6d64..b39faeb0a 100644 --- a/Contabilidad/RepMovimientosAuxiliaresCatalogo.aspx +++ b/Contabilidad/RepMovimientosAuxiliaresCatalogo.aspx @@ -51,7 +51,7 @@
    Cuenta:
    -
    +
    @@ -97,11 +97,11 @@
    >
    -
    +
    Tipo Movto
    -
    - +
    + @@ -109,7 +109,7 @@
    -
    +
    Tipo
    diff --git a/Contabilidad/RepMovimientosAuxiliaresCatalogo.aspx.vb b/Contabilidad/RepMovimientosAuxiliaresCatalogo.aspx.vb index 876464b03..50a1de01f 100644 --- a/Contabilidad/RepMovimientosAuxiliaresCatalogo.aspx.vb +++ b/Contabilidad/RepMovimientosAuxiliaresCatalogo.aspx.vb @@ -129,7 +129,7 @@ Partial Class Conta_RepMovimientosAuxiliaresCatalogo ' DdlTipoReporte.SelectedValue = TipoReporte.ToString End If - + DdlOpcionCuentas.SelectedValueExist(IfNull(Request("OpcionCuenta"), "-1")) 'OpcionCuenta ''If DdlTipoCuentas.Items.FindByValue(IdCuenta.ToString) IsNot Nothing Then '' DdlTipoCuentas.SelectedValue = IdCuenta.ToString ''Else diff --git a/Empresas/Grales/CargaProrrateoPorcentaje.xlsx b/Empresas/Grales/CargaProrrateoPorcentaje.xlsx new file mode 100644 index 000000000..d2dd4e872 Binary files /dev/null and b/Empresas/Grales/CargaProrrateoPorcentaje.xlsx differ diff --git a/Empresas/Grales/Formatos/CartaPorteTimbrado.rdlc b/Empresas/Grales/Formatos/CartaPorteTimbrado.rdlc index 5bd34f062..f02dfff7c 100644 --- a/Empresas/Grales/Formatos/CartaPorteTimbrado.rdlc +++ b/Empresas/Grales/Formatos/CartaPorteTimbrado.rdlc @@ -794,7 +794,7 @@ true true DataSet3 - 6.39415cm + 8.7754cm 0.38395cm 1.12062cm 19.15904cm @@ -896,7 +896,7 @@ Textbox2 - 0.33302in + 1.27052in 0.41187cm 0.51791in 7.5137in @@ -933,7 +933,7 @@ Textbox3 - 5.81465cm + 8.1959cm 0.19973in 0.50189cm 7.52776in @@ -1504,7 +1504,7 @@ true true DataSet2 - 8.2018cm + 10.58305cm 0.42363cm 1.12062cm 19.07303cm @@ -1536,7 +1536,7 @@ Textbox3 - 7.61172cm + 9.99297cm 0.19973in 0.5cm 7.52776in @@ -1849,7 +1849,7 @@ true true DataSet4 - 10.01155cm + 12.3928cm 0.42363cm 1.12062cm 19.10097cm @@ -1881,7 +1881,7 @@ Textbox3 - 9.42147cm + 11.80272cm 0.19972in 0.5cm 7.52776in @@ -1897,158 +1897,6 @@ 2pt - - true - true - - - - - Sello digital del CFDI: - - - - - - - - - =Parameters!SelloCFDI.Value - - - - - - - - - Cadena original del complemento de certificación digital del SAT: - - - - - - - - - - - - - - - - - - - - - - - - - 2pt - 2pt - 2pt - 2pt - - - - External - =Parameters!QR.Value - FitProportional - 6.97962in - 0.18258in - 1.2in - 1.2in - 8 - - - - true true @@ -2248,11 +2096,11 @@ Textbox2 - 1.09361in + 2.03111in 0.38395cm 0.95951in 3.73231in - 9 + 7 @@ -2459,11 +2307,11 @@ Textbox2 - 1.09361in + 2.03111in 9.91989cm 0.95951in 3.78138in - 11 + 9 @@ -2976,11 +2824,11 @@ true true DataSet1 - 13.75012cm + 16.13137cm 0.33883cm 1.12062cm 18.83224cm - 13 + 11 @@ -3008,11 +2856,11 @@ Textbox3 - 13.16004cm - 0.16845in + 15.54129cm + 0.19092in 0.5cm 7.52776in - 14 + 12 @@ -3457,11 +3305,11 @@ Textbox38 - 5.28548cm + 7.66673cm 0.42248cm 0.45862cm 9.43197cm - 22 + 20 = IIF( len(Parameters!RemolquePlaca1.Value) > 0,False, True) @@ -3518,11 +3366,11 @@ Textbox38 - 5.28548cm + 7.66673cm 9.94339cm 0.45862cm 9.5996cm - 23 + 21 = IIF( len(Parameters!RemolquePlaca2.Value) > 0,False, True) @@ -3908,11 +3756,11 @@ true - 11.30856cm + 13.68981cm 0.31265cm 1.71919cm 19.23572cm - 24 + 22 =IIf(CountRows("DataSet5") = 0, True, False) @@ -3922,31 +3770,16 @@ - - External - =Parameters!QRCCP.Value - FitProportional - 6.97962in - 6.46004in - 1.2in - 1.2in - 25 - - - - - + true true - QR Carta Porte + =Parameters!NombreEmpresa.Value @@ -3956,12 +3789,266 @@ - Textbox46 - 17.16841cm - 16.76139cm - 0.46104cm - 2.5cm + Textbox2 + 0.07056cm + 4.92883cm + 0.78571cm + 9.73471cm + 23 + + + + true + true + + + + + RFC: + + + + =Parameters!RFC.Value + + + + + + + + + + + =Parameters!DomicilioFiscal.Value + + + + + + + =Parameters!RegimenFiscal.Value + + + + + + + =Parameters!DomicilioExpedicion.Value + + + + + + + External + =Parameters!LogoPath.Value + FitProportional + 0.07056cm + 0.21174in + 0.85754in + 1.2in + 25 + + + + + + true + + + + + Carta Porte - Traslado + + + + + + + Textbox3 + 0.07056cm + 5.8484in + 0.5cm + 1.83161in 26 + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!SerieFolio.Value + + + + + + + Textbox3 + 0.2361in + 5.8484in + 0.60856cm + 1.83161in + 27 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Versión Carte Porte + + + + + + + + + + + + + =IIF(Parameters!RFC.Value = "BBD021220APA", "3.1", Parameters!CartaPorteVersion.Value) + + + + + + + Textbox54 + 1.38466cm + 15.00127cm + 1.14493cm + 4.50596cm + 28 @@ -3972,305 +4059,2400 @@ 2pt + + + + + End + + true + 0.46378cm + 0.10353cm + 18.12737cm + + + + + + External + =Parameters!LogoPath.Value + FitProportional + 0.20936cm + 0.19973in + 0.76284in + 1.18285in + 1 + + + + + + true + true + + + + + Trasporte de mercancías peligrosas + + + + + + + + + PROY-NOM-043-SCT-SEMAR-ARTF-2022 + + + + + + + Textbox2 + 0.20936cm + 5.26408cm + 0.94606cm + 9.73471cm + 2 + + + + true + + + + + 1. Expedidor + + + + + + + + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + 2. Número del documento de transporte + + + + =Parameters!SerieFolio.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + ="3. Página " & code.PageNumber & " de " & code.TotalPages + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Referencia del expedidor + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Referencia del expedidor de la carga + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + 7. Porteador/Transportista (debe llenarlo el porteador/transportista) + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + 6. Destinatario + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + DECLARACION DEL EXPEDIDOR + + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Last(Fields!Nombre.Value, "DataSet2") & vbCrLf & Last(Fields!Direccion.Value, "DataSet2") + + + + + + + =Parameters!TelDestino.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + 8. Esta expedición se atiene a las restricciones impuestas para: (táchese lo que no proceda) + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + 9. Prescripciones adicionales de manejo de carga + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + AERONAVE DE + + + + + + + + + PASAJE Y CARGA + + + + + + + Textbox57 + 8.91768cm + 1.34217cm + 0.86057cm + 3.8505cm + 15 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + AERONAVE DE + + + + + + + + + SOLO CARGA + + + + + + + Textbox57 + 8.91415cm + 5.19267cm + 0.86057cm + 3.92192cm + 16 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + 10. Buque/vuelo No. y fecha + + + + + + + + + + Textbox57 + 9.77825cm + 1.33863cm + 0.86057cm + 3.8505cm + 17 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + 11. Puerto/lugar de carga + + + + + + + + + + Textbox57 + 9.77472cm + 5.18913cm + 0.86057cm + 3.92192cm + 18 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + 12. Puerto/lugar de descarga + + + + + + + + + + Textbox57 + 10.63882cm + 1.33863cm + 0.86057cm + 3.8505cm + 19 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + 13. Destino + + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + + 4.56775cm + + + 4.37718cm + + + 2.87158cm + + + 2.93598cm + + + 2.78062cm + + + + + 0.66035cm + + + + + true + true + + + + + 14 Marcas de + + + + + + + + + trasporte + + + + + + + Textbox84 + + + + + + + + + + true + true + + + + + *Número y tipo de bultos: + + + + + + + + + Descripción de la mercancia + + + + + + + Textbox86 + + + + + + + + + + true + true + + + + + Peso Bruto (kg) + + + + + + + Textbox88 + + + + + + + + + + true + true + + + + + PesoNeto(Kg) + + + + + + + Textbox90 + + + + + + + + + + true + true + + + + + Volumen (m3) + + + + + + + Textbox92 + + + + + + + + + + 0.33965cm + + + + + true + true + + + + + Si + + + + + + + + + + + + + true + true + + + + + =Fields!Descripcion.Value + + + + + + + + + + + + + true + true + + + + + =Fields!PesoEnKg.Value + + + + + + + + + + + PesoEnKg1 + + + + + + + + + + true + true + + + + + =Fields!PesoEnKg.Value + + + + + + + + + + + PesoEnKg3 + + + + + + + + + + true + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + After + + + + + + + DataSet3 + 0.06703cm + 1cm + 17.53311cm + + + + + + true + 11.49939cm + 1.33863cm + 1.06703cm + 17.82891cm + 21 + + + + + + true + true + + + + + 15. Número de identificación del contenedor/No. de placa de la unidad + + + + + + + + + =Parameters!PlacaVM.Value + + + + + + + Textbox57 + 12.577cm + 1.35021cm + 2.02313cm + 4.45723cm + 22 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + 16. Número (s) del (de los) sellos de seguridad + + + + + + + Textbox57 + 12.60522cm + 5.80743cm + 1.99491cm + 4.05859cm + 23 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + 17. Tipo y dimensiones del contenedor/unidad de arrastre + + + + + + + Textbox57 + 12.58053cm + 9.85191cm + 2.02313cm + 3.56911cm + 24 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + 18. Tara (kg) del contenedor/unidad de arrastre + + + + + + + + + + + + + + + + + + =Parameters!PesoBrutoVehicular.Value + + + + + + + Textbox57 + 12.60522cm + 13.4563cm + 1.99491cm + 2.6464cm + 25 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + 19. Peso bruto total (tara incluida) (kg) del contenedor/unidad de arrastre + + + + + + + + + =Sum(CDec(Fields!PesoEnKg.Value), "DataSet3") + + + + + + + Textbox57 + 12.60522cm + 16.1027cm + 1.99491cm + 3.07995cm + 26 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + CERTIFICADO DE ARRUMAZÓN DEL CONTENEDOR/VEHÍCULO +Declaro que las mercancías descritas más arriba han sido arrumadas/cargadas en el contenedor/vehículo de conformidad con el IMDG. + +POR CADA CARGA DEL CONTENEDOR/VEHÍCULO LA PERSONA RESPONSABLE DE LA ARRUMAZÓN/CARGA HA DE LLENAR Y FIRMAR ESTA SECCIÓN. + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + 21. RECIBO DE LA ORGANIZACIÓN RECEPTORA +Se ha recibido el número arriba indicado de bultos/contenedores/remolques/autotanques, que parecen estar en buen estado. +(En el caso contrario, indíquese en este espacio: OBSERVACIONES DE LA ORGANIZACIÓN RECEPTORA) + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + 20. Nombre de la compañía + + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Nombre del transportista + + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Nombre de la compañía (O DEL EXPEDIDOR QUE HACE LA NOTA) + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Nombre/cargo del declarante + + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + No. de placa de la unidad + + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Nombre y cargo del declarante + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Lugar y fecha + + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Lugar y fecha + + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Lugar y fecha + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Firma del declarante + + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + FIRMA DEL TRANSPORTISTA + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Firma del declarante + + + + + + 2pt + 2pt + 2pt + 2pt + + + + 21.86398cm + 1.5cm + 0cm + 3.90544cm + 41 + + + + + + 21.86398cm + 9.94339cm + 0cm + 3.90544cm + 42 + + + + + + 21.86398cm + 14.68568cm + 0cm + 3.90544cm + 43 + + + + + + true + true + + + + + ** A los efectos de la presente NOM, véase 5.2.1. + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + 23.161cm + 0.02115cm + 22.5602cm + 19.53633cm + 29 + + =IIF(Parameters!imprmirNom043.Value = "1" ,False,True) + + + + + + + + + true + true + + + + + Sello digital del CFDI: + + + + + + + + + =Parameters!SelloCFDI.Value + + + + + + + + + Cadena original del complemento de certificación digital del SAT: + + + + + + + + + + + + + + + + + + + + =Parameters!CFDIVersion.Value + + + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + External + =Parameters!QR.Value + FitProportional + 0.2in + 0.16845in + 1.2in + 1.2in + 1 + + + + + + External + =Parameters!QRCCP.Value + FitProportional + 0.2in + 6.44591in + 1.2in + 1.2in + 2 + + + + + + true + true + + + + + QR Carta Porte + + + + + + + Textbox46 + 0.02931cm + 16.89267cm + 0.46104cm + 2.5cm + 3 + + + 2pt + 2pt + 2pt + 2pt + + + + true + 19.47094cm + 0.10398cm + 3.556cm + 19.66645cm + 30 + + + + - 8.29014in + 18.0263in - - - - - - Textbox2 - 0.06953cm - 4.85476cm - 0.78571cm - 9.73471cm - - - - true - true - - - - - RFC: - - - - =Parameters!RFC.Value - - - - - - - - - - - =Parameters!DomicilioFiscal.Value - - - - - - - =Parameters!RegimenFiscal.Value - - - - - - - =Parameters!DomicilioExpedicion.Value - - - - - - - External - =Parameters!LogoPath.Value - FitProportional - 0.06953cm - 0.18258in - 0.85754in - 1.2in - 2 - - - - - - true - - - - - Carta Porte - Traslado - - - - - - - Textbox3 - 0.06953cm - 5.81924in - 0.5cm - 1.83161in - 3 - - - #4f81bd - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!SerieFolio.Value - - - - - - - Textbox3 - 0.2357in - 5.81924in - 0.60856cm - 1.83161in - 4 - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Versión Carte Porte - - - - - - - - - - - - - =IIF(Parameters!RFC.Value = "BBD021220APA", "3.1", Parameters!CartaPorteVersion.Value) - - - - - - - Textbox54 - 1.38363cm - 14.9272cm - 1.14493cm - 4.50596cm - 5 - - - 2pt - 2pt - 2pt - 2pt - - - @@ -4278,7 +6460,7 @@ - 1.23524cm + 1.13999cm true true @@ -4313,7 +6495,7 @@ Textbox13 - 0.14108cm + 0.04583cm 0.64802cm 0.54708cm 1.55632cm @@ -4347,7 +6529,7 @@ Textbox14 - 0.14108cm + 0.04583cm 2.20434cm 0.54708cm 4.96223cm @@ -4382,7 +6564,7 @@ Textbox13 - 0.14108cm + 0.04583cm 7.27241cm 0.54708cm 2.84562cm @@ -4417,7 +6599,7 @@ Textbox14 - 0.14108cm + 0.04583cm 10.11802cm 0.54708cm 4.68641cm @@ -4451,8 +6633,7 @@ Textbox14 - 0.14461cm - 14.9272cm + 14.75588cm 0.54708cm 4.70062cm 5 @@ -4483,7 +6664,7 @@ Textbox14 - 0.68816cm + 0.59291cm 0.64802cm 0.54708cm 6.21751cm @@ -4510,7 +6691,7 @@ 0.5cm 0.5cm 1cm - 1cm + 0cm 0.13cm @@ -2121,11 +2122,19 @@ - Fecha: + Periodo: @@ -297,22 +350,30 @@
    +
    - - + + + + Producto/Servicio + + +
    +
    +
    - + @@ -320,7 +381,7 @@ - + @@ -328,7 +389,7 @@ - + @@ -336,7 +397,7 @@ - + @@ -344,7 +405,7 @@ - + @@ -352,7 +413,7 @@ - + @@ -360,7 +421,7 @@ - + @@ -368,7 +429,7 @@ - + @@ -376,7 +437,7 @@ - + @@ -384,7 +445,7 @@ - + @@ -392,7 +453,7 @@ - + @@ -400,7 +461,7 @@ - + @@ -408,7 +469,7 @@ - + @@ -416,7 +477,7 @@ - + @@ -424,7 +485,7 @@ - + @@ -432,7 +493,7 @@ - + @@ -440,7 +501,7 @@ - + @@ -448,7 +509,7 @@ - + @@ -456,7 +517,7 @@ - + @@ -464,7 +525,7 @@ - + @@ -472,7 +533,7 @@ - + @@ -480,7 +541,7 @@ - + @@ -488,7 +549,7 @@ - + @@ -496,7 +557,7 @@ - + @@ -504,7 +565,7 @@ - + @@ -512,7 +573,7 @@ - + @@ -520,7 +581,7 @@ - + @@ -528,7 +589,7 @@ - + @@ -536,7 +597,7 @@ - + @@ -544,7 +605,7 @@ - + @@ -552,7 +613,7 @@ - + @@ -560,7 +621,7 @@ - + @@ -568,7 +629,7 @@ - + @@ -576,7 +637,7 @@ - + @@ -584,7 +645,7 @@ - + @@ -592,7 +653,7 @@ - + @@ -600,7 +661,7 @@ - + @@ -608,7 +669,7 @@ - + @@ -616,7 +677,7 @@ - + @@ -624,13 +685,14 @@ - +
    +
    diff --git a/Ventas/Clientes.aspx.vb b/Ventas/Clientes.aspx.vb index c2d4eb3ca..004c014db 100644 --- a/Ventas/Clientes.aspx.vb +++ b/Ventas/Clientes.aspx.vb @@ -2763,7 +2763,7 @@ Partial Class Clientes RequiereOC:=ChkRequiereOC.Checked, LT:=LT, LG:=LG, EsDistribuidor:=ChkEsDistribuidor.Checked, TipoCliente:=DdlTipoCliente.SelectedValue.ToEntero(), CargoUsado:=ChkCargoUsado.Checked, BonificacionUsado:=ChkBonificacionUsado.Checked, CveTipoRetencion:=DdlTipoRetencion.SelectedValue.ToEntero(), CorreoEntregaCompras:=TxtCorreoEntregaCompras.Text, CorreoEntregaAlmacen:=TxtCorreoEntregaAlmacen.Text, CveSATEstado:=DdlEstadoSAT.SelectedValue.ToEntero(), CveAdminTrayecto:=If(DdlAdminTrayecto.SelectedValue.ToEntero() <= 0, 0, DdlAdminTrayecto.SelectedValue.ToEntero()), NoDesglosaIVA:=Not ChkNoDesglosaIVA.Checked, CveRegimenFiscal:=DdlRegimenFiscal.SelectedValue.ToEntero, RegimenSociedad:=TxtRegimenSociedad.Text, TipoPersona:=TipoPersona, RepresentanteLegal:=TxtRepresentanteLegal.Text, ComExtCalle:=TxtComExtCalle.Text.Trim(), ComExtNumExt:=TxtComExtNumero.Text.Trim(), ComExtCP:=TxtComExtCP.Text.Trim(), FechaLimiteCredito:=FechaLimiteCredito, - Genero:=GeneroCliente, CveAlmacenAsignado:=DdlAlmacenAsignado.SelectedValue.ToEntero, CveAlmacenAlterno:=DdlAlmacenAlterno.SelectedValue.ToEntero, UsaProductoAlterno:=ChkProductoAlterno.Checked, + Genero:=GeneroCliente, CveAlmacenAsignado:=DdlAlmacenAsignado.SelectedValue.ToEntero, CveAlmacenConsignacion:=DdlAlmacenConsignacion.SelectedValue.ToEntero, CveAlmacenAlterno:=DdlAlmacenAlterno.SelectedValue.ToEntero, UsaProductoAlterno:=ChkProductoAlterno.Checked, EnQuebranto:=ChkEnQuebranto.Checked, EnDemanda:=ChkEnDemanda.Checked, CreditoRegistroFirmas:=TxtNombreFirmas.Text.Trim, EsFilial:=ChkEsFilial.Checked, GastosEnvio:=TxtGastosEnvio.Text.ToDecimal, Aseguradora:=ChkAseguradora.Checked, CveSubProyectoCobranza:=DdlSubProyectoCobranza.SelectedValue.ToEntero()) Then If Not ObjClientes.LimpiaImpuestosLocales(Me.CveCliente) Then @@ -3039,12 +3039,14 @@ Partial Class Clientes If e.Row.RowIndex > -1 Then If e.Row.DBCampo("Folio") = "N/D" Then e.Row.FCLiteral("LtlFactura").Text = e.Row.DataKey("Folio") - Else - If e.Row.DataKey("CveIE").ToString().ToEntero() > 0 Then - e.Row.FCLiteral("LtlFactura").Text = String.Format("{1}", e.Row.DataKey("CveIE"), e.Row.DataKey("Folio")) - Else - e.Row.FCLiteral("LtlFactura").Text = String.Format("{1}", e.Row.DataKey("CveVenta"), e.Row.DataKey("Folio")) - End If + Else + If e.Row.DataKey("Tipo").ToUpper().Contiene("NC", "ANT") Then + e.Row.FCLiteral("LtlFactura").Text = String.Format("{1}", e.Row.DataKey("CveVenta"), e.Row.DataKey("Folio")) + Else + If e.Row.DataKey("CveIE").ToString().ToEntero() > 0 Then + e.Row.FCLiteral("LtlFactura").Text = String.Format("{1}", e.Row.DataKey("CveIE"), e.Row.DataKey("Folio")) + End If + End If End If End If @@ -6259,6 +6261,9 @@ Partial Class Clientes DdlAlmacenAsignado.SelectedValue = Nothing DdlAlmacenAsignado.ClearSelection() DdlAlmacenAsignado.Items.Clear() + DdlAlmacenConsignacion.SelectedValue = Nothing + DdlAlmacenConsignacion.ClearSelection() + DdlAlmacenConsignacion.Items.Clear() DdlAlmacenAlterno.SelectedValue = Nothing DdlAlmacenAlterno.ClearSelection() DdlAlmacenAlterno.Items.Clear() @@ -6267,6 +6272,9 @@ Partial Class Clientes DdlAlmacenAsignado.DataSource = GlobalDTAlmacen(UsuarioActual.CveEmpresa) DdlAlmacenAsignado.DataBind() DdlAlmacenAsignado.Items.Insert(0, New ListItem("-", "-1")) + DdlAlmacenConsignacion.DataSource = GlobalDTAlmacen(UsuarioActual.CveEmpresa) + DdlAlmacenConsignacion.DataBind() + DdlAlmacenConsignacion.Items.Insert(0, New ListItem("-", "-1")) DdlAlmacenAlterno.DataSource = GlobalDTAlmacen(UsuarioActual.CveEmpresa) DdlAlmacenAlterno.DataBind() DdlAlmacenAlterno.Items.Insert(0, New ListItem("-", "-1")) diff --git a/Ventas/ProductosServicios.aspx.vb b/Ventas/ProductosServicios.aspx.vb index a58c1e71d..170bc75b1 100644 --- a/Ventas/ProductosServicios.aspx.vb +++ b/Ventas/ProductosServicios.aspx.vb @@ -1456,7 +1456,7 @@ Partial Class ProductosyServicios Exit Sub End If - If UsuarioActual.Empresa.Funcionalidad(382) = "1" Then + If UsuarioActual.Empresa.Funcionalidad(382) = "1" AndAlso ChkAplicaParaVenta.Checked Then Dim tcontador As Integer = 0 For Each GvRow As GridViewRow In GvPLMultiple.Rows Dim CvePrecioLista As Integer = GvRow.DataKey("CvePrecioLista").ToEntero() diff --git a/Ventas/RepComisionesSMS.aspx b/Ventas/RepComisionesSMS.aspx index 551a5035a..05185b7d7 100644 --- a/Ventas/RepComisionesSMS.aspx +++ b/Ventas/RepComisionesSMS.aspx @@ -179,14 +179,16 @@ - + + + + + + -
    - - diff --git a/Ventas/RepComisionesSMS.aspx.vb b/Ventas/RepComisionesSMS.aspx.vb index 5c8d9dee1..fcb3dce7a 100644 --- a/Ventas/RepComisionesSMS.aspx.vb +++ b/Ventas/RepComisionesSMS.aspx.vb @@ -2,6 +2,7 @@ Option Strict On Imports System.Data +Imports System.Data.SqlClient Imports Extensiones Partial Class Ventas_RepComisionesSMS @@ -47,6 +48,7 @@ Partial Class Ventas_RepComisionesSMS DdlVendedor.SelectedValueExist(UsuarioActual.CveVendedor) DdlVendedor.Enabled = False GvDatos.Columns(16).Visible = False 'gerente + GvDatos.Columns(19).Visible = False 'pagada End If DdlMedico.DataSource = GlobalDTMedicos(UsuarioActual.CveEmpresa).FiltraParametros("Estatus = 'True' ") @@ -62,6 +64,7 @@ Partial Class Ventas_RepComisionesSMS GvDatos.Columns(16).Visible = False 'gerente GvDatos.Columns(17).Visible = False 'ed.medica GvDatos.Columns(18).Visible = False 'fecha pago + GvDatos.Columns(19).Visible = False 'pagada End If End Sub @@ -91,10 +94,8 @@ Partial Class Ventas_RepComisionesSMS Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs) - CargaDatos() - End Sub #Region "EXCEL" @@ -115,7 +116,6 @@ Partial Class Ventas_RepComisionesSMS #End Region - Protected Sub LnkComisiones_Click(sender As Object, e As EventArgs) CargaComisiones() RegistraScript("$('#DvModalComisiones').modal('show');") @@ -124,24 +124,18 @@ Partial Class Ventas_RepComisionesSMS Private Sub CargaComisiones() DTDatos = New DataTable GvComisiones.DataSource = Nothing - Dim objVentas As New ClsVentas - If objVentas.GetComisionesMedicas(UsuarioActual.CveEmpresa) Then GvComisiones.DataSource = objVentas.DtResultados DTDatos = objVentas.DtResultados End If - objVentas.Dispose() GvComisiones.DataBind() - UpDvModalComisiones.Update() End Sub - - Protected Sub BtnGuardarComisiones_Click(sender As Object, e As EventArgs) Dim objVentas As New ClsVentas @@ -162,7 +156,6 @@ Partial Class Ventas_RepComisionesSMS Dim ComisionVendedorGV As Decimal = (GvRow.FCTextBox("TxtComisionVendedor").Text.ToDecimal / 100).RoundSQL(4) Dim ComisionTecnicoGV As Decimal = (GvRow.FCTextBox("TxtComisionTecnico").Text.ToDecimal / 100).RoundSQL(4) - If ComisionMedicoDT <> ComisionMedicoGV Or ComisionVendedorDT <> ComisionVendedorGV Or ComisionTecnicoDT <> ComisionTecnicoGV Or ComisionGerenteDT <> ComisionGerenteGV Then If Not objVentas.AddUpdateComisionesMedicas(GvRow.DataKey("CvePS").ToEntero, UsuarioActual.CveEmpresa, ComisionMedicoGV, ComisionVendedorGV, ComisionTecnicoGV, ComisionGerenteGV) Then TieneError = True @@ -194,14 +187,12 @@ Partial Class Ventas_RepComisionesSMS e.Row.FCTextBox("TxtComisionMedico").Text = e.Row.DataKey("ComisionMedico").ToDecimal.ToString("###.00") End If - If e.Row.DataKey("ComisionGerente").ToDecimal = 0 Then e.Row.FCTextBox("TxtComisionGerente").Text = "" Else e.Row.FCTextBox("TxtComisionGerente").Text = (e.Row.DataKey("ComisionGerente").ToDecimal * 100).ToString("###.00") End If - If e.Row.DataKey("ComisionVendedor").ToDecimal = 0 Then e.Row.FCTextBox("TxtComisionVendedor").Text = "" Else @@ -214,8 +205,6 @@ Partial Class Ventas_RepComisionesSMS e.Row.FCTextBox("TxtComisionTecnico").Text = (e.Row.DataKey("ComisionTecnico").ToDecimal * 100).ToString("###.00") End If - - End If End Sub @@ -379,4 +368,14 @@ Partial Class Ventas_RepComisionesSMS End If End Sub + + Protected Sub ChkPagada_CheckedChanged(sender As Object, e As EventArgs) + Dim chk As CheckBox = DirectCast(sender, CheckBox) + Dim gvr As GridViewRow = DirectCast(chk.NamingContainer, GridViewRow) + Using ObjVenta As New ClsVentas + If ObjVenta.UpdateVentaAdicional(gvr.DataKey("CveVenta").ToEntero, "NUM1", If(chk.Checked, "1", "0"), UsuarioActual.CveEmpresa) Then + CargaDatos() + End If + End Using + End Sub End Class diff --git a/Ventas/RepProductosServicios.aspx b/Ventas/RepProductosServicios.aspx index 8146e30e8..4d939fe50 100644 --- a/Ventas/RepProductosServicios.aspx +++ b/Ventas/RepProductosServicios.aspx @@ -200,7 +200,7 @@
    SubProyecto:
    - +
    @@ -211,7 +211,7 @@ -
    +
    @@ -260,7 +260,7 @@
    - +
    @@ -284,9 +284,9 @@
    - +
    - +
    @@ -302,7 +302,7 @@
    - +
    @@ -310,58 +310,67 @@
    - +
    - + + +
    + + + + + +
    +
    Garantía?:
    - + - +
    - + -
    +
    - +
    - +
    -
    -
    - +
    +
    +
    - +
    -
    +
    - Servicio Domicilio: -
    - - Todos - Si - No + Servicio Domicilio: +
    + + Todos + Si + No
    - +
    @@ -424,7 +433,7 @@