This commit is contained in:
2022-08-04 08:36:33 -07:00
22 changed files with 1479 additions and 613 deletions

View File

@@ -172,6 +172,7 @@ Public Class ClsClientes
Public Property CodigoRegimenFiscal As String Public Property CodigoRegimenFiscal As String
Public Property RegimenFiscal As String Public Property RegimenFiscal As String
Public Property RepresentanteLegal As String
#End Region #End Region
@@ -429,6 +430,7 @@ Public Class ClsClientes
_RegimenFiscal = Data(0)("RegimenFiscal").ToString _RegimenFiscal = Data(0)("RegimenFiscal").ToString
_CodigoRegimenFiscal = Data(0)("CodigoRegimenFiscal").ToString _CodigoRegimenFiscal = Data(0)("CodigoRegimenFiscal").ToString
_RepresentanteLegal = Data(0)("RepresentanteLegal").ToString
End If End If
Retorno = True Retorno = True
@@ -586,7 +588,8 @@ Public Class ClsClientes
Optional AplicaComercioExterior As Boolean = False, Optional CveTipoOperacion As Integer = -1, Optional CvePedimento As Integer = -1, Optional CveIncoterm As Integer = -1, Optional CvePais As Integer = -1, Optional CveEstado As Integer = -1, Optional CveMunicipio As Integer = -1, Optional CveColonia As Integer = -1, Optional AplicaComercioExterior As Boolean = False, Optional CveTipoOperacion As Integer = -1, Optional CvePedimento As Integer = -1, Optional CveIncoterm As Integer = -1, Optional CvePais As Integer = -1, Optional CveEstado As Integer = -1, Optional CveMunicipio As Integer = -1, Optional CveColonia As Integer = -1,
Optional CveMotivoTraslado As Integer = 0, Optional NumRegIdTrib As String = "", Optional ComExtEstado As String = "-1", Optional ComExtMunicipio As String = "-1", Optional ComExtColonia As String = "-1", Optional RequiereOC As Boolean = False, Optional CveMotivoTraslado As Integer = 0, Optional NumRegIdTrib As String = "", Optional ComExtEstado As String = "-1", Optional ComExtMunicipio As String = "-1", Optional ComExtColonia As String = "-1", Optional RequiereOC As Boolean = False,
Optional LT As String = "0", Optional LG As String = "0", Optional EsDistribuidor As Boolean = False, Optional TipoCliente As Integer = 1, Optional CargoUsado As Boolean = False, Optional BonificacionUsado As Boolean = False, Optional CveTipoRetencion As Integer = 0, Optional LT As String = "0", Optional LG As String = "0", Optional EsDistribuidor As Boolean = False, Optional TipoCliente As Integer = 1, Optional CargoUsado As Boolean = False, Optional BonificacionUsado As Boolean = False, Optional CveTipoRetencion As Integer = 0,
Optional CorreoEntregaCompras As String = "-1", Optional CorreoEntregaAlmacen As String = "-1", Optional CveSATEstado As Integer = -1, Optional CveAdminTrayecto As Integer = -1, Optional CveRegimenFiscal As Integer = 0, Optional RegimenSociedad As String = "-1", Optional TipoPersona As Boolean = False) As Boolean Optional CorreoEntregaCompras As String = "-1", Optional CorreoEntregaAlmacen As String = "-1", Optional CveSATEstado As Integer = -1, Optional CveAdminTrayecto As Integer = -1, Optional CveRegimenFiscal As Integer = 0, Optional RegimenSociedad As String = "-1", Optional TipoPersona As Boolean = False,
Optional RepresentanteLegal As String = "") As Boolean
Dim Retorno As Boolean = False Dim Retorno As Boolean = False
@@ -731,6 +734,9 @@ Public Class ClsClientes
.Add("@RegimenSociedad", SqlDbType.VarChar).Value = RegimenSociedad .Add("@RegimenSociedad", SqlDbType.VarChar).Value = RegimenSociedad
.Add("@TipoPersona", SqlDbType.Bit).Value = TipoPersona .Add("@TipoPersona", SqlDbType.Bit).Value = TipoPersona
.Add("@RepresentanteLegal", SqlDbType.VarChar).Value = RepresentanteLegal
@@ -782,7 +788,8 @@ Public Class ClsClientes
Optional CveMotivoTraslado As Integer = 0, Optional NumRegIdTrib As String = "-1", Optional ComExtEstado As String = "-1", Optional ComExtMunicipio As String = "-1", Optional ComExtColonia As String = "-1", Optional CveMotivoTraslado As Integer = 0, Optional NumRegIdTrib As String = "-1", Optional ComExtEstado As String = "-1", Optional ComExtMunicipio As String = "-1", Optional ComExtColonia As String = "-1",
Optional ApellidoPaternoPF As String = "-1", Optional ApellidoMaternoPF As String = "-1", Optional NombresPF As String = "-1", Optional RequiereOC As Boolean = False, Optional ApellidoPaternoPF As String = "-1", Optional ApellidoMaternoPF As String = "-1", Optional NombresPF As String = "-1", Optional RequiereOC As Boolean = False,
Optional LT As String = "0", Optional LG As String = "0", Optional EsDistribuidor As Boolean = False, Optional TipoCliente As Integer = 1, Optional CargoUsado As Boolean = False, Optional BonificacionUsado As Boolean = False, Optional CveTipoRetencion As Integer = 0, Optional CorreoEntregaCompras As String = "-1", Optional CorreoEntregaAlmacen As String = "-1", Optional LT As String = "0", Optional LG As String = "0", Optional EsDistribuidor As Boolean = False, Optional TipoCliente As Integer = 1, Optional CargoUsado As Boolean = False, Optional BonificacionUsado As Boolean = False, Optional CveTipoRetencion As Integer = 0, Optional CorreoEntregaCompras As String = "-1", Optional CorreoEntregaAlmacen As String = "-1",
Optional CveSATEstado As Integer = -1, Optional CveAdminTrayecto As Integer = -1, Optional NoDesglosaIVA As Boolean = False, Optional CveRegimenFiscal As Integer = 0, Optional RegimenSociedad As String = "-1", Optional TipoPersona As Boolean = False) As Boolean Optional CveSATEstado As Integer = -1, Optional CveAdminTrayecto As Integer = -1, Optional NoDesglosaIVA As Boolean = False, Optional CveRegimenFiscal As Integer = 0, Optional RegimenSociedad As String = "-1", Optional TipoPersona As Boolean = False,
Optional RepresentanteLegal As String = "") As Boolean
Dim Retorno As Boolean = False Dim Retorno As Boolean = False
@@ -943,6 +950,7 @@ Public Class ClsClientes
.Add("@RegimenSociedad", SqlDbType.VarChar).Value = RegimenSociedad .Add("@RegimenSociedad", SqlDbType.VarChar).Value = RegimenSociedad
.Add("@TipoPersona", SqlDbType.Bit).Value = TipoPersona .Add("@TipoPersona", SqlDbType.Bit).Value = TipoPersona
.Add("@RepresentanteLegal", SqlDbType.VarChar).Value = RepresentanteLegal

View File

@@ -30,6 +30,10 @@ Public Class ClsNominas
Public Property FolioFiscal As String Public Property FolioFiscal As String
Public Property Serie As String Public Property Serie As String
Public Property Folio As Integer Public Property Folio As Integer
Public Property FolioSolicitud As Integer
Public Property RegistroPatronal As String Public Property RegistroPatronal As String
Public Property SerieFolio As String Public Property SerieFolio As String
Public Property NominaFolio As String Public Property NominaFolio As String
@@ -3238,12 +3242,14 @@ Public Class ClsNominas
End Function End Function
#Region "CRUD_SolicitudesNominas" #Region "CRUD_SolicitudesNominas"
Public Function SolicitudesGet(CveSolicitud As Integer, CveEmpresa As Integer, Optional CveTipoSolicitud As Integer = 1) As Boolean Public Function SolicitudesGet(CveSolicitud As Integer, CveEmpresa As Integer, Optional CveTipoSolicitud As Integer = 1, Optional Estatus As Integer = -1, Optional Top As Integer = 100000) As Boolean
Dim retorno As Boolean = False Dim retorno As Boolean = False
DataAdapter("PA_Gral_SAT_SolicitudesGet", CommandType.StoredProcedure) DataAdapter("PA_Gral_SAT_SolicitudesGet", CommandType.StoredProcedure)
addParameters("@CveSolicitud", SqlDbType.Int, CveSolicitud) addParameters("@CveSolicitud", SqlDbType.Int, CveSolicitud)
addParameters("@CveEmpresa", SqlDbType.Int, CveEmpresa) addParameters("@CveEmpresa", SqlDbType.Int, CveEmpresa)
addParameters("@CveTipoSolicitud", SqlDbType.Int, CveTipoSolicitud) addParameters("@CveTipoSolicitud", SqlDbType.Int, CveTipoSolicitud)
addParameters("@Estatus", SqlDbType.Int, Estatus)
addParameters("@Top", SqlDbType.Int, Top)
retorno = RunQuery("Ocurrió un error al obtener el SolicitudesNominas.") retorno = RunQuery("Ocurrió un error al obtener el SolicitudesNominas.")
Return retorno Return retorno
End Function End Function
@@ -3263,6 +3269,84 @@ Public Class ClsNominas
retorno = RunQuery("Ocurrió un error al agregar el SolicitudesNominas.") retorno = RunQuery("Ocurrió un error al agregar el SolicitudesNominas.")
Return retorno Return retorno
End Function End Function
Public Function SolicitudesAdd2(CveSolicitudCFDI As Integer, CveSolicitudMetadata As Integer, estatus As Integer, observaciones As String, fechaInicio As DateTime, fechaFin As DateTime, cveUsuarioIng As Int32, cveEmpresa As Int32, Optional CveTipoSolicitud As Integer = 1) As Integer
'CveTipoSolicitud
'1 Nominas CFDI y Metadata
'101 Nominas CFDI
'201 Nominas Metadata
'2 eFacturas CFDI y Metadata
'102 eFacturas CFDI
'202 eFacturas Metadata
'3 Ingresos CFDI y Metadata
'103 Ingresos CFDI
'203 Ingresos Metadata
Dim CveSolictudAgregada As Integer = -1
FolioSolicitud = -1
Try
DataAdapter("PA_Gral_SAT_SolicitudesAdd2", CommandType.StoredProcedure)
addParameters("@CveSolicitudCFDI", SqlDbType.Int, CveSolicitudCFDI)
addParameters("@CveSolicitudMetadata", SqlDbType.Int, CveSolicitudMetadata)
addParameters("@Estatus", SqlDbType.Int, estatus)
addParameters("@Observaciones", SqlDbType.VarChar, observaciones)
addParameters("@FechaInicio", SqlDbType.DateTime, fechaInicio)
addParameters("@FechaFin", SqlDbType.DateTime, fechaFin)
addParameters("@CveUsuarioIng", SqlDbType.Int, cveUsuarioIng)
addParameters("@CveEmpresa", SqlDbType.Int, cveEmpresa)
addParameters("@CveTipoSolicitud", SqlDbType.Int, CveTipoSolicitud)
With SqlAdapter.SelectCommand.Parameters
.Add("@CveSolicitud", SqlDbType.Int).Direction = ParameterDirection.Output
.Add("@Folio", SqlDbType.Int).Direction = ParameterDirection.Output
End With
SqlAdapter.Fill(Data)
CveSolictudAgregada = SqlAdapter.SelectCommand.Parameters("@CveSolicitud").Value.ToString.ToEntero
FolioSolicitud = SqlAdapter.SelectCommand.Parameters("@Folio").Value.ToString.ToEntero
Catch ex As Exception
CveSolictudAgregada = -1
OnError("Ocurrió un error al agregar la Solicitud.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
Return CveSolictudAgregada
End Function
Public Function UpdateSolicitudDetalleCveSolicitudDetalle(CveEmpresa As Integer, UUID As String, CveSolicitudDetalle As Integer) As Boolean
Dim retorno As Boolean = False
Try
DataAdapter("PA_SAT_SolicitudesCFDIDataCveSolicitudDetalleUpdate", CommandType.StoredProcedure)
With SqlAdapter.SelectCommand.Parameters
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@UUID", SqlDbType.VarChar).Value = UUID
.Add("@CveSolicitudDetalle", SqlDbType.Int).Value = CveSolicitudDetalle
End With
SqlAdapter.Fill(Data)
retorno = True
Catch ex As Exception
retorno = False
OnError("Ocurrió un error al Actualizar SolicitudesCFDIData.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return retorno
End Function
Public Function SolicitudesUp(CveSolicitud As Int32, CveSolicitudCFDI As Int32, CveSolicitudMetadata As Int32, estatus As Int32, observaciones As String, cveEmpresa As Int32) As Boolean Public Function SolicitudesUp(CveSolicitud As Int32, CveSolicitudCFDI As Int32, CveSolicitudMetadata As Int32, estatus As Int32, observaciones As String, cveEmpresa As Int32) As Boolean
Dim retorno As Boolean = False Dim retorno As Boolean = False
DataAdapter("PA_Gral_SAT_SolicitudesUp", CommandType.StoredProcedure) DataAdapter("PA_Gral_SAT_SolicitudesUp", CommandType.StoredProcedure)

View File

@@ -119,6 +119,7 @@ Public Class ClsOC
Public Property UsoCFDI As String Public Property UsoCFDI As String
Public Property Promocion As String Public Property Promocion As String
Public Property CveProveedorContacto As Integer Public Property CveProveedorContacto As Integer
Public Property NumRemision As String
Public ReadOnly Property DtResultados() As DataTable Public ReadOnly Property DtResultados() As DataTable
Get Get
@@ -685,6 +686,7 @@ Public Class ClsOC
_UsoCFDI = dr("UsoCFDI").ToString _UsoCFDI = dr("UsoCFDI").ToString
Promocion = IfNull(dr("Promocion"), "", dr("Promocion").ToString) Promocion = IfNull(dr("Promocion"), "", dr("Promocion").ToString)
CveProveedorContacto = If(Not IsDBNull(dr("CveProveedorContacto")), dr("CveProveedorContacto").ToString.ToEntero, -1) CveProveedorContacto = If(Not IsDBNull(dr("CveProveedorContacto")), dr("CveProveedorContacto").ToString.ToEntero, -1)
NumRemision = dr("NumRemision").ToString
Retorno = True Retorno = True
ElseIf Data.Rows.Count > 0 Then ElseIf Data.Rows.Count > 0 Then
@@ -704,7 +706,7 @@ Public Class ClsOC
Optional CveCliente As Integer = -1, Optional CveVendedor As Integer = -1, Optional PrioridadObservacion As String = "", Optional CveCliente As Integer = -1, Optional CveVendedor As Integer = -1, Optional PrioridadObservacion As String = "",
Optional PorcentajeIVA As Decimal = 0.16, Optional IVA As Decimal = 0, Optional RetIVA As Decimal = 0, Optional RetISR As Decimal = 0, Optional FechaExpiracion As Date = Nothing, Optional CveCotizacion As Integer = -1, Optional PorcentajeIVA As Decimal = 0.16, Optional IVA As Decimal = 0, Optional RetIVA As Decimal = 0, Optional RetISR As Decimal = 0, Optional FechaExpiracion As Date = Nothing, Optional CveCotizacion As Integer = -1,
Optional FolioAdicional As String = "", Optional EntregaDirecta As Integer = -1, Optional CveDireccionEnvio As Integer = -1, Optional Guia As String = "-1", Optional IEPS As Decimal = -1, Optional FolioAdicional As String = "", Optional EntregaDirecta As Integer = -1, Optional CveDireccionEnvio As Integer = -1, Optional Guia As String = "-1", Optional IEPS As Decimal = -1,
Optional CveIEAnticipo As Integer = -1, Optional ImporteAnticipo As Decimal = 0, Optional UsoCFDI As Integer = -1, Optional Promocion As String = "-1", Optional CveProveedorContacto As Integer = -1) As Boolean Optional CveIEAnticipo As Integer = -1, Optional ImporteAnticipo As Decimal = 0, Optional UsoCFDI As Integer = -1, Optional Promocion As String = "-1", Optional CveProveedorContacto As Integer = -1, Optional NumRemision As String = "-1") As Boolean
Dim Retorno As Boolean = False Dim Retorno As Boolean = False
DataAdapter("PA_OC_OrdenesCompraAdd") DataAdapter("PA_OC_OrdenesCompraAdd")
@@ -747,6 +749,7 @@ Public Class ClsOC
.Add("@UsoCFDI", SqlDbType.Int).Value = UsoCFDI .Add("@UsoCFDI", SqlDbType.Int).Value = UsoCFDI
.Add("@Promocion", SqlDbType.VarChar).Value = Promocion .Add("@Promocion", SqlDbType.VarChar).Value = Promocion
.Add("@CveProveedorContacto", SqlDbType.Int).Value = CveProveedorContacto .Add("@CveProveedorContacto", SqlDbType.Int).Value = CveProveedorContacto
.Add("@NumRemision", SqlDbType.VarChar).Value = NumRemision
.Add("@vCveOrdenCompra", SqlDbType.Int).Direction = ParameterDirection.Output .Add("@vCveOrdenCompra", SqlDbType.Int).Direction = ParameterDirection.Output
.Add("@vFolio", SqlDbType.Int).Direction = ParameterDirection.Output .Add("@vFolio", SqlDbType.Int).Direction = ParameterDirection.Output
@@ -910,7 +913,7 @@ Public Class ClsOC
pCveProveedor As Integer, pCveOrdenCompra As Integer, pCveUsuarioModifico As Integer, Optional CveCliente As Integer = -1, Optional CveVendedor As Integer = -1, Optional PrioridadObservacion As String = "", pCveProveedor As Integer, pCveOrdenCompra As Integer, pCveUsuarioModifico As Integer, Optional CveCliente As Integer = -1, Optional CveVendedor As Integer = -1, Optional PrioridadObservacion As String = "",
Optional IVA As Decimal = 0, Optional RetIVA As Decimal = 0, Optional RetISR As Decimal = 0, Optional IDPoliza As Integer = -1, Optional FechaExpiracion As Date = Nothing, Optional FolioAdicional As String = "", Optional IVA As Decimal = 0, Optional RetIVA As Decimal = 0, Optional RetISR As Decimal = 0, Optional IDPoliza As Integer = -1, Optional FechaExpiracion As Date = Nothing, Optional FolioAdicional As String = "",
Optional EntregaDirecta As Integer = -1, Optional CveDireccionEnvio As Integer = -1, Optional Guia As String = "-1", Optional IEPS As Decimal = -1, Optional UsoCFDI As Integer = -1, Optional Promocion As String = "-1", Optional EntregaDirecta As Integer = -1, Optional CveDireccionEnvio As Integer = -1, Optional Guia As String = "-1", Optional IEPS As Decimal = -1, Optional UsoCFDI As Integer = -1, Optional Promocion As String = "-1",
Optional pCveProveedorSucursal As Integer = -1, Optional CveProveedorContacto As Integer = -1, Optional PorcentajeIVA As Decimal = 0.16) As Boolean Optional pCveProveedorSucursal As Integer = -1, Optional CveProveedorContacto As Integer = -1, Optional PorcentajeIVA As Decimal = 0.16, Optional NumRemision As String = "-1") As Boolean
Dim Retorno As Boolean = False Dim Retorno As Boolean = False
DataAdapter("PA_OC_OrdenesCompraUpdate") DataAdapter("PA_OC_OrdenesCompraUpdate")
@@ -944,6 +947,7 @@ Public Class ClsOC
.Add("@CveProveedorSucursal", SqlDbType.Int).Value = pCveProveedorSucursal .Add("@CveProveedorSucursal", SqlDbType.Int).Value = pCveProveedorSucursal
.Add("@CveProveedorContacto", SqlDbType.Int).Value = CveProveedorContacto .Add("@CveProveedorContacto", SqlDbType.Int).Value = CveProveedorContacto
.Add("@PorcentajeIVA", SqlDbType.SmallMoney).Value = PorcentajeIVA .Add("@PorcentajeIVA", SqlDbType.SmallMoney).Value = PorcentajeIVA
.Add("@NumRemision", SqlDbType.VarChar).Value = NumRemision
End With End With
Try Try
@@ -2506,6 +2510,30 @@ Public Class ClsOC
Return Retorno Return Retorno
End Function End Function
Public Function GetVerificaNumRemision(CveProveedor As Integer, Tipo As String, NumRemision As String, CveEmpresa As Integer, CveOrdenCompraValida As Integer) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_OC_OCVerificaNumRemisionGet")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveProveedor", SqlDbType.Int).Value = CveProveedor
.Add("@Tipo", SqlDbType.VarChar).Value = Tipo
.Add("@NumRemision", SqlDbType.VarChar).Value = NumRemision
.Add("@CveOrdenCompraValida", SqlDbType.Int).Value = CveOrdenCompraValida
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al consultar las remiciones", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return Retorno
End Function
#Region " IDisposable Support " #Region " IDisposable Support "
' IDisposable ' IDisposable
Protected Overridable Sub Dispose(ByVal disposing As Boolean) Protected Overridable Sub Dispose(ByVal disposing As Boolean)

View File

