diff --git a/App_Code/ClsBancos.vb b/App_Code/ClsBancos.vb
index aeab054b8..8f973e376 100644
--- a/App_Code/ClsBancos.vb
+++ b/App_Code/ClsBancos.vb
@@ -134,6 +134,7 @@ Public Class ClsBancos
Public Property TieneTerminal As Boolean
Public Property CveCuentaPadre As Integer
Public Property CveSubProyecto As Integer
+ Public Property NumeroSucursal As String
#End Region
@@ -420,6 +421,7 @@ Public Class ClsBancos
Me.TieneTerminal = If(Data.Rows(0)("TieneTerminal").ToString = "True", True, False)
Me.CveCuentaPadre = Data.Rows(0)("CveCuentaPadre").ToString.ToEntero
Me.CveSubProyecto = Data.Rows(0)("CveSubProyecto").ToString.ToEntero
+ Me.NumeroSucursal = Data.Rows(0)("NumeroSucursal").ToString
End If
@@ -454,7 +456,7 @@ Public Class ClsBancos
Public Function AddBancosCuentas(CveBanco As Integer, CveTipoCuenta As Integer, NumCuenta As String, CLABE As String, CveMoneda As Integer, DiaCorte As Integer, FInicial As Integer, FActual As Integer, FFinal As Integer,
LimiteCredito As Double, FormatoCheque As String, CveUsuario As Integer, CveEmpresa As Integer, ConvenioPagoElectronico As String,
UsaLayout As Boolean, UsaTarjeta As Boolean, Optional SaldoInicial As Double = 0, Optional UsaLayoutGrupos As Boolean = False, Optional TieneTerminal As Boolean = False,
- Optional CveCuentaPadre As Integer = Nothing, Optional CveSubProyecto As Integer = -1) As Boolean
+ Optional CveCuentaPadre As Integer = Nothing, Optional CveSubProyecto As Integer = -1, Optional NumeroSucursal As String = "-1") As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Banc_BancosCuentasAdd")
@@ -482,6 +484,7 @@ Public Class ClsBancos
.Add("@TieneTerminal", SqlDbType.Bit).Value = TieneTerminal
.Add("@CveCuentaPadre", SqlDbType.Int).Value = CveCuentaPadre
.Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto
+ .Add("@NumeroSucursal", SqlDbType.VarChar).Value = NumeroSucursal
End With
@@ -505,7 +508,7 @@ Public Class ClsBancos
Public Function UpdateBancosCuentas(CveBanco As Integer, CveTipoCuenta As Integer, NumCuenta As String, CLABE As String, CveMoneda As Integer, DiaCorte As Integer, FInicial As Integer, FActual As Integer, FFinal As Integer,
LimiteCredito As Double, FormatoCheque As String, Estatus As Boolean, CveCuenta As Integer, ConvenioPagoElectronico As String,
UsaLayout As Boolean, UsaTarjeta As Boolean, Optional UsaLayoutGrupos As Boolean = False, Optional TieneTerminal As Boolean = False,
- Optional CveCuentaPadre As Integer = Nothing, Optional CveSubProyecto As Integer = -1) As Boolean
+ Optional CveCuentaPadre As Integer = Nothing, Optional CveSubProyecto As Integer = -1, Optional NumeroSucursal As String = "-1") As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Banc_BancosCuentasUpdate")
@@ -531,6 +534,7 @@ Public Class ClsBancos
.Add("@TieneTerminal", SqlDbType.Bit).Value = TieneTerminal
.Add("@CveCuentaPadre", SqlDbType.Int).Value = CveCuentaPadre
.Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto
+ .Add("@NumeroSucursal", SqlDbType.VarChar).Value = NumeroSucursal
End With
diff --git a/App_Code/ClsCompras.vb b/App_Code/ClsCompras.vb
index 10be3c7d4..a2491dbad 100644
--- a/App_Code/ClsCompras.vb
+++ b/App_Code/ClsCompras.vb
@@ -574,7 +574,7 @@ Public Class ClsCompras
DataAdapter("PA_Comp_CompraDetalleRemove")
-
+ SqlAdapter.SelectCommand.CommandTimeout = 0
With SqlAdapter.SelectCommand.Parameters
.Add("@CveCompraDetalle", SqlDbType.Int).Value = CveCompraDetalle
End With
diff --git a/App_Code/ClsMovimientos.vb b/App_Code/ClsMovimientos.vb
index dced0eeca..2f8a91298 100644
--- a/App_Code/ClsMovimientos.vb
+++ b/App_Code/ClsMovimientos.vb
@@ -117,7 +117,9 @@ Public Class ClsMovimientos
#Region "CxC"
- Public Function GetCxCClienteDetalle(CveCliente As Integer, FechaI As String, FechaF As String, CveMoneda As Integer, CveSubProyecto As Integer, CveEmpresa As Integer, CveClienteSucursal As Integer, Optional TipoDocto As String = "-1", Optional FechaCorte As Date = MaxFecha, Optional FechaVencimientoI As Date = MinFecha, Optional FechaVencimientoF As Date = MaxFecha) As Boolean
+ Public Function GetCxCClienteDetalle(CveCliente As Integer, FechaI As String, FechaF As String, CveMoneda As Integer, CveSubProyecto As Integer, CveEmpresa As Integer, CveClienteSucursal As Integer, Optional TipoDocto As String = "-1",
+ Optional FechaCorte As Date = MaxFecha, Optional FechaVencimientoI As Date = MinFecha, Optional FechaVencimientoF As Date = MaxFecha, Optional Opcion As Integer = 1, Optional SaldoMayorA As Decimal = -999999999999,
+ Optional SaldoMenorA As Decimal = 999999999999) As Boolean
Dim Retorno As Boolean = False
FechaCorte = IIf(FechaCorte = Nothing, ClsPaginas.NowADS().AddYears(1), FechaCorte).ToString.ToDate
@@ -135,6 +137,9 @@ Public Class ClsMovimientos
.Add("@FechaCorte", SqlDbType.Date).Value = FechaCorte
.Add("@FechaVencimientoI", SqlDbType.Date).Value = FechaVencimientoI
.Add("@FechaVencimientoF", SqlDbType.Date).Value = FechaVencimientoF
+ .Add("@Opcion", SqlDbType.Int).Value = Opcion
+ .Add("@SaldoMayorA", SqlDbType.Money).Value = SaldoMayorA
+ .Add("@SaldoMenorA", SqlDbType.Money).Value = SaldoMenorA
End With
Try
@@ -604,7 +609,8 @@ Public Class ClsMovimientos
'CveAplicaNC
Public Function GetCxPProveedor(CveProveedor As Integer, FechaI As String, FechaF As String, CveUsuarioProgramo As Integer, CveUsuarioRegistro As Integer,
CveUsuarioResponsable As Integer, CveClasificacionProveedor As Integer, CveMoneda As Integer, CveEstatus As Integer, CveProveedorSucursal As Integer, CveAplicaNC As Integer,
- Optional FechaVI As String = "-1", Optional FechaVF As String = "-1", Optional CodigoProgramacion As String = "-1", Optional CveSubProyecto As Integer = -1) As Boolean
+ Optional FechaVI As String = "-1", Optional FechaVF As String = "-1", Optional CodigoProgramacion As String = "-1", Optional CveSubProyecto As Integer = -1, Optional Opcion As Integer = 1,
+ Optional CveEmpresa As Integer = -1, Optional SaldoMayorA As Decimal = -999999999999, Optional SaldoMenorA As Decimal = 999999999999) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Comp_ProveedorCxP")
With SqlAdapter.SelectCommand.Parameters
@@ -623,7 +629,10 @@ Public Class ClsMovimientos
.Add("@FechaVF", SqlDbType.VarChar).Value = FechaVF
.Add("@CodigoProgramacion", SqlDbType.VarChar).Value = CodigoProgramacion
.Add("@CveSubProyecto", SqlDbType.SmallInt).Value = CveSubProyecto
-
+ .Add("@Opcion", SqlDbType.SmallInt).Value = Opcion
+ .Add("@CveEmpresaOp", SqlDbType.SmallInt).Value = CveEmpresa
+ .Add("@SaldoMayorA", SqlDbType.Money).Value = SaldoMayorA
+ .Add("@SaldoMenorA", SqlDbType.Money).Value = SaldoMenorA
End With
diff --git a/App_Code/ClsOS.vb b/App_Code/ClsOS.vb
index 723c9861d..d6af2b03d 100644
--- a/App_Code/ClsOS.vb
+++ b/App_Code/ClsOS.vb
@@ -517,7 +517,8 @@ Public Class ClsOS
Public Function GetRepOrdenesServicioMedicasRep(FechaI As Date, FechaF As Date, CveCliente As Integer, CveVendedor As Integer, CveEstatusOrdenServicio As Integer, CveUsuarioAtendio As Integer, CveSubProyecto As Integer, CveEmpresa As Integer,
- Optional CveMedico As Integer = -1, Optional CveProcedimiento As Integer = -1, Optional CveEspecialidad As Integer = -1, Optional CveClienteSucursal As Integer = -1, Optional CveUsuario As Integer = -1) As Boolean
+ Optional CveMedico As Integer = -1, Optional CveProcedimiento As Integer = -1, Optional CveEspecialidad As Integer = -1, Optional CveClienteSucursal As Integer = -1, Optional CveUsuario As Integer = -1,
+ Optional CveTipoVenta As Integer = -1) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_OS_OrdenesServiciosMedicasRepGet")
@@ -537,7 +538,7 @@ Public Class ClsOS
.Add("@CveEspecialidad", SqlDbType.Int).Value = CveEspecialidad
.Add("@CveClienteSucursal", SqlDbType.Int).Value = CveClienteSucursal
.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
-
+ .Add("@CveTipoVenta", SqlDbType.Int).Value = CveTipoVenta
End With
Try
diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb
index 1f67f7ea8..4ebbbfb54 100644
--- a/App_Code/ClsPaginas.vb
+++ b/App_Code/ClsPaginas.vb
@@ -60,6 +60,62 @@ Public Class ClsPaginas
End If
End Get
End Property
+ Public Shared ReadOnly Property GlobalGrupoEmpresa(Dominio As String) As String
+ Get
+ Dim Retorno As String = ""
+ Dominio = Dominio.ToUpper
+ If Dominio.Contains("EMD".ToUpper()) Then Retorno = "EMD"
+ If Dominio.Contains("BDH".ToUpper()) Then Retorno = "BDH"
+ If Dominio.Contains("ECONOLLANTAS".ToUpper()) Then Retorno = "ECONOLLANTAS"
+ If Dominio.Contains("JAM".ToUpper()) Then Retorno = "JAM"
+ If Dominio.Contains("CITRUS".ToUpper()) Then Retorno = "CITRUS"
+ If Dominio.Contains("KINO".ToUpper()) Then Retorno = "KINO"
+ If Dominio.Contains("VSH".ToUpper()) Then Retorno = "VSH"
+ If Dominio.Contains("AJAM".ToUpper()) Then Retorno = "AJAM"
+ If Dominio.Contains("ALATEL".ToUpper()) Then Retorno = "ALATEL"
+ If Dominio.Contains("SERVEC".ToUpper()) Then Retorno = "SERVEC"
+ If Dominio.Contains("SMS".ToUpper()) Then Retorno = "SMS"
+ If Dominio.Contains("VYA".ToUpper()) Then Retorno = "VYA"
+ If Dominio.Contains("GRUPODIAZ".ToUpper()) Then Retorno = "GRUPODIAZ"
+ If Dominio.Contains("FERRETERA".ToUpper()) Then Retorno = "FERRETERA"
+ Return Retorno
+ End Get
+ End Property
+
+ Public Shared ReadOnly Property GlobalNombreCadenaConexionDominio(Dominio As String) As String
+ Get
+ Dim Retorno As String = "Conexion"
+ Dominio = Dominio.ToUpper
+ 'If Dominio.Contains("EMD".ToUpper()) Then Retorno = "EMD"
+ 'If Dominio.Contains("BDH".ToUpper()) Then tGrupoEmpresa = "BDH"
+ If Dominio.Contains("ECONOLLANTAS".ToUpper()) Then Retorno = "ConexionEcono"
+ 'If Dominio.Contains("JAM".ToUpper()) Then tGrupoEmpresa = "JAM"
+ 'If Dominio.Contains("CITRUS".ToUpper()) Then tGrupoEmpresa = "CITRUS"
+ 'If Dominio.Contains("KINO".ToUpper()) Then tGrupoEmpresa = "KINO"
+ 'If Dominio.Contains("VSH".ToUpper()) Then tGrupoEmpresa = "VSH"
+ 'If Dominio.Contains("AJAM".ToUpper()) Then tGrupoEmpresa = "AJAM"
+ 'If Dominio.Contains("ALATEL".ToUpper()) Then tGrupoEmpresa = "ALATEL"
+ 'If Dominio.Contains("SERVEC".ToUpper()) Then tGrupoEmpresa = "SERVEC"
+ 'If Dominio.Contains("SMS".ToUpper()) Then tGrupoEmpresa = "SMS"
+ 'If Dominio.Contains("VYA".ToUpper()) Then tGrupoEmpresa = "VYA"
+ 'If Dominio.Contains("GRUPODIAZ".ToUpper()) Then tGrupoEmpresa = "GRUPODIAZ" : NombreCadena = "ConexionGDiaz"
+ 'If Dominio.Contains("FERRETERA".ToUpper()) Then tGrupoEmpresa = "FERRETERA"
+ Return Retorno
+ End Get
+ End Property
+
+ Public Shared ReadOnly Property GlobalNombreCadenaConexion(CveEmpresa As Integer) As String
+ Get
+ Dim Retorno As String = "Conexion"
+ Select Case CveEmpresa
+ Case 141, 152, 159, 160, 161, 162, 163, 166
+ Retorno = "ConexionEcono"
+ End Select
+
+ Return Retorno
+ End Get
+ End Property
+
Public Shared ReadOnly Property UrlDirecciones As String
Get
If IsNothing(System.Configuration.ConfigurationManager.AppSettings("UrlDirecciones")) Then
@@ -2288,6 +2344,31 @@ Public Class ClsPaginas
HttpContext.Current.Application(AppNombre) = value
End Set
End Property
+
+ Public Shared Property GlobalDTClientesTodosSucursales(CveEmpresa As Integer, Optional CveCliente As Integer = -1) As DataTable
+ Get
+ Dim AppNombre As String = $"GlobalDTClientesTodosSucursales-{CveEmpresa}"
+ If HttpContext.Current.Application(AppNombre) Is Nothing Then
+ Dim ObjClientes As New ClsClientes
+ If ObjClientes.GetClienteSucursales(-1, CveEmpresa) Then HttpContext.Current.Application(AppNombre) = ObjClientes.DtResultados.Copy()
+ ObjClientes.Dispose()
+ End If
+ Dim filtros As New List(Of String)
+
+ If CveCliente >= 0 Then filtros.Add($"CveCliente = {CveCliente}")
+ If filtros.Count > 0 Then
+ Dim Dv As New DataView(DirectCast(HttpContext.Current.Application(AppNombre), DataTable), String.Join(" AND ", filtros), "", DataViewRowState.CurrentRows)
+ GlobalDTClientesTodosSucursales = Dv.ToTable
+ Dv.Dispose()
+ Else
+ GlobalDTClientesTodosSucursales = DirectCast(HttpContext.Current.Application(AppNombre), DataTable)
+ End If
+ End Get
+ Set(value As DataTable)
+ Dim AppNombre As String = $"GlobalDTClientesTodosSucursales-{CveEmpresa}"
+ HttpContext.Current.Application(AppNombre) = value
+ End Set
+ End Property
Public Shared Property GlobalDTEstatusOrdenServicios(CveEmpresa As Integer) As DataTable
Get
Dim AppNombre As String = $"GlobalDTEstatusOrdenServicios-{CveEmpresa}"
@@ -5426,12 +5507,12 @@ Public Class ClsPaginas
bytes = bytes
Response.Buffer = True
Response.Clear()
+ Response.ClearHeaders()
If Formato = "PDF" Then
Response.ContentType = "application/pdf"
Else
Response.ContentType = mimeType
End If
- Response.ClearHeaders()
Dim fileExtension As String = ""
If Not String.IsNullOrEmpty(Extension) Then
fileExtension = Extension
@@ -9995,7 +10076,6 @@ Public Class ClsPaginas
PaginaDict.Add("/Contabilidad/RepIVADiferencias.aspx".ToUpper(), 127)
PaginaDict.Add("/Contabilidad/PolizasImpresion.aspx".ToUpper(), 380)
PaginaDict.Add("/Contabilidad/RegPrePolizaS.aspx".ToUpper(), 398)
- PaginaDict.Add("/Contabilidad/RegPrePoliza.aspx".ToUpper(), 398)
PaginaDict.Add("/Contabilidad/DescargaRespaldos.aspx".ToUpper(), 400)
PaginaDict.Add("/Contabilidad/CatEjercicios.aspx".ToUpper(), 570)
PaginaDict.Add("/Contabilidad/AnalisisVertical.aspx".ToUpper(), 416)
@@ -10348,7 +10428,7 @@ Public Class ClsPaginas
PaginaDict.Add("/OS/CatEstatusOrdenServicio.aspx".ToUpper(), 99)
PaginaDict.Add("/OS/PopUpBuscarCuentasEquipos.aspx".ToUpper(), 100)
PaginaDict.Add("/OS/PopUpCuentasEquipos.aspx".ToUpper(), -1)
- 'PaginaDict.Add("/OS/CatSubTiposOrdenesServicios.aspx".ToUpper(), 101)
+ PaginaDict.Add("/OS/RepServiciosMedicos.aspx".ToUpper(), 178)
'PaginaDict.Add("/OS/CatCaracteristicasOrdenServicio.aspx".ToUpper(), 131)
'PaginaDict.Add("/OS/CatOSCaracteristicasOpciones.aspx".ToUpper(), 132)
PaginaDict.Add("/OS/RepOrdenesServicios.aspx".ToUpper(), 134)
@@ -10650,6 +10730,7 @@ Public Class ClsPaginas
PaginaDict.Add("/Ventas/RepCostoPromedioVenta.aspx".ToUpper(), 532)
PaginaDict.Add("/Ventas/RepVentasNetasResumen.aspx".ToUpper(), 533)
PaginaDict.Add("/Ventas/RepTopVentas.aspx".ToUpper(), -1)
+ PaginaDict.Add("/Ventas/RepPedidosSTF.aspx".ToUpper(), 344)
PaginaDict.Add("/Ventas/RepSolicitudesCancelacion.aspx".ToUpper(), -1)
PaginaDict.Add("/Ventas/RepCanceladasPendientes.aspx".ToUpper(), -1)
PaginaDict.Add("/Ventas/RepCancelacionesPorAtender.aspx".ToUpper(), 750)
diff --git a/App_Code/ClsRH.vb b/App_Code/ClsRH.vb
index 10d97f41f..912ed24d9 100644
--- a/App_Code/ClsRH.vb
+++ b/App_Code/ClsRH.vb
@@ -1594,6 +1594,7 @@ Public Class ClsRH
End Property
Public Property TipoSangre As String
+ Public Property CodigoDispersionVale As String = ""
#End Region
#Region "Personal"
@@ -1753,6 +1754,7 @@ Public Class ClsRH
CveSubproyectoZona = -1
End If
+ Me.CodigoDispersionVale = Data.Rows(0)("CodigoDispersionVale").ToString
End If
Retorno = True
@@ -1979,7 +1981,8 @@ Public Class ClsRH
NombrePadre As String, NombreMadre As String, CveSATBanco As Integer, CveSATRiesgoPuesto As Integer, CveSATRegimenContratacion As Integer, CveClienteAsignado As Integer, CveSubProyecto As Integer, URL As String, CveSupervisor As Integer, CLABE As String, BancoNumCuenta As String,
CveJornada As Integer, CveUsuario As Integer, CveEmpresa As Integer, CveUsuarioNomina As Integer, Beneficiario As String, Optional CveSubProyectoZona As Integer = Nothing, Optional CveUniforme As Integer = -1,
Optional TelefonoExtension As String = "-1", Optional CelularPersonal As String = "-1", Optional TelefonoMarcadoRapido As String = "-1", Optional ContactoAlterno As String = "-1", Optional CveTipodeSalario As Integer = 1, Optional Sindicalizado As Boolean = False, Optional CvePais As Integer = -1,
- Optional Pensionado As Boolean = False, Optional CveMedioTransporte As Integer = -1, Optional CveRegistroPatronal As Integer = -1, Optional CveEmpresaAsignado As Integer = -1, Optional CveTipoTrabajador As Integer = -1, Optional NetoPeriodo As Decimal = -1, Optional TipoSangre As String = "-1", Optional CveSubTipoPeriodo As Integer = -1, Optional AreaGeografica As String = "A") As Boolean
+ Optional Pensionado As Boolean = False, Optional CveMedioTransporte As Integer = -1, Optional CveRegistroPatronal As Integer = -1, Optional CveEmpresaAsignado As Integer = -1, Optional CveTipoTrabajador As Integer = -1, Optional NetoPeriodo As Decimal = -1,
+ Optional TipoSangre As String = "-1", Optional CveSubTipoPeriodo As Integer = -1, Optional AreaGeografica As String = "A", Optional CodigoDispersionVale As String = "-1") As Boolean
Dim Retorno As Boolean = False
Dim noguardoXcurp As Boolean = False
@@ -2070,6 +2073,8 @@ Public Class ClsRH
.Add("@TipoSangre", SqlDbType.VarChar).Value = TipoSangre
.Add("@AreaGeografica", SqlDbType.VarChar).Value = AreaGeografica
.Add("@CveSubTipoPeriodo", SqlDbType.Int).Value = CveSubTipoPeriodo
+ .Add("@CodigoDispersionVale", SqlDbType.VarChar).Value = CodigoDispersionVale
+
'.Add("@ErrorMostrarADS", SqlDbType.VarChar, 50).Direction = ParameterDirection.Output
.Add("@RETURN_VALUE", SqlDbType.Int).Direction = ParameterDirection.ReturnValue
@@ -2133,7 +2138,7 @@ Public Class ClsRH
Optional TelefonoExtension As String = "-1", Optional CelularPersonal As String = "-1", Optional TelefonoMarcadoRapido As String = "-1", Optional ContactoAlterno As String = "-1", Optional CveUsuarioModifico As Integer = -1,
Optional FechaActivo As Date = MinFecha, Optional FechaReingreso As Date = MinFecha, Optional CveTipodeSalario As Integer = 1, Optional Sindicalizado As Integer = -1, Optional CvePais As Integer = -1, Optional Pensionado As Boolean = False, Optional CveRegistroPatronal As Integer = -1,
Optional CveEmpresaAsignado As Integer = -1, Optional CveMedioTransporte As Integer = -1, Optional EsReserva As Integer = -1, Optional Fiscalizable As Integer = -1, Optional CveTipoTrabajador As Integer = -1, Optional NetoPeriodo As Decimal = -1,
- Optional TipoSangre As String = "-1", Optional CveSubTipoPeriodo As Integer = -1, Optional AreaGeografica As String = "") As Boolean
+ Optional TipoSangre As String = "-1", Optional CveSubTipoPeriodo As Integer = -1, Optional AreaGeografica As String = "", Optional CodigoDispersionVale As String = "-1") As Boolean
Dim Retorno As Boolean = False
@@ -2231,7 +2236,7 @@ Public Class ClsRH
.Add("@AreaGeografica", SqlDbType.VarChar).Value = AreaGeografica
.Add("@CveSubTipoPeriodo", SqlDbType.Int).Value = CveSubTipoPeriodo
-
+ .Add("@CodigoDispersionVale", SqlDbType.VarChar).Value = CodigoDispersionVale
End With
Try
diff --git a/App_Code/ClsSisEmpresas.vb b/App_Code/ClsSisEmpresas.vb
index a417989b0..2d35a0c3d 100644
--- a/App_Code/ClsSisEmpresas.vb
+++ b/App_Code/ClsSisEmpresas.vb
@@ -204,11 +204,11 @@ Public Class ClsSisEmpresas
'Public Property PwdContPAQi As String
#End Region
- Sub New(Optional TransaccionCompartida As SqlTransaction = Nothing, Optional NombreCadena As String = "Conexion")
+ Sub New(Optional TransaccionCompartida As SqlTransaction = Nothing, Optional UsuarioActual As Usuario = Nothing)
If TransaccionCompartida Is Nothing Then
SqlConexion = New SqlConnection
- SqlConexion.ConnectionString = ConfigurationManager.ConnectionStrings(NombreCadena).ConnectionString
+ SqlConexion.ConnectionString = If(UsuarioActual IsNot Nothing, UsuarioActual.RutaDB, ClsPaginas.UsuarioActualRutaDB)
Try
SqlConexion.Open()
Catch ex As Exception
diff --git a/App_Code/ClsSisNotificaciones.vb b/App_Code/ClsSisNotificaciones.vb
index 91485aa7d..082e9a966 100644
--- a/App_Code/ClsSisNotificaciones.vb
+++ b/App_Code/ClsSisNotificaciones.vb
@@ -248,18 +248,16 @@ Public Class ClsSisNotificaciones
#Region "V A L I D A - U S U A R I O"
Private Function ValidaUsuarioSistema(CveEmpresa As Integer) As Usuario
- Dim UsuarioActual As Usuario = Nothing
- Dim ObjUsuarios As New ClsSisUsuarios
- If ObjUsuarios.GetUsuarios(100) Then
- If ObjUsuarios.DtResultados.Rows.Count > 0 Then
- Dim Usuario = ObjUsuarios.DtResultados.Rows(0)("Usuario").ToString()
- Dim Contrasenia = ObjUsuarios.DtResultados.Rows(0)("Contraseña").ToString()
- UsuarioActual = ObjUsuarios.ValidaUsuario(Usuario, Contrasenia, IMEI, CveEmpresa)
- UsuarioActual.CveEmpresa = CveEmpresa
- CreaObjetoEmpresa(UsuarioActual)
- End If
- End If
- ObjUsuarios.Dispose()
+ Dim UsuarioActual As Usuario = Nothing
+ Dim NombreCadena As String = ClsPaginas.GlobalNombreCadenaConexion(CveEmpresa)
+ Dim ObjUsuarios As New ClsSisUsuarioAutenticacion(NombreCadena:=NombreCadena)
+ UsuarioActual = ObjUsuarios.GetUsuarioDetalle(100)
+ If UsuarioActual IsNot Nothing Then
+ HttpContext.Current.Session("UsuarioSIG") = UsuarioActual
+ CreaObjetoEmpresa(UsuarioActual)
+ End If
+ ObjUsuarios.Dispose()
+
Return UsuarioActual
End Function
Private Sub CreaObjetoEmpresa(ByRef UsuarioActual As Usuario)
diff --git a/App_Code/ClsSisUsuarioAutenticacion.vb b/App_Code/ClsSisUsuarioAutenticacion.vb
new file mode 100644
index 000000000..7491db69c
--- /dev/null
+++ b/App_Code/ClsSisUsuarioAutenticacion.vb
@@ -0,0 +1,564 @@
+Option Explicit On
+Option Strict On
+
+Imports System.Data
+Imports System.Data.SqlClient
+Imports Extensiones
+Public Class ClsSisUsuarioAutenticacion
+ Implements IDisposable
+
+
+#Region "Campos"
+
+ 'SQL
+ Private SqlConexion As SqlConnection
+ Private SqlAdapter As SqlDataAdapter
+ Private SqlTransacc As SqlTransaction
+ Private SqlCommand As SqlCommand
+ Private Data As DataTable
+
+ 'Atributos de la clase
+
+ Private disposedValue As Boolean = False ' Para detectar llamadas redundantes
+ 'PARA REGISTRAR CONEXION
+ Private CveConexion As Integer = 0
+ Private ConnStr As String = ""
+
+#End Region
+
+#Region "Propiedades"
+
+ Public ReadOnly Property DtResultados() As DataTable
+ Get
+ DtResultados = Data
+ End Get
+ End Property
+
+
+ Public Property CveUsuario As Integer
+ Public Property Usuario As String
+ Public Property Nombre As String
+ Public Property CveRol As Integer
+ Public Property Correo As String
+ Public Property CveSupervisa As Integer
+ Public Property CveAutoriza As Integer
+ Public Property CveEmpresa As Integer
+ Public Property CveAlmacen As Integer
+ Public Property CveEmpresaPredeterminada As Integer
+ Public Property CvePersonal As Integer
+ Public Property CveVendedor As Integer
+ Public Property CveTipoDocumento As String
+ Public Property Estado As Boolean
+ Public Property Fecha As DateTime
+ Public Property Registro As Integer
+ Public Property UsuarioCreo As String
+ Public Property Contraseña As String
+ Public Property EsLogIn As Integer
+ Public Property FechaUltimoAcceso As Date
+ Public Property FechaUltimoCambioContraseña As Date
+ Public Property PolCambiarContraseña As Boolean
+ Public Property TipoControl As Integer
+ Public Property CveSubProyecto As Integer
+ Public Property AsignarAutomaticamenteSubProyecto As Boolean
+ Public Property AsignarAutomaticamenteOC As Boolean
+ Public Property DescuentoAutorizado As Double
+#End Region
+
+ Sub New(Optional TransaccionCompartida As SqlTransaction = Nothing, Optional NombreCadena As String = "Conexion")
+
+ If TransaccionCompartida Is Nothing Then
+ SqlConexion = New SqlConnection
+ SqlConexion.ConnectionString = ConfigurationManager.ConnectionStrings(NombreCadena).ConnectionString
+ ConnStr = ConfigurationManager.ConnectionStrings(NombreCadena).ConnectionString
+ Try
+ SqlConexion.Open()
+ Catch ex As Exception
+ OnError("Ocurrió un error al intentar conectarse a la base de datos.", ex)
+ End Try
+ Else
+ SqlConexion = TransaccionCompartida.Connection
+ SqlTransacc = TransaccionCompartida
+ End If
+
+ SqlCommand = New SqlCommand("", SqlConexion)
+ SqlAdapter = New SqlDataAdapter("", SqlConexion)
+ ConexionAdd()
+ End Sub
+ Private Sub DataAdapter(StrSQL As String, Optional TipoComando As CommandType = CommandType.StoredProcedure)
+ With SqlAdapter.SelectCommand
+ .Parameters.Clear()
+ .CommandText = StrSQL
+ .CommandType = TipoComando
+ End With
+ If Not SqlTransacc Is Nothing Then SqlAdapter.SelectCommand.Transaction = SqlTransacc
+ Data = New DataTable
+ End Sub
+#Region "Conexiones"
+
+ Private Sub ConexionAdd()
+ If ConfigurationManager.AppSettings("RegistraConexion") IsNot Nothing AndAlso ConfigurationManager.AppSettings("RegistraConexion").ToString() = "1" Then
+
+ Try
+ 'DataAdapter(String.Format("INSERT INTO Sis_Conexiones (Clase,Modulo) VALUES ('ClsRH','{0}')", "RH/CatMotivosBaja"), CommandType.Text) ' pendiente de terminar parra registrar el cveconexion, falta el rarámetro de módulo
+ DataAdapter("PA_Sis_RegistrarConexion")
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@Clase", SqlDbType.VarChar).Value = Me.GetType().Name
+ .Add("@Modulo", SqlDbType.VarChar).Value = String.Format("{0}?{1}", HttpContext.Current.Request.Url.AbsolutePath.ToString, HttpContext.Current.Request.QueryString.ToString)
+ .Add("@IDConexion", SqlDbType.Int).Direction = ParameterDirection.Output
+ End With
+ SqlAdapter.Fill(Data)
+ CveConexion = SqlAdapter.SelectCommand.Parameters("@IDConexion").Value.ToString.ToEntero
+ Catch ex As Exception
+ OnError("Ocurrió un error registrar la conexión.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
+ End Try
+
+ End If
+ End Sub
+
+ Private Sub ConexionClose()
+ If CveConexion > 0 AndAlso ConfigurationManager.AppSettings("RegistraConexion") IsNot Nothing AndAlso ConfigurationManager.AppSettings("RegistraConexion").ToString() = "1" Then
+
+ DataAdapter(String.Format("UPDATE Sis_Conexiones SET FechaCierre = GETDATE() WHERE CveConexion = {0}", CveConexion), CommandType.Text)
+ Try
+ SqlAdapter.Fill(Data)
+
+ Catch ex As Exception
+ OnError("Ocurrió un error registrar la conexión.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
+ End Try
+ CveConexion = 0
+
+ End If
+
+ End Sub
+#End Region
+ Private Sub DataCommand(pStrSQL As String, Optional TipoComando As CommandType = CommandType.StoredProcedure)
+ With SqlCommand
+ .Parameters.Clear()
+ .CommandText = pStrSQL
+ .CommandType = TipoComando
+ End With
+
+ If Not SqlTransacc Is Nothing Then SqlCommand.Transaction = SqlTransacc
+
+ End Sub
+ Public Function IniciaTransacSQL() As SqlTransaction
+ If SqlTransacc Is Nothing Then SqlTransacc = SqlConexion.BeginTransaction()
+ Return SqlTransacc
+ End Function
+ Public Sub RollBack()
+ If SqlTransacc IsNot Nothing Then SqlTransacc.Rollback()
+ SqlTransacc = Nothing
+ End Sub
+ Public Sub Commit()
+ If SqlTransacc IsNot Nothing Then SqlTransacc.Commit()
+ SqlTransacc = Nothing
+ End Sub
+
+ Public Function UsuariosGetTokenXEquipo(CveUsuario As Integer, CveUsuarioAutoriza As Integer, AdsCodex As String) As Boolean
+ Dim Retorno As Boolean = False
+ DataAdapter("PA_Sis_UsuariosGetTokenXEquipo")
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
+ .Add("@CveUsuarioAutoriza", SqlDbType.Int).Value = CveUsuarioAutoriza
+ .Add("@AdsCodex", SqlDbType.VarChar).Value = AdsCodex
+ End With
+ Try
+ SqlAdapter.Fill(Data)
+ 'If Data.Rows.Count > 0 Then
+ ' = Data.Rows(0)("Token").ToString()
+ 'End If
+ Retorno = True
+ Catch ex As SqlException
+ OnError("Ocurrio un error al guardar token por equipo.", ex)
+ Retorno = False
+ End Try
+ Return Retorno
+ End Function
+
+ Public Function GetModulosUsuariosPlataforma(CveUsuario As Integer, CvePlataforma As Integer) As Boolean
+ Dim Retorno As Boolean = False
+ DataAdapter("SELECT M.* FROM [dbo].[UsuariosModulos] UM INNER JOIN Modulos M ON M.CveModulo=UM.CveModulo WHERE M.CvePlataforma =@CvePlataforma AND @CveUsuario = UM .CveUsuario AND UM.Permitir =1", CommandType.Text)
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
+ .Add("@CvePlataforma", SqlDbType.Int).Value = CvePlataforma
+ End With
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch ex As SqlException
+ OnError("Ocurrio un error al obtener el menu.", ex)
+ Retorno = False
+ End Try
+ Return Retorno
+ End Function
+ Public Function ValidaUsuario(Usuario As String, Password As String, Optional CveEmpresa As Integer = -1, Optional GrupoEmpresa As String = "", Optional GenerarMenu As Boolean = True) As Usuario
+ Dim Retorno As Usuario = Nothing
+ DataAdapter("PA_Sis_UsuarioValidacionGet")
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@Usuario", SqlDbType.VarChar).Value = Usuario
+ .Add("@Contraseña", SqlDbType.VarChar).Value = Password
+ .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+ .Add("@GrupoEmpresa", SqlDbType.VarChar).Value = GrupoEmpresa
+ End With
+ Try
+ SqlAdapter.Fill(Data)
+
+ If Data.Rows.Count > 0 Then
+ Retorno = New Usuario
+
+ Retorno.Acceso = Data.Rows(0)("Acceso").ToString().ToEntero()
+ Retorno.CveUsuario = Data.Rows(0)("CveUsuario").ToString().ToEntero()
+ Retorno.Usuario = Usuario
+ Retorno.Contraseña = Data.Rows(0)("Contraseña").ToString()
+ Retorno.Nombre = Data.Rows(0)("Nombre").ToString()
+ Retorno.CveRol = Data.Rows(0)("CveRol").ToString().ToEntero()
+ Retorno.Rol = Data.Rows(0)("Rol").ToString()
+
+ If CveEmpresa > 0 Then Retorno.CveEmpresa = CveEmpresa Else Retorno.CveEmpresa = Data.Rows(0)("CveEmpresa").ToString().ToEntero()
+ Retorno.CvePlataforma = Data.Rows(0)("CvePlataforma").ToString().ToEntero()
+
+ Retorno.FechaUltimoAcceso = Data.Rows(0)("FechaUltimoAcceso").ToString().ToDate()
+ Retorno.FechaUltimoCambioContraseña = Data.Rows(0)("FechaUltimoCambioContraseña").ToString().ToDate()
+ Retorno.ActCambiarContraseña = If(Data.Rows(0)("ActCambiarContraseña").ToString() = "SI", True, False)
+ Retorno.TipoControl = Data.Rows(0)("TipoControl").ToString().ToEntero()
+ '*
+ Retorno.CveProveedor = Data.Rows(0)("CveProveedor").ToString().ToEntero()
+ Retorno.EsSupervisorRH = CBool(Data.Rows(0)("EsSupervisorRH").ToString())
+
+ Retorno.CveCliente = Data.Rows(0)("CveCliente").ToString().ToEntero()
+ Retorno.CveProveedor = Data.Rows(0)("CveProveedor").ToString().ToEntero()
+
+ Retorno.NombreAbreviatura = Data.Rows(0)("NombreAbreviatura").ToString()
+ Retorno.DescuentoAutorizado = Data.Rows(0)("DescuentoAutorizado").ToString().ToDouble()
+
+ Retorno.PorcentajeMaximoAutorizacion = Data.Rows(0)("PorcentajeMaximoAutorizacion").ToString().ToDecimal()
+ Retorno.DiasMaximoAutorizacion = Data.Rows(0)("DiasMaximoAutorizacion").ToString().ToEntero()
+
+ Retorno.CodigoAutorizado = Data.Rows(0)("CodigoAutorizado").ToString()
+ Dim autoip As String = Data.Rows(0)("AutorizadoxIP").ToString().ToUpper()
+ Retorno.AutorizadoxIP = (autoip = "1" OrElse autoip = "TRUE")
+ Retorno.RutaDB = ConnStr
+
+ ' Esto es parta el punto de venta
+ Retorno.CveSucursal = Data.Rows(0)("CveSubProyecto").ToString().ToEntero
+
+ Dim ObjUsr As New ClsSisUsuarios(UsuarioActual:=Retorno)
+
+ 'cargo los modulos del usuario y genero el menú
+ Dim dttmp As DataTable = ObjUsr.GetUsuariosRolesModulos(Retorno.CveUsuario, Retorno.CveEmpresa)
+ If GenerarMenu Then GeneraMenu(Retorno.CveUsuario, dttmp, Retorno.CvePlataforma)
+
+ Dim UsuariosModulos As New HybridDictionary
+ For Each Row As DataRow In dttmp.Rows
+ UsuariosModulos.Add(Convert.ToInt32(Row("CveModulo")), Row("CveModulo").ToString)
+ Next
+ Retorno.Modulos = UsuariosModulos
+ 'cargo los procesos del usuario
+ dttmp = ObjUsr.GetUsuariosRolesProcesos(Retorno.CveUsuario)
+ Dim UsuariosProcesos As New HybridDictionary
+ For Each Row As DataRow In dttmp.Rows
+ UsuariosProcesos.Add(Convert.ToInt32(Row("CveProceso")), Row("CveProceso").ToString)
+ Next
+ Retorno.Procesos = UsuariosProcesos
+
+ Dim UsuariosIndicadores As New HybridDictionary
+ Dim dTableIndicadores As DataTable = ObjUsr.getUsuarioIndicadores(Retorno.CveUsuario, Retorno.CveEmpresa, Retorno.CveRol)
+
+
+ For Each Row As DataRow In dTableIndicadores.Rows
+ UsuariosIndicadores.Add(Convert.ToInt32(Row("CveIndicador")), Row("Indicador").ToString)
+ Next
+ Retorno.Indicadores = UsuariosIndicadores
+
+ If ObjUsr.GetUsuariosDetalleAsignaciones(Retorno.CveUsuario, If(CveEmpresa = -1, Retorno.CveEmpresa, CveEmpresa)) Then
+ Dim drt As DataRow = ObjUsr.DtResultados.FiltroPrimero("")
+ Retorno.CveSubProyecto = drt("CveSucursal").ToString.ToEntero
+ Retorno.CveVendedor = drt("CveVendedor").ToString.ToEntero
+ Retorno.CvePersonal = drt("CvePersonal").ToString.ToEntero
+ Retorno.CveAlmacen = drt("CveAlmacen").ToString.ToEntero
+ Retorno.CveTipoDocumento = drt("CveTipoDocumento").ToString
+ Else
+ Retorno.CveSubProyecto = -1
+ Retorno.CveVendedor = -1
+ Retorno.CvePersonal = -1
+ Retorno.CveAlmacen = -1
+ Retorno.CveTipoDocumento = "-1"
+ End If
+
+ Dim ObjEmpresa As New ClsSisEmpresas(UsuarioActual:=Retorno)
+ If ObjEmpresa.GetEmpresas(Retorno.CveEmpresa, "-1", "-1", "-1", "-1") Then
+ If ObjEmpresa.GetEmpresasFuncionalidades(Retorno.CveEmpresa) Then
+ Dim dttmp2 As Data.DataTable = ObjEmpresa.DtResultados
+
+ Dim EmpresasFuncionalidades As New HybridDictionary
+ For Each Row As Data.DataRow In dttmp2.Rows
+ EmpresasFuncionalidades.Add(Convert.ToInt32(Row("CveFuncionalidad")), Row("Valor").ToString)
+ Next
+ ObjEmpresa.Empresa.SetFuncionalidades(EmpresasFuncionalidades)
+ End If
+ Retorno.Empresa = ObjEmpresa.Empresa
+ End If
+ ObjEmpresa.Dispose()
+
+ If ObjUsr.GetUsuariosEmpresas(Retorno.CveUsuario, -1) Then
+ Dim dt As Data.DataTable = ObjUsr.DtResultados
+ If dt IsNot Nothing Then
+ If dt.Rows.Count >= 1 Then
+ If dt.Rows.Count > 1 Then
+ Retorno.MultipleEmpresa = True
+ End If
+ End If
+ End If
+ dt.Dispose()
+ End If
+ Retorno.ListaPersonalizacion = ObjUsr.CargaPersonalizacionUsuario(Retorno.CveUsuario)
+ ObjUsr.Dispose()
+ End If
+
+ Catch ex As SqlException
+ OnError("Ocurrio un error al Iniciar Acceso a Sitio.", ex)
+ Retorno = Nothing
+ End Try
+
+ Return Retorno
+ End Function
+
+ Public Function GetUsuarioDetalle(CveUsuario As Integer, Optional CveEmpresa As Integer = -1) As Usuario
+
+ Dim Retorno As Usuario = Nothing
+ DataAdapter("PA_Sis_UsuariosGet")
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
+ .Add("@CveRol", SqlDbType.Int).Value = -1
+ .Add("@Usuario", SqlDbType.VarChar).Value = "-1"
+ .Add("@Contraseña", SqlDbType.VarChar).Value = "-1"
+ .Add("@EsLogIn", SqlDbType.Bit).Value = 0
+ End With
+
+ Try
+ SqlAdapter.Fill(Data)
+ If Data IsNot Nothing AndAlso Data.Rows.Count > 0 Then
+ Retorno = New Usuario
+
+ Retorno.Acceso = Data.Rows(0)("Acceso").ToString().ToEntero()
+ Retorno.CveUsuario = Data.Rows(0)("CveUsuario").ToString().ToEntero()
+ Retorno.Usuario = Usuario
+ Retorno.Contraseña = Data.Rows(0)("Contraseña").ToString()
+ Retorno.Nombre = Data.Rows(0)("Nombre").ToString()
+ Retorno.CveRol = Data.Rows(0)("CveRol").ToString().ToEntero()
+ Retorno.Rol = Data.Rows(0)("Rol").ToString()
+
+ If CveEmpresa > 0 Then Retorno.CveEmpresa = CveEmpresa Else Retorno.CveEmpresa = Data.Rows(0)("CveEmpresa").ToString().ToEntero()
+ Retorno.CvePlataforma = Data.Rows(0)("CvePlataforma").ToString().ToEntero()
+
+ Retorno.FechaUltimoAcceso = Data.Rows(0)("FechaUltimoAcceso").ToString().ToDate()
+ Retorno.FechaUltimoCambioContraseña = Data.Rows(0)("FechaUltimoCambioContraseña").ToString().ToDate()
+ Retorno.ActCambiarContraseña = If(Data.Rows(0)("ActCambiarContraseña").ToString() = "SI", True, False)
+ Retorno.TipoControl = Data.Rows(0)("TipoControl").ToString().ToEntero()
+ '*
+ Retorno.CveProveedor = Data.Rows(0)("CveProveedor").ToString().ToEntero()
+ Retorno.EsSupervisorRH = CBool(Data.Rows(0)("EsSupervisorRH").ToString())
+
+ Retorno.CveCliente = Data.Rows(0)("CveCliente").ToString().ToEntero()
+ Retorno.CveProveedor = Data.Rows(0)("CveProveedor").ToString().ToEntero()
+
+ Retorno.NombreAbreviatura = Data.Rows(0)("NombreAbreviatura").ToString()
+ Retorno.DescuentoAutorizado = Data.Rows(0)("DescuentoAutorizado").ToString().ToDouble()
+
+ Retorno.PorcentajeMaximoAutorizacion = Data.Rows(0)("PorcentajeMaximoAutorizacion").ToString().ToDecimal()
+ Retorno.DiasMaximoAutorizacion = Data.Rows(0)("DiasMaximoAutorizacion").ToString().ToEntero()
+
+ Retorno.CodigoAutorizado = Data.Rows(0)("CodigoAutorizado").ToString()
+ Dim autoip As String = Data.Rows(0)("AutorizadoxIP").ToString().ToUpper()
+ Retorno.AutorizadoxIP = (autoip = "1" OrElse autoip = "TRUE")
+ Retorno.RutaDB = ConnStr
+
+ ' Esto es parta el punto de venta
+ Retorno.CveSucursal = Data.Rows(0)("CveSubProyecto").ToString().ToEntero
+ Dim ObjEmpresa As New ClsSisEmpresas(UsuarioActual:=Retorno)
+ If ObjEmpresa.GetEmpresas(Retorno.CveEmpresa, "-1", "-1", "-1", "-1") Then
+ If ObjEmpresa.GetEmpresasFuncionalidades(Retorno.CveEmpresa) Then
+ Dim dttmp2 As Data.DataTable = ObjEmpresa.DtResultados
+
+ Dim EmpresasFuncionalidades As New HybridDictionary
+ For Each Row As Data.DataRow In dttmp2.Rows
+ EmpresasFuncionalidades.Add(Convert.ToInt32(Row("CveFuncionalidad")), Row("Valor").ToString)
+ Next
+ ObjEmpresa.Empresa.SetFuncionalidades(EmpresasFuncionalidades)
+ End If
+ Retorno.Empresa = ObjEmpresa.Empresa
+ End If
+ ObjEmpresa.Dispose()
+ End If
+
+ Return Retorno
+
+ Catch ex As SqlException
+ OnError("Ocurrio un error al Consultar Usuarios.", ex)
+ End Try
+
+ Return Retorno
+ End Function
+
+ 'Public Function ValidaUsuarioAsignacion(CveUsuario As Integer, CveEmpresa As Integer) As Usuario
+ ' Dim Retorno As Usuario = Nothing
+
+ ' DataAdapter("PA_Sis_UsuariosAsignacionesGet")
+
+ ' With SqlAdapter.SelectCommand.Parameters
+ ' .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
+ ' .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+
+ ' End With
+
+ ' Try
+ ' SqlAdapter.Fill(Data)
+ ' If Data.Rows.Count > 0 Then
+ ' Retorno = New Usuario
+
+ ' Try
+ ' Retorno.CveSubProyecto = Data.Rows(0)("CveSucursal").ToString.ToEntero
+ ' Catch ex As Exception
+ ' Retorno.CveSubProyecto = -1
+ ' End Try
+
+ ' Retorno.CveVendedor = Data.Rows(0)("CveVendedor").ToString.ToEntero
+ ' Retorno.CvePersonal = Data.Rows(0)("CvePersonal").ToString.ToEntero
+ ' Retorno.CveAlmacen = Data.Rows(0)("CveAlmacen").ToString.ToEntero
+ ' End If
+ ' Catch ex As SqlException
+ ' OnError("Ocurrio un error al Iniciar Acceso a Sitio.", ex)
+ ' Retorno = Nothing
+ ' End Try
+
+ ' Return Retorno
+ 'End Function
+
+ 'Public Function ValidaUsuarioWs(Usuario As String, Password As String, tIMEI As String) As Usuario
+ ' Dim Retorno As Usuario = Nothing
+
+ ' DataAdapter("PA_Sis_UsuariosGet")
+
+ ' With SqlAdapter.SelectCommand.Parameters
+ ' .Add("@CveUsuario", SqlDbType.Int).Value = -1
+ ' .Add("@CveRol", SqlDbType.Int).Value = -1
+ ' .Add("@Usuario", SqlDbType.VarChar).Value = Usuario
+ ' .Add("@Contraseña", SqlDbType.VarChar).Value = Password
+ ' .Add("@EsLogIn", SqlDbType.Bit).Value = 1
+ ' End With
+
+ ' Try
+ ' SqlAdapter.Fill(Data)
+
+ ' Catch ex As SqlException
+ ' OnError("Ocurrio un error al Iniciar Acceso a Sitio.", ex)
+ ' Retorno = Nothing
+ ' End Try
+
+ ' Return Retorno
+ 'End Function
+ 'Public Function ValidaUsuarioAppGPS(Usuario As String, Password As String, tIMEI As String) As Usuario
+ ' Dim Retorno As Usuario = Nothing
+
+ ' DataAdapter("PA_Sis_UsuariosAppGet")
+
+ ' With SqlAdapter.SelectCommand.Parameters
+ ' .Add("@CveUsuario", SqlDbType.Int).Value = -1
+ ' .Add("@CveRol", SqlDbType.Int).Value = -1
+ ' .Add("@Usuario", SqlDbType.VarChar).Value = Usuario
+ ' .Add("@Contraseña", SqlDbType.VarChar).Value = Password
+ ' .Add("@EsLogIn", SqlDbType.Bit).Value = 1
+ ' End With
+
+ ' Try
+ ' SqlAdapter.Fill(Data)
+ ' If Data.Rows.Count > 0 Then
+ ' Retorno = New Usuario
+
+ ' Retorno.Acceso = Data.Rows(0)("Acceso").ToString.ToEntero
+ ' Retorno.CveUsuario = Data.Rows(0)("CveUsuario").ToString.ToEntero
+ ' Retorno.Usuario = Usuario
+ ' Retorno.Contraseña = Data.Rows(0)("Contraseña").ToString
+ ' Retorno.Nombre = Data.Rows(0)("Nombre").ToString
+ ' Retorno.CveRol = Data.Rows(0)("CveRol").ToString.ToEntero
+ ' Retorno.Rol = Data.Rows(0)("Rol").ToString
+ ' Retorno.CveEmpresa = Data.Rows(0)("CveEmpresa").ToString.ToEntero
+ ' Try
+ ' Retorno.CveSubProyecto = Data.Rows(0)("CveSubProyecto").ToString.ToEntero
+ ' Catch ex As Exception
+ ' Retorno.CveSubProyecto = -1
+ ' End Try
+ ' Retorno.FechaUltimoAcceso = Data.Rows(0)("FechaUltimoAcceso").ToString.ToDate
+ ' Retorno.FechaUltimoCambioContraseña = Data.Rows(0)("FechaUltimoCambioContraseña").ToString.ToDate
+ ' Retorno.CveProveedor = Data.Rows(0)("CveProveedor").ToString.ToEntero
+ ' Retorno.CveVendedor = Data.Rows(0)("CveVendedor").ToString.ToEntero
+ ' Retorno.CveCliente = Data.Rows(0)("CveCliente").ToString.ToEntero
+ ' Retorno.NombreAbreviatura = Data.Rows(0)("NombreAbreviatura").ToString
+ ' End If
+
+ ' Catch ex As SqlException
+ ' OnError("Ocurrio un error al Iniciar Acceso a Sitio.", ex)
+ ' Retorno = Nothing
+ ' End Try
+
+ ' Return Retorno
+ 'End Function
+
+
+
+ Private Function GeneraMenu(CveUsuario As Integer, dtMenu As DataTable, Optional CvePlataforma As Integer = 1) As Boolean
+ Dim Retorno As Boolean = False
+ dtMenu.TableName = "UsuariosModulos"
+
+ Try
+ Dim Carpeta As String = ""
+
+ 'GPS
+ Carpeta = $"{AppDomain.CurrentDomain.BaseDirectory}/Menu/GPS"
+ Carpeta.DirectoryExistsCreate
+ dtMenu.FiltraParametros("CvePlataforma = 3").WriteXml($"{Carpeta}/{CveUsuario}.xml", XmlWriteMode.WriteSchema)
+
+ Carpeta = $"{AppDomain.CurrentDomain.BaseDirectory}/Menu/ERP"
+ Carpeta.DirectoryExistsCreate
+ Select Case CvePlataforma
+ Case 6, 7
+ dtMenu.FiltraParametros($"CvePlataforma = {CvePlataforma}").WriteXml($"{Carpeta}/{CveUsuario}.xml", XmlWriteMode.WriteSchema)
+ Case Else
+ dtMenu.FiltraParametros("CvePlataforma = 1").WriteXml($"{Carpeta}/{CveUsuario}.xml", XmlWriteMode.WriteSchema)
+ End Select
+
+ Retorno = True
+ Catch ex As Exception
+ OnError("Ocurrió un error al generar el menú del usuario.", ex)
+ End Try
+
+ Return Retorno
+
+ End Function
+
+#Region "IDisposable Support"
+ Protected Overridable Sub Dispose(disposing As Boolean)
+ If Not Me.disposedValue Then
+ If disposing Then
+
+
+ If Not Data Is Nothing Then Data.Dispose() : Data = Nothing
+ If Not SqlAdapter Is Nothing Then SqlAdapter.Dispose() : SqlAdapter = Nothing
+ If Not SqlCommand Is Nothing Then SqlCommand.Dispose() : SqlCommand = Nothing
+ If Not SqlTransacc Is Nothing Then SqlTransacc.Dispose() : SqlTransacc = Nothing
+ If SqlConexion.State <> ConnectionState.Closed Then SqlConexion.Close()
+ If Not SqlConexion Is Nothing Then SqlConexion.Dispose() : SqlConexion = Nothing
+
+ End If
+ End If
+ Me.disposedValue = True
+ End Sub
+ Public Sub Dispose() Implements IDisposable.Dispose
+ ConexionClose()
+ Dispose(True)
+ GC.SuppressFinalize(Me)
+ End Sub
+#End Region
+
+End Class
+
diff --git a/App_Code/ClsSisUsuarios.vb b/App_Code/ClsSisUsuarios.vb
index 9c6f804b4..0dd213315 100644
--- a/App_Code/ClsSisUsuarios.vb
+++ b/App_Code/ClsSisUsuarios.vb
@@ -64,12 +64,14 @@ Public Class ClsSisUsuarios
Public Property DescuentoAutorizado As Double
#End Region
- Sub New(Optional TransaccionCompartida As SqlTransaction = Nothing, Optional NombreCadena As String = "Conexion")
+ Sub New(Optional TransaccionCompartida As SqlTransaction = Nothing, Optional UsuarioActual As Usuario = Nothing)
If TransaccionCompartida Is Nothing Then
SqlConexion = New SqlConnection
- SqlConexion.ConnectionString = ConfigurationManager.ConnectionStrings(NombreCadena).ConnectionString
- ConnStr = ConfigurationManager.ConnectionStrings(NombreCadena).ConnectionString
+ SqlConexion.ConnectionString = If(UsuarioActual IsNot Nothing, UsuarioActual.RutaDB, ClsPaginas.UsuarioActualRutaDB)
+
+ 'SqlConexion.ConnectionString = ConfigurationManager.ConnectionStrings(NombreCadena).ConnectionString
+ 'ConnStr = ConfigurationManager.ConnectionStrings(NombreCadena).ConnectionString
Try
SqlConexion.Open()
Catch ex As Exception
@@ -153,7 +155,29 @@ Public Class ClsSisUsuarios
If SqlTransacc IsNot Nothing Then SqlTransacc.Commit()
SqlTransacc = Nothing
End Sub
+ Public Function ValidaUsuarioCodigoAcceso(CodigoAcceso As String, CveEmpresa As Integer) As Integer
+ Dim Retorno As Integer = Nothing
+ DataAdapter("PA_Sis_UsuariosCodigoAccesoGet")
+
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CodigoAcceso", SqlDbType.VarChar).Value = CodigoAcceso
+ .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+ End With
+
+ Try
+ SqlAdapter.Fill(Data)
+ If Data.Rows.Count > 0 Then
+ Retorno = Data.Rows(0)("CveUsuario").ToString.ToEntero
+ End If
+
+ Catch ex As SqlException
+ OnError("Ocurrió un error al obtener el usuario.", ex)
+ Retorno = Nothing
+ End Try
+
+ Return Retorno
+ End Function
Public Function UsuariosGetTokenXEquipo(CveUsuario As Integer, CveUsuarioAutoriza As Integer, AdsCodex As String) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Sis_UsuariosGetTokenXEquipo")
@@ -191,136 +215,15 @@ Public Class ClsSisUsuarios
End Try
Return Retorno
End Function
- Public Function ValidaUsuario(Usuario As String, Password As String, Optional CveEmpresa As Integer = -1, Optional GrupoEmpresa As String = "", Optional GenerarMenu As Boolean = True) As Usuario
- Dim Retorno As Usuario = Nothing
- DataAdapter("PA_Sis_UsuarioValidacionGet")
- With SqlAdapter.SelectCommand.Parameters
- .Add("@Usuario", SqlDbType.VarChar).Value = Usuario
- .Add("@Contraseña", SqlDbType.VarChar).Value = Password
- .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
- .Add("@GrupoEmpresa", SqlDbType.VarChar).Value = GrupoEmpresa
- End With
- Try
- SqlAdapter.Fill(Data)
-
- If Data.Rows.Count > 0 Then
- Retorno = New Usuario
-
- Retorno.Acceso = Data.Rows(0)("Acceso").ToString().ToEntero()
- Retorno.CveUsuario = Data.Rows(0)("CveUsuario").ToString().ToEntero()
- Retorno.Usuario = Usuario
- Retorno.Contraseña = Data.Rows(0)("Contraseña").ToString()
- Retorno.Nombre = Data.Rows(0)("Nombre").ToString()
- Retorno.CveRol = Data.Rows(0)("CveRol").ToString().ToEntero()
- Retorno.Rol = Data.Rows(0)("Rol").ToString()
-
- Retorno.CveEmpresa = Data.Rows(0)("CveEmpresa").ToString().ToEntero()
- Retorno.CvePlataforma = Data.Rows(0)("CvePlataforma").ToString().ToEntero()
-
- Retorno.FechaUltimoAcceso = Data.Rows(0)("FechaUltimoAcceso").ToString().ToDate()
- Retorno.FechaUltimoCambioContraseña = Data.Rows(0)("FechaUltimoCambioContraseña").ToString().ToDate()
- Retorno.ActCambiarContraseña = If(Data.Rows(0)("ActCambiarContraseña").ToString() = "SI", True, False)
- Retorno.TipoControl = Data.Rows(0)("TipoControl").ToString().ToEntero()
- '*
- Retorno.CveProveedor = Data.Rows(0)("CveProveedor").ToString().ToEntero()
- Retorno.EsSupervisorRH = CBool(Data.Rows(0)("EsSupervisorRH").ToString())
-
- Retorno.CveCliente = Data.Rows(0)("CveCliente").ToString().ToEntero()
- Retorno.CveProveedor = Data.Rows(0)("CveProveedor").ToString().ToEntero()
-
- Retorno.NombreAbreviatura = Data.Rows(0)("NombreAbreviatura").ToString()
- Retorno.DescuentoAutorizado = Data.Rows(0)("DescuentoAutorizado").ToString().ToDouble()
-
- Retorno.PorcentajeMaximoAutorizacion = Data.Rows(0)("PorcentajeMaximoAutorizacion").ToString().ToDecimal()
- Retorno.DiasMaximoAutorizacion = Data.Rows(0)("DiasMaximoAutorizacion").ToString().ToEntero()
-
- Retorno.CodigoAutorizado = Data.Rows(0)("CodigoAutorizado").ToString()
- Dim autoip As String = Data.Rows(0)("AutorizadoxIP").ToString().ToUpper()
- Retorno.AutorizadoxIP = (autoip = "1" OrElse autoip = "TRUE")
- Retorno.RutaDB = ConnStr
-
- ' Esto es parta el punto de venta
- Retorno.CveSucursal = Data.Rows(0)("CveSubProyecto").ToString().ToEntero
-
- ''Toma la primer letra de cada nombre
- 'Dim sbr As New StringBuilder
- 'For Each St As String In Retorno.Nombre.Split(" "c)
- ' sbr.AppendFormat("{0}.", St.Substring(0, 1))
- 'Next
- 'Retorno.NombreIniciales = sbr.ToString
- 'sbr.Clear()
- 'Retorno.Liga = Data.Rows(0)("Liga" ).ToString
-
- 'cargo los modulos del usuario y genero el menú
- Dim dttmp As DataTable = GetUsuariosRolesModulos(Retorno.CveUsuario, Retorno.CveEmpresa)
- If GenerarMenu Then GeneraMenu(Retorno.CveUsuario, dttmp, Retorno.CvePlataforma)
-
- Dim UsuariosModulos As New HybridDictionary
- For Each Row As DataRow In dttmp.Rows
- UsuariosModulos.Add(Convert.ToInt32(Row("CveModulo")), Row("CveModulo").ToString)
- Next
- Retorno.Modulos = UsuariosModulos
- 'cargo los procesos del usuario
- dttmp = GetUsuariosRolesProcesos(Retorno.CveUsuario)
- Dim UsuariosProcesos As New HybridDictionary
- For Each Row As DataRow In dttmp.Rows
- UsuariosProcesos.Add(Convert.ToInt32(Row("CveProceso")), Row("CveProceso").ToString)
- Next
- Retorno.Procesos = UsuariosProcesos
-
- Dim UsuariosIndicadores As New HybridDictionary
- Dim dTableIndicadores As DataTable = getUsuarioIndicadores(Retorno.CveUsuario, Retorno.CveEmpresa, Retorno.CveRol)
-
-
- For Each Row As DataRow In dTableIndicadores.Rows
- UsuariosIndicadores.Add(Convert.ToInt32(Row("CveIndicador")), Row("Indicador").ToString)
- Next
- Retorno.Indicadores = UsuariosIndicadores
-
- If GetUsuariosDetalleAsignaciones(Retorno.CveUsuario, If(CveEmpresa = -1, Retorno.CveEmpresa, CveEmpresa)) Then
- Try
- Retorno.CveSubProyecto = Data.Rows(0)("CveSucursal").ToString.ToEntero
- Catch ex As Exception
- Retorno.CveSubProyecto = -1
- End Try
-
- Retorno.CveVendedor = Data.Rows(0)("CveVendedor").ToString.ToEntero
- Retorno.CvePersonal = Data.Rows(0)("CvePersonal").ToString.ToEntero
- Retorno.CveAlmacen = Data.Rows(0)("CveAlmacen").ToString.ToEntero
- Retorno.CveTipoDocumento = Data.Rows(0)("CveTipoDocumento").ToString
- Else
- Retorno.CveSubProyecto = -1
- Retorno.CveVendedor = -1
- Retorno.CvePersonal = -1
- Retorno.CveAlmacen = -1
- Retorno.CveTipoDocumento = "-1"
- End If
-
- Retorno.ListaPersonalizacion = CargaPersonalizacionUsuario(Retorno.CveUsuario)
-
- End If
-
- Catch ex As SqlException
- OnError("Ocurrio un error al Iniciar Acceso a Sitio.", ex)
- Retorno = Nothing
- End Try
-
- Return Retorno
- End Function
Public Function CargaPersonalizacionUsuario(CveUsuarioParamerto As Integer) As Hashtable
-
Dim Retorno As New Hashtable
If GetUsuariosPersonalizaciones(CveUsuarioParamerto) Then
-
For Each drow As DataRow In Data.Rows
Retorno.Add(drow("PersonalizacionNombre").ToString, drow("PersonalizacionValor").ToString)
Next
-
End If
-
Return Retorno
-
End Function
Public Function ValidaUsuarioAsignacion(CveUsuario As Integer, CveEmpresa As Integer) As Usuario
@@ -357,214 +260,6 @@ Public Class ClsSisUsuarios
Return Retorno
End Function
- Public Function ValidaUsuarioWs(Usuario As String, Password As String, tIMEI As String) As Usuario
- Dim Retorno As Usuario = Nothing
-
- DataAdapter("PA_Sis_UsuariosGet")
-
- With SqlAdapter.SelectCommand.Parameters
- .Add("@CveUsuario", SqlDbType.Int).Value = -1
- .Add("@CveRol", SqlDbType.Int).Value = -1
- .Add("@Usuario", SqlDbType.VarChar).Value = Usuario
- .Add("@Contraseña", SqlDbType.VarChar).Value = Password
- .Add("@EsLogIn", SqlDbType.Bit).Value = 1
- End With
-
- Try
- SqlAdapter.Fill(Data)
-
- Catch ex As SqlException
- OnError("Ocurrio un error al Iniciar Acceso a Sitio.", ex)
- Retorno = Nothing
- End Try
-
- Return Retorno
- End Function
- Public Function ValidaUsuarioAppGPS(Usuario As String, Password As String, tIMEI As String) As Usuario
- Dim Retorno As Usuario = Nothing
-
- DataAdapter("PA_Sis_UsuariosAppGet")
-
- With SqlAdapter.SelectCommand.Parameters
- .Add("@CveUsuario", SqlDbType.Int).Value = -1
- .Add("@CveRol", SqlDbType.Int).Value = -1
- .Add("@Usuario", SqlDbType.VarChar).Value = Usuario
- .Add("@Contraseña", SqlDbType.VarChar).Value = Password
- .Add("@EsLogIn", SqlDbType.Bit).Value = 1
- End With
-
- Try
- SqlAdapter.Fill(Data)
- If Data.Rows.Count > 0 Then
- Retorno = New Usuario
-
- Retorno.Acceso = Data.Rows(0)("Acceso").ToString.ToEntero
- Retorno.CveUsuario = Data.Rows(0)("CveUsuario").ToString.ToEntero
- Retorno.Usuario = Usuario
- Retorno.Contraseña = Data.Rows(0)("Contraseña").ToString
- Retorno.Nombre = Data.Rows(0)("Nombre").ToString
- Retorno.CveRol = Data.Rows(0)("CveRol").ToString.ToEntero
- Retorno.Rol = Data.Rows(0)("Rol").ToString
- Retorno.CveEmpresa = Data.Rows(0)("CveEmpresa").ToString.ToEntero
- Try
- Retorno.CveSubProyecto = Data.Rows(0)("CveSubProyecto").ToString.ToEntero
- Catch ex As Exception
- Retorno.CveSubProyecto = -1
- End Try
- Retorno.FechaUltimoAcceso = Data.Rows(0)("FechaUltimoAcceso").ToString.ToDate
- Retorno.FechaUltimoCambioContraseña = Data.Rows(0)("FechaUltimoCambioContraseña").ToString.ToDate
- Retorno.CveProveedor = Data.Rows(0)("CveProveedor").ToString.ToEntero
- Retorno.CveVendedor = Data.Rows(0)("CveVendedor").ToString.ToEntero
- Retorno.CveCliente = Data.Rows(0)("CveCliente").ToString.ToEntero
- Retorno.NombreAbreviatura = Data.Rows(0)("NombreAbreviatura").ToString
- End If
-
- Catch ex As SqlException
- OnError("Ocurrio un error al Iniciar Acceso a Sitio.", ex)
- Retorno = Nothing
- End Try
-
- Return Retorno
- End Function
-
- Public Function ValidaUsuarioCodigoAcceso(CodigoAcceso As String, CveEmpresa As Integer) As Integer
- Dim Retorno As Integer = Nothing
-
- DataAdapter("PA_Sis_UsuariosCodigoAccesoGet")
-
- With SqlAdapter.SelectCommand.Parameters
- .Add("@CodigoAcceso", SqlDbType.VarChar).Value = CodigoAcceso
- .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
- End With
-
- Try
- SqlAdapter.Fill(Data)
- If Data.Rows.Count > 0 Then
- Retorno = Data.Rows(0)("CveUsuario").ToString.ToEntero
- End If
-
- Catch ex As SqlException
- OnError("Ocurrió un error al obtener el usuario.", ex)
- Retorno = Nothing
- End Try
-
- Return Retorno
- End Function
- Public Function ValidaUsuarioPortalCliente(CveCliente As Integer, Usuario As String, Password As String) As Usuario
- Dim Retorno As Usuario = Nothing
-
- DataAdapter("PA_Sis_UsuariosGet")
-
- With SqlAdapter.SelectCommand.Parameters
- .Add("@CveUsuario", SqlDbType.Int).Value = -1
- .Add("@CveRol", SqlDbType.Int).Value = -1
- .Add("@Usuario", SqlDbType.VarChar).Value = Usuario
- .Add("@Contraseña", SqlDbType.VarChar).Value = Password
- .Add("@EsLogIn", SqlDbType.Bit).Value = 1
- End With
-
- Try
- SqlAdapter.Fill(Data)
- If Data.Rows.Count > 0 Then
- Retorno = New Usuario
-
- Retorno.CveUsuario = Data.Rows(0)("CveUsuario").ToString.ToEntero
- Retorno.Usuario = Usuario
- Retorno.Contraseña = Data.Rows(0)("Contraseña").ToString
- Retorno.Nombre = Data.Rows(0)("Nombre").ToString
- Retorno.CveRol = Data.Rows(0)("CveRol").ToString.ToEntero
- Retorno.Rol = Data.Rows(0)("Rol").ToString
- 'Retorno.NombreEmpresa = Data.Rows(0)("Empresa").ToString
- Retorno.CveEmpresa = Data.Rows(0)("CveEmpresa").ToString.ToEntero
- Retorno.CveCliente = CveCliente
- Retorno.ClienteGPS = False
- Retorno.Portal = True
- Retorno.Referencia = Data.Rows(0)("Referencia").ToString
- Retorno.EsSupervisorRH = If(Data.Rows(0)("EsSupervisorRH").ToString = "1", True, False)
- Retorno.RutaDB = ConnStr
- 'cargo los modulos del usuario y genero el menú
- Dim dttmp As DataTable = GetUsuariosRolesModulos(Retorno.CveUsuario, Retorno.CveCliente)
-
- Dim UsuariosModulos As New HybridDictionary
- For Each Row As DataRow In dttmp.Rows
- UsuariosModulos.Add(Convert.ToInt32(Row("CveModulo")), Row("CveModulo").ToString)
- Next
- Retorno.Modulos = UsuariosModulos
- ''cargo los procesos del usuario
- dttmp = GetUsuariosRolesProcesos(Retorno.CveUsuario)
- Dim UsuariosProcesos As New HybridDictionary
- For Each Row As DataRow In dttmp.Rows
- UsuariosProcesos.Add(Convert.ToInt32(Row("CveProceso")), Row("CveProceso").ToString)
- Next
- Retorno.Procesos = UsuariosProcesos
- End If
-
- Catch ex As SqlException
- OnError("Ocurrio un error al Iniciar Acceso a Sitio.", ex)
- Retorno = Nothing
- End Try
-
- Return Retorno
- End Function
-
- Public Function ValidaUsuarioPortalProveedor(CveProveedor As Integer, Usuario As String, Password As String) As Usuario
- Dim Retorno As Usuario = Nothing
-
- DataAdapter("PA_Sis_UsuariosGet")
-
- With SqlAdapter.SelectCommand.Parameters
- .Add("@CveUsuario", SqlDbType.Int).Value = -1
- .Add("@CveRol", SqlDbType.Int).Value = -1
- .Add("@Usuario", SqlDbType.VarChar).Value = Usuario
- .Add("@Contraseña", SqlDbType.VarChar).Value = Password
- .Add("@EsLogIn", SqlDbType.Bit).Value = 1
- End With
-
- Try
- SqlAdapter.Fill(Data)
- If Data.Rows.Count > 0 Then
- Retorno = New Usuario
-
- Retorno.CveUsuario = Data.Rows(0)("CveUsuario").ToString.ToEntero
- Retorno.Usuario = Usuario
- Retorno.Contraseña = Data.Rows(0)("Contraseña").ToString
- Retorno.Nombre = Data.Rows(0)("Nombre").ToString
- Retorno.CveRol = Data.Rows(0)("CveRol").ToString.ToEntero
- Retorno.Rol = Data.Rows(0)("Rol").ToString
- 'Retorno.NombreEmpresa = Data.Rows(0)("Empresa").ToString
- Retorno.CveEmpresa = Data.Rows(0)("CveEmpresa").ToString.ToEntero
- Retorno.CveProveedor = CveProveedor
- Retorno.ClienteGPS = False
- Retorno.Portal = True
- Retorno.Referencia = Data.Rows(0)("Referencia").ToString
- Retorno.EsSupervisorRH = If(Data.Rows(0)("EsSupervisorRH").ToString = "1", True, False)
- Retorno.RutaDB = ConnStr
- 'cargo los modulos del usuario y genero el menú
- Dim dttmp As DataTable = GetUsuariosRolesModulos(Retorno.CveUsuario, Retorno.CveProveedor)
-
- Dim UsuariosModulos As New HybridDictionary
- For Each Row As DataRow In dttmp.Rows
- UsuariosModulos.Add(Convert.ToInt32(Row("CveModulo")), Row("CveModulo").ToString)
- Next
-
- Retorno.Modulos = UsuariosModulos
- ''cargo los procesos del usuario
- dttmp = GetUsuariosRolesProcesos(Retorno.CveUsuario)
- Dim UsuariosProcesos As New HybridDictionary
- For Each Row As DataRow In dttmp.Rows
- UsuariosProcesos.Add(Convert.ToInt32(Row("CveProceso")), Row("CveProceso").ToString)
- Next
- Retorno.Procesos = UsuariosProcesos
- End If
-
- Catch ex As SqlException
- OnError("Ocurrio un error al Iniciar Acceso a Sitio.", ex)
- Retorno = Nothing
- End Try
-
- Return Retorno
- End Function
-
#Region "U S U A R I O - I N D I C A D O R E S"
Public Function getUsuarioIndicadores(_CveUsuario As Integer, _CveEmpresa As Integer, _CveRol As Integer) As DataTable
@@ -2620,170 +2315,6 @@ Public Class ClsSisUsuarios
Return Retorno
End Function
- Public Function ValidaUsuarioGPS2(Clave As String, Usuario As String, Password As String) As Usuario
- Dim Retorno As Usuario = Nothing
-
- DataAdapter("PA_Sis_UsuariosGet")
-
- With SqlAdapter.SelectCommand.Parameters
- .Add("@CveUsuario", SqlDbType.Int).Value = -1
- .Add("@CveRol", SqlDbType.Int).Value = -1
- .Add("@Usuario", SqlDbType.VarChar).Value = Usuario
- .Add("@Contraseña", SqlDbType.VarChar).Value = Password
- .Add("@EsLogIn", SqlDbType.Bit).Value = 1
- End With
-
- Try
- SqlAdapter.Fill(Data)
- If Data.Rows.Count > 0 Then
- Retorno = New Usuario
-
- Retorno.CveUsuario = Data.Rows(0)("CveUsuario").ToString.ToEntero
- Retorno.Usuario = Usuario
- Retorno.Contraseña = Data.Rows(0)("Contraseña").ToString
- Retorno.Nombre = Data.Rows(0)("Nombre").ToString
- Retorno.CveRol = Data.Rows(0)("CveRol").ToString.ToEntero
- Retorno.Rol = Data.Rows(0)("Rol").ToString
- 'Retorno.NombreEmpresa = Data.Rows(0)("Empresa").ToString
- Retorno.CveEmpresa = Data.Rows(0)("CveEmpresa").ToString.ToEntero
- Retorno.CveCliente = Clave.ToEntero
- Retorno.ClienteGPS = True
- Retorno.Referencia = Data.Rows(0)("Referencia").ToString
- Retorno.EsSupervisorRH = If(Data.Rows(0)("EsSupervisorRH").ToString = "1", True, False)
- 'Retorno.Liga = Data.Rows(0)("Liga").ToString
- 'cargo los modulos del usuario y genero el menú
- Dim dttmp As DataTable = GetUsuariosRolesModulos(Retorno.CveUsuario, Retorno.CveCliente)
- GeneraMenuGPS(Retorno.CveUsuario, dttmp)
- Dim UsuariosModulos As New HybridDictionary
- For Each Row As DataRow In dttmp.Rows
- UsuariosModulos.Add(Convert.ToInt32(Row("CveModulo")), Row("CveModulo").ToString)
- Next
- Retorno.Modulos = UsuariosModulos
- ''cargo los procesos del usuario
- dttmp = GetUsuariosRolesProcesos(Retorno.CveUsuario)
- Dim UsuariosProcesos As New HybridDictionary
- For Each Row As DataRow In dttmp.Rows
- UsuariosProcesos.Add(Convert.ToInt32(Row("CveProceso")), Row("CveProceso").ToString)
- Next
- Retorno.Procesos = UsuariosProcesos
- End If
-
- Catch ex As SqlException
- OnError("Ocurrio un error al Iniciar Acceso a Sitio.", ex)
- Retorno = Nothing
- End Try
-
- Return Retorno
- End Function
-
- Public Function GetUsuarioGPS(Clave As String, Usuario As String, Password As String) As Boolean
- Dim Retorno As Boolean = False
- DataAdapter("PA_Sis_UsuariosPortalGet")
-
- With SqlAdapter.SelectCommand.Parameters
- .Add("@pCveUsuario", SqlDbType.Int).Value = -1
- .Add("@pCveRol", SqlDbType.Int).Value = 1200
- .Add("@pCveClave", SqlDbType.VarChar).Value = Clave
- .Add("@pUsuario", SqlDbType.VarChar).Value = Usuario
- .Add("@pContraseña", SqlDbType.VarChar).Value = Password
- .Add("@pEsLogIn", SqlDbType.Bit).Value = 1
- .Add("@pCveCliente", SqlDbType.Int).Value = -1
- .Add("@pCveProveedor", SqlDbType.Int).Value = -1
- End With
-
- Try
- SqlAdapter.Fill(Data)
- Retorno = True
- Catch ex As SqlException
- OnError("Ocurrio un error al Iniciar Acceso a Sitio.", ex)
- Retorno = Nothing
- End Try
-
- Return Retorno
- End Function
-
- Public Function GetUsuariosPortalGPS(pCveUsuarioPortal As Integer, pCveCliente As Integer, pCveProveedor As Integer) As Boolean
- Dim Retorno As Boolean = False
-
- DataAdapter("PA_Sis_UsuariosPortalGet")
-
- With SqlAdapter.SelectCommand.Parameters
- .Add("@pCveUsuario", SqlDbType.Int).Value = pCveUsuarioPortal
- .Add("@pCveRol", SqlDbType.Int).Value = -1
- .Add("@pCveClave", SqlDbType.VarChar).Value = -1
- .Add("@pUsuario", SqlDbType.VarChar).Value = "-1"
- .Add("@pContraseña", SqlDbType.VarChar).Value = "-1"
- .Add("@pEsLogIn", SqlDbType.Bit).Value = 0
- .Add("@pCveCliente", SqlDbType.Int).Value = pCveCliente
- .Add("@pCveProveedor", SqlDbType.Int).Value = pCveProveedor
- End With
-
- Try
- SqlAdapter.Fill(Data)
- Retorno = True
- Catch ex As SqlException
- OnError("Ocurrio un error al Consultar los usuarios.", ex)
- End Try
-
- Return Retorno
- End Function
-
-
-
- Public Function UpdateUsuarioPortalGPS(Usuario As String, Nombre As String, Correo As String,
- pPermiso1 As Boolean, pPermiso2 As Boolean, pPermiso3 As Boolean, pPermiso4 As Boolean, pPermiso5 As Boolean,
- pPermiso6 As Boolean, pPermiso7 As Boolean, pPermiso8 As Boolean, pPermiso9 As Boolean, pPermiso10 As Boolean,
- Activo As Boolean, pContrasenia As String, pCveCliente As Integer, pCveProveedor As Integer, CveUsuarioPortal As Integer) As Boolean
- Dim Retorno As Boolean = False
-
- DataAdapter("PA_Sis_UsuariosPortalUpdate")
- With SqlAdapter.SelectCommand.Parameters
- .Add("@pUsuario", SqlDbType.VarChar).Value = Usuario
- .Add("@pNombre", SqlDbType.VarChar).Value = Nombre
- .Add("@pCorreo", SqlDbType.VarChar).Value = Correo
- .Add("@pPermiso1", SqlDbType.Bit).Value = If(pPermiso1, 1, 0)
- .Add("@pPermiso2", SqlDbType.Bit).Value = If(pPermiso2, 1, 0)
- .Add("@pPermiso3", SqlDbType.Bit).Value = If(pPermiso3, 1, 0)
- .Add("@pPermiso4", SqlDbType.Bit).Value = If(pPermiso4, 1, 0)
- .Add("@pPermiso5", SqlDbType.Bit).Value = If(pPermiso5, 1, 0)
- .Add("@pPermiso6", SqlDbType.Bit).Value = If(pPermiso6, 1, 0)
- .Add("@pPermiso7", SqlDbType.Bit).Value = If(pPermiso7, 1, 0)
- .Add("@pPermiso8", SqlDbType.Bit).Value = If(pPermiso8, 1, 0)
- .Add("@pPermiso9", SqlDbType.Bit).Value = If(pPermiso9, 1, 0)
- .Add("@pPermiso10", SqlDbType.Bit).Value = If(pPermiso10, 1, 0)
- .Add("@pEstatus", SqlDbType.Bit).Value = If(Activo, 1, 0)
- .Add("@pContrasenia", SqlDbType.VarChar).Value = pContrasenia
- .Add("@pCveCliente", SqlDbType.Int).Value = pCveCliente
- .Add("@pCveProveedor", SqlDbType.Int).Value = pCveProveedor
- .Add("@pCveUsuarioPortal", SqlDbType.Int).Value = CveUsuarioPortal
- End With
-
- Try
- SqlAdapter.Fill(Data)
- Retorno = True
- Catch ex As Exception
- OnError("Ocurrió un error al modificar el usuario.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
- End Try
-
- Return Retorno
- End Function
-
- Public Function RemoveUsuarioPortalGPS(CveUsuario As Integer) As Boolean
- Dim Retorno As Boolean = False
-
- DataAdapter("PA_Sis_UsuariosPortalRemove")
- SqlAdapter.SelectCommand.Parameters.Add("@pCveUsuario", SqlDbType.Int).Value = CveUsuario
-
- Try
- SqlAdapter.Fill(Data)
- Retorno = True
- Catch ex As Exception
- OnError("Ocurrió un error al eliminar el usuario.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
- End Try
-
- Return Retorno
- End Function
-
Private Function GeneraMenuGPS(CveUsuario As Integer, dtMenu As DataTable) As Boolean
Dim Retorno As Boolean = False
dtMenu = dtMenu.FiltraParametros("CvePlataforma = 3")
diff --git a/App_Code/ClsVentas.vb b/App_Code/ClsVentas.vb
index 130afb4dd..7d26e4509 100644
--- a/App_Code/ClsVentas.vb
+++ b/App_Code/ClsVentas.vb
@@ -717,6 +717,34 @@ Public Class ClsVentas
Return Retorno
End Function
+ Public Function UpdateDatosMedicosVenta(CveVenta As Integer, CveEmpresa As Integer,
+ CveMedico As Integer,
+ CveProcedimiento As Integer,
+ Paciente As String,
+ Optional Episodio As String = "-1",
+ Optional FolioAdicional As String = "-1",
+ Optional FechaParaSurtir As DateTime = MinFecha) As Boolean
+ Dim Retorno As Boolean = False
+ DataAdapter("PA_Vta_VentasDatosMedicosUpdate")
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CveVenta", SqlDbType.Int).Value = CveVenta
+ .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+ .Add("@CveMedico", SqlDbType.Int).Value = CveMedico
+ .Add("@CveProcedimiento", SqlDbType.Int).Value = CveProcedimiento
+ .Add("@FechaParaSurtir", SqlDbType.DateTime).Value = FechaParaSurtir
+ .Add("@Paciente", SqlDbType.VarChar).Value = Paciente
+ .Add("@Episodio", SqlDbType.VarChar).Value = Episodio
+ .Add("@FolioAdicional", SqlDbType.VarChar).Value = FolioAdicional
+ End With
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch ex As Exception
+ OnError("Ocurrió un error al actualizar los datos médicos de la venta.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
+ End Try
+ Return Retorno
+ End Function
+
Public Function UpdateVentaTC(CveVenta As Integer, CveEmpresa As Integer, TipoCambio As Decimal) As Boolean
Dim Retorno As Boolean = False
@@ -1734,6 +1762,29 @@ Public Class ClsVentas
Return Retorno
End Function
+
+ Public Function GetRepPedidosSTF(CveSubProyecto As Integer, CveVendedor As Integer, CveEmpresa As Integer, Opcion As Integer, FechaInicio As Date, FechaFin As Date) As Boolean
+ Dim Retorno As Boolean = False
+ DataAdapter("PA_Vta_PedidosSTFRep")
+
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+ .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto
+ .Add("@CveVendedor", SqlDbType.Int).Value = CveVendedor
+ .Add("@Opcion", SqlDbType.Int).Value = Opcion
+ .Add("@FechaInicio", SqlDbType.Date).Value = FechaInicio
+ .Add("@FechaFin", SqlDbType.Date).Value = FechaFin
+ End With
+
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch ex As Exception
+ OnError("Ocurrió un error al obtener los datos del reporte.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
+ End Try
+
+ Return Retorno
+ End Function
Public Function GetRepTopCompras(GPO As Integer, CveEmpresa As Integer, TipoCambio As Integer, TipoCambioEspecifico As Decimal, CveUsuarioConsulta As Integer) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Comp_GetTopRepPS")
@@ -3433,25 +3484,25 @@ Public Class ClsVentas
End Function
#End Region
-#Region " CANCELAR PEDIDO "
- Public Function CancelarPedido(CveVenta As Integer, CveEmpresa As Integer) As Boolean
- Dim Retorno As Boolean = False
- DataAdapter("PA_Vta_CancelarPedido")
- With SqlAdapter.SelectCommand.Parameters
- .Add("@CveVenta", SqlDbType.Int).Value = CveVenta
- .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
- End With
+ '#Region " CANCELAR PEDIDO "
+ ' Public Function CancelarPedido(CveVenta As Integer, CveEmpresa As Integer) As Boolean
+ ' Dim Retorno As Boolean = False
+ ' DataAdapter("PA_Vta_CancelarPedido")
+ ' With SqlAdapter.SelectCommand.Parameters
+ ' .Add("@CveVenta", SqlDbType.Int).Value = CveVenta
+ ' .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+ ' End With
- Try
- SqlAdapter.Fill(Data)
- Retorno = True
- Catch ex As Exception
- OnError("Ocurrió un error al cancelar el pedido.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
- End Try
+ ' Try
+ ' SqlAdapter.Fill(Data)
+ ' Retorno = True
+ ' Catch ex As Exception
+ ' OnError("Ocurrió un error al cancelar el pedido.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
+ ' End Try
- Return Retorno
- End Function
-#End Region
+ ' Return Retorno
+ ' End Function
+ '#End Region
#Region "Punto Venta"
Public Function GetVta_ReporteCortes(CveEmpresa As Integer, FechaI As Date, FechaF As Date, Optional CveSubProyecto As Integer = -1, Optional CveCorte As Integer = -1) As Boolean
@@ -3485,7 +3536,7 @@ Public Class ClsVentas
'''
'''
'''
- Public Function GetVta_ReporteCortesDetalle(CveCorte As Integer, CveSubProyecto As Integer, CveEmpresa As Integer, Opcion As Integer, Optional ConsultaIVA As Boolean = False) As Boolean
+ Public Function GetVta_ReporteCortesDetalle(CveCorte As Integer, CveSubProyecto As Integer, CveEmpresa As Integer, Opcion As Integer, Optional ConsultaIVA As Boolean = False, Optional FechaConsulta As Date = ModExtensiones.MaxFecha) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Vta_ReporteCortesDetalleGet")
@@ -3496,6 +3547,7 @@ Public Class ClsVentas
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@Opcion", SqlDbType.Int).Value = Opcion
.Add("@ConsultaIVA", SqlDbType.Bit).Value = ConsultaIVA
+ .Add("@FechaConsulta", SqlDbType.Date).Value = FechaConsulta
End With
Try
@@ -3576,13 +3628,15 @@ Public Class ClsVentas
' Return Retorno
'End Function
- Public Function GetVta_MovimientosCajas(CveCorte As Integer, TipoMovimiento As Integer) As Boolean
+ Public Function GetVta_MovimientosCajas(CveCorte As Integer, TipoMovimiento As Integer, Optional CveSubProyecto As Integer = -1, Optional FechaConsulta As Date = ModExtensiones.MaxFecha) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Vta_MovimientosCajasGet")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveCorte", SqlDbType.Int).Value = CveCorte
.Add("@TipoMovimiento", SqlDbType.Int).Value = TipoMovimiento
+ .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto
+ .Add("@FechaConsulta", SqlDbType.Date).Value = FechaConsulta
End With
Try
@@ -3595,13 +3649,15 @@ Public Class ClsVentas
Return Retorno
End Function
- Public Function GetVta_MovimientosCajasReporte(CveCorte As Integer, TipoMovimiento As Integer) As Boolean
+ Public Function GetVta_MovimientosCajasReporte(CveCorte As Integer, TipoMovimiento As Integer, Optional CveSubProyecto As Integer = -1, Optional FechaConsulta As Date = ModExtensiones.MaxFecha) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Vta_MovimientosCajasRepGet")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveCorte", SqlDbType.Int).Value = CveCorte
.Add("@TipoMovimiento", SqlDbType.Int).Value = TipoMovimiento
+ .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto
+ .Add("@FechaConsulta", SqlDbType.Date).Value = FechaConsulta
End With
Try
@@ -3637,7 +3693,7 @@ Public Class ClsVentas
' Return Retorno
'End Function
- Public Function GetCortesDetalleDepositosCaja(CveCorte As Integer, CveSubProyecto As Integer, CveEmpresa As Integer) As Boolean
+ Public Function GetCortesDetalleDepositosCaja(CveCorte As Integer, CveSubProyecto As Integer, CveEmpresa As Integer, Optional FechaConsulta As Date = ModExtensiones.MaxFecha) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Vta_CortesDetalleDepositosCajaGet")
@@ -3646,6 +3702,7 @@ Public Class ClsVentas
.Add("@CveCorte", SqlDbType.Int).Value = CveCorte
.Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+ .Add("@FechaConsulta", SqlDbType.Date).Value = FechaConsulta
End With
Try
@@ -3669,7 +3726,6 @@ Public Class ClsVentas
If CveVentas IsNot Nothing Then
Dim ObjVentas As New ClsVentas
Dim ObjCancelacion As New Timbrado
- Dim ObjUsuario As New ClsSisUsuarios
Dim Usuario As Usuario = Nothing
Dim ObjEmpresa As New ClsSisEmpresas()
@@ -3679,7 +3735,6 @@ Public Class ClsVentas
Dim RFCReceptor As String = "-1"
Dim Nombre As String = "-1"
Dim DbRowVenta As DataRow
- Dim CveUsuario As Integer = -1
Dim pCveEmpresa As Integer = -1
Dim Contraseña As String = "-1"
@@ -3691,32 +3746,30 @@ Public Class ClsVentas
CveEstatus = DbRowVenta("CveEstatusFactura").ToString.ToEntero
Total = DbRowVenta("Total").ToString.ToDecimal
RFCReceptor = DbRowVenta("ClienteRFC").ToString
- CveUsuario = DbRowVenta("CveUsuario").ToString.ToEntero
+ 'CveUsuario = DbRowVenta("CveUsuario").ToString.ToEntero
pCveEmpresa = DbRowVenta("CveEmpresa").ToString.ToEntero
Nombre = DbRowVenta("Nombre").ToString
- If ObjUsuario.GetUsuarios(CveUsuario, -1, -1) Then
- Contraseña = ObjUsuario.DtResultados.Rows(0)("Contraseña").ToString
- Else
- CveVentasError.Add(PCveVenta.ToEntero)
- Continue For
- End If
- Usuario = ObjUsuario.ValidaUsuario(Nombre, Contraseña)
+ 'If ObjUsuario.GetUsuarios(CveUsuario, -1, -1) Then
+ ' Contraseña = ObjUsuario.DtResultados.Rows(0)("Contraseña").ToString
+ 'Else
+ ' CveVentasError.Add(PCveVenta.ToEntero)
+ ' Continue For
+ 'End If
+ 'Usuario = ObjUsuario.ValidaUsuario(Nombre, Contraseña)
+
+ If Not ObjEmpresa.GetEmpresas(pCveEmpresa, "-1", "-1", "-1", "-1") Then
- If ObjEmpresa.GetEmpresas(pCveEmpresa, "-1", "-1", "-1", "-1") Then
- Usuario.Empresa = ObjEmpresa.Empresa
- Usuario.CveEmpresa = ObjEmpresa.Empresa.CveEmpresa
- Else
CveVentasError.Add(PCveVenta.ToEntero)
Continue For
End If
'SOLO SI ESTA CANCELADA ANTE SAT EN SIG SE INTENTARA CANCELAR DE NUEVO CONTRA EL SAT
If CveEstatus = 5 Then
- Dim Resp As RespuestaCancelacionSAT = ObjCancelacion.CFDICancelar(Usuario.Empresa, FolioFiscal, Total, RFCReceptor, Usuario.Empresa.RFC)
+ Dim Resp As RespuestaCancelacionSAT = ObjCancelacion.CFDICancelar(ObjEmpresa.Empresa, FolioFiscal, Total, RFCReceptor, ObjEmpresa.Empresa.RFC)
If Resp.Verificado Then
- If Not ObjVentas.UpdateEstatusFactura(5, FolioFiscal, ObjCancelacion.CancelacionAcuse, ClsPaginas.NowADS(), PCveVenta.ToEntero, -1, CvePAC:=Usuario.Empresa.CvePAC) Then
+ If Not ObjVentas.UpdateEstatusFactura(5, FolioFiscal, ObjCancelacion.CancelacionAcuse, ClsPaginas.NowADS(), PCveVenta.ToEntero, -1, CvePAC:=ObjEmpresa.Empresa.CvePAC) Then
CveVentasError.Add(PCveVenta.ToEntero)
End If
Else
@@ -3729,7 +3782,6 @@ Public Class ClsVentas
Next
ObjVentas.Dispose()
- ObjUsuario.Dispose()
ObjEmpresa.Dispose()
Else
diff --git a/App_Code/Modelos.vb b/App_Code/Modelos.vb
index 3634904b3..998390c5c 100644
--- a/App_Code/Modelos.vb
+++ b/App_Code/Modelos.vb
@@ -6489,14 +6489,16 @@ Namespace Modelos
For Each RowDevolucion As DataRow In DtDevMovs.Rows
CveAlmacen = RowDevolucion("CveAlmacen").ToString().ToEntero()
+ Dim tdtt As DataTable = DtMovRemision.FiltraParametros($"CveMovimiento={RowDevolucion("CveMovimiento")} AND CvePS > 0 AND SaldoAlmacen <> 0")
- If Not CancelarMovimientosRemision(CveVenta, CveAlmacen, CveAlmacenGeneral, DtMovRemision.FiltraParametros($"CveMovimiento={RowDevolucion("CveMovimiento")} AND CvePS > 0"), ObjVentas, ObjInventario, ObjConta) Then
- ErrorCancelar = True
- MensajeError = "Ocurrió un error al cancelar los movimientos de la remisión."
- Exit For
+ If tdtt IsNot Nothing AndAlso tdtt.Rows.Count > 0 Then
+ If Not CancelarMovimientosRemision(CveVenta, CveAlmacen, CveAlmacenGeneral, tdtt, ObjVentas, ObjInventario, ObjConta) Then
+ ErrorCancelar = True
+ MensajeError = "Ocurrió un error al cancelar los movimientos de la remisión."
+ Exit For
+ End If
End If
Next
-
End If
'CANCELAR MOVIMIENTOS DE USADOS SI TIENE
@@ -6513,7 +6515,6 @@ Namespace Modelos
ErrorCancelar = True
End If
End If
-
End If
'VERIFICAR MOVIMIENTOS DE APARTADOS
@@ -6531,7 +6532,6 @@ Namespace Modelos
ErrorCancelar = True
End If
End If
-
End If
End If
diff --git a/App_Code/Timbrado.vb b/App_Code/Timbrado.vb
index 54179530f..087ed3309 100644
--- a/App_Code/Timbrado.vb
+++ b/App_Code/Timbrado.vb
@@ -2640,10 +2640,10 @@ concep.DescripcionesEspecificas.NumeroSerie)
For Each docp As CFDIComplementoPago In ObjCFDITimbre.ComplementoPagos20.ComplementoPagos
- Dim MonDiferente As Integer = (From c In docp.DocumentosRelacionados
- Where c.MonedaDR <> docp.MonedaP AndAlso docp.MonedaP = "USD"
- Select c.MonedaDR).Count()
- If MonDiferente > 0 Then cfdi.ContieneVariasMonedas = True 'consideración adicional Rev. B
+ 'Dim MonDiferente As Integer = (From c In docp.DocumentosRelacionados
+ ' Where c.MonedaDR <> docp.MonedaP AndAlso docp.MonedaP = "USD"
+ ' Select Case c.MonedaDR).Count()
+ 'If MonDiferente > 0 Then cfdi.ContieneVariasMonedas = True 'consideración adicional Rev. B
cfdi.Pago20(docp.FechaPago.ToString("yyyy-MM-ddTHH:mm:ss"),
docp.FormaDePagoP,
diff --git a/App_Code/WS/WSUSer.vb b/App_Code/WS/WSUSer.vb
index 27213e81a..46ba09be3 100644
--- a/App_Code/WS/WSUSer.vb
+++ b/App_Code/WS/WSUSer.vb
@@ -43,7 +43,7 @@ Namespace SIG
Dim Retorno As List(Of String) = Nothing
If continuar Then
- Using objuser As New ClsSisUsuarios
+ Using objuser As New ClsSisUsuarioAutenticacion
Dim user As Usuario = objuser.ValidaUsuario(username, Extensiones.ModExtensiones.Encripta(password), CveEmpresa:=CveEmpresastr.ToEntero())
Dim OjEmpresa As Empresa = Nothing
diff --git a/App_Code/WsSIGWeb.vb b/App_Code/WsSIGWeb.vb
index 0f44f3b13..bdcb4a6a2 100644
--- a/App_Code/WsSIGWeb.vb
+++ b/App_Code/WsSIGWeb.vb
@@ -23,81 +23,81 @@ Public Class WsSIGWeb
End Function
-#Region " CANCELAR VENTAS ANTE EL SAT - CANCELADAS EN SISTEMA "
-
- Public Function CancelarVentasSAT(PCveVenta As Integer) As Boolean
- Dim Retorno = False
- Dim MensajeError = ""
+ '#Region " CANCELAR VENTAS ANTE EL SAT - CANCELADAS EN SISTEMA "
+ '
+ ' Public Function CancelarVentasSAT(PCveVenta As Integer) As Boolean
+ ' Dim Retorno = False
+ ' Dim MensajeError = ""
- If PCveVenta > 0 Then
- Dim ObjVentas As New ClsVentas
- Dim ObjCancelacion As New Timbrado
- Dim ObjUsuario As New ClsSisUsuarios
- Dim Usuario As Usuario = Nothing
- Dim ObjEmpresa As New ClsSisEmpresas()
+ ' If PCveVenta > 0 Then
+ ' Dim ObjVentas As New ClsVentas
+ ' Dim ObjCancelacion As New Timbrado
+ ' Dim ObjUsuario As New ClsSisUsuarios
+ ' Dim Usuario As Usuario = Nothing
+ ' Dim ObjEmpresa As New ClsSisEmpresas()
- Dim FolioFiscal = "-1"
- Dim CveEstatus = -1
- Dim Total = 0.0D
- Dim RFCReceptor = "-1"
- Dim Nombre = "-1"
- Dim DbRowVenta As DataRow
- Dim CveUsuario = -1
- Dim pCveEmpresa = -1
- Dim Contraseña = "-1"
+ ' Dim FolioFiscal = "-1"
+ ' Dim CveEstatus = -1
+ ' Dim Total = 0.0D
+ ' Dim RFCReceptor = "-1"
+ ' Dim Nombre = "-1"
+ ' Dim DbRowVenta As DataRow
+ ' Dim CveUsuario = -1
+ ' Dim pCveEmpresa = -1
+ ' Dim Contraseña = "-1"
- If ObjVentas.GetVenta(PCveVenta.ToEntero, -1) Then
- DbRowVenta = ObjVentas.DtResultados.Rows(0)
+ ' If ObjVentas.GetVenta(PCveVenta.ToEntero, -1) Then
+ ' DbRowVenta = ObjVentas.DtResultados.Rows(0)
- FolioFiscal = DbRowVenta("FolioFiscal").ToString
- CveEstatus = DbRowVenta("CveEstatusFactura").ToString.ToEntero
- Total = DbRowVenta("Total").ToString.ToDecimal
- RFCReceptor = DbRowVenta("ClienteRFC").ToString
- CveUsuario = DbRowVenta("CveUsuario").ToString.ToEntero
- pCveEmpresa = DbRowVenta("CveEmpresa").ToString.ToEntero
- Nombre = DbRowVenta("Nombre").ToString
+ ' FolioFiscal = DbRowVenta("FolioFiscal").ToString
+ ' CveEstatus = DbRowVenta("CveEstatusFactura").ToString.ToEntero
+ ' Total = DbRowVenta("Total").ToString.ToDecimal
+ ' RFCReceptor = DbRowVenta("ClienteRFC").ToString
+ ' CveUsuario = DbRowVenta("CveUsuario").ToString.ToEntero
+ ' pCveEmpresa = DbRowVenta("CveEmpresa").ToString.ToEntero
+ ' Nombre = DbRowVenta("Nombre").ToString
- If ObjUsuario.GetUsuarios(CveUsuario, -1, -1) Then
- Contraseña = ObjUsuario.DtResultados.Rows(0)("Contraseña").ToString
- Usuario = ObjUsuario.ValidaUsuario(Nombre, Contraseña)
+ ' If ObjUsuario.GetUsuarios(CveUsuario, -1, -1) Then
+ ' Contraseña = ObjUsuario.DtResultados.Rows(0)("Contraseña").ToString
+ ' Usuario = ObjUsuario.ValidaUsuario(Nombre, Contraseña)
- If ObjEmpresa.GetEmpresas(pCveEmpresa, "-1", "-1", "-1", "-1") Then
- Usuario.Empresa = ObjEmpresa.Empresa
- Usuario.CveEmpresa = ObjEmpresa.Empresa.CveEmpresa
+ ' If ObjEmpresa.GetEmpresas(pCveEmpresa, "-1", "-1", "-1", "-1") Then
+ ' Usuario.Empresa = ObjEmpresa.Empresa
+ ' Usuario.CveEmpresa = ObjEmpresa.Empresa.CveEmpresa
- 'SOLO SI ESTA CANCELADA ANTE SAT EN SIG SE INTENTARA CANCELAR DE NUEVO CONTRA EL SAT
- If CveEstatus = 5 Then
- Dim Resp As RespuestaCancelacionSAT = ObjCancelacion.CFDICancelar(Usuario.Empresa, FolioFiscal, Total, RFCReceptor, Usuario.Empresa.RFC)
- If Resp.Verificado Then
- If ObjVentas.UpdateEstatusFactura(5, FolioFiscal, ObjCancelacion.CancelacionAcuse, Resp.CancelacionFecha, PCveVenta.ToEntero, -1, CvePAC:=Usuario.Empresa.CvePAC) Then
- Retorno = True
- Else
- MensajeError = $"Ocurrió un error al actualizar la cancelación la CveVenta {PCveVenta}"
- End If
- Else
- MensajeError = $"Ocurrió un error al Cancelar ante SAT la CveVenta {PCveVenta}"
- End If
- Else
- MensajeError = $"Ocurrió un error al verificar el estatus de la CveVenta {PCveVenta}"
- End If
- Else
- MensajeError = $"Ocurrió un error al cargar la empresa de la CveVenta {PCveVenta}"
- End If
- Else
- MensajeError = $"Ocurrió un error al cargar el usuario de la CveVenta {PCveVenta}"
- End If
- Else
- MensajeError = $"Ocurrió un error al cargar la CveVenta {PCveVenta}"
- End If
+ ' 'SOLO SI ESTA CANCELADA ANTE SAT EN SIG SE INTENTARA CANCELAR DE NUEVO CONTRA EL SAT
+ ' If CveEstatus = 5 Then
+ ' Dim Resp As RespuestaCancelacionSAT = ObjCancelacion.CFDICancelar(Usuario.Empresa, FolioFiscal, Total, RFCReceptor, Usuario.Empresa.RFC)
+ ' If Resp.Verificado Then
+ ' If ObjVentas.UpdateEstatusFactura(5, FolioFiscal, ObjCancelacion.CancelacionAcuse, Resp.CancelacionFecha, PCveVenta.ToEntero, -1, CvePAC:=Usuario.Empresa.CvePAC) Then
+ ' Retorno = True
+ ' Else
+ ' MensajeError = $"Ocurrió un error al actualizar la cancelación la CveVenta {PCveVenta}"
+ ' End If
+ ' Else
+ ' MensajeError = $"Ocurrió un error al Cancelar ante SAT la CveVenta {PCveVenta}"
+ ' End If
+ ' Else
+ ' MensajeError = $"Ocurrió un error al verificar el estatus de la CveVenta {PCveVenta}"
+ ' End If
+ ' Else
+ ' MensajeError = $"Ocurrió un error al cargar la empresa de la CveVenta {PCveVenta}"
+ ' End If
+ ' Else
+ ' MensajeError = $"Ocurrió un error al cargar el usuario de la CveVenta {PCveVenta}"
+ ' End If
+ ' Else
+ ' MensajeError = $"Ocurrió un error al cargar la CveVenta {PCveVenta}"
+ ' End If
- ObjVentas.Dispose()
- ObjUsuario.Dispose()
- ObjEmpresa.Dispose()
- End If
+ ' ObjVentas.Dispose()
+ ' ObjUsuario.Dispose()
+ ' ObjEmpresa.Dispose()
+ ' End If
- Return Retorno
- End Function
-#End Region
+ ' Return Retorno
+ ' End Function
+ '#End Region
End Class
\ No newline at end of file
diff --git a/App_Code/wsSIG.vb b/App_Code/wsSIG.vb
index d4d56b6d9..4772d7b8b 100644
--- a/App_Code/wsSIG.vb
+++ b/App_Code/wsSIG.vb
@@ -40,7 +40,7 @@ Public Class wsSIG
If Fecha > ClsPaginas.NowADS().AddSeconds(TiempoValido) Then
Dim ttDato As Usuario
- Dim tUsuario As New ClsSisUsuarios
+ Dim tUsuario As New ClsSisUsuarioAutenticacion
ttDato = tUsuario.ValidaUsuario(Usuario, Encripta(Contrasenia))
@@ -91,7 +91,7 @@ Public Class wsSIG
If Fecha > ClsPaginas.NowADS().AddSeconds(TiempoValido) Then
Dim ttDato As Usuario = Nothing
- Using tUsuario As New ClsSisUsuarios()
+ Using tUsuario As New ClsSisUsuarioAutenticacion()
ttDato = tUsuario.ValidaUsuario(Usuario, Encripta(Contrasenia), CveEmpresa:=CveEmpresa)
End Using
If validatesubproyecto Then
@@ -691,7 +691,7 @@ Public Class wsSIG
Dim ttDato As Usuario
- Dim tUsuario As New ClsSisUsuarios
+ Dim tUsuario As New ClsSisUsuarioAutenticacion
ttDato = tUsuario.ValidaUsuario(objuser.Usuario, Encripta(objuser.Contrasenia))
diff --git a/Ashx/CargaEventos.ashx b/Ashx/CargaEventos.ashx
index 9777b70b6..ed78666f4 100644
--- a/Ashx/CargaEventos.ashx
+++ b/Ashx/CargaEventos.ashx
@@ -16,6 +16,7 @@ Public Class CargaEventos : Implements IHttpHandler, IRequiresSessionState
Dim CveEmpresa As Integer = -1
Dim FI As Date
Dim FF As Date
+ If UsuarioActual(context) Is Nothing Then Exit Sub
If context.Request("METODO") IsNot Nothing Then
@@ -41,10 +42,64 @@ Public Class CargaEventos : Implements IHttpHandler, IRequiresSessionState
context.Response.Write(sJSON)
End If
-
End If
+ Exit Select
+ Case "servicio_medicos"
+ If context.Request("U").ToEntero > 0 Then
+
+ CveUsuario = context.Request("U").ToEntero
+ CveEmpresa = context.Request("E").ToEntero
+
+ Dim CveSubProyecto As Integer = If(context.Request("CveSubProyecto") IsNot Nothing, context.Request("CveSubProyecto").ToEntero, -1)
+ Dim CveUsuarioPara As Integer = If(context.Request("CveUsuarioPara") IsNot Nothing, context.Request("CveUsuarioPara").ToEntero, -1)
+ Dim FechaI As Date = context.Request("start").ToDate
+ Dim FechaF As Date = context.Request("end").ToDate
+ Dim Cvecliente As Integer = -1 'DdlClienteSucursalCliente()
+ Dim CveClienteSucursal As Integer = -1 ' DdlClienteSucursalSucursal()
+ Dim CveVendedor As Integer = -1
+ Dim CveEstatus As Integer = -1
+ Dim ObjOS As New ClsOS
+
+ If ObjOS.GetRepOrdenesServicioMedicasRep(FechaI, FechaF, Cvecliente, CveVendedor, CveEstatus, CveUsuarioPara, -1, CveEmpresa,
+ CveMedico:=-1, CveProcedimiento:=-1, CveEspecialidad:=-1,
+ CveClienteSucursal:=CveClienteSucursal, CveUsuario:=CveUsuario) Then
+
+ If ObjOS.DtResultados IsNot Nothing AndAlso ObjOS.DtResultados.Rows.Count > 0 Then
+ events = New List(Of CalendarEvent)
+ For Each dr As DataRow In ObjOS.DtResultados.Rows
+ Dim cevent As CalendarEvent = New CalendarEvent()
+ cevent.id = dr("CveOS").ToString.ToEntero
+ cevent.title = $" {dr("Tecnico")}-{dr("NombreCliente")}"
+ cevent.description = $" {dr("Tecnico")} -{dr("NombreCliente")} OS# {dr("Folio")}"
+ cevent.start = String.Format("{0:s}", dr("FechaCita").ToString.ToDateTime)
+ cevent.end = String.Format("{0:s}", dr("FechaCita").ToString.ToDateTime.AddHours(1))
+ cevent.CveOS = dr("CveOS").ToString.ToEntero
+ cevent.allDay = False
+ If dr("EstatusOSGral").ToString.Contiene("Levantamiento") Then
+ cevent.backgroundColor = "#006699"
+ ElseIf dr("EstatusOSGral").ToString.Contiene("Surtido") Then
+ cevent.backgroundColor = "#002699"
+ ElseIf dr("EstatusOSGral").ToString.Contiene("Asignado") Then
+ cevent.backgroundColor = "#025716"
+ ElseIf dr("EstatusOSGral").ToString.Contiene("Finalizado") Then
+ cevent.backgroundColor = "#730505"
+ ElseIf dr("EstatusOSGral").ToString.Contiene("Facturado") Then
+ cevent.backgroundColor = "#006699"
+ ElseIf dr("EstatusOSGral").ToString.Contiene("Cobrado") Then
+ cevent.backgroundColor = "#007699"
+ ElseIf dr("EstatusOSGral").ToString.Contiene("Cancelado") Then
+ End If
+ events.Add(cevent)
+ Next
+
+ context.Response.Write(Newtonsoft.Json.JsonConvert.SerializeObject(events))
+ End If
+ End If
+ ObjOS.Dispose()
+
+ End If
Exit Select
Case "contrato_transportes"
@@ -67,17 +122,12 @@ Public Class CargaEventos : Implements IHttpHandler, IRequiresSessionState
context.Response.Write(sJSON)
End If
-
End If
-
-
Exit Select
Case Else
Exit Select
End Select
-
-
Else
If context.Request("U").ToEntero > 0 Then
CveUsuario = context.Request("U").ToEntero
@@ -105,23 +155,19 @@ Public Class CargaEventos : Implements IHttpHandler, IRequiresSessionState
Private Function GetEventos(CveUsuario As Integer, CveEmpresa As Integer, pFI As Date, pFF As Date, Optional CveOS As Integer = -1, Optional CveUsuarioPara As Integer = -1, Optional CveSubProyecto As Integer = -1, Optional context As HttpContext = Nothing) As Boolean
- Dim ObjEventos As New ClsOIEventos
+
Dim ErrorEventos As Boolean = False
Dim CveEmpresaCRM As Integer = 0
-
Dim DT_SubProyectos As New System.Data.DataTable
-
DT_SubProyectos.Columns.Add("CveSubProyecto", GetType(Integer))
DT_SubProyectos.Columns.Add("backgroundColor")
-
Dim DT_EstatusOS As New DataTable
DT_EstatusOS.Columns.Add("", GetType(Integer))
-
+ Dim ObjEventos As New ClsOIEventos
'son 26
Dim Colores() As String = {"#006699", "#0099cc", "#0066cc", "#0033cc", "#0000ff", "#3333ff", "#3333ff", "#6600ff", "#9933ff", "#cc00ff", "#cc00cc", "#cc0099", "#cc3399", "#cc6699", "#cc0066", "#009933", "#00cc00", "#00cc66", "#009999", "#669900", "#99cc00", "#cccc00", "#cc9900", "#ff9900", "#006666", "#669999"}
-
If CveOS = -2 Then
Dim objSub As New ClsSubProyectos
@@ -135,8 +181,6 @@ Public Class CargaEventos : Implements IHttpHandler, IRequiresSessionState
Dim ColorIndex As Integer = 0
-
-
If DtTempSubproyectos.Rows.Count > 0 Then
For Each drow As DataRow In DtTempSubproyectos.Rows
@@ -164,9 +208,6 @@ Public Class CargaEventos : Implements IHttpHandler, IRequiresSessionState
End If
End If
-
-
-
If ObjEventos.GetEventos(-1, -1, -1, "-1", "-1", -1, CveUsuario, CveUsuarioPara, -1, -1, -1, "-1", -1, -1, -1, -1, CveOS, -1, -1, -1, -1, -1, CveUsuario, CveUsuario, CveUsuario, CveEmpresa, pFI, pFF, CveSubProyecto:=CveSubProyecto, EsCoordinador:=EsCoordinador) Then
If ObjEventos.DtResultados.Rows.Count > 0 Then
@@ -447,8 +488,6 @@ Public Class CargaEventos : Implements IHttpHandler, IRequiresSessionState
DT_SubProyectos.Columns.Add("backgroundColor")
DT_EstatusOS.Columns.Add("", GetType(Integer))
-
-
If ObjContratos.GetContratos(-1, usuarioActual_.CveEmpresa, TipoContrato:=34) Then
If ObjContratos.DtResultados.Rows.Count > 0 Then
diff --git a/Ashx/E119.ashx b/Ashx/E119.ashx
index 9ec4f64ad..4b6dd9817 100644
--- a/Ashx/E119.ashx
+++ b/Ashx/E119.ashx
@@ -53,38 +53,36 @@ Public Class E119 : 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 ObjUsuarios As New ClsSisUsuarios(NombreCadena:=NombreCadena)
- If ObjUsuarios.GetUsuarios(CveUsuario) Then
- If ObjUsuarios.DtResultados.Rows.Count > 0 Then
- Dim Usuario As String = ObjUsuarios.DtResultados.Rows(0)("Usuario").ToString()
- Dim Contrasenia As String = ObjUsuarios.DtResultados.Rows(0)("Contraseña").ToString()
- UsuarioActual = ObjUsuarios.ValidaUsuario(Usuario, Contrasenia, CveEmpresa:=CveEmpresa, GenerarMenu:=False)
- UsuarioActual.CveEmpresa = CveEmpresa
- HttpContext.Current.Session("UsuarioSIG") = UsuarioActual
- CreaObjetoEmpresa(UsuarioActual)
- End If
+ 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
- Private Sub CreaObjetoEmpresa(ByRef UsuarioActual As Usuario)
- Dim ObjEmpresa As New ClsSisEmpresas()
- If ObjEmpresa.GetEmpresas(UsuarioActual.CveEmpresa, "-1", "-1", "-1", "-1") Then
- If ObjEmpresa.GetEmpresasFuncionalidades(UsuarioActual.CveEmpresa) Then
- Dim dttmp As Data.DataTable = ObjEmpresa.DtResultados
- Dim EmpresasFuncionalidades As New HybridDictionary
- For Each Row As Data.DataRow In dttmp.Rows
- EmpresasFuncionalidades.Add(Convert.ToInt32(Row("CveFuncionalidad")), Row("Valor").ToString)
- Next
- ObjEmpresa.Empresa.SetFuncionalidades(EmpresasFuncionalidades)
- End If
+ 'Private Sub CreaObjetoEmpresa(ByRef UsuarioActual As Usuario)
+ ' Dim ObjEmpresa As New ClsSisEmpresas()
+ ' If ObjEmpresa.GetEmpresas(UsuarioActual.CveEmpresa, "-1", "-1", "-1", "-1") Then
+ ' If ObjEmpresa.GetEmpresasFuncionalidades(UsuarioActual.CveEmpresa) Then
+ ' Dim dttmp As Data.DataTable = ObjEmpresa.DtResultados
- UsuarioActual.Empresa = ObjEmpresa.Empresa
+ ' Dim EmpresasFuncionalidades As New HybridDictionary
+ ' For Each Row As Data.DataRow In dttmp.Rows
+ ' EmpresasFuncionalidades.Add(Convert.ToInt32(Row("CveFuncionalidad")), Row("Valor").ToString)
+ ' Next
+ ' ObjEmpresa.Empresa.SetFuncionalidades(EmpresasFuncionalidades)
+ ' End If
- End If
- ObjEmpresa.Dispose()
- End Sub
+ ' UsuarioActual.Empresa = ObjEmpresa.Empresa
+
+ ' End If
+ ' ObjEmpresa.Dispose()
+ 'End Sub
#End Region
Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest
diff --git a/Ashx/E141.ashx b/Ashx/E141.ashx
index bd34dbf6f..cee2a6026 100644
--- a/Ashx/E141.ashx
+++ b/Ashx/E141.ashx
@@ -62,38 +62,36 @@ 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 ObjUsuarios As New ClsSisUsuarios
- If ObjUsuarios.GetUsuarios(CveUsuario) Then
- If ObjUsuarios.DtResultados.Rows.Count > 0 Then
- Dim Usuario = ObjUsuarios.DtResultados.Rows(0)("Usuario").ToString()
- Dim Contrasenia = ObjUsuarios.DtResultados.Rows(0)("Contraseña").ToString()
- UsuarioActual = ObjUsuarios.ValidaUsuario(Usuario, Contrasenia, CveEmpresa:=CveEmpresa, GenerarMenu:=False)
- UsuarioActual.CveEmpresa = CveEmpresa
- HttpContext.Current.Session("UsuarioSIG") = UsuarioActual
- CreaObjetoEmpresa(UsuarioActual)
- End If
+ Dim NombreCadena As String = ClsPaginas.GlobalNombreCadenaConexion(141)
+ Dim ObjUsuarios As New ClsSisUsuarioAutenticacion(NombreCadena:=NombreCadena)
+ UsuarioActual = ObjUsuarios.GetUsuarioDetalle(100)
+ If UsuarioActual IsNot Nothing Then
+ HttpContext.Current.Session("UsuarioSIG") = UsuarioActual
+ 'CreaObjetoEmpresa(UsuarioActual)
End If
ObjUsuarios.Dispose()
+
Return UsuarioActual
End Function
- Private Sub CreaObjetoEmpresa(ByRef UsuarioActual As Usuario)
- Dim ObjEmpresa As New ClsSisEmpresas()
- If ObjEmpresa.GetEmpresas(UsuarioActual.CveEmpresa, "-1", "-1", "-1", "-1") Then
- If ObjEmpresa.GetEmpresasFuncionalidades(UsuarioActual.CveEmpresa) Then
- Dim dttmp As Data.DataTable = ObjEmpresa.DtResultados
+ 'Private Sub CreaObjetoEmpresa(ByRef UsuarioActual As Usuario)
- Dim EmpresasFuncionalidades As New HybridDictionary
- For Each Row As Data.DataRow In dttmp.Rows
- EmpresasFuncionalidades.Add(Convert.ToInt32(Row("CveFuncionalidad")), Row("Valor").ToString)
- Next
- ObjEmpresa.Empresa.SetFuncionalidades(EmpresasFuncionalidades)
- End If
+ ' Dim ObjEmpresa As New ClsSisEmpresas()
+ ' If ObjEmpresa.GetEmpresas(UsuarioActual.CveEmpresa, "-1", "-1", "-1", "-1") Then
+ ' If ObjEmpresa.GetEmpresasFuncionalidades(UsuarioActual.CveEmpresa) Then
+ ' Dim dttmp As Data.DataTable = ObjEmpresa.DtResultados
- UsuarioActual.Empresa = ObjEmpresa.Empresa
- End If
- ObjEmpresa.Dispose()
- End Sub
+ ' Dim EmpresasFuncionalidades As New HybridDictionary
+ ' For Each Row As Data.DataRow In dttmp.Rows
+ ' EmpresasFuncionalidades.Add(Convert.ToInt32(Row("CveFuncionalidad")), Row("Valor").ToString)
+ ' Next
+ ' ObjEmpresa.Empresa.SetFuncionalidades(EmpresasFuncionalidades)
+ ' End If
+
+ ' UsuarioActual.Empresa = ObjEmpresa.Empresa
+ ' End If
+ ' ObjEmpresa.Dispose()
+ 'End Sub
#End Region
Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest
@@ -1672,20 +1670,7 @@ Public Class E141 : Implements IHttpHandler, System.Web.SessionState.IRequiresSe
Return JsonConvert.SerializeObject(respuesta)
End If
-
- Dim UsuarioActual As Usuario = Nothing
- Dim ObjUsuarios As New ClsSisUsuarios
- If ObjUsuarios.GetUsuarios(100) Then
- If ObjUsuarios.DtResultados.Rows.Count > 0 Then
- Dim Usuario As String = ObjUsuarios.DtResultados.Rows(0)("Usuario").ToString()
- Dim Contrasenia As String = ObjUsuarios.DtResultados.Rows(0)("Contraseña").ToString()
- UsuarioActual = ObjUsuarios.ValidaUsuario(Usuario, Contrasenia, CveEmpresa:=CveEmpresa)
- UsuarioActual.CveEmpresa = CveEmpresa
- HttpContext.Current.Session("UsuarioSIG") = UsuarioActual
- CreaObjetoEmpresa(UsuarioActual)
- End If
- End If
- ObjUsuarios.Dispose()
+ Dim Usuario As Usuario = ValidaUsuarioSistema(100, CveEmpresa)
Using ObjPS As New ClsProductosServicios()
If ObjPS.GetExistenciasEmpresa(Codigo, CveEmpresa) Then
diff --git a/Ashx/E48.ashx b/Ashx/E48.ashx
index e5a83564d..a668ebeb0 100644
--- a/Ashx/E48.ashx
+++ b/Ashx/E48.ashx
@@ -400,17 +400,15 @@ Public Class E48 : Implements IHttpHandler, IRequiresSessionState
End Property
Private Function ValidaUsuarioSistema(CveUsuario As Integer, CveEmpresa As Integer) As Usuario
Dim UsuarioActual As Usuario = Nothing
- Dim ObjUsuarios As New ClsSisUsuarios
- If ObjUsuarios.GetUsuarios(CveUsuario) Then
- If ObjUsuarios.DtResultados.Rows.Count > 0 Then
- Dim Usuario As String = ObjUsuarios.DtResultados.Rows(0)("Usuario").ToString()
- Dim Contrasenia As String = ObjUsuarios.DtResultados.Rows(0)("Contraseña").ToString()
- UsuarioActual = ObjUsuarios.ValidaUsuario(Usuario, Contrasenia, CveEmpresa:=CveEmpresa)
- UsuarioActual.CveEmpresa = CveEmpresa
- CreaObjetoEmpresa(UsuarioActual)
- End If
+ Dim NombreCadena As String = ClsPaginas.GlobalNombreCadenaConexion(CveEmpresa)
+ Dim ObjUsuarios As New ClsSisUsuarioAutenticacion(NombreCadena:=NombreCadena)
+ UsuarioActual = ObjUsuarios.GetUsuarioDetalle(100)
+ If UsuarioActual IsNot Nothing Then
+ HttpContext.Current.Session("UsuarioSIG") = UsuarioActual
+ 'CreaObjetoEmpresa(UsuarioActual)
End If
ObjUsuarios.Dispose()
+
Return UsuarioActual
End Function
Private Sub CreaObjetoEmpresa(ByRef UsuarioActual As Usuario)
diff --git a/Ashx/MHRedes.ashx b/Ashx/MHRedes.ashx
index f34ad59d3..c6aa3f29f 100644
--- a/Ashx/MHRedes.ashx
+++ b/Ashx/MHRedes.ashx
@@ -44,7 +44,8 @@ Public Class MobileHandler : Implements IHttpHandler
Private Sub ValidaUsuario()
- Dim ObjUsuario As New ClsSisUsuarios
+ Dim NombreCadena As String = ClsPaginas.GlobalNombreCadenaConexion(41)
+ Dim ObjUsuario As New ClsSisUsuarioAutenticacion(NombreCadena:=NombreCadena)
Dim User As Usuario
Dim IP As String
@@ -58,18 +59,18 @@ Public Class MobileHandler : Implements IHttpHandler
Dim Json As New StringBuilder
- User = ObjUsuario.ValidaUsuario(Contexto.Request("Usuario"), Contexto.Request("Password"))
+ User = ObjUsuario.ValidaUsuario(Contexto.Request("Usuario"), Contexto.Request("Password"), 41)
If User IsNot Nothing Then
Dim Token As String = String.Format("{0}*{1}*{2}", ClsPaginas.NowADS().ToString, IP, User.CveUsuario)
Token = Encripta(Token)
- json.AppendFormat("{{ ""CveUsuario"" : ""{0}"", ""Nombre"" : ""{1}"", ""Token"" : ""{2}"" }} ", User.CveUsuario, User.Nombre, Token)
+ Json.AppendFormat("{{ ""CveUsuario"" : ""{0}"", ""Nombre"" : ""{1}"", ""Token"" : ""{2}"" }} ", User.CveUsuario, User.Nombre, Token)
Else
- json.Append("{ ""CveUsuario"" : ""-1"", ""Nombre"" : ""No valido"" } ")
+ Json.Append("{ ""CveUsuario"" : ""-1"", ""Nombre"" : ""No valido"" } ")
End If
-
- Contexto.Response.Write(json.ToString)
+ ObjUsuario.Dispose()
+ Contexto.Response.Write(Json.ToString)
End Sub
diff --git a/Ashx/SIGFacturacion.ashx b/Ashx/SIGFacturacion.ashx
index 86a5949f7..5e4dedbd0 100644
--- a/Ashx/SIGFacturacion.ashx
+++ b/Ashx/SIGFacturacion.ashx
@@ -222,15 +222,13 @@ Public Class SIGFacturacion : Implements IHttpHandler, IRequiresSessionState
#Region "V A L I D A - D A T O S"
Private Function ValidaUsuarioSistema(CveEmpresa As Integer) As Usuario
Dim UsuarioActual As Usuario = Nothing
- Dim ObjUsuarios As New ClsSisUsuarios
- If ObjUsuarios.GetUsuarios(100) Then
- If ObjUsuarios.DtResultados.Rows.Count > 0 Then
- Dim Usuario = ObjUsuarios.DtResultados.Rows(0)("Usuario").ToString()
- Dim Contrasenia = ObjUsuarios.DtResultados.Rows(0)("Contraseña").ToString()
- UsuarioActual = ObjUsuarios.ValidaUsuario(Usuario, Contrasenia, CveEmpresa:=CveEmpresa)
- UsuarioActual.CveEmpresa = CveEmpresa
- CreaObjetoEmpresa(UsuarioActual)
- End If
+ Dim NombreCadena As String = ClsPaginas.GlobalNombreCadenaConexion(CveEmpresa)
+ Dim ObjUsuarios As New ClsSisUsuarioAutenticacion(NombreCadena:=NombreCadena)
+ UsuarioActual = ObjUsuarios.GetUsuarioDetalle(100)
+ If UsuarioActual IsNot Nothing Then
+ Dim Usuario = ObjUsuarios.DtResultados.Rows(0)("Usuario").ToString()
+ Dim Contrasenia = ObjUsuarios.DtResultados.Rows(0)("Contraseña").ToString()
+ UsuarioActual = ObjUsuarios.ValidaUsuario(Usuario, Contrasenia, CveEmpresa:=CveEmpresa)
End If
ObjUsuarios.Dispose()
Return UsuarioActual
diff --git a/Ashx/SIGFacturacionCiclica.ashx b/Ashx/SIGFacturacionCiclica.ashx
index 1ce3d4f7c..19cd3da04 100644
--- a/Ashx/SIGFacturacionCiclica.ashx
+++ b/Ashx/SIGFacturacionCiclica.ashx
@@ -58,17 +58,15 @@ Public Class SIGFacturacionCiclica : Implements IHttpHandler, IRequiresSessionSt
#Region "V A L I D A - D A T O S"
Private Function ValidaUsuarioSistema(CveEmpresa As Integer) As Usuario
Dim UsuarioActual As Usuario = Nothing
- Dim ObjUsuarios As New ClsSisUsuarios
- If ObjUsuarios.GetUsuarios(100) Then
- If ObjUsuarios.DtResultados.Rows.Count > 0 Then
- Dim Usuario = ObjUsuarios.DtResultados.Rows(0)("Usuario").ToString()
- Dim Contrasenia = ObjUsuarios.DtResultados.Rows(0)("Contraseña").ToString()
- UsuarioActual = ObjUsuarios.ValidaUsuario(Usuario, Contrasenia, CveEmpresa:=CveEmpresa)
- UsuarioActual.CveEmpresa = CveEmpresa
- CreaObjetoEmpresa(UsuarioActual)
- End If
+ Dim NombreCadena As String = ClsPaginas.GlobalNombreCadenaConexion(119)
+ Dim ObjUsuarios As New ClsSisUsuarioAutenticacion(NombreCadena:=NombreCadena)
+ UsuarioActual = ObjUsuarios.GetUsuarioDetalle(100)
+ If UsuarioActual IsNot Nothing Then
+ HttpContext.Current.Session("UsuarioSIG") = UsuarioActual
+ CreaObjetoEmpresa(UsuarioActual)
End If
ObjUsuarios.Dispose()
+
Return UsuarioActual
End Function
Private Sub CreaObjetoEmpresa(ByRef UsuarioActual As Usuario)
diff --git a/Ashx/SIGFreightVerify.ashx b/Ashx/SIGFreightVerify.ashx
index 5f35fc289..e4764b8fa 100644
--- a/Ashx/SIGFreightVerify.ashx
+++ b/Ashx/SIGFreightVerify.ashx
@@ -18,153 +18,152 @@ public class SIGFreightVerify : IHttpHandler, IRequiresSessionState
private Usuario ValidaUsuarioSistema(int CveEmpresa)
{
Usuario UsuarioActual = null;
- ClsSisUsuarios ObjUsuarios = new ClsSisUsuarios();
- if (ObjUsuarios.GetUsuarios(1727))
- {
- if (ObjUsuarios.DtResultados.Rows.Count > 0)
- {
+ string NombreCadena = ClsPaginas.get_GlobalNombreCadenaConexion(141);
+ ClsSisUsuarioAutenticacion ObjUsuarios = new ClsSisUsuarioAutenticacion(NombreCadena: NombreCadena);
+ UsuarioActual = ObjUsuarios.GetUsuarioDetalle(1727);
+ if (UsuarioActual !=null)
+ {
var Usuario = ObjUsuarios.DtResultados.Rows[0]["Usuario"].ToString();
- var Contrasenia = ObjUsuarios.DtResultados.Rows[0]["Contraseña"].ToString();
- UsuarioActual = ObjUsuarios.ValidaUsuario(Usuario, Contrasenia, CveEmpresa: CveEmpresa);
+ var Contrasenia = ObjUsuarios.DtResultados.Rows[0]["Contraseña"].ToString();
+ UsuarioActual = ObjUsuarios.ValidaUsuario(Usuario, Contrasenia, CveEmpresa: CveEmpresa);
UsuarioActual.CveEmpresa = CveEmpresa;
UsuarioActual.CveCliente = 183798;
- CreaObjetoEmpresa(ref UsuarioActual);
+ //CreaObjetoEmpresa(ref UsuarioActual);
CargaZonasHorarias(ref UsuarioActual);
- }
- }
- ObjUsuarios.Dispose();
- return UsuarioActual;
+}
+ObjUsuarios.Dispose();
+return UsuarioActual;
}
private void CreaObjetoEmpresa(ref Usuario UsuarioActual)
+{
+ ClsSisEmpresas ObjEmpresa = new ClsSisEmpresas();
+ if (ObjEmpresa.GetEmpresas(UsuarioActual.CveEmpresa, "-1", "-1", "-1", "-1"))
{
- ClsSisEmpresas ObjEmpresa = new ClsSisEmpresas();
- if (ObjEmpresa.GetEmpresas(UsuarioActual.CveEmpresa, "-1", "-1", "-1", "-1"))
+ if (ObjEmpresa.GetEmpresasFuncionalidades(UsuarioActual.CveEmpresa))
{
- if (ObjEmpresa.GetEmpresasFuncionalidades(UsuarioActual.CveEmpresa))
- {
- System.Data.DataTable dttmp = ObjEmpresa.DtResultados;
+ System.Data.DataTable dttmp = ObjEmpresa.DtResultados;
- var EmpresasFuncionalidades = new HybridDictionary();
- foreach (System.Data.DataRow Row in dttmp.Rows)
- EmpresasFuncionalidades.Add(Convert.ToInt32(Row["CveFuncionalidad"]), Row["Valor"].ToString());
+ var EmpresasFuncionalidades = new HybridDictionary();
+ foreach (System.Data.DataRow Row in dttmp.Rows)
+ EmpresasFuncionalidades.Add(Convert.ToInt32(Row["CveFuncionalidad"]), Row["Valor"].ToString());
- ObjEmpresa.Empresa.SetFuncionalidades(EmpresasFuncionalidades);
- }
-
- UsuarioActual.Empresa = ObjEmpresa.Empresa;
+ ObjEmpresa.Empresa.SetFuncionalidades(EmpresasFuncionalidades);
}
- ObjEmpresa.Dispose();
+
+ UsuarioActual.Empresa = ObjEmpresa.Empresa;
}
- private void CargaZonasHorarias(ref Usuario UsuarioActual)
+ ObjEmpresa.Dispose();
+}
+private void CargaZonasHorarias(ref Usuario UsuarioActual)
+{
+ ClsClientes ObjClientes = new ClsClientes();
+ try
{
- ClsClientes ObjClientes = new ClsClientes();
- try
+ if (ObjClientes.GetClientes(UsuarioActual.CveCliente, "-1", "-1", "-1", "-1", "-1", "-1", -1, -1, Estatus: 1))
{
- if (ObjClientes.GetClientes(UsuarioActual.CveCliente, "-1", "-1", "-1", "-1", "-1", "-1", -1, -1, Estatus: 1))
- {
- if (ObjClientes.DtResultados.Rows.Count == 1)
- UsuarioActual.UTCOffset = ObjClientes.DtResultados.Rows[0]["UTCOffset"].ToString().ToEntero();
- }
- }
- catch (Exception ex)
- {
- ex.ToString().GuardaLog();
- }
- finally
- {
- ObjClientes.Dispose();
+ if (ObjClientes.DtResultados.Rows.Count == 1)
+ UsuarioActual.UTCOffset = ObjClientes.DtResultados.Rows[0]["UTCOffset"].ToString().ToEntero();
}
}
-
- public bool IsReusable => false;
-
- public void ProcessRequest(HttpContext context)
+ catch (Exception ex)
{
- try
- {
- context.Response.ContentType = "text/plain";
- IniciarTransmision(context);
- }
- catch (Exception ex)
- {
- ex.GuardaLog(ex.Message);
- }
+ ex.ToString().GuardaLog();
}
-
- private void IniciarTransmision(HttpContext context)
+ finally
{
- var UsuarioActual = ValidaUsuarioSistema(121);
- DataTable dtShipments = null;
- var FVCARRIERID = "";
- var SCAC = "";
- var UsuarioFV = "";
- var ContraseniaFV = "";
- var ObjGPS = new ClsGPS();
- try
- {
- if (ObjGPS.GetShipments(UsuarioActual.CveCliente, -1))
- {
- dtShipments = ObjGPS.DtResultados.FiltraParametros("TransmitirTexto = 'Si'");
- }
- if (ObjGPS.GetFVConfiguracion(UsuarioActual.CveCliente, -1))
- {
- if (ObjGPS.DtResultados.Rows.Count == 1)
- {
- var row = ObjGPS.DtResultados.Rows[0];
- FVCARRIERID = row["fvCarrierId"].ToString().Trim();
- SCAC = row["scac"].ToString().Trim();
- UsuarioFV = row["Usuario"].ToString().Trim();
- ContraseniaFV = row["Contrasenia"].ToString().Trim();
- }
- }
- }
- catch (Exception ex)
- {
- this.OnError("Ocurrió un error al obtener la configuración", ex);
- }
- finally
- {
- ObjGPS.Dispose();
- var array = new JArray();
- if (dtShipments != null)
- {
- foreach (DataRow Row in dtShipments.Rows)
- {
- var datos = GeneraRequestLO(UsuarioActual, Row["CveShipment"].ToString().ToEntero(), FVCARRIERID, SCAC);
- if (datos != null)
- {
- var retorno = EnviarEventoAPI(UsuarioActual, Row["ShipmentID"].ToString(), Row["Customer"].ToString(), FVCARRIERID, UsuarioFV, ContraseniaFV, datos.ToString());
- array.Add(retorno);
- }
- }
- }
- context.Response.Write(array);
- }
+ ObjClientes.Dispose();
}
- protected JObject GeneraRequestLO(Usuario UsuarioActual, int CveShipment, string FVCARRIERID, string SCAC)
- {
- var route_id = "";
- var trailer_number = "";
- var trackingAssetId = "";
- double lat = 0;
- double lon = 0;
+}
- var ObjGPS = new ClsGPS();
- if (ObjGPS.GetShipmentDetail(CveShipment))
+public bool IsReusable => false;
+
+public void ProcessRequest(HttpContext context)
+{
+ try
+ {
+ context.Response.ContentType = "text/plain";
+ IniciarTransmision(context);
+ }
+ catch (Exception ex)
+ {
+ ex.GuardaLog(ex.Message);
+ }
+}
+
+private void IniciarTransmision(HttpContext context)
+{
+ var UsuarioActual = ValidaUsuarioSistema(121);
+ DataTable dtShipments = null;
+ var FVCARRIERID = "";
+ var SCAC = "";
+ var UsuarioFV = "";
+ var ContraseniaFV = "";
+ var ObjGPS = new ClsGPS();
+ try
+ {
+ if (ObjGPS.GetShipments(UsuarioActual.CveCliente, -1))
+ {
+ dtShipments = ObjGPS.DtResultados.FiltraParametros("TransmitirTexto = 'Si'");
+ }
+ if (ObjGPS.GetFVConfiguracion(UsuarioActual.CveCliente, -1))
{
if (ObjGPS.DtResultados.Rows.Count == 1)
{
var row = ObjGPS.DtResultados.Rows[0];
- lat = row["Lat"].ToString().ToDouble();
- lon = row["Lon"].ToString().ToDouble();
- route_id = row["RouteID"].ToString();
- trailer_number = row["TrailerID"].ToString();
- trackingAssetId = row["AssetID"].ToString();
+ FVCARRIERID = row["fvCarrierId"].ToString().Trim();
+ SCAC = row["scac"].ToString().Trim();
+ UsuarioFV = row["Usuario"].ToString().Trim();
+ ContraseniaFV = row["Contrasenia"].ToString().Trim();
}
}
+ }
+ catch (Exception ex)
+ {
+ this.OnError("Ocurrió un error al obtener la configuración", ex);
+ }
+ finally
+ {
ObjGPS.Dispose();
+ var array = new JArray();
+ if (dtShipments != null)
+ {
+ foreach (DataRow Row in dtShipments.Rows)
+ {
+ var datos = GeneraRequestLO(UsuarioActual, Row["CveShipment"].ToString().ToEntero(), FVCARRIERID, SCAC);
+ if (datos != null)
+ {
+ var retorno = EnviarEventoAPI(UsuarioActual, Row["ShipmentID"].ToString(), Row["Customer"].ToString(), FVCARRIERID, UsuarioFV, ContraseniaFV, datos.ToString());
+ array.Add(retorno);
+ }
+ }
+ }
+ context.Response.Write(array);
+ }
+}
+protected JObject GeneraRequestLO(Usuario UsuarioActual, int CveShipment, string FVCARRIERID, string SCAC)
+{
+ var route_id = "";
+ var trailer_number = "";
+ var trackingAssetId = "";
+ double lat = 0;
+ double lon = 0;
- var json = new JObject()
+ var ObjGPS = new ClsGPS();
+ if (ObjGPS.GetShipmentDetail(CveShipment))
+ {
+ if (ObjGPS.DtResultados.Rows.Count == 1)
+ {
+ var row = ObjGPS.DtResultados.Rows[0];
+ lat = row["Lat"].ToString().ToDouble();
+ lon = row["Lon"].ToString().ToDouble();
+ route_id = row["RouteID"].ToString();
+ trailer_number = row["TrailerID"].ToString();
+ trackingAssetId = row["AssetID"].ToString();
+ }
+ }
+ ObjGPS.Dispose();
+
+ var json = new JObject()
{
new JProperty("carrier", new JObject()
{
@@ -203,35 +202,35 @@ public class SIGFreightVerify : IHttpHandler, IRequiresSessionState
})
};
- return json;
- }
+ return json;
+}
- private JObject EnviarEventoAPI(Usuario UsuarioActual, string ShipmentID, string Customer, string FVCARRIERID, string UsuarioFV, string ContraseniaFV, string Datos)
+private JObject EnviarEventoAPI(Usuario UsuarioActual, string ShipmentID, string Customer, string FVCARRIERID, string UsuarioFV, string ContraseniaFV, string Datos)
+{
+ var retorno = "[]";
+ var token = Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(string.Format("{0}:{1}", UsuarioFV, ContraseniaFV)));
+ string correlationId = GuidGenerator.GenerateTimeBasedGuid(UsuarioActual.FechaActualCliente).ToString();
+ HttpClient wc = new HttpClient();
+ try
{
- var retorno = "[]";
- var token = Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(string.Format("{0}:{1}", UsuarioFV, ContraseniaFV)));
- string correlationId = GuidGenerator.GenerateTimeBasedGuid(UsuarioActual.FechaActualCliente).ToString();
- HttpClient wc = new HttpClient();
- try
- {
- var fvShipmentId = $"{FVCARRIERID}|{Customer}|{ShipmentID}";
+ var fvShipmentId = $"{FVCARRIERID}|{Customer}|{ShipmentID}";
- var Url = new Uri("https://api.freightverify.com/ws/rest/v2/tl/shipment/event");
- var content = new StringContent(Datos, Encoding.UTF8, "application/json");
- wc.DefaultRequestHeaders.Add("Authorization", $"Basic {token}");
- wc.DefaultRequestHeaders.Add("WSS-correlationId", correlationId);
- wc.DefaultRequestHeaders.Add("X-WSS-fvShipmentId", fvShipmentId);
- var response = wc.PostAsync(Url, content).Result;
- retorno = response.Content.ReadAsStringAsync().Result;
- }
- catch (Exception ex)
- {
- Console.WriteLine(ex);
- }
- wc.Dispose();
-
- return JObject.Parse(retorno);
+ var Url = new Uri("https://api.freightverify.com/ws/rest/v2/tl/shipment/event");
+ var content = new StringContent(Datos, Encoding.UTF8, "application/json");
+ wc.DefaultRequestHeaders.Add("Authorization", $"Basic {token}");
+ wc.DefaultRequestHeaders.Add("WSS-correlationId", correlationId);
+ wc.DefaultRequestHeaders.Add("X-WSS-fvShipmentId", fvShipmentId);
+ var response = wc.PostAsync(Url, content).Result;
+ retorno = response.Content.ReadAsStringAsync().Result;
}
+ catch (Exception ex)
+ {
+ Console.WriteLine(ex);
+ }
+ wc.Dispose();
+
+ return JObject.Parse(retorno);
+}
}
namespace FluentGenerator
{
diff --git a/Ashx/SIGPolizaVirtual.ashx b/Ashx/SIGPolizaVirtual.ashx
index 73c700dde..c20162667 100644
--- a/Ashx/SIGPolizaVirtual.ashx
+++ b/Ashx/SIGPolizaVirtual.ashx
@@ -25,38 +25,22 @@ Public Class SIGPolizaVirtual : Implements IHttpHandler, IRequiresSessionState
Private Function ValidaUsuarioSistema(CveEmpresa As Integer, Optional CveUsuario As Integer = 100) As Usuario
- Dim UsuarioToken As Usuario = Nothing
- Dim ObjUsuarios As New ClsSisUsuarios
- If ObjUsuarios.GetUsuarios(CveUsuario) Then
- If ObjUsuarios.DtResultados.Rows.Count > 0 Then
- Dim Usuario = ObjUsuarios.DtResultados.Rows(0)("Usuario").ToString()
- Dim Contrasenia = ObjUsuarios.DtResultados.Rows(0)("Contraseña").ToString()
- UsuarioToken = ObjUsuarios.ValidaUsuario(Usuario, Contrasenia, CveEmpresa:=CveEmpresa)
- UsuarioToken.CveEmpresa = CveEmpresa
- CreaObjetoEmpresa(UsuarioToken)
- End If
- End If
+ Dim UsuarioToken As Usuario = Nothing
+ Dim NombreCadena As String = ClsPaginas.GlobalNombreCadenaConexion(CveEmpresa)
+ Dim ObjUsuarios As New ClsSisUsuarioAutenticacion(NombreCadena:=NombreCadena)
+
+ If ObjUsuarios.DtResultados.Rows.Count > 0 Then
+ Dim Usuario = ObjUsuarios.DtResultados.Rows(0)("Usuario").ToString()
+ Dim Contrasenia = ObjUsuarios.DtResultados.Rows(0)("Contraseña").ToString()
+ UsuarioToken = ObjUsuarios.ValidaUsuario(Usuario, Contrasenia, CveEmpresa:=CveEmpresa)
+ UsuarioToken.CveEmpresa = CveEmpresa
+
+ End If
+
ObjUsuarios.Dispose()
Return UsuarioToken
- End Function
- Private Sub CreaObjetoEmpresa(ByRef UsuarioToken As Usuario)
-
- Dim ObjEmpresa As New ClsSisEmpresas()
- If ObjEmpresa.GetEmpresas(UsuarioToken.CveEmpresa, "-1", "-1", "-1", "-1") Then
- If ObjEmpresa.GetEmpresasFuncionalidades(UsuarioToken.CveEmpresa) Then
- Dim dttmp As Data.DataTable = ObjEmpresa.DtResultados
-
- Dim EmpresasFuncionalidades As New HybridDictionary
- For Each Row As Data.DataRow In dttmp.Rows
- EmpresasFuncionalidades.Add(Convert.ToInt32(Row("CveFuncionalidad")), Row("Valor").ToString)
- Next
- ObjEmpresa.Empresa.SetFuncionalidades(EmpresasFuncionalidades)
- End If
-
- UsuarioToken.Empresa = ObjEmpresa.Empresa
- End If
- ObjEmpresa.Dispose()
- End Sub
+ End Function
+
#End Region
Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest
diff --git a/Ashx/TareasProgramadas.ashx b/Ashx/TareasProgramadas.ashx
index 706130f8d..11eaff1b9 100644
--- a/Ashx/TareasProgramadas.ashx
+++ b/Ashx/TareasProgramadas.ashx
@@ -117,8 +117,9 @@ Public Class TareasProgramadas : Implements IHttpHandler
If GlobalDTUsuarios.Rows.Count > 0 Then
- Dim dtrow As DataRow = GlobalDTUsuarios.Rows(0)
- Dim ObjUsuario As New ClsSisUsuarios
+ Dim dtrow As DataRow = GlobalDTUsuarios.Rows(0)
+ Dim NombreCadena As String = ClsPaginas.GlobalNombreCadenaConexion(cveEmpresa)
+ Dim ObjUsuario As New ClsSisUsuarioAutenticacion(NombreCadena:=NombreCadena)
usuario = ObjUsuario.ValidaUsuario(dtrow("Usuario").ToString, dtrow("Contraseña").ToString, CveEmpresa:=cveEmpresa)
ObjUsuario.Dispose()
@@ -225,8 +226,9 @@ Public Class TareasProgramadas : Implements IHttpHandler
End If
#End Region
#Region "obtengo el usuario con el username y la pass"
-
- Using ObjUsuario As New ClsSisUsuarios()
+ 'Dim tGrupoEmpresa As String = ClsPaginas.GlobalGrupoEmpresa(Request.Url.Host.ToUpper())
+ Dim NombreCadena As String = ClsPaginas.GlobalNombreCadenaConexion(CveEmpresa)
+ Using ObjUsuario As New ClsSisUsuarioAutenticacion(NombreCadena:=NombreCadena)
usuario = ObjUsuario.ValidaUsuario(username, pass, CveEmpresa:=CveEmpresa)
End Using
#End Region
@@ -345,41 +347,19 @@ Public Class TareasProgramadas : Implements IHttpHandler
End Sub
- Private Function ValidaUsuarioSistema(CveEmpresa As Integer) As Usuario
- Dim UsuarioActual As Usuario = Nothing
- Dim ObjUsuarios As New ClsSisUsuarios
- If ObjUsuarios.GetUsuarios(100) Then
- If ObjUsuarios.DtResultados.Rows.Count > 0 Then
- Dim Usuario As String = ObjUsuarios.DtResultados.Rows(0)("Usuario").ToString()
- Dim Contrasenia As String = ObjUsuarios.DtResultados.Rows(0)("Contraseña").ToString()
- UsuarioActual = ObjUsuarios.ValidaUsuario(Usuario, Contrasenia, CveEmpresa:=CveEmpresa)
- UsuarioActual.CveEmpresa = CveEmpresa
- HttpContext.Current.Session("UsuarioSIG") = UsuarioActual
- CreaObjetoEmpresa(UsuarioActual)
- End If
- End If
- ObjUsuarios.Dispose()
- Return UsuarioActual
- End Function
- Private Sub CreaObjetoEmpresa(ByRef UsuarioActual As Usuario)
-
- Dim ObjEmpresa As New ClsSisEmpresas()
- If ObjEmpresa.GetEmpresas(UsuarioActual.CveEmpresa, "-1", "-1", "-1", "-1") Then
- If ObjEmpresa.GetEmpresasFuncionalidades(UsuarioActual.CveEmpresa) Then
- Dim dttmp As Data.DataTable = ObjEmpresa.DtResultados
-
- Dim EmpresasFuncionalidades As New HybridDictionary
- For Each Row As Data.DataRow In dttmp.Rows
- EmpresasFuncionalidades.Add(Convert.ToInt32(Row("CveFuncionalidad")), Row("Valor").ToString)
- Next
- ObjEmpresa.Empresa.SetFuncionalidades(EmpresasFuncionalidades)
- End If
-
- UsuarioActual.Empresa = ObjEmpresa.Empresa
- End If
- ObjEmpresa.Dispose()
- End Sub
+ Private Function ValidaUsuarioSistema(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)
+ If UsuarioActual IsNot Nothing Then
+ HttpContext.Current.Session("UsuarioSIG") = UsuarioActual
+ 'CreaObjetoEmpresa(UsuarioActual)
+ End If
+ ObjUsuarios.Dispose()
+ Return UsuarioActual
+ End Function
Private Function EjecutarEnvioEstadoCuenta(UsuarioActual As Usuario, FechaEnvio As DateTime, FechaActual As DateTime, Optional pCveCliente As Integer = -1) As JObject
Dim ClientesSinEnviar As New JArray()
diff --git a/Bancos/Creditos.aspx.vb b/Bancos/Creditos.aspx.vb
index 57f66289e..7ae86544c 100644
--- a/Bancos/Creditos.aspx.vb
+++ b/Bancos/Creditos.aspx.vb
@@ -416,7 +416,7 @@ Partial Class Bancos_Creditos
If ObjCreditos.CvePrePoliza > 0 Then
UpSaldo.Visible = True
LbFacturaFecha.Text = ObjCreditos.FacturaFecha.ToShortDateString
- HLSaldoPrePoliza.NavigateUrl = $"/Contabilidad/RegPrePoliza.aspx?CvePrePoliza={ObjCreditos.CvePrePoliza}"
+ HLSaldoPrePoliza.NavigateUrl = $"/Contabilidad/RegPrePolizas.aspx?CvePrePoliza={ObjCreditos.CvePrePoliza}"
LbSaldo.Text = $"Saldo Acreedor "
If ObjCreditos.GetBancosIEMovimientos(dr("CveIE").ToString.ToEntero, UsuarioActual.CveEmpresa) AndAlso ObjCreditos.DtResultados.Rows.Count > 0 Then
diff --git a/Bancos/CuentasBancariasDetalle.aspx b/Bancos/CuentasBancariasDetalle.aspx
index a5bf33e69..7c2bb543c 100644
--- a/Bancos/CuentasBancariasDetalle.aspx
+++ b/Bancos/CuentasBancariasDetalle.aspx
@@ -123,6 +123,14 @@
+
+
+
+
+
+
+
+
diff --git a/Bancos/CuentasBancariasDetalle.aspx.vb b/Bancos/CuentasBancariasDetalle.aspx.vb
index 2a64a3b22..bffdc7410 100644
--- a/Bancos/CuentasBancariasDetalle.aspx.vb
+++ b/Bancos/CuentasBancariasDetalle.aspx.vb
@@ -234,11 +234,14 @@ Partial Class Bancos_CuentasBancariasDetalle
DdlTipoCuenta_SelectedIndexChanged(DdlTipoCuenta, EventArgs.Empty)
+ TxtNumeroSucursal.Text = ObjCuentasBancariasDetalle.NumeroSucursal
+
If UsuarioActual.Empresa.TipoContabilizacion = 1 Then
DDlCuentaContable.SelectedValueExist(ObjCuentasBancariasDetalle.CveCuentaConta.ToString)
DdlCuentaContableComplementaria.SelectedValueExist(ObjCuentasBancariasDetalle.CveCuentaContaComplementaria.ToString)
Else
+
'Dim ExisteEnIntems As Boolean = False
'For Each li As ListItem In DDlCuentaContable.Items
@@ -293,7 +296,7 @@ Partial Class Bancos_CuentasBancariasDetalle
TxtCLABE.Text.Trim, DdlMoneda.SelectedValue.ToEntero, 0, TxtFInicial.Text.Trim.ToEntero, 0, 0, TxtLimiteCredito.Text.Trim.ToDouble,
"", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, If(ChkLayout.Checked, TxtConvenio.Text, ""), ChkLayout.Checked, ChkUsaTarjeta.Checked, UsaLayoutGrupos:=ChkLayoutGrupos.Checked,
TieneTerminal:=ChkTieneTerminal.Checked,
- CveCuentaPadre:=DdlCuentaPadre.SelectedValue.ToEntero, CveSubProyecto:=DdlSubProyectos.SelectedValue.ToEntero) Then
+ CveCuentaPadre:=DdlCuentaPadre.SelectedValue.ToEntero, CveSubProyecto:=DdlSubProyectos.SelectedValue.ToEntero, NumeroSucursal:=TxtNumeroSucursal.Text.Trim) Then
ViewState("CveCuenta") = ObjCuentasBancariasDetalle.TCveCuenta
Else
ErrorUsuarios = True
@@ -327,7 +330,7 @@ Partial Class Bancos_CuentasBancariasDetalle
If ObjCuentasBancariasDetalle.UpdateBancosCuentas(DdlBanco.SelectedValue.ToEntero, DdlTipoCuenta.SelectedValue.ToEntero, TxtNumCuenta.Text.Trim, TxtCLABE.Text.Trim, DdlMoneda.SelectedValue.ToEntero, 0, TxtFInicial.Text.Trim.ToEntero, 0, 0,
TxtLimiteCredito.Text.Trim.ToDouble, "", ChkEstatus.Checked, CveCuenta, TxtConvenio.Text,
ChkLayout.Checked, ChkUsaTarjeta.Checked, UsaLayoutGrupos:=ChkLayoutGrupos.Checked, TieneTerminal:=ChkTieneTerminal.Checked,
- CveCuentaPadre:=DdlCuentaPadre.SelectedValue.ToEntero, CveSubProyecto:=DdlSubProyectos.SelectedValue.ToEntero) Then
+ CveCuentaPadre:=DdlCuentaPadre.SelectedValue.ToEntero, CveSubProyecto:=DdlSubProyectos.SelectedValue.ToEntero, NumeroSucursal:=TxtNumeroSucursal.Text.Trim) Then
'CargaDatos()
GlobalDTBancosCuentas(-1, CveEmpresa:=UsuarioActual.CveEmpresa) = Nothing
'If ObjCuentasBancariasDetalle.GetBancosCuentasUsuarios(-1) Then
diff --git a/Bancos/DepositosCaja.aspx b/Bancos/DepositosCaja.aspx
index b24b9059c..1b258fe1f 100644
--- a/Bancos/DepositosCaja.aspx
+++ b/Bancos/DepositosCaja.aspx
@@ -330,7 +330,7 @@
-
+
diff --git a/Bancos/DepositosCaja.aspx.vb b/Bancos/DepositosCaja.aspx.vb
index e94b3853b..f5244df41 100644
--- a/Bancos/DepositosCaja.aspx.vb
+++ b/Bancos/DepositosCaja.aspx.vb
@@ -194,8 +194,8 @@ Partial Class Bancos_DepositosCaja
TotalImporte = TotalImporte + Comision
'Comision = -(Comision) ' se inverte el valor, va cargada
'Descuento = -(Descuento) ' se inverte el valor, va cargada
- If DdlSubProyectoDeposito.SelectedValue.ToEntero = -1 Or DdlClasificacion.SelectedValue.ToEntero = -1 Then
- Alert("Debes Seleccionar un Subproyecto y una Clasificación", TipoMensaje.MsgAdvertencia)
+ If DdlSubProyectoDeposito.SelectedValue.ToEntero = -1 Then
+ Alert("Debes Seleccionar un Subproyecto ", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
End If
@@ -344,7 +344,7 @@ Partial Class Bancos_DepositosCaja
CveSubProyectoComision = DdlSubProyectoDeposito.SelectedValue.ToEntero
CveClasificacionComision = DdlClasificacion.SelectedValue.ToEntero
If Comision <> 0 Then
- If Not ObjConta.AddPrePolizasDetalle(NuevaCvePrePoliza, True, Comision, Comision * TipoCambio, 78, DdlClasificacion.SelectedItem.Text, DdlClasificacion.SelectedItem.Text, CveClasificacion:=CveClasificacionComision, CveSubProyecto:=CveSubProyectoComision) Then
+ If Not ObjConta.AddPrePolizasDetalle(NuevaCvePrePoliza, True, Comision, Comision * TipoCambio, 78, "Depósito Bancario", "Depósito Bancario", CveClasificacion:=CveClasificacionComision, CveSubProyecto:=CveSubProyectoComision) Then
OcurrioError = True
End If
End If
@@ -416,7 +416,7 @@ Partial Class Bancos_DepositosCaja
Next
Dim StrEncript As String = Encripta($"OP=DC&CveIE={CveIEOrigen}&CuentaCaja={DdlCajaChica.SelectedItem.Text}&CuentaDepo={DdlCuentaDeposito.SelectedItem.Text}")
- documentos += String.Format("Imprimir {1} ", StrEncript, "Depósito Bancario")
+ documentos += String.Format("Imprimir {1}
", StrEncript, "Depósito Bancario")
@@ -430,7 +430,11 @@ Partial Class Bancos_DepositosCaja
End If
If Not OcurrioError Then
- documentos += String.Format("Prepóliza
", NuevaCvePrePoliza)
+ documentos += String.Format("Prepóliza ", NuevaCvePrePoliza)
+ If UsuarioActual.Empresa.Funcionalidad(382) = "1" Then
+ Dim ParametrosPrePoliza As String = Encripta($"OP=PREPO&CvePrePoliza={NuevaCvePrePoliza}")
+ documentos += String.Format("Imprimir {1} ", ParametrosPrePoliza, "PrePoliza")
+ End If
End If
Catch ex As Exception
diff --git a/Bancos/PagoAcreedor.aspx b/Bancos/PagoAcreedor.aspx
index bff947397..704c2ed38 100644
--- a/Bancos/PagoAcreedor.aspx
+++ b/Bancos/PagoAcreedor.aspx
@@ -231,7 +231,7 @@
-
+
$
@@ -246,7 +246,7 @@
-
+
@@ -271,6 +271,9 @@
Deudores Diversos
+
+
+
diff --git a/Bancos/PagoAcreedor.aspx.cs b/Bancos/PagoAcreedor.aspx.cs
index c357c01e4..d72929c9c 100644
--- a/Bancos/PagoAcreedor.aspx.cs
+++ b/Bancos/PagoAcreedor.aspx.cs
@@ -197,7 +197,7 @@ public partial class Bancos_PagoAcreedor : ClsPaginas
int CvePrePoliza = 0;
int CveMonedaPago = get_GlobalDTBancosCuentas(-1, CveEmpresa: UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveMoneda", $"CveEmpresa = {UsuarioActual.CveEmpresa} AND CveCuenta = {DdlCuenta.SelectedValue.ToEntero()}").ToEntero();
int FolioFijo = 0;
- int IDPoliza = 0;
+ //int IDPoliza = 0;
StringBuilder Msg = new StringBuilder();
@@ -441,7 +441,7 @@ public partial class Bancos_PagoAcreedor : ClsPaginas
// Msg.AppendFormat(@"
Ver Póliza", IDPoliza);
//}
- Msg.AppendFormat(@"Ver Póliza ", CvePrePoliza);
+ Msg.AppendFormat(@"Ver Póliza ", CvePrePoliza);
Msg.AppendFormat($"Imprimir");
}
@@ -521,7 +521,7 @@ public partial class Bancos_PagoAcreedor : ClsPaginas
int CvePrePoliza = 0;
int CveMoneda = get_GlobalDTBancosCuentas(-1, CveEmpresa: UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveMoneda", $"CveEmpresa = {UsuarioActual.CveEmpresa} AND CveCuenta = {DdlCuentaPrestamo.SelectedValue.ToEntero()}").ToEntero();
int FolioFijo = 0;
- int IDPoliza = 0;
+ //int IDPoliza = 0;
StringBuilder Msg = new StringBuilder();
//OBTIENE COMPROBANTE !!
@@ -660,7 +660,7 @@ public partial class Bancos_PagoAcreedor : ClsPaginas
//{
// Msg.AppendFormat(@"
diff --git a/Contabilidad/FiltraPolizas.aspx b/Contabilidad/FiltraPolizas.aspx
index 8d4cd1cf5..993ff84f8 100644
--- a/Contabilidad/FiltraPolizas.aspx
+++ b/Contabilidad/FiltraPolizas.aspx
@@ -183,7 +183,7 @@
-
+
diff --git a/Contabilidad/RegPoliza.aspx.vb b/Contabilidad/RegPoliza.aspx.vb
index d8e1ffc2b..75acec78a 100644
--- a/Contabilidad/RegPoliza.aspx.vb
+++ b/Contabilidad/RegPoliza.aspx.vb
@@ -152,9 +152,7 @@ Partial Class RegPoliza
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.LoadComplete
If Not IsPostBack Then
- If UsuarioActual.Empresa.TipoContabilizacion = 1 OrElse UsuarioActual.Empresa.TipoContabilidad = 1 Then
- Response.Redirect("/Contabilidad/RegPrePolizaS.aspx")
- End If
+
ViewState("Orden0") = ""
ViewState("Orden1") = ""
diff --git a/Contabilidad/RegPrePoliza.aspx b/Contabilidad/RegPrePoliza.aspx
index 82c77e45a..d5387a20d 100644
--- a/Contabilidad/RegPrePoliza.aspx
+++ b/Contabilidad/RegPrePoliza.aspx
@@ -1,4 +1,4 @@
-<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="RegPrePoliza.aspx.vb" Inherits="ContabilidadC_RegPrePoliza" EnableEventValidation="false" %>
+<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="RegPrepoliza.aspx.vb" Inherits="ContabilidadC_RegPrePoliza" EnableEventValidation="false" %>
@@ -717,6 +717,7 @@
+
diff --git a/Contabilidad/RegPrePoliza.aspx.vb b/Contabilidad/RegPrePoliza.aspx.vb
index 9d910f0eb..9ac8ad949 100644
--- a/Contabilidad/RegPrePoliza.aspx.vb
+++ b/Contabilidad/RegPrePoliza.aspx.vb
@@ -468,7 +468,7 @@ Partial Class ContabilidadC_RegPrePoliza
End If
ObjContabilidad.GetContabilizacionDiarioDetalle(CvePrePoliza, UsuarioActual.CveEmpresa)
- DtMovimientos = ObjContabilidad.DtResultados.FiltraParametros($"CveEmpresa = {UsuarioActual.CveEmpresa}")
+ DtMovimientos = ObjContabilidad.DtResultados
If dr("Modulo").ToString.Contiene("Banc/FluctuaA", "Banc/FluctuaC", "Banc/FluctuaV", "Banc/FluctuaFilial", "Banc/FluctuaAD") Then
BtnEliminar.Enabled = False
@@ -573,7 +573,7 @@ Partial Class ContabilidadC_RegPrePoliza
Dim CveConceptoContable As Integer = e.Row.DataKey("CveConceptoContable").ToEntero
- If CveConceptoContable.Contiene(1, 2, 12, 91, 13, 38, 207, 203, 39, 61, 62, 63, 4, 278, 291, 292, 293, 294, 272, 150, 251, 301) Then e.Row.FCHyperLink("HlReferencia").NavigateUrl = String.Format("/Ventas/Ventas.aspx?CveVenta={0}", e.Row.DataKey("CveVenta"))
+ If CveConceptoContable.Contiene(1, 2, 12, 91, 13, 38, 207, 203, 39, 61, 62, 63, 4, 278, 291, 292, 293, 294, 272, 150, 251, 301, 3, 11) Then e.Row.FCHyperLink("HlReferencia").NavigateUrl = String.Format("/Ventas/Ventas.aspx?CveVenta={0}", e.Row.DataKey("CveVenta"))
If CveConceptoContable.Contiene(5, 6, 17, 18, 14, 19, 25, 26, 60, 205, 225, 234, 235, 240, 305, 306, 307, 308, 309, 310, 311, 312, 201, 206, 323, 324, 341, 342, 343, 344, 304, 272, 259, 287, 288, 370, 371, 372, 373) Then e.Row.FCHyperLink("HlReferencia").NavigateUrl = String.Format("/Compras/Compras.aspx?CveCompra={0}", e.Row.DataKey("CveCompra"))
If CveConceptoContable.Contiene(68) Then e.Row.FCHyperLink("HlReferencia").NavigateUrl = String.Format("/Inventarios/EntradasSalidas.aspx?CveMovimiento={0}", e.Row.DBCampo("CveMovimientoAlmacen"))
If CveConceptoContable.Contiene(30, 204, 66, 92, 202, 10, 21, 48, 56, 338, 339, 340, 345, 346, 347) Then e.Row.FCHyperLink("HlReferencia").NavigateUrl = String.Format("/Bancos/IE.aspx?CveIE={0}", e.Row.DBCampo("CveIE"))
@@ -1309,7 +1309,7 @@ Partial Class ContabilidadC_RegPrePoliza
TxtME.Text = GvPrePoliza.Rows(IndiceGrid).DataKey("ImporteME").ToDecimal.FormatoNumero
DdlPorcentajeIVAE.SelectedValueExist(PorcentajeImpuesto)
-
+ HdnCveCompra.Value = CveCompra.ToString
DdlProveedoresE.SelectedValueExist(CveProveedor)
DdlProveedoresE_SelectedIndexChanged(DdlProveedoresE, e)
DdlComprasE.SelectedValueExist(CveCompra)
@@ -1551,13 +1551,13 @@ Partial Class ContabilidadC_RegPrePoliza
DdlProveedoresE.DataBind()
DdlProveedoresE.Items.Insert(0, New ListItem(" - ", "-1"))
End Sub
- Private Sub CargaComprasE(CveProveedor As Integer)
+ Private Sub CargaComprasE(CveProveedor As Integer, Optional tCveCompra As Integer = -1)
If DdlConceptosContablesE.SelectedValue.ToEntero.Contiene(5, 17, 305, 308, 310, 311, 312) Then
Dim ObjCompras As New ClsCompras
DdlComprasE.ClearSelection()
- If ObjCompras.GetCompras(-1, "-1", "-1", CveProveedor, -1, UsuarioActual.CveEmpresa) Then
- DdlComprasE.DataSource = ObjCompras.DtResultados.FiltraParametros("Saldo > 0")
+ If ObjCompras.GetCompras(tCveCompra, "-1", "-1", CveProveedor, -1, UsuarioActual.CveEmpresa) Then
+ DdlComprasE.DataSource = ObjCompras.DtResultados.FiltraParametros($"Saldo > 0 OR CveCompra = {tCveCompra}")
DdlComprasE.DataBind()
DdlComprasE.Items.Insert(0, New ListItem(" - ", "-1"))
Else
@@ -1618,7 +1618,7 @@ Partial Class ContabilidadC_RegPrePoliza
DdlClasificacionesE.Items.Insert(0, New ListItem(" - ", "-1"))
End Sub
Private Sub DdlProveedoresE_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlProveedoresE.SelectedIndexChanged
- CargaComprasE(DdlProveedoresE.SelectedValue.ToEntero)
+ CargaComprasE(DdlProveedoresE.SelectedValue.ToEntero, HdnCveCompra.Value.ToEntero)
End Sub
Private Sub DdlClientesE_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlClientesE.selectedindexchange
diff --git a/Contabilidad/RegPrePolizaS.aspx b/Contabilidad/RegPrePolizaS.aspx
index f07c5a356..b10065036 100644
--- a/Contabilidad/RegPrePolizaS.aspx
+++ b/Contabilidad/RegPrePolizaS.aspx
@@ -717,6 +717,7 @@
+
diff --git a/Contabilidad/RegPrePolizaS.aspx.vb b/Contabilidad/RegPrePolizaS.aspx.vb
index b368d9f2b..63da41dd8 100644
--- a/Contabilidad/RegPrePolizaS.aspx.vb
+++ b/Contabilidad/RegPrePolizaS.aspx.vb
@@ -1,8 +1,4 @@
Imports System.Data
-Imports System.Runtime.CompilerServices
-Imports System.Runtime.Remoting
-
-'Imports DocumentFormat.OpenXml
Imports Extensiones
Imports GemBox.Spreadsheet
@@ -573,8 +569,8 @@ Partial Class ContabilidadC_RegPrePolizaS
Dim CveConceptoContable As Integer = e.Row.DataKey("CveConceptoContable").ToEntero
- If CveConceptoContable.Contiene(1, 2, 12, 91, 13, 38, 207, 203, 39, 61, 62, 63, 4, 278, 291, 292, 293, 294, 272, 150, 251, 301) Then e.Row.FCHyperLink("HlReferencia").NavigateUrl = String.Format("/Ventas/Ventas.aspx?CveVenta={0}", e.Row.DataKey("CveVenta"))
- If CveConceptoContable.Contiene(5, 6, 17, 18, 14, 19, 25, 26, 60, 205, 225, 234, 235, 240, 305, 306, 307, 308, 309, 310, 311, 312, 201, 206, 323, 324, 341, 342, 343, 344, 304, 272, 259, 287, 288, 370, 371, 372, 373) Then e.Row.FCHyperLink("HlReferencia").NavigateUrl = String.Format("/Compras/Compras.aspx?CveCompra={0}", e.Row.DataKey("CveCompra"))
+ If CveConceptoContable.Contiene(1, 2, 12, 91, 13, 38, 207, 203, 39, 61, 62, 63, 4, 278, 291, 292, 293, 294, 272, 150, 251, 301, 3, 11) Then e.Row.FCHyperLink("HlReferencia").NavigateUrl = String.Format("/Ventas/Ventas.aspx?CveVenta={0}", e.Row.DataKey("CveVenta"))
+ If CveConceptoContable.Contiene(5, 6, 17, 18, 14, 19, 25, 26, 60, 205, 225, 234, 235, 237, 240, 305, 306, 307, 308, 309, 310, 311, 312, 201, 206, 323, 324, 341, 342, 343, 344, 304, 272, 259, 287, 288, 370, 371, 372, 373) Then e.Row.FCHyperLink("HlReferencia").NavigateUrl = String.Format("/Compras/Compras.aspx?CveCompra={0}", e.Row.DataKey("CveCompra"))
If CveConceptoContable.Contiene(68) Then e.Row.FCHyperLink("HlReferencia").NavigateUrl = String.Format("/Inventarios/EntradasSalidas.aspx?CveMovimiento={0}", e.Row.DBCampo("CveMovimientoAlmacen"))
If CveConceptoContable.Contiene(30, 204, 66, 92, 202, 10, 21, 48, 56, 338, 339, 340, 345, 346, 347) Then e.Row.FCHyperLink("HlReferencia").NavigateUrl = String.Format("/Bancos/IE.aspx?CveIE={0}", e.Row.DBCampo("CveIE"))
@@ -1309,7 +1305,7 @@ Partial Class ContabilidadC_RegPrePolizaS
TxtME.Text = GvPrePoliza.Rows(IndiceGrid).DataKey("ImporteME").ToDecimal.FormatoNumero
DdlPorcentajeIVAE.SelectedValueExist(PorcentajeImpuesto)
-
+ HdnCveCompra.Value = CveCompra.ToString
DdlProveedoresE.SelectedValueExist(CveProveedor)
DdlProveedoresE_SelectedIndexChanged(DdlProveedoresE, e)
DdlComprasE.SelectedValueExist(CveCompra)
@@ -1551,13 +1547,13 @@ Partial Class ContabilidadC_RegPrePolizaS
DdlProveedoresE.DataBind()
DdlProveedoresE.Items.Insert(0, New ListItem(" - ", "-1"))
End Sub
- Private Sub CargaComprasE(CveProveedor As Integer)
+ Private Sub CargaComprasE(CveProveedor As Integer, Optional tCveCompra As Integer = -1)
If DdlConceptosContablesE.SelectedValue.ToEntero.Contiene(5, 17, 305, 308, 310, 311, 312) Then
Dim ObjCompras As New ClsCompras
DdlComprasE.ClearSelection()
- If ObjCompras.GetCompras(-1, "-1", "-1", CveProveedor, -1, UsuarioActual.CveEmpresa) Then
- DdlComprasE.DataSource = ObjCompras.DtResultados.FiltraParametros("Saldo > 0")
+ If ObjCompras.GetCompras(tCveCompra, "-1", "-1", CveProveedor, -1, UsuarioActual.CveEmpresa) Then
+ DdlComprasE.DataSource = ObjCompras.DtResultados.FiltraParametros($"Saldo > 0 OR CveCompra = {tCveCompra}")
DdlComprasE.DataBind()
DdlComprasE.Items.Insert(0, New ListItem(" - ", "-1"))
Else
@@ -1618,7 +1614,7 @@ Partial Class ContabilidadC_RegPrePolizaS
DdlClasificacionesE.Items.Insert(0, New ListItem(" - ", "-1"))
End Sub
Private Sub DdlProveedoresE_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlProveedoresE.SelectedIndexChanged
- CargaComprasE(DdlProveedoresE.SelectedValue.ToEntero)
+ CargaComprasE(DdlProveedoresE.SelectedValue.ToEntero, HdnCveCompra.Value.ToEntero)
End Sub
Private Sub DdlClientesE_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlClientesE.selectedindexchange
diff --git a/Contabilidad/RepIVA.aspx b/Contabilidad/RepIVA.aspx
index 9277a203e..e97c48b7a 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 7281c9988..1a90339d7 100644
--- a/Contabilidad/RepIVA.aspx.cs
+++ b/Contabilidad/RepIVA.aspx.cs
@@ -253,15 +253,35 @@ public partial class Contabilidad_RepIVA : ClsPaginas
if (Archivo.Exists)
{
Ruta = string.Format("{0}Formatos\\{1}", UsuarioActual.Empresa.Ruta, Formato);
- ImprimirbytesPDF(ImprimirPDFCrystal(Ruta, Dt, para, "Reporte de IVA", Opcion), "Reporte de IVA", Opcion);
+ //ImprimirbytesPDF(ImprimirPDFCrystal(Ruta, Dt, para, "Reporte de IVA", Opcion), "Reporte de IVA", Opcion);
+
+ if (UsuarioActual.Empresa.Funcionalidad(713).ToEntero() == 1)
+ {
+ ImprimirbytesPDF(ImprimirSubRepPDFCrystal(Ruta, Dt, para, DtIEPSA, DtIVAA, "RepIEPSPorcentaje.rpt", "RepIVAPorcentaje.rpt", "Reporte de IVA", Opcion), "Reporte de IVA", Opcion);
+ }
+ else
+ {
+ //ImprimirbytesPDF(ImprimirPDFCrystal(Ruta, Dt, para, "Reporte de IVA", Opcion), "Reporte de IVA", Opcion);
+ ImprimirbytesPDF(ImprimirSubRepPDFCrystal(Ruta, Dt, para, new DataTable(), new DataTable(), "RepIEPSPorcentaje.rpt", "RepIVAPorcentaje.rpt", "Reporte de IVA", Opcion), "Reporte de IVA", Opcion);
+ }
+
}else
{
Ruta = ModExtensiones.DirectorioBaseEmpresas + $@"Empresas\Grales\Formatos\{Formato}";
-
-
+ //ImprimirbytesPDF(ImprimirSubRepPDFCrystal(Ruta, Dt, para, DtIEPSA, DtIVAA, "RepIEPSPorcentaje.rpt", "RepIVAPorcentaje.rpt", "Reporte de IVA", Opcion), "Reporte de IVA", Opcion);
+ if (UsuarioActual.Empresa.Funcionalidad(713).ToEntero() == 1)
+ {
ImprimirbytesPDF(ImprimirSubRepPDFCrystal(Ruta, Dt, para, DtIEPSA, DtIVAA, "RepIEPSPorcentaje.rpt", "RepIVAPorcentaje.rpt", "Reporte de IVA", Opcion), "Reporte de IVA", Opcion);
-
-
+ }
+ else
+ {
+ //ImprimirbytesPDF(ImprimirPDFCrystal(Ruta, Dt, para, "Reporte de IVA", Opcion), "Reporte de IVA", Opcion);
+ ImprimirbytesPDF(ImprimirSubRepPDFCrystal(Ruta, Dt, para, new DataTable(), new DataTable(), "RepIEPSPorcentaje.rpt", "RepIVAPorcentaje.rpt", "Reporte de IVA", Opcion), "Reporte de IVA", Opcion);
+ }
+
+
+
+
}
Ruta.GuardaLogAD();
//ImprimirbytesPDF(ImprimirPDFCrystal(Ruta, Dt, para, "Reporte de IVA", Opcion), "Reporte de IVA", Opcion);
diff --git a/Contabilidad/Reportes/RepCuadreContaAdmonDetalle.aspx.vb b/Contabilidad/Reportes/RepCuadreContaAdmonDetalle.aspx.vb
index 42d35bd3f..fc69f2a4f 100644
--- a/Contabilidad/Reportes/RepCuadreContaAdmonDetalle.aspx.vb
+++ b/Contabilidad/Reportes/RepCuadreContaAdmonDetalle.aspx.vb
@@ -126,7 +126,7 @@ Partial Class RepCuadreContaAdmonDetalle
End If
If e.Row.DataKey("CvePrePoliza").ToEntero > 0 Then
- Dim LigaPrePoliza As String = $"/Contabilidad/RegPrePoliza.aspx?CvePrePoliza={e.Row.DataKey("CvePrePoliza")}&Tipo=1"
+ Dim LigaPrePoliza As String = $"/Contabilidad/RegPrepolizaS.aspx?CvePrePoliza={e.Row.DataKey("CvePrePoliza")}&Tipo=1"
e.Row.FCLiteral("LtlCargoAdmon").Text = " " & e.Row.FCLiteral("LtlCargoAdmon").Text & " "
e.Row.FCLiteral("LtlAbonoAdmon").Text = " " & e.Row.FCLiteral("LtlAbonoAdmon").Text & " "
End If
diff --git a/Contratos/Contrato.aspx.vb b/Contratos/Contrato.aspx.vb
index 1f9e235c0..fcfc33ffb 100644
--- a/Contratos/Contrato.aspx.vb
+++ b/Contratos/Contrato.aspx.vb
@@ -964,8 +964,9 @@ Partial Class Contratos_Default
TipoContrato = ObjContratos.CveContratoTipo
TxtPorcentajeComision.Text = ObjContratos.PorcentajeComision.ToString
CveContratoTipo = ObjContratos.DtResultados.Rows(0)("CveContratoTipo").ToString.ToEntero
- TxtCorreoNotificacion.Text = ObjContratos.DtResultados.Rows(0)("CorreoNotificacionPedDev").ToString
-
+ TxtCorreoNotificacion.Text = ObjContratos.DtResultados.Rows(0)("CorreoNotificacionPedDev").ToString
+
+
If CveContratoTipo = 33 Then
TabContratosGastos.Visible = False
TabAF.Visible = False
@@ -1106,6 +1107,8 @@ Partial Class Contratos_Default
ChkFacAutomatica.Checked = CBool(ObjContratos.DtResultados.Rows(0)("FacturacionCiclicaAutomatico"))
DdlDiaFact.SelectedValueExist(ObjContratos.DtResultados.Rows(0)("DiaMesFacturacion").ToString())
TxtObservaciones.Text = ObjContratos.DtResultados.Rows(0)("Observaciones").ToString
+ TxtObsGeneral.Text = ObjContratos.DtResultados.Rows(0)("ObservacionesGenerales").ToString
+
ChkAplicaFacCiclica_CheckedChanged(ChkAplicaFacCiclica, EventArgs.Empty)
If ObjContratos.DtResultados.Rows(0)("CvePeriodo").ToString().ToEntero() > 0 Then
@@ -1387,7 +1390,8 @@ Partial Class Contratos_Default
PorcentajeComision:=TxtPorcentajeComision.Text.ToEntero, TipoGarantia:=DdlTipoGarantia.SelectedValue.ToEntero, Folio:=TxtFolio.Text.ToEntero, FechaVenc:=txtFechaVenc.Text.ToDate, EstatusFianza:=DdlEstatusFianza.SelectedValue.ToEntero,
CvePeriodo:=DdlPeriodo.SelectedValue.ToEntero, CveCuentaEquipo:=DdlCuentaEquipo.SelectedValue.ToEntero, CveContratoPlantilla:=DdlPlantillaContrato.SelectedValue.ToEntero, CveVendedor:=DdlVendedor.SelectedValue.ToEntero,
Observaciones:=TxtObservaciones.Text, CveDireccionEnvio:=DdlClienteDireccionEnvio.SelectedValue.ToEntero, AplicaImpuestosLocales:=ChkImpuestosLocales.Checked, CorreoNotificacionPedDev:=TxtCorreoNotificacion.Text.Trim(),
- FacturacionCicilica:=ChkAplicaFacCiclica.Checked, FacturacionCiclicaAutomatico:=ChkFacAutomatica.Checked, DiaMesFacturacion:=If(DdlDiaFact.SelectedValue.ToEntero() < 0, 0, DdlDiaFact.SelectedValue.ToEntero()))
+ FacturacionCicilica:=ChkAplicaFacCiclica.Checked, FacturacionCiclicaAutomatico:=ChkFacAutomatica.Checked, DiaMesFacturacion:=If(DdlDiaFact.SelectedValue.ToEntero() < 0, 0, DdlDiaFact.SelectedValue.ToEntero()),
+ ObservacionesGenerales:=TxtObsGeneral.Text.Trim)
TieneError = Not GuardaFianzas(ObjContratos)
diff --git a/Contratos/RepPresupuestos.aspx b/Contratos/RepPresupuestos.aspx
index 97e5c3c95..19a32224c 100644
--- a/Contratos/RepPresupuestos.aspx
+++ b/Contratos/RepPresupuestos.aspx
@@ -329,11 +329,10 @@
Agrupador
-
Autorizado
-
En proceso de compra
+
Autorizado
Por Ejercer
-
Pagado
+
Pagado
@@ -342,13 +341,12 @@
<%--
-
-
+
-
+
diff --git a/Contratos/RepPresupuestos.aspx.vb b/Contratos/RepPresupuestos.aspx.vb
index 32dd3467a..ef6cf4e23 100644
--- a/Contratos/RepPresupuestos.aspx.vb
+++ b/Contratos/RepPresupuestos.aspx.vb
@@ -62,7 +62,7 @@ Partial Class Contratos_RepPresupuestos
DdlProyecto.Items.Insert(0, New ListItem("Todos", "-1"))
DdlProyecto.DataBind()
- If UsuarioActual.CveEmpresa.Contiene(13, 83) Then UsaComprometido = True
+ If UsuarioActual.Empresa.Funcionalidad(532) = "2" Then UsaComprometido = True
CargaSubProyecto()
UpFiltros.Update()
@@ -92,9 +92,7 @@ Partial Class Contratos_RepPresupuestos
Dim TieneDatos As Boolean = False
If UsaComprometido Then
- thComprometido.Visible = True
- GvDatos.Columns(2).Visible = True
- LtlthEjercido.Text = "Facturado"
+ LtlthEjercido.Text = "En proceso de compra"
End If
If Not EsMensual Then
@@ -104,10 +102,14 @@ Partial Class Contratos_RepPresupuestos
If ObjPresupuestos.DtResultados IsNot Nothing AndAlso ObjPresupuestos.DtResultados.Rows.Count > 0 Then
TieneDatos = True
End If
-
- DtPresupuestos = ObjPresupuestos.DtResultados
+ DtPresupuestos = ObjPresupuestos.DtResultados
+ If UsaComprometido Then
+ DtPresupuestos.Columns.Remove("ejercido") : DtPresupuestos.Columns("comprometido").ColumnName = "ejercido"
+ DtPresupuestos.Columns.Remove("EjercidoPorcentaje") : DtPresupuestos.Columns("comprometidoPorcentaje").ColumnName = "EjercidoPorcentaje"
+ DtPresupuestos.Columns.Remove("PorEjercer") : DtPresupuestos.Columns("PorEjercercomprometido").ColumnName = "PorEjercer"
+ DtPresupuestos.Columns.Remove("PorEjercerPorcentaje") : DtPresupuestos.Columns("PorEjercerPorcentajecomprometido").ColumnName = "PorEjercerPorcentaje"
+ End If
GvDatos.DataSource = DtPresupuestos
-
End If
ObjPresupuestos.Dispose()
@@ -131,8 +133,6 @@ Partial Class Contratos_RepPresupuestos
If ObjPresupuestos.DtResultados IsNot Nothing AndAlso ObjPresupuestos.DtResultados.Rows.Count > 0 Then
TieneDatos = True
End If
-
- DtPresupuestos = ObjPresupuestos.DtResultados
GvDatosMensual.DataSource = DtPresupuestos
End If
ObjPresupuestos.Dispose()
@@ -329,12 +329,10 @@ Partial Class Contratos_RepPresupuestos
Dim PorEjercerPorcentaje = DrPresupuesto("PorEjercerPorcentaje").ToString.ToDecimal
If UsaComprometido Then
- Ejercido = DrPresupuesto("Comprometido").ToString.ToDecimal
+ ' Ejercido = DrPresupuesto("Comprometido").ToString.ToDecimal
PorEjercer = Autorizado - Ejercido
EjercidoPorcentaje = If(Autorizado > 0, Ejercido / Autorizado * 100, 0)
PorEjercerPorcentaje = If(Autorizado > 0, PorEjercer / Autorizado * 100, 0)
- thComprometido.Visible = True
- GvDatos.Columns(2).Visible = True
End If
LtlAutorizado.Text = Autorizado.FormatoNumero
@@ -342,15 +340,15 @@ Partial Class Contratos_RepPresupuestos
LtlPorEjercer.Text = PorEjercer.FormatoNumero
PBEjercido.Style.Remove("width")
- PBEjercido.Style.Add("width", $"{EjercidoPorcentaje.ToString}%")
+ PBEjercido.Style.Add("width", $"{EjercidoPorcentaje.ToString}%")
- PBPorEjercer.Style.Remove("width")
- PBPorEjercer.Style.Add("width", $"{PorEjercerPorcentaje.ToString}%")
+ PBPorEjercer.Style.Remove("width")
+ PBPorEjercer.Style.Add("width", $"{PorEjercerPorcentaje.ToString}%")
- LtlPorcentajeEjercido.Text = EjercidoPorcentaje.FormatoNumero + " %"
- LtlPorcentajePorEjercer.Text = PorEjercerPorcentaje.FormatoNumero + " %"
+ LtlPorcentajeEjercido.Text = EjercidoPorcentaje.FormatoNumero + " %"
+ LtlPorcentajePorEjercer.Text = PorEjercerPorcentaje.FormatoNumero + " %"
- Dim json = New JArray(
+ Dim json = New JArray(
From dr In DtDatos
Select New JObject(
New JProperty("Agrupador", dr("Agrupador").ToString()),
@@ -362,11 +360,11 @@ Partial Class Contratos_RepPresupuestos
New JProperty("PorEjercerProporcion", dr("PorEjercerPorcentaje").ToString().ToDecimal()))
)
- HdnJsonProyecto.Value = json.ToString
- End If
+ HdnJsonProyecto.Value = json.ToString
+ End If
- Else
+ Else
LtlAutorizado.Text = ""
LtlEjercido.Text = ""
LtlPorEjercer.Text = ""
@@ -385,24 +383,21 @@ Partial Class Contratos_RepPresupuestos
End Select
If e.Row.DBCampo("Autorizado").ToDecimal = 0 Then
e.Row.Cells(1).Text = "-"
- End If
- If e.Row.DBCampo("Comprometido").ToDecimal = 0 Then
+ End If
+ If e.Row.DBCampo("Ejercido").ToDecimal = 0 Then
e.Row.Cells(2).Text = "-"
End If
- If e.Row.DBCampo("Ejercido").ToDecimal = 0 Then
+ If e.Row.DBCampo("EjercidoPorcentaje").ToDecimal = 0 Then
e.Row.Cells(3).Text = "-"
End If
- If e.Row.DBCampo("EjercidoPorcentaje").ToDecimal = 0 Then
+ If e.Row.DBCampo("PorEjercer").ToDecimal = 0 Then
e.Row.Cells(4).Text = "-"
End If
- If e.Row.DBCampo("PorEjercer").ToDecimal = 0 Then
+ If e.Row.DBCampo("PorEjercerPorcentaje").ToDecimal = 0 Then
e.Row.Cells(5).Text = "-"
End If
- If e.Row.DBCampo("PorEjercerPorcentaje").ToDecimal = 0 Then
- e.Row.Cells(6).Text = "-"
- End If
If e.Row.DBCampo("Pagado").ToDecimal = 0 Then
- e.Row.Cells(7).Text = "-"
+ e.Row.Cells(6).Text = "-"
End If
If e.Row.RowIndex > 0 Then
@@ -602,12 +597,24 @@ Partial Class Contratos_RepPresupuestos
params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre))
params.Add(New ReportParameter("FechaImpresion", NowADS().ToDateTime.ToShortDateString))
params.Add(New ReportParameter("AgrupadoPor", $"{FechaIn}{FechaFn}{Agrupador}{Proyecto}{SubProyecto}{Clasificacion}{TipoGasto}"))
- params.Add(New ReportParameter("Autorizado", LtlAutorizado.Text.FormatoNumero()))
- params.Add(New ReportParameter("Ejercido", LtlEjercido.Text.FormatoNumero()))
+ params.Add(New ReportParameter("Autorizado", LtlAutorizado.Text.FormatoNumero()))
+
params.Add(New ReportParameter("PorEjercer", LtlPorEjercer.Text.FormatoNumero()))
-
- params.Add(New ReportParameter("LogoPath", If(Imagen.Exists, $"file://{Imagen.FullName}", "")))
+ params.Add(New ReportParameter("LogoPath", If(Imagen.Exists, $"file://{Imagen.FullName}", "")))
+
+ 'If UsuarioActual.Empresa.Funcionalidad(532) = "2" Then
+ ' Dim DrPresupuesto = DtPresupuestos.FiltroPrimero("Tipo = 0 AND CveAgrupador IS NULL")
+ ' 'Dim Comprometido = DrPresupuesto("Comprometido").ToString.ToDecimal
+ ' params.Add(New ReportParameter("Ejercido", Comprometido.ToString.FormatoNumero()))
+ 'Else
+ params.Add(New ReportParameter("Ejercido", LtlEjercido.Text.FormatoNumero()))
+ 'End If
+
+ params.Add(New ReportParameter("PresupuestoRestrictivo", UsuarioActual.Empresa.Funcionalidad(532)))
+
+
ImprimirPDF("Empresas/Grales/Formatos/RepPresupuestoAnual.rdlc", DtPresupuestos, params, "Reporte de Presupuestos Anual", Formato)
+
Else
Alert("No hay datos consultados", TipoMensaje.MsgAdvertencia)
End If
diff --git a/Contratos/RepPresupuestosDetalle.aspx b/Contratos/RepPresupuestosDetalle.aspx
index 799be4123..138d9b664 100644
--- a/Contratos/RepPresupuestosDetalle.aspx
+++ b/Contratos/RepPresupuestosDetalle.aspx
@@ -246,12 +246,11 @@
-
Agrupador
-
Autorizado
-
Comprometido
-
Ejercido
+
Agrupador
+
Autorizado
+
Por Ejercer
-
Pagado
+
Pagado
@@ -259,14 +258,13 @@
<%--
-
-
-
+
+
-
+
diff --git a/Contratos/RepPresupuestosDetalle.aspx.vb b/Contratos/RepPresupuestosDetalle.aspx.vb
index 5788852bb..d91a3059e 100644
--- a/Contratos/RepPresupuestosDetalle.aspx.vb
+++ b/Contratos/RepPresupuestosDetalle.aspx.vb
@@ -25,10 +25,18 @@ Partial Class Contratos_RepPresupuestosDetalle
Set(ByVal value As DataTable)
ViewState("DtPresupuestos") = value
End Set
- End Property
-
+ End Property
+ Public Property UsaComprometido() As Boolean
+ Get
+ Return DirectCast(ViewState("UsaComprometido"), Boolean)
+ End Get
+ Set(ByVal value As Boolean)
+ ViewState("UsaComprometido") = value
+ End Set
+ End Property
+
#End Region
-
+
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
@@ -37,10 +45,12 @@ Partial Class Contratos_RepPresupuestosDetalle
CargaDatos()
End If
- End Sub
-
+ End Sub
+
#Region " INICIALIZA VALORES "
- Private Sub InicializaValores()
+ Private Sub InicializaValores()
+
+ If UsuarioActual.Empresa.Funcionalidad(532) = "2" Then UsaComprometido = True Else UsaComprometido = False
TxtFiltrosFechaInicio.Text = $"01/09/{NowADS().Year - 1}"
TxtFiltrosFechaFin.Text = $"31/08/{NowADS().Year}"
@@ -61,8 +71,9 @@ Partial Class Contratos_RepPresupuestosDetalle
DdlProyecto.Items.Insert(0, New ListItem("Todos", "-1"))
DdlProyecto.DataBind()
- CargaSubProyecto()
-
+ CargaSubProyecto()
+
+
UpFiltros.Update()
End Sub
@@ -110,10 +121,10 @@ Partial Class Contratos_RepPresupuestosDetalle
TxtFiltrosFechaInicio.Text = FechaInicio
TxtFiltrosFechaFin.Text = FechaFin
ChkMensual.Checked = Mensual
- End Sub
+ End Sub
#End Region
-
-
+
+
#Region " CARGA DATOS "
Protected Sub BtnConsultarFiltros_Click(sender As Object, e As EventArgs)
CargaDatos()
@@ -131,9 +142,17 @@ Partial Class Contratos_RepPresupuestosDetalle
GvDatosMensual.DataBind()
Else
Dim ObjPresupuestos As New ClsContratos
- If ObjPresupuestos.GetPresupuestosRep(-1, DdlTipoGasto.SelectedValue.ToEntero, DdlAgrupador.SelectedValue.ToEntero, TxtFiltrosFechaInicio.Text.ToDate, TxtFiltrosFechaFin.Text.ToDate, UsuarioActual.CveEmpresa, DdlProyecto.SelectedValue.ToEntero, DdlSubProyecto.SelectedValue.ToEntero, UsuarioActual.CveUsuario, DdlClasificacion.SelectedValue.ToEntero) Then
- GvDatos.DataSource = ObjPresupuestos.DtResultados
- DtPresupuestos = ObjPresupuestos.DtResultados
+ If ObjPresupuestos.GetPresupuestosRep(-1, DdlTipoGasto.SelectedValue.ToEntero, DdlAgrupador.SelectedValue.ToEntero, TxtFiltrosFechaInicio.Text.ToDate, TxtFiltrosFechaFin.Text.ToDate, UsuarioActual.CveEmpresa, DdlProyecto.SelectedValue.ToEntero, DdlSubProyecto.SelectedValue.ToEntero, UsuarioActual.CveUsuario, DdlClasificacion.SelectedValue.ToEntero) Then
+
+ DtPresupuestos = ObjPresupuestos.DtResultados
+ If UsaComprometido Then
+ LtlthEjercido.Text = "En proceso de compra"
+ DtPresupuestos.Columns.Remove("ejercido") : DtPresupuestos.Columns("comprometido").ColumnName = "ejercido"
+ DtPresupuestos.Columns.Remove("EjercidoPorcentaje") : DtPresupuestos.Columns("comprometidoPorcentaje").ColumnName = "EjercidoPorcentaje"
+ DtPresupuestos.Columns.Remove("PorEjercer") : DtPresupuestos.Columns("PorEjercercomprometido").ColumnName = "PorEjercer"
+ DtPresupuestos.Columns.Remove("PorEjercerPorcentaje") : DtPresupuestos.Columns("PorEjercerPorcentajecomprometido").ColumnName = "PorEjercerPorcentaje"
+ End If
+ GvDatos.DataSource = ObjPresupuestos.DtResultados
End If
ObjPresupuestos.Dispose()
DivDatosMensual.Visible = False
@@ -142,10 +161,10 @@ Partial Class Contratos_RepPresupuestosDetalle
End If
UpDatos.Update()
UpDatosMensual.Update()
- End Sub
-
+ End Sub
+
#End Region
-
+
Protected Sub GvDatos_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvDatos.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
@@ -159,19 +178,19 @@ Partial Class Contratos_RepPresupuestosDetalle
e.Row.Cells(1).Text = "-"
End If
If e.Row.DBCampo("Ejercido").ToDecimal = 0 Then
- e.Row.Cells(3).Text = "-"
+ e.Row.Cells(2).Text = "-"
End If
If e.Row.DBCampo("EjercidoPorcentaje").ToDecimal = 0 Then
- e.Row.Cells(4).Text = "-"
+ e.Row.Cells(3).Text = "-"
End If
If e.Row.DBCampo("PorEjercer").ToDecimal = 0 Then
- e.Row.Cells(5).Text = "-"
+ e.Row.Cells(4).Text = "-"
End If
If e.Row.DBCampo("PorEjercerPorcentaje").ToDecimal = 0 Then
- e.Row.Cells(6).Text = "-"
+ e.Row.Cells(5).Text = "-"
End If
If e.Row.DBCampo("Pagado").ToDecimal = 0 Then
- e.Row.Cells(7).Text = "-"
+ e.Row.Cells(6).Text = "-"
End If
If e.Row.RowIndex > 0 Then
Dim CveAgrupador = e.Row.DBCampo("CveAgrupador").ToEntero
@@ -188,11 +207,11 @@ Partial Class Contratos_RepPresupuestosDetalle
End If
Dim Css = "Texto"
- Dim Liga = $"/Contratos/RepPresupuestosDetalleCompras.aspx?&CveAgrupador={CveAgrupador}&CveClasificacion={e.Row.DBCampo("CveClasificacionFiltro")}&CveConceptoContableNom={e.Row.DBCampo("CveConceptoContableNomFiltro")}&CveProyecto={e.Row.DBCampo("CveProyectoFiltro")}&CveSubProyecto={e.Row.DBCampo("CveSubProyectoFiltro")}&CveTipoGasto={e.Row.DBCampo("CveTipoGastoFiltro")}&Agrupador={e.Row.DBCampo("AgrupadorFiltro")}&Mensual={False}&EsProyecto={EsProyecto}&FechaFin={FechaFin}&FechaInicio={FechaInicio}"
- e.Row.Cells(0).Text = "" + e.Row.Cells(0).Text + ""
+ 'Dim Liga = $"/Contratos/RepPresupuestosDetalleCompras.aspx?&CveAgrupador={CveAgrupador}&CveClasificacion={e.Row.DBCampo("CveClasificacionFiltro")}&CveConceptoContableNom={e.Row.DBCampo("CveConceptoContableNomFiltro")}&CveProyecto={e.Row.DBCampo("CveProyectoFiltro")}&CveSubProyecto={e.Row.DBCampo("CveSubProyectoFiltro")}&CveTipoGasto={e.Row.DBCampo("CveTipoGastoFiltro")}&Agrupador={e.Row.DBCampo("AgrupadorFiltro")}&Mensual={False}&EsProyecto={EsProyecto}&FechaFin={FechaFin}&FechaInicio={FechaInicio}"
+ 'e.Row.Cells(0).Text = "" + e.Row.Cells(0).Text + ""
- Dim LigaComprometido = $"/Contratos/RepPresupuestosDetalleCompras.aspx?&CveAgrupador={CveAgrupador}&CveClasificacion={e.Row.DBCampo("CveClasificacionFiltro")}&CveConceptoContableNom={e.Row.DBCampo("CveConceptoContableNomFiltro")}&CveProyecto={e.Row.DBCampo("CveProyectoFiltro")}&CveSubProyecto={e.Row.DBCampo("CveSubProyectoFiltro")}&CveTipoGasto={e.Row.DBCampo("CveTipoGastoFiltro")}&Agrupador={e.Row.DBCampo("AgrupadorFiltro")}&Mensual={False}&EsProyecto={EsProyecto}&FechaFin={FechaFin}&FechaInicio={FechaInicio}&Comprometido=1"
- e.Row.Cells(2).Text = "" + e.Row.Cells(2).Text + ""
+ Dim Liga = $"/Contratos/RepPresupuestosDetalleCompras.aspx?&CveAgrupador={CveAgrupador}&CveClasificacion={e.Row.DBCampo("CveClasificacionFiltro")}&CveConceptoContableNom={e.Row.DBCampo("CveConceptoContableNomFiltro")}&CveProyecto={e.Row.DBCampo("CveProyectoFiltro")}&CveSubProyecto={e.Row.DBCampo("CveSubProyectoFiltro")}&CveTipoGasto={e.Row.DBCampo("CveTipoGastoFiltro")}&Agrupador={e.Row.DBCampo("AgrupadorFiltro")}&Mensual={False}&EsProyecto={EsProyecto}&FechaFin={FechaFin}&FechaInicio={FechaInicio}&Comprometido={If(UsaComprometido, "1", "0")}"
+ e.Row.Cells(2).Text = "" + e.Row.Cells(2).Text + ""
End If
End If
End Sub
diff --git a/Contratos/RepPresupuestosDetalleCompras.aspx.vb b/Contratos/RepPresupuestosDetalleCompras.aspx.vb
index f1dafa0e4..9c7a70963 100644
--- a/Contratos/RepPresupuestosDetalleCompras.aspx.vb
+++ b/Contratos/RepPresupuestosDetalleCompras.aspx.vb
@@ -160,7 +160,7 @@ Partial Class Contratos_RepPresupuestosDetalleCompras
Case 1
Liga = $"/Compras/Compras.aspx?&CveCompra={e.Row.DBCampo("CveCompra")}"
Case 2
- Liga = $"/Contabilidad/RegPrePoliza.aspx?&CvePrePoliza={e.Row.DBCampo("CveCompra")}"
+ Liga = $"/Contabilidad/RegPrepolizaS.aspx?&CvePrePoliza={e.Row.DBCampo("CveCompra")}"
Case Else
End Select
diff --git a/CxC/RepCxC.aspx b/CxC/RepCxC.aspx
index 0a1eda4a2..0f85fe6d6 100644
--- a/CxC/RepCxC.aspx
+++ b/CxC/RepCxC.aspx
@@ -756,7 +756,7 @@
-
+
diff --git a/CxC/RepCxCDetalle.aspx b/CxC/RepCxCDetalle.aspx
index 9766d26fa..edd5d9a5a 100644
--- a/CxC/RepCxCDetalle.aspx
+++ b/CxC/RepCxCDetalle.aspx
@@ -537,6 +537,8 @@
+
+
@@ -675,7 +677,8 @@
+
+
diff --git a/General/SaldosMenores.aspx.vb b/General/SaldosMenores.aspx.vb
index d8faa5d11..d4e14e130 100644
--- a/General/SaldosMenores.aspx.vb
+++ b/General/SaldosMenores.aspx.vb
@@ -36,6 +36,15 @@ Partial Public Class General_SaldosMenores
End Set
End Property
+ Private Property DtDatosCompras As DataTable
+ Get
+ Return DirectCast(ViewState("DtDatosCompras"), DataTable)
+ End Get
+ Set(value As DataTable)
+ ViewState("DtDatosCompras") = value
+ End Set
+ End Property
+
Private Property Tipo As Integer
Get
Return DirectCast(ViewState("Tipo"), Integer)
@@ -45,32 +54,32 @@ Partial Public Class General_SaldosMenores
End Set
End Property
- Private Property CveMoneda As Integer
- Get
- Return DirectCast(ViewState("CveMoneda"), Integer)
- End Get
- Set(value As Integer)
- ViewState("CveMoneda") = value
- End Set
- End Property
+ 'Private Property CveMoneda As Integer
+ ' Get
+ ' Return DirectCast(ViewState("CveMoneda"), Integer)
+ ' End Get
+ ' Set(value As Integer)
+ ' ViewState("CveMoneda") = value
+ ' End Set
+ 'End Property
- Private Property TCEspecifico As Double
- Get
- Return DirectCast(ViewState("TCEspecifico"), Double)
- End Get
- Set(value As Double)
- ViewState("TCEspecifico") = value
- End Set
- End Property
+ 'Private Property TCEspecifico As Double
+ ' Get
+ ' Return DirectCast(ViewState("TCEspecifico"), Double)
+ ' End Get
+ ' Set(value As Double)
+ ' ViewState("TCEspecifico") = value
+ ' End Set
+ 'End Property
- Private Property TipoCambio As Integer
- Get
- Return DirectCast(ViewState("TipoCambio"), Integer)
- End Get
- Set(value As Integer)
- ViewState("TipoCambio") = value
- End Set
- End Property
+ 'Private Property TipoCambio As Integer
+ ' Get
+ ' Return DirectCast(ViewState("TipoCambio"), Integer)
+ ' End Get
+ ' Set(value As Integer)
+ ' ViewState("TipoCambio") = value
+ ' End Set
+ 'End Property
#End Region
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
@@ -78,161 +87,91 @@ Partial Public Class General_SaldosMenores
InicializaDatos()
End If
End Sub
+ Protected Sub BtnonClickTabs_Click(sender As Object, e As EventArgs)
+ 'Consultar()
+ GvDatosIXC.DataSource = Nothing
+ GvCxC.DataSource = Nothing
+ GvCxP.DataSource = Nothing
+
+ GvDatosIXC.DataBind()
+ GvCxC.DataBind()
+ GvCxP.DataBind()
+
+ DvSaldar.Visible = False
+
+ Upsaldar.Update()
+ UpDatos.Update()
+ UpDatosNCEXC.Update()
+ UPVentas.Update()
+ UPCompras.Update()
+ End Sub
Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs) Handles BtnConsultar.Click
+ Consultar()
+ End Sub
+
+
+ Private Sub Consultar()
DvSaldar.Visible = False
DtDatosIXC = New DataTable
DtDatosNCEXC = New DataTable
DtDatosVentas = New DataTable
+ DtDatosCompras = New DataTable
+
+ DvSubProyectoSaldar1.Visible = False
+ DvSubProyectoSaldar2.Visible = False
+
+ DVDdlDeduccion1.Visible = False
+ DVDdlDeduccion2.Visible = False
If Tabs.ActiveTab Is TabIXC Then
CargaDatosIXC()
If DtDatosIXC.Rows.Count > 0 Then
DvSaldar.Visible = True
+ DvSubProyectoSaldar1.Visible = True
+ DvSubProyectoSaldar2.Visible = True
End If
End If
-
-
If Tabs.ActiveTab Is TabVentas Then
CargaDatosVentas()
If DtDatosVentas.Rows.Count > 0 Then
DvSaldar.Visible = True
+ DVDdlDeduccion1.Visible = True
+ DVDdlDeduccion2.Visible = True
End If
End If
+
+ If Tabs.ActiveTab Is TabCompras Then
+ CargaDatosCompras()
+ If DtDatosCompras.Rows.Count > 0 Then
+ DvSaldar.Visible = True
+ End If
+ End If
+
+
+
Upsaldar.Update()
-
End Sub
-
Protected Sub BtnSaldar_Click(sender As Object, e As EventArgs)
If Tabs.ActiveTab Is TabIXC Then
- Dim ObjConta As New ClsContabilidad()
- ObjConta.IniciaTransacSQL()
- Dim CvePrePoliza As Integer = 0, CveVenta As Integer = -1, CveIE As Integer = -1
- Dim Saldo As Decimal = 0
- Dim SaldoAdmin As Decimal = 0
- Dim ImporteTotalGasto As Decimal = 0
- Dim MsgError As String = ""
-
- CvePrePoliza = ObjConta.AddPrePolizas("Bancos/RepNCXAplicar", 6, 0, 0, 1, TxtFecha.Text.ToDate(), TxtConcepto.Text, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 3)
- Dim tMovto As Boolean = True
- Dim tConceptoSaldar As Integer = 78
-
- If CvePrePoliza > 0 Then
- For Each Gv As GridViewRow In GvDatosIXC.Rows
- Dim ConPreP As New ConceptosTipoSaldo()
-
- If Gv.FCCheckBox("Chk").Checked Then
-
- If Gv.DataKey("CveVenta").ToEntero > 0 Then
- ConPreP = ClsPaginas.ObtenerCveConceptoPrePoliza(6, Gv.DataKey("CveMoneda").ToEntero(), False, 2)
- ElseIf Gv.DataKey("CveIE").ToEntero > 0 Then
- ConPreP.CveConcepto = 3
- End If
-
- 'If Tipo = 1 OrElse Tipo = 2 Then
- If Gv.DataKey("CveVenta").ToEntero() > 0 Then
- CveVenta = Gv.DataKey("CveVenta").ToEntero()
- Saldo = -Gv.DataKey("Saldo").ToDecimal()
- SaldoAdmin = Saldo
-
- ElseIf Gv.DataKey("CveIE").ToEntero() > 0 Then
- 'ElseIf Tipo = 3 Then
- ConPreP = ClsPaginas.ObtenerCveConceptoPrePoliza(18, Gv.DataKey("CveMoneda").ToEntero(), True, 2)
- CveIE = Gv.DataKey("CveIE").ToEntero()
- Saldo = Gv.DataKey("Saldo").ToDecimal()
- SaldoAdmin = Saldo
- End If
-
- Saldo = -Saldo ' invertimos el saldo para que se haga negativo para que sea Abono
-
- ImporteTotalGasto += Saldo
-
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, tMovto, SaldoAdmin, Saldo, ConPreP.CveConcepto, Gv.DataKey("SerieFolio").ToString(), TxtConcepto.Text, CveIE, CveVenta, CveCliente:=Gv.DataKey("CveCliente").ToEntero()) Then
- MsgError = "Ocurrio un error al saldar el movimiento"
- Exit For
- End If
-
- If Gv.DataKey("CveMoneda").ToEntero() > 1 Then
- Dim ImporteMN As Decimal = (Saldo * Gv.DataKey("TipoCambio").ToDecimal() - Saldo).RoundSQL()
- ImporteTotalGasto += ImporteMN
-
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, tMovto, Saldo, ImporteMN, ConPreP.CveConceptoComplementario, Gv.DataKey("SerieFolio").ToString(), TxtConcepto.Text, CveIE, CveVenta, CveCliente:=Gv.DataKey("CveCliente").ToEntero(), ImporteME:=Saldo, TipoCambio:=Gv.DataKey("TipoCambio").ToDecimal()) Then
- MsgError = "Ocurrio un error al saldar el movimiento"
- Exit For
- End If
- End If
- End If
- Next
-
- If ImporteTotalGasto <> 0 Then
- ImporteTotalGasto *= -1 ' se invierte el valor, para cuadre de prepoliza
-
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, tMovto, ImporteTotalGasto, ImporteTotalGasto, tConceptoSaldar, "", TxtConcepto.Text, CveIE, CveVenta, CveSubProyecto:=DdlSubProyectoSaldar.SelectedValue.ToEntero()) Then
- MsgError = "Ocurrio un error al saldar el movimiento"
- End If
- Else
- MsgError = "Poliza no insertada"
- End If
- End If
-
- If MsgError = "" Then
- ObjConta.Commit()
- Dim Msg As String = "Los movimientos se saldaron correctamente."
- Msg &= $"
Ver Póliza "
- Alert(Msg)
- Else
- ObjConta.RollBack()
- Alert(MsgError, ModExtensiones.TipoMensaje.MsgError)
- End If
-
- CargaDatosIXC()
- ObjConta.Dispose()
+ SaldarIXC()
End If
-
If Tabs.ActiveTab Is TabVentas Then
+ SaldarVentas()
+ End If
+ If Tabs.ActiveTab Is TabCompras Then
+ SaldarCompras()
End If
- TxtFecha.Text = DateTime.Today.ToString()
Upsaldar.Update()
- End Sub
-
-
-
-#Region "I X C"
- Protected Sub InicializaDatos()
- txtFechaI.Text = $"01/01/{Now.Year}"
- txtFechaF.Text = DateTime.Today.ToString()
- TxtFecha.Text = DateTime.Today.ToString()
-
- TxtSaldoMayorA.Text = "0"
- TxtSaldoMenorA.Text = "1000"
-
- CargaSucursales()
-
- Dim CveCliente As Integer = If(Request("CveCliente") Is Nothing, -1, Request("CveCliente").ToString().ToEntero())
-
-
- CveMoneda = If(Request("CveMoneda") Is Nothing, -1, Request("CveMoneda").ToString().ToEntero())
- txtFechaI.Text = If(Request("FechaI") Is Nothing, NowADS().ToString(), Request("FechaI").ToString())
- txtFechaF.Text = If(Request("FechaF") Is Nothing, NowADS().ToString(), Request("FechaF").ToString())
- TipoCambio = If(Request("TipoCambio") Is Nothing, 1, Request("TipoCambio").ToString().ToEntero())
- TCEspecifico = If(Request("TCEspecifico") Is Nothing, -1, Request("TCEspecifico").ToString().ToDouble())
- 'RblTipoCambio.SelectedValue = TipoCambio.ToString()
- 'LiEspecifico.InnerText = TCEspecifico.FormatoNumero()
-
- Dim FechaICorte As DateTime
- FechaICorte = If(Request("FechaICorte") Is Nothing, DateTime.MinValue, Request("FechaICorte").ToString().ToDate())
-
- Tipo = -1
-
End Sub
@@ -242,6 +181,26 @@ Partial Public Class General_SaldosMenores
DdlSubProyectoSaldar.DataBind()
End Sub
+#Region "I X C"
+ Protected Sub InicializaDatos()
+
+
+ txtFechaI.Text = $"01/01/{Now.Year}"
+ txtFechaF.Text = DateTime.Today.ToString()
+ TxtFecha.Text = DateTime.Today.ToString()
+
+ TxtSaldoMayorA.Text = "0"
+ TxtSaldoMenorA.Text = "1000"
+
+ CargaSucursales()
+ '
+ Tipo = -1
+
+
+ End Sub
+
+
+
Protected Sub CargaDatosIXC()
@@ -254,7 +213,7 @@ Partial Public Class General_SaldosMenores
- If ObjVenta.GetRepAnticiposNCIXCDetalle(CveCliente, -1, txtFechaI.Text.ToDate(), txtFechaF.Text.ToDate(), UsuarioActual.CveEmpresa, 1, -1, CveMoneda, FechaICorte, FechaFCorte, TipoCambio, TCEspecifico,
+ If ObjVenta.GetRepAnticiposNCIXCDetalle(CveCliente, -1, txtFechaI.Text.ToDate(), txtFechaF.Text.ToDate(), UsuarioActual.CveEmpresa, 1, -1, -1, FechaICorte, FechaFCorte, -1, -1,
SaldoMayorA:=TxtSaldoMayorA.Text.ToDecimal, SaldoMenorA:=TxtSaldoMenorA.Text.ToDecimal) Then
GvDatosIXC.DataSource = ObjVenta.DtResultados
DtDatosIXC = ObjVenta.DtResultados
@@ -330,7 +289,91 @@ Partial Public Class General_SaldosMenores
End Sub
+ Protected Sub SaldarIXC()
+ Dim ObjConta As New ClsContabilidad()
+ ObjConta.IniciaTransacSQL()
+ Dim CvePrePoliza As Integer = 0, CveVenta As Integer = -1, CveIE As Integer = -1
+ Dim Saldo As Decimal = 0
+ Dim SaldoAdmin As Decimal = 0
+ Dim ImporteTotalGasto As Decimal = 0
+ Dim MsgError As String = ""
+ CvePrePoliza = ObjConta.AddPrePolizas("SaldosMenores/RepNCXAplicar", 6, 0, 0, 1, TxtFecha.Text.ToDate(), TxtConcepto.Text, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 3)
+ Dim tMovto As Boolean = True
+ Dim tConceptoSaldar As Integer = 78
+
+ If CvePrePoliza > 0 Then
+ For Each Gv As GridViewRow In GvDatosIXC.Rows
+ Dim ConPreP As New ConceptosTipoSaldo()
+
+ If Gv.FCCheckBox("Chk").Checked Then
+
+ If Gv.DataKey("CveVenta").ToEntero > 0 Then
+ ConPreP = ClsPaginas.ObtenerCveConceptoPrePoliza(6, Gv.DataKey("CveMoneda").ToEntero(), False, 2)
+ ElseIf Gv.DataKey("CveIE").ToEntero > 0 Then
+ ConPreP.CveConcepto = 3
+ End If
+
+ 'If Tipo = 1 OrElse Tipo = 2 Then
+ If Gv.DataKey("CveVenta").ToEntero() > 0 Then
+ CveVenta = Gv.DataKey("CveVenta").ToEntero()
+ Saldo = -Gv.DataKey("Saldo").ToDecimal()
+ SaldoAdmin = Saldo
+
+ ElseIf Gv.DataKey("CveIE").ToEntero() > 0 Then
+ 'ElseIf Tipo = 3 Then
+ ConPreP = ClsPaginas.ObtenerCveConceptoPrePoliza(18, Gv.DataKey("CveMoneda").ToEntero(), True, 2)
+ CveIE = Gv.DataKey("CveIE").ToEntero()
+ Saldo = Gv.DataKey("Saldo").ToDecimal()
+ SaldoAdmin = Saldo
+ End If
+
+ Saldo = -Saldo ' invertimos el saldo para que se haga negativo para que sea Abono
+
+ ImporteTotalGasto += Saldo
+
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, tMovto, SaldoAdmin, Saldo, ConPreP.CveConcepto, Gv.DataKey("SerieFolio").ToString(), TxtConcepto.Text, CveIE, CveVenta, CveCliente:=Gv.DataKey("CveCliente").ToEntero()) Then
+ MsgError = "Ocurrio un error al saldar el movimiento"
+ Exit For
+ End If
+
+ If Gv.DataKey("CveMoneda").ToEntero() > 1 Then
+ Dim ImporteMN As Decimal = (Saldo * Gv.DataKey("TipoCambio").ToDecimal() - Saldo).RoundSQL()
+ ImporteTotalGasto += ImporteMN
+
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, tMovto, Saldo, ImporteMN, ConPreP.CveConceptoComplementario, Gv.DataKey("SerieFolio").ToString(), TxtConcepto.Text, CveIE, CveVenta, CveCliente:=Gv.DataKey("CveCliente").ToEntero(), ImporteME:=Saldo, TipoCambio:=Gv.DataKey("TipoCambio").ToDecimal()) Then
+ MsgError = "Ocurrio un error al saldar el movimiento"
+ Exit For
+ End If
+ End If
+ End If
+ Next
+
+ If ImporteTotalGasto <> 0 Then
+ ImporteTotalGasto *= -1 ' se invierte el valor, para cuadre de prepoliza
+
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, tMovto, ImporteTotalGasto, ImporteTotalGasto, tConceptoSaldar, "", TxtConcepto.Text, CveIE, CveVenta, CveSubProyecto:=DdlSubProyectoSaldar.SelectedValue.ToEntero()) Then
+ MsgError = "Ocurrio un error al saldar el movimiento"
+ End If
+ Else
+ MsgError = "Poliza no insertada"
+ End If
+ End If
+
+ If MsgError = "" Then
+ ObjConta.Commit()
+ ' DvSaldar.Visible = False
+ Dim Msg As String = "Los movimientos se saldaron correctamente."
+ Msg &= $"
Ver Póliza "
+ Alert(Msg)
+ Else
+ ObjConta.RollBack()
+ Alert(MsgError, ModExtensiones.TipoMensaje.MsgError)
+ End If
+
+ CargaDatosIXC()
+ ObjConta.Dispose()
+ End Sub
#End Region
@@ -347,7 +390,7 @@ Partial Public Class General_SaldosMenores
Dim ObjVenta As New ClsVentas()
Dim CveCliente As Integer = -1
- If ObjVenta.GetRepAnticiposNCIXCDetalle(CveCliente, -1, txtFechaI.Text.ToDate(), txtFechaF.Text.ToDate(), UsuarioActual.CveEmpresa, 1, -1, CveMoneda, FechaICorte, FechaFCorte, TipoCambio, TCEspecifico,
+ If ObjVenta.GetRepAnticiposNCIXCDetalle(CveCliente, -1, txtFechaI.Text.ToDate(), txtFechaF.Text.ToDate(), UsuarioActual.CveEmpresa, 1, -1, -1, FechaICorte, FechaFCorte, -1, -1,
SaldoMayorA:=TxtSaldoMayorA.Text.ToDecimal, SaldoMenorA:=TxtSaldoMenorA.Text.ToDecimal) Then
GvDatosNCEXC.DataSource = ObjVenta.DtResultados
DtDatosNCEXC = ObjVenta.DtResultados
@@ -426,9 +469,6 @@ Partial Public Class General_SaldosMenores
#Region "V E N T A S"
-
- '/Compras/RepAnt-NC-EXCDetalle.aspx
-
Protected Sub CargaDatosVentas()
Dim Mov As New ClsMovimientos
@@ -438,8 +478,8 @@ Partial Public Class General_SaldosMenores
Dim FechaCorte As Date = NowADS().AddYears(1).ToShortDateString.ToString.ToDate
Dim SumDescuentoProntoPago As Double = 0.0
- If Mov.GetCxCClienteDetalle(-1, FechaI, FechaF, -1, -1, UsuarioActual.CveEmpresa, -1, FechaCorte:=FechaCorte) Then
- DtDatosVentas = Mov.DtResultados.FiltraParametros($"Saldo > {TxtSaldoMayorA.Text.ToDecimal} AND Saldo < {TxtSaldoMenorA.Text.ToDecimal} ", "Fecha,SerieFolio").AsEnumerable().Take(51).CopyToDataTable()
+ If Mov.GetCxCClienteDetalle(-1, FechaI, FechaF, -1, -1, UsuarioActual.CveEmpresa, -1, FechaCorte:=FechaCorte, Opcion:=2, SaldoMayorA:=TxtSaldoMayorA.Text.ToDecimal, SaldoMenorA:=TxtSaldoMenorA.Text.ToDecimal) Then
+ DtDatosVentas = Mov.DtResultados
'Dim TmpCxCAux As DataTable
'TmpCxCAux = Mov.DtResultados.FiltraParametros($"Saldo > {TxtSaldoMayorA.Text.ToDecimal} AND Saldo < {TxtSaldoMenorA.Text.ToDecimal} ", "Fecha,SerieFolio").AsEnumerable().Take(51).CopyToDataTable()
@@ -467,9 +507,350 @@ Partial Public Class General_SaldosMenores
Protected Sub GvCxC_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvCxC.RowDataBound
+ If e.Row.RowType = DataControlRowType.DataRow Then
+ If e.Row.DataKey("CveVenta").ToEntero <= 0 Then
+ e.Row.BackColor = Drawing.Color.LightGray
+ e.Row.FCCheckBox("Chk").Visible = False
+ End If
+ End If
+ End Sub
+
+
+ Protected Sub SaldarVentas()
+ Dim ObjConta As New ClsContabilidad
+ ObjConta.IniciaTransacSQL()
+ Dim CvePrePoliza As Integer = 0
+ Dim MsgError As String = ""
+
+ 'Dim ObjIE As New ClsBancos
+ Dim FechaUltimaFluctuacion As Date = MinFecha
+ Dim TipoCambioFluctuacion As Decimal = 1
+
+ Dim tFecha As Date = TxtFecha.Text.ToDate
+ Dim UltimaFluctuacion As MTipoCambioFluctuacion = GlobalTipoCambioUltimaFluctuacion(tFecha)
+
+ If UsuarioActual.Empresa.Funcionalidad(703) = "1" AndAlso UltimaFluctuacion IsNot Nothing Then
+ If UltimaFluctuacion.FechaFluctuacion <= tFecha Then
+ FechaUltimaFluctuacion = UltimaFluctuacion.FechaFluctuacion
+ TipoCambioFluctuacion = UltimaFluctuacion.TCFluctuacion
+ End If
+ End If
+
+ CvePrePoliza = ObjConta.AddPrePolizas("SaldosMenores/SaldarI", 47, 0, 0, 1, TxtFecha.Text.ToDate, TxtConcepto.Text.Trim, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
+
+
+ For Each gr As GridViewRow In GvCxC.Rows
+ If gr.FCCheckBox("Chk").Checked Then
+ Dim PorcentajePago As Decimal = gr.DataKey("Saldo").ToDecimal / gr.DataKey("Original").ToDecimal
+ Dim Saldo As Decimal = gr.DataKey("Saldo").ToDecimal
+ Dim RETIVA As Decimal = gr.DataKey("RetIVA").ToDecimal
+ Dim SubTotal As Decimal = PorcentajePago * (gr.DataKey("SubTotal").ToDecimal.RoundSQL - gr.DataKey("Descuento").ToDecimal.RoundSQL).RoundSQL
+ Dim IVA As Decimal = PorcentajePago * gr.DataKey("IVA").ToDecimal.RoundSQL
+ Dim IEPS As Decimal = PorcentajePago * gr.DataKey("IEPS").ToDecimal.RoundSQL
+ Dim TCVenta As Decimal = gr.DataKey("TipoCambio").ToDecimal
+ Dim FechaVenta As Date = gr.DataKey("Fecha").ToDate
+ Dim tCveMoneda As Integer = gr.DataKey("CveMoneda").ToEntero
+ Dim TCPago As Decimal = GlobalTipoCambio(TxtFecha.Text.ToDate).FormatoNumero(4).ToDecimal
+ Dim CveConceptoDeduccion As Integer = DdlTipoDeduccion.SelectedValue.ToEntero
+
+ Dim CveMoneda As Integer = gr.DataKey("CveMoneda").ToEntero
+
+ 'si la fecha del documento es anterior a su ultima fluctuación. toma el Tc de la fluctuacion
+ If tCveMoneda = 2 Then
+ If FechaVenta < FechaUltimaFluctuacion Then
+ TCVenta = TipoCambioFluctuacion
+ End If
+ End If
+ 'condicionante
+ Dim ClienteMovto As Boolean = True
+ Dim SubtotalMovto As Boolean = False
+ Dim CveConceptoCliente As Integer = 2
+ Dim ImpuestosMovto As Boolean = False
+
+ Dim CveSubProyecto As Integer = gr.DataKey("CveSubProyecto").ToEntero
+ Dim ConceptoPartida As String = TxtConcepto.Text.Trim & " " & gr.DataKey("SerieFolio").ToString
+ 'TxtConcepto.Text
+ 'If CveConceptoDeduccion = 255 Then IdCuentaContableNoDeducible = UsuarioActual.Empresa.Funcionalidad(266).ToEntero
+ 'If CveConceptoDeduccion = 179 Then IdCuentaContableNoDeducible = UsuarioActual.Empresa.Funcionalidad(559).ToEntero
+ 'If CveConceptoDeduccion = 263 Then IdCuentaContableNoDeducible = UsuarioActual.Empresa.Funcionalidad(537).ToEntero
+ 'If CveConceptoDeduccion = 252 Then IdCuentaContableNoDeducible = UsuarioActual.Empresa.Funcionalidad(581).ToEntero
+
+ If UsuarioActual.CveEmpresa.Contiene(4, 7, 11, 12, 122) Then
+
+ ClienteMovto = False : Saldo = Saldo * -1
+ ImpuestosMovto = True : IVA = IVA * -1
+ RETIVA = ((SubTotal * RETIVA / gr.DataKey("SubTotal").ToDecimal.RoundSQL) * -1).RoundSQL(2)
+ CveConceptoCliente = 1
+ End If
+
+ Dim UsaComplementaria As Boolean = True
+
+ 'If UsuarioActual.CveEmpresa = 119 Then
+ ' UsaComplementaria = True
+ 'End If
+
+ If MsgError = "" Then
+ Dim ConPreP As ConceptosTipoSaldo = ClsPaginas.ObtenerCveConceptoPrePoliza(6, tCveMoneda, True, 1)
+ 'normal
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, ClienteMovto, Saldo, Saldo, ConPreP.CveConcepto, gr.DataKey("SerieFolio").ToString, ConceptoPartida, CveCliente:=gr.DataKey("CveCliente").ToEntero, CveVenta:=gr.DataKey("CveVenta").ToEntero, TipoCambio:=TCVenta, TipoCambioPago:=TCPago) Then
+ MsgError = "Ocurrio un error al saldar el movimiento"
+ End If
+
+ If UsaComplementaria AndAlso tCveMoneda = 2 Then
+ 'complementaria
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, ClienteMovto, 0, If(CveMoneda = 1, Saldo, (Saldo * TCVenta) - Saldo).RoundSQL, ConPreP.CveConceptoComplementario, gr.DataKey("SerieFolio").ToString, ConceptoPartida, CveCliente:=gr.DataKey("CveCliente").ToEntero, CveVenta:=gr.DataKey("CveVenta").ToEntero, ImporteME:=Saldo, TipoCambio:=TCVenta, TipoCambioPago:=TCPago) Then
+ MsgError = "Ocurrio un error al saldar el movimiento"
+ End If
+ End If
+
+ 'fluctuación.
+ If tCveMoneda = 2 Then
+ Dim ImporteFluctuacion As Decimal = 0
+ ImporteFluctuacion = Saldo * (TCPago - TCVenta)
+
+ If CveSubProyecto <= 0 Then
+ MsgError = $"No se pudo obtener el sub proyecto de la venta {gr.DataKey("SerieFolio").ToString}"
+ End If
+
+ If TCPago > TCVenta Then
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Math.Abs(ImporteFluctuacion), Math.Abs(ImporteFluctuacion), 64, gr.DataKey("SerieFolio").ToString, ConceptoPartida, CveCliente:=gr.DataKey("CveCliente").ToEntero, CveVenta:=gr.DataKey("CveVenta").ToEntero, TipoCambio:=TCVenta, TipoCambioPago:=TCPago, CveSubProyecto:=CveSubProyecto) Then
+ MsgError = "Ocurrio un error al saldar el movimiento"
+ End If
+ Else
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Math.Abs(ImporteFluctuacion), Math.Abs(ImporteFluctuacion), 65, gr.DataKey("SerieFolio").ToString, ConceptoPartida, CveCliente:=gr.DataKey("CveCliente").ToEntero, CveVenta:=gr.DataKey("CveVenta").ToEntero, TipoCambio:=TCVenta, TipoCambioPago:=TCPago, CveSubProyecto:=CveSubProyecto) Then
+ MsgError = "Ocurrio un error al saldar el movimiento"
+ End If
+ End If
+
+ 'cuando hay pago en dólares, se ajusta el concepto de subtotal,
+ SubTotal = (Saldo * TCVenta) + ImporteFluctuacion - (IVA * TCVenta) - (IEPS * TCVenta)
+
+ End If
+
+ If (IVA > 0 Or UsuarioActual.CveEmpresa.Contiene(4, 7, 11, 12, 122) And IVA < 0) AndAlso Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, ImpuestosMovto, IVA, If(CveMoneda = 1, IVA, IVA * TCVenta), 13, gr.DataKey("SerieFolio").ToString, ConceptoPartida, CveCliente:=gr.DataKey("CveCliente").ToEntero, CveVenta:=gr.DataKey("CveVenta").ToEntero, PorcentajeImpuesto:=gr.DataKey("PorcentajeIVA").ToDecimal, TipoCambio:=TCVenta, TipoCambioPago:=TCPago) Then
+ MsgError = "Ocurrio un error al saldar el movimiento"
+ End If
+ If (RETIVA > 0 Or UsuarioActual.CveEmpresa.Contiene(4, 7, 11, 12, 122) And RETIVA < 0) AndAlso Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, ClienteMovto, RETIVA, If(CveMoneda = 1, RETIVA, RETIVA * TCVenta), 8, gr.DataKey("SerieFolio").ToString, ConceptoPartida, CveCliente:=gr.DataKey("CveCliente").ToEntero, CveVenta:=gr.DataKey("CveVenta").ToEntero, TipoCambio:=TCVenta, TipoCambioPago:=TCPago) Then
+ MsgError = "Ocurrio un error al saldar el movimiento"
+ End If
+ If IEPS > 0 AndAlso Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, ImpuestosMovto, IEPS, If(CveMoneda = 1, IEPS, IEPS * TCVenta), 38, gr.DataKey("SerieFolio").ToString, ConceptoPartida, CveCliente:=gr.DataKey("CveCliente").ToEntero, CveVenta:=gr.DataKey("CveVenta").ToEntero, TipoCambio:=TCVenta, TipoCambioPago:=TCPago) Then
+ MsgError = "Ocurrio un error al saldar el movimiento"
+ End If
+ 'al gasto,Subtotal
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, SubtotalMovto, SubTotal, SubTotal, CveConceptoDeduccion, gr.DataKey("SerieFolio").ToString, ConceptoPartida, CveCliente:=gr.DataKey("CveCliente").ToEntero, CveVenta:=gr.DataKey("CveVenta").ToEntero, CveSubProyecto:=CveSubProyecto, CveCuenta:=-1, TipoCambio:=TCVenta, TipoCambioPago:=TCPago) Then
+ MsgError = "Ocurrio un error al saldar el movimiento"
+ End If
+
+ If ObjConta.ValidacionesPrePoliza(CvePrePoliza, UsuarioActual, Opcion:=5) Then
+ If ObjConta.ValorPolizaDescuadre > 0 Then
+ MsgError = ObjConta.MensajePolizaDescuadre + " " + ObjConta.ValorDiferencia
+ GuardaLogAD($"Ventas/ClientesAbonar | Error:{ObjConta.MensajePolizaDescuadre} Diferencia:{ObjConta.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas")
+ Exit For
+ End If
+ End If
+ End If
+ End If
+ Next
+
+ If MsgError = "" Then
+ 'ObjConta.RollBack()
+ ObjConta.Commit()
+ 'DvSaldar.Visible = False
+ CargaDatosVentas()
+ 'RegistraScript("$('#ModalSaldarCuentaIncobrable').modal('hide')")
+ Alert(String.Format("Los movimientos se saldaron correctamente. Ver PrePóliza", CvePrePoliza), TipoMensaje.MsgInformacion)
+ 'BtnSaldarCuentasIncobrables.Visible = False
+ Else
+ ObjConta.RollBack()
+ Alert(MsgError, TipoMensaje.MsgError)
+ End If
+
+
+ ObjConta.Dispose()
+ End Sub
+
+#End Region
+
+#Region "C O M P R A S"
+
+
+ Protected Sub CargaDatosCompras()
+
+ Dim Mov As New ClsMovimientos
+ Dim FechaI As String = txtFechaI.Text
+ Dim FechaF As String = txtFechaF.Text
+
+
+
+ If Mov.GetCxPProveedor(-1, FechaI, FechaF, -1, -1, -1, -1, -1, -1, -1, -1, "-1", "-1", "-1", CveSubProyecto:=-1, Opcion:=2, CveEmpresa:=UsuarioActual.CveEmpresa, SaldoMayorA:=TxtSaldoMayorA.Text.ToDecimal, SaldoMenorA:=TxtSaldoMenorA.Text.ToDecimal) Then
+ DtDatosCompras = Mov.DtResultados
+ GvCxP.DataSource = DtDatosCompras
+ DtDatosCompras.Columns.Add("Movimiento")
+ If DtDatosCompras.Rows.Count > 0 Then
+ DtDatosCompras.Rows(0)("Movimiento") = "FACTURA DE ACREEDOR"
+ End If
+
+ End If
+
+ Mov.Dispose()
+ GvCxP.DataBind()
+ UPCompras.Update()
End Sub
+ Protected Sub GvCxP_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvCxP.RowDataBound
+
+ If e.Row.RowType = DataControlRowType.DataRow Then
+
+ 'e.Row.FCCheckBox("Chk").Attributes.Add("onclick", String.Format("FnSuma(this,{0},{1});", e.Row.FCTextBox("TxtAbonar").ClientID, e.Row.DBCampo("Saldo")))
+ If e.Row.DataKey("CveCompra").ToEntero = 0 Then
+ e.Row.FCCheckBox("Chk").Visible = False
+ e.Row.BackColor = Drawing.Color.LightGray
+ End If
+
+ End If
+ End Sub
+
+ Protected Sub SaldarCompras()
+
+ Dim ObjConta As New ClsContabilidad
+ ObjConta.IniciaTransacSQL()
+ Dim CvePrePoliza As Integer = 0
+ Dim MsgError As String = ""
+ Dim FuncionalidadFluctuacionImpuestos As Boolean = If(UsuarioActual.Empresa.Funcionalidad(159) = "1", True, False)
+
+ Dim EsContabilizable As Boolean = If(UsuarioActual.CveEmpresa.Contiene(13, 83), False, True)
+
+ CvePrePoliza = ObjConta.AddPrePolizas("SaldosMenores/SaldarE", 98, 0, 0, 1, TxtFecha.Text.ToDate, TxtConcepto.Text.Trim, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
+
+ For Each gr As GridViewRow In GvCxP.Rows
+ If gr.FCCheckBox("Chk").Checked Then
+ Dim Saldo As Decimal = gr.DataKey("Saldo").ToDecimal 'gr.DataKey("Saldo").ToDecimal
+ Dim TCCompra As Decimal = gr.DataKey("TipoCambio").ToDecimal
+ Dim TCPago As Decimal = GlobalTipoCambio(TxtFecha.Text.ToDate).ToDecimal
+ Dim CveMoneda As Integer = gr.DataKey("CveMoneda").ToEntero
+ Dim FechaCompra As Date = gr.DataKey("Fecha").ToDate
+ Dim CveSubProyecto As Integer = gr.DataKey("CveSubProyecto").ToEntero
+
+ Dim CveConceptoContablePago As Integer = 17
+ If gr.DataKey("CveTipoConcepto").ToEntero = 2 Then CveConceptoContablePago = 308 'cuando es acreedor
+ If CveMoneda <> 1 Then
+ Select Case CveConceptoContablePago
+ Case 17
+ CveConceptoContablePago = 312
+ Case 308
+ CveConceptoContablePago = 309
+ Case Else
+ End Select
+ End If
+
+ Dim CveConceptoContableComplementaria As Integer = 206
+ If gr.DataKey("CveTipoConcepto").ToEntero = 2 Then CveConceptoContableComplementaria = 310 'cuando es acreedor
+
+ Dim ConceptoPartida As String = String.Format("Saldar compra {0}", gr.DataKey("SerieFolio").ToString)
+
+
+ If CveMoneda > 1 Then
+
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Saldo, Saldo, CveConceptoContablePago, gr.DataKey("SerieFolio").ToString, ConceptoPartida, CveProveedor:=gr.DataKey("CveProveedor").ToEntero, CveCompra:=gr.DataKey("CveCompra").ToEntero, TipoCambio:=TCCompra, ImporteME:=If(CveMoneda > 1, Saldo, 0), Contabilizable:=EsContabilizable) Then
+ MsgError = "Ocurrio un error al saldar el movimiento"
+ End If
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, 0.00D, (Saldo * TCCompra - Saldo).RoundSQL, CveConceptoContableComplementaria, gr.DataKey("SerieFolio").ToString, ConceptoPartida, CveProveedor:=gr.DataKey("CveProveedor").ToEntero, CveCompra:=gr.DataKey("CveCompra").ToEntero, ImporteME:=Saldo, TipoCambio:=TCCompra, Contabilizable:=EsContabilizable) Then
+ MsgError = "No se pudo insertar la póliza"
+ End If
+ Else
+ TCPago = 1
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Saldo, If(CveMoneda = 1, Saldo, Saldo * TCCompra), CveConceptoContablePago, gr.DataKey("SerieFolio").ToString, ConceptoPartida, CveProveedor:=gr.DataKey("CveProveedor").ToEntero, CveCompra:=gr.DataKey("CveCompra").ToEntero, ImporteME:=If(CveMoneda > 1, Saldo, 0), TipoCambio:=TCCompra, Contabilizable:=EsContabilizable) Then
+ MsgError = "Ocurrio un error al saldar el movimiento"
+ End If
+ End If
+ Dim PorcentajePago As Decimal = Saldo / gr.DataKey("TotalOriginal").ToDecimal
+
+ If MsgError = "" AndAlso gr.DataKey("IVA").ToDecimal > 0 Then
+ Dim PorcentajeImpuesto As Decimal = gr.DataKey("PorcentajeIVA").ToDecimal
+ Dim IVA As Decimal = PorcentajePago * gr.DataKey("IVA").ToDecimal
+
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, IVA, If(CveMoneda = 1, IVA, IVA * If(FuncionalidadFluctuacionImpuestos, TCPago, TCCompra)), 14, gr.DataKey("SerieFolio").ToString, ConceptoPartida, CveProveedor:=gr.DataKey("CveProveedor").ToEntero, CveCompra:=gr.DataKey("CveCompra").ToEntero, PorcentajeImpuesto:=PorcentajeImpuesto, Contabilizable:=EsContabilizable) Then
+ MsgError = "Ocurrio un error al saldar el movimiento"
+ End If
+ Saldo = Saldo - IVA
+ End If
+
+ If MsgError = "" AndAlso gr.DataKey("IEPS").ToDecimal > 0 Then
+
+ Dim IEPS As Decimal = PorcentajePago * gr.DataKey("IEPS").ToDecimal
+
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, IEPS, If(CveMoneda = 1, IEPS, IEPS * If(FuncionalidadFluctuacionImpuestos, TCPago, TCCompra)), 25, gr.DataKey("SerieFolio").ToString, ConceptoPartida, CveProveedor:=gr.DataKey("CveProveedor").ToEntero, CveCompra:=gr.DataKey("CveCompra").ToEntero, Contabilizable:=EsContabilizable) Then
+ MsgError = "Ocurrio un error al saldar el movimiento"
+ End If
+ Saldo = Saldo - IEPS
+ End If
+
+ ' se manda al ot ingresos, los impuestos por acreditar
+ If MsgError = "" Then
+ Dim tcvecon As Integer = 78
+ Dim tTipoMovto As Boolean = True
+ If Saldo < 0 Then
+ tcvecon = 211
+ tTipoMovto = False
+ End If
+ If MsgError = "" AndAlso Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, tTipoMovto, Saldo, (Saldo * TCPago).RoundSQL, tcvecon, gr.DataKey("SerieFolio").ToString, ConceptoPartida, CveProveedor:=gr.DataKey("CveProveedor").ToEntero, CveCompra:=gr.DataKey("CveCompra").ToEntero, TipoCambio:=TCCompra, TipoCambioPago:=TCPago, CveSubProyecto:=CveSubProyecto, Contabilizable:=EsContabilizable) Then
+ MsgError = "Ocurrio un error al saldar el movimiento"
+ End If
+ End If
+
+ 'fluctuación.
+ If CveMoneda > 1 Then
+ Dim ImporteFluctuacion As Decimal = 0
+ ImporteFluctuacion = Saldo * (TCPago - TCCompra)
+
+ If CveSubProyecto <= 0 Then MsgError = "No se pudo obtener el sub proyecto o centro de costo"
+
+ If TCCompra > TCPago Then
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Math.Abs(ImporteFluctuacion), Math.Abs(ImporteFluctuacion), 64, gr.DataKey("SerieFolio").ToString, ConceptoPartida, CveSubProyecto:=CveSubProyecto, CveProveedor:=gr.DataKey("CveProveedor").ToEntero, CveCompra:=gr.DataKey("CveCompra").ToEntero, TipoCambio:=TCCompra, TipoCambioPago:=TCPago, Contabilizable:=EsContabilizable) Then
+ MsgError = "Ocurrio un error al saldar el movimiento"
+ End If
+ Else
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Math.Abs(ImporteFluctuacion), Math.Abs(ImporteFluctuacion), 65, gr.DataKey("SerieFolio").ToString, ConceptoPartida, CveSubProyecto:=CveSubProyecto, CveProveedor:=gr.DataKey("CveProveedor").ToEntero, CveCompra:=gr.DataKey("CveCompra").ToEntero, TipoCambio:=TCCompra, TipoCambioPago:=TCPago, Contabilizable:=EsContabilizable) Then
+ MsgError = "Ocurrio un error al saldar el movimiento"
+ End If
+ End If
+ End If
+ End If
+ Next
+
+ If MsgError.Trim.Length = 0 AndAlso CvePrePoliza > 0 Then
+ If MsgError = "" AndAlso ObjConta.ValidacionesPrePoliza(CvePrePoliza, UsuarioActual, 5) Then
+ If ObjConta.ValorPolizaDescuadre > 0 Then
+ MsgError = ObjConta.MensajePolizaDescuadre + " " + ObjConta.ValorDiferencia
+ GuardaLogAD($"Bancos/ProveedoresAbonar | Error:{ObjConta.MensajePolizaDescuadre} Diferencia:{ObjConta.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas")
+ End If
+ End If
+ End If
+
+ If MsgError = "" Then
+ ObjConta.Commit()
+ CargaDatosCompras()
+ RegistraScript("$('#ModalSaldarCuentaSinPagar').modal('hide')")
+ Dim Msg As New StringBuilder
+ Msg.Append("Los movimientos se saldaron correctamente.")
+
+ If UsuarioActual.TienePermisoProceso(354) Then 'visualizar la póliza al registros
+ Msg.AppendFormat("Ver Póliza ", CvePrePoliza)
+ End If
+ Alert(Msg.ToString)
+
+ Else
+ ObjConta.RollBack()
+ Alert(MsgError, TipoMensaje.MsgError)
+ End If
+
+ ObjConta.Dispose()
+
+ End Sub
+
#End Region
+
+
End Class
diff --git a/Global.asax b/Global.asax
index 417ce9fe0..f57c732c7 100644
--- a/Global.asax
+++ b/Global.asax
@@ -47,21 +47,21 @@
' If ObjAC.GetMatrizGD Then Application("GlobalDTAC_MatrizEgresos") = ObjAC.DtResultados Else Application("GlobalDTAC_MatrizEgresos") = Nothing
'End Using
- GuardaLogAsax(String.Format("Globalasax 6:{0}", DateTime.Now))
- Using Finan As New ClsFinanzas
+ 'GuardaLogAsax(String.Format("Globalasax 6:{0}", DateTime.Now))
+ 'Using Finan As New ClsFinanzas
- If Finan.GetRazonesFinancieras(-1) Then Application("GlobalDTFinan_RazonesFinancieras") = Finan.DtResultados
+ ' If Finan.GetRazonesFinancieras(-1) Then Application("GlobalDTFinan_RazonesFinancieras") = Finan.DtResultados
- End Using
+ 'End Using
'------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------S I S T E M A ----------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
'P A R A M E T R O S
- Using ObjParametros As New ClsSisParametros
- If ObjParametros.GetParametros Then Application("GlobalDTParametros") = ObjParametros.DtResultados Else Application("GlobalDTParametros") = Nothing
- End Using
+ 'Using ObjParametros As New ClsSisParametros
+ ' If ObjParametros.GetParametros Then Application("GlobalDTParametros") = ObjParametros.DtResultados Else Application("GlobalDTParametros") = Nothing
+ 'End Using
GuardaLogAsax(String.Format("Globalasax 35:{0}", DateTime.Now))
@@ -71,7 +71,6 @@
'GuardaLogAsax(String.Format("Globalasax 41:{0}", DateTime.Now))
-
BundleConfig.RegistrarBundles(BundleTable.Bundles)
BundleTable.EnableOptimizations = True
' System.Web.UI.ValidationSettings.UnobtrusiveValidationMode = UnobtrusiveValidationMode.None
@@ -82,8 +81,6 @@
Dim EmpresaNotificacionesGPS As New Empresa With {.SendMail = "ALERTAS@SIGNALSGPS.com", .SendMailPassword = "STJ180705IV42021ad", .SendMailServer = "mail.signalsgps.com", .SendMailPuerto = 587}
ClsPaginas.EmpresaNotificacionesGPS = EmpresaNotificacionesGPS
-
-
''------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
'' R A S T R E O
'Using ObjGPS As New ClsGPS
diff --git a/Inventarios/EntradasSalidas.aspx.vb b/Inventarios/EntradasSalidas.aspx.vb
index 74b6c7b74..8665395c8 100644
--- a/Inventarios/EntradasSalidas.aspx.vb
+++ b/Inventarios/EntradasSalidas.aspx.vb
@@ -844,7 +844,7 @@ Partial Class Inventarios_EntradasSalidas
If DtMov.Rows(0)("CvePrePoliza").ToString.ToEntero > 0 Then
HplPrePoliza.Visible = True
- HplPrePoliza.NavigateUrl = String.Format("/Contabilidad/RegPrePoliza.aspx?CvePrePoliza={0}", DtMov.Rows(0)("CvePrePoliza"))
+ HplPrePoliza.NavigateUrl = String.Format("/Contabilidad/RegPrepolizaS.aspx?CvePrePoliza={0}", DtMov.Rows(0)("CvePrePoliza"))
CvePrePoliza = DtMov.Rows(0)("CvePrePoliza").ToString.ToEntero
Else
If UsuarioActual.CveRol = 1 Then
@@ -4066,7 +4066,7 @@ Partial Class Inventarios_EntradasSalidas
ObjConta.Dispose()
If CvePrePolizaRegistrada > 0 Then
- Response.Redirect($"../Contabilidad/RegPrePoliza.aspx?CvePrePoliza={CvePrePolizaRegistrada}", True)
+ Response.Redirect($"../Contabilidad/RegPrePolizas.aspx?CvePrePoliza={CvePrePolizaRegistrada}", True)
End If
Else
diff --git a/Inventarios/EntregaAlmacen.aspx.vb b/Inventarios/EntregaAlmacen.aspx.vb
index d29e4a631..23437744e 100644
--- a/Inventarios/EntregaAlmacen.aspx.vb
+++ b/Inventarios/EntregaAlmacen.aspx.vb
@@ -781,7 +781,7 @@ Partial Class Inventarios_EntregaAlmacen
'DEVOLUCION REMISION
If TipoMovimiento = 2 And TipoDocto.Contiene("Rem", "Ped") And Not CveAlmacenTraspasoDestino > 0 Then
- Alert("La remisión que se intenta devolver presenta inconsistencias. Comuniquese con servicio tecnico SIG.", TipoMensaje.MsgError)
+ Alert("La remisión que se intenta devolver presenta inconsistencias. Comuniquese con servicio técnico SIG.", TipoMensaje.MsgError)
BtnGuardar.Visible = False
End If
@@ -2059,12 +2059,6 @@ Partial Class Inventarios_EntregaAlmacen
End If
Next
-
-
- 'ValidaSeccion = False
- 'ValidaCaducidad = False
- 'ValidaLote = False
-
If ValidaSeccion Then
Alert("La sección de almacen no ha sido especificada en todos los productos.", TipoMensaje.MsgAdvertencia)
Exit Sub
@@ -2081,10 +2075,17 @@ Partial Class Inventarios_EntregaAlmacen
If Not Cantidad > 0 Then
Alert("No se detecto ningun movimiento por hacer. Por favor verifique e intente nuevamente.", TipoMensaje.MsgAdvertencia)
Exit Sub
+ End If
+
+ If UsuarioActual.Empresa.Funcionalidad(578) = "1" AndAlso TipoDocto = "Ped" Then
+ VerificaCancelada = False
End If
- 'PROCESO , si tiene proceso "176" no lo valida
- If Not UsuarioActual.TienePermisoProceso(176) Then
+ Dim ValidaEntregaCompleto As Boolean = Not UsuarioActual.TienePermisoProceso(176)
+ If CveTipoVenta = 3 Then ValidaEntregaCompleto = False
+
+ 'PROCESO , si tiene proceso "176" no lo valida
+ If ValidaEntregaCompleto Then 'Tipoventa diferente a A-vista
If Not TipoDocto.Contiene("Dev") Then 'para devoluciones debe de aceptar parcialidades
For Each Gvr As GridViewRow In GvDatos.Rows
If Gvr.DataKey("CantidadF").ToDecimal <> Gvr.FCTextBox("TbCantidadF").Text.ToDecimal Then
@@ -3403,17 +3404,12 @@ Partial Class Inventarios_EntregaAlmacen
Msg.AppendFormat("
Recibir Usado: Ir a Recepción de Usados", CveVentaSurtir)
End If
-
-
Alert(Msg.ToString(), TipoMensaje.MsgInformacion)
Limpia()
CargaPendientes()
LimpiaCampos()
-
CargaBitacora = False
-
-
Else
ObjInventario.RollBack()
Alert(TextoError.ToString(), TipoMensaje.MsgError)
@@ -3539,7 +3535,6 @@ Partial Class Inventarios_EntregaAlmacen
Cantidad = Gvr.FCTextBox("TbCantidadF").Text.ToDecimal
Exit For
End If
-
Next
If ValidaSeccion Then
diff --git a/Inventarios/RepNotasSinAlmacen.aspx.vb b/Inventarios/RepNotasSinAlmacen.aspx.vb
index 1ee22d54b..bf204bdb0 100644
--- a/Inventarios/RepNotasSinAlmacen.aspx.vb
+++ b/Inventarios/RepNotasSinAlmacen.aspx.vb
@@ -141,9 +141,7 @@ Partial Class RepNotasSinAlmacen
Dim Reporte As New ClsInventarios
If Reporte.RepNotasSinAlmacen(Opcion, CveClienteProveedor, FechaInicial, FechaFinal, TipoDocumento, DdlSubProyecto.SelectedValue.ToEntero, UsuarioActual.Empresa.CveEmpresa) Then
Dim dtt As DataTable = Reporte.DtResultados
- If UsuarioActual.Empresa.Funcionalidad(578) = "1" Then ' es empresa hospitalaria
- dtt = dtt.fit
- End If
+
GvVentas.DataSource = Reporte.DtResultados
DtNotasSinAlmacenVentas = Reporte.DtResultados
Else
diff --git a/LogIn.aspx.vb b/LogIn.aspx.vb
index 44f3d54ac..23402497a 100644
--- a/LogIn.aspx.vb
+++ b/LogIn.aspx.vb
@@ -115,7 +115,6 @@ Partial Class LogIn
Dim elapsedSpan As New TimeSpan(elapsedTicks)
PnlLogin.Visible = False
-
If elapsedSpan.Days < 3 Then
Dim Usr As New ClsSisUsuarios
@@ -144,18 +143,12 @@ Partial Class LogIn
Else
Alert("El Usuario no existe", TipoMensaje.MsgError)
End If
-
End If
-
Usr.Dispose()
Else
Alert("La Activación expiró", TipoMensaje.MsgError)
End If
-
- 'TxtContraseña.Text = UrlParametros("CLAVE").ToString.Trim
-
End If
-
End If
End If
Else
@@ -206,25 +199,10 @@ Partial Class LogIn
End If
If BtnLogIn_Clickenter = 0 Then 'esta variable se recicla con cada postaback
BtnLogIn_Clickenter = 1
- Dim tGrupoEmpresa As String = ""
- Dim NombreCadena As String = "Conexion"
+ Dim tGrupoEmpresa As String = ClsPaginas.GlobalGrupoEmpresa(Request.Url.Host.ToUpper())
+ Dim NombreCadena As String = ClsPaginas.GlobalNombreCadenaConexionDominio(Request.Url.Host.ToUpper())
- If Request.Url.Host.ToUpper().Contains("EMD".ToUpper()) Then tGrupoEmpresa = "EMD"
- If Request.Url.Host.ToUpper().Contains("BDH".ToUpper()) Then tGrupoEmpresa = "BDH"
- If Request.Url.Host.ToUpper().Contains("ECONOLLANTAS".ToUpper()) Then tGrupoEmpresa = "ECONOLLANTAS" : NombreCadena = "Conexion"
- If Request.Url.Host.ToUpper().Contains("JAM".ToUpper()) Then tGrupoEmpresa = "JAM"
- If Request.Url.Host.ToUpper().Contains("CITRUS".ToUpper()) Then tGrupoEmpresa = "CITRUS"
- If Request.Url.Host.ToUpper().Contains("KINO".ToUpper()) Then tGrupoEmpresa = "KINO"
- If Request.Url.Host.ToUpper().Contains("VSH".ToUpper()) Then tGrupoEmpresa = "VSH"
- If Request.Url.Host.ToUpper().Contains("AJAM".ToUpper()) Then tGrupoEmpresa = "AJAM"
- If Request.Url.Host.ToUpper().Contains("ALATEL".ToUpper()) Then tGrupoEmpresa = "ALATEL"
- If Request.Url.Host.ToUpper().Contains("SERVEC".ToUpper()) Then tGrupoEmpresa = "SERVEC"
- If Request.Url.Host.ToUpper().Contains("SMS".ToUpper()) Then tGrupoEmpresa = "SMS"
- If Request.Url.Host.ToUpper().Contains("VYA".ToUpper()) Then tGrupoEmpresa = "VYA"
- If Request.Url.Host.ToUpper().Contains("GRUPODIAZ".ToUpper()) Then tGrupoEmpresa = "GRUPODIAZ"
- If Request.Url.Host.ToUpper().Contains("FERRETERA".ToUpper()) Then tGrupoEmpresa = "FERRETERA"
-
- Dim ObjUsuario As New ClsSisUsuarios(NombreCadena:=NombreCadena)
+ Dim ObjUsuario As New ClsSisUsuarioAutenticacion(NombreCadena:=NombreCadena)
Dim Usuario As Usuario = Nothing
Dim isgps As Boolean = Request.Url.Host.ToUpper().Contains("SIGNALSGPS".ToUpper())
@@ -240,7 +218,7 @@ Partial Class LogIn
If Usuario IsNot Nothing Then
If Not Usuario.AutorizadoxIP OrElse (HddAdsCodex.Text.Length > 0 AndAlso Usuario.CodigoAutorizado = HddAdsCodex.Text) Then
- CreaObjetoEmpresa(Usuario, NombreCadena)
+ 'CreaObjetoEmpresa(Usuario, NombreCadena)
ADSSessionConfig.sessionUser.MultipleEmpresa = True
Dim x As New ADSSessionObj(Usuario.CveUsuario, Usuario.CveEmpresa)
@@ -268,20 +246,7 @@ Partial Class LogIn
Else
'PLATAFORMA SIG
CType(Session("UsuarioSIG"), Usuario).CvePlataforma = 1
- Using ObjUsuarios As New ClsSisUsuarios
- If ObjUsuarios.GetUsuariosEmpresas(Usuario.CveUsuario, Usuario.CveEmpresa) Then
- Dim dt As Data.DataTable = ObjUsuarios.DtResultados
- If dt IsNot Nothing Then
- If dt.Rows.Count >= 1 Then
- If dt.Rows.Count > 1 Then
- Usuario.MultipleEmpresa = True
- End If
- 'FormsAuthentication.RedirectFromLoginPage(Encripta(Usuario.CveUsuario), False)
- End If
- End If
- dt.Dispose()
- End If
- End Using
+
End If
Dim cookie As HttpCookie = FormsAuthentication.GetAuthCookie(Usuario.CveUsuario.ToString, False)
@@ -343,25 +308,25 @@ Partial Class LogIn
End If
End Function
- Private Sub CreaObjetoEmpresa(ByRef UsuarioActual As Usuario, Optional NombreCadena As String = "Conexion")
+ 'Private Sub CreaObjetoEmpresa(ByRef UsuarioActual As Usuario, Optional NombreCadena As String = "Conexion")
- Dim ObjEmpresa As New ClsSisEmpresas()
- If ObjEmpresa.GetEmpresas(UsuarioActual.CveEmpresa, "-1", "-1", "-1", "-1") Then
- If ObjEmpresa.GetEmpresasFuncionalidades(UsuarioActual.CveEmpresa) Then
- Dim dttmp As Data.DataTable = ObjEmpresa.DtResultados
+ ' Dim ObjEmpresa As New ClsSisEmpresas(UsuarioActual:=UsuarioActual)
+ ' If ObjEmpresa.GetEmpresas(UsuarioActual.CveEmpresa, "-1", "-1", "-1", "-1") Then
+ ' If ObjEmpresa.GetEmpresasFuncionalidades(UsuarioActual.CveEmpresa) Then
+ ' Dim dttmp As Data.DataTable = ObjEmpresa.DtResultados
- Dim EmpresasFuncionalidades As New HybridDictionary
- For Each Row As Data.DataRow In dttmp.Rows
- EmpresasFuncionalidades.Add(Convert.ToInt32(Row("CveFuncionalidad")), Row("Valor").ToString)
- Next
- ObjEmpresa.Empresa.SetFuncionalidades(EmpresasFuncionalidades)
- End If
+ ' Dim EmpresasFuncionalidades As New HybridDictionary
+ ' For Each Row As Data.DataRow In dttmp.Rows
+ ' EmpresasFuncionalidades.Add(Convert.ToInt32(Row("CveFuncionalidad")), Row("Valor").ToString)
+ ' Next
+ ' ObjEmpresa.Empresa.SetFuncionalidades(EmpresasFuncionalidades)
+ ' End If
- UsuarioActual.Empresa = ObjEmpresa.Empresa
- Else
- End If
- ObjEmpresa.Dispose()
- End Sub
+ ' UsuarioActual.Empresa = ObjEmpresa.Empresa
+ ' Else
+ ' End If
+ ' ObjEmpresa.Dispose()
+ 'End Sub
Dim BtnGuardar_Clickenter As Integer = 0
Protected Sub BtnGuardar_Click(sender As Object, e As EventArgs)
If BtnGuardar_Clickenter = 0 Then 'esta variable se recicla con cada postaback
diff --git a/Nomina/Nomina.aspx.cs b/Nomina/Nomina.aspx.cs
index efcdaa665..0ca01bdac 100644
--- a/Nomina/Nomina.aspx.cs
+++ b/Nomina/Nomina.aspx.cs
@@ -666,10 +666,10 @@ public partial class Nomina_Nomina2 : ClsPaginas
LnkLayoutContable.Visible = (Estatus >= 2);
LnkProvisionNomina.Visible = CvePrePolizaProvision > 0;
- LnkProvisionNomina.NavigateUrl = $"../Contabilidad/RegPrePoliza.aspx?CvePrePoliza={CvePrePolizaProvision}";
+ LnkProvisionNomina.NavigateUrl = $"../Contabilidad/RegPrepolizaS.aspx?CvePrePoliza={CvePrePolizaProvision}";
LnkProvisionNominaAsimilados.Visible = CvePrePolizaProvisionAsimilados > 0;
- LnkProvisionNominaAsimilados.NavigateUrl = $"../Contabilidad/RegPrePoliza.aspx?CvePrePoliza={CvePrePolizaProvisionAsimilados}";
- LnkProvisionProrrateo.NavigateUrl = $"../Contabilidad/RegPrePoliza.aspx?CvePrePoliza={CvePrePolizaProrrateo}";
+ LnkProvisionNominaAsimilados.NavigateUrl = $"../Contabilidad/RegPrepolizaS.aspx?CvePrePoliza={CvePrePolizaProvisionAsimilados}";
+ LnkProvisionProrrateo.NavigateUrl = $"../Contabilidad/RegPrepolizaS.aspx?CvePrePoliza={CvePrePolizaProrrateo}";
LnkProvisionProrrateo.Visible = CvePrePolizaProrrateo > 0;
UpAccciones.Update();
}
@@ -710,7 +710,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
LnkTimbrarTodos.Visible = (dtempleados.Rows.Count > 0 &&
dtempleados.COUNT("CvePersonal", "SeTimbro=0 AND CvePersonal >0 AND NomAutorizado =1") > 0);
}
- }
+ }
}
@@ -7198,11 +7198,12 @@ public partial class Nomina_Nomina2 : ClsPaginas
}
using (ClsNominas ObjMovt = new ClsNominas())
{
- ObjMovt.GetMovtoPermanenteSaldos(UsuarioActual.CveEmpresa, SRCvePersonal, CcveMovtoPermanente);
+ ObjMovt.GetMovtoPermanenteSaldos(UsuarioActual.CveEmpresa, SRCvePersonal, CcveMovtoPermanente);
GVMovtoPermanenteSaldos.DataSource = ObjMovt.DtResultados;
GVMovtoPermanenteSaldos.DataBind();
}
+
CargaConcepto();
DdlConcepto.SelectedValueExist(cveConcepto);
TxtDescripcion.Text = descripcion.ToString();
@@ -9017,14 +9018,14 @@ public partial class Nomina_Nomina2 : ClsPaginas
CvePrePolizaasmilidos = objnom.DtResultados.Rows[0]["CvePrePolizaAsimilables"].ToString().ToEntero();
CvePrePolizaProrrateo = objnom.DtResultados.Rows[0]["CvePrePolizaProrrateo"].ToString().ToEntero();
}
- string mensaje = string.Format("La provisión a sido generada. Provisión ", CvePrePolizaProvision);
+ string mensaje = string.Format("La provisión a sido generada. Provisión ", CvePrePolizaProvision);
if (CvePrePolizaasmilidos > 0)
{
- mensaje = string.Format("{0} Asimilados ", mensaje, CvePrePolizaasmilidos);
+ mensaje = string.Format("{0} Asimilados ", mensaje, CvePrePolizaasmilidos);
}
if (CvePrePolizaProrrateo > 0)
{
- mensaje = string.Format("{0} Prorrateo ", mensaje, CvePrePolizaProrrateo);
+ mensaje = string.Format("{0} Prorrateo ", mensaje, CvePrePolizaProrrateo);
}
if (CvePrePolizaProvision > 0)
{
@@ -9829,7 +9830,8 @@ public partial class Nomina_Nomina2 : ClsPaginas
{
SinSelccion,
Bancomer,
- Banorte
+ Banorte,
+ Banamex
}
@@ -9885,7 +9887,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
DdlCuenta.Items.Clear();
DataTable DTCuentas = get_GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveEmpresa: UsuarioActual.CveEmpresa).FiltraParametros(" CveTipoCuenta <> 1 AND UsaLayout = 'True' AND LEN(ConvenioPagoElectronico) > 0 ");
DTCuentas.CaseSensitive = false;
- DdlCuenta.DataSource = DTCuentas.FiltraParametros(" Banco IN('BANCOMER','BANORTE','BBVA Bancomer','BBVA')");
+ DdlCuenta.DataSource = DTCuentas.FiltraParametros(" Banco IN('BANCOMER','BANORTE','BBVA Bancomer','BBVA','BANAMEX')");
DdlCuenta.DataBind();
DdlCuenta.Items.Insert(0, new ListItem("Seleccione", "-1"));
DdlCuenta.SelectedValueExist("-1");
@@ -9915,6 +9917,11 @@ public partial class Nomina_Nomina2 : ClsPaginas
Banco = Bancos.Banorte;
DivModalLayoutBancosFecha.Visible = true;
}
+ else if (DdlCuenta.SelectedItem.Text.ToUpper().Contains("BANAMEX"))
+ {
+ Banco = Bancos.Banamex;
+ DivModalLayoutBancosFecha.Visible = true;
+ }
else
{
ConvenioPagoElectronico = string.Empty;
@@ -10086,6 +10093,17 @@ public partial class Nomina_Nomina2 : ClsPaginas
}
}
+ else if (Banco == Bancos.Banamex)
+ {
+ using (ClsNominas objnom = new ClsNominas())
+ {
+ if (objnom.GetDispersionnominaXLS(CvePeriodoSeleccionado, UsuarioActual.CveEmpresa))
+ {
+ CrearLayoutNominaBanamex(objnom.DtResultados.Copy());
+ }
+ }
+
+ }
}
@@ -10317,6 +10335,136 @@ public partial class Nomina_Nomina2 : ClsPaginas
}
}
+
+ private void CrearLayoutNominaBanamex(DataTable DTNomina)
+ {
+ StringBuilder sb = new StringBuilder();
+ StringBuilder SbErrores = new StringBuilder();
+ bool ErroresValidaciones = false;
+
+
+ SbErrores.AppendLine("Se detectaron los siguientes errores en la generación del layout");
+
+ foreach (DataRow dRow in DTNomina.FiltraParametros("UPPER(BancoNombre) like '%BANAMEX%'").Rows)
+ {
+ //string RFC = dRow["RFC"].ToString();
+ string Nombre = dRow["Nombre"].ToString();
+ string BancoNumCuenta = dRow["BancoNumCuenta"].ToString();
+ decimal Importe = dRow["Importe"].ToString().ToDecimal();
+
+ //if (RFC.Trim().Length == 0)
+ // SbErrores.AppendLine($"El RFC es requerido del empleado {Nombre} ");
+
+ //System.Text.RegularExpressions.Match Coincidencia = System.Text.RegularExpressions.Regex.Match(RFC, @"/^([A-Z,Ñ,&]{3,4}([0-9]{2})(0[1-9]|1[0-2])(0[1-9]|1[0-9]|2[0-9]|3[0-1])[A-Z|\d]{3})$/");
+ //if (!Coincidencia.Success)
+ //{
+ // SbErrores.AppendLine($"El RFC {RFC} del empleado {Nombre} no es valido ");
+ // ErroresValidaciones = true;
+ //}
+
+ if (BancoNumCuenta.Trim().Length != 10)
+ {
+ SbErrores.AppendLine($"Empleado {Nombre} numero de cuenta incorrecto, la cuenta debe de tener 10 caracteres "); // Bancomer 10 caracteres
+ ErroresValidaciones = true;
+ }
+
+
+ if (Importe <= 0)
+ {
+ SbErrores.AppendLine($"Empleado {Nombre} el importe debe de ser mayor a 0 importe {Importe}"); // importe mayot a 0
+ ErroresValidaciones = true;
+ }
+ }
+
+ ErroresValidaciones = false;
+
+ //LAYOUT “C” FORMATOS PARA IMPORTACIÓN (TEF / TEF INTELAR)
+ //DOC: https://www.banamex.com/resources/bancanets/premium/esp/contenedor/archivos/TEF_Version_C_PagosCobros_Masivos.pdf
+ if (!ErroresValidaciones)
+ {
+
+ DataRow RowCuenta = get_GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveCuenta: DdlCuenta.SelectedValue.ToEntero(), CveEmpresa: UsuarioActual.CveEmpresa).FiltroPrimero("");
+ var ClaveMoneda = "001"; // PESOS MEXICANOS
+
+ //REGISTRO DE CONTROL - IMPORTACIÓN
+ var TipoRegistro = "1";
+ var NumeroCliente = RowCuenta["Convenio"].ToString().Trim().PadLeft(12, '0'); //CONVENIO
+
+ var Fecha = TxtModalLayoutBancosFecha.Text.ToDate();
+ var FechaPago = $"{Fecha.Day.ToString().PadLeft(2, '0')}{Fecha.ToString("MM")}{Fecha.Year.ToString().Replace("20", "")}";
+ var Secuencia = (1).ToString("0000");
+ var RazonSocial = (UsuarioActual.Empresa.Empresa).Replace("-Prueba", "").Trim().PadRight(36);
+ var Descripcion = ("NOMINA").Trim().PadRight(20);
+ var Naturaleza = "05"; //= 12 Pagos interbancarios CLABE, 05 Nomina banamex
+ var Instrucciones = ("").Trim().PadRight(40);
+ var Version = "C";
+ var Volumen = "0";
+ var Caracteristicas = "1"; // 0= Si es modificable, 1 = Solo lectura
+
+ sb.AppendLine($"{TipoRegistro}{NumeroCliente}{FechaPago}{Secuencia}{RazonSocial}{Descripcion}{Naturaleza}{Instrucciones}{Version}{Volumen}{Caracteristicas}");
+
+ //REGISTRO GLOBAL - IMPORTACIÓN
+ var TipoReg2 = "2";
+ var TipoOpe2 = "1"; //0 = Si es Abono, 1 = Si es Cargo
+ var ImporteTotal = DTNomina.SUMD("Importe").ToString("0000000000000000.00").Replace(".", "");//16 enteros y 2 decimales
+ var TipoCuenta = "01"; //CUENTA DE CHEQUES
+ var Sucursal = RowCuenta["NumeroSucursal"].ToString();
+ var NumCuenta = RowCuenta["NumCuenta"].ToString().Trim().PadLeft(20, '0'); //OBTENER DE BANCOS CUENTAS
+ var Espacio = ("").Trim().PadRight(20);
+
+ sb.AppendLine($"{TipoReg2}{TipoOpe2}{ClaveMoneda}{ImporteTotal}{TipoCuenta}{Sucursal}{NumCuenta}{Espacio}");
+
+ //REGISTRO DE CARGOS O ABONOS INDIVIDUALES - IMPORTACIÓN
+ int Count = 1;
+ foreach (DataRow dRow in DTNomina.Rows)
+ {
+ var TipoReg3 = "3"; //Registro de Movtos. Individuales
+ var TipoOpe3 = "0"; //0 = Si es Abono, 1 = Si es Cargo (solo aplica para cobros)
+
+ string Nombres = dRow["Nombres"].ToString().Replace("ñ,Ñ", "n").Replace("*,#,$,%,=,+", "");
+ string APaterno = dRow["APaterno"].ToString().Replace("ñ,Ñ", "n").Replace("*,#,$,%,=,+", "");
+ string AMaterno = dRow["AMaterno"].ToString().Replace("ñ,Ñ", "n").Replace("*,#,$,%,=,+", "");
+ //string BancoNumCuenta = dRow["BancoNumCuenta"].ToString();
+
+ string BancoNumCuenta = dRow["BancoNumCuenta"].ToString();
+ decimal Importe = dRow["Importe"].ToString().ToDecimal().RoundSQL(2);
+
+ var StrImporte = Importe.ToString("0000000000000000.00").Replace(".", "");
+ var StrTipoCuenta = "03";// 01- Cheques / CLABE, 03=Plástico
+ var StrCuenta = BancoNumCuenta.Trim().PadLeft(20, '0'); //USARA TARJETA DE DEBITO
+ var ReferenciaAlfa = ("").PadRight(40); //No se ocupa si es nomina banamex
+ var Beneficiario = ($"{Nombres},{APaterno}/{AMaterno}").PadRight(55);
+ var Inst3 = ("").PadRight(40);
+ var DescTEF = ("").PadRight(24);
+ var ClaveBanco = ("").PadRight(4); //BANCOMER //No se ocupa si es nomina baname
+ var ReferenciaNum = dRow["Codigo"].ToString().PadRight(7, '0'); //QUE TOME DE LA CvePersonal como folio
+ var Plazo = "00"; // MISMO DIA
+ sb.AppendLine($"{TipoReg3}{TipoOpe3}{ClaveMoneda}{StrImporte}{StrTipoCuenta}{StrCuenta}{ReferenciaAlfa}{Beneficiario}{Inst3}{DescTEF}{ClaveBanco}{ReferenciaNum}{Plazo}00");
+
+ Count = Count + 1;
+ }
+
+ //REGISTRO DE TOTALES - IMPORTACIÓN
+ var TipoReg4 = "4";
+ var NumAbonos = Count.ToString("000000");
+ var NumCargos = Count.ToString("000000");
+
+ sb.AppendLine($"{TipoReg4}{ClaveMoneda}{NumAbonos}{ImporteTotal}{NumCargos}{ImporteTotal}");
+
+ Response.Clear();
+ Response.ClearHeaders();
+ Response.AppendHeader("Content-Length", sb.ToString());
+ Response.ContentType = "text/plain";
+ //Response.AppendHeader("Content-Disposition", $"attachment;filename=\"Nomina{NowADS().ToString("yyyyMMddhhmmss").ToString()}.txt\"");
+ Response.AppendHeader("Content-Disposition", $"attachment;filename=\"Nomina {DdlPeriodo.SelectedItem.Text}.txt\"");
+ Response.Write(sb.ToString());
+ RegistraScript("$('#ModalLayoutBancos').modal('hide');");
+ Response.Flush();
+ Response.End();
+ }
+ else
+ Alert(SbErrores.ToString(), TipoMensaje.MsgAdvertencia);
+ }
#endregion
diff --git a/OC/OC.aspx.vb b/OC/OC.aspx.vb
index 67e245d5a..3b435163b 100644
--- a/OC/OC.aspx.vb
+++ b/OC/OC.aspx.vb
@@ -602,7 +602,6 @@ Partial Class OC_OC
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
-
If Not Page.IsPostBack Then
GlobalDTCultivosCuadro(UsuarioActual.CveEmpresa) = Nothing
CargaDatosAgregarPS()
@@ -3554,7 +3553,7 @@ Partial Class OC_OC
End If
- If UsuarioActual.Empresa.Funcionalidad(532) = "1" Then
+ If UsuarioActual.Empresa.Funcionalidad(532).Contiene("1", "2") Then
If Not GeneraPrePolizaPresupuesto(objOrdenCompra.CveOrdenCompra, objOrdenCompra.IniciaTransacSQL) Then
HuboError = True
@@ -3718,7 +3717,7 @@ Partial Class OC_OC
TieneError = True
End If
- If (UsuarioActual.Empresa.Funcionalidad(532) = "1") Then
+ If (UsuarioActual.Empresa.Funcionalidad(532).Contiene("1", "2")) Then
GeneraPrePolizaPresupuesto(CveOrdenCompra, objOrdenCompra.IniciaTransacSQL, True)
End If
@@ -4191,7 +4190,7 @@ Partial Class OC_OC
Proyecto = gvr.FCDropDownList("DdlProyectoEdit").SelectedItem.Text
End If
- If UsuarioActual.Empresa.Funcionalidad(532) = "1" Then
+ If UsuarioActual.Empresa.Funcionalidad(532).Contiene("1", "2") Then
Dim ObjCon As New ClsContratos
Dim CvePresupuesto As Integer = 0
Dim Autorizado As Decimal = 0
@@ -6182,11 +6181,16 @@ Partial Class OC_OC
End If
End If
+
'MANDA CORREO A TODOS LOS USUARIOS INVOLUCRADOS
If DtHistorial IsNot Nothing Then
For Each Row As DataRow In DtHistorial.FiltraParametros("CveConceptoHistorialBitacora = 1").Rows
- StrCorreos.AppendFormat("{0};", GlobalDTUsuarios(Row("CveUsuario").ToString.ToEntero)(0)("correo").ToString)
- CorreosCCPNombre.Add(GlobalDTUsuarios(Row("CveUsuario").ToString.ToEntero)(0)("nombre").ToString)
+
+ If GlobalDTUsuarios(Row("CveUsuario").ToString.ToEntero).FiltraParametros(" Estatus = True ").Rows.Count > 0 Then
+ StrCorreos.AppendFormat("{0};", GlobalDTUsuarios(Row("CveUsuario").ToString.ToEntero)(0)("correo").ToString)
+ CorreosCCPNombre.Add(GlobalDTUsuarios(Row("CveUsuario").ToString.ToEntero)(0)("nombre").ToString)
+ End If
+
Next
End If
@@ -9086,7 +9090,7 @@ Partial Class OC_OC
Dim respuesta As Boolean = False
- If UsuarioActual.Empresa.Funcionalidad(532) = "1" Then
+ If UsuarioActual.Empresa.Funcionalidad(532).Contiene("1", "2") Then
Dim ObjCon As New ClsContratos
Dim CvePresupuesto As Integer = 0
@@ -9198,7 +9202,7 @@ Partial Class OC_OC
Dim Respuesta As Boolean = True
- If UsuarioActual.Empresa.Funcionalidad(532) = "1" Then
+ If UsuarioActual.Empresa.Funcionalidad(532).Contiene("1", "2") Then
Dim CveMonedaPresupuesto As Integer = DdlMoneda.SelectedValue.ToEntero
Dim TC As Decimal = If(CveMonedaPresupuesto = 1, 1, GlobalTipoCambio(TxtFecha.Text.ToDate).ToDecimal)
diff --git a/OS/Asignaciones.aspx b/OS/Asignaciones.aspx
index ab915fb3e..4682fa2da 100644
--- a/OS/Asignaciones.aspx
+++ b/OS/Asignaciones.aspx
@@ -199,15 +199,16 @@
-
+
-
-
-
+
+
+
-
-
+
+
+
diff --git a/OS/Asignaciones.aspx.vb b/OS/Asignaciones.aspx.vb
index aafbc61a0..27dd8d20a 100644
--- a/OS/Asignaciones.aspx.vb
+++ b/OS/Asignaciones.aspx.vb
@@ -1,8 +1,7 @@
Option Explicit On
Option Strict On
-Imports System.Data
-Imports System.Data.Entity.Core.Metadata.Edm
+Imports System.Data
Imports Extensiones
Imports Microsoft.Reporting.WebForms
Imports MKB.TimePicker
@@ -70,16 +69,12 @@ Partial Class OS_Asignaciones
BtnAsignar.Visible = False
End If
End If
- ObjEstatusPermisos.Dispose()
-
-
-
-
+ ObjEstatusPermisos.Dispose()
End If
RegistraScript("
$('#GvNA tr').each(function() {
- $(this).find('td:eq(6) input').each(function() {
+ $(this).find('td:eq(7) input').each(function() {
if($(this).val()!=':'){
$(this).attr('style', 'width: 20px;');
}else{
@@ -99,16 +94,15 @@ Partial Class OS_Asignaciones
GvNA.Columns(6).Visible = False
GvNA.Columns(7).Visible = True
- GvNA.Columns(8).Visible = True
- GvNA.Columns(11).Visible = True
-
+ GvNA.Columns(8).Visible = True
+ GvNA.Columns(9).Visible = True
+ GvNA.Columns(12).Visible = True
GvNA.Columns(2).HeaderText = "Hospital"
- GvNA.Columns(9).HeaderText = "Fecha Cirugía"
- GvNA.Columns(10).HeaderText = "Hora Cirugía"
+ GvNA.Columns(10).HeaderText = "Fecha Cirugía"
+ GvNA.Columns(11).HeaderText = "Hora Cirugía"
End If
-
End Sub
#Region "C A R G A S "
@@ -558,8 +552,7 @@ Partial Class OS_Asignaciones
e.Row.FindControl("TimeSelector").Visible = True
End If
- If UsuarioActual.Empresa.Funcionalidad(578).ToEntero = 1 Then
-
+ If UsuarioActual.Empresa.Funcionalidad(578) = "1" Then
Dim FechaCita = e.Row.DataKey("FechaCitaOS").ToDateTime
e.Row.FCTextBox("FechaOS").Text = FechaCita.ToString("dd/MM/yyyy")
e.Row.FCTextBox("FechaOS").Visible = True
@@ -569,13 +562,10 @@ Partial Class OS_Asignaciones
Dim TMSelector = DirectCast(e.Row.FindControl("TimeSelector"), TimeSelector)
TMSelector.Date = FechaCita
- e.Row.Cells(9).Attributes.Add("data-order", e.Row.DBCampo("FechaCitaOS").ToDate.Ticks.ToString)
- e.Row.Cells(10).Attributes.Add("data-order", e.Row.DBCampo("FechaCitaOS").ToDate.ToString("HHmm"))
+ e.Row.Cells(10).Attributes.Add("data-order", e.Row.DBCampo("FechaCitaOS").ToDate.Ticks.ToString)
+ e.Row.Cells(11).Attributes.Add("data-order", e.Row.DBCampo("FechaCitaOS").ToDate.ToString("HHmm"))
End If
-
-
-
End If
UpOS.Update()
diff --git a/OS/RepOSMedicas.aspx b/OS/RepOSMedicas.aspx
index 30bfd425d..89d2b984d 100644
--- a/OS/RepOSMedicas.aspx
+++ b/OS/RepOSMedicas.aspx
@@ -110,10 +110,7 @@
-
-
-
-
+
@@ -132,29 +129,28 @@
-
-
Todos
-
-
-
Todos
-
-
+
+
+
+ Todos
+
+
diff --git a/OS/RepOSMedicas.aspx.vb b/OS/RepOSMedicas.aspx.vb
index f1caa606e..8f1e7c1c9 100644
--- a/OS/RepOSMedicas.aspx.vb
+++ b/OS/RepOSMedicas.aspx.vb
@@ -87,7 +87,8 @@ Partial Class OS_RepOSMedicas
DdlProcedimiento.DataSource = GlobalDTProcedimientos(UsuarioActual.CveEmpresa).FiltraParametros("Estatus = 'True' ")
DdlProcedimiento.DataBind()
-
+ DdlTipoVenta.DataSource = GlobalDTTipoVenta(UsuarioActual.CveEmpresa)
+ DdlTipoVenta.DataBind
Dim ObjVentas As New ClsVentas
@@ -102,22 +103,10 @@ Partial Class OS_RepOSMedicas
DdlEspecialidad.DataBind()
DdlEspecialidad.Items.Insert(0, New ListItem("Todas", "-1"))
-
- Dim objcliente As New ClsClientes
-
- If objcliente.GetClienteSucursales(-1, UsuarioActual.CveEmpresa) Then
- DdlClienteSucursal.DataSource = objcliente.DtResultados
- Else
- DdlClienteSucursal.DataSource = Nothing
- End If
-
- objcliente.Dispose()
-
+ DdlClienteSucursal.DataSource = GlobalDTClientesSucursales(UsuarioActual.CveEmpresa)
DdlClienteSucursal.DataBind()
DdlClienteSucursal.Items.Insert(0, New ListItem("Todos", "-1"))
-
-
'Dim EsWS As Boolean = If(UsuarioActual.Empresa.Funcionalidad(105) = "1" Or UsuarioActual.Empresa.Funcionalidad(141) = "1", True, False)
'If EsWS Then
' DdlCliente.setEsWebService(True)
@@ -152,7 +141,7 @@ Partial Class OS_RepOSMedicas
If ObjOS.GetRepOrdenesServicioMedicasRep(FechaI, FechaF, Cvecliente, DdlVendedor.SelectedValue.ToEntero, DdlEstatusOS.SelectedValue.ToEntero, DdlTecnico.SelectedValue.ToEntero, DdlSubProyecto.SelectedValue.ToEntero, UsuarioActual.CveEmpresa,
CveMedico:=DdlMedico.SelectedValue.ToEntero, CveProcedimiento:=DdlProcedimiento.SelectedValue.ToEntero, CveEspecialidad:=DdlEspecialidad.SelectedValue.ToEntero,
- CveClienteSucursal:=CveClienteSucursal, CveUsuario:=UsuarioActual.CveUsuario) Then
+ CveClienteSucursal:=CveClienteSucursal, CveUsuario:=UsuarioActual.CveUsuario, CveTipoVenta:=DdlTipoVenta.SelectedValue.ToEntero) Then
GvDatos.DataSource = ObjOS.DtResultados
If ObjOS.DtResultados IsNot Nothing AndAlso ObjOS.DtResultados.Rows.Count > 0 Then
LnkPersonalizar.Visible = True
diff --git a/OS/RepServiciosMedicos.aspx b/OS/RepServiciosMedicos.aspx
new file mode 100644
index 000000000..9dcc831c9
--- /dev/null
+++ b/OS/RepServiciosMedicos.aspx
@@ -0,0 +1,944 @@
+<%@ Page Title="Reporte Ordenes Médicas" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="RepServiciosMedicos.aspx.vb" Inherits="OS_RepServiciosMedicos" %>
+
+<%@ Register Assembly="TimePicker" Namespace="MKB.TimePicker" TagPrefix="cc1" %>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reporte Órdenes Médicas
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Os:
+
+
+
+
+
+ Asignar
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Cirugías
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Servicios a Domicilio
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Cada:
+
+
+
+
+
+
+ <%--
+
+
--%>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Veces
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <%--
+ --%>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <%----%>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Cliente:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <%--DESCRIPCION--%>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <%--
+ --%>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Cancelar Orden de Servicio
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/OS/RepServiciosMedicos.aspx.vb b/OS/RepServiciosMedicos.aspx.vb
new file mode 100644
index 000000000..4d33a8f19
--- /dev/null
+++ b/OS/RepServiciosMedicos.aspx.vb
@@ -0,0 +1,1232 @@
+Option Explicit On
+Option Strict On
+
+Imports Extensiones
+Imports System.Data
+Imports Microsoft.Reporting.WebForms
+Imports System.Web.Services
+Partial Class OS_RepServiciosMedicos
+ Inherits ClsPaginas
+
+#Region "PROPIEDADES"
+
+ Private Property DtDatos As DataTable
+ Get
+ DtDatos = DirectCast(ViewState("DtDatos"), DataTable)
+ End Get
+
+ Set(ByVal value As DataTable)
+ ViewState("DtDatos") = value
+ End Set
+ End Property
+ Private Property Agrupador As String
+ Get
+ Return ViewState("Agrupador").ToString
+ End Get
+
+ Set(value As String)
+ ViewState("Agrupador") = value
+ End Set
+ End Property
+ Private Property TCEspecifico As Double
+ Get
+ Return ViewState("TCEspecifico").ToString.ToDouble
+ End Get
+
+ Set(value As Double)
+ ViewState("TCEspecifico") = value
+ End Set
+ End Property
+ Private Property TipoCambio As Integer
+ Get
+ Return ViewState("TipoCambio").ToString.ToEntero
+ End Get
+
+ Set(value As Integer)
+ ViewState("TipoCambio") = value
+ End Set
+ End Property
+
+
+ Private Property DT_OSSubProyectos As DataTable
+ Get
+ If ViewState("DT_OSSubProyectos") Is Nothing Then
+ ViewState("DT_OSSubProyectos") = New DataTable
+ End If
+ Return DirectCast(ViewState("DT_OSSubProyectos"), DataTable)
+
+ End Get
+
+ Set(value As DataTable)
+ ViewState("DT_OSSubProyectos") = value
+ End Set
+ End Property
+
+ Private Property DT_OSNoAsignadas As DataTable
+ Get
+ If ViewState("DT_OSNoAsignadas") Is Nothing Then
+ ViewState("DT_OSNoAsignadas") = New DataTable
+ End If
+ Return DirectCast(ViewState("DT_OSNoAsignadas"), DataTable)
+
+ End Get
+
+ Set(value As DataTable)
+ ViewState("DT_OSNoAsignadas") = value
+ End Set
+ End Property
+
+ Private Property CveOSDetalleAsignar As Integer
+ Get
+ If ViewState("CveOSDetalleAsignar") Is Nothing Then
+ ViewState("CveOSDetalleAsignar") = -1
+ End If
+ Return ViewState("CveOSDetalleAsignar").ToString.ToEntero
+ End Get
+ Set(value As Integer)
+ ViewState("CveOSDetalleAsignar") = value
+ End Set
+ End Property
+
+ Private Property CveSubProyectoAsignar As Integer
+ Get
+ If ViewState("CveSubProyectoAsignar") Is Nothing Then
+ ViewState("CveSubProyectoAsignar") = -1
+ End If
+ Return ViewState("CveSubProyectoAsignar").ToString.ToEntero
+ End Get
+ Set(value As Integer)
+ ViewState("CveSubProyectoAsignar") = value
+ End Set
+ End Property
+
+ Private Property CveOrdenServicioTipo As Integer
+ Get
+ If ViewState("CveOrdenServicioTipo") Is Nothing Then
+ ViewState("CveOrdenServicioTipo") = -1
+ End If
+ Return ViewState("CveOrdenServicioTipo").ToString.ToEntero
+ End Get
+ Set(value As Integer)
+ ViewState("CveOrdenServicioTipo") = value
+ End Set
+ End Property
+
+ Private Property FolioAsignar As String
+ Get
+ If ViewState("FolioAsignar") Is Nothing Then
+ ViewState("FolioAsignar") = ""
+ End If
+ Return ViewState("FolioAsignar").ToString
+ End Get
+ Set(value As String)
+ ViewState("FolioAsignar") = value
+ End Set
+ End Property
+ Private Property ConceptoAsignar As String
+ Get
+ If ViewState("ConceptoAsignar") Is Nothing Then
+ ViewState("ConceptoAsignar") = ""
+ End If
+ Return ViewState("ConceptoAsignar").ToString
+ End Get
+ Set(value As String)
+ ViewState("ConceptoAsignar") = value
+ End Set
+ End Property
+ Private Property ClienteAsignar As String
+ Get
+ If ViewState("ClienteAsignar") Is Nothing Then
+ ViewState("ClienteAsignar") = ""
+ End If
+ Return ViewState("ClienteAsignar").ToString
+ End Get
+ Set(value As String)
+ ViewState("ClienteAsignar") = value
+ End Set
+ End Property
+ Private Property SubProyectoAsignar As String
+ Get
+ If ViewState("SubProyectoAsignar") Is Nothing Then
+ ViewState("SubProyectoAsignar") = ""
+ End If
+ Return ViewState("SubProyectoAsignar").ToString
+ End Get
+ Set(value As String)
+ ViewState("SubProyectoAsignar") = value
+ End Set
+ End Property
+ Private Property CveOSAsignar As Integer
+ Get
+ If ViewState("CveOSAsignar") Is Nothing Then
+ ViewState("CveOSAsignar") = -1
+ End If
+ Return ViewState("CveOSAsignar").ToString.ToEntero
+ End Get
+ Set(value As Integer)
+ ViewState("CveOSAsignar") = value
+ End Set
+ End Property
+ Private Property TipoAccion As OSModalTipoAccion
+ Get
+ If ViewState("TipoAccion") Is Nothing Then
+ ViewState("TipoAccion") = OSModalTipoAccion.Agregar
+ End If
+ Return DirectCast(ViewState("TipoAccion"), OSModalTipoAccion)
+ End Get
+ Set(value As OSModalTipoAccion)
+ ViewState("TipoAccion") = value
+ End Set
+ End Property
+
+
+
+ Private Property CveTecnicoAsignarOrioginal As Integer
+ Get
+ If ViewState("CveTecnicoAsignarOrioginal") Is Nothing Then
+ ViewState("CveTecnicoAsignarOrioginal") = -1
+ End If
+ Return ViewState("CveTecnicoAsignarOrioginal").ToString.ToEntero
+ End Get
+ Set(value As Integer)
+ ViewState("CveTecnicoAsignarOrioginal") = value
+ End Set
+ End Property
+
+ Private Property FechaInicioOriginal As DateTime
+ Get
+ If ViewState("FechaInicioOriginal") Is Nothing Then
+ ViewState("FechaInicioOriginal") = NowADS()
+ End If
+ Return ViewState("FechaInicioOriginal").ToString.ToDateTime
+ End Get
+ Set(value As DateTime)
+ ViewState("FechaInicioOriginal") = value
+ End Set
+ End Property
+
+
+ Private Property CveClientePublicoGeneral As Integer
+ Get
+ If ViewState("CveClientePublicoGeneral") Is Nothing Then
+ ViewState("CveClientePublicoGeneral") = -1
+ End If
+ Return ViewState("CveClientePublicoGeneral").ToString.ToEntero
+ End Get
+ Set(value As Integer)
+ ViewState("CveClientePublicoGeneral") = value
+ End Set
+ End Property
+
+ Private Property NombreClientePublicoGeneral As String
+ Get
+ If ViewState("NombreClientePublicoGeneral") Is Nothing Then
+ ViewState("NombreClientePublicoGeneral") = ""
+ End If
+ Return ViewState("NombreClientePublicoGeneral").ToString
+ End Get
+ Set(value As String)
+ ViewState("NombreClientePublicoGeneral") = value
+ End Set
+ End Property
+
+
+ Private Property DTTecnicos As DataTable
+ Get
+ If ViewState("DTTecnicos") Is Nothing Then
+ ViewState("DTTecnicos") = New DataTable
+ End If
+
+ Return DirectCast(ViewState("DTTecnicos"), DataTable)
+ End Get
+
+ Set(ByVal value As DataTable)
+ ViewState("DTTecnicos") = value
+ End Set
+ End Property
+
+ Enum OSModalTipoAccion
+ Agregar
+ Actualizacion
+ Asignacion
+ End Enum
+
+
+
+#End Region
+
+ Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
+ If Not IsPostBack Then
+ CargaUsuariosTecnicos()
+ CargarCentrosDeCosto(Nothing, DdlSubProyecto, Nothing, LblSubProyectoEtiqueta)
+ LblSubProyectoFiltro.Text = LblSubProyectoEtiqueta.Text
+ ' LblModalSubProyectoLabel.Text = LblSubProyectoEtiqueta.Text
+ CargaTecnicos()
+ ConsultaOrdenesServiciosNoAsignadas()
+ CargaOrdenesServiciosNoAsignadas()
+ CargaTecnicosAsignar()
+ InicializaCalendar()
+ GetCargaTiposOrden()
+ cargaDropsModal()
+ CargaClientePublicoGeneral()
+
+ If UsuarioActual.TienePermisoProceso(348) Then
+ DVModalAsignacion.Visible = True
+ End If
+
+ If UsuarioActual.TienePermisoProceso(352) Then
+ LnkCancelarOrden.Visible = True
+ End If
+
+ End If
+ End Sub
+
+ Private Sub CargaUsuariosTecnicos()
+ Dim DTTecnicosresultado As DataTable = Nothing
+ DTTecnicos = New DataTable
+ Dim ObjOS As New ClsOS
+ If ObjOS.GetSubProyectosEstatusInicial(-1, 3, UsuarioActual.CveEmpresa) Then
+ DTTecnicosresultado = ObjOS.DtResultados.FiltraParametros(" Estatus = 'True' ")
+ End If
+
+ If DTTecnicosresultado IsNot Nothing Then
+ For Each SubProyecto As DataRow In DTTecnicosresultado.Rows
+ Dim TecnicosSubProyectoAux As DataTable = DTTecnicosresultado.FiltraParametros(String.Format("SubProyecto = '{0}'", SubProyecto.Item("SubProyecto")))
+ If TecnicosSubProyectoAux.Rows.Count > 0 Then
+ Dim EstatusDeTipoProcesoMenor As Integer = TecnicosSubProyectoAux.Rows(0).Item("CveEstatusOrdenServicio").ToString.ToEntero
+ Dim dtAuxiliar As New DataTable
+ dtAuxiliar = DTTecnicosresultado.FiltraParametros(String.Format("SubProyecto = '{0}' AND CveEstatusOrdenServicio = {1}", SubProyecto.Item("SubProyecto"), EstatusDeTipoProcesoMenor), "", {"CveUsuario", "Nombre"})
+ DTTecnicos.Merge(dtAuxiliar)
+ End If
+ Next
+ End If
+ ObjOS.Dispose()
+
+ 'Dim ObjUsuarios As New ClsSisUsuarios
+ 'If ObjUsuarios.GetPermisosPorUsuarioProcesos(-1, -1, -1, -1, 351, UsuarioActual.CveUsuario, CveEmpresa:=UsuarioActual.CveEmpresa) Then
+ ' If UsuarioActual.CveRol = 1 Then
+ ' DTTecnicos = ObjUsuarios.DtResultados.FiltraParametros(" CveProcesoUsuarioAcceso > 0")
+ ' Else
+ ' DTTecnicos = ObjUsuarios.DtResultados.FiltraParametros(" CveProcesoUsuarioAcceso > 0 and CveUsuario <> 100")
+ ' End If
+
+ 'End If
+ 'ObjUsuarios.Dispose()
+
+ End Sub
+
+#Region "CARGAS"
+
+#End Region
+
+#Region " FULL CALENDAR "
+ Private Sub InicializaCalendar()
+ RegistraScript("InitCalendar();")
+
+ HdnU.Value = UsuarioActual.CveUsuario.ToString
+ HdnE.Value = UsuarioActual.CveEmpresa.ToString
+
+ DirectCast(Master.FindControl("TSM"), ScriptManager).EnablePageMethods = True
+ CargaTiposAgenda()
+ CheckRecurrencia.Attributes.Add("onclick", "CheckAdd(this);")
+ End Sub
+ Private Sub CargaTiposAgenda()
+ Dim ObjEventos As New ClsOIEventos
+
+ If ObjEventos.GetAgendaTipo() Then
+ DdlAgedaTipo.DataSource = ObjEventos.DtResultados
+ DdlAgedaTipo.DataBind()
+ DdlAgedaTipo.Items.Insert(0, New ListItem("Seleccione", "-1"))
+ Else
+ Alert("Ocurrió un error al obtener los tipos de agenda. Por favor recargue la página", TipoMensaje.MsgError)
+ End If
+
+ ObjEventos.Dispose()
+ End Sub
+
+ Private Sub CargaTecnicos()
+ DdlTecnico.DataSource = DTTecnicos 'GlobalDTUsuarios(CveEmpresa:=UsuarioActual.CveEmpresa)
+ DdlTecnico.DataBind()
+ DdlTecnico.Items.Insert(0, New ListItem("Todos", "-1"))
+ End Sub
+
+ Private Sub CargaTecnicosAsignar()
+
+
+ 'Dim ObjOS As New ClsOS
+ 'Dim TecnicosSubProyectos As New DataTable
+ 'Dim TecnicosResultado As New DataTable
+
+ 'If ObjOS.GetSubProyectosEstatusInicial(-1, 3, UsuarioActual.CveEmpresa) Then
+ ' TecnicosSubProyectos = ObjOS.DtResultados
+ 'End If
+
+ 'For Each SubProyecto As DataRow In DT_OSSubProyectos.Rows
+ ' Dim TecnicosSubProyectoAux As DataTable = TecnicosSubProyectos.FiltraParametros(String.Format("SubProyecto = '{0}'", SubProyecto.Item("SubProyecto")))
+ ' If TecnicosSubProyectoAux.Rows.Count > 0 Then
+ ' Dim EstatusDeTipoProcesoMenor As Integer = TecnicosSubProyectoAux.Rows(0).Item("CveEstatusOrdenServicio").ToString.ToEntero
+ ' Dim dtAuxiliar As New DataTable
+ ' dtAuxiliar = TecnicosSubProyectos.FiltraParametros(String.Format("SubProyecto = '{0}' AND CveEstatusOrdenServicio = {1}", SubProyecto.Item("SubProyecto"), EstatusDeTipoProcesoMenor), "", {"CveUsuario", "Nombre"})
+ ' TecnicosResultado.Merge(dtAuxiliar)
+ ' End If
+ 'Next
+ ''DtTecnicosSubProyectos = TecnicosResultado
+
+ 'ObjOS.Dispose()
+
+ DdlTecnicoAsignar.DataSource = DTTecnicos 'GlobalDTUsuarios(-1, UsuarioActual.CveEmpresa).FiltraParametros("Estatus = 'True'")
+ DdlTecnicoAsignar.DataBind()
+ DdlTecnicoAsignar.Items.Insert(0, New ListItem("Seleccione uno", "-1"))
+
+ UpModalOS.Update()
+
+ End Sub
+
+
+ Protected Sub BtnGuardar_Click(sender As Object, e As EventArgs)
+ Dim ObjEventos As New ClsOIEventos
+
+ Dim FechaInicio = TxtFechaInicioAgenda.Text.ToDateTime()
+ Dim FechaFin = TxtFechaFinAgenda.Text.ToDateTime()
+
+ RegistraScript("GetView();")
+
+ Dim RecurrenciaTipo = 0, Frecuencia = -1, DiasSemana = "-1", Dias = -1, Mes = -1, RecurrenciaFin = "-1"
+ If CheckRecurrencia.Checked Then
+ RecurrenciaTipo = RBLRecurrencia.SelectedValue.ToEntero
+ Frecuencia = TxtFrecuencia.Text.ToEntero
+
+ 'OBTENEMOS LOS DIAS SELECCIONADOS EN LA OPCION DE RECURRENCIA POR SEMANA
+ Select Case RecurrenciaTipo
+ Case 3
+ Dim StringDias = ""
+ For Each item As ListItem In CheckDiasSemana.Items
+ If item.Selected Then
+ If StringDias.Length > 0 Then
+ StringDias += ","
+ End If
+ StringDias += item.Value
+ End If
+ Next
+ If StringDias.Length > 0 Then
+ DiasSemana = StringDias
+ End If
+ End Select
+
+
+ 'If RBSinFechaFinAdd.Checked Then
+ ' RecurrenciaFin = "-1"
+ 'Else
+ If RBNumeroOcurrencias.Checked Then
+ RecurrenciaFin = TxtNumeroOcurrencias.Text
+ ElseIf RBFechaFin.Checked Then
+ RecurrenciaFin = TxtFechaFinRecurrencia.Text
+ Else
+ RecurrenciaFin = "-1"
+ End If
+ Else
+ If HdnCveEvento.Value.ToEntero > 0 Then
+ Frecuencia = -2 : DiasSemana = "-2" : Dias = -2 : Mes = -2 : RecurrenciaFin = "-2"
+ End If
+ End If
+
+ '11/05/2018 - GASTO RECURRENTE
+ Dim CveTipoEvento As Integer = IIf(ChkGastoRecurrente.Checked, 10, 2).ToString().ToEntero()
+ Dim Importe As Double = Convert.ToDouble(IIf(ChkGastoRecurrente.Checked, TxtImporteGastoRecurrente.Text, "-1"))
+
+ If HdnCveEvento.Value.ToEntero > 0 Then
+ If ObjEventos.UpdateEvento(TxtAsuntoAgenda.Text, TxtDescripcionAgenda.Text, DdlPrioridad.SelectedValue.ToEntero, DdlAgedaTipo.SelectedValue.ToEntero, -1, FechaInicio, FechaFin, -1, "-1", HdnCveEvento.Value.ToEntero, "-1",
+ RecurrenciaTipo, Frecuencia, DiasSemana, Dias, Mes, RecurrenciaFin, Importe:=Importe) Then
+ Alert("El Evento se actualizó correctamente", TipoMensaje.MsgInformacion)
+ Else
+ Alert("Ocurrió un error al actualizar el evento", TipoMensaje.MsgAdvertencia)
+ End If
+ Else
+ If ObjEventos.AddEventoAgenda(DdlAgedaTipo.SelectedValue.ToEntero, TxtAsuntoAgenda.Text, TxtDescripcionAgenda.Text, DdlPrioridad.SelectedValue.ToEntero, FechaInicio, FechaFin, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa,
+ RecurrenciaTipo:=RecurrenciaTipo, Frecuencia:=Frecuencia, DiasSemana:=DiasSemana, Dia:=Dias, Mes:=Mes, RecurrenciaFin:=RecurrenciaFin, CveTipoEvento:=CveTipoEvento, Importe:=Importe) Then
+
+ Alert("El Evento se guardó correctamente", TipoMensaje.MsgInformacion)
+ Else
+ Alert("Ocurrió un error al Guardar el evento", TipoMensaje.MsgAdvertencia)
+ End If
+ End If
+
+ ObjEventos.Dispose()
+ RegistraScript("Calendario();SetView();$('#ModalAgenda').modal('hide');", "1234")
+ LimpiaModalAgenda()
+
+ End Sub
+ Private Sub LimpiaModalAgenda()
+ TxtDescripcionAgenda.Text = ""
+ TxtAsuntoAgenda.Text = ""
+ DdlPrioridad.SelectedValue = "1"
+ TxtNumeroOcurrencias.Text = ""
+ TxtFechaFinRecurrencia.Text = ""
+ RBFechaFin.Checked = False
+ RBNumeroOcurrencias.Checked = False
+ RBLRecurrencia.SelectedValue = "1"
+ CheckDiasSemana.ClearSelection()
+ RBLRecurrencia_SelectedIndexChanged(RBLRecurrencia, EventArgs.Empty)
+ TxtFrecuencia.Text = "1"
+ LblEmpresaCRM.Text = ""
+ End Sub
+
+ Protected Sub BtnEliminar_Click(sender As Object, e As EventArgs)
+
+ Dim ObjEventos As New ClsOIEventos
+ RegistraScript("GetView();")
+
+ If ObjEventos.RemoveEvento(HdnCveEvento.Value.ToEntero, UsuarioActual.CveEmpresa) Then
+ RegistraScript("Calendario();SetView();$('#ModalAgenda').modal('hide');", "1234")
+ Alert("El evento se eliminó correctamente", TipoMensaje.MsgInformacion)
+ Else
+ Alert("Ocurrió un error al eliminar el evento, por favor intente de nuevo.", TipoMensaje.MsgError)
+ End If
+
+ ObjEventos.Dispose()
+ End Sub
+
+
+ Public Shared Function EliminaEvento(CveEvento As Integer, CveEmpresa As Integer) As String
+ Dim ObjEventos As New ClsOIEventos
+
+ ObjEventos.RemoveEvento(CveEvento, CveEmpresa)
+
+ ObjEventos.Dispose()
+ Return CveEvento.ToString
+ End Function
+
+
+ Public Shared Function ActualizaEvento(ClsEvent As CalendarEvent) As String
+ Dim ObjEventos As New ClsOIEventos
+
+ Dim FechaInicio = DateTimeOffset.Parse(ClsEvent.start).DateTime
+ Dim FechaFin = DateTimeOffset.Parse(ClsEvent.end).DateTime
+
+ If ObjEventos.UpdateEvento("-1", "-1", -1, -1, -1, FechaInicio, FechaFin, -1, "-1", ClsEvent.id) Then
+ End If
+
+ ObjEventos.Dispose()
+ Return "a"
+ End Function
+ Protected Sub RBLRecurrencia_SelectedIndexChanged(sender As Object, e As EventArgs)
+ Select Case RBLRecurrencia.SelectedValue.ToEntero
+ Case 1
+ LblTextoFrecuencia.Text = "Hora(s)"
+ TrDiasSemanaAdd.Style("display") = "none"
+ Case 2
+ LblTextoFrecuencia.Text = "Dia(s)"
+ TrDiasSemanaAdd.Style("display") = "none"
+ Case 3
+ LblTextoFrecuencia.Text = "Semana(s)"
+ TrDiasSemanaAdd.Style("display") = "block"
+
+ 'Chequea los dias seleccionados en la recurrencia
+ For Each item As ListItem In CheckDiasSemana.Items
+ If HdnDiasSemanaAgendar.Value.Contains(item.Value) Then
+ item.Selected = True
+ Else
+ item.Selected = False
+ End If
+ Next
+ Case 4
+ LblTextoFrecuencia.Text = "Mes(es)"
+ TrDiasSemanaAdd.Style("display") = "none"
+ Case 5
+ LblTextoFrecuencia.Text = "Año(s)"
+ TrDiasSemanaAdd.Style("display") = "none"
+ Case Else
+ End Select
+ UpRecurrencia.Update()
+ End Sub
+ Protected Sub BtnActualizaAdd_Click(sender As Object, e As EventArgs)
+ RBLRecurrencia_SelectedIndexChanged(RBLRecurrencia, EventArgs.Empty)
+ End Sub
+#End Region
+
+ Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs)
+ RegistraScript("Calendario();")
+ End Sub
+
+ Private Sub CargaOrdenesServiciosNoAsignadas()
+
+ DdlOrdenesSinAsignar.DataSource = DT_OSNoAsignadas
+ DdlOrdenesSinAsignar.DataBind()
+ DdlOrdenesSinAsignar.Items.Insert(0, New ListItem("Seleccione Uno", "-1"))
+
+ UpOrdenesSinAsignar.Update()
+
+ End Sub
+ Private Sub ConsultaOrdenesServiciosNoAsignadas()
+
+ Dim CveEstatusOrdenServicio As Integer = GlobalDTEstatusOrdenServicios(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveEstatusOrdenServicio", "TipoEstatus=1").ToEntero
+
+ If CveEstatusOrdenServicio = 0 Then
+ Alert("No se pudo carga el estatus", TipoMensaje.MsgAdvertencia)
+ Exit Sub
+ End If
+
+ Dim ObjOS As New ClsOS
+
+ If ObjOS.GetOrdenesServiciosNoAsignadas(-1, -1, CveEstatusOrdenServicio, UsuarioActual.CveEmpresa, "-1", "-1") Then
+ DT_OSSubProyectos = ObjOS.DtResultados.FiltraParametros("", "", {"CveSubProyecto", "SubProyecto"})
+ DT_OSNoAsignadas = ObjOS.DtResultados
+ Else
+ DT_OSSubProyectos = New DataTable
+ DT_OSNoAsignadas = New DataTable
+ End If
+ ObjOS.Dispose()
+
+ 'If DT_OSNoAsignadas.Rows.Count > 0 Then
+ ' DVOSPendientes.Visible = True
+ 'Else
+ ' DVOSPendientes.Visible = False
+ 'End If
+ UpOrdenesSinAsignar.Update()
+
+ End Sub
+
+ Private Sub cargaDropsModal()
+
+ 'DdlClientesWS.ddl.Items.Clear()
+ 'DdlClientesWS.txtText.Value = ""
+ 'DdlClientesWS.txtValue.Value = ""
+
+ If UsuarioActual.Empresa.Funcionalidad(105) = "1" Then
+ DdlClientesWS.setEsWebService(True)
+ Else
+ DdlClientesWS.setEsWebService(False)
+ CargaClientes()
+ End If
+
+ End Sub
+
+ Private Sub CargaClientes()
+ If Not UsuarioActual.Empresa.Funcionalidad(105) = "1" Then
+ DdlClientesWS.ddl.Items.Clear()
+ DdlClientesWS.DataSource = GlobalDTCliente(UsuarioActual.CveEmpresa, -1)
+ DdlClientesWS.DataBind()
+ DdlClientesWS.ddl.Items.Insert(0, New ListItem("Todos", "-1"))
+ End If
+ End Sub
+
+ Private Sub LipiaModalOS()
+
+ TxtSolicito.Text = ""
+ TxtDescripcion.Text = ""
+ TxtFechaOS.Text = ""
+
+ DdlClientesWS.txtText.Value = ""
+ DdlClientesWS.txtValue.Value = ""
+ DdlClientesWS.ddl.SelectedValueExist("-1")
+ DdlTecnicoAsignar.SelectedValueExist("-1")
+
+ 'TSTimeSelector.Hour = NowADS().Hour
+ 'TSTimeSelector.Minute = NowADS().Minute
+
+ CveTecnicoAsignarOrioginal = -1
+ FechaInicioOriginal = NowADS()
+
+ DVFolio.Visible = False
+ DvModalSubProyecto.Visible = False
+
+ End Sub
+
+ Protected Sub LnkOrdenesSinAsignarMostarModal_Click(sender As Object, e As EventArgs)
+ TipoAccion = OSModalTipoAccion.Asignacion
+ HFCveOS.Value = "-1"
+ MostarModal()
+ End Sub
+ Private Sub MostarModal()
+
+ LipiaModalOS()
+ If TipoAccion = OSModalTipoAccion.Agregar Then
+
+ If UsuarioActual.Empresa.Funcionalidad(105) = "1" Then
+ DdlClientesWS.txtValue.Value = CveClientePublicoGeneral.ToString
+ DdlClientesWS.txtText.Value = NombreClientePublicoGeneral
+ Else
+ DdlClientesWS.ddl.SelectedValueExist(CveClientePublicoGeneral)
+ End If
+
+ TxtFechaOS.Text = NowADS().ToString("dd/MM/yyyy")
+ RegistraScript("$('#DVModalOS').modal('show');")
+ LblModalOStitulo.Text = "Agregar Orden de Servicio"
+
+ ElseIf TipoAccion = OSModalTipoAccion.Actualizacion Or TipoAccion = OSModalTipoAccion.Asignacion Then
+
+ 'cargaDropsModal()
+ LblModalOStitulo.Text = "Actualizar Orden de Servicio"
+
+
+ Dim IDOSDetalle As Integer = 1
+ Dim SeFacturara = ""
+ Dim CveOsConsultar As Integer = HFCveOS.Value.ToEntero
+
+ 'If Not CveOsConsultar > 0 AndAlso Not DdlOrdenesSinAsignar.SelectedValue.ToEntero > 0 Then
+ ' Alert("clave de orden de servicio no encontrada.", TipoMensaje.MsgAdvertencia)
+ ' Exit Sub
+ 'End If
+
+ If CveOsConsultar > 0 Then
+ DdlOrdenesSinAsignar.SelectedValueExist(-1)
+ End If
+ Dim ObjOS As New ClsOS()
+ If ObjOS.GetOrdenesServicios(CveOsConsultar, -1, -1, -1, -1, UsuarioActual.CveEmpresa, CveOSDetalle:=DdlOrdenesSinAsignar.SelectedValue.ToEntero) Then
+
+ DVFolio.Visible = True
+ HLkFolio.Text = ObjOS.Folio.ToString
+ HLkFolio.NavigateUrl = $"/OS/OrdenesServicios.aspx?CveOS={ObjOS.CveOS}"
+
+ HLKPDF.NavigateUrl = $"/Compras/PopUpVerFactura.aspx?P={Encripta(String.Format("OP=OS&CVEOS={0}", ObjOS.CveOS))}"
+
+
+ HFCveOS.Value = ObjOS.CveOS.ToString
+ HFCveOsDetalle.Value = ObjOS.CveOSDetalle.ToString
+ TxtDescripcion.Text = ObjOS.Descripcion
+ TxtSolicito.Text = ObjOS.PersonaSolicito
+ TxtFechaOS.Text = ObjOS.FechaRecepcion.ToString("dd/MM/yyyy")
+ 'DdlSubProyectoOS.SelectedValueExist(ObjOS.CveSubProyecto)
+ DdlClientesWS.txtText.Value = ObjOS.Cliente
+ DdlClientesWS.txtValue.Value = ObjOS.CveCliente.ToString
+ DdlClientesWS.ddl.SelectedValueExist(ObjOS.CveCliente.ToString)
+
+ If TipoAccion = OSModalTipoAccion.Actualizacion Then
+ DdlTecnicoAsignar.SelectedValueExist(ObjOS.CveUsuarioAtendio)
+ CveTecnicoAsignarOrioginal = ObjOS.CveUsuarioAtendio
+ FechaInicioOriginal = ObjOS.FechaInicio
+
+ DvModalSubProyecto.Visible = True
+ LblModalOStitulo.Text = "Actualizar Orden de Servicio"
+ 'TSTimeSelector.Hour = If(ObjOS.FechaInicio.Hour > 12, ObjOS.FechaInicio.Hour - 12, ObjOS.FechaInicio.Hour)
+ 'TSTimeSelector.Minute = ObjOS.FechaInicio.Minute
+ 'TSTimeSelector.AmPm = If(ObjOS.FechaInicio.Hour > 12, MKB.TimePicker.TimeSelector.AmPmSpec.PM, MKB.TimePicker.TimeSelector.AmPmSpec.AM)
+ End If
+
+
+ Dim TipoEstatus As Integer = 0
+ TipoEstatus = GlobalDTEstatusOrdenServicios(UsuarioActual.CveEmpresa).FiltroPrimeroValor("TipoEstatus", String.Format("CveEstatusOrdenServicio = {0}", ObjOS.CveEstatusOrdenServicio), "CveEstatusOrdenServicio ASC").ToEntero
+
+ 'LnkModalAsignar.Visible = If(TipoEstatus.Contiene(4, 5), False, True)
+ LnkCancelarOrden.Visible = If(TipoEstatus.Contiene(4, 5), False, True)
+
+ If (TipoEstatus = 5) Then
+ LblModalOStitulo.Text = "Orden Cancelada"
+ End If
+
+ RegistraScript("$('#DVModalOS').modal('show');")
+
+ End If
+ ObjOS.Dispose()
+
+ ElseIf False Then ' Anterior
+
+ CveOSDetalleAsignar = -1
+ CveOSAsignar = -1
+ CveSubProyectoAsignar = -1
+ Dim DTable As DataTable = DT_OSNoAsignadas.FiltraParametros($"CveOSDetalle={DdlOrdenesSinAsignar.SelectedValue}")
+
+ If DTable.Rows.Count = 1 Then
+
+ CveOSDetalleAsignar = DTable.Rows(0)("CveOSDetalle").ToString.ToEntero
+ CveSubProyectoAsignar = DTable.Rows(0)("CveSubProyecto").ToString.ToEntero
+ CveOSAsignar = DTable.Rows(0)("CveOS").ToString.ToEntero
+ FolioAsignar = DTable.Rows(0)("Folio").ToString
+
+ 'LblModalConcepto.Text = DTable.Rows(0)("Concepto").ToString
+ 'LblModalCliente.Text = DTable.Rows(0)("Nombre").ToString
+ 'LblModalSubProyecto.Text = DTable.Rows(0)("SubProyecto").ToString
+
+ LblModalOStitulo.Text = "Asignar Orden de Servicio"
+
+ RegistraScript("$('#DVModalOS').modal('show');")
+ Else
+ Alert("Error al cargar datos.")
+ End If
+
+ End If
+
+
+ UpModalOS.Update()
+
+ End Sub
+
+
+ Protected Sub LnkModalAsignar_Click(sender As Object, e As EventArgs)
+
+ Dim TieneError As Boolean = False
+ Dim CveEstatusSolicidato = GlobalDTEstatusOrdenServicios(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveEstatusOrdenServicio", "TipoEstatus = 1", "CveEstatusOrdenServicio ASC").ToEntero
+ Dim CveEstatusAsiganada = GlobalDTEstatusOrdenServicios(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveEstatusOrdenServicio", "TipoEstatus = 2", "CveEstatusOrdenServicio ASC").ToEntero
+
+ Dim CveCliente As Integer = If(Not DdlClientesWS.SelectedValue.ToEntero > 0, DdlClientesWS.txtValue.Value.ToString.ToEntero, DdlClientesWS.SelectedValue.ToEntero)
+ Dim CvePSDetalle As Integer = UsuarioActual.Empresa.Funcionalidad(708).ToEntero
+ Dim EsNueva As Boolean = False
+
+
+ Dim CveOS As Integer = HFCveOS.Value.ToEntero
+ Dim CveOsDetalle As Integer = HFCveOsDetalle.Value.ToEntero
+
+
+ Dim CveSubProyectoTecnico As Integer = If(DdlTecnicoAsignar.SelectedValue.ToEntero > 0, GlobalDTUsuarios(DdlTecnicoAsignar.SelectedValue.ToEntero, UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", " CveSubProyecto > 0 ").ToEntero, -1)
+
+ If CveSubProyectoTecnico = 0 And DdlTecnicoAsignar.SelectedValue.ToEntero = 100 Then
+ CveSubProyectoTecnico = GlobalDTSubProyectos(-1, -1, UsuarioActual.CveEmpresa, 1).FiltroPrimeroValor("CveSubProyecto").ToEntero
+ End If
+
+
+ If TipoAccion = OSModalTipoAccion.Asignacion AndAlso Not CveSubProyectoTecnico > 0 Then
+ Alert("No se encontro el subproyecto o centro de costo del tecnico seleccionado.")
+ Exit Sub
+ End If
+
+ If Not CvePSDetalle > 0 Then
+ Alert("No esta asiganado el producto del detalle a la funcionalidad.")
+ Exit Sub
+ End If
+
+ If Not CveCliente > 0 Then
+ Alert("Debe seleccionar una cliente.")
+ Exit Sub
+ End If
+
+ If TipoAccion = OSModalTipoAccion.Asignacion Then
+
+ If Not DdlTecnicoAsignar.SelectedValue.ToEntero > 0 Then
+ Alert("El tecnico es requerido", TipoMensaje.MsgAdvertencia)
+ Exit Sub
+ End If
+
+
+
+ End If
+
+ Dim ObjOS As New ClsOS
+ ObjOS.IniciaTransacSQL()
+
+ If CveOS > 0 Then
+
+ Dim CveEstatusOrden = CveEstatusSolicidato
+ If DdlTecnicoAsignar.SelectedValue.ToEntero > 0 Then
+ CveEstatusOrden = CveEstatusAsiganada
+ End If
+
+ If TipoAccion = OSModalTipoAccion.Asignacion Then
+ CveEstatusOrden = CveEstatusAsiganada
+ End If
+
+ CveOS = HFCveOS.Value.ToEntero
+ CveOsDetalle = HFCveOsDetalle.Value.ToEntero
+
+ If CveOS > 0 Then
+
+ If Not ObjOS.UpdateOrdenesServicios(TxtSolicito.Text, TxtFechaOS.Text, TxtDescripcion.Text, UsuarioActual.CveUsuario, CveEstatusOrden, CveOS, UsuarioActual.CveUsuario,
+ -1, CveClienteSucursal:=-1, Direccion:="", Telefono:="",
+ CveSubProyecto:=CveSubProyectoTecnico, Correo:="") Then
+ TieneError = True
+ End If
+ Else
+ TieneError = True
+ End If
+
+ End If
+
+ 'Dim picker As MKB.TimePicker.TimeSelector = TSTimeSelector
+ 'Dim time As DateTime
+ 'time = DateTime.Parse(String.Format("{0} {1}:{2} {3}", TxtModalFechaOS.Text, picker.Hour, picker.Minute, picker.AmPm))
+
+ If Not TieneError AndAlso CveOS > 0 AndAlso CveOsDetalle > 0 AndAlso DdlTecnicoAsignar.SelectedValue.ToEntero > 0 AndAlso
+ (HFCveUsuarioAtendio.Value.ToEntero <> DdlTecnicoAsignar.SelectedValue.ToEntero) Then
+
+
+ 'If Not ObjOS.UpdateOrdenesServiciosAsignadas(CveOsDetalle, DdlTecnicoAsignar.SelectedValue.ToEntero, TxtModalFechaOS.Text.ToDate, TxtModalFechaOS.Text.ToDateTime(), UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario) Then
+ ' TieneError = True
+ 'End If
+
+
+ 'If ObjOS.GetSubProyectosEstatusInicial(DdlTecnicoAsignar.SelectedValue.ToEntero, 3, UsuarioActual.CveEmpresa) Then
+ ' Dim subProyectoDelTecnico As DataTable
+ ' subProyectoDelTecnico = ObjOS.DtResultados.FiltraParametros($"CveSubProyecto = {CveSubProyectoTecnico}")
+
+ ' If subProyectoDelTecnico.Rows.Count > 0 Then
+ ' If Not ObjOS.UpdateOrdenesServiciosAsignadas(CveOsDetalle, DdlTecnicoAsignar.SelectedValue.ToEntero, TxtModalFechaOS.Text.ToDate, TxtModalFechaOS.Text.ToDateTime(), UsuarioActual.CveEmpresa) Then
+ ' TieneError = True
+ ' End If
+ ' Else
+ ' Alert("El técnico y la Orden de Servicio deben pertenecer al mismo subProyecto", TipoMensaje.MsgAdvertencia)
+ ' TieneError = True
+ ' End If
+ 'End If
+
+
+
+ If Not TieneError Then
+
+ If Not ObjOS.UpdateOrdenesServiciosEstatus(CveEstatusAsiganada, UsuarioActual.CveUsuario, CveOS) Then
+ TieneError = True
+ End If
+
+ If Not TieneError Then
+
+
+ Dim ObjEventos As New ClsOIEventos(ObjOS.IniciaTransacSQL())
+
+ If HFOCveOIEvento.Value.ToEntero > 0 Then
+
+ If Not ObjEventos.RemoveAgendaBitacora(HFOCveOIEvento.Value.ToEntero, UsuarioActual.CveEmpresa) Then
+ TieneError = True
+ End If
+
+ End If
+
+
+ Dim RecurrenciaTipo = 0, Frecuencia = -1, DiasSemana = "-1", Dias = -1, Mes = -1, RecurrenciaFin = "-1"
+ Dim OIDescripcion As String = $"{DdlTecnicoAsignar.SelectedItem.Text} Orden de servicio {FolioAsignar} "
+ If Not ObjEventos.AddEventoAgenda(2, DdlTecnicoAsignar.SelectedItem.Text, OIDescripcion, 2, TxtFechaOS.Text.ToDateTime(), TxtFechaOS.Text.ToDateTime().AddHours(1), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa,
+ RecurrenciaTipo:=RecurrenciaTipo, Frecuencia:=Frecuencia, DiasSemana:=DiasSemana, Dia:=Dias, Mes:=Mes, RecurrenciaFin:=RecurrenciaFin, CveTipoEvento:=2,
+ Importe:=0, CveOS:=CveOS, CveSubProyecto:=CveSubProyectoTecnico, CveUsuarioPara:=DdlTecnicoAsignar.SelectedValue.ToEntero) Then
+ TieneError = True
+ End If
+ End If
+ End If
+ End If
+
+ If Not TieneError Then
+ ObjOS.Commit()
+ Else
+ ObjOS.RollBack()
+ End If
+ ObjOS.Dispose()
+
+ Dim CorreoAsignado As String = GlobalDTUsuarios(DdlTecnicoAsignar.SelectedValue.ToEntero).Rows(0)("Correo").ToString
+ If Not TieneError And CorreoAsignado.Trim.Length > 0 AndAlso DdlTecnicoAsignar.SelectedValue.ToEntero > 0 Then
+ CorreoAsignado = GlobalDTUsuarios(DdlTecnicoAsignar.SelectedValue.ToEntero).Rows(0)("Correo").ToString
+ MandaCorreOS(CveOS, CorreoAsignado)
+ End If
+
+ 'If Not TieneError And TxtEmail.Text.Trim.Length > 0 AndAlso DdlTecnicoAsignar.SelectedValue.ToEntero > 0 Then
+ ' MandaCorreOS(CveOS, TxtEmail.Text, True)
+ 'End If
+
+ If Not TieneError Then
+
+ ConsultaOrdenesServiciosNoAsignadas()
+ CargaOrdenesServiciosNoAsignadas()
+
+ If TipoAccion = OSModalTipoAccion.Asignacion Then
+ Alert("Orden asignada correctamente.")
+ ElseIf TipoAccion = OSModalTipoAccion.Agregar Then
+ Alert("Orden Guardada correctamente.")
+ ElseIf TipoAccion = OSModalTipoAccion.Actualizacion Then
+ Alert("Orden actualizada correctamente.")
+ End If
+
+ RegistraScript("$('#DVModalOS').modal('hide');Calendario();")
+
+ End If
+
+ End Sub
+
+ Private Sub MandaCorreOS(CveOS As Integer, CorreoUsuarioAsignado As String, Optional EsCliente As Boolean = False)
+
+ Dim ObjOS As New ClsOS()
+ Dim params As New List(Of ReportParameter)
+ Dim CveFolio = ""
+
+ Dim TmpDTOS = New DataTable
+ TmpDTOS.Columns.Add("CveOSDetalle", GetType(Integer))
+
+ TmpDTOS.Columns.Add("CveClasificacion", GetType(Integer))
+ TmpDTOS.Columns.Add("Clasificacion", GetType(String))
+ TmpDTOS.Columns.Add("CvePS", GetType(Integer))
+ TmpDTOS.Columns.Add("CveUM", GetType(Integer))
+ TmpDTOS.Columns.Add("UM", GetType(String))
+ TmpDTOS.Columns.Add("Cantidad", GetType(Integer))
+ TmpDTOS.Columns.Add("PS", GetType(String))
+ TmpDTOS.Columns.Add("Especificaciones", GetType(String))
+ TmpDTOS.Columns.Add("Materiales", GetType(String))
+ TmpDTOS.Columns.Add("CveCuentaEquipo", GetType(Integer))
+ TmpDTOS.Columns.Add("Observaciones", GetType(String))
+ TmpDTOS.Columns.Add("FechaAtencion", GetType(String))
+ TmpDTOS.Columns.Add("CveUsuarioAtendio", GetType(Integer))
+ TmpDTOS.Columns.Add("UsuarioAtendio", GetType(String))
+ TmpDTOS.Columns.Add("FechaTermino", GetType(String))
+ TmpDTOS.Columns.Add("FechaEntrega", GetType(String))
+ TmpDTOS.Columns.Add("CveUsuarioEntrego", GetType(Integer))
+ TmpDTOS.Columns.Add("UsuarioEntrego", GetType(String))
+ TmpDTOS.Columns.Add("SeFacturara", GetType(String))
+ TmpDTOS.Columns.Add("SeSuperviso", GetType(String))
+ TmpDTOS.Columns.Add("Estatus", GetType(String))
+ TmpDTOS.Columns.Add("Archivo", GetType(String))
+ TmpDTOS.Columns.Add("ComentarioTecnico", GetType(String))
+
+
+ Dim TmpDTMaterialesOS = New DataTable
+ TmpDTMaterialesOS.Columns.Add("CveOSDetalle", GetType(Integer))
+ TmpDTMaterialesOS.Columns.Add("CveConsecutivo", GetType(Integer))
+ TmpDTMaterialesOS.Columns.Add("CveConsecutivoDetalle", GetType(Integer))
+ TmpDTMaterialesOS.Columns.Add("CveMaterial", GetType(Integer))
+ TmpDTMaterialesOS.Columns.Add("Cantidad", GetType(Integer))
+ TmpDTMaterialesOS.Columns.Add("CveClasificacion", GetType(Integer))
+ TmpDTMaterialesOS.Columns.Add("CvePS", GetType(String))
+ TmpDTMaterialesOS.Columns.Add("CveUM", GetType(String))
+ TmpDTMaterialesOS.Columns.Add("Clasificacion", GetType(String))
+ TmpDTMaterialesOS.Columns.Add("PS", GetType(String))
+ TmpDTMaterialesOS.Columns.Add("UM", GetType(String))
+
+ Dim FolioOS As String = ""
+
+ Dim RutaReporte As New System.IO.FileInfo(String.Format("{0}Formatos/OrdenServicio.rdlc", UsuarioActual.Empresa.Ruta))
+
+ If ObjOS.GetOrdenesServicios(CveOS, -1, -1, -1, -1, UsuarioActual.CveEmpresa) Then
+ If ObjOS.DtResultados.Rows.Count > 0 Then
+
+ Dim dtOS As DataTable = ObjOS.DtResultados
+ Dim dr As DataRow = dtOS.Rows(0)
+ params.Add(New ReportParameter("Cliente", dr("Cliente").ToString))
+ params.Add(New ReportParameter("Solicito", dr("PersonaSolicito").ToString))
+ params.Add(New ReportParameter("Descripcion", dr("Descripcion").ToString))
+ params.Add(New ReportParameter("Recibio", UsuarioActual.Nombre))
+ params.Add(New ReportParameter("FechaRecibido", dr("FechaRecepcion").ToString.ToDate.ToString("dd/MM/yyyy")))
+ params.Add(New ReportParameter("FolioOS", dr("Folio").ToString))
+ params.Add(New ReportParameter("ClienteTelefono", dr("Telefono").ToString))
+ params.Add(New ReportParameter("ClienteCalle", dr("Direccion").ToString))
+ params.Add(New ReportParameter("ClienteColonia", dr("Colonia").ToString))
+ params.Add(New ReportParameter("ClienteCiudad", dr("Ciudad").ToString))
+ params.Add(New ReportParameter("ClienteEstado", dr("Estado").ToString))
+ CveFolio = dr("Folio").ToString
+
+ 'If RutaReporte.Exists Then
+ params.Add(New ReportParameter("NoDeCliente", dr("CveCliente").ToString))
+ params.Add(New ReportParameter("RFC", dr("RFC").ToString))
+ params.Add(New ReportParameter("Vendedor", " "))
+ params.Add(New ReportParameter("Correo", dr("Correo").ToString))
+ params.Add(New ReportParameter("CodigoDeServicio", dr("CveOS").ToString))
+ params.Add(New ReportParameter("Sucursal", dr("SubProyecto").ToString))
+ params.Add(New ReportParameter("TipoServicio", dr("TipoServicio").ToString))
+ params.Add(New ReportParameter("TipoEquipo", dr("TipoEquipo").ToString))
+ 'params.Add(New ReportParameter("Descripcion", dr("Descripcion").ToString))
+ params.Add(New ReportParameter("Copia", "Copia: Original"))
+ params.Add(New ReportParameter("Equipo", dr("Equipo").ToString))
+
+ params.Add(New ReportParameter("DireccionOS", dr("DireccionOS").ToString))
+ params.Add(New ReportParameter("Telefono", dr("Telefono").ToString))
+ params.Add(New ReportParameter("CorreoOS", dr("CorreoOS").ToString))
+
+ params.Add(New ReportParameter("ModeloMarca", dr("ModeloMarca").ToString))
+ params.Add(New ReportParameter("Año", dr("Año").ToString))
+ params.Add(New ReportParameter("TelefonoContacto", dr("TelefonoContacto").ToString))
+
+ params.Add(New ReportParameter("FechaImpresion", NowADS().ToString("dd/MM/yyyy")))
+ params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Usuario))
+ params.Add(New ReportParameter("Condiciones", dr("Condiciones").ToString))
+ params.Add(New ReportParameter("FechaAtencion", If(dr("FechaInicio").ToString.Length > 0, dr("FechaInicio").ToString.ToDate.ToString("dd/MM/yyyy hh:mm tt"), "")))
+ params.Add(New ReportParameter("TecnicoAsignado", dr("UsuarioAtendio").ToString))
+
+ 'End If
+
+ End If
+ End If
+
+ Dim Imagen As New System.IO.FileInfo($"{UsuarioActual.Empresa.Ruta}/Logo.png")
+
+ If Not RutaReporte.Exists Then
+
+ RutaReporte = New System.IO.FileInfo(String.Format("{0}Empresas\Grales\Formatos\OrdenServicio.rdlc", ModExtensiones.DirectorioBaseEmpresas))
+
+ 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("LogoPath", If(Imagen.Exists, $"file://{Imagen.FullName}", "")))
+
+ End If
+
+
+ If ObjOS.GetOrdenesServiciosDetalle(CveOS) Then
+ TmpDTMaterialesOS = ObjOS.DtResultados
+ End If
+
+ Dim lrds As New List(Of ReportDataSource)
+ Dim rds As New ReportDataSource With {.Name = "DataSet2", .Value = TmpDTMaterialesOS}
+ Dim rds2 As New ReportDataSource With {.Name = "DataSet1", .Value = TmpDTMaterialesOS}
+
+ lrds.Add(rds)
+ lrds.Add(rds2)
+ ObjOS.Dispose()
+
+ Dim ReporteByte As Byte() = StreamPDF(RutaReporte.FullName, lrds, params, NombreArchivo:=String.Format("OrdenServicio-{0}", CveFolio))
+
+ If ReporteByte IsNot Nothing Then
+ Try
+ ViewState("Para") = CorreoUsuarioAsignado
+ ViewState("ArrayCC") = ""
+ ViewState("Asunto") = "Asinación Orden de Servicio"
+ ViewState("FolioOSMail") = FolioOS
+ ViewState("Body") = "Asinación Orden de Servicio"
+
+
+ ViewState("bytesOS") = ReporteByte
+ Dim Hilo As New Threading.Thread(AddressOf SendmailOS)
+ Hilo.Start()
+ Catch ex As Exception
+ GuardaLogAD($"Error al enviar correo de OS {ex.StackTrace}")
+ End Try
+ End If
+
+ End Sub
+
+ Private Sub SendmailOS()
+
+ Dim Asunto, Para, ArrayCC, Body As String
+ Asunto = If(IsNothing(ViewState("Asunto")), "", ViewState("Asunto").ToString)
+ Para = If(IsNothing(ViewState("Para")), "", ViewState("Para").ToString)
+ ArrayCC = If(IsNothing(ViewState("ArrayCC")), "", ViewState("ArrayCC").ToString)
+
+ Body = If(IsNothing(ViewState("Body")), "", ViewState("Body").ToString)
+
+
+ Dim Mail As New ClsSisMail()
+ Dim LSRutasMail As New List(Of ClsSisMail.ArchivoMail)
+ LSRutasMail.Add(New ClsSisMail.ArchivoMail With {.NombreArchivo = $"OS_{ViewState("FolioOSMail") }.pdf", .ArchivoBinario = DirectCast(ViewState("bytesOS"), Byte())})
+ Mail.SendMail(ClsPaginas.EmpresaNotificaciones, Para, Asunto, Body, ArrayCC, LSRutasMail)
+
+ End Sub
+
+ Private Sub GetCargaTiposOrden()
+ Dim ObjOS As New ClsOS
+
+ If ObjOS.GetTipoOrdenesServicios(UsuarioActual.CveEmpresa) AndAlso ObjOS.DtResultados IsNot Nothing AndAlso ObjOS.DtResultados.Rows.Count > 0 Then
+ CveOrdenServicioTipo = ObjOS.DtResultados.FiltroPrimeroValor("CveOrdenServicioTipo").ToEntero
+ Else
+ CveOrdenServicioTipo = -1
+ End If
+ ObjOS.Dispose()
+
+ End Sub
+
+
+ Protected Sub LnkCommando_Click(sender As Object, e As EventArgs)
+
+ ' Alert($"HFCveOS:{HFCveOS.Value}, HFCveOsDetalle:{HFCveOsDetalle.Value }, HFCveOIEvento:{HFOCveOIEvento.Value}")
+ TipoAccion = OSModalTipoAccion.Actualizacion
+ 'RegistraScript("$('#DVModalOS').modal('show');")
+ MostarModal()
+
+ End Sub
+
+ Protected Sub DdlTecnicoAsignar_SelectedIndexChanged(sender As Object, e As EventArgs)
+
+
+ If TipoAccion = OSModalTipoAccion.Asignacion Then
+
+
+ 'DdlTecnicoAsignar.Visible = True
+ 'RfvDdlTecnicoAsignar.Visible = True
+ 'VCERfvDdlTecnicoAsignar.Visible = True
+
+ 'RfvTxtModalFechaOS.Visible = True
+ 'VceRfvTxtModalFechaOS.Enabled = True
+ ElseIf TipoAccion = OSModalTipoAccion.Agregar Or TipoAccion = OSModalTipoAccion.Actualizacion Then
+
+ 'DdlTecnicoAsignar.Visible = False
+ 'RfvDdlTecnicoAsignar.Visible = False
+ ' VCERfvDdlTecnicoAsignar.Visible = False
+
+ 'RfvTxtModalFechaOS.Visible = False
+ 'VceRfvTxtModalFechaOS.Enabled = False
+
+ End If
+
+ UpModalOS.Update()
+
+ End Sub
+
+ Private Sub CargaClientePublicoGeneral()
+
+ Dim ObjCliente As New ClsClientes()
+
+ If ObjCliente.GetClientes(-1, "PUBLICO EN GENERAL", "-1", "-1", "-1", "-1", "-1", -1, UsuarioActual.CveEmpresa, -1) Then
+
+ If ObjCliente.DtResultados.Rows.Count > 0 Then
+ Me.CveClientePublicoGeneral = ObjCliente.CveCliente
+ Me.NombreClientePublicoGeneral = ObjCliente.Nombre
+ End If
+ End If
+ ObjCliente.Dispose()
+
+ End Sub
+
+
+ Protected Sub DdlTecnicoAsignar_SelectedIndexChanged1(sender As Object, e As EventArgs)
+ ValidaHorarioNoOperativo()
+ End Sub
+
+ Protected Sub LnkValidaHorarioNoOperativo_Click(sender As Object, e As EventArgs)
+ ValidaHorarioNoOperativo()
+ End Sub
+
+ Private Sub ValidaHorarioNoOperativo()
+ If DdlTecnicoAsignar.SelectedValue.ToEntero > 0 Then
+
+ Dim objOS As New ClsOS
+ Dim DTHorarios As New DataTable
+
+ If objOS.GetOrdenesServiciosTecnicoHorarioNoOperativo(DdlTecnicoAsignar.SelectedValue.ToEntero, UsuarioActual.CveEmpresa) Then
+ DTHorarios = objOS.DtResultados
+ End If
+ objOS.Dispose()
+
+ If DTHorarios IsNot Nothing AndAlso DTHorarios.Rows.Count > 0 Then
+
+ Dim HoraInicio As TimeSpan = DTHorarios.Rows(0)("HoraInicio").ToString.ToDate.TimeOfDay
+ Dim HoraFin As TimeSpan = DTHorarios.Rows(0)("HoraFin").ToString.ToDate.TimeOfDay
+ Dim HoraAsignacion As TimeSpan = TxtFechaOS.Text.ToDate.TimeOfDay
+
+ If HoraAsignacion >= HoraInicio And HoraAsignacion <= HoraFin Then
+ Alert($"La hora especificada esta dentro del horario no operativo del Técnico {HoraInicio.ToString()} a {HoraFin.ToString()} .", TipoMensaje.MsgAdvertencia)
+ End If
+ End If
+ 'ViewState("Validando") = Nothing
+
+ End If
+ End Sub
+
+ Protected Sub LnkCancelarOrden_Click(sender As Object, e As EventArgs)
+
+ RegistraScript($"$('#{TxtModalCancelarOrdenMotivo.ClientID}').focus();;$('#DVModalCancelacionOrden').modal('show');")
+
+ TxtModalCancelarOrdenMotivo.Focus()
+ TxtModalCancelarOrdenMotivo.Text = ""
+ UpmodalCacelaOrden.Update()
+
+ End Sub
+
+
+
+ Protected Sub LnkmodalCancelarORdenServicio_Click(sender As Object, e As EventArgs)
+
+ Dim TieneError As Boolean = True
+ Dim CveOS As Integer = HFCveOS.Value.ToEntero
+ Dim objOS As New ClsOS
+ Dim ObjEventoBitacora As New ClsOIEventos(objOS.IniciaTransacSQL)
+ If objOS.UpdateOrdenesServiciosFinaliza(CveOS, -1, -1, UsuarioActual.CveEmpresa, Opcion:=2) Then 'Opcion:=2 Es para cancelar
+ If ObjEventoBitacora.AddEventoBitacora($"Motivo Cancelación: {TxtModalCancelarOrdenMotivo.Text.Trim}", "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, CveOS, -1, -1, -1, -1) Then
+ TieneError = False
+ End If
+ End If
+
+ If TieneError Then
+ objOS.RollBack()
+ Else
+ objOS.Commit()
+ End If
+
+ objOS.Dispose()
+
+
+ If Not TieneError Then
+ Alert("Orden Cancelada Correctamente", TipoMensaje.MsgInformacion, "location.reload(true);")
+ RegistraScript("$('#DVModalCancelacionOrden').modal('hide');")
+ RegistraScript("$('#DVModalFinalizarOrden').modal('hide');")
+ End If
+ End Sub
+End Class
diff --git a/RH/Personal.aspx b/RH/Personal.aspx
index c433299bf..cf8e23ddf 100644
--- a/RH/Personal.aspx
+++ b/RH/Personal.aspx
@@ -1615,12 +1615,28 @@
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/RH/Personal.aspx.vb b/RH/Personal.aspx.vb
index 4b10b8342..00414fc4a 100644
--- a/RH/Personal.aspx.vb
+++ b/RH/Personal.aspx.vb
@@ -1057,6 +1057,7 @@ Partial Class RH_Personal
If UsuarioActual.CveRol = 1 Or UsuarioActual.CveUsuario = 100 Then
DVNetoPeriodo.Visible = True
+ DVCodigoDispersionVale.Visible = True
End If
@@ -1878,6 +1879,8 @@ Partial Class RH_Personal
DdlRegistroPatronal.SelectedValueExist(ObjPersonal.DtResultados.Rows(0)("CveRegistroPatronal").ToString)
DdlEmpresaAsignada.SelectedValueExist(ObjPersonal.DtResultados.Rows(0)("CveEmpresaAsignado").ToString)
+ TxtCodigoDispersionVale.Text = ObjPersonal.CodigoDispersionVale
+
'Carga Incidencias
BtnConsultarAsistencia_Click(Me, New System.EventArgs)
@@ -2053,7 +2056,7 @@ Partial Class RH_Personal
TelefonoExtension:=TxtTelefonoExtension.Text, CelularPersonal:=TxtCelularPersonal.Text, TelefonoMarcadoRapido:=TxtTelefonoMarcadoRapido.Text, ContactoAlterno:="", CveTipodeSalario:=DDlTipoSalario.SelectedValue.ToEntero(),
Sindicalizado:=ChkSindicalizado.Checked, Pensionado:=ChkPensionado.Checked, CvePais:=DdlPais.SelectedValue.ToEntero(), CveRegistroPatronal:=DdlRegistroPatronal.SelectedValue.ToEntero(),
CveEmpresaAsignado:=DdlEmpresaAsignada.SelectedValue.ToEntero, CveTipoTrabajador:=DdlTipoTrabajador.SelectedValue.ToEntero(), NetoPeriodo:=TxtNetoPeriodo.Text.ToDecimal, TipoSangre:=DdlTipoSangre.SelectedValue, CveSubTipoPeriodo:=CveSubTipoPeriodo,
- AreaGeografica:=DdlAreageografica.SelectedValue) Then
+ AreaGeografica:=DdlAreageografica.SelectedValue, CodigoDispersionVale:=TxtCodigoDispersionVale.Text.Trim) Then
If Archivo.Exists Then
@@ -2140,7 +2143,7 @@ Partial Class RH_Personal
CveTipodeSalario:=DDlTipoSalario.SelectedValue.ToEntero(), Sindicalizado:=If(ChkSindicalizado.Checked, 1, 0), Pensionado:=ChkPensionado.Checked, CvePais:=DdlPais.SelectedValue.ToEntero(),
CveRegistroPatronal:=DdlRegistroPatronal.SelectedValue.ToEntero(), CveEmpresaAsignado:=DdlEmpresaAsignada.SelectedValue.ToEntero(), EsReserva:=If(chkEsReserva.Checked, 1, 0),
Fiscalizable:=If(chkNoFiscalizar.Checked, 0, 1), CveTipoTrabajador:=DdlTipoTrabajador.SelectedValue.ToEntero(), NetoPeriodo:=TxtNetoPeriodo.Text.ToDecimal, TipoSangre:=DdlTipoSangre.SelectedValue, CveSubTipoPeriodo:=CveSubTipoPeriodo,
- AreaGeografica:=DdlAreageografica.SelectedValue) Then
+ AreaGeografica:=DdlAreageografica.SelectedValue, CodigoDispersionVale:=TxtCodigoDispersionVale.Text.Trim) Then
'Funcion usa RH Familiares
If UsuarioActual.Empresa.Funcionalidad(568) = "1" Then
diff --git a/SAT/SolicitudesIngresoSat.aspx.cs b/SAT/SolicitudesIngresoSat.aspx.cs
index 0ee5176ab..8c8112a32 100644
--- a/SAT/SolicitudesIngresoSat.aspx.cs
+++ b/SAT/SolicitudesIngresoSat.aspx.cs
@@ -271,7 +271,8 @@ public partial class SAT_SolicitudesIngresoSat : ClsPaginas
protected void LnkverificarSolicitudes_Click(object sender, EventArgs e)
{
try
- {
+ {
+ var TipoMensaje = ModExtensiones.TipoMensaje.MsgInformacion;
StringBuilder sbResultado = new StringBuilder();
foreach (GridViewRow GvRow in GVSolicitudesPendientes.Rows)
{
@@ -284,7 +285,7 @@ public partial class SAT_SolicitudesIngresoSat : ClsPaginas
List resultVerificacion = new List();
var ResultadoVerificaionOK = false;
var SeVerifico = false;
- var TipoMensaje = ModExtensiones.TipoMensaje.MsgInformacion;
+
var ResultadoSolicitudOK = false;
@@ -339,7 +340,7 @@ public partial class SAT_SolicitudesIngresoSat : ClsPaginas
else
{
- if (resultSolicitud.Count == 4)
+ if (resultSolicitud.Count >= 4)
{
sbResultado.Append($"({resultSolicitud[1]}) Folio:{Folio} ");
}
@@ -352,7 +353,7 @@ public partial class SAT_SolicitudesIngresoSat : ClsPaginas
}
- if (SeVerifico && resultVerificacion.Count == 4)
+ if (SeVerifico && resultVerificacion.Count >= 4)
{
if (ResultadoVerificaionOK)
{
@@ -370,11 +371,11 @@ public partial class SAT_SolicitudesIngresoSat : ClsPaginas
TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia;
}
- Alert(sbResultado.ToString(), TipoMensaje);
+
}
-
+ Alert(sbResultado.ToString(), TipoMensaje);
diff --git a/SAT/SolicitudesNominaSat.aspx b/SAT/SolicitudesNominaSat.aspx
index aae72e6fe..70fdc5981 100644
--- a/SAT/SolicitudesNominaSat.aspx
+++ b/SAT/SolicitudesNominaSat.aspx
@@ -518,7 +518,7 @@
+ DataKeyNames="CveSolicitud,idSolicitud,CveTipoSolicitud,Folio,CveSolicitudCFDI,CveSolicitudMetadata,Estatus,Observaciones,FechaInicio,FechaFin,FechaIng,CveUsuarioIng,CveEmpresa">
diff --git a/SAT/SolicitudesNominaSat.aspx.cs b/SAT/SolicitudesNominaSat.aspx.cs
index 63d6fbe17..7bf8da504 100644
--- a/SAT/SolicitudesNominaSat.aspx.cs
+++ b/SAT/SolicitudesNominaSat.aspx.cs
@@ -12,7 +12,8 @@ using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using static Extensiones.ModExtensiones;
-
+using Newtonsoft.Json.Linq;
+using Extensiones;
public partial class SAT_SolicitudesNominaSat : ClsPaginas
{
@@ -217,15 +218,16 @@ public partial class SAT_SolicitudesNominaSat : ClsPaginas
DateTime fechaFin = txtFechaFAdd.Text.ToDateTime();
int cveUsuarioIng = UsuarioActual.CveUsuario;
int cveEmpresa = UsuarioActual.CveEmpresa;
- bool Continuar = false;
+ //bool Continuar = false;
+ int CveSolicitudAgregada = -1;
using (ClsNominas nom = new ClsNominas())
- {
- Continuar = nom.SolicitudesAdd(idSolicitudCFDI, idSolicitudMetadata, estatus, observaciones, fechaInicio, fechaFin, cveUsuarioIng, cveEmpresa);
+ {
+ CveSolicitudAgregada = nom.SolicitudesAdd2(idSolicitudCFDI, idSolicitudMetadata, estatus, observaciones, fechaInicio, fechaFin, cveUsuarioIng, cveEmpresa,1);
var api = new GeneralesAPI();
- api.GeneraSolicitud(UsuarioActual.CveEmpresa, 1);
- api.VerificaSolicitudesNominas(UsuarioActual.CveEmpresa, 1);
+ api.GeneraSolicitud(UsuarioActual.CveEmpresa, 1, CveSolicitudAgregada);
+ api.VerificaSolicitudesNominas(UsuarioActual.CveEmpresa, 1, CveSolicitudAgregada);
}
- if (Continuar)
+ if (CveSolicitudAgregada > 0)
{
txtFechaIAdd.Text = "";
txtFechaFAdd.Text = "";
@@ -239,10 +241,126 @@ public partial class SAT_SolicitudesNominaSat : ClsPaginas
protected void LnkverificarSolicitudes_Click(object sender, EventArgs e)
{
- var api = new GeneralesAPI();
- api.GeneraSolicitud(UsuarioActual.CveEmpresa,1);
- api.VerificaSolicitudesNominas(UsuarioActual.CveEmpresa, 1);
- cargasolicitudes();
+ //var api = new GeneralesAPI();
+ //api.GeneraSolicitud(UsuarioActual.CveEmpresa,1);
+ //api.VerificaSolicitudesNominas(UsuarioActual.CveEmpresa, 1);
+ //cargasolicitudes();
+
+ try
+ {
+ var TipoMensaje = ModExtensiones.TipoMensaje.MsgInformacion;
+ StringBuilder sbResultado = new StringBuilder();
+ foreach (GridViewRow GvRow in GVSolicitudesPendientes.Rows)
+ {
+ int CveSolicitudActual = GvRow.DataKey("CveSolicitud").ToEntero();
+ string idSolicitud = GvRow.DataKey("idSolicitud").Trim();
+ int CveTipoSolicitud = GvRow.DataKey("CveTipoSolicitud").ToEntero();
+ int Folio = GvRow.DataKey("CveSolicitud").ToEntero();
+
+ List resultSolicitud = new List();
+ List resultVerificacion = new List();
+ var ResultadoVerificaionOK = false;
+ var SeVerifico = false;
+
+ var ResultadoSolicitudOK = false;
+
+
+ var api = new GeneralesAPI();
+
+
+ if (idSolicitud.Length == 0)
+ {
+ JToken ObjApiSolicitud = (JToken)api.GeneraSolicitud(UsuarioActual.CveEmpresa, CveTipoSolicitud, CveSolicitudActual);
+ if (!(ObjApiSolicitud == null))
+ {
+ resultSolicitud = ObjApiSolicitud.Select(token => token.Values().Aggregate((i, j) => $"{i}|{j}").Value()).ToList();
+ ResultadoSolicitudOK = bool.Parse(resultSolicitud[0]);
+ sbResultado.Append($"Solicitud {Folio} solicitada a SAT. ");
+ }
+ else
+ {
+ TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia;
+ }
+ }
+ else
+ {
+ resultSolicitud = new List();
+ resultSolicitud.Add("true");
+ resultSolicitud.Add("");
+ resultSolicitud.Add("");
+ resultSolicitud.Add("");
+
+ ResultadoSolicitudOK = true;
+ }
+
+
+
+ if (ResultadoSolicitudOK)
+ {
+
+ JToken ObjApiVerificacion = (JToken)api.VerificaSolicitudesNominas(UsuarioActual.CveEmpresa, CveTipoSolicitud, CveSolicitudActual);
+
+
+ if (!(ObjApiVerificacion == null))
+ {
+ resultVerificacion = ObjApiVerificacion.Select(token => token.Values().Aggregate((i, j) => $"{i}|{j}").Value()).ToList();
+ ResultadoVerificaionOK = bool.Parse(resultVerificacion[0]);
+ SeVerifico = true;
+ }
+ else
+ {
+ TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia;
+ }
+
+ }
+ else
+ {
+
+ if (resultSolicitud.Count >= 4)
+ {
+ sbResultado.Append($"({resultSolicitud[1]}) Folio:{Folio} ");
+ }
+ else
+ {
+ sbResultado.Append($"Solicitud pendiente de verificar en SAT Folio:{Folio} ");
+ }
+
+ TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia;
+ }
+
+
+ if (SeVerifico && resultVerificacion.Count >= 4)
+ {
+ if (ResultadoVerificaionOK)
+ {
+ sbResultado.Append($"Solicitud procesada. Folio: {Folio} {resultVerificacion[1]}");
+ }
+ else
+ {
+ sbResultado.Append($"Solicitud no verificada Folio: {Folio}{resultVerificacion[1]}. ");
+ TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia;
+ }
+ }
+ else
+ {
+ sbResultado.Append($"Se presento un error al verificar la solicitud Folio: {Folio}.");
+ TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia;
+ }
+
+
+
+ }
+
+ Alert(sbResultado.ToString(), TipoMensaje);
+
+
+
+ cargasolicitudes();
+ }
+ catch (Exception ex)
+ {
+ Alert(ex.StackTrace);
+ }
}
@@ -307,14 +425,18 @@ public class GeneralesAPI : ADSNetLibrary.Helpers.Conexiones.SIGAPI.BaseSIGAPI
- public object GeneraSolicitud(int CveEmpresa, int CveTipoSolicitud)
+ public object GeneraSolicitud(int CveEmpresa, int CveTipoSolicitud, int CveSolicitud)
{
- return getData
+
+
+
+
+
+
+
diff --git a/Ventas/Clientes.aspx.vb b/Ventas/Clientes.aspx.vb
index 997d09f0c..9fe195a53 100644
--- a/Ventas/Clientes.aspx.vb
+++ b/Ventas/Clientes.aspx.vb
@@ -603,8 +603,6 @@ Partial Class Clientes
#End Region
-
-
#Region " A C U M U L A D O R E S"
Property CveVentaNota As Integer
Get
@@ -660,10 +658,6 @@ Partial Class Clientes
End Set
End Property
-
-
-
-
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
@@ -1495,7 +1489,7 @@ Partial Class Clientes
If ObjClientes.CveSubProyecto > 0 Then
DdlSubProyecto.SelectedValueExistInsert(ObjClientes.CveSubProyecto.ToString(), GlobalDTSubProyectos(-1, CveSubProyecto:=ObjClientes.CveSubProyecto, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimeroValor("SubProyecto"))
End If
-
+ TxtGastosEnvio.Text = ObjClientes.GastosEnvio.FormatoNumero
DdlZonaHoraria.SelectedValueExist(ObjClientes.DtResultados(0)("CveZonaHoraria").ToString())
ChkEstado.Checked = ObjClientes.Estatus
EstatusAnteriorCliente = ObjClientes.Estatus
@@ -2595,7 +2589,8 @@ Partial Class Clientes
CvePais:=DdlPais.SelectedValue.ToEntero(), CveEstado:=DdlEstado.SelectedValue.ToEntero(), CveMunicipio:=DdlMunicipio.SelectedValue.ToEntero(), CveColonia:=DdlColonia.SelectedValue.ToEntero(), CveMotivoTraslado:=IIf(DdlMotivoTraslado.SelectedValue = "-1", "0", DdlMotivoTraslado.SelectedValue).ToString().ToEntero(), NumRegIdTrib:=IIf(TxtNumRegIdTrib.Text = "", "-1", TxtNumRegIdTrib.Text).ToString(),
ComExtEstado:=IIf(TxtComExtEstado.Text = "", "-1", TxtComExtEstado.Text).ToString(), ComExtMunicipio:=IIf(TxtComExtMunicipio.Text = "", "-1", TxtComExtMunicipio.Text).ToString(), ComExtColonia:=IIf(TxtComExtColonia.Text = "", "-1", TxtComExtColonia.Text).ToString(), 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()),
- 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, EsFilial:=ChkEsFilial.Checked) Then
+ 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, EsFilial:=ChkEsFilial.Checked, GastosEnvio:=TxtGastosEnvio.Text.ToDecimal) Then
CveClienteNuevo = ObjClientes.CveCliente
@@ -2680,7 +2675,7 @@ Partial Class Clientes
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,
- EnQuebranto:=ChkEnQuebranto.Checked, EnDemanda:=ChkEnDemanda.Checked, CreditoRegistroFirmas:=TxtNombreFirmas.Text.Trim, EsFilial:=ChkEsFilial.Checked) Then
+ EnQuebranto:=ChkEnQuebranto.Checked, EnDemanda:=ChkEnDemanda.Checked, CreditoRegistroFirmas:=TxtNombreFirmas.Text.Trim, EsFilial:=ChkEsFilial.Checked, GastosEnvio:=TxtGastosEnvio.Text.ToDecimal) Then
If Not ObjClientes.LimpiaImpuestosLocales(Me.CveCliente) Then
ErrorProceso = True
@@ -6182,6 +6177,10 @@ Partial Class Clientes
DdlSATPais.Items.Add(New ListItem("Guatemala", "GTM"))
End If
+ If UsuarioActual.CveEmpresa.Contiene(194) Then
+ divGastosEnvio.Visible = True
+ End If
+
If UsuarioActual.Empresa.Funcionalidad(713) = "1" Then 'si la empresa deduce ieps
divDesgloseImpuestos.Visible = True
End If
diff --git a/Ventas/ClientesAbonar.aspx.vb b/Ventas/ClientesAbonar.aspx.vb
index 065f12ade..5e3d9e961 100644
--- a/Ventas/ClientesAbonar.aspx.vb
+++ b/Ventas/ClientesAbonar.aspx.vb
@@ -2309,6 +2309,7 @@ Partial Class Ventas_ClientesAbonar
If gr.FCCheckBox("Chk").Checked Then
Dim PorcentajePago As Decimal = gr.DataKey("Saldo").ToDecimal / gr.DataKey("Original").ToDecimal
Dim Saldo As Decimal = gr.DataKey("Saldo").ToDecimal
+ Dim SaldoMN As Decimal = gr.DataKey("Saldo").ToDecimal
Dim RETIVA As Decimal = gr.DataKey("RetIVA").ToDecimal
Dim SubTotal As Decimal = PorcentajePago * (gr.DataKey("SubTotal").ToDecimal.RoundSQL - gr.DataKey("Descuento").ToDecimal.RoundSQL).RoundSQL
Dim IVA As Decimal = PorcentajePago * gr.DataKey("IVA").ToDecimal.RoundSQL
@@ -2339,9 +2340,9 @@ Partial Class Ventas_ClientesAbonar
'If CveConceptoDeduccion = 263 Then IdCuentaContableNoDeducible = UsuarioActual.Empresa.Funcionalidad(537).ToEntero
'If CveConceptoDeduccion = 252 Then IdCuentaContableNoDeducible = UsuarioActual.Empresa.Funcionalidad(581).ToEntero
- If UsuarioActual.CveEmpresa.Contiene(4, 7, 11, 12, 122) Then
+ If UsuarioActual.CveEmpresa.Contiene(4, 7, 11, 12, 122, 145) Then
- ClienteMovto = False : Saldo = Saldo * -1
+ ClienteMovto = False : SaldoMN = Saldo : Saldo = Saldo * -1
ImpuestosMovto = True : IVA = IVA * -1
RETIVA = ((SubTotal * RETIVA / gr.DataKey("SubTotal").ToDecimal.RoundSQL) * -1).RoundSQL(2)
CveConceptoCliente = 1
@@ -2356,7 +2357,7 @@ Partial Class Ventas_ClientesAbonar
If MsgError = "" Then
Dim ConPreP As ConceptosTipoSaldo = ClsPaginas.ObtenerCveConceptoPrePoliza(6, tCveMoneda, True, 1)
'normal
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, ClienteMovto, Saldo, Saldo, ConPreP.CveConcepto, gr.DataKey("SerieFolio").ToString, ConceptoPartida, CveCliente:=gr.DataKey("CveCliente").ToEntero, CveVenta:=gr.DataKey("CveVenta").ToEntero, TipoCambio:=TCVenta, TipoCambioPago:=TCPago) Then
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, ClienteMovto, SaldoMN, Saldo, ConPreP.CveConcepto, gr.DataKey("SerieFolio").ToString, ConceptoPartida, CveCliente:=gr.DataKey("CveCliente").ToEntero, CveVenta:=gr.DataKey("CveVenta").ToEntero, TipoCambio:=TCVenta, TipoCambioPago:=TCPago) Then
MsgError = "Ocurrio un error al saldar el movimiento"
End If
@@ -2421,7 +2422,7 @@ Partial Class Ventas_ClientesAbonar
ObjConta.Commit()
CargaDatos(CveMonedaFiltro)
RegistraScript("$('#ModalSaldarCuentaIncobrable').modal('hide')")
- Alert(String.Format("Los movimientos se saldaron correctamente. Ver PrePóliza", CvePrePoliza), TipoMensaje.MsgInformacion)
+ Alert(String.Format("Los movimientos se saldaron correctamente. Ver PrePóliza", CvePrePoliza), TipoMensaje.MsgInformacion)
BtnSaldarCuentasIncobrables.Visible = False
Else
ObjConta.RollBack()
diff --git a/Ventas/FacturacionGlobal.aspx.vb b/Ventas/FacturacionGlobal.aspx.vb
index 794f72424..136e80b0f 100644
--- a/Ventas/FacturacionGlobal.aspx.vb
+++ b/Ventas/FacturacionGlobal.aspx.vb
@@ -230,6 +230,7 @@ Partial Class Ventas_FacturacionGlobal
If Math.Abs(ObjFactura.Total.RoundSQL(2) - DtPagosFacturaGlobal.SUMD("Importe").RoundSQL(2)) > 0.01D Then
Alert($"Los pagos no coinciden con el total de la factura [{ObjFactura.Total.RoundSQL(2)}-{ DtPagosFacturaGlobal.SUMD("Importe").RoundSQL(2)}]", TipoMensaje.MsgError)
+ GuardaLog($"Los pagos no coinciden con el total de la factura [{ObjFactura.Total.RoundSQL(2)}-{ DtPagosFacturaGlobal.SUMD("Importe").RoundSQL(2)}] Remisiones: " + SbRemisiones.ToString())
Exit Sub
End If
diff --git a/Ventas/PV.aspx.vb b/Ventas/PV.aspx.vb
index 7fff04748..1dd7fefbf 100644
--- a/Ventas/PV.aspx.vb
+++ b/Ventas/PV.aspx.vb
@@ -8361,8 +8361,8 @@ Partial Class PV
tUsuario = DrUsuario("Usuario").ToString
tContraseña = DrUsuario("Contraseña").ToString
tCveEmpresa = DrUsuario("CveEmpresa").ToString.ToEntero
-
- Dim ObjUsuario As New ClsSisUsuarios
+ Dim NombreCadena As String = ClsPaginas.GlobalNombreCadenaConexion(tCveEmpresa)
+ Dim ObjUsuario As New ClsSisUsuarioAutenticacion
Dim Usuario As Usuario
Usuario = ObjUsuario.ValidaUsuario(tUsuario, tContraseña, CveEmpresa:=tCveEmpresa)
diff --git a/Ventas/PVCobranza.aspx.vb b/Ventas/PVCobranza.aspx.vb
index f7939e85d..b71acda4a 100644
--- a/Ventas/PVCobranza.aspx.vb
+++ b/Ventas/PVCobranza.aspx.vb
@@ -2,7 +2,7 @@
Option Strict On
Imports System.Data
-Imports System.IO
+Imports System.IO
Imports Extensiones
Partial Class Ventas_PVCobranza
@@ -17,8 +17,6 @@ Partial Class Ventas_PVCobranza
End Set
End Property
-
-
Private Property DineroCaja As Double
Get
Return If(IsNothing(ViewState("DineroCaja")), 0, ViewState("DineroCaja").ToString().ToDecimal())
@@ -183,7 +181,7 @@ Partial Class Ventas_PVCobranza
If ObjPVenta.GetVta_Cortes("-1", "-1", UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, 0) Then
If ObjPVenta.DtResultados.Rows.Count > 0 Then
- Total = ObjPVenta.DtResultados(0)("ImporteInicial").ToString().ToDouble + ObjPVenta.DtResultados(0)("VentasEfectivo").ToString().ToDouble + ObjPVenta.DtResultados(0)("Ingresado").ToString().ToDouble - ObjPVenta.DtResultados(0)("Retirado").ToString().ToDouble - ObjPVenta.DtResultados(0)("Devoluciones").ToString().ToDouble
+ Total = ObjPVenta.DtResultados(0)("ImporteInicial").ToString.ToDouble + ObjPVenta.DtResultados(0)("VentasEfectivo").ToString().ToDouble + ObjPVenta.DtResultados(0)("Ingresado").ToString().ToDouble - ObjPVenta.DtResultados(0)("Retirado").ToString().ToDouble - ObjPVenta.DtResultados(0)("Devoluciones").ToString().ToDouble
DineroCaja = Total
LblEfectivoEsperado.Text = Total.FormatoNumero(2)
LblEfectivoBloqueo.Text = Total.FormatoNumero(2)
@@ -388,6 +386,7 @@ Partial Class Ventas_PVCobranza
End If
Dim PagadoSinEfectivo As Decimal = Pagado - TxtImporteEfectivo.Text.ToDecimal
+ Dim tCveCorte As Integer = CveCorte
If PagadoSinEfectivo > LtlSaldo.Text.ToDecimal() Then
Alert("El pago con los metodos de pago actuales no puede ser mayor al importe de la venta", TipoMensaje.MsgAdvertencia)
@@ -422,9 +421,10 @@ Partial Class Ventas_PVCobranza
VentaActual.PorcentajeIVA = DbRowVenta("PorcentajeIVA").ToString.ToDecimal
VentaActual.UsuarioActual = UsuarioActual
VentaActual.CveSubProyecto = DbRowVenta("CveSubProyecto").ToString.ToEntero
+ If tCveCorte <= 0 AndAlso DbRowVenta("CveCorte").ToString.ToEntero > 0 Then tCveCorte = DbRowVenta("CveCorte").ToString.ToEntero
Dim CvePrePoliza As Integer
- Dim Fecha As Date = NowADS()
+ Dim Fecha As Date = DbRowVenta("Fecha").ToString.ToDate 'NowADS()
Dim MsgError As String = ""
Dim SaldoPendiente As Decimal = DbRowVenta("Saldo").ToString.ToDecimal
@@ -440,75 +440,76 @@ Partial Class Ventas_PVCobranza
Try
'FACTURAR LA REMISION PARA HACER EL PAGO
- If UsuarioActual.CveEmpresa = 189 AndAlso VentaActual.TipoDocto = "Rem" Then
+ If UsuarioActual.CveEmpresa.Contiene(189, 197) AndAlso VentaActual.TipoDocto = "Rem" Then
respFactura = GenerarFactura(VentaActual, ObjVentas2, ObjClientes)
If respFactura Is Nothing Then
- MsgError = "Ocurrío un error al generar la factura"
+ MsgError = "Ocurrió un error al generar la factura"
ElseIf (respFactura IsNot Nothing AndAlso respFactura.Mensajes.Count > 0) AndAlso respFactura.TieneError Then
MsgError = respFactura.Mensajes(0)
End If
-
'REALIZAR EL PAGO EN LA FACTURA
If respFactura IsNot Nothing AndAlso Not respFactura.TieneError Then
CveVenta = respFactura.CveVenta
End If
End If
- CvePrePoliza = ObjConta.AddPrePolizas("PVCobranza", 11, 0, 0, 1, Fecha, $"Pago {VentaActual.SerieFolio}", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveTipoPoliza:=3)
+ If MsgError = "" Then
+ CvePrePoliza = ObjConta.AddPrePolizas("PVCobranza", 11, 0, 0, 1, Fecha, $"Pago {VentaActual.SerieFolio}", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveTipoPoliza:=3)
- If CvePrePoliza > 0 Then
+ If CvePrePoliza > 0 Then
- If MsgError = "" AndAlso SaldoPendiente > 0 AndAlso TxtImporteCredito.Text.ToDecimal > 0 Then
- MsgError = RegistraIE(12, DdlCuentaTarjetaCredito.SelectedValue.ToEntero, TxtImporteCredito.Text.ToDecimal, Fecha, CvePrePoliza, VentaActual, ObjIE, ObjConta, ObjVentas2)
- SaldoPendiente -= TxtImporteCredito.Text.ToDecimal
- PagoAplicado += TxtImporteCredito.Text.ToDecimal
- End If
-
- If MsgError = "" AndAlso SaldoPendiente > 0 AndAlso TxtImporteDebito.Text.ToDecimal > 0 Then
- MsgError = RegistraIE(11, DdlCuentaTarjetaDebito.SelectedValue.ToEntero, TxtImporteDebito.Text.ToDecimal, Fecha, CvePrePoliza, VentaActual, ObjIE, ObjConta, ObjVentas2)
- SaldoPendiente -= TxtImporteDebito.Text.ToDecimal
- PagoAplicado += TxtImporteDebito.Text.ToDecimal
- End If
-
- If SaldoPendiente > 0 AndAlso TxtImporteCheque.Text.ToDecimal > 0 Then
- MsgError = RegistraIE(3, DdlCuentaCheque.SelectedValue.ToEntero, TxtImporteCheque.Text.ToDecimal, Fecha, CvePrePoliza, VentaActual, ObjIE, ObjConta, ObjVentas2)
- SaldoPendiente -= TxtImporteCheque.Text.ToDecimal
- PagoAplicado += TxtImporteCheque.Text.ToDecimal
- End If
-
- If MsgError = "" AndAlso SaldoPendiente > 0 AndAlso TxtImporteTransferencia.Text.ToDecimal > 0 Then
- MsgError = RegistraIE(8, DdlCuentaTransferencia.SelectedValue.ToEntero, TxtImporteTransferencia.Text.ToDecimal, Fecha, CvePrePoliza, VentaActual, ObjIE, ObjConta, ObjVentas2)
- SaldoPendiente -= TxtImporteTransferencia.Text.ToDecimal
- PagoAplicado += TxtImporteTransferencia.Text.ToDecimal
- End If
-
- If MsgError = "" AndAlso SaldoPendiente > 0 AndAlso TxtImporteEfectivo.Text.ToDecimal > 0 Then
- Dim PagoEfectivo As Decimal = TxtImporteEfectivo.Text.ToDecimal
-
- PagoAplicado += PagoEfectivo
- If PagoAplicado >= SaldoTotalInicial Then
- TxtCambio.Text = (PagoAplicado - SaldoTotalInicial).FormatoNumero
- PagoEfectivo = SaldoPendiente
+ If MsgError = "" AndAlso SaldoPendiente > 0 AndAlso TxtImporteCredito.Text.ToDecimal > 0 Then
+ MsgError = RegistraIE(12, DdlCuentaTarjetaCredito.SelectedValue.ToEntero, TxtImporteCredito.Text.ToDecimal, Fecha, CvePrePoliza, VentaActual, ObjIE, ObjConta, ObjVentas2, tCveCorte)
+ SaldoPendiente -= TxtImporteCredito.Text.ToDecimal
+ PagoAplicado += TxtImporteCredito.Text.ToDecimal
End If
- MsgError = RegistraIE(13, DdlCuentaEfectivo.SelectedValue.ToEntero, PagoEfectivo, Fecha, CvePrePoliza, VentaActual, ObjIE, ObjConta, ObjVentas2)
- SaldoPendiente -= PagoEfectivo
- End If
- If SaldoPendiente > 0 Then
- MsgError = "Tiene saldo pendiente por aplicar"
- End If
+ If MsgError = "" AndAlso SaldoPendiente > 0 AndAlso TxtImporteDebito.Text.ToDecimal > 0 Then
+ MsgError = RegistraIE(11, DdlCuentaTarjetaDebito.SelectedValue.ToEntero, TxtImporteDebito.Text.ToDecimal, Fecha, CvePrePoliza, VentaActual, ObjIE, ObjConta, ObjVentas2, tCveCorte)
+ SaldoPendiente -= TxtImporteDebito.Text.ToDecimal
+ PagoAplicado += TxtImporteDebito.Text.ToDecimal
+ End If
- If MsgError = "" AndAlso Not ObjVentas2.UpdateVentaCorte(CveVenta, UsuarioActual.CveEmpresa, CveCorte) Then
- MsgError = "Error al aplicar el corte"
- End If
+ If SaldoPendiente > 0 AndAlso TxtImporteCheque.Text.ToDecimal > 0 Then
+ MsgError = RegistraIE(3, DdlCuentaCheque.SelectedValue.ToEntero, TxtImporteCheque.Text.ToDecimal, Fecha, CvePrePoliza, VentaActual, ObjIE, ObjConta, ObjVentas2, tCveCorte)
+ SaldoPendiente -= TxtImporteCheque.Text.ToDecimal
+ PagoAplicado += TxtImporteCheque.Text.ToDecimal
+ End If
- If MsgError = "" AndAlso Not ObjVentas2.UpdateVentaTicketImpreso(CveVenta, 0) Then
- MsgError = "No se pudo desmarcar la impresión"
- End If
+ If MsgError = "" AndAlso SaldoPendiente > 0 AndAlso TxtImporteTransferencia.Text.ToDecimal > 0 Then
+ MsgError = RegistraIE(8, DdlCuentaTransferencia.SelectedValue.ToEntero, TxtImporteTransferencia.Text.ToDecimal, Fecha, CvePrePoliza, VentaActual, ObjIE, ObjConta, ObjVentas2, tCveCorte)
+ SaldoPendiente -= TxtImporteTransferencia.Text.ToDecimal
+ PagoAplicado += TxtImporteTransferencia.Text.ToDecimal
+ End If
- Else
- MsgError = "Error al registrar prepólizas"
+ If MsgError = "" AndAlso SaldoPendiente > 0 AndAlso TxtImporteEfectivo.Text.ToDecimal > 0 Then
+ Dim PagoEfectivo As Decimal = TxtImporteEfectivo.Text.ToDecimal
+
+ PagoAplicado += PagoEfectivo
+ If PagoAplicado >= SaldoTotalInicial Then
+ TxtCambio.Text = (PagoAplicado - SaldoTotalInicial).FormatoNumero
+ PagoEfectivo = SaldoPendiente
+ End If
+ MsgError = RegistraIE(13, DdlCuentaEfectivo.SelectedValue.ToEntero, PagoEfectivo, Fecha, CvePrePoliza, VentaActual, ObjIE, ObjConta, ObjVentas2, tCveCorte)
+ SaldoPendiente -= PagoEfectivo
+ End If
+
+ If SaldoPendiente > 0 Then
+ MsgError = "Tiene saldo pendiente por aplicar"
+ End If
+
+ If MsgError = "" AndAlso Not ObjVentas2.UpdateVentaCorte(CveVenta, UsuarioActual.CveEmpresa, tCveCorte) Then
+ MsgError = "Error al aplicar el corte"
+ End If
+
+ If MsgError = "" AndAlso Not ObjVentas2.UpdateVentaTicketImpreso(CveVenta, 0) Then
+ MsgError = "No se pudo desmarcar la impresión"
+ End If
+
+ Else
+ MsgError = "Error al registrar prepólizas"
+ End If
End If
Catch ex As Exception
MsgError = "Error al registrar el pago"
@@ -517,16 +518,14 @@ Partial Class Ventas_PVCobranza
If MsgError = "" Then
ObjVentas2.Commit()
-
+ Dim msBuild As New StringBuilder()
'SI SE GENERO FACTURA DE INGRESO, TIMBRARLA DESPUES DE REALIZAR EL PAGO
If respFactura IsNot Nothing Then
If Not respFactura.Factura.TimbrarFactura() Then
- Alert("La factura no se pudo timbrar", TipoMensaje.MsgAdvertencia)
+ msBuild.Append("La factura no se pudo timbrar ")
End If
End If
- Dim msBuild As New StringBuilder()
-
If respFactura IsNot Nothing Then
msBuild.Append($"Pago Registrado correctamente.")
For Each m In respFactura.Mensajes
@@ -632,7 +631,7 @@ Partial Class Ventas_PVCobranza
ObjFactura.GenerarSalidaAlmacen = True
ObjFactura.DtInventario = ObjFactura.DtDetalle.FiltraParametros("CveTipoPS = 2").Copy()
- ObjFactura.CveAlmacen = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveAlmacen", $"CveTipoAlmacen = 1 AND CveSubProyecto = {VentaRemision.CveSubProyecto}").ToString().ToEntero()
+ ObjFactura.CveAlmacen = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveAlmacen", $"CveTipoAlmacen = 1 AND CveSubProyecto = {VentaRemision.CveSubProyecto}", "Orden").ToString().ToEntero()
ObjFactura.CalculaTotales()
ObjFactura.PreparaTimbre()
@@ -706,11 +705,11 @@ Partial Class Ventas_PVCobranza
Return Retorno
End Function
- Private Function RegistraIE(Metodo As Integer, CveBancoCuenta As Integer, ImportePago As Decimal, Fecha As Date, CvePrePoliza As Integer, VentaActual As Venta, ByRef ObjIE As ClsBancos, ByRef ObjConta As ClsContabilidad, ByRef ObjVentas As ClsVentas) As String
+ Private Function RegistraIE(Metodo As Integer, CveBancoCuenta As Integer, ImportePago As Decimal, Fecha As Date, CvePrePoliza As Integer, VentaActual As Venta, ByRef ObjIE As ClsBancos, ByRef ObjConta As ClsContabilidad, ByRef ObjVentas As ClsVentas, tCveCorte As Integer) As String
Dim Retorno As String = ""
Dim CveIEPago As Integer = 0
Dim ErrorConta As Boolean
- CveIEPago = ObjIE.AddBancos_IE(CveBancoCuenta, Metodo, Fecha, "-1", VentaActual.ClienteNombre, ImportePago, 1, 1, VentaActual.SerieFolio, "", False, True, 0, CvePrePoliza, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCorte:=CveCorte)
+ CveIEPago = ObjIE.AddBancos_IE(CveBancoCuenta, Metodo, Fecha, "-1", VentaActual.ClienteNombre, ImportePago, 1, 1, VentaActual.SerieFolio, "", False, True, 0, CvePrePoliza, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCorte:=tCveCorte)
If CveIEPago > 0 Then
Dim Pago As New VentaPago
Pago.ImportePagoVenta = ImportePago
diff --git a/Ventas/ProductosServicios.aspx.vb b/Ventas/ProductosServicios.aspx.vb
index 917925e4c..2266011ad 100644
--- a/Ventas/ProductosServicios.aspx.vb
+++ b/Ventas/ProductosServicios.aspx.vb
@@ -2028,19 +2028,20 @@ Partial Class ProductosyServicios
Dim ObjProductosServicios As New ClsProductosServicios()
ObjProductosServicios.IniciaTransacSQL()
Dim TieneError As Boolean = False
+ Dim CodigoAdicional As String = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=DdlPSAdicional.SelectedValue.ToEntero).FiltroPrimeroValor("Codigo", "")
If CvePSAdicional < 0 Then
If Not ObjProductosServicios.AddPSAdicionales(CvePS, DdlPSAdicional.SelectedValue.ToEntero, If(TxtCantidadPSAdicional.Visible, TxtCantidadPSAdicional.Text.ToDecimal, 0), Tipo:=RblTipoAdicional.SelectedValue.ToEntero()) Then
TieneError = True
Else
- TieneError = GuardarProductosEquivalenteEnFranquicia(ObjProductosServicios, True)
+ TieneError = GuardarProductosEquivalenteEnFranquicia(ObjProductosServicios, True, CodigoAdicional)
End If
Else
If Not ObjProductosServicios.UpdatePSAdicionales(CvePS, DdlPSAdicional.SelectedValue.ToEntero, CvePSAdicional, If(TxtCantidadPSAdicional.Visible, TxtCantidadPSAdicional.Text.ToDecimal, 0), Tipo:=RblTipoAdicional.SelectedValue.ToEntero()) Then
TieneError = True
Else
- TieneError = GuardarProductosEquivalenteEnFranquicia(ObjProductosServicios, False, PSAdicionalAnterior)
+ TieneError = GuardarProductosEquivalenteEnFranquicia(ObjProductosServicios, False, CodigoAdicional, PSAdicionalAnterior)
End If
End If
@@ -3292,14 +3293,14 @@ Partial Class ProductosyServicios
Return False
End Function
- Private Function GuardarProductosEquivalenteEnFranquicia(ObjPS As ClsProductosServicios, Agregar As Boolean, Optional PSAdicionalAnterior As String = "") As Boolean
+ Private Function GuardarProductosEquivalenteEnFranquicia(ObjPS As ClsProductosServicios, Agregar As Boolean, CodigoAdicional As String, Optional PSAdicionalAnterior As String = "") As Boolean
If UsuarioActual.Empresa.Funcionalidad(563) <> "" Then
Dim StrEmpresas As String = UsuarioActual.Empresa.Funcionalidad(563)
Dim EmpresasFranquicia As List(Of Integer) = StrEmpresas.Split(","c).ToList().ConvertAll(Function(x) Convert.ToInt32(x))
For Each Franquicia As Integer In EmpresasFranquicia
Dim CvePSPagina As Integer = GlobalDTPS(Franquicia).FiltroPrimeroValor("CvePS", String.Format("Codigo = '{0}'", TxtCodigo.Text.Trim)).ToEntero
- Dim CvePSAdicional As Integer = GlobalDTPS(Franquicia).FiltroPrimeroValor("CvePS", String.Format("PS = '{0}'", DdlPSAdicional.txtText.Value)).ToEntero
+ Dim CvePSAdicional As Integer = GlobalDTPS(Franquicia).FiltroPrimeroValor("CvePS", String.Format("Codigo = '{0}'", CodigoAdicional)).ToEntero
If CvePSPagina <= 0 Then
Alert(String.Format("El producto de la página no existe en la franquicia: '{0}'", GlobalDTEmpresas(Franquicia).FiltroPrimeroValor("Empresa")), TipoMensaje.MsgAdvertencia)
@@ -3323,8 +3324,6 @@ Partial Class ProductosyServicios
Return True
End If
End If
-
-
End If
Next
End If
diff --git a/Ventas/Promociones.aspx.vb b/Ventas/Promociones.aspx.vb
index e622f196e..73170657e 100644
--- a/Ventas/Promociones.aspx.vb
+++ b/Ventas/Promociones.aspx.vb
@@ -128,7 +128,11 @@ Partial Class Ventas_Promociones
'CLASIFICACIONES
DdlClasificacion.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltraParametros(" Codigo = '' OR Codigo IS NULL ", Orderby:="Clasificacion")
DdlClasificacion.DataBind()
- DdlClasificacion.Items.Insert(0, New ListItem("Seleccione", "-1"))
+ If UsuarioActual.Empresa.Funcionalidad(382) = "1" Then
+ DdlClasificacion.Items.Insert(0, New ListItem("Todos", "-1"))
+ Else
+ DdlClasificacion.Items.Insert(0, New ListItem("Seleccione", "-1"))
+ End If
'CARGA PS
DdlPS.setEsWebService(UsuarioActual.Empresa.Funcionalidad(105) = "1")
@@ -374,8 +378,17 @@ Partial Class Ventas_Promociones
Protected Sub BtnAgregar_Click(sender As Object, e As EventArgs)
If DdlClasificacion.SelectedValue.ToEntero <= 0 Then
- Alert("Debe seleccionar una clasificacion", TipoMensaje.MsgAdvertencia)
- Exit Sub
+ If DdlPS.SelectedValue.ToEntero <= 0 Then
+ Alert("Debe seleccionar una clasificacion o un producto y/o servicio", TipoMensaje.MsgAdvertencia)
+ Exit Sub
+ End If
+ End If
+
+ If DdlPS.SelectedValue.ToEntero <= 0 Then
+ If DdlClasificacion.SelectedValue.ToEntero <= 0 Then
+ Alert("Debe seleccionar una clasificacion o un producto y/o servicio", TipoMensaje.MsgAdvertencia)
+ Exit Sub
+ End If
End If
If TxtCantMinima.Text.ToEntero <= 0 Then
@@ -397,8 +410,13 @@ Partial Class Ventas_Promociones
Dr("CveClasificacion") = DdlClasificacion.SelectedValue
Dr("Clasificacion") = DdlClasificacion.SelectedItem.Text
Else
- Dr("CveClasificacion") = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=DdlPS.SelectedValue.ToEntero).FiltroPrimeroValor("CveClasificacion")
- Dr("Clasificacion") = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=DdlPS.SelectedValue.ToEntero).FiltroPrimeroValor("Clasificacion")
+ If DdlPS.SelectedValue.ToEntero > 0 Then
+ Dr("CveClasificacion") = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=DdlPS.SelectedValue.ToEntero).FiltroPrimeroValor("CveClasificacion")
+ Dr("Clasificacion") = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=DdlPS.SelectedValue.ToEntero).FiltroPrimeroValor("Clasificacion")
+ Else
+ Dr("CveClasificacion") = -1
+ Dr("Clasificacion") = "Todas"
+ End If
End If
Dr("CvePS") = If(DdlPS.SelectedValue = "", "-1", DdlPS.SelectedValue)
@@ -481,7 +499,7 @@ Partial Class Ventas_Promociones
RegistraScript("$('#DivAgregar').modal('show')")
CveConsecutivo = e.CommandArgument.ToString.ToEntero
DdlRin.SelectedValueExist(Gvr.DataKey("CveRinTamaño"))
- DdlClasificacion.SelectedValue = Gvr.DataKey("CveClasificacion")
+ DdlClasificacion.SelectedValueExist(Gvr.DataKey("CveClasificacion"))
ChangeDdlProducto()
If UsuarioActual.Empresa.Funcionalidad(105) = "" Then
DdlPS.SelectedValue = Gvr.DataKey("CvePS")
diff --git a/Ventas/RepCancelacionesPorRespuesta.aspx.cs b/Ventas/RepCancelacionesPorRespuesta.aspx.cs
index b4907ecf4..fc89d05b1 100644
--- a/Ventas/RepCancelacionesPorRespuesta.aspx.cs
+++ b/Ventas/RepCancelacionesPorRespuesta.aspx.cs
@@ -571,7 +571,16 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas
{
factura.RealizarDevolucionAlmacen = true;
}
- retorno = factura.EjecutarCancelacionPendiente(CveEstatus, CancelacionFecha, CancelacionAcuse);
+ bool AplicaCancelacionConPagos = false;
+ if (UsuarioActual.Empresa.Funcionalidad(382) == "1")
+ {
+ AplicaCancelacionConPagos = true;
+ }
+ if (UsuarioActual.TienePermisoProceso(269) && UsuarioActual.Empresa.Funcionalidad(109) == "1" && factura.TipoDocto == "Ing" && factura.SaldoAlmacen != 0)
+ {
+ factura.RealizarDevolucionAlmacen = true;
+ }
+ retorno = factura.EjecutarCancelacionPendiente(CveEstatus, CancelacionFecha, CancelacionAcuse, AplicaCancelacionConPagos: AplicaCancelacionConPagos);
}
diff --git a/Ventas/RepComisionesSMS.aspx.vb b/Ventas/RepComisionesSMS.aspx.vb
index fcf4f8de3..c7d758c1b 100644
--- a/Ventas/RepComisionesSMS.aspx.vb
+++ b/Ventas/RepComisionesSMS.aspx.vb
@@ -24,8 +24,8 @@ Partial Class Ventas_RepComisionesSMS
Dim FechaInicial As Date = New Date(10)
- txtFechaI.Text = Now.FirstDayOfMonth.ToString("dd/MM/yyyy")
- txtFechaF.Text = Now.ToString("dd/MM/yyyy")
+ txtFechaI.Text = NowADS().FirstDayOfMonth.ToString("dd/MM/yyyy")
+ txtFechaF.Text = NowADS().AddDays(2).ToShortDateString
CargaCombos()
CargaDatos()
End If
diff --git a/Ventas/RepPedidosSTF.aspx b/Ventas/RepPedidosSTF.aspx
new file mode 100644
index 000000000..ab70cdf03
--- /dev/null
+++ b/Ventas/RepPedidosSTF.aspx
@@ -0,0 +1,192 @@
+<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="RepPedidosSTF.aspx.vb" Inherits="Ventas_RepPedidosSTF" %>
+
+
+
+
+
+
+
+ Reporte
+
+
+<%--
+ Generar PDF
+
+
+ Generar Excel
+
--%>
+
+ Ver Dlls en pesos
+
+<%--
+
+
+ Ver Grafica
+
+
+ --%>
+
+
+
+
+
+
+
+ <%-- --%>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Proyecto:
+
+
+
+ SubProyecto:
+
+
+ <%--
+
+ --%>
+
+
+
+
+
+ <%--
+
+ --%>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Especifico:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Ventas/RepPedidosSTF.aspx.vb b/Ventas/RepPedidosSTF.aspx.vb
new file mode 100644
index 000000000..30916e0ac
--- /dev/null
+++ b/Ventas/RepPedidosSTF.aspx.vb
@@ -0,0 +1,143 @@
+Option Explicit On
+Option Strict On
+
+Imports System.Data
+Imports Extensiones
+Partial Class Ventas_RepPedidosSTF
+ Inherits ClsPaginas
+
+ Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
+ If Not IsPostBack Then
+ CargaCombos()
+ End If
+ End Sub
+
+ Private Sub CargaCombos()
+
+ CargarCentrosDeCosto(DdlProyecto, DdlSubProyecto, LblProyecto, LblSubProyecto, divProyecto:=DivProyecto)
+
+ 'Vendedor
+ DdlVendedor.DataSource = GlobalDTVendedores(UsuarioActual.CveEmpresa, VendedorTipo:=-1).FiltraParametros("VendedorTipo in (1,4)") 'vendedores y vendedores de piso
+ DdlVendedor.DataBind()
+ DdlVendedor.Items.Insert(0, New ListItem("Todos", "-1"))
+ DdlVendedor.Items.Insert(1, New ListItem("Sin Vendedor", "-2"))
+
+ If UsuarioActual.CveVendedor > 0 Then
+ DdlVendedor.SelectedValueExist(UsuarioActual.CveVendedor)
+ DdlVendedor.Enabled = False
+ End If
+ End Sub
+
+ Protected Sub CargaDatos()
+
+ Dim ObjVentas As New ClsVentas
+ If ObjVentas.GetRepPedidosSTF(DdlSubProyecto.SelectedValue.ToEntero, DdlVendedor.SelectedValue.ToEntero, UsuarioActual.CveEmpresa) Then
+ GvDatos.DataSource = ObjVentas.DtResultados
+ End If
+ ObjVentas.Dispose()
+ GvDatos.DataBind()
+ End Sub
+ Protected Sub GvDatos_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvDatos.RowDataBound
+ If e.Row.RowType = DataControlRowType.DataRow Then
+
+ If e.Row.DBCampo("CveVendedor") = "" Then e.Row.FCCheckBox("Chk").Visible = False
+
+ End If
+ End Sub
+ Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs)
+ CargaDatos()
+ UPDatos.Update()
+ End Sub
+
+ Protected Sub BtnEntregar_Click(sender As Object, e As EventArgs)
+ 'validar que están seleccionados
+ Dim TmpDTRemis As New DataTable
+ TmpDTRemis.Columns.Add("CveVentaDetalle", GetType(Integer))
+ TmpDTRemis.Columns.Add("CveCliente", GetType(Integer))
+ TmpDTRemis.Columns.Add("CveSubProyecto", GetType(Integer))
+ TmpDTRemis.Columns.Add("CvePS", GetType(Integer))
+ TmpDTRemis.Columns.Add("Cantidad", GetType(Decimal))
+ TmpDTRemis.Columns.Add("CveUnidadMedida", GetType(Integer))
+ TmpDTRemis.Columns.Add("PU", GetType(Decimal))
+ TmpDTRemis.Columns.Add("CveVendedor", GetType(Decimal))
+ TmpDTRemis.Columns.Add("GastosEnvio", GetType(Decimal))
+ 'agruparo por cliente
+ For Each gvr As GridViewRow In GvDatos.Rows
+ If gvr.FCCheckBox("chk").Checked Then
+ Dim drp As DataRow = TmpDTRemis.NewRow
+ drp("CvePS") = gvr.DataKey("CvePS").ToEntero
+ drp("Cantidad") = gvr.DataKey("Cantidad").ToDecimal
+ drp("PU") = gvr.DataKey("PU").ToDecimal
+ drp("CveUnidadMedida") = gvr.DataKey("CveUnidadMedida").ToEntero
+ drp("CveSubProyecto") = gvr.DataKey("CveSubProyecto").ToEntero
+ drp("CveCliente") = gvr.DataKey("CveCliente").ToEntero
+ drp("CveVendedor") = gvr.DataKey("CveVendedor").ToEntero
+ drp("CveVentaDetalle") = gvr.DataKey("CveVentaDetalle").ToEntero
+ drp("GastosEnvio") = gvr.DataKey("GastosEnvio").ToDecimal
+ TmpDTRemis.Rows.Add(drp)
+ End If
+ Next
+
+ If TmpDTRemis IsNot Nothing AndAlso TmpDTRemis.Rows.Count = 0 Then
+ Alert("No se ha seleccionado ninguna partida, favor de seleccionar", TipoMensaje.MsgAdvertencia)
+ Exit Sub
+ End If
+
+ Dim ObjA As New ClsInventarios
+ ObjA.IniciaTransacSQL()
+ Dim TieneError As Boolean = False
+ Dim StrAlerta As New StringBuilder
+
+ For Each drt As DataRow In TmpDTRemis.FiltraParametros("", DistinctColumns:={"CveCliente", "CveSubProyecto", "CveVendedor", "GastosEnvio"}).Rows
+
+ Dim ObjFactura As Modelos.Factura = Modelos.Factura.CrearVentaNueva(UsuarioActual, drt("CveSubProyecto").ToString.ToEntero, drt("CveCliente").ToString.ToEntero, 1, "Rem")
+ ObjFactura.CveVendedor = drt("CveVendedor").ToString.ToEntero
+ For Each dr As DataRow In TmpDTRemis.FiltraParametros($"CveCliente ={drt("CveCliente")} AND CveVendedor = {drt("CveVendedor")} AND CveSubProyecto = {drt("CveSubProyecto")}").Rows
+
+ If ObjFactura IsNot Nothing Then
+ If Not ObjFactura.AgregarPS(dr("CvePS").ToString.ToEntero, dr("Cantidad").ToString.ToDecimal, dr("PU").ToString.ToDecimal, 0, "", CveSubProyecto:=dr("CveSubProyecto").ToString.ToEntero, CveVentaDetallePadre:=dr("CveVentaDetalle").ToString.ToEntero) Then
+ Alert("Error al agregar producto", TipoMensaje.MsgAdvertencia)
+ TieneError = True
+ Exit For
+ Else
+ If Not ObjA.UpdateEstatusAlmacen(dr("CveVentaDetalle").ToString.ToEntero, 0) Then
+ TieneError = True
+ End If
+ End If
+ End If
+ Next
+
+ If drt("GastosEnvio").ToString.ToDecimal > 0 Then
+ Dim tCvePSEnvio As Integer = usuarioactual.empresa.Funcionalidad(160).toentero
+ If Not ObjFactura.AgregarPS(tCvePSEnvio, 1, drt("GastosEnvio").ToString.ToDecimal, 0, "", CveSubProyecto:=drt("CveSubProyecto").ToString.ToEntero) Then
+ TieneError = True
+ End If
+ End If
+
+ If Not TieneError Then
+ ObjFactura.CalculaTotales()
+ Dim Resp As New Modelos.Factura.MMensajeFactura
+ Resp = ObjFactura.EmitirFactura(False, Transac:=ObjA.IniciaTransacSQL)
+
+ If Resp.CveVenta > 0 Then
+ Dim a As String = "a"
+ StrAlerta.AppendFormat("{1} ", Resp.CveVenta, Resp.SerieFolio)
+ 'Respuesta.CveVenta = Resp.CveVenta
+ 'Respuesta.SerieFolio = Resp.SerieFolio
+ 'Respuesta.dtdetalle = TmpDTMat
+ Else
+ TieneError = True
+ End If
+ End If
+ Next
+
+ If Not TieneError Then
+ ObjA.Commit()
+ Alert("Se registraron las siguientes remisiones: " & StrAlerta.ToString)
+ CargaDatos()
+ Else
+ ObjA.RollBack()
+ End If
+
+ End Sub
+End Class
diff --git a/Ventas/Ventas.aspx b/Ventas/Ventas.aspx
index 1440d98b4..59e0d4f5f 100644
--- a/Ventas/Ventas.aspx
+++ b/Ventas/Ventas.aspx
@@ -305,9 +305,9 @@