-mejoras en timbrado 4.0

This commit is contained in:
2022-01-30 15:03:01 -07:00
parent dc0e09035b
commit 269926cc92
6 changed files with 70 additions and 10 deletions

View File

@@ -2947,6 +2947,24 @@ Public Class ClsGenerales
Return Retorno Return Retorno
End Function 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" #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, 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, Peso As Double, Dimensiones As String, FechaEstimada As String, Observaciones As String, CveUsuario As Integer, CveEmpresa As Integer, Optional ImplicaCosto As Boolean = True,

View File

@@ -1187,6 +1187,25 @@ Public Class ClsPaginas
End Set End Set
End Property 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 Public Shared Property GlobalDTMotivosCancelacionEmpresa(CveEmpresa As Integer, Optional CveMotivoCancelacion As Integer = -1, Optional CveSATMotivoCancelacion As Integer = -1) As DataTable
Get Get
Dim AppNombre As String = String.Format("GlobalDTMotivosCancelacionEmpresa-{0}", CveEmpresa) Dim AppNombre As String = String.Format("GlobalDTMotivosCancelacionEmpresa-{0}", CveEmpresa)

View File

@@ -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 CveModelo As Integer = -1, Optional CveMedida As Integer = -1, Optional CveRinTamaño As Integer = -1, Optional ClaveImpuestoEmpaque As String = "", Optional ClaveImpuestoUM As String = "",
Optional ClaveCategoriaToxicidad As String = "", Optional ClaveImpuestoTipoProducto As String = "", Optional Litraje As Double = -1, Optional EsOutSourcing As Boolean = False, Optional AplicaSerie As Boolean = False, Optional AplicaLote As Boolean = False, Optional ClaveCategoriaToxicidad As String = "", Optional ClaveImpuestoTipoProducto As String = "", Optional Litraje As Double = -1, Optional EsOutSourcing As Boolean = False, Optional AplicaSerie As Boolean = False, Optional AplicaLote As Boolean = False,
Optional AplicaCaducidad As Boolean = False, Optional AplicaSeccion As Boolean = False, Optional TiempoCaducidad As Integer = -1, Optional CvePSAdicionalVigencia As Integer = -1, Optional PrecioLibre 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 Dim Retorno As Integer = -1
DataAdapter("PA_ProductosServiciosAdd") DataAdapter("PA_ProductosServiciosAdd")
@@ -506,6 +506,7 @@ Public Class ClsProductosServicios
.Add("@CveEmbalaje", SqlDbType.Int).Value = CveEmbalaje .Add("@CveEmbalaje", SqlDbType.Int).Value = CveEmbalaje
.Add("@PesoKg", SqlDbType.SmallMoney).Value = PesoKg .Add("@PesoKg", SqlDbType.SmallMoney).Value = PesoKg
.Add("@Dimensiones", SqlDbType.VarChar).Value = Dimensiones .Add("@Dimensiones", SqlDbType.VarChar).Value = Dimensiones
.Add("@CveObjetoImpuesto", SqlDbType.TinyInt).Value = CveObjetoImpuesto
End With 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 CveClasificacionDetalle As Integer = -1, Optional CveTamaño As Integer = -1, Optional CveModelo As Integer = -1, Optional CveMedida As Integer = -1, Optional CveRinTamaño As Integer = -1, Optional ClaveImpuestoEmpaque As String = "", Optional ClaveImpuestoUM As String = "",
Optional ClaveCategoriaToxicidad As String = "", Optional ClaveImpuestoTipoProducto As String = "", Optional Litraje As Double = -1, Optional EsOutSourcing As Boolean = False, Optional ClaveCategoriaToxicidad As String = "", Optional ClaveImpuestoTipoProducto As String = "", Optional Litraje As Double = -1, Optional EsOutSourcing As Boolean = False,
Optional AplicaSerie As Boolean = False, Optional AplicaLote As Boolean = False, Optional AplicaCaducidad As Boolean = False, Optional AplicaSeccion As Boolean = False, Optional TiempoCaducidad As Integer = -1, Optional CvePSAdicionalVigencia As Integer = -1, Optional PrecioLibre 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 Dim Retorno As Boolean = False
@@ -744,6 +745,7 @@ Public Class ClsProductosServicios
.Add("@CveEmbalaje", SqlDbType.Int).Value = CveEmbalaje .Add("@CveEmbalaje", SqlDbType.Int).Value = CveEmbalaje
.Add("@PesoKg", SqlDbType.SmallMoney).Value = PesoKg .Add("@PesoKg", SqlDbType.SmallMoney).Value = PesoKg
.Add("@Dimensiones", SqlDbType.VarChar).Value = Dimensiones .Add("@Dimensiones", SqlDbType.VarChar).Value = Dimensiones
.Add("@CveObjetoImpuesto", SqlDbType.TinyInt).Value = CveObjetoImpuesto
End With End With

View File