@@ -2164,10 +2164,17 @@ chkAplicaVacacion As Boolean, chkAplicaIncapacidad As Boolean, chkAplicaRetardo
SqlAdapter.Fill(Data) SqlAdapter.Fill(Data)
Retorno = True Retorno = True
Catch Ex1 As SqlException Catch Ex1 As SqlException
If Ex1.Message.Contains("Número: 2627;") Then
If Ex1.Message.Contains("UK_Idx_Vw_Val_Nom_Curps") Then
Alert(String.Format("El personal no se guardó, el campo CURP '{0}' ya se encuentra registrado en otro empleado.", CURP), TipoMensaje.MsgAdvertencia)
ElseIf Ex1.Message.ToUpper.Contains("RFC") Then
Alert(String.Format("El personal no se guardó, el campo RFC '{0}' ya se encuentra registrado en otro empleado.", RFC), TipoMensaje.MsgAdvertencia)
ElseIf Ex1.Message.ToUpper.Contains("CODIGO") Then
Alert(String.Format("El personal no se guardó, el campo codigo '{0}' ya se encuentra registrado en otro empleado.", Codigo), TipoMensaje.MsgAdvertencia)
ElseIf Ex1.Message.Contains("Número: 2627;") Then
Alert("El Personal no se guardó debido a que actualmente se encuentra registrado.", TipoMensaje.MsgAdvertencia) Alert("El Personal no se guardó debido a que actualmente se encuentra registrado.", TipoMensaje.MsgAdvertencia)
ElseIf Ex1.Message.Contains("TR_RH_PersonalAltas000") Then ElseIf Ex1.Message.Contains("TR_RH_PersonalAltas") Then
Alert("El personal no se guardó el periodo de inicio y fin laboral del empleado está en conflicto con los anteriores, si es un reingreso favor de ingresar una fecha inicio mayor a la última fecha baja registrada.", TipoMensaje.MsgAdvertencia) Alert("El personal no se guardó, el periodo de inicio y fin laboral del empleado está en conflicto con los anteriores, si es un reingreso favor de ingresar una fecha inicio mayor a la última fecha baja registrada.", TipoMensaje.MsgAdvertencia)
GuardaLog(String.Format("{0} DESCRIPCIÓN DETALLADA: {1} {2} {3}", "Ocurrió un error al intentar guardar los cambios en el Personal.", Ex1.ToString, vbCrLf, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())) GuardaLog(String.Format("{0} DESCRIPCIÓN DETALLADA: {1} {2} {3}", "Ocurrió un error al intentar guardar los cambios en el Personal.", Ex1.ToString, vbCrLf, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()))
Else Else
Me.OnError("Ocurrió un error al intentar guardar los cambios en el Personal.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) Me.OnError("Ocurrió un error al intentar guardar los cambios en el Personal.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())

View File

@@ -3048,6 +3048,16 @@ Partial Class PopUpVerFactura
CartaPorte = New Modelos.MSubReportData() CartaPorte = New Modelos.MSubReportData()
CartaPorte.Parametros.Add(New ReportParameter($"TieneCartaPorte", "False")) CartaPorte.Parametros.Add(New ReportParameter($"TieneCartaPorte", "False"))
End If End If
Else
If UsuarioActual.CveEmpresa = 13 AndAlso Vta.TipoDocto = "Egs" Then
CartaPorte = New Modelos.MSubReportData()
CartaPorte.Parametros.Add(New ReportParameter($"TieneCartaPorte", "False"))
End If
End If
Else
If UsuarioActual.CveEmpresa = 13 AndAlso Vta.TipoDocto = "Egs" Then
CartaPorte = New Modelos.MSubReportData()
CartaPorte.Parametros.Add(New ReportParameter($"TieneCartaPorte", "False"))
End If End If
End If End If

View File

@@ -2645,10 +2645,10 @@ Partial Class Compras_eFacturas
sbResultado.Append($"{resultSolicitud(1)}<br/>") sbResultado.Append($"{resultSolicitud(1)}<br/>")
Else Else
sbResultado.Append($"Solicitud Generada Correctamente") sbResultado.Append($"Solicitud Generada Correctamente")
sbResultado.Append($"Se presento un error al verificar las solicitudes <br/> {resultSolicitud(2)} <br>") sbResultado.Append($"Se presento un error al verificar las solicitudes <br/> {resultSolicitud(1)} <br>")
End If End If
Else Else
sbResultado.Append($"{resultSolicitud(2)}") sbResultado.Append($"{resultSolicitud(1)}")
TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia
End If End If
Else Else
@@ -2675,7 +2675,7 @@ Partial Class Compras_eFacturas
If Continuar Then If Continuar Then
txtFechaIAdd.Text = "" txtFechaIAdd.Text = ""
txtFechaFAdd.Text = "" txtFechaFAdd.Text = ""
Me.RegistraScript("$('#ModalAgregarSolicitud').modal('hide');") Me.RegistraScript("$('#ModalViewSolicitudes').modal('hide');")
cargasolicitudes() cargasolicitudes()
End If End If
@@ -2723,10 +2723,10 @@ Partial Class Compras_eFacturas
sbResultado.Append($"{resultSolicitud(2)}<br/>") sbResultado.Append($"{resultSolicitud(2)}<br/>")
Else Else
sbResultado.Append($"Solicitud Generada Correctamente") sbResultado.Append($"Solicitud Generada Correctamente")
sbResultado.Append($"Se presento un error al verificar las solicitudes <br/> {resultSolicitud(2)} <br>") sbResultado.Append($"Se presento un error al verificar las solicitudes <br/> {resultSolicitud(1)} <br>")
End If End If
Else Else
sbResultado.Append($"{resultSolicitud(2)}") sbResultado.Append($"{resultSolicitud(1)}")
TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia
End If End If
Else Else
@@ -2737,9 +2737,9 @@ Partial Class Compras_eFacturas
If SeVerifico AndAlso resultVerificacion.Count = 4 Then If SeVerifico AndAlso resultVerificacion.Count = 4 Then
If ResultadoVerificaionOK Then If ResultadoVerificaionOK Then
sbResultado.Append($"{resultVerificacion(2)}<br>") sbResultado.Append($"{resultVerificacion(1)}<br>")
Else Else
sbResultado.Append($"Se presento un error al verificar las solicitudes {resultVerificacion(2)}<br>") sbResultado.Append($"Se presento un error al verificar las solicitudes {resultVerificacion(1)}<br>")
TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia
End If End If
Else Else

View File

@@ -1114,7 +1114,7 @@
<Height>0.63559in</Height> <Height>0.63559in</Height>
<Style /> <Style />
</Body> </Body>
<Width>10.98354in</Width> <Width>10.94855in</Width>
<Page> <Page>
<PageHeader> <PageHeader>
<Height>2.46174cm</Height> <Height>2.46174cm</Height>

View File

@@ -601,7 +601,7 @@
<TextRun> <TextRun>
<Value>=Fields!PorcentajePago.Value</Value> <Value>=Fields!PorcentajePago.Value</Value>
<Style> <Style>
<Format>0.00;(0.00)</Format> <Format>0;(0)</Format>
</Style> </Style>
</TextRun> </TextRun>
</TextRuns> </TextRuns>
@@ -615,32 +615,13 @@
<Style>Solid</Style> <Style>Solid</Style>
<Width>0.5pt</Width> <Width>0.5pt</Width>
</Border> </Border>
<TopBorder>
<Color>Gray</Color>
<Style>Solid</Style>
<Width>0.5pt</Width>
</TopBorder>
<BottomBorder>
<Color>Gray</Color>
<Style>Solid</Style>
<Width>0.5pt</Width>
</BottomBorder>
<LeftBorder>
<Color>Gray</Color>
<Style>Solid</Style>
<Width>0.5pt</Width>
</LeftBorder>
<RightBorder>
<Color>Gray</Color>
<Style>Solid</Style>
<Width>0.5pt</Width>
</RightBorder>
<PaddingLeft>2pt</PaddingLeft> <PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight> <PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop> <PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom> <PaddingBottom>2pt</PaddingBottom>
</Style> </Style>
</Textbox> </Textbox>
<rd:Selected>true</rd:Selected>
</CellContents> </CellContents>
</TablixCell> </TablixCell>
<TablixCell> <TablixCell>
@@ -743,7 +724,6 @@
<PaddingBottom>2pt</PaddingBottom> <PaddingBottom>2pt</PaddingBottom>
</Style> </Style>
</Textbox> </Textbox>
<rd:Selected>true</rd:Selected>
</CellContents> </CellContents>
</TablixCell> </TablixCell>
<TablixCell> <TablixCell>
@@ -823,7 +803,7 @@
</TablixMembers> </TablixMembers>
</TablixRowHierarchy> </TablixRowHierarchy>
<DataSetName>DataSet1</DataSetName> <DataSetName>DataSet1</DataSetName>
<Top>2.11349cm</Top> <Top>3.2953cm</Top>
<Left>0.31432cm</Left> <Left>0.31432cm</Left>
<Height>1.2cm</Height> <Height>1.2cm</Height>
<Width>18.8639cm</Width> <Width>18.8639cm</Width>
@@ -861,9 +841,9 @@
</Paragraphs> </Paragraphs>
<rd:DefaultName>Textbox15</rd:DefaultName> <rd:DefaultName>Textbox15</rd:DefaultName>
<Top>0.57891cm</Top> <Top>0.57891cm</Top>
<Left>0.31432cm</Left> <Left>3.59515cm</Left>
<Height>0.9175cm</Height> <Height>0.9175cm</Height>
<Width>18.8639cm</Width> <Width>12.27578cm</Width>
<ZIndex>1</ZIndex> <ZIndex>1</ZIndex>
<Style> <Style>
<Border> <Border>
@@ -875,12 +855,132 @@
<PaddingBottom>2pt</PaddingBottom> <PaddingBottom>2pt</PaddingBottom>
</Style> </Style>
</Textbox> </Textbox>
<Textbox Name="Textbox2">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Parameters!Filtros.Value</Value>
<Style />
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox2</rd:DefaultName>
<Top>2.51891cm</Top>
<Left>0.31432cm</Left>
<Height>0.6cm</Height>
<Width>16.6814cm</Width>
<ZIndex>2</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Image Name="Logo">
<Source>Embedded</Source>
<Value>VSH</Value>
<Sizing>FitProportional</Sizing>
<Top>0.38391cm</Top>
<Left>0.31432cm</Left>
<Height>1.84396cm</Height>
<Width>3.28083cm</Width>
<ZIndex>3</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
</Style>
</Image>
</ReportItems> </ReportItems>
<Height>1.65554in</Height> <Height>1.92637in</Height>
<Style /> <Style />
</Body> </Body>
<Width>7.67548in</Width> <Width>7.72756in</Width>
<Page> <Page>
<PageFooter>
<Height>0.89958cm</Height>
<PrintOnFirstPage>true</PrintOnFirstPage>
<PrintOnLastPage>true</PrintOnLastPage>
<ReportItems>
<Textbox Name="Textbox4">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=string.Format("página {0} de {1}",Globals!PageNumber,Globals!TotalPages)</Value>
<Style />
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox4</rd:DefaultName>
<Top>0.14111cm</Top>
<Left>16.67822cm</Left>
<Height>0.6cm</Height>
<Width>2.5cm</Width>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Textbox Name="Textbox6">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Fecha de impresión:</Value>
<Style />
</TextRun>
<TextRun>
<Value>=Parameters!FechaImpresion.Value</Value>
<Style />
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox6</rd:DefaultName>
<Top>0.14111cm</Top>
<Left>6.298cm</Left>
<Height>0.6cm</Height>
<Width>7.50062cm</Width>
<ZIndex>1</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</ReportItems>
<Style>
<Border>
<Style>None</Style>
</Border>
</Style>
</PageFooter>
<PageHeight>29.7cm</PageHeight> <PageHeight>29.7cm</PageHeight>
<PageWidth>21cm</PageWidth> <PageWidth>21cm</PageWidth>
<LeftMargin>0.5cm</LeftMargin> <LeftMargin>0.5cm</LeftMargin>
@@ -899,7 +999,50 @@
<AllowBlank>true</AllowBlank> <AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt> <Prompt>ReportParameter1</Prompt>
</ReportParameter> </ReportParameter>
<ReportParameter Name="FechaImpresion">
<DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
<ReportParameter Name="Filtros">
<DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
</ReportParameters> </ReportParameters>
<EmbeddedImages>
<EmbeddedImage Name="VSH">
<MIMEType>image/png</MIMEType>
<ImageData>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</ImageData>
</EmbeddedImage>
</EmbeddedImages>
<rd:ReportUnitType>Cm</rd:ReportUnitType> <rd:ReportUnitType>Cm</rd:ReportUnitType>
<rd:ReportID>11b5b2e7-c415-4ba7-a346-3d00f6f761f0</rd:ReportID> <rd:ReportID>11b5b2e7-c415-4ba7-a346-3d00f6f761f0</rd:ReportID>
</Report> </Report>

View File

