This commit is contained in:
Rakcsle Supertramp
2020-10-25 01:47:54 -07:00
30 changed files with 2696 additions and 559 deletions

View File

@@ -302,7 +302,8 @@ Public Class ClsContratos
Geom As String, CveContratoPadre As Integer, CveUsuario As Integer, CveEmpresa As Integer, EsPresupuestal As Boolean, Minimo As Double, Maximo As Double, Importe As Double, CveMoneda As Integer, ModalidadDetalle As Integer, Geom As String, CveContratoPadre As Integer, CveUsuario As Integer, CveEmpresa As Integer, EsPresupuestal As Boolean, Minimo As Double, Maximo As Double, Importe As Double, CveMoneda As Integer, ModalidadDetalle As Integer,
Optional CveContratosEstatus As Integer = -1, Optional CveContratoTipo As Integer = -1, Optional TipoCambio As Double = 1, Optional CveSucursalCliente As Integer = -1, Optional CveAlmacenOrigen As Integer = -1, Optional CveAlmacenDestino As Integer = -1, Optional PorcentajeComision As Integer = -1, Optional CveContratosEstatus As Integer = -1, Optional CveContratoTipo As Integer = -1, Optional TipoCambio As Double = 1, Optional CveSucursalCliente As Integer = -1, Optional CveAlmacenOrigen As Integer = -1, Optional CveAlmacenDestino As Integer = -1, Optional PorcentajeComision As Integer = -1,
Optional TipoGarantia As Integer = -1, Optional Folio As Integer = -1, Optional FechaVenc As Date = Nothing, Optional EstatusFianza As Integer = -1, Optional CvePeriodo As Integer = -1, Optional CveContratoPlantilla As Integer = -1, Optional CveCuentaEquipo As Integer = -1, Optional TipoGarantia As Integer = -1, Optional Folio As Integer = -1, Optional FechaVenc As Date = Nothing, Optional EstatusFianza As Integer = -1, Optional CvePeriodo As Integer = -1, Optional CveContratoPlantilla As Integer = -1, Optional CveCuentaEquipo As Integer = -1,
Optional CveVendedor As Integer = -1, Optional Observaciones As String = "", Optional CveDireccionEnvio As Integer = -1, Optional AplicaImpuestosLocales As Boolean = False, Optional CorreoNotificacionPedDev As String = "") As Integer Optional CveVendedor As Integer = -1, Optional Observaciones As String = "", Optional CveDireccionEnvio As Integer = -1, Optional AplicaImpuestosLocales As Boolean = False, Optional CorreoNotificacionPedDev As String = "",
Optional FacturacionCicilica As Boolean = False, Optional FacturacionCiclicaAutomatico As Boolean = False, Optional DiaMesFacturacion As Integer = 1) As Integer
Dim Retorno As Integer = -1 Dim Retorno As Integer = -1
DataAdapter("PA_Con_ContratosAdd") DataAdapter("PA_Con_ContratosAdd")
@@ -353,7 +354,10 @@ Public Class ClsContratos
.Add("@Observaciones", SqlDbType.VarChar).Value = Observaciones .Add("@Observaciones", SqlDbType.VarChar).Value = Observaciones
.Add("@CveDireccionEnvio", SqlDbType.Int).Value = CveDireccionEnvio .Add("@CveDireccionEnvio", SqlDbType.Int).Value = CveDireccionEnvio
.Add("@AplicaImpuestosLocales", SqlDbType.Bit).Value = If(AplicaImpuestosLocales, 1, 0) .Add("@AplicaImpuestosLocales", SqlDbType.Bit).Value = If(AplicaImpuestosLocales, 1, 0)
.Add("@CorreoNotificacionPedDev", SqlDbType.VarChar).Value = CorreoNotificacionPedDev .Add("@CorreoNotificacionPedDev", SqlDbType.VarChar).Value = CorreoNotificacionPedDev
.Add("@FacturacionCicilica", SqlDbType.Bit).Value = FacturacionCicilica
.Add("@FacturacionCiclicaAutomatico", SqlDbType.Bit).Value = FacturacionCiclicaAutomatico
.Add("@DiaMesFacturacion", SqlDbType.TinyInt).Value = DiaMesFacturacion
End With End With
@@ -378,7 +382,8 @@ Public Class ClsContratos
CveContratoPadre As Integer, CveUsuario As Integer, CveEmpresa As Integer, EsPresupuestal As Boolean, Minimo As Double, Maximo As Double, Importe As Double, CveMoneda As Integer, ModalidadDetalle As Integer, CveContratoPadre As Integer, CveUsuario As Integer, CveEmpresa As Integer, EsPresupuestal As Boolean, Minimo As Double, Maximo As Double, Importe As Double, CveMoneda As Integer, ModalidadDetalle As Integer,
Optional CveContratosEstatus As Integer = -1, Optional CveContratoTipo As Integer = -1, Optional TipoCambio As Double = 1.0, Optional CveSucursalCliente As Integer = -1, Optional CveAlmacenOrigen As Integer = -1, Optional CveAlmacenDestino As Integer = -1, Optional PorcentajeComision As Integer = -1, Optional CveContratosEstatus As Integer = -1, Optional CveContratoTipo As Integer = -1, Optional TipoCambio As Double = 1.0, Optional CveSucursalCliente As Integer = -1, Optional CveAlmacenOrigen As Integer = -1, Optional CveAlmacenDestino As Integer = -1, Optional PorcentajeComision As Integer = -1,
Optional TipoGarantia As Integer = -1, Optional Folio As Integer = -1, Optional FechaVenc As Date = Nothing, Optional EstatusFianza As Integer = -1, Optional CveContratoPlantilla As Integer = -1, Optional CveCuentaEquipo As Integer = -1, Optional TipoGarantia As Integer = -1, Optional Folio As Integer = -1, Optional FechaVenc As Date = Nothing, Optional EstatusFianza As Integer = -1, Optional CveContratoPlantilla As Integer = -1, Optional CveCuentaEquipo As Integer = -1,
Optional CveVendedor As Integer = -1, Optional Observaciones As String = "", Optional CveDireccionEnvio As Integer = -1, Optional AplicaImpuestosLocales As Boolean = False, Optional CorreoNotificacionPedDev As String = "") As Boolean Optional CveVendedor As Integer = -1, Optional Observaciones As String = "", Optional CveDireccionEnvio As Integer = -1, Optional AplicaImpuestosLocales As Boolean = False, Optional CorreoNotificacionPedDev As String = "", Optional FacturacionCicilica As Boolean = False, Optional FacturacionCiclicaAutomatico As Boolean = False,
Optional DiaMesFacturacion As Integer = 1, Optional CvePeriodo As Integer = -1) As Boolean
Dim Retorno = False Dim Retorno = False
DataAdapter("PA_Con_ContratosUpdate") DataAdapter("PA_Con_ContratosUpdate")
@@ -428,8 +433,11 @@ Public Class ClsContratos
.Add("@Observaciones", SqlDbType.VarChar).Value = Observaciones .Add("@Observaciones", SqlDbType.VarChar).Value = Observaciones
.Add("@CveDireccionEnvio", SqlDbType.Int).Value = CveDireccionEnvio .Add("@CveDireccionEnvio", SqlDbType.Int).Value = CveDireccionEnvio
.Add("@AplicaImpuestosLocales", SqlDbType.Bit).Value = If(AplicaImpuestosLocales, 1, 0) .Add("@AplicaImpuestosLocales", SqlDbType.Bit).Value = If(AplicaImpuestosLocales, 1, 0)
.Add("@CorreoNotificacionPedDev", SqlDbType.VarChar).Value = CorreoNotificacionPedDev .Add("@CorreoNotificacionPedDev", SqlDbType.VarChar).Value = CorreoNotificacionPedDev
.Add("@FacturacionCicilica", SqlDbType.Bit).Value = FacturacionCicilica
.Add("@FacturacionCiclicaAutomatico", SqlDbType.Bit).Value = FacturacionCiclicaAutomatico
.Add("@DiaMesFacturacion", SqlDbType.TinyInt).Value = DiaMesFacturacion
.Add("@CvePeriodo", SqlDbType.Int).Value = CvePeriodo
End With End With
Try Try
@@ -721,7 +729,7 @@ Public Class ClsContratos
Return Retorno Return Retorno
End Function End Function
Public Function CicloComercialUpdate(CveCicloComercial As Integer, FueFacturado As Boolean, CveEmpresa As Integer) As Boolean Public Function CicloComercialUpdate(CveCicloComercial As Integer, FueFacturado As Boolean, CveEmpresa As Integer, Optional CveVenta As Integer = -1) As Boolean
Dim Retorno As Boolean = False Dim Retorno As Boolean = False
DataAdapter("PA_Con_CicloComercialUpdate") DataAdapter("PA_Con_CicloComercialUpdate")
@@ -729,6 +737,7 @@ Public Class ClsContratos
.Add("@FueFacturado", SqlDbType.Bit).Value = FueFacturado .Add("@FueFacturado", SqlDbType.Bit).Value = FueFacturado
.Add("@CveCicloComercial", SqlDbType.Int).Value = CveCicloComercial .Add("@CveCicloComercial", SqlDbType.Int).Value = CveCicloComercial
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@CveVenta", SqlDbType.Int).Value = CveVenta
End With End With
Try Try

View File

