diff --git a/App_Code/ClsOP.vb b/App_Code/ClsOP.vb new file mode 100644 index 000000000..87bcf4845 --- /dev/null +++ b/App_Code/ClsOP.vb @@ -0,0 +1,384 @@ +Imports Extensiones +Imports System.Data +Imports System.Data.SqlClient +Imports Microsoft.VisualBasic + +Public Class ClsOP + Implements IDisposable + +#Region "Campos" + 'SQL + Private SqlConexion As SqlConnection + Private SqlAdapter As SqlDataAdapter + Private SqlCommand As SqlCommand + Private SqlTransacc As SqlTransaction + Private Data As DataTable + Protected DTSet As DataSet + + Private disposedValue As Boolean = False ' Para detectar llamadas redundantes + 'REGISTRAR CONEXIÓN + Private CveConexion As Integer = 0 + Private EsTransaccionCompartida As Boolean = False + + Public ReadOnly Property DtResultados() As DataTable + Get + DtResultados = Data + End Get + End Property + Public ReadOnly Property DTSetResultados() As DataSet + Get + Return DTSet + End Get + End Property +#End Region + + Sub New(Optional TransaccionCompartida As SqlTransaction = Nothing) + + If TransaccionCompartida Is Nothing Then + SqlConexion = New SqlConnection + SqlConexion.ConnectionString = ClsPaginas.UsuarioActualRutaDB + Try + SqlConexion.Open() + Catch ex As Exception + OnError("Ocurrió un error al intentar conectarse a la base de datos.", ex) + End Try + Else + SqlConexion = TransaccionCompartida.Connection + SqlTransacc = TransaccionCompartida + EsTransaccionCompartida = True + End If + + SqlAdapter = New SqlDataAdapter("", SqlConexion) + ConexionAdd() + End Sub + Private Sub DataAdapter(StrSQL As String, Optional TipoComando As CommandType = CommandType.StoredProcedure) + With SqlAdapter.SelectCommand + .Parameters.Clear() + .CommandText = StrSQL + .CommandType = TipoComando + End With + If Not SqlTransacc Is Nothing Then SqlAdapter.SelectCommand.Transaction = SqlTransacc + Data = New DataTable + End Sub +#Region "Conexiones" + + Private Sub ConexionAdd() + If Not EsTransaccionCompartida AndAlso ConfigurationManager.AppSettings("RegistraConexion") IsNot Nothing AndAlso ConfigurationManager.AppSettings("RegistraConexion").ToString() = "1" Then + Try + DataAdapter("PA_Sis_RegistrarConexion") + With SqlAdapter.SelectCommand.Parameters + .Add("@Clase", SqlDbType.VarChar).Value = Me.GetType().Name + .Add("@Modulo", SqlDbType.VarChar).Value = String.Format("{0}?{1}", HttpContext.Current.Request.Url.AbsolutePath.ToString, HttpContext.Current.Request.QueryString.ToString) + .Add("@IDConexion", SqlDbType.Int).Direction = ParameterDirection.Output + End With + SqlAdapter.Fill(Data) + CveConexion = SqlAdapter.SelectCommand.Parameters("@IDConexion").Value.ToString.ToEntero + Catch ex As Exception + OnError("Ocurrió un error registrar la conexión.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + End Try + + End If + End Sub + + Private Sub ConexionClose() + If CveConexion > 0 AndAlso ConfigurationManager.AppSettings("RegistraConexion") IsNot Nothing AndAlso ConfigurationManager.AppSettings("RegistraConexion").ToString() = "1" Then + + DataAdapter(String.Format("UPDATE Sis_Conexiones SET FechaCierre = GETDATE() WHERE CveConexion = {0}", CveConexion), CommandType.Text) + + Try + SqlAdapter.Fill(Data) + + Catch ex As Exception + OnError("Ocurrió un error registrar la conexión.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + End Try + CveConexion = 0 + End If + + End Sub +#End Region + Public Function IniciaTransacSQL() As SqlTransaction + If SqlTransacc Is Nothing Then SqlTransacc = SqlConexion.BeginTransaction() + Return SqlTransacc + End Function + Public Sub RollBack() + SqlTransacc.Rollback() + End Sub + Public Sub Commit() + SqlTransacc.Commit() + End Sub + +#Region "CONFIGURACION PRODUCTOS" + + + Public Function GetProductosOP(CveOP As Integer, CveEmpresa As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_OP_ProductosGET") + With SqlAdapter.SelectCommand.Parameters + .Add("@CveOP", SqlDbType.Int).Value = CveOP + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener los productos.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + Return Retorno + End Function + + Public Function GetCIReceta(CvePS As Integer, CveUM As Integer, CveEmpresa As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_OP_CostoIndirectoRecetaGet") + With SqlAdapter.SelectCommand.Parameters + .Add("@CvePS", SqlDbType.Int).Value = CvePS + .Add("@CveUM", SqlDbType.Int).Value = CveUM + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener la receta de ci del producto.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + Return Retorno + End Function + + Public Function AddCI(Cantidad As Decimal, CvePS As Integer, CvePSMateriaPrima As Integer, CveUM As Integer, CveUMMateriaPrima As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_OP_CIAdd") + With SqlAdapter.SelectCommand.Parameters + .Add("@Cantidad", SqlDbType.SmallMoney).Value = Cantidad + .Add("@CvePS", SqlDbType.Int).Value = CvePS + .Add("@CvePSMateriaPrima", SqlDbType.Int).Value = CvePSMateriaPrima + .Add("@CveUM", SqlDbType.Int).Value = CveUM + .Add("@CveUMMateriaPrima", SqlDbType.Int).Value = CveUMMateriaPrima + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al agregar el costo indirecto.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + + Public Function RemoveCI(CveOPPS As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_OP_CIRemove") + With SqlAdapter.SelectCommand.Parameters + .Add("@CveOPPS", SqlDbType.Int).Value = CveOPPS + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al eliminar el costo indirecto.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + + Public Function GetMOReceta(CvePS As Integer, CveUM As Integer, CveEmpresa As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_OP_ManodeObraRecetaGet") + With SqlAdapter.SelectCommand.Parameters + .Add("@CvePS", SqlDbType.Int).Value = CvePS + .Add("@CveUM", SqlDbType.Int).Value = CveUM + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener la receta de mo del producto.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + Return Retorno + End Function + + Public Function AddMO(Cantidad As Decimal, CvePS As Integer, CvePuesto As Integer, CveUM As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_OP_MOAdd") + With SqlAdapter.SelectCommand.Parameters + .Add("@Cantidad", SqlDbType.SmallMoney).Value = Cantidad + .Add("@CvePS", SqlDbType.Int).Value = CvePS + .Add("@CvePuesto", SqlDbType.Int).Value = CvePuesto + .Add("@CveUM", SqlDbType.Int).Value = CveUM + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al agregar la mano de obra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + + Public Function RemoveMO(CveOPManoObra As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_OP_MORemove") + With SqlAdapter.SelectCommand.Parameters + .Add("@CveOPManoObra", SqlDbType.Int).Value = CveOPManoObra + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al eliminar la mano de obra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + + Public Function GetMPReceta(CvePS As Integer, CveUM As Integer, CveEmpresa As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_OP_MateriaPrimaRecetaGet") + With SqlAdapter.SelectCommand.Parameters + .Add("@CvePS", SqlDbType.Int).Value = CvePS + .Add("@CveUM", SqlDbType.Int).Value = CveUM + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener la receta de mp del producto.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + Return Retorno + End Function + + Public Function AddMP(Cantidad As Decimal, CvePS As Integer, CvePSMateriaPrima As Integer, CveUM As Integer, CveUMMateriaPrima As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_OP_MPAdd") + With SqlAdapter.SelectCommand.Parameters + .Add("@Cantidad", SqlDbType.SmallMoney).Value = Cantidad + .Add("@CvePS", SqlDbType.Int).Value = CvePS + .Add("@CvePSMateriaPrima", SqlDbType.Int).Value = CvePSMateriaPrima + .Add("@CveUM", SqlDbType.Int).Value = CveUM + .Add("@CveUMMateriaPrima", SqlDbType.Int).Value = CveUMMateriaPrima + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al agregar la materia prima.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + + Public Function RemoveMP(CveOPPS As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_OP_MPRemove") + With SqlAdapter.SelectCommand.Parameters + .Add("@CveOPPS", SqlDbType.Int).Value = CveOPPS + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al eliminar la materia prima.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + + Public Function GetConfiguracionProducto(CvePS As Integer, CveEmpresa As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_OP_ConfiguracionProductoGet") + With SqlAdapter.SelectCommand.Parameters + .Add("@CvePS", SqlDbType.Int).Value = CvePS + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener los productos.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + Return Retorno + End Function + + Public Function AddUpManodeObraReceta(CvePS As Integer, CveUM As Integer, CveEmpresa As Integer, xmlpuestos As String) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_OP_ManodeObraRecetaUp") + With SqlAdapter.SelectCommand.Parameters + .Add("@CvePS", SqlDbType.Int).Value = CvePS + .Add("@CveUM", SqlDbType.Int).Value = CveUM + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + .Add("@xmlpuestos", SqlDbType.Xml).Value = xmlpuestos + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al agregar la mano de obra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + Return Retorno + End Function + + Public Function AddUpMateriaPrimaReceta(CvePS As Integer, CveUM As Integer, CveEmpresa As Integer, xmlproductos As String) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_OP_MateriaPrimaRecetaUp") + With SqlAdapter.SelectCommand.Parameters + .Add("@CvePS", SqlDbType.Int).Value = CvePS + .Add("@CveUM", SqlDbType.Int).Value = CveUM + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + .Add("@xmlproductos", SqlDbType.Xml).Value = xmlproductos + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al agregar la materia prima.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + Return Retorno + End Function + + Public Function AddUpCostoIndirectoReceta(CvePS As Integer, CveUM As Integer, CveEmpresa As Integer, xmlproductos As String) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_OP_CostoIndirectoRecetaUp") + With SqlAdapter.SelectCommand.Parameters + .Add("@CvePS", SqlDbType.Int).Value = CvePS + .Add("@CveUM", SqlDbType.Int).Value = CveUM + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + .Add("@xmlproductos", SqlDbType.Xml).Value = xmlproductos + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al agregar el costo indirecto.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + Return Retorno + End Function + + +#End Region + +#Region "IDisposable Support" + ' IDisposable + Protected Overridable Sub Dispose(disposing As Boolean) + If Not Me.disposedValue Then + If disposing Then + + If Not Data Is Nothing Then Data.Dispose() : Data = Nothing + If Not SqlAdapter Is Nothing Then SqlAdapter.Dispose() : SqlAdapter = Nothing + If Not SqlCommand Is Nothing Then SqlCommand.Dispose() : SqlCommand = Nothing + If Not SqlTransacc Is Nothing Then SqlTransacc.Dispose() : SqlTransacc = Nothing + If SqlConexion.State <> ConnectionState.Closed Then SqlConexion.Close() + If Not SqlConexion Is Nothing Then SqlConexion.Dispose() : SqlConexion = Nothing + + End If + End If + Me.disposedValue = True + End Sub + Public Sub Dispose() Implements IDisposable.Dispose + ConexionClose() + Dispose(True) + GC.SuppressFinalize(Me) + End Sub +#End Region + +End Class diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb index 01b118501..1b63b1a6f 100644 --- a/App_Code/ClsPaginas.vb +++ b/App_Code/ClsPaginas.vb @@ -11096,6 +11096,10 @@ Public Class ClsPaginas PaginaDict.Add("/Transportes/CatRutas.aspx".ToUpper(), 604) PaginaDict.Add("/Transportes/RepViajesCalendario.aspx".ToUpper(), 605) #End Region + +#Region "Ordenes de Produccion" + PaginaDict.Add("/OP/CatConfiguracionProducto.aspx".ToUpper(), 790) +#End Region 'Antes de aquí. Application("GlobalSIGAppPaginas") = PaginaDict diff --git a/App_Code/ClsPuntoVenta.vb b/App_Code/ClsPuntoVenta.vb index 729fc7426..a0d04f707 100644 --- a/App_Code/ClsPuntoVenta.vb +++ b/App_Code/ClsPuntoVenta.vb @@ -400,11 +400,31 @@ Public Class ClsPuntoVenta End Try Return Retorno - End Function + End Function + + Public Function GetVta_EstadoCajas(CveCuenta As Integer, CveEmpresa As Integer, FechaInicio As Date, FechaFin As Date) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_Vta_VentasEstadoCajasGet") + + SqlAdapter.SelectCommand.Parameters.Add("@CveCuenta", SqlDbType.Int).Value = CveCuenta + SqlAdapter.SelectCommand.Parameters.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + SqlAdapter.SelectCommand.Parameters.Add("@FechaInicio", SqlDbType.Date).Value = FechaInicio + SqlAdapter.SelectCommand.Parameters.Add("@FechaFin", SqlDbType.Date).Value = FechaFin + + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener los Cortes del Punto de Venta.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + End Try + + Return Retorno + End Function + #Region "IDisposable Support" - - - ' IDisposable + + + ' IDisposable Protected Overridable Sub Dispose(disposing As Boolean) If Not Me.disposedValue Then If disposing Then diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index 6b0e594dc..13cfbd3eb 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -1679,6 +1679,14 @@ Partial Class Compras_Compras InicializaDTProrrateoGasolina() End If + + If UsuarioActual.Empresa.Funcionalidad(382) = "1" Then + If Request("SaldarRNC") IsNot Nothing AndAlso Request("SaldarRNC").ToString.ToEntero = 1 Then + SaldaConRNC() + End If + + End If + End If 'SE OCUPAN AFUERA DEL POSTBACK ?? @@ -1711,6 +1719,79 @@ Partial Class Compras_Compras End Sub + + Private Sub SaldaConRNC() + + If CompraSaldo > 0 Then + ImporteRNC = CompraSaldo.ToDecimal + Dim ErrorSaldoRNC As Boolean = False + Dim ObjCompras As New ClsCompras + Dim ObjConta As New ClsContabilidad(ObjCompras.IniciaTransacSQL) + ObjCompras.IniciaTransacSQL() + ObjCompras.IniciaTransacSQL() + + If UsuarioActual.Empresa.Funcionalidad(574) = "1" AndAlso (ImporteRNC > 0 Or ImporteRNCProntoPago > 0) Then + + + Dim PorcentajeIVA As Decimal = TmpDT.MAX("IVAPorcentaje").ToDecimal + + Dim CompraSaldar As New Compra + CompraSaldar.CveCompra = CveCompra + CompraSaldar.CveTipoConceptoProveedor = CveTipoConcepto + CompraSaldar.CveProveedor = CveProveedor + CompraSaldar.CveMoneda = DdlMoneda.SelectedValue.ToEntero + CompraSaldar.Fecha = TxtFecha.Text.ToDate + CompraSaldar.SerieFolio = TxtSerie.Text.Trim & "-" & TxtFolio.Text.Trim + CompraSaldar.ProveedorNombre = HplProveedor.Text + CompraSaldar.TC = TipoCambio + CompraSaldar.Total = TxtTotal.Text.ToDecimal + CompraSaldar.IVA = TxtIVA.Text.ToDecimal + CompraSaldar.IVADeducible = TxtIVA.Text.ToDecimal + CompraSaldar.IEPS = TxtIEPS.Text.ToDecimal + CompraSaldar.RetIVA = TxtRetIVA.Text.ToDecimal + CompraSaldar.RetISR = TxtRetISR.Text.ToDecimal + CompraSaldar.CveConceptoRetISR = DdlRetISRConcepto.SelectedValue.ToEntero + CompraSaldar.CveConceptoRetIVA = DdlRetIVAConcepto.SelectedValue.ToEntero + CompraSaldar.PorcentajeIVA = PorcentajeIVA + CompraSaldar.UsuarioActual = UsuarioActual + CompraSaldar.CveSubProyecto = TmpDT.FiltroPrimeroValor("CveSubProyecto", " CveSubProyecto > 0").ToEntero + CompraSaldar.EsImportacion = chkImportacion.Checked + + Dim FolioFijo As Integer = 0 + 'cheque + If DdlTipoTransaccion.SelectedValue = "1" AndAlso UsuarioActual.CveEmpresa <> 119 Then FolioFijo = TxtFolio.Text.ToEntero + Dim ConceptoPoliza As String = String.Format("{0} - {1}{2} - {3}", NombreProveedor, TxtSerie.Text, TxtFolio.Text, TxtDescripcion.Text.Trim) + + Dim CvePrePolizaSaldar = ObjConta.AddPrePolizas("Compras/SaldarRNC", 53, ImporteRNC.RoundSQL(2), ImporteRNC.RoundSQL(2), DdlMoneda.SelectedValue.ToEntero, TxtFecha.Text.ToDate, ConceptoPoliza, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, FolioFijo:=FolioFijo, ReglaFolioPoliza:=ObjCompras.ObtenerReglaFolio(DdlTipoTransaccion.SelectedValue, DdlTipoTransaccionCaja.SelectedValue, UsuarioActual.CveEmpresa), CveTipoPoliza:=ObjConta.ObtenerTipoPoliza(DdlTipoTransaccion.SelectedValue, DdlTipoTransaccionCaja.SelectedValue, UsuarioActual.CveEmpresa)) + + If CvePrePolizaSaldar > 0 Then + ImporteRNC = ImporteRNC.RoundSQL(2) + If PorcentajeIVA > 0 Then + ImporteRNC = ((ImporteRNC) / (1 + PorcentajeIVA)) + End If + + If Not GeneraRNC(ObjCompras.IniciaTransacSQL, CveCompra, CompraSaldar, ObjConta, CvePrePolizaSaldar, DdlProveedor.SelectedValue.ToEntero, DdlProveedor.SelectedItem.Text, TxtFecha.Text.ToDate, $"Remisión Nota de Crédito {TxtDescripcion.Text}", DdlMoneda.SelectedValue.ToEntero, TxtTC.Text.ToDecimal, + TxtSerie.Text, TxtFolio.Text, RedondearSaldado:=True) Then + ErrorSaldoRNC = True + End If + End If + + + End If + + If ErrorSaldoRNC Then + ObjCompras.RollBack() + Else + ObjCompras.Commit() + End If + + ObjCompras.Dispose() + ObjConta.Dispose() + End If + + + End Sub + Private Sub ConfiguraseleccionRemisionNotaCredito() Dim AutoSelRNC As Boolean = False @@ -21944,7 +22025,8 @@ Partial Class Compras_Compras #Region "PRONTO PAGO" Public Function GeneraRNC(ByRef sqltransaccion As SqlTransaction, CveCompraRegistrada As Integer, ByRef CompraActual As Compra, ByRef ObjConta As ClsContabilidad, CvePrePoliza As Integer, - CveProveedor As Integer, NombreProveedor As String, Fecha As Date, Descripcion As String, CveMoneda As Integer, TipoCambio As Decimal, Serie As String, Folio As String, Optional EsDRMN As Boolean = False, Optional TmpListadoPS As DataTable = Nothing) As Boolean + CveProveedor As Integer, NombreProveedor As String, Fecha As Date, Descripcion As String, CveMoneda As Integer, TipoCambio As Decimal, Serie As String, Folio As String, + Optional EsDRMN As Boolean = False, Optional TmpListadoPS As DataTable = Nothing, Optional RedondearSaldado As Boolean = False) As Boolean CveCompraDRMC = -1 Dim respuesta As Boolean = True Dim PorcentajeIVA As Decimal = TmpDT.MAX("IVAPorcentaje").ToDecimal @@ -21969,19 +22051,20 @@ Partial Class Compras_Compras If PSRow IsNot Nothing Then Dim CompraRNC As New ClsCompraManagerCompras(UsuarioActual) With { - .TipoDocto = "RNC", - .CveProveedor = CveProveedor, - .CveTipoProveedor = CveTipoProveedor, - .CveTipoConceptoProveedor = CveTipoConcepto, - .Descripcion = Descripcion, - .NombreProveedor = NombreProveedor, - .Fecha = Fecha, - .CveMoneda = CveMoneda, - .TipoCambio = If(CveMoneda = 1, 1, TipoCambio), - .Serie = $"D-{Serie}", - .Folio = Folio, - .CveCompraAmortizacion = CveCompraRegistrada - } + .TipoDocto = "RNC", + .CveProveedor = CveProveedor, + .CveTipoProveedor = CveTipoProveedor, + .CveTipoConceptoProveedor = CveTipoConcepto, + .Descripcion = Descripcion, + .NombreProveedor = NombreProveedor, + .Fecha = Fecha, + .CveMoneda = CveMoneda, + .TipoCambio = If(CveMoneda = 1, 1, TipoCambio), + .Serie = $"D-{Serie}", + .Folio = Folio, + .CveCompraAmortizacion = CveCompraRegistrada, + .CveCompraRelacionada = CveCompraRegistrada + } 'Dim CveTipoPS As Integer = PSRow("CveTipoPS").ToString.ToEntero 'If PSRow("CvePSCargo").ToString <> "" Then @@ -21993,11 +22076,13 @@ Partial Class Compras_Compras Dim PS As String = PSRow("PSCodigo").ToString Dim CveUM As Integer = PSRow("CveUnidadMedida").ToString.ToEntero Dim UM As String = PSRow("UnidadMedida").ToString - Dim IVARNC As Decimal = (ImporteRNC * PorcentajeIVA).RoundSQL(2) - CompraRNC.ConfiguraRegistroRapido(CvePS_RNC, CveUM, UM, CveClasificacion, Clasificacion, PS, CveSubProyectoPrincipal, SubProyecto, ImporteRNC, IVARNC, (ImporteRNC + IVARNC), PorcentajeIVA) + Dim IVARNC As Decimal = (ImporteRNC * PorcentajeIVA).RoundSQL(2) + Dim TotalRNC As Decimal = If(RedondearSaldado, (ImporteRNC + IVARNC).RoundSQL(2), (ImporteRNC + IVARNC)) + + CompraRNC.ConfiguraRegistroRapido(CvePS_RNC, CveUM, UM, CveClasificacion, Clasificacion, PS, CveSubProyectoPrincipal, SubProyecto, ImporteRNC, IVARNC, TotalRNC, PorcentajeIVA) If CompraRNC.AddCompra(sqltransaccion) Then - Dim tImporteRNC = ImporteRNC + IVARNC ' le agrego el importe del iva + Dim tImporteRNC = TotalRNC ' le agrego el importe del iva Dim Pago As New CompraPago Pago.ImportePago = tImporteRNC Pago.CveMonedaPago = CompraActual.CveMoneda @@ -22016,19 +22101,20 @@ Partial Class Compras_Compras If respuesta AndAlso ImporteRNCProntoPago > 0 Then Dim CompraRNCProntoPago As New ClsCompraManagerCompras(UsuarioActual) With { - .TipoDocto = "RNC", - .CveProveedor = CveProveedor, - .CveTipoProveedor = CveTipoProveedor, - .CveTipoConceptoProveedor = CveTipoConcepto, - .Descripcion = Descripcion, - .NombreProveedor = NombreProveedor, - .Fecha = Fecha, - .CveMoneda = CveMoneda, - .TipoCambio = If(CveMoneda = 1, 1, TipoCambio), - .Serie = $"PP-{Serie}", - .Folio = $"{Folio}", - .CveCompraAmortizacion = CveCompraRegistrada - } + .TipoDocto = "RNC", + .CveProveedor = CveProveedor, + .CveTipoProveedor = CveTipoProveedor, + .CveTipoConceptoProveedor = CveTipoConcepto, + .Descripcion = Descripcion, + .NombreProveedor = NombreProveedor, + .Fecha = Fecha, + .CveMoneda = CveMoneda, + .TipoCambio = If(CveMoneda = 1, 1, TipoCambio), + .Serie = $"PP-{Serie}", + .Folio = $"{Folio}", + .CveCompraAmortizacion = CveCompraRegistrada, + .CveCompraRelacionada = CveCompraRegistrada + } Dim IVARNCProntoPago As Decimal = (ImporteRNCProntoPago * PorcentajeIVA).RoundSQL(2) CompraRNCProntoPago.ConfiguraRegistroRapido(CvePS_RNC, CveUM, UM, CveClasificacion, Clasificacion, PS, CveSubProyectoPrincipal, SubProyecto, ImporteRNCProntoPago, (ImporteRNCProntoPago + IVARNCProntoPago), IVARNCProntoPago, PorcentajeIVA) @@ -22050,6 +22136,11 @@ Partial Class Compras_Compras End If End If + If RedondearSaldado And respuesta Then + Alert("Saldado correctamente") + End If + + Return respuesta End Function @@ -22865,6 +22956,8 @@ Public Class ClsCompraManagerCompras Public Property CveIE As Integer = -1 Public Property CveCompraAmortizacion As Integer = -1 + Public Property CveCompraRelacionada As Integer = -1 + Public Sub New(UsuarioActual As Usuario) Errores = New StringBuilder @@ -24503,7 +24596,8 @@ Public Class ClsCompraManagerCompras AplicoPromocion:=Me.AplicoPromocion, PorcentajeIVA:=Me.PorcentajeIVA, CveMetodoPago:=Me.CveMetodoPago, CveRetIVAConcepto:=Me.CveRetIVAConcepto, CveConceptoContableAlmacen:=Me.CveConceptoContableAlmacen, CveRetISRConcepto:=Me.CveRetISRConcepto, NoDeducible:=Me.NoDeducible, CveTipoCompra:=Me.CveTipoCompra, TotalOriginal:=Me.TotalOriginal, CveTipoConcepto:=Me.CveTipoConcepto, - EsImportacion:=Me.EsImportacion, CveFactura:=Me.CveFactura, CveSubProyecto:=Me.CveSubProyectoPrincipal, DoctosRelacionados:=Me.DocumentosRelacionadosUUIDSString, CveFolioGarantia:=Me.CveFolioGarantia) Then + EsImportacion:=Me.EsImportacion, CveFactura:=Me.CveFactura, CveSubProyecto:=Me.CveSubProyectoPrincipal, DoctosRelacionados:=Me.DocumentosRelacionadosUUIDSString, CveFolioGarantia:=Me.CveFolioGarantia, + CveCompraRelacionada:=CveCompraRelacionada) Then Me.CveCompra = ObjCompras.CveCompra Else respuesta = False diff --git a/CxC/RepCxC.aspx b/CxC/RepCxC.aspx index 00b590813..e77222e90 100644 --- a/CxC/RepCxC.aspx +++ b/CxC/RepCxC.aspx @@ -780,7 +780,7 @@
diff --git a/CxC/RepCxC.aspx.vb b/CxC/RepCxC.aspx.vb index c50f6046b..fde84a39d 100644 --- a/CxC/RepCxC.aspx.vb +++ b/CxC/RepCxC.aspx.vb @@ -861,13 +861,18 @@ Partial Class RepCxC DdlTipo.SelectedValueExist(gvRow.DataKey("Tipo")) TxtRI.Text = gvRow.DataKey("RangoInicial") TxtRF.Text = gvRow.DataKey("RangoFinal") - TxtRObjetivo.Text = gvRow.DataKey("Objetivo").ToString.ToDecimal.ToString("###.00") + TxtRObjetivo.Text = gvRow.DataKey("Objetivo").ToString.ToDecimal.ToString("###.00") + If Not TxtRF.Text.ToDouble > 0 Then ChkMayor.Checked = True TxtRF.Enabled = False + CambioChecked() Else ChkMayor.Checked = False - End If + TxtRF.Enabled = True + End If + + RegistraScript("$('#DivPersonalizarRangoEditar').modal()") UpPersonalizarRangoEditar.Update() End Sub diff --git a/Inventarios/PopUpExistenciasAlmacen.aspx b/Inventarios/PopUpExistenciasAlmacen.aspx index e402747b2..2521640c5 100644 --- a/Inventarios/PopUpExistenciasAlmacen.aspx +++ b/Inventarios/PopUpExistenciasAlmacen.aspx @@ -166,7 +166,7 @@ -