@@ -1178,6 +1178,42 @@ public partial class Nomina_Nomina2 : ClsPaginas
} }
Alert("se reenviaron los recibos timbrados"); Alert("se reenviaron los recibos timbrados");
} }
public string msgCorregidoSat(string msg, int CvePersonal,string RFC, string CURP)
{
string retorno = msg;
if (msg.ToUpper().Contains("RFC"))
{
if (msg.ToUpper().Contains("NOM138"))
{
retorno = string.Format("Existe un inconveniente con el RFC '{0}' del empleado,favor de validar el RFC en caso que este bien capturado /n el empleado deberá realizar una aclaración directamente ante el SAT.", RFC);
}
else if (msg.ToUpper().Substring(0, 5).Contains("301"))
{
retorno = string.Format("RFC '{1}' Invalido favor de actualizarlo en el módulo de <a href='/RH/Personal.aspx?CvePersonal={0}' >personal<a>", CvePersonal, RFC);
}
}
if (msg.ToUpper().Contains("CURP"))
{
if (msg.ToUpper().Substring(0, 5).Contains("301"))
{
retorno = string.Format("CURP '{1}' Invalido favor de actualizarlo en el modulo de <a href='/RH/Personal.aspx?CvePersonal={0}' >personal<a>", CvePersonal, CURP);
}
}
if (msg.ToUpper().Contains("CONCEPTO NO REGISTRADO"))
{
retorno = string.Format("{0} a un concepto del SAT en el catálogo de conceptos.", retorno.Replace("No se pudo generar el pretimbre:","").Replace("(", ",favor de vincular el concepto SIG '").Replace(")", "'").Trim());
}
if (msg.ToUpper().Contains("REGISTROPATRONAL"))
{
if (msg.ToUpper().Contains("NOM162"))
{
retorno = string.Format("Es necesario vincular el empleado a un registro patronal en el modulo de <a href='/RH/Personal.aspx?CvePersonal={0}' >personal<a>", CvePersonal); ;
}
}
return retorno;
}
protected void LnkTimbrarTodos_Click(object sender, EventArgs e) protected void LnkTimbrarTodos_Click(object sender, EventArgs e)
{ {
string msggral = ""; string msggral = "";
@@ -1188,7 +1224,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
using (ClsRH objrh = new ClsRH()) using (ClsRH objrh = new ClsRH())
{ {
objrh.GetPersonal(-1, UsuarioActual.CveEmpresa); objrh.GetPersonal(-1, UsuarioActual.CveEmpresa);
dtpersonal = objrh.DtResultados.FiltraParametros("", "", new string[] { "CvePersonal", "MaiReciboNomina", "NombreCompleto" }); dtpersonal = objrh.DtResultados.FiltraParametros("", "", new string[] { "CvePersonal", "MaiReciboNomina", "NombreCompleto","RFC", "CURP" });
} }
foreach (GridViewRow gvRow in GvNominas.Rows) foreach (GridViewRow gvRow in GvNominas.Rows)
{ {
@@ -1198,10 +1234,14 @@ public partial class Nomina_Nomina2 : ClsPaginas
LinkButton LnkTimbrar = gvRow.FCLinkButton("LnkTimbrar"); LinkButton LnkTimbrar = gvRow.FCLinkButton("LnkTimbrar");
string MaiReciboNomina = string.Empty; string MaiReciboNomina = string.Empty;
string NombreCompleto = string.Empty; string NombreCompleto = string.Empty;
string RFC = string.Empty;
string CURP = string.Empty;
if (dtpersonal.Rows.Count > 0 && (drow = dtpersonal.FiltroPrimero(string.Format("CvePersonal = {0}", CvePersonal))) != null) if (dtpersonal.Rows.Count > 0 && (drow = dtpersonal.FiltroPrimero(string.Format("CvePersonal = {0}", CvePersonal))) != null)
{ {
MaiReciboNomina = drow["MaiReciboNomina"].ToString(); MaiReciboNomina = drow["MaiReciboNomina"].ToString();
NombreCompleto = drow["NombreCompleto"].ToString(); NombreCompleto = drow["NombreCompleto"].ToString();
RFC = drow["RFC"].ToString();
CURP = drow["CURP"].ToString();
} }
if (CvePersonal > 0 && LnkTimbrar.Visible) if (CvePersonal > 0 && LnkTimbrar.Visible)
{ {
@@ -1210,6 +1250,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
string Msg = lognom.TimbrarNomina(CveNomina, CvePersonal, CvePeriodo, UsuarioActual); string Msg = lognom.TimbrarNomina(CveNomina, CvePersonal, CvePeriodo, UsuarioActual);
if (Msg != null && Msg.Length > 0) if (Msg != null && Msg.Length > 0)
{ {
Msg = msgCorregidoSat(Msg, CvePersonal, RFC, CURP);
msggral = string.Format("{0}<tr><td>{3}</td><td>{2}</td><td><pre>{1}</pre></td></tr>", msggral, Msg, gvRow.DataKey("Nombre"), gvRow.DataKey("Codigo")); msggral = string.Format("{0}<tr><td>{3}</td><td>{2}</td><td><pre>{1}</pre></td></tr>", msggral, Msg, gvRow.DataKey("Nombre"), gvRow.DataKey("Codigo"));
} }
else else
@@ -1767,7 +1808,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
for (int i = 2; i < dtxz.Columns.Count; i++) for (int i = 2; i < dtxz.Columns.Count; i++)
{ {
//para evitar errores agrego una columna al inicio //para evitar errores agrego una columna al inicio
dtxz.Columns[i].ColumnName = string.Format("Z{0}",dtxz.Columns[i].ColumnName.ToUpper()); dtxz.Columns[i].ColumnName = string.Format("Z{0}", dtxz.Columns[i].ColumnName.ToUpper());
} }
for (int i = 2; i < dtxz.Columns.Count; i++) for (int i = 2; i < dtxz.Columns.Count; i++)
{ {

View File

@@ -325,20 +325,34 @@
</ContentTemplate> </ContentTemplate>
</asp:UpdatePanel> </asp:UpdatePanel>
<asp:UpdatePanel ID="UpDdlIVA" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="row">
<label class="col-md-2"><b>IVA A Facturar:</b> </label> <div class="row">
<div class="col-md-2">
<label class="col-md-2"><b>IVA A Facturar:</b> </label>
<div class="col-md-2">
<asp:UpdatePanel ID="UpDdlIVA" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:DropDownList ID="DdlIVA" AutoPostBack="true" OnSelectedIndexChanged="DdlIVA_SelectedIndexChanged" CssClass="select2me" Style="width: 100%; display: inline-block;" runat="server" data-toggle="tooltip" data-placement="left" ToolTip="Si el producto aplica IVA, se tomara en cuenta el porcentaje seleccionado."> <asp:DropDownList ID="DdlIVA" AutoPostBack="true" OnSelectedIndexChanged="DdlIVA_SelectedIndexChanged" CssClass="select2me" Style="width: 100%; display: inline-block;" runat="server" data-toggle="tooltip" data-placement="left" ToolTip="Si el producto aplica IVA, se tomara en cuenta el porcentaje seleccionado.">
<asp:ListItem Value="1.08">8%</asp:ListItem> <asp:ListItem Value="1.08">8%</asp:ListItem>
<asp:ListItem Value="1.16" Selected="True">16%</asp:ListItem> <asp:ListItem Value="1.16" Selected="True">16%</asp:ListItem>
<asp:ListItem Value="1">0%</asp:ListItem> <asp:ListItem Value="1">0%</asp:ListItem>
</asp:DropDownList> </asp:DropDownList>
</div> </ContentTemplate>
</div> </asp:UpdatePanel>
</ContentTemplate> </div>
</asp:UpdatePanel>
<div class="col-md-2" runat="server" id="DvNumRemision1" visible="false"><b>Núm. Remisión</b></div>
<div class="col-md-2" runat="server" id="DvNumRemision2" visible="false">
<asp:TextBox ID="TxtNumRemision" runat="server" MaxLength="10" Width="100%" onblur="ValidaNumRemision()"></asp:TextBox>
<asp:Button ID="BtnValidaNumRemision" ClientIDMode="Static" OnClick="BtnValidaNumRemision_Click" Style="display: none;" runat="server" />
</div>
</div>
<%--linea 7--%> <%--linea 7--%>
<div class="row"> <div class="row">
<%--<label class="col-md-2">Guia:</label>--%> <%--<label class="col-md-2">Guia:</label>--%>
@@ -3244,6 +3258,10 @@
} }
} }
function ValidaNumRemision() {
$('#BtnValidaNumRemision').click();
}
</script> </script>

View File

@@ -822,12 +822,19 @@ Partial Class OC
If UsuarioActual.Empresa.Funcionalidad(590).ToString.ToEntero = 1 Then If UsuarioActual.Empresa.Funcionalidad(590).ToString.ToEntero = 1 Then
DVCultivosCuadro.Visible = True DVCultivosCuadro.Visible = True
DdlSubProyecto.AutoPostBack = True DdlSubProyecto.AutoPostBack = True
DdlCultivosCuadro.DataSource = GlobalDTCultivosCuadro(UsuarioActual.CveEmpresa).FiltraParametros($"CveSubProyecto = {DdlSubProyecto.SelectedValue} AND Estatus =1") DdlCultivosCuadro.DataSource = GlobalDTCultivosCuadro(UsuarioActual.CveEmpresa).FiltraParametros($"CveSubProyecto = {DdlSubProyecto.SelectedValue} AND Estatus =1")
DdlCultivosCuadro.DataBind() DdlCultivosCuadro.DataBind()
DdlCultivosCuadro.Items.Insert(0, New ListItem("Seleccione uno", "-1")) DdlCultivosCuadro.Items.Insert(0, New ListItem("Seleccione uno", "-1"))
If UsuarioActual.CveRol = 1 Then
DvNumRemision1.Visible = True
DvNumRemision2.Visible = True
End If
End If End If
'SOLO SE MUESTRA CUANDO ES REGISTRO NUEVO 'SOLO SE MUESTRA CUANDO ES REGISTRO NUEVO
@@ -1409,6 +1416,8 @@ Partial Class OC
LblCodigo.Text = objOC.Codigo LblCodigo.Text = objOC.Codigo
TxtFolioAdicional.Text = objOC.FolioAdicional TxtFolioAdicional.Text = objOC.FolioAdicional
TxtNumRemision.Text = objOC.NumRemision
If Not IsNothing(objOC.Tipo) Then If Not IsNothing(objOC.Tipo) Then
Select Case objOC.Tipo.ToUpper Select Case objOC.Tipo.ToUpper
@@ -1750,6 +1759,10 @@ Partial Class OC
UpAcciones.Update() UpAcciones.Update()
End If End If
uppEstatus.Update() uppEstatus.Update()
UPPEmp.Update() UPPEmp.Update()
@@ -2529,6 +2542,9 @@ Partial Class OC
'VALIDACIONES PARA GUARDAR 'VALIDACIONES PARA GUARDAR
If ValidaGuardar() Then Exit Sub If ValidaGuardar() Then Exit Sub
Dim MsgError As String = "Hubo un error al registrar" Dim MsgError As String = "Hubo un error al registrar"
'VARIABLES 'VARIABLES
Dim CveProveedorSucursal As Integer = -1 Dim CveProveedorSucursal As Integer = -1
@@ -2590,12 +2606,18 @@ Partial Class OC
Dim CveOrdenCompraPadre As Integer = -1 Dim CveOrdenCompraPadre As Integer = -1
If GeneraReq Then If GeneraReq Then
If Not ValidaNumRemision(TxtNumRemision.Text.Trim(), "REQ", CveProveedor, OC.IniciaTransacSQL) Then
TieneError = True
End If
If Not TieneError Then ' AGREGAR REQUISICION If Not TieneError Then ' AGREGAR REQUISICION
If OC.AddOrdenCompra("REQ", -1, TxtDescrip.Text, TxtJustificacion.Text, DdlPrioridad.SelectedValue.ToEntero, TxtFecha.Text.ToDate, DdlMoneda.SelectedValue.ToEntero, CboE.SelectedValue.ToEntero, If(TxtFechaEstimadaEntrega.Text.Trim = "", "-1", TxtFechaEstimadaEntrega.Text.Trim), If OC.AddOrdenCompra("REQ", -1, TxtDescrip.Text, TxtJustificacion.Text, DdlPrioridad.SelectedValue.ToEntero, TxtFecha.Text.ToDate, DdlMoneda.SelectedValue.ToEntero, CboE.SelectedValue.ToEntero, If(TxtFechaEstimadaEntrega.Text.Trim = "", "-1", TxtFechaEstimadaEntrega.Text.Trim),
LugarEntrega, UsuarioActual.CveUsuario, CveEmpresaActual, GvD.Rows(0).FCHiddenField("HdnCvePresupuestoEgreso").Value.ToString.ToEntero, pCveProveedor:=CveProveedor, pCveProveedorSucursal:=CveProveedorSucursal, LugarEntrega, UsuarioActual.CveUsuario, CveEmpresaActual, GvD.Rows(0).FCHiddenField("HdnCvePresupuestoEgreso").Value.ToString.ToEntero, pCveProveedor:=CveProveedor, pCveProveedorSucursal:=CveProveedorSucursal,
RequiereCotizacion:=ChkCotizacion.Checked, CveCliente:=Ddlcliente.txtValue.Value.ToEntero, CveVendedor:=DdlVendedor.SelectedValue.ToEntero, PrioridadObservacion:=txtobsprioridad.Text, PorcentajeIVA:=Math.Round(DdlIVA.SelectedValue.ToDecimal - 1, 2), IVA:=IVA, RetIVA:=TxtRetIVA.Text.ToDecimal, RequiereCotizacion:=ChkCotizacion.Checked, CveCliente:=Ddlcliente.txtValue.Value.ToEntero, CveVendedor:=DdlVendedor.SelectedValue.ToEntero, PrioridadObservacion:=txtobsprioridad.Text, PorcentajeIVA:=Math.Round(DdlIVA.SelectedValue.ToDecimal - 1, 2), IVA:=IVA, RetIVA:=TxtRetIVA.Text.ToDecimal,
RetISR:=TxtRetISR.Text.ToDecimal, CveCotizacion:=CveCotizacion, FolioAdicional:=TxtFolioAdicional.Text, EntregaDirecta:=If(ChkEntregaDirecta.Checked, 1, -1), CveDireccionEnvio:=If(DdlDireccionEnvio.Visible, DdlDireccionEnvio.SelectedValue.ToEntero, -1), Guia:=TxtGuia.Text.Trim, RetISR:=TxtRetISR.Text.ToDecimal, CveCotizacion:=CveCotizacion, FolioAdicional:=TxtFolioAdicional.Text, EntregaDirecta:=If(ChkEntregaDirecta.Checked, 1, -1), CveDireccionEnvio:=If(DdlDireccionEnvio.Visible, DdlDireccionEnvio.SelectedValue.ToEntero, -1), Guia:=TxtGuia.Text.Trim,
IEPS:=TxtIEPS.Text.ToDecimal, UsoCFDI:=DdlUsoCFDI.SelectedValue.ToEntero, Promocion:=Promocion, CveProveedorContacto:=CveProveedorContacto) Then IEPS:=TxtIEPS.Text.ToDecimal, UsoCFDI:=DdlUsoCFDI.SelectedValue.ToEntero, Promocion:=Promocion, CveProveedorContacto:=CveProveedorContacto, NumRemision:=TxtNumRemision.Text.Trim()) Then
CveOrdenCompraPadre = OC.CveOrdenCompra CveOrdenCompraPadre = OC.CveOrdenCompra
If CveOrdenCompraPadre > 0 Then If CveOrdenCompraPadre > 0 Then
@@ -2622,15 +2644,21 @@ Partial Class OC
End If End If
End If End If
If Not ValidaNumRemision(TxtNumRemision.Text.Trim(), If(TipoOS, "OS", TipoOC), CveProveedor, OC.IniciaTransacSQL) Then
TieneError = True
End If
If Not TieneError Then ' AGREGAR ORDEN DE COMPRA If Not TieneError Then ' AGREGAR ORDEN DE COMPRA
If OC.AddOrdenCompra(If(TipoOS, "OS", TipoOC), -1, TxtDescrip.Text, TxtJustificacion.Text, DdlPrioridad.SelectedValue.ToEntero, TxtFecha.Text.ToDate, DdlMoneda.SelectedValue.ToEntero, CveEstatusNuevo, If(TxtFechaEstimadaEntrega.Text.Trim = "", "-1", TxtFechaEstimadaEntrega.Text.Trim), If OC.AddOrdenCompra(If(TipoOS, "OS", TipoOC), -1, TxtDescrip.Text, TxtJustificacion.Text, DdlPrioridad.SelectedValue.ToEntero, TxtFecha.Text.ToDate, DdlMoneda.SelectedValue.ToEntero, CveEstatusNuevo, If(TxtFechaEstimadaEntrega.Text.Trim = "", "-1", TxtFechaEstimadaEntrega.Text.Trim),
LugarEntrega, UsuarioActual.CveUsuario, CveEmpresaActual, GvD.Rows(0).FCHiddenField("HdnCvePresupuestoEgreso").Value.ToString.ToEntero, pCveProveedor:=CveProveedor, pCveProveedorSucursal:=CveProveedorSucursal, LugarEntrega, UsuarioActual.CveUsuario, CveEmpresaActual, GvD.Rows(0).FCHiddenField("HdnCvePresupuestoEgreso").Value.ToString.ToEntero, pCveProveedor:=CveProveedor, pCveProveedorSucursal:=CveProveedorSucursal,
RequiereCotizacion:=ChkCotizacion.Checked, CveUsuarioAsignado:=DdlUsuariosAsignado.SelectedValue.ToEntero, CveCliente:=Ddlcliente.txtValue.Value.ToEntero, CveVendedor:=DdlVendedor.SelectedValue.ToEntero, PrioridadObservacion:=txtobsprioridad.Text, RequiereCotizacion:=ChkCotizacion.Checked, CveUsuarioAsignado:=DdlUsuariosAsignado.SelectedValue.ToEntero, CveCliente:=Ddlcliente.txtValue.Value.ToEntero, CveVendedor:=DdlVendedor.SelectedValue.ToEntero, PrioridadObservacion:=txtobsprioridad.Text,
PorcentajeIVA:=Math.Round(DdlIVA.SelectedValue.ToDecimal - 1, 2), IVA:=IVA, RetIVA:=TxtRetIVA.Text.ToDecimal, RetISR:=TxtRetISR.Text.ToDecimal, CveCotizacion:=CveCotizacion, FolioAdicional:=TxtFolioAdicional.Text, EntregaDirecta:=If(ChkEntregaDirecta.Checked, 1, -1), PorcentajeIVA:=Math.Round(DdlIVA.SelectedValue.ToDecimal - 1, 2), IVA:=IVA, RetIVA:=TxtRetIVA.Text.ToDecimal, RetISR:=TxtRetISR.Text.ToDecimal, CveCotizacion:=CveCotizacion, FolioAdicional:=TxtFolioAdicional.Text, EntregaDirecta:=If(ChkEntregaDirecta.Checked, 1, -1),
CveDireccionEnvio:=If(DdlDireccionEnvio.Visible, DdlDireccionEnvio.SelectedValue.ToEntero, -1), Guia:=TxtGuia.Text.Trim, IEPS:=TxtIEPS.Text.ToDecimal, CveIEAnticipo:=CveIEAnticipo, ImporteAnticipo:=ImporteAnticipos, UsoCFDI:=DdlUsoCFDI.SelectedValue.ToEntero, CveDireccionEnvio:=If(DdlDireccionEnvio.Visible, DdlDireccionEnvio.SelectedValue.ToEntero, -1), Guia:=TxtGuia.Text.Trim, IEPS:=TxtIEPS.Text.ToDecimal, CveIEAnticipo:=CveIEAnticipo, ImporteAnticipo:=ImporteAnticipos, UsoCFDI:=DdlUsoCFDI.SelectedValue.ToEntero,
Promocion:=Promocion, CveProveedorContacto:=CveProveedorContacto) Then Promocion:=Promocion, CveProveedorContacto:=CveProveedorContacto, NumRemision:=TxtNumRemision.Text) Then
CveOrdenCompra = OC.CveOrdenCompra CveOrdenCompra = OC.CveOrdenCompra
CveEstatus = CboE.SelectedValue.ToEntero CveEstatus = CboE.SelectedValue.ToEntero
@@ -2790,11 +2818,17 @@ Partial Class OC
Proveedor = DdlProveedores.SelectedText.ToString Proveedor = DdlProveedores.SelectedText.ToString
End If End If
If Not ValidaNumRemision(TxtNumRemision.Text.Trim(), TipoOC, CveProveedor, OC.IniciaTransacSQL, CveOrdenCompra) Then
TieneError = True
End If
If OC.UpdateOrdenCompra(-1, TxtDescrip.Text, TxtJustificacion.Text, DdlPrioridad.SelectedValue.ToEntero, ChkCotizacion.Checked, If(TxtFechaEstimadaEntrega.Text.Trim = "", "-1", TxtFechaEstimadaEntrega.Text.Trim), If OC.UpdateOrdenCompra(-1, TxtDescrip.Text, TxtJustificacion.Text, DdlPrioridad.SelectedValue.ToEntero, ChkCotizacion.Checked, If(TxtFechaEstimadaEntrega.Text.Trim = "", "-1", TxtFechaEstimadaEntrega.Text.Trim),
LugarEntrega, DdlMoneda.SelectedValue.ToEntero, CveProveedor, CveOrdenCompra, UsuarioActual.CveUsuario, Ddlcliente.txtValue.Value.ToEntero, LugarEntrega, DdlMoneda.SelectedValue.ToEntero, CveProveedor, CveOrdenCompra, UsuarioActual.CveUsuario, Ddlcliente.txtValue.Value.ToEntero,
DdlVendedor.SelectedValue.ToEntero, txtobsprioridad.Text, IVA:=IVA, RetIVA:=TxtRetIVA.Text.ToDecimal, RetISR:=TxtRetISR.Text.ToDecimal, FolioAdicional:=TxtFolioAdicional.Text, EntregaDirecta:=If(ChkEntregaDirecta.Checked, 1, -1), CveDireccionEnvio:=If(DdlDireccionEnvio.Visible, DdlDireccionEnvio.SelectedValue.ToEntero, -1), DdlVendedor.SelectedValue.ToEntero, txtobsprioridad.Text, IVA:=IVA, RetIVA:=TxtRetIVA.Text.ToDecimal, RetISR:=TxtRetISR.Text.ToDecimal, FolioAdicional:=TxtFolioAdicional.Text, EntregaDirecta:=If(ChkEntregaDirecta.Checked, 1, -1), CveDireccionEnvio:=If(DdlDireccionEnvio.Visible, DdlDireccionEnvio.SelectedValue.ToEntero, -1),
Guia:=TxtGuia.Text.Trim, IEPS:=TxtIEPS.Text.ToDecimal, UsoCFDI:=DdlUsoCFDI.SelectedValue.ToEntero, Promocion:=Promocion, pCveProveedorSucursal:=DdlProveedorSucursal.SelectedValue.ToEntero, CveProveedorContacto:=CveProveedorContacto, Guia:=TxtGuia.Text.Trim, IEPS:=TxtIEPS.Text.ToDecimal, UsoCFDI:=DdlUsoCFDI.SelectedValue.ToEntero, Promocion:=Promocion, pCveProveedorSucursal:=DdlProveedorSucursal.SelectedValue.ToEntero, CveProveedorContacto:=CveProveedorContacto,
PorcentajeIVA:=Math.Round(DdlIVA.SelectedValue.ToDecimal - 1, 2)) Then PorcentajeIVA:=Math.Round(DdlIVA.SelectedValue.ToDecimal - 1, 2), NumRemision:=TxtNumRemision.Text) Then
If CveProveedorOriginal <> CveProveedor Then If CveProveedorOriginal <> CveProveedor Then
If Not ObjConta.UpdateProveedorPoliza(CveOrdenCompra, CveProveedor, Proveedor) Then If Not ObjConta.UpdateProveedorPoliza(CveOrdenCompra, CveProveedor, Proveedor) Then
TieneError = True TieneError = True
@@ -3263,11 +3297,17 @@ Partial Class OC
RetIVA = TxtRetIVA.Text.ToDecimal RetIVA = TxtRetIVA.Text.ToDecimal
RetISR = TxtRetISR.Text.ToDecimal RetISR = TxtRetISR.Text.ToDecimal
If objOrdenCompra.AddOrdenCompra("OC", -1, TxtDescrip.Text, TxtJustificacion.Text, DdlPrioridad.SelectedValue.ToEntero, TxtFecha.Text.ToDate, DdlMoneda.SelectedValue.ToEntero, CveEstatusInicialOC, TxtFechaEstimadaEntrega.Text, LugarEntrega, If Not ValidaNumRemision(TxtNumRemision.Text.Trim(), "OC", CveProveedor, objOrdenCompra.IniciaTransacSQL) Then
HuboError = True
End If
If (Not HuboError) AndAlso objOrdenCompra.AddOrdenCompra("OC", -1, TxtDescrip.Text, TxtJustificacion.Text, DdlPrioridad.SelectedValue.ToEntero, TxtFecha.Text.ToDate, DdlMoneda.SelectedValue.ToEntero, CveEstatusInicialOC, TxtFechaEstimadaEntrega.Text, LugarEntrega,
CveUsuario, CveEmpresaActual, 0, pCveProveedor:=CveProveedor, CveCliente:=Ddlcliente.txtValue.Value.ToEntero, CveVendedor:=DdlVendedor.SelectedValue.ToEntero, PrioridadObservacion:=txtobsprioridad.Text, CveUsuario, CveEmpresaActual, 0, pCveProveedor:=CveProveedor, CveCliente:=Ddlcliente.txtValue.Value.ToEntero, CveVendedor:=DdlVendedor.SelectedValue.ToEntero, PrioridadObservacion:=txtobsprioridad.Text,
PorcentajeIVA:=PorIVA, IVA:=IVACot, RetIVA:=RetIVA.ToString.ToDecimal, RetISR:=RetISR.ToString.ToDecimal, IDPoliza:=IdPoliza, CveCotizacion:=CveCotizacion, FolioAdicional:=TxtFolioAdicional.Text, PorcentajeIVA:=PorIVA, IVA:=IVACot, RetIVA:=RetIVA.ToString.ToDecimal, RetISR:=RetISR.ToString.ToDecimal, IDPoliza:=IdPoliza, CveCotizacion:=CveCotizacion, FolioAdicional:=TxtFolioAdicional.Text,
EntregaDirecta:=If(ChkEntregaDirecta.Checked, 1, -1), CveDireccionEnvio:=If(DdlDireccionEnvio.Visible, DdlDireccionEnvio.SelectedValue.ToEntero, -1), IEPS:=TxtIEPS.Text.ToDecimal, EntregaDirecta:=If(ChkEntregaDirecta.Checked, 1, -1), CveDireccionEnvio:=If(DdlDireccionEnvio.Visible, DdlDireccionEnvio.SelectedValue.ToEntero, -1), IEPS:=TxtIEPS.Text.ToDecimal,
CveIEAnticipo:=CveIEAnticipo, ImporteAnticipo:=ImporteAnticipos, Promocion:=Promocion, UsoCFDI:=DdlUsoCFDI.SelectedValue.ToEntero) Then CveIEAnticipo:=CveIEAnticipo, ImporteAnticipo:=ImporteAnticipos, Promocion:=Promocion, UsoCFDI:=DdlUsoCFDI.SelectedValue.ToEntero, NumRemision:=TxtNumRemision.Text.Trim) Then
'CREA POLIZA POR CADA PROVEEDOR 'CREA POLIZA POR CADA PROVEEDOR
@@ -3331,11 +3371,19 @@ Partial Class OC
Else Else
If objOrdenCompra.AddOrdenCompra("OC", -1, TxtDescrip.Text, TxtJustificacion.Text, DdlPrioridad.SelectedValue.ToEntero, TxtFecha.Text.ToDate, DdlMoneda.SelectedValue.ToEntero, CveEstatusInicialOC, TxtFechaEstimadaEntrega.Text, LugarEntrega,
If Not ValidaNumRemision(TxtNumRemision.Text.Trim(), "OC", DdlProveedores.SelectedValue.ToEntero, objOrdenCompra.IniciaTransacSQL) Then
HuboError = True
End If
If (Not HuboError) AndAlso objOrdenCompra.AddOrdenCompra("OC", -1, TxtDescrip.Text, TxtJustificacion.Text, DdlPrioridad.SelectedValue.ToEntero, TxtFecha.Text.ToDate, DdlMoneda.SelectedValue.ToEntero, CveEstatusInicialOC, TxtFechaEstimadaEntrega.Text, LugarEntrega,
CveUsuario, CveEmpresaActual, 0, pCveProveedor:=DdlProveedores.SelectedValue.ToEntero, pCveProveedorSucursal:=DdlProveedorSucursal.SelectedValue.ToEntero, CveUsuarioAsignado:=DdlUsuariosAsignado.SelectedValue.ToEntero(), CveCliente:=Ddlcliente.txtValue.Value.ToEntero, CveVendedor:=DdlVendedor.SelectedValue.ToEntero, PrioridadObservacion:=txtobsprioridad.Text, CveUsuario, CveEmpresaActual, 0, pCveProveedor:=DdlProveedores.SelectedValue.ToEntero, pCveProveedorSucursal:=DdlProveedorSucursal.SelectedValue.ToEntero, CveUsuarioAsignado:=DdlUsuariosAsignado.SelectedValue.ToEntero(), CveCliente:=Ddlcliente.txtValue.Value.ToEntero, CveVendedor:=DdlVendedor.SelectedValue.ToEntero, PrioridadObservacion:=txtobsprioridad.Text,
PorcentajeIVA:=Math.Round(DdlIVA.SelectedValue.ToDecimal - 1, 2), IVA:=IVA, RetIVA:=TxtRetIVA.Text.ToDecimal, RetISR:=TxtRetISR.Text.ToDecimal, IDPoliza:=IDPolizaPresupuestal, CveCotizacion:=CveCotizacion, FolioAdicional:=TxtFolioAdicional.Text, PorcentajeIVA:=Math.Round(DdlIVA.SelectedValue.ToDecimal - 1, 2), IVA:=IVA, RetIVA:=TxtRetIVA.Text.ToDecimal, RetISR:=TxtRetISR.Text.ToDecimal, IDPoliza:=IDPolizaPresupuestal, CveCotizacion:=CveCotizacion, FolioAdicional:=TxtFolioAdicional.Text,
EntregaDirecta:=If(ChkEntregaDirecta.Checked, 1, -1), CveDireccionEnvio:=If(DdlDireccionEnvio.Visible, DdlDireccionEnvio.SelectedValue.ToEntero, -1), IEPS:=TxtIEPS.Text.ToDecimal, CveIEAnticipo:=CveIEAnticipo, ImporteAnticipo:=ImporteAnticipos, UsoCFDI:=DdlUsoCFDI.SelectedValue.ToEntero, EntregaDirecta:=If(ChkEntregaDirecta.Checked, 1, -1), CveDireccionEnvio:=If(DdlDireccionEnvio.Visible, DdlDireccionEnvio.SelectedValue.ToEntero, -1), IEPS:=TxtIEPS.Text.ToDecimal, CveIEAnticipo:=CveIEAnticipo, ImporteAnticipo:=ImporteAnticipos, UsoCFDI:=DdlUsoCFDI.SelectedValue.ToEntero,
Promocion:=Promocion) Then Promocion:=Promocion, NumRemision:=TxtNumRemision.Text.Trim) Then
'USA AC 'USA AC
@@ -8677,4 +8725,58 @@ Partial Class OC
Return Retorno Return Retorno
End Function End Function
Private Function ValidaNumRemision(NumRemision As String, TipoOC As String, CveProveedor As Integer, Optional OcTranasaccion As System.Data.SqlClient.SqlTransaction = Nothing, Optional CveOrdenCompraValida As Integer = -1) As Boolean
Dim NumRemisionValida As Boolean = False
If NumRemision.Trim.Length > 0 Then
If UsuarioActual.Empresa.Funcionalidad(590).ToString.ToEntero = 1 AndAlso UsuarioActual.CveRol = 1 Then
Dim ObjOC As ClsOC
If OcTranasaccion IsNot Nothing Then
ObjOC = New ClsOC(OcTranasaccion)
Else
ObjOC = New ClsOC
End If
If ObjOC.GetVerificaNumRemision(CveProveedor, TipoOC, NumRemision, UsuarioActual.CveEmpresa, CveOrdenCompraValida) Then
If ObjOC.DtResultados.Rows.Count > 0 Then
Alert($"La remision ya se encuentra asiganada a la { If(TipoOC = "OC", "Orden de compra", "Requisición")} <a target='_blank' href='./OC.aspx?OC={ObjOC.DtResultados.Rows(0)("CveOrdenCompra").ToString()}' >{ObjOC.DtResultados.Rows(0)("Folio").ToString() }</a>", TipoMensaje.MsgAdvertencia)
Else
NumRemisionValida = True
End If
End If
Else
NumRemisionValida = True
End If
Else
NumRemisionValida = True
End If
Return NumRemisionValida
End Function
Protected Sub BtnValidaNumRemision_Click(sender As Object, e As EventArgs)
ValidaNumRemision(TxtNumRemision.Text.Trim(), TipoOC, DdlProveedores.SelectedValue.ToEntero, Nothing, If(CveOrdenCompra > 0, CveOrdenCompra, -1))
End Sub
End Class End Class

View File

@@ -35,9 +35,10 @@
<ul class="list-inline"> <ul class="list-inline">
<li>Cliente: <li>Cliente:
<asp:Button ID="BtnCargarClientes" runat="server" ClientIDMode="Static" Text="CargarClientes" Style="display: none;" /> <asp:Button ID="BtnCargarClientes" runat="server" ClientIDMode="Static" Text="CargarClientes" Style="display: none;" />
<asp:DropDownList ID="DdlCliente" runat="server" AppendDataBoundItems="true" Style="display: inline-block; width: 250px;" DataTextField="Nombre" DataValueField="CveCliente" Class="form-control input-sm select2me"> <ADS:Dropdownlost CssClassDdl="select2me" ID="DdlCliente" Width="100%" data-metodo="getcliente" UsaWebService="true" runat="server" DataTextField="NombreComercial" DataValueField="CveCliente" CssStyle="width: 100%"></ADS:Dropdownlost>
<%--<asp:DropDownList ID="DdlCliente" runat="server" AppendDataBoundItems="true" Style="display: inline-block; width: 250px;" DataTextField="Nombre" DataValueField="CveCliente" Class="form-control input-sm select2me">
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem> <asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
</asp:DropDownList> </asp:DropDownList>--%>
</li> </li>
<li id="DivProyectosAsignado" runat="server"> <li id="DivProyectosAsignado" runat="server">
<asp:Label runat="server" ID="LblProyectoAsignado" AssociatedControlID="DdlProyectoAsignado">Proyecto: </asp:Label> <asp:Label runat="server" ID="LblProyectoAsignado" AssociatedControlID="DdlProyectoAsignado">Proyecto: </asp:Label>

View File

@@ -138,10 +138,24 @@ Partial Class RH_Asistencias
objpersonal.Dispose() objpersonal.Dispose()
Dim Filtros As String = ""
If Not IsNothing(DdlCliente.SelectedValue) AndAlso DdlCliente.SelectedValue.ToEntero() > 0 Then
Filtros = String.Format("{0}{2}Cliente :{1}", Filtros, DdlCliente.SelectedText, vbNewLine)
End If
If DdlSubProyecto.SelectedValue.ToEntero() > 0 Then
Filtros = String.Format("{0}{2}{3} :{1}", Filtros, DdlSubProyecto.SelectedItem.Text, vbNewLine, LblSubProyectoAsignado.Text)
End If
If DdlTurno.SelectedValue.ToEntero() > 0 Then
Filtros = String.Format("{0}{2}Turno :{1}", Filtros, DdlTurno.SelectedItem.Text, vbNewLine)
End If
If DdlSupervisorOrganigrama.SelectedValue.ToEntero() > 0 Then
Filtros = String.Format("{0}{2}Supervisor :{1}", Filtros, DdlSupervisorOrganigrama.SelectedItem.Text, vbNewLine)
End If
Dim params As New List(Of ReportParameter) Dim params As New List(Of ReportParameter)
params.Add(New ReportParameter("Fecha", Fecha)) params.Add(New ReportParameter("Fecha", Fecha))
params.Add(New ReportParameter("FechaImpresion", DateTime.Now.ToString("dd/MM/yyyy HH:mm")))
params.Add(New ReportParameter("Filtros", Filtros))
Dim lrds As New List(Of ReportDataSource) Dim lrds As New List(Of ReportDataSource)
Dim rds As New ReportDataSource With {.Name = "DataSet1", .Value = tablaReporte} Dim rds As New ReportDataSource With {.Name = "DataSet1", .Value = tablaReporte}

View File

@@ -2033,7 +2033,7 @@ Partial Class RH_Personal
If TieneError Then If TieneError Then
ObjPersonal.RollBack() ObjPersonal.RollBack()
Alert("Ocurrio un error guardar el Personal. Por favor vuelva a intentar.", TipoMensaje.MsgError) 'Alert("Ocurrio un error guardar el Personal. Por favor vuelva a intentar.", TipoMensaje.MsgError)
Else Else
ObjPersonal.Commit() ObjPersonal.Commit()
Alert(Mensaje, TipoMensaje.MsgInformacion, Accion) Alert(Mensaje, TipoMensaje.MsgInformacion, Accion)

View File

@@ -205,6 +205,15 @@
.reporte9 .GVSolicitudTimbreNominaGral tr td:nth-child(n+40) { .reporte9 .GVSolicitudTimbreNominaGral tr td:nth-child(n+40) {
text-align: right !important; text-align: right !important;
} }
/* .ajax_tab_xp .ajax_tab_body {
font-size: 9px !important;
}
*/
.ajax__tab_xp .ajax__tab_body {
font-size: 12px !important;
}
</style> </style>
</asp:Content> </asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="E" runat="Server"> <asp:Content ID="Content3" ContentPlaceHolderID="E" runat="Server">
@@ -213,15 +222,21 @@
<asp:Content ID="Content4" ContentPlaceHolderID="HB" runat="Server"> <asp:Content ID="Content4" ContentPlaceHolderID="HB" runat="Server">
</asp:Content> </asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server"> <asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
<li>
<%-- <asp:LinkButton ID="LnkDownloadExcel" OnClick="LnkDownloadExcel_Click" runat="server"><i class="fa fa-download"></i>Descargar</asp:LinkButton>--%>
</li>
<asp:UpdatePanel ID="UpAcciones" runat="server" UpdateMode="Conditional"> <asp:UpdatePanel ID="UpAcciones" runat="server" UpdateMode="Conditional">
<contenttemplate> <ContentTemplate>
<li>
<asp:LinkButton ID="LnkShowSolicitudes" OnClick="LnkShowSolicitudes_Click" runat="server">Solicitudes</asp:LinkButton> <li>
<asp:LinkButton ID="LnkDownloadExcel" OnClick="LnkDownloadExcel_Click" runat="server"><i class="fa fa-download"></i>Descargar</asp:LinkButton>
</li> </li>
</contenttemplate> <li>
<asp:LinkButton ID="LnkShowSolicitudes" OnClick="LnkShowSolicitudes_Click" runat="server"> Solicitudes</asp:LinkButton>
</li>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="LnkDownloadExcel" />
</Triggers>
</asp:UpdatePanel> </asp:UpdatePanel>
</asp:Content> </asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="HA" runat="Server"> <asp:Content ID="Content6" ContentPlaceHolderID="HA" runat="Server">
@@ -229,7 +244,7 @@
<asp:Content ID="Content7" ContentPlaceHolderID="C" runat="Server"> <asp:Content ID="Content7" ContentPlaceHolderID="C" runat="Server">
<asp:UpdatePanel ID="upDatosChec" runat="server" UpdateMode="Conditional"> <asp:UpdatePanel ID="upDatosChec" runat="server" UpdateMode="Conditional">
<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"> <div class="portlet-title portlet-filterT smalltitle">
<div class="titlefiltros caption"> <div class="titlefiltros caption">
@@ -250,10 +265,10 @@
<span class="input-group-btn "> <span class="input-group-btn ">
<asp:LinkButton ID="LnkRpdFechaInicio" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton> <asp:LinkButton ID="LnkRpdFechaInicio" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span> </span>
<ajax:maskededitextender id="MaskedEditExtender3" runat="server" targetcontrolid="TxtRpdFechaInicio" mask="99/99/9999" masktype="Date" displaymoney="Left" acceptnegative="Left"></ajax:maskededitextender> <ajax:MaskedEditExtender ID="MaskedEditExtender3" runat="server" TargetControlID="TxtRpdFechaInicio" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:calendarextender runat="server" id="CalendarExtender3" targetcontrolid="TxtRpdFechaInicio" popupbuttonid="LnkRpdFechaInicio" popupposition="BottomRight" enabled="True" format="dd/MM/yyyy"></ajax:calendarextender> <ajax:CalendarExtender runat="server" ID="CalendarExtender3" TargetControlID="TxtRpdFechaInicio" PopupButtonID="LnkRpdFechaInicio" PopupPosition="BottomRight" Enabled="True" Format="dd/MM/yyyy"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="rfvRpdFechaInicio" runat="server" ControlToValidate="TxtRpdFechaInicio" 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="VGReporterepperde"></asp:RequiredFieldValidator> <asp:RequiredFieldValidator ID="rfvRpdFechaInicio" runat="server" ControlToValidate="TxtRpdFechaInicio" 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="VGReporterepperde"></asp:RequiredFieldValidator>
<ajax:validatorcalloutextender id="ValidatorCalloutExtender1" runat="server" highlightcssclass="vco" targetcontrolid="rfvRpdFechaInicio"></ajax:validatorcalloutextender> <ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender1" runat="server" HighlightCssClass="vco" TargetControlID="rfvRpdFechaInicio"></ajax:ValidatorCalloutExtender>
</div> </div>
</div> </div>
<label class="col-md-1 mediocol">Fecha fin:</label> <label class="col-md-1 mediocol">Fecha fin:</label>
@@ -264,13 +279,13 @@
<span class="input-group-btn "> <span class="input-group-btn ">
<asp:LinkButton ID="LnkFechaFin" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton> <asp:LinkButton ID="LnkFechaFin" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span> </span>
<ajax:maskededitextender id="MaskedEditExtender5" runat="server" targetcontrolid="TxtRpdFechaFin" mask="99/99/9999" masktype="Date" displaymoney="Left" acceptnegative="Left"></ajax:maskededitextender> <ajax:MaskedEditExtender ID="MaskedEditExtender5" runat="server" TargetControlID="TxtRpdFechaFin" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:calendarextender runat="server" id="CalendarExtender4" targetcontrolid="TxtRpdFechaFin" popupbuttonid="LnkFechaFin" popupposition="BottomRight" enabled="True" format="dd/MM/yyyy"></ajax:calendarextender> <ajax:CalendarExtender runat="server" ID="CalendarExtender4" TargetControlID="TxtRpdFechaFin" PopupButtonID="LnkFechaFin" PopupPosition="BottomRight" Enabled="True" Format="dd/MM/yyyy"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="rfvRpdFechaFin" runat="server" ControlToValidate="TxtRpdFechaFin" 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="VGReporterepperde"></asp:RequiredFieldValidator> <asp:RequiredFieldValidator ID="rfvRpdFechaFin" runat="server" ControlToValidate="TxtRpdFechaFin" 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="VGReporterepperde"></asp:RequiredFieldValidator>
<ajax:validatorcalloutextender id="ValidatorCalloutExtender2" runat="server" highlightcssclass="vco" targetcontrolid="rfvRpdFechaFin"></ajax:validatorcalloutextender> <ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender2" runat="server" HighlightCssClass="vco" TargetControlID="rfvRpdFechaFin"></ajax:ValidatorCalloutExtender>
</div> </div>
</div> </div>
<div class="col-md-2" style="text-align:right"> <div class="col-md-2" style="text-align: right">
<asp:LinkButton ID="LnkConsultar" OnClick="LnkConsultar_Click" runat="server" Text="Consultar" Visible="true" class="btn btn-primary" /> <asp:LinkButton ID="LnkConsultar" OnClick="LnkConsultar_Click" runat="server" Text="Consultar" Visible="true" class="btn btn-primary" />
</div> </div>
</div> </div>
@@ -284,182 +299,204 @@
</div> </div>
</contenttemplate> </ContentTemplate>
</asp:UpdatePanel> </asp:UpdatePanel>
<asp:UpdatePanel ID="UpDatos" runat="server" UpdateMode="Conditional"> <asp:UpdatePanel ID="UpDatos" runat="server" UpdateMode="Conditional">
<contenttemplate> <ContentTemplate>
<div class="row">
<div class="col-md-12">
<asp:GridView ID="GvResumen" runat="server" GridLines="None" CssClass="table table-hover table-striped ScrollAD Widthall" AutoGenerateColumns="False" Width="600px" OnRowDataBound="GvResumen_RowDataBound"
ShowHeaderWhenEmpty="true" EmptyDataText="No se encontraron registros"
DataKeyNames="Mes" >
<Columns>
<asp:TemplateField HeaderText="Mes">
<ItemTemplate>
<asp:Label id="LblMes" runat="server" Text='<%# Eval("Mes")%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="SIG" ItemStyle-HorizontalAlign="Right">
<ItemTemplate>
<asp:Label ID="LblVTotal" runat="server" Text='<%# Eval("VTotal","{0:N2}")%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="SAT" ItemStyle-HorizontalAlign="Right">
<ItemTemplate>
<asp:Label ID="LblCBTTotal" runat="server" Text='<%# Eval("CBTTotal","{0:N2}")%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Diferencia" ItemStyle-HorizontalAlign="Right">
<ItemTemplate>
<asp:Label ID="LblDif" runat="server" Text='<%# Eval("Dif","{0:N2}")%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
<div class="row" runat="server" id="DVResumen1" visible="false">
<div class="col-md-6" style="text-align: right">
<input type="text" id="TxtBusquedaResumen" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusquedaResumen','{0}')", GvResumen.ClientID) %>" style="display: inline-block; width: 150px;" />
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusquedaResumen','{0}')", GvResumen.ClientID) %>" style="margin-top: -3px; margin-left: -13px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
</div>
</div>
<div class="row" runat="server" id="DVResumen2" visible="false">
<div class="col-md-6">
<asp:GridView ID="GvResumen" runat="server" GridLines="None" CssClass="table table-hover table-striped ScrollAD Widthall" AutoGenerateColumns="False" OnRowDataBound="GvResumen_RowDataBound"
ShowHeaderWhenEmpty="true" EmptyDataText="No se encontraron registros"
DataKeyNames="Mes">
<Columns>
<asp:TemplateField HeaderText="Mes">
<ItemTemplate>
<asp:Label ID="LblMes" runat="server" Text='<%# Eval("Mes")%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="SIG" ItemStyle-HorizontalAlign="Right">
<ItemTemplate>
<asp:Label ID="LblVTotal" runat="server" Text='<%# Eval("VTotal","{0:N2}")%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="SAT" ItemStyle-HorizontalAlign="Right">
<ItemTemplate>
<asp:Label ID="LblCBTTotal" runat="server" Text='<%# Eval("CBTTotal","{0:N2}")%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Diferencia" ItemStyle-HorizontalAlign="Right">
<ItemTemplate>
<asp:Label ID="LblDif" runat="server" Text='<%# Eval("Dif","{0:N2}")%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
</div>
<div class="row" runat="server" id="DvDatos1" visible="false">
<div class="col-md-12">
<div class="col-md-12" style="text-align: right">
<input type="text" id="TxtBusquedaDatos" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusquedaDatos','{0}')", GvDatos.ClientID) %>" style="display: inline-block; width: 150px;" />
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusquedaDatos','{0}')", GvDatos.ClientID) %>" style="margin-top: -3px; margin-left: -13px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
</div> </div>
</div>
</div>
<div class="row" runat="server" id="DvDatos2" visible="false">
<div class="col-md-12">
<asp:GridView ID="GvDatos" runat="server" GridLines="None" CssClass="table table-hover table-striped ScrollAD Widthall" AutoGenerateColumns="false" OnRowDataBound="GvDatos_RowDataBound"
ShowHeaderWhenEmpty="true" EmptyDataText="No se encontraron registros"
DataKeyNames="UUID,CountRegistros,VTotal,CBTTotal,CountRegistrosSIG,CountRegistrosSAT,DifImporte,Abreviatura,CBTMoneda,CFDIData,CveSolicitudDetalle,CveVenta,VSerieFolio,Sistema">
<Columns>
<asp:TemplateField HeaderText="Folio">
<ItemTemplate>
<asp:Label runat="server" ID="LblUUID" Text='<%# Eval("UUID")%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<div class="row"> <asp:TemplateField HeaderText="SIG">
<div class="col-md-12"> <ItemTemplate>
<asp:GridView ID="GvDatos" runat="server" GridLines="None" CssClass="table table-hover table-striped ScrollAD Widthall" Visible ="false" AutoGenerateColumns="false" OnRowDataBound="GvDatos_RowDataBound" <asp:Label runat="server" ID="LblEnSistema" Text='<%# Eval("Sistema")%>'></asp:Label>
ShowHeaderWhenEmpty="true" EmptyDataText="No se encontraron registros" </ItemTemplate>
DataKeyNames="UUID,CountRegistros,VTotal,CBTTotal"> </asp:TemplateField>
<Columns>
<asp:TemplateField HeaderText="Folio">
<ItemTemplate>
<asp:Label runat="server" ID="LblUUID" Text='<%# Eval("UUID")%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="SIG"> <asp:TemplateField HeaderText="SAT" ItemStyle-HorizontalAlign="Right">
<ItemTemplate> <ItemTemplate>
<asp:Label runat="server" ID="LblEnSistema" Text='<%# Eval("Sistema")%>'></asp:Label> <asp:LinkButton runat="server" ID="LnkCFDIData" OnClick="LnkCFDIData_Click" Text='<%# Eval("CFDIData")%>' ></asp:LinkButton>
</ItemTemplate> </ItemTemplate>
</asp:TemplateField> </asp:TemplateField>
<asp:TemplateField HeaderText="SAT" ItemStyle-HorizontalAlign="Right"> <asp:TemplateField HeaderText="Serie Folio" ItemStyle-HorizontalAlign="Right">
<ItemTemplate> <ItemTemplate>
<asp:Label runat="server" ID="LblCFDIData" Text='<%# Eval("CFDIData")%>' ></asp:Label> <asp:Label runat="server" ID="LblVSerieFolio" Text='<%# Eval("VSerieFolio")%>'></asp:Label>
</ItemTemplate> </ItemTemplate>
</asp:TemplateField> </asp:TemplateField>
<asp:TemplateField HeaderText="Total" ItemStyle-HorizontalAlign="Right">
<ItemTemplate>
<asp:Label runat="server" ID="LblVTotal" Text='<%# Eval("VTotal","{0:N2}")%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Sub Total" ItemStyle-HorizontalAlign="Right">
<ItemTemplate>
<asp:Label runat="server" ID="LblVSubTotal" Text='<%# Eval("VSubTotal","{0:N2}")%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="IVA" ItemStyle-HorizontalAlign="Right">
<ItemTemplate>
<asp:Label runat="server" ID="LblVIVA" Text='<%# Eval("VIVA","{0:N2}")%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="IEPS" ItemStyle-HorizontalAlign="Right">
<ItemTemplate>
<asp:Label runat="server" ID="LblVIEPS" Text='<%# Eval("VIEPS","{0:N2}")%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Serie Folio" ItemStyle-HorizontalAlign="Right"> <asp:TemplateField HeaderText="Ret. IVA" ItemStyle-HorizontalAlign="Right">
<ItemTemplate> <ItemTemplate>
<asp:Label runat="server" ID="LblVSerieFolio" Text='<%# Eval("VSerieFolio")%>'></asp:Label> <asp:Label runat="server" ID="LblVRetIVA" Text='<%# Eval("VRetIVA","{0:N2}")%>'></asp:Label>
</ItemTemplate> </ItemTemplate>
</asp:TemplateField> </asp:TemplateField>
<asp:TemplateField HeaderText="Total" ItemStyle-HorizontalAlign="Right"> <asp:TemplateField HeaderText="Ret. ISR" ItemStyle-HorizontalAlign="Right">
<ItemTemplate> <ItemTemplate>
<asp:Label runat="server" ID="LblVTotal" Text='<%# Eval("VTotal","{0:N2}")%>'></asp:Label> <asp:Label runat="server" ID="LblVRetISR" Text='<%# Eval("VRetISR","{0:N2}")%>'></asp:Label>
</ItemTemplate> </ItemTemplate>
</asp:TemplateField> </asp:TemplateField>
<asp:TemplateField HeaderText="Moneda" ItemStyle-HorizontalAlign="Left">
<ItemTemplate>
<asp:Label runat="server" ID="LblAbreviatura" Text='<%# Eval("Abreviatura")%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Sub Total" ItemStyle-HorizontalAlign="Right"> <asp:TemplateField HeaderText="Total" ItemStyle-HorizontalAlign="Right">
<ItemTemplate> <ItemTemplate>
<asp:Label runat="server" ID="LblVSubTotal" Text='<%# Eval("VSubTotal","{0:N2}")%>'></asp:Label> <asp:Label runat="server" ID="LblCBTTotal" Text='<%# Eval("CBTTotal","{0:N2}")%>'></asp:Label>
</ItemTemplate> </ItemTemplate>
</asp:TemplateField> </asp:TemplateField>
<asp:TemplateField HeaderText="IVA" ItemStyle-HorizontalAlign="Right"> <asp:TemplateField HeaderText="Sub Total" ItemStyle-HorizontalAlign="Right">
<ItemTemplate> <ItemTemplate>
<asp:Label runat="server" ID="LblVIVA" Text='<%# Eval("VIVA","{0:N2}")%>'></asp:Label> <asp:Label runat="server" ID="LblCBTSubTotal" Text='<%# Eval("CBTSubTotal","{0:N2}")%>'></asp:Label>
</ItemTemplate> </ItemTemplate>
</asp:TemplateField> </asp:TemplateField>
<asp:TemplateField HeaderText="IEPS" ItemStyle-HorizontalAlign="Right"> <asp:TemplateField HeaderText="IVA" ItemStyle-HorizontalAlign="Right">
<ItemTemplate> <ItemTemplate>
<asp:Label runat="server" ID="LblVIEPS" Text='<%# Eval("VIEPS","{0:N2}")%>'></asp:Label> <asp:Label runat="server" ID="LblImpIVA" Text='<%# Eval("ImpIVA","{0:N2}")%>'></asp:Label>
</ItemTemplate> </ItemTemplate>
</asp:TemplateField> </asp:TemplateField>
<asp:TemplateField HeaderText="Ret. IVA" ItemStyle-HorizontalAlign="Right"> <asp:TemplateField HeaderText="IEPS" ItemStyle-HorizontalAlign="Right">
<ItemTemplate> <ItemTemplate>
<asp:Label runat="server" ID="LblVRetIVA" Text='<%# Eval("VRetIVA","{0:N2}")%>'></asp:Label> <asp:Label runat="server" ID="LblImpIEPS" Text='<%# Eval("ImpIEPS","{0:N2}")%>'></asp:Label>
</ItemTemplate> </ItemTemplate>
</asp:TemplateField> </asp:TemplateField>
<asp:TemplateField HeaderText="Ret. ISR" ItemStyle-HorizontalAlign="Right">
<ItemTemplate>
<asp:Label runat="server" ID="LblVRetISR" Text='<%# Eval("VRetISR","{0:N2}")%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Total" ItemStyle-HorizontalAlign="Right"> <asp:TemplateField HeaderText="Ret. ISR" ItemStyle-HorizontalAlign="Right">
<ItemTemplate> <ItemTemplate>
<asp:Label runat="server" ID="LblCBTTotal" Text='<%# Eval("CBTTotal","{0:N2}")%>'></asp:Label> <asp:Label runat="server" ID="LblImpRetISR" Text='<%# Eval("ImpRetISR","{0:N2}")%>'></asp:Label>
</ItemTemplate> </ItemTemplate>
</asp:TemplateField> </asp:TemplateField>
<asp:TemplateField HeaderText="Sub Total" ItemStyle-HorizontalAlign="Right"> <asp:TemplateField HeaderText="Ret. IVA" ItemStyle-HorizontalAlign="Right">
<ItemTemplate> <ItemTemplate>
<asp:Label runat="server" ID="LblCBTSubTotal" Text='<%# Eval("CBTSubTotal","{0:N2}")%>'></asp:Label> <asp:Label runat="server" ID="LblImpRetIVA" Text='<%# Eval("ImpRetIVA","{0:N2}")%>'></asp:Label>
</ItemTemplate> </ItemTemplate>
</asp:TemplateField> </asp:TemplateField>
<asp:TemplateField HeaderText="IVA" ItemStyle-HorizontalAlign="Right"> <asp:TemplateField HeaderText="Moneda" ItemStyle-HorizontalAlign="Left">
<ItemTemplate> <ItemTemplate>
<asp:Label runat="server" ID="LblImpIVA" Text='<%# Eval("ImpIVA","{0:N2}")%>'></asp:Label> <asp:Label runat="server" ID="LblCBTMoneda" Text='<%# Eval("CBTMoneda")%>'></asp:Label>
</ItemTemplate> </ItemTemplate>
</asp:TemplateField> </asp:TemplateField>
<asp:TemplateField HeaderText="IEPS" ItemStyle-HorizontalAlign="Right">
<ItemTemplate>
<asp:Label runat="server" ID="LblImpIEPS" Text='<%# Eval("ImpIEPS","{0:N2}")%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Ret. ISR" ItemStyle-HorizontalAlign="Right">
<ItemTemplate>
<asp:Label runat="server" ID="LblImpRetISR" Text='<%# Eval("ImpRetISR","{0:N2}")%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Ret. IVA" ItemStyle-HorizontalAlign="Right" >
<ItemTemplate>
<asp:Label runat="server" ID="LblImpRetIVA" Text='<%# Eval("ImpRetIVA","{0:N2}")%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
</div>
</Columns> </ContentTemplate>
</asp:GridView>
</div>
</div>
</contenttemplate>
</asp:UpdatePanel> </asp:UpdatePanel>
@@ -468,9 +505,9 @@
<div id="ModalViewSolicitudes" class="modal ADS fade" role="dialog"> <div id="ModalViewSolicitudes" class="modal ADS fade" role="dialog">
<asp:UpdatePanel ID="UPModalViewSolicitudes" class="modal-dialog rowpadding" tabindex="-1" runat="server" UpdateMode="Conditional"> <asp:UpdatePanel ID="UPModalViewSolicitudes" class="modal-dialog rowpadding xspadding" tabindex="-1" runat="server" UpdateMode="Conditional">
<contenttemplate> <ContentTemplate>
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<button type="button" class="close" data-dismiss="modal">&times;</button> <button type="button" class="close" data-dismiss="modal">&times;</button>
@@ -482,7 +519,7 @@
<div class="row"> <div class="row">
<div class="col-md-12" style="text-align:right"> <div class="col-md-12" style="text-align: right">
<asp:LinkButton ID="LnkAgregarSolictud" runat="server" data-toggle="tooltip" data-placement="right" OnClick="LnkAgregarSolictud_Click" title="Agregar Solicitud." CssClass="btn btn-circle btn-default" Text="<i class='fa fa-plus'></i> Agregar Solicitud"></asp:LinkButton> <asp:LinkButton ID="LnkAgregarSolictud" runat="server" data-toggle="tooltip" data-placement="right" OnClick="LnkAgregarSolictud_Click" title="Agregar Solicitud." CssClass="btn btn-circle btn-default" Text="<i class='fa fa-plus'></i> Agregar Solicitud"></asp:LinkButton>
</div> </div>
</div> </div>
@@ -493,47 +530,68 @@
<ajax:TabPanel runat="server" HeaderText="Pendientes" ID="TabPendientes"> <ajax:TabPanel runat="server" HeaderText="Pendientes" ID="TabPendientes">
<ContentTemplate> <ContentTemplate>
<asp:GridView ID="GVSolicitudesPendientes" runat="server" GridLines="None" CssClass="table table-hover table-striped ScrollAD Widthall" AutoGenerateColumns="False"
ShowHeaderWhenEmpty="true" EmptyDataText="No se encontraron registros"
DataKeyNames="CveSolicitud,CveSolicitudCFDI,CveSolicitudMetadata,Estatus,Observaciones,FechaInicio,FechaFin,FechaIng,CveUsuarioIng,CveEmpresa">
<Columns> <div class="row">
<asp:TemplateField HeaderText="Folio"> <div class="col-md-12">
<ItemTemplate> <asp:GridView ID="GVSolicitudesPendientes" runat="server" GridLines="None" CssClass="table table-striped table-hover Widthall ScrollAD mysmallbtn" AutoGenerateColumns="False"
<asp:Label runat="server" Text='<%# Eval("CveSolicitud")%>'></asp:Label> ShowHeaderWhenEmpty="true" EmptyDataText="No se encontraron registros"
</ItemTemplate> DataKeyNames="CveSolicitud,CveSolicitudCFDI,CveSolicitudMetadata,Estatus,Observaciones,FechaInicio,FechaFin,FechaIng,CveUsuarioIng,CveEmpresa,ArchivoXML,idSolicitud,CveSolicitudDetalle,Folio,CveTipoSolicitud">
</asp:TemplateField> <Columns>
<asp:TemplateField HeaderText="Fecha Inicio"> <asp:TemplateField HeaderText="Folio">
<ItemTemplate> <ItemTemplate>
<asp:Label ID="lblfechaInicio" runat="server" Text='<%# Eval("FechaInicio","{0:dd/MM/yyyy}")%>'></asp:Label> <asp:Label runat="server" Text='<%# Eval("Folio")%>'></asp:Label>
</ItemTemplate> </ItemTemplate>
</asp:TemplateField> </asp:TemplateField>
<asp:TemplateField HeaderText="Fecha Fin"> <asp:TemplateField HeaderText="Fecha Inicio">
<ItemTemplate> <ItemTemplate>
<asp:Label ID="lblfechaFin" runat="server" Text='<%# Eval("FechaFin","{0:dd/MM/yyyy}")%>'></asp:Label> <asp:Label ID="lblfechaInicio" runat="server" Text='<%# Eval("FechaInicio","{0:dd/MM/yyyy}")%>'></asp:Label>
</ItemTemplate> </ItemTemplate>
</asp:TemplateField> </asp:TemplateField>
<asp:TemplateField HeaderText="Estatus"> <asp:TemplateField HeaderText="Fecha Fin">
<ItemTemplate> <ItemTemplate>
<asp:Label ID="lblestatus" runat="server" Text='<%# Eval("EstatusText")%>'></asp:Label> <asp:Label ID="lblfechaFin" runat="server" Text='<%# Eval("FechaFin","{0:dd/MM/yyyy}")%>'></asp:Label>
</ItemTemplate> </ItemTemplate>
</asp:TemplateField> </asp:TemplateField>
<asp:TemplateField HeaderText="Observaciones"> <asp:TemplateField HeaderText="Estatus">
<ItemTemplate> <ItemTemplate>
<asp:Label ID="lblobservaciones" runat="server" Text='<%# Eval("Observaciones")%>'></asp:Label> <asp:Label ID="lblestatus" runat="server" Text='<%# Eval("EstatusText")%>'></asp:Label>
</ItemTemplate> </ItemTemplate>
</asp:TemplateField> </asp:TemplateField>
<asp:TemplateField HeaderText="Fecha solicitud"> <asp:TemplateField HeaderText="Observaciones">
<ItemTemplate> <ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("FechaIng","{0:dd/MM/yyyy HH:mm}")%>'></asp:Label> <asp:Label ID="lblobservaciones" runat="server" Text='<%# Eval("Observaciones")%>'></asp:Label>
</ItemTemplate> </ItemTemplate>
</asp:TemplateField> </asp:TemplateField>
<asp:TemplateField HeaderText="Solicitó"> <asp:TemplateField HeaderText="Fecha solicitud">
<ItemTemplate> <ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("UsuarioIng")%>'></asp:Label> <asp:Label runat="server" Text='<%# Eval("FechaIng","{0:dd/MM/yyyy}")%>'></asp:Label>
</ItemTemplate> </ItemTemplate>
</asp:TemplateField> </asp:TemplateField>
</Columns>
</asp:GridView>
<asp:TemplateField HeaderText="Solicitó">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("UsuarioIng")%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
</div>
<div class="row">
<div class="col-md-12" style="text-align: center">
<asp:LinkButton ID="LnkverificarSolicitudes" CssClass="btn btn-primary" OnClick="LnkverificarSolicitudes_Click" runat="server">Verificar pendientes</asp:LinkButton>
</div>
</div>
</ContentTemplate> </ContentTemplate>
</ajax:TabPanel> </ajax:TabPanel>
@@ -541,47 +599,71 @@
<ajax:TabPanel runat="server" HeaderText="Historial" ID="TabHistorial"> <ajax:TabPanel runat="server" HeaderText="Historial" ID="TabHistorial">
<ContentTemplate> <ContentTemplate>
<asp:GridView ID="GVSolicitudesNominas" runat="server" GridLines="None" CssClass="table table-hover table-striped ScrollAD Widthall" AutoGenerateColumns="False"
ShowHeaderWhenEmpty="true" EmptyDataText="No se encontraron registros"
DataKeyNames="CveSolicitud,idSolicitudCFDI,idSolicitudMetadata,Estatus,Observaciones,FechaInicio,FechaFin,FechaIng,CveUsuarioIng,CveEmpresa">
<Columns> <div class="row">
<asp:TemplateField HeaderText="Folio"> <div class="col-md-12">
<ItemTemplate> <asp:GridView ID="GVSolicitudesNominas" runat="server" GridLines="None" CssClass="table table-striped table-hover Widthall ScrollAD mysmallbtn" AutoGenerateColumns="False" OnRowDataBound="GVSolicitudesNominas_RowDataBound"
<asp:Label runat="server" Text='<%# Eval("CveSolicitud")%>'></asp:Label> ShowHeaderWhenEmpty="true" EmptyDataText="No se encontraron registros"
</ItemTemplate> DataKeyNames="CveSolicitudDetalle,CveSolicitud,idSolicitudCFDI,idSolicitudMetadata,Estatus,Observaciones,FechaInicio,FechaFin,FechaIng,CveUsuarioIng,CveEmpresa,ArchivoXML,Folio,CveTipoSolicitud">
</asp:TemplateField> <Columns>
<asp:TemplateField HeaderText="Fecha Inicio"> <asp:TemplateField HeaderText="Folio">
<ItemTemplate> <ItemTemplate>
<asp:Label ID="lblfechaInicio" runat="server" Text='<%# Eval("FechaInicio","{0:dd/MM/yyyy}")%>'></asp:Label> <asp:Label runat="server" Text='<%# Eval("Folio")%>'></asp:Label>
</ItemTemplate> </ItemTemplate>
</asp:TemplateField> </asp:TemplateField>
<asp:TemplateField HeaderText="Fecha Fin"> <asp:TemplateField HeaderText="Fecha Inicio">
<ItemTemplate> <ItemTemplate>
<asp:Label ID="lblfechaFin" runat="server" Text='<%# Eval("FechaFin","{0:dd/MM/yyyy}")%>'></asp:Label> <asp:Label ID="lblfechaInicio" runat="server" Text='<%# Eval("FechaInicio","{0:dd/MM/yyyy}")%>'></asp:Label>
</ItemTemplate> </ItemTemplate>
</asp:TemplateField> </asp:TemplateField>
<asp:TemplateField HeaderText="No CFDI"> <asp:TemplateField HeaderText="Fecha Fin">
<ItemTemplate> <ItemTemplate>
<asp:Label ID="lblobservaciones" runat="server" Text='<%# Eval("numeroCFDIs")%>'></asp:Label> <asp:Label ID="lblfechaFin" runat="server" Text='<%# Eval("FechaFin","{0:dd/MM/yyyy}")%>'></asp:Label>
</ItemTemplate> </ItemTemplate>
</asp:TemplateField> </asp:TemplateField>
<asp:TemplateField HeaderText="Observaciones"> <asp:TemplateField HeaderText="No CFDI" ItemStyle-HorizontalAlign="Right">
<ItemTemplate> <ItemTemplate>
<asp:Label ID="lblobservaciones" runat="server" Text='<%# Eval("Observaciones")%>'></asp:Label> <asp:Label ID="LblnumeroCFDIs" runat="server" Text='<%# Eval("numeroCFDIs")%>'></asp:Label>
</ItemTemplate> </ItemTemplate>
</asp:TemplateField> </asp:TemplateField>
<asp:TemplateField HeaderText="Fecha solicitud"> <asp:TemplateField HeaderText="Observaciones">
<ItemTemplate> <ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("FechaIng","{0:dd/MM/yyyy HH:mm}")%>'></asp:Label> <asp:Label ID="lblobservaciones" runat="server" Text='<%# Eval("Observaciones")%>' ItemStyle-Width="150px" ControlStyle-Width="150px" CssClass="truncate" ></asp:Label>
</ItemTemplate> </ItemTemplate>
</asp:TemplateField> </asp:TemplateField>
<asp:TemplateField HeaderText="Solicitó"> <asp:TemplateField HeaderText="Fecha solicitud">
<ItemTemplate> <ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("UsuarioIng")%>'></asp:Label> <asp:Label runat="server" Text='<%# Eval("FechaIng","{0:dd/MM/yyyy}")%>'></asp:Label>
</ItemTemplate> </ItemTemplate>
</asp:TemplateField> </asp:TemplateField>
</Columns> <asp:TemplateField HeaderText="Solicitó" ItemStyle-Width="100px" ControlStyle-Width="100px">
</asp:GridView> <ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("UsuarioIng")%>' CssClass="truncate"></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-HorizontalAlign="Right" ItemStyle-Width="50px" HeaderText="XML">
<ItemTemplate>
<asp:LinkButton ID="LnkDescargaXML" CssClass="btn btn-circle btn-sm blue" OnClick="LnkDescargaXML_Click" runat="server" ToolTip="Descargar archivo"
Text="<i class='fa fa-download' style='color:white' title='Descargar Documento'></i>" CausesValidation="False" Visible="false" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="R Nombres" Visible="false">
<ItemTemplate>
<asp:LinkButton ID="LnkRenombrarArchivos" CssClass="btn btn-circle btn-sm blue" OnClick="LnkRenombrarArchivos_Click" runat="server" ToolTip="Renombrar Archivos"
Text="Renombrar" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
</div>
@@ -598,11 +680,11 @@
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
<asp:LinkButton ID="LnkverificarSolicitudes" CssClass="btn btn-primary" OnClick="LnkverificarSolicitudes_Click" runat="server">Verificar pendientes</asp:LinkButton>
<button type="button" class="btn btn-default" data-dismiss="modal">Cerrar</button> <button type="button" class="btn btn-default" data-dismiss="modal">Cerrar</button>
</div> </div>
</div> </div>
</contenttemplate> </ContentTemplate>
</asp:UpdatePanel> </asp:UpdatePanel>
</div> </div>
@@ -621,11 +703,11 @@
<div class="modal-body"> <div class="modal-body">
<div class="row"> <div class="row">
<div class="col-md-6"> <div class="col-md-4">
<div class="form-group form-md-line-input input-iconright" style="width: 125px!important"> <div class="form-group form-md-line-input input-iconright" style="width: 125px!important;height:28px!important">
<asp:TextBox ID="txtFechaIAdd" CssClass="form-control" MaxLength="20" runat="server" Width="100px"></asp:TextBox> <asp:TextBox ID="txtFechaIAdd" CssClass="form-control" MaxLength="20" runat="server" Width="100px" Height="28px"></asp:TextBox>
<span class="input-group-btn " style="position: absolute; right: 41px; top: -5px;"> <span class="input-group-btn " style="position: absolute; right: 41px; top: -5px;">
<asp:LinkButton ID="LnkFechaIAdd" class="btn default" Style="margin-top: 15px; margin-left: 6px" Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton> <asp:LinkButton ID="LnkFechaIAdd" class="btn default" Style="margin-top: 15px; margin-left: 6px" Text="<i Style='margin-left: -6px;margin-top: -5px' class='fa fa-calendar'></i>" runat="server" Width="25px" Height="27px" ></asp:LinkButton>
</span> </span>
<ajax:MaskedEditExtender ID="MEEFechaIAdd" runat="server" TargetControlID="txtFechaIAdd" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender> <ajax:MaskedEditExtender ID="MEEFechaIAdd" runat="server" TargetControlID="txtFechaIAdd" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CalendarExtender1" TargetControlID="txtFechaIAdd" PopupButtonID="LnkFechaIAdd" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender> <ajax:CalendarExtender runat="server" ID="CalendarExtender1" TargetControlID="txtFechaIAdd" PopupButtonID="LnkFechaIAdd" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
@@ -637,11 +719,11 @@
</div> </div>
</div> </div>
<div class="col-md-6"> <div class="col-md-4">
<div class="form-group form-md-line-input input-iconright" style="width: 125px!important"> <div class="form-group form-md-line-input input-iconright" style="width: 125px!important">
<asp:TextBox ID="txtFechaFAdd" CssClass="form-control" MaxLength="20" runat="server" Width="100px"></asp:TextBox> <asp:TextBox ID="txtFechaFAdd" CssClass="form-control" MaxLength="20" runat="server" Width="100px" Height="28px"></asp:TextBox>
<span class="input-group-btn " style="position: absolute; right: 41px; top: -5px;"> <span class="input-group-btn " style="position: absolute; right: 41px; top: -5px;">
<asp:LinkButton ID="LnkFechaFAdd" class="btn default" Style="margin-top: 15px; margin-left: 6px" Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton> <asp:LinkButton ID="LnkFechaFAdd" class="btn default" Style="margin-top: 15px; margin-left: 6px" Text="<i Style='margin-left: -6px;margin-top: -5px' class='fa fa-calendar'></i>" runat="server" Width="25px" Height="27px" ></asp:LinkButton>
</span> </span>
<ajax:MaskedEditExtender ID="MEEFechaFAdd" runat="server" TargetControlID="txtFechaFAdd" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender> <ajax:MaskedEditExtender ID="MEEFechaFAdd" runat="server" TargetControlID="txtFechaFAdd" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CalendarExtender2" TargetControlID="txtFechaFAdd" PopupButtonID="LnkFechaFAdd" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender> <ajax:CalendarExtender runat="server" ID="CalendarExtender2" TargetControlID="txtFechaFAdd" PopupButtonID="LnkFechaFAdd" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
@@ -652,6 +734,11 @@
<label for="<%= txtFechaFAdd.ClientID.ToString() %>" style="margin-top: -6px">Fecha Fin:</label> <label for="<%= txtFechaFAdd.ClientID.ToString() %>" style="margin-top: -6px">Fecha Fin:</label>
</div> </div>
</div> </div>
<div class="col-md-4">
<asp:CheckBox runat="server" ID="ChkMetaDatos" Text="Validación de Estatus" />
</div>
</div> </div>

View File

@@ -44,6 +44,17 @@ public partial class SAT_SolicitudesIngresoSat : ClsPaginas
} }
set { ViewState["fechaFin"] = value; } set { ViewState["fechaFin"] = value; }
} }
public int TipoDescarga // 0 sin descarga 1 resumen 2 desglose
{
get
{
if (ViewState["TipoDescarga"] == null) { return 0; }
else { return ViewState["TipoDescarga"].ToString().ToEntero(); }
}
set { ViewState["TipoDescarga"] = (int)value; }
}
#endregion #endregion
protected void Page_Load(object sender, EventArgs e) protected void Page_Load(object sender, EventArgs e)
{ {
@@ -52,107 +63,53 @@ public partial class SAT_SolicitudesIngresoSat : ClsPaginas
TxtRpdFechaInicio.Text = string.Format("01/{0:MM/yyyy}", DateTime.Now.AddMonths(-1)); TxtRpdFechaInicio.Text = string.Format("01/{0:MM/yyyy}", DateTime.Now.AddMonths(-1));
TxtRpdFechaFin.Text = string.Format("{0:dd/MM/yyyy}", DateTime.Now.AddMonths(-1).LastDayOfMonth()); TxtRpdFechaFin.Text = string.Format("{0:dd/MM/yyyy}", DateTime.Now.AddMonths(-1).LastDayOfMonth());
LnkConsultar_Click(null, null); LnkConsultar_Click(null, null);
//if(UsuarioActual.CveRol == 1)
//{
// GVSolicitudesNominas.Columns[8].Visible = true;
//}
} }
} }
protected void LnkDownloadExcel_Click(object sender, EventArgs e) protected void LnkDownloadExcel_Click(object sender, EventArgs e)
{ {
if(TipoDescarga == 1) {
GvResumen.ExportToExcel2($"Resumen{DateTime.Now.ToString("yyyyMMddhhmmss")}");
}
using (ClsNominas nom = new ClsNominas()) if (TipoDescarga == 2)
{ {
nom.SATSolicitudTimbreNominaGral(DdlReporte.SelectedValue.ToString().ToEntero(), UsuarioActual.CveEmpresa, fechaInicio, fechaFin); GvDatos.ExportToExcel2($"PorComprobante{DateTime.Now.ToString("yyyyMMddhhmmss")}");
ClosedXML.Excel.XLWorkbook wb = new ClosedXML.Excel.XLWorkbook();
var libro = wb.AddWorksheet(nom.DtResultados, "Nomina");
libro.ColumnsUsed().AdjustToContents();
libro.Range(1, 1, 1, nom.DtResultados.Columns.Count).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(153, 153, 153));
switch (DdlReporte.SelectedValue.ToString().ToEntero())
{
case 1:
libro.Range(1, 2, 1, 2).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(153, 0, 0));
libro.Range(1, 3, 1, 5).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(53, 152, 220));
break;
case 2:
libro.Range(1, 2, 1, 2).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(153, 0, 0));
libro.Range(1, 3, 1, 6).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(53, 152, 220));
libro.Range(1, 8, 1, 11).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(53, 152, 220));
break;
case 3:
libro.Range(1, 1, 1, 10).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(53, 152, 220));
libro.Range(1, 11, 1, nom.DtResultados.Columns.Count).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(153, 0, 0));
break;
case 4:
libro.Range(1, 2, 1, 2).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(153, 0, 0));
libro.Range(1, 3, 1, 5).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(53, 152, 220));
break;
case 5:
libro.Range(1, 2, 1, 2).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(153, 0, 0));
libro.Range(1, 3, 1, 3).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(53, 152, 220));
break;
case 6:
libro.Range(1, 4, 1, 6).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(153, 0, 0));
libro.Range(1, 7, 1, 9).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(53, 152, 220));
break;
case 7:
libro.Range(1, 3, 1, 5).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(153, 0, 0));
libro.Range(1, 6, 1, 8).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(53, 152, 220));
break;
case 8:
libro.Range(1, 6, 1, 8).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(153, 0, 0));
libro.Range(1, 9, 1, 12).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(53, 152, 220));
break;
case 9:
break;
default:
break;
}
libro.Row(1).InsertRowsAbove(4);
libro.Range(1, 2, 1, 6).Merge().Value = UsuarioActual.Empresa.Empresa;
libro.Range(2, 2, 2, 6).Merge().Value = $"Reporte de {DdlReporte.SelectedItem.Text}";
libro.Range(3, 2, 3, 6).Merge().Value = $"del {fechaInicio.ToDateTime():dd/MM/yyyy} al {fechaFin.ToDateTime():dd/MM/yyyy}";
libro.Range(2, 7, 2, 9).Merge().Value = $"Fecha:{DateTime.Now:dd/MM/yyyy}";
libro.Range(3, 7, 3, 9).Merge().Value = $"Hora:{DateTime.Now:HH:mm}";
System.IO.Stream fs = new System.IO.MemoryStream();
wb.SaveAs(fs);
fs.Position = 0;
System.IO.MemoryStream memoryStream = new System.IO.MemoryStream();
using (System.IO.Stream input = fs)
{
input.CopyTo(memoryStream);
}
memoryStream.Position = 0;
Response.Clear();
Response.Buffer = true;
Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
Response.AddHeader("content-disposition", string.Format("attachment;filename={0}.xlsx", $"Visor nómina ( Reporte :{DdlReporte.SelectedValue}) "));
Response.BinaryWrite(memoryStream.ToArray());
Response.End();
} }
} }
protected void LnkConsultar_Click(object sender, EventArgs e) protected void LnkConsultar_Click(object sender, EventArgs e)
{ {
DvDatos1.Visible = false;
DvDatos2.Visible = false;
DVResumen1.Visible = false;
DVResumen2.Visible = false;
TipoDescarga = 0;
GvResumen.DataSource = null; LnkDownloadExcel.Visible = false;
GvDatos.DataSource = null;
if (DdlReporte.SelectedValue.ToEntero() == 1) if (DdlReporte.SelectedValue.ToEntero() == 1)
{ {
GvResumen.Visible = true; DVResumen1.Visible = true;
GvDatos.Visible = false; DVResumen2.Visible = true;
DvDatos1.Visible = false;
DvDatos2.Visible = false;
} }
else else
{ {
GvResumen.Visible = false; DVResumen1.Visible = false;
GvDatos.Visible = true; DVResumen2.Visible = false;
DvDatos1.Visible = true;
DvDatos2.Visible = true;
} }
using (ClsNominas ObjNom = new ClsNominas()) using (ClsNominas ObjNom = new ClsNominas())
{ {
if (ObjNom.SATSolicitudTimbreIngresosRep(UsuarioActual.CveEmpresa, TxtRpdFechaInicio.Text.ToDate(), TxtRpdFechaFin.Text.ToDate(), DdlReporte.SelectedValue.ToEntero())) if (ObjNom.SATSolicitudTimbreIngresosRep(UsuarioActual.CveEmpresa, TxtRpdFechaInicio.Text.ToDate(), TxtRpdFechaFin.Text.ToDate(), DdlReporte.SelectedValue.ToEntero()))
@@ -160,34 +117,43 @@ public partial class SAT_SolicitudesIngresoSat : ClsPaginas
if (DdlReporte.SelectedValue.ToEntero() == 1) if (DdlReporte.SelectedValue.ToEntero() == 1)
{ {
GvResumen.DataSource = ObjNom.DtResultados; GvResumen.DataSource = ObjNom.DtResultados;
TipoDescarga = ObjNom.DtResultados.Rows.Count > 0 ? 1:0;
LnkDownloadExcel.Visible = true;
} }
else else
{ {
GvDatos.DataSource = ObjNom.DtResultados; GvDatos.DataSource = ObjNom.DtResultados;
TipoDescarga = ObjNom.DtResultados.Rows.Count > 0 ? 2 : 0;
LnkDownloadExcel.Visible = true;
} }
} }
} }
GvResumen.DataBind(); GvResumen.DataBind();
GvDatos.DataBind(); GvDatos.DataBind();
UpDatos.Update(); UpDatos.Update();
UpAcciones.Update();
} }
private void cargasolicitudes() private void cargasolicitudes()
{ {
LnkverificarSolicitudes.Visible = false;
using (ClsNominas nom = new ClsNominas()) using (ClsNominas nom = new ClsNominas())
{ {
if (nom.SolicitudesGet(-1, UsuarioActual.CveEmpresa, CveTipoSolicitud: 3)) if (nom.SolicitudesGet(-1, UsuarioActual.CveEmpresa, CveTipoSolicitud: 3, Estatus: 0,Top:50))
{ {
GVSolicitudesPendientes.DataSource = nom.DtResultados;
GVSolicitudesPendientes.DataSource = nom.DtResultados.FiltraParametros("Estatus =0"); if (nom.DtResultados.Rows.Count > 0)
{
LnkverificarSolicitudes.Visible = true;
}
GVSolicitudesPendientes.DataBind(); GVSolicitudesPendientes.DataBind();
GVSolicitudesNominas.DataSource = nom.DtResultados.FiltraParametros("Estatus =1"); }
if (nom.SolicitudesGet(-1, UsuarioActual.CveEmpresa, CveTipoSolicitud: 3, Estatus:1,Top:50))
{
GVSolicitudesNominas.DataSource = nom.DtResultados;
GVSolicitudesNominas.DataBind(); GVSolicitudesNominas.DataBind();
} }
} }
@@ -204,6 +170,7 @@ public partial class SAT_SolicitudesIngresoSat : ClsPaginas
protected void LnkSolicitarSat_Click(object sender, EventArgs e) protected void LnkSolicitarSat_Click(object sender, EventArgs e)
{ {
StringBuilder sbResultado = new StringBuilder();
int idSolicitudCFDI = 0; int idSolicitudCFDI = 0;
int idSolicitudMetadata = 0; int idSolicitudMetadata = 0;
int estatus = 0; int estatus = 0;
@@ -212,22 +179,27 @@ public partial class SAT_SolicitudesIngresoSat : ClsPaginas
DateTime fechaFin = txtFechaFAdd.Text.ToDateTime(); DateTime fechaFin = txtFechaFAdd.Text.ToDateTime();
int cveUsuarioIng = UsuarioActual.CveUsuario; int cveUsuarioIng = UsuarioActual.CveUsuario;
int cveEmpresa = UsuarioActual.CveEmpresa; int cveEmpresa = UsuarioActual.CveEmpresa;
bool Continuar = false; int CveSolicitudAgregada = -1;
int Folio = -1;
using (ClsNominas nom = new ClsNominas()) using (ClsNominas nom = new ClsNominas())
{ {
Continuar = nom.SolicitudesAdd(idSolicitudCFDI, idSolicitudMetadata, estatus, observaciones, fechaInicio, fechaFin, cveUsuarioIng, cveEmpresa, CveTipoSolicitud: 3); int CveTipoSolicitud = ChkMetaDatos.Checked ? 203 :3;
CveSolicitudAgregada = nom.SolicitudesAdd2(idSolicitudCFDI, idSolicitudMetadata, estatus, observaciones, fechaInicio, fechaFin, cveUsuarioIng, cveEmpresa, CveTipoSolicitud: CveTipoSolicitud);
if(CveSolicitudAgregada > 0)
{
Folio = nom.FolioSolicitud;
}
} }
if (CveSolicitudAgregada > 0)
if (Continuar)
{ {
StringBuilder sbResultado = new StringBuilder();
var api = new GeneralesAPII(); var api = new GeneralesAPII();
JToken ObjApiSolicitud = (JToken)api.GeneraSolicitud(UsuarioActual.CveEmpresa, 3); JToken ObjApiSolicitud = (JToken)api.GeneraSolicitud(UsuarioActual.CveEmpresa, 3, CveSolicitudAgregada);
List<string> resultSolicitud = new List<string>(); List<string> resultSolicitud = new List<string>();
List<string> resultVerificacion = new List<string>(); List<string> resultVerificacion = new List<string>();
var ResultadoVerificaionOK = false;
var SeVerifico = false;
var TipoMensaje = ModExtensiones.TipoMensaje.MsgInformacion; var TipoMensaje = ModExtensiones.TipoMensaje.MsgInformacion;
var ResultadoSolicitudOK = false; var ResultadoSolicitudOK = false;
@@ -244,71 +216,34 @@ public partial class SAT_SolicitudesIngresoSat : ClsPaginas
if (ResultadoSolicitudOK) if (ResultadoSolicitudOK)
{ {
JToken ObjApiVerificacion = (JToken)api.VerificaSolicitudesNominas(UsuarioActual.CveEmpresa, 3); sbResultado.Append($"Solicitud registrada correctamente y solicitada a SAT.<br> Folio: {Folio}");
}
else{
if (!(ObjApiVerificacion == null)) if(ObjApiSolicitud != null && resultSolicitud.Count == 4)
{ {
resultVerificacion = ObjApiVerificacion.Select(token => token.Values().Aggregate((i, j) => $"{i}|{j}").Value<string>()).ToList(); sbResultado.Append($"Solicitud registrada, pendiente de verificar en SAT <br> Folio: {Folio} <br>({resultSolicitud[1]})<br>");
ResultadoVerificaionOK = bool.Parse(resultVerificacion[0]);
SeVerifico = true;
} }
else else
{ {
TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia; sbResultado.Append($"Solicitud registrada, pendiente de verificar en SAT <br> Folio: {Folio}");
} }
}
if (resultSolicitud.Count == 4)
{
if (ResultadoSolicitudOK)
{
if (resultSolicitud[1].ToString().Trim().Length > 0)
{
sbResultado.Append($"{resultSolicitud[1]}<br/>");
}
else
{
sbResultado.Append($"Solicitud Generada Correctamente");
sbResultado.Append($"Se presento un error al verificar las solicitudes <br/> {resultSolicitud[2]} <br>");
}
}
else
{
sbResultado.Append($"{resultSolicitud[2]}");
TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia;
}
}
else
{
sbResultado.AppendLine("Se presento un error al generar la solicitud (API) <br/>");
TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia; TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia;
} }
if (SeVerifico && resultVerificacion.Count == 4)
{
if (ResultadoVerificaionOK)
{
sbResultado.Append($"{resultVerificacion[1]}<br>");
}
else
{
sbResultado.Append($"Se presento un error al verificar las solicitudes {resultVerificacion[1]}<br>");
TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia;
}
}
else
{
sbResultado.AppendLine("Se presento un error al verificar las solicitudes (API) <br/>");
TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia;
}
Alert(sbResultado.ToString(), TipoMensaje); Alert(sbResultado.ToString(), TipoMensaje);
} }
else
{
Alert("No se puedo registrar la solictud".ToString(), ModExtensiones.TipoMensaje.MsgAdvertencia);
}
if (Continuar) if (CveSolicitudAgregada > 0)
{ {
txtFechaIAdd.Text = ""; txtFechaIAdd.Text = "";
txtFechaFAdd.Text = ""; txtFechaFAdd.Text = "";
@@ -321,101 +256,131 @@ public partial class SAT_SolicitudesIngresoSat : ClsPaginas
protected void LnkverificarSolicitudes_Click(object sender, EventArgs e) protected void LnkverificarSolicitudes_Click(object sender, EventArgs e)
{ {
//var api = new GeneralesAPI();
//api.GeneraSolicitud();
//api.VerificaSolicitudesNominas();
try
StringBuilder sbResultado = new StringBuilder();
var api = new GeneralesAPII();
JToken ObjApiSolicitud = (JToken)api.GeneraSolicitud(UsuarioActual.CveEmpresa, 3);
List<string> resultSolicitud = new List<string>();
List<string> resultVerificacion = new List<string>();
var ResultadoVerificaionOK = false;
var SeVerifico = false;
var TipoMensaje = ModExtensiones.TipoMensaje.MsgInformacion;
var ResultadoSolicitudOK = false;
if (!(ObjApiSolicitud == null))
{ {
resultSolicitud = ObjApiSolicitud.Select(token => token.Values().Aggregate((i, j) => $"{i}|{j}").Value<string>()).ToList();
ResultadoSolicitudOK = bool.Parse(resultSolicitud[0]);
}
else
{
TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia;
}
if (ResultadoSolicitudOK)
{ StringBuilder sbResultado = new StringBuilder();
JToken ObjApiVerificacion = (JToken)api.VerificaSolicitudesNominas(UsuarioActual.CveEmpresa, 3);
if (!(ObjApiVerificacion == null)) foreach(GridViewRow GvRow in GVSolicitudesPendientes.Rows)
{ {
resultVerificacion = ObjApiVerificacion.Select(token => token.Values().Aggregate((i, j) => $"{i}|{j}").Value<string>()).ToList();
ResultadoVerificaionOK = bool.Parse(resultVerificacion[0]); int CveSolicitudActual = GvRow.DataKey("CveSolicitud").ToEntero();
SeVerifico = true; string idSolicitud = GvRow.DataKey("idSolicitud").Trim();
} int CveTipoSolicitud = GvRow.DataKey("CveTipoSolicitud").ToEntero();
else int Folio = GvRow.DataKey("Folio").ToEntero();
{
TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia;
}
}
if (resultSolicitud.Count == 4) List<string> resultSolicitud = new List<string>();
{ List<string> resultVerificacion = new List<string>();
if (ResultadoSolicitudOK) var ResultadoVerificaionOK = false;
{ var SeVerifico = false;
if (resultSolicitud[2].ToString().Trim().Length > 0) var TipoMensaje = ModExtensiones.TipoMensaje.MsgInformacion;
var ResultadoSolicitudOK = false;
var api = new GeneralesAPII();
if (idSolicitud.Length == 0)
{ {
sbResultado.Append($"{resultSolicitud[2]}<br/>"); JToken ObjApiSolicitud = (JToken)api.GeneraSolicitud(UsuarioActual.CveEmpresa, CveTipoSolicitud, CveSolicitudActual);
if (!(ObjApiSolicitud == null))
{
resultSolicitud = ObjApiSolicitud.Select(token => token.Values().Aggregate((i, j) => $"{i}|{j}").Value<string>()).ToList();
ResultadoSolicitudOK = bool.Parse(resultSolicitud[0]);
sbResultado.Append($"Solicitud {CveSolicitudActual} solicitada a SAT.<br>");
}
else
{
TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia;
}
} }
else else
{ {
sbResultado.Append($"Solicitud Generada Correctamente"); resultSolicitud = new List<string>();
sbResultado.Append($"Se presento un error al verificar las solicitudes <br/> {resultSolicitud[2]} <br>"); resultSolicitud.Add("true");
resultSolicitud.Add("");
resultSolicitud.Add("");
resultSolicitud.Add("");
ResultadoSolicitudOK = true;
} }
if (ResultadoSolicitudOK)
{
JToken ObjApiVerificacion = (JToken)api.VerificaSolicitudesNominas(UsuarioActual.CveEmpresa, CveTipoSolicitud, CveSolicitudActual);
if (!(ObjApiVerificacion == null))
{
resultVerificacion = ObjApiVerificacion.Select(token => token.Values().Aggregate((i, j) => $"{i}|{j}").Value<string>()).ToList();
ResultadoVerificaionOK = bool.Parse(resultVerificacion[0]);
SeVerifico = true;
}
else
{
TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia;
}
}
else
{
if(resultSolicitud.Count == 4)
{
sbResultado.Append($"Solicitud pendiente de verificar en SAT <br> Folio:{Folio} ({resultSolicitud[1]})<br>");
}
else
{
sbResultado.Append($"Solicitud pendiente de verificar en SAT <br> Folio:{Folio} <br>");
}
TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia;
}
if (SeVerifico && resultVerificacion.Count == 4)
{
if (ResultadoVerificaionOK)
{
sbResultado.Append($"Solicitud procesada.<br> Folio: {Folio}");
}
else
{
sbResultado.Append($"Solicitud no verificada <br> Folio: {Folio}{resultVerificacion[1]}.<br>");
TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia;
}
}
else
{
sbResultado.Append($"Se presento un error al verificar la solicitud <br> Folio: {Folio}.");
TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia;
}
Alert(sbResultado.ToString(), TipoMensaje);
} }
else
{
sbResultado.Append($"{resultSolicitud[2]}");
TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia;
}
cargasolicitudes();
} }
else catch(Exception ex)
{ {
sbResultado.AppendLine("Se presento un error al generar la solicitud (API) <br/>"); Alert(ex.StackTrace);
TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia;
} }
if (SeVerifico && resultVerificacion.Count == 4)
{
if (ResultadoVerificaionOK)
{
sbResultado.Append($"{resultVerificacion[2]}<br>");
}
else
{
sbResultado.Append($"Se presento un error al verificar las solicitudes {resultVerificacion[2]}<br>");
TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia;
}
}
else
{
sbResultado.AppendLine("Se presento un error al verificar las solicitudes (API) <br/>");
TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia;
}
Alert(sbResultado.ToString(), TipoMensaje);
cargasolicitudes();
} }
@@ -437,7 +402,7 @@ public partial class SAT_SolicitudesIngresoSat : ClsPaginas
if(e.Row.DataKey("Mes").ToString() == "") if(e.Row.DataKey("Mes").ToString() == "")
{ {
e.Row.Cells[0].Text = "Total"; e.Row.Cells[0].Text = "Total";
e.Row.Font.Bold = true; e.Row.Attributes.Add("class", "Totales");
} }
} }
@@ -448,23 +413,83 @@ public partial class SAT_SolicitudesIngresoSat : ClsPaginas
if(e.Row.RowType == DataControlRowType.DataRow) if(e.Row.RowType == DataControlRowType.DataRow)
{ {
if (e.Row.DataKey("UUID") == "Totales") if (e.Row.DataKey("UUID") == "Totales")
{ {
e.Row.Font.Bold = true; e.Row.Font.Bold = true;
e.Row.Cells[1].Text = e.Row.DataKey("VTotal").ToDecimal().ToString("###,###,###.00"); e.Row.Cells[1].Text = e.Row.DataKey("CountRegistrosSIG");
e.Row.Cells[2].Text = e.Row.DataKey("CBTTotal").ToDecimal().ToString("###,###,###.00"); e.Row.Cells[2].Text = e.Row.DataKey("CountRegistrosSAT");
e.Row.Cells[3].Text = e.Row.DataKey("CountRegistros"); e.Row.Attributes.Add("class", "Totales");
} }
if(e.Row.DataKey("UUID").ToUpper() != "TOTALES")
{
StringBuilder SBMsgToolTip = new StringBuilder();
if (e.Row.DataKey("DifImporte").ToDecimal() != 0 || (e.Row.DataKey("Abreviatura").ToUpper() != e.Row.DataKey("CBTMoneda").ToUpper()))
{
e.Row.CssClass = "bg-yellow-casablanca bg-font-yellow-casablanca";
}
e.Row.Attributes.Add("data-html", "true");
e.Row.Attributes.Add("data-toggle", "tooltip");
e.Row.Attributes.Add("data-placement", "top");
if (e.Row.DataKey("Sistema").ToUpper() == "NO" || e.Row.DataKey("CFDIData").ToUpper() == "NO")
{
if (e.Row.DataKey("Sistema").ToUpper() == "NO")
{
SBMsgToolTip.AppendLine("Comprobante no se encuentra en SIG.<br>");
}
if (e.Row.DataKey("CFDIData").ToUpper() == "NO")
{
SBMsgToolTip.AppendLine("Comprobante no se encuentra en descargas de SAT.<br>");
}
}
else {
if (e.Row.DataKey("DifImporte").ToDecimal() != 0)
{
SBMsgToolTip.AppendLine($" Diferencia importes {e.Row.DataKey("DifImporte").ToDecimal().ToString("###,###,###.00")}");
}
if (e.Row.DataKey("Abreviatura").ToUpper() != e.Row.DataKey("CBTMoneda").ToUpper())
{
SBMsgToolTip.AppendLine($"Diferencia en monedas.");
}
}
if (SBMsgToolTip.ToString().Length > 0)
{
e.Row.Attributes.Add("title", SBMsgToolTip.ToString());
}
LinkButton LnkCFDIData = e.Row.FCLinkButton("LnkCFDIData");
if((e.Row.DataKey("CFDIData").ToUpper() == "SI"))
{
ScriptManager.GetCurrent(this).RegisterPostBackControl(LnkCFDIData);
LnkCFDIData.CssClass = "Texto";
}
else
{
LnkCFDIData.PostBackUrl = "#";
}
if(e.Row.DataKey("CveVenta").ToEntero() > 0)
{
e.Row.Cells[1].Text = $"<a href='/Ventas/Ventas.aspx?CveVenta={e.Row.DataKey("CveVenta").ToEntero()}'class='Texto' target='_blank' >Si</a>";
e.Row.Cells[3].Text = $"<a href='/Ventas/Ventas.aspx?CveVenta={e.Row.DataKey("CveVenta").ToEntero()}'class='Texto' target='_blank' >{e.Row.DataKey("VSerieFolio")}</a>";
}
}
} }
if (e.Row.RowType == DataControlRowType.Header) if (e.Row.RowType == DataControlRowType.Header)
{ {
e.Row.Cells[1].BackColor = System.Drawing.Color.FromName("#3598dc"); //Azul e.Row.Cells[1].BackColor = System.Drawing.Color.FromName("#3598dc"); //Azul
e.Row.Cells[2].BackColor = System.Drawing.Color.FromName("#900"); //Rojo e.Row.Cells[2].BackColor = System.Drawing.Color.FromName("#E87E04"); //Rojo
e.Row.Cells[4].BackColor = System.Drawing.Color.FromName("#3598dc"); //Azul e.Row.Cells[4].BackColor = System.Drawing.Color.FromName("#3598dc"); //Azul
@@ -473,14 +498,29 @@ public partial class SAT_SolicitudesIngresoSat : ClsPaginas
e.Row.Cells[7].BackColor = System.Drawing.Color.FromName("#3598dc"); //Azul e.Row.Cells[7].BackColor = System.Drawing.Color.FromName("#3598dc"); //Azul
e.Row.Cells[8].BackColor = System.Drawing.Color.FromName("#3598dc"); //Azul e.Row.Cells[8].BackColor = System.Drawing.Color.FromName("#3598dc"); //Azul
e.Row.Cells[9].BackColor = System.Drawing.Color.FromName("#3598dc"); //Azul e.Row.Cells[9].BackColor = System.Drawing.Color.FromName("#3598dc"); //Azul
e.Row.Cells[10].BackColor = System.Drawing.Color.FromName("#3598dc"); //Azul
//e.Row.Cells[11].BackColor = System.Drawing.Color.FromName("#900"); //Rojo
//e.Row.Cells[12].BackColor = System.Drawing.Color.FromName("#900"); //Rojo
//e.Row.Cells[13].BackColor = System.Drawing.Color.FromName("#900"); //Rojo
//e.Row.Cells[14].BackColor = System.Drawing.Color.FromName("#900"); //Rojo
//e.Row.Cells[15].BackColor = System.Drawing.Color.FromName("#900"); //Rojo
//e.Row.Cells[16].BackColor = System.Drawing.Color.FromName("#900"); //Rojo
//e.Row.Cells[17].BackColor = System.Drawing.Color.FromName("#900"); //Rojo
e.Row.Cells[11].BackColor = System.Drawing.Color.FromName("#E87E04"); //Rojo
e.Row.Cells[12].BackColor = System.Drawing.Color.FromName("#E87E04"); //Rojo
e.Row.Cells[13].BackColor = System.Drawing.Color.FromName("#E87E04"); //Rojo
e.Row.Cells[14].BackColor = System.Drawing.Color.FromName("#E87E04"); //Rojo
e.Row.Cells[15].BackColor = System.Drawing.Color.FromName("#E87E04"); //Rojo
e.Row.Cells[16].BackColor = System.Drawing.Color.FromName("#E87E04"); //Rojo
e.Row.Cells[17].BackColor = System.Drawing.Color.FromName("#E87E04"); //Rojo
e.Row.Cells[10].BackColor = System.Drawing.Color.FromName("#900"); //Rojo
e.Row.Cells[11].BackColor = System.Drawing.Color.FromName("#900"); //Rojo
e.Row.Cells[12].BackColor = System.Drawing.Color.FromName("#900"); //Rojo
e.Row.Cells[13].BackColor = System.Drawing.Color.FromName("#900"); //Rojo
e.Row.Cells[14].BackColor = System.Drawing.Color.FromName("#900"); //Rojo
e.Row.Cells[15].BackColor = System.Drawing.Color.FromName("#900"); //Rojo
e.Row.Cells[1].ForeColor = System.Drawing.Color.FromName("white"); e.Row.Cells[1].ForeColor = System.Drawing.Color.FromName("white");
@@ -492,18 +532,200 @@ public partial class SAT_SolicitudesIngresoSat : ClsPaginas
e.Row.Cells[7].ForeColor = System.Drawing.Color.FromName("white"); e.Row.Cells[7].ForeColor = System.Drawing.Color.FromName("white");
e.Row.Cells[8].ForeColor = System.Drawing.Color.FromName("white"); e.Row.Cells[8].ForeColor = System.Drawing.Color.FromName("white");
e.Row.Cells[9].ForeColor = System.Drawing.Color.FromName("white"); e.Row.Cells[9].ForeColor = System.Drawing.Color.FromName("white");
e.Row.Cells[10].ForeColor = System.Drawing.Color.FromName("white"); e.Row.Cells[10].ForeColor = System.Drawing.Color.FromName("white");
e.Row.Cells[11].ForeColor = System.Drawing.Color.FromName("white"); e.Row.Cells[11].ForeColor = System.Drawing.Color.FromName("white");
e.Row.Cells[12].ForeColor = System.Drawing.Color.FromName("white"); e.Row.Cells[12].ForeColor = System.Drawing.Color.FromName("white");
e.Row.Cells[13].ForeColor = System.Drawing.Color.FromName("white"); e.Row.Cells[13].ForeColor = System.Drawing.Color.FromName("white");
e.Row.Cells[14].ForeColor = System.Drawing.Color.FromName("white"); e.Row.Cells[14].ForeColor = System.Drawing.Color.FromName("white");
e.Row.Cells[15].ForeColor = System.Drawing.Color.FromName("white"); e.Row.Cells[15].ForeColor = System.Drawing.Color.FromName("white");
e.Row.Cells[16].ForeColor = System.Drawing.Color.FromName("white");
e.Row.Cells[17].ForeColor = System.Drawing.Color.FromName("white");
} }
} }
protected void LnkDescargaXML_Click(object sender, EventArgs e)
{
GridViewRow GvRow = (GridViewRow)((LinkButton)sender).NamingContainer;
var UrlDescarga = $"{UsuarioActual.Empresa.Ruta}NomXMLSAT\\Descargas\\{GvRow.DataKey("ArchivoXML")}";
var Archivo = new System.IO.FileInfo(UrlDescarga);
if (Archivo.Exists)
{
Response.Clear();
Response.AddHeader("Content-Disposition", "attachment; filename=" + Archivo.Name);
Response.AddHeader("Content-Length", Archivo.Length.ToString());
Response.ContentType = "text/octet-stream";
Response.Flush();
Response.TransmitFile(Archivo.FullName);
Response.End();
}
}
protected void GVSolicitudesNominas_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (e.Row.DataKey("ArchivoXML").Length > 0)
{
var UrlDescarga = $"{UsuarioActual.Empresa.Ruta}NomXMLSAT\\Descargas\\{e.Row.DataKey("ArchivoXML")}";
if (System.IO.File.Exists(UrlDescarga)){
LinkButton LnkDescargaXML = e.Row.FCLinkButton("LnkDescargaXML");
ScriptManager.GetCurrent(this).RegisterPostBackControl(LnkDescargaXML);
LnkDescargaXML.Visible = true;
}
}
e.Row.Attributes.Add("data-html", "true");
e.Row.Attributes.Add("data-toggle", "tooltip");
e.Row.Attributes.Add("data-placement", "top");
e.Row.Attributes.Add("title", e.Row.DataKey("Observaciones"));
}
}
private void CargaComprobanteXML(string DirectoryPath, int CveSolicitudDetalle)
{
int Contador = 0;
System.IO.DirectoryInfo DirInfo = new System.IO.DirectoryInfo(DirectoryPath);
IEnumerable<System.IO.FileInfo> files = DirInfo.EnumerateFiles();
foreach (var f in files)
{
if(f.Extension.ToUpper() == ".XML")
{
string UUID = "";
System.Xml.XmlDocument XMLDoc = new System.Xml.XmlDocument();
try
{
XMLDoc.Load(f.FullName);
}
catch (Exception ex)
{
try
{
var oReader = new System.IO.StreamReader(f.FullName, System.Text.Encoding.GetEncoding("ISO-8859-1"));
XMLDoc.Load(oReader);
oReader.Dispose();
}
catch (Exception ex2)
{
// GuardaLog("Error al intentar leer el XML del SAT. Error:" + ex2.ToString());
ModExtensiones.GuardaLog(ex2.StackTrace);
}
}
System.Xml.XmlNode nodo = XMLDoc.DocumentElement;
string Version = ValorXML(nodo, "version");
System.Xml.XmlNamespaceManager namespaces = new System.Xml.XmlNamespaceManager(XMLDoc.NameTable);
string Prefijo = XMLDoc.DocumentElement.Prefix == "" ? "cfd" : XMLDoc.DocumentElement.Prefix;
string cfdVer = "";
if (Version == "3.2")
{
Prefijo = "cfd";
cfdVer = "http://www.sat.gob.mx/cfd/2";
}
else if (Version == "3.3")
cfdVer = "http://www.sat.gob.mx/cfd/3";
else
cfdVer = "http://www.sat.gob.mx/cfd/4";
namespaces.AddNamespace(Prefijo, cfdVer);
namespaces.AddNamespace("tfd", "http://www.sat.gob.mx/TimbreFiscalDigital");
namespaces.AddNamespace("implocal", "http://www.sat.gob.mx/implocal");
namespaces.AddNamespace("registrofiscal", "http://www.sat.gob.mx/registrofiscal");
System.Xml.XmlNode node;
node = XMLDoc.SelectSingleNode(string.Format("//{0}:Emisor", Prefijo), namespaces);
System.Xml.XmlNode nodeComp = XMLDoc.SelectSingleNode(string.Format("//{0}:Complemento", Prefijo), namespaces);
if (node != null )
{
System.Xml.XmlNode nodeTFD = nodeComp.SelectSingleNode(string.Format("//{0}:TimbreFiscalDigital", "tfd"), namespaces);
UUID = ValorXML(nodeTFD, "UUID", "");
}
if (UUID.Length > 0)
{
try {
System.IO.File.Move(f.FullName, $@"{f.DirectoryName}\{UUID.ToUpper()}.XML");
Contador++;
} catch (Exception ex3)
{
ModExtensiones.GuardaLog(ex3.StackTrace);
}
//ClsNominas objNominas = new ClsNominas();
//objNominas.UpdateSolicitudDetalleCveSolicitudDetalle(UsuarioActual.CveEmpresa, UUID, CveSolicitudDetalle);
//objNominas.Dispose();
}
}
}
Alert("Archivos Renombrados ");
}
private string ValorXML(System.Xml.XmlNode n, string Campo, string Retorno = "")
{
System.Xml.XmlNode o = n.Attributes.Cast<System.Xml.XmlAttribute>().SingleOrDefault(a => string.Compare(a.Name, Campo, true) == 0);
if (o == null)
return Retorno;
else
return o.Value;
}
protected void LnkRenombrarArchivos_Click(object sender, EventArgs e)
{
GridViewRow GvRow = (GridViewRow)((LinkButton)sender).NamingContainer;
var CveSolicitudDetalle = GvRow.DataKey("CveSolicitudDetalle").ToEntero();
var UrlDirectorio = $"{UsuarioActual.Empresa.Ruta}DescargasSATXML\\Ingresos\\{CveSolicitudDetalle}";
CargaComprobanteXML(UrlDirectorio, CveSolicitudDetalle);
}
protected void LnkCFDIData_Click(object sender, EventArgs e)
{
GridViewRow GvRow = (GridViewRow)((LinkButton)sender).NamingContainer;
var CveSolicitudDetalle = GvRow.DataKey("CveSolicitudDetalle");
var UrlDescargaXML = $"{UsuarioActual.Empresa.Ruta}DescargasSATXML\\Ingresos\\{CveSolicitudDetalle}\\{GvRow.DataKey("UUID")}.XML";
var ArchivoXML = new System.IO.FileInfo(UrlDescargaXML);
if (ArchivoXML.Exists)
{
Response.Clear();
Response.AddHeader("Content-Disposition", "attachment; filename=" + ArchivoXML.Name);
Response.AddHeader("Content-Length", ArchivoXML.Length.ToString());
Response.ContentType = "text/octet-stream";
Response.Flush();
Response.TransmitFile(ArchivoXML.FullName);
Response.End();
}
}
} }
@@ -512,13 +734,13 @@ public class GeneralesAPII : ADSNetLibraryzI.HelpersI.ConexionesI.SIGAPII.BaseSI
public GeneralesAPII(string domainApi = "http://localhost:4001/", string token = "") : base(domainApi, token) { } public GeneralesAPII(string domainApi = "http://localhost:4001/", string token = "") : base(domainApi, token) { }
public object GeneraSolicitud(int CveEmpresa, int CveTipoSolicitud) public object GeneraSolicitud(int CveEmpresa, int CveTipoSolicitud, int CveSolicitud)
{ {
return getData<object>($"GeneraSolicitud/{CveEmpresa}/{CveTipoSolicitud}", null, ADSNetLibraryzI.HelpersI.ConexionesI.SIGAPII.requestMethod.GET, false); return getData<object>($"GeneraSolicitud/{CveEmpresa}/{CveTipoSolicitud}/{CveSolicitud}", null, ADSNetLibraryzI.HelpersI.ConexionesI.SIGAPII.requestMethod.GET, false);
} }
public object VerificaSolicitudesNominas(int CveEmpresa, int CveTipoSolicitud) public object VerificaSolicitudesNominas(int CveEmpresa, int CveTipoSolicitud, int CveSolicitud)
{ {
return getData<object>($"VerificaSolicitudesNominas/{CveEmpresa}/{CveTipoSolicitud}", null, ADSNetLibraryzI.HelpersI.ConexionesI.SIGAPII.requestMethod.GET, false); return getData<object>($"VerificaSolicitudesNominas/{CveEmpresa}/{CveTipoSolicitud}/{CveSolicitud}", null, ADSNetLibraryzI.HelpersI.ConexionesI.SIGAPII.requestMethod.GET, false);
} }
} }

