diff --git a/.vs/SIGGIT/v14/.suo b/.vs/SIGGIT/v14/.suo new file mode 100644 index 000000000..fea5bbe7e Binary files /dev/null and b/.vs/SIGGIT/v14/.suo differ diff --git a/App_Code/ClsContPAQi.vb b/App_Code/ClsContPAQi.vb index e892de2b1..557c15266 100644 --- a/App_Code/ClsContPAQi.vb +++ b/App_Code/ClsContPAQi.vb @@ -2005,7 +2005,7 @@ Public Class ClsContPAQi ''' ''' Public Function AddPoliza(TipoPol As Integer, Concepto As String, Cargos As Double, Abonos As Double, CveUsuario As Integer, FechaPoliza As Date, Optional pFolio As String = "-1", - Optional pTipo As String = "", Optional Guid As String = "-1") As Integer + Optional pTipo As String = "", Optional Guid As String = "-1", Optional CvePlantillaPoliza As Integer = -1) As Integer 'Tipo As String, pFolioPoliza As Integer) As Boolean Dim Retorno As Integer = 0 If Guid = "-1" Then Guid = System.Guid.NewGuid().ToString() @@ -2078,11 +2078,11 @@ Public Class ClsContPAQi StrSQL.AppendLine(" INSERT INTO Polizas (Id, RowVersion, Ejercicio, Periodo, TipoPol, Folio, Clase, Impresa, ") StrSQL.AppendLine(" Concepto, Fecha, Cargos, Abonos, IdDiario, SistOrig, Ajuste, IdUsuario, ") - StrSQL.AppendLine(" ConFlujo, ConCuadre, TimeStamp,Guid)") + StrSQL.AppendLine(" ConFlujo, ConCuadre, TimeStamp,Guid,CvePlantillaPoliza)") StrSQL.AppendLine(" ") StrSQL.AppendLine(" VALUES (@IdPoliza, @RowVersion, @Ejercicio, @Periodo, @TipoPol, @Folio, @Clase, @Impresa, ") StrSQL.AppendLine(" @Concepto, @Fecha, ROUND(@Cargos,2), ROUND(@Abonos,2), @IdDiario, @SistOrig, @Ajuste, @IdUsuario, ") - StrSQL.AppendLine(" @ConFlujo, @ConCuadre, @TimeStamp,@Guid)") + StrSQL.AppendLine(" @ConFlujo, @ConCuadre, @TimeStamp,@Guid,@CvePlantillaPoliza)") StrSQL.AppendLine(" ") StrSQL.AppendLine(" EXEC PA_UpdateId 'Id_Poliza';") StrSQL.AppendLine(" ") @@ -2123,6 +2123,7 @@ Public Class ClsContPAQi .Add("@FechaPoliza", SqlDbType.DateTime).Value = FechaPoliza .Add("@pFolio", SqlDbType.VarChar).Value = pFolio .Add("@Guid", SqlDbType.VarChar).Value = Guid + .Add("@CvePlantillaPoliza", SqlDbType.Int).Value = CvePlantillaPoliza .Add("@IdPoliza", SqlDbType.Int).Direction = ParameterDirection.Output End With @@ -7308,7 +7309,7 @@ Public Class ClsContPAQi Return Retorno End Function - Public Function GetPolizasMasivo(Inicio As Date, Fin As Date, FolioI As Integer, FolioF As Integer, TipoPol As Integer, CveUsuario As Integer, CveSubProyecto As Integer, CveCuenta As Integer) As Boolean + Public Function GetPolizasMasivo(Inicio As Date, Fin As Date, FolioI As Integer, FolioF As Integer, TipoPol As Integer, CveUsuario As Integer, CveSubProyecto As Integer, CveCuenta As Integer, CveGrupoPlantillaPoliza As Integer) As Boolean Dim Retorno As Boolean = False StrSQL.Clear() @@ -7338,6 +7339,12 @@ Public Class ClsContPAQi StrSQL.Append(" AND (@CveSubProyecto = -1 OR ( MP.IdPoliza IN (SELECT IdPoliza FROM @DtSeg)) OR (@CveSubProyecto = -2 AND MP.IdSegNeg = 0) ) ") StrSQL.Append(" AND (@CveUsuario = -1 OR P.IdUsuario = @CveUsuario) ") StrSQL.Append(" AND (@Cvecuenta = -1 OR C.Id = @Cvecuenta) ") + StrSQL.Append(" AND (@CveGrupoPlantillaPoliza = -1 + OR ( @CveGrupoPlantillaPoliza = 1 AND ISNULL(P.CvePlantillaPoliza,0) IN (1,22,43, 53, 60, 69, 74, 58, 59, 58, 59, 61, 62, 70,78, 89,94,95,96, 97,99, + 64,65,68,72,75,79,80,81,82,83,84,90,91,93,40,41,42,48,54,55,14,24,32,34,37) ) + OR ( @CveGrupoPlantillaPoliza = 2 AND ISNULL(P.CvePlantillaPoliza,0) IN (4,7,47,10,12,74) ) + OR ( @CveGrupoPlantillaPoliza = 3 And ISNULL(P.CvePlantillaPoliza,0) IN (2, 3, 5, 8, 9, 13,15,17,19,21, 36,44, 45, 49, 50, 51, 52, 56, 57, 67, 71,73,77,85,86,87,88, 92,98,76,23,38) ) + OR ( @CveGrupoPlantillaPoliza = 4 AND ISNULL(P.CvePlantillaPoliza,0) IN (6, 11,16, 63,46,47,39,100) ) )") StrSQL.Append(" ORDER BY P.Folio, MP.NumMovto ") StrSQL.Append(" END; ") @@ -7353,6 +7360,8 @@ Public Class ClsContPAQi .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto .Add("@cvecuenta", SqlDbType.Int).Value = CveCuenta + .Add("@CveGrupoPlantillaPoliza", SqlDbType.Int).Value = CveGrupoPlantillaPoliza + End With Try SqlAdapter.Fill(Data) diff --git a/App_Code/ClsContabilidad.vb b/App_Code/ClsContabilidad.vb index 2b556565a..c972e54df 100644 --- a/App_Code/ClsContabilidad.vb +++ b/App_Code/ClsContabilidad.vb @@ -1050,7 +1050,7 @@ Public Class ClsContabilidad Dim tIdPoliza As Integer - Dim CveTipoPoliza, FolioFijo As Integer + Dim CveTipoPoliza, FolioFijo, CvePlantillaPoliza As Integer Dim Cargos As Decimal Dim Abonos As Decimal Dim NumPoliza As String = "" @@ -1087,6 +1087,7 @@ Public Class ClsContabilidad FolioFijo = Data.Rows(0)("FolioFijo").ToString.ToEntero TipoPoliza = Data.Rows(0)("TipoPoliza").ToString CodigoNumeroPoliza = Data.Rows(0)("CodigoNumeroPoliza").ToString + CvePlantillaPoliza = Data.Rows(0)("CvePlantillaPoliza").ToString.ToEntero 'FolioFiscal = Data.Rows(0)("FolioFiscal").ToString 'MetodoPagoSAT = Data.Rows(0)("ClaveSAT").ToString @@ -1106,7 +1107,7 @@ Public Class ClsContabilidad ObjConta.RemoveCausacionesIVA(-1, tIdPoliza) ObjConta.RemoveDevolucionesIVA(-1, tIdPoliza) Else - tIdPoliza = ObjConta.AddPoliza(CveTipoPoliza, Concepto, Cargos, Abonos, CveUsuario, Fecha, FolioFijo.ToString, CodigoNumeroPoliza) + tIdPoliza = ObjConta.AddPoliza(CveTipoPoliza, Concepto, Cargos, Abonos, CveUsuario, Fecha, FolioFijo.ToString, CodigoNumeroPoliza, CvePlantillaPoliza:=CvePlantillaPoliza) ContaFolio = ObjConta.Folio.ToString End If diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb index a643b79af..e498feb95 100644 --- a/App_Code/ClsPaginas.vb +++ b/App_Code/ClsPaginas.vb @@ -4124,7 +4124,7 @@ Public Class ClsPaginas PaginaDict.Add("/Nomina/CatSatRegimenContratacion.aspx".ToUpper(), 257) PaginaDict.Add("/Nomina/CatSatTipoIncapacidad.aspx".ToUpper(), 258) PaginaDict.Add("/Nomina/CatSatRiesgoPuesto.aspx".ToUpper(), 259) - PaginaDict.Add("/Nomina/Utilidades.aspx".ToUpper(), 870) + PaginaDict.Add("/Nomina/ReportePTU.aspx".ToUpper(), 870) #End Region 'Ordenes de Servicios #Region "OS" @@ -4351,6 +4351,7 @@ Public Class ClsPaginas PaginaDict.Add("/Sistemas/PermisosPorUsuario.aspx".ToUpper(), 700) PaginaDict.Add("/Sistemas/Cierre.aspx".ToUpper(), 713) PaginaDict.Add("/Sistemas/CatTareasProgramadas.aspx".ToUpper(), -1) + PaginaDict.Add("/Sistemas/ConfiguracionEmpresa.aspx".ToUpper(), 683) #End Region #Region "Ventas" 'VENTAS diff --git a/App_Code/ClsProductosServicios.vb b/App_Code/ClsProductosServicios.vb index c7465b9e7..c94f491b2 100644 --- a/App_Code/ClsProductosServicios.vb +++ b/App_Code/ClsProductosServicios.vb @@ -1796,6 +1796,87 @@ Public Class ClsProductosServicios End Function #End Region +#Region "Porcentaje Marcas de Productos" + Public Function GetPorcentajeMarcas(CveCliente As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_Vta_PorcentajeMarcasGet") + + With SqlAdapter.SelectCommand.Parameters + + .Add("@CveCliente", SqlDbType.Int).Value = CveCliente + + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener los porcentajes de las Marcas.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + + Public Function AddPorcentajeMarcas(CveCliente As Integer, CveMarca As Integer, PorcentajeProducto As Decimal, CveUsuario As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_Vta_PorcentajeMarcasAdd") + + With SqlAdapter.SelectCommand.Parameters + + .Add("@CveCliente", SqlDbType.Int).Value = CveCliente + .Add("@CveMarca", SqlDbType.Int).Value = CveMarca + .Add("@PorcentajeProducto", SqlDbType.SmallMoney).Value = PorcentajeProducto + .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario + + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al agregar el porcentaje de la Marca.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + Public Function UpdatePorcentajeMarcas(CveCliente As Integer, CveMarca As Integer, PorcentajeProducto As Decimal) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_Vta_PorcentajeMarcasUpdate") + + With SqlAdapter.SelectCommand.Parameters + + .Add("@CveCliente", SqlDbType.Int).Value = CveCliente + .Add("@CveMarca", SqlDbType.Int).Value = CveMarca + .Add("@PorcentajeProducto", SqlDbType.SmallMoney).Value = PorcentajeProducto + + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al actualizar el porcentaje de la Marca.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + Public Function RemovePorcentajeMarcas(CveCliente As Integer, CveMarca As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_Vta_PorcentajeMarcasRemove") + + With SqlAdapter.SelectCommand.Parameters + + .Add("@CveCliente", SqlDbType.Int).Value = CveCliente + .Add("@CveMarca", SqlDbType.Int).Value = CveMarca + + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al eliminar el porcentaje de la Marca.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function +#End Region #Region "IDisposable Support" diff --git a/App_Code/ClsRH.vb b/App_Code/ClsRH.vb index c6400cce7..e21b6511f 100644 --- a/App_Code/ClsRH.vb +++ b/App_Code/ClsRH.vb @@ -1984,6 +1984,28 @@ Public Class ClsRH Return Retorno End Function + Public Function UpPersonalAltas(CvePersonal As Integer, fechaInicio As String, fechaFin As String, CvePeriodoFiniquito As Integer, CveMotivoBaja As Integer, esLiquidacion As Boolean) As Boolean + Dim Retorno As Boolean = False + SqlDataAdapter("PA_RH_PersonalAltasUp") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CvePersonal", SqlDbType.Int).Value = CvePersonal + .Add("@fechaInicio", SqlDbType.VarChar).Value = fechaInicio + .Add("@fechaFin", SqlDbType.VarChar).Value = fechaFin + .Add("@CvePeriodoFiniquito", SqlDbType.Int).Value = CvePeriodoFiniquito + .Add("@CveMotivoBaja", SqlDbType.Int).Value = CveMotivoBaja + .Add("@esLiquidacion", SqlDbType.Int).Value = If(esLiquidacion, 1, 0) + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener el reporte de Altas.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + Public Function GetPersonalAltas(CvePersonal As Integer) As Boolean Dim Retorno As Boolean = False SqlDataAdapter("PA_RH_PersonalAltasGet") diff --git a/App_Code/ClsVentas.vb b/App_Code/ClsVentas.vb index 9c625731f..8d5a5a673 100644 --- a/App_Code/ClsVentas.vb +++ b/App_Code/ClsVentas.vb @@ -83,7 +83,7 @@ Public Class ClsVentas SqlConexion.ConnectionString = ConfigurationManager.ConnectionStrings("Conexion").ConnectionString Try SqlConexion.Open() - AddConexion() + ConexionAdd() Catch ex As Exception OnError("Ocurrió un error al intentar conectarse a la base de datos.", ex) End Try @@ -95,8 +95,6 @@ Public Class ClsVentas SqlAdapter = New SqlDataAdapter("", SqlConexion) End Sub - - Private Sub DataAdapter(ByVal pStrSQL As String, Optional ByVal TipoComando As CommandType = CommandType.StoredProcedure) With SqlAdapter.SelectCommand .Parameters.Clear() @@ -107,10 +105,8 @@ Public Class ClsVentas Data = New DataTable End Sub - #Region "Conexiones" - Private Sub ConexionAdd() If ConfigurationManager.AppSettings("RegistraConexion") IsNot Nothing AndAlso ConfigurationManager.AppSettings("RegistraConexion").ToString() = "1" Then @@ -145,7 +141,6 @@ Public Class ClsVentas End If End Sub - #End Region Public Function GetVenta(CveVenta As Integer, CveEmpresa As Integer) As Boolean @@ -3676,6 +3671,23 @@ Public Class ClsVentas Return retorno End Function + Public Function TraspasaVentasAplicadasAnt(CveVentaNueva As Integer, CveVentaAnterior As Integer, CveEmpresa As Integer) As Boolean + Dim retorno As Boolean = False + DataAdapter("PA_Vta_TraspasaVentasAplicadasAnt", CommandType.StoredProcedure) + With SqlAdapter.SelectCommand.Parameters + .Add("@CveVentaNueva", SqlDbType.Int).Value = CveVentaNueva + .Add("@CveVentaAnterior", SqlDbType.Int).Value = CveVentaAnterior + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + End With + Try + SqlAdapter.Fill(Data) + retorno = True + Catch ex As Exception + OnError("Ocurrió un error al traspasar las ventas aplicadas al nuevo anticipo.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + End Try + Return retorno + End Function + #Region " AUTORIZACION DESCUENTOS " Public Function AutorizacionDescuentosGet(CveAutorizacionDescuento As Integer, CveEmpresa As Integer) As Boolean @@ -3925,7 +3937,6 @@ Public Class ClsVentas Protected Overridable Sub Dispose(disposing As Boolean) If Not Me.disposedValue Then If disposing Then - AddConexion() ' TODO: dispose managed state (managed objects). If Not Data Is Nothing Then Data.Dispose() If Not Dataset Is Nothing Then Dataset.Dispose() diff --git a/App_Code/Modelos.vb b/App_Code/Modelos.vb index 954c278f3..f64bb2cfd 100644 --- a/App_Code/Modelos.vb +++ b/App_Code/Modelos.vb @@ -2780,23 +2780,17 @@ Namespace Modelos Next - End If - - If DtRemisionesRelacionadas Is Nothing Then - If ObjVentas.GetRemisionesRelacionadas(ObjFactura.CveVenta, ObjFactura.TipoDocto) AndAlso ObjVentas.DtResultados.Rows.Count > 0 Then - DtRemisionesRelacionadas = ObjVentas.DtResultados.Copy() - End If + End If + + If ObjFactura.RemisionesLista.Count = 0 AndAlso (DtRemisionesRelacionadas IsNot Nothing AndAlso DtRemisionesRelacionadas.Rows.Count > 0) Then + For Each Row As DataRow In DtRemisionesRelacionadas.Rows + ObjFactura.RemisionesLista.Add(Row("CveVenta").ToString().ToEntero()) + Next End If 'Si es Facturacion de una remision cancelamos, traspasamos saldos y agregamos evento a la bitacora If (DtRemisionesRelacionadas IsNot Nothing AndAlso DtRemisionesRelacionadas.Rows.Count > 0) OrElse ObjFactura.RemisionesLista.Count > 0 Then - If ObjFactura.RemisionesLista.Count = 0 AndAlso (DtRemisionesRelacionadas IsNot Nothing AndAlso DtRemisionesRelacionadas.Rows.Count > 0) Then - For Each Row As DataRow In DtRemisionesRelacionadas.Rows - ObjFactura.RemisionesLista.Add(Row("CveVenta").ToString().ToEntero()) - Next - End If - If ObjFactura.RemisionesLista.Count > 0 Then For Each CveRemision As Integer In RemisionesLista If Not ObjConta.TraspasarSaldosRemision(CveRemision, ObjFactura.CvePrePoliza, ObjFactura.CveVenta) Then @@ -2817,25 +2811,30 @@ Namespace Modelos Exit For End If Next - End If - - 'REGRESA SALDO A LAS REMISIONES QUE SE FACTURARON EN EL INGRESO QUE SE ESTA CANCELANDO - If ObjFactura.TipoDocto = "Ing" And ValorMultiplicador = -1 AndAlso NuevaFactura <> 1 AndAlso Not SeCancelaRemisionProceso Then ' se debe de excluir cuando es refacturación - For Each Dr As DataRow In DtRemisionesRelacionadas.Rows - - Dim DebeCancelar As Boolean = CancelarRemisiones AndAlso ListaRemisionesCancelar.Any(Function(CveRemision) CveRemision = Dr("CveVenta").ToString.ToEntero()) - - If Not DebeCancelar Then - If Not ObjConta.TraspasarSaldosRemision(Dr("CveVenta").ToString.ToEntero, ObjFactura.CvePrePoliza, ObjFactura.CveVenta, 1) Then - ErrorPrepoliza = True - End If - If Not ObjEventos.AddEventoBitacora($"Facturación cancelada en: {ObjFactura.Folio}", "-1", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveVenta:=Dr("CveVenta").ToString.ToEntero) Then - ErrorPrepoliza = True - End If - End If - Next End If - + End If + + If DtRemisionesRelacionadas Is Nothing Then + If ObjVentas.GetRemisionesRelacionadas(ObjFactura.CveVenta, ObjFactura.TipoDocto) AndAlso ObjVentas.DtResultados.Rows.Count > 0 Then + DtRemisionesRelacionadas = ObjVentas.DtResultados.Copy() + End If + End If + + 'REGRESA SALDO A LAS REMISIONES QUE SE FACTURARON EN EL INGRESO QUE SE ESTA CANCELANDO + If ObjFactura.TipoDocto = "Ing" And ValorMultiplicador = -1 AndAlso NuevaFactura <> 1 AndAlso Not SeCancelaRemisionProceso AndAlso DtRemisionesRelacionadas IsNot Nothing Then ' se debe de excluir cuando es refacturación + For Each Dr As DataRow In DtRemisionesRelacionadas.Rows + + Dim DebeCancelar As Boolean = CancelarRemisiones AndAlso ListaRemisionesCancelar.Any(Function(CveRemision) CveRemision = Dr("CveVenta").ToString.ToEntero()) + + If Not DebeCancelar Then + If Not ObjConta.TraspasarSaldosRemision(Dr("CveVenta").ToString.ToEntero, ObjFactura.CvePrePoliza, ObjFactura.CveVenta, 1) Then + ErrorPrepoliza = True + End If + If Not ObjEventos.AddEventoBitacora($"Facturación cancelada en: {ObjFactura.Folio}", "-1", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveVenta:=Dr("CveVenta").ToString.ToEntero) Then + ErrorPrepoliza = True + End If + End If + Next End If @@ -3583,6 +3582,13 @@ Namespace Modelos Dim TieneAlmacen As Boolean = False + If ObjFactura.SaldoAlmacen <> 0 Then + Retorno.Mensaje = "El pedido no se puede cancelar ya que tiene movimientos de almacén.
Nota: Primero hay que hacer la devolución al almacén." + Retorno.TipoMensaje = TipoMensaje.MsgAdvertencia + + Return Retorno + End If + 'VALIDA QUE LA FACTURA NO TENGA PAGOS If ObjFactura.TipoDocto.Contiene("Ing", "Rem") AndAlso ObjFactura.Pagado > 0 Then Retorno.Mensaje = "La factura no se puede cancelar debido a que tiene pagos vinculados." @@ -3608,7 +3614,7 @@ Namespace Modelos End If 'LA VALIDACION DE SALDOS CUANDO ES REFACTURACION SE HACE ANTES ASI QUE SI ES REFACTURACION IGNORAMOS ESTA CONDICION, SI ES ANTICIPO VERIFICA QUE NO ESTÉ APLICADO - If ObjFactura.TipoDocto = "Ant" AndAlso ObjFactura.Pagado > 0 AndAlso DTDocumentosRelacionados.Rows.Count > 0 Then + If ObjFactura.TipoDocto.Contiene("Ing", "Ant", "Rem") AndAlso ObjFactura.Pagado > 0 AndAlso DTDocumentosRelacionados.Rows.Count > 0 Then Retorno.Mensaje = "La factura no se puede cancelar debido a que tiene pagos vinculados." Retorno.TipoMensaje = TipoMensaje.MsgAdvertencia @@ -3670,7 +3676,7 @@ Namespace Modelos Dim RevivirRemisiones = Not EsRefacturacion AndAlso ((TieneRemisionesRelacionadas AndAlso ListaRemisionesCancelar Is Nothing) OrElse (DtRemisionesRelacionadas.Rows.Count > ListaRemisionesCancelar.Count)) 'REMISION YA SE DEBE HACER POR EL PROCESO DE DEVOLUCION DE ALMACEN - If Not EsRefacturacion AndAlso (ObjFactura.SaldoAlmacen > 0 AndAlso ObjFactura.EsDevolucionVenta.Contiene(0, 1)) AndAlso Not RealizarDevolucionAlmacen And RevivirRemisiones = False Then + If Not EsRefacturacion AndAlso (ObjFactura.SaldoAlmacen <> 0 AndAlso ObjFactura.EsDevolucionVenta.Contiene(0, 1)) AndAlso Not RealizarDevolucionAlmacen And RevivirRemisiones = False Then Retorno.Mensaje = "La factura no se puede cancelar debido a que tiene movimientos de inventario." Retorno.TipoMensaje = TipoMensaje.MsgAdvertencia @@ -4190,7 +4196,8 @@ Namespace Modelos End If - Dim CveEstatusRefacturacion As Integer = 0 + Dim CveEstatusRefacturacion As Integer = If(ObjFactura.CveEstatusRefacturacion <= 0, 0, ObjFactura.CveEstatusRefacturacion) + 'ACTUALIZA ESTATUS If Not ErrorCancelar Then Select Case ObjFactura.TipoDocto @@ -4208,11 +4215,17 @@ Namespace Modelos End If End If - - If Not ObjVentas.UpdateEstatusFactura(CveEstatus, FolioFiscal, CancelacionAcuse, CancelacionFecha, CveVenta, IDPoliza, CvePAC:=CvePACCancelacion, CveEstatusRefacturacion:=CveEstatusRefacturacion, - CveUsuarioCambiaEstatus:=UsuarioActual.CveUsuario, FechaCambioEstatus:=Now.ToString("yyyy-MM-dd hh:mm:ss.mmm")) Then - ErrorCancelar = True - MensajeError = "Ocurrió un error al guardar el estatus de cancelación." + If CveEstatus.Contiene(4, 5) Then + If Not ObjVentas.UpdateCancelaVenta(CveVenta, CancelacionFecha, CancelacionAcuse, UsuarioActual.CveEmpresa, CvePACCancelacion) Then + ErrorCancelar = True + MensajeError = "Ocurrió un error al guardar el estatus de cancelación." + End If + Else + If Not ObjVentas.UpdateEstatusFactura(CveEstatus, FolioFiscal, CancelacionAcuse, CancelacionFecha, CveVenta, IDPoliza, CvePAC:=CvePACCancelacion, CveEstatusRefacturacion:=CveEstatusRefacturacion, + CveUsuarioCambiaEstatus:=UsuarioActual.CveUsuario, FechaCambioEstatus:=Now.ToString("yyyy-MM-dd hh:mm:ss.mmm")) Then + ErrorCancelar = True + MensajeError = "Ocurrió un error al guardar el estatus de cancelación." + End If End If If CancelarRemisiones Then @@ -4701,8 +4714,8 @@ Namespace Modelos #End Region -#Region "P R O P I E D A D E S" - +#Region "P R O P I E D A D E S" + Public Property CveEstatusRefacturacion As Integer = 0 Public Property NuevaFactura As Integer Public Property EnviarCorreo As Boolean = False Public Property ErrorList As List(Of String) diff --git a/App_Code/Timbrado.vb b/App_Code/Timbrado.vb index ef77aa206..9ccf49d07 100644 --- a/App_Code/Timbrado.vb +++ b/App_Code/Timbrado.vb @@ -634,7 +634,7 @@ Public Class Timbrado 'Retorno = TimbrarFacturaProFact(UsuarioActual, Ventas, TmpDTConceptos, TmpDTImpuestos, TmpDTComplementos, Ruta, LstFordASN, FordGSDBM, ObjV) Case 4 - Dim Ret As String = TimbrarFacturaGoCFDIv33(Ventas, UsuarioActual) + Dim Ret As String = TimbrarFacturaGoCFDIv33(Ventas, UsuarioActual, CvePACEspecial) Retorno = If(Ret = "", True, False) End Select @@ -1571,7 +1571,10 @@ Public Class Timbrado 'GC.Collect() Return Retorno End Function - Public Function TimbrarFacturaGoCFDIv33(Ventas As Modelos.Factura, UsuarioActual As Usuario) As String + Public Function TimbrarFacturaGoCFDIv33(Ventas As Modelos.Factura, UsuarioActual As Usuario, Optional CvePACEspecial As Integer = -1) As String + If CvePACEspecial = -1 Then + CvePACEspecial = UsuarioActual.Empresa.CvePAC + End If Dim sw As New Diagnostics.Stopwatch Dim swmili As Long = 0 Dim swTiempo As New StringBuilder @@ -1581,8 +1584,8 @@ Public Class Timbrado ' 'Sucursal matriz de la empresa Dim ArchivoLLave As String = String.Format("{0}Certificados\{1}", UsuarioActual.Empresa.Ruta, UsuarioActual.Empresa.ArchivoKey) Dim ArchivoCertificado As String = String.Format("{0}Certificados\{1}", UsuarioActual.Empresa.Ruta, UsuarioActual.Empresa.ArchivoCer) - Dim UsuarioServicio As String = If(UsuarioActual.Empresa.CvePAC = 2, UsuarioActual.Empresa.RFC, "rene.molina@adsistemas.mx") - Dim ClaveServicio As String = If(UsuarioActual.Empresa.CvePAC = 2, UsuarioActual.Empresa.RFC.ToLower, "rene2018") + Dim UsuarioServicio As String = If(CvePACEspecial = 2, UsuarioActual.Empresa.RFC, "rene.molina@adsistemas.mx") + Dim ClaveServicio As String = If(CvePACEspecial = 2, UsuarioActual.Empresa.RFC.ToLower, "rene2018") Dim Clave As String = UsuarioActual.Empresa.ContraseñaKey Dim EmisorRFC As String = UsuarioActual.Empresa.RFC Dim UrlServicio As String = "" ' Produccion @@ -1591,8 +1594,7 @@ Public Class Timbrado Dim SubTotal As Decimal = 0 Dim TimbraProduccion As Boolean = True If Not Directory.Exists(RutaArchivo) Then Directory.CreateDirectory(RutaArchivo) - - Select Case UsuarioActual.Empresa.CvePAC + Select Case CvePACEspecial Case 2 UrlServicio = "http://generacfdi.com.mx/rvltimbrado/service1.asmx?WSDL" Case 4 @@ -1606,7 +1608,7 @@ Public Class Timbrado ArchivoCertificado = $"{UsuarioActual.Empresa.Ruta}Certificados\CSD01_AAA010101AAA.cer" Clave = "12345678a" TimbraProduccion = False - Select Case UsuarioActual.Empresa.CvePAC + Select Case CvePACEspecial Case 2 UsuarioServicio = "fgomez" ClaveServicio = "12121212" @@ -2090,7 +2092,7 @@ Public Class Timbrado Using ObjVentas As New ClsVentas() - If ObjVentas.UpdateEstatusFactura(3, FolioFiscal, "", ObjCFDITimbre.Comprobante.Fecha, Ventas.CveVenta, CvePAC:=UsuarioActual.Empresa.CvePAC) Then + If ObjVentas.UpdateEstatusFactura(3, FolioFiscal, "", ObjCFDITimbre.Comprobante.Fecha, Ventas.CveVenta, CvePAC:=CvePACEspecial) Then Retorno = "" Else Retorno = "Error" @@ -2113,7 +2115,7 @@ Public Class Timbrado If ObjCFDITimbre.Comprobante.TipoComprobante = "N" Then Using ObjNomina2 As New ClsNominas() - If ObjNomina2.UpdateEstatusNomNominas(3, UsuarioActual.Empresa.CvePAC, FolioFiscal, "", ("01/01/2000").ToDate, ObjCFDITimbre.Nomina.CveNomina, 0, 0, 0, 0, 0) Then + If ObjNomina2.UpdateEstatusNomNominas(3, CvePACEspecial, FolioFiscal, "", ("01/01/2000").ToDate, ObjCFDITimbre.Nomina.CveNomina, 0, 0, 0, 0, 0) Then Retorno = "" Else Retorno = "Error" @@ -2159,7 +2161,7 @@ Public Class Timbrado End If #End Region - GuardaLogTimbrado(swTiempo.ToString, UsuarioActual.Empresa.CvePAC) + GuardaLogTimbrado(swTiempo.ToString, CvePACEspecial) Return Retorno End Function Public Sub GuardaLogTimbrado(Str As String, CvePAC As Integer) diff --git a/Bancos/CuentasBancariasDetalle.aspx.vb b/Bancos/CuentasBancariasDetalle.aspx.vb index aa6c11579..e4404f849 100644 --- a/Bancos/CuentasBancariasDetalle.aspx.vb +++ b/Bancos/CuentasBancariasDetalle.aspx.vb @@ -33,7 +33,8 @@ Partial Class Bancos_CuentasBancariasDetalle CargarMoneda() ViewState("DTUsuarios") = Nothing - DdlUsuarios.DataSource = GlobalDTUsuarios(CveEmpresa:=UsuarioActual.CveEmpresa).FiltraParametros("", "Nombre") + Dim tablaUsuariosAux As DataTable = GlobalDTUsuarios(CveEmpresa:=UsuarioActual.CveEmpresa).FiltraParametros("", "Nombre", DistinctColumns:={"CveUsuario", "Nombre", "Usuario"}) + DdlUsuarios.DataSource = CargarDdlUsuarios(tablaUsuariosAux) DdlUsuarios.DataBind() If Request("CveCuenta") IsNot Nothing AndAlso IsNumeric(Request("CveCuenta")) AndAlso Request("CveCuenta").ToEntero > 0 Then @@ -678,6 +679,27 @@ Partial Class Bancos_CuentasBancariasDetalle End If End Sub + Private Function CargarDdlUsuarios(UsuariosGlobal As DataTable) As DataTable + Dim tablaUsuariosFormateada As DataTable = New DataTable("Usuarios") + + Dim columnaNombre As DataColumn = New DataColumn("Nombre") + columnaNombre.DataType = System.Type.GetType("System.String") + Dim columnaCveUsuario As DataColumn = New DataColumn("CveUsuario") + columnaCveUsuario.DataType = System.Type.GetType("System.String") + + tablaUsuariosFormateada.Columns.Add(columnaNombre) + tablaUsuariosFormateada.Columns.Add(columnaCveUsuario) + + For Each eachRegistro As DataRow In UsuariosGlobal.Rows + Dim renglonAux As DataRow = tablaUsuariosFormateada.NewRow() + + renglonAux.Item("Nombre") = $"{eachRegistro.Item("Nombre")}({eachRegistro.Item("Usuario")})" + renglonAux.Item("CveUsuario") = eachRegistro.Item("CveUsuario") + + tablaUsuariosFormateada.Rows.Add(renglonAux) + Next + Return tablaUsuariosFormateada + End Function #End Region End Class diff --git a/Bancos/IE.aspx.vb b/Bancos/IE.aspx.vb index 57d76e13f..014263330 100644 --- a/Bancos/IE.aspx.vb +++ b/Bancos/IE.aspx.vb @@ -3939,7 +3939,7 @@ Partial Class Bancos_IE End If Else - Alert("Se presento un error al cancelar el complemento.") + Alert("Se presento un error al cancelar el complemento.", TipoMensaje.MsgAdvertencia) End If Else ErrorCancelarComplemento = False diff --git a/Bancos/ProveedoresAbonar.aspx b/Bancos/ProveedoresAbonar.aspx index dec829379..29c9eeb36 100644 --- a/Bancos/ProveedoresAbonar.aspx +++ b/Bancos/ProveedoresAbonar.aspx @@ -199,7 +199,7 @@ -
+
diff --git a/Bancos/ProveedoresAbonar.aspx.vb b/Bancos/ProveedoresAbonar.aspx.vb index 1f8d4b125..31c39936b 100644 --- a/Bancos/ProveedoresAbonar.aspx.vb +++ b/Bancos/ProveedoresAbonar.aspx.vb @@ -310,9 +310,6 @@ Partial Class Bancos_ProveedoresAbonar ViewState("CveCuentaRetISR") = 0 End If - 'If UsuarioActual.CveEmpresa.Contiene(1, 4, 5, 7, 11, 12, 72, 80, 126, 119, 122,145) Then - ' rowComisiones.Visible = True - 'End If IdCuenta = 0 CveCuentaB = 0 diff --git a/Bin/APP_Code_CSharp.dll b/Bin/APP_Code_CSharp.dll index 1eeb8c17e..7e7523cc5 100644 Binary files a/Bin/APP_Code_CSharp.dll and b/Bin/APP_Code_CSharp.dll differ diff --git a/Bin/APP_Code_CSharp.pdb b/Bin/APP_Code_CSharp.pdb index dd15603d0..9f610333e 100644 Binary files a/Bin/APP_Code_CSharp.pdb and b/Bin/APP_Code_CSharp.pdb differ diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index fb1ed92d5..01188dd7f 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -6207,7 +6207,6 @@ Partial Class Compras_Compras Concepto = $"{NombreProveedor} {TxtSerie.Text} - {TxtFolio.Text}" - If importeMovimiento <> 0 Then 'Conta ContPAQ If IdCtaContable = 0 Then CuentasContablesInvalidas.Append("
" & GlobalDTContaConceptosContables(-1).FiltroPrimero(String.Format("CveConceptoContable = {0}", 68))("ConceptoContable").ToString) @@ -6224,9 +6223,8 @@ Partial Class Compras_Compras End If - End If - Dim ContienePSNeteoBonif As Boolean = False + Dim ContienePSNeteoBonif As Boolean = False For Each Dr As DataRow In TmpDT.Rows If Dr("CveClasificacion").ToString.ToEntero.Contiene(20319) Then 'clasificación de Bonificación, no se incluirá en el neteo ContienePSNeteoBonif = True @@ -14522,7 +14520,7 @@ Partial Class Compras_Compras End If End If - If (HdnIEPSModificadoOC.Value.ToDecimal <> LbIEPSOC2.Text.ToDecimal) Then + If Math.Abs(HdnIEPSModificadoOC.Value.ToDecimal - LbIEPSOC2.Text.ToDecimal) > 0.05 Then Alert($"Hay una diferencia de IEPS entre la factura y la OC. Dif: {HdnIEPSModificadoOC.Value.ToDecimal - LbIEPSOC2.Text.ToDecimal}", TipoMensaje.MsgAdvertencia) Exit Sub End If diff --git a/Contabilidad/PolizasImpresion.aspx b/Contabilidad/PolizasImpresion.aspx index d41f0984d..e2a9da75d 100644 --- a/Contabilidad/PolizasImpresion.aspx +++ b/Contabilidad/PolizasImpresion.aspx @@ -84,6 +84,16 @@
+ +
+ + + + + + + +
diff --git a/Contabilidad/PolizasImpresion.aspx.vb b/Contabilidad/PolizasImpresion.aspx.vb index 071311406..03f594d38 100644 --- a/Contabilidad/PolizasImpresion.aspx.vb +++ b/Contabilidad/PolizasImpresion.aspx.vb @@ -40,7 +40,7 @@ Partial Class Contabilidad_PolizasImpresion Dim objcont As New ClsContPAQi(UsuarioActual.Empresa) - If objcont.GetPolizasMasivo(TxtFechaInicio.Text.ToDate, TxtFechaFin.Text.ToDate, foli, folf, ddlTipoPoliza.SelectedValue.ToEntero, DdlUsuarioRegistro.SelectedValue.ToEntero, DdlSegmentoNeg.SelectedValue.ToEntero, DdlCuenta.SelectedValue.ToEntero) Then + If objcont.GetPolizasMasivo(TxtFechaInicio.Text.ToDate, TxtFechaFin.Text.ToDate, foli, folf, ddlTipoPoliza.SelectedValue.ToEntero, DdlUsuarioRegistro.SelectedValue.ToEntero, DdlSegmentoNeg.SelectedValue.ToEntero, DdlCuenta.SelectedValue.ToEntero, DdlGrupoPlantilla.SelectedValue.ToEntero) Then If objcont.DtResultados.Rows.Count < 10000 Then If objcont.DtResultados.Rows.Count > 0 Then diff --git a/Inventarios/EntradasSalidas.aspx.vb b/Inventarios/EntradasSalidas.aspx.vb index f2a7e7405..06016b375 100644 --- a/Inventarios/EntradasSalidas.aspx.vb +++ b/Inventarios/EntradasSalidas.aspx.vb @@ -1058,7 +1058,7 @@ Partial Class Inventarios_EntradasSalidas ObjConta.IniciaTransacSQL() End If - If ObjGral.AddHistorialBitacora(Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, "", "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 1, TxtDescripcion.Text, "Inventarios", TxtFolio.Text + " / " + DdlConcepto.SelectedItem.Text) Then + If Not ObjGral.AddHistorialBitacora(Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, "", "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 1, TxtDescripcion.Text, "Inventarios", TxtFolio.Text + " / " + DdlConcepto.SelectedItem.Text) Then TieneError = True End If diff --git a/Inventarios/KardexAlmacenHorizontal.aspx.vb b/Inventarios/KardexAlmacenHorizontal.aspx.vb index 829a76939..289615efa 100644 --- a/Inventarios/KardexAlmacenHorizontal.aspx.vb +++ b/Inventarios/KardexAlmacenHorizontal.aspx.vb @@ -152,10 +152,14 @@ Partial Class Inventarios_KardexAlmacen dt = Nothing Return dt Exit Function - End If - End If - - ObjMovimientos.Dispose() + End If + Else + ObjMovimientos.Dispose() + Alert("Ocurrió un error al consultar el Kardex.", TipoMensaje.MsgError) + Exit Function + End If + + GvDatos.DataBind() For index = 3 To GvDatos.Rows(0).Cells.Count - 1 diff --git a/Inventarios/RecepcionAlmacen.aspx.vb b/Inventarios/RecepcionAlmacen.aspx.vb index 82bc8cde7..ed0f11905 100644 --- a/Inventarios/RecepcionAlmacen.aspx.vb +++ b/Inventarios/RecepcionAlmacen.aspx.vb @@ -2346,16 +2346,18 @@ Partial Class Inventarios_RecepcionAlmacen End If 'CONTABILIZAR - UNIFICAR Y SIMPLIFICAR CON PP DE LA COMPRA - If Not ErrorMovInv And CvePrePolizaCompra > 0 Then + If Not ErrorMovInv Then - If UsuarioActual.Empresa.Funcionalidad(219) = "1" Then - If Not ObjConta.PrePolizaUnificacion(CvePrePolizaCompra, CvePrePoliza) Then - ErrorMovInv = True - MensajeError = "Error al unificar los conceptos contables" + If CvePrePolizaCompra > 0 Then + If UsuarioActual.Empresa.Funcionalidad(219) = "1" Then + If Not ObjConta.PrePolizaUnificacion(CvePrePoliza, CvePrePolizaCompra) Then + ErrorMovInv = True + MensajeError = "Error al unificar los conceptos contables" + End If End If End If - If UsuarioActual.Empresa.Funcionalidad(220) <> "" Or UsuarioActual.CveEmpresa = 119 Then + If UsuarioActual.Empresa.Funcionalidad(220) <> "" Then If Not ObjConta.PrePolizaSimplificacion(CvePrePoliza, UsuarioActual.CveEmpresa) Then ErrorMovInv = True MensajeError = "Error al simplificar los conceptos contables" @@ -2458,17 +2460,20 @@ Partial Class Inventarios_RecepcionAlmacen End If 'CONTABILIZAR - UNIFICAR Y SIMPLIFICAR CON PP DE LA COMPRA - If Not ErrorMovInv And CvePrePolizaCompra > 0 Then + If Not ErrorMovInv Then - If UsuarioActual.Empresa.Funcionalidad(219) = "1" Or UsuarioActual.CveEmpresa = 119 Then - If Not ObjConta.PrePolizaUnificacion(CvePrePolizaCompra, CvePrePoliza) Then - ErrorMovInv = True - MensajeError = "Error al unificar los conceptos contables" + If CvePrePolizaCompra > 0 Then + If UsuarioActual.Empresa.Funcionalidad(219) = "1" Then + If Not ObjConta.PrePolizaUnificacion(CvePrePoliza, CvePrePolizaCompra) Then + ErrorMovInv = True + MensajeError = "Error al unificar los conceptos contables" + End If End If End If - If UsuarioActual.Empresa.Funcionalidad(220) <> "" Or UsuarioActual.CveEmpresa = 119 Then - If Not ObjConta.PrePolizaSimplificacion(CvePrePolizaCompra, UsuarioActual.CveEmpresa) Then + + If UsuarioActual.Empresa.Funcionalidad(220) <> "" Then + If Not ObjConta.PrePolizaSimplificacion(CvePrePoliza, UsuarioActual.CveEmpresa) Then ErrorMovInv = True MensajeError = "Error al simplificar los conceptos contables" End If @@ -2743,6 +2748,17 @@ Partial Class Inventarios_RecepcionAlmacen End If End If + If UsuarioActual.Empresa.Funcionalidad(200) = "1" Then + ObjContaAC = New ClsContPAQi(UsuarioActual.Empresa) + ObjContaAC.IniciaTransacSQL() + If ObjConta.ContabilizarPrePoliza(CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.Empresa, ObjConta:=ObjContaAC) Then + MensajeError = $"
Movimiento contabilizado en el folio: {ObjConta.ContaFolio}
" + Else + ErrorMovInv = True + MensajeError = "Error al contabilizar los conceptos contables" + End If + End If + 'FINAL If Not ErrorMovInv Then diff --git a/LogMail.txt b/LogMail.txt new file mode 100644 index 000000000..def4d02c0 --- /dev/null +++ b/LogMail.txt @@ -0,0 +1 @@ + 28/08/2019:04:44 p. m. No se especifico a remitente - SIG - Se Genero una Recepción de Usados con el folio: 79 28/08/2019:05:48 p. m. No se especifico a remitente - SIG - Se Genero una Recepción de Usados con el folio: 80 \ No newline at end of file diff --git a/LogTimbrado.txt b/LogTimbrado.txt new file mode 100644 index 000000000..670c753f4 --- /dev/null +++ b/LogTimbrado.txt @@ -0,0 +1,4 @@ + + .. PAC: 4 - Verificado : (5) 5 Certificado : (501) 506 Armado: (25) 531 Genera: (494) 1025 Timbrado: (748) 1773 ..20/08/2019:03:33 p. m. + + .. PAC: 4 - Verificado : (2) 2 Certificado : (388) 390 Armado: (4) 394 Genera: (440) 834 Timbrado: (1030) 1864 Guardado: (361) 2225 Actualizado: (99) 2324 ..20/08/2019:03:39 p. m. diff --git a/Nomina/Finiquito.aspx b/Nomina/Finiquito.aspx index 599e4f46c..44af81510 100644 --- a/Nomina/Finiquito.aspx +++ b/Nomina/Finiquito.aspx @@ -188,6 +188,10 @@
+
+ + +
+
+ ¿es Liquidación? + +
@@ -285,6 +293,22 @@ <%--" PercepcionesDeducciones "--%> + + diff --git a/Sistemas/ConfiguracionEmpresa.aspx.vb b/Sistemas/ConfiguracionEmpresa.aspx.vb new file mode 100644 index 000000000..2089a9192 --- /dev/null +++ b/Sistemas/ConfiguracionEmpresa.aspx.vb @@ -0,0 +1,23 @@ +Option Explicit On +Option Strict On + +Imports System.Data +Imports Extensiones +Imports System.Runtime.InteropServices +Imports System.IO + +Partial Class Sistemas_ConfiguracionEmpresa + Inherits ClsPaginas + +#Region " PROPIEDADES " + +#End Region + + + Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load + If Not IsPostBack Then + + + End If + End Sub +End Class diff --git a/Ventas/Clientes.aspx b/Ventas/Clientes.aspx index 9166908c9..371c4b76a 100644 --- a/Ventas/Clientes.aspx +++ b/Ventas/Clientes.aspx @@ -255,10 +255,18 @@ + + +
  • + +
  • +
    +
    +
  • - +
  • @@ -5464,13 +5472,13 @@
    <%-- END MODAL UNIFICAR EMPRESA CRM --%> - <%-- MODAL MODIFICAR PORCENTAJE PRECIOS --%> - + + + +
    +
    + + <%-- FIN MODAL MODIFICAR PORCENTAJE MARCAS --%> + + <%-- MODAL MODIFICAR PRECIOS PS --%> +