diff --git a/App_Code/ClsClaseBase.vb b/App_Code/ClsClaseBase.vb
index a51bde5ba..d5857b782 100644
--- a/App_Code/ClsClaseBase.vb
+++ b/App_Code/ClsClaseBase.vb
@@ -120,6 +120,83 @@ Public Class ClsClaseBase
SqlAdapter.SelectCommand.Parameters.Add(name, tipo).Value = valor
End If
End Sub
+
+ Public Function runQuerystr(Query As String, Optional Listaparametros As List(Of parametroQuery) = Nothing, Optional msgError As String = "", Optional mostrarError As Boolean = True) As Boolean
+ Dim retorno As Boolean = False
+ Try
+ If SqlConexion.State = ConnectionState.Open Then
+ SqlAdapter.SelectCommand.Parameters.Clear()
+ SqlAdapter.SelectCommand.CommandText = Query
+ SqlAdapter.SelectCommand.CommandType = CommandType.Text
+ Data = New DataTable()
+ If Not IsNothing(Listaparametros) Then
+ For Each pr As parametroQuery In Listaparametros
+ If Not IsNothing(pr.SqlDataType) Then
+ If Not IsNothing(pr.ParameterDirection) Then
+ SqlAdapter.SelectCommand.Parameters.Add(pr.ParameterName, pr.SqlDataType).Direction = pr.ParameterDirection
+ Else
+ SqlAdapter.SelectCommand.Parameters.Add(pr.ParameterName, pr.SqlDataType).Value = If(Not IsNothing(pr.SqlValue), pr.SqlValue, DBNull.Value)
+ End If
+ Else
+ SqlAdapter.SelectCommand.Parameters.AddWithValue(pr.ParameterName, pr.SqlValue)
+ End If
+ Next
+ End If
+
+ SqlAdapter.Fill(Data)
+ retorno = True
+ Else
+ Dim InfoAdicional As String = "Se intenta realizar una conexion con una conexion cerrada"
+ InfoAdicional = $"{InfoAdicional}{Environment.NewLine}{msgError}{Environment.NewLine}"
+ GuardaLog(InfoAdicional)
+ End If
+ Catch sqEx As SqlException
+ retorno = False
+ setOnError(msgError, sqEx)
+ Catch ex As Exception
+ retorno = False
+ setOnError(msgError, ex)
+ End Try
+ Return retorno
+ End Function
+ Public Function ExecQuery(Query As String, Optional Listaparametros As List(Of parametroQuery) = Nothing, Optional msgError As String = "", Optional mostrarError As Boolean = True) As Integer
+ Dim retorno As Integer = -1
+ Try
+ If SqlConexion.State = ConnectionState.Open Then
+ SqlAdapter.SelectCommand.Parameters.Clear()
+ SqlAdapter.SelectCommand.CommandText = Query
+ SqlAdapter.SelectCommand.CommandType = CommandType.Text
+ If Not IsNothing(Listaparametros) Then
+ For Each pr As parametroQuery In Listaparametros
+ If Not IsNothing(pr.SqlDataType) Then
+ If Not IsNothing(pr.ParameterDirection) Then
+ SqlAdapter.SelectCommand.Parameters.Add(pr.ParameterName, pr.SqlDataType).Direction = pr.ParameterDirection
+ Else
+ SqlAdapter.SelectCommand.Parameters.Add(pr.ParameterName, pr.SqlDataType).Value = If(Not IsNothing(pr.SqlValue), pr.SqlValue, DBNull.Value)
+ End If
+ Else
+ SqlAdapter.SelectCommand.Parameters.AddWithValue(pr.ParameterName, pr.SqlValue)
+ End If
+ Next
+ End If
+
+ retorno = SqlAdapter.SelectCommand.ExecuteNonQuery()
+ Else
+ Dim InfoAdicional As String = "Se intenta realizar una conexion con una conexion cerrada"
+ InfoAdicional = $"{InfoAdicional}{Environment.NewLine}{msgError}{Environment.NewLine}"
+ GuardaLog(InfoAdicional)
+ End If
+ Catch sqEx As SqlException
+ retorno = -1
+ setOnError(msgError, sqEx)
+ Catch ex As Exception
+ retorno = -1
+ setOnError(msgError, ex)
+ End Try
+ Return retorno
+ End Function
+
+
Protected Function RunQuery(msgOnError As String) As Boolean
Dim retorno As Boolean = False
@@ -203,3 +280,19 @@ Public Class ClsClaseBase
End Sub
End Class
+
+Public Class parametroQuery
+ Public Sub New(parameterName As String, sqlValue As Object, Optional sqlDataType As SqlDbType = Nothing, Optional parameterDirection As ParameterDirection = Nothing)
+ Me.ParameterName = parameterName
+ Me.SqlDataType = sqlDataType
+ Me.ParameterDirection = parameterDirection
+ Me.SqlValue = sqlValue
+
+ End Sub
+
+ Public Property ParameterName As String
+ Public Property SqlDataType As SqlDbType
+ Public Property ParameterDirection As ParameterDirection
+ Public Property SqlValue As Object
+
+End Class
\ No newline at end of file
diff --git a/App_Code/ClsOC.vb b/App_Code/ClsOC.vb
index 98e94a859..829a5b2f1 100644
--- a/App_Code/ClsOC.vb
+++ b/App_Code/ClsOC.vb
@@ -2524,7 +2524,7 @@ Public Class ClsOC
End Function
#End Region
#Region "REP SOLICITUDES ANTICIPO"
- Public Function GetRepSolicitudAnticipos(CveEmpresa As Integer, CveProveedor As Integer, FechaI As Date, FechaF As Date, CveEventoEstatus As Integer) As Boolean
+ Public Function GetRepSolicitudAnticipos(CveEmpresa As Integer, CveProveedor As Integer, FechaI As Date, FechaF As Date, CveEventoEstatus As Integer, Optional CveUsuario As Integer = -1, Optional CveSubProyecto As Integer = -1) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_RepSolicitudAnticipoGet")
@@ -2534,6 +2534,8 @@ Public Class ClsOC
.Add("@FechaI", SqlDbType.DateTime).Value = FechaI
.Add("@FechaF", SqlDbType.DateTime).Value = FechaF
.Add("@CveEventoEstatus", SqlDbType.Int).Value = CveEventoEstatus
+ .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
+ .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto
End With
Try
diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb
index 58f52703a..a704afaf3 100644
--- a/App_Code/ClsPaginas.vb
+++ b/App_Code/ClsPaginas.vb
@@ -4860,6 +4860,7 @@ Public Class ClsPaginas
PaginaDict.Add("/RH/SolicitudViaticos.aspx".ToUpper(), 663)
PaginaDict.Add("/RH/ReporteViaticos.aspx".ToUpper(), 664)
PaginaDict.Add("/RH/MiPerfil.aspx".ToUpper(), -1) ' se dejará libre el módulo para que cualquier que tenga cvepersonal, pueda acceder
+ PaginaDict.Add("/RH/CatChecadores.aspx".ToUpper(), 694)
#End Region
#Region "Sistema"
'Cargo las páginas que deben tener restricción
@@ -6753,7 +6754,7 @@ Public Class ClsPaginas
End If
'ECONOLLANTAS - AGREGAR QR DE DESCARGA
- If UsuarioActual.CveEmpresa = 141 Then
+ If UsuarioActual.CveEmpresa.Contiene(141, 152, 159, 160, 161, 162, 163) Then
Dim QRDescarga As String = ""
Dim cfdi As New RVCFDI33.GeneraCFDI()
diff --git a/App_Code/ClsRH.vb b/App_Code/ClsRH.vb
index 5508900fd..b7729c3f2 100644
--- a/App_Code/ClsRH.vb
+++ b/App_Code/ClsRH.vb
@@ -6879,6 +6879,81 @@ chkAplicaVacacion As Boolean, chkAplicaIncapacidad As Boolean, chkAplicaRetardo
#End Region
+#Region "Checador"
+ Public Function GetChecadores(CveChecador As Integer, CveEmpresa As Integer) As Boolean
+ Dim Retorno As Boolean = False
+ DataAdapter("PA_RH_ChecadorGet")
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CveChecador", SqlDbType.Int).Value = CveChecador
+ .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+ End With
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch ex As Exception
+ OnError("Ocurrió un error al obtener el listado de checadores", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ End Try
+ Return Retorno
+ End Function
+
+ Public Function AddChecadores(Checador As String, CveSubProyecto As Integer, IPLocal As String, Puerto As String, CveUsuario As Integer, Optional CveModelo As Integer = 1, Optional Estatus As Integer = 1) As Boolean
+ Dim Retorno As Boolean = False
+ DataAdapter("PA_RH_ChecadorAdd")
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@Checador", SqlDbType.NVarChar).Value = Checador
+ .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto
+ .Add("@IPLocal", SqlDbType.NVarChar).Value = IPLocal
+ .Add("@Puerto", SqlDbType.NVarChar).Value = Puerto
+ .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
+ .Add("@CveModelo", SqlDbType.Int).Value = CveModelo
+ .Add("@Estatus", SqlDbType.Int).Value = Estatus
+ End With
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch ex As Exception
+ OnError("Ocurrió un error al agregar el checador", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ End Try
+ Return Retorno
+ End Function
+
+ Public Function UpdateChecadores(CveChecador As Integer, Checador As String, CveSubProyecto As Integer, IPLocal As String, Puerto As String, Optional CveModelo As Integer = 1, Optional Estatus As Boolean = True) As Boolean
+ Dim Retorno As Boolean = False
+ DataAdapter("PA_RH_ChecadorUpdate")
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CveChecador", SqlDbType.Int).Value = CveChecador
+ .Add("@Checador", SqlDbType.NVarChar).Value = Checador
+ .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto
+ .Add("@IPLocal", SqlDbType.NVarChar).Value = IPLocal
+ .Add("@Puerto", SqlDbType.NVarChar).Value = Puerto
+ .Add("@CveModelo", SqlDbType.Int).Value = CveModelo
+ .Add("@Estatus", SqlDbType.Bit).Value = Estatus
+ End With
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch ex As Exception
+ OnError("Ocurrió un error al actualizar el checador", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ End Try
+ Return Retorno
+ End Function
+
+ Public Function RemoveChecadores(CveChecador As Integer) As Boolean
+ Dim Retorno As Boolean = False
+ DataAdapter("PA_RH_ChecadorDelete")
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CveChecador", SqlDbType.Int).Value = CveChecador
+ End With
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch ex As Exception
+ OnError("Ocurrió un error al eliminar el checador", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ End Try
+ Return Retorno
+ End Function
+#End Region
+
'Public msgsError As New StringBuilder()
'Public Sub OnError(Mensaje As String, Exeption As Exception, Optional InfoAdicional As String = "")
diff --git a/Compras/Compras.aspx b/Compras/Compras.aspx
index 092f884ab..d0118d925 100644
--- a/Compras/Compras.aspx
+++ b/Compras/Compras.aspx
@@ -632,6 +632,7 @@
+
Tipo de Gasto
@@ -675,6 +676,7 @@
+
@@ -4284,8 +4286,19 @@
<%----%>
+
+
+
+
+
+
+
+
+
+
diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb
index fc53b60e5..da0b58856 100644
--- a/Compras/Compras.aspx.vb
+++ b/Compras/Compras.aspx.vb
@@ -1319,6 +1319,15 @@ Partial Class Compras_Compras
DdlPersonal.DataBind()
DdlPersonalReembolso.DataBind()
+ If UsuarioActual.Empresa.Funcionalidad(590).ToString.ToEntero = 1 Then
+ DVCultivosCuadro.Visible = True
+ DdlSubProyecto.AutoPostBack = True
+ DdlCultivosCuadro.DataSource = GlobalDTCultivosCuadro(UsuarioActual.CveEmpresa).FiltraParametros($"CveSubProyecto = {DdlSubProyecto.SelectedValue}")
+ DdlCultivosCuadro.DataBind()
+ DdlCultivosCuadro.Items.Insert(0, New ListItem("Seleccione uno", "-1"))
+
+ End If
+
'Carga Proveedor
If Request("CveProveedor") IsNot Nothing AndAlso IsNumeric(Request("CveProveedor")) AndAlso Request("CveProveedor").ToEntero > 0 Then
@@ -17655,6 +17664,15 @@ Partial Class Compras_Compras
If Modalidad <> "U" Or Not CveFactura > 0 Then
DdlPSChange()
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 DdlPSChange()
If CveProveedor > 0 Then
diff --git a/Inventarios/InventarioFisicoDetalle.aspx b/Inventarios/InventarioFisicoDetalle.aspx
index 6a15e7ad1..e7c1feb0c 100644
--- a/Inventarios/InventarioFisicoDetalle.aspx
+++ b/Inventarios/InventarioFisicoDetalle.aspx
@@ -229,7 +229,7 @@
-
+
@@ -240,7 +240,7 @@
-
+
@@ -259,12 +259,22 @@
-
-
-
+
+
+
+
+ <%--Seleccione--%>
+
+
+
+
+
+
+
+
diff --git a/Inventarios/InventarioFisicoDetalle.aspx.vb b/Inventarios/InventarioFisicoDetalle.aspx.vb
index a1678237c..a5abf5a98 100644
--- a/Inventarios/InventarioFisicoDetalle.aspx.vb
+++ b/Inventarios/InventarioFisicoDetalle.aspx.vb
@@ -6,7 +6,7 @@ Imports Extensiones
Imports Microsoft.Reporting.WebForms
Partial Class Inventarios_InventarioFisicoDetalle
- Inherits ClsPaginas
+ Inherits ClsPaginas
#Region "Propiedades"
Public Property DtEquivalencias() As DataTable
Get
@@ -39,9 +39,18 @@ Partial Class Inventarios_InventarioFisicoDetalle
Set(value As DataTable)
ViewState("DtVentas") = value
End Set
- End Property
+ End Property
+ Private Property CveAlmacenes As String
+ Get
+ Return ViewState("CveAlmacenes").ToString
+ End Get
+ Set(value As String)
+ ViewState("CveAlmacenes") = value
+ End Set
+ End Property
+
#End Region
-
+
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
If Not IsPostBack Then
If Request("CveInventarioFisico") IsNot Nothing AndAlso Request("CveInventarioFisico").ToString.ToEntero > 0 Then
@@ -51,10 +60,10 @@ Partial Class Inventarios_InventarioFisicoDetalle
End If
End If
- End Sub
-
-
-
+ End Sub
+
+
+
#Region " USUARIOS "
Private Sub CargaUsuarios()
ddlUsuario.DataSource = GlobalDTUsuarios(-1, UsuarioActual.CveEmpresa).FiltraParametros("Estatus = 1", "Nombre")
@@ -82,9 +91,9 @@ Partial Class Inventarios_InventarioFisicoDetalle
UPAgregarPro.Update()
UPPInventario.Update()
- End Sub
+ End Sub
#End Region
-
+
#Region " CARGA DATOS "
Private Sub CargaDatos(CveInventarioFisico As Integer, CveEmpresa As Integer, Optional CveUsuario As Integer = -1)
@@ -135,13 +144,16 @@ Partial Class Inventarios_InventarioFisicoDetalle
If ObjInventario.GetInventarioFisicoDetallesAlmacen(CveInventarioFisico, UsuarioActual.CveEmpresa) Then
Dim dt As DataTable = ObjInventario.DtResultados
Dim str As New StringBuilder
+ Dim CveAlmacenesStr As New StringBuilder
If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then
For Each dr As DataRow In dt.Rows
str.AppendFormat("{0},", dr("almacen"))
+ CveAlmacenesStr.AppendFormat("{0},", dr("CveAlmacen"))
Next
End If
LblAlmacenes.Text = str.ToString
+ CveAlmacenes = CveAlmacenesStr.ToString.Substring(0, CveAlmacenesStr.Length - 1)
End If
If ObjInventario.GetInventarioFisicoDetallesClasificacion(CveInventarioFisico, UsuarioActual.CveEmpresa) Then
@@ -246,11 +258,11 @@ Partial Class Inventarios_InventarioFisicoDetalle
RegistraScript("OrdenarGV();")
End If
UPPInventario.Update()
- End Sub
+ End Sub
#End Region
-
+
#Region " AGREGAR "
-
+
Protected Sub BtnGuardar_Click(sender As Object, e As EventArgs) Handles BtnGuardar.Click
Dim Valido As Boolean = False
@@ -260,8 +272,9 @@ Partial Class Inventarios_InventarioFisicoDetalle
Dim CodigoBarras As String = If(TxtCodigoBarras.Text.Trim <> "", TxtCodigoBarras.Text.Trim, "-1").Replace("'", "''") ' scanner cambian los guiones por apostrofes
Dim Serie As String = TxtCodigoSerie.Text.Trim
Dim Lote As String = If(TxtLote.Text.Length > 0, TxtLote.Text, "-1")
- Dim FechaCaducidad As String=MinFecha.ToString
+ Dim FechaCaducidad As String = MinFecha.ToString
Dim CveSeccionAlmacen As Integer = -1
+ Dim SeccionAlmacen As String = ""
Dim Cantidad = TxtCantidadProducto.Text.ToDouble
@@ -279,11 +292,13 @@ Partial Class Inventarios_InventarioFisicoDetalle
Dim AplicaCaducidad As Boolean = dr("AplicaCaducidad") = "1"
Dim AplicaLote As Boolean = dr("AplicaLote") = "1"
Dim AplicaSerie As Boolean = dr("AplicaSerie") = "1"
+ Dim AplicaSeccion As Boolean = dr("AplicaSeccion") = "1"
'divSeccionAlmacen.Visible = AplicaSeccion
divLote.Visible = AplicaLote
divFechaCaducidad.Visible = AplicaCaducidad
divSerie.Visible = AplicaSerie
+
UPAgregarPro.Update()
If AplicaSerie And Serie = "" Then
@@ -294,7 +309,7 @@ Partial Class Inventarios_InventarioFisicoDetalle
RFVSerie.ValidationGroup = " "
Exit Sub
End If
- If AplicaLote And Lote = "" Then
+ If AplicaLote And (Lote = "" Or Lote = "-1") Then
RFVLote.Enabled = True
RFVLote.Visible = True
RFVLote.SetFocusOnError = True
@@ -313,13 +328,46 @@ Partial Class Inventarios_InventarioFisicoDetalle
End If
FechaCaducidad = If(TxtFechaCaducidad.Text.Length > 0, TxtFechaCaducidad.Text, MinFecha.ToString)
End If
-
+ If AplicaSeccion Then
+ Dim ObjInv As New ClsInventarios
+ Dim SeccionesAlmacenDelProducto As New DataTable
+ If ObjInv.GetProductosServiciosAlmacenSeccion(CveProducto, -1, -1, UsuarioActual.CveEmpresa) Then
+ SeccionesAlmacenDelProducto = ObjInv.DtResultados.FiltraParametros(String.Format("CveAlmacen IN ({0})", CveAlmacenes))
+ End If
+ 'Dim SeccionesAlmacenDelProducto As DataTable = (UsuarioActual.CveEmpresa, -1, CveProducto) '.FiltraParametros(String.Format("CveAlmacen IN ({0})", CveAlmacenes))
+ 'Alert(SeccionesAlmacenDelProducto.Rows.Count.ToString)
+ If SeccionesAlmacenDelProducto.Rows.Count = 1 Then
+ CveSeccionAlmacen = SeccionesAlmacenDelProducto.FiltroPrimeroValor("CveSeccionAlmacen")
+ Else
+ divSeccion.Visible = AplicaSeccion
+ If DdlSeccionAlmacen.Items.Count = 0 Then
+ DdlSeccionAlmacen.DataSource = SeccionesAlmacenDelProducto
+ DdlSeccionAlmacen.DataBind()
+ DdlSeccionAlmacen.Items.Insert(0, New ListItem("Seleccione", "-1"))
+ End If
+
+ If DdlSeccionAlmacen.SelectedValue = "-1" Then
+ RfvSeccionAlmacen.Enabled = True
+ RfvSeccionAlmacen.Visible = True
+ RfvSeccionAlmacen.SetFocusOnError = True
+ RfvSeccionAlmacen.Validate()
+ RfvSeccionAlmacen.ValidationGroup = " "
+ Exit Sub
+ End If
+ CveSeccionAlmacen = DdlSeccionAlmacen.SelectedValue.ToEntero
+ End If
+ ObjInv.Dispose()
+ SeccionAlmacen = GlobalDTSeccionAlmacen(UsuarioActual.CveEmpresa, -1).FiltroPrimeroValor("SeccionAlmacen", String.Format("CveSeccionAlmacen = {0}", CveSeccionAlmacen))
+ End If
+
RFVSerie.ValidationGroup = "GrpIngresar"
RFVSerie.Enabled = False
RFVLote.ValidationGroup = "GrpIngresar"
RFVLote.Enabled = False
RFVCaducidad.ValidationGroup = "GrpIngresar"
RFVCaducidad.Enabled = False
+ RfvSeccionAlmacen.ValidationGroup = "GrpIngresar"
+ RfvSeccionAlmacen.Enabled = False
'VALIDA QUE LA SERIE NO SEA IGUAL AL CODIGO O CODIGOBARRAS
If Serie <> "" And (Serie.ToUpper = dr("Codigo").ToString.ToUpper Or Serie.ToUpper = dr("CodigoBarras").ToString.ToUpper) Then
@@ -331,7 +379,7 @@ Partial Class Inventarios_InventarioFisicoDetalle
Using Inventarios As New ClsInventarios
If Inventarios.AddInventarioFisicoDetalle(CveInventarioFisico, CveProducto, CveUnidadMedida, If(AplicaSerie, 1, Cantidad), Serie, UsuarioActual.CveUsuario,
- CveSeccionAlmacen:=-1, Lote:=Lote, FechaCaducidad:=FechaCaducidad.ToDate) Then
+ CveSeccionAlmacen:=CveSeccionAlmacen, Lote:=Lote, FechaCaducidad:=FechaCaducidad.ToDate) Then
GvIFDUltimoRegistrado.Columns(4).Visible = CveSeccionAlmacen > 0
GvIFDUltimoRegistrado.Columns(5).Visible = Serie <> ""
@@ -344,7 +392,7 @@ Partial Class Inventarios_InventarioFisicoDetalle
GvIFDUltimoRegistrado.Rows(0).Cells(1).Text = dr("CodigoBarras").ToString
GvIFDUltimoRegistrado.Rows(0).Cells(2).Text = dr("Codigo").ToString
GvIFDUltimoRegistrado.Rows(0).Cells(3).Text = dr("PSCodigo").ToString
- GvIFDUltimoRegistrado.Rows(0).Cells(4).Text = ""
+ GvIFDUltimoRegistrado.Rows(0).Cells(4).Text = SeccionAlmacen
GvIFDUltimoRegistrado.Rows(0).Cells(5).Text = TxtCodigoSerie.Text.Trim
GvIFDUltimoRegistrado.Rows(0).Cells(6).Text = Lote
GvIFDUltimoRegistrado.Rows(0).Cells(7).Text = FechaCaducidad
@@ -371,6 +419,7 @@ Partial Class Inventarios_InventarioFisicoDetalle
divLote.Visible = False
divFechaCaducidad.Visible = False
divSerie.Visible = False
+ divSeccion.Visible = False
RegistraScript("playsonidito('beep-07.wav')")
Else
TxtCodigoSerie.Text = ""
@@ -386,6 +435,7 @@ Partial Class Inventarios_InventarioFisicoDetalle
divLote.Visible = False
divFechaCaducidad.Visible = False
divSerie.Visible = False
+ divSeccion.Visible = False
TxtLote.Text = ""
TxtFechaCaducidad.Text = ""
Alert("No se encontró el producto, favor de escribirlo correctamente.", TipoMensaje.MsgError)
@@ -395,9 +445,9 @@ Partial Class Inventarios_InventarioFisicoDetalle
DivBuscador.Visible = False
UPPInventario.Update()
- End Sub
+ End Sub
#End Region
-
+
#Region " ELIMINAR "
Protected Sub gvInventarioFisicoDetalle_RowDeleting(sender As Object, e As GridViewDeleteEventArgs) Handles GvIFD.RowDeleting
If ddlUsuario.SelectedValue = UsuarioActual.CveUsuario.ToString OrElse UsuarioActual.TienePermisoProceso(283) Then
@@ -425,9 +475,9 @@ Partial Class Inventarios_InventarioFisicoDetalle
Alert("No se puede eliminar un producto registrado por otro usuario.", TipoMensaje.MsgAdvertencia)
RegistraScript("playsonidito('142608__autistic-lucario__error.wav')")
End If
- End Sub
+ End Sub
#End Region
-
+
#Region " FINALIZAR "
Protected Sub btnFin_Click(sender As Object, e As EventArgs) Handles btnFin.Click
If btnFin.Text.Contains("Iniciar") Then
@@ -475,9 +525,9 @@ Partial Class Inventarios_InventarioFisicoDetalle
UPAgregarPro.Update()
UPPInventario.Update()
- End Sub
+ End Sub
#End Region
-
+
#Region " VER AVANCE "
Protected Sub LBAvance_Click(sender As Object, e As EventArgs)
Response.Redirect($"~/Inventarios/RepAnomalias.aspx?CveInventarioFisico={CveInventarioFisico}&EsAvance=1")
diff --git a/Inventarios/RepAnomalias.aspx b/Inventarios/RepAnomalias.aspx
index 3751b969e..61dc09004 100644
--- a/Inventarios/RepAnomalias.aspx
+++ b/Inventarios/RepAnomalias.aspx
@@ -198,6 +198,7 @@
+
@@ -232,6 +233,7 @@
+
diff --git a/Inventarios/RepAnomalias.aspx.vb b/Inventarios/RepAnomalias.aspx.vb
index a71900ab2..12433a1ec 100644
--- a/Inventarios/RepAnomalias.aspx.vb
+++ b/Inventarios/RepAnomalias.aspx.vb
@@ -194,6 +194,9 @@ Partial Class Inventarios_RepAnomalias
e.Row.Cells(8).Text = "0"
End If
+ If e.Row.Cells(7).Text = MinFecha Then
+ e.Row.Cells(7).Text = ""
+ End If
e.Row.FCLabel("Lblc").Text = e.Row.RowIndex + 1
End If
@@ -273,9 +276,10 @@ Partial Class Inventarios_RepAnomalias
#End Region
Private Sub BanderaSerieLoteCad(Gv As GridView, resultado As DataTable)
- Gv.Columns(4).Visible = resultado.MAX("Serie") <> ""
- Gv.Columns(5).Visible = resultado.MAX("Lote") <> ""
- Gv.Columns(6).Visible = resultado.MAX("FechaCaducidad").ToDate > MinFecha
+ Gv.Columns(4).Visible = resultado.MAX("CveSeccionAlmacen").ToEntero > 0
+ Gv.Columns(5).Visible = resultado.MAX("Serie") <> ""
+ Gv.Columns(6).Visible = resultado.MAX("Lote") <> ""
+ Gv.Columns(7).Visible = resultado.MAX("FechaCaducidad").ToDate > MinFecha
End Sub
End Class
diff --git a/Nomina/Aguinaldo.aspx b/Nomina/Aguinaldo.aspx
index a4f20fae3..456282339 100644
--- a/Nomina/Aguinaldo.aspx
+++ b/Nomina/Aguinaldo.aspx
@@ -3,6 +3,26 @@
+
@@ -51,7 +71,7 @@
+
+
+
diff --git a/RH/CatChecadores.aspx.cs b/RH/CatChecadores.aspx.cs
new file mode 100644
index 000000000..c05160605
--- /dev/null
+++ b/RH/CatChecadores.aspx.cs
@@ -0,0 +1,115 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Web;
+using System.Web.UI;
+using System.Web.UI.WebControls;
+using Extensiones;
+using System.Data;
+
+public partial class RH_CatChecadores : ClsPaginas
+{
+ private int CveChecador
+ {
+ get
+ {
+ return ViewState["CveChecador"].ToString().ToEntero();
+ }
+
+ set
+ {
+ ViewState["CveChecador"] = value;
+ }
+ }
+
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ if (!IsPostBack)
+ {
+ CargaDatos();
+ CargaSubProyectos();
+ }
+ }
+
+ private void CargaDatos()
+ {
+ ClsRH ObjRH = new ClsRH();
+ if (ObjRH.GetChecadores(-1, UsuarioActual.CveEmpresa))
+ {
+ GvDatos.DataSource = ObjRH.DtResultados;
+ }
+ ObjRH.Dispose();
+ GvDatos.DataBind();
+ }
+
+ private void CargaSubProyectos()
+ {
+ DdlSubProyecto.DataSource = get_GlobalDTSubProyectos(-1, CveEmpresa: UsuarioActual.CveEmpresa);
+ DdlSubProyecto.DataBind();
+ }
+
+ protected void BtnAgregarChecador_Click(object sender, EventArgs e)
+ {
+ TxtChecador.Text = "";
+ DdlSubProyecto.SelectedValue = "-1";
+ TxtIPLocal.Text = "";
+ TxtPuerto.Text = "";
+ BtnChecadorAgregar.Text = "Agregar";
+ divChkEstatus.Visible = false;
+ UpModalTiposD.Update();
+ RegistraScript(String.Format("$('#{0}').modal();", "DivAgregarTiposD"));
+ }
+
+ protected void BtnChecadorAgregar_Click(object sender, EventArgs e)
+ {
+ ClsRH ObjRH = new ClsRH();
+ if (BtnChecadorAgregar.Text == "Agregar")
+ {
+ if (ObjRH.AddChecadores(TxtChecador.Text, DdlSubProyecto.SelectedValue.ToEntero(), TxtIPLocal.Text, TxtPuerto.Text, UsuarioActual.CveUsuario))
+ {
+ Alert("Checador agregado correctamente");
+ }
+ }
+ else
+ {
+ if (ObjRH.UpdateChecadores(CveChecador,TxtChecador.Text,DdlSubProyecto.SelectedValue.ToEntero(),TxtIPLocal.Text,TxtPuerto.Text,Estatus: ChkEstatus.Checked))
+ {
+ Alert("Checador actualizado correctamente");
+ }
+ }
+ ObjRH.Dispose();
+ CargaDatos();
+ UpDatos.Update();
+ RegistraScript(String.Format("$('#{0}').modal('hide');", "DivAgregarTiposD"));
+ }
+
+ protected void LnkEditar_Click(object sender, EventArgs e)
+ {
+ GridViewRow GvRow = (GridViewRow)(((LinkButton)sender).NamingContainer);
+
+ CveChecador = GvRow.DataKey("CveChecador").ToEntero();
+ TxtChecador.Text = GvRow.DataKey("Checador");
+ DdlSubProyecto.SelectedValue = GvRow.DataKey("CveSubProyecto");
+ TxtIPLocal.Text = GvRow.DataKey("IPLocal");
+ TxtPuerto.Text = GvRow.DataKey("Puerto");
+ BtnChecadorAgregar.Text = "Actualizar";
+ ChkEstatus.Checked = GvRow.DataKey("Estatus") == "Activo";
+ divChkEstatus.Visible = true;
+ UpModalTiposD.Update();
+ RegistraScript(String.Format("$('#{0}').modal();", "DivAgregarTiposD"));
+ }
+
+ protected void LnkEliminar_Click(object sender, EventArgs e)
+ {
+ GridViewRow GvRow = (GridViewRow)(((LinkButton)sender).NamingContainer);
+
+ ClsRH ObjRH = new ClsRH();
+ if (ObjRH.RemoveChecadores(GvRow.DataKey("CveChecador").ToEntero()))
+ {
+ Alert("Checador eliminado correctamente");
+ CargaDatos();
+ UpDatos.Update();
+ }
+ ObjRH.Dispose();
+ }
+}
\ No newline at end of file
diff --git a/Ventas/ProductosServicios.aspx.vb b/Ventas/ProductosServicios.aspx.vb
index 6f9b5de8f..18dbbe908 100644
--- a/Ventas/ProductosServicios.aspx.vb
+++ b/Ventas/ProductosServicios.aspx.vb
@@ -1257,7 +1257,7 @@ Partial Class ProductosyServicios
End If
Next
End If
- If UsuarioActual.Empresa.Funcionalidad(563) <> "" Then
+ If UsuarioActual.Empresa.Funcionalidad(563) <> "" AndAlso ChkAplicaParaVenta.Checked Then
TieneError = GuardarProductoEnFranquicia(ObjProductosServicios, PSS, CveMetodoInv, EsPaquete, True)
End If
@@ -1323,7 +1323,7 @@ Partial Class ProductosyServicios
Next
End If
- If UsuarioActual.Empresa.Funcionalidad(563) <> "" Then
+ If UsuarioActual.Empresa.Funcionalidad(563) <> "" AndAlso ChkAplicaParaVenta.Checked Then
TieneError = GuardarProductoEnFranquicia(ObjProductosServicios, PSS, CveMetodoInv, EsPaquete, False)
End If
diff --git a/Ventas/RepComisionesJAM.aspx b/Ventas/RepComisionesJAM.aspx
index 8fac2b313..cf06867b3 100644
--- a/Ventas/RepComisionesJAM.aspx
+++ b/Ventas/RepComisionesJAM.aspx
@@ -102,7 +102,7 @@
diff --git a/Ventas/RepComisionesJAM.aspx.cs b/Ventas/RepComisionesJAM.aspx.cs
index 1dfcf5071..721d3f7cf 100644
--- a/Ventas/RepComisionesJAM.aspx.cs
+++ b/Ventas/RepComisionesJAM.aspx.cs
@@ -113,28 +113,24 @@ public partial class Ventas_RepComisionesJAM : ClsPaginas
if (e.Row.DBCampo("Transaccion").ToString() == "Pago" && ChkEsquemaNuevo.Checked)
{
e.Row.FCLinkButton("LnkInfo").Visible = true;
- //if (e.Row.DBCampo("CveCategoria").ToEntero() < 1 && e.Row.DBCampo("Comision").ToDouble() == 0)
- //{
- // //if (UsuarioActual.TienePermisoProceso(201))
- // //{
- // // e.Row.Cells[21].ToolTip = "No se encuentra dentro de alguna categoria que de comision ni a alguno de los productos especiales.";
- // // e.Row.Cells[22].ToolTip = "No se encuentra dentro de alguna categoria que de comision ni a alguno de los productos especiales.";
- // //}
- // //else
- // //{
- // e.Row.Cells[21].ToolTip = "No se encuentra dentro de alguna categoria que de comision ni a alguno de los productos especiales.";
- // e.Row.Cells[22].ToolTip = "No se encuentra dentro de alguna categoria que de comision ni a alguno de los productos especiales.";
- // //}
- //}else if (e.Row.DBCampo("CveCategoria").ToEntero() > 0 )
- //{
- // e.Row.Cells[21].ToolTip = $"El producto obtuvo la comision porque se encuentra en la categoria: {get_GlobalDTGralCategorias(UsuarioActual.CveEmpresa).FiltroPrimeroValor("Categoria",$"CveCategoria = {e.Row.DBCampo("CveCategoria").ToString()}")}.";
- // e.Row.Cells[22].ToolTip = $"El producto obtuvo la comision porque se encuentra en la categoria: {get_GlobalDTGralCategorias(UsuarioActual.CveEmpresa).FiltroPrimeroValor("Categoria", $"CveCategoria = {e.Row.DBCampo("CveCategoria").ToString()}")}.";
- //}else if(e.Row.DBCampo("Comision").ToDouble() > 0)
- //{
- // e.Row.Cells[21].ToolTip = "El producto obtuvo comision porque esta dentro de los de las comisiones especiales.";
- // e.Row.Cells[22].ToolTip = "El producto obtuvo comision porque esta dentro de los de las comisiones especiales.";
- //}
- }else
+ if (!Convert.ToBoolean(e.Row.DataKey("TieneCategoriaValida")) && e.Row.DataKey("Comision").ToDouble() == 0)
+ {
+ e.Row.FCLinkButton("LnkInfo").ToolTip = $"No se encuentra dentro de alguna categoria que de comision ni alguno de los productos especiales. La categoria del producto es: {get_GlobalDTGralCategorias(UsuarioActual.CveEmpresa).FiltroPrimeroValor("Categoria", $"CveCategoria = { e.Row.DataKey("CveCategoria").ToString()}")}. % Precio Publico: {e.Row.DataKey("PorcentajePrecioPublico").ToString()}. Dias Pago: {e.Row.DataKey("DiasPago").ToString()}.";
+ }
+ else if (Convert.ToBoolean(e.Row.DataKey("TieneCategoriaValida")) && e.Row.DataKey("Comision").ToDouble() > 0)
+ {
+ e.Row.FCLinkButton("LnkInfo").ToolTip = $"El producto obtuvo la comision porque se encuentra en la categoria: {get_GlobalDTGralCategorias(UsuarioActual.CveEmpresa).FiltroPrimeroValor("Categoria", $"CveCategoria = {e.Row.DataKey("CveCategoria").ToString()}")} y esta dentro de los rangos de precio publico y dias validos. % Precio Publico: {e.Row.DataKey("PorcentajePrecioPublico").ToString()}. Dias Pago: {e.Row.DataKey("DiasPago").ToString()}.";
+ }
+ else if (Convert.ToBoolean(e.Row.DataKey("TieneCategoriaValida")) && e.Row.DataKey("Comision").ToDouble() == 0)
+ {
+ e.Row.FCLinkButton("LnkInfo").ToolTip = $"El producto se encuentra en la categoria: {get_GlobalDTGralCategorias(UsuarioActual.CveEmpresa).FiltroPrimeroValor("Categoria", $"CveCategoria = {e.Row.DataKey("CveCategoria").ToString()}")} que da comision, pero no se encuentra dentro de los rangos de precio publico y dias validos. % Precio Publico: {e.Row.DataKey("PorcentajePrecioPublico").ToString()}. Dias Pago: {e.Row.DataKey("DiasPago").ToString()}.";
+ }
+ else if (e.Row.DataKey("Comision").ToDouble() > 0)
+ {
+ e.Row.FCLinkButton("LnkInfo").ToolTip = $"El producto obtuvo comision porque esta dentro de los de las comisiones especiales. La categoria del producto es: {get_GlobalDTGralCategorias(UsuarioActual.CveEmpresa).FiltroPrimeroValor("Categoria", $"CveCategoria = { e.Row.DataKey("CveCategoria").ToString()}")}. El producto es: {e.Row.DataKey("CodigoPS").ToString()}. % Precio Publico: {e.Row.DataKey("PorcentajePrecioPublico").ToString()}. Dias Pago: {e.Row.DataKey("DiasPago").ToString()}.";
+ }
+ }
+ else
{
e.Row.FCLinkButton("LnkInfo").Visible = false;
}
@@ -357,19 +353,19 @@ public partial class Ventas_RepComisionesJAM : ClsPaginas
if (!Convert.ToBoolean(gvRow.DataKey("TieneCategoriaValida")) && gvRow.DataKey("Comision").ToDouble() == 0)
{
- LblInfo.Text = $"No se encuentra dentro de alguna categoria que de comision ni alguno de los productos especiales. La categoria del producto es: {get_GlobalDTGralCategorias(UsuarioActual.CveEmpresa).FiltroPrimeroValor("Categoria", $"CveCategoria = { gvRow.DataKey("CveCategoria").ToString()}")}. ";
+ LblInfo.Text = $"No se encuentra dentro de alguna categoria que de comision ni alguno de los productos especiales. La categoria del producto es: {get_GlobalDTGralCategorias(UsuarioActual.CveEmpresa).FiltroPrimeroValor("Categoria", $"CveCategoria = { gvRow.DataKey("CveCategoria").ToString()}")}. % Precio Publico: {gvRow.DataKey("PorcentajePrecioPublico").ToString()} Dias Pago: {gvRow.DataKey("DiasPago").ToString()}";
}
else if (Convert.ToBoolean(gvRow.DataKey("TieneCategoriaValida")) && gvRow.DataKey("Comision").ToDouble() > 0)
{
- LblInfo.Text = $"El producto obtuvo la comision porque se encuentra en la categoria: {get_GlobalDTGralCategorias(UsuarioActual.CveEmpresa).FiltroPrimeroValor("Categoria", $"CveCategoria = {gvRow.DataKey("CveCategoria").ToString()}")} y esta dentro de los rangos de precio publico y dias validos. ";
+ LblInfo.Text = $"El producto obtuvo la comision porque se encuentra en la categoria: {get_GlobalDTGralCategorias(UsuarioActual.CveEmpresa).FiltroPrimeroValor("Categoria", $"CveCategoria = {gvRow.DataKey("CveCategoria").ToString()}")} y esta dentro de los rangos de precio publico y dias validos. % Precio Publico: {gvRow.DataKey("PorcentajePrecioPublico").ToString()} Dias Pago: {gvRow.DataKey("DiasPago").ToString()}";
}
else if (Convert.ToBoolean(gvRow.DataKey("TieneCategoriaValida")) && gvRow.DataKey("Comision").ToDouble() == 0)
{
- LblInfo.Text = $"El producto se encuentra en la categoria: {get_GlobalDTGralCategorias(UsuarioActual.CveEmpresa).FiltroPrimeroValor("Categoria", $"CveCategoria = {gvRow.DataKey("CveCategoria").ToString()}")} que da comision, pero no se encuentra dentro de los rangos de precio publico y dias validos.";
+ LblInfo.Text = $"El producto se encuentra en la categoria: {get_GlobalDTGralCategorias(UsuarioActual.CveEmpresa).FiltroPrimeroValor("Categoria", $"CveCategoria = {gvRow.DataKey("CveCategoria").ToString()}")} que da comision, pero no se encuentra dentro de los rangos de precio publico y dias validos. % Precio Publico: {gvRow.DataKey("PorcentajePrecioPublico").ToString()} Dias Pago: {gvRow.DataKey("DiasPago").ToString()}";
}
else if (gvRow.DataKey("Comision").ToDouble() > 0)
{
- LblInfo.Text = $"El producto obtuvo comision porque esta dentro de los de las comisiones especiales. La categoria del producto es: {get_GlobalDTGralCategorias(UsuarioActual.CveEmpresa).FiltroPrimeroValor("Categoria", $"CveCategoria = { gvRow.DataKey("CveCategoria").ToString()}")}. El producto es: {gvRow.DataKey("CodigoPS").ToString()}. ";
+ LblInfo.Text = $"El producto obtuvo comision porque esta dentro de los de las comisiones especiales. La categoria del producto es: {get_GlobalDTGralCategorias(UsuarioActual.CveEmpresa).FiltroPrimeroValor("Categoria", $"CveCategoria = { gvRow.DataKey("CveCategoria").ToString()}")}. El producto es: {gvRow.DataKey("CodigoPS").ToString()}. % Precio Publico: {gvRow.DataKey("PorcentajePrecioPublico").ToString()} Dias Pago: {gvRow.DataKey("DiasPago").ToString()}";
}
this.RegistraScript("$('#DModalInfo').modal();");
UpModalInformacion.Update();
diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb
index 21188219c..0d199d7db 100644
--- a/Ventas/Ventas.aspx.vb
+++ b/Ventas/Ventas.aspx.vb
@@ -3926,7 +3926,7 @@ Partial Class Ventas
LblAlertRefacInv.Visible = True
End If
- If DdlTipoComprobante.SelectedValue.Contiene("Egs", "Ing", "Ant", "Dev", "Rem", "DPe", "RNC") AndAlso Not CveEstatus.Contiene(4, 5, 12, 13, 20) Then
+ If DdlTipoComprobante.SelectedValue.Contiene("Egs", "Ing", "Ant", "Dev", "Rem", "DPe", "RNC", "Pd2") AndAlso Not CveEstatus.Contiene(4, 5, 12, 13, 20) Then
If UsuarioActual.TienePermisoProceso(159) Then
Dim TienePermiso As String = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, -1).FiltroPrimeroValor("CveSubProyecto", String.Format("CveSubProyecto = {0}", DbRowVenta("CveSubProyecto")))
If TienePermiso <> "" Then
@@ -6697,6 +6697,7 @@ Partial Class Ventas
TmpDT.Rows(e.RowIndex)("ImporteIVA") = (TmpDT.Rows(e.RowIndex)("PorcentajeIVA").ToString().ToDecimal * TotalCalculableImpuestosIVA).RoundSQL(NumeroDecimales)
TmpDT.Rows(e.RowIndex)("ImporteIEPS") = (TmpDT.Rows(e.RowIndex)("PorcentajeIEPS").ToString().ToDecimal * TotalCalculableImpuestos).RoundSQL(NumeroDecimales)
TmpDT.Rows(e.RowIndex)("ImporteRetIVA") = (ClienteRetIVA * TotalCalculableImpuestos).RoundSQL(NumeroDecimales)
+ TmpDT.Rows(e.RowIndex)("RetIVA") = (ClienteRetIVA * TotalCalculableImpuestos).RoundSQL(NumeroDecimales)
TmpDT.Rows(e.RowIndex)("ImporteRetISR") = (ClienteRetISR * TotalCalculableImpuestos).RoundSQL(NumeroDecimales)
TmpDT.Rows(e.RowIndex)("PorcentajeRetIVA") = ClienteRetIVA
TmpDT.Rows(e.RowIndex)("PorcentajeRetISR") = ClienteRetISR
@@ -16309,6 +16310,7 @@ Partial Class Ventas
Row("IVA") = Row("PorcentajeIVA")
Row("ImporteIVA") = (Row("PorcentajeIVA").ToString().ToDecimal * TotalCalculableImpuestosIVA).RoundAD(NumeroDecimales)
Row("ImporteRetIVA") = (ClienteRetIVA * TotalCalculableImpuestos).RoundAD(NumeroDecimales)
+ Row("RetIVA") = (ClienteRetIVA * TotalCalculableImpuestos).RoundAD(NumeroDecimales)
Row("ImporteRetISR") = (ClienteRetISR * TotalCalculableImpuestos).RoundAD(NumeroDecimales)
Row("PorcentajeRetIVA") = ClienteRetIVA
Row("PorcentajeRetISR") = ClienteRetISR
@@ -20879,8 +20881,16 @@ Partial Class Ventas
RegistraScript("$('#ModalCancelarDocumento').modal();")
UpCancelarDocumento.Update()
sb.Clear()
+ ElseIf DdlTipoComprobante.SelectedValue.Contiene("Pd2") Then
+ Dim ObjVentas As New ClsVentas
+ If ObjVentas.UpdateEstatusVenta(CveVenta, 22, UsuarioActual.CveEmpresa) Then
+ Dim redirectString As String = String.Format("document.location.href=""/Ventas/Ventas.aspx?CveVenta={0}""", CveVenta)
+ Alert("Pedido cancelado.", JSBtnAceptar:=redirectString)
+ ', "document.location.href=""/Ventas/Ventas.aspx?CveVenta=" & CveVenta
+ End If
+ ObjVentas.Dispose()
Else
- CancelarDocumento()
+ CancelarDocumento()
End If
End Sub
@@ -25785,7 +25795,8 @@ Partial Class Ventas
If Not ObjVentas.AddVentaDetalle(CveVenta, Row("CvePS").ToString().ToEntero(), Row("Cantidad").ToString().ToDouble, Row("CveUM").ToString().ToEntero(),
Row("PU").ToString().ToDouble(If(ChkConvertirDoctoPesos.Checked, TxtTipoCambio.Text.ToDecimal, 1)), Row("ImporteIVA").ToString().ToDouble, Math.Round((Row("Total").ToString().ToDouble(If(ChkConvertirDoctoPesos.Checked, TxtTipoCambio.Text.ToDecimal, 1)) * (1 + Row("PorcentajeIVA").ToString().ToDouble(If(ChkConvertirDoctoPesos.Checked, TxtTipoCambio.Text.ToDecimal, 1)))), 6),
Row("Obs").ToString(), Row("Descuento").ToString().ToDouble(If(ChkConvertirDoctoPesos.Checked, TxtTipoCambio.Text.ToDecimal, 1)), Row("TipoDescuento").ToString().ToEntero(), Row("CveSubProyecto").ToString().ToEntero(), Row("CvePresupuestoIngreso").ToString().ToEntero(),
- PorcentajeIVA:=Row("PorcentajeIVA").ToString().ToDecimal, IEPS:=Row("ImporteIEPS").ToString().ToDouble(If(ChkConvertirDoctoPesos.Checked, TxtTipoCambio.Text.ToDecimal, 1)), PorcentajeIEPS:=Row("PorcentajeIEPS").ToString().ToDouble, TiempoEntrega:=Row("TiempoEntrega").ToString()) Then
+ PorcentajeIVA:=Row("PorcentajeIVA").ToString().ToDecimal, IEPS:=Row("ImporteIEPS").ToString().ToDouble(If(ChkConvertirDoctoPesos.Checked, TxtTipoCambio.Text.ToDecimal, 1)), PorcentajeIEPS:=Row("PorcentajeIEPS").ToString().ToDouble, TiempoEntrega:=Row("TiempoEntrega").ToString(),
+ PorcentajeRetIVA:=Row("PorcentajeRetIVA").ToString().ToDecimal, ImporteRetIVA:=Row("ImporteRetIVA").ToString().ToDecimal) Then
MensajeError = "Ocurrió un error al guardar las partidas de la cotización"
OcurrioError = True
Exit For