View File

@@ -202,8 +202,8 @@ public partial class SAT_SolicitudesNominaSat : ClsPaginas
{ {
Continuar = nom.SolicitudesAdd(idSolicitudCFDI, idSolicitudMetadata, estatus, observaciones, fechaInicio, fechaFin, cveUsuarioIng, cveEmpresa); Continuar = nom.SolicitudesAdd(idSolicitudCFDI, idSolicitudMetadata, estatus, observaciones, fechaInicio, fechaFin, cveUsuarioIng, cveEmpresa);
var api = new GeneralesAPI(); var api = new GeneralesAPI();
api.GeneraSolicitud(); api.GeneraSolicitud(UsuarioActual.CveEmpresa, 1);
api.VerificaSolicitudesNominas(); api.VerificaSolicitudesNominas(UsuarioActual.CveEmpresa, 1);
} }
if (Continuar) if (Continuar)
{ {
@@ -219,8 +219,8 @@ public partial class SAT_SolicitudesNominaSat : ClsPaginas
protected void LnkverificarSolicitudes_Click(object sender, EventArgs e) protected void LnkverificarSolicitudes_Click(object sender, EventArgs e)
{ {
var api = new GeneralesAPI(); var api = new GeneralesAPI();
api.GeneraSolicitud(); api.GeneraSolicitud(UsuarioActual.CveEmpresa,1);
api.VerificaSolicitudesNominas(); api.VerificaSolicitudesNominas(UsuarioActual.CveEmpresa, 1);
cargasolicitudes(); cargasolicitudes();
} }
@@ -231,13 +231,14 @@ public class GeneralesAPI : ADSNetLibrary.Helpers.Conexiones.SIGAPI.BaseSIGAPI
public GeneralesAPI(string domainApi = "http://localhost:4001/", string token = "") : base(domainApi, token) { } public GeneralesAPI(string domainApi = "http://localhost:4001/", string token = "") : base(domainApi, token) { }
public object GeneraSolicitud()
public object GeneraSolicitud(int CveEmpresa, int CveTipoSolicitud)
{ {
return getData<object>("GeneraSolicitud", null, ADSNetLibrary.Helpers.Conexiones.SIGAPI.requestMethod.GET,false); return getData<object>($"GeneraSolicitud/{CveEmpresa}/{CveTipoSolicitud}", null, ADSNetLibrary.Helpers.Conexiones.SIGAPI.requestMethod.GET, false);
} }
public object VerificaSolicitudesNominas() public object VerificaSolicitudesNominas(int CveEmpresa, int CveTipoSolicitud)
{ {
return getData<object>("VerificaSolicitudesNominas", null, ADSNetLibrary.Helpers.Conexiones.SIGAPI.requestMethod.GET, false); return getData<object>($"VerificaSolicitudesNominas/{CveEmpresa}/{CveTipoSolicitud}", null, ADSNetLibrary.Helpers.Conexiones.SIGAPI.requestMethod.GET, false);
} }
} }

