Merge branch 'master' of http://rpimienta@192.168.10.111:8383/SIG.git
This commit is contained in:
@@ -728,7 +728,7 @@ Public Class ClsAcumuladores
|
||||
Public Function AddGarantiasDetalle(CveVentaDetalle As Integer, CvePS As Integer, CveFolioGarantia As Integer, CveTipoUso As Integer,
|
||||
CodigoEnsamble As String, CodigoLinea As String, CodigoInspeccion As String,
|
||||
CveTipoDefecto As Integer, NumPoliza As String, Importe As Double,
|
||||
Consecutivo As String, FechaAjuste As DateTime) As Boolean
|
||||
Consecutivo As String, FechaAjuste As DateTime, PorcentajeAjuste As Decimal) As Boolean
|
||||
Dim Retorno As Boolean = False
|
||||
SqlDataAdapter("PA_Acum_GarantiasDetalleAdd")
|
||||
With SqlAdapter.SelectCommand.Parameters
|
||||
@@ -744,6 +744,7 @@ Public Class ClsAcumuladores
|
||||
.Add("@Importe", SqlDbType.Float).Value = Importe
|
||||
.Add("@Consecutivo", SqlDbType.VarChar).Value = Consecutivo
|
||||
.Add("@FechaAjuste", SqlDbType.DateTime).Value = FechaAjuste
|
||||
.Add("@PorcentajeAjuste", SqlDbType.Float).Value = PorcentajeAjuste
|
||||
End With
|
||||
Try
|
||||
SqlAdapter.Fill(Data)
|
||||
@@ -926,7 +927,7 @@ Public Class ClsAcumuladores
|
||||
|
||||
Return Retorno
|
||||
End Function
|
||||
Public Function DistribuidorMovtosGet(CveCliente As Integer, CveEmpresa As Integer, Optional FechaI As Date = MinFecha, Optional FechaF As Date = MaxFecha, Optional CveVentaRNCCargo As Integer = -1) As Boolean
|
||||
Public Function DistribuidorMovtosGet(CveCliente As Integer, CveEmpresa As Integer, Optional FechaI As Date = MinFecha, Optional FechaF As Date = MaxFecha, Optional CveVentaRNCCargo As Integer = -1, Optional CveConcepto As Integer = -1) As Boolean
|
||||
Dim Retorno As Boolean = False
|
||||
'Data = New DataTable
|
||||
|
||||
@@ -938,6 +939,7 @@ Public Class ClsAcumuladores
|
||||
.Add("@FechaI", SqlDbType.Date).Value = FechaI
|
||||
.Add("@FechaF", SqlDbType.Date).Value = FechaF
|
||||
.Add("@CveVentaRNCCargo", SqlDbType.Int).Value = CveVentaRNCCargo
|
||||
.Add("@CveConcepto", SqlDbType.Int).Value = CveConcepto
|
||||
End With
|
||||
|
||||
Try
|
||||
|
||||
@@ -404,7 +404,7 @@ Public Class ClsProductosServicios
|
||||
Optional CveFraccionArancelaria As Integer = -1, 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) As Integer
|
||||
Optional AplicaCaducidad As Boolean = False, Optional AplicaSeccion As Boolean = False, Optional TiempoCaducidad As Integer = -1, Optional CvePSAdicionalVigencia As Integer = -1) As Integer
|
||||
Dim Retorno As Integer = -1
|
||||
|
||||
DataAdapter("PA_ProductosServiciosAdd")
|
||||
@@ -483,7 +483,9 @@ Public Class ClsProductosServicios
|
||||
.Add("@AplicaLote", SqlDbType.Bit).Value = AplicaLote
|
||||
.Add("@AplicaCaducidad", SqlDbType.Bit).Value = AplicaCaducidad
|
||||
.Add("@AplicaSeccion", SqlDbType.Bit).Value = AplicaSeccion
|
||||
.Add("@TiempoCaducidad", SqlDbType.SmallInt).Value = TiempoCaducidad
|
||||
.Add("@TiempoCaducidad", SqlDbType.SmallInt).Value = TiempoCaducidad
|
||||
|
||||
.Add("@CvePSAdicionalVigencia", SqlDbType.Int).Value = CvePSAdicionalVigencia
|
||||
End With
|
||||
|
||||
Try
|
||||
@@ -630,7 +632,7 @@ Public Class ClsProductosServicios
|
||||
Optional CveFraccionArancelaria As Integer = -1, Optional CveUsuarioModifico As Integer = -1,
|
||||
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) As Boolean
|
||||
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) As Boolean
|
||||
|
||||
Dim Retorno As Boolean = False
|
||||
|
||||
@@ -711,7 +713,9 @@ Public Class ClsProductosServicios
|
||||
.Add("@AplicaLote", SqlDbType.Bit).Value = AplicaLote
|
||||
.Add("@AplicaCaducidad", SqlDbType.Bit).Value = AplicaCaducidad
|
||||
.Add("@AplicaSeccion", SqlDbType.Bit).Value = AplicaSeccion
|
||||
.Add("@TiempoCaducidad", SqlDbType.SmallInt).Value = TiempoCaducidad
|
||||
.Add("@TiempoCaducidad", SqlDbType.SmallInt).Value = TiempoCaducidad
|
||||
|
||||
.Add("@CvePSAdicionalVigencia", SqlDbType.Int).Value = CvePSAdicionalVigencia
|
||||
End With
|
||||
|
||||
Try
|
||||
|
||||
@@ -1468,7 +1468,7 @@ Namespace Modelos
|
||||
For Each Dr As DataRow In DtAjustes.Rows
|
||||
If Not ObjAcum.AddGarantiasDetalle(Dr("CveVentaDetalle").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("CveFolioGarantia").ToString.ToEntero, Dr("CveTipoUso").ToString.ToEntero,
|
||||
Dr("CodigoEnsamble").ToString, Dr("CodigoLinea").ToString, Dr("CodigoInspeccion").ToString, Dr("CveTipoDefecto").ToString.ToEntero,
|
||||
Dr("NumPoliza").ToString, Dr("Importe").ToString.ToDouble, Dr("Consecutivo").ToString, Dr("FechaAjuste").ToString.ToDateTime()) Then
|
||||
Dr("NumPoliza").ToString, Dr("Importe").ToString.ToDouble, Dr("Consecutivo").ToString, Dr("FechaAjuste").ToString.ToDateTime(), Dr("PorcentajeAjuste").ToString.ToDecimal()) Then
|
||||
ErrorList.Add("Ocurrió un error al agregar la garantia detalle.")
|
||||
End If
|
||||
Next
|
||||
|
||||
@@ -4548,7 +4548,7 @@ Partial Class Compras_Compras
|
||||
'End If
|
||||
|
||||
'METODO DE PREPOLIZA DE ALMACEN
|
||||
If UsuarioActual.CveEmpresa.Contiene(1, 119, 72, 80, 140, 141) And UsuarioActual.Empresa.UsaInventarios And Not UsuarioActual.Empresa.Funcionalidad(126) = "1" Then
|
||||
If UsuarioActual.CveEmpresa.Contiene(1, 119, 72, 80, 140, 141, 153) And UsuarioActual.Empresa.UsaInventarios And Not UsuarioActual.Empresa.Funcionalidad(126) = "1" Then
|
||||
Dim ImporteAlmacen = TmpDT.SUM(If(ListaDocumentos IsNot Nothing AndAlso ListaDocumentos.Count > 0 AndAlso ArrAnticipos IsNot Nothing AndAlso ArrAnticipos.Count > 0, "ImporteSinImpuestos", "Total"), $"ISNULL(TipoAF,0) <> 2 AND ISNULL(CveAlmacen,0) = 0 AND ISNULL(AplicaCostoIndirecto,0) <> 1 AND CveTipoPS = 2").ToString.ToDecimal
|
||||
If ImporteAlmacen > 0 Then
|
||||
If Not DdlTipoComprobante.SelectedValue.Contiene("NC", "DEV", "Ant") Then
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -43,6 +43,23 @@ Partial Class Inventarios_EntradasSalidas
|
||||
ViewState("DtMovimientosSalidaInvFisico") = value
|
||||
End Set
|
||||
End Property
|
||||
Public Property DtMovimientosEntradaCambioVigencias() As DataTable
|
||||
Get
|
||||
Return CType(ViewState("DtMovimientosEntradaCambioVigencias"), DataTable)
|
||||
End Get
|
||||
Set(value As DataTable)
|
||||
ViewState("DtMovimientosEntradaCambioVigencias") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public Property DtMovimientosCambioVigencias() As DataTable
|
||||
Get
|
||||
Return CType(ViewState("DtMovimientosCambioVigencias"), DataTable)
|
||||
End Get
|
||||
Set(value As DataTable)
|
||||
ViewState("DtMovimientosCambioVigencias") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public Property CveMovimiento() As Integer
|
||||
Get
|
||||
@@ -366,11 +383,13 @@ Partial Class Inventarios_EntradasSalidas
|
||||
|
||||
End If
|
||||
|
||||
'HABILITA EL CAMBIO DE VIGENCIAS
|
||||
If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then
|
||||
LnkCambioVigencia.Visible = True
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
#Region " PERMISOS PAGINAS "
|
||||
@@ -470,9 +489,16 @@ Partial Class Inventarios_EntradasSalidas
|
||||
CargaGVM(dt)
|
||||
|
||||
DtMovimientos = dt.Clone
|
||||
|
||||
DtMovimientosEntradaInvFisico = dt.Clone
|
||||
DtMovimientosSalidaInvFisico = dt.Clone
|
||||
|
||||
DtMovimientosCambioVigencias = dt.Clone
|
||||
DtMovimientosCambioVigencias.Columns.Add("CvePSVigencia", Type.GetType("System.Int32"))
|
||||
DtMovimientosCambioVigencias.Columns.Add("CodigoPSVigencia", Type.GetType("System.String"))
|
||||
DtMovimientosCambioVigencias.Columns.Add("CveUMVigencia", Type.GetType("System.Int32"))
|
||||
|
||||
|
||||
End Sub
|
||||
Private Sub CargaCombos()
|
||||
'Llenar el dropdownlist de Secciones
|
||||
@@ -515,15 +541,19 @@ Partial Class Inventarios_EntradasSalidas
|
||||
|
||||
End If
|
||||
DdlAlmacenInventarioFisico.DataSource = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1).FiltraParametros("CveTipoAlmacen NOT IN (9,11)") 'GlobalDTAlmacen(UsuarioActual.CveEmpresa)
|
||||
DdlAlmacenCambioVigencias.DataSource = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1).FiltraParametros("CveTipoAlmacen NOT IN (9,11)")
|
||||
|
||||
DdlAlmacen.Items.Insert(0, New ListItem("Seleccione", "-1"))
|
||||
DdlAlmacenInventarioFisico.Items.Insert(0, New ListItem("Seleccione", "-1"))
|
||||
DdlAlmacenCambioVigencias.Items.Insert(0, New ListItem("Seleccione", "-1"))
|
||||
|
||||
DdlAlmacen.SelectedValue = "-1"
|
||||
DdlAlmacenInventarioFisico.SelectedValue = "-1"
|
||||
DdlAlmacenCambioVigencias.SelectedValue = "-1"
|
||||
|
||||
DdlAlmacen.DataBind()
|
||||
DdlAlmacenInventarioFisico.DataBind()
|
||||
DdlAlmacenCambioVigencias.DataBind()
|
||||
|
||||
If IsNothing(Request("CveMovimiento")) Then
|
||||
DdlAlmacen.SelectedValueExist(UsuarioActual.CveAlmacen)
|
||||
@@ -546,6 +576,7 @@ Partial Class Inventarios_EntradasSalidas
|
||||
DdlProducto2.setEsWebService(UsuarioActual.Empresa.Funcionalidad(105) = "1")
|
||||
DdlPS.setEsWebService(UsuarioActual.Empresa.Funcionalidad(105) = "1")
|
||||
DdlPSSalida.setEsWebService(UsuarioActual.Empresa.Funcionalidad(105) = "1")
|
||||
DdlPSCambioSalida.setEsWebService(UsuarioActual.Empresa.Funcionalidad(105) = "1")
|
||||
|
||||
If UsuarioActual.CveEmpresa = 66 Then
|
||||
DdlProducto2.ddlWS.Attributes.Add("data-pagina", "Inventarios")
|
||||
@@ -555,14 +586,17 @@ Partial Class Inventarios_EntradasSalidas
|
||||
DdlProducto2.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa).FiltraParametros("CveTipoPS = 2")
|
||||
DdlPS.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa).FiltraParametros("CveTipoPS = 2")
|
||||
DdlPSSalida.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa).FiltraParametros("CveTipoPS = 2")
|
||||
DdlPSCambioSalida.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa).FiltraParametros("CveTipoPS = 2")
|
||||
|
||||
DdlProducto2.DataBind()
|
||||
DdlPS.DataBind()
|
||||
DdlPSSalida.DataBind()
|
||||
DdlPSCambioSalida.DataBind()
|
||||
|
||||
DdlProducto2.ddl.Items.Insert(0, New ListItem("Seleccione", "-1"))
|
||||
DdlPS.ddl.Items.Insert(0, New ListItem("Seleccione", "-1"))
|
||||
DdlPSSalida.ddl.Items.Insert(0, New ListItem("Seleccione", "-1"))
|
||||
DdlPSCambioSalida.ddl.Items.Insert(0, New ListItem("Seleccione", "-1"))
|
||||
End If
|
||||
|
||||
End Sub
|
||||
@@ -2492,7 +2526,7 @@ Partial Class Inventarios_EntradasSalidas
|
||||
'codigo provisional, hay entradas con productos, que al asignar serie, debe de tener e ncantidad = 1
|
||||
If GvRow.DataKey("Cantidad").ToEntero() > 1 Then txtCantidad.Enabled = True
|
||||
End If
|
||||
txtCantidad.Text = GvRow.DataKey("Cantidad").ToEntero().ToString
|
||||
txtCantidad.Text = GvRow.DataKey("Cantidad").ToEntero().ToString
|
||||
DdlProducto2.SelectedValue = GvRow.DataKey("CvePS")
|
||||
DdlProducto2.SelectedText = GvRow.DataKey("CodigoPS")
|
||||
ElProductoChange()
|
||||
@@ -2653,6 +2687,25 @@ Partial Class Inventarios_EntradasSalidas
|
||||
|
||||
|
||||
#Region " CONTABILIZAR "
|
||||
|
||||
Public Function ContabilizaMovimientoAlmacen(ByRef ObjConta As ClsContabilidad, Fecha As Date, Concepto As String, Modulo As String, CveMovimientoSalida As Integer, CveMovimientoEntrada As Integer, Importe As Decimal, CveUsuario As Integer, CveEmpresa As Integer, Contabilizable As Boolean) As Integer
|
||||
Dim Retorno As Integer = -1
|
||||
Dim ErrorMovInv As Boolean = False
|
||||
|
||||
Dim CvePrePoliza As Integer = ObjConta.AddPrePolizas(Modulo, 53, 0, 0, 1, Fecha, Concepto, CveUsuario, CveEmpresa)
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Importe, "", 68, Concepto, Fecha, -1, -1, CveMovimientoAlmacen:=CveMovimientoSalida, ImporteMX:=Importe, Contabilizable:=Contabilizable) Then
|
||||
ErrorMovInv = True
|
||||
End If
|
||||
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Importe, "", 68, Concepto, Fecha, -1, -1, CveMovimientoAlmacen:=CveMovimientoEntrada, ImporteMX:=Importe, Contabilizable:=Contabilizable) Then
|
||||
ErrorMovInv = True
|
||||
End If
|
||||
|
||||
If Not ErrorMovInv Then Retorno = CvePrePoliza
|
||||
|
||||
Return Retorno
|
||||
End Function
|
||||
|
||||
Protected Sub BtnContabilizar_Click(sender As Object, e As EventArgs) Handles BtnContabilizar.Click
|
||||
Dim ObjContaAC As ClsContPAQi = Nothing
|
||||
Dim ObjInventario As New ClsInventarios
|
||||
@@ -3609,6 +3662,10 @@ Partial Class Inventarios_EntradasSalidas
|
||||
RegistraScript(String.Format("$('#{0}').modal();", "DivModalCambioFisico"))
|
||||
End Sub
|
||||
|
||||
Protected Sub LnkCambioVigencia_Click(sender As Object, e As EventArgs)
|
||||
RegistraScript(String.Format("$('#{0}').modal();", "DivModalCambiarVigencias"))
|
||||
End Sub
|
||||
|
||||
#Region "ENTRADAS"
|
||||
Private Sub BtnAgregarEntrada_Click(sender As Object, e As EventArgs) Handles BtnAgregarEntrada.Click
|
||||
If Not DdlPS.SelectedValue.ToEntero > 0 Then
|
||||
@@ -3809,6 +3866,127 @@ Partial Class Inventarios_EntradasSalidas
|
||||
|
||||
CargaGvSalidas(DtMovimientosSalidaInvFisico)
|
||||
End Sub
|
||||
|
||||
#End Region
|
||||
|
||||
#Region "CAMBIO VIGENCIA"
|
||||
Private Sub LnkAddSalidaCambio_Click(sender As Object, e As EventArgs) Handles LnkAddSalidaCambio.Click
|
||||
If Not DdlPSCambioSalida.SelectedValue.ToEntero > 0 Then
|
||||
RegistraScript("playsonidito('142608__autistic-lucario__error.wav')")
|
||||
Alert("Es necesario especificar el producto.", TipoMensaje.MsgAdvertencia)
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
AddPSCambioSalida(DdlPSCambioSalida.SelectedValue.ToEntero, TxtCantCambio.Text.ToDouble)
|
||||
End Sub
|
||||
|
||||
Protected Sub AddPSCambioSalida(CvePS As Integer, Cantidad As Double)
|
||||
If DdlAlmacenCambioVigencias.SelectedValue.ToEntero <= 0 Then Alert("Seleccione un almacen", TipoMensaje.MsgAdvertencia) : RegistraScript("playsonidito('142608__autistic-lucario__error.wav')") : DdlPSCambioSalida.SelectedText = "" : Exit Sub
|
||||
|
||||
Dim Valido As Boolean = True
|
||||
|
||||
If Valido Then
|
||||
Dim CveClasificacion As Integer
|
||||
Dim CveUM As Double
|
||||
Dim CodigoPS As String = ""
|
||||
Dim PS As String = ""
|
||||
|
||||
Dim CveSeccionAlmacen As Integer = DdlSeccionAlmacenSalida.SelectedValue.ToEntero
|
||||
Dim Serie As String = If(TxtSerieSalida.Text = "", "", TxtSerieSalida.Text)
|
||||
Dim Lote As String = If(TxtLoteSalida.Text = "", "", TxtLoteSalida.Text)
|
||||
Dim Caducidad As String = If(TxtCaducidadSalida.Text = "", MinFecha.ToShortDateString, TxtCaducidadSalida.Text)
|
||||
|
||||
Dim dr As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS).FiltroPrimero("", "PS")
|
||||
If dr IsNot Nothing Then
|
||||
CveClasificacion = dr("CveClasificacion").ToString.ToEntero
|
||||
CveUM = dr("CveUM").ToString.ToEntero
|
||||
CodigoPS = dr("PSCodigo").ToString.ToString
|
||||
PS = dr("PS").ToString.ToString
|
||||
End If
|
||||
|
||||
Dim registro As DataRow = DtMovimientosCambioVigencias.NewRow
|
||||
registro.Item("Cantidad") = Cantidad
|
||||
registro.Item("CveUM") = CveUM
|
||||
registro.Item("CvePS") = CvePS
|
||||
registro.Item("CodigoPS") = CodigoPS
|
||||
registro.Item("PS") = PS
|
||||
registro.Item("PU") = 0
|
||||
registro.Item("Total") = 0
|
||||
registro.Item("CveClasificacion") = CveClasificacion
|
||||
registro.Item("Estatus") = ""
|
||||
registro.Item("CveSeccionAlmacen") = CveSeccionAlmacen
|
||||
registro.Item("Serie") = Serie
|
||||
registro.Item("Lote") = Lote
|
||||
registro.Item("FechaCaducidad") = Caducidad
|
||||
|
||||
If CvePS > 0 Then
|
||||
Using ObjPS As New ClsProductosServicios()
|
||||
If ObjPS.GetPS(CvePS, -1, UsuarioActual.CveEmpresa) AndAlso ObjPS.DtResultados.Rows.Count > 0 Then
|
||||
Dim CvePSAdicionalVigencia = ObjPS.DtResultados.Rows(0)("CvePSAdicionalVigencia").ToString.ToEntero()
|
||||
Dim CodigoPSVigencia As String = ObjPS.DtResultados.Rows(0)("CodigoPSVigencia").ToString
|
||||
'SI EXISTE UN MOVIMIENTO DE VIGENCIA
|
||||
If CvePSAdicionalVigencia > 0 Then
|
||||
|
||||
If ObjPS.GetPS(CvePSAdicionalVigencia, -1, UsuarioActual.CveEmpresa) AndAlso ObjPS.DtResultados.Rows.Count > 0 Then
|
||||
registro.Item("CvePSVigencia") = CvePSAdicionalVigencia
|
||||
registro.Item("CodigoPSVigencia") = CodigoPSVigencia
|
||||
registro.Item("CveUMVigencia") = ObjPS.DtResultados.Rows(0)("CveUM").ToString.ToEntero()
|
||||
|
||||
DtMovimientosCambioVigencias.Rows.Add(registro)
|
||||
End If
|
||||
|
||||
Else
|
||||
Alert("Este producto no tiene un producto de vigencia relacionado", TipoMensaje.MsgAdvertencia)
|
||||
End If
|
||||
End If
|
||||
End Using
|
||||
End If
|
||||
|
||||
CargaGvCambioSalidas(DtMovimientosCambioVigencias)
|
||||
|
||||
RegistraScript("playsonidito('beep-07.wav')")
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Protected Sub DeleteRowCambioVigencia(ByVal sender As Object, ByVal e As EventArgs)
|
||||
Dim lnkRemove As LinkButton = DirectCast(sender, LinkButton)
|
||||
|
||||
If DtMovimientosCambioVigencias.Rows.Count > 0 And lnkRemove.CommandArgument.ToString.Length > 0 Then
|
||||
Dim i As Integer
|
||||
i = lnkRemove.CommandArgument.ToString.ToEntero
|
||||
Dim Drs As DataRow() = DtMovimientosCambioVigencias.Select(String.Format("No = {0}", i))
|
||||
If Drs.Count > 0 Then
|
||||
|
||||
Drs(0).Delete()
|
||||
End If
|
||||
DtMovimientosCambioVigencias.AcceptChanges()
|
||||
End If
|
||||
|
||||
GvSalidasCambioVigencia.EditIndex = -1
|
||||
|
||||
CargaGvCambioSalidas(DtMovimientosCambioVigencias)
|
||||
End Sub
|
||||
|
||||
Private Sub CargaGvCambioSalidas(DtTemp As DataTable)
|
||||
GvSalidasCambioVigencia.DataSource = DtTemp
|
||||
GvSalidasCambioVigencia.DataBind()
|
||||
|
||||
If DtTemp IsNot Nothing AndAlso DtTemp.Rows.Count > 0 Then
|
||||
GvSalidasCambioVigencia.Columns(2).Visible = DtTemp.MAX("CveSeccionAlmacen").ToEntero > 0
|
||||
GvSalidasCambioVigencia.Columns(3).Visible = DtTemp.MAX("Serie") <> ""
|
||||
GvSalidasCambioVigencia.Columns(4).Visible = DtTemp.MAX("Lote") <> ""
|
||||
GvSalidasCambioVigencia.Columns(5).Visible = DtTemp.MAX("FechaCaducidad").ToDate > MinFecha
|
||||
GvSalidasCambioVigencia.Columns(5).HeaderText = If(UsuarioActual.Empresa.Funcionalidad(147) = "Fecha Elaboración", "Fecha Elaboración", "Fecha Caducidad")
|
||||
End If
|
||||
UpGvCambioSalidas.Update()
|
||||
End Sub
|
||||
Protected Sub GvSalidasCambioVigencia_RowDataBound(sender As Object, e As GridViewRowEventArgs)
|
||||
If e.Row.RowType = DataControlRowType.DataRow Then
|
||||
e.Row.Cells(1).CssClass = "SubTotales"
|
||||
e.Row.Cells(6).CssClass = "Totales"
|
||||
End If
|
||||
End Sub
|
||||
|
||||
#End Region
|
||||
|
||||
#Region "GUARDAR"
|
||||
@@ -4034,6 +4212,133 @@ Partial Class Inventarios_EntradasSalidas
|
||||
ObjInventario.Dispose() 'elimino la instancia
|
||||
|
||||
End Sub
|
||||
Private Sub BtnGuardarCambiosVigencia_Click(sender As Object, e As EventArgs) Handles BtnGuardarCambiosVigencia.Click
|
||||
|
||||
If GvSalidasCambioVigencia.Rows.Count = 0 Then
|
||||
Alert("No hay ningun registro para generar el movimiento. Por favor rectifique y vuelva a intentar.", TipoMensaje.MsgError)
|
||||
RegistraScript("playsonidito('142608__autistic-lucario__error.wav')")
|
||||
RegistraScript(String.Format("$('#{0}').modal();", "DivModalCambioFisico"))
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
Dim ObjInventario As New ClsInventarios
|
||||
Dim ObjConta As New ClsContabilidad(ObjInventario.IniciaTransacSQL())
|
||||
Dim CveMovimientoEntrada As Integer = -1
|
||||
Dim CveMovimientoSalida As Integer = -1
|
||||
Dim ErrorMovInv As Boolean = False
|
||||
Dim Mensaje As String = ""
|
||||
Dim ValorEntrada As Decimal = 0
|
||||
Dim ValorSalida As Decimal = 0
|
||||
Dim ImporteConcepto As Decimal = 0
|
||||
Dim tConcepto As String = TxtObsCambioVigencia.Text.Trim
|
||||
Dim Fecha = TxtFechaCambio.Text.ToDate.ToString("yyyy/MM/dd").ToDate
|
||||
Dim tCveSubProyecto As Integer = -1
|
||||
Dim TipoMovto As Boolean = False
|
||||
Dim idCtaContableEntrada As Integer = 0
|
||||
Dim idCtaContableSalida As Integer = 0
|
||||
|
||||
Dim FolioSalida As Integer = 0
|
||||
Dim FolioEntrada As Integer = 0
|
||||
|
||||
Dim IdCuentaOtrosIngresos As Integer = UsuarioActual.Empresa.IdCuentaOtrosIngresos
|
||||
|
||||
Dim CveAlmacen As Integer = DdlAlmacenCambioVigencias.SelectedValue.ToEntero
|
||||
|
||||
Dim CveModalidad As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa, CveAlmacen:=CveAlmacen).FiltroPrimeroValor("CveModalidad").ToEntero()
|
||||
|
||||
Dim EsContabilizable As Boolean = (CveModalidad = 1)
|
||||
|
||||
'MOVIMIENTOS
|
||||
If DtMovimientosCambioVigencias.Rows.Count > 0 Then
|
||||
FolioSalida = ObjInventario.GetFolioSiguiente(8, UsuarioActual.CveEmpresa)
|
||||
CveMovimientoSalida = ObjInventario.AddMovimiento(CveAlmacen, 8, 1, Fecha, FolioSalida, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, Observaciones:=TxtObsCambioVigencia.Text.Trim, Modulo:="ES/CV1")
|
||||
|
||||
FolioEntrada = ObjInventario.GetFolioSiguiente(9, UsuarioActual.CveEmpresa)
|
||||
CveMovimientoEntrada = ObjInventario.AddMovimiento(CveAlmacen, 9, 1, Fecha, FolioEntrada, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, Observaciones:=TxtObsCambioVigencia.Text.Trim, CveMovimientoRelacionado:=CveMovimientoSalida, Modulo:="ES/CV2")
|
||||
End If
|
||||
|
||||
|
||||
'VALIDA, sino hay registrado ningun movimiento, que no siga
|
||||
If (CveMovimientoEntrada <= 0 AndAlso CveMovimientoSalida <= 0) Then
|
||||
Alert("Ocurrió un error al realizar los registros. Por favor verifique y vuelva a intentar", TipoMensaje.MsgError)
|
||||
RegistraScript("playsonidito('142608__autistic-lucario__error.wav')")
|
||||
ObjInventario.RollBack() 'deshace lo insertado.
|
||||
ObjInventario.Dispose() 'elimino la instancia
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
'VALIDA EXISTENCIAS SALIDA E INSERTA DETALLES
|
||||
For Each Dr As DataRow In DtMovimientosCambioVigencias.Rows
|
||||
If ObjInventario.GetExistenciasPS(Dr("CvePS").ToString.ToEntero, Dr("CveUM").ToString.ToEntero, UsuarioActual.CveEmpresa, DdlAlmacenInventarioFisico.SelectedValue.ToEntero, PendientePorSurtir:=1) >= Dr("Cantidad").ToString.ToDouble Then
|
||||
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoSalida, Dr("Cantidad").ToString.ToDouble, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero,
|
||||
Dr("PU").ToString.ToDecimal, -1, CveSeccionAlmacen:=Dr("CveSeccionAlmacen").ToString.ToEntero, Serie:=Dr("Serie").ToString,
|
||||
Lote:=Dr("Lote").ToString, FechaCaducidad:=Dr("FechaCaducidad").ToString.ToDate) Then
|
||||
Mensaje = "Ocurrió un error al guardar los movimientos de salida"
|
||||
ErrorMovInv = True
|
||||
Exit For
|
||||
Else
|
||||
'OBTIENE EL COSTO DE LA SALIDA
|
||||
If Not ObjInventario.GetMovimientosDetalle(CveMovimientoSalida, UsuarioActual.CveEmpresa, CveMovimientoDetalle:=ObjInventario.CveMovimientoDetalle) AndAlso ObjInventario.DtResultados.Rows.Count > 0 Then
|
||||
Mensaje = "Ocurrió un error al guardar los movimientos de salida"
|
||||
ErrorMovInv = True
|
||||
Exit For
|
||||
Else
|
||||
Dim PUEntrada As Decimal = ObjInventario.DtResultados.Rows(0)("PU").ToString().ToDecimal()
|
||||
ImporteConcepto += PUEntrada * Dr("Cantidad").ToString.ToDecimal()
|
||||
|
||||
'INSERTA EL MOVIMIENTO DE ENTRADA
|
||||
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntrada, Dr("Cantidad").ToString.ToDouble, Dr("CveUMVigencia").ToString.ToEntero, Dr("CvePSVigencia").ToString.ToEntero, PUEntrada, CveSeccionAlmacen:=Dr("CveSeccionAlmacen").ToString.ToEntero) Then
|
||||
Mensaje = "Ocurrió un error al guardar los movimientos de entrada"
|
||||
ErrorMovInv = True
|
||||
Exit For
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
Else
|
||||
Mensaje = String.Format("No hay existencias suficientes del producto: {0}", Dr("PS"))
|
||||
RegistraScript("playsonidito('142608__autistic-lucario__error.wav')")
|
||||
ErrorMovInv = True
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
|
||||
'CONTABILIZAR MOVIMIENTOS
|
||||
If Not ErrorMovInv Then
|
||||
If Not ContabilizaMovimientoAlmacen(ObjConta, Now, "CAMBIO DE VIGENCIA", "ES/CV", CveMovimientoSalida, CveMovimientoEntrada, ImporteConcepto, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, False) > 0 Then
|
||||
ErrorMovInv = True
|
||||
Mensaje = "No se pudo generar el movimiento de prepoliza"
|
||||
End If
|
||||
End If
|
||||
|
||||
If Not ErrorMovInv Then
|
||||
ObjInventario.Commit() ' aplica los movimientos insertados
|
||||
|
||||
Dim Msg As New StringBuilder
|
||||
Msg.AppendFormat("<br/>El Movimiento de entrada se registró con el Folio: <b><a class=""Texto"" target='_blank' href=""/Inventarios/EntradasSalidas.aspx?CveMovimiento={0}"">{1}</a></b>", CveMovimientoEntrada, FolioEntrada)
|
||||
If CveMovimientoEntrada > 0 Then Msg.AppendFormat("<br/> <a class=""Texto"" target='_blank' href=""/Compras/PopUpVerFactura.aspx?P={0}"">Imprimir Movimiento Entrada</a> ", Encripta(String.Format("OP=Alm&CveMovimiento={0}", CveMovimientoEntrada)))
|
||||
Msg.AppendFormat("<br/><br/>El Movimiento de salida se registró con el Folio: <b><a class=""Texto"" target='_blank' href=""/Inventarios/EntradasSalidas.aspx?CveMovimiento={0}"">{1}</a></b>", CveMovimientoSalida, FolioSalida)
|
||||
If CveMovimientoSalida > 0 Then Msg.AppendFormat("<br/> <a class=""Texto"" target='_blank' href=""/Compras/PopUpVerFactura.aspx?P={0}"">Imprimir Movimiento Salida</a> ", Encripta(String.Format("OP=Alm&CveMovimiento={0}", CveMovimientoSalida)))
|
||||
Alert(Msg.ToString, TipoMensaje.MsgInformacion)
|
||||
|
||||
RegistraScript("playsonidito('beep-07.wav');$('#DivModalCambiarVigencias').modal('hide');")
|
||||
|
||||
DtMovimientosCambioVigencias.Clear()
|
||||
|
||||
GvSalidasCambioVigencia.DataSource = DtMovimientosCambioVigencias
|
||||
GvSalidasCambioVigencia.DataBind()
|
||||
|
||||
TxtObsCambioVigencia.Text = ""
|
||||
|
||||
Else
|
||||
ObjInventario.RollBack()
|
||||
|
||||
Alert(Mensaje, TipoMensaje.MsgError)
|
||||
|
||||
RegistraScript("playsonidito('142608__autistic-lucario__error.wav')")
|
||||
End If
|
||||
ObjInventario.Dispose() 'elimino la instancia
|
||||
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
#End Region
|
||||
@@ -4530,4 +4835,6 @@ Partial Class Inventarios_EntradasSalidas
|
||||
End Sub
|
||||
|
||||
|
||||
|
||||
|
||||
End Class
|
||||
|
||||
@@ -2676,6 +2676,48 @@ Partial Class Inventarios_RecepcionUsados
|
||||
HdnPSAjusteMarca.Value = CveMarca.ToString()
|
||||
HdnPSAjusteClasificacion.Value = CveClasificacion.ToString()
|
||||
|
||||
Dim CveSubProyecto = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $"CveAlmacen={DdlAlmacen.SelectedValue}").ToEntero
|
||||
|
||||
If UsuarioActual.Empresa.Funcionalidad(404).ToEntero > 0 Then 'cuando el valor es 10.- secuencia Cliente/Sucursal, 20 - sucursal/cliente
|
||||
Dim TipoPrecioLista As Integer = UsuarioActual.Empresa.Funcionalidad(404).ToEntero
|
||||
' si es 10. primero el cliente
|
||||
Dim CvePrecioListaPS As Integer
|
||||
Dim PorcentajePrecio As Decimal = 0
|
||||
|
||||
If TipoPrecioLista = 10 Then
|
||||
CvePrecioListaPS = GlobalDTCliente(UsuarioActual.CveEmpresa, Estatus:=-1, CveCliente:=DdlClientes.SelectedValue.ToEntero()).FiltroPrimeroValor("CvePrecioLista").ToEntero()
|
||||
If CvePrecioListaPS <= 0 Then
|
||||
CvePrecioListaPS = GlobalDTSubProyectos(-1, CveSubProyecto:=CveSubProyecto, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimeroValor("CvePrecioLista", "").ToEntero()
|
||||
End If
|
||||
Else
|
||||
CvePrecioListaPS = GlobalDTSubProyectos(-1, CveSubProyecto:=CveSubProyecto, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimeroValor("CvePrecioLista", "").ToEntero()
|
||||
If CvePrecioListaPS <= 0 Then
|
||||
CvePrecioListaPS = GlobalDTCliente(UsuarioActual.CveEmpresa, Estatus:=-1, CveCliente:=DdlClientes.SelectedValue.ToEntero()).FiltroPrimeroValor("CvePrecioLista").ToEntero()
|
||||
End If
|
||||
End If
|
||||
|
||||
If CvePrecioListaPS > 0 Then
|
||||
Dim ObjPS As New ClsProductosServicios
|
||||
If ObjPS.GetPSPreciosLista(UsuarioActual.CveEmpresa, CvePrecioListaPS, CvePS:=CvePSParametro) Then
|
||||
PrecioSugerido = ObjPS.DtResultados.FiltroPrimeroValor("PrecioLista").ToDecimal
|
||||
PorcentajePrecio = ObjPS.DtResultados.FiltroPrimeroValor("Porcentaje").ToDecimal
|
||||
End If
|
||||
ObjPS.Dispose()
|
||||
End If
|
||||
|
||||
If PrecioSugerido = 0 Then
|
||||
Dim ObjInventarios As New ClsInventarios
|
||||
Dim CostoPS = ObjInventarios.GetCostoPS(CvePSParametro, txtCantidad.Text.Trim.ToDouble, -1, "-1", TxtFecha.Text.ToDate, CveSubProyecto, CveTipoAlmacen:=1)
|
||||
'si el costo es cero, puede ser que no halla movimientos del producto, en esa sucursal. y se volverá a sacar sin especificar sucursal
|
||||
If CostoPS = 0 Then CostoPS = ObjInventarios.GetCostoPS(CvePSParametro, txtCantidad.Text.Trim.ToDouble, -1, "-1", TxtFecha.Text.ToDate, -1, CveTipoAlmacen:=1)
|
||||
ObjInventarios.Dispose()
|
||||
If CostoPS > 0 And PorcentajePrecio > 0 Then
|
||||
PrecioSugerido = ((PorcentajePrecio / 100) + 1) * CostoPS
|
||||
End If
|
||||
End If
|
||||
'CvePrecioLista = CvePrecioListaPS
|
||||
End If
|
||||
|
||||
Dim MarcaPorcentaje As DataRow = DtPorcentajeMarcas.FiltroPrimero(String.Format("CveMarca = {0}", drPS("CveMarca").ToString))
|
||||
If MarcaPorcentaje IsNot Nothing Then
|
||||
Dim PorcentajeProducto As Decimal = MarcaPorcentaje("PorcentajeProducto").ToString.ToDecimal / 100
|
||||
@@ -2705,6 +2747,7 @@ Partial Class Inventarios_RecepcionUsados
|
||||
TxtPUFactura.Text = PrecioSugerido.FormatoNumero(2)
|
||||
End If
|
||||
UpModalAgregar.Update()
|
||||
UpAjuste.Update()
|
||||
End Sub
|
||||
|
||||
Private Sub CargaBCIAjuste()
|
||||
|
||||
@@ -812,8 +812,7 @@
|
||||
|
||||
<div runat="server" id="DVCultivosCuadro" visible ="false">
|
||||
<asp:DropDownList ID="DdlCultivosCuadro" CssClass=" form-control input-sm select2me" runat="server" DataTextField="Cuadro" Style="width: 100%; max-width: 600px;"
|
||||
DataValueField="CveCultivoCuadroDetalle" ValidationGroup="GrpDetalleGuardar">
|
||||
<asp:ListItem Selected="true" Text="Seleccione" Value="-1"></asp:ListItem>
|
||||
DataValueField="CveCultivoCuadroDetalle" ValidationGroup="GrpDetalleGuardar">
|
||||
</asp:DropDownList>
|
||||
</div>
|
||||
|
||||
@@ -941,7 +940,7 @@
|
||||
<asp:TemplateField>
|
||||
<ItemTemplate>
|
||||
|
||||
<asp:Literal ID="LtlSubProyecto" runat="server" Text='<%# String.Format("{0}<br/>{1}{2}", Eval("Proyecto"), Eval("SubProyecto"), If(Eval("CveCultivoCuadroDetalle").ToString.Length > 0, String.Format("<br/>{0}", Eval("Cuadro")), "")) %>'></asp:Literal>
|
||||
<asp:Literal ID="LtlSubProyecto" runat="server" Text='<%# String.Format("{0}<br/>{1}{2}", Eval("Proyecto"), Eval("SubProyecto"), If(Eval("CveCultivoCuadroDetalle").ToString <> "" And Eval("CveCultivoCuadroDetalle").ToString <> "0" And Eval("CveCultivoCuadroDetalle").ToString <> "-1", String.Format("<br/>{0}", Eval("Cuadro")), "")) %>'></asp:Literal>
|
||||
|
||||
|
||||
|
||||
@@ -951,7 +950,8 @@
|
||||
<asp:DropDownList ID="DdlProyectoEdit" runat="server" Style="width: 100%" AppendDataBoundItems="true" AutoPostBack="true" CssClass=" form-control input-sm select2me" DataTextField="Proyecto" DataValueField="CveProyecto" ValidationGroup="grpEditar" OnSelectedIndexChanged="DdlProyectoEdit_SelectedIndexChanged">
|
||||
<asp:ListItem Text="Seleccione" Value="-1"></asp:ListItem>
|
||||
</asp:DropDownList>
|
||||
<asp:DropDownList ID="DdlSubProyectoEdit" Style="width: 100%" runat="server" AppendDataBoundItems="true" CssClass=" form-control input-sm select2me" DataTextField="SubProyecto" DataValueField="CveSubProyecto" ValidationGroup="grpEditar">
|
||||
<asp:DropDownList ID="DdlSubProyectoEdit" Style="width: 100%" runat="server" AppendDataBoundItems="true" CssClass=" form-control input-sm select2me" OnSelectedIndexChanged="DdlSubProyectoEdit_SelectedIndexChanged" AutoPostBack="true"
|
||||
DataTextField="SubProyecto" DataValueField="CveSubProyecto" ValidationGroup="grpEditar">
|
||||
<asp:ListItem Text="Seleccione" Value="-1"></asp:ListItem>
|
||||
</asp:DropDownList>
|
||||
<asp:DropDownList ID="DdlCultivosCuadroEdit" Visible="false" CssClass=" form-control input-sm select2me" runat="server" DataTextField="Cuadro" Style="width: 100%; max-width: 600px;"
|
||||
|
||||
@@ -801,9 +801,8 @@ Partial Class OC
|
||||
|
||||
If UsuarioActual.Empresa.Funcionalidad(590).ToString.ToEntero = 1 Then
|
||||
DVCultivosCuadro.Visible = True
|
||||
DdlCultivosCuadro.DataSource = GlobalDTCultivosCuadro(UsuarioActual.CveEmpresa)
|
||||
DdlCultivosCuadro.DataBind()
|
||||
DdlCultivosCuadro.Items.Insert(0, New ListItem("Seleccione uno", "-1"))
|
||||
|
||||
End If
|
||||
|
||||
'SOLO SE MUESTRA CUANDO ES REGISTRO NUEVO
|
||||
@@ -3747,7 +3746,7 @@ Partial Class OC
|
||||
|
||||
If UsuarioActual.Empresa.Funcionalidad(590).ToString.ToEntero = 1 Then
|
||||
e.Row.FCDropDownList("DdlCultivosCuadroEdit").Visible = True
|
||||
e.Row.FCDropDownList("DdlCultivosCuadroEdit").DataSource = GlobalDTCultivosCuadro(UsuarioActual.CveEmpresa)
|
||||
e.Row.FCDropDownList("DdlCultivosCuadroEdit").DataSource = GlobalDTCultivosCuadro(UsuarioActual.CveEmpresa).FiltraParametros($"CveSubProyecto = {e.Row.DBCampo("CveSubProyecto").ToEntero}")
|
||||
e.Row.FCDropDownList("DdlCultivosCuadroEdit").DataBind()
|
||||
|
||||
e.Row.FCDropDownList("DdlCultivosCuadroEdit").Items.Insert(0, New ListItem("Seleccione uno", "-1"))
|
||||
@@ -6864,6 +6863,18 @@ Partial Class OC
|
||||
If UsuarioActual.Empresa.Funcionalidad(141) = "1" Or True Then
|
||||
SeleccionaSucursal()
|
||||
End If
|
||||
|
||||
|
||||
If UsuarioActual.Empresa.Funcionalidad(590).ToString.ToEntero = 1 Then
|
||||
|
||||
DdlCultivosCuadro.Items.Clear()
|
||||
DdlCultivosCuadro.DataSource = GlobalDTCultivosCuadro(UsuarioActual.CveEmpresa).FiltraParametros($" CveSubProyecto = {DdlSubProyecto.SelectedValue}")
|
||||
DdlCultivosCuadro.DataBind()
|
||||
DdlCultivosCuadro.Items.Insert(0, New ListItem("Seleccione uno", "-1"))
|
||||
|
||||
End If
|
||||
|
||||
|
||||
End Sub
|
||||
Private Sub CargaSucursal()
|
||||
DdlSucursal.DataSource = GlobalDTSubProyectos(-1).FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa)
|
||||
@@ -8414,4 +8425,19 @@ Partial Class OC
|
||||
|
||||
End Sub
|
||||
|
||||
Protected Sub DdlSubProyectoEdit_SelectedIndexChanged(sender As Object, e As EventArgs)
|
||||
|
||||
Dim GvRow As GridViewRow = CType(CType(sender, DropDownList).BindingContainer, GridViewRow)
|
||||
|
||||
Dim DdlSubProyectoEdit As DropDownList = GvRow.FCDropDownList("DdlSubProyectoEdit")
|
||||
Dim DdlCultivosCuadroEdit As DropDownList = GvRow.FCDropDownList("DdlCultivosCuadroEdit")
|
||||
Dim CveCultivoCuadroDetalle As Integer = GvRow.DataKey("CveCultivoCuadroDetalle").ToString.ToEntero
|
||||
|
||||
DdlCultivosCuadroEdit.Items.Clear()
|
||||
DdlCultivosCuadroEdit.DataSource = GlobalDTCultivosCuadro(UsuarioActual.CveEmpresa).FiltraParametros($"CveSubProyecto = {DdlSubProyectoEdit.SelectedValue}")
|
||||
DdlCultivosCuadroEdit.DataBind()
|
||||
DdlCultivosCuadroEdit.Items.Insert(0, New ListItem("Seleccione uno", "-1"))
|
||||
DdlCultivosCuadroEdit.SelectedValueExist(CveCultivoCuadroDetalle)
|
||||
|
||||
End Sub
|
||||
End Class
|
||||
|
||||
@@ -4294,6 +4294,14 @@
|
||||
<asp:CompareValidator ID="CVFechaFUsados" runat="server" ControlToValidate="TxtFechaFUsados" Display="None" ErrorMessage="El campo <b>''Fecha Final''</b> no tienes el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="ValidaUsados"></asp:CompareValidator>
|
||||
<ajax:ValidatorCalloutExtender ID="VCEFechaFUsados" runat="server" HighlightCssClass="vco" TargetControlID="CVFechaFUsados" Width="350px"></ajax:ValidatorCalloutExtender>
|
||||
</div>
|
||||
<label class="col-md-1 " style="width: 120px; text-align: right">Concepto:</label>
|
||||
<div class="col-md-2" style="width: 120px">
|
||||
<asp:DropDownList ID="DdlConceptoUsado" runat="server" AppendDataBoundItems="true" Class="table-group-action-input form-control input-inline input-small input-sm select2me">
|
||||
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
|
||||
<asp:ListItem Text="Entradas" Value="1"></asp:ListItem>
|
||||
<asp:ListItem Text="Salidas" Value="2"></asp:ListItem>
|
||||
</asp:DropDownList>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -9137,7 +9137,7 @@ Partial Class Clientes
|
||||
Dim ImporteCargo As Decimal = 0D
|
||||
Dim ImporteBonificacion As Decimal = 0D
|
||||
|
||||
If ObjAcum.DistribuidorMovtosGet(CveCliente, UsuarioActual.CveEmpresa, TxtFechaIUsados.Text.ToDate, TxtFechaFUsados.Text.ToDate) Then
|
||||
If ObjAcum.DistribuidorMovtosGet(CveCliente, UsuarioActual.CveEmpresa, TxtFechaIUsados.Text.ToDate, TxtFechaFUsados.Text.ToDate, CveConcepto:=DdlConceptoUsado.SelectedValue.ToEntero()) Then
|
||||
|
||||
GvAcum.DataSource = ObjAcum.DtResultados
|
||||
|
||||
|
||||
@@ -1902,7 +1902,7 @@ Partial Class PV
|
||||
For Each Dr As DataRow In TmpDTAjustes.Rows
|
||||
If Not ObjAcum.AddGarantiasDetalle(Dr("CveVentaDetalle").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("CveFolioGarantia").ToString.ToEntero, Dr("CveTipoUso").ToString.ToEntero,
|
||||
Dr("CodigoEnsamble").ToString, Dr("CodigoLinea").ToString, Dr("CodigoInspeccion").ToString, Dr("CveTipoDefecto").ToString.ToEntero,
|
||||
Dr("NumPoliza").ToString, Dr("Importe").ToString.ToDouble, Dr("Consecutivo").ToString, Dr("FechaAjuste").ToString.ToDateTime()) Then
|
||||
Dr("NumPoliza").ToString, Dr("Importe").ToString.ToDouble, Dr("Consecutivo").ToString, Dr("FechaAjuste").ToString.ToDateTime(), Dr("PorcentajeAjuste").ToString.ToDecimal()) Then
|
||||
ErrorList.Add("Ocurrió un error al agregar la garantia detalle.")
|
||||
End If
|
||||
Next
|
||||
|
||||
@@ -224,12 +224,13 @@
|
||||
|
||||
<div class="form-group form-md-line-input input-iconright" runat="server" id="DivPSSAT">
|
||||
<ADS:Dropdownlost runat="server" ID="DdlSATPS" CssStyle="width: 46%;" CssClass="form-control input-sm select2me" DataTextField="Descripcion" DataValueField="CveSATPS" />
|
||||
<%-- <asp:DropDownList ID="DdlSATPS" CssClass="form-control input-sm select2me" runat="server" AppendDataBoundItems="true" AutoPostBack="false" CausesValidation="true" DataTextField="Descripcion" DataValueField="CveSATPS" Width="350px" Enabled="true">
|
||||
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
|
||||
</asp:DropDownList>--%>
|
||||
<label for="<%= DdlSATPS.ClientID.ToString()%>">Producto Servicio SAT:</label>
|
||||
<%-- <asp:RequiredFieldValidator ID="Rfvpssat" runat="server" ControlToValidate="DdlSATPS" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Productos Servicios SAT''</b> es necesario, por favor seleccione uno." InitialValue="-1" ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
|
||||
<ajax:ValidatorCalloutExtender ID="vcepssat" runat="server" HighlightCssClass="vco" TargetControlID="Rfvpssat" Width="300px"></ajax:ValidatorCalloutExtender>--%>
|
||||
<i></i>
|
||||
</div>
|
||||
<br />
|
||||
<div class="form-group form-md-line-input input-iconright" runat="server" id="DivPSAdicionalVigencia" visible="false">
|
||||
<ADS:Dropdownlost runat="server" ID="DdlPSAdicionalVigencia" CssStyle="width: 46%;" CssClass="form-control input-sm select2me" DataTextField="PSCodigo" DataValueField="CvePS" />
|
||||
<label for="<%= DdlPSAdicionalVigencia.ClientID.ToString()%>">Producto de vigencia:</label>
|
||||
<i></i>
|
||||
</div>
|
||||
<br />
|
||||
|
||||
@@ -212,6 +212,11 @@ Partial Class ProductosyServicios
|
||||
DdlIVA.Enabled = False
|
||||
End If
|
||||
|
||||
If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then
|
||||
DivPSAdicionalVigencia.Visible = True
|
||||
CargaPSAdicionalesVigencias()
|
||||
End If
|
||||
|
||||
If CvePS > 0 Then
|
||||
CargaEquivalencias()
|
||||
CargaPSAdicionales()
|
||||
@@ -769,6 +774,12 @@ Partial Class ProductosyServicios
|
||||
DdlSATPS.SelectedText = $"{ObjProductosServicios.SATClavePS} - {ObjProductosServicios.SATDescripcion}"
|
||||
CveSATPS = ObjProductosServicios.CveSATPS
|
||||
End If
|
||||
|
||||
If ObjProductosServicios.DtResultados.Rows(0)("CvePSAdicionalVigencia").ToString.ToEntero() > 0 Then
|
||||
DdlPSAdicionalVigencia.SelectedValue = ObjProductosServicios.DtResultados.Rows(0)("CvePSAdicionalVigencia").ToString
|
||||
DdlPSAdicionalVigencia.SelectedText = ObjProductosServicios.DtResultados.Rows(0)("CodigoPSVigencia").ToString
|
||||
End If
|
||||
|
||||
If ObjProductosServicios.CveFraccionArancelaria.ToString <> Nothing Then
|
||||
DdlFraccionArancelaria.SelectedValue = ObjProductosServicios.CveFraccionArancelaria.ToString
|
||||
DdlFraccionArancelaria.SelectedText = ObjProductosServicios.ClaveSATFraccionArancelariaDescripcion
|
||||
@@ -918,6 +929,14 @@ Partial Class ProductosyServicios
|
||||
DdlSATPS.ddlWS.Attributes.Add("data-metodo", "getpssat")
|
||||
End Sub
|
||||
|
||||
Public Sub CargaPSAdicionalesVigencias()
|
||||
DdlPSAdicionalVigencia.setEsWebService(True)
|
||||
DdlPSAdicionalVigencia.Attributes.Add("data-cvesubproyecto", "-1")
|
||||
DdlPSAdicionalVigencia.ddlWS.Attributes.Add("data-cveclasificacion", "-1")
|
||||
DdlPSAdicionalVigencia.ddlWS.Attributes.Add("data-pagina", "ventas/ventas")
|
||||
DdlPSAdicionalVigencia.ddlWS.Attributes.Add("data-Estatus", "1")
|
||||
End Sub
|
||||
|
||||
Public Sub CargaDdlFraccionArancelaria()
|
||||
DdlFraccionArancelaria.setEsWebService(True)
|
||||
DdlFraccionArancelaria.Attributes.Add("data-metodo", "getfraccionarancelaria")
|
||||
@@ -1218,7 +1237,7 @@ Partial Class ProductosyServicios
|
||||
CveClasificacionDetalle:=DdlTipoPSDes.SelectedValue.ToEntero, CveTamaño:=DdlTamanio.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,
|
||||
ClaveImpuestoTipoProducto:=DdlImpTipoProducto.SelectedValue.ToString, EsOutSourcing:=ChkEsOutSourcing.Checked, TiempoCaducidad:=TiempoCaducidad) > 0 Then
|
||||
ClaveImpuestoTipoProducto:=DdlImpTipoProducto.SelectedValue.ToString, EsOutSourcing:=ChkEsOutSourcing.Checked, TiempoCaducidad:=TiempoCaducidad, CvePSAdicionalVigencia:=DdlPSAdicionalVigencia.SelectedValue.ToEntero()) > 0 Then
|
||||
ViewState("CvePS") = ObjProductosServicios.CvePS
|
||||
For Each GVR As GridViewRow In GvImpuestosLocales.Rows
|
||||
If GVR.FCCheckBox("ChkDeduccion").Checked Then
|
||||
@@ -1267,7 +1286,7 @@ 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,
|
||||
AplicaSerie:=ChkSerie.Checked, AplicaLote:=ChkLote.Checked, AplicaCaducidad:=ChkCaducidad.Checked, AplicaSeccion:=ChkSeccion.Checked, TiempoCaducidad:=TiempoCaducidad) Then
|
||||
AplicaSerie:=ChkSerie.Checked, AplicaLote:=ChkLote.Checked, AplicaCaducidad:=ChkCaducidad.Checked, AplicaSeccion:=ChkSeccion.Checked, TiempoCaducidad:=TiempoCaducidad, CvePSAdicionalVigencia:=DdlPSAdicionalVigencia.SelectedValue.ToEntero()) Then
|
||||
|
||||
If Not ObjProductosServicios.LimpiaImpuestosLocales(CvePS) Then
|
||||
TieneError = True
|
||||
|
||||
@@ -6152,7 +6152,7 @@
|
||||
<br />
|
||||
<div class="col-md-12" style="height: 440px; overflow: auto">
|
||||
<asp:GridView ID="GvCxC" runat="server" AutoGenerateColumns="False" OnRowDataBound="GvCxC_RowDataBound"
|
||||
DataKeyNames="CveVenta" CssClass="table table-striped table-advance table-hover Widthall mysmallbtn" GridLines="None">
|
||||
DataKeyNames="CveVenta,CveMetodoPago33,CveFormaPago33" CssClass="table table-striped table-advance table-hover Widthall mysmallbtn" GridLines="None">
|
||||
<Columns>
|
||||
<asp:TemplateField>
|
||||
<ItemTemplate>
|
||||
@@ -6427,16 +6427,19 @@
|
||||
<h4 class="modal-title">Aplicar Devolución</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="row" id="">
|
||||
<div class="row" id="DivPenalizacion" runat="server" visible="false">
|
||||
<div class="col-md-2">
|
||||
<label>Aplicar % de Penalización</label>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<asp:TextBox ID="TxtPorPenalizacion" runat="server" CssClass="form-control input-sm" Text="0" onkeyup="CalculaPenalizacionDevolucion(this);"></asp:TextBox>
|
||||
<div class="col-md-2">
|
||||
<asp:TextBox ID="TxtPorPenalizacion" runat="server" CssClass="form-control input-sm" Text="" onkeyup="LimitaPenalizacionDevolucion(this);"></asp:TextBox>
|
||||
<asp:RangeValidator ID="RFVPenalizacion" runat="server" Type="Integer" MinimumValue="0" MaximumValue="100" ErrorMessage="El campo <b>''Penalización''</b> es necesario, por favor ingréselo." ControlToValidate="TxtPorPenalizacion" Display="None"></asp:RangeValidator>
|
||||
<ajax:FilteredTextBoxExtender ID="FTBPenalizacion" runat="server" TargetControlID="TxtPorPenalizacion" FilterType="Custom, Numbers" ValidChars=".," />
|
||||
</div>
|
||||
<div class="col-md-6"></div>
|
||||
<div class="col-md-2">
|
||||
<asp:Button ID="BtnCalcularPenalizacion" runat="server" CssClass="btn btn-primary btn-sm" Text="Calcular" OnClick="BtnCalcularPenalizacion_Click" />
|
||||
</div>
|
||||
<div class="col-md-6"> </div>
|
||||
</div>
|
||||
<div class="row" style="margin-bottom: 10px;">
|
||||
<div class="text-right col-md-offset-8 col-md-4">
|
||||
@@ -6480,7 +6483,7 @@
|
||||
<asp:BoundField HeaderText="PU" DataField="PU" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" />
|
||||
<asp:TemplateField HeaderText="PU Editado" Visible="false">
|
||||
<ItemTemplate>
|
||||
<asp:TextBox ID="TxtPrecioEditado" runat="server" Text='<%#Eval("PU").ToString%>' MaxLength="12" Width="90%" Height="24px" CssClass="ImporteDevolucion"></asp:TextBox>
|
||||
<asp:TextBox ID="TxtPrecioEditado" runat="server" Text='<%#Eval("PU").ToString%>' MaxLength="12" Width="50%" Height="24px" CssClass="ImporteDevolucion"></asp:TextBox>
|
||||
<ajax:FilteredTextBoxExtender ID="SoloNumeros1Editado" runat="server" TargetControlID="TxtPrecioEditado" FilterType="Custom, Numbers" ValidChars=".," />
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
@@ -7351,14 +7354,10 @@
|
||||
}
|
||||
}
|
||||
|
||||
function CalculaPenalizacionDevolucion(TxtPenalizacion) {
|
||||
const Porcentaje = ToDouble(TxtPenalizacion.value) / ToDouble(100);
|
||||
if (Porcentaje <= 1) {
|
||||
$('.ImporteDevolucion').each(function () {
|
||||
const importe = ToDouble($(this).val());
|
||||
const resta = importe * Porcentaje;
|
||||
$(this).val(FormatoNumero((importe - resta), 2));
|
||||
});
|
||||
function LimitaPenalizacionDevolucion(TxtPenalizacion) {
|
||||
const Porcentaje = ToDouble(TxtPenalizacion.value)
|
||||
if (Porcentaje >= 100) {
|
||||
TxtPenalizacion.value = "100"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7931,7 +7930,6 @@
|
||||
}
|
||||
|
||||
function chkAnt(t, txt, importe, AmorContrato = 0) {
|
||||
debugger;
|
||||
var totalAnt = 0;
|
||||
|
||||
let TipoAnticipo = $('#<%= DdlTipoAmortizacionAnticipo.ClientID %>').val();
|
||||
|
||||
@@ -2053,6 +2053,10 @@ Partial Class Ventas
|
||||
thPoliza2.Visible = True
|
||||
End If
|
||||
|
||||
If UsuarioActual.Empresa.Funcionalidad(531) = "1" AndAlso UsuarioActual.CveUsuario = 100 Then
|
||||
DivPenalizacion.Visible = True
|
||||
End If
|
||||
|
||||
|
||||
DdlSATPS.setEsWebService(True) : DdlSATPS.Attributes.Add("data-metodo", "getpssat")
|
||||
DivPSSAT.Visible = True
|
||||
@@ -23892,263 +23896,278 @@ Partial Class Ventas
|
||||
End Sub
|
||||
|
||||
Private Sub AplicarNC(CvePS As Integer, Optional NCDescuento As Boolean = False, Optional EsNCAmortizacion As Boolean = False, Optional AplicaImpuestosLocales As Boolean = True, Optional AplicaNuevoDocumento As Boolean = False, Optional AplicoNCFacturaActual As Boolean = False)
|
||||
Dim DrPS = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePS).FiltroPrimero("")
|
||||
If DrPS Is Nothing Then
|
||||
Alert("Ocurrió un error al cargar la información del producto. Por favor comuniquese con asistencia SIG", TipoMensaje.MsgError)
|
||||
Exit Sub
|
||||
Else
|
||||
'VALIDA CLAVES SAT
|
||||
If DrPS("SATClavePS").ToString() = "" Then
|
||||
Alert($"El concepto <b>{DrPS("Codigo").ToString()}-{DrPS("PS").ToString()}</b> no cuenta con producto SAT. Por favor verifique y vuelva a intentar", TipoMensaje.MsgAdvertencia)
|
||||
|
||||
Try
|
||||
Dim DrPS = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePS).FiltroPrimero("")
|
||||
If DrPS Is Nothing Then
|
||||
Alert("Ocurrió un error al cargar la información del producto. Por favor comuniquese con asistencia SIG", TipoMensaje.MsgError)
|
||||
Exit Sub
|
||||
Else
|
||||
'VALIDA CLAVES SAT
|
||||
If DrPS("SATClavePS").ToString() = "" Then
|
||||
Alert($"El concepto <b>{DrPS("Codigo").ToString()}-{DrPS("PS").ToString()}</b> no cuenta con producto SAT. Por favor verifique y vuelva a intentar", TipoMensaje.MsgAdvertencia)
|
||||
Exit Sub
|
||||
End If
|
||||
If DrPS("SATClaveUnidadMedida").ToString() = "" Then
|
||||
Alert($"El concepto <b>{DrPS("Codigo").ToString()}-{DrPS("PS").ToString()}</b> no cuenta con Unidad Medida SAT. Por favor verifique y vuelva a intentar", TipoMensaje.MsgAdvertencia)
|
||||
Exit Sub
|
||||
End If
|
||||
End If
|
||||
If DrPS("SATClaveUnidadMedida").ToString() = "" Then
|
||||
Alert($"El concepto <b>{DrPS("Codigo").ToString()}-{DrPS("PS").ToString()}</b> no cuenta con Unidad Medida SAT. Por favor verifique y vuelva a intentar", TipoMensaje.MsgAdvertencia)
|
||||
Exit Sub
|
||||
|
||||
If Not AplicaImpuestosLocales Then
|
||||
If TmpDTImpuestos IsNot Nothing Then
|
||||
TmpDTImpuestos.Rows.Clear()
|
||||
GvImpuestosLocales2.DataSource = TmpDTImpuestos
|
||||
GvImpuestosLocales2.DataBind()
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
|
||||
If Not AplicaImpuestosLocales Then
|
||||
If TmpDTImpuestos IsNot Nothing Then
|
||||
TmpDTImpuestos.Rows.Clear()
|
||||
GvImpuestosLocales2.DataSource = TmpDTImpuestos
|
||||
GvImpuestosLocales2.DataBind()
|
||||
End If
|
||||
End If
|
||||
Me.AplicoNCFacturaActual = AplicoNCFacturaActual
|
||||
|
||||
Me.AplicoNCFacturaActual = AplicoNCFacturaActual
|
||||
'CREAMOS DT PARA UTILIZAR AL TIMBRAR
|
||||
InicializaDTVentasNC()
|
||||
|
||||
'CREAMOS DT PARA UTILIZAR AL TIMBRAR
|
||||
InicializaDTVentasNC()
|
||||
Dim DtImpuestos As New DataTable
|
||||
DtImpuestos.Columns.Add("ImportePU", GetType(Decimal))
|
||||
DtImpuestos.Columns.Add("ImporteTotal", GetType(Decimal))
|
||||
DtImpuestos.Columns.Add("PorcentajeIVA", GetType(Decimal))
|
||||
DtImpuestos.Columns.Add("ImporteIVA", GetType(Decimal))
|
||||
DtImpuestos.Columns.Add("PorcentajeRetIVA", GetType(Decimal))
|
||||
DtImpuestos.Columns.Add("ImporteRetIVA", GetType(Decimal))
|
||||
DtImpuestos.Columns.Add("PorcentajeRetISR", GetType(Decimal))
|
||||
DtImpuestos.Columns.Add("ImporteRetISR", GetType(Decimal))
|
||||
DtImpuestos.Columns.Add("PorcentajeIEPS", GetType(Decimal))
|
||||
DtImpuestos.Columns.Add("ImporteIEPS", GetType(Decimal))
|
||||
DtImpuestos.Columns.Add("CveSubProyecto", GetType(Integer))
|
||||
DtImpuestos.AcceptChanges()
|
||||
Dim AcumuladoNC As Decimal = 0
|
||||
|
||||
Dim DtImpuestos As New DataTable
|
||||
DtImpuestos.Columns.Add("ImportePU", GetType(Decimal))
|
||||
DtImpuestos.Columns.Add("ImporteTotal", GetType(Decimal))
|
||||
DtImpuestos.Columns.Add("PorcentajeIVA", GetType(Decimal))
|
||||
DtImpuestos.Columns.Add("ImporteIVA", GetType(Decimal))
|
||||
DtImpuestos.Columns.Add("PorcentajeRetIVA", GetType(Decimal))
|
||||
DtImpuestos.Columns.Add("ImporteRetIVA", GetType(Decimal))
|
||||
DtImpuestos.Columns.Add("PorcentajeRetISR", GetType(Decimal))
|
||||
DtImpuestos.Columns.Add("ImporteRetISR", GetType(Decimal))
|
||||
DtImpuestos.Columns.Add("PorcentajeIEPS", GetType(Decimal))
|
||||
DtImpuestos.Columns.Add("ImporteIEPS", GetType(Decimal))
|
||||
DtImpuestos.Columns.Add("CveSubProyecto", GetType(Integer))
|
||||
DtImpuestos.AcceptChanges()
|
||||
Dim AcumuladoNC As Decimal = 0
|
||||
Dim DtImpuestosBonificacion As DataTable = DtImpuestos.Copy()
|
||||
|
||||
Dim DtImpuestosBonificacion As DataTable = DtImpuestos.Copy()
|
||||
If Not AplicaNuevoDocumento Then
|
||||
If AplicaNCMasiva Then
|
||||
If NCDescuento Then
|
||||
For Each RNC In ListaNCDesc
|
||||
DtImpuestos.Merge(CargaDtImpuestosNC(RNC.CveVenta, RNC.TotalRemNCAplicado, NCDescuento:=True, AplicaImpuestosLocales:=AplicaImpuestosLocales, NivelTotal:=DdlNCNivelImporte.SelectedValue.ToEntero()), True, MissingSchemaAction.Ignore)
|
||||
Next
|
||||
|
||||
If Not AplicaNuevoDocumento Then
|
||||
If AplicaNCMasiva Then
|
||||
If NCDescuento Then
|
||||
For Each RNC In ListaNCDesc
|
||||
DtImpuestos.Merge(CargaDtImpuestosNC(RNC.CveVenta, RNC.TotalRemNCAplicado, NCDescuento:=True, AplicaImpuestosLocales:=AplicaImpuestosLocales, NivelTotal:=DdlNCNivelImporte.SelectedValue.ToEntero()), True, MissingSchemaAction.Ignore)
|
||||
Next
|
||||
|
||||
'SI HAY RNC DE BONIFICACION SE AGREGAN
|
||||
If ListaNCBonificacion IsNot Nothing AndAlso ListaNCBonificacion.Count > 0 Then
|
||||
For Each RNC In ListaNCBonificacion
|
||||
DtImpuestosBonificacion.Merge(CargaDtImpuestosNC(RNC.CveVenta, RNC.TotalRemNCAplicado, NCDescuento:=True, AplicaImpuestosLocales:=AplicaImpuestosLocales, NivelTotal:=DdlNCNivelImporte.SelectedValue.ToEntero()), True, MissingSchemaAction.Ignore)
|
||||
'SI HAY RNC DE BONIFICACION SE AGREGAN
|
||||
If ListaNCBonificacion IsNot Nothing AndAlso ListaNCBonificacion.Count > 0 Then
|
||||
For Each RNC In ListaNCBonificacion
|
||||
DtImpuestosBonificacion.Merge(CargaDtImpuestosNC(RNC.CveVenta, RNC.TotalRemNCAplicado, NCDescuento:=True, AplicaImpuestosLocales:=AplicaImpuestosLocales, NivelTotal:=DdlNCNivelImporte.SelectedValue.ToEntero()), True, MissingSchemaAction.Ignore)
|
||||
Next
|
||||
End If
|
||||
Else
|
||||
Dim NumVentasAplicar As Integer = 1
|
||||
For Each Gvr As GridViewRow In GvCxC.Rows
|
||||
If Gvr.FCCheckBox("ChkCxC").Checked Then
|
||||
DtImpuestos.Merge(CargaDtImpuestosNC(Gvr.DataKey("CveVenta").ToString().ToEntero(), Gvr.FCTextBox("TxtImporte").Text.ToString().ToDecimal, AplicaImpuestosLocales:=AplicaImpuestosLocales, NivelTotal:=DdlNCNivelImporte.SelectedValue.ToEntero()), True, MissingSchemaAction.Ignore)
|
||||
'CARGA FACTURA A LA CUAL SE APLICA LA NC
|
||||
AcumuladoNC += Gvr.FCTextBox("TxtImporte").Text.ToString().ToDecimal
|
||||
CargaNCDT(Gvr.DataKey("CveVenta").ToString().ToEntero(), Gvr.FCTextBox("TxtImporte").Text.ToString().ToDecimal)
|
||||
If UsuarioActual.CveEmpresa = 140 AndAlso NumVentasAplicar = 1 Then
|
||||
DdlMetodoPago33.Enabled = True
|
||||
DdlMetodoPago33.SelectedValueExist(Gvr.DataKey("CveMetodoPago33").ToString())
|
||||
CargaFormaPago(DdlMetodoPago33.SelectedValue.ToEntero())
|
||||
DdlFormaPago33.Enabled = True
|
||||
DdlFormaPago33.SelectedValueExist(Gvr.DataKey("CveFormaPago33").ToString())
|
||||
End If
|
||||
NumVentasAplicar += 1
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
Else
|
||||
DtImpuestos = CargaDtImpuestosNC(CveVenta, TxtNCImporte.Text.Trim.ToDecimal, AplicaImpuestosLocales:=AplicaImpuestosLocales, NivelTotal:=DdlNCNivelImporte.SelectedValue.ToEntero())
|
||||
|
||||
For Each Gvr As GridViewRow In GvCxC.Rows
|
||||
If Gvr.FCCheckBox("ChkCxC").Checked Then
|
||||
DtImpuestos.Merge(CargaDtImpuestosNC(Gvr.DataKey("CveVenta").ToString().ToEntero(), Gvr.FCTextBox("TxtImporte").Text.ToString().ToDecimal, AplicaImpuestosLocales:=AplicaImpuestosLocales, NivelTotal:=DdlNCNivelImporte.SelectedValue.ToEntero()), True, MissingSchemaAction.Ignore)
|
||||
'CARGA FACTURA A LA CUAL SE APLICA LA NC
|
||||
AcumuladoNC += Gvr.FCTextBox("TxtImporte").Text.ToString().ToDecimal
|
||||
CargaNCDT(Gvr.DataKey("CveVenta").ToString().ToEntero(), Gvr.FCTextBox("TxtImporte").Text.ToString().ToDecimal)
|
||||
If EsNCAmortizacion Then
|
||||
If DtAnticipoAmortizacion Is Nothing Then
|
||||
InicializaDTAnticiposAmortizacion()
|
||||
End If
|
||||
Dim PorcentajeAplicado As Decimal = (TxtNCPorcentaje.Text.ToDecimal / 100D)
|
||||
|
||||
Dim RowAnticipo As DataRow = DtAnticipoAmortizacion.NewRow
|
||||
RowAnticipo("CveVenta") = Me.CveVenta
|
||||
RowAnticipo("Importe") = TxtNCImporte.Text.Trim.ToDecimal
|
||||
RowAnticipo("SaldoAnticipo") = SaldoAnticipo * PorcentajeAplicado
|
||||
|
||||
DtAnticipoAmortizacion.Rows.Add(RowAnticipo)
|
||||
End If
|
||||
|
||||
End If
|
||||
Else
|
||||
For Each RNC In ListaRemisionesNC
|
||||
DtImpuestos.Merge(CargaDtImpuestosNC(RNC.CveVenta, RNC.TotalRemNCAplicado, NCDescuento:=True, AplicaImpuestosLocales:=AplicaImpuestosLocales, NivelTotal:=DdlNCNivelImporte.SelectedValue.ToEntero(), AplicaNCUsado:=(UsuarioActual.CveEmpresa = 140)), True, MissingSchemaAction.Ignore)
|
||||
Next
|
||||
For Each RNC In ListaNCBonificacion
|
||||
DtImpuestosBonificacion.Merge(CargaDtImpuestosNC(RNC.CveVenta, RNC.TotalRemNCAplicado, NCDescuento:=True, AplicaImpuestosLocales:=AplicaImpuestosLocales, NivelTotal:=DdlNCNivelImporte.SelectedValue.ToEntero(), AplicaNCUsado:=(UsuarioActual.CveEmpresa = 140)), True, MissingSchemaAction.Ignore)
|
||||
Next
|
||||
End If
|
||||
|
||||
|
||||
Dim query = From dr In DtImpuestos
|
||||
Group By PorcentajeIVA = dr("PorcentajeIVA").ToString().ToDecimal,
|
||||
PorcentajeRetIVA = dr("PorcentajeRetIVA").ToString().ToDecimal,
|
||||
PorcentajeRetISR = dr("PorcentajeRetISR").ToString().ToDecimal,
|
||||
PorcentajeIEPS = dr("PorcentajeIEPS").ToString().ToDecimal
|
||||
Into x = Group
|
||||
Select ImportePU = x.Sum(Function(s) s("ImportePU").ToString().ToDecimal),
|
||||
ImporteTotal = x.Sum(Function(s) s("ImporteTotal").ToString().ToDecimal),
|
||||
ImporteIVA = x.Sum(Function(s) (s("ImporteIVA").ToString().ToDecimal)).RoundSQL(2), ' Math.Round(s("ImporteIVA").ToString().ToDecimal, 2)) * (1 + PorcentajeIEPS) * PorcentajeIVA,
|
||||
ImporteRetIVA = x.Sum(Function(s) Math.Round(s("ImporteRetIVA").ToString().ToDecimal, 2)),' Math.Round(s("ImportePU").ToString().ToDecimal, 2)) * PorcentajeRetIVA,
|
||||
ImporteRetISR = x.Sum(Function(s) Math.Round(s("ImporteRetISR").ToString().ToDecimal, 2)),' Math.Round(s("ImportePU").ToString().ToDecimal, 2)) * PorcentajeRetISR,
|
||||
ImporteIEPS = x.Sum(Function(s) Math.Round(s("ImporteIEPS").ToString().ToDecimal, 2)), 'Math.Round(s("ImportePU").ToString().ToDecimal, 2)) * PorcentajeIEPS,
|
||||
PorcentajeIVA = PorcentajeIVA,
|
||||
PorcentajeRetIVA = PorcentajeRetIVA,
|
||||
PorcentajeRetISR = PorcentajeRetISR,
|
||||
PorcentajeIEPS = PorcentajeIEPS
|
||||
|
||||
|
||||
Dim queryBonificacion = From dr In DtImpuestosBonificacion
|
||||
Group By PorcentajeIVA = dr("PorcentajeIVA").ToString().ToDecimal,
|
||||
PorcentajeRetIVA = dr("PorcentajeRetIVA").ToString().ToDecimal,
|
||||
PorcentajeRetISR = dr("PorcentajeRetISR").ToString().ToDecimal,
|
||||
PorcentajeIEPS = dr("PorcentajeIEPS").ToString().ToDecimal
|
||||
Into x = Group
|
||||
Select ImportePU = x.Sum(Function(s) s("ImportePU").ToString().ToDecimal),
|
||||
ImporteTotal = x.Sum(Function(s) s("ImporteTotal").ToString().ToDecimal),
|
||||
ImporteIVA = x.Sum(Function(s) (s("ImporteIVA").ToString().ToDecimal)).RoundSQL(2), ' Math.Round(s("ImporteIVA").ToString().ToDecimal, 2)) * (1 + PorcentajeIEPS) * PorcentajeIVA,
|
||||
ImporteRetIVA = x.Sum(Function(s) Math.Round(s("ImporteRetIVA").ToString().ToDecimal, 2)),' Math.Round(s("ImportePU").ToString().ToDecimal, 2)) * PorcentajeRetIVA,
|
||||
ImporteRetISR = x.Sum(Function(s) Math.Round(s("ImporteRetISR").ToString().ToDecimal, 2)),' Math.Round(s("ImportePU").ToString().ToDecimal, 2)) * PorcentajeRetISR,
|
||||
ImporteIEPS = x.Sum(Function(s) Math.Round(s("ImporteIEPS").ToString().ToDecimal, 2)), 'Math.Round(s("ImportePU").ToString().ToDecimal, 2)) * PorcentajeIEPS,
|
||||
PorcentajeIVA = PorcentajeIVA,
|
||||
PorcentajeRetIVA = PorcentajeRetIVA,
|
||||
PorcentajeRetISR = PorcentajeRetISR,
|
||||
PorcentajeIEPS = PorcentajeIEPS
|
||||
|
||||
|
||||
Dim DrSubProyecto = GlobalDTSubProyectos(-1, DdlSubProyectoDatos.SelectedValue.ToEntero(), UsuarioActual.CveEmpresa, -1).FiltroPrimero("")
|
||||
|
||||
If DrSubProyecto Is Nothing Then
|
||||
Alert("Ocurrió un error al cargar la información de centro de costos. Por favor comuniquese con asistencia SIG", TipoMensaje.MsgError)
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
DtImpuestos = query.QueryToDataTable(False)
|
||||
DtImpuestosBonificacion = queryBonificacion.QueryToDataTable(False)
|
||||
|
||||
If Not NCDescuento Then
|
||||
LimpiaDocumentoNC()
|
||||
End If
|
||||
|
||||
Dim CveSubProyecto = DrSubProyecto("CveSubProyecto").ToString().ToEntero()
|
||||
Dim SubProyecto = DrSubProyecto("SubProyecto").ToString()
|
||||
Dim CveProyecto = DrSubProyecto("CveProyecto").ToString().ToEntero()
|
||||
Dim Proyecto = DrSubProyecto("Proyecto").ToString()
|
||||
|
||||
AplicaNC = True
|
||||
|
||||
If NCDescuento Then
|
||||
TmpDTDescNC = TmpDT.Clone()
|
||||
TmpDTDescNC.Clear()
|
||||
|
||||
If UsuarioActual.CveEmpresa = 140 Then
|
||||
|
||||
CrearDTNCCargo(ListaNCDesc, DtImpuestos, TmpDTDescNC, DrPS, CveProyecto, Proyecto, CveSubProyecto, SubProyecto)
|
||||
|
||||
'EN LA NC DE BONIFICACION EL CONCEPTO DEBE SER SIEMPRE 'BONIFICACION POR USADO'
|
||||
Dim DrPSBonificacion = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=360481).FiltroPrimero("")
|
||||
If DrPSBonificacion IsNot Nothing Then
|
||||
CrearDTNCBonificacion(ListaNCDesc, DtImpuestosBonificacion, TmpDTDescNC, DrPSBonificacion, CveProyecto, Proyecto, CveSubProyecto, SubProyecto)
|
||||
Else
|
||||
Alert("No se encontró el concepto de BONIFICACION POR USADO", TipoMensaje.MsgAdvertencia)
|
||||
CrearDTNCBonificacion(ListaNCDesc, DtImpuestosBonificacion, TmpDTDescNC, DrPS, CveProyecto, Proyecto, CveSubProyecto, SubProyecto)
|
||||
End If
|
||||
|
||||
Else
|
||||
For Each Dr As DataRow In DtImpuestos.Rows
|
||||
AgregaTempDT(TmpDTDescNC, DrPS("CvePS").ToString().ToEntero(), DrPS("PS").ToString(), DrPS("Codigo").ToString(), DrPS("PSCodigo").ToString(), DrPS("CveTipoPS").ToString().ToEntero(), DrPS("Inv_CveMetodoInventario").ToString().ToEntero(),
|
||||
DrPS("CveUM").ToString().ToEntero(), DrPS("UnidadMedida").ToString(), DrPS("CveClasificacion").ToString().ToEntero(), DrPS("Clasificacion").ToString(), CveProyecto, Proyecto, CveSubProyecto, SubProyecto,
|
||||
TxtNCObservaciones.Text.Trim, 1, Dr("ImportePU").ToString().ToDecimal, Dr("PorcentajeIVA").ToString().ToDecimal, Dr("ImporteIVA").ToString().ToDecimal, Dr("PorcentajeRetIVA").ToString().ToDecimal, Dr("ImporteRetIVA").ToString().ToDecimal,
|
||||
Dr("PorcentajeRetISR").ToString().ToDecimal, Dr("ImporteRetISR").ToString().ToDecimal, Dr("PorcentajeIEPS").ToString().ToDecimal, Dr("ImporteIEPS").ToString().ToDecimal, -1, 0.0, Dr("ImporteTotal").ToString().ToDecimal, "", "", -1, -1,
|
||||
DrPS("SATClavePS").ToString(), DrPS("SATClaveUnidadMedida").ToString(), -1, -1, -1, -1, -1, -1)
|
||||
Next
|
||||
End If
|
||||
Else
|
||||
DtImpuestos = CargaDtImpuestosNC(CveVenta, TxtNCImporte.Text.Trim.ToDecimal, AplicaImpuestosLocales:=AplicaImpuestosLocales, NivelTotal:=DdlNCNivelImporte.SelectedValue.ToEntero())
|
||||
|
||||
If EsNCAmortizacion Then
|
||||
If DtAnticipoAmortizacion Is Nothing Then
|
||||
InicializaDTAnticiposAmortizacion()
|
||||
TrTipoRelacion.Visible = True
|
||||
DdlTiposRelacion.SelectedValueExist("1")
|
||||
|
||||
'verifica el tipo de cambio que se actualice
|
||||
If DdlMoneda.SelectedValue <> "1" Then
|
||||
TxtTipoCambio.Text = GlobalTipoCambio(Now).ToString()
|
||||
End If
|
||||
Else
|
||||
If DdlTipoComprobante.SelectedValue = "Ant" Then CveAnticipo = CveVenta
|
||||
|
||||
DdlTipoComprobante.SelectedValueExist("Egs")
|
||||
'verifica el total de multiples facturas
|
||||
Dim Acumulado12 As Decimal = 0
|
||||
Dim UltimoRenglon As Integer = 1
|
||||
Dim Ajuste As Decimal = 0
|
||||
|
||||
'DEBE AGREGAR LOS USADOS DE LA REMISION EN LA NOTA DE CREDITO
|
||||
If UsuarioActual.CveEmpresa = 140 AndAlso (ListaRemisionesNC IsNot Nothing AndAlso ListaRemisionesNC.Count > 0) Then
|
||||
|
||||
CrearDTNCCargo(ListaRemisionesNC, DtImpuestos, TmpDT, DrPS, CveProyecto, Proyecto, CveSubProyecto, SubProyecto)
|
||||
'EN LA NC DE BONIFICACION EL CONCEPTO DEBE SER SIEMPRE 'BONIFICACION POR USADO'
|
||||
Dim DrPSBonificacion = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=360481).FiltroPrimero("")
|
||||
If DrPSBonificacion IsNot Nothing Then
|
||||
CrearDTNCBonificacion(ListaRemisionesNC, DtImpuestosBonificacion, TmpDT, DrPSBonificacion, CveProyecto, Proyecto, CveSubProyecto, SubProyecto)
|
||||
Else
|
||||
Alert("No se encontró el concepto de BONIFICACION POR USADO", TipoMensaje.MsgAdvertencia)
|
||||
CrearDTNCBonificacion(ListaRemisionesNC, DtImpuestosBonificacion, TmpDT, DrPS, CveProyecto, Proyecto, CveSubProyecto, SubProyecto)
|
||||
End If
|
||||
Dim PorcentajeAplicado As Decimal = (TxtNCPorcentaje.Text.ToDecimal / 100D)
|
||||
|
||||
Dim RowAnticipo As DataRow = DtAnticipoAmortizacion.NewRow
|
||||
RowAnticipo("CveVenta") = Me.CveVenta
|
||||
RowAnticipo("Importe") = TxtNCImporte.Text.Trim.ToDecimal
|
||||
RowAnticipo("SaldoAnticipo") = SaldoAnticipo * PorcentajeAplicado
|
||||
|
||||
DtAnticipoAmortizacion.Rows.Add(RowAnticipo)
|
||||
End If
|
||||
|
||||
End If
|
||||
Else
|
||||
For Each RNC In ListaRemisionesNC
|
||||
DtImpuestos.Merge(CargaDtImpuestosNC(RNC.CveVenta, RNC.TotalRemNCAplicado, NCDescuento:=True, AplicaImpuestosLocales:=AplicaImpuestosLocales, NivelTotal:=DdlNCNivelImporte.SelectedValue.ToEntero(), AplicaNCUsado:=(UsuarioActual.CveEmpresa = 140)), True, MissingSchemaAction.Ignore)
|
||||
Next
|
||||
For Each RNC In ListaNCBonificacion
|
||||
DtImpuestosBonificacion.Merge(CargaDtImpuestosNC(RNC.CveVenta, RNC.TotalRemNCAplicado, NCDescuento:=True, AplicaImpuestosLocales:=AplicaImpuestosLocales, NivelTotal:=DdlNCNivelImporte.SelectedValue.ToEntero(), AplicaNCUsado:=(UsuarioActual.CveEmpresa = 140)), True, MissingSchemaAction.Ignore)
|
||||
Next
|
||||
End If
|
||||
|
||||
|
||||
Dim query = From dr In DtImpuestos
|
||||
Group By PorcentajeIVA = dr("PorcentajeIVA").ToString().ToDecimal,
|
||||
PorcentajeRetIVA = dr("PorcentajeRetIVA").ToString().ToDecimal,
|
||||
PorcentajeRetISR = dr("PorcentajeRetISR").ToString().ToDecimal,
|
||||
PorcentajeIEPS = dr("PorcentajeIEPS").ToString().ToDecimal
|
||||
Into x = Group
|
||||
Select ImportePU = x.Sum(Function(s) s("ImportePU").ToString().ToDecimal),
|
||||
ImporteTotal = x.Sum(Function(s) s("ImporteTotal").ToString().ToDecimal),
|
||||
ImporteIVA = x.Sum(Function(s) (s("ImporteIVA").ToString().ToDecimal)).RoundSQL(2), ' Math.Round(s("ImporteIVA").ToString().ToDecimal, 2)) * (1 + PorcentajeIEPS) * PorcentajeIVA,
|
||||
ImporteRetIVA = x.Sum(Function(s) Math.Round(s("ImporteRetIVA").ToString().ToDecimal, 2)),' Math.Round(s("ImportePU").ToString().ToDecimal, 2)) * PorcentajeRetIVA,
|
||||
ImporteRetISR = x.Sum(Function(s) Math.Round(s("ImporteRetISR").ToString().ToDecimal, 2)),' Math.Round(s("ImportePU").ToString().ToDecimal, 2)) * PorcentajeRetISR,
|
||||
ImporteIEPS = x.Sum(Function(s) Math.Round(s("ImporteIEPS").ToString().ToDecimal, 2)), 'Math.Round(s("ImportePU").ToString().ToDecimal, 2)) * PorcentajeIEPS,
|
||||
PorcentajeIVA = PorcentajeIVA,
|
||||
PorcentajeRetIVA = PorcentajeRetIVA,
|
||||
PorcentajeRetISR = PorcentajeRetISR,
|
||||
PorcentajeIEPS = PorcentajeIEPS
|
||||
|
||||
|
||||
Dim queryBonificacion = From dr In DtImpuestosBonificacion
|
||||
Group By PorcentajeIVA = dr("PorcentajeIVA").ToString().ToDecimal,
|
||||
PorcentajeRetIVA = dr("PorcentajeRetIVA").ToString().ToDecimal,
|
||||
PorcentajeRetISR = dr("PorcentajeRetISR").ToString().ToDecimal,
|
||||
PorcentajeIEPS = dr("PorcentajeIEPS").ToString().ToDecimal
|
||||
Into x = Group
|
||||
Select ImportePU = x.Sum(Function(s) s("ImportePU").ToString().ToDecimal),
|
||||
ImporteTotal = x.Sum(Function(s) s("ImporteTotal").ToString().ToDecimal),
|
||||
ImporteIVA = x.Sum(Function(s) (s("ImporteIVA").ToString().ToDecimal)).RoundSQL(2), ' Math.Round(s("ImporteIVA").ToString().ToDecimal, 2)) * (1 + PorcentajeIEPS) * PorcentajeIVA,
|
||||
ImporteRetIVA = x.Sum(Function(s) Math.Round(s("ImporteRetIVA").ToString().ToDecimal, 2)),' Math.Round(s("ImportePU").ToString().ToDecimal, 2)) * PorcentajeRetIVA,
|
||||
ImporteRetISR = x.Sum(Function(s) Math.Round(s("ImporteRetISR").ToString().ToDecimal, 2)),' Math.Round(s("ImportePU").ToString().ToDecimal, 2)) * PorcentajeRetISR,
|
||||
ImporteIEPS = x.Sum(Function(s) Math.Round(s("ImporteIEPS").ToString().ToDecimal, 2)), 'Math.Round(s("ImportePU").ToString().ToDecimal, 2)) * PorcentajeIEPS,
|
||||
PorcentajeIVA = PorcentajeIVA,
|
||||
PorcentajeRetIVA = PorcentajeRetIVA,
|
||||
PorcentajeRetISR = PorcentajeRetISR,
|
||||
PorcentajeIEPS = PorcentajeIEPS
|
||||
|
||||
|
||||
Dim DrSubProyecto = GlobalDTSubProyectos(-1, DdlSubProyectoDatos.SelectedValue.ToEntero(), UsuarioActual.CveEmpresa, -1).FiltroPrimero("")
|
||||
|
||||
If DrSubProyecto Is Nothing Then
|
||||
Alert("Ocurrió un error al cargar la información de centro de costos. Por favor comuniquese con asistencia SIG", TipoMensaje.MsgError)
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
DtImpuestos = query.QueryToDataTable(False)
|
||||
DtImpuestosBonificacion = queryBonificacion.QueryToDataTable(False)
|
||||
|
||||
If Not NCDescuento Then
|
||||
LimpiaDocumentoNC()
|
||||
End If
|
||||
|
||||
Dim CveSubProyecto = DrSubProyecto("CveSubProyecto").ToString().ToEntero()
|
||||
Dim SubProyecto = DrSubProyecto("SubProyecto").ToString()
|
||||
Dim CveProyecto = DrSubProyecto("CveProyecto").ToString().ToEntero()
|
||||
Dim Proyecto = DrSubProyecto("Proyecto").ToString()
|
||||
|
||||
AplicaNC = True
|
||||
|
||||
If NCDescuento Then
|
||||
TmpDTDescNC = TmpDT.Clone()
|
||||
TmpDTDescNC.Clear()
|
||||
|
||||
If UsuarioActual.CveEmpresa = 140 Then
|
||||
|
||||
CrearDTNCCargo(ListaNCDesc, DtImpuestos, TmpDTDescNC, DrPS, CveProyecto, Proyecto, CveSubProyecto, SubProyecto)
|
||||
|
||||
'EN LA NC DE BONIFICACION EL CONCEPTO DEBE SER SIEMPRE 'BONIFICACION POR USADO'
|
||||
Dim DrPSBonificacion = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=360481).FiltroPrimero("")
|
||||
If DrPSBonificacion IsNot Nothing Then
|
||||
CrearDTNCBonificacion(ListaNCDesc, DtImpuestosBonificacion, TmpDTDescNC, DrPSBonificacion, CveProyecto, Proyecto, CveSubProyecto, SubProyecto)
|
||||
Else
|
||||
Alert("No se encontró el concepto de BONIFICACION POR USADO", TipoMensaje.MsgAdvertencia)
|
||||
CrearDTNCBonificacion(ListaNCDesc, DtImpuestosBonificacion, TmpDTDescNC, DrPS, CveProyecto, Proyecto, CveSubProyecto, SubProyecto)
|
||||
End If
|
||||
|
||||
Else
|
||||
For Each Dr As DataRow In DtImpuestos.Rows
|
||||
AgregaTempDT(TmpDTDescNC, DrPS("CvePS").ToString().ToEntero(), DrPS("PS").ToString(), DrPS("Codigo").ToString(), DrPS("PSCodigo").ToString(), DrPS("CveTipoPS").ToString().ToEntero(), DrPS("Inv_CveMetodoInventario").ToString().ToEntero(),
|
||||
DrPS("CveUM").ToString().ToEntero(), DrPS("UnidadMedida").ToString(), DrPS("CveClasificacion").ToString().ToEntero(), DrPS("Clasificacion").ToString(), CveProyecto, Proyecto, CveSubProyecto, SubProyecto,
|
||||
TxtNCObservaciones.Text.Trim, 1, Dr("ImportePU").ToString().ToDecimal, Dr("PorcentajeIVA").ToString().ToDecimal, Dr("ImporteIVA").ToString().ToDecimal, Dr("PorcentajeRetIVA").ToString().ToDecimal, Dr("ImporteRetIVA").ToString().ToDecimal,
|
||||
Dr("PorcentajeRetISR").ToString().ToDecimal, Dr("ImporteRetISR").ToString().ToDecimal, Dr("PorcentajeIEPS").ToString().ToDecimal, Dr("ImporteIEPS").ToString().ToDecimal, -1, 0.0, Dr("ImporteTotal").ToString().ToDecimal, "", "", -1, -1,
|
||||
DrPS("SATClavePS").ToString(), DrPS("SATClaveUnidadMedida").ToString(), -1, -1, -1, -1, -1, -1)
|
||||
Next
|
||||
End If
|
||||
|
||||
TrTipoRelacion.Visible = True
|
||||
DdlTiposRelacion.SelectedValueExist("1")
|
||||
|
||||
'verifica el tipo de cambio que se actualice
|
||||
If DdlMoneda.SelectedValue <> "1" Then
|
||||
TxtTipoCambio.Text = GlobalTipoCambio(Now).ToString()
|
||||
End If
|
||||
Else
|
||||
If DdlTipoComprobante.SelectedValue = "Ant" Then CveAnticipo = CveVenta
|
||||
|
||||
DdlTipoComprobante.SelectedValueExist("Egs")
|
||||
'verifica el total de multiples facturas
|
||||
Dim Acumulado12 As Decimal = 0
|
||||
Dim UltimoRenglon As Integer = 1
|
||||
Dim Ajuste As Decimal = 0
|
||||
|
||||
'DEBE AGREGAR LOS USADOS DE LA REMISION EN LA NOTA DE CREDITO
|
||||
If UsuarioActual.CveEmpresa = 140 AndAlso ListaRemisionesNC.Count > 0 Then
|
||||
|
||||
CrearDTNCCargo(ListaRemisionesNC, DtImpuestos, TmpDT, DrPS, CveProyecto, Proyecto, CveSubProyecto, SubProyecto)
|
||||
'EN LA NC DE BONIFICACION EL CONCEPTO DEBE SER SIEMPRE 'BONIFICACION POR USADO'
|
||||
Dim DrPSBonificacion = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=360481).FiltroPrimero("")
|
||||
If DrPSBonificacion IsNot Nothing Then
|
||||
CrearDTNCBonificacion(ListaRemisionesNC, DtImpuestosBonificacion, TmpDT, DrPSBonificacion, CveProyecto, Proyecto, CveSubProyecto, SubProyecto)
|
||||
Else
|
||||
Alert("No se encontró el concepto de BONIFICACION POR USADO", TipoMensaje.MsgAdvertencia)
|
||||
CrearDTNCBonificacion(ListaRemisionesNC, DtImpuestosBonificacion, TmpDT, DrPS, CveProyecto, Proyecto, CveSubProyecto, SubProyecto)
|
||||
End If
|
||||
|
||||
Else
|
||||
For Each Dr As DataRow In DtImpuestos.Rows
|
||||
Acumulado12 += Dr("ImportePU").ToString().ToDecimal.RoundSQL + Dr("ImporteIVA").ToString().ToDecimal.RoundSQL + Dr("ImporteIEPS").ToString().ToDecimal
|
||||
If UltimoRenglon = DtImpuestos.Rows.Count Then
|
||||
'ajusta 5 centavos de diferencia
|
||||
If Acumulado12 <> AcumuladoNC And Math.Abs(Acumulado12 - AcumuladoNC) <= 0.05 Then
|
||||
Ajuste = (Acumulado12 - AcumuladoNC)
|
||||
For Each Dr As DataRow In DtImpuestos.Rows
|
||||
Acumulado12 += Dr("ImportePU").ToString().ToDecimal.RoundSQL + Dr("ImporteIVA").ToString().ToDecimal.RoundSQL + Dr("ImporteIEPS").ToString().ToDecimal
|
||||
If UltimoRenglon = DtImpuestos.Rows.Count Then
|
||||
'ajusta 5 centavos de diferencia
|
||||
If Acumulado12 <> AcumuladoNC And Math.Abs(Acumulado12 - AcumuladoNC) <= 0.05 Then
|
||||
Ajuste = (Acumulado12 - AcumuladoNC)
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
UltimoRenglon += 1
|
||||
UltimoRenglon += 1
|
||||
|
||||
AgregaTempDT(TmpDT, DrPS("CvePS").ToString().ToEntero(), DrPS("PS").ToString(), DrPS("Codigo").ToString(), DrPS("PSCodigo").ToString(), DrPS("CveTipoPS").ToString().ToEntero(), DrPS("Inv_CveMetodoInventario").ToString().ToEntero(),
|
||||
DrPS("CveUM").ToString().ToEntero(), DrPS("UnidadMedida").ToString(), DrPS("CveClasificacion").ToString().ToEntero(), DrPS("Clasificacion").ToString(), CveProyecto, Proyecto, CveSubProyecto, SubProyecto,
|
||||
TxtNCObservaciones.Text.Trim, 1, Dr("ImportePU").ToString().ToDecimal + Ajuste, Dr("PorcentajeIVA").ToString().ToDecimal, Dr("ImporteIVA").ToString().ToDecimal, Dr("PorcentajeRetIVA").ToString().ToDecimal, Dr("ImporteRetIVA").ToString().ToDecimal,
|
||||
Dr("PorcentajeRetISR").ToString().ToDecimal, Dr("ImporteRetISR").ToString().ToDecimal, Dr("PorcentajeIEPS").ToString().ToDecimal, Dr("ImporteIEPS").ToString().ToDecimal, -1, 0.0, Dr("ImporteTotal").ToString().ToDecimal(), "", "", -1, -1,
|
||||
DrPS("SATClavePS").ToString(), DrPS("SATClaveUnidadMedida").ToString(), -1, -1, -1, -1, -1, -1)
|
||||
AgregaTempDT(TmpDT, DrPS("CvePS").ToString().ToEntero(), DrPS("PS").ToString(), DrPS("Codigo").ToString(), DrPS("PSCodigo").ToString(), DrPS("CveTipoPS").ToString().ToEntero(), DrPS("Inv_CveMetodoInventario").ToString().ToEntero(),
|
||||
DrPS("CveUM").ToString().ToEntero(), DrPS("UnidadMedida").ToString(), DrPS("CveClasificacion").ToString().ToEntero(), DrPS("Clasificacion").ToString(), CveProyecto, Proyecto, CveSubProyecto, SubProyecto,
|
||||
TxtNCObservaciones.Text.Trim, 1, Dr("ImportePU").ToString().ToDecimal + Ajuste, Dr("PorcentajeIVA").ToString().ToDecimal, Dr("ImporteIVA").ToString().ToDecimal, Dr("PorcentajeRetIVA").ToString().ToDecimal, Dr("ImporteRetIVA").ToString().ToDecimal,
|
||||
Dr("PorcentajeRetISR").ToString().ToDecimal, Dr("ImporteRetISR").ToString().ToDecimal, Dr("PorcentajeIEPS").ToString().ToDecimal, Dr("ImporteIEPS").ToString().ToDecimal, -1, 0.0, Dr("ImporteTotal").ToString().ToDecimal(), "", "", -1, -1,
|
||||
DrPS("SATClavePS").ToString(), DrPS("SATClaveUnidadMedida").ToString(), -1, -1, -1, -1, -1, -1)
|
||||
|
||||
Next
|
||||
End If
|
||||
|
||||
|
||||
GvPS.DataSource = TmpDT
|
||||
GvPS.DataBind()
|
||||
|
||||
CalculaTotalesVenta(RecalculaImpuestosLocales:=AplicaImpuestosLocales)
|
||||
|
||||
TrTipoRelacion.Visible = True
|
||||
DdlTiposRelacion.SelectedValueExist("1")
|
||||
DdlSubProyectoDatos.Enabled = False
|
||||
|
||||
'condicióon, en la que se verifica que el importe total de aplicación de la nota de crédito sea igual al del total de la nota de crédito, ej. saldo de la factura 1000.01 y la nota de crédito se generó po 1000.00
|
||||
If Not AplicaNCMasiva Then
|
||||
Dim TT As Decimal = TxtNCImporte.Text.ToDecimal
|
||||
If TT > TxtTotal.Text.ToDecimal Then TT = TxtTotal.Text.ToDecimal
|
||||
CargaNCDT(CveVenta, TT)
|
||||
End If
|
||||
'verifica el tipo de cambio que se actualice
|
||||
If DdlMoneda.SelectedValue <> "1" Then
|
||||
TxtTipoCambio.Text = GlobalTipoCambio(Now).ToString()
|
||||
End If
|
||||
LblTCValuacion.Visible = False
|
||||
UpPS.Update()
|
||||
|
||||
LBNotaCredito.Visible = False
|
||||
CambiaTipoDocto()
|
||||
|
||||
Next
|
||||
End If
|
||||
|
||||
|
||||
GvPS.DataSource = TmpDT
|
||||
GvPS.DataBind()
|
||||
|
||||
CalculaTotalesVenta(RecalculaImpuestosLocales:=AplicaImpuestosLocales)
|
||||
|
||||
TrTipoRelacion.Visible = True
|
||||
DdlTiposRelacion.SelectedValueExist("1")
|
||||
DdlSubProyectoDatos.Enabled = False
|
||||
|
||||
'condicióon, en la que se verifica que el importe total de aplicación de la nota de crédito sea igual al del total de la nota de crédito, ej. saldo de la factura 1000.01 y la nota de crédito se generó po 1000.00
|
||||
If Not AplicaNCMasiva Then
|
||||
Dim TT As Decimal = TxtNCImporte.Text.ToDecimal
|
||||
If TT > TxtTotal.Text.ToDecimal Then TT = TxtTotal.Text.ToDecimal
|
||||
CargaNCDT(CveVenta, TT)
|
||||
End If
|
||||
'verifica el tipo de cambio que se actualice
|
||||
If DdlMoneda.SelectedValue <> "1" Then
|
||||
TxtTipoCambio.Text = GlobalTipoCambio(Now).ToString()
|
||||
End If
|
||||
LblTCValuacion.Visible = False
|
||||
UpPS.Update()
|
||||
|
||||
LBNotaCredito.Visible = False
|
||||
CambiaTipoDocto()
|
||||
End If
|
||||
Catch ex As Exception
|
||||
OnError("Ocurrió un error al aplicar NC", ex)
|
||||
End Try
|
||||
UPCondicionesPago.Update()
|
||||
|
||||
End Sub
|
||||
Private Sub CrearDTNCCargo(ListaNC As List(Of Modelos.Factura), DtImpuestos As DataTable, ByRef TmpDTCargo As DataTable, DrPS As DataRow, CveProyecto As Integer, Proyecto As String, CveSubProyecto As Integer, SubProyecto As String)
|
||||
@@ -24467,11 +24486,13 @@ Partial Class Ventas
|
||||
'ACTIVA CONDICIONES DE PAGO
|
||||
DdlUsoCFDI.Enabled = True
|
||||
DdlUsoCFDI.SelectedValueExist("2")
|
||||
DdlMetodoPago33.Enabled = True
|
||||
DdlMetodoPago33.SelectedValueExist("1") ' PUE
|
||||
CargaFormaPago(DdlMetodoPago33.SelectedValue.ToEntero())
|
||||
DdlFormaPago33.Enabled = True
|
||||
DdlFormaPago33.SelectedValueExist("11") ' condonación por default
|
||||
If UsuarioActual.CveEmpresa <> 140 Then
|
||||
DdlMetodoPago33.Enabled = True
|
||||
DdlMetodoPago33.SelectedValueExist("1") ' PUE
|
||||
CargaFormaPago(DdlMetodoPago33.SelectedValue.ToEntero())
|
||||
DdlFormaPago33.Enabled = True
|
||||
DdlFormaPago33.SelectedValueExist("11") ' condonación por default
|
||||
End If
|
||||
|
||||
UpEstatus.Update()
|
||||
UpnTools.Update()
|
||||
@@ -24595,6 +24616,22 @@ Partial Class Ventas
|
||||
UpDevolucion.Update()
|
||||
|
||||
End Sub
|
||||
Protected Sub BtnCalcularPenalizacion_Click(sender As Object, e As EventArgs)
|
||||
Dim PorcentajePenalizacion As Decimal = (TxtPorPenalizacion.Text.ToDecimal() / 100D)
|
||||
|
||||
For Each GvRow As GridViewRow In GvAplicaDevolucion.Rows
|
||||
If GvRow.FCCheckBox("Chk").Checked Then
|
||||
|
||||
Dim Total As Decimal = GvRow.DataKey("PU").ToDecimal() - (GvRow.DataKey("Descuento").ToDecimal() / GvRow.DataKey("Cantidad").ToDecimal())
|
||||
|
||||
'APLICA EL PORCENTAJE DE PENALIZACION
|
||||
GvRow.FCTextBox("TxtPrecioEditado").Text = (Total - (Total * PorcentajePenalizacion)).FormatoNumero(2)
|
||||
|
||||
End If
|
||||
Next
|
||||
|
||||
UpDevolucion.Update()
|
||||
End Sub
|
||||
Protected Sub BtnAplicaDevolucion_Click(sender As Object, e As EventArgs)
|
||||
|
||||
'VALIDACIONES
|
||||
@@ -27229,6 +27266,33 @@ Partial Class Ventas
|
||||
End If
|
||||
Next
|
||||
|
||||
'SI TIENE ALGUN AJUSTE O GARANTIA
|
||||
If ListaRemisionesNC.Any(Function(RNC) RNC.Num2 = 1) Then
|
||||
For Each RNC In ListaRemisionesNC.Where(Function(x) x.Num2 = 1)
|
||||
Dim Salir As Boolean = False
|
||||
Using ObjAcum As New ClsAcumuladores
|
||||
If ObjAcum.GetGarantiasDetalle(RNC.CveVenta) Then
|
||||
'SI ES GARANTIA TOTAL
|
||||
If ObjAcum.DtResultados.MAX("PorcentajeAjuste") = "1" Then
|
||||
DdlNCPS.SelectedValueExist(443174)
|
||||
DdlNCPS.Enabled = False
|
||||
Salir = True
|
||||
Else
|
||||
DdlNCPS.SelectedValueExist(443173)
|
||||
DdlNCPS.Enabled = False
|
||||
End If
|
||||
End If
|
||||
End Using
|
||||
|
||||
If Salir Then
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
Else
|
||||
DdlNCPS.Enabled = True
|
||||
End If
|
||||
|
||||
|
||||
For Each GvRow As GridViewRow In GvRemisionesNCBon.Rows
|
||||
If GvRow.RowType = DataControlRowType.DataRow Then
|
||||
If GvRow.FCCheckBox("ChkAplicar").Checked Then
|
||||
@@ -27304,6 +27368,28 @@ Partial Class Ventas
|
||||
End If
|
||||
Next
|
||||
|
||||
'SI TIENE ALGUN AJUSTE O GARANTIA
|
||||
If ListaNCDesc.Any(Function(RNC) RNC.Num2 = 1) Then
|
||||
For Each RNC In ListaRemisionesNC.Where(Function(x) x.Num2 = 1)
|
||||
Dim Salir As Boolean = False
|
||||
Using ObjAcum As New ClsAcumuladores
|
||||
If ObjAcum.GetGarantiasDetalle(RNC.CveVenta) Then
|
||||
'SI ES GARANTIA TOTAL
|
||||
If ObjAcum.DtResultados.MAX("PorcentajeAjuste") = "1" Then
|
||||
DrPS = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=443174, AplicaParaVenta:=1).Rows(0)
|
||||
Salir = True
|
||||
Else
|
||||
DrPS = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=443173, AplicaParaVenta:=1).Rows(0)
|
||||
End If
|
||||
End If
|
||||
End Using
|
||||
|
||||
If Salir Then
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
|
||||
Dim LimiteUsados As Decimal = LblSaldoMaximoUsados.Text.Trim().ToDecimal()
|
||||
|
||||
'VERIFICA EL LIMITE DE LOS USADOS
|
||||
|
||||
Reference in New Issue
Block a user