@@ -1913,7 +1913,7 @@ Public Class ClsNominas
End Try End Try
Return Retorno Return Retorno
End Function End Function
Public Function AddUPNom_NominasDetalles(CveNomina As Integer, CvePeriodo As Integer, CvePersonal As Integer, CveConcepto As Integer, Importe As Decimal, ImporteGravado As Decimal, ImporteExento As Decimal, CveUsuario As Integer, Optional IsEdited As Boolean = False) As Boolean Public Function AddUPNom_NominasDetalles(CveNomina As Integer, CvePeriodo As Integer, CvePersonal As Integer, CveConcepto As Integer, Importe As Decimal, ImporteGravado As Decimal, ImporteExento As Decimal, ImporteValor As Decimal, CveUsuario As Integer, Optional IsEdited As Boolean = False) As Boolean
Dim Retorno As Boolean = False Dim Retorno As Boolean = False
DataAdapter("PA_Nom_NominasDetallesAddUP") DataAdapter("PA_Nom_NominasDetallesAddUP")
@@ -1926,6 +1926,7 @@ Public Class ClsNominas
.Add("Importe", SqlDbType.Float).Value = Importe .Add("Importe", SqlDbType.Float).Value = Importe
.Add("ImporteGravado", SqlDbType.Float).Value = ImporteGravado .Add("ImporteGravado", SqlDbType.Float).Value = ImporteGravado
.Add("ImporteExento", SqlDbType.Float).Value = ImporteExento .Add("ImporteExento", SqlDbType.Float).Value = ImporteExento
.Add("ImporteValor", SqlDbType.Float).Value = ImporteValor
.Add("CveUsuario", SqlDbType.Int).Value = CveUsuario .Add("CveUsuario", SqlDbType.Int).Value = CveUsuario
.Add("IsEdited", SqlDbType.Bit).Value = IsEdited .Add("IsEdited", SqlDbType.Bit).Value = IsEdited
End With End With
@@ -1984,7 +1985,7 @@ Public Class ClsNominas
End Try End Try
Return retorno Return retorno
End Function End Function
Public Function GetNominaEmpleado(CveProyecto As Integer, CveSubProyecto As Integer, CveTurno As Integer, CvePeriodo As Integer, CveEmpresa As Integer, Agrupador As Integer) As Boolean Public Function GetNominaEmpleado(CveProyecto As Integer, CveSubProyecto As Integer, CveTurno As Integer, CvePeriodo As Integer, CveEmpresa As Integer, Agrupador As Integer, Optional RegimenContratacion As Integer = 1) As Boolean
Dim retorno As Boolean = False Dim retorno As Boolean = False
Try Try
DTSet = New DataSet() DTSet = New DataSet()
@@ -1996,6 +1997,7 @@ Public Class ClsNominas
.Add("@CvePeriodo", SqlDbType.Int).Value = CvePeriodo .Add("@CvePeriodo", SqlDbType.Int).Value = CvePeriodo
.Add("@Agrupador", SqlDbType.VarChar).Value = Agrupador .Add("@Agrupador", SqlDbType.VarChar).Value = Agrupador
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@RegimenContratacion", SqlDbType.Int).Value = RegimenContratacion
End With End With
@@ -2033,6 +2035,121 @@ Public Class ClsNominas
Return retorno Return retorno
End Function End Function
#Region "CRUD_Nom_PersonalIncapacidad"
Public Function PersonalIncapacidadGet(cvePersonalIncapacidad As Int32, cvePersonal As Int32, CveEmpresa As Int32) As Boolean
Dim retorno As Boolean = False
DataAdapter("PA_Nom_PersonalIncapacidadGet", CommandType.StoredProcedure)
Try
With SqlAdapter.SelectCommand.Parameters
.Add("@CvePersonalIncapacidad", SqlDbType.Int).Value = cvePersonalIncapacidad
.Add("@CvePersonal", SqlDbType.Int).Value = cvePersonal
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
End With
SqlAdapter.Fill(Data)
retorno = True
Catch sqEx As SqlException
retorno = False
OnError("Ocurrió un error al obtener las tablas de nomina.", sqEx, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
Catch ex As Exception
retorno = False
OnError("Ocurrió un error al obtener las tablas de nomina.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return retorno
End Function
Public Function PersonalIncapacidadAdd(CveUsuarioCapturo As Integer, cvePersonal As Int32, folio As String, fechaInicio As DateTime, diasAutorizados As Int32, cveTipodeIncidencia As Int32, cveRamoSeguro As Int32, cveTipoRiesgo As Int32, porcentajedeIncapacidad As Int32, cveSecuelaConsecuencia As Int32, cveControlIncapacidad As Int32, descripcion As String) As Boolean
Dim retorno As Boolean = False
DataAdapter("PA_Nom_PersonalIncapacidadAdd", CommandType.StoredProcedure)
Try
With SqlAdapter.SelectCommand.Parameters
.Add("@CveUsuarioCapturo", SqlDbType.Int).Value = CveUsuarioCapturo
.Add("@CvePersonal", SqlDbType.Int).Value = cvePersonal
.Add("@Folio", SqlDbType.VarChar).Value = folio
.Add("@FechaInicio", SqlDbType.DateTime).Value = fechaInicio
.Add("@DiasAutorizados", SqlDbType.Int).Value = diasAutorizados
.Add("@CveTipodeIncidencia", SqlDbType.Int).Value = cveTipodeIncidencia
.Add("@CveRamoSeguro", SqlDbType.Int).Value = cveRamoSeguro
.Add("@CveTipoRiesgo", SqlDbType.Int).Value = cveTipoRiesgo
.Add("@PorcentajedeIncapacidad", SqlDbType.Int).Value = porcentajedeIncapacidad
.Add("@CveSecuelaConsecuencia", SqlDbType.Int).Value = cveSecuelaConsecuencia
.Add("@CveControlIncapacidad", SqlDbType.Int).Value = cveControlIncapacidad
.Add("@Descripcion", SqlDbType.VarChar).Value = descripcion
End With
SqlAdapter.Fill(Data)
retorno = True
Catch sqEx As SqlException
retorno = False
OnError("Ocurrió un error al agregar las tablas de nomina.", sqEx, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
Catch ex As Exception
retorno = False
OnError("Ocurrió un error al agregar las tablas de nomina.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return retorno
End Function
Public Function PersonalIncapacidadUp(CveUsuarioCapturo As Integer, cvePersonalIncapacidad As Int32, folio As String, fechaInicio As DateTime, diasAutorizados As Int32, cveTipodeIncidencia As Int32, cveRamoSeguro As Int32, cveTipoRiesgo As Int32, porcentajedeIncapacidad As Int32, cveSecuelaConsecuencia As Int32, cveControlIncapacidad As Int32, descripcion As String) As Boolean
Dim retorno As Boolean = False
DataAdapter("PA_Nom_PersonalIncapacidadUp", CommandType.StoredProcedure)
Try
With SqlAdapter.SelectCommand.Parameters
.Add("@CveUsuarioCapturo", SqlDbType.Int).Value = CveUsuarioCapturo
.Add("@CvePersonalIncapacidad", SqlDbType.Int).Value = cvePersonalIncapacidad
.Add("@Folio", SqlDbType.VarChar).Value = folio
.Add("@FechaInicio", SqlDbType.DateTime).Value = fechaInicio
.Add("@DiasAutorizados", SqlDbType.Int).Value = diasAutorizados
.Add("@CveTipodeIncidencia", SqlDbType.Int).Value = cveTipodeIncidencia
.Add("@CveRamoSeguro", SqlDbType.Int).Value = cveRamoSeguro
.Add("@CveTipoRiesgo", SqlDbType.Int).Value = cveTipoRiesgo
.Add("@PorcentajedeIncapacidad", SqlDbType.Int).Value = porcentajedeIncapacidad
.Add("@CveSecuelaConsecuencia", SqlDbType.Int).Value = cveSecuelaConsecuencia
.Add("@CveControlIncapacidad", SqlDbType.Int).Value = cveControlIncapacidad
.Add("@Descripcion", SqlDbType.VarChar).Value = descripcion
End With
SqlAdapter.Fill(Data)
retorno = True
Catch sqEx As SqlException
retorno = False
OnError("Ocurrió un error al actualizar las tablas de nomina.", sqEx, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
Catch ex As Exception
retorno = False
OnError("Ocurrió un error al actualizar las tablas de nomina.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return retorno
End Function
Public Function PersonalIncapacidadRemove(CveUsuarioCapturo As Integer, cvePersonalIncapacidad As Int32) As Boolean
Dim retorno As Boolean = False
DataAdapter("PA_Nom_PersonalIncapacidadRemove", CommandType.StoredProcedure)
Try
With SqlAdapter.SelectCommand.Parameters
.Add("@CveUsuarioCapturo", SqlDbType.Int).Value = CveUsuarioCapturo
.Add("@CvePersonalIncapacidad", SqlDbType.Int).Value = cvePersonalIncapacidad
End With
SqlAdapter.Fill(Data)
retorno = True
Catch sqEx As SqlException
retorno = False
OnError("Ocurrió un error al eliminar las tablas de nomina.", sqEx, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
Catch ex As Exception
retorno = False
OnError("Ocurrió un error al eliminar las tablas de nomina.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return retorno
End Function
Public Function PersonalIncapacidadCatalogos() As Boolean
Dim retorno As Boolean = False
DataAdapter("PA_Nom_PersonalIncapacidadCatalogos", CommandType.StoredProcedure)
Try
SqlAdapter.Fill(Data)
retorno = True
Catch sqEx As SqlException
retorno = False
OnError("Ocurrió un error al obtener las tablas de incapacidad.", sqEx, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
Catch ex As Exception
retorno = False
OnError("Ocurrió un error al obtener las tablas de incapacidad.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return retorno
End Function
#End Region
#Region "CRUD_Acumulados" #Region "CRUD_Acumulados"
Public Function GetAcumuladosTipos() As Boolean Public Function GetAcumuladosTipos() As Boolean
Dim retorno As Boolean = False Dim retorno As Boolean = False

View File

@@ -1490,7 +1490,7 @@ Public Class ClsPaginas
' Application("GlobalDTBancosCuentas") = value ' Application("GlobalDTBancosCuentas") = value
' End Set ' End Set
'End Property 'End Property
Property GlobalDTBancosCuentas(CveUsuario As Integer, Optional CveCuenta As Integer = -1, Optional Estatus As Integer = 1, Optional CveEmpresa As Integer = -1) As DataTable Property GlobalDTBancosCuentas(CveUsuario As Integer, Optional CveCuenta As Integer = -1, Optional Estatus As Integer = 1, Optional CveEmpresa As Integer = -1, Optional CveTipoCuenta As Integer = -1) As DataTable
Get Get
Dim AppNombre As String = String.Format("GlobalDTBancosCuentas-{0}", CveEmpresa) Dim AppNombre As String = String.Format("GlobalDTBancosCuentas-{0}", CveEmpresa)
'sino existe, recarga los datos 'sino existe, recarga los datos
@@ -1506,6 +1506,7 @@ Public Class ClsPaginas
Dim Str As String = String.Format("CveEmpresa = {0} ", UsuarioActual.CveEmpresa) Dim Str As String = String.Format("CveEmpresa = {0} ", UsuarioActual.CveEmpresa)
If CveUsuario > -1 Then Str = String.Format("{0} AND CveUsuario = {1}", Str, CveUsuario) If CveUsuario > -1 Then Str = String.Format("{0} AND CveUsuario = {1}", Str, CveUsuario)
If CveTipoCuenta > -1 Then Str = String.Format("{0} AND CveTipoCuenta = {1}", Str, CveTipoCuenta)
If CveCuenta > -1 Then Str = String.Format("{0} AND CveCuenta = {1}", Str, CveCuenta) If CveCuenta > -1 Then Str = String.Format("{0} AND CveCuenta = {1}", Str, CveCuenta)
If Estatus > -1 Then Str = String.Format("{0} AND Estatus = '{1}'", Str, If(Estatus = 1, "Activo", "Inactivo")) If Estatus > -1 Then Str = String.Format("{0} AND Estatus = '{1}'", Str, If(Estatus = 1, "Activo", "Inactivo"))

View File

@@ -404,7 +404,7 @@ Public Class ClsProductosServicios
Optional CveFraccionArancelaria As Integer = -1, Optional CveClasificacionDetalle As Integer = -1, Optional CveTamaño As Integer = -1, Optional CveFraccionArancelaria As Integer = -1, Optional CveClasificacionDetalle As Integer = -1, Optional CveTamaño As Integer = -1,
Optional CveModelo As Integer = -1, Optional CveMedida As Integer = -1, Optional CveRinTamaño As Integer = -1, Optional ClaveImpuestoEmpaque As String = "", Optional ClaveImpuestoUM As String = "", Optional CveModelo As Integer = -1, Optional CveMedida As Integer = -1, Optional CveRinTamaño As Integer = -1, Optional ClaveImpuestoEmpaque As String = "", Optional ClaveImpuestoUM As String = "",
Optional ClaveCategoriaToxicidad As String = "", Optional ClaveImpuestoTipoProducto As String = "", Optional Litraje As Double = -1, Optional EsOutSourcing As Boolean = False, Optional AplicaSerie As Boolean = False, Optional AplicaLote As Boolean = False, Optional ClaveCategoriaToxicidad As String = "", Optional ClaveImpuestoTipoProducto As String = "", Optional Litraje As Double = -1, Optional EsOutSourcing As Boolean = False, Optional AplicaSerie As Boolean = False, Optional AplicaLote As Boolean = False,
Optional AplicaCaducidad As Boolean = False, Optional AplicaSeccion As Boolean = False) As Integer Optional AplicaCaducidad As Boolean = False, Optional AplicaSeccion As Boolean = False, Optional TiempoCaducidad As Integer = -1) As Integer
Dim Retorno As Integer = -1 Dim Retorno As Integer = -1
DataAdapter("PA_ProductosServiciosAdd") DataAdapter("PA_ProductosServiciosAdd")
@@ -483,6 +483,7 @@ Public Class ClsProductosServicios
.Add("@AplicaLote", SqlDbType.Bit).Value = AplicaLote .Add("@AplicaLote", SqlDbType.Bit).Value = AplicaLote
.Add("@AplicaCaducidad", SqlDbType.Bit).Value = AplicaCaducidad .Add("@AplicaCaducidad", SqlDbType.Bit).Value = AplicaCaducidad
.Add("@AplicaSeccion", SqlDbType.Bit).Value = AplicaSeccion .Add("@AplicaSeccion", SqlDbType.Bit).Value = AplicaSeccion
.Add("@TiempoCaducidad", SqlDbType.SmallInt).Value = TiempoCaducidad
End With End With
Try Try
@@ -629,7 +630,7 @@ Public Class ClsProductosServicios
Optional CveFraccionArancelaria As Integer = -1, Optional CveUsuarioModifico As Integer = -1, Optional CveFraccionArancelaria As Integer = -1, Optional CveUsuarioModifico As Integer = -1,
Optional CveClasificacionDetalle As Integer = -1, Optional CveTamaño As Integer = -1, Optional CveModelo As Integer = -1, Optional CveMedida As Integer = -1, Optional CveRinTamaño As Integer = -1, Optional ClaveImpuestoEmpaque As String = "", Optional ClaveImpuestoUM As String = "", Optional CveClasificacionDetalle As Integer = -1, Optional CveTamaño As Integer = -1, Optional CveModelo As Integer = -1, Optional CveMedida As Integer = -1, Optional CveRinTamaño As Integer = -1, Optional ClaveImpuestoEmpaque As String = "", Optional ClaveImpuestoUM As String = "",
Optional ClaveCategoriaToxicidad As String = "", Optional ClaveImpuestoTipoProducto As String = "", Optional Litraje As Double = -1, Optional EsOutSourcing As Boolean = False, Optional ClaveCategoriaToxicidad As String = "", Optional ClaveImpuestoTipoProducto As String = "", Optional Litraje As Double = -1, Optional EsOutSourcing As Boolean = False,
Optional AplicaSerie As Boolean = False, Optional AplicaLote As Boolean = False, Optional AplicaCaducidad As Boolean = False, Optional AplicaSeccion As Boolean = False) As Boolean Optional AplicaSerie As Boolean = False, Optional AplicaLote As Boolean = False, Optional AplicaCaducidad As Boolean = False, Optional AplicaSeccion As Boolean = False, Optional TiempoCaducidad As Integer = -1) As Boolean
Dim Retorno As Boolean = False Dim Retorno As Boolean = False
@@ -710,6 +711,7 @@ Public Class ClsProductosServicios
.Add("@AplicaLote", SqlDbType.Bit).Value = AplicaLote .Add("@AplicaLote", SqlDbType.Bit).Value = AplicaLote
.Add("@AplicaCaducidad", SqlDbType.Bit).Value = AplicaCaducidad .Add("@AplicaCaducidad", SqlDbType.Bit).Value = AplicaCaducidad
.Add("@AplicaSeccion", SqlDbType.Bit).Value = AplicaSeccion .Add("@AplicaSeccion", SqlDbType.Bit).Value = AplicaSeccion
.Add("@TiempoCaducidad", SqlDbType.SmallInt).Value = TiempoCaducidad
End With End With
Try Try

View File

@@ -107,40 +107,40 @@ Public Class ClsVentas
Data = New DataTable Data = New DataTable
End Sub End Sub
#Region "Conexiones" #Region "Conexiones"
Private Sub ConexionAdd() Private Sub ConexionAdd()
If Not EsTransaccionCompartida AndAlso ConfigurationManager.AppSettings("RegistraConexion") IsNot Nothing AndAlso ConfigurationManager.AppSettings("RegistraConexion").ToString() = "1" Then If Not EsTransaccionCompartida AndAlso ConfigurationManager.AppSettings("RegistraConexion") IsNot Nothing AndAlso ConfigurationManager.AppSettings("RegistraConexion").ToString() = "1" Then
Try Try
DataAdapter("PA_Sis_RegistrarConexion") DataAdapter("PA_Sis_RegistrarConexion")
With SqlAdapter.SelectCommand.Parameters With SqlAdapter.SelectCommand.Parameters
.Add("@Clase", SqlDbType.VarChar).Value = Me.GetType().Name .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("@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 .Add("@IDConexion", SqlDbType.Int).Direction = ParameterDirection.Output
End With End With
SqlAdapter.Fill(Data) SqlAdapter.Fill(Data)
CveConexion = SqlAdapter.SelectCommand.Parameters("@IDConexion").Value.ToString.ToEntero CveConexion = SqlAdapter.SelectCommand.Parameters("@IDConexion").Value.ToString.ToEntero
Catch ex As Exception Catch ex As Exception
OnError("Ocurrió un error registrar la conexión.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) OnError("Ocurrió un error registrar la conexión.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try End Try
End If End If
End Sub End Sub
Private Sub ConexionClose() Private Sub ConexionClose()
If CveConexion > 0 AndAlso ConfigurationManager.AppSettings("RegistraConexion") IsNot Nothing AndAlso ConfigurationManager.AppSettings("RegistraConexion").ToString() = "1" Then 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) DataAdapter(String.Format("UPDATE Sis_Conexiones SET FechaCierre = GETDATE() WHERE CveConexion = {0}", CveConexion), CommandType.Text)
Try Try
SqlAdapter.Fill(Data) SqlAdapter.Fill(Data)
Catch ex As Exception Catch ex As Exception
OnError("Ocurrió un error registrar la conexión.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) OnError("Ocurrió un error registrar la conexión.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try End Try
CveConexion = 0 CveConexion = 0
End If End If
End Sub End Sub
#End Region #End Region
@@ -4591,6 +4591,75 @@ Public Class ClsVentas
End Try End Try
Return retorno Return retorno
End Function End Function
Public Function GetClientesPersonalEntrega(CvePersonalEntrega As Integer, CveCliente As Integer, CveEmpresa As Integer, Estatus As Integer) As Boolean
Dim retorno As Boolean = False
DataAdapter("PA_Vta_ClientesPersonalEntregaGet", CommandType.StoredProcedure)
With SqlAdapter.SelectCommand.Parameters
.Add("@CvePersonalEntrega", SqlDbType.Int).Value = CvePersonalEntrega
.Add("@CveCliente", SqlDbType.Int).Value = CveCliente
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@Estatus", SqlDbType.Int).Value = Estatus
End With
Try
SqlAdapter.Fill(Data)
retorno = True
Catch ex As Exception
OnError("Ocurrió un error al obtener los clientes personal entrega", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
Return retorno
End Function
Public Function AddClientesPersonalEntrega(PersonalEntrega As String, CveCliente As Integer, CveUsuario As Integer, Estatus As Boolean) As Boolean
Dim retorno As Boolean = False
DataAdapter("PA_Vta_ClientesPersonalEntregaAdd", CommandType.StoredProcedure)
With SqlAdapter.SelectCommand.Parameters
.Add("@PersonalEntrega", SqlDbType.NVarChar).Value = PersonalEntrega
.Add("@CveCliente", SqlDbType.Int).Value = CveCliente
.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
.Add("@Estatus", SqlDbType.Bit).Value = Estatus
End With
Try
SqlAdapter.Fill(Data)
retorno = True
Catch ex As Exception
OnError("Ocurrió un error al agregar el personal entrega", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
Return retorno
End Function
Public Function UpdateClientesPersonalEntrega(CvePersonalEntrega As Integer, PersonalEntrega As String, CveUsuario As Integer, Estatus As Boolean) As Boolean
Dim retorno As Boolean = False
DataAdapter("PA_Vta_ClientesPersonalEntregaUpdate", CommandType.StoredProcedure)
With SqlAdapter.SelectCommand.Parameters
.Add("@CvePersonalEntrega", SqlDbType.Int).Value = CvePersonalEntrega
.Add("@PersonalEntrega", SqlDbType.NVarChar).Value = PersonalEntrega
.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
.Add("@Estatus", SqlDbType.Bit).Value = Estatus
End With
Try
SqlAdapter.Fill(Data)
retorno = True
Catch ex As Exception
OnError("Ocurrió un error al actualizar el personal entrega", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
Return retorno
End Function
Public Function RemoveClientesPersonalEntrega(CvePersonalEntrega As Integer) As Boolean
Dim retorno As Boolean = False
DataAdapter("PA_Vta_ClientesPersonalEntregaDelete", CommandType.StoredProcedure)
With SqlAdapter.SelectCommand.Parameters
.Add("@CvePersonalEntrega", SqlDbType.Int).Value = CvePersonalEntrega
End With
Try
SqlAdapter.Fill(Data)
retorno = True
Catch ex As Exception
OnError("Ocurrió un error al eliminar el personal entrega", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
Return retorno
End Function
#Region "Conciliación emitidas SAT" #Region "Conciliación emitidas SAT"
Public Function ConciliacionemitidasSATGet(cveEmpresa As Int32) As Boolean Public Function ConciliacionemitidasSATGet(cveEmpresa As Int32) As Boolean

View File

@@ -855,7 +855,7 @@ Namespace Modelos
End If End If
If CveCicloComercial > 0 AndAlso ErrorList.Count = 0 Then If CveCicloComercial > 0 AndAlso ErrorList.Count = 0 Then
If Not ObjContr.CicloComercialUpdate(Me.CveCicloComercial, True, UsuarioActual.CveEmpresa) Then If Not ObjContr.CicloComercialUpdate(Me.CveCicloComercial, True, UsuarioActual.CveEmpresa, CveVenta:=CveVenta) Then
ErrorList.Add("No se pudo actualizar ") ErrorList.Add("No se pudo actualizar ")
End If End If
End If End If

View File

@@ -0,0 +1,709 @@
<%@ WebHandler Language="VB" Class="SIGFacturacionCiclica" %>
'Option Explicit On
'Option Strict On
Imports System
Imports System.Web
Imports System.Data
Imports Newtonsoft.Json.Linq
Imports Extensiones
Imports System.IO
Imports Microsoft.AspNet.SignalR
Public Class SIGFacturacionCiclica : Implements IHttpHandler, IRequiresSessionState
Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest
context.Response.ContentType = "text/plain"
Dim retorno = False
Try
If context.Request("Metodo") IsNot Nothing Then
Select Case context.Request("Metodo")
Case "EjecutaServicio"
ModExtensiones.GuardaLogAD("Servicio Ejecutado...........", "LogFacturacionCiclica")
retorno = IniciaFacturacionMasiva()
End Select
End If
Catch ex As Exception
ex.GuardaLog(ex.Message)
End Try
If retorno Then
context.Response.Write("True")
Else
context.Response.Write("False")
End If
End Sub
Public ReadOnly Property IsReusable() As Boolean Implements IHttpHandler.IsReusable
Get
Return False
End Get
End Property
Private Function Parametros(Cadena As String) As Hashtable
Dim P1() As String = Cadena.Split("&"c)
Dim Tmp As String
Dim P2() As String
Dim URLParametros As New Hashtable
For Each Tmp In P1
P2 = Tmp.Replace("%26%", "&").Split("="c)
URLParametros.Add(P2(0).ToString.ToUpper, P2(1))
Next
Return URLParametros
End Function
#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, IMEI, CveEmpresa)
UsuarioActual.CveEmpresa = CveEmpresa
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
#End Region
Private Function IniciaFacturacionMasiva() As Boolean
Dim Retorno As Boolean = True
Dim FechaRef As DateTime = DateTime.Now
Dim DTCicloComercial As DataTable = Nothing
Using ObjContratos As New ClsContratos
If ObjContratos.CicloComercialGet(-1, -1, -1, -1, FechaRef, FechaRef, -1) Then
DTCicloComercial = ObjContratos.DtResultados.FiltraParametros("FueFacturado = 0 AND FacturacionCiclicaAutomatico = 1")
End If
End Using
If DTCicloComercial IsNot Nothing Then
For Each RowEmpresa As DataRow In DTCicloComercial.FiltraParametros("", DistinctColumns:={"CveEmpresa"}).Rows
Dim CveEmpresa As Integer = RowEmpresa("CveEmpresa").ToString().ToEntero()
Dim UsuarioActual = ValidaUsuarioSistema(CveEmpresa)
If UsuarioActual IsNot Nothing Then
Retorno = EjecutarFacturacionMasiva(UsuarioActual, DTCicloComercial.FiltraParametros($"CveEmpresa = {CveEmpresa}"))
End If
Next
End If
Return Retorno
End Function
Private Function EjecutarFacturacionMasiva(UsuarioActual As Usuario, DTCicloComercial As DataTable) As Boolean
Dim Retorno As Boolean = False
If DTCicloComercial IsNot Nothing Then
For Each Row As DataRow In DTCicloComercial.Rows
If Row("Observaciones").ToString().Contains("{DIA}") Then
Row("Observaciones") = Row("Observaciones").ToString().Replace("{DIA}", DateTime.Now.Day.ToString())
End If
If Row("Observaciones").ToString().Contains("{MES}") Then
Dim fecha As DateTime = DateTime.Now
Dim formatoFecha = Globalization.CultureInfo.CurrentCulture.DateTimeFormat
Dim nombreMes = formatoFecha.GetMonthName(fecha.Month).ToUpper()
Row("Observaciones") = Row("Observaciones").ToString().Replace("{MES}", nombreMes)
End If
If Row("Observaciones").ToString().Contains("{AÑO}") Then
Row("Observaciones") = Row("Observaciones").ToString().Replace("{AÑO}", DateTime.Now.Year.ToString())
End If
If Row("Observaciones").ToString().Contains("{TC}") Then
Row("Observaciones") = Row("Observaciones").ToString().Replace("{TC}", GlobalTipoCambio(Now).FormatoNumero)
End If
Dim Resp = EmitirImprimir(UsuarioActual, Row)
If Resp.CveVenta > 0 Then
Retorno = True
End If
Next
End If
Return Retorno
End Function
Private Function EmitirImprimir(UsuarioActual As Usuario, RowCiclo As DataRow) As Modelos.Factura.MMensajeFactura
Dim Resp As New Modelos.Factura.MMensajeFactura
Dim ObjFactura = CreaObjetosVenta(UsuarioActual, RowCiclo)
If ObjFactura Is Nothing Then
Resp.Mensajes.Add("Ocurrió un error al procesar los datos de la Venta ")
ObjFactura = Nothing
Return Resp
End If
If ObjFactura.CveCliente > 0 Then
If ObjFactura.DtDetalle.Rows.Count > 0 Then
Resp = ObjFactura.EmitirFactura()
Else
Resp.Mensajes.Add("No se pudo completar facturación por que no se encontraron partidas ")
End If
Else
Resp.Mensajes.Add("No se pudo completar facturación por que no se encontraro el cliente ")
End If
Return Resp
End Function
#Region "P R E P A R A - V E N T A"
Private Function CreaDTVentas() As DataTable
Dim TmpDT = New DataTable
TmpDT.Columns.Add("CveVenta", GetType(Integer))
TmpDT.Columns.Add("Consec", GetType(Integer))
TmpDT.Columns.Add("Cantidad", GetType(Decimal))
TmpDT.Columns.Add("Codigo", GetType(String))
TmpDT.Columns.Add("CveUM", GetType(Integer))
TmpDT.Columns.Add("UM", GetType(String))
TmpDT.Columns.Add("SATClaveUM", GetType(String))
TmpDT.Columns.Add("CveClasificacion", GetType(Integer))
TmpDT.Columns.Add("Clasificacion", GetType(String))
TmpDT.Columns.Add("CvePS", GetType(Integer))
TmpDT.Columns.Add("PS", GetType(String))
TmpDT.Columns.Add("CodigoPS", GetType(String))
TmpDT.Columns.Add("SATClaveProdServ", GetType(String))
TmpDT.Columns.Add("NoIdentificacion", GetType(String))
TmpDT.Columns.Add("CveTipoPS", GetType(Integer))
TmpDT.Columns.Add("CveTipoInvPS", GetType(Integer))
TmpDT.Columns.Add("Serie", GetType(String))
TmpDT.Columns.Add("CuentaPredial", GetType(String))
TmpDT.Columns.Add("Obs", GetType(String))
TmpDT.Columns.Add("TiempoEntrega", GetType(String))
TmpDT.Columns.Add("PU", GetType(Decimal))
TmpDT.Columns.Add("IVA", GetType(Decimal))
TmpDT.Columns.Add("ImporteIVA", GetType(Decimal))
TmpDT.Columns.Add("PorcentajeIVA", GetType(Decimal))
TmpDT.Columns.Add("ImporteRetIVA", GetType(Decimal))
TmpDT.Columns.Add("ImporteRetISR", GetType(Decimal))
TmpDT.Columns.Add("PorcentajeRetIVA", GetType(Decimal))
TmpDT.Columns.Add("PorcentajeRetISR", GetType(Decimal))
TmpDT.Columns.Add("ImporteIEPS", GetType(Decimal))
TmpDT.Columns.Add("IEPS", GetType(Decimal))
TmpDT.Columns.Add("PorcentajeIEPS", GetType(Decimal))
TmpDT.Columns.Add("Descuento", GetType(Decimal))
TmpDT.Columns.Add("TipoDescuento", GetType(Integer))
TmpDT.Columns.Add("TotalImporte", GetType(Decimal))
TmpDT.Columns.Add("Total", GetType(Decimal))
'Para uso del módulo contable
TmpDT.Columns.Add("AsientoContableVentas", GetType(Integer))
TmpDT.Columns.Add("IdCtaContVentas", GetType(Integer))
TmpDT.Columns.Add("AplicaParaConcepto", GetType(Boolean))
TmpDT.Columns.Add("CveProyecto", GetType(Integer))
TmpDT.Columns.Add("Proyecto", GetType(String))
TmpDT.Columns.Add("CveSubProyecto", GetType(Integer))
TmpDT.Columns.Add("SubProyecto", GetType(String))
TmpDT.Columns.Add("CveVentaDetallePadre", GetType(Integer))
'TipoDescuento: 1 = Descuento * PU; 2 = Descuento por Total del concepto
TmpDT.Columns.Add("CvePresupuestoIngreso", GetType(Integer))
TmpDT.Columns.Add("CveFuenteRecaudacion", GetType(Integer))
'Contratos
TmpDT.Columns.Add("CveContratoDetalle", GetType(Integer))
'Remisiones a Facturas
TmpDT.Columns.Add("CveVentaDetalle", GetType(Integer))
TmpDT.Columns.Add("CveVentaDetalleRemision", GetType(Integer))
TmpDT.Columns.Add("CveVentaDetalleCotizacion", GetType(Integer))
'Pedido2 a Facturas
TmpDT.Columns.Add("CveVentaDetallePedido2", GetType(Integer))
TmpDT.Columns.Add("Origen", GetType(Integer))
'Ordenes Servicio
TmpDT.Columns.Add("CveOS", GetType(Integer))
TmpDT.Columns.Add("CveOSDetalle", GetType(Integer))
TmpDT.Columns.Add("SeFacturara", GetType(Integer))
TmpDT.Columns.Add("Folio", GetType(Integer))
TmpDT.Columns.Add("Estatus", GetType(String))
'Ordenamiento
TmpDT.Columns.Add("Orden", GetType(Integer))
TmpDT.Columns.Add("TipoDocto", GetType(String))
'OC
TmpDT.Columns.Add("CveOrdenCompraDetalle", GetType(Integer))
TmpDT.Columns.Add("EntregaDirecta", GetType(Integer))
TmpDT.Columns.Add("CveMovimientoDetallePedido", GetType(Integer))
TmpDT.Columns.Add("CantidadFacturadaRem", GetType(Decimal))
TmpDT.Columns.Add("CantidadFacturadaCot", GetType(Decimal))
TmpDT.Columns.Add("CantidadFacturadaPed2", GetType(Decimal))
TmpDT.Columns.Add("CantidadInventario", GetType(Decimal))
TmpDT.Columns.Add("ClaveSATFraccionArancelaria", GetType(String))
TmpDT.Columns.Add("ClaveSATUnidadAduana", GetType(String))
TmpDT.Columns.Add("ClaveSATFraccionArancelariaDescripcion", GetType(String))
TmpDT.Columns.Add("ClaveSATUnidadAduanaDescripcion", GetType(String))
TmpDT.Columns.Add("CveTamaño", GetType(Integer))
TmpDT.Columns.Add("EsCargo", GetType(Boolean))
Return TmpDT
End Function
Private Function CreaObjetosVenta(UsuarioActual As Usuario, DR As DataRow) As Modelos.Factura
Dim ObjFactura = New Modelos.Factura(UsuarioActual)
Try
ObjFactura.DirectorioServidor = HttpContext.Current.Server.MapPath("/")
Dim CveProyecto As String = ""
Dim CveSubProyecto As String = ""
Dim Proyecto As String = ""
Dim SubProyecto As String = ""
Dim CveCicloComercial = DR("CveCicloComercial").ToString().ToEntero()
ObjFactura.CveCicloComercial = CveCicloComercial
Dim TmpDT As DataTable = CreaDTVentas()
ObjFactura.Version = "3.3"
ObjFactura.CveUsuario = UsuarioActual.CveUsuario
ObjFactura.CveEmpresa = UsuarioActual.CveEmpresa
ObjFactura.ConvertirPesos = False
ObjFactura.CveMoneda = DR("CveMoneda").ToString.ToEntero
ObjFactura.Moneda = GlobalDTMonedas.FiltroPrimeroValor("Moneda", $"CveMoneda = {ObjFactura.CveMoneda} ")
ObjFactura.MonedaSAT = GlobalDTMonedas.FiltroPrimeroValor("AbreviaturaSAT", $"CveMoneda = {DR("CveMoneda").ToString.ToEntero}")
ObjFactura.TipoCambio = If(ObjFactura.CveMoneda = 1, 1, GlobalTipoCambio(Now))
ObjFactura.TipoDocto = "Ing"
ObjFactura.RefDocto = ""
ObjFactura.Folio = -1
ObjFactura.Serie = "-1"
ObjFactura.CveMesa = -1
ObjFactura.Fecha = DR("FechaVenc").ToString.ToDate
ObjFactura.CvePrePoliza = -1
ObjFactura.CveMetodoPago = 1
ObjFactura.MetodoPago = "Efectivo"
ObjFactura.FechaPago = DateTime.Today
ObjFactura.MotivoDescuento = ""
ObjFactura.Observaciones = DR("Observaciones").ToString
ObjFactura.FechaEjecucion = DateTime.Today
'ObjFactura.ClaveMetodoPagoSAT = GlobalDTMetodosPago.FiltroPrimeroValor("ClaveSAT", $"CveMetodoPago = {1}")
ObjFactura.UsuarioCreo = UsuarioActual.Usuario
ObjFactura.CveCondicionEntrega = -1
ObjFactura.CondicionEntrega = ""
ObjFactura.NumeroCuenta = ""
'ObjFactura.CveSucursal = GlobalDTSucursales.FiltroPrimeroValor("CveSucursal", $"CveEmpresa = {UsuarioActual.CveEmpresa}").ToEntero
'ObjFactura.Cliente.NumCtaPago = TxtNumCtaPago.Text.Trim
ObjFactura.CondicionesPago = 0
ObjFactura.FormaPago = 0
'ObjFactura.SerieFolio = String.Format("{0}-{1}", LblSerie.Text, TxtFolio.Text)
ObjFactura.PedidoContrato = ""
ObjFactura.NumeroContrato = DR("NumeroContrato").ToString
ObjFactura.DescripcionContrato = DR("DescripcionContrato").ToString
ObjFactura.CveCorte = -1
ObjFactura.TipoDocumento = "Factura"
ObjFactura.Alfa1 = ""
ObjFactura.Alfa2 = ""
ObjFactura.Alfa3 = ""
'Totales, Y se llena TmpDTImpuestos
ObjFactura.Descuento = 0
ObjFactura.Amortizacion = 0
ObjFactura.CveContrato = DR("CveContrato").ToString.ToEntero
CveProyecto = DR("CveProyecto").ToString
Proyecto = DR("ProyectoContrato").ToString
CveSubProyecto = DR("CveSubProyecto").ToString
ObjFactura.CveSubProyecto = CveSubProyecto.ToEntero
ObjFactura.CveSubProyectoCobranza = CveSubProyecto.ToEntero
ObjFactura.CveSubProyectoEjecucion = CveSubProyecto.ToEntero
ObjFactura.SubProyecto = New Modelos.SubProyectoModel(GlobalDTSubProyectos(-1).FiltroPrimero(String.Format("CveSubProyecto = {0}", ObjFactura.CveSubProyecto)))
ObjFactura.SubProyectoMatriz = New Modelos.SubProyectoModel(GlobalDTSubProyectos(-1, CveSubProyecto:=-1, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimero("TipoSucursal=1"))
SubProyecto = DR("SubProyectoContrato").ToString
Dim DtDetalle As DataTable = Nothing
Dim objContratos As New ClsContratos
If objContratos.GetContratosDetalle(DR("CveContrato").ToString.ToEntero) Then
DtDetalle = objContratos.DtResultados
Else
DtDetalle = Nothing
End If
objContratos.Dispose()
Dim DtR As DataRow
ObjFactura.SubTotal = SUM(DtDetalle, "Total").ToDecimal
ObjFactura.IVA = SUM(DtDetalle, "ImporteIVA").ToDecimal
ObjFactura.RetIVA = SUM(DtDetalle, "ImporteRetIVA").ToDecimal
ObjFactura.RetISR = SUM(DtDetalle, "ImporteRetISR").ToDecimal
ObjFactura.IEPS = SUM(DtDetalle, "ImporteIEPS").ToDecimal
ObjFactura.Total = ObjFactura.SubTotal + ObjFactura.IVA + ObjFactura.IEPS - (ObjFactura.RetIVA + ObjFactura.RetISR)
For Each row As DataRow In DtDetalle.Rows
Dim drPS As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=row("CvePS").ToString().ToEntero()).FiltroPrimero("")
DtR = TmpDT.NewRow
DtR("CveVenta") = -1
DtR("Codigo") = row("Codigo")
DtR("Consec") = TmpDT.Rows.Count + 1
DtR("Cantidad") = row("CantidadContratada")
DtR("CveUM") = row("CveUM")
DtR("UM") = row("UM")
DtR("SATClaveUM") = row("SATClaveUM")
DtR("CveClasificacion") = row("CveClasificacion")
DtR("Clasificacion") = row("Clasificacion")
DtR("CvePS") = row("CvePS")
DtR("PS") = row("PS")
DtR("CodigoPS") = row("CodigoPS")
DtR("SATClaveProdServ") = row("SATClaveProdServ")
DtR("NoIdentificacion") = row("NoIdentificacion")
DtR("CveTipoPS") = drPS("CveTipoPS")
DtR("CveTipoInvPS") = drPS("Inv_CveMetodoInventario")
DtR("Obs") = row("Observacion").ToString
DtR("PU") = row("PU")
DtR("IVA") = row("PorcentajeIVA")
DtR("PorcentajeIVA") = row("PorcentajeIVA")
DtR("ImporteIVA") = row("ImporteIVA")
DtR("PorcentajeIEPS") = row("PorcentajeIEPS")
DtR("ImporteIEPS") = row("ImporteIEPS")
DtR("PorcentajeRetIVA") = row("PorcentajeRetIVA")
DtR("ImporteRetIVA") = row("ImporteRetIVA")
DtR("PorcentajeRetISR") = row("PorcentajeRetISR")
DtR("ImporteRetISR") = row("ImporteRetISR")
DtR("Descuento") = 0
DtR("TipoDescuento") = 0
DtR("CveProyecto") = CveProyecto
DtR("Proyecto") = Proyecto
DtR("CveSubProyecto") = CveSubProyecto
DtR("SubProyecto") = SubProyecto
DtR("CveVentaDetalle") = 0
DtR("CveContratoDetalle") = row("CveContratoDetalle")
DtR("CuentaPredial") = row("CuentaPredial")
DtR("TotalImporte") = row("Total")
TmpDT.Rows.Add(DtR)
Next
'DETALLES
ObjFactura.DtDetalle = TmpDT
'CLIENTE
ObjFactura.CveCliente = DR("CveCliente").ToString.ToEntero
ObjFactura.SetCliente()
Dim ObjCliente As New ClsClientes
If ObjCliente.GetClientes(ObjFactura.CveCliente, "-1", "-1", "-1", "-1", "-1", "-1", -1, UsuarioActual.CveEmpresa, -1, TipoCliente:=-1) Then
If ObjCliente.DtResultados.Rows.Count > 0 Then
ObjFactura.CveFormaPago33 = ObjCliente.CveFormaPago33
ObjFactura.FormaPago33 = GlobalDTVtaFormaPago.FiltroPrimeroValor("FormaPago", String.Format("CveFormaPago = {0}", ObjCliente.CveFormaPago33))
ObjFactura.FormaPagoSAT33 = GlobalDTVtaFormaPago.FiltroPrimeroValor("ClaveFormaPagoSAT", String.Format("CveFormaPago = {0}", ObjCliente.CveFormaPago33))
ObjFactura.CveMetodoPago33 = ObjCliente.CveMetodoPago33
ObjFactura.MetodoPago33 = GlobalDTVtaMetodoPago.FiltroPrimeroValor("MetodoPago", String.Format("CveMetodoPago = {0}", ObjCliente.CveMetodoPago33))
ObjFactura.ClaveMetodoPagoSAT = GlobalDTVtaMetodoPago.FiltroPrimeroValor("ClaveMetodoPagoSAT", String.Format("CveMetodoPago = {0}", ObjCliente.CveMetodoPago33))
ObjFactura.CveUsoCFDI = ObjCliente.CveUsoCFDI
ObjFactura.UsoCFDI = GlobalDTSATUsosCFDI.FiltroPrimeroValor("Descripcion", String.Format("CveUsoCFDI = {0}", ObjCliente.CveUsoCFDI))
ObjFactura.ClaveUsoCFDI = GlobalDTSATUsosCFDI.FiltroPrimeroValor("UsoCFDI", String.Format("CveUsoCFDI = {0}", ObjCliente.CveUsoCFDI))
ObjFactura.CveMetodoPago = ObjCliente.CveMetodoPago
If GlobalDTMetodosPago.FiltraParametros(String.Format("CveMetodoPago = {0}", ObjCliente.CveMetodoPago)).Rows.Count > 0 Then
ObjFactura.MetodoPago = GlobalDTMetodosPago.FiltraParametros(String.Format("CveMetodoPago = {0}", ObjCliente.CveMetodoPago)).Rows(0)("MetodoPago").ToString
Else
ObjFactura.CveMetodoPago = 1
ObjFactura.MetodoPago = "Efectivo"
End If
End If
End If
If ObjCliente.GetSucursales(ObjFactura.CveCliente) Then
If ObjCliente.DtResultados.Rows.Count > 0 Then
ObjFactura.CveClienteSucursal = If(String.IsNullOrEmpty(ObjCliente.DtResultados.FiltroPrimeroValor("CveClienteSucursal", "Estatus = 'Activo'")), -1, ObjCliente.DtResultados.FiltroPrimeroValor("CveClienteSucursal", "Estatus = 'Activo'").ToEntero())
Else
ObjFactura.CveClienteSucursal = -1
End If
End If
ObjCliente.Dispose()
'SUBPROYECTO
'ObjFactura.SetSubProyectoMatriz(Me)
'ObjFactura.SetSubProyecto(Me)
ObjFactura.Timbre = PreParaTimbre(ObjFactura, UsuarioActual)
Catch ex As Exception
ObjFactura = Nothing
OnError("Ocurrió un error al generar la factura", ex)
End Try
Return ObjFactura
End Function
Private Function PreParaTimbre(Obj As Modelos.Factura, UsuarioActual As Usuario) As CFDITimbre
Dim Timbre As New CFDITimbre
Timbre.Comprobante.TipoComprobante = If(Obj.TipoDocto.Contiene("Ing", "Ant"), "I", If(Obj.TipoDocto.Contiene("Egs", "Dev"), "E", ""))
Timbre.Comprobante.Folio = Obj.Folio.ToString
Timbre.Comprobante.Serie = Obj.Serie
Timbre.Comprobante.Fecha = Obj.FechaCP
Timbre.Comprobante.FormadePago = Obj.FormaPagoSAT33
Timbre.Comprobante.CondicionesdePago = Obj.FormaPago33
Timbre.Comprobante.MetodoPago = Obj.ClaveMetodoPagoSAT
Timbre.Comprobante.Subtotal = Obj.SubTotal
Timbre.Comprobante.Descuentos = Obj.Descuento
Timbre.Comprobante.Moneda = Obj.MonedaSAT
Timbre.Comprobante.TipoCambio = If(Obj.CveMoneda = 1, "1", Obj.TipoCambio.ToString)
Timbre.Comprobante.Total = Obj.Total
Timbre.Comprobante.LugarExpedicion = Obj.SubProyecto.CP
Timbre.Comprobante.Confirmacion = ""
Timbre.Receptor.RFC = Obj.Cliente.RFC
Timbre.Receptor.Nombre = Obj.Cliente.Nombre
Timbre.Receptor.ResidenciaFiscal = ""
Timbre.Receptor.NumeroRegistroTributario = ""
Timbre.Receptor.UsoCFDI = Obj.ClaveUsoCFDI
If Obj.CveTipoRelacion > 0 Then
Select Case Obj.CveTipoRelacion
Case 1
Timbre.CFDIRelacionados.TipoRelacion = "01"
Timbre.CFDIRelacionados.TipoRelacionTexto = "01-Nota de Crédito aplicada a Ingreso"
Case 2
Timbre.CFDIRelacionados.TipoRelacion = "02"
Timbre.CFDIRelacionados.TipoRelacionTexto = "02-Nota de débito de los documentos relacionados"
Case 3
Timbre.CFDIRelacionados.TipoRelacion = "03"
Timbre.CFDIRelacionados.TipoRelacionTexto = "03-Devolución aplicada a Ingreso"
Case 4
Timbre.CFDIRelacionados.TipoRelacion = "04"
Timbre.CFDIRelacionados.TipoRelacionTexto = "04-Refacturación de Ingreso"
Case 7
Timbre.CFDIRelacionados.TipoRelacion = "07"
Timbre.CFDIRelacionados.TipoRelacionTexto = "07-CFDI por aplicación de anticipo"
Case 8
Timbre.CFDIRelacionados.TipoRelacion = "08"
Timbre.CFDIRelacionados.TipoRelacionTexto = "08-Factura generada por pagos en parcialidades "
Case 9
Timbre.CFDIRelacionados.TipoRelacion = "09"
Timbre.CFDIRelacionados.TipoRelacionTexto = "09-Factura generada por pagos diferidos"
End Select
'If DtVentasNC IsNot Nothing AndAlso DtVentasNC.Rows.Count > 0 Then
' For Each Dr As DataRow In DtVentasNC.Rows
' Timbre.CFDIRelacionados.UUID.Add(Dr("FolioFiscal").ToString)
' Next
'Else
' Timbre.CFDIRelacionados.UUID.Add(HdnFolioFiscalNC.Value)
'End If
End If
Dim totSubTotal As Decimal = Obj.SubTotal
Dim totIVA As Decimal = Obj.IVA
Dim totRetIVA As Decimal = Obj.RetIVA
Dim totRetISR As Decimal = Obj.RetISR
Dim i As Integer = 1
'detalles
Dim tPS As String = ""
For Each drr As DataRow In Obj.DtDetalle.Rows
If drr("PS").ToString.Length = 1 Then
tPS = drr("Obs").ToString
Else
If drr("PS").ToString.Length = 0 Then
tPS = ""
Else
tPS = String.Format("{0} {1}", drr("PS"), drr("Obs"))
End If
End If
'condicionante, especial
If UsuarioActual.CveEmpresa = 15 Then drr("UM") = "" ' les comentan que no debe de ir la etiqueta de "unidad" en el producto
Dim concepto As New CFDIConceptos With {.Cantidad = drr("Cantidad").ToString.ToDecimal,
.Descripcion = tPS,
.ValorUnitario = drr("PU").ToString.ToDecimal,
.Importe = drr("TotalImporte").ToString.ToDecimal,
.Descuento = drr("Descuento").ToString.ToDecimal,
.Unidad = drr("UM").ToString,
.ClaveUnidad = drr("SATClaveUM").ToString,
.ClaveProdServ = drr("SATClaveProdServ").ToString,
.Noidentificacion = drr("Noidentificacion").ToString,
.CuentaPredial = drr("CuentaPredial").ToString}
'verifica suma subtotales
If i = Obj.DtDetalle.Rows.Count AndAlso totSubTotal <> concepto.Importe Then 'proceso de ajusta de decimales
concepto.Importe = totSubTotal
End If
totSubTotal = totSubTotal - concepto.Importe
'siempre estaremos agregando el iva, auqnue sea en importe cero o tasa cero, para que se emita la factura
' If drr("ImporteIVA").ToString.ToDouble > 0 Then
concepto.Impuestos.Add(New CFDIConceptosImpuestos With {.TrasladooRetencion = "T", .Base = concepto.Importe - concepto.Descuento, .TasaOCuota = drr("PorcentajeIVA").ToString.ToDecimal, .Impuesto = "002", .Importe = drr("ImporteIVA").ToString.ToDecimal})
' End If
If drr("ImporteIEPS").ToString.ToDouble > 0 Then
concepto.Impuestos.Add(New CFDIConceptosImpuestos With {.TrasladooRetencion = "T", .Base = concepto.Importe - concepto.Descuento, .TasaOCuota = drr("PorcentajeIEPS").ToString.ToDecimal, .Impuesto = "003", .Importe = drr("ImporteIEPS").ToString.ToDecimal})
End If
If drr("ImporteRetIVA").ToString.ToDouble > 0 Then 'si hay retenciones
concepto.Impuestos.Add(New CFDIConceptosImpuestos With {.TrasladooRetencion = "R", .Base = concepto.Importe - concepto.Descuento, .TasaOCuota = drr("PorcentajeRetIVA").ToString.ToDecimal, .Impuesto = "002", .Importe = drr("ImporteRetIVA").ToString.ToDecimal})
End If
If drr("ImporteRetISR").ToString.ToDouble > 0 Then 'retención de ISR
concepto.Impuestos.Add(New CFDIConceptosImpuestos With {.TrasladooRetencion = "R", .Base = concepto.Importe - concepto.Descuento, .TasaOCuota = drr("PorcentajeRetISR").ToString.ToDecimal, .Impuesto = "001", .Importe = drr("ImporteRetISR").ToString.ToDecimal})
End If
Timbre.Conceptos.Add(concepto)
i += 1
Next
Return Timbre
End Function
#End Region
#Region "G L O B A L - D T"
Public Property GlobalTipoCambio(Optional Fecha As Date = MinFecha) As Double
Get
If GlobalTipoCambio <= 0 Then
'sino tiene dato lo recargo por si ya esta insertado
If Fecha = MinFecha Then Fecha = Now
Dim ObjGral As New ClsGenerales
If ObjGral.GetTipoCambio(-1, Fecha) AndAlso ObjGral.DtResultados.Rows.Count > 0 Then
HttpContext.Current.Application("GlobalTipoCambio") = ObjGral.DtResultados.Rows(0)("TipoCambio").ToString.ToDouble
Else
HttpContext.Current.Application("GlobalTipoCambio") = 0
End If
ObjGral.Dispose()
End If
Return HttpContext.Current.Application("GlobalTipoCambio").ToString.ToDouble
End Get
Set(value As Double)
HttpContext.Current.Application("GlobalTipoCambio") = value
End Set
End Property
Property GlobalDTMonedas() As DataTable
Get
GlobalDTMonedas = DirectCast(HttpContext.Current.Application("GlobalDTMonedas"), DataTable)
End Get
Set(value As DataTable)
HttpContext.Current.Application("GlobalDTMonedas") = value
End Set
End Property
ReadOnly Property GlobalDTPS(CveEmpresa As Integer, Optional CvePS As Integer = -1, Optional SATClavePS As String = "-1", Optional AplicaParaVenta As Integer = -1, Optional Estatus As Integer = -1, Optional Codigo As String = "-1") As DataTable
Get
Dim ObjPS As New ClsProductosServicios
If ObjPS.GetPS(CvePS, -1, CveEmpresa, Codigo:=Codigo, SATClavePS:=SATClavePS, pAplicaParaVenta:=AplicaParaVenta, pEstado:=Estatus) Then
GlobalDTPS = ObjPS.DtResultados
Else
GlobalDTPS = Nothing
End If
ObjPS.Dispose()
End Get
End Property
Public Property GlobalDTVtaFormaPago() As DataTable
Get
GlobalDTVtaFormaPago = DirectCast(HttpContext.Current.Application("GlobalDTVtaFormaPago"), DataTable)
End Get
Set(value As DataTable)
HttpContext.Current.Application("GlobalDTVtaFormaPago") = value
End Set
End Property
Property GlobalDTVtaMetodoPago() As DataTable
Get
GlobalDTVtaMetodoPago = DirectCast(HttpContext.Current.Application("GlobalDTVtaMetodoPago"), DataTable)
End Get
Set(value As DataTable)
HttpContext.Current.Application("GlobalDTVtaMetodoPago") = value
End Set
End Property
Property GlobalDTSATUsosCFDI(Optional EsPersonaFisica As Integer = -1) As DataTable
Get
If EsPersonaFisica <> -1 Then
Dim Tipo As String = ""
If EsPersonaFisica = 1 Then Tipo = "AplicaPersonaFisica = 1" Else Tipo = "AplicaPersonaMoral = 1"
Dim Dv As New DataView(DirectCast(HttpContext.Current.Application("GlobalDTSATUsosCFDI"), DataTable), Tipo, " UsoCFDIDescripcion", DataViewRowState.CurrentRows)
GlobalDTSATUsosCFDI = Dv.ToTable
Dv.Dispose()
Else
GlobalDTSATUsosCFDI = DirectCast(HttpContext.Current.Application("GlobalDTSATUsosCFDI"), DataTable)
End If
End Get
Set(ByVal value As DataTable)
HttpContext.Current.Application("GlobalDTSATUsosCFDI") = value
End Set
End Property
Property GlobalDTMetodosPago() As DataTable
Get
GlobalDTMetodosPago = DirectCast(HttpContext.Current.Application("GlobalDTMetodosPago"), DataTable)
End Get
Set(value As DataTable)
HttpContext.Current.Application("GlobalDTMetodosPago") = value
End Set
End Property
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
End Class

View File

@@ -487,14 +487,14 @@
</asp:DropDownList> </asp:DropDownList>
</div> </div>
</div> </div>
<div class="row" id="TrPeriodo" runat="server" visible="False"> <%-- <div class="row" id="TrPeriodo" runat="server" visible="False">
<label class="col-md-2 truncate"> <label class="col-md-2 truncate">
<asp:Label ID="Label5" runat="server" Text="Periodo:"></asp:Label></label><div class="col-md-10"> <asp:Label ID="Label5" runat="server" Text="Periodo:"></asp:Label></label><div class="col-md-10">
<asp:DropDownList ID="DdlPeriodo" runat="server" AppendDataBoundItems="True" DataTextField="Nombre" DataValueField="CvePeriodo" Class="table-group-action-input form-control input-inline input-sm select2me" Width="75%"> <asp:DropDownList ID="DdlPeriodo" runat="server" AppendDataBoundItems="True" DataTextField="Nombre" DataValueField="CvePeriodo" Class="table-group-action-input form-control input-inline input-sm select2me" Width="75%">
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem> <asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
</asp:DropDownList> </asp:DropDownList>
</div> </div>
</div> </div>--%>
<div class="row"> <div class="row">
<label class="col-md-2 truncate">Fecha Inicial:</label> <label class="col-md-2 truncate">Fecha Inicial:</label>
@@ -575,14 +575,6 @@
<asp:TextBox ID="TxtTotal" runat="server" MaxLength="12" Width="100px"></asp:TextBox><ajax:FilteredTextBoxExtender ID="FilteredTextBoxExtender8" runat="server" TargetControlID="TxtTotal" FilterType="Custom, Numbers" ValidChars=",." BehaviorID="_content_SoloNumeros" /> <asp:TextBox ID="TxtTotal" runat="server" MaxLength="12" Width="100px"></asp:TextBox><ajax:FilteredTextBoxExtender ID="FilteredTextBoxExtender8" runat="server" TargetControlID="TxtTotal" FilterType="Custom, Numbers" ValidChars=",." BehaviorID="_content_SoloNumeros" />
</div> </div>
</div> </div>
<div class="row" id="DvObservaciones" runat="server" visible="false">
<label class="col-md-2 truncate ">Observación de Facturación:</label>
<div class="col-md-10">
<asp:TextBox ID="TxtObservaciones" runat="server" Width="400px" TextMode="MultiLine" Rows="2"></asp:TextBox>
</div>
</div>
</div> </div>
</div> </div>
@@ -816,12 +808,6 @@
</div> </div>
</div> </div>
</div>
<div class="row" style="display: none;"> <div class="row" style="display: none;">
<label class="col-md-2 truncate">Importe:</label> <label class="col-md-2 truncate">Importe:</label>
<div class="col-md-10"> <div class="col-md-10">
@@ -1933,7 +1919,110 @@
</asp:GridView> </asp:GridView>
</ContentTemplate> </ContentTemplate>
</ajax:TabPanel> </ajax:TabPanel>
<ajax:TabPanel ID="TabFacCiclica" runat="server" HeaderText="Facturación Ciclica">
<ContentTemplate>
<asp:UpdatePanel ID="UpFacCiclica" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<br />
<div class="row">
<div class="col-md-6">
<div class="portlet smmallpadding light bordered">
<div class="portlet-title">
<div class="tools">
<a href="javascript;" data-idchekbox="C_chkexpand" class=" collapse" data-original-title="" title=""></a><span class="hidden">
<input id="C_chkexpand" type="checkbox" name="ctl00$C$chkexpand" checked="checked"></span>
</div>
<div class="caption uppercase" style="position: relative;"><i class="fa fa-info-circle"></i>Datos de Facturación</div>
</div>
<div class="portlet-body rowpadding">
<div class="row">
<label class="col-md-3 truncate ">Aplica Facturación Ciclica:</label>
<div class="col-md-9">
<asp:CheckBox ID="ChkAplicaFacCiclica" AutoPostBack="True" OnCheckedChanged="ChkAplicaFacCiclica_CheckedChanged" runat="server"></asp:CheckBox>
</div>
</div>
<div class="row" id="DivFacCiclica" runat="server" visible="false">
<div class="col-md-12">
<div class="row">
<label class="col-md-3 truncate">
<asp:Label ID="Label6" runat="server" Text="Periodo:"></asp:Label></label>
<div class="col-md-9">
<asp:DropDownList ID="DdlPeriodo" runat="server" AppendDataBoundItems="True" AutoPostBack="true" OnSelectedIndexChanged="DdlPeriodo_SelectedIndexChanged" DataTextField="Nombre" DataValueField="CvePeriodo" Class="table-group-action-input form-control input-inline input-sm select2me" Width="75%">
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
</div>
<br />
<div class="row">
<label class="col-md-3 truncate">
<asp:Label ID="Label5" runat="server" Text="Dia del mes:"></asp:Label></label>
<div class="col-md-9">
<asp:DropDownList ID="DdlDiaFact" runat="server" AppendDataBoundItems="True" Class="table-group-action-input form-control input-inline input-sm select2me" Width="75%">
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
</div>
<br />
<div class="row">
<label class="col-md-3 truncate ">Facturación Automatica:</label>
<div class="col-md-9">
<asp:CheckBox ID="ChkFacAutomatica" runat="server"></asp:CheckBox>
</div>
</div>
<br />
<div class="row">
<label class="col-md-3 truncate ">Observación de Facturación:</label>
<div class="col-md-9">
<asp:TextBox ID="TxtObservaciones" runat="server" Width="400px" TextMode="MultiLine" Rows="2"></asp:TextBox>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="col-md-6">
<div class="portlet smmallpadding light bordered" id="DivCiclosComerciales" runat="server" visible="false">
<div class="portlet-title">
<div class="tools">
<a href="javascript;" data-idchekbox="C_chkexpand" class=" collapse" data-original-title="" title=""></a><span class="hidden">
<input id="C_chkexpand" type="checkbox" name="ctl00$C$chkexpand" checked="checked"></span>
</div>
<div class="caption uppercase" style="position: relative;"><i class="fa fa-info-circle"></i>Ciclos de facturación</div>
</div>
<div class="portlet-body rowpadding">
<div class="row">
<div class="col-md-12" align="right">
<input type="text" id="TxtFiltraCiclos" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtFiltraCiclos','{0}')", GvCiclosComerciales.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" />
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtFiltraCiclos','{0}')", GvDatosAvance.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
</div>
</div>
<div class="row">
<div class="col-md-12">
<asp:GridView ID="GvCiclosComerciales" ClientIDMode="Static" ShowHeader="true" runat="server" AutoGenerateColumns="false" EmptyDataText="No se encontraron documentos." CssClass="table table-striped table-hover Widthall" BorderColor="#D3D3D3" GridLines="None">
<Columns>
<asp:BoundField HeaderText="Fecha Vencimiento" DataField="FechaVenc" ItemStyle-Width="10%" ItemStyle-HorizontalAlign="Center" DataFormatString="{0:d}" />
<asp:BoundField HeaderText="Fue Facturado" DataField="FueFacturadoTexto" ItemStyle-Width="10%" ItemStyle-HorizontalAlign="Center" />
<%-- <asp:BoundField HeaderText="Periodo" DataField="Periodo" ItemStyle-Width="10%" ItemStyle-HorizontalAlign="Center" />--%>
<asp:HyperLinkField HeaderText="Serie-Folio" DataTextField="VentaFacturada" Target="_blank" ItemStyle-Width="10%" ItemStyle-CssClass="Texto Izquierda" DataNavigateUrlFields="CveVentaFacturada" DataNavigateUrlFormatString="/Ventas/Ventas.aspx?CveVenta={0}" />
<asp:BoundField HeaderText="Moneda" DataField="MonedaVenta" ItemStyle-Width="10%" ItemStyle-HorizontalAlign="Center" />
<asp:BoundField HeaderText="Fecha Facturación" DataField="FechaIngVenta" ItemStyle-Width="10%" ItemStyle-HorizontalAlign="Center" DataFormatString="{0:d}" />
<%-- <asp:BoundField HeaderText="SubTotal" DataField="SubTotalVenta" ItemStyle-Width="10%" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />
<asp:BoundField HeaderText="IVA" DataField="IVAVenta" ItemStyle-Width="10%" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />
<asp:BoundField HeaderText="IEPS" DataField="IVAVenta" ItemStyle-Width="10%" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />--%>
<asp:BoundField HeaderText="Total" DataField="TotalVenta" ItemStyle-Width="10%" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />
</Columns>
</asp:GridView>
</div>
</div>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</ContentTemplate>
</ajax:TabPanel>
<ajax:TabPanel ID="TabSistema" runat="server" HeaderText="Sistema"> <ajax:TabPanel ID="TabSistema" runat="server" HeaderText="Sistema">
<ContentTemplate> <ContentTemplate>

View File

@@ -366,7 +366,7 @@ Partial Class Contratos_Default
'TxtArchivo.Visible = True 'TxtArchivo.Visible = True
CargaDatos() CargaDatos()
CargaCiclosComerciales()
CargaDatosAvance() CargaDatosAvance()
CargaDatosAvancePorDocumento() CargaDatosAvancePorDocumento()
CargaInventarios() CargaInventarios()
@@ -810,11 +810,14 @@ Partial Class Contratos_Default
cargaClientes() cargaClientes()
Else Else
CargaContratista() CargaContratista()
End If End If
CargaPeriodos()
DdlPeriodo_SelectedIndexChanged(DdlPeriodo, EventArgs.Empty)
If DdlTipoContrato.SelectedValue = "14" Then If DdlTipoContrato.SelectedValue = "14" Then
TrCtaEquipo.Visible = True TrCtaEquipo.Visible = True
TrPeriodo.Visible = True 'TrPeriodo.Visible = True
RFVEstatus.ValidationGroup = "" RFVEstatus.ValidationGroup = ""
RequiredFieldValidator1.ValidationGroup = "" RequiredFieldValidator1.ValidationGroup = ""
DvMin.Visible = True DvMin.Visible = True
@@ -824,34 +827,31 @@ Partial Class Contratos_Default
RowEstatus.Visible = False RowEstatus.Visible = False
RowPorcentajeComision.Visible = False RowPorcentajeComision.Visible = False
dvAddendum.Visible = False dvAddendum.Visible = False
CargaPeriodos()
CargaPlantillas() CargaPlantillas()
TrContratoPlantilla.Visible = True TrContratoPlantilla.Visible = True
TabPres.HeaderText = "Partidas" TabPres.HeaderText = "Partidas"
Else
DtPeriodo = Nothing
End If End If
If DdlTipoContrato.SelectedValue = "25" Then 'If DdlTipoContrato.SelectedValue = "25" Then
trLicitacion.Visible = False ' trLicitacion.Visible = False
divResponsable.Visible = False ' divResponsable.Visible = False
TrPeriodo.Visible = True ' 'TrPeriodo.Visible = True
CargaPeriodos() ' trIva.Visible = False
trIva.Visible = False ' trAnticipo.Visible = False
trAnticipo.Visible = False ' trAmortizacion.Visible = False
trAmortizacion.Visible = False ' trPorGarantia.Visible = False
trPorGarantia.Visible = False ' DvMin.Visible = False
DvMin.Visible = False ' RowFlexible.Visible = False
RowFlexible.Visible = False ' RowPorcentajeComision.Visible = False
RowPorcentajeComision.Visible = False ' DvMax.Visible = False
DvMax.Visible = False ' DvTotal.Visible = False
DvTotal.Visible = False ' RowEstatus.Visible = False
RowEstatus.Visible = False ' TabPres.HeaderText = "Partidas"
TabPres.HeaderText = "Partidas" ' DdlSubProyectoContrato.AutoPostBack = True
DdlSubProyectoContrato.AutoPostBack = True ' 'DvObservaciones.Visible = True
DvObservaciones.Visible = True 'End If
End If
Dim CveTipoContrato = DdlTipoContrato.SelectedValue Dim CveTipoContrato = DdlTipoContrato.SelectedValue
@@ -879,9 +879,9 @@ Partial Class Contratos_Default
End If End If
ObjFolios.Dispose() ObjFolios.Dispose()
UpGral.Update() UpGral.Update()
End Sub End Sub
#End Region #End Region
#Region " CARGA DATOS " #Region " CARGA DATOS "
Private Sub CargaDatos() Private Sub CargaDatos()
Dim ObjContratos As New ClsContratos() Dim ObjContratos As New ClsContratos()
@@ -935,10 +935,11 @@ Partial Class Contratos_Default
CargaContratoPadre() CargaContratoPadre()
CargaContratoAddendum() CargaContratoAddendum()
If ObjContratos.DtResultados.Rows(0)("CveContratoTipo").ToString.ToEntero = 14 Then If ObjContratos.DtResultados.Rows(0)("CveContratoTipo").ToString.ToEntero = 14 Then
CargaPeriodos()
TrCtaEquipo.Visible = True TrCtaEquipo.Visible = True
TrPeriodo.Visible = True 'TrPeriodo.Visible = True
RFVEstatus.ValidationGroup = "" RFVEstatus.ValidationGroup = ""
RequiredFieldValidator1.ValidationGroup = "" RequiredFieldValidator1.ValidationGroup = ""
DvMin.Visible = True DvMin.Visible = True
@@ -957,54 +958,69 @@ Partial Class Contratos_Default
TabPres.HeaderText = "Partidas" TabPres.HeaderText = "Partidas"
End If End If
If ObjContratos.DtResultados.Rows(0)("CveContratoTipo").ToString.ToEntero = 25 Then 'If ObjContratos.DtResultados.Rows(0)("CveContratoTipo").ToString.ToEntero = 25 Then
trLicitacion.Visible = False ' trLicitacion.Visible = False
divResponsable.Visible = False ' divResponsable.Visible = False
TrPeriodo.Visible = True ' 'TrPeriodo.Visible = True
CargaPeriodos() ' CargaPeriodos()
trIva.Visible = False ' trIva.Visible = False
trAnticipo.Visible = False ' trAnticipo.Visible = False
trAmortizacion.Visible = False ' trAmortizacion.Visible = False
trPorGarantia.Visible = False ' trPorGarantia.Visible = False
DvMin.Visible = False ' DvMin.Visible = False
DvMax.Visible = False ' DvMax.Visible = False
DvTotal.Visible = False ' DvTotal.Visible = False
TabPVInsumos.Visible = False ' TabPVInsumos.Visible = False
RowEstatus.Visible = False ' RowEstatus.Visible = False
TabPres.HeaderText = "Partidas" ' TabPres.HeaderText = "Partidas"
thOcCliente.Style.Add("display", "none") ' thOcCliente.Style.Add("display", "none")
tdOcCliente.Style.Add("display", "none") ' tdOcCliente.Style.Add("display", "none")
thNoIdentificacionv.Style.Add("display", "none") ' thNoIdentificacionv.Style.Add("display", "none")
thLimitar.Style.Add("display", "none") ' thLimitar.Style.Add("display", "none")
tdLimitar2.Style.Add("display", "none") ' tdLimitar2.Style.Add("display", "none")
tdNoIdentificacionv.Style.Add("display", "none") ' tdNoIdentificacionv.Style.Add("display", "none")
RowFlexible.Visible = False ' RowFlexible.Visible = False
TableDatosCabecera.Visible = False ' TableDatosCabecera.Visible = False
TabAvanveDocumento.Visible = False ' TabAvanveDocumento.Visible = False
TabSistema.Visible = False ' TabSistema.Visible = False
RowPorcentajeComision.Visible = False ' RowPorcentajeComision.Visible = False
TabContratosGastos.Visible = False ' TabContratosGastos.Visible = False
tdCveInterna.Text = "" ' tdCveInterna.Text = ""
tdLimitar.Text = "" ' tdLimitar.Text = ""
tdOC.Text = "" ' tdOC.Text = ""
THAvance.Visible = False ' THAvance.Visible = False
THAvance.Style.Add("display", "none") ' THAvance.Style.Add("display", "none")
TDAvance.Style.Add("display", "none") ' TDAvance.Style.Add("display", "none")
TxtOCInterna.Visible = False ' TxtOCInterna.Visible = False
TxtNoIdentificacionv.Visible = False ' TxtNoIdentificacionv.Visible = False
ChkLimitarVenta.Visible = False ' ChkLimitarVenta.Visible = False
DvObservaciones.Visible = True ' 'DvObservaciones.Visible = True
TDObservacion.Visible = True ' TDObservacion.Visible = True
tdObservaciones.Visible = True ' tdObservaciones.Visible = True
TxtObservaciones.Text = ObjContratos.DtResultados.Rows(0)("Observaciones").ToString ' TxtObservaciones.Text = ObjContratos.DtResultados.Rows(0)("Observaciones").ToString
Gv.Columns(6).Visible = True ' Gv.Columns(6).Visible = True
DdlPeriodo.SelectedValueExist(ObjContratos.DtResultados.Rows(0)("CvePeriodo").ToString) ' DdlPeriodo.SelectedValueExist(ObjContratos.DtResultados.Rows(0)("CvePeriodo").ToString)
End If 'End If
If ObjContratos.DtResultados.Rows(0)("CveVendedor").ToString.ToEntero > 0 Then If ObjContratos.DtResultados.Rows(0)("CveVendedor").ToString.ToEntero > 0 Then
DdlVendedor.SelectedValueExist(ObjContratos.DtResultados.Rows(0)("CveVendedor")) DdlVendedor.SelectedValueExist(ObjContratos.DtResultados.Rows(0)("CveVendedor"))
End If End If
ChkAplicaFacCiclica.Checked = CBool(ObjContratos.DtResultados.Rows(0)("FacturacionCicilica"))
If ChkAplicaFacCiclica.Checked Then
CargaPeriodos()
ChkFacAutomatica.Checked = CBool(ObjContratos.DtResultados.Rows(0)("FacturacionCiclicaAutomatico"))
DdlPeriodo.SelectedValueExist(ObjContratos.DtResultados.Rows(0)("CvePeriodo"))
DdlPeriodo_SelectedIndexChanged(DdlPeriodo, EventArgs.Empty)
DdlDiaFact.SelectedValueExist(ObjContratos.DtResultados.Rows(0)("DiaMesFacturacion").ToString())
TxtObservaciones.Text = ObjContratos.DtResultados.Rows(0)("Observaciones").ToString
ChkAplicaFacCiclica_CheckedChanged(ChkAplicaFacCiclica, EventArgs.Empty)
End If
If (DdlAlmacenDestino.Items.FindByValue(ObjContratos.CveAlmacen.ToString()) Is Nothing) Then If (DdlAlmacenDestino.Items.FindByValue(ObjContratos.CveAlmacen.ToString()) Is Nothing) Then
Dim dr As DataRow = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimero(String.Format("CveAlmacen = {0}", ObjContratos.CveAlmacen)) Dim dr As DataRow = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimero(String.Format("CveAlmacen = {0}", ObjContratos.CveAlmacen))
@@ -1224,10 +1240,10 @@ Partial Class Contratos_Default
Maximo = txtMaximo.Text.ToDouble Maximo = txtMaximo.Text.ToDouble
Total = TxtTotal.Text.ToDouble Total = TxtTotal.Text.ToDouble
If DdlTipoContrato.SelectedValue = "25" AndAlso DdlPeriodo.SelectedValue.ToEntero() <= 0 Then 'If DdlTipoContrato.SelectedValue = "25" AndAlso DdlPeriodo.SelectedValue.ToEntero() <= 0 Then
Alert("Debe seleccionar el periodo de facturación.", TipoMensaje.MsgAdvertencia) ' Alert("Debe seleccionar el periodo de facturación.", TipoMensaje.MsgAdvertencia)
Exit Sub ' Exit Sub
End If 'End If
If DdlMoneda.SelectedIndex > 0 Then If DdlMoneda.SelectedIndex > 0 Then
If TxtTipoCambio.Text.Trim.Length = 0 Or TxtTipoCambio.Text.Trim.ToDouble = 0.0 Then If TxtTipoCambio.Text.Trim.Length = 0 Or TxtTipoCambio.Text.Trim.ToDouble = 0.0 Then
@@ -1246,207 +1262,195 @@ Partial Class Contratos_Default
Dim ObjContratos As New ClsContratos Dim ObjContratos As New ClsContratos
Dim ObjInventarios As New ClsInventarios(ObjContratos.IniciaTransacSQL) Dim ObjInventarios As New ClsInventarios(ObjContratos.IniciaTransacSQL)
'Crear Contrato Try
If Not CveContrato > 0 Then 'Crear Contrato
If Not CveContrato > 0 Then
CveContrato = ObjContratos.AddContratos(TxtNumeroContrato.Text, TxtDescripcionContrato.Text, TxtNumeroLicitacion.Text.Trim, DdlContratista.SelectedValue.ToEntero, DdlCliente.SelectedValue.ToEntero, -1, TxtFechaInicial.Text.ToDate, TxtFechaFinal.Text.ToDate,
TxtUbicacion.Text, TxtResponsable.Text, DdlSubProyectoContrato.SelectedValue.ToEntero, TxtPorIVA.Text.ToDouble, TxtPorAnticipo.Text.ToDouble, TxtPorAmortizacionAnticipo.Text.ToDouble,
TxtPorGarantia.Text.ToDouble, "." & Session("FileExtension").ToString, "", DdlContratoPadre.SelectedValue.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, False, Minimo, Maximo, Total,
DdlMoneda.SelectedValue.ToEntero, ModalidadDetalle, If(DdlTipoContrato.SelectedValue.ToEntero = 25 OrElse UsuarioActual.Empresa.CvePlataforma = 3, 1, DdlEstatus.SelectedValue.ToEntero), TipoContrato,
TxtTipoCambio.Text.ToDouble, CveSucursalCliente:=DdlSucursalCliente.SelectedValue.ToEntero, CveAlmacenOrigen:=DdlAlmacenOrigen.SelectedValue.ToEntero, CveAlmacenDestino:=DdlAlmacenDestino.SelectedValue.ToEntero,
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:=DdlDiaFact.SelectedValue.ToEntero())
TieneError = Not GuardaFianzas(ObjContratos)
If CveContrato > 0 AndAlso Not TieneError Then
'Renombrar archivo
If ViewState("extencion") IsNot Nothing Then
If ViewState("FUrl").ToString.Length > 0 AndAlso ViewState("extencion").ToString.Length > 0 Then
If Not Directory.Exists(ModExtensiones.DirectorioBaseEmpresas + "Empresas\" & UsuarioActual.CveEmpresa & "\Contratos") Then
Directory.CreateDirectory(ModExtensiones.DirectorioBaseEmpresas + "Empresas\" & UsuarioActual.CveEmpresa & "\Contratos")
End If
Ruta = ModExtensiones.DirectorioBaseEmpresas + "Empresas\" & UsuarioActual.CveEmpresa & "\Contratos\"
'ViewState("extencion") = FileExtension
'ViewState("FUrl") = Path.Combine(UsuarioActual.Empresa.Ruta, "Contratos", "Temp", ViewState("FName").ToString)
Try
If File.Exists(String.Format("{0}{1}.{2}", Ruta, CveContrato.ToString, ViewState("extencion").ToString)) Then
File.Delete(String.Format("{0}{1}.{2}", Ruta, CveContrato.ToString, ViewState("extencion").ToString))
End If
System.IO.File.Move(ViewState("FUrl").ToString, String.Format("{0}{1}.{2}", Ruta, CveContrato.ToString, ViewState("extencion").ToString))
Catch ex As Exception
End Try
End If
End If
'If UsuarioActual.Empresa.CvePlataforma = 3 AndAlso DdlTipoContrato.SelectedValue = "14" Then
' Dim FechaI As DateTime = TxtFechaInicial.Text.ToDateTime
' Dim FechaF As DateTime = TxtFechaFinal.Text.ToDateTime
' Dim Periodo As Integer = DtPeriodo.FiltraParametros($"CvePeriodo = {DdlPeriodo.SelectedValue.ToEntero}").Rows(0)("Dias").ToString.ToEntero
' Dim VigenciaEnDias As Double = DateDiff(DateInterval.Day, FechaI, FechaF)
' Dim CiclosComerciales As Integer = Math.Round(VigenciaEnDias / Periodo).ToEntero
' For Ciclo As Integer = 1 To CiclosComerciales
' If Not ObjContratos.CicloComercialAdd(CveContrato, -1, DdlCliente.SelectedValue.ToEntero, False, -1, 1, UsuarioActual.CveEmpresa, FechaI.AddDays(Periodo * Ciclo)) Then TieneError = True : Exit For
' Next
'End If
If ChkAplicaFacCiclica.Checked Then
TieneError = Not GenerarCiclosComerciales(CveContrato, False, ObjContratos)
End If
If TxtNumeroContrato.Text = FolioSugerido Then
Dim ObjFolios As New ClsGralFolios
If Not ObjFolios.UpdateFolioActual(DdlSubProyectoContrato.SelectedValue.ToEntero, "Con", True, UsuarioActual.CveEmpresa) Then
TieneError = True
End If
ObjFolios.Dispose()
End If
If ChkImpuestosLocales.Checked Then
Dim count As Integer = 0
For Each GVR As GridViewRow In GvImpuestosLocales.Rows
If GVR.FCCheckBox("ChkDeduccion").Checked Then
count = count + 1
ObjContratos.AddContratoImpuestosLocales(CveContrato, GVR.DataKey("CveImpuestoLocal").ToEntero)
End If
Next
If count = 0 Then
Alert("Debe seleccionar un Impuesto Local", TipoMensaje.MsgAdvertencia)
TieneError = True
End If
End If
Else
TieneError = True
End If
Else
Modificado = True
Dim ArchivoUpdate As String = "-1"
If Session("FileExtension").ToString <> "" Then
ArchivoUpdate = "." & Session("FileExtension").ToString
Else
End If
If ObjContratos.UpdateContratos(CveContrato, TxtNumeroContrato.Text, TxtDescripcionContrato.Text, TxtNumeroLicitacion.Text.Trim, DdlContratista.SelectedValue.ToEntero, DdlCliente.SelectedValue.ToEntero, -1, TxtFechaInicial.Text.ToDate, TxtFechaFinal.Text.ToDate,
TxtUbicacion.Text, TxtResponsable.Text, DdlSubProyectoContrato.SelectedValue.ToEntero, TxtPorIVA.Text.ToDouble, TxtPorAnticipo.Text.ToDouble, TxtPorAmortizacionAnticipo.Text.ToDouble,
TxtPorGarantia.Text.ToDouble, ArchivoUpdate, "", DdlContratoPadre.SelectedValue.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, False, Minimo, Maximo, Total, DdlMoneda.SelectedValue.ToEntero,
ModalidadDetalle, If(UsuarioActual.Empresa.CvePlataforma = 3 OrElse CveTipoContrato = 25, 1, DdlEstatus.SelectedValue.ToEntero), TipoContrato, TxtTipoCambio.Text.ToDouble, CveSucursalCliente:=DdlSucursalCliente.SelectedValue.ToEntero,
CveAlmacenOrigen:=DdlAlmacenOrigen.SelectedValue.ToEntero, CveAlmacenDestino:=DdlAlmacenDestino.SelectedValue.ToEntero, PorcentajeComision:=TxtPorcentajeComision.Text.ToEntero,
TipoGarantia:=DdlTipoGarantia.SelectedValue.ToEntero, Folio:=TxtFolio.Text.ToEntero, FechaVenc:=txtFechaVenc.Text.ToDate, EstatusFianza:=DdlEstatusFianza.SelectedValue.ToEntero, CveContratoPlantilla:=DdlPlantillaContrato.SelectedValue.ToEntero,
CveCuentaEquipo:=DdlCuentaEquipo.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:=DdlDiaFact.SelectedValue.ToEntero(), CvePeriodo:=DdlPeriodo.SelectedValue.ToEntero()) Then
TieneError = Not GuardaFianzas(ObjContratos)
'Renombrar archivo
If Not TieneError Then
'If UsuarioActual.Empresa.CvePlataforma = 3 AndAlso DdlTipoContrato.SelectedValue = "14" Then
' If Not ObjContratos.CicloComercialDelete(CveContrato, False, UsuarioActual.CveEmpresa) Then
' TieneError = True
' End If
' Dim FechaIN As DateTime = TxtFechaInicial.Text.ToDateTime
' Dim FechaFN As DateTime = TxtFechaFinal.Text.ToDateTime
' Dim Periodo As Integer = DtPeriodo.FiltraParametros($"CvePeriodo = {DdlPeriodo.SelectedValue.ToEntero}").Rows(0)("Dias").ToString.ToEntero
' Dim VigenciaEnDias As Double = DateDiff(DateInterval.Day, FechaI, FechaF)
' Dim CiclosComerciales As Integer = Math.Round(VigenciaEnDias / Periodo).ToEntero
' For Ciclo As Integer = 1 To CiclosComerciales
' If Not ObjContratos.CicloComercialAdd(CveContrato, -1, DdlCliente.SelectedValue.ToEntero, False, -1, 1, UsuarioActual.CveEmpresa, FechaI.AddDays(Periodo * Ciclo)) Then TieneError = True : Exit For
' Next
'End If
If ChkAplicaFacCiclica.Checked Then
TieneError = Not GenerarCiclosComerciales(CveContrato, True, ObjContratos)
Else
If Not ObjContratos.CicloComercialDelete(CveContrato, False, UsuarioActual.CveEmpresa) Then
TieneError = True
End If
End If
If ViewState("extencion") IsNot Nothing Then
If ViewState("FUrl").ToString.Length > 0 AndAlso ViewState("extencion").ToString.Length > 0 Then
If Not Directory.Exists(ModExtensiones.DirectorioBaseEmpresas + "Empresas\" & UsuarioActual.CveEmpresa & "\Contratos") Then
Directory.CreateDirectory(ModExtensiones.DirectorioBaseEmpresas + "Empresas\" & UsuarioActual.CveEmpresa & "\Contratos")
End If
Ruta = ModExtensiones.DirectorioBaseEmpresas + "Empresas\" & UsuarioActual.CveEmpresa & "\Contratos\"
Try
If File.Exists(String.Format("{0}{1}.{2}", Ruta, CveContrato.ToString, ViewState("extencion").ToString)) Then
File.Delete(String.Format("{0}{1}.{2}", Ruta, CveContrato.ToString, ViewState("extencion").ToString))
End If
System.IO.File.Move(ViewState("FUrl").ToString, String.Format("{0}{1}.{2}", Ruta, CveContrato.ToString, ViewState("extencion").ToString))
Catch ex As Exception
End Try
' System.IO.File.Move(Archivo, String.Format("{0}{1}{2}", Ruta, CveContrato.ToString, Extension))
End If
End If
If ChkImpuestosLocales.Checked Then
Dim count As Integer = 0
ObjContratos.LimpiaImpuestosLocales(CveContrato)
For Each GVR As GridViewRow In GvImpuestosLocales.Rows
If GVR.FCCheckBox("ChkDeduccion").Checked Then
count = count + 1
ObjContratos.AddContratoImpuestosLocales(CveContrato, GVR.DataKey("CveImpuestoLocal").ToEntero)
End If
Next
If count = 0 Then
Alert("Debe seleccionar un Impuesto Local", TipoMensaje.MsgAdvertencia)
TieneError = True
End If
Else
ObjContratos.LimpiaImpuestosLocales(CveContrato)
End If
End If
Else
TieneError = True
End If
End If
Catch ex As Exception
TieneError = True
OnError("Ocurrió un error al guardar el contrato.", ex)
End Try
CveContrato = ObjContratos.AddContratos(TxtNumeroContrato.Text, TxtDescripcionContrato.Text, TxtNumeroLicitacion.Text.Trim, DdlContratista.SelectedValue.ToEntero, DdlCliente.SelectedValue.ToEntero, -1, TxtFechaInicial.Text.ToDate, TxtFechaFinal.Text.ToDate,
TxtUbicacion.Text, TxtResponsable.Text, DdlSubProyectoContrato.SelectedValue.ToEntero, TxtPorIVA.Text.ToDouble, TxtPorAnticipo.Text.ToDouble, TxtPorAmortizacionAnticipo.Text.ToDouble,
TxtPorGarantia.Text.ToDouble, "." & Session("FileExtension").ToString, "", DdlContratoPadre.SelectedValue.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, False, Minimo, Maximo, Total,
DdlMoneda.SelectedValue.ToEntero, ModalidadDetalle, If(DdlTipoContrato.SelectedValue.ToEntero = 25 OrElse UsuarioActual.Empresa.CvePlataforma = 3, 1, DdlEstatus.SelectedValue.ToEntero), TipoContrato,
TxtTipoCambio.Text.ToDouble, CveSucursalCliente:=DdlSucursalCliente.SelectedValue.ToEntero, CveAlmacenOrigen:=DdlAlmacenOrigen.SelectedValue.ToEntero, CveAlmacenDestino:=DdlAlmacenDestino.SelectedValue.ToEntero,
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())
TieneError = Not GuardaFianzas(ObjContratos)
If CveContrato > 0 AndAlso Not TieneError Then
'Renombrar archivo
If ViewState("extencion") IsNot Nothing Then
If ViewState("FUrl").ToString.Length > 0 AndAlso ViewState("extencion").ToString.Length > 0 Then
If Not Directory.Exists(ModExtensiones.DirectorioBaseEmpresas + "Empresas\" & UsuarioActual.CveEmpresa & "\Contratos") Then
Directory.CreateDirectory(ModExtensiones.DirectorioBaseEmpresas + "Empresas\" & UsuarioActual.CveEmpresa & "\Contratos")
End If
Ruta = ModExtensiones.DirectorioBaseEmpresas + "Empresas\" & UsuarioActual.CveEmpresa & "\Contratos\"
'ViewState("extencion") = FileExtension
'ViewState("FUrl") = Path.Combine(UsuarioActual.Empresa.Ruta, "Contratos", "Temp", ViewState("FName").ToString)
Try
If File.Exists(String.Format("{0}{1}.{2}", Ruta, CveContrato.ToString, ViewState("extencion").ToString)) Then
File.Delete(String.Format("{0}{1}.{2}", Ruta, CveContrato.ToString, ViewState("extencion").ToString))
End If
System.IO.File.Move(ViewState("FUrl").ToString, String.Format("{0}{1}.{2}", Ruta, CveContrato.ToString, ViewState("extencion").ToString))
Catch ex As Exception
End Try
End If
End If
If UsuarioActual.Empresa.CvePlataforma = 3 AndAlso DdlTipoContrato.SelectedValue = "14" Then
Dim FechaI As DateTime = TxtFechaInicial.Text.ToDateTime
Dim FechaF As DateTime = TxtFechaFinal.Text.ToDateTime
Dim Periodo As Integer = DtPeriodo.FiltraParametros($"CvePeriodo = {DdlPeriodo.SelectedValue.ToEntero}").Rows(0)("Dias").ToString.ToEntero
Dim VigenciaEnDias As Double = DateDiff(DateInterval.Day, FechaI, FechaF)
Dim CiclosComerciales As Integer = Math.Round(VigenciaEnDias / Periodo).ToEntero
For Ciclo As Integer = 1 To CiclosComerciales
If Not ObjContratos.CicloComercialAdd(CveContrato, -1, DdlCliente.SelectedValue.ToEntero, False, -1, 1, UsuarioActual.CveEmpresa, FechaI.AddDays(Periodo * Ciclo)) Then TieneError = True : Exit For
Next
ElseIf DdlTipoContrato.SelectedValue = "25" Then
Dim FechaI As DateTime = TxtFechaInicial.Text.ToDateTime
Dim FechaF As DateTime = TxtFechaFinal.Text.ToDateTime
If FechaI >= DateTime.Today Then
If Not ObjContratos.CicloComercialAdd(CveContrato, -1, DdlCliente.SelectedValue.ToEntero, False, -1, 1, UsuarioActual.CveEmpresa, FechaI) Then TieneError = True
End If
Dim Periodo As Integer = DtPeriodo.FiltroPrimeroValor("Meses", $"CvePeriodo = {DdlPeriodo.SelectedValue.ToEntero}").ToEntero
Dim VigenciaMeses As Double = DateDiff(DateInterval.Month, FechaI, FechaF)
Dim CiclosComerciales As Integer = Math.Ceiling(VigenciaMeses / Periodo).ToEntero
For Ciclo As Integer = 1 To CiclosComerciales
If Not ObjContratos.CicloComercialAdd(CveContrato, -1, DdlCliente.SelectedValue.ToEntero, False, -1, 1, UsuarioActual.CveEmpresa, If(FechaI.AddMonths(Periodo * Ciclo) > FechaF, FechaF, FechaI.AddMonths(Periodo * Ciclo))) Then TieneError = True : Exit For
Next
End If
If TxtNumeroContrato.Text = FolioSugerido Then
Dim ObjFolios As New ClsGralFolios
If Not ObjFolios.UpdateFolioActual(DdlSubProyectoContrato.SelectedValue.ToEntero, "Con", True, UsuarioActual.CveEmpresa) Then
TieneError = True
End If
ObjFolios.Dispose()
End If
If ChkImpuestosLocales.Checked Then
Dim count As Integer = 0
For Each GVR As GridViewRow In GvImpuestosLocales.Rows
If GVR.FCCheckBox("ChkDeduccion").Checked Then
count = count + 1
ObjContratos.AddContratoImpuestosLocales(CveContrato, GVR.DataKey("CveImpuestoLocal").ToEntero)
End If
Next
If count = 0 Then
Alert("Debe seleccionar un Impuesto Local", TipoMensaje.MsgAdvertencia)
TieneError = True
End If
End If
Else
TieneError = True
End If
Else
Modificado = True
Dim ArchivoUpdate As String = "-1"
If Session("FileExtension").ToString <> "" Then
ArchivoUpdate = "." & Session("FileExtension").ToString
Else
End If
If ObjContratos.UpdateContratos(CveContrato, TxtNumeroContrato.Text, TxtDescripcionContrato.Text, TxtNumeroLicitacion.Text.Trim, DdlContratista.SelectedValue.ToEntero, DdlCliente.SelectedValue.ToEntero, -1, TxtFechaInicial.Text.ToDate, TxtFechaFinal.Text.ToDate,
TxtUbicacion.Text, TxtResponsable.Text, DdlSubProyectoContrato.SelectedValue.ToEntero, TxtPorIVA.Text.ToDouble, TxtPorAnticipo.Text.ToDouble, TxtPorAmortizacionAnticipo.Text.ToDouble,
TxtPorGarantia.Text.ToDouble, ArchivoUpdate, "", DdlContratoPadre.SelectedValue.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, False, Minimo, Maximo, Total, DdlMoneda.SelectedValue.ToEntero,
ModalidadDetalle, If(UsuarioActual.Empresa.CvePlataforma = 3 OrElse CveTipoContrato = 25, 1, DdlEstatus.SelectedValue.ToEntero), TipoContrato, TxtTipoCambio.Text.ToDouble, CveSucursalCliente:=DdlSucursalCliente.SelectedValue.ToEntero,
CveAlmacenOrigen:=DdlAlmacenOrigen.SelectedValue.ToEntero, CveAlmacenDestino:=DdlAlmacenDestino.SelectedValue.ToEntero, PorcentajeComision:=TxtPorcentajeComision.Text.ToEntero,
TipoGarantia:=DdlTipoGarantia.SelectedValue.ToEntero, Folio:=TxtFolio.Text.ToEntero, FechaVenc:=txtFechaVenc.Text.ToDate, EstatusFianza:=DdlEstatusFianza.SelectedValue.ToEntero, CveContratoPlantilla:=DdlPlantillaContrato.SelectedValue.ToEntero,
CveCuentaEquipo:=DdlCuentaEquipo.SelectedValue.ToEntero, CveVendedor:=DdlVendedor.SelectedValue.ToEntero, Observaciones:=TxtObservaciones.Text, CveDireccionEnvio:=DdlClienteDireccionEnvio.SelectedValue.ToEntero, AplicaImpuestosLocales:=ChkImpuestosLocales.Checked,
CorreoNotificacionPedDev:=TxtCorreoNotificacion.Text.Trim()) Then
TieneError = Not GuardaFianzas(ObjContratos)
'Renombrar archivo
If Not TieneError Then
If UsuarioActual.Empresa.CvePlataforma = 3 AndAlso DdlTipoContrato.SelectedValue = "14" Then
Dim FechaIN As DateTime = TxtFechaInicial.Text.ToDateTime
Dim FechaFN As DateTime = TxtFechaFinal.Text.ToDateTime
Dim Periodo As Integer = DtPeriodo.FiltraParametros($"CvePeriodo = {DdlPeriodo.SelectedValue.ToEntero}").Rows(0)("Dias").ToString.ToEntero
Dim VigenciaEnDias As Double = DateDiff(DateInterval.Day, FechaI, FechaF)
Dim CiclosComerciales As Integer = Math.Round(VigenciaEnDias / Periodo).ToEntero
For Ciclo As Integer = 1 To CiclosComerciales
If Not ObjContratos.CicloComercialAdd(CveContrato, -1, DdlCliente.SelectedValue.ToEntero, False, -1, 1, UsuarioActual.CveEmpresa, FechaI.AddDays(Periodo * Ciclo)) Then TieneError = True : Exit For
Next
ElseIf CveTipoContrato = 25 Then
Dim FechaIN As DateTime = TxtFechaInicial.Text.ToDateTime
Dim FechaFN As DateTime = TxtFechaFinal.Text.ToDateTime
If FechaFN <> FechaF OrElse FechaI <> FechaIN Then
If Not ObjContratos.CicloComercialDelete(CveContrato, False, UsuarioActual.CveEmpresa) Then
TieneError = True
End If
If Not TieneError Then
If FechaIN >= DateTime.Today Then
If Not ObjContratos.CicloComercialAdd(CveContrato, -1, DdlCliente.SelectedValue.ToEntero, False, -1, 1, UsuarioActual.CveEmpresa, FechaIN) Then TieneError = True
End If
Dim Periodo As Integer = DtPeriodo.FiltroPrimeroValor("Meses", $"CvePeriodo = {DdlPeriodo.SelectedValue.ToEntero}").ToEntero
Dim VigenciaMeses As Double = DateDiff(DateInterval.Month, FechaI, FechaF)
Dim CiclosComerciales As Integer = Math.Ceiling(VigenciaMeses / Periodo).ToEntero
For Ciclo As Integer = 1 To CiclosComerciales
If Not ObjContratos.CicloComercialAdd(CveContrato, -1, DdlCliente.SelectedValue.ToEntero, False, -1, 1, UsuarioActual.CveEmpresa, If(FechaIN.AddMonths(Periodo * Ciclo) > FechaFN, FechaFN, FechaIN.AddMonths(Periodo * Ciclo))) Then TieneError = True : Exit For
Next
End If
End If
End If
If ViewState("extencion") IsNot Nothing Then
If ViewState("FUrl").ToString.Length > 0 AndAlso ViewState("extencion").ToString.Length > 0 Then
If Not Directory.Exists(ModExtensiones.DirectorioBaseEmpresas + "Empresas\" & UsuarioActual.CveEmpresa & "\Contratos") Then
Directory.CreateDirectory(ModExtensiones.DirectorioBaseEmpresas + "Empresas\" & UsuarioActual.CveEmpresa & "\Contratos")
End If
Ruta = ModExtensiones.DirectorioBaseEmpresas + "Empresas\" & UsuarioActual.CveEmpresa & "\Contratos\"
Try
If File.Exists(String.Format("{0}{1}.{2}", Ruta, CveContrato.ToString, ViewState("extencion").ToString)) Then
File.Delete(String.Format("{0}{1}.{2}", Ruta, CveContrato.ToString, ViewState("extencion").ToString))
End If
System.IO.File.Move(ViewState("FUrl").ToString, String.Format("{0}{1}.{2}", Ruta, CveContrato.ToString, ViewState("extencion").ToString))
Catch ex As Exception
End Try
' System.IO.File.Move(Archivo, String.Format("{0}{1}{2}", Ruta, CveContrato.ToString, Extension))
End If
End If
If ChkImpuestosLocales.Checked Then
Dim count As Integer = 0
ObjContratos.LimpiaImpuestosLocales(CveContrato)
For Each GVR As GridViewRow In GvImpuestosLocales.Rows
If GVR.FCCheckBox("ChkDeduccion").Checked Then
count = count + 1
ObjContratos.AddContratoImpuestosLocales(CveContrato, GVR.DataKey("CveImpuestoLocal").ToEntero)
End If
Next
If count = 0 Then
Alert("Debe seleccionar un Impuesto Local", TipoMensaje.MsgAdvertencia)
TieneError = True
End If
Else
ObjContratos.LimpiaImpuestosLocales(CveContrato)
End If
End If
Else
TieneError = True
End If
End If
If TieneError Then If TieneError Then
ObjContratos.RollBack() ObjContratos.RollBack()
Else Else
ObjContratos.Commit() ObjContratos.Commit()
If ObjContratos.GetContratos(-1, -1) Then
Application("GlobalDTContratos") = ObjContratos.DtResultados
End If
Limpiar() Limpiar()
If Modificado Then If Modificado Then
Alert("El Contrato se modificó Correctamente.", TipoMensaje.MsgInformacion, String.Format("document.location.href=""/Contratos/Contrato.aspx?CveContrato={0}""", CveContrato)) Alert("El Contrato se modificó Correctamente.", TipoMensaje.MsgInformacion, String.Format("document.location.href=""/Contratos/Contrato.aspx?CveContrato={0}""", CveContrato))
@@ -1454,10 +1458,104 @@ Partial Class Contratos_Default
Alert("El Contrato se registró Correctamente.", TipoMensaje.MsgInformacion, String.Format("document.location.href=""/Contratos/Contrato.aspx?CveContrato={0}""", CveContrato)) Alert("El Contrato se registró Correctamente.", TipoMensaje.MsgInformacion, String.Format("document.location.href=""/Contratos/Contrato.aspx?CveContrato={0}""", CveContrato))
End If End If
End If End If
UpGral.Update()
ObjContratos.Dispose() ObjContratos.Dispose()
UpGral.Update()
RecargaGlobalContratos()
End Sub
Private Function GenerarCiclosComerciales(CveContrato As Integer, EsActualizacion As Boolean, ByRef ObjContratos As ClsContratos) As Boolean
Dim TieneError As Boolean = False
Dim FechaI As DateTime = TxtFechaInicial.Text.ToDateTime
Dim FechaF As DateTime = TxtFechaFinal.Text.ToDateTime
If EsActualizacion Then
Dim DtCiclos As DataTable = Nothing
If ObjContratos.CicloComercialGet(Me.CveContrato, -1, -1, UsuarioActual.CveEmpresa, MinFecha, MaxFecha) Then
Dim RowCiclo As DataRow = ObjContratos.DtResultados.FiltroPrimero("FueFacturado = 1", Orderby:="FechaVenc DESC")
If RowCiclo IsNot Nothing Then
FechaI = RowCiclo("FechaVenc").ToString().ToDateTime()
End If
Else
TieneError = True
End If
If Not ObjContratos.CicloComercialDelete(CveContrato, False, UsuarioActual.CveEmpresa) Then
TieneError = True
End If
End If
Dim PeriodoMeses As Integer = DtPeriodo.FiltroPrimeroValor("Meses", $"CvePeriodo = {DdlPeriodo.SelectedValue.ToEntero}").ToEntero
Dim PeriodoDias As Integer = DtPeriodo.FiltraParametros($"CvePeriodo = {DdlPeriodo.SelectedValue.ToEntero}").Rows(0)("Dias").ToString.ToEntero
If PeriodoMeses > 0 AndAlso PeriodoDias <= 0 Then
Dim VigenciaMeses As Double = DateDiff(DateInterval.Month, FechaI, FechaF)
Dim CiclosComercialesEnMeses As Integer = Math.Ceiling(VigenciaMeses / PeriodoMeses).ToEntero
For Ciclo As Integer = 1 To CiclosComercialesEnMeses
Dim FechaRef As DateTime = FechaI.AddMonths(PeriodoMeses * Ciclo)
Dim lastDayOfMonth = DateTime.DaysInMonth(FechaRef.Year, FechaRef.Month)
Dim DiaMes As Integer = If(FechaRef.Day < DdlDiaFact.SelectedValue.ToEntero(), lastDayOfMonth, DdlDiaFact.SelectedValue.ToEntero())
Dim FechaFact = New DateTime(FechaRef.Year, FechaRef.Month, DiaMes)
FechaFact = If(FechaFact > FechaF, FechaF, FechaFact)
If Not ObjContratos.CicloComercialAdd(CveContrato, -1, DdlCliente.SelectedValue.ToEntero, False, -1, 1, UsuarioActual.CveEmpresa, FechaFact) Then TieneError = True : Exit For
Next
End If
If PeriodoDias > 0 AndAlso PeriodoMeses <= 0 Then
Dim VigenciaEnMeses As Double = DateDiff(DateInterval.Month, FechaI, FechaF)
Dim CiclosComercialesEnDias As Integer = VigenciaEnMeses.ToEntero()
'RECORRE LOS MESES QUE VA A FACTURAR
For CicloMes As Integer = 1 To CiclosComercialesEnDias
Dim FechaRef As DateTime = FechaI.AddMonths(CicloMes)
Dim CiclosPorMesDecimal As Double = (FechaRef.LastDayOfMonth().Day.ToString().ToDouble() / PeriodoDias.ToString().ToDouble())
Dim CiclosPorMes As Integer = Math.Truncate(CiclosPorMesDecimal).ToEntero()
Dim DecimalPart As Double = CiclosPorMesDecimal - CiclosPorMes.ToString().ToDouble()
If DecimalPart > 0.7D Then
CiclosPorMes += 1
End If
Dim DiaAnterior As Integer = 0
For CicloDias = 1 To CiclosPorMes
Dim DiaMes As Integer = 0
If CicloDias = 1 Then
DiaMes = DdlDiaFact.SelectedValue.ToEntero()
Else
DiaMes = DiaAnterior + PeriodoDias
End If
Dim FechaFact As DateTime = New DateTime(FechaRef.Year, FechaRef.Month, If(DiaMes > FechaRef.LastDayOfMonth().Day, FechaRef.LastDayOfMonth().Day, DiaMes))
DiaAnterior = FechaFact.Day
If Not ObjContratos.CicloComercialAdd(CveContrato, -1, DdlCliente.SelectedValue.ToEntero, False, -1, 1, UsuarioActual.CveEmpresa, FechaFact) Then TieneError = True : Exit For
Next
Next
End If
Return Not TieneError
End Function
Private Sub RecargaGlobalContratos()
Using ObjContratos As New ClsContratos
If ObjContratos.GetContratos(-1, -1) Then
Application("GlobalDTContratos") = ObjContratos.DtResultados
End If
End Using
End Sub End Sub
#End Region #End Region
@@ -3468,13 +3566,54 @@ Partial Class Contratos_Default
End If End If
DdlPeriodo.DataSource = DtPeriodo DdlPeriodo.DataSource = DtPeriodo
ObjContratos.Dispose() ObjContratos.Dispose()
DdlPeriodo.DataBind() DdlPeriodo.DataBind()
UpGral.Update() UpGral.Update()
End Sub End Sub
Protected Sub DdlPeriodo_SelectedIndexChanged(sender As Object, e As EventArgs)
If DtPeriodo IsNot Nothing Then
If DdlPeriodo.SelectedValue.ToEntero() > 0 Then
Dim PeriodoDias As Integer = DtPeriodo.FiltraParametros($"CvePeriodo = {DdlPeriodo.SelectedValue.ToEntero}").Rows(0)("Dias").ToString.ToEntero
If PeriodoDias > 0 Then
CargaDiasMes(PeriodoDias)
Else
CargaDiasMes()
End If
Else
CargaDiasMes()
End If
Else
CargaDiasMes()
End If
End Sub
Private Sub CargaDiasMes(Optional NumMaxDias As Integer = 31)
DdlDiaFact.Items.Clear()
For i = 1 To NumMaxDias
DdlDiaFact.Items.Add(New ListItem(i.ToString(), i.ToString()))
Next
End Sub
Private Sub CargaCiclosComerciales()
If ChkAplicaFacCiclica.Checked Then
DivCiclosComerciales.Visible = True
Using ObjContratos As New ClsContratos
If ObjContratos.CicloComercialGet(Me.CveContrato, -1, -1, UsuarioActual.CveEmpresa, MinFecha, MaxFecha) Then
GvCiclosComerciales.DataSource = ObjContratos.DtResultados.FiltraParametros("", Orderby:="FechaVenc ASC")
End If
End Using
Else
DivCiclosComerciales.Visible = False
End If
GvCiclosComerciales.DataBind()
UpFacCiclica.Update()
End Sub
#End Region #End Region
#Region " IMPRESION " #Region " IMPRESION "
#Region " IMPRIMIR AVANCE POR DOCUMENTO " #Region " IMPRIMIR AVANCE POR DOCUMENTO "
Protected Sub ImgImprimir_Click(sender As Object, e As EventArgs) Handles LBImprimir.Click Protected Sub ImgImprimir_Click(sender As Object, e As EventArgs) Handles LBImprimir.Click
GenerarPDF() GenerarPDF()
@@ -4339,15 +4478,22 @@ Partial Class Contratos_Default
ObjContratos.Dispose() ObjContratos.Dispose()
GvImpuestosLocales.DataBind() GvImpuestosLocales.DataBind()
UpImpuestos.Update() UpImpuestos.Update()
End Sub End Sub
#End Region #End Region
Protected Sub ChkAplicaFacCiclica_CheckedChanged(sender As Object, e As EventArgs)
DivFacCiclica.Visible = ChkAplicaFacCiclica.Checked
DivCiclosComerciales.Visible = ChkAplicaFacCiclica.Checked
UpFacCiclica.Update()
End Sub
End Class End Class

View File

@@ -195,7 +195,10 @@ Partial Class Contratos_FacturacionMasiva
End Sub End Sub
Protected Sub btnConsultar_Click(sender As Object, e As EventArgs) Handles BtnCargaAsignados.Click Protected Sub btnConsultar_Click(sender As Object, e As EventArgs) Handles BtnCargaAsignados.Click
CargaDatos(DdlContrato.SelectedValue.ToEntero, DdlCliente.SelectedValue.ToEntero) Dim CveContrato As Integer = If(DdlContrato.SelectedValue.ToEntero <= 0, -1, DdlContrato.SelectedValue.ToEntero)
Dim CveCliente As Integer = If(DdlCliente.SelectedValue.ToEntero <= 0, -1, DdlCliente.SelectedValue.ToEntero)
CargaDatos(CveContrato, CveCliente)
RegistraScript("$('#ex').removeClass('expand');$('#ex').addClass('collapse');$('.portlet-body').css('display', '');") RegistraScript("$('#ex').removeClass('expand');$('#ex').addClass('collapse');$('.portlet-body').css('display', '');")
End Sub End Sub
@@ -232,7 +235,10 @@ Partial Class Contratos_FacturacionMasiva
Alert("No se generaron facturas", TipoMensaje.MsgAdvertencia) Alert("No se generaron facturas", TipoMensaje.MsgAdvertencia)
End If End If
CargaDatos(DdlContrato.SelectedValue.ToEntero, DdlCliente.SelectedValue.ToEntero) Dim CveContrato As Integer = If(DdlContrato.SelectedValue.ToEntero <= 0, -1, DdlContrato.SelectedValue.ToEntero)
Dim CveCliente As Integer = If(DdlCliente.SelectedValue.ToEntero <= 0, -1, DdlCliente.SelectedValue.ToEntero)
CargaDatos(CveContrato, CveCliente)
RegistraScript("$('#divAgregar').modal('hide')") RegistraScript("$('#divAgregar').modal('hide')")
UpBodyEstatus.Update() UpBodyEstatus.Update()
End Sub End Sub
@@ -245,6 +251,7 @@ Partial Class Contratos_FacturacionMasiva
Dim Resp As New Modelos.Factura.MMensajeFactura Dim Resp As New Modelos.Factura.MMensajeFactura
ViewState("CveCicloComercial") = pCveCicloComercial ViewState("CveCicloComercial") = pCveCicloComercial
CreaObjetosVenta() CreaObjetosVenta()
If ObjFactura Is Nothing Or ObjFactura.Cliente Is Nothing Then If ObjFactura Is Nothing Or ObjFactura.Cliente Is Nothing Then
Alert("Ocurrió un error al procesar los datos de la Venta.", TipoMensaje.MsgError) Alert("Ocurrió un error al procesar los datos de la Venta.", TipoMensaje.MsgError)
ObjFactura = Nothing ObjFactura = Nothing
@@ -253,7 +260,7 @@ Partial Class Contratos_FacturacionMasiva
If ObjFactura.CveCliente > 0 Then If ObjFactura.CveCliente > 0 Then
If DTDetalle.Rows.Count > 0 Then If ObjFactura.DtDetalle.Rows.Count > 0 Then
Resp = ObjFactura.EmitirFactura() Resp = ObjFactura.EmitirFactura()
@@ -468,9 +475,7 @@ Partial Class Contratos_FacturacionMasiva
TmpDT.Columns.Add("EsCargo", GetType(Boolean)) TmpDT.Columns.Add("EsCargo", GetType(Boolean))
End Sub End Sub
Private Sub CreaObjetosVenta(Optional VistaPrevia As Boolean = False) Private Sub CreaObjetosVenta(Optional VistaPrevia As Boolean = False)
Dim ObjFolios As New ClsGralFolios()
Dim Folio As String = ""
Dim Serie As String = ""
Dim CveProyecto As String = "" Dim CveProyecto As String = ""
Dim CveSubProyecto As String = "" Dim CveSubProyecto As String = ""
Dim Proyecto As String = "" Dim Proyecto As String = ""
@@ -479,21 +484,21 @@ Partial Class Contratos_FacturacionMasiva
ObjFactura = New Modelos.Factura(UsuarioActual) ObjFactura = New Modelos.Factura(UsuarioActual)
ObjFactura.DirectorioServidor = Server.MapPath("/") ObjFactura.DirectorioServidor = Server.MapPath("/")
ObjFactura.CveCicloComercial = CveCicloComercial ObjFactura.CveCicloComercial = CveCicloComercial
Dim DR As DataRow = DTCicloComercial.FiltroPrimero($"CveCicloComercial = {CveCicloComercial}") Dim DR As DataRow = DTCicloComercial.FiltroPrimero($"CveCicloComercial = {CveCicloComercial}")
ObjFactura.Version = "3.3" ObjFactura.Version = "3.3"
ObjFactura.CveUsuario = UsuarioActual.CveUsuario ObjFactura.CveUsuario = UsuarioActual.CveUsuario
ObjFactura.CveEmpresa = UsuarioActual.CveEmpresa ObjFactura.CveEmpresa = UsuarioActual.CveEmpresa
ObjFactura.TipoCambio = 20 ObjFactura.TipoCambio = 1
ObjFactura.ConvertirPesos = False ObjFactura.ConvertirPesos = False
ObjFactura.CveMoneda = DR("CveMoneda").ToString.ToEntero ObjFactura.CveMoneda = DR("CveMoneda").ToString.ToEntero
ObjFactura.Moneda = GlobalDTMonedas.FiltroPrimeroValor("Moneda", $"CveMoneda = {ObjFactura.CveMoneda} ") ObjFactura.Moneda = GlobalDTMonedas.FiltroPrimeroValor("Moneda", $"CveMoneda = {ObjFactura.CveMoneda} ")
ObjFactura.MonedaSAT = GlobalDTMonedas.FiltroPrimeroValor("AbreviaturaSAT", $"CveMoneda = {DR("CveMoneda").ToString.ToEntero}") ObjFactura.MonedaSAT = GlobalDTMonedas.FiltroPrimeroValor("AbreviaturaSAT", $"CveMoneda = {DR("CveMoneda").ToString.ToEntero}")
ObjFactura.TipoDocto = "Ing" ObjFactura.TipoDocto = "Ing"
ObjFactura.RefDocto = "" ObjFactura.RefDocto = ""
ObjFactura.Folio = Folio.ToEntero ObjFactura.Folio = -1
'ObjFactura.Folio = If(ExFolioFactura, FolioXML.ToEntero, -1) ObjFactura.Serie = "-1"
ObjFactura.Serie = Serie
ObjFactura.CveMesa = -1 ObjFactura.CveMesa = -1
ObjFactura.Fecha = DR("FechaVenc").ToString.ToDate ObjFactura.Fecha = DR("FechaVenc").ToString.ToDate
ObjFactura.CvePrePoliza = -1 ObjFactura.CvePrePoliza = -1
@@ -533,18 +538,7 @@ Partial Class Contratos_FacturacionMasiva
ObjFactura.CveSubProyectoEjecucion = CveSubProyecto.ToEntero ObjFactura.CveSubProyectoEjecucion = CveSubProyecto.ToEntero
SubProyecto = DR("SubProyectoContrato").ToString SubProyecto = DR("SubProyectoContrato").ToString
If ObjFolios.GetFolios("Ing", UsuarioActual.CveEmpresa) Then
Dim DT As DataTable = ObjFolios.DtResultados.FiltraParametros(String.Format($" Estado = 'Activo' AND CveSubProyecto = {CveSubProyecto} "))
If DT.Rows.Count > 0 Then
Serie = DT.Rows(0)("Serie").ToString
Folio = DT.Rows(0)("FActual").ToString
End If
DT.Dispose()
End If
ObjFolios.Dispose()
Dim objContratos As New ClsContratos Dim objContratos As New ClsContratos
If objContratos.GetContratosDetalle(DR("CveContrato").ToString.ToEntero) Then If objContratos.GetContratosDetalle(DR("CveContrato").ToString.ToEntero) Then
@@ -561,8 +555,6 @@ Partial Class Contratos_FacturacionMasiva
ObjFactura.RetISR = SUM(DTDetalle, "ImporteRetISR").ToDecimal ObjFactura.RetISR = SUM(DTDetalle, "ImporteRetISR").ToDecimal
ObjFactura.IEPS = SUM(DTDetalle, "ImporteIEPS").ToDecimal ObjFactura.IEPS = SUM(DTDetalle, "ImporteIEPS").ToDecimal
ObjFactura.Total = ObjFactura.SubTotal + ObjFactura.IVA + ObjFactura.IEPS - (ObjFactura.RetIVA + ObjFactura.RetISR) ObjFactura.Total = ObjFactura.SubTotal + ObjFactura.IVA + ObjFactura.IEPS - (ObjFactura.RetIVA + ObjFactura.RetISR)
ObjFactura.Serie = Serie
ObjFactura.Folio = Folio.ToEntero
For Each row As DataRow In DTDetalle.Rows For Each row As DataRow In DTDetalle.Rows
Dim drPS As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=row("CvePS").ToString().ToEntero()).FiltroPrimero("") Dim drPS As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=row("CvePS").ToString().ToEntero()).FiltroPrimero("")

View File

@@ -662,7 +662,6 @@
' RegisterNotification() ' RegisterNotification()
'End If 'End If
'----------------- '-----------------
AspMap.License.SetLicenseKey("ccfecfcegknepnhmjighpjjpmpmbajfejhnladegmeanci")
GlobalConfiguration.Configure(AddressOf WebApiConfig.Register) GlobalConfiguration.Configure(AddressOf WebApiConfig.Register)

View File

@@ -1,4 +1,4 @@
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="EntregaAlmacen.aspx.vb" Inherits="Inventarios_EntregaAlmacen" enableEventValidation="false" %> <%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="EntregaAlmacen.aspx.vb" Inherits="Inventarios_EntregaAlmacen" EnableEventValidation="false" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server"> <asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
</asp:Content> </asp:Content>
@@ -31,12 +31,12 @@
.gvEscondeColumna tr td:nth-child(3) { .gvEscondeColumna tr td:nth-child(3) {
display: none; display: none;
width:0px; width: 0px;
} }
.gvEscondeColumna tr th:nth-child(3) { .gvEscondeColumna tr th:nth-child(3) {
display: none; display: none;
width:0px; width: 0px;
} }
.btn.default:hover { .btn.default:hover {
@@ -69,6 +69,10 @@
<ADS:Dropdownlost ID="DdlClientes" CssClassDdl="select2me" runat="server" CssStyle="width: 350px;" DataTextField="NombreComercial" Onselectedindexchange="DdlCliente_SelectedIndexChanged" DataValueField="CveCliente"></ADS:Dropdownlost> <ADS:Dropdownlost ID="DdlClientes" CssClassDdl="select2me" runat="server" CssStyle="width: 350px;" DataTextField="NombreComercial" Onselectedindexchange="DdlCliente_SelectedIndexChanged" DataValueField="CveCliente"></ADS:Dropdownlost>
<%--<asp:DropDownList ID="DdlClientes" runat="server" DataValueField="CveCliente" DataTextField="Nombre" OnSelectedIndexChanged="DdlCliente_SelectedIndexChanged" AutoPostBack="true" CssClass="form-control input-sm select2me" Width="350px"></asp:DropDownList>--%> <%--<asp:DropDownList ID="DdlClientes" runat="server" DataValueField="CveCliente" DataTextField="Nombre" OnSelectedIndexChanged="DdlCliente_SelectedIndexChanged" AutoPostBack="true" CssClass="form-control input-sm select2me" Width="350px"></asp:DropDownList>--%>
</li> </li>
@@ -76,6 +80,10 @@
<asp:DropDownList ID="DdlFolio" runat="server" DataValueField="CveVenta" DataTextField="SerieFolio" CssClass="form-control input-sm select2me" Width="250px"></asp:DropDownList> <asp:DropDownList ID="DdlFolio" runat="server" DataValueField="CveVenta" DataTextField="SerieFolio" CssClass="form-control input-sm select2me" Width="250px"></asp:DropDownList>
<asp:RequiredFieldValidator ID="RFVFolio" runat="server" ControlToValidate="DdlFolio" InitialValue="-1" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Folio''</b> es necesario, por favor ingréselo." ValidationGroup="GrpBuscar"></asp:RequiredFieldValidator> <asp:RequiredFieldValidator ID="RFVFolio" runat="server" ControlToValidate="DdlFolio" InitialValue="-1" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Folio''</b> es necesario, por favor ingréselo." ValidationGroup="GrpBuscar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCEFolio" runat="server" HighlightCssClass="vco" TargetControlID="RFVFolio" Width="300px"></ajax:ValidatorCalloutExtender> <ajax:ValidatorCalloutExtender ID="VCEFolio" runat="server" HighlightCssClass="vco" TargetControlID="RFVFolio" Width="300px"></ajax:ValidatorCalloutExtender>
@@ -244,14 +252,14 @@
</tr> </tr>
<tr> <tr>
<td colspan="2"> <td colspan="2">
<asp:Panel ID="PnlEntrega" runat="server" Visible="false"> <asp:Panel ID="PnlEntrega" runat="server" Visible="false">
<asp:RadioButton id="RbSinEntrega" runat="server" OnCheckedChanged="EntregaRadioGroup_Click" Width="33%" GroupName="EntregaRadioGroup" Text="Entrega en mostrador" AutoPostBack="true"></asp:RadioButton> <asp:RadioButton ID="RbSinEntrega" runat="server" OnCheckedChanged="EntregaRadioGroup_Click" Width="33%" GroupName="EntregaRadioGroup" Text="Entrega en mostrador" AutoPostBack="true"></asp:RadioButton>
<asp:RadioButton id="RbEntregaInterna" runat="server" OnCheckedChanged="EntregaRadioGroup_Click" Width="30%" GroupName="EntregaRadioGroup" Text="Entrega Interna" AutoPostBack="true"></asp:RadioButton> <asp:RadioButton ID="RbEntregaInterna" runat="server" OnCheckedChanged="EntregaRadioGroup_Click" Width="30%" GroupName="EntregaRadioGroup" Text="Entrega Interna" AutoPostBack="true"></asp:RadioButton>
<asp:RadioButton id="RbEntregaExterna" runat="server" OnCheckedChanged="EntregaRadioGroup_Click" Width="30%" GroupName="EntregaRadioGroup" Text="Entrega Externa" AutoPostBack="true"></asp:RadioButton> <asp:RadioButton ID="RbEntregaExterna" runat="server" OnCheckedChanged="EntregaRadioGroup_Click" Width="30%" GroupName="EntregaRadioGroup" Text="Entrega Externa" AutoPostBack="true"></asp:RadioButton>
</asp:Panel> </asp:Panel>
<asp:LinkButton ID="LnkPaqueteriaDetalle" runat="server" OnClick="PaqueteriaDetalle_Click" Visible="false">ver detalle de entrega</asp:LinkButton> <asp:LinkButton ID="LnkPaqueteriaDetalle" runat="server" OnClick="PaqueteriaDetalle_Click" Visible="false">ver detalle de entrega</asp:LinkButton>
</td> </td>
</tr> </tr>
@@ -292,6 +300,10 @@
<b>Sucursal:</b> <b>Sucursal:</b>
<asp:DropDownList ID="DdlSubProyectos" runat="server" CssClass="form-control input-sm select2me" DataTextField="SubProyecto" DataValueField="CveSubProyecto" Width="90px"></asp:DropDownList> <asp:DropDownList ID="DdlSubProyectos" runat="server" CssClass="form-control input-sm select2me" DataTextField="SubProyecto" DataValueField="CveSubProyecto" Width="90px"></asp:DropDownList>
@@ -379,6 +391,39 @@
</div> </div>
<%--PERSONAL ENTREGA--%>
<div class="col-md-12" runat="server" id="DivPersonalEntrega" visible="false">
<div class="portlet light xspadding bordered">
<div class="portlet-title">
<div class="caption font-green">
<i class="icon-pin font-green"></i>
<span class="caption-subject bold uppercase">Entregas solo a:</span>
</div>
</div>
<div class="portlet-body form">
<asp:UpdatePanel runat="server" ID="UpClentesPersonalEntrega" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="GvClentesPersonalEntrega" runat="server" Width="100%" GridLines="None" DataKeyNames="CvePersonalEntrega,PersonalEntrega,Nombre,CveUsuario,Usuario,FechaIng,Estatus,Estado"
CssClass="table table-striped table-advance table-hover mysmallbtn ScrollAD" AutoGenerateColumns="False" EmptyDataText="No se encontraron registros" ToolTip="Listado de direcciones de envio">
<Columns>
<asp:BoundField HeaderText="Personal" DataField="PersonalEntrega" ItemStyle-Width="80%" />
<%--<asp:BoundField HeaderText="Estatus" DataField="Estado" ItemStyle-Width="20%" />--%>
<%--<asp:TemplateField HeaderText="Acciones" ItemStyle-HorizontalAlign="Left" ItemStyle-Width="10%">
<ItemTemplate>
<asp:LinkButton ID="imgE" runat="server" AlternateText="Editar" CausesValidation="False" OnClick="EditClientesPersonalEntrega_Click" CssClass="btn btn-circle btn-sm green" Text="<i class='fa fa-pencil'></i>" />
<asp:LinkButton ID="imgD" runat="server" AlternateText="Eliminar" CausesValidation="False" OnClick="DeleteClientesPersonalEntrega_Click" CssClass="btn btn-circle btn-sm red" Text="<i class='icon-trash'></i>" data-toggle="confirmation" data-popout="true" data-original-title="Confirmar" data-btn-ok-label="si" />
</ItemTemplate>
</asp:TemplateField>--%>
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
</div>
</div> </div>
</div> </div>
</ContentTemplate> </ContentTemplate>
@@ -408,7 +453,7 @@
<asp:UpdatePanel runat="server"> <asp:UpdatePanel runat="server">
<ContentTemplate> <ContentTemplate>
<div class="row" runat="server" id="DivCodigoSeriePS" visible="false"> <div class="row" runat="server" id="DivCodigoSeriePS" visible="false">
<div class="col-md-2 pull-right"> <div class="col-md-2 pull-right">
<div class="btn-group" style="float: right;"> <div class="btn-group" style="float: right;">
<asp:Button ID="BtnVerSugerencias" CssClass="btn green-haze btn-outline btn-circle btn-sm" OnClick="BtnVerSugerencias_Click" runat="server" Text="Ver Secciones" /> <asp:Button ID="BtnVerSugerencias" CssClass="btn green-haze btn-outline btn-circle btn-sm" OnClick="BtnVerSugerencias_Click" runat="server" Text="Ver Secciones" />
@@ -437,10 +482,10 @@
</ContentTemplate> </ContentTemplate>
</asp:UpdatePanel> </asp:UpdatePanel>
<%--GV DATOS--%> <%--GV DATOS--%>
<asp:GridView ID="GvDatos" runat="server" EmptyDataText="Aun no hay registros." AutoGenerateColumns="False" ShowFooter="True" ShowHeader="true" ShowHeaderWhenEmpty="True" <asp:GridView ID="GvDatos" runat="server" EmptyDataText="Aun no hay registros." AutoGenerateColumns="False" ShowFooter="True" ShowHeader="true" ShowHeaderWhenEmpty="True"
DataKeyNames="Consec,CvePS,Codigo,CodigoBarras,AplicaSerieLote,CveUM,CantidadC,CantidadF,UM,PS,CveClasificacion,CveVentaDetalle,CveTamaño,AplicaSeccion, AplicaSerie,AplicaLote,AplicaCaducidad" HeaderStyle-CssClass="Titulos" CssClass="table table-striped table-hover Widthall ScrollAD gvInventario mysmallbtn" data-heighterror="450" data-freezerows="1" GridLines="None"> DataKeyNames="Consec,CvePS,Codigo,CodigoBarras,AplicaSerieLote,CveUM,CantidadC,CantidadF,UM,PS,CveClasificacion,CveVentaDetalle,CveTamaño,AplicaSeccion, AplicaSerie,AplicaLote,AplicaCaducidad" HeaderStyle-CssClass="Titulos" CssClass="table table-striped table-hover Widthall ScrollAD gvInventario mysmallbtn" data-heighterror="450" data-freezerows="1" GridLines="None">
<HeaderStyle Height="30px" /> <HeaderStyle Height="30px" />
<Columns> <Columns>
<asp:TemplateField> <asp:TemplateField>
@@ -452,11 +497,11 @@
<asp:BoundField HeaderText="Cant. Venta" DataField="CantidadC" DataFormatString="{0:#,##0.######}" ItemStyle-HorizontalAlign="Right" ItemStyle-Width="5%" /> <asp:BoundField HeaderText="Cant. Venta" DataField="CantidadC" DataFormatString="{0:#,##0.######}" ItemStyle-HorizontalAlign="Right" ItemStyle-Width="5%" />
<asp:BoundField HeaderText="Cant. Surtida" DataField="CantidadS" DataFormatString="{0:#,##0.######}" ItemStyle-HorizontalAlign="Right" /> <asp:BoundField HeaderText="Cant. Surtida" DataField="CantidadS" DataFormatString="{0:#,##0.######}" ItemStyle-HorizontalAlign="Right" />
<asp:TemplateField HeaderText="Cant. a Surtir" > <asp:TemplateField HeaderText="Cant. a Surtir">
<ItemTemplate> <ItemTemplate>
<asp:TextBox ID="TbCantidadF" runat="server" Width="50px" Mask="9,999.99" DataFormatString="{0:#,##0.######}" style="text-align: right" Text='<%# Eval("CantidadF", "{0:#,##0.######}") %>'></asp:TextBox> <asp:TextBox ID="TbCantidadF" runat="server" Width="50px" Mask="9,999.99" DataFormatString="{0:#,##0.######}" Style="text-align: right" Text='<%# Eval("CantidadF", "{0:#,##0.######}") %>'></asp:TextBox>
<asp:Button Text="Serie" ID="BtnSerie" OnClick="BtnSerie_Click" CssClass="btn btn-primary btn-xs" runat="server" /> <asp:Button Text="Serie" ID="BtnSerie" OnClick="BtnSerie_Click" CssClass="btn btn-primary btn-xs" runat="server" />
</ItemTemplate> </ItemTemplate>
</asp:TemplateField> </asp:TemplateField>
<asp:BoundField HeaderText="Unidad" DataField="UM" ItemStyle-HorizontalAlign="Center" ItemStyle-Width="5%" /> <asp:BoundField HeaderText="Unidad" DataField="UM" ItemStyle-HorizontalAlign="Center" ItemStyle-Width="5%" />
<asp:HyperLinkField HeaderText="Producto o Servicio" Target="_blank" DataTextField="CodigoPS" DataNavigateUrlFields="CvePS" DataNavigateUrlFormatString="/Ventas/ProductosServicios.aspx?CvePS={0}" ItemStyle-HorizontalAlign="Left" /> <asp:HyperLinkField HeaderText="Producto o Servicio" Target="_blank" DataTextField="CodigoPS" DataNavigateUrlFields="CvePS" DataNavigateUrlFormatString="/Ventas/ProductosServicios.aspx?CvePS={0}" ItemStyle-HorizontalAlign="Left" />
@@ -721,6 +766,7 @@
<div class="col-md-5" style="text-align: right;"> <div class="col-md-5" style="text-align: right;">
Cantidad Cantidad
</div> </div>
<div class="col-md-7"> <div class="col-md-7">
<asp:TextBox ClientIDMode="Static" ID="TxtCantidadEspecial" Text="" runat="server"></asp:TextBox> <asp:TextBox ClientIDMode="Static" ID="TxtCantidadEspecial" Text="" runat="server"></asp:TextBox>
@@ -763,6 +809,8 @@
<asp:Panel runat="server" DefaultButton="BtnGuardarCantidadEspecialDiv"> <asp:Panel runat="server" DefaultButton="BtnGuardarCantidadEspecialDiv">
Cant.: Cant.:
<asp:TextBox ClientIDMode="Static" ID="TxtCantidadEspecialDiv" Text="1" onfocus="this.select();" Width="50px" runat="server"></asp:TextBox> <asp:TextBox ClientIDMode="Static" ID="TxtCantidadEspecialDiv" Text="1" onfocus="this.select();" Width="50px" runat="server"></asp:TextBox>
<ajax:FilteredTextBoxExtender ID="SoloNumeros" runat="server" TargetControlID="TxtCantidadEspecialDiv" FilterType="Custom, Numbers" ValidChars="." /> <ajax:FilteredTextBoxExtender ID="SoloNumeros" runat="server" TargetControlID="TxtCantidadEspecialDiv" FilterType="Custom, Numbers" ValidChars="." />
<br /> <br />
@@ -885,7 +933,7 @@
<tr runat="server" id="RowDimensiones" align="left" visible="true"> <tr runat="server" id="RowDimensiones" align="left" visible="true">
<td class="text-right" style="width: 140px"><b># Cajas:</b></td> <td class="text-right" style="width: 140px"><b># Cajas:</b></td>
<td style="width: 200px"> <td style="width: 200px">
<asp:TextBox ID="TxtNoCajas" runat="server" CssClass="form-control" Width="200px" Height="30px" Style="padding: 0px"></asp:TextBox> <asp:TextBox ID="TxtNoCajas" runat="server" CssClass="form-control" Width="200px" Height="30px" Style="padding: 0px"></asp:TextBox>
</td> </td>
</tr> </tr>

View File

@@ -575,6 +575,7 @@ Partial Class Inventarios_EntregaAlmacen
CveContrato = DtDatos.Rows(0)("CveContrato").ToString.ToEntero CveContrato = DtDatos.Rows(0)("CveContrato").ToString.ToEntero
CveVendedor = DtDatos.Rows(0)("CveVendedor").ToString.ToEntero CveVendedor = DtDatos.Rows(0)("CveVendedor").ToString.ToEntero
CveCliente = DtDatos.Rows(0)("CveCliente").ToString.ToEntero CveCliente = DtDatos.Rows(0)("CveCliente").ToString.ToEntero
ClienteEntregaPersonal(CveCliente)
CveSubProyecto = DtDatos.Rows(0)("CveSubProyecto").ToString.ToEntero CveSubProyecto = DtDatos.Rows(0)("CveSubProyecto").ToString.ToEntero
EsInterno = CBool(DtDatos.Rows(0)("EsInterno").ToString) EsInterno = CBool(DtDatos.Rows(0)("EsInterno").ToString)
@@ -3774,8 +3775,25 @@ Partial Class Inventarios_EntregaAlmacen
ElseIf RbEntregaInterna.Checked Then ElseIf RbEntregaInterna.Checked Then
'RegistraScript("$('#ModalPaqueteriaInterna').modal('show')") 'RegistraScript("$('#ModalPaqueteriaInterna').modal('show')")
End If End If
End Sub End Sub
#End Region #End Region
#Region "Cliente entrega personal"
Private Sub ClienteEntregaPersonal(CveCliente As Integer)
Dim ObjVentas As New ClsVentas()
If ObjVentas.GetClientesPersonalEntrega(-1, CveCliente, UsuarioActual.CveEmpresa, 1) Then
If ObjVentas.DtResultados.Rows.Count > 0 Then
GvClentesPersonalEntrega.DataSource = ObjVentas.DtResultados
GvClentesPersonalEntrega.DataBind()
DivPersonalEntrega.Visible = True
Else
DivPersonalEntrega.Visible = False
End If
End If
ObjVentas.Dispose()
UpClentesPersonalEntrega.Update()
End Sub
#End Region
End Class End Class

View File

@@ -139,7 +139,7 @@
<asp:UpdatePanel ID="UPFiltros" runat="server" UpdateMode="Conditional" RenderMode="Inline"> <asp:UpdatePanel ID="UPFiltros" runat="server" UpdateMode="Conditional" RenderMode="Inline">
<ContentTemplate> <ContentTemplate>
<div class="portlet solid grey-cascade portlet-filter"> <div class="portlet solid grey-cascade portlet-filter">
<div class="portlet-title portlet-filterT smalltitle" style="min-height: 49px; position: relative;"> <div class="portlet-title portlet-filterT smalltitle" style="min-height: 65px; position: relative;">
<div class="tools"> <div class="tools">
<asp:Button ID="btConsultar" runat="server" Text="Consultar" class="btn btn-primary" /> <asp:Button ID="btConsultar" runat="server" Text="Consultar" class="btn btn-primary" />
<a href="javascript;" data-idchekbox="<%= chkexpand.ClientID%>" class=" <%= IIf(chkexpand.Checked = True, "collapse", "expand")%>"></a> <a href="javascript;" data-idchekbox="<%= chkexpand.ClientID%>" class=" <%= IIf(chkexpand.Checked = True, "collapse", "expand")%>"></a>
@@ -156,7 +156,7 @@
<label class="col-md-1 truncate" style="max-width: 80px;">Almacén:</label> <label class="col-md-1 truncate" style="max-width: 80px;">Almacén:</label>
<div class="col-md-2"> <div class="col-md-2">
<%--<asp:DropDownList ID="ddlAlmacen" runat="server" CssClass="select2me " Style="width: 175px !important;" DataTextField="Almacen" DataValueField="CveAlmacen"></asp:DropDownList>--%> <%--<asp:DropDownList ID="ddlAlmacen" runat="server" CssClass="select2me " Style="width: 175px !important;" DataTextField="Almacen" DataValueField="CveAlmacen"></asp:DropDownList>--%>
<asp:ListBox ID="ddlAlmacen" SelectionMode="Multiple" CssClass="form-control ddlFiltros input-sm select2me Widthall" Style="width: 100%;" runat="server" <asp:ListBox ID="ddlAlmacen" SelectionMode="Multiple" data-text="Todos" CssClass="form-control ddlFiltros input-sm select2me Widthall" Style="width: 100%;" runat="server"
DataTextField="Almacen" DataValueField="CveAlmacen"></asp:ListBox> DataTextField="Almacen" DataValueField="CveAlmacen"></asp:ListBox>
</div> </div>

View File

@@ -93,7 +93,7 @@
<asp:LinkButton ID="LnkExportar" runat="server"><i class="fa fa-ad-excel"></i> Generar Excel</asp:LinkButton> <asp:LinkButton ID="LnkExportar" runat="server"><i class="fa fa-ad-excel"></i> Generar Excel</asp:LinkButton>
</li> </li>
<li> <li>
<asp:LinkButton runat="server" ID="LnkProyectos" OnClick="LnkProyectos_Click" Text="Proyectos" /> <asp:LinkButton runat="server" ID="LnkProyectado" OnClick="LnkProyectado_Click" Text="Cargar Proyecciones" />
</li> </li>
</asp:Content> </asp:Content>
@@ -200,8 +200,8 @@
<asp:Label runat="server" ID="LblProyectado" Text="Incluir Proyectados" class="col-md-1 truncate" /> <asp:Label runat="server" ID="LblProyectado" Text="Incluir Proyectados" class="col-md-1 truncate" />
<div class="col-md-2"> <div class="col-md-2">
<asp:DropDownList ID="DdlProyeccionFiltro" runat="server" CssClass="select2me" Width="100%" > <asp:DropDownList ID="DdlProyeccionFiltro" runat="server" CssClass="select2me" Width="100%" >
<asp:ListItem Text="Si" Value="1" Selected="True" /> <asp:ListItem Text="Si" Value="1" />
<asp:ListItem Text="No" Value="2" /> <asp:ListItem Text="No" Value="0" Selected="True" />
</asp:DropDownList> </asp:DropDownList>
</div> </div>
</asp:Panel> </asp:Panel>

View File

@@ -344,7 +344,7 @@ Partial Class Inventarios_KardexAlmacen
End Sub End Sub
Protected Sub LnkProyectos_Click(sender As Object, e As EventArgs) Protected Sub LnkProyectado_Click(sender As Object, e As EventArgs)
RegistraScript(String.Format("$('#{0}').modal();", "DivProyeccion")) RegistraScript(String.Format("$('#{0}').modal();", "DivProyeccion"))
End Sub End Sub

View File

@@ -106,7 +106,7 @@
<div class="col-md-12"> <div class="col-md-12">
<asp:UpdatePanel ID="UpDatos" UpdateMode="Conditional" runat="server"> <asp:UpdatePanel ID="UpDatos" UpdateMode="Conditional" runat="server">
<ContentTemplate> <ContentTemplate>
<asp:GridView ID="GvDatos" runat="server" data-sort="true" AutoGenerateColumns="False" DataKeyNames="CvePS,Serie,CveCliente,CveVendedor" EmptyDataText="No se encontraron datos con los filtros seleccionados" ToolTip="Listado de Movimientos" CssClass="Widthall table table-striped table-hover ScrollAD" GridLines="None"> <asp:GridView ID="GvDatos" runat="server" data-sort="true" AutoGenerateColumns="False" DataKeyNames="CvePS,Serie,CveCliente,CveVendedor,CveMovimientoDetalleEntrada" EmptyDataText="No se encontraron datos con los filtros seleccionados" ToolTip="Listado de Movimientos" CssClass="Widthall table table-striped table-hover ScrollAD" GridLines="None">
<Columns> <Columns>
<asp:BoundField HeaderText="Producto" DataField="GPO" /> <asp:BoundField HeaderText="Producto" DataField="GPO" />
<asp:BoundField HeaderText="Fecha" DataField="FechaMovto" DataFormatString="{0:d}" /> <asp:BoundField HeaderText="Fecha" DataField="FechaMovto" DataFormatString="{0:d}" />
@@ -175,5 +175,29 @@
</div> </div>
</asp:Content> </asp:Content>
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server"> <asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
<script type="text/javascript">
function LimitaCantidad(TxtCantidad, CantidadMaxima) {
var Cantidad = 0;
if (TxtCantidad.value.includes('.')) {
return;
}
if (TxtCantidad.value.includes(',')) {
return;
}
var regex = new RegExp("^[-+]?[0-9]+\.[0-9]+$");
if (TxtCantidad.value != '') {
Cantidad = parseInt(TxtCantidad.value);
}
if (Cantidad > CantidadMaxima) {
TxtCantidad.value = FormatoNumero(CantidadMaxima, 0);
} else {
TxtCantidad.value = FormatoNumero(Cantidad, 0);;
}
}
</script>
</asp:Content> </asp:Content>

View File

@@ -200,9 +200,10 @@ Partial Class Inventarios_RepApartados
End If End If
If e.Row.DBCampo("IDGPO").ToString.ToEntero = 3 Then If e.Row.DBCampo("IDGPO").ToString.ToEntero = 3 Then
If e.Row.DBCampo("CveVendedor").ToEntero() = UsuarioActual.CveVendedor Then If DdlSubProyectos.SelectedValue.ToEntero() > 0 AndAlso e.Row.DBCampo("CveVendedor").ToEntero() = UsuarioActual.CveVendedor Then
e.Row.FCTextBox("TxtCantidad").Visible = True e.Row.FCTextBox("TxtCantidad").Visible = True
e.Row.FCRangeValidator("RVCantidad").Visible = True e.Row.FCRangeValidator("RVCantidad").Visible = True
e.Row.FCTextBox("TxtCantidad").Attributes.Add("onkeyup", $"LimitaCantidad({e.Row.FCTextBox("TxtCantidad").ClientID},{e.Row.DBCampo("Cantidad").ToEntero});")
End If End If
End If End If
@@ -271,7 +272,7 @@ Partial Class Inventarios_RepApartados
End If End If
If Not GvDatos.Rows.Cast(Of GridViewRow).Any(Function(gvr) gvr.FCTextBox("TxtCantidad").Text.ToEntero() > 0) Then If Not GvDatos.Rows.Cast(Of GridViewRow).Any(Function(gvr) gvr.FCTextBox("TxtCantidad").Text.ToEntero() > 0) Then
Alert("No se ha seleccionado ningun cliente", TipoMensaje.MsgAdvertencia) Alert("No se ha seleccionado ningun producto para realizar el traspaso", TipoMensaje.MsgAdvertencia)
Exit Sub Exit Sub
End If End If
@@ -298,6 +299,10 @@ Partial Class Inventarios_RepApartados
'CUADRA LOS LOS PRODUCTOS CON LO QUE SE PUEDE DESAPARTAR 'CUADRA LOS LOS PRODUCTOS CON LO QUE SE PUEDE DESAPARTAR
Dim DtDetalleTraspasar As DataTable = CuadrarMovimientosApartado(CveAlmacenApartado, Row("CveCliente").ToString().ToEntero(), Row("CveVendedor").ToString().ToEntero(), DtPSTraspasar, ObjInventario) Dim DtDetalleTraspasar As DataTable = CuadrarMovimientosApartado(CveAlmacenApartado, Row("CveCliente").ToString().ToEntero(), Row("CveVendedor").ToString().ToEntero(), DtPSTraspasar, ObjInventario)
If DtDetalleTraspasar.Rows.Count = 0 Then
ErrorMovInv = True
Mensaje.Append("No se encontraron productos para realizar el traspaso.")
End If
DtPSTraspasar.Dispose() DtPSTraspasar.Dispose()
Dim MovSalida = GenerarMovimientoAlmacen(CveAlmacenApartado, 8, Row("CveVendedor").ToString().ToEntero(), Row("CveCliente").ToString().ToEntero(), -1, TxtObs.Text.Trim(), DtDetalleTraspasar, ObjInventario, "RepApar/1") Dim MovSalida = GenerarMovimientoAlmacen(CveAlmacenApartado, 8, Row("CveVendedor").ToString().ToEntero(), Row("CveCliente").ToString().ToEntero(), -1, TxtObs.Text.Trim(), DtDetalleTraspasar, ObjInventario, "RepApar/1")
@@ -316,8 +321,12 @@ Partial Class Inventarios_RepApartados
If Not ErrorMovInv Then If Not ErrorMovInv Then
EntradasAlmacen.Add(MovEntrada) EntradasAlmacen.Add(MovEntrada)
Else
Mensaje.Append("No se pudo generar el movimiento de apartado.")
End If End If
Else
Mensaje.Append("No se pudo generar el movimiento de desapartado.")
Exit For
End If End If
Next Next
@@ -367,19 +376,24 @@ Partial Class Inventarios_RepApartados
End If End If
If DtRetorno IsNot Nothing Then If DtRetorno IsNot Nothing Then
For Each RowCantidad As DataRow In DtPSTraspasar.Rows For Each RowTraspasar As DataRow In DtPSTraspasar.Rows
Dim Filtro As New StringBuilder Dim Filtro As New StringBuilder
Filtro.AppendFormat("CvePS={0}", RowCantidad("CvePS")) Filtro.AppendFormat("CvePS={0}", RowTraspasar("CvePS"))
'SI TIENE SERIE LA AGREGA AL FILTRO 'SI TIENE SERIE LA AGREGA AL FILTRO
If Not String.IsNullOrEmpty(RowCantidad("Serie").ToString()) Then If Not String.IsNullOrEmpty(RowTraspasar("Serie").ToString()) Then
Filtro.AppendFormat("AND Serie='{0}'", RowCantidad("Serie")) Filtro.AppendFormat(" AND Serie='{0}'", RowTraspasar("Serie"))
Else Else
Filtro.AppendFormat("AND ISNULL(Serie,'') = ''") Filtro.AppendFormat(" AND ISNULL(Serie,'') = ''")
End If
'FILTRA EL MOVIMIENTO DE APARTADO ORIGINAL
If Not String.IsNullOrEmpty(RowTraspasar("CveMovimientoDetalleEntrada").ToString()) Then
Filtro.AppendFormat(" AND CveMovimientoDetalle={0}", RowTraspasar("CveMovimientoDetalleEntrada"))
End If End If
Dim RowDesapartado As DataRow = DtDesapartado.Select(Filtro.ToString()).FirstOrDefault() Dim RowDesapartado As DataRow = DtDesapartado.Select(Filtro.ToString()).FirstOrDefault()
RowDesapartado("Cantidad") = RowCantidad("Cantidad") RowDesapartado("Cantidad") = RowTraspasar("Cantidad")
DtRetorno.Rows.Add(RowDesapartado.ItemArray) DtRetorno.Rows.Add(RowDesapartado.ItemArray)
Next Next
@@ -396,6 +410,7 @@ Partial Class Inventarios_RepApartados
Dt.Columns.Add(New DataColumn("Serie", GetType(String))) Dt.Columns.Add(New DataColumn("Serie", GetType(String)))
Dt.Columns.Add(New DataColumn("CveCliente", GetType(Integer))) Dt.Columns.Add(New DataColumn("CveCliente", GetType(Integer)))
Dt.Columns.Add(New DataColumn("CveVendedor", GetType(Integer))) Dt.Columns.Add(New DataColumn("CveVendedor", GetType(Integer)))
Dt.Columns.Add(New DataColumn("CveMovimientoDetalleEntrada", GetType(Integer)))
For Each GvRow As GridViewRow In GvDatos.Rows.Cast(Of GridViewRow).Where(Function(gvr) gvr.FCTextBox("TxtCantidad").Text.ToEntero() > 0) For Each GvRow As GridViewRow In GvDatos.Rows.Cast(Of GridViewRow).Where(Function(gvr) gvr.FCTextBox("TxtCantidad").Text.ToEntero() > 0)
Dim Row As DataRow = Dt.NewRow Dim Row As DataRow = Dt.NewRow
@@ -405,6 +420,7 @@ Partial Class Inventarios_RepApartados
Row("Serie") = GvRow.DataKey("Serie") Row("Serie") = GvRow.DataKey("Serie")
Row("CveCliente") = GvRow.DataKey("CveCliente").ToEntero() Row("CveCliente") = GvRow.DataKey("CveCliente").ToEntero()
Row("CveVendedor") = GvRow.DataKey("CveVendedor").ToEntero() Row("CveVendedor") = GvRow.DataKey("CveVendedor").ToEntero()
Row("CveMovimientoDetalleEntrada") = GvRow.DataKey("CveMovimientoDetalleEntrada").ToEntero()
Dt.Rows.Add(Row) Dt.Rows.Add(Row)
Next Next

View File

@@ -111,6 +111,7 @@ public partial class Nomina_Aguinaldo : ClsPaginas
int CvePeriodo; int CvePeriodo;
decimal ImporteGravado = 0; decimal ImporteGravado = 0;
decimal ImporteExento = 0; decimal ImporteExento = 0;
decimal ImporteValor = 0;
//string NombrePersonal = ""; //string NombrePersonal = "";
int CveMetodoPago = 0; int CveMetodoPago = 0;
int CveNomina = 0; int CveNomina = 0;
@@ -167,6 +168,8 @@ public partial class Nomina_Aguinaldo : ClsPaginas
Importe = row["Aguinaldo"].ToString().ToDecimal(); Importe = row["Aguinaldo"].ToString().ToDecimal();
ImporteGravado = row["AguinaldoGravado"].ToString().ToDecimal(); ImporteGravado = row["AguinaldoGravado"].ToString().ToDecimal();
ImporteExento = Importe - ImporteGravado; ImporteExento = Importe - ImporteGravado;
ImporteValor = row["DiasLaborados"].ToString().ToDecimal();
if (CvePersonal > 0 && Importe>0 && row["CveNomina"].ToString().ToEntero()==0) if (CvePersonal > 0 && Importe>0 && row["CveNomina"].ToString().ToEntero()==0)
{ {
@@ -196,7 +199,7 @@ public partial class Nomina_Aguinaldo : ClsPaginas
if (CveNomina > 0) if (CveNomina > 0)
{ {
if (!objNomina.AddUPNom_NominasDetalles(objNomina.CveNomina, CvePeriodoSeleccionado, CvePersonal, CveConcepto, Importe, ImporteGravado, ImporteExento, UsuarioActual.CveUsuario)) if (!objNomina.AddUPNom_NominasDetalles(objNomina.CveNomina, CvePeriodoSeleccionado, CvePersonal, CveConcepto, Importe, ImporteGravado, ImporteExento, ImporteValor, UsuarioActual.CveUsuario))
{ {
continuar = false; continuar = false;
} }

View File

@@ -4,6 +4,10 @@
</asp:Content> </asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server"> <asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
<style> <style>
.GvConceptos tr td a {
color: #5b9bd1;
}
a.sline { a.sline {
white-space: nowrap; white-space: nowrap;
} }
@@ -37,6 +41,14 @@
/*text-decoration: line-through;*/ /*text-decoration: line-through;*/
} }
.isEditedP td:nth-child(-n+3) {
text-decoration: line-through;
}
.isEditedD td:nth-last-child(-n+3) {
text-decoration: line-through;
}
.isOnlyBisibleP td:nth-child(-n+3) { .isOnlyBisibleP td:nth-child(-n+3) {
color: #999; color: #999;
} }
@@ -45,6 +57,14 @@
color: #999; color: #999;
} }
.isOnlyBisibleP td:nth-child(-n+3) a {
color: #999;
}
.isOnlyBisibleD td:nth-last-child(-n+3) a {
color: #999;
}
.GvConceptos { .GvConceptos {
border: 1px solid #E87E04; border: 1px solid #E87E04;
} }
@@ -184,8 +204,11 @@
</div> </div>
</div> </div>
</div> </div>
<div class="tools">
<a href="javascript:;" class="expand" data-original-title="" title=""></a>
</div>
</div> </div>
<div class="portlet-body"> <div class="portlet-body" style="display: none">
<div class="row"> <div class="row">
<label class="col-md-1 ">Agrupador:</label> <label class="col-md-1 ">Agrupador:</label>
<div class="col-md-1"> <div class="col-md-1">
@@ -230,6 +253,18 @@
<ajax:ValidatorCalloutExtender ID="vcoFfvFI" runat="server" HighlightCssClass="vco" TargetControlID="rfvFechaI" Width="350px"></ajax:ValidatorCalloutExtender> <ajax:ValidatorCalloutExtender ID="vcoFfvFI" runat="server" HighlightCssClass="vco" TargetControlID="rfvFechaI" Width="350px"></ajax:ValidatorCalloutExtender>
</div> </div>
</div> </div>
<div class="row">
<label class="col-md-1 " style="line-height: 1;">Régimen:</label>
<div class="col-md-1">
<asp:DropDownList ID="DdlRegimenContratacion" runat="server" Style="width: 100% !important;" CssClass="select2me">
<asp:ListItem Text="Asalariados" Value="1"></asp:ListItem>
<asp:ListItem Text="Asimilados" Value="2"></asp:ListItem>
<asp:ListItem Text="Todos" Value="3"></asp:ListItem>
</asp:DropDownList>
</div>
</div>
</div> </div>
</div> </div>
</ContentTemplate> </ContentTemplate>
@@ -420,7 +455,7 @@
<ajax:TabPanel ID="TabAsistencia" runat="server" HeaderText="Asistencia"> <ajax:TabPanel ID="TabAsistencia" runat="server" HeaderText="Asistencia">
<ContentTemplate> <ContentTemplate>
<div class="portlet light xspadding bordered " id="pnldlAsistencia"> <div class="portlet light xspadding bordered " id="pnldlAsistencia">
<div class="portlet-title"> <div class="portlet-title">
<div class="caption "> <div class="caption ">
@@ -441,7 +476,7 @@
<a href="javascript:;" onclick="FiltrarTablaV2('.TxtBusqasistencia','.gvasistencia')" style="margin-top: -3px;" class="btn btn-circle btn-sm font-bold yellow-gold"><i class="icon-magnifier" style="font-weight: bold;"></i></a> <a href="javascript:;" onclick="FiltrarTablaV2('.TxtBusqasistencia','.gvasistencia')" style="margin-top: -3px;" class="btn btn-circle btn-sm font-bold yellow-gold"><i class="icon-magnifier" style="font-weight: bold;"></i></a>
</div> </div>
</div> </div>
<asp:Literal ID="ltlGvAsistencia" runat="server"></asp:Literal> <asp:Literal ID="ltlGvAsistencia" runat="server"></asp:Literal>
</div> </div>
</ContentTemplate> </ContentTemplate>
</ajax:TabPanel> </ajax:TabPanel>
@@ -562,7 +597,7 @@
<div class="col-md-3"> <div class="col-md-3">
<asp:Label ID="LblSRSbc" runat="server"></asp:Label> <asp:Label ID="LblSRSbc" runat="server"></asp:Label>
</div> </div>
<div class="col-md-3 bold"> </div> <div class="col-md-3 bold"></div>
<div class="col-md-4"> <div class="col-md-4">
<asp:Label ID="Label3" runat="server"></asp:Label> <asp:Label ID="Label3" runat="server"></asp:Label>
</div> </div>
@@ -650,7 +685,7 @@
<asp:GridView ID="GvConceptos" runat="server" AutoGenerateColumns="False" CssClass="table table-striped table-hover Widthall GvConceptos" <asp:GridView ID="GvConceptos" runat="server" AutoGenerateColumns="False" CssClass="table table-striped table-hover Widthall GvConceptos"
Style="text-align: center;" GridLines="None" OnRowDataBound="GvConceptos_RowDataBound" Style="text-align: center;" GridLines="None" OnRowDataBound="GvConceptos_RowDataBound"
DataKeyNames="ConceptoP,CveConceptoP,ImporteP,ValorP,EstatusP,ConceptoD,CveConceptoD,ImporteD,isOnlyBisibleP,isOnlyBisibleD,EstatusD,ValorD"> DataKeyNames="ConceptoP,CveConceptoP,ImporteP,ValorP,EstatusP,ConceptoD,CveConceptoD,ImporteD,isOnlyBisibleP,isOnlyBisibleD,EstatusD,ValorD,isEditedD,isEditedP">
<Columns> <Columns>
<asp:TemplateField HeaderText="Concepto"> <asp:TemplateField HeaderText="Concepto">
<ItemTemplate> <ItemTemplate>
@@ -668,7 +703,7 @@
<asp:TemplateField HeaderText="Importe"> <asp:TemplateField HeaderText="Importe">
<ItemTemplate> <ItemTemplate>
<asp:Label ID="LtlImporte" runat="server" Text='<%# Eval("ImporteP", "${0:N}") %>' Style="word-break: break-all;"></asp:Label> <asp:Label ID="LtlImporte" runat="server" Text='<%# Eval("ImporteP", "${0:N}") %>' Style="word-break: break-all;"></asp:Label>
<asp:LinkButton ID="LnkImporte" OnClick="LnkConcepto_Click" runat="server" Text='<%# Eval("ImporteP", "${0:N}") %>'></asp:LinkButton> <asp:LinkButton ID="LnkImporte" OnClick="LnkConcepto_Click" runat="server"></asp:LinkButton>
</ItemTemplate> </ItemTemplate>
<ItemStyle HorizontalAlign="Right" Width="13%" /> <ItemStyle HorizontalAlign="Right" Width="13%" />
</asp:TemplateField> </asp:TemplateField>
@@ -688,7 +723,7 @@
<asp:TemplateField HeaderText="Importe"> <asp:TemplateField HeaderText="Importe">
<ItemTemplate> <ItemTemplate>
<asp:Label ID="LtlImporteD" runat="server" Text='<%# Eval("ImporteD", "${0:N}") %>' Style="word-break: break-all;"></asp:Label> <asp:Label ID="LtlImporteD" runat="server" Text='<%# Eval("ImporteD", "${0:N}") %>' Style="word-break: break-all;"></asp:Label>
<asp:LinkButton ID="LnkImporteD" OnClick="LnkConceptoD_Click" runat="server" Text='<%# Eval("ImporteD", "${0:N}") %>'></asp:LinkButton> <asp:LinkButton ID="LnkImporteD" OnClick="LnkConcepto_Click" runat="server"></asp:LinkButton>
</ItemTemplate> </ItemTemplate>
<ItemStyle HorizontalAlign="Right" Width="13%" /> <ItemStyle HorizontalAlign="Right" Width="13%" />
</asp:TemplateField> </asp:TemplateField>
@@ -1017,6 +1052,274 @@
</asp:UpdatePanel> </asp:UpdatePanel>
</ContentTemplate> </ContentTemplate>
</ajax:TabPanel> </ajax:TabPanel>
<ajax:TabPanel ID="TabVacaciones" runat="server" HeaderText="Vacaciones">
<ContentTemplate>
<asp:UpdatePanel ID="UPSRVaaciones" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="row">
<div class="col-md-5">
<div class="portlet light xspadding bordered " id="pnlvacacionesgv">
<div class="portlet-title">
<div class="caption ">
<i class="icon-pin font-yellow-gold"></i>
<span class="caption-subject font-yellow-gold bold uppercase">Vacaciones registradas.</span>
</div>
<div class="tools">
<a href="javascript:;" class="collapse" data-original-title="" title=""></a>
</div>
</div>
<div class="portlet-body">
</div>
</div>
</div>
<div class="col-md-7">
<div class="portlet light xspadding bordered " id="pnlvacacionesform">
<div class="portlet-title">
<div class="caption ">
<i class="icon-pin font-yellow-gold"></i>
<span class="caption-subject font-yellow-gold bold uppercase">Vacaciones registradas.</span>
</div>
<div class="tools">
<a href="javascript:;" class="collapse" data-original-title="" title=""></a>
</div>
</div>
<div class="portlet-body">
<div class="row">
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtvacDiasFeriados" CssClass="form-control input-sm " runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="rfvvacDiasFeriados" runat="server" ControlToValidate="TxtvacDiasFeriados" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Días feriados''</b> es necesario, por favor ingréselo." ValidationGroup="VG_Vacaciones"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender3" runat="server" HighlightCssClass="vco" TargetControlID="rfvvacDiasFeriados"></ajax:ValidatorCalloutExtender>
<asp:Label runat="server" AssociatedControlID="TxtvacDiasFeriados">Días feriados</asp:Label>
</div>
</div>
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtvacFechaPago" CssClass="form-control input-sm ADSMaskDate" Style="width: 118px" runat="server"></asp:TextBox>
<ajax:MaskedEditExtender ID="MeeVacFechaPago" runat="server" TargetControlID="TxtvacFechaPago" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CeeVacFechaPago" TargetControlID="TxtvacFechaPago" PopupPosition="BottomRight" Enabled="True" Format="dd/MM/yyyy"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="rfvvacFechaPago" runat="server" ControlToValidate="TxtvacFechaPago" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha Inicio''</b> es necesario, por favor ingréselo." ValidationGroup="VG_Vacaciones"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VcoVacFechaPago" runat="server" HighlightCssClass="vco" TargetControlID="rfvvacFechaPago"></ajax:ValidatorCalloutExtender>
<asp:Label runat="server" AssociatedControlID="TxtvacFechaPago">Fecha pago</asp:Label>
</div>
</div>
</div>
<div class="row">
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtvacFechaInicio" CssClass="form-control input-sm ADSMaskDate" Style="width: 118px" runat="server"></asp:TextBox>
<ajax:MaskedEditExtender ID="MeeVacFechaInicio" runat="server" TargetControlID="TxtvacFechaInicio" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CeeVacFechaInicio" TargetControlID="TxtvacFechaInicio" PopupPosition="BottomRight" Enabled="True" Format="dd/MM/yyyy"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="rfvvacFechaInicio" runat="server" ControlToValidate="TxtvacFechaInicio" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha Inicio''</b> es necesario, por favor ingréselo." ValidationGroup="VG_Vacaciones"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VcoVacFechaInicio" runat="server" HighlightCssClass="vco" TargetControlID="rfvvacFechaInicio"></ajax:ValidatorCalloutExtender>
<asp:Label runat="server" AssociatedControlID="TxtvacFechaInicio">Fecha Inicio</asp:Label>
</div>
</div>
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtvacFechaFin" CssClass="form-control input-sm ADSMaskDate" Style="width: 118px" runat="server"></asp:TextBox>
<ajax:MaskedEditExtender ID="MeeVacFechaFin" runat="server" TargetControlID="TxtvacFechaFin" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CeeVacFechaFin" TargetControlID="TxtvacFechaFin" PopupPosition="BottomRight" Enabled="True" Format="dd/MM/yyyy"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="rfvvacFechaFin" runat="server" ControlToValidate="TxtvacFechaFin" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha Fin''</b> es necesario, por favor ingréselo." ValidationGroup="VG_Vacaciones"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VcoVacFechaFin" runat="server" HighlightCssClass="vco" TargetControlID="rfvvacFechaFin"></ajax:ValidatorCalloutExtender>
<asp:Label runat="server" AssociatedControlID="TxtvacFechaFin">Fecha Fin</asp:Label>
</div>
</div>
</div>
</div>
</div>
<div class="text-right">
<asp:LinkButton ID="LnkSRVacacionesUP" OnClick="LnkSRVacacionesUP_Click" Visible="false" CssClass="btn btn-primary" ValidationGroup="VGMNom_" runat="server">Actualizar</asp:LinkButton>
<asp:LinkButton ID="LnkSRVacacionesADD" OnClick="LnkSRVacacionesADD_Click" Visible="false" CssClass="btn btn-success" ValidationGroup="VGMNom_" runat="server">Agregar</asp:LinkButton>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</ContentTemplate>
</ajax:TabPanel>
<ajax:TabPanel ID="Tabincapacidades" runat="server" HeaderText="Incapacidades">
<ContentTemplate>
<asp:UpdatePanel ID="UpsrIncapacidadpersonal" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="row">
<div class="col-md-5">
<div class="portlet light xspadding bordered " id="pnlIncapacidadesgv">
<div class="portlet-title">
<div class="caption ">
<i class="icon-pin font-yellow-gold"></i>
<span class="caption-subject font-yellow-gold bold uppercase">Incapacidades registradas.</span>
</div>
<div class="tools">
<a href="javascript:;" class="collapse" data-original-title="" title=""></a>
</div>
</div>
<div class="portlet-body">
<asp:GridView ID="GVNom_PersonalIncapacidad" runat="server" GridLines="None" CssClass="table table-hover table-striped ScrollAD Widthall" AutoGenerateColumns="False"
DataKeyNames="CvePersonalIncapacidad,CvePersonal,Folio,FechaInicio,DiasAutorizados,CveTipodeIncidencia,CveRamoSeguro,CveTipoRiesgo,PorcentajedeIncapacidad,CveSecuelaConsecuencia,CveControlIncapacidad,Descripcion">
<Columns>
<asp:TemplateField HeaderText="Folio">
<ItemTemplate>
<asp:LinkButton runat="server" Text='<%# Eval("Folio")%>' OnClick="LnkPersonalIncapacidad_Click" data-toggle="tooltip" title="Editar" Width="100%"> </asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Fecha inicio">
<ItemTemplate>
<asp:LinkButton runat="server" Text='<%# Eval("FechaInicio","{0:dd/MM/yyyy}")%>' OnClick="LnkPersonalIncapacidad_Click" data-toggle="tooltip" title="Editar" Width="100%"> </asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Dias autorizados">
<ItemTemplate>
<asp:LinkButton runat="server" Text='<%# Eval("DiasAutorizados")%>' OnClick="LnkPersonalIncapacidad_Click" data-toggle="tooltip" title="Editar" Width="100%"> </asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
</div>
</div>
<div class="col-md-7">
<div class="portlet light xspadding bordered " id="pnlIncapacidade">
<div class="portlet-title">
<div class="caption ">
<i class="icon-pin font-yellow-gold"></i>
<span class="caption-subject font-yellow-gold bold uppercase">captura de incapacidad</span>
</div>
<div class="tools">
<a href="javascript:;" class="collapse" data-original-title="" title=""></a>
</div>
<div class="actions">
<div class="btn-group">
<asp:LinkButton ID="LnkshowaaddIncapacidad" OnClick="LnkshowaaddIncapacidad_Click" CssClass="btn yellow-gold" runat="server">Agregar</asp:LinkButton>
</div>
</div>
</div>
<div class="portlet-body">
<div class="row">
<div class="col-md-5">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtSRINCfolio" CssClass="form-control input-sm " runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="RfvNom_folio" runat="server" ControlToValidate="TxtSRINCfolio" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Folio''</b> es necesario, por favor ingréselo." ValidationGroup="VGMNom_"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VcoNom_folio" runat="server" HighlightCssClass="vco" TargetControlID="RfvNom_folio"></ajax:ValidatorCalloutExtender>
<asp:Label runat="server" AssociatedControlID="TxtSRINCfolio">Folio</asp:Label>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtSRINCfechaInicio" CssClass="form-control input-sm ADSMaskDate" Style="width: 118px" runat="server"></asp:TextBox>
<ajax:MaskedEditExtender ID="MEENom_fechaInicio" runat="server" TargetControlID="TxtSRINCfechaInicio" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CEENom_fechaInicio" TargetControlID="TxtSRINCfechaInicio" PopupPosition="BottomRight" Enabled="True" Format="dd/MM/yyyy"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="RfvNom_fechaInicio" runat="server" ControlToValidate="TxtSRINCfechaInicio" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha Inicio''</b> es necesario, por favor ingréselo." ValidationGroup="VGMNom_"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VcoNom_fechaInicio" runat="server" HighlightCssClass="vco" TargetControlID="RfvNom_fechaInicio"></ajax:ValidatorCalloutExtender>
<asp:Label runat="server" AssociatedControlID="TxtSRINCfechaInicio">Fecha Inicio</asp:Label>
</div>
</div>
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtSRINCdiasAutorizados" CssClass="form-control " runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="RfvNom_diasAutorizados" runat="server" ControlToValidate="TxtSRINCdiasAutorizados" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Dias Autorizados''</b> es necesario, por favor ingréselo." ValidationGroup="VGMNom_"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VcoNom_diasAutorizados" runat="server" HighlightCssClass="vco" TargetControlID="RfvNom_diasAutorizados"></ajax:ValidatorCalloutExtender>
<asp:Label runat="server" AssociatedControlID="TxtSRINCdiasAutorizados">Dias autorizados</asp:Label>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:Label runat="server" AssociatedControlID="DdlSRINCcveTipodeIncidencia">Tipo de incidencia</asp:Label><br />
<asp:DropDownList ID="DdlSRINCcveTipodeIncidencia" DataValueField="Cve" DataTextField="Texto" Width="100%" CssClass="form-control select2me" runat="server"></asp:DropDownList>
<asp:RequiredFieldValidator ID="RfvNom_cveTipodeIncidencia" runat="server" ControlToValidate="DdlSRINCcveTipodeIncidencia" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Cve Tipode Incidencia''</b> es necesario, por favor ingréselo." ValidationGroup="VGMNom_"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VcoNom_cveTipodeIncidencia" runat="server" HighlightCssClass="vco" TargetControlID="RfvNom_cveTipodeIncidencia"></ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:Label runat="server" AssociatedControlID="DdlSRINCcveRamoSeguro">Ramo seguro</asp:Label><br />
<asp:DropDownList ID="DdlSRINCcveRamoSeguro" DataValueField="Cve" DataTextField="Texto" Width="100%" CssClass="form-control select2me " runat="server"></asp:DropDownList>
<asp:RequiredFieldValidator ID="RfvNom_cveRamoSeguro" runat="server" ControlToValidate="DdlSRINCcveRamoSeguro" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Cve Ramo Seguro''</b> es necesario, por favor ingréselo." ValidationGroup="VGMNom_"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VcoNom_cveRamoSeguro" runat="server" HighlightCssClass="vco" TargetControlID="RfvNom_cveRamoSeguro"></ajax:ValidatorCalloutExtender>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:Label runat="server" AssociatedControlID="DdlSRINCcveTipoRiesgo"> Tipo Riesgo</asp:Label><br />
<asp:DropDownList ID="DdlSRINCcveTipoRiesgo" DataValueField="Cve" DataTextField="Texto" Width="100%" CssClass="form-control select2me" runat="server"></asp:DropDownList>
<asp:RequiredFieldValidator ID="RfvNom_cveTipoRiesgo" runat="server" ControlToValidate="DdlSRINCcveTipoRiesgo" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Cve Tipo Riesgo''</b> es necesario, por favor ingréselo." ValidationGroup="VGMNom_"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VcoNom_cveTipoRiesgo" runat="server" HighlightCssClass="vco" TargetControlID="RfvNom_cveTipoRiesgo"></ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtSRINCporcentajedeIncapacidad" CssClass="form-control input-sm " runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="RfvNom_porcentajedeIncapacidad" runat="server" ControlToValidate="TxtSRINCporcentajedeIncapacidad" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Porcentajede Incapacidad''</b> es necesario, por favor ingréselo." ValidationGroup="VGMNom_"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VcoNom_porcentajedeIncapacidad" runat="server" HighlightCssClass="vco" TargetControlID="RfvNom_porcentajedeIncapacidad"></ajax:ValidatorCalloutExtender>
<asp:Label runat="server" AssociatedControlID="TxtSRINCporcentajedeIncapacidad">Porcentajede de incapacidad</asp:Label>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:Label runat="server" AssociatedControlID="DdlSRINCcveSecuelaConsecuencia"> Secuela o Consecuencia</asp:Label><br />
<asp:DropDownList ID="DdlSRINCcveSecuelaConsecuencia" DataValueField="Cve" DataTextField="Texto" Width="100%" CssClass="form-control select2me" runat="server"></asp:DropDownList>
<asp:RequiredFieldValidator ID="RfvNom_cveSecuelaConsecuencia" runat="server" ControlToValidate="DdlSRINCcveSecuelaConsecuencia" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Cve Secuela Consecuencia''</b> es necesario, por favor ingréselo." ValidationGroup="VGMNom_"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VcoNom_cveSecuelaConsecuencia" runat="server" HighlightCssClass="vco" TargetControlID="RfvNom_cveSecuelaConsecuencia"></ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:Label runat="server" AssociatedControlID="DdlSRINCcveControlIncapacidad"> Control de incapacidad</asp:Label><br />
<asp:DropDownList ID="DdlSRINCcveControlIncapacidad" DataValueField="Cve" DataTextField="Texto" Width="100%" CssClass="form-control select2me" runat="server"></asp:DropDownList>
<asp:RequiredFieldValidator ID="RfvNom_cveControlIncapacidad" runat="server" ControlToValidate="DdlSRINCcveControlIncapacidad" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Cve Control Incapacidad''</b> es necesario, por favor ingréselo." ValidationGroup="VGMNom_"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VcoNom_cveControlIncapacidad" runat="server" HighlightCssClass="vco" TargetControlID="RfvNom_cveControlIncapacidad"></ajax:ValidatorCalloutExtender>
</div>
</div>
</div>
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtSRINCdescripcion" CssClass="form-control " runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="RfvNom_descripcion" runat="server" ControlToValidate="TxtSRINCdescripcion" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Descripcion''</b> es necesario, por favor ingréselo." ValidationGroup="VGMNom_"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VcoNom_descripcion" runat="server" HighlightCssClass="vco" TargetControlID="RfvNom_descripcion"></ajax:ValidatorCalloutExtender>
<asp:Label runat="server" AssociatedControlID="TxtSRINCdescripcion">Descripción</asp:Label>
</div>
</div>
</div>
<div class="text-right">
<asp:LinkButton ID="LnkActualizarIncapacidad" OnClick="LnkActualizarIncapacidad_Click" CssClass="btn btn-primary" ValidationGroup="VGMNom_" runat="server">Actualizar</asp:LinkButton>
<asp:LinkButton ID="LnkAgregarIncapacidad" OnClick="LnkAgregarIncapacidad_Click" CssClass="btn btn-success" ValidationGroup="VGMNom_" runat="server">Agregar</asp:LinkButton>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</ContentTemplate>
</ajax:TabPanel>
</ajax:TabContainer> </ajax:TabContainer>
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
@@ -1029,7 +1332,47 @@
</Triggers> </Triggers>
</asp:UpdatePanel> </asp:UpdatePanel>
</div> </div>
<div id="ModalUpConcepto" class="modal ADS fade" role="dialog">
<asp:UpdatePanel class="modal-dialog " runat="server" ID="UPpanelModalUpConcepto" UpdateMode="Conditional">
<ContentTemplate>
<div class="modal-content">
<div class="modal-header ">
<h4 class="modal-title">Modificar o agregar concepto :
<asp:Label ID="LblConceptoMod" runat="server" Text=""></asp:Label></h4>
</div>
<div class="modal-body">
<div class="form-group form-md-line-input input-iconright">
<asp:Label runat="server" AssociatedControlID="DdlmcConceptos" Enabled="false" Text="Concepto"></asp:Label>
<asp:DropDownList ID="DdlmcConceptos" CssClass="select2me form-control" Width="100%" DataValueField="CveConcepto" DataTextField="CodigoConcepto" OnSelectedIndexChanged="DdlmcConceptos_SelectedIndexChanged" AutoPostBack=" true" runat="server">
<asp:ListItem Value="-1" Text="Seleccione"></asp:ListItem>
</asp:DropDownList>
</div>
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox CssClass="form-control" ID="TxtmcImporte" runat="server" MaxLength="10"></asp:TextBox>
<asp:Label runat="server" AssociatedControlID="TxtmcImporte" Enabled="false" Text="Importe"></asp:Label>
<i></i>
</div>
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox CssClass="form-control" ID="TxtmcImporteGrabado" runat="server" MaxLength="10"></asp:TextBox>
<asp:Label runat="server" AssociatedControlID="TxtmcImporteGrabado" Enabled="false" Text="Gravado"></asp:Label>
<i></i>
</div>
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox CssClass="form-control" ID="Txtmcvalor" runat="server" MaxLength="10"></asp:TextBox>
<asp:Label runat="server" AssociatedControlID="Txtmcvalor" Enabled="false" Text="Valor"></asp:Label>
<i></i>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
<asp:Button ID="BtnAceptarMC" CssClass="btn btn-primary" OnClick="BtnAceptarMC_Click" runat="server" Text="Aceptar" />
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div id="ModalTablas" class="modal ADS fade" role="dialog"> <div id="ModalTablas" class="modal ADS fade" role="dialog">
<asp:UpdatePanel class="modal-dialog modal-lg" runat="server" ID="UpModalTablas" UpdateMode="Conditional"> <asp:UpdatePanel class="modal-dialog modal-lg" runat="server" ID="UpModalTablas" UpdateMode="Conditional">
@@ -1173,7 +1516,9 @@
<asp:BoundField DataField="Tipo" HeaderText="Tipo" ItemStyle-HorizontalAlign="Left" /> <asp:BoundField DataField="Tipo" HeaderText="Tipo" ItemStyle-HorizontalAlign="Left" />
<asp:TemplateField ItemStyle-HorizontalAlign="center"> <asp:TemplateField ItemStyle-HorizontalAlign="center">
<ItemTemplate> <ItemTemplate>
<div style="width:50px;"><asp:CheckBox runat="server" ID="chkCon" /></div> <div style="width: 50px;">
<asp:CheckBox runat="server" ID="chkCon" />
</div>
</ItemTemplate> </ItemTemplate>
</asp:TemplateField> </asp:TemplateField>
</Columns> </Columns>
@@ -1306,7 +1651,7 @@
</table>--%> </table>--%>
<asp:GridView ID="GvConceptossimulador" runat="server" AutoGenerateColumns="False" CssClass="table table-striped table-hover Widthall GvConceptossimulador" <asp:GridView ID="GvConceptossimulador" runat="server" AutoGenerateColumns="False" CssClass="table table-striped table-hover Widthall GvConceptossimulador"
Style="text-align: center;" GridLines="None" OnRowDataBound="GvConceptos_RowDataBound" ShowHeaderWhenEmpty="true" Style="text-align: center;" GridLines="None" OnRowDataBound="GvConceptos_RowDataBound" ShowHeaderWhenEmpty="true"
DataKeyNames="ConceptoP,CveConceptoP,ImporteP,ValorP,EstatusP,ConceptoD,CveConceptoD,ImporteD,EstatusD,ValorD,isOnlyBisibleD,isOnlyBisibleP"> DataKeyNames="ConceptoP,CveConceptoP,ImporteP,ValorP,EstatusP,ConceptoD,CveConceptoD,ImporteD,EstatusD,ValorD,isOnlyBisibleD,isOnlyBisibleP,isEditedD,isEditedP">
<Columns> <Columns>
<asp:TemplateField HeaderText="Concepto"> <asp:TemplateField HeaderText="Concepto">
<ItemTemplate> <ItemTemplate>
@@ -1640,7 +1985,6 @@
</ContentTemplate> </ContentTemplate>
</asp:UpdatePanel> </asp:UpdatePanel>
</div> </div>
</asp:Content> </asp:Content>
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server"> <asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
<script> <script>

View File

@@ -194,6 +194,28 @@ public partial class Nomina_Nomina2 : ClsPaginas
PermisoEmitir = false; PermisoEmitir = false;
PermisoCancelarEmitido = false; PermisoCancelarEmitido = false;
} }
DataTable dtperinc=null;
using (ClsNominas onom = new ClsNominas() )
{
if (onom.PersonalIncapacidadCatalogos())
{
dtperinc = onom.DtResultados;
}
}
if(dtperinc != null)
{
DdlSRINCcveTipodeIncidencia.DataSource = dtperinc.FiltraParametros("Tipo = -1 OR Tipo =1 ");
DdlSRINCcveRamoSeguro.DataSource = dtperinc.FiltraParametros("Tipo = -1 OR Tipo =2 ");
DdlSRINCcveTipoRiesgo.DataSource = dtperinc.FiltraParametros("Tipo = -1 OR Tipo =3 ");
DdlSRINCcveSecuelaConsecuencia.DataSource = dtperinc.FiltraParametros("Tipo = -1 OR Tipo =4 ");
DdlSRINCcveControlIncapacidad.DataSource = dtperinc.FiltraParametros("Tipo = -1 OR Tipo =5 ");
DdlSRINCcveTipodeIncidencia.DataBind();
DdlSRINCcveRamoSeguro.DataBind();
DdlSRINCcveTipoRiesgo.DataBind();
DdlSRINCcveSecuelaConsecuencia.DataBind();
DdlSRINCcveControlIncapacidad.DataBind();
}
} }
} }
@@ -317,7 +339,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
cargaDatos(); cargaDatos();
} }
public void cargaDatos() public void cargaDatos(bool cargaasistencia =true)
{ {
int CveEmpresa = UsuarioActual.CveEmpresa; int CveEmpresa = UsuarioActual.CveEmpresa;
@@ -332,7 +354,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
using (ClsNominas objnom = new ClsNominas()) using (ClsNominas objnom = new ClsNominas())
{ {
if (objnom.GetNominaEmpleado(FiltCveProyecto, FiltCveSubProyecto, FiltCveTurno, FiltCvePeriodo, CveEmpresa, FiltAgrupador) && objnom.DTSetResultados.Tables.Count > 1) if (objnom.GetNominaEmpleado(FiltCveProyecto, FiltCveSubProyecto, FiltCveTurno, FiltCvePeriodo, CveEmpresa, FiltAgrupador, DdlRegimenContratacion.SelectedValue.ToEntero()) && objnom.DTSetResultados.Tables.Count > 1)
{ {
dtempleados = objnom.DTSetResultados.Tables[3]; dtempleados = objnom.DTSetResultados.Tables[3];
dtempleadosConceptos = objnom.DTSetResultados.Tables[4]; dtempleadosConceptos = objnom.DTSetResultados.Tables[4];
@@ -687,7 +709,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
GvNominas.DataSource = null; GvNominas.DataSource = null;
GvNominas.DataBind(); GvNominas.DataBind();
} }
if (cargaasistencia) {
if (dtPeriodo != null && dtPeriodo.Rows.Count > 0) if (dtPeriodo != null && dtPeriodo.Rows.Count > 0)
{ {
@@ -715,7 +737,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
string nombre = rempl["Nombre"].ToString(); string nombre = rempl["Nombre"].ToString();
string Codigo = rempl["Codigo"].ToString(); string Codigo = rempl["Codigo"].ToString();
DateTime fecha = FechaInicio; int HorasDobles, HorasTriples; DateTime fecha = FechaInicio; int HorasDobles, HorasTriples;
gvasistencia.Append("<tr>"); gvasistencia.Append("<tr>");
gvasistencia.AppendFormat("<td><a class=\"Texto sline\" href=\"/RH/Personal.aspx?CvePersonal={0}\">{2}<br/>{1}</a></td>", CvePersonal, nombre, Codigo); gvasistencia.AppendFormat("<td><a class=\"Texto sline\" href=\"/RH/Personal.aspx?CvePersonal={0}\">{2}<br/>{1}</a></td>", CvePersonal, nombre, Codigo);
while (fecha <= FechaFin) while (fecha <= FechaFin)
{ {
@@ -746,7 +768,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
gvasistencia.Append("</tbody></table></div>"); gvasistencia.Append("</tbody></table></div>");
ltlGvAsistencia.Text = gvasistencia.ToString(); ltlGvAsistencia.Text = gvasistencia.ToString();
} }
}
#endregion #endregion
UpDatos.Update(); UpDatos.Update();
} }
@@ -811,7 +833,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
e.Row.CssClass = "SubTotales"; e.Row.CssClass = "SubTotales";
} }
//e.Row.FindControl("LnkSobreRecibo").Visible = false; e.Row.FindControl("LnkSobreRecibo").Visible = false;
} }
@@ -921,7 +943,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
{ {
if (gvrow.DataKey("CveConcepto").ToEntero() > 0 && gvrow.FCCheckBox("chkCon").Checked) if (gvrow.DataKey("CveConcepto").ToEntero() > 0 && gvrow.FCCheckBox("chkCon").Checked)
{ {
str.AppendFormat(",{0}",gvrow.DataKey("CveConcepto")); str.AppendFormat(",{0}", gvrow.DataKey("CveConcepto"));
continuar = true; continuar = true;
} }
} }
@@ -968,7 +990,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
{ {
Fila++; Fila++;
column = 1; column = 1;
libro.Cell(Fila, column).Value = erow["Codigo"]; libro.Cell(Fila, column).Value = string.Format ("'{0}",erow["Codigo"]);
column++; column++;
libro.Cell(Fila, column).Value = erow["Nombre"]; libro.Cell(Fila, column).Value = erow["Nombre"];
foreach (DataRow row in dtc.Rows) foreach (DataRow row in dtc.Rows)
@@ -1137,14 +1159,16 @@ public partial class Nomina_Nomina2 : ClsPaginas
decimal Importe = 0; decimal Importe = 0;
decimal ImporteGravado = 0; decimal ImporteGravado = 0;
decimal ImporteExento = 0; decimal ImporteExento = 0;
decimal ImporteValor = 0;
bool dontsaveconcepto = ((row[i].ToString().ToUpper() == "N") || (DTEXcel.Rows[0][i].ToString().ToUpper() == "N")); bool dontsaveconcepto = ((row[i].ToString().ToUpper() == "N") || (DTEXcel.Rows[0][i].ToString().ToUpper() == "N"));
Importe = row[i].ToString().ToDecimal(); Importe = row[i].ToString().ToDecimal();
ImporteGravado = Importe - ImporteExento; ImporteGravado = Importe - ImporteExento;
ImporteValor = 0;
if (CveConcepto > 0) if (CveConcepto > 0)
{ {
if (!dontsaveconcepto)//el usuario definira si desea actualizar o no el concepto en el periodo if (!dontsaveconcepto)//el usuario definira si desea actualizar o no el concepto en el periodo
{ {
if (!objNomina.AddUPNom_NominasDetalles(objNomina.CveNomina, CvePeriodoSeleccionado, CvePersonal, CveConcepto, Importe, ImporteGravado, ImporteExento, UsuarioActual.CveUsuario, true)) if (!objNomina.AddUPNom_NominasDetalles(objNomina.CveNomina, CvePeriodoSeleccionado, CvePersonal, CveConcepto, Importe, ImporteGravado, ImporteExento, ImporteValor, UsuarioActual.CveUsuario, true))
{ {
rollback = true; rollback = true;
} }
@@ -1212,6 +1236,26 @@ public partial class Nomina_Nomina2 : ClsPaginas
set { ViewState["SRCvePeriodo"] = value; } set { ViewState["SRCvePeriodo"] = value; }
} }
protected int SRCveConcepto
{
get
{
if (ViewState["SRCveConcepto"] == null) { return 0; }
else { return ViewState["SRCveConcepto"].ToString().ToEntero(); }
}
set { ViewState["SRCveConcepto"] = value; }
}
protected string SRTipoConcepto
{
get
{
if (ViewState["SRTipoConcepto"] == null) { return ""; }
else { return ViewState["SRTipoConcepto"].ToString(); }
}
set { ViewState["SRTipoConcepto"] = value; }
}
protected void LnkSobreRecibo_Click(object sender, EventArgs e) protected void LnkSobreRecibo_Click(object sender, EventArgs e)
{ {
GridViewRow gvrow = (GridViewRow)(((LinkButton)sender).NamingContainer); GridViewRow gvrow = (GridViewRow)(((LinkButton)sender).NamingContainer);
@@ -1225,8 +1269,170 @@ public partial class Nomina_Nomina2 : ClsPaginas
mostrarConceptos(); mostrarConceptos();
pnlAddupMovto.Visible = false; pnlAddupMovto.Visible = false;
CargaMovtoPermanente(); CargaMovtoPermanente();
CargaPersonalIncapacidad();
RegistraScript("$('#ModalConceptos').modal();"); RegistraScript("$('#ModalConceptos').modal();");
} }
protected void LnkConcepto_Click(object sender, EventArgs e)
{
SRCveConcepto = ((LinkButton)sender).CommandArgument.ToEntero();
SRTipoConcepto = ((LinkButton)sender).CommandArgument;
#region carga conceptos
DataTable dtCon;
if (SRCveConcepto > 0)
{
DataRow drow = dtConceptos.FiltroPrimero(string.Format("CveConcepto={0}", SRCveConcepto));
if (drow != null)
{
SRTipoConcepto = drow["Tipo"].ToString();
}
else
{
SRCveConcepto = 0;
SRTipoConcepto = "D";
}
}
if (SRTipoConcepto == "P")
{
dtCon = dtConceptos.FiltraParametros("Tipo ='P' AND EsPadre = 1 ").Copy();
}
else
{
dtCon = dtConceptos.FiltraParametros("Tipo ='D' AND EsPadre = 1 ").Copy();
SRTipoConcepto = "D";
}
dtCon.Columns.Add(new DataColumn("CodigoConcepto"));
foreach (DataRow trow in dtCon.Rows)
{
trow["CodigoConcepto"] = string.Format("{0} - {1}", trow["Codigo"], trow["Concepto"]);
}
dtCon.AcceptChanges();
DataRow row = dtCon.NewRow();
row["CveConcepto"] = "-1";
row["CodigoConcepto"] = "Seleccione";
dtCon.Rows.InsertAt(row, 0);
#endregion
DdlmcConceptos.DataSource = dtCon;
DdlmcConceptos.DataBind();
if (SRCveConcepto > 0)
{
DdlmcConceptos.SelectedValueExist(SRCveConcepto);
}
DdlmcConceptos_SelectedIndexChanged(DdlmcConceptos, null);
RegistraScript(string.Format("$('#ModalUpConcepto').on('shown.bs.modal', function () {{$('#{0}').trigger('focus')}});$('#ModalUpConcepto').modal();", TxtmcImporte.ClientID));
UPpanelModalUpConcepto.Update();
}
protected void DdlmcConceptos_SelectedIndexChanged(object sender, EventArgs e)
{
int CvePersonal = SRCvePersonal;
int CveConcepto = DdlmcConceptos.SelectedValue.ToEntero();
TxtmcImporte.Text = "";
TxtmcImporteGrabado.Text = "";
Txtmcvalor.Text = "";
if (CveConcepto > 0)
{
DataRow drow = dtempleadosConceptos.FiltroPrimero(string.Format("CveConcepto={0} AND CvePersonal ={1}", CveConcepto, CvePersonal));
if (drow != null)
{
TxtmcImporte.Text = string.Format("{0:N2}", drow["Importe"]);
TxtmcImporteGrabado.Text = string.Format("{0:N2}", drow["ImporteGravado"]);
Txtmcvalor.Text = string.Format("{0:N2}", drow["Valor"]);
}
}
else
{
if (e != null)
{
Alert("Seleccione un concepto.", TipoMensaje.MsgAdvertencia);
}
}
UPpanelModalUpConcepto.Update();
}
protected void BtnAceptarMC_Click(object sender, EventArgs e)
{
bool continuar = true;
int CveNomina = 0;
double Total = 0;
int CveMoneda = 1;
int CveMetodoPago = 0;
int CvePersonal = SRCvePersonal;
int CveConcepto = DdlmcConceptos.SelectedValue.ToEntero();
if (CveConcepto > 0)
{
decimal ImporteConcepto = TxtmcImporte.Text.Replace("$", "").Replace(",", "").ToDecimal();
decimal ImporteGravadoConcepto = TxtmcImporteGrabado.Text.Replace("$", "").Replace(",", "").ToDecimal();
decimal ImporteExentoConcepto = ImporteConcepto - ImporteGravadoConcepto;
decimal ImporteValor = Txtmcvalor.Text.Replace("$", "").Replace(",", "").ToDecimal();
using (ClsNominas objNomina = new ClsNominas())
{
if (continuar)
{
if (objNomina.GetNom_Nominas(-1, CvePersonal, CvePeriodoSeleccionado, -1, UsuarioActual.CveEmpresa))
{
if (objNomina.DtResultados.Rows.Count > 0)
{
CveNomina = objNomina.CveNomina;
}
else
{
if (objNomina.AddNom_Nominas(-1, 1, CvePersonal, CvePeriodoSeleccionado, Total, 0, 0, Total, CveMoneda, 1, CveMetodoPago, DateTime.Now, "Deducciones nómina",
"", "", "", "", 0, 0, 0, new DateTime(), new DateTime(), new DateTime(), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa,false))
{
CveNomina = objNomina.CveNomina;
}
else
{
continuar = false;
}
}
}
}
if (CveNomina == 0)
{
continuar = false;
}
if (continuar)
{
if (continuar)
{
if (!objNomina.AddUPNom_NominasDetalles(CveNomina, CvePeriodoSeleccionado, CvePersonal, CveConcepto, ImporteConcepto, ImporteGravadoConcepto, ImporteExentoConcepto, ImporteValor, UsuarioActual.CveUsuario, true))
{
continuar = false;
}
}
}
}
if (continuar)
{
cargaDatos();
cargasobrericiboconceptos();
UpModalConceptos.Update();
RegistraScript("$('#ModalUpConcepto').modal('hide');");
Alert("El cambio se ha guardado correctamente.");
}
}else
{
Alert("Debe seleccionar un concepto.",TipoMensaje.MsgAdvertencia);
}
}
private void mostrarConceptos() private void mostrarConceptos()
{ {
#region "Llenado de datos empleado" #region "Llenado de datos empleado"
@@ -1295,105 +1501,10 @@ public partial class Nomina_Nomina2 : ClsPaginas
LblSRSalarioDiario.Text = SD; LblSRSalarioDiario.Text = SD;
LblSRSalarioDiarioIntegrado.Text = SDI; LblSRSalarioDiarioIntegrado.Text = SDI;
LblSRSbc.Text = SalarioDiarioIMSS; LblSRSbc.Text = SalarioDiarioIMSS;
#endregion #endregion
#region "Sobre Recibo" #region "Sobre Recibo"
{ cargasobrericiboconceptos();
DataTable dtper = dtConceptos.FiltraParametros("Tipo IN ('P') AND EsPadre = 1 ");
DataTable dtded = dtConceptos.FiltraParametros("Tipo IN ('D') AND EsPadre = 1 ");
dtper.Columns.Add("BorradoLogico", typeof(int));
dtded.Columns.Add("BorradoLogico", typeof(int));
foreach (DataRow row in dtper.Rows)
{
int BorradoLogico = 0;
int CveConcepto = row["CveConcepto"].ToString().ToEntero();
if (!(dtempleados.SUM(string.Format("[V_{0}]", CveConcepto)) != 0))
{
BorradoLogico = 1;
}
row["BorradoLogico"] = BorradoLogico;
}
dtper.AcceptChanges();
foreach (DataRow row in dtded.Rows)
{
int BorradoLogico = 0;
int CveConcepto = row["CveConcepto"].ToString().ToEntero();
if (!(dtempleados.SUM(string.Format("[V_{0}]", CveConcepto)) != 0))
{
BorradoLogico = 1;
}
row["BorradoLogico"] = BorradoLogico;
}
dtded.AcceptChanges();
dtper = dtper.FiltraParametros("BorradoLogico=0");
dtded = dtded.FiltraParametros("BorradoLogico=0");
int maxper = dtper.Rows.Count;
int maxded = dtded.Rows.Count;
int i = 0;
List<NConcepto> lconc = new List<NConcepto>();
for (i = 0; i < maxper || i < maxded; i++)
{
NConcepto nConcepto = new NConcepto();
DataRow row;
if (maxper > i)
{
row = dtper.Rows[i];
int CveConcepto = row["CveConcepto"].ToString().ToEntero();
string Concepto = row["Concepto"].ToString();
string Codigo = row["Codigo"].ToString();
//bool visible = (dtempleados.SUM(string.Format("[V_{0}]", CveConcepto)) > 0);
double Importe = dtempleados.SUM(string.Format("[V_{0}]", CveConcepto), string.Format("CvePersonal = {0}", SRCvePersonal));
nConcepto.CveConceptoP = CveConcepto;
nConcepto.ConceptoP = Concepto;
nConcepto.NoConceptoP = Codigo;
nConcepto.ImporteP = Importe;
nConcepto.ValorP = dtempleados.SUM(string.Format("[VAL_{0}]", CveConcepto), string.Format("CvePersonal = {0}", SRCvePersonal));
nConcepto.isOnlyBisibleP = row["SoloVisible"].ToString().ToEntero();
}
if (maxded > i)
{
row = dtded.Rows[i];
int CveConcepto = row["CveConcepto"].ToString().ToEntero();
string Concepto = row["Concepto"].ToString();
string Codigo = row["Codigo"].ToString();
//bool visible = (dtempleados.SUM(string.Format("[V_{0}]", CveConcepto)) > 0);
double Importe = dtempleados.SUM(string.Format("[V_{0}]", CveConcepto), string.Format("CvePersonal = {0}", SRCvePersonal));
nConcepto.CveConceptoD = CveConcepto;
nConcepto.ConceptoD = Concepto;
nConcepto.NoConceptoD = Codigo;
nConcepto.ImporteD = Importe;
nConcepto.ValorD = dtempleados.SUM(string.Format("[VAL_{0}]", CveConcepto), string.Format("CvePersonal = {0}", SRCvePersonal));
nConcepto.isOnlyBisibleD = row["SoloVisible"].ToString().ToEntero();
}
lconc.Add(nConcepto);
}
lconc.Add(new NConcepto());
NConcepto SubTotales = new NConcepto();
SubTotales.CveConceptoP = 0;
SubTotales.ConceptoP = "Total Percepciones";
SubTotales.EstatusP = -2;
SubTotales.ImporteP = dtempleados.SUM("SumaPercepciones", string.Format("CvePersonal = {0}", SRCvePersonal));
///Alert(SubTotales.ImporteP.ToString());
SubTotales.CveConceptoD = 0;
SubTotales.ConceptoD = "Total Deducciones";
SubTotales.EstatusD = -2;
SubTotales.ImporteD = dtempleados.SUM("SumaDeducciones", string.Format("CvePersonal = {0}", SRCvePersonal));
NConcepto Totales = new NConcepto();
Totales.CveConceptoD = 0;
Totales.ConceptoD = "Total";
Totales.EstatusD = -3;
Totales.ImporteD = dtempleados.SUM("Total", string.Format("CvePersonal = {0}", SRCvePersonal));
lconc.Add(SubTotales);
lconc.Add(Totales);
GvConceptos.DataSource = lconc;
GvConceptos.DataBind();
}
#endregion #endregion
#region "Infonavit" #region "Infonavit"
{ {
@@ -1447,6 +1558,109 @@ public partial class Nomina_Nomina2 : ClsPaginas
UpModalConceptos.Update(); UpModalConceptos.Update();
} }
public void cargasobrericiboconceptos()
{
{
DataTable dtper = dtConceptos.FiltraParametros("Tipo IN ('P') AND EsPadre = 1 ");
DataTable dtded = dtConceptos.FiltraParametros("Tipo IN ('D') AND EsPadre = 1 ");
dtper.Columns.Add("BorradoLogico", typeof(int));
dtded.Columns.Add("BorradoLogico", typeof(int));
foreach (DataRow row in dtper.Rows)
{
int BorradoLogico = 0;
int CveConcepto = row["CveConcepto"].ToString().ToEntero();
if (!(dtempleados.SUM(string.Format("[V_{0}]", CveConcepto)) != 0))
{
BorradoLogico = 1;
}
row["BorradoLogico"] = BorradoLogico;
}
dtper.AcceptChanges();
foreach (DataRow row in dtded.Rows)
{
int BorradoLogico = 0;
int CveConcepto = row["CveConcepto"].ToString().ToEntero();
if (!(dtempleados.SUM(string.Format("[V_{0}]", CveConcepto)) != 0))
{
BorradoLogico = 1;
}
row["BorradoLogico"] = BorradoLogico;
}
dtded.AcceptChanges();
dtper = dtper.FiltraParametros("BorradoLogico=0");
dtded = dtded.FiltraParametros("BorradoLogico=0");
int maxper = dtper.Rows.Count;
int maxded = dtded.Rows.Count;
int i = 0;
List<NConcepto> lconc = new List<NConcepto>();
for (i = 0; i < maxper || i < maxded; i++)
{
NConcepto nConcepto = new NConcepto();
DataRow row;
if (maxper > i)
{
row = dtper.Rows[i];
int CveConcepto = row["CveConcepto"].ToString().ToEntero();
string Concepto = row["Concepto"].ToString();
string Codigo = row["Codigo"].ToString();
//bool visible = (dtempleados.SUM(string.Format("[V_{0}]", CveConcepto)) > 0);
double Importe = dtempleados.SUM(string.Format("[V_{0}]", CveConcepto), string.Format("CvePersonal = {0}", SRCvePersonal));
nConcepto.CveConceptoP = CveConcepto;
nConcepto.ConceptoP = Concepto;
nConcepto.NoConceptoP = Codigo;
nConcepto.ImporteP = Importe;
nConcepto.ValorP = dtempleados.SUM(string.Format("[VAL_{0}]", CveConcepto), string.Format("CvePersonal = {0}", SRCvePersonal));
nConcepto.isOnlyBisibleP = row["SoloVisible"].ToString().ToEntero();
nConcepto.isEditedP = dtempleadosConceptos.COUNT("CveConcepto",string.Format("CveConcepto={0} AND CvePersonal ={1} AND Estatus =2", CveConcepto, SRCvePersonal));
}
if (maxded > i)
{
row = dtded.Rows[i];
int CveConcepto = row["CveConcepto"].ToString().ToEntero();
string Concepto = row["Concepto"].ToString();
string Codigo = row["Codigo"].ToString();
//bool visible = (dtempleados.SUM(string.Format("[V_{0}]", CveConcepto)) > 0);
double Importe = dtempleados.SUM(string.Format("[V_{0}]", CveConcepto), string.Format("CvePersonal = {0}", SRCvePersonal));
nConcepto.CveConceptoD = CveConcepto;
nConcepto.ConceptoD = Concepto;
nConcepto.NoConceptoD = Codigo;
nConcepto.ImporteD = Importe;
nConcepto.ValorD = dtempleados.SUM(string.Format("[VAL_{0}]", CveConcepto), string.Format("CvePersonal = {0}", SRCvePersonal));
nConcepto.isOnlyBisibleD = row["SoloVisible"].ToString().ToEntero();
nConcepto.isEditedD = dtempleadosConceptos.COUNT("CveConcepto", string.Format("CveConcepto={0} AND CvePersonal ={1} AND Estatus =2", CveConcepto, SRCvePersonal)) ;
}
lconc.Add(nConcepto);
}
lconc.Add(new NConcepto());
NConcepto SubTotales = new NConcepto();
SubTotales.CveConceptoP = 0;
SubTotales.ConceptoP = "Total Percepciones";
SubTotales.EstatusP = -2;
SubTotales.ImporteP = dtempleados.SUM("SumaPercepciones", string.Format("CvePersonal = {0}", SRCvePersonal));
///Alert(SubTotales.ImporteP.ToString());
SubTotales.CveConceptoD = 0;
SubTotales.ConceptoD = "Total Deducciones";
SubTotales.EstatusD = -2;
SubTotales.ImporteD = dtempleados.SUM("SumaDeducciones", string.Format("CvePersonal = {0}", SRCvePersonal));
NConcepto Totales = new NConcepto();
Totales.CveConceptoD = 0;
Totales.ConceptoD = "Total";
Totales.EstatusD = -3;
Totales.ImporteD = dtempleados.SUM("Total", string.Format("CvePersonal = {0}", SRCvePersonal));
lconc.Add(SubTotales);
lconc.Add(Totales);
GvConceptos.DataSource = lconc;
GvConceptos.DataBind();
}
}
protected void BtnImprimirsobrerecibo_Click(object sender, EventArgs e) protected void BtnImprimirsobrerecibo_Click(object sender, EventArgs e)
{ {
@@ -1648,7 +1862,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
public double ImporteP { get; set; } public double ImporteP { get; set; }
public double ValorP { get; set; } public double ValorP { get; set; }
public int EstatusP { get; set; } public int EstatusP { get; set; }
public bool isEditedP { get; set; } public int isEditedP { get; set; }
public int isOnlyBisibleP { get; set; } public int isOnlyBisibleP { get; set; }
@@ -1659,15 +1873,20 @@ public partial class Nomina_Nomina2 : ClsPaginas
public double ImporteD { get; set; } public double ImporteD { get; set; }
public double ValorD { get; set; } public double ValorD { get; set; }
public int EstatusD { get; set; } public int EstatusD { get; set; }
public bool isEditedD { get; set; } public int isEditedD { get; set; }
public int isOnlyBisibleD { get; set; } public int isOnlyBisibleD { get; set; }
} }
int CveConceptoPolgvc, CveConceptoDolgvc;
protected void GvConceptos_RowDataBound(object sender, GridViewRowEventArgs e) protected void GvConceptos_RowDataBound(object sender, GridViewRowEventArgs e)
{ {
if (e.Row.RowType == DataControlRowType.DataRow) if (e.Row.RowType == DataControlRowType.DataRow)
{ {
if (e.Row.RowIndex == 0)
{
CveConceptoPolgvc = 1;
CveConceptoDolgvc = 1;
}
// Datakeys // Datakeys
// Concepto,CveConcepto,Importe,Estatus,ConceptoD,CveConceptoD,ImporteD,EstatusD // Concepto,CveConcepto,Importe,Estatus,ConceptoD,CveConceptoD,ImporteD,EstatusD
int CveConcepto = e.Row.DataKey("CveConceptoP").ToEntero(); int CveConcepto = e.Row.DataKey("CveConceptoP").ToEntero();
@@ -1678,7 +1897,9 @@ public partial class Nomina_Nomina2 : ClsPaginas
int EstatusD = e.Row.DataKey("EstatusD").ToEntero(); int EstatusD = e.Row.DataKey("EstatusD").ToEntero();
int isOnlyBisibleP = e.Row.DataKey("isOnlyBisibleP").ToEntero(); int isOnlyBisibleP = e.Row.DataKey("isOnlyBisibleP").ToEntero();
int isOnlyBisibleD = e.Row.DataKey("isOnlyBisibleD").ToEntero(); int isOnlyBisibleD = e.Row.DataKey("isOnlyBisibleD").ToEntero();
bool isEditedP = e.Row.DataKey("isEditedP").ToEntero()>0;
bool isEditedD = e.Row.DataKey("isEditedD").ToEntero()>0;
//isEditedD
// Controles // Controles
Label LtlConcepto = e.Row.FCLabel("LtlConcepto"); Label LtlConcepto = e.Row.FCLabel("LtlConcepto");
LinkButton LnkConcepto = e.Row.FCLinkButton("LnkConcepto"); LinkButton LnkConcepto = e.Row.FCLinkButton("LnkConcepto");
@@ -1697,31 +1918,51 @@ public partial class Nomina_Nomina2 : ClsPaginas
{ {
e.Row.CssClass = string.Format("{0} isOnlyBisibleD", e.Row.CssClass); e.Row.CssClass = string.Format("{0} isOnlyBisibleD", e.Row.CssClass);
} }
if (isEditedP )
{
e.Row.CssClass = string.Format("{0} isEditedP", e.Row.CssClass);
}
if (isEditedD)
{
e.Row.CssClass = string.Format("{0} isEditedD", e.Row.CssClass);
}
if (Estatus == -1) { LtlConcepto.Visible = false; }
else if (Estatus > 0) { LtlImporte.Visible = false; }
if (EstatusD == -1) { LtlConceptoD.Visible = false; }
else if (EstatusD > 0) { LtlImporteD.Visible = false; }
LtlImporte.Visible = false;
LtlImporteD.Visible = false;
if (Estatus < -1 | EstatusD < -1) if (Estatus < -1 | EstatusD < -1)
{
e.Row.CssClass = "ConceptosTotales"; e.Row.CssClass = "ConceptosTotales";
if (CveConcepto == 0 && (Estatus == 0 || Estatus == -1 || Estatus == -3)) LtlImporte.Visible = true;
LtlImporte.Text = ""; LtlImporteD.Visible = true;
}
LnkImporte.CommandArgument = (CveConcepto > 0 ? CveConcepto.ToString() : "P");
LnkImporteD.CommandArgument = (CveConceptoD > 0 ? CveConceptoD.ToString() : "D");
if (CveConceptoD == 0 && (EstatusD == 0 || EstatusD == -1)) LnkImporte.Text = (CveConcepto > 0 ? string.Format("${0:N2}", e.Row.DataKey("ImporteP").ToDecimal()) : (CveConceptoPolgvc > 0 ? "<i class=\"fa fa-plus\"></i>" : ""));
LtlImporteD.Text = ""; LnkImporteD.Text = (CveConceptoD > 0 ? string.Format("${0:N2}", e.Row.DataKey("ImporteD").ToDecimal()) : (CveConceptoDolgvc > 0 ? "<i class=\"fa fa-plus\"></i>" : ""));
if (Estatus == -1)
LtlConcepto.Visible = false;
else if (Estatus > 0)
LtlImporte.Visible = false;
if (EstatusD == -1)
LtlConceptoD.Visible = false; if (CveConcepto == 0 && (Estatus == 0 || Estatus == -1 || Estatus == -3)) { LtlImporte.Text = ""; }
else if (EstatusD > 0)
LtlImporteD.Visible = false; if (CveConceptoD == 0 && (EstatusD == 0 || EstatusD == -1)) { LtlImporteD.Text = ""; }
LnkConcepto.Visible = !LtlConcepto.Visible; LnkConcepto.Visible = !LtlConcepto.Visible;
LnkConceptoD.Visible = !LtlConceptoD.Visible; LnkConceptoD.Visible = !LtlConceptoD.Visible;
LnkImporte.Visible = !LtlImporte.Visible; LnkImporte.Visible = !LtlImporte.Visible;
LnkImporteD.Visible = !LtlImporteD.Visible; LnkImporteD.Visible = !LtlImporteD.Visible;
CveConceptoPolgvc = CveConcepto;
CveConceptoDolgvc = CveConceptoD;
} }
} }
#endregion #endregion
@@ -1838,10 +2079,6 @@ public partial class Nomina_Nomina2 : ClsPaginas
} }
} }
protected void LnkConcepto_Click(object sender, EventArgs e)
{
}
protected void LnkConceptoD_Click(object sender, EventArgs e) protected void LnkConceptoD_Click(object sender, EventArgs e)
{ {
@@ -3491,7 +3728,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
#endregion #endregion
#region PropNominaDetalle #region PropNominaDetalle
int CveConcepto = 0; int CveConcepto = 0;
decimal ImporteConcepto = 0, ImporteGravadoConcepto = 0, ImporteExentoConcepto = 0; decimal ImporteConcepto = 0, ImporteGravadoConcepto = 0, ImporteExentoConcepto = 0, ImporteValor = 0;
#endregion #endregion
@@ -3546,10 +3783,11 @@ public partial class Nomina_Nomina2 : ClsPaginas
ImporteConcepto = rcon["Importe"].ToString().ToDecimal(); ImporteConcepto = rcon["Importe"].ToString().ToDecimal();
ImporteGravadoConcepto = rcon["ImporteGravado"].ToString().ToDecimal(); ImporteGravadoConcepto = rcon["ImporteGravado"].ToString().ToDecimal();
ImporteExentoConcepto = ImporteConcepto - ImporteGravadoConcepto; ImporteExentoConcepto = ImporteConcepto - ImporteGravadoConcepto;
ImporteValor = rcon["Valor"].ToString().ToDecimal();
if (continuar) if (continuar)
{ {
if (!objNomina.AddUPNom_NominasDetalles(CveNomina, CvePeriodoSeleccionado, CvePersonal, CveConcepto, ImporteConcepto, ImporteGravadoConcepto, ImporteExentoConcepto, UsuarioActual.CveUsuario)) if (!objNomina.AddUPNom_NominasDetalles(CveNomina, CvePeriodoSeleccionado, CvePersonal, CveConcepto, ImporteConcepto, ImporteGravadoConcepto, ImporteExentoConcepto, ImporteValor, UsuarioActual.CveUsuario))
{ {
continuar = false; continuar = false;
} }
@@ -4190,4 +4428,145 @@ public partial class Nomina_Nomina2 : ClsPaginas
Response.End(); Response.End();
} }
#region Incapacidad
private int CcvePersonalIncapacidad
{
get { return (ViewState["CcvePersonalIncapacidad"] == null) ? 0 : Convert.ToInt32(ViewState["CcvePersonalIncapacidad"]); }
set { ViewState["CcvePersonalIncapacidad"] = value; }
}
protected void CargaPersonalIncapacidad()
{
LimpiaPersonalIncapacidad();
LnkAgregarIncapacidad.Visible = false;
LnkActualizarIncapacidad.Visible = false;
CcvePersonalIncapacidad = 0;
using (ClsNominas ObjPers = new ClsNominas())
{
ObjPers.PersonalIncapacidadGet(-1, SRCvePersonal,UsuarioActual.CveEmpresa);
GVNom_PersonalIncapacidad.DataSource = ObjPers.DtResultados;
}
GVNom_PersonalIncapacidad.DataBind();
UpsrIncapacidadpersonal.Update();
}
protected void LimpiaPersonalIncapacidad()
{
TxtSRINCfolio.Text = "";
TxtSRINCfechaInicio.Text = "";
TxtSRINCdiasAutorizados.Text = "";
DdlSRINCcveTipodeIncidencia.SelectedValue = "-1";
DdlSRINCcveRamoSeguro.SelectedValue = "-1";
DdlSRINCcveTipoRiesgo.SelectedValue = "-1";
TxtSRINCporcentajedeIncapacidad.Text = "";
DdlSRINCcveSecuelaConsecuencia.SelectedValue ="-1";
DdlSRINCcveControlIncapacidad.SelectedValue = "-1";
TxtSRINCdescripcion.Text = "";
UpsrIncapacidadpersonal.Update();
}
protected void LnkPersonalIncapacidad_Click(object sender, EventArgs e)
{
LimpiaPersonalIncapacidad();
#region GetDatos
GridViewRow gvRow = (GridViewRow)(((LinkButton)sender).NamingContainer);
CcvePersonalIncapacidad = gvRow.DataKey("CvePersonalIncapacidad").ToEntero();
int cvePersonal = gvRow.DataKey("CvePersonal").ToEntero();
string folio = gvRow.DataKey("Folio");
DateTime fechaInicio = gvRow.DataKey("FechaInicio").ToDateTime();
int diasAutorizados = gvRow.DataKey("DiasAutorizados").ToEntero();
int cveTipodeIncidencia = gvRow.DataKey("CveTipodeIncidencia").ToEntero();
int cveRamoSeguro = gvRow.DataKey("CveRamoSeguro").ToEntero();
int cveTipoRiesgo = gvRow.DataKey("CveTipoRiesgo").ToEntero();
int porcentajedeIncapacidad = gvRow.DataKey("PorcentajedeIncapacidad").ToEntero();
int cveSecuelaConsecuencia = gvRow.DataKey("CveSecuelaConsecuencia").ToEntero();
int cveControlIncapacidad = gvRow.DataKey("CveControlIncapacidad").ToEntero();
string descripcion = gvRow.DataKey("Descripcion");
#endregion
TxtSRINCfolio.Text = folio.ToString();
TxtSRINCfechaInicio.Text = $"{fechaInicio:dd/MM/yyyy}";
TxtSRINCdiasAutorizados.Text = diasAutorizados.ToString();
DdlSRINCcveTipodeIncidencia.SelectedValueExist(cveTipodeIncidencia.ToString());
DdlSRINCcveRamoSeguro.SelectedValueExist(cveRamoSeguro.ToString());
DdlSRINCcveTipoRiesgo.SelectedValueExist(cveTipoRiesgo.ToString());
TxtSRINCporcentajedeIncapacidad.Text = porcentajedeIncapacidad.ToString();
DdlSRINCcveSecuelaConsecuencia.SelectedValueExist(cveSecuelaConsecuencia.ToString());
DdlSRINCcveControlIncapacidad.SelectedValueExist(cveControlIncapacidad.ToString());
TxtSRINCdescripcion.Text = descripcion.ToString();
LnkAgregarIncapacidad.Visible = false;
LnkActualizarIncapacidad.Visible = true;
}
protected void LnkshowaaddIncapacidad_Click(object sender, EventArgs e)
{
LimpiaPersonalIncapacidad();
LnkAgregarIncapacidad.Visible = true;
LnkActualizarIncapacidad.Visible = false;
CcvePersonalIncapacidad = 0;
}
protected void LnkAgregarIncapacidad_Click(object sender, EventArgs e)
{
string folio = TxtSRINCfolio.Text;
DateTime fechaInicio = TxtSRINCfechaInicio.Text.ToDateTime();
int diasAutorizados = TxtSRINCdiasAutorizados.Text.ToEntero();
int cveTipodeIncidencia = DdlSRINCcveTipodeIncidencia.Text.ToEntero();
int cveRamoSeguro = DdlSRINCcveRamoSeguro.Text.ToEntero();
int cveTipoRiesgo = DdlSRINCcveTipoRiesgo.Text.ToEntero();
int porcentajedeIncapacidad = TxtSRINCporcentajedeIncapacidad.Text.ToEntero();
int cveSecuelaConsecuencia = DdlSRINCcveSecuelaConsecuencia.Text.ToEntero();
int cveControlIncapacidad = DdlSRINCcveControlIncapacidad.Text.ToEntero();
string descripcion = TxtSRINCdescripcion.Text;
bool Continuar;
using(ClsNominas ObjPers = new ClsNominas())
{
Continuar = ObjPers.PersonalIncapacidadAdd(UsuarioActual.CveUsuario, SRCvePersonal, folio, fechaInicio, diasAutorizados, cveTipodeIncidencia, cveRamoSeguro, cveTipoRiesgo, porcentajedeIncapacidad, cveSecuelaConsecuencia, cveControlIncapacidad, descripcion);
}
if (Continuar)
{
CargaPersonalIncapacidad();
UpsrIncapacidadpersonal.Update();
this.Alert("La incapacidad se ha agregado.",TipoMensaje.ToastInformacion);
}
}
protected void LnkActualizarIncapacidad_Click(object sender, EventArgs e)
{
string folio = TxtSRINCfolio.Text;
DateTime fechaInicio = TxtSRINCfechaInicio.Text.ToDateTime();
int diasAutorizados = TxtSRINCdiasAutorizados.Text.ToEntero();
int cveTipodeIncidencia = DdlSRINCcveTipodeIncidencia.Text.ToEntero();
int cveRamoSeguro = DdlSRINCcveRamoSeguro.Text.ToEntero();
int cveTipoRiesgo = DdlSRINCcveTipoRiesgo.Text.ToEntero();
int porcentajedeIncapacidad = TxtSRINCporcentajedeIncapacidad.Text.ToEntero();
int cveSecuelaConsecuencia = DdlSRINCcveSecuelaConsecuencia.Text.ToEntero();
int cveControlIncapacidad = DdlSRINCcveControlIncapacidad.Text.ToEntero();
string descripcion = TxtSRINCdescripcion.Text;
bool Continuar;
using (ClsNominas ObjPers = new ClsNominas())
{
Continuar = ObjPers.PersonalIncapacidadUp(UsuarioActual.CveUsuario, CcvePersonalIncapacidad, folio, fechaInicio, diasAutorizados,
cveTipodeIncidencia, cveRamoSeguro, cveTipoRiesgo, porcentajedeIncapacidad, cveSecuelaConsecuencia, cveControlIncapacidad, descripcion);
}
if (Continuar)
{
CargaPersonalIncapacidad();
UpsrIncapacidadpersonal.Update();
this.Alert("La incapacidad se ha actualizado.", TipoMensaje.ToastInformacion);
}
}
#endregion
protected void LnkSRVacacionesUP_Click(object sender, EventArgs e)
{
}
protected void LnkSRVacacionesADD_Click(object sender, EventArgs e)
{
}
} }

View File

@@ -474,7 +474,7 @@
</div> </div>
<div class="form-group form-md-line-input input-iconright"> <div class="form-group form-md-line-input input-iconright">
<asp:DropDownList Width ="100%" ID="DdlTipoContrato" runat="server" AppendDataBoundItems="True" DataTextField="TipoContrato" DataValueField="CveTipoContrato" CssClass="form-control input-sm select2me" ValidationGroup="GrpGuardar"> <asp:DropDownList Width ="100%" ID="DdlTipoContrato" runat="server" AppendDataBoundItems="True" DataTextField="txtoddl" DataValueField="CveTipoContrato" CssClass="form-control input-sm select2me" ValidationGroup="GrpGuardar">
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem> <asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
</asp:DropDownList> </asp:DropDownList>

View File

@@ -1000,9 +1000,11 @@ Partial Class RH_Personal
DdlTipoPeriodo.DataBind() DdlTipoPeriodo.DataBind()
End Sub End Sub
Private Sub CargaTiposContrato() Private Sub CargaTiposContrato()
DdlTipoContrato.DataSource = GlobalDTTiposContrato Dim dt As DataTable = GlobalDTTiposContrato
DdlTipoContrato.DataBind() 'dt.Columns.Add("txtoddl", GetType(String), "CodigoTipoContrato + ' ' + TipoContrato")
'DdlTipoContrato.DataSource = dt
'DdlTipoContrato.DataBind()
End Sub End Sub
Private Sub CargaTurno() Private Sub CargaTurno()

View File

@@ -840,6 +840,38 @@
</div> </div>
</div> </div>
</div> </div>
<div class="portlet light xspadding bordered">
<div class="portlet-title">
<div class="caption font-green">
<i class="icon-pin font-green"></i>
<span class="caption-subject bold uppercase">Entregas solo a:</span>
</div>
<div class="actions">
<div class="btn-group">
<asp:LinkButton runat="server" ID="BtnAgregarClientePersonalEntrega" data-toggle="tooltip" data-placement="right" title="Agregar dirección de envio." CssClass="btn btn-circle btn-default" Text="<i class='fa fa-plus'></i> Agregar"></asp:LinkButton>
</div>
</div>
</div>
<div class="portlet-body form">
<asp:UpdatePanel runat="server" ID="UpClentesPersonalEntrega" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="GvClentesPersonalEntrega" runat="server" Width="100%" GridLines="None" DataKeyNames="CvePersonalEntrega,PersonalEntrega,Nombre,CveUsuario,Usuario,FechaIng,Estatus,Estado"
CssClass="table table-striped table-advance table-hover mysmallbtn ScrollAD" AutoGenerateColumns="False" EmptyDataText="No se encontraron registros" ToolTip="Listado de direcciones de envio">
<Columns>
<asp:BoundField HeaderText="Personal" DataField="PersonalEntrega" ItemStyle-Width="80%"/>
<asp:BoundField HeaderText="Estatus" DataField="Estado" ItemStyle-Width="10%"/>
<asp:TemplateField HeaderText="Acciones" ItemStyle-HorizontalAlign="Left" ItemStyle-Width="10%">
<ItemTemplate>
<asp:LinkButton ID="imgE" runat="server" AlternateText="Editar" CausesValidation="False" OnClick="EditClientesPersonalEntrega_Click" CssClass="btn btn-circle btn-sm green" Text="<i class='fa fa-pencil'></i>" />
<asp:LinkButton ID="imgD" runat="server" AlternateText="Eliminar" CausesValidation="False" OnClick="DeleteClientesPersonalEntrega_Click" CssClass="btn btn-circle btn-sm red" Text="<i class='icon-trash'></i>" data-toggle="confirmation" data-popout="true" data-original-title="Confirmar" data-btn-ok-label="si" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
</div> </div>
</div> </div>
@@ -6185,6 +6217,45 @@
</div> </div>
</div> </div>
<%-- FIN MODAL MODIFICAR PRECIOS PS --%> <%-- FIN MODAL MODIFICAR PRECIOS PS --%>
<%--MODAL PARA AGREGAR Cliente Personal Entrega--%>
<div id="DivModalClientePersonalEntrega" class="modal ADS fade" role="dialog">
<div class="modal-dialog">
<asp:UpdatePanel ID="UpClientePersonalEntrega" class="modal-content rowpadding" tabindex="-1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
<h4 class="modal-title" id="H3" runat="server">Cliente Personal Entrega</h4>
</div>
<div class="modal-body">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox runat="server" ID="TxtPersonalEntrega" CssClass="form-control" MaxLength="70" CausesValidation="true" />
<label for="TxtPersonalEntrega">Personal Entrega:</label>
</div>
<%--<div class="form-group form-md-line-input input-iconright">
<label for="DdlUsuarioEntrega">Usuario:</label>
<asp:DropDownList runat="server" ID="DdlUsuarioEntrega" DataTextField="Usuario" DataValueField="CveUsuario" CssClass="select2me" Width="100%"/>
</div>--%>
<div class="form-group form-md-line-input input-iconright">
<label for="ChkPersonalEntrega">Estatus:</label>
<asp:CheckBox runat="server" ID="ChkPersonalEntrega" CssClass="make-switchsd" data-size="small" Text=" " />
</div>
</div>
<div class="modal-footer">
<asp:UpdatePanel runat="server">
<ContentTemplate>
<asp:LinkButton ID="LnkClientePersonalEntrega" runat="server" CssClass="btn btn-success" Text="Agregar" OnClick="LnkClientePersonalEntrega_Click"></asp:LinkButton>
<button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
<%--FIN MODAL CLIENTE PERSONAL ENTREGA--%>
</asp:Content> </asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server"> <asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">

View File

@@ -48,6 +48,15 @@ Partial Class Clientes
End Set End Set
End Property End Property
Private Property CveClientePersonalEntrega As Integer
Get
Return ViewState("CveClientePersonalEntrega").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("CveClientePersonalEntrega") = value
End Set
End Property
Private Property Modalidad As String Private Property Modalidad As String
Get Get
Return ViewState("Modalidad").ToString Return ViewState("Modalidad").ToString
@@ -1743,6 +1752,8 @@ Partial Class Clientes
TxtCorreoEntregaCompras.Text = ObjClientes.DtResultados(0)("CorreoEntregaCompras").ToString TxtCorreoEntregaCompras.Text = ObjClientes.DtResultados(0)("CorreoEntregaCompras").ToString
TxtCorreoEntregaAlmacen.Text = ObjClientes.DtResultados(0)("CorreoEntregaAlmacen").ToString TxtCorreoEntregaAlmacen.Text = ObjClientes.DtResultados(0)("CorreoEntregaAlmacen").ToString
CargarClientePersonalEntrega()
Else Else
Existe = False Existe = False
Alert("El Cliente Solicitado no existe, por favor revise su búsqueda.", TipoMensaje.MsgAdvertencia) Alert("El Cliente Solicitado no existe, por favor revise su búsqueda.", TipoMensaje.MsgAdvertencia)
@@ -10216,5 +10227,60 @@ Partial Class Clientes
UpDatos.Update() UpDatos.Update()
End Sub End Sub
Private Sub CargarClientePersonalEntrega()
Dim ObjVentas As New ClsVentas()
If ObjVentas.GetClientesPersonalEntrega(-1, CveCliente, UsuarioActual.CveEmpresa, -1) Then
GvClentesPersonalEntrega.DataSource = ObjVentas.DtResultados
GvClentesPersonalEntrega.DataBind()
End If
ObjVentas.Dispose()
End Sub
Protected Sub BtnAgregarClientePersonalEntrega_Click(sender As Object, e As EventArgs) Handles BtnAgregarClientePersonalEntrega.Click
TxtPersonalEntrega.Text = ""
ChkPersonalEntrega.Checked = True
LnkClientePersonalEntrega.Text = "Agregar"
UpClientePersonalEntrega.Update()
RegistraScript("$('#DivModalClientePersonalEntrega').modal('show');")
End Sub
Protected Sub LnkClientePersonalEntrega_Click(sender As Object, e As EventArgs)
Dim ObjVentas As New ClsVentas()
If LnkClientePersonalEntrega.Text = "Agregar" Then
If ObjVentas.AddClientesPersonalEntrega(TxtPersonalEntrega.Text, CveCliente, UsuarioActual.CveUsuario, ChkPersonalEntrega.Checked) Then
Alert("Usuario para entregar agregado correctamente")
End If
Else
If ObjVentas.UpdateClientesPersonalEntrega(CveClientePersonalEntrega, TxtPersonalEntrega.Text, UsuarioActual.CveUsuario, ChkPersonalEntrega.Checked) Then
Alert("Usuario para entregar actualizado correctamente")
End If
End If
ObjVentas.Dispose()
RegistraScript("$('#DivModalClientePersonalEntrega').modal('hide');")
CargarClientePersonalEntrega()
UpClentesPersonalEntrega.Update()
End Sub
Protected Sub EditClientesPersonalEntrega_Click(sender As Object, e As EventArgs)
Dim GvRow As GridViewRow = CType(((CType(sender, LinkButton)).NamingContainer), GridViewRow)
CveClientePersonalEntrega = GvRow.DataKey("CvePersonalEntrega").ToEntero
TxtPersonalEntrega.Text = GvRow.DataKey("PersonalEntrega")
ChkPersonalEntrega.Checked = GvRow.DataKey("Estatus") = "True"
LnkClientePersonalEntrega.Text = "Actualizar"
UpClientePersonalEntrega.Update()
RegistraScript("$('#DivModalClientePersonalEntrega').modal('show');")
End Sub
Protected Sub DeleteClientesPersonalEntrega_Click(sender As Object, e As EventArgs)
Dim GvRow As GridViewRow = CType(((CType(sender, LinkButton)).NamingContainer), GridViewRow)
Dim ObjVentas As New ClsVentas()
If ObjVentas.RemoveClientesPersonalEntrega(GvRow.DataKey("CvePersonalEntrega").ToEntero) Then
Alert("Usuario para entregar eliminado correctamente")
End If
ObjVentas.Dispose()
CargarClientePersonalEntrega()
UpClentesPersonalEntrega.Update()
End Sub
End Class End Class

View File

@@ -355,7 +355,7 @@ Partial Class Ventas_ClientesAbonar
Private Sub CargaCuentas() Private Sub CargaCuentas()
DdlCuenta.Items.Clear() DdlCuenta.Items.Clear()
Dim dt As DataTable = GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveEmpresa:=UsuarioActual.CveEmpresa) Dim dt As DataTable = GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveEmpresa:=UsuarioActual.CveEmpresa, CveTipoCuenta:=2)
If ChkPagarPesos.Checked Then If ChkPagarPesos.Checked Then
dt = dt.FiltraParametros(String.Format("CveMoneda = {0}", 1)) dt = dt.FiltraParametros(String.Format("CveMoneda = {0}", 1))
@@ -1730,9 +1730,14 @@ Partial Class Ventas_ClientesAbonar
ErrorAC = True ErrorAC = True
End If End If
ErrorAC = Not ObjConta.AjustaPoliza(IDPoliza) If Not ErrorAC Then
ErrorAC = Not ObjConta.AjustaPoliza(IDPoliza)
End If
If Not ErrorAC Then
ErrorAC = Not ObjIE.UpdateIEPrePoliza(Fecha, FolioPoliza.ToString, IDPoliza, CvePrePoliza, CveIE, 0)
End If
ErrorAC = Not ObjIE.UpdateIEPrePoliza(Fecha, FolioPoliza.ToString, IDPoliza, CvePrePoliza, CveIE, 0)
End If End If
End If End If

View File

@@ -849,6 +849,14 @@
</div> </div>
</div> </div>
<div class="row" style="margin-top: 5px;">
<label class="col-md-6 truncate">Aplica Sección</label>
<div class="col-md-6">
<asp:CheckBox ID="ChkSeccion" CssClass="chksino" data-size="small" runat="server" AutoPostBack="true" OnCheckedChanged="ChkSeccion_CheckedChanged" Text=" " />
</div>
</div>
<div class="row" style="margin-top: 5px;"> <div class="row" style="margin-top: 5px;">
<label class="col-md-6 truncate">Aplica Lote</label> <label class="col-md-6 truncate">Aplica Lote</label>
<div class="col-md-6"> <div class="col-md-6">
@@ -861,16 +869,16 @@
<label class="col-md-6 truncate">Aplica Caducidad</label> <label class="col-md-6 truncate">Aplica Caducidad</label>
<div class="col-md-6"> <div class="col-md-6">
<asp:CheckBox ID="ChkCaducidad" CssClass="chksino" data-size="small" runat="server" Text=" " /> <asp:CheckBox ID="ChkCaducidad" CssClass="chksino" data-size="small" runat="server" Text=" " OnCheckedChanged="ChkCaducidad_CheckedChanged" AutoPostBack="true"/>
</div> </div>
</div> </div>
<div class="row" style="margin-top: 5px;"> <div class="row" style="margin-top: 5px;" runat="server" id="DivTiempoCaducidad" visible="false">
<label class="col-md-6 truncate">Aplica Sección</label> <label class="col-md-6 truncate">Tiempo de Caducidad</label>
<div class="col-md-6"> <div class="col-md-6">
<asp:TextBox runat="server" ID="TxtTiempoCaducidad"/><label>Días</label>
<asp:CheckBox ID="ChkSeccion" CssClass="chksino" data-size="small" runat="server" AutoPostBack="true" OnCheckedChanged="ChkSeccion_CheckedChanged" Text=" " /> <asp:RegularExpressionValidator ID="RfvTxtTiempoCaducidad" runat="server" ControlToValidate="TxtTiempoCaducidad" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Tiempo Caducidad''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGuardar" ValidationExpression="\d{1,}" Display="None"></asp:RegularExpressionValidator>
<ajax:ValidatorCalloutExtender ID="VceTxtTiempoCaducidad" runat="server" HighlightCssClass="vco" TargetControlID="RfvTxtTiempoCaducidad" Width="300px" ></ajax:ValidatorCalloutExtender>
</div> </div>
</div> </div>
<div class="row" style="margin-top: 5px;" id="DivProveedorCompra" runat="server" visible="false"> <div class="row" style="margin-top: 5px;" id="DivProveedorCompra" runat="server" visible="false">

View File

@@ -1190,6 +1190,16 @@ Partial Class ProductosyServicios
Dim CveMarca As Integer = 0 Dim CveMarca As Integer = 0
If UsuarioActual.CveEmpresa.Contiene(1, 72, 80) And CvePS = -1 Then CveMarca = DdlMarcaPSDes.SelectedValue.ToEntero Else CveMarca = DdlMarca.SelectedValue.ToEntero If UsuarioActual.CveEmpresa.Contiene(1, 72, 80) And CvePS = -1 Then CveMarca = DdlMarcaPSDes.SelectedValue.ToEntero Else CveMarca = DdlMarca.SelectedValue.ToEntero
Dim TiempoCaducidad As Integer = -1
If ChkCaducidad.Checked Then
If TxtTiempoCaducidad.Text.Length > 0 AndAlso IsNumeric(TxtTiempoCaducidad.Text) Then
TiempoCaducidad = TxtTiempoCaducidad.Text.ToEntero()
Else
Alert("Falta indicar el tiempo de caducidad", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
End If
If CvePS = -1 Then If CvePS = -1 Then
Dim PSS As String = TxtPS.Text.Trim.Replace("|", "") Dim PSS As String = TxtPS.Text.Trim.Replace("|", "")
If UsuarioActual.CveEmpresa.Contiene(1, 72, 80) Then PSS = PSS.ToUpper If UsuarioActual.CveEmpresa.Contiene(1, 72, 80) Then PSS = PSS.ToUpper
@@ -1204,7 +1214,7 @@ Partial Class ProductosyServicios
CveClasificacionDetalle:=DdlTipoPSDes.SelectedValue.ToEntero, CveTamaño:=DdlTamanio.SelectedValue.ToEntero, CveClasificacionDetalle:=DdlTipoPSDes.SelectedValue.ToEntero, CveTamaño:=DdlTamanio.SelectedValue.ToEntero,
CveModelo:=DdlModelo.SelectedValue.ToEntero(), CveMedida:=DdlMedida.SelectedValue.ToEntero(), CveRinTamaño:=DdlRin.SelectedValue.ToEntero(), CveModelo:=DdlModelo.SelectedValue.ToEntero(), CveMedida:=DdlMedida.SelectedValue.ToEntero(), CveRinTamaño:=DdlRin.SelectedValue.ToEntero(),
ClaveImpuestoEmpaque:=DdlImpEmpaque.SelectedValue.ToString, ClaveImpuestoUM:=DdlImpUM.SelectedValue.ToString, ClaveCategoriaToxicidad:=DdlCategoriaToxicidad.SelectedValue.ToString, ClaveImpuestoEmpaque:=DdlImpEmpaque.SelectedValue.ToString, ClaveImpuestoUM:=DdlImpUM.SelectedValue.ToString, ClaveCategoriaToxicidad:=DdlCategoriaToxicidad.SelectedValue.ToString,
ClaveImpuestoTipoProducto:=DdlImpTipoProducto.SelectedValue.ToString, EsOutSourcing:=ChkEsOutSourcing.Checked) > 0 Then ClaveImpuestoTipoProducto:=DdlImpTipoProducto.SelectedValue.ToString, EsOutSourcing:=ChkEsOutSourcing.Checked, TiempoCaducidad:=TiempoCaducidad) > 0 Then
ViewState("CvePS") = ObjProductosServicios.CvePS ViewState("CvePS") = ObjProductosServicios.CvePS
For Each GVR As GridViewRow In GvImpuestosLocales.Rows For Each GVR As GridViewRow In GvImpuestosLocales.Rows
If GVR.FCCheckBox("ChkDeduccion").Checked Then If GVR.FCCheckBox("ChkDeduccion").Checked Then
@@ -1250,7 +1260,7 @@ Partial Class ProductosyServicios
CveModelo:=DdlModelo.SelectedValue.ToEntero(), CveMedida:=DdlMedida.SelectedValue.ToEntero(), CveRinTamaño:=DdlRin.SelectedValue.ToEntero(), CveModelo:=DdlModelo.SelectedValue.ToEntero(), CveMedida:=DdlMedida.SelectedValue.ToEntero(), CveRinTamaño:=DdlRin.SelectedValue.ToEntero(),
ClaveImpuestoEmpaque:=DdlImpEmpaque.SelectedValue.ToString, ClaveImpuestoUM:=DdlImpUM.SelectedValue.ToString, ClaveCategoriaToxicidad:=DdlCategoriaToxicidad.SelectedValue.ToString, ClaveImpuestoEmpaque:=DdlImpEmpaque.SelectedValue.ToString, ClaveImpuestoUM:=DdlImpUM.SelectedValue.ToString, ClaveCategoriaToxicidad:=DdlCategoriaToxicidad.SelectedValue.ToString,
ClaveImpuestoTipoProducto:=DdlImpTipoProducto.SelectedValue.ToString, EsOutSourcing:=ChkEsOutSourcing.Checked, ClaveImpuestoTipoProducto:=DdlImpTipoProducto.SelectedValue.ToString, EsOutSourcing:=ChkEsOutSourcing.Checked,
AplicaSerie:=ChkSerie.Checked, AplicaLote:=ChkLote.Checked, AplicaCaducidad:=ChkCaducidad.Checked, AplicaSeccion:=ChkSeccion.Checked) Then AplicaSerie:=ChkSerie.Checked, AplicaLote:=ChkLote.Checked, AplicaCaducidad:=ChkCaducidad.Checked, AplicaSeccion:=ChkSeccion.Checked, TiempoCaducidad:=TiempoCaducidad) Then
If Not ObjProductosServicios.LimpiaImpuestosLocales(CvePS) Then If Not ObjProductosServicios.LimpiaImpuestosLocales(CvePS) Then
TieneError = True TieneError = True
@@ -1411,7 +1421,7 @@ Partial Class ProductosyServicios
Dim ObjAliasDelete As New ClsProductosServicios Dim ObjAliasDelete As New ClsProductosServicios
Dim TieneError = False Dim TieneError = False
If ObjAliasDelete.RemovePSAlias(GVAlias.Rows(e.RowIndex).DataKey("CvePS").ToString.ToEntero, GVAlias.Rows(e.RowIndex).DataKey("PSAlias").ToString) Then If ObjAliasDelete.RemovePSAlias(GVAlias.Rows(e.RowIndex).DataKey("CvePS").ToString.ToEntero, GVAlias.Rows(e.RowIndex).DataKey("PSAlias").ToString, -1) Then
GVAlias.EditIndex = -1 GVAlias.EditIndex = -1
CargarAlias() CargarAlias()
UPGVAlias.Update() UPGVAlias.Update()
@@ -2731,4 +2741,10 @@ Partial Class ProductosyServicios
End If End If
Return Existencia > 0 Return Existencia > 0
End Function End Function
Protected Sub ChkCaducidad_CheckedChanged(sender As Object, e As EventArgs)
Dim Activar As Boolean = ChkCaducidad.Checked
DivTiempoCaducidad.Visible = Activar
RfvTxtTiempoCaducidad.Enabled = Activar
End Sub
End Class End Class

View File

@@ -7462,7 +7462,7 @@ Partial Class Ventas
End If End If
If CveCicloComercial > 0 AndAlso ErrorList.Count = 0 Then If CveCicloComercial > 0 AndAlso ErrorList.Count = 0 Then
If Not ObjContr.CicloComercialUpdate(CveCicloComercial, True, UsuarioActual.CveEmpresa) Then If Not ObjContr.CicloComercialUpdate(CveCicloComercial, True, UsuarioActual.CveEmpresa, CveVenta:=ObjFactura.CveVenta) Then
ErrorList.Add("No se pudo actualizar ") ErrorList.Add("No se pudo actualizar ")
End If End If
End If End If

View File

@@ -118,6 +118,10 @@