View File

@@ -689,6 +689,13 @@
<label for="<%= DdlTipoCliente.ClientID.ToString()%>">Tipo de Cliente:</label> <label for="<%= DdlTipoCliente.ClientID.ToString()%>">Tipo de Cliente:</label>
</div> </div>
<div class="form-group form-md-line-input input-iconright" id="DivRepresentanteLegal" runat="server" visible="false">
<asp:TextBox runat="server" ID="TxtRepresentanteLegal" CssClass="form-control" MaxLength="100" />
<label for="<%= TxtRepresentanteLegal.ClientID.ToString()%>">Representante Legal:</label>
</div>
<div class="row"> <div class="row">
<div runat="server" id="DivEsDistribuidor" visible="false" class="col-md-4 form-group form-md-line-input input-iconright"> <div runat="server" id="DivEsDistribuidor" visible="false" class="col-md-4 form-group form-md-line-input input-iconright">

View File

@@ -753,6 +753,10 @@ Partial Class Clientes
divRegimen.Visible = True divRegimen.Visible = True
End If End If
If UsuarioActual.CveEmpresa.Contiene(1) Or UsuarioActual.Empresa.Funcionalidad(531) = "1" Then
DivRepresentanteLegal.Visible = True
End If
If Request("CveCliente") IsNot Nothing AndAlso IsNumeric(Request("CveCliente")) AndAlso Request("CveCliente").ToEntero() > 0 Then If Request("CveCliente") IsNot Nothing AndAlso IsNumeric(Request("CveCliente")) AndAlso Request("CveCliente").ToEntero() > 0 Then
'If UsuarioActual.CveEmpresa = 2 AndAlso UsuarioActual.CveUsuario = 77 AndAlso Not Request("CveCliente").Contiene("10450", "10460", "10458") Then 'If UsuarioActual.CveEmpresa = 2 AndAlso UsuarioActual.CveUsuario = 77 AndAlso Not Request("CveCliente").Contiene("10450", "10460", "10458") Then
' BtnGuardar.Enabled = False : BtnEliminar.Enabled = False : LbAgregarSucursal.Enabled = False : LbEnviarActivacionPortal.Enabled = False ' BtnGuardar.Enabled = False : BtnEliminar.Enabled = False : LbAgregarSucursal.Enabled = False : LbEnviarActivacionPortal.Enabled = False
@@ -1873,6 +1877,8 @@ Partial Class Clientes
RdTipoPersona.SelectedValue = If(ObjClientes.TipoPersona, "1", "0") RdTipoPersona.SelectedValue = If(ObjClientes.TipoPersona, "1", "0")
RdTipoPersona_SelectedIndexChanged(Nothing, Nothing) RdTipoPersona_SelectedIndexChanged(Nothing, Nothing)
TxtRepresentanteLegal.Text = ObjClientes.RepresentanteLegal
End If End If
UpActivacionPortal.Update() UpActivacionPortal.Update()
UpModalPersonaFisica.Update() UpModalPersonaFisica.Update()
@@ -2686,7 +2692,7 @@ Partial Class Clientes
CvePais:=DdlPais.SelectedValue.ToEntero(), CveEstado:=DdlEstado.SelectedValue.ToEntero(), CveMunicipio:=DdlMunicipio.SelectedValue.ToEntero(), CveColonia:=DdlColonia.SelectedValue.ToEntero(), CveMotivoTraslado:=IIf(DdlMotivoTraslado.SelectedValue = "-1", "0", DdlMotivoTraslado.SelectedValue).ToString().ToEntero(), NumRegIdTrib:=IIf(TxtNumRegIdTrib.Text = "", "-1", TxtNumRegIdTrib.Text).ToString(), CvePais:=DdlPais.SelectedValue.ToEntero(), CveEstado:=DdlEstado.SelectedValue.ToEntero(), CveMunicipio:=DdlMunicipio.SelectedValue.ToEntero(), CveColonia:=DdlColonia.SelectedValue.ToEntero(), CveMotivoTraslado:=IIf(DdlMotivoTraslado.SelectedValue = "-1", "0", DdlMotivoTraslado.SelectedValue).ToString().ToEntero(), NumRegIdTrib:=IIf(TxtNumRegIdTrib.Text = "", "-1", TxtNumRegIdTrib.Text).ToString(),
ComExtEstado:=IIf(TxtComExtEstado.Text = "", "-1", TxtComExtEstado.Text).ToString(), ComExtMunicipio:=IIf(TxtComExtMunicipio.Text = "", "-1", TxtComExtMunicipio.Text).ToString(), ComExtColonia:=IIf(TxtComExtColonia.Text = "", "-1", TxtComExtColonia.Text).ToString(), RequiereOC:=ChkRequiereOC.Checked, LT:=LT, LG:=LG, EsDistribuidor:=ChkEsDistribuidor.Checked, ComExtEstado:=IIf(TxtComExtEstado.Text = "", "-1", TxtComExtEstado.Text).ToString(), ComExtMunicipio:=IIf(TxtComExtMunicipio.Text = "", "-1", TxtComExtMunicipio.Text).ToString(), ComExtColonia:=IIf(TxtComExtColonia.Text = "", "-1", TxtComExtColonia.Text).ToString(), RequiereOC:=ChkRequiereOC.Checked, LT:=LT, LG:=LG, EsDistribuidor:=ChkEsDistribuidor.Checked,
TipoCliente:=DdlTipoCliente.SelectedValue.ToEntero(), CargoUsado:=ChkCargoUsado.Checked, BonificacionUsado:=ChkBonificacionUsado.Checked, CveTipoRetencion:=DdlTipoRetencion.SelectedValue.ToEntero(), CorreoEntregaCompras:=TxtCorreoEntregaCompras.Text, CorreoEntregaAlmacen:=TxtCorreoEntregaAlmacen.Text, CveSATEstado:=DdlEstadoSAT.SelectedValue.ToEntero(), CveAdminTrayecto:=If(DdlAdminTrayecto.SelectedValue.ToEntero() <= 0, 0, DdlAdminTrayecto.SelectedValue.ToEntero()), TipoCliente:=DdlTipoCliente.SelectedValue.ToEntero(), CargoUsado:=ChkCargoUsado.Checked, BonificacionUsado:=ChkBonificacionUsado.Checked, CveTipoRetencion:=DdlTipoRetencion.SelectedValue.ToEntero(), CorreoEntregaCompras:=TxtCorreoEntregaCompras.Text, CorreoEntregaAlmacen:=TxtCorreoEntregaAlmacen.Text, CveSATEstado:=DdlEstadoSAT.SelectedValue.ToEntero(), CveAdminTrayecto:=If(DdlAdminTrayecto.SelectedValue.ToEntero() <= 0, 0, DdlAdminTrayecto.SelectedValue.ToEntero()),
CveRegimenFiscal:=DdlRegimenFiscal.SelectedValue.ToEntero, RegimenSociedad:=TxtRegimenSociedad.Text, TipoPersona:=TipoPersona) Then CveRegimenFiscal:=DdlRegimenFiscal.SelectedValue.ToEntero, RegimenSociedad:=TxtRegimenSociedad.Text, TipoPersona:=TipoPersona, RepresentanteLegal:=TxtRepresentanteLegal.Text) Then
ViewState("CveCliente") = ObjClientes.CveCliente ViewState("CveCliente") = ObjClientes.CveCliente
@@ -2783,7 +2789,7 @@ Partial Class Clientes
ApellidoPaternoPF:=IIf(TxtApellidoPaterno.Text = "", "-1", TxtApellidoPaterno.Text).ToString(), ApellidoMaternoPF:=IIf(TxtApellidoMaterno.Text = "", "-1", TxtApellidoMaterno.Text).ToString(), NombresPF:=IIf(TxtNombres.Text = "", "-1", TxtNombres.Text).ToString(), ApellidoPaternoPF:=IIf(TxtApellidoPaterno.Text = "", "-1", TxtApellidoPaterno.Text).ToString(), ApellidoMaternoPF:=IIf(TxtApellidoMaterno.Text = "", "-1", TxtApellidoMaterno.Text).ToString(), NombresPF:=IIf(TxtNombres.Text = "", "-1", TxtNombres.Text).ToString(),
RequiereOC:=ChkRequiereOC.Checked, LT:=LT, LG:=LG, EsDistribuidor:=ChkEsDistribuidor.Checked, TipoCliente:=DdlTipoCliente.SelectedValue.ToEntero(), CargoUsado:=ChkCargoUsado.Checked, BonificacionUsado:=ChkBonificacionUsado.Checked, CveTipoRetencion:=DdlTipoRetencion.SelectedValue.ToEntero(), CorreoEntregaCompras:=TxtCorreoEntregaCompras.Text, CorreoEntregaAlmacen:=TxtCorreoEntregaAlmacen.Text, CveSATEstado:=DdlEstadoSAT.SelectedValue.ToEntero(), RequiereOC:=ChkRequiereOC.Checked, LT:=LT, LG:=LG, EsDistribuidor:=ChkEsDistribuidor.Checked, TipoCliente:=DdlTipoCliente.SelectedValue.ToEntero(), CargoUsado:=ChkCargoUsado.Checked, BonificacionUsado:=ChkBonificacionUsado.Checked, CveTipoRetencion:=DdlTipoRetencion.SelectedValue.ToEntero(), CorreoEntregaCompras:=TxtCorreoEntregaCompras.Text, CorreoEntregaAlmacen:=TxtCorreoEntregaAlmacen.Text, CveSATEstado:=DdlEstadoSAT.SelectedValue.ToEntero(),
CveAdminTrayecto:=If(DdlAdminTrayecto.SelectedValue.ToEntero() <= 0, 0, DdlAdminTrayecto.SelectedValue.ToEntero()), CveAdminTrayecto:=If(DdlAdminTrayecto.SelectedValue.ToEntero() <= 0, 0, DdlAdminTrayecto.SelectedValue.ToEntero()),
NoDesglosaIVA:=ChkNoDesglosaIVA.Checked, CveRegimenFiscal:=DdlRegimenFiscal.SelectedValue.ToEntero, RegimenSociedad:=TxtRegimenSociedad.Text, TipoPersona:=TipoPersona) Then NoDesglosaIVA:=ChkNoDesglosaIVA.Checked, CveRegimenFiscal:=DdlRegimenFiscal.SelectedValue.ToEntero, RegimenSociedad:=TxtRegimenSociedad.Text, TipoPersona:=TipoPersona, RepresentanteLegal:=TxtRepresentanteLegal.Text) Then
ObjClientes.LimpiaImpuestosLocales(CveCliente) ObjClientes.LimpiaImpuestosLocales(CveCliente)

