diff --git a/Acumuladores/EntradasUsadosResumenRep.aspx.vb b/Acumuladores/EntradasUsadosResumenRep.aspx.vb
index ced8542ab..4043c344f 100644
--- a/Acumuladores/EntradasUsadosResumenRep.aspx.vb
+++ b/Acumuladores/EntradasUsadosResumenRep.aspx.vb
@@ -1,6 +1,8 @@
Imports System.Data
Imports Extensiones
Imports Microsoft.Reporting.WebForms
+Imports GemBox.Spreadsheet
+Imports System.IO
Partial Class Acumuladores_RepEntradasUsados
Inherits ClsPaginas
@@ -22,6 +24,9 @@ Partial Class Acumuladores_RepEntradasUsados
txtFechaI.Text = Today.AddDays((-1) * (Today.Day - 1))
txtFechaF.Text = Today
CargarDatos()
+ CargarCombos()
+
+
End If
End Sub
@@ -30,6 +35,18 @@ Partial Class Acumuladores_RepEntradasUsados
DdlAlmacenes.DataBind()
End Sub
+ Protected Sub CargarCombos()
+ Dim ObjAcum As New ClsAcumuladores
+ Dim fecha As Date = Date.Now.AddMonths(-1)
+ ObjAcum.GetAñosVentas(UsuarioActual.CveEmpresa)
+ DdlAño.DataSource = ObjAcum.DtResultados
+ DdlAño.DataBind()
+ DdlAño.SelectedValue = fecha.Year.ToEntero
+ ObjAcum.Dispose()
+
+ DdlMes.SelectedValue = fecha.Month.ToEntero
+ End Sub
+
Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs)
Dim ObjAcum As New ClsAcumuladores
@@ -63,5 +80,77 @@ Partial Class Acumuladores_RepEntradasUsados
ImprimirPDF(String.Format("Empresas/{0}/Formatos/RepEntradasUsados.rdlc", UsuarioActual.CveEmpresa), DatosEntradasUsados, params, "Reporte entrada usados", "PDF")
+ End Sub
+
+ Protected Sub BtnDescargaSabana_Click(sender As Object, e As EventArgs) Handles BtnDescargaSabana.Click
+ RegistraScript(String.Format("$('#{0}').modal('show');", "DivModalSabana"))
+
+ 'RegistraScript("$('#DModalEditarFecha').modal('hide')")
+
+ End Sub
+
+ Protected Sub BtnDescargarSabana_Click(sender As Object, e As EventArgs) Handles BtnDescargarSabana.Click
+ Dim Retorno As New IO.MemoryStream()
+ Dim ObjAcum As New ClsAcumuladores
+ Dim Mes As String = DdlMes.SelectedValue.ToString
+ Dim Año As String = DdlAño.SelectedValue.ToString
+ Dim Fecha As Date = (String.Format("01/{0}/{1}", Mes, Año)).ToDate
+ Dim dt As DataTable
+ Dim NombreArchivo As String
+ Try
+ If DdlOpcion.SelectedValue = 1 Then
+ ObjAcum.GetSabanaVenta(Fecha, 1, UsuarioActual.CveEmpresa)
+
+ ElseIf DdlOpcion.SelectedValue = 2 Then
+ ObjAcum.GetSabanaVenta(Fecha, 2, UsuarioActual.CveEmpresa)
+
+ End If
+ dt = ObjAcum.DtResultados
+
+ If dt IsNot Nothing And dt.Rows.Count > 0 Then
+ SpreadsheetInfo.SetLicense(ModExtensiones.SerialGemBoxSpreadsheet)
+ Dim workbook As New ExcelFile()
+
+ Dim worksheet = workbook.Worksheets.Add("Sabana de ventas")
+ worksheet.InsertDataTable(dt, New InsertDataTableOptions() With
+ {
+ .ColumnHeaders = True,
+ .StartRow = 0,
+ .StartColumn = 0
+ })
+ worksheet.Rows(0).Style.FillPattern.SetPattern(FillPatternStyle.Solid, SpreadsheetColor.FromArgb(75, 119, 190), SpreadsheetColor.FromArgb(255, 255, 255))
+ worksheet.Rows(0).Style.Font.Color = SpreadsheetColor.FromArgb(255, 255, 255)
+
+ Dim columnCount = worksheet.CalculateMaxUsedColumns()
+ For i = 0 To columnCount
+ worksheet.Columns(i).AutoFit(1, worksheet.Rows(0), worksheet.Rows(worksheet.Rows.Count - 1))
+ Next
+
+ Año = Strings.Right(Año, 2)
+ If Mes.ToEntero < 10 Then
+ Mes = String.Format("0{0}", Mes)
+ End If
+ If DdlOpcion.SelectedValue = 1 Then
+ NombreArchivo = String.Format("700415-{0}{1}-GE", Mes, Año)
+ workbook.Save(Response, $"{NombreArchivo}.xlsx", SaveOptions.XlsxDefault)
+
+
+ ElseIf DdlOpcion.SelectedValue = 2 Then
+ NombreArchivo = String.Format("700415-{0}{1}-CS", Mes, Año)
+ workbook.Save(Response, $"{NombreArchivo}.xlsx", SaveOptions.XlsxDefault)
+
+ End If
+ End If
+ Catch ex As Exception
+ GuardaLog(String.Format("Ocurrio un error al generar el excel {0}", ex.Message))
+
+ End Try
+
+ ObjAcum.Dispose()
+ RegistraScript("$('#DModalEditarFecha').modal('hide')")
+
+
+
+
End Sub
End Class
diff --git a/App_Code/CFDITimbre.vb b/App_Code/CFDITimbre.vb
index 4648e11e5..da170c392 100644
--- a/App_Code/CFDITimbre.vb
+++ b/App_Code/CFDITimbre.vb
@@ -367,7 +367,7 @@ Public Class CFDINominaOtrosPagos
Public Property Subsidiocausado As Decimal
Public Property RemanenteSalFav As Decimal
Public Property ejercicio As Integer
- Public Property SaldoAFavor As Integer
+ Public Property SaldoAFavor As Decimal
End Class
diff --git a/App_Code/ClsAcumuladores.vb b/App_Code/ClsAcumuladores.vb
index c37e75652..b14e03dfe 100644
--- a/App_Code/ClsAcumuladores.vb
+++ b/App_Code/ClsAcumuladores.vb
@@ -1173,6 +1173,42 @@ Public Class ClsAcumuladores
End Function
+ Public Function GetSabanaVenta(Fecha As Date, CveOpcion As Integer, CveEmpresa As Integer) As Boolean
+ Dim Retorno As Boolean = False
+
+ SqlDataAdapter("PA_Acum_SabanaVentaGet")
+
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@Fecha", SqlDbType.Date).Value = Fecha
+ .Add("@Opcion", SqlDbType.Int).Value = CveOpcion
+ .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+
+ End With
+
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch ex As SqlException
+ OnError("Ocurrió un error al consultar los movimientos. ", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
+ End Try
+
+ Return Retorno
+ End Function
+
+ Public Function GetAñosVentas(CveEmprea As Integer) As Boolean
+ Dim Retorno As Boolean = False
+ SqlDataAdapter(String.Format("select year(Fecha) as Año from Ventas where CveEmpresa = {0} group by year(Fecha) Order by year(Fecha)", CveEmprea.ToString), CommandType.Text)
+
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch ex As Exception
+ OnError(String.Format("Ocurrió un error al consultar los año de venta"), ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
+ End Try
+ Return Retorno
+
+ End Function
+
#Region " IDisposable Support "
' IDisposable
diff --git a/App_Code/ClsNominas.vb b/App_Code/ClsNominas.vb
index 79507b7fc..75a06a6fe 100644
--- a/App_Code/ClsNominas.vb
+++ b/App_Code/ClsNominas.vb
@@ -2001,6 +2001,36 @@ Public Class ClsNominas
End With
+ SqlAdapter.Fill(DTSet)
+ retorno = True
+ Catch sqEx As SqlException
+ retorno = False
+ OnError("Ocurrió un error al Realizar el calculo de nomina.", sqEx, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ Catch ex As Exception
+ retorno = False
+ OnError("Ocurrió un error al Realizar el calculo de nomina.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ End Try
+ Return retorno
+ End Function
+ Public Function GetNominaAcumulado(Ejercicio As Integer, CveProyecto As Integer, CveSubProyecto As Integer, CveTurno As Integer, CvePeriodoI As Integer, CvePeriodoF As Integer, CveEmpresa As Integer, Optional RegimenContratacion As Integer = 1, Optional CvePersonal As Integer = -1) As Boolean
+ Dim retorno As Boolean = False
+
+ Try
+ DTSet = New DataSet()
+ DataAdapter("PA_Nom_ReporteAcumulado", CommandType.StoredProcedure)
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@Ejercicio", SqlDbType.Int).Value = Ejercicio
+ .Add("@CveProyecto", SqlDbType.Int).Value = CveProyecto
+ .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto
+ .Add("@CveTurno", SqlDbType.Int).Value = CveTurno
+ .Add("@CvePeriodoI", SqlDbType.Int).Value = CvePeriodoI
+ .Add("@CvePeriodoF", SqlDbType.Int).Value = CvePeriodoF
+ .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+ .Add("@RegimenContratacion", SqlDbType.Int).Value = RegimenContratacion
+ .Add("@CvePersonal", SqlDbType.Decimal).Value = CvePersonal
+ End With
+
+
SqlAdapter.Fill(DTSet)
retorno = True
Catch sqEx As SqlException
diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb
index 1203a0395..b4557e050 100644
--- a/App_Code/ClsPaginas.vb
+++ b/App_Code/ClsPaginas.vb
@@ -4676,6 +4676,7 @@ Public Class ClsPaginas
PaginaDict.Add("/Nomina/Nomina.aspx".ToUpper(), 75)
PaginaDict.Add("/Nomina/NominaB.aspx".ToUpper(), 75)
PaginaDict.Add("/Nomina/Nomina2.aspx".ToUpper(), 75)
+ PaginaDict.Add("/Nomina/ReportedeAcumulados.aspx".ToUpper(), 75)
PaginaDict.Add("/Nomina/ListaAsistencias.aspx".ToUpper(), 91)
PaginaDict.Add("/Nomina/ConceptosEspeciales.aspx".ToUpper(), 136)
PaginaDict.Add("/Nomina/CatConceptos.aspx".ToUpper(), 172)
@@ -7792,6 +7793,7 @@ Public Class ClsPaginas
#End Region
#Region "PDF NOMINA"
+
Public Function GeneraPDFNomina(CvePersonal As Integer, CvePeriodo As Integer, CveEmpresa As Integer, RutaEmpresa As String) As Byte()
Dim ObjNomina As New ClsNominas
@@ -7809,6 +7811,7 @@ Public Class ClsPaginas
Dim CveNomina = ObjNomina.CveNomina
Dim DTPercepciones As Data.DataTable
Dim DTDeducciones As Data.DataTable
+ Dim DTDeducciones2 As New Data.DataTable
Dim Ruta As String = $"{ModExtensiones.DirectorioBaseEmpresas}Empresas\{CveEmpresa}\"
Dim PathXML As String = $"{Ruta}XML\Nomina\{ObjNomina.SerieFolio}.xml"
@@ -7820,7 +7823,6 @@ Public Class ClsPaginas
SelloSAT = ""
NoSerieCertificadoContribuyente = ""
-
Dim RutaCBB As String = String.Format("{0}CBB\Nomina\{1}.jpg", RutaEmpresa, ObjNomina.SerieFolio)
Dim ImagenCBB As New System.IO.FileInfo(RutaCBB)
Dim ImgCBB As String
@@ -7906,7 +7908,8 @@ Public Class ClsPaginas
RptParametro.Add(New ReportParameter("NSS", ObjPersonal.NumeroSS))
RptParametro.Add(New ReportParameter("Departamento", ObjPersonal.Departamento))
- RptParametro.Add(New ReportParameter("Puesto", ObjPersonal.Puesto.ToString))
+ RptParametro.Add(New ReportParameter("Puesto", ObjPersonal.Puesto.ToString()))
+ RptParametro.Add(New ReportParameter("FechaIngreso", ObjPersonal.FechaIngreso.ToString("dd/MM/yyyy")))
RptParametro.Add(New ReportParameter("Contrato", ObjPersonal.TipoContrato.ToString))
@@ -7927,7 +7930,7 @@ Public Class ClsPaginas
RptParametro.Add(New ReportParameter("Periodo", ObjNomina.TipoPeriodo))
RptParametro.Add(New ReportParameter("DiasPagados", ObjNomina.DiasPagados.ToString))
- RptParametro.Add(New ReportParameter("MetodoPago", """PUE"" (Pago en una sola exhibición)"))
+ RptParametro.Add(New ReportParameter("MetodoPago", ObjNomina.MetodoPago)) '"""PUE"" (Pago en una sola exhibición)"
RptParametro.Add(New ReportParameter("FormaPago", """99"" (Por definir)"))
RptParametro.Add(New ReportParameter("Cantidad", "1"))
@@ -7959,6 +7962,7 @@ Public Class ClsPaginas
If ObjNomina.GetNom_NominasDetalles(CveNomina, CvePersonal, CvePeriodo, "-1") Then
DTPercepciones = ObjNomina.DtResultados.FiltraParametros("(Tipo = 'P' OR (Tipo = 'D' AND Importe <0)) AND Importe <>0 AND EsPadre = 1 AND SoloVisible =0")
DTDeducciones = ObjNomina.DtResultados.FiltraParametros("Tipo = 'D' AND Importe >0 AND EsPadre = 1 AND SoloVisible =0")
+ DTDeducciones2 = ObjNomina.DtResultados.FiltraParametros("(Tipo = 'D' AND Importe >0 AND EsPadre = 1 AND SoloVisible =0) OR CveConcepto IN (1471,1491)")
For Each row As DataRow In DTPercepciones.Rows
If row("Tipo").ToString() = "D" Then
row("Codigo") = row("Codigo").ToString().Replace("D", "OP")
@@ -7973,6 +7977,7 @@ Public Class ClsPaginas
RptParametro.Add(New ReportParameter("PU", DTPercepciones.SUM("Importe").ToString()))
RptParametro.Add(New ReportParameter("Importe", DTPercepciones.SUM("Importe").ToString()))
+ RptParametro.Add(New ReportParameter("ImporteDeducciones", DTDeducciones.SUM("Importe").ToString()))
RptParametro.Add(New ReportParameter("SubTotal", DTPercepciones.SUM("Importe").ToString()))
RptParametro.Add(New ReportParameter("Descuentos", DTDeducciones.SUM("Importe", "SATCveConcepto <> '002'").ToString()))
@@ -7991,12 +7996,40 @@ Public Class ClsPaginas
Dim rds2 = New ReportDataSource()
- Dim limagenes = New List(Of utilImage)()
- limagenes.Add(New utilImage(cQr))
- rds2.Name = "dsImagenes"
- rds2.Value = limagenes
- LSRds.Add(rds2)
+ Dim dtqr As New DataTable
+
+ Dim column As DataColumn = New DataColumn("ImagenByte")
+ column.DataType = System.Type.[GetType]("System.Byte[]")
+ column.AllowDBNull = True
+ column.Caption = "ImagenByte"
+ dtqr.Columns.Add(column)
+ Dim rowqr As DataRow = dtqr.NewRow()
+ rowqr("ImagenByte") = cQr
+
+ dtqr.Rows.Add(rowqr)
+ rds2.Name = "dsImagenes"
+ rds2.Value = dtqr
+ LSRds.Add(rds2)
+ Dim numnewfiles As Integer = 0
+ If DTPercepciones.Rows.Count > DTDeducciones2.Rows.Count Then
+
+ numnewfiles = DTPercepciones.Rows.Count - DTDeducciones2.Rows.Count
+ For index = 1 To numnewfiles
+
+ DTDeducciones2.Rows.Add(DTDeducciones2.NewRow)
+ Next
+ Else
+
+ If DTDeducciones2.Rows.Count > DTPercepciones.Rows.Count Then
+ numnewfiles = DTDeducciones2.Rows.Count - DTPercepciones.Rows.Count
+ For index = 1 To numnewfiles
+
+ DTPercepciones.Rows.Add(DTPercepciones.NewRow)
+ Next
+
+ End If
+ End If
Dim RptDS As New ReportDataSource
RptDS.Name = "DsOC"
@@ -8005,7 +8038,7 @@ Public Class ClsPaginas
Dim RDS As New ReportDataSource
RDS.Name = "DataSet1"
- RDS.Value = DTDeducciones
+ RDS.Value = DTDeducciones2
LSRds.Add(RDS)
Dim Archivo As New System.IO.FileInfo(RutaFormato)
@@ -8020,6 +8053,7 @@ Public Class ClsPaginas
File.WriteAllBytes(String.Format("{0}PDF\Nomina\{1}.pdf", RutaEmpresa, ObjNomina.SerieFolio), Retorno)
Catch ex As Exception
Alert("Ocurrió un error al generar el PDF", TipoMensaje.MsgAdvertencia)
+ GuardaLog(String.Format("Ocurrió un error al generar el PDF {0}", ex))
End Try
End If
Else
@@ -8040,12 +8074,6 @@ Public Class ClsPaginas
Return Retorno
End Function
- Public Class utilImage
- Public Sub New(imagenByte As Byte())
- Me.ImagenByte = imagenByte
- End Sub
- Public Property ImagenByte As Byte()
- End Class
#End Region
#Region "PDF PAGOS"
@@ -8311,7 +8339,7 @@ Public Class ClsPaginas
End Sub
#End Region
- Public Sub CargarCentrosDeCosto(DdlProyecto As DropDownList, DdlSubProyecto As DropDownList, LthProyectoP As Label, LblSubProyecto As Label, Optional AplicaTodos As String = "Todos")
+ Public Sub CargarCentrosDeCosto(DdlProyecto As DropDownList, DdlSubProyecto As DropDownList, LthProyectoP As Label, LblSubProyecto As Label, Optional AplicaTodos As String = "Todos", Optional DdlSubProyectoMultiple As ListBox = Nothing)
Select Case UsuarioActual.Empresa.Tipo_CentroCosto
Case 1
If DdlProyecto IsNot Nothing Then DdlProyecto.Visible = False
@@ -8339,6 +8367,12 @@ Public Class ClsPaginas
If AplicaTodos <> "" Then DdlProyecto.Items.Insert(0, New ListItem(AplicaTodos, "-1"))
End If
+ If DdlSubProyectoMultiple IsNot Nothing Then
+
+ DdlSubProyectoMultiple.DataSource = If(Not UsuarioActual.TienePermisoProceso(110), GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1), GlobalDTSubProyectos(-1, -1, UsuarioActual.CveEmpresa, 1))
+ DdlSubProyectoMultiple.DataBind()
+ If AplicaTodos <> "" Then DdlSubProyectoMultiple.Items.Insert(0, New ListItem(AplicaTodos, "-1"))
+ End If
If DdlSubProyecto IsNot Nothing Then
DdlSubProyecto.DataSource = If(Not UsuarioActual.TienePermisoProceso(110), GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1), GlobalDTSubProyectos(-1, -1, UsuarioActual.CveEmpresa, 1))
DdlSubProyecto.DataBind()
@@ -8353,7 +8387,7 @@ Public Class ClsPaginas
DdlSeccionAlmacen.DataSource = dtsec
DdlSeccionAlmacen.DataBind()
If dtsec Is Nothing Then Exit Sub
- If dtsec.Rows.Count = 1 Then
+ If dtsec.Rows.Count = 1 Then
DdlSeccionAlmacen.SelectedIndex = 0
DdlSeccionAlmacen.Enabled = False
Else 'si es mayor a uno que por default seleccione el primero, que seria el predeterminado
diff --git a/App_Code/LogicNominas.vb b/App_Code/LogicNominas.vb
index c8fd108b0..e378f3aae 100644
--- a/App_Code/LogicNominas.vb
+++ b/App_Code/LogicNominas.vb
@@ -144,8 +144,10 @@ Public Class LogicNominas
End If
If continuar AndAlso objNomina.GetNom_NominasDetalles(CveNomina, CvePersonal, CvePeriodo, "-1") Then
If objNomina.DtResultados.Rows.Count > 0 Then
- DtPercepciones = objNomina.DtResultados.FiltraParametros("Tipo = 'P' AND EsPadre = 1 AND SoloVisible =0")
- DtDeducciones = objNomina.DtResultados.FiltraParametros("Tipo = 'D' AND EsPadre = 1 AND SoloVisible =0 AND (TipoConceptoSAT<>'O' OR TipoConceptoSAT IS NULL)")
+ Dim filtropercepciones As String = "Tipo = 'P' AND EsPadre = 1 AND SoloVisible =0"
+ DtPercepciones = objNomina.DtResultados.FiltraParametros(filtropercepciones)
+ Dim filtrodeduc As String = "Tipo = 'D' AND EsPadre = 1 AND SoloVisible =0 AND (TipoConceptoSAT<>'O' OR TipoConceptoSAT IS NULL)"
+ DtDeducciones = objNomina.DtResultados.FiltraParametros(filtrodeduc)
DtOtrosPagos = objNomina.DtResultados.FiltraParametros(" TipoConceptoSAT='O'")
Dim disrcomp As DataRow = DtOtrosPagos.FiltroPrimero("Codigo ='D999'")
For Each drow As DataRow In DtDeducciones.Rows
@@ -183,6 +185,9 @@ Public Class LogicNominas
If continuar AndAlso objPersonal.GetAsistencias(CvePersonal, -1, -1, -1, -1, -1, FechaInicio, FechaFin, UsuarioActual.CveEmpresa) Then
Dim Asistencias As Integer = objPersonal.DtResultados.SUM("AplicaAsistencia").ToEntero()
+ 'If Asistencias > 15 Then
+ ' Asistencias = 15
+ 'End If
Dim Vacaciones As Integer = objPersonal.DtResultados.SUM("AplicaVacacion").ToEntero()
DiasIncapacitados = objPersonal.DtResultados.SUM("AplicaIncapacidad").ToEntero()
DiasPagados = Asistencias - Vacaciones
@@ -279,18 +284,19 @@ Public Class LogicNominas
End If
'subsidio al empleo
- 'If Row("SATCveConcepto").ToString().ToEntero().ToEntero() = 17 AndAlso Row("Importe").ToString().ToDecimal > 0 Then 'Subsidio
- ' ObjOtrosPagos.Add(New CFDINominaOtrosPagos With {.TipoOtroPago = "002", ' codigo fijo, por ser referente a subsidio al empleo
- ' .Clave = Row("Codigo").ToString(), .Concepto = Row("Concepto").ToString(), .Importe = Row("Importe").ToString().ToDecimal})
- 'End If
+ If Row("SATCveConcepto").ToString().ToEntero().ToEntero() = 17 AndAlso Row("Importe").ToString().ToDecimal > 0 Then 'Subsidio
+ ObjOtrosPagos.Add(New CFDINominaOtrosPagos With {.TipoOtroPago = "002", ' codigo fijo, por ser referente a subsidio al empleo
+ .Clave = Row("Codigo").ToString(), .Concepto = Row("Concepto").ToString(), .Importe = Row("Importe").ToString().ToDecimal})
+ End If
Next
End If
If DtOtrosPagos IsNot Nothing AndAlso DtOtrosPagos.Rows.Count > 0 Then
For Each Row As DataRow In DtOtrosPagos.Rows
+
If (Row("Importe").ToString().ToDecimal() > 0) OrElse
- (Row("SATCveConcepto").ToString().ToEntero().ToEntero() = 2 AndAlso (CveRegimenContratacion.ToEntero() = 2 OrElse Row("Importe").ToString().ToDecimal() <> 0)) OrElse
- (Row("SATCveConcepto").ToString().ToEntero().ToEntero().Contiene(2, 4) AndAlso Row("Importe").ToString().ToDecimal() < 0) Then
+ (Row("SATCveConcepto").ToString().ToEntero() = 2 AndAlso (CveRegimenContratacion.ToEntero() = 2 OrElse Row("Importe").ToString().ToDecimal() <> 0)) OrElse
+ (Row("SATCveConcepto").ToString().ToEntero().Contiene(2, 4) AndAlso Row("Importe").ToString().ToDecimal() < 0) Then
If Row("CveSATConcepto").ToString() = "" Then cfdi.AddMsg(String.Format("Concepto No registrado ({0})", Row("Concepto").ToString())) : Exit For
Dim otrp = New CFDINominaOtrosPagos With {.TipoOtroPago = Row("SATCveConcepto").ToString(), .Clave = Row("Codigo").ToString(), .Concepto = Row("Concepto").ToString(),
@@ -298,11 +304,11 @@ Public Class LogicNominas
ObjOtrosPagos.Add(otrp)
- If Row("SATCveConcepto").ToString().ToEntero().ToEntero() = 7 AndAlso Row("Importe").ToString().ToDecimal > 0 Then 'Subsidio
+ If Row("SATCveConcepto").ToString().ToEntero() = 7 AndAlso Row("Importe").ToString().ToDecimal > 0 Then 'Subsidio
ObjDeducciones.Add(New CFDINominaDeducciones With {.TipoDeduccion = "002", ' codigo fijo
.Clave = Row("Codigo").ToString(), .Concepto = "ISR", .Importe = Row("Importe").ToString().ToDecimal})
End If
- If Row("SATCveConcepto").ToString().ToEntero().ToEntero() = 8 AndAlso Row("Importe").ToString().ToDecimal > 0 Then 'Subsidio
+ If Row("SATCveConcepto").ToString().ToEntero() = 8 AndAlso Row("Importe").ToString().ToDecimal > 0 Then 'Subsidio
ObjDeducciones.Add(New CFDINominaDeducciones With {.TipoDeduccion = "071", ' codigo fijo
.Clave = Row("Codigo").ToString(), .Concepto = "(Ajuste en Subsidio para el empleo (efectivamente entregado al trabajador)", .Importe = Row("Importe").ToString().ToDecimal})
End If
diff --git a/App_Code/Timbrado.vb b/App_Code/Timbrado.vb
index 26418aaed..9a5f4a0c9 100644
--- a/App_Code/Timbrado.vb
+++ b/App_Code/Timbrado.vb
@@ -2061,7 +2061,7 @@ Public Class Timbrado
If otpag.TipoOtroPago = "004" AndAlso otpag.Importe > 0 Then
If otpag.ejercicio > 0 Then
- cfdi.CompensacionSaldosAFavor(otpag.Importe, otpag.ejercicio, otpag.RemanenteSalFav) 'otpag.SaldoAFavor
+ cfdi.CompensacionSaldosAFavor(otpag.SaldoAFavor, otpag.ejercicio, otpag.RemanenteSalFav) 'otpag.SaldoAFavor
End If
End If
diff --git a/Bancos/PopIEVentas.aspx b/Bancos/PopIEVentas.aspx
index cdaa66505..81291fcc3 100644
--- a/Bancos/PopIEVentas.aspx
+++ b/Bancos/PopIEVentas.aspx
@@ -38,7 +38,7 @@
-
+
diff --git a/Bancos/PopIEVentas.aspx.vb b/Bancos/PopIEVentas.aspx.vb
index 00a20f1f1..07c87b1ed 100644
--- a/Bancos/PopIEVentas.aspx.vb
+++ b/Bancos/PopIEVentas.aspx.vb
@@ -694,14 +694,8 @@ Partial Class Bancos_PopIEVentas
If Valida.EsValida > 0 Then
If Valida.EsValida = 2 Then
- Validada = False
- 'Dim ObjDatos As New ClsCompras
-
- 'If ObjDatos.UpdateEstatus(Valida.EsValida, gvr.DataKey("CveFactura").ToEntero) Then
-
- 'End If
- 'ObjDatos.Dispose()
-
+ Validada = False
+
BtnGuardar.Enabled = False
If UsuarioActual.Empresa.UsaAC Then
@@ -715,7 +709,9 @@ Partial Class Bancos_PopIEVentas
End If
Else
'no se pudo validar, pero ya tuvo la primera vuelta de validacion
+ Alert("La factura no se pudo validar.")
Validada = False
+ BtnGuardar.Visible = False
End If
Valida.Dispose()
Else
diff --git a/CRM/EmpresaCRM.aspx b/CRM/EmpresaCRM.aspx
index 24e763256..1f64d8e96 100644
--- a/CRM/EmpresaCRM.aspx
+++ b/CRM/EmpresaCRM.aspx
@@ -72,8 +72,8 @@
-
-
+<%--
+ --%>
diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb
index d55250157..f93c37a81 100644
--- a/Compras/Compras.aspx.vb
+++ b/Compras/Compras.aspx.vb
@@ -14523,7 +14523,7 @@ Partial Class Compras_Compras
Protected Sub BtnRefacturacionVer_Click(sender As Object, e As EventArgs) Handles BtnRefacturacionVer.Click
Dim Opcion As Integer = 1
- If UsuarioActual.CveEmpresa.Contiene(119, 72, 1) Then Opcion = 2
+ If UsuarioActual.CveEmpresa.Contiene(119, 1) Then Opcion = 2
Dim ObjCompras As New ClsCompras
@@ -17961,12 +17961,12 @@ Partial Class Compras_Compras
Exit Sub
End If
- If UsuarioActual.Empresa.Tipo_CentroCosto = 3 Or UsuarioActual.Empresa.Tipo_CentroCosto = 4 Or UsuarioActual.Empresa.Tipo_CentroCosto = 5 Then
- If Not DdlProyecto.SelectedValue.ToEntero > 0 Then
- Alert("Es necesario seleccionar un proyecto.", TipoMensaje.MsgAdvertencia)
- Exit Sub
- End If
- End If
+ 'If UsuarioActual.Empresa.Tipo_CentroCosto = 3 Or UsuarioActual.Empresa.Tipo_CentroCosto = 4 Or UsuarioActual.Empresa.Tipo_CentroCosto = 5 Then
+ ' If Not DdlProyecto.SelectedValue.ToEntero > 0 Then
+ ' Alert("Es necesario seleccionar un proyecto.", TipoMensaje.MsgAdvertencia)
+ ' Exit Sub
+ ' End If
+ 'End If
If Not DdlSubProyecto.SelectedValue.ToEntero > 0 Then
Alert("Es necesario seleccionar un subproyecto.", TipoMensaje.MsgAdvertencia)
diff --git a/Contabilidad/PlantillasPolizasDetalle.aspx.vb b/Contabilidad/PlantillasPolizasDetalle.aspx.vb
index 7449e664d..c80bca90a 100644
--- a/Contabilidad/PlantillasPolizasDetalle.aspx.vb
+++ b/Contabilidad/PlantillasPolizasDetalle.aspx.vb
@@ -381,7 +381,7 @@ CveCuenta:=DdlCuentas.SelectedValue.ToEntero) Then
If UsuarioActual.Empresa.TipoContabilizacion = 0 Then
'busco en la cuenta contable, lo que tenga asignado
Dim Con As New ClsContabilidad
- Dim dtt As DataTable
+ Dim dtt As DataTable = Nothing
If Con.GetCuentas(-1, "-1", -1, UsuarioActual.CveEmpresa) Then
dtt = Con.DtResultados
End If
diff --git a/Contabilidad/RegPrePolizaS.aspx b/Contabilidad/RegPrePolizaS.aspx
index 5d6f271af..286ca172c 100644
--- a/Contabilidad/RegPrePolizaS.aspx
+++ b/Contabilidad/RegPrePolizaS.aspx
@@ -273,7 +273,7 @@