diff --git a/App_Code/ClsGenerales.vb b/App_Code/ClsGenerales.vb index c30973073..04d56a648 100644 --- a/App_Code/ClsGenerales.vb +++ b/App_Code/ClsGenerales.vb @@ -2947,6 +2947,24 @@ Public Class ClsGenerales Return Retorno End Function + + Public Function GetSATObjetoImpuesto() As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_Gral_SAT_ObjetosImpuestos") + + Try + SqlAdapter.Fill(Data) + If Data.Rows.Count > 0 Then + Retorno = True + End If + + Catch ex As Exception + OnError("Ocurrió un error al obtener los objetos de impuestos.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + #Region "P A Q U E T E R I A S G U I A S" Public Function AddPaqueteriasGuias(CvePaqueteria As Integer, CvePaqueteriaGuiaTipo As Integer, CveEstatus As Integer, CveSubProyecto As Integer, Fecha As String, Rastreo As String, Guia As String, NumCajas As Integer, Peso As Double, Dimensiones As String, FechaEstimada As String, Observaciones As String, CveUsuario As Integer, CveEmpresa As Integer, Optional ImplicaCosto As Boolean = True, diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb index e8fd83dd4..ca387ce30 100644 --- a/App_Code/ClsPaginas.vb +++ b/App_Code/ClsPaginas.vb @@ -1187,6 +1187,25 @@ Public Class ClsPaginas End Set End Property + Public Shared Property GlobalDTSATObjetosImpuestos() As DataTable + Get + Dim AppNombre As String = "GlobalDTSATObjetosImpuestos" + If HttpContext.Current.Application(AppNombre) Is Nothing Then + Dim ObjGral As New ClsGenerales() + If ObjGral.GetSATObjetoImpuesto() Then + HttpContext.Current.Application(AppNombre) = ObjGral.DtResultados + End If + ObjGral.Dispose() + End If + + Return CType(HttpContext.Current.Application(AppNombre), DataTable) + End Get + Set(value As DataTable) + Dim AppNombre As String = "GlobalDTSATObjetosImpuestos" + HttpContext.Current.Application(AppNombre) = value + End Set + End Property + Public Shared Property GlobalDTMotivosCancelacionEmpresa(CveEmpresa As Integer, Optional CveMotivoCancelacion As Integer = -1, Optional CveSATMotivoCancelacion As Integer = -1) As DataTable Get Dim AppNombre As String = String.Format("GlobalDTMotivosCancelacionEmpresa-{0}", CveEmpresa) diff --git a/App_Code/ClsProductosServicios.vb b/App_Code/ClsProductosServicios.vb index e245b1f44..225d0ba99 100644 --- a/App_Code/ClsProductosServicios.vb +++ b/App_Code/ClsProductosServicios.vb @@ -418,7 +418,7 @@ Public Class ClsProductosServicios Optional CveModelo As Integer = -1, Optional CveMedida As Integer = -1, Optional CveRinTamaño As Integer = -1, Optional ClaveImpuestoEmpaque As String = "", Optional ClaveImpuestoUM As String = "", Optional ClaveCategoriaToxicidad As String = "", Optional ClaveImpuestoTipoProducto As String = "", Optional Litraje As Double = -1, Optional EsOutSourcing As Boolean = False, Optional AplicaSerie As Boolean = False, Optional AplicaLote As Boolean = False, Optional AplicaCaducidad As Boolean = False, Optional AplicaSeccion As Boolean = False, Optional TiempoCaducidad As Integer = -1, Optional CvePSAdicionalVigencia As Integer = -1, Optional PrecioLibre As Boolean = False, - Optional CveMaterialPeligroso As Integer = -1, Optional CveEmbalaje As Integer = -1, Optional PesoKg As Decimal = -1, Optional Dimensiones As String = "") As Integer + Optional CveMaterialPeligroso As Integer = -1, Optional CveEmbalaje As Integer = -1, Optional PesoKg As Decimal = -1, Optional Dimensiones As String = "", Optional CveObjetoImpuesto As Integer = 0) As Integer Dim Retorno As Integer = -1 DataAdapter("PA_ProductosServiciosAdd") @@ -506,6 +506,7 @@ Public Class ClsProductosServicios .Add("@CveEmbalaje", SqlDbType.Int).Value = CveEmbalaje .Add("@PesoKg", SqlDbType.SmallMoney).Value = PesoKg .Add("@Dimensiones", SqlDbType.VarChar).Value = Dimensiones + .Add("@CveObjetoImpuesto", SqlDbType.TinyInt).Value = CveObjetoImpuesto End With @@ -654,7 +655,7 @@ Public Class ClsProductosServicios Optional CveClasificacionDetalle As Integer = -1, Optional CveTamaño As Integer = -1, Optional CveModelo As Integer = -1, Optional CveMedida As Integer = -1, Optional CveRinTamaño As Integer = -1, Optional ClaveImpuestoEmpaque As String = "", Optional ClaveImpuestoUM As String = "", Optional ClaveCategoriaToxicidad As String = "", Optional ClaveImpuestoTipoProducto As String = "", Optional Litraje As Double = -1, Optional EsOutSourcing As Boolean = False, Optional AplicaSerie As Boolean = False, Optional AplicaLote As Boolean = False, Optional AplicaCaducidad As Boolean = False, Optional AplicaSeccion As Boolean = False, Optional TiempoCaducidad As Integer = -1, Optional CvePSAdicionalVigencia As Integer = -1, Optional PrecioLibre As Boolean = False, - Optional CveMaterialPeligroso As Integer = -1, Optional CveEmbalaje As Integer = -1, Optional PesoKg As Decimal = -1, Optional Dimensiones As String = "") As Boolean + Optional CveMaterialPeligroso As Integer = -1, Optional CveEmbalaje As Integer = -1, Optional PesoKg As Decimal = -1, Optional Dimensiones As String = "", Optional CveObjetoImpuesto As Integer = 0) As Boolean Dim Retorno As Boolean = False @@ -744,6 +745,7 @@ Public Class ClsProductosServicios .Add("@CveEmbalaje", SqlDbType.Int).Value = CveEmbalaje .Add("@PesoKg", SqlDbType.SmallMoney).Value = PesoKg .Add("@Dimensiones", SqlDbType.VarChar).Value = Dimensiones + .Add("@CveObjetoImpuesto", SqlDbType.TinyInt).Value = CveObjetoImpuesto End With diff --git a/Ventas/ProductosServicios.aspx b/Ventas/ProductosServicios.aspx index 8c5172390..877e31a0c 100644 --- a/Ventas/ProductosServicios.aspx +++ b/Ventas/ProductosServicios.aspx @@ -501,10 +501,19 @@ $
-
+
+
+
+ + + +
+
+
+
- + diff --git a/Ventas/ProductosServicios.aspx.vb b/Ventas/ProductosServicios.aspx.vb index 386782326..90a77ddf4 100644 --- a/Ventas/ProductosServicios.aspx.vb +++ b/Ventas/ProductosServicios.aspx.vb @@ -276,6 +276,9 @@ Partial Class ProductosyServicios 'DdlTipoPSDes.Attributes.Add("onChange", "CreaDescripcionPS();") End If + + + If UsuarioActual.CveEmpresa.Contiene(72, 80) Then TxtPS.CssClass = "form-control Mayuscula" End If @@ -338,6 +341,12 @@ Partial Class ProductosyServicios CargaCombosSeccionAlmacen() + If UsuarioActual.Empresa.Funcionalidad(350) = "1" Then 'emisión 4.0 + DivObjetoImpuesto.Visible = True + DdlObjetoImpuesto.DataSource = GlobalDTSATObjetosImpuestos + DdlObjetoImpuesto.DataBind() + End If + CreaDtSeccionAlmacen() If UsuarioActual.Empresa.UsaContabilidad Then @@ -902,6 +911,7 @@ Partial Class ProductosyServicios DdlMedida.SelectedValueExist(ObjProductosServicios.DtResultados.Rows(0)("CveMedida").ToString) DdlRin.SelectedValueExist(ObjProductosServicios.DtResultados.Rows(0)("CveRinTamaño").ToString) + DdlObjetoImpuesto.SelectedValueExist(ObjProductosServicios.DtResultados.Rows(0)("CveObjetoImpuesto").ToString) 'If ObjProductosServicios.CvePSAdicional > 0 Then ' DdlPSAdicional.SelectedValue = ObjProductosServicios.CvePSAdicional.ToString ' DdlPSAdicional.SelectedText = ObjProductosServicios.PSCodigoAdicional @@ -1366,7 +1376,8 @@ Partial Class ProductosyServicios CveModelo:=DdlModelo.SelectedValue.ToEntero(), CveMedida:=DdlMedida.SelectedValue.ToEntero(), CveRinTamaño:=DdlRin.SelectedValue.ToEntero(), ClaveImpuestoEmpaque:=DdlImpEmpaque.SelectedValue.ToString, ClaveImpuestoUM:=DdlImpUM.SelectedValue.ToString, ClaveCategoriaToxicidad:=DdlCategoriaToxicidad.SelectedValue.ToString, ClaveImpuestoTipoProducto:=DdlImpTipoProducto.SelectedValue.ToString, EsOutSourcing:=ChkEsOutSourcing.Checked, TiempoCaducidad:=TiempoCaducidad, CvePSAdicionalVigencia:=DdlPSAdicionalVigencia.SelectedValue.ToEntero(), PrecioLibre:=ChkPrecioLibre.Checked, - CveMaterialPeligroso:=DdlMaterialPeligroso.SelectedValue.ToEntero, CveEmbalaje:=DdlEmbalaje.SelectedValue.ToEntero, PesoKg:=TxtPesoKg.Text.ToDecimal, Dimensiones:=TxtDimensiones.Text.Trim) > 0 Then + CveMaterialPeligroso:=DdlMaterialPeligroso.SelectedValue.ToEntero, CveEmbalaje:=DdlEmbalaje.SelectedValue.ToEntero, PesoKg:=TxtPesoKg.Text.ToDecimal, Dimensiones:=TxtDimensiones.Text.Trim, + CveObjetoImpuesto:=DdlObjetoImpuesto.SelectedValue.ToEntero) > 0 Then ViewState("CvePS") = ObjProductosServicios.CvePS For Each GVR As GridViewRow In GvImpuestosLocales.Rows If GVR.FCCheckBox("ChkDeduccion").Checked Then @@ -1416,7 +1427,8 @@ Partial Class ProductosyServicios ClaveImpuestoEmpaque:=DdlImpEmpaque.SelectedValue.ToString, ClaveImpuestoUM:=DdlImpUM.SelectedValue.ToString, ClaveCategoriaToxicidad:=DdlCategoriaToxicidad.SelectedValue.ToString, ClaveImpuestoTipoProducto:=DdlImpTipoProducto.SelectedValue.ToString, EsOutSourcing:=ChkEsOutSourcing.Checked, AplicaSerie:=ChkSerie.Checked, AplicaLote:=ChkLote.Checked, AplicaCaducidad:=ChkCaducidad.Checked, AplicaSeccion:=ChkSeccion.Checked, TiempoCaducidad:=TiempoCaducidad, CvePSAdicionalVigencia:=DdlPSAdicionalVigencia.SelectedValue.ToEntero(), PrecioLibre:=ChkPrecioLibre.Checked, - CveMaterialPeligroso:=DdlMaterialPeligroso.SelectedValue.ToEntero, CveEmbalaje:=DdlEmbalaje.SelectedValue.ToEntero, PesoKg:=TxtPesoKg.Text.ToDecimal, Dimensiones:=TxtDimensiones.Text.Trim) Then + CveMaterialPeligroso:=DdlMaterialPeligroso.SelectedValue.ToEntero, CveEmbalaje:=DdlEmbalaje.SelectedValue.ToEntero, PesoKg:=TxtPesoKg.Text.ToDecimal, Dimensiones:=TxtDimensiones.Text.Trim, + CveObjetoImpuesto:=DdlObjetoImpuesto.SelectedValue.ToEntero) Then If Not ObjProductosServicios.LimpiaImpuestosLocales(CvePS) Then TieneError = True diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb index da64cbafd..b498de99f 100644 --- a/Ventas/Ventas.aspx.vb +++ b/Ventas/Ventas.aspx.vb @@ -17735,7 +17735,7 @@ Partial Class Ventas Row("CveTipoPS") = DrPS("CveTipoPS") Row("CveTipoInvPS") = DrPS("Inv_CveMetodoInventario") Row("CveTamaño") = DrPS("CveTamaño") - Row("ObjetoImpuesto") = DrPS("CodigoObjetoImpuesto") + Row("CodigoObjetoImpuesto") = DrPS("CodigoObjetoImpuesto") If CveClasificacion <= 0 Then Row("CveClasificacion") = DrPS("CveClasificacion") If Clasificacion = "" Then Row("Clasificacion") = DrPS("Clasificacion") @@ -18285,7 +18285,7 @@ Partial Class Ventas TmpDT.Columns.Add("TieneProntoPago", GetType(String)) TmpDT.Columns.Add("ImporteProntoPago", GetType(Decimal)) - TmpDT.Columns.Add("ObjetoImpuesto", GetType(String)) + TmpDT.Columns.Add("CodigoObjetoImpuesto", GetType(String)) TmpDT.Columns("EsOutSourcing").DefaultValue = False TmpDT.Columns("EsCargo").DefaultValue = False @@ -27002,10 +27002,10 @@ Partial Class Ventas 'verificar autorizaciones Dim ObjVentas As New ClsVentas If ObjVentas.GetAutorizacionLimite(UsuarioActual.CveEmpresa, CveCliente, -1, "Egs", CveEstatus:=1) Then - Dim RowAutorizacion As DataRow = ObjVentas.DtResultados.FiltroPrimero($"CveVenta IS NULL ", Orderby:="TipoAutorizacion") + Dim RowAutorizacion As DataRow = ObjVentas.DtResultados.FiltroPrimero($"CveVenta IS NULL ", Orderby:="TipoAutorizacion,Importe DESC") If RowAutorizacion IsNot Nothing Then Dim ImporteAutorizacion As Decimal = RowAutorizacion("Importe").ToString().ToDecimal() - If ImporteAutorizacion > TxtNCImporte.Text.ToDecimal Then + If ImporteAutorizacion >= TxtNCImporte.Text.ToDecimal Then Verificacion = True End If End If