View File

@@ -1018,6 +1018,7 @@ Partial Class RepVentaDetalle
Dim RutaFormato = String.Format("{0}Formatos\RepVentaDetalle.rdlc", UsuarioActual.Empresa.Ruta) Dim RutaFormato = String.Format("{0}Formatos\RepVentaDetalle.rdlc", UsuarioActual.Empresa.Ruta)
Dim Archivo As New System.IO.FileInfo(RutaFormato) Dim Archivo As New System.IO.FileInfo(RutaFormato)
Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta)) Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta))
@@ -1033,14 +1034,19 @@ Partial Class RepVentaDetalle
params.Add(New ReportParameter("FechaImpresion", Now.ToDateTime.ToShortDateString)) params.Add(New ReportParameter("FechaImpresion", Now.ToDateTime.ToShortDateString))
params.Add(New ReportParameter("TipoDocto", TipoDocto)) params.Add(New ReportParameter("TipoDocto", TipoDocto))
params.Add(New ReportParameter("AgrupadoPor", $"<b>Agrupado Por:</b>&nbsp;{Grupo} {TipoDocto} {FechaIn} {FechaFn} {FechaIEjec} {FechaFEjec} {CveCliente} {CveSucursal} {CveSucursalEjec} {Vendedor} {CveUsuario} {CveEstatusFactura} {CondicionesPago} ")) params.Add(New ReportParameter("AgrupadoPor", $"<b>Agrupado Por:</b>&nbsp;{Grupo} {TipoDocto} {FechaIn} {FechaFn} {FechaIEjec} {FechaFEjec} {CveCliente} {CveSucursal} {CveSucursalEjec} {Vendedor} {CveUsuario} {CveEstatusFactura} {CondicionesPago} "))
If Imagen.Exists Then If Imagen.Exists Then
params.Add(New ReportParameter("LogoPath", logouri)) params.Add(New ReportParameter("LogoPath", logouri))
Else Else
params.Add(New ReportParameter("LogoPath", "")) params.Add(New ReportParameter("LogoPath", ""))
End If End If
If Not Archivo.Exists Then If Not Archivo.Exists Then
RutaFormato = "Empresas/Grales/Formatos/RepVentaDetalle.rdlc" RutaFormato = "Empresas/Grales/Formatos/RepVentaDetalle.rdlc"
End If End If
ImprimirPDF(RutaFormato, dt, params, String.Format("ReporteVentaDetalle-{0}", Now.ToDateTime.ToShortDateString), Formato:=Formato) ImprimirPDF(RutaFormato, dt, params, String.Format("ReporteVentaDetalle-{0}", Now.ToDateTime.ToShortDateString), Formato:=Formato)
Else Else
Alert("No hay datos consultados", TipoMensaje.MsgAdvertencia) Alert("No hay datos consultados", TipoMensaje.MsgAdvertencia)

