diff --git a/App_Code/ClsClientes.vb b/App_Code/ClsClientes.vb
index a1169276d..69ac29dc8 100644
--- a/App_Code/ClsClientes.vb
+++ b/App_Code/ClsClientes.vb
@@ -1026,6 +1026,24 @@ Public Class ClsClientes
OnError("Ocurrió un error al obtener el las Sucursales del Cliente.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
+ Return Retorno
+ End Function
+
+ Public Function GetListaSucursales(RFC As String, CveEmpresa As Integer, Optional CveCliente As Integer = -1, Optional CveClienteSucursal As Integer = -1) As Boolean
+ Dim Retorno As Boolean = False
+
+ DataAdapter("PA_Vta_ClientesSucursalesGet")
+ SqlAdapter.SelectCommand.Parameters.Add("@RFC", SqlDbType.VarChar).Value = RFC
+ SqlAdapter.SelectCommand.Parameters.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+ SqlAdapter.SelectCommand.Parameters.Add("@CveCliente", SqlDbType.Int).Value = CveCliente
+ SqlAdapter.SelectCommand.Parameters.Add("@CveClienteSucursal", SqlDbType.Int).Value = CveClienteSucursal
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch ex As Exception
+ OnError("Ocurrió un error al obtener el las Sucursales del Cliente.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ End Try
+
Return Retorno
End Function
diff --git a/App_Code/ClsNominas.vb b/App_Code/ClsNominas.vb
index 133cb56e1..075d0aca3 100644
--- a/App_Code/ClsNominas.vb
+++ b/App_Code/ClsNominas.vb
@@ -216,7 +216,36 @@ Public Class ClsNominas
End Try
Return retorno
End Function
-
+ Public Function Autorizaperiodoconta(CvePeriodo As Int32, CveEmpresa As Int32) As Boolean
+ Dim retorno As Boolean = False
+ DataAdapter("PA_Nom_Autorizaperiodoconta", CommandType.StoredProcedure)
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CvePeriodo", SqlDbType.Int).Value = CvePeriodo
+ .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+ End With
+ Try
+ SqlAdapter.Fill(Data)
+ retorno = True
+ Catch ex As Exception
+ OnError("Ocurrió un error al autorizar periodo.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ End Try
+ Return retorno
+ End Function
+ Public Function GetDispersiondenomina(CvePeriodo As Int32, CveEmpresa As Int32) As Boolean
+ Dim retorno As Boolean = False
+ DataAdapter("PA_PA_NomDispersiondenomina", CommandType.StoredProcedure)
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CvePeriodo", SqlDbType.Int).Value = CvePeriodo
+ .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+ End With
+ Try
+ SqlAdapter.Fill(Data)
+ retorno = True
+ Catch ex As Exception
+ OnError("Ocurrió un error al obtener el layout de nominas.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ End Try
+ Return retorno
+ End Function
Public Function GetCalculoUtilidades(ejercicio As Int32, cveEmpresa As Int32, importe As Double, importeA As Double) As Boolean
Dim retorno As Boolean = False
DataAdapter("PA_NomCalcularUtilidades", CommandType.StoredProcedure)
diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb
index 990a3e2f5..95e161692 100644
--- a/App_Code/ClsPaginas.vb
+++ b/App_Code/ClsPaginas.vb
@@ -5444,13 +5444,13 @@ Public Class ClsPaginas
''' Opcional Nombre del archivo que se descarga
''' Optional, Formato de Generacion PDF o Excel
'''
- Public Sub ImprimirPDF(RutaReporte As String, DtDatos As DataTable, Parametros As List(Of ReportParameter), Optional NombreArchivo As String = "Reporte", Optional Formato As String = "PDF", Optional RDSName As String = "DataSet1", Optional MR As ReportViewer = Nothing)
+ Public Sub ImprimirPDF(RutaReporte As String, DtDatos As DataTable, Parametros As List(Of ReportParameter), Optional NombreArchivo As String = "Reporte", Optional Formato As String = "PDF", Optional RDSName As String = "DataSet1", Optional MR As ReportViewer = Nothing, Optional Content_Disposition As String = "attachment")
Dim lrds As New List(Of ReportDataSource)
Dim rds As New ReportDataSource
rds.Name = RDSName
rds.Value = DtDatos
lrds.Add(rds)
- ImprimirPDF(RutaReporte, lrds, Parametros, NombreArchivo, Formato, MR)
+ ImprimirPDF(RutaReporte, lrds, Parametros, NombreArchivo, Formato, MR, Content_Disposition)
End Sub
Public Sub ImprimirPDFMultiDS(RutaReporte As String, lrds As List(Of ReportDataSource), Parametros As List(Of ReportParameter), Optional NombreArchivo As String = "Reporte", Optional Formato As String = "PDF", Optional RDSName As String = "DataSet1", Optional MR As ReportViewer = Nothing)
ImprimirPDF(RutaReporte, lrds, Parametros, NombreArchivo, Formato, MR)
@@ -5465,9 +5465,9 @@ Public Class ClsPaginas
''' Opcional Nombre del archivo que se descarga
''' Optional, Formato de Generacion PDF o Excel
'''
- Public Sub ImprimirPDF(RutaReporte As String, DataSource As List(Of ReportDataSource), Parametros As List(Of ReportParameter), Optional NombreArchivo As String = "Reporte", Optional Formato As String = "PDF", Optional MR As ReportViewer = Nothing)
+ Public Sub ImprimirPDF(RutaReporte As String, DataSource As List(Of ReportDataSource), Parametros As List(Of ReportParameter), Optional NombreArchivo As String = "Reporte", Optional Formato As String = "PDF", Optional MR As ReportViewer = Nothing, Optional Content_Disposition As String = "attachment")
'limpio ReportViwer
- ImprimirbytesPDF(StreamPDF(RutaReporte, DataSource, Parametros, NombreArchivo, Formato, MR), NombreArchivo, Formato)
+ ImprimirbytesPDF(StreamPDF(RutaReporte, DataSource, Parametros, NombreArchivo, Formato, MR), NombreArchivo, Formato, Content_Disposition:=Content_Disposition)
End Sub
Public Function StreamPDF(RutaReporte As String, DtDatos As DataTable, Parametros As List(Of ReportParameter), Optional NombreArchivo As String = "Reporte", Optional Formato As String = "PDF", Optional RDSName As String = "DataSet1", Optional MR As ReportViewer = Nothing) As Byte()
Dim lrds As New List(Of ReportDataSource)
@@ -5857,7 +5857,7 @@ Public Class ClsPaginas
'''
'''
'''
- Public Sub ImprimirbytesPDF(bytes As Byte(), Optional NombreArchivo As String = "Reporte", Optional Formato As String = "PDF", Optional Descarga As Boolean = False)
+ Public Sub ImprimirbytesPDF(bytes As Byte(), Optional NombreArchivo As String = "Reporte", Optional Formato As String = "PDF", Optional Descarga As Boolean = False, Optional Content_Disposition As String = "attachment")
'limpio ReportViwer
Dim mimeType As String = Nothing
Dim extension As String = Nothing
@@ -5880,7 +5880,7 @@ Public Class ClsPaginas
Response.Buffer = True
Response.Clear()
Response.ContentType = mimeType
- Response.AddHeader("content-disposition", String.Format("attachment; filename={0}.{1}", NombreArchivo, If(Formato = "PDF", "pdf", "xls")))
+ Response.AddHeader("content-disposition", String.Format("{0}; filename={1}.{2}", Content_Disposition, NombreArchivo, If(Formato = "PDF", "pdf", "xls")))
Response.BinaryWrite(bytes) ' create the file
Response.Flush() ' send it to the client to download
HttpContext.Current.Response.SuppressContent = True
diff --git a/App_Code/LogicNominas.vb b/App_Code/LogicNominas.vb
index 61f35a5e7..e19a7325e 100644
--- a/App_Code/LogicNominas.vb
+++ b/App_Code/LogicNominas.vb
@@ -240,7 +240,7 @@ Public Class LogicNominas
For Each Row As DataRow In DtPercepciones.Rows
If Row("Importe").ToString().ToDecimal > 0 AndAlso Row("SATCveConcepto").ToString().ToEntero() <> 17 Then
If Row("CveSATConcepto").ToString() = "" Then cfdi.AddMsg(String.Format("Concepto No registrado ({0})", Row("Concepto").ToString())) : Exit For
- ObjPercepciones.Add(New CFDINominaPercepciones With {.TipoPercepcion = Row("SATCveConcepto").ToString(), .Clave = Row("Codigo").ToString(), .Concepto = Row("Concepto").ToString(),
+ ObjPercepciones.Add(New CFDINominaPercepciones With {.TipoPercepcion = If(Row("SATCveConcepto").ToString() = "999", "038", Row("SATCveConcepto").ToString()), .Clave = Row("Codigo").ToString(), .Concepto = Row("Concepto").ToString(),
.ImporteGravado = Row("ImporteGravado").ToString().ToDecimal(), .ImporteExento = Row("ImporteExento").ToString().ToDecimal()})
End If
'RMF, falta poner el numero de horas pagadas
diff --git a/App_Code/modExtensiones.vb b/App_Code/modExtensiones.vb
index 9a18a5716..fbe97480e 100644
--- a/App_Code/modExtensiones.vb
+++ b/App_Code/modExtensiones.vb
@@ -968,25 +968,25 @@ Namespace Extensiones
- Public Function RoundAD(Valor As Double, Optional Decimales As Integer = 2) As Double
- Return Math.Round(Valor, Decimales)
- End Function
-
- Public Function RoundAD(Valor As Decimal, Optional Decimales As Integer = 2) As Decimal
- Return Math.Round(Valor, Decimales)
+ Public Function RoundAD(Valor As Double, Optional Decimales As Integer = 2) As Double
+ Return Math.Round(Valor, Decimales, MidpointRounding.AwayFromZero)
+ End Function
+
+ Public Function RoundAD(Valor As Decimal, Optional Decimales As Integer = 2) As Decimal
+ Return Math.Round(Valor, Decimales, MidpointRounding.AwayFromZero)
End Function
- Public Function RoundSQL(Valor As Double, Optional Decimales As Integer = 2) As Double
- 'Return Math.Round(Valor, Decimales, MidpointRounding.AwayFromZero)
- 'primero, se redondea a 4, para que concuerde al redondeo de sql, si se redondea a 2 decimales por ejemplo
- Return If(Decimales < 4, Math.Round(Math.Round(Valor, 4, MidpointRounding.AwayFromZero), Decimales, MidpointRounding.AwayFromZero), Math.Round(Valor, Decimales, MidpointRounding.AwayFromZero))
+ Public Function RoundSQL(Valor As Double, Optional Decimales As Integer = 2) As Double
+ 'Return Math.Round(Valor, Decimales, MidpointRounding.AwayFromZero)
+ 'primero, se redondea a 4, para que concuerde al redondeo de sql, si se redondea a 2 decimales por ejemplo
+ Return Math.Round(Valor, Decimales, MidpointRounding.AwayFromZero)
End Function
Public Function RoundSQL(Valor As Decimal, Optional Decimales As Integer = 2) As Decimal
'primero, se redondea a 4, para que concuerde al redondeo de sql
- Return If(Decimales < 4, Math.Round(Math.Round(Valor, 4, MidpointRounding.AwayFromZero), Decimales, MidpointRounding.AwayFromZero), Math.Round(Valor, Decimales, MidpointRounding.AwayFromZero))
+ Return Math.Round(Valor, Decimales, MidpointRounding.AwayFromZero)
End Function
Public Function Abs(Valor As Double) As Double
diff --git a/Ashx/E141.ashx b/Ashx/E141.ashx
index ca6e8c319..e139c0ecc 100644
--- a/Ashx/E141.ashx
+++ b/Ashx/E141.ashx
@@ -4,6 +4,7 @@ Option Strict On
Option Explicit On
Imports System.Data
+Imports System.IO
Imports System.Net.Http
Imports Newtonsoft.Json
Imports Newtonsoft.Json.Linq
@@ -66,6 +67,42 @@ Public Class E141 : Implements IHttpHandler
End Get
End Property
+
+#Region "GLOBAL DT"
+ Public Property GlobalDTSubProyectos(CveProyecto As Integer, Optional CveSubProyecto As Integer = -1, Optional CveEmpresa As Integer = -1, Optional Estatus As Integer = 1) As DataTable
+ Get
+ Dim AppNombre As String = String.Format("GlobalDTSubProyectos-{0}", CveEmpresa)
+ 'sino existe, recarga los datos
+ If DirectCast(HttpContext.Current.Application(AppNombre), DataTable) Is Nothing Or (DirectCast(HttpContext.Current.Application(AppNombre), DataTable) IsNot Nothing AndAlso DirectCast(HttpContext.Current.Application(AppNombre), DataTable).Rows.Count = 0) Then
+ Dim P As New ClsSubProyectos
+ If P.GetSubProyectos(CveEmpresa:=CveEmpresa) Then HttpContext.Current.Application(AppNombre) = P.DtResultados
+ P.Dispose()
+ End If
+
+ If CveProyecto <> -1 OrElse CveSubProyecto <> -1 OrElse CveEmpresa <> -1 OrElse Estatus <> -1 Then
+ Dim StrSQL As New StringBuilder
+ If CveProyecto <> -1 Then StrSQL.AppendFormat(" AND CveProyecto = {0}", CveProyecto)
+ If CveSubProyecto <> -1 Then StrSQL.AppendFormat(" AND CveSubProyecto = {0}", CveSubProyecto)
+ If Estatus <> -1 Then StrSQL.AppendFormat(" AND CveEstatus = {0}", Estatus)
+ If CveEmpresa <> -1 Then StrSQL.AppendFormat(" AND CveEmpresa = {0}", CveEmpresa)
+
+ Dim Dv As New DataView(DirectCast(HttpContext.Current.Application(AppNombre), DataTable), StrSQL.ToString.Trim.TrimStart("A"c, "N"c, "D"c), "", DataViewRowState.CurrentRows)
+ GlobalDTSubProyectos = Dv.ToTable
+ Dv.Dispose()
+
+ Else
+ GlobalDTSubProyectos = DirectCast(HttpContext.Current.Application(AppNombre), DataTable)
+ End If
+
+ End Get
+ Set(ByVal value As DataTable)
+ Dim AppNombre As String = String.Format("GlobalDTSubProyectos-{0}", CveEmpresa)
+ HttpContext.Current.Application(AppNombre) = value
+ End Set
+ End Property
+
+#End Region
+
Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest
Dim retorno As String = ""
Try
@@ -88,7 +125,56 @@ Public Class E141 : Implements IHttpHandler
Dim Codigo = If(context.Request("Sku") = Nothing, "", context.Request("Sku").ToString())
retorno = GetExistencia(context, Codigo)
+ ElseIf Metodo = "ConsultarRFC" Then
+ context.Response.ContentType = "application/json"
+ Dim Auth = ValidarSolicitud(context)
+ If Auth.IsSucces Then
+ retorno = ConsultaRFC(context)
+ Else
+ retorno = JsonConvert.SerializeObject(Auth.ErrorMessage)
+ End If
+
+ ElseIf Metodo = "ValidarCarrito" Then
+ context.Response.ContentType = "application/json"
+ Dim Auth = ValidarSolicitud(context)
+
+ If Auth.IsSucces Then
+ retorno = ValidarCarrito(context)
+ Else
+ retorno = JsonConvert.SerializeObject(Auth.ErrorMessage)
+ End If
+
+ ElseIf Metodo = "RegistrarPedido" Then
+ context.Response.ContentType = "application/json"
+ Dim Auth = ValidarSolicitud(context)
+
+ If Auth.IsSucces Then
+ retorno = RegistrarPedido(context)
+ Else
+ retorno = JsonConvert.SerializeObject(Auth.ErrorMessage)
+ End If
+
+ ElseIf Metodo = "RegistrarCotizacion" Then
+ context.Response.ContentType = "application/json"
+ Dim Auth = ValidarSolicitud(context)
+
+ If Auth.IsSucces Then
+ retorno = RegistrarCotizacion(context)
+ Else
+ retorno = JsonConvert.SerializeObject(Auth.ErrorMessage)
+ End If
+
+ ElseIf Metodo = "GetSucursales" Then
+ context.Response.ContentType = "application/json"
+ Dim Auth = ValidarSolicitud(context)
+
+ If Auth.IsSucces Then
+ retorno = GetSucursales(context)
+ Else
+ retorno = JsonConvert.SerializeObject(Auth.ErrorMessage)
+ End If
+ context.Response.StatusCode = Auth.StatusCode
Else
context.Response.ContentType = "text/html"
@@ -132,11 +218,219 @@ Public Class E141 : Implements IHttpHandler
End Try
End Sub
+ Private Function ValidarSolicitud(ByVal context As HttpContext) As AuthMessage
+ Dim unauthorized As Boolean = True
+ Dim respuesta As New AuthMessage
+
+ Dim authHeader = context.Request.Headers("Authorization")
+ If authHeader IsNot Nothing Then
+ Dim basicAuth As String = authHeader.Replace("Basic ", "")
+
+ Dim usernamePasswordArray = Encoding.UTF8.GetString(Convert.FromBase64String(basicAuth)).Split(":"c)
+
+ Dim userName = usernamePasswordArray(0)
+ Dim password = usernamePasswordArray(1)
+ unauthorized = Not (userName = Me.UsuarioWSE141 AndAlso password = Me.PasswordWSE141)
+
+ Else
+ respuesta.ErrorMessage = New FidelityAppsResponseError() With {.message = "el usuario y/o contraseña son requeridos"}
+ respuesta.IsSucces = False
+ respuesta.StatusCode = 401
+
+ Return respuesta
+ End If
+
+ If unauthorized Then
+ respuesta.ErrorMessage = New FidelityAppsResponseError() With {.message = "el usuario y/o contraseña no son validos"}
+ respuesta.IsSucces = False
+ respuesta.StatusCode = 401
+
+ Return respuesta
+ Else
+ respuesta.ErrorMessage = Nothing
+ respuesta.IsSucces = True
+ respuesta.StatusCode = 200
+
+ Return respuesta
+ End If
+
+ End Function
+
+ Private Function ConsultaRFC(ByVal context As HttpContext) As String
+ Dim Respuesta As New FidelityAppsResponse
+ Dim RespuestaError As New FidelityAppsResponseError
+ Dim TieneError As Boolean = False
+ Dim JsonRequest As JObject = Nothing
+
+ If context.Request.InputStream IsNot Nothing Then
+ Using reader As New StreamReader(context.Request.InputStream)
+ Dim json = reader.ReadToEnd
+
+ If Not String.IsNullOrEmpty(json) Then
+ JsonRequest = JObject.Parse(json)
+ If JsonRequest Is Nothing Then
+ TieneError = True
+ End If
+ End If
+
+ End Using
+ End If
+
+ If Not TieneError AndAlso Not String.IsNullOrEmpty(JsonRequest("rfc").ToString().Trim()) Then
+
+ Dim data As New JArray
+ Dim Nombre As String = "-1"
+ Dim Codigo As String = "-1"
+ Dim NombreCorto As String = "-1"
+ Dim RFC As String = JsonRequest("rfc").ToString()
+ Dim Telefono As String = "-1"
+ Dim Mail As String = "-1"
+
+ Dim DtSucursales As DataTable = Nothing
+
+ Using ObjClientes As New ClsClientes
+ If ObjClientes.GetListaSucursales(RFC, CveEmpresa) Then
+ DtSucursales = ObjClientes.DtResultados.Copy()
+ End If
+ End Using
+
+ If DtSucursales IsNot Nothing Then
+ Try
+ For Each Row As DataRow In DtSucursales.Rows
+ Dim objSucursal As New JObject(
+ New JProperty("Id", Row("CveCliente")),
+ New JProperty("rfc", Row("RFC")),
+ New JProperty("name", Row("SucursalCliente")),
+ New JProperty("phone", Row("Telefono")),
+ New JProperty("email", Row("Correo")),
+ New JProperty("address", Row("Direccion")),
+ New JProperty("int_number", Row("NoInt")),
+ New JProperty("ext_number", Row("NoExt")),
+ New JProperty("street", Row("Direccion")),
+ New JProperty("between_streets", ""),
+ New JProperty("city", Row("Localidad")),
+ New JProperty("state", Row("Estado")),
+ New JProperty("zip_code", Row("CP")),
+ New JProperty("reference", ""),
+ New JProperty("Branch_office_code", ""),
+ New JProperty("Branch_office_name", ""),
+ New JProperty("Branch_office_id", "")
+ )
+ data.Add(objSucursal)
+ Next
+ Catch ex As Exception
+ TieneError = True
+ RespuestaError.message = "Ocurrió un error al obtener la sucursales"
+ End Try
+ DtSucursales.Dispose()
+ Else
+ TieneError = True
+ End If
+
+ If data.Count > 0 Then
+ Respuesta.data = data
+ End If
+ End If
+
+ If TieneError Then
+ Return JsonConvert.SerializeObject(RespuestaError)
+ Else
+ Return JsonConvert.SerializeObject(Respuesta)
+ End If
+ End Function
+
+ Private Function ValidarCarrito(ByVal context As HttpContext) As String
+ Dim Respuesta As New FidelityAppsResponse
+ Dim RespuestaError As New FidelityAppsResponseError
+ Dim TieneError As Boolean = False
+
+
+ If TieneError Then
+ Return JsonConvert.SerializeObject(RespuestaError)
+ Else
+ Return JsonConvert.SerializeObject(Respuesta)
+ End If
+ End Function
+
+ Private Function RegistrarPedido(ByVal context As HttpContext) As String
+ Dim Respuesta As New FidelityAppsResponse
+ Dim RespuestaError As New FidelityAppsResponseError
+ Dim TieneError As Boolean = False
+
+
+ If TieneError Then
+ Return JsonConvert.SerializeObject(RespuestaError)
+ Else
+ Return JsonConvert.SerializeObject(Respuesta)
+ End If
+ End Function
+
+ Private Function RegistrarCotizacion(ByVal context As HttpContext) As String
+ Dim Respuesta As New FidelityAppsResponse
+ Dim RespuestaError As New FidelityAppsResponseError
+ Dim TieneError As Boolean = False
+
+
+ If TieneError Then
+ Return JsonConvert.SerializeObject(RespuestaError)
+ Else
+ Return JsonConvert.SerializeObject(Respuesta)
+ End If
+ End Function
+
+ Private Function GetSucursales(ByVal context As HttpContext) As String
+ Dim Respuesta As New FidelityAppsResponse
+ Dim RespuestaError As New FidelityAppsResponseError
+ Dim TieneError As Boolean = False
+
+ Dim data As New JArray
+
+ Dim DtSucursales As DataTable = GlobalDTSubProyectos(-1, CveEmpresa:=CveEmpresa).FiltraParametros("EsSucursal = True")
+ If DtSucursales IsNot Nothing Then
+ Try
+ For Each Row As DataRow In DtSucursales.Rows
+ Dim objSucursal As New JObject(
+ New JProperty("code", Row("CveSubProyecto")),
+ New JProperty("name", Row("SubProyecto")),
+ New JProperty("street", Row("Calle")),
+ New JProperty("no_ext", Row("NoExt")),
+ New JProperty("no_int", Row("NoInt")),
+ New JProperty("zip", Row("CP")),
+ New JProperty("neighborhood", Row("Colonia")),
+ New JProperty("city", Row("Municipio")),
+ New JProperty("phone", Row("Telefono")),
+ New JProperty("email", Row("Correo")),
+ New JProperty("geo_lat", ""),
+ New JProperty("geo_lng", ""),
+ New JProperty("image", "")
+ )
+ data.Add(objSucursal)
+ Next
+ Catch ex As Exception
+ TieneError = True
+ RespuestaError.message = "Ocurrió un error al obtener la sucursales"
+ End Try
+ DtSucursales.Dispose()
+ Else
+ TieneError = True
+ End If
+
+ If data.Count > 0 Then
+ Respuesta.data = data
+ End If
+
+ If TieneError Then
+ Return JsonConvert.SerializeObject(RespuestaError)
+ Else
+ Return JsonConvert.SerializeObject(Respuesta)
+ End If
+ End Function
+
Private Function GetExistencia(ByVal context As HttpContext, Codigo As String) As String
Dim respuesta = New With {.isSuccess = False, .message = "", .products = New JArray}
If String.IsNullOrEmpty(Codigo) OrElse Codigo = "-1" Then
respuesta.message = "el parametro 'Sku' es invalido"
- respuesta.isSuccess = False
+ Respuesta.isSuccess = False
Return JsonConvert.SerializeObject(respuesta)
End If
@@ -735,4 +1029,23 @@ Public Class E141 : Implements IHttpHandler
End If
End Function
+ Private Class FidelityAppsResponse
+ Public Property status As String
+ Public Property data As Object
+ End Class
+
+ Private Class FidelityAppsResponseError
+ Sub New()
+ status = "error"
+ End Sub
+ Public Property status As String
+ Public Property message As String
+ End Class
+
+ Private Class AuthMessage
+ Public Property IsSucces As Boolean
+ Public Property ErrorMessage As FidelityAppsResponseError
+ Public Property StatusCode As Integer
+ End Class
+
End Class
\ No newline at end of file
diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb
index 198ef02e0..7a06ef3a6 100644
--- a/Compras/Compras.aspx.vb
+++ b/Compras/Compras.aspx.vb
@@ -6960,8 +6960,31 @@ Partial Class Compras_Compras
Dim DTDistinct = DT.Copy
If UsuarioActual.Empresa.Funcionalidad(126) = "1" Then
+
+ For Each drowdis As DataRow In DTDistinct.Rows
+ If drowdis("CveTipoGasto").ToString = "" Then
+ drowdis("CveTipoGasto") = 0
+ End If
+ If drowdis("TipoGasto").ToString.Trim = "" Then
+ drowdis("TipoGasto") = "ND"
+
+ End If
+ Next
+
DTDistinct = DTDistinct.FiltraParametros("ISNULL(TipoAF, 0) <> 2", "", {"CveClasificacion", "Clasificacion", "SubProyecto", "CveSubProyecto", "CveTipoGasto", "TipoGasto"})
Else
+
+ For Each drowdis As DataRow In DTDistinct.Rows
+ If drowdis("CveTipoGasto").ToString = "" Then
+ drowdis("CveTipoGasto") = 0
+ End If
+ If drowdis("TipoGasto").ToString.Trim = "" Then
+ drowdis("TipoGasto") = "ND"
+
+ End If
+ Next
+ DTDistinct.AcceptChanges()
+
DTDistinct = DTDistinct.FiltraParametros("ISNULL(TipoAF,0) <> 2 And ISNULL(CveAlmacen,0) = 0 And ISNULL(AplicaCostoIndirecto,0) <> 1", "", {"CveClasificacion", "Clasificacion", "SubProyecto", "CveSubProyecto", "CveTipoGasto", "TipoGasto"})
End If
'RMF, si es concepto relacionado a flete o importacion, no debe de afectar al gasto
@@ -17816,6 +17839,8 @@ Partial Class Compras_Compras
If UsuarioActual.Empresa.Tipo_CentroCosto <> 1 And UsuarioActual.Empresa.Tipo_CentroCosto <> 2 Then
DdlProyecto.SelectedValueExist(GvRow.DataKey("CveProyecto"))
+ Else
+ DdlProyecto.SelectedValueExist("-1")
End If
diff --git a/Compras/PopUpVerFactura.aspx.vb b/Compras/PopUpVerFactura.aspx.vb
index 6bae061c3..f477a8d99 100644
--- a/Compras/PopUpVerFactura.aspx.vb
+++ b/Compras/PopUpVerFactura.aspx.vb
@@ -4696,7 +4696,7 @@ Partial Class PopUpVerFactura
params.Add(New ReportParameter("LogoPath", ""))
End If
- ImprimirPDF("Empresas/Grales/Formatos/Ajuste.rdlc", DtDatos, params, "Reporte de Ajuste", "PDF")
+ ImprimirPDF("Empresas/Grales/Formatos/Ajuste.rdlc", DtDatos, params, "Reporte de Ajuste", "PDF", Content_Disposition:="inline")
End Sub
#End Region
diff --git a/Compras/ReembolsosComprobaciones.aspx.vb b/Compras/ReembolsosComprobaciones.aspx.vb
index baafd9844..87dd131f3 100644
--- a/Compras/ReembolsosComprobaciones.aspx.vb
+++ b/Compras/ReembolsosComprobaciones.aspx.vb
@@ -712,7 +712,7 @@ Partial Class Compras_ReembolsosComprobaciones
If Not ChkReembolsarSinBancos.Checked AndAlso (Not HdnCheque.Value.ToEntero > 0 Or Not UsuarioActual.CveEmpresa.Contiene(119, 158)) Then
'Si es caja chica metemos el concepto 30, si es funcionario metemos 29
- If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, True, ImporteMovto, Referencia, If(CveCajaChica > 0, 30, 29), ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, If(CveCajaChica > 0, IdCuentaBancaria, IdCtaPersonal), -1, CveIE:=CveIEPago, CveIEDevolucion:=If(CveCajaChica > 0, DDlCheques.SelectedValue.ToEntero, -1), CvePersonal:=CvePersonal, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, ImporteMovto), ImporteMX:=ImporteMovto * tipoCambio, CveCuenta:=CveCuentaPersonal, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal, Contabilizable:=If(CveCajaChica > 0 Or CvePersonal > 0, Not UsaSimplificacionCajaChica, True)) Then
+ If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, True, ImporteMovto, Referencia, If(CveCajaChica > 0, 30, 29), ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, If(CveCajaChica > 0, IdCuentaBancaria, IdCtaPersonal), -1, CveIE:=CveIEPago, CveIEDevolucion:=If(CveCajaChica > 0, If(DDlCheques.SelectedValue.ToEntero = -1, CveIECajaChica, DDlCheques.SelectedValue.ToEntero), -1), CvePersonal:=CvePersonal, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, ImporteMovto), ImporteMX:=ImporteMovto * tipoCambio, CveCuenta:=CveCuentaPersonal, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal, Contabilizable:=If(CveCajaChica > 0 Or CvePersonal > 0, Not UsaSimplificacionCajaChica, True)) Then
MsgError = "Detalle"
End If
End If
diff --git a/Contratos/ContratoAvance.aspx b/Contratos/ContratoAvance.aspx
index fdccdf370..2a42ad29a 100644
--- a/Contratos/ContratoAvance.aspx
+++ b/Contratos/ContratoAvance.aspx
@@ -8,8 +8,8 @@
width:100%;
}
.txtimporte{
- background: transparent;
- border: none;
+ /*background: transparent;*/
+ /*border: none;*/
}
.txtcant,.txtimporte,
@@ -183,14 +183,22 @@
-
+
-
+
+
+
+
+
+
+
+
+
@@ -254,115 +262,6 @@
-<%--
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-