@@ -501,10 +501,19 @@
<i>$</i> <i>$</i>
</div> </div>
<div class="form-group form-md-line-input input-iconright"> <div class="form-group form-md-line-input input-iconright">
<div class="row"> <div class="row" id="DivObjetoImpuesto" runat="server" visible="false">
<div class="col-md-12">
<div class="form-group form-md-line-input input-iconright">
<label for="<%= DdlObjetoImpuesto.ClientID.ToString()%>">Obj.Imp:</label>
<asp:DropDownList ID="DdlObjetoImpuesto" CssClass="form-control input-sm select2me" Width="100%" runat="server" DataValueField="CveObjetoImpuesto" DataTextField="CodigoObjetoImpuestoTexto" >
</asp:DropDownList>
</div>
</div>
</div>
<div class="row">
<div id="DvTipo" runat="server" class="col-md-6"> <div id="DvTipo" runat="server" class="col-md-6">
<label for="<%= DdlTipoFactor.ClientID.ToString()%>">Tipo Factor:</label> <label for="<%= DdlTipoFactor.ClientID.ToString()%>">Tipo Factor:</label>
<asp:DropDownList ID="DdlTipoFactor" CssClass="form-control input-sm select2me" runat="server" AutoPostBack="true"> <asp:DropDownList ID="DdlTipoFactor" Width="100%" CssClass="form-control input-sm select2me" runat="server" AutoPostBack="true">
<asp:ListItem Selected="True" Text="Tasa" Value="1"></asp:ListItem> <asp:ListItem Selected="True" Text="Tasa" Value="1"></asp:ListItem>
<asp:ListItem Text="Cuota" Value="2"></asp:ListItem> <asp:ListItem Text="Cuota" Value="2"></asp:ListItem>
<asp:ListItem Text="Exento" Value="3"></asp:ListItem> <asp:ListItem Text="Exento" Value="3"></asp:ListItem>

View File

@@ -276,6 +276,9 @@ Partial Class ProductosyServicios
'DdlTipoPSDes.Attributes.Add("onChange", "CreaDescripcionPS();") 'DdlTipoPSDes.Attributes.Add("onChange", "CreaDescripcionPS();")
End If End If
If UsuarioActual.CveEmpresa.Contiene(72, 80) Then If UsuarioActual.CveEmpresa.Contiene(72, 80) Then
TxtPS.CssClass = "form-control Mayuscula" TxtPS.CssClass = "form-control Mayuscula"
End If End If
@@ -338,6 +341,12 @@ Partial Class ProductosyServicios
CargaCombosSeccionAlmacen() CargaCombosSeccionAlmacen()
If UsuarioActual.Empresa.Funcionalidad(350) = "1" Then 'emisión 4.0
DivObjetoImpuesto.Visible = True
DdlObjetoImpuesto.DataSource = GlobalDTSATObjetosImpuestos
DdlObjetoImpuesto.DataBind()
End If
CreaDtSeccionAlmacen() CreaDtSeccionAlmacen()
If UsuarioActual.Empresa.UsaContabilidad Then If UsuarioActual.Empresa.UsaContabilidad Then
@@ -902,6 +911,7 @@ Partial Class ProductosyServicios
DdlMedida.SelectedValueExist(ObjProductosServicios.DtResultados.Rows(0)("CveMedida").ToString) DdlMedida.SelectedValueExist(ObjProductosServicios.DtResultados.Rows(0)("CveMedida").ToString)
DdlRin.SelectedValueExist(ObjProductosServicios.DtResultados.Rows(0)("CveRinTamaño").ToString) DdlRin.SelectedValueExist(ObjProductosServicios.DtResultados.Rows(0)("CveRinTamaño").ToString)
DdlObjetoImpuesto.SelectedValueExist(ObjProductosServicios.DtResultados.Rows(0)("CveObjetoImpuesto").ToString)
'If ObjProductosServicios.CvePSAdicional > 0 Then 'If ObjProductosServicios.CvePSAdicional > 0 Then
' DdlPSAdicional.SelectedValue = ObjProductosServicios.CvePSAdicional.ToString ' DdlPSAdicional.SelectedValue = ObjProductosServicios.CvePSAdicional.ToString
' DdlPSAdicional.SelectedText = ObjProductosServicios.PSCodigoAdicional ' DdlPSAdicional.SelectedText = ObjProductosServicios.PSCodigoAdicional
@@ -1366,7 +1376,8 @@ Partial Class ProductosyServicios
CveModelo:=DdlModelo.SelectedValue.ToEntero(), CveMedida:=DdlMedida.SelectedValue.ToEntero(), CveRinTamaño:=DdlRin.SelectedValue.ToEntero(), CveModelo:=DdlModelo.SelectedValue.ToEntero(), CveMedida:=DdlMedida.SelectedValue.ToEntero(), CveRinTamaño:=DdlRin.SelectedValue.ToEntero(),
ClaveImpuestoEmpaque:=DdlImpEmpaque.SelectedValue.ToString, ClaveImpuestoUM:=DdlImpUM.SelectedValue.ToString, ClaveCategoriaToxicidad:=DdlCategoriaToxicidad.SelectedValue.ToString, ClaveImpuestoEmpaque:=DdlImpEmpaque.SelectedValue.ToString, ClaveImpuestoUM:=DdlImpUM.SelectedValue.ToString, ClaveCategoriaToxicidad:=DdlCategoriaToxicidad.SelectedValue.ToString,
ClaveImpuestoTipoProducto:=DdlImpTipoProducto.SelectedValue.ToString, EsOutSourcing:=ChkEsOutSourcing.Checked, TiempoCaducidad:=TiempoCaducidad, CvePSAdicionalVigencia:=DdlPSAdicionalVigencia.SelectedValue.ToEntero(), PrecioLibre:=ChkPrecioLibre.Checked, 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 ViewState("CvePS") = ObjProductosServicios.CvePS
For Each GVR As GridViewRow In GvImpuestosLocales.Rows For Each GVR As GridViewRow In GvImpuestosLocales.Rows
If GVR.FCCheckBox("ChkDeduccion").Checked Then If GVR.FCCheckBox("ChkDeduccion").Checked Then
@@ -1416,7 +1427,8 @@ Partial Class ProductosyServicios
ClaveImpuestoEmpaque:=DdlImpEmpaque.SelectedValue.ToString, ClaveImpuestoUM:=DdlImpUM.SelectedValue.ToString, ClaveCategoriaToxicidad:=DdlCategoriaToxicidad.SelectedValue.ToString, ClaveImpuestoEmpaque:=DdlImpEmpaque.SelectedValue.ToString, ClaveImpuestoUM:=DdlImpUM.SelectedValue.ToString, ClaveCategoriaToxicidad:=DdlCategoriaToxicidad.SelectedValue.ToString,
ClaveImpuestoTipoProducto:=DdlImpTipoProducto.SelectedValue.ToString, EsOutSourcing:=ChkEsOutSourcing.Checked, ClaveImpuestoTipoProducto:=DdlImpTipoProducto.SelectedValue.ToString, EsOutSourcing:=ChkEsOutSourcing.Checked,
AplicaSerie:=ChkSerie.Checked, AplicaLote:=ChkLote.Checked, AplicaCaducidad:=ChkCaducidad.Checked, AplicaSeccion:=ChkSeccion.Checked, TiempoCaducidad:=TiempoCaducidad, CvePSAdicionalVigencia:=DdlPSAdicionalVigencia.SelectedValue.ToEntero(), PrecioLibre:=ChkPrecioLibre.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 If Not ObjProductosServicios.LimpiaImpuestosLocales(CvePS) Then
TieneError = True TieneError = True