View File

@@ -9443,6 +9443,8 @@ Partial Class Ventas
'ContPAQ El movimiento 1 es el de Venta 'ContPAQ El movimiento 1 es el de Venta
Dim AutoConta As Boolean = UsuarioActual.Empresa.Funcionalidad(200) = "1" Dim AutoConta As Boolean = UsuarioActual.Empresa.Funcionalidad(200) = "1"
AutoConta = AutocontaMatriz(AutoConta)
If UsuarioActual.CveEmpresa = 119 AndAlso DdlTipoComprobante.SelectedValue.Contiene("Ant", "Rem", "RNC", "Cot", "Ped", "Pd2", "PA", "Egs", "Dev") Then If UsuarioActual.CveEmpresa = 119 AndAlso DdlTipoComprobante.SelectedValue.Contiene("Ant", "Rem", "RNC", "Cot", "Ped", "Pd2", "PA", "Egs", "Dev") Then
AutoConta = False AutoConta = False
End If End If
@@ -12983,7 +12985,11 @@ Partial Class Ventas
If ObjFactura.CveMoneda = 2 AndAlso ObjFactura.TipoCambio > 0 Then If ObjFactura.CveMoneda = 2 AndAlso ObjFactura.TipoCambio > 0 Then
tipoCambio = ObjFactura.TipoCambio tipoCambio = ObjFactura.TipoCambio
ElseIf ObjFactura.CveMoneda = 2 AndAlso ObjFactura.TipoCambio <= 1 Then ElseIf ObjFactura.CveMoneda = 2 AndAlso ObjFactura.TipoCambio <= 1 Then
tipoCambio = GlobalTipoCambio(ObjFactura.Fecha).ToString().ToDecimal If UsuarioActual.CveEmpresa.Contiene(13, 83) Then
tipoCambio = GlobalTipoCambio(ObjFactura.Fecha.AddDays(-1)).ToString().ToDecimal
Else
tipoCambio = GlobalTipoCambio(ObjFactura.Fecha).ToString().ToDecimal
End If
Else Else
tipoCambio = 1 tipoCambio = 1
End If End If
@@ -13194,7 +13200,13 @@ Partial Class Ventas
If tipoCambio > 1 Then If tipoCambio > 1 Then
TipoCambioNC = tipoCambio TipoCambioNC = tipoCambio
Else Else
TipoCambioNC = GlobalTipoCambio(TxtFecha.Text.ToDate).ToDecimal
If UsuarioActual.CveEmpresa.Contiene(13, 83) Then
TipoCambioNC = GlobalTipoCambio(TxtFecha.Text.ToDate.AddDays(-1)).ToDecimal
Else
TipoCambioNC = GlobalTipoCambio(TxtFecha.Text.ToDate).ToDecimal
End If
End If End If
'APLICA NC SALDOS DIRECTOS 'APLICA NC SALDOS DIRECTOS
@@ -13228,7 +13240,11 @@ Partial Class Ventas
Dim TCFluctuacion As Decimal = Dr("TCCambioValuacion").ToString().ToDecimal Dim TCFluctuacion As Decimal = Dr("TCCambioValuacion").ToString().ToDecimal
If TCFluctuacion = 1 AndAlso TipoCambioNC > 1 Then If TCFluctuacion = 1 AndAlso TipoCambioNC > 1 Then
TCFluctuacion = GlobalTipoCambio(TxtFecha.Text.ToDate).ToDecimal If UsuarioActual.CveEmpresa.Contiene(13, 83) Then
TCFluctuacion = GlobalTipoCambio(TxtFecha.Text.ToDate.AddDays(-1)).ToDecimal
Else
TCFluctuacion = GlobalTipoCambio(TxtFecha.Text.ToDate).ToDecimal
End If
End If End If
If DdlMoneda.SelectedValue.ToEntero() = 2 AndAlso Not Dr("TCCambioValuacion").ToString().ToDecimal > 1 Then If DdlMoneda.SelectedValue.ToEntero() = 2 AndAlso Not Dr("TCCambioValuacion").ToString().ToDecimal > 1 Then
@@ -13299,8 +13315,13 @@ Partial Class Ventas
'SI LA NC ES EN DOLARES Y PERO VIENE DE UN ANTICIPO EN PESOS 'SI LA NC ES EN DOLARES Y PERO VIENE DE UN ANTICIPO EN PESOS
If (Not UsuarioActual.CveEmpresa.Contiene(72, 80, 146)) AndAlso ObjFactura.CveMoneda = 2 Then If (Not UsuarioActual.CveEmpresa.Contiene(72, 80, 146)) AndAlso ObjFactura.CveMoneda = 2 Then
Dim tipoCambioAnticipo = GlobalTipoCambio(row2.DataKey("Fecha").ToString().ToDate).ToDecimal Dim tipoCambioAnticipo = GlobalTipoCambio(row2.DataKey("Fecha").ToString().ToDate).ToDecimal
If UsuarioActual.CveEmpresa.Contiene(13, 83) Then
tipoCambioAnticipo = GlobalTipoCambio(row2.DataKey("Fecha").ToString().ToDate.AddDays(-1)).ToDecimal
End If
If row2.DataKey("CveMoneda").ToString.ToEntero = 2 Then If row2.DataKey("CveMoneda").ToString.ToEntero = 2 Then
IdCtaContable = IdCtaContAnticiposExtranjera IdCtaContable = IdCtaContAnticiposExtranjera
End If End If
@@ -14836,7 +14857,11 @@ Partial Class Ventas
If ObjFactura.CveMoneda = 2 AndAlso ObjFactura.TipoCambio > 0 Then If ObjFactura.CveMoneda = 2 AndAlso ObjFactura.TipoCambio > 0 Then
tipoCambio = Factura.TipoCambio tipoCambio = Factura.TipoCambio
ElseIf ObjFactura.CveMoneda = 2 AndAlso ObjFactura.TipoCambio <= 1 Then ElseIf ObjFactura.CveMoneda = 2 AndAlso ObjFactura.TipoCambio <= 1 Then
tipoCambio = GlobalTipoCambio(Factura.Fecha).ToString().ToDecimal If UsuarioActual.CveEmpresa.Contiene(13, 83) Then
tipoCambio = GlobalTipoCambio(Factura.Fecha.AddDays(-1)).ToString().ToDecimal
Else
tipoCambio = GlobalTipoCambio(Factura.Fecha).ToString().ToDecimal
End If
Else Else
tipoCambio = 1 tipoCambio = 1
End If End If
@@ -15523,6 +15548,7 @@ Partial Class Ventas
Dim UltimaFluctuacion As MTipoCambioFluctuacion = GlobalTipoCambioUltimaFluctuacion(tFecha) Dim UltimaFluctuacion As MTipoCambioFluctuacion = GlobalTipoCambioUltimaFluctuacion(tFecha)
If UsuarioActual.Empresa.Funcionalidad(703) = "1" AndAlso UltimaFluctuacion IsNot Nothing Then If UsuarioActual.Empresa.Funcionalidad(703) = "1" AndAlso UltimaFluctuacion IsNot Nothing Then
If UltimaFluctuacion.FechaFluctuacion <= tFecha Then If UltimaFluctuacion.FechaFluctuacion <= tFecha Then
FechaUltimaFluctuacion = UltimaFluctuacion.FechaFluctuacion FechaUltimaFluctuacion = UltimaFluctuacion.FechaFluctuacion
@@ -20252,6 +20278,8 @@ Partial Class Ventas
If GenerarPrePolizaNueva Then If GenerarPrePolizaNueva Then
Dim AutoConta As Boolean = UsuarioActual.Empresa.Funcionalidad(200) = "1" Dim AutoConta As Boolean = UsuarioActual.Empresa.Funcionalidad(200) = "1"
AutoConta = AutocontaMatriz(AutoConta)
If UsuarioActual.CveEmpresa = 119 AndAlso DdlTipoComprobante.SelectedValue.Contiene("Ant", "Rem", "RNC", "Cot", "Ped", "Pd2", "PA", "Egs", "Dev") Then If UsuarioActual.CveEmpresa = 119 AndAlso DdlTipoComprobante.SelectedValue.Contiene("Ant", "Rem", "RNC", "Cot", "Ped", "Pd2", "PA", "Egs", "Dev") Then
AutoConta = False AutoConta = False
End If End If
@@ -21654,11 +21682,20 @@ Partial Class Ventas
ChkConvertirDolares.Enabled = Not UsuarioActual.TienePermisoProceso(324) ChkConvertirDolares.Enabled = Not UsuarioActual.TienePermisoProceso(324)
Case "2" Case "2"
TxtTipoCambioDlls.Text = "1" TxtTipoCambioDlls.Text = "1"
TxtTipoCambio.Text = GlobalTipoCambio(TxtFecha.Text.ToDate).ToString() If UsuarioActual.CveEmpresa.Contiene(13, 83) Then
TxtTipoCambio.Text = GlobalTipoCambio(TxtFecha.Text.ToDate.AddDays(-1)).ToString()
Else
TxtTipoCambio.Text = GlobalTipoCambio(TxtFecha.Text.ToDate).ToString()
End If
TrConversionTipoCambio.Visible = True TrConversionTipoCambio.Visible = True
ChkConvertirDoctoPesos.Enabled = Not UsuarioActual.TienePermisoProceso(324) ChkConvertirDoctoPesos.Enabled = Not UsuarioActual.TienePermisoProceso(324)
Case Else Case Else
TxtTipoCambio.Text = GlobalTipoCambio(TxtFecha.Text.ToDate).ToString() If UsuarioActual.CveEmpresa.Contiene(13, 83) Then
TxtTipoCambio.Text = GlobalTipoCambio(TxtFecha.Text.ToDate.AddDays(-1)).ToString()
Else
TxtTipoCambio.Text = GlobalTipoCambio(TxtFecha.Text.ToDate).ToString()
End If
TrConversionTipoCambio.Visible = True TrConversionTipoCambio.Visible = True
End Select End Select
@@ -28059,8 +28096,16 @@ Partial Class Ventas
'verifica el tipo de cambio que se actualice 'verifica el tipo de cambio que se actualice
If DdlMoneda.SelectedValue <> "1" Then If DdlMoneda.SelectedValue <> "1" Then
TxtTipoCambio.Text = GlobalTipoCambio(Now).ToString()
If UsuarioActual.CveEmpresa.Contiene(13, 83) Then
TxtTipoCambio.Text = GlobalTipoCambio(Now.AddDays(-1)).ToString()
Else
TxtTipoCambio.Text = GlobalTipoCambio(Now).ToString()
End If
End If End If
Else Else
If DdlTipoComprobante.SelectedValue = "Ant" Then CveAnticipo = CveVenta If DdlTipoComprobante.SelectedValue = "Ant" Then CveAnticipo = CveVenta
@@ -28146,7 +28191,13 @@ Partial Class Ventas
'verifica el tipo de cambio que se actualice 'verifica el tipo de cambio que se actualice
If DdlMoneda.SelectedValue <> "1" Then If DdlMoneda.SelectedValue <> "1" Then
TxtTipoCambio.Text = GlobalTipoCambio(Now).ToString()
If UsuarioActual.CveEmpresa.Contiene(13, 83) Then
TxtTipoCambio.Text = GlobalTipoCambio(Now.AddDays(-1)).ToString()
Else
TxtTipoCambio.Text = GlobalTipoCambio(Now).ToString()
End If
End If End If
LblTCValuacion.Visible = False LblTCValuacion.Visible = False
UpPS.Update() UpPS.Update()
@@ -29254,7 +29305,13 @@ Partial Class Ventas
TipoCambioFactura = 1 TipoCambioFactura = 1
End If End If
TxtTipoCambio.Text = GlobalTipoCambio(Now).ToString()
If UsuarioActual.CveEmpresa.Contiene(13, 83) Then
TxtTipoCambio.Text = GlobalTipoCambio(Now.AddDays(-1)).ToString()
Else
TxtTipoCambio.Text = GlobalTipoCambio(Now).ToString()
End If
DivEstatusFac.Visible = False DivEstatusFac.Visible = False
'REINICIALIZA TABS 'REINICIALIZA TABS
@@ -35139,5 +35196,27 @@ Partial Class Ventas
Alert(sb.ToString(), TipoMensaje.MsgInformacion) Alert(sb.ToString(), TipoMensaje.MsgInformacion)
End Sub End Sub
Private Function AutocontaMatriz(AutoConta As Boolean) As Boolean
Dim Respuesta As Boolean = False
If UsuarioActual.CveEmpresa.Contiene(13, 83) Then
Dim DTSubproyectoActual As DataTable = GlobalDTSubProyectos(-1, DdlSubProyectoDatos.SelectedValue.ToEntero)
If (DTSubproyectoActual.Rows(0)("TipoSucursal").ToString.ToEntero = 1) Then
Respuesta = True
Else
Respuesta = False
End If
Else
Respuesta = AutoConta
End If
Return Respuesta
End Function
End Class End Class

View File

@@ -530,6 +530,8 @@