View File

@@ -17735,7 +17735,7 @@ Partial Class Ventas
Row("CveTipoPS") = DrPS("CveTipoPS") Row("CveTipoPS") = DrPS("CveTipoPS")
Row("CveTipoInvPS") = DrPS("Inv_CveMetodoInventario") Row("CveTipoInvPS") = DrPS("Inv_CveMetodoInventario")
Row("CveTamaño") = DrPS("CveTamaño") Row("CveTamaño") = DrPS("CveTamaño")
Row("ObjetoImpuesto") = DrPS("CodigoObjetoImpuesto") Row("CodigoObjetoImpuesto") = DrPS("CodigoObjetoImpuesto")
If CveClasificacion <= 0 Then Row("CveClasificacion") = DrPS("CveClasificacion") If CveClasificacion <= 0 Then Row("CveClasificacion") = DrPS("CveClasificacion")
If Clasificacion = "" Then Row("Clasificacion") = DrPS("Clasificacion") If Clasificacion = "" Then Row("Clasificacion") = DrPS("Clasificacion")
@@ -18285,7 +18285,7 @@ Partial Class Ventas
TmpDT.Columns.Add("TieneProntoPago", GetType(String)) TmpDT.Columns.Add("TieneProntoPago", GetType(String))
TmpDT.Columns.Add("ImporteProntoPago", GetType(Decimal)) 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("EsOutSourcing").DefaultValue = False
TmpDT.Columns("EsCargo").DefaultValue = False TmpDT.Columns("EsCargo").DefaultValue = False
@@ -27002,10 +27002,10 @@ Partial Class Ventas
'verificar autorizaciones 'verificar autorizaciones
Dim ObjVentas As New ClsVentas Dim ObjVentas As New ClsVentas
If ObjVentas.GetAutorizacionLimite(UsuarioActual.CveEmpresa, CveCliente, -1, "Egs", CveEstatus:=1) Then 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 If RowAutorizacion IsNot Nothing Then
Dim ImporteAutorizacion As Decimal = RowAutorizacion("Importe").ToString().ToDecimal() Dim ImporteAutorizacion As Decimal = RowAutorizacion("Importe").ToString().ToDecimal()
If ImporteAutorizacion > TxtNCImporte.Text.ToDecimal Then If ImporteAutorizacion >= TxtNCImporte.Text.ToDecimal Then
Verificacion = True Verificacion = True
End If End If
End If End If