diff --git a/App_Code/ClsInventarios.vb b/App_Code/ClsInventarios.vb
index 561449597..2f992b6d2 100644
--- a/App_Code/ClsInventarios.vb
+++ b/App_Code/ClsInventarios.vb
@@ -97,6 +97,7 @@ Public Class ClsInventarios
Public Property CveFlete As Integer
Public Property CveCliente As Integer
Public Property CveClienteSucursal As Integer
+ Public Property NombreCliente As String
Public Property DepartamentoEntrega As String
Public Property PedidoContrato As String
Public Property GastoIndirecto As Double
@@ -341,1372 +342,1372 @@ Public Class ClsInventarios
.Add("@VerEn", SqlDbType.Int).Value = VerEn
.Add("@Almacenes", SqlDbType.VarChar).Value = Almacenes
.Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto
- .Add("@CveUsuarioConsulta", SqlDbType.Int).Value = CveUsuarioConsulta
- End With
- Try
- SqlAdapter.Fill(Data)
- Retorno = True
- Catch ex As Exception
- OnError("Ocurrió un error al obtener el Reporte de Almacenes Periodo.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
- End Try
-
- Return Retorno
+ .Add("@CveUsuarioConsulta", SqlDbType.Int).Value = CveUsuarioConsulta
+ End With
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch ex As Exception
+ OnError("Ocurrió un error al obtener el Reporte de Almacenes Periodo.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ End Try
+
+ Return Retorno
+ End Function
+
+
+ Public Function AddAlmacen(Almacen As String, CveTipoAlmacen As Integer, IdCtaContable As Integer, Modalidad As Integer, CveUsuario As Integer, CveEmpresa As Integer, Inventariable As Byte, CveSubProyecto As Integer, Optional Orden As Integer = -1) As Boolean
+ Dim Retorno As Boolean = False
+
+ DataAdapter("PA_Inv_AlmacenesAdd")
+
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@Almacen", SqlDbType.VarChar).Value = Almacen
+ .Add("@CveTipoAlmacen", SqlDbType.Int).Value = CveTipoAlmacen
+ .Add("@IdCtaContable", SqlDbType.Int).Value = IdCtaContable
+ .Add("@Modalidad", SqlDbType.Int).Value = Modalidad
+ .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
+ .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+ .Add("@Inventariable", SqlDbType.Bit).Value = Inventariable
+ .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto
+ .Add("@Orden", SqlDbType.SmallInt).Value = Orden
+ End With
+
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch Ex1 As SqlException
+ If Ex1.Message.Contains("Número: 2627;") Then
+ Alert("Ya existe un Almacén con el mismo nombre: " & Almacen & ".", TipoMensaje.MsgAdvertencia)
+ Else
+ Me.OnError("Ocurrió un error al Guardar el Almacén.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ End If
+ Catch ex As Exception
+ OnError("Ocurrió un error al Guardar el Almacén", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
+ End Try
+
+ Return Retorno
+ End Function
+
+ Public Function UpdateAlmacen(Almacen As String, CveTipoAlmacen As Integer, IdCtaContable As Integer, Modalidad As Integer, Estatus As Boolean, CveAlmacen As Integer, Inventariable As Byte, CveSubProyecto As Integer, Optional Orden As Integer = -1) As Boolean
+ Dim Retorno As Boolean = False
+
+ DataAdapter("PA_Inv_AlmacenesUpdate")
+
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CveAlmacen", SqlDbType.Int).Value = CveAlmacen
+ .Add("@Almacen", SqlDbType.VarChar).Value = Almacen
+ .Add("@CveTipoAlmacen", SqlDbType.Int).Value = CveTipoAlmacen
+ .Add("@IdCtaContable", SqlDbType.Int).Value = IdCtaContable
+ .Add("@Modalidad", SqlDbType.Int).Value = Modalidad
+ .Add("@Estatus", SqlDbType.Bit).Value = Estatus
+ .Add("@Inventariable", SqlDbType.Bit).Value = Inventariable
+ .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto
+ .Add("@Orden", SqlDbType.SmallInt).Value = Orden
+ End With
+
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch Ex1 As SqlException
+ If Ex1.Message.Contains("Número: 2627;") Then
+ Alert("Ya existe un Almacén con el mismo nombre: " & Almacen & ".", TipoMensaje.MsgAdvertencia)
+ Else
+ Me.OnError("Ocurrió un error al guardar los cambios en el Almacén", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ End If
+ Catch ex As Exception
+ OnError("Ocurrió un error al guardar los cambios en el Almacén.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
+ End Try
+
+ Return Retorno
+ End Function
+
+ Public Function RemoveAlmacen(CveAlmacen As Integer) As Boolean
+ Dim Retorno As Boolean = False
+
+ DataAdapter("PA_Inv_AlmacenesRemove")
+
+ SqlAdapter.SelectCommand.Parameters.Add("@CveAlmacen", SqlDbType.Int).Value = CveAlmacen
+
+
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch Ex1 As SqlException
+ If Ex1.Message.Contains("Número: 547;") Then
+ Alert("el Almacén no se pudo eliminar porque está siendo usado por un registro.", TipoMensaje.MsgAdvertencia)
+ Else
+ Me.OnError("Ocurrió un error al eliminar el Almacén.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ End If
+ Catch ex As Exception
+ Me.OnError("Ocurrió un error al eliminar el Almacén.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ End Try
+
+ Return Retorno
End Function
+#Region " TIPO ALMACEN "
- Public Function AddAlmacen(Almacen As String, CveTipoAlmacen As Integer, IdCtaContable As Integer, Modalidad As Integer, CveUsuario As Integer, CveEmpresa As Integer, Inventariable As Byte, CveSubProyecto As Integer, Optional Orden As Integer = -1) As Boolean
- Dim Retorno As Boolean = False
+ Public Function UpdateTipoAlmacen(CveTipoAlmacen As Integer, TipoAlmacen As String, Estatus As Boolean) As Boolean
+ Dim Retorno As Boolean = False
+
+ DataAdapter("PA_INV_TipoAlmacenUpdate")
+
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CveTipoAlmacen", SqlDbType.Int).Value = CveTipoAlmacen
+ .Add("@TipoAlmacen", SqlDbType.VarChar).Value = TipoAlmacen
+ .Add("@Estatus", SqlDbType.Bit).Value = Estatus
+ End With
+
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch Ex1 As SqlException
+ If Ex1.Message.Contains("Número: 2627;") Then
+ Alert("Ya existe un TipoA de Almacen con el mismo nombre: " & TipoAlmacen & ".", TipoMensaje.MsgAdvertencia)
+ Else
+ Me.OnError("Ocurrió un error al guardar los cambios en el Tipo de Almacen", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ End If
+ Catch ex As Exception
+ OnError("Ocurrió un error al guardar los cambios en el Tipo de Almacen.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
+ End Try
+
+ Return Retorno
+ End Function
+ Public Function GetTiposAlmacenes() As Boolean
+ Dim Retorno As Boolean = False
+ DataAdapter("PA_Inv_TiposAlmacenesGet")
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch ex As Exception
+ OnError("Ocurrió un error al obtener el Catálogo de Tipos Almacenes.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ End Try
+
+ Return Retorno
+ End Function
+
+ Public Function AddTipoAlmacen(TipoAlmacen As String, CveUsuario As Integer, CveEmpresa As Integer) As Boolean
+ Dim Retorno As Boolean = False
+
+ DataAdapter("PA_Inv_TiposAlmacenesAdd")
+
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@TipoAlmacen", SqlDbType.VarChar).Value = TipoAlmacen
+ .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
+ .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+ End With
+
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch Ex1 As SqlException
+ If Ex1.Message.Contains("Número: 2627;") Then
+ Alert("Ya existe un Tipo de Almacen con el mismo nombre: " & TipoAlmacen & ".", TipoMensaje.MsgAdvertencia)
+ Else
+ Me.OnError("Ocurrió un error al Guardar el Tipo de Almacen.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ End If
+ Catch ex As Exception
+ OnError("Ocurrió un error al Guardar el Tipo de Almacen", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
+ End Try
+
+ Return Retorno
+ End Function
+
+ Public Function UpdateTipoAlmacen(TipoAlmacen As String, Estatus As Boolean, CveTipoAlmacen As Integer) As Boolean
+ Dim Retorno As Boolean = False
+
+ DataAdapter("PA_Inv_TiposAlmacenesUpdate")
+
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CveTipoAlmacen", SqlDbType.Int).Value = CveTipoAlmacen
+ .Add("@TipoAlmacen", SqlDbType.VarChar).Value = TipoAlmacen
+ .Add("@Estatus", SqlDbType.Bit).Value = Estatus
+ End With
+
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch Ex1 As SqlException
+ If Ex1.Message.Contains("Número: 2627;") Then
+ Alert("Ya existe un Almacén con el mismo nombre: " & TipoAlmacen & ".", TipoMensaje.MsgAdvertencia)
+ Else
+ Me.OnError("Ocurrió un error al guardar los cambios en el Tipo de Almacen", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ End If
+ Catch ex As Exception
+ OnError("Ocurrió un error al guardar los cambios en el Tipo de Almacen.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
+ End Try
+
+ Return Retorno
+ End Function
+
+ Public Function RemoveTipoAlmacen(CveTipoAlmacen As Integer) As Boolean
+ Dim Retorno As Boolean = False
+
+ DataAdapter("PA_Inv_TiposAlmacenesRemove")
+
+ SqlAdapter.SelectCommand.Parameters.Add("@CveTipoAlmacen", SqlDbType.Int).Value = CveTipoAlmacen
+
+
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch Ex1 As SqlException
+ If Ex1.Message.Contains("Número: 547;") Then
+ Alert("El Tipo de Almacen no se pudo eliminar porque está siendo usado por un registro.", TipoMensaje.MsgAdvertencia)
+ Else
+ Me.OnError("Ocurrió un error al eliminar el Tipo de Almacen.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ End If
+ Catch ex As Exception
+ Me.OnError("Ocurrió un error al eliminar el Tipo de Almacen.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ End Try
+
+ Return Retorno
+ End Function
+#End Region
- DataAdapter("PA_Inv_AlmacenesAdd")
+#Region " SECCIONES ALMACENES "
+ Public Function GetSeccionesAlmacenes() As Boolean
+ Dim Retorno As Boolean = False
+ DataAdapter("PA_INV_SeccionesAlmacenesGet")
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch ex As Exception
+ OnError("Ocurrió un error al obtener el Catálogo de Secciones de Almacenes.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ End Try
+
+ Return Retorno
+ End Function
+ Public Function UpdateSeccion(CveSeccion As Integer, Seccion As String, Estatus As Boolean) As Boolean
+ Dim Retorno As Boolean = False
+
+ DataAdapter("PA_INV_SeccionesAlmacenesUpdate")
+
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CveSeccion", SqlDbType.Int).Value = CveSeccion
+ .Add("@Seccion", SqlDbType.VarChar).Value = Seccion
+ .Add("@Estatus", SqlDbType.Bit).Value = Estatus
+ End With
+
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch Ex1 As SqlException
+ If Ex1.Message.Contains("Número: 2627;") Then
+ Alert("Ya existe una Sección de Almacén con el mismo nombre: " & Seccion & ".", TipoMensaje.MsgAdvertencia)
+ Else
+ Me.OnError("Ocurrió un error al guardar los cambios en la Sección de Almacén", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ End If
+ Catch ex As Exception
+ OnError("Ocurrió un error al guardar los cambios en la Sección de Almacén.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
+ End Try
+
+ Return Retorno
+ End Function
+ Public Function GetSeccionesAlmacenes(CveSeccion As Integer) As Boolean
+ Dim Retorno As Boolean = False
+ DataAdapter("PA_Inv_SeccionesAlmacenesGet")
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CveSeccion", SqlDbType.Int).Value = CveSeccion
+ End With
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch ex As Exception
+ OnError("Ocurrió un error al obtener el Catálogo de Secciones de Almacenes.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ End Try
+
+ Return Retorno
+ End Function
+ Public Function AddSeccion(Seccion As String, CveAlmacen As Integer, CveUsuario As Integer, CveEmpresa As Integer) As Boolean
+ Dim Retorno As Boolean = False
+
+ DataAdapter("PA_Inv_SeccionesAlmacenesAdd")
+
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@Seccion", SqlDbType.VarChar).Value = Seccion
+ .Add("@CveAlmacen", SqlDbType.Int).Value = CveAlmacen
+ .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
+ .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+ End With
+
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch Ex1 As SqlException
+ If Ex1.Message.Contains("Número: 2627;") Then
+ Alert("Ya existe una Sección de Almacén con el mismo nombre: " & Seccion & ".", TipoMensaje.MsgAdvertencia)
+ Else
+ Me.OnError("Ocurrió un error al Guardar la Sección de Almacén.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ End If
+ Catch ex As Exception
+ OnError("Ocurrió un error al Guardar la Sección de Almacén", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
+ End Try
+
+ Return Retorno
+ End Function
+ Public Function UpdateSeccion(Seccion As String, CveAlmacen As Integer, Estatus As Boolean, CveSeccion As Integer) As Boolean
+ Dim Retorno As Boolean = False
+
+ DataAdapter("PA_Inv_SeccionesAlmacenesUpdate")
+
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CveSeccion", SqlDbType.Int).Value = CveSeccion
+ .Add("@CveAlmacen", SqlDbType.Int).Value = CveAlmacen
+ .Add("@Seccion", SqlDbType.VarChar).Value = Seccion
+ .Add("@Estatus", SqlDbType.Bit).Value = Estatus
+ End With
+
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch Ex1 As SqlException
+ If Ex1.Message.Contains("Número: 2627;") Then
+ Alert("Ya existe una Sección de Almacén con el mismo nombre: " & Seccion & ".", TipoMensaje.MsgAdvertencia)
+ Else
+ Me.OnError("Ocurrió un error al guardar los cambios en la Sección de Almacén", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ End If
+ Catch ex As Exception
+ OnError("Ocurrió un error al guardar los cambios en la Sección de Almacén.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
+ End Try
+
+ Return Retorno
+ End Function
+ Public Function RemoveSeccion(CveSeccion As Integer) As Boolean
+ Dim Retorno As Boolean = False
+
+ DataAdapter("PA_Inv_SeccionesAlmacenesRemove")
+
+ SqlAdapter.SelectCommand.Parameters.Add("@CveSeccion", SqlDbType.Int).Value = CveSeccion
+
+
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch Ex1 As SqlException
+ If Ex1.Message.Contains("Número: 547;") Then
+ Alert("La Sección de Almacén no se pudo eliminar porque está siendo usado por un registro.", TipoMensaje.MsgAdvertencia)
+ Else
+ Me.OnError("Ocurrió un error al eliminar la Sección de Almacén.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ End If
+ Catch ex As Exception
+ Me.OnError("Ocurrió un error al eliminar la Sección de Almacén.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ End Try
+
+ Return Retorno
+ End Function
+#End Region
- With SqlAdapter.SelectCommand.Parameters
- .Add("@Almacen", SqlDbType.VarChar).Value = Almacen
- .Add("@CveTipoAlmacen", SqlDbType.Int).Value = CveTipoAlmacen
- .Add("@IdCtaContable", SqlDbType.Int).Value = IdCtaContable
- .Add("@Modalidad", SqlDbType.Int).Value = Modalidad
- .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
- .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
- .Add("@Inventariable", SqlDbType.Bit).Value = Inventariable
- .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto
- .Add("@Orden", SqlDbType.SmallInt).Value = Orden
- End With
-
- Try
- SqlAdapter.Fill(Data)
- Retorno = True
- Catch Ex1 As SqlException
- If Ex1.Message.Contains("Número: 2627;") Then
- Alert("Ya existe un Almacén con el mismo nombre: " & Almacen & ".", TipoMensaje.MsgAdvertencia)
- Else
- Me.OnError("Ocurrió un error al Guardar el Almacén.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
- End If
- Catch ex As Exception
- OnError("Ocurrió un error al Guardar el Almacén", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
- End Try
-
- Return Retorno
+ Public Function GetSucursalesAlmacenUsuario(CveUsuario As Integer, CveEmpresa As Integer) As Boolean
+ 'ME TRAE LAS SUCURSALES DE LOS ALMACENES QUE TIENE ASIGNADOS EL USUARIO
+ Dim Retorno As Boolean = False
+ DataAdapter("PA_Inv_SucursalesAlmacenUsuarioGet")
+
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
+ .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+ End With
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch ex As Exception
+ OnError("Ocurrió un error al obtener las sucursales de los almacenes del usuario.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ End Try
+
+ Return Retorno
End Function
- Public Function UpdateAlmacen(Almacen As String, CveTipoAlmacen As Integer, IdCtaContable As Integer, Modalidad As Integer, Estatus As Boolean, CveAlmacen As Integer, Inventariable As Byte, CveSubProyecto As Integer, Optional Orden As Integer = -1) As Boolean
- Dim Retorno As Boolean = False
+#End Region
- DataAdapter("PA_Inv_AlmacenesUpdate")
+#Region " INVENTARIOS - MOVIMIENTOS (DETALLE) "
- With SqlAdapter.SelectCommand.Parameters
- .Add("@CveAlmacen", SqlDbType.Int).Value = CveAlmacen
- .Add("@Almacen", SqlDbType.VarChar).Value = Almacen
- .Add("@CveTipoAlmacen", SqlDbType.Int).Value = CveTipoAlmacen
- .Add("@IdCtaContable", SqlDbType.Int).Value = IdCtaContable
- .Add("@Modalidad", SqlDbType.Int).Value = Modalidad
- .Add("@Estatus", SqlDbType.Bit).Value = Estatus
- .Add("@Inventariable", SqlDbType.Bit).Value = Inventariable
- .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto
- .Add("@Orden", SqlDbType.SmallInt).Value = Orden
- End With
-
- Try
- SqlAdapter.Fill(Data)
- Retorno = True
- Catch Ex1 As SqlException
- If Ex1.Message.Contains("Número: 2627;") Then
- Alert("Ya existe un Almacén con el mismo nombre: " & Almacen & ".", TipoMensaje.MsgAdvertencia)
- Else
- Me.OnError("Ocurrió un error al guardar los cambios en el Almacén", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
- End If
- Catch ex As Exception
- OnError("Ocurrió un error al guardar los cambios en el Almacén.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
- End Try
-
- Return Retorno
+ Public Function GetQuery(Consulta As String) As Boolean
+ Dim Retorno As Boolean = False
+ DataAdapter(Consulta, CommandType.Text)
+
+ Try
+ SqlAdapter.Fill(Data)
+ If Data.Rows.Count > 0 Then
+ Retorno = True
+ End If
+
+ Catch ex As Exception
+ OnError("Ocurrió un error al obtener los movimientos.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ End Try
+
+ Return Retorno
+ End Function
+ Public Function GetMovimientosRep(CveAlmacen As Integer, CveTipoMovimiento As Integer, Folio As Integer, FechaIngI As Date, FechaIngF As Date, FechaInicio As Date, FechaFin As Date, CveUsuario As Integer, CveEmpresa As Integer) As Boolean
+ Dim Retorno As Boolean = False
+ DataAdapter("PA_Inv_MovimientosRep")
+
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CveAlmacen", SqlDbType.Int).Value = CveAlmacen
+ .Add("@CveTipoMovimiento", SqlDbType.Int).Value = CveTipoMovimiento
+ .Add("@Folio", SqlDbType.Int).Value = Folio
+ .Add("@FechaIngI", SqlDbType.DateTime).Value = FechaIngI
+ .Add("@FechaIngF", SqlDbType.DateTime).Value = FechaIngF
+ .Add("@FechaInicio ", SqlDbType.DateTime).Value = FechaInicio
+ .Add("@FechaFin ", SqlDbType.DateTime).Value = FechaFin
+ .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
+ .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+ End With
+ Try
+ SqlAdapter.Fill(Data)
+ If Data.Rows.Count > 0 Then
+ Retorno = True
+ End If
+
+ Catch ex As Exception
+ OnError("Ocurrió un error al obtener los movimientos.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ End Try
+
+ Return Retorno
+ End Function
+
+ Public Function GetMovimientos(tCveMovimiento As Integer, tCveConcepto As Integer, tFolio As Integer, CveEmpresa As Integer) As Boolean
+ Dim Retorno As Boolean = False
+ DataAdapter("PA_Inv_MovimientosGet")
+
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CveMovimiento", SqlDbType.Int).Value = tCveMovimiento
+ .Add("@CveConcepto", SqlDbType.Int).Value = tCveConcepto
+ .Add("@Folio", SqlDbType.Int).Value = tFolio
+ .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+ End With
+ Try
+ SqlAdapter.Fill(Data)
+
+ If Data IsNot Nothing AndAlso Data.Rows.Count = 1 Then
+ Dim dr As DataRow = Data.Rows(0)
+ CveConcepto = dr("CveConcepto").ToString.ToEntero
+ CveAlmacen = dr("CveAlmacen").ToString.ToEntero
+ Almacen = dr("Almacen").ToString
+ CveAlmacenDestino = dr("CveAlmacenDestino").ToString.ToEntero
+ AlmacenDestino = dr("AlmacenDestino").ToString
+ CveMovimiento = dr("CveMovimiento").ToString.ToEntero
+ CveMoneda = dr("CveMoneda").ToString.ToEntero
+ Moneda = dr("Moneda").ToString
+ CveCompra = dr("CveCompra").ToString.ToEntero
+ EstatusAlmacenCompra = dr("EstatusAlmacenCompra").ToString.ToEntero
+ CveConsignacion = dr("CveConsignacion").ToString.ToEntero
+ CveVenta = dr("CveVentaLiga").ToString.ToEntero
+ CvePersonal = dr("CvePersonal").ToString.ToEntero
+ NombreCompleto = dr("NombreCompleto").ToString
+ NombreCapturo = dr("UsuarioCapturo").ToString '---------------------------------------------------------------------------------------------
+ 'CveSeccion = dr("CveSeccionAlmacen").ToString.ToEntero
+ Fecha = dr("FechaMovto").ToString.ToDate
+ FechaHora = dr("FechaMovto").ToString.ToDateTime
+ FechaRegistro = dr("FechaIng").ToString.ToDate
+ Folio = dr("Folio").ToString.ToEntero
+ IDPoliza = dr("IdPoliza").ToString.ToEntero
+ CvePrePoliza = dr("CvePrePoliza").ToString.ToEntero
+ CveActivoFijo = dr("CveActivoFijo").ToString.ToEntero
+ CodigoAF = dr("Codigo").ToString.ToEntero
+ CveSubProyecto = dr("CveSubProyecto").ToString.ToEntero
+ SubProyecto = dr("SubProyecto").ToString
+ Guia = dr("Guia").ToString
+ Observaciones = dr("Observaciones").ToString
+ Recibio = dr("Recibio").ToString
+ CveMovimientoRelacionado = dr("CveMovimientoRelacionado").ToString.ToEntero
+ FolioRelacionado = dr("FolioRelacionado").ToString.ToEntero
+ TieneRelacionado = If(dr("TieneRelacionado").ToString.ToEntero > 0, 1, -1)
+ ConceptoRelacionado = dr("ConceptoRelacionado").ToString
+ TipoCambio = dr("TipoCambio").ToString.ToDouble
+ FolioVenta = dr("FolioVenta").ToString
+ CveOrdenCompra = dr("CveOrdenCompra").ToString.ToEntero
+ CveOrdenCompraLiga = dr("CveOrdenCompraLiga").ToString.ToEntero
+ FolioOC = dr("FolioOC").ToString
+ FolioInterno = dr("VentaAnticipo").ToString
+ CveCliente = If(dr("CveCliente").ToString.ToEntero > 0, dr("CveCliente").ToString.ToEntero, -1)
+ CveClienteSucursal = If(dr("CveClienteSucursal").ToString.ToEntero > 0, dr("CveClienteSucursal").ToString.ToEntero, -1)
+ NombreCliente = dr("Nombre").ToString
+ DepartamentoEntrega = dr("DepartamentoEntrega").ToString
+ PedidoContrato = dr("PedidoContrato").ToString
+ TienePrePoliza = dr("TienePrePoliza").ToString.ToEntero
+ RazonSocialOC = dr("RazonSocialOC").ToString
+ CalleOrigen = dr("CalleOrigen").ToString
+ NoExtOrigen = dr("NoExtOrigen").ToString
+ ColoniaOrigen = dr("ColoniaOrigen").ToString
+ LocalidadOrigen = dr("LocalidadOrigen").ToString
+ MunicipioOrigen = dr("MunicipioOrigen").ToString
+ EstadoOrigen = dr("EstadoOrigen").ToString
+ PaisOrigen = dr("PaisOrigen").ToString
+ CPOrigen = dr("CPOrigen").ToString
+ CalleDestino = dr("CalleDestino").ToString
+ NoExtDestino = dr("NoExtDestino").ToString
+ ColoniaDestino = dr("ColoniaDestino").ToString
+ LocalidadDestino = dr("LocalidadDestino").ToString
+ MunicipioDestino = dr("MunicipioDestino").ToString
+ EstadoDestino = dr("EstadoDestino").ToString
+ PaisDestino = dr("PaisDestino").ToString
+ CPDestino = dr("CPDestino").ToString
+ Remision = dr("Remision").ToString
+ Proveedor = dr("RazonSocial").ToString
+ GastoIndirecto = dr("GastoIndirecto").ToString.ToDouble
+ PuestoEntrego = dr("PuestoRecibio").ToString
+ PuestoRecibio = dr("PuestoEntrego").ToString
+ ResponsableCarga = dr("ResponsableCarga").ToString
+ ResponsableRecibio = dr("ResponsableRecibio").ToString
+
+ Retorno = True
+ End If
+
+ Catch ex As Exception
+ OnError("Ocurrió un error al obtener los movimientos.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ End Try
+
+ Return Retorno
+ End Function
+ Public Function GetMovimientosDetallePorPersonal(CvePersonal As Integer, CveAlmacen As Integer, CveCliente As Integer, CveProveedor As Integer) As Boolean
+ Dim Retorno As Boolean = False
+ DataAdapter("PA_Inv_MovimientosPorPersonalGet")
+
+
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CvePersonal", SqlDbType.Int).Value = CvePersonal
+ .Add("@CveAlmacen", SqlDbType.Int).Value = CveAlmacen
+ .Add("@CveCliente", SqlDbType.Int).Value = CveCliente
+ .Add("@CveProveedor", SqlDbType.Int).Value = CveProveedor
+ End With
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch ex As Exception
+ OnError("Ocurrió un error al obtener los movimientos.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ End Try
+ Return Retorno
+ End Function
+ Public Function GetConsignaciones(CveEmpresa As Integer, CvePersonal As Integer) As Boolean
+ Dim Retorno As Boolean = False
+ DataAdapter("PA_Inv_ConsignacionesGet")
+
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CvePersonal", SqlDbType.Int).Value = CvePersonal
+ .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+ End With
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch ex As Exception
+ OnError("Ocurrió un error al obtener las Consignaciones.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ End Try
+
+ Return Retorno
+ End Function
+ Public Function UpdateMovimientoTimbrado(CveMovimiento As Integer, CveEstatusTimbrado As Integer, FolioFiscal As String, FechaCancelacion As Date,
+ Optional SelloCancelacion As String = "") As Boolean
+ Dim Retorno As Boolean = False
+ DataAdapter("PA_Inv_MovimientoTimbradoUpdate")
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CveMovimiento", SqlDbType.Int).Value = CveMovimiento
+ .Add("@CveEstatusTimbrado", SqlDbType.Int).Value = CveEstatusTimbrado
+ .Add("@FolioFiscal", SqlDbType.VarChar).Value = FolioFiscal
+ .Add("@FechaCancelacion", SqlDbType.Date).Value = FechaCancelacion
+ .Add("@SelloCancelacion", SqlDbType.VarChar).Value = SelloCancelacion
+
+ End With
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch ex As Exception
+ OnError("Ocurrió un error al actualizar los datos de timbrado del movimiento.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ End Try
+ Return Retorno
+ End Function
+ Public Function GetRepTraspasosEmitidos(CveEmpresa As Integer, CveAlmacen As Integer, CveEstatusTimbrado As Integer, FechaI As Date, FechaF As Date) As Boolean
+ Dim Retorno As Boolean = False
+ DataAdapter("PA_Inv_TraspasosEmitidosRepGet")
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+ .Add("@CveAlmacen", SqlDbType.Int).Value = CveAlmacen
+ .Add("@CveEstatusTimbrado", SqlDbType.Int).Value = CveEstatusTimbrado
+ .Add("@FechaI", SqlDbType.Date).Value = FechaI
+ .Add("@FechaF", SqlDbType.Date).Value = FechaF
+ End With
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch ex As Exception
+ OnError("Ocurrió un error al obtener los datos de los traspasos emitidos.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ End Try
+ Return Retorno
+ End Function
+ Public Function GetFolioSiguiente(CveConcepto As Integer, CveEmpresa As Integer) As Integer
+ Dim Retorno As Integer = 0
+ DataAdapter("PA_Inv_MovimientosFoliosGet")
+
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CveConcepto", SqlDbType.Int).Value = CveConcepto
+ .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+ .Add("@Folio", SqlDbType.Int).Direction = ParameterDirection.Output
+ End With
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = SqlAdapter.SelectCommand.Parameters("@Folio").Value.ToString.ToEntero
+
+ Catch ex As Exception
+ OnError("Ocurrió un error al obtener los movimientos.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ End Try
+
+ Return Retorno
+ End Function
+ Public Function AddMovimiento(CveAlmacen As Integer, CveConcepto As Integer, CveMoneda As Integer, FechaMovto As DateTime, tFolio As Integer, CveUsuario As Integer, CveEmpresa As Integer, CveCompra As Integer,
+ CveVenta As Integer, CveSubProyecto As Integer, CveActivoFijo As Integer, Optional CveOS As Integer = -1, Optional CvePersonal As Integer = -1, Optional IDPoliza As Integer = -1, Optional CveUsuarioResponsable As Integer = -1,
+ Optional CveConsignacion As Integer = -1, Optional Guia As String = "", Optional CveAlmacenDestino As Integer = -1, Optional Observaciones As String = "", Optional Recibio As String = "",
+ Optional CveMovimientoRelacionado As Integer = -1, Optional TipoCambio As Double = -1, Optional CveVendedor As Integer = -1, Optional CveCliente As Integer = -1, Optional MovimientoFijo As Boolean = False, Optional CveContrato As Integer = -1,
+ Optional CveProveedor As Integer = -1, Optional Remision As String = "", Optional CveClienteSucursal As Integer = -1, Optional DepartamentoEntrega As String = "", Optional PedidoContrato As String = "", Optional GastoIndirecto As Double = -1, Optional CveChofer As Integer = -1, Optional Placa As String = "",
+ Optional FechaEntrega As String = "", Optional EspecifUnidad As String = "", Optional ResponsableCarga As String = "", Optional ResponsableRecibio As String = "", Optional Identificacion As String = "", Optional Domicilio As String = "",
+ Optional Telefono As String = "", Optional Ciudad As String = "", Optional Licencia As String = "") As Integer
+
+ Dim Retorno As Integer = -1
+
+ DataAdapter("PA_Inv_MovimientosAdd")
+
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CveAlmacen", SqlDbType.Int).Value = CveAlmacen
+ .Add("@CveConcepto", SqlDbType.Int).Value = CveConcepto
+ .Add("@CveMoneda", SqlDbType.Int).Value = CveMoneda
+ '.Add("@FechaMovto", SqlDbType.DateTime).Value = DateTime.ParseExact(FechaMovto, "yyyy/MM/dd HH:mm", Nothing)
+ .Add("@FechaMovto", SqlDbType.DateTime).Value = $"{FechaMovto.ToShortDateString} {Now.Hour}:{Now.Minute}:{Now.Second}".ToDateTime
+ .Add("@Folio", SqlDbType.Int).Value = tFolio
+ .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
+ .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+ .Add("@CveCompra", SqlDbType.Int).Value = CveCompra
+ .Add("@CveVenta", SqlDbType.Int).Value = CveVenta
+ .Add("@CveOS", SqlDbType.Int).Value = CveOS
+ .Add("@IDPoliza", SqlDbType.Int).Value = IDPoliza
+ .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto
+ .Add("@CveActivoFijo", SqlDbType.Int).Value = CveActivoFijo
+ .Add("@CveUsuarioResponsable", SqlDbType.Int).Value = CveUsuarioResponsable
+ .Add("@CveAlmacenDestino", SqlDbType.Int).Value = CveAlmacenDestino
+ .Add("@CveConsignacion", SqlDbType.Int).Value = CveConsignacion
+ .Add("@CvePersonal", SqlDbType.Int).Value = CvePersonal
+ .Add("@CveVendedor", SqlDbType.Int).Value = CveVendedor
+ .Add("@CveCliente", SqlDbType.Int).Value = CveCliente
+ .Add("@MovimientoFijo", SqlDbType.Bit).Value = If(MovimientoFijo, 1, 0)
+ .Add("@Guia", SqlDbType.VarChar).Value = Guia
+ .Add("@Observaciones", SqlDbType.VarChar).Value = Observaciones
+ .Add("@Recibio", SqlDbType.VarChar).Value = Recibio
+ .Add("@DepartamentoEntrega", SqlDbType.VarChar).Value = DepartamentoEntrega
+ .Add("@CveMovimientoRelacionado", SqlDbType.Int).Value = CveMovimientoRelacionado
+ .Add("@TipoCambio", SqlDbType.SmallMoney).Value = TipoCambio
+ .Add("@CveMovimiento", SqlDbType.Int).Direction = ParameterDirection.Output
+ .Add("@FolioMovimiento", SqlDbType.Int).Direction = ParameterDirection.Output
+ .Add("@CveContrato", SqlDbType.Int).Value = CveContrato
+ .Add("@CveProveedor", SqlDbType.Int).Value = CveProveedor
+ .Add("@Remision", SqlDbType.VarChar).Value = Remision
+ .Add("@CveClienteSucursal", SqlDbType.Int).Value = CveClienteSucursal
+ .Add("@PedidoContrato", SqlDbType.VarChar).Value = PedidoContrato
+ .Add("@GastoIndirecto", SqlDbType.Money).Value = GastoIndirecto
+ .Add("@CveChofer", SqlDbType.Int).Value = CveChofer
+ .Add("@Placa", SqlDbType.VarChar).Value = Placa
+ .Add("@FechaEntrega", SqlDbType.VarChar).Value = FechaEntrega
+ .Add("@EspecifUnidad", SqlDbType.VarChar).Value = EspecifUnidad
+ .Add("@ResponsableCarga", SqlDbType.VarChar).Value = ResponsableCarga
+ .Add("@ResponsableRecibio", SqlDbType.VarChar).Value = ResponsableRecibio
+ .Add("@Identificacion", SqlDbType.VarChar).Value = Identificacion
+ .Add("@Domicilio", SqlDbType.VarChar).Value = Domicilio
+ .Add("@Telefono", SqlDbType.VarChar).Value = Telefono
+ .Add("@Ciudad", SqlDbType.VarChar).Value = Ciudad
+ .Add("@Licencia", SqlDbType.VarChar).Value = Licencia
+ End With
+
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = SqlAdapter.SelectCommand.Parameters("@CveMovimiento").Value.ToString.ToEntero
+ Folio = SqlAdapter.SelectCommand.Parameters("@FolioMovimiento").Value.ToString.ToEntero
+
+ Catch Ex1 As SqlException
+ If Ex1.Message.Contains("UK_Inv_MovimientosFolio") Then
+ Me.OnError("El Folio ya se encuentra registrado.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ Else
+ Me.OnError("Ocurrió un error al guardar el movimiento.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ End If
+
+ Catch ex As Exception
+ OnError("Ocurrió un error al guardar el movimiento", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
+ End Try
+
+ Return Retorno
+ End Function
+ Public Function UpdateMovimiento(CveMovimiento As Integer, CveAlmacen As Integer, CveConcepto As Integer, CveMoneda As Integer, FechaMovto As DateTime, Folio As Integer, CveUsuario As Integer, CveEmpresa As Integer, CveCompra As Integer,
+ CveVenta As Integer, CveSubProyecto As Integer, CveActivoFijo As Integer, Optional CvePersonal As Integer = -1, Optional Guia As String = "", Optional Observaciones As String = "", Optional Recibio As String = "", Optional TipoCambio As Double = -1, Optional CveCliente As Integer = -1, Optional CveProveedor As Integer = -1, Optional Remision As String = "") As Boolean
+
+ Dim Retorno = False
+
+ DataAdapter("PA_Inv_MovimientosUpdate")
+
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CveAlmacen", SqlDbType.Int).Value = CveAlmacen
+ .Add("@CveConcepto", SqlDbType.Int).Value = CveConcepto
+ .Add("@CveMoneda", SqlDbType.Int).Value = CveMoneda
+ .Add("@FechaMovto", SqlDbType.DateTime).Value = FechaMovto
+ '.Add("@Folio", SqlDbType.Int).Value = Folio
+ .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
+ .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+ .Add("@CveCompra", SqlDbType.Int).Value = CveCompra
+ .Add("@CveVenta", SqlDbType.Int).Value = CveVenta
+ .Add("@CvePersonal", SqlDbType.Int).Value = CvePersonal
+ .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto
+ .Add("@CveActivoFijo", SqlDbType.Int).Value = CveActivoFijo
+ .Add("@CveMovimiento", SqlDbType.Int).Value = CveMovimiento
+ .Add("@Guia", SqlDbType.VarChar).Value = Guia
+ .Add("@Observaciones", SqlDbType.VarChar).Value = Observaciones
+ .Add("@Recibio", SqlDbType.VarChar).Value = Recibio
+ .Add("@TipoCambio", SqlDbType.SmallMoney).Value = TipoCambio
+ .Add("@CveProveedor", SqlDbType.Int).Value = CveProveedor
+ .Add("@CveCliente", SqlDbType.Int).Value = CveCliente
+ .Add("@Remision", SqlDbType.VarChar).Value = Remision
+ End With
+
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+
+ Catch Ex1 As SqlException
+ Me.OnError("Ocurrió un error al actualizar el movimiento.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ Catch ex As Exception
+ OnError("Ocurrió un error al actualizar el movimiento", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
+ End Try
+
+ Return Retorno
+ End Function
+ Public Function UpdateMovimientoPoliza(IDPoliza As Integer, CveMovimiento As Integer, CveEmpresa As Integer) As Boolean
+
+ Dim Retorno As Boolean = False
+
+ DataAdapter("PA_Inv_MovimientosPolizaUpdate")
+
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CveMovimiento", SqlDbType.Int).Value = CveMovimiento
+ .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+ .Add("@IDPoliza", SqlDbType.Int).Value = IDPoliza
+ End With
+
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+
+ Catch ex As Exception
+ OnError("Ocurrió un error al guardar el movimiento", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
+ End Try
+
+ Return Retorno
+ End Function
+ Public Function UpdateMovimientoGuia(Guia As String, CveMovimiento As Integer, CveEmpresa As Integer) As Boolean
+
+ Dim Retorno As Boolean = False
+
+ DataAdapter("PA_Inv_MovimientosPolizaUpdate")
+
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CveMovimiento", SqlDbType.Int).Value = CveMovimiento
+ .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+ .Add("@Guia", SqlDbType.VarChar).Value = Guia
+ End With
+
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+
+ Catch ex As Exception
+ OnError("Ocurrió un error al guardar la guia del movimiento.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
+ End Try
+
+ Return Retorno
+ End Function
+ Public Function MovimientoRemove(CveMovimiento As Integer, CveEmpresa As Integer) As Boolean
+
+ Dim Retorno As Boolean = False
+
+ DataAdapter("PA_Inv_MovimientosRemove")
+
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CveMovimiento", SqlDbType.Int).Value = CveMovimiento
+ .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+
+ End With
+
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch ex As Exception
+ OnError("Ocurrió un error al eliminar el movimiento", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
+ End Try
+
+ Return Retorno
+ End Function
+ Public Function GetMovimientosDetalle(CveMovimiento As Integer, CveEmpresa As Integer, Optional CveCompra As Integer = -1) As Boolean
+ Dim Retorno As Boolean = False
+ DataAdapter("PA_Inv_MovimientosDetalleGet")
+
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CveMovimiento", SqlDbType.Int).Value = CveMovimiento
+ .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+ .Add("@CveCompra", SqlDbType.Int).Value = CveCompra
+ End With
+ Try
+ SqlAdapter.Fill(Data)
+
+ If Data IsNot Nothing AndAlso Data.Rows.Count >= 1 Then
+ Dim dr As DataRow = Data.Rows(0)
+ CveSeccion = dr("CveSeccionAlmacen").ToString.ToEntero
+ End If
+
+ Retorno = True
+ Catch ex As Exception
+ OnError("Ocurrió un error al obtener los movimientos.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ End Try
+
+ Return Retorno
+ End Function
+ Public Function GetMovimientosDetalleVenta(CveMovimiento As Integer, CveEmpresa As Integer, CveVenta As Integer) As Boolean
+ Dim Retorno As Boolean = False
+ DataAdapter("PA_Inv_MovimientosVentaDetalleGet")
+
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CveMovimiento", SqlDbType.Int).Value = CveMovimiento
+ .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+ .Add("@CveVenta", SqlDbType.Int).Value = CveVenta
+ End With
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch ex As Exception
+ OnError("Ocurrió un error al obtener los movimientos detalle venta.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ End Try
+
+ Return Retorno
+ End Function
+ Public Function GetMovimientosDetalleVendedor(CveMovimiento As Integer) As Boolean
+ Dim Retorno As Boolean = False
+ DataAdapter("PA_Inv_MovimientosDetalleVendedorGet")
+
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CveMovimiento", SqlDbType.Int).Value = CveMovimiento
+ End With
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch ex As Exception
+ OnError("Ocurrió un error al obtener los movimientos.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ End Try
+
+ Return Retorno
+ End Function
+ Public Function GetMovimientosDetalleImpresion(CveMovimiento As Integer, CveEmpresa As Integer) As Boolean
+ Dim Retorno As Boolean = False
+ DataAdapter("PA_Inv_MovimientosDetalleImpresionGet")
+
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CveMovimiento", SqlDbType.Int).Value = CveMovimiento
+ .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+ End With
+ Try
+ SqlAdapter.Fill(Data)
+
+ If Data IsNot Nothing AndAlso Data.Rows.Count >= 1 Then
+ Dim dr As DataRow = Data.Rows(0)
+ CveSeccion = dr("CveSeccionAlmacen").ToString.ToEntero
+ End If
+
+ Retorno = True
+ Catch ex As Exception
+ OnError("Ocurrió un error al obtener los movimientos.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ End Try
+
+ Return Retorno
+ End Function
+ Public Function GetMovimientosDetalleContrato(CveContrato As Integer, CveEmpresa As Integer, Optional EsInterno As Integer = -1) As Boolean
+ Dim Retorno As Boolean = False
+ DataAdapter("PA_Inv_MovimientosDetalleContratoGet")
+
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CveContrato", SqlDbType.Int).Value = CveContrato
+ .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+ .Add("@EsInterno", SqlDbType.Int).Value = EsInterno
+ End With
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch ex As Exception
+ OnError("Ocurrió un error al obtener los movimientos detalle del contrato.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ End Try
+
+ Return Retorno
+ End Function
+ Public Function AddMovimientoDetalle(CveMovimiento As Integer, Cantidad As Double, CveUM As Integer, CvePS As Integer, PU As Double, CveAF As Integer, Optional CveSeccionAlmacen As Integer = -1, Optional SerieLote As String = "",
+ Optional Observaciones As String = "", Optional CveMovimientoDetalleEntrada As Integer = -1, Optional PUTC As Double = -1, Optional FechaCaducidad As Date = MinFecha,
+ Optional CostoIndirecto As Double = 0, Optional CveCompraDetalle As Integer = -1, Optional CveOrdenCompraDetalle As Integer = -1, Optional CveVentaDetalle As Integer = -1,
+ Optional Lote As String = "", Optional Batch As String = "", Optional CveContratoDetalle As Integer = -1, Optional CveUsuarioModifico As Integer = -1, Optional EsInterno As Integer = -1) As Boolean
+ Dim Retorno As Boolean = False
+
+ DataAdapter("PA_Inv_MovimientosDetalleAdd")
+
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CveMovimiento", SqlDbType.Int).Value = CveMovimiento
+ .Add("@CveUM", SqlDbType.Int).Value = CveUM
+ .Add("@Cantidad", SqlDbType.Money).Value = Cantidad
+ .Add("@PU", SqlDbType.Float).Value = PU
+ .Add("@PUTC", SqlDbType.Money).Value = PUTC
+ .Add("@CveSeccionAlmacen", SqlDbType.Int).Value = CveSeccionAlmacen
+ .Add("@CvePS", SqlDbType.Int).Value = CvePS
+ .Add("@CveAF", SqlDbType.Int).Value = CveAF
+ .Add("@SerieLote", SqlDbType.VarChar).Value = SerieLote
+ .Add("@Lote", SqlDbType.VarChar).Value = Lote
+ .Add("@Batch", SqlDbType.VarChar).Value = Batch
+ .Add("@Observaciones", SqlDbType.VarChar).Value = Observaciones
+ .Add("@CveMovimientoDetalleEntrada", SqlDbType.Int).Value = CveMovimientoDetalleEntrada
+ .Add("@FechaCaducidad", SqlDbType.Date).Value = FechaCaducidad
+ .Add("@CostoIndirecto", SqlDbType.Float).Value = CostoIndirecto
+ .Add("@CveCompraDetalle", SqlDbType.Int).Value = CveCompraDetalle
+ .Add("@CveOrdenCompraDetalle", SqlDbType.Int).Value = CveOrdenCompraDetalle
+ .Add("@CveVentaDetalle", SqlDbType.Int).Value = CveVentaDetalle
+ .Add("@CveContratoDetalle", SqlDbType.Int).Value = CveContratoDetalle
+ .Add("@CveMovimientoDetalle", SqlDbType.Int).Direction = ParameterDirection.Output
+ .Add("@CveUsuarioModifico", SqlDbType.Int).Value = CveUsuarioModifico
+ .Add("@EsInterno", SqlDbType.Int).Value = EsInterno
+ End With
+
+ Try
+ SqlAdapter.Fill(Data)
+ CveMovimientoDetalle = SqlAdapter.SelectCommand.Parameters("@CveMovimientoDetalle").Value.ToString.ToEntero
+ If CveMovimientoDetalle > 0 Then
+ Retorno = True
+ End If
+ Catch Ex1 As SqlException
+ If Ex1.Message.Contains("50019") Then
+ Me.OnError(" El producto no tiene existencia.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ Else
+ Me.OnError("Ocurrió un error al guardar los detalles del movimiento.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ End If
+
+ Catch ex As Exception
+
+ OnError("Ocurrió un error al guardar los detalles del movimiento", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
+ End Try
+
+ Return Retorno
+ End Function
+ Public Function UpdateMovimientoDetalle(Cantidad As Double, CveUM As Integer, CvePS As Integer, PU As Double, CveAF As Integer, CveMovimientoDetalle As Integer, Optional CveSeccionAlmacen As Integer = -1, Optional SerieLote As String = "",
+ Optional Observaciones As String = "-1", Optional PUTC As Double = -1, Optional CveUsuarioModifico As Integer = -1) As Boolean
+ Dim Retorno As Boolean = False
+
+ DataAdapter("PA_Inv_MovimientosDetalleUpdate")
+
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CveMovimientoDetalle", SqlDbType.Int).Value = CveMovimientoDetalle
+ .Add("@Cantidad", SqlDbType.Money).Value = Cantidad
+ .Add("@CveUM", SqlDbType.Int).Value = CveUM
+ .Add("@CvePS", SqlDbType.Int).Value = CvePS
+ .Add("@PU", SqlDbType.Money).Value = PU
+ .Add("@PUTC", SqlDbType.Money).Value = PUTC
+ .Add("@CveSeccionAlmacen", SqlDbType.Int).Value = CveSeccionAlmacen
+ .Add("@CveAF", SqlDbType.Int).Value = CveAF
+ .Add("@SerieLote", SqlDbType.VarChar).Value = SerieLote
+ .Add("@Observaciones", SqlDbType.VarChar).Value = Observaciones
+ .Add("@CveUsuarioModifico", SqlDbType.Int).Value = CveUsuarioModifico
+ End With
+
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch Ex1 As SqlException
+
+ Me.OnError("Ocurrió un error al guardar los detalles del movimiento.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+
+ Catch ex As Exception
+
+ OnError("Ocurrió un error al guardar los detalles del movimiento", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
+ End Try
+
+ Return Retorno
+ End Function
+
+
+ Public Function UpdateMovimientoDetalleEsInterno(CveEmpresa As Integer, CveMovimientoDetalle As Integer, EsInterno As Boolean) As Boolean
+ Dim Retorno As Boolean = False
+
+ DataAdapter("PA_Inv_MovimientosDetalleContratoEsInternoUpdate")
+
+ With SqlAdapter.SelectCommand.Parameters
+
+ .Add("@CveMovimientoDetalle", SqlDbType.Int).Value = CveMovimientoDetalle
+ .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+ .Add("@EsInterno", SqlDbType.Bit).Value = EsInterno
+
+ End With
+
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch Ex1 As SqlException
+
+ Me.OnError("Ocurrió un error al guardar los detalles del movimiento.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+
+ Catch ex As Exception
+
+ OnError("Ocurrió un error al guardar los detalles del movimiento", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
+ End Try
+
+ Return Retorno
+ End Function
+ Public Function UpdateCostoIndirectoMovimientoDetalle(CveMovimientoDetalle As Integer, CostoIndirecto As Decimal) As Boolean
+ Dim Retorno As Boolean = False
+
+ DataAdapter("PA_Inv_MovimientosDetalleCostoIndirectoUpdate")
+
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CveMovimientoDetalle", SqlDbType.Int).Value = CveMovimientoDetalle
+ .Add("@CostoIndirecto", SqlDbType.Money).Value = CostoIndirecto
+ End With
+
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch Ex1 As SqlException
+
+ Me.OnError("Ocurrió un error al guardar los detalles del movimiento.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+
+ Catch ex As Exception
+
+ OnError("Ocurrió un error al guardar los detalles del movimiento", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
+ End Try
+
+ Return Retorno
+ End Function
+ Public Function RemoveMovimientoDetalle(CveMovimientoDetalle As Integer, CveMovimiento As Integer) As Boolean
+ Dim Retorno As Boolean = False
+
+ DataAdapter("PA_Inv_MovimientosDetalleRemove")
+
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CveMovimientoDetalle", SqlDbType.Int).Value = CveMovimientoDetalle
+ .Add("@CveMovimiento", SqlDbType.Int).Value = CveMovimiento
+ End With
+
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch Ex1 As SqlException
+
+ Me.OnError("Ocurrió un error al eliminar los detalles del movimiento.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+
+ Catch ex As Exception
+
+ OnError("Ocurrió un error al eliminar los detalles del movimiento", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
+ End Try
+
+ Return Retorno
+ End Function
+ Public Function GetMovimientosTransitorios(CveAlmacenDestino As Integer, CveTipoAlmacenDestino As Integer, CveAlmacenTransitorio As Integer, CveUsuarioResponsable As Integer, Folio As Integer, CveEmpresa As Integer) As Boolean
+ Dim Retorno As Boolean = False
+ DataAdapter("PA_Inv_MovimientosTransitoriosGet")
+
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CveAlmacenDestino", SqlDbType.Int).Value = CveAlmacenDestino
+ .Add("@CveTipoAlmacenDestino", SqlDbType.Int).Value = CveTipoAlmacenDestino
+ .Add("@CveAlmacenTransitorio", SqlDbType.Int).Value = CveAlmacenTransitorio
+ .Add("@Folio", SqlDbType.Int).Value = Folio
+ .Add("@CveUsuarioResponsable", SqlDbType.Int).Value = CveUsuarioResponsable
+ .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+ End With
+ Try
+ SqlAdapter.Fill(Data)
+
+ Retorno = True
+ Catch ex As Exception
+ OnError("Ocurrió un error al obtener los movimientos transitorios.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ End Try
+
+ Return Retorno
+ End Function
+ Public Function GetKardexAlmacen(CvePS As Integer, FechaI As String, FechaF As String, CveAlmacen As Integer, CveUnidadMedida As Integer, CveUsuario As Integer, CveEmpresa As Integer) As Boolean
+ Dim Retorno As Boolean = False
+
+ DataAdapter("PA_Inv_KardexAlmacenGet")
+
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@FechaI", SqlDbType.VarChar).Value = FechaI
+ .Add("@FechaF", SqlDbType.VarChar).Value = FechaF
+ .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+ .Add("@CvePS", SqlDbType.Int).Value = CvePS
+ .Add("@CveAlmacen", SqlDbType.Int).Value = CveAlmacen
+ .Add("@CveUnidadMedida", SqlDbType.Int).Value = CveUnidadMedida
+ .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
+ End With
+
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch Ex1 As SqlException
+
+ Me.OnError("Ocurrió un error al obtener el kardex de almacen.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+
+ Catch ex As Exception
+ OnError("Ocurrió un error al obtener el kardex de almacen.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
+ End Try
+
+ Return Retorno
+
+ End Function
+ Public Function GetKardexAlmacenHorizontal(CvePS As Integer, FechaFin As Date, CveAlmacen As Integer, CveUnidadMedida As Integer, CveProveedor As Integer, CveTipoAlmacen As Integer, IncluyeTransitorios As Integer, CveUsuario As Integer, CveEmpresa As Integer) As Boolean
+ Dim Retorno As Boolean = False
+
+ DataAdapter("PA_Inv_KardexAlmacenHorizontalGet")
+
+ With SqlAdapter.SelectCommand.Parameters
+ '.Add("@FechaI", SqlDbType.VarChar).Value = FechaI
+ .Add("@FechaFin", SqlDbType.Date).Value = FechaFin
+ .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+ .Add("@CvePS", SqlDbType.Int).Value = CvePS
+ .Add("@CveAlmacen", SqlDbType.Int).Value = CveAlmacen
+ .Add("@CveUnidadMedida", SqlDbType.Int).Value = CveUnidadMedida
+ .Add("@IncluyeTransitorios", SqlDbType.Int).Value = IncluyeTransitorios
+ .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
+ .Add("@CveProveedorCompra", SqlDbType.Int).Value = CveProveedor
+ .Add("@CveTipoAlmacen", SqlDbType.Int).Value = CveTipoAlmacen
+ End With
+
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch Ex1 As SqlException
+
+ Me.OnError("Ocurrió un error al obtener el kardex de almacen.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+
+ Catch ex As Exception
+ OnError("Ocurrió un error al obtener el kardex de almacen.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
+ End Try
+
+ Return Retorno
+
+ End Function
+ Public Function GetKardex(Entrada As Boolean, Salida As Boolean, CvePS As Integer, FechaI As String, FechaF As String, CveAlmacen As Integer, CveTiposAlmacen As String, CveUnidadMedida As Integer, CveUsuario As Integer, CveEmpresa As Integer, Optional AgruparAlmacen As Boolean = False) As Boolean
+ Dim Retorno As Boolean = False
+
+ DataAdapter("PA_Inv_KardexGet")
+
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@Entrada", SqlDbType.Bit).Value = Entrada
+ .Add("@Salida", SqlDbType.Bit).Value = Salida
+ .Add("@FechaI", SqlDbType.VarChar).Value = FechaI
+ .Add("@FechaF", SqlDbType.VarChar).Value = FechaF
+ .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+ .Add("@CvePS", SqlDbType.Int).Value = CvePS
+ .Add("@CveAlmacen", SqlDbType.Int).Value = CveAlmacen
+ .Add("@CveTiposAlmacen", SqlDbType.VarChar).Value = CveTiposAlmacen
+ .Add("@CveUnidadMedida", SqlDbType.Int).Value = CveUnidadMedida
+ .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
+ .Add("@AgruparAlmacen", SqlDbType.Bit).Value = AgruparAlmacen
+ End With
+
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch Ex1 As SqlException
+
+ Me.OnError("Ocurrió un error al obtener el kardex.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+
+ Catch ex As Exception
+ OnError("Ocurrió un error al obtener el kardex.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
+ End Try
+
+ Return Retorno
+
End Function
- Public Function RemoveAlmacen(CveAlmacen As Integer) As Boolean
- Dim Retorno As Boolean = False
-
- DataAdapter("PA_Inv_AlmacenesRemove")
-
- SqlAdapter.SelectCommand.Parameters.Add("@CveAlmacen", SqlDbType.Int).Value = CveAlmacen
-
-
- Try
- SqlAdapter.Fill(Data)
- Retorno = True
- Catch Ex1 As SqlException
- If Ex1.Message.Contains("Número: 547;") Then
- Alert("el Almacén no se pudo eliminar porque está siendo usado por un registro.", TipoMensaje.MsgAdvertencia)
- Else
- Me.OnError("Ocurrió un error al eliminar el Almacén.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
- End If
- Catch ex As Exception
- Me.OnError("Ocurrió un error al eliminar el Almacén.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
- End Try
-
- Return Retorno
- End Function
-
-#Region " TIPO ALMACEN "
-
- Public Function UpdateTipoAlmacen(CveTipoAlmacen As Integer, TipoAlmacen As String, Estatus As Boolean) As Boolean
- Dim Retorno As Boolean = False
-
- DataAdapter("PA_INV_TipoAlmacenUpdate")
-
- With SqlAdapter.SelectCommand.Parameters
- .Add("@CveTipoAlmacen", SqlDbType.Int).Value = CveTipoAlmacen
- .Add("@TipoAlmacen", SqlDbType.VarChar).Value = TipoAlmacen
- .Add("@Estatus", SqlDbType.Bit).Value = Estatus
- End With
-
- Try
- SqlAdapter.Fill(Data)
- Retorno = True
- Catch Ex1 As SqlException
- If Ex1.Message.Contains("Número: 2627;") Then
- Alert("Ya existe un TipoA de Almacen con el mismo nombre: " & TipoAlmacen & ".", TipoMensaje.MsgAdvertencia)
- Else
- Me.OnError("Ocurrió un error al guardar los cambios en el Tipo de Almacen", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
- End If
- Catch ex As Exception
- OnError("Ocurrió un error al guardar los cambios en el Tipo de Almacen.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
- End Try
-
- Return Retorno
- End Function
- Public Function GetTiposAlmacenes() As Boolean
- Dim Retorno As Boolean = False
- DataAdapter("PA_Inv_TiposAlmacenesGet")
- Try
- SqlAdapter.Fill(Data)
- Retorno = True
- Catch ex As Exception
- OnError("Ocurrió un error al obtener el Catálogo de Tipos Almacenes.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
- End Try
-
- Return Retorno
- End Function
-
- Public Function AddTipoAlmacen(TipoAlmacen As String, CveUsuario As Integer, CveEmpresa As Integer) As Boolean
- Dim Retorno As Boolean = False
-
- DataAdapter("PA_Inv_TiposAlmacenesAdd")
-
- With SqlAdapter.SelectCommand.Parameters
- .Add("@TipoAlmacen", SqlDbType.VarChar).Value = TipoAlmacen
- .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
- .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
- End With
-
- Try
- SqlAdapter.Fill(Data)
- Retorno = True
- Catch Ex1 As SqlException
- If Ex1.Message.Contains("Número: 2627;") Then
- Alert("Ya existe un Tipo de Almacen con el mismo nombre: " & TipoAlmacen & ".", TipoMensaje.MsgAdvertencia)
- Else
- Me.OnError("Ocurrió un error al Guardar el Tipo de Almacen.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
- End If
- Catch ex As Exception
- OnError("Ocurrió un error al Guardar el Tipo de Almacen", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
- End Try
-
- Return Retorno
- End Function
-
- Public Function UpdateTipoAlmacen(TipoAlmacen As String, Estatus As Boolean, CveTipoAlmacen As Integer) As Boolean
- Dim Retorno As Boolean = False
-
- DataAdapter("PA_Inv_TiposAlmacenesUpdate")
-
- With SqlAdapter.SelectCommand.Parameters
- .Add("@CveTipoAlmacen", SqlDbType.Int).Value = CveTipoAlmacen
- .Add("@TipoAlmacen", SqlDbType.VarChar).Value = TipoAlmacen
- .Add("@Estatus", SqlDbType.Bit).Value = Estatus
- End With
-
- Try
- SqlAdapter.Fill(Data)
- Retorno = True
- Catch Ex1 As SqlException
- If Ex1.Message.Contains("Número: 2627;") Then
- Alert("Ya existe un Almacén con el mismo nombre: " & TipoAlmacen & ".", TipoMensaje.MsgAdvertencia)
- Else
- Me.OnError("Ocurrió un error al guardar los cambios en el Tipo de Almacen", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
- End If
- Catch ex As Exception
- OnError("Ocurrió un error al guardar los cambios en el Tipo de Almacen.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
- End Try
-
- Return Retorno
- End Function
-
- Public Function RemoveTipoAlmacen(CveTipoAlmacen As Integer) As Boolean
- Dim Retorno As Boolean = False
-
- DataAdapter("PA_Inv_TiposAlmacenesRemove")
-
- SqlAdapter.SelectCommand.Parameters.Add("@CveTipoAlmacen", SqlDbType.Int).Value = CveTipoAlmacen
-
-
- Try
- SqlAdapter.Fill(Data)
- Retorno = True
- Catch Ex1 As SqlException
- If Ex1.Message.Contains("Número: 547;") Then
- Alert("El Tipo de Almacen no se pudo eliminar porque está siendo usado por un registro.", TipoMensaje.MsgAdvertencia)
- Else
- Me.OnError("Ocurrió un error al eliminar el Tipo de Almacen.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
- End If
- Catch ex As Exception
- Me.OnError("Ocurrió un error al eliminar el Tipo de Almacen.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
- End Try
-
- Return Retorno
- End Function
-#End Region
-
-#Region " SECCIONES ALMACENES "
- Public Function GetSeccionesAlmacenes() As Boolean
- Dim Retorno As Boolean = False
- DataAdapter("PA_INV_SeccionesAlmacenesGet")
- Try
- SqlAdapter.Fill(Data)
- Retorno = True
- Catch ex As Exception
- OnError("Ocurrió un error al obtener el Catálogo de Secciones de Almacenes.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
- End Try
-
- Return Retorno
- End Function
- Public Function UpdateSeccion(CveSeccion As Integer, Seccion As String, Estatus As Boolean) As Boolean
- Dim Retorno As Boolean = False
-
- DataAdapter("PA_INV_SeccionesAlmacenesUpdate")
-
- With SqlAdapter.SelectCommand.Parameters
- .Add("@CveSeccion", SqlDbType.Int).Value = CveSeccion
- .Add("@Seccion", SqlDbType.VarChar).Value = Seccion
- .Add("@Estatus", SqlDbType.Bit).Value = Estatus
- End With
-
- Try
- SqlAdapter.Fill(Data)
- Retorno = True
- Catch Ex1 As SqlException
- If Ex1.Message.Contains("Número: 2627;") Then
- Alert("Ya existe una Sección de Almacén con el mismo nombre: " & Seccion & ".", TipoMensaje.MsgAdvertencia)
- Else
- Me.OnError("Ocurrió un error al guardar los cambios en la Sección de Almacén", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
- End If
- Catch ex As Exception
- OnError("Ocurrió un error al guardar los cambios en la Sección de Almacén.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
- End Try
-
- Return Retorno
- End Function
- Public Function GetSeccionesAlmacenes(CveSeccion As Integer) As Boolean
- Dim Retorno As Boolean = False
- DataAdapter("PA_Inv_SeccionesAlmacenesGet")
- With SqlAdapter.SelectCommand.Parameters
- .Add("@CveSeccion", SqlDbType.Int).Value = CveSeccion
- End With
- Try
- SqlAdapter.Fill(Data)
- Retorno = True
- Catch ex As Exception
- OnError("Ocurrió un error al obtener el Catálogo de Secciones de Almacenes.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
- End Try
-
- Return Retorno
- End Function
- Public Function AddSeccion(Seccion As String, CveAlmacen As Integer, CveUsuario As Integer, CveEmpresa As Integer) As Boolean
- Dim Retorno As Boolean = False
-
- DataAdapter("PA_Inv_SeccionesAlmacenesAdd")
-
- With SqlAdapter.SelectCommand.Parameters
- .Add("@Seccion", SqlDbType.VarChar).Value = Seccion
- .Add("@CveAlmacen", SqlDbType.Int).Value = CveAlmacen
- .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
- .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
- End With
-
- Try
- SqlAdapter.Fill(Data)
- Retorno = True
- Catch Ex1 As SqlException
- If Ex1.Message.Contains("Número: 2627;") Then
- Alert("Ya existe una Sección de Almacén con el mismo nombre: " & Seccion & ".", TipoMensaje.MsgAdvertencia)
- Else
- Me.OnError("Ocurrió un error al Guardar la Sección de Almacén.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
- End If
- Catch ex As Exception
- OnError("Ocurrió un error al Guardar la Sección de Almacén", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
- End Try
-
- Return Retorno
- End Function
- Public Function UpdateSeccion(Seccion As String, CveAlmacen As Integer, Estatus As Boolean, CveSeccion As Integer) As Boolean
- Dim Retorno As Boolean = False
-
- DataAdapter("PA_Inv_SeccionesAlmacenesUpdate")
-
- With SqlAdapter.SelectCommand.Parameters
- .Add("@CveSeccion", SqlDbType.Int).Value = CveSeccion
- .Add("@CveAlmacen", SqlDbType.Int).Value = CveAlmacen
- .Add("@Seccion", SqlDbType.VarChar).Value = Seccion
- .Add("@Estatus", SqlDbType.Bit).Value = Estatus
- End With
-
- Try
- SqlAdapter.Fill(Data)
- Retorno = True
- Catch Ex1 As SqlException
- If Ex1.Message.Contains("Número: 2627;") Then
- Alert("Ya existe una Sección de Almacén con el mismo nombre: " & Seccion & ".", TipoMensaje.MsgAdvertencia)
- Else
- Me.OnError("Ocurrió un error al guardar los cambios en la Sección de Almacén", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
- End If
- Catch ex As Exception
- OnError("Ocurrió un error al guardar los cambios en la Sección de Almacén.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
- End Try
-
- Return Retorno
- End Function
- Public Function RemoveSeccion(CveSeccion As Integer) As Boolean
- Dim Retorno As Boolean = False
-
- DataAdapter("PA_Inv_SeccionesAlmacenesRemove")
-
- SqlAdapter.SelectCommand.Parameters.Add("@CveSeccion", SqlDbType.Int).Value = CveSeccion
-
-
- Try
- SqlAdapter.Fill(Data)
- Retorno = True
- Catch Ex1 As SqlException
- If Ex1.Message.Contains("Número: 547;") Then
- Alert("La Sección de Almacén no se pudo eliminar porque está siendo usado por un registro.", TipoMensaje.MsgAdvertencia)
- Else
- Me.OnError("Ocurrió un error al eliminar la Sección de Almacén.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
- End If
- Catch ex As Exception
- Me.OnError("Ocurrió un error al eliminar la Sección de Almacén.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
- End Try
-
- Return Retorno
- End Function
-#End Region
-
- Public Function GetSucursalesAlmacenUsuario(CveUsuario As Integer, CveEmpresa As Integer) As Boolean
- 'ME TRAE LAS SUCURSALES DE LOS ALMACENES QUE TIENE ASIGNADOS EL USUARIO
- Dim Retorno As Boolean = False
- DataAdapter("PA_Inv_SucursalesAlmacenUsuarioGet")
-
- With SqlAdapter.SelectCommand.Parameters
- .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
- .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
- End With
- Try
- SqlAdapter.Fill(Data)
- Retorno = True
- Catch ex As Exception
- OnError("Ocurrió un error al obtener las sucursales de los almacenes del usuario.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
- End Try
-
- Return Retorno
- End Function
-
-#End Region
-
-#Region " INVENTARIOS - MOVIMIENTOS (DETALLE) "
-
- Public Function GetQuery(Consulta As String) As Boolean
- Dim Retorno As Boolean = False
- DataAdapter(Consulta, CommandType.Text)
-
- Try
- SqlAdapter.Fill(Data)
- If Data.Rows.Count > 0 Then
- Retorno = True
- End If
-
- Catch ex As Exception
- OnError("Ocurrió un error al obtener los movimientos.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
- End Try
-
- Return Retorno
- End Function
- Public Function GetMovimientosRep(CveAlmacen As Integer, CveTipoMovimiento As Integer, Folio As Integer, FechaIngI As Date, FechaIngF As Date, FechaInicio As Date, FechaFin As Date, CveUsuario As Integer, CveEmpresa As Integer) As Boolean
- Dim Retorno As Boolean = False
- DataAdapter("PA_Inv_MovimientosRep")
-
- With SqlAdapter.SelectCommand.Parameters
- .Add("@CveAlmacen", SqlDbType.Int).Value = CveAlmacen
- .Add("@CveTipoMovimiento", SqlDbType.Int).Value = CveTipoMovimiento
- .Add("@Folio", SqlDbType.Int).Value = Folio
- .Add("@FechaIngI", SqlDbType.DateTime).Value = FechaIngI
- .Add("@FechaIngF", SqlDbType.DateTime).Value = FechaIngF
- .Add("@FechaInicio ", SqlDbType.DateTime).Value = FechaInicio
- .Add("@FechaFin ", SqlDbType.DateTime).Value = FechaFin
- .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
- .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
- End With
- Try
- SqlAdapter.Fill(Data)
- If Data.Rows.Count > 0 Then
- Retorno = True
- End If
-
- Catch ex As Exception
- OnError("Ocurrió un error al obtener los movimientos.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
- End Try
-
- Return Retorno
- End Function
-
- Public Function GetMovimientos(tCveMovimiento As Integer, tCveConcepto As Integer, tFolio As Integer, CveEmpresa As Integer) As Boolean
- Dim Retorno As Boolean = False
- DataAdapter("PA_Inv_MovimientosGet")
-
- With SqlAdapter.SelectCommand.Parameters
- .Add("@CveMovimiento", SqlDbType.Int).Value = tCveMovimiento
- .Add("@CveConcepto", SqlDbType.Int).Value = tCveConcepto
- .Add("@Folio", SqlDbType.Int).Value = tFolio
- .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
- End With
- Try
- SqlAdapter.Fill(Data)
-
- If Data IsNot Nothing AndAlso Data.Rows.Count = 1 Then
- Dim dr As DataRow = Data.Rows(0)
- CveConcepto = dr("CveConcepto").ToString.ToEntero
- CveAlmacen = dr("CveAlmacen").ToString.ToEntero
- Almacen = dr("Almacen").ToString
- CveAlmacenDestino = dr("CveAlmacenDestino").ToString.ToEntero
- AlmacenDestino = dr("AlmacenDestino").ToString
- CveMovimiento = dr("CveMovimiento").ToString.ToEntero
- CveMoneda = dr("CveMoneda").ToString.ToEntero
- Moneda = dr("Moneda").ToString
- CveCompra = dr("CveCompra").ToString.ToEntero
- EstatusAlmacenCompra = dr("EstatusAlmacenCompra").ToString.ToEntero
- CveConsignacion = dr("CveConsignacion").ToString.ToEntero
- CveVenta = dr("CveVentaLiga").ToString.ToEntero
- CvePersonal = dr("CvePersonal").ToString.ToEntero
- NombreCompleto = dr("NombreCompleto").ToString
- NombreCapturo = dr("UsuarioCapturo").ToString '---------------------------------------------------------------------------------------------
- 'CveSeccion = dr("CveSeccionAlmacen").ToString.ToEntero
- Fecha = dr("FechaMovto").ToString.ToDate
- FechaHora = dr("FechaMovto").ToString.ToDateTime
- FechaRegistro = dr("FechaIng").ToString.ToDate
- Folio = dr("Folio").ToString.ToEntero
- IDPoliza = dr("IdPoliza").ToString.ToEntero
- CvePrePoliza = dr("CvePrePoliza").ToString.ToEntero
- CveActivoFijo = dr("CveActivoFijo").ToString.ToEntero
- CodigoAF = dr("Codigo").ToString.ToEntero
- CveSubProyecto = dr("CveSubProyecto").ToString.ToEntero
- SubProyecto = dr("SubProyecto").ToString
- Guia = dr("Guia").ToString
- Observaciones = dr("Observaciones").ToString
- Recibio = dr("Recibio").ToString
- CveMovimientoRelacionado = dr("CveMovimientoRelacionado").ToString.ToEntero
- FolioRelacionado = dr("FolioRelacionado").ToString.ToEntero
- TieneRelacionado = If(dr("TieneRelacionado").ToString.ToEntero > 0, 1, -1)
- ConceptoRelacionado = dr("ConceptoRelacionado").ToString
- TipoCambio = dr("TipoCambio").ToString.ToDouble
- FolioVenta = dr("FolioVenta").ToString
- CveOrdenCompra = dr("CveOrdenCompra").ToString.ToEntero
- CveOrdenCompraLiga = dr("CveOrdenCompraLiga").ToString.ToEntero
- FolioOC = dr("FolioOC").ToString
- FolioInterno = dr("VentaAnticipo").ToString
- CveCliente = If(dr("CveCliente").ToString.ToEntero > 0, dr("CveCliente").ToString.ToEntero, -1)
- CveClienteSucursal = If(dr("CveClienteSucursal").ToString.ToEntero > 0, dr("CveClienteSucursal").ToString.ToEntero, -1)
- DepartamentoEntrega = dr("DepartamentoEntrega").ToString
- PedidoContrato = dr("PedidoContrato").ToString
- TienePrePoliza = dr("TienePrePoliza").ToString.ToEntero
- RazonSocialOC = dr("RazonSocialOC").ToString
- CalleOrigen = dr("CalleOrigen").ToString
- NoExtOrigen = dr("NoExtOrigen").ToString
- ColoniaOrigen = dr("ColoniaOrigen").ToString
- LocalidadOrigen = dr("LocalidadOrigen").ToString
- MunicipioOrigen = dr("MunicipioOrigen").ToString
- EstadoOrigen = dr("EstadoOrigen").ToString
- PaisOrigen = dr("PaisOrigen").ToString
- CPOrigen = dr("CPOrigen").ToString
- CalleDestino = dr("CalleDestino").ToString
- NoExtDestino = dr("NoExtDestino").ToString
- ColoniaDestino = dr("ColoniaDestino").ToString
- LocalidadDestino = dr("LocalidadDestino").ToString
- MunicipioDestino = dr("MunicipioDestino").ToString
- EstadoDestino = dr("EstadoDestino").ToString
- PaisDestino = dr("PaisDestino").ToString
- CPDestino = dr("CPDestino").ToString
- Remision = dr("Remision").ToString
- Proveedor = dr("RazonSocial").ToString
- GastoIndirecto = dr("GastoIndirecto").ToString.ToDouble
- PuestoEntrego = dr("PuestoRecibio").ToString
- PuestoRecibio = dr("PuestoEntrego").ToString
- ResponsableCarga = dr("ResponsableCarga").ToString
- ResponsableRecibio = dr("ResponsableRecibio").ToString
-
- Retorno = True
- End If
-
- Catch ex As Exception
- OnError("Ocurrió un error al obtener los movimientos.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
- End Try
-
- Return Retorno
- End Function
- Public Function GetMovimientosDetallePorPersonal(CvePersonal As Integer, CveAlmacen As Integer, CveCliente As Integer, CveProveedor As Integer) As Boolean
- Dim Retorno As Boolean = False
- DataAdapter("PA_Inv_MovimientosPorPersonalGet")
-
-
- With SqlAdapter.SelectCommand.Parameters
- .Add("@CvePersonal", SqlDbType.Int).Value = CvePersonal
- .Add("@CveAlmacen", SqlDbType.Int).Value = CveAlmacen
- .Add("@CveCliente", SqlDbType.Int).Value = CveCliente
- .Add("@CveProveedor", SqlDbType.Int).Value = CveProveedor
- End With
- Try
- SqlAdapter.Fill(Data)
- Retorno = True
- Catch ex As Exception
- OnError("Ocurrió un error al obtener los movimientos.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
- End Try
- Return Retorno
- End Function
- Public Function GetConsignaciones(CveEmpresa As Integer, CvePersonal As Integer) As Boolean
- Dim Retorno As Boolean = False
- DataAdapter("PA_Inv_ConsignacionesGet")
-
- With SqlAdapter.SelectCommand.Parameters
- .Add("@CvePersonal", SqlDbType.Int).Value = CvePersonal
- .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
- End With
- Try
- SqlAdapter.Fill(Data)
- Retorno = True
- Catch ex As Exception
- OnError("Ocurrió un error al obtener las Consignaciones.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
- End Try
-
- Return Retorno
- End Function
- Public Function UpdateMovimientoTimbrado(CveMovimiento As Integer, CveEstatusTimbrado As Integer, FolioFiscal As String, FechaCancelacion As Date,
- Optional SelloCancelacion As String = "") As Boolean
- Dim Retorno As Boolean = False
- DataAdapter("PA_Inv_MovimientoTimbradoUpdate")
- With SqlAdapter.SelectCommand.Parameters
- .Add("@CveMovimiento", SqlDbType.Int).Value = CveMovimiento
- .Add("@CveEstatusTimbrado", SqlDbType.Int).Value = CveEstatusTimbrado
- .Add("@FolioFiscal", SqlDbType.VarChar).Value = FolioFiscal
- .Add("@FechaCancelacion", SqlDbType.Date).Value = FechaCancelacion
- .Add("@SelloCancelacion", SqlDbType.VarChar).Value = SelloCancelacion
-
- End With
- Try
- SqlAdapter.Fill(Data)
- Retorno = True
- Catch ex As Exception
- OnError("Ocurrió un error al actualizar los datos de timbrado del movimiento.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
- End Try
- Return Retorno
- End Function
- Public Function GetRepTraspasosEmitidos(CveEmpresa As Integer, CveAlmacen As Integer, CveEstatusTimbrado As Integer, FechaI As Date, FechaF As Date) As Boolean
- Dim Retorno As Boolean = False
- DataAdapter("PA_Inv_TraspasosEmitidosRepGet")
- With SqlAdapter.SelectCommand.Parameters
- .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
- .Add("@CveAlmacen", SqlDbType.Int).Value = CveAlmacen
- .Add("@CveEstatusTimbrado", SqlDbType.Int).Value = CveEstatusTimbrado
- .Add("@FechaI", SqlDbType.Date).Value = FechaI
- .Add("@FechaF", SqlDbType.Date).Value = FechaF
- End With
- Try
- SqlAdapter.Fill(Data)
- Retorno = True
- Catch ex As Exception
- OnError("Ocurrió un error al obtener los datos de los traspasos emitidos.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
- End Try
- Return Retorno
- End Function
- Public Function GetFolioSiguiente(CveConcepto As Integer, CveEmpresa As Integer) As Integer
- Dim Retorno As Integer = 0
- DataAdapter("PA_Inv_MovimientosFoliosGet")
-
- With SqlAdapter.SelectCommand.Parameters
- .Add("@CveConcepto", SqlDbType.Int).Value = CveConcepto
- .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
- .Add("@Folio", SqlDbType.Int).Direction = ParameterDirection.Output
- End With
- Try
- SqlAdapter.Fill(Data)
- Retorno = SqlAdapter.SelectCommand.Parameters("@Folio").Value.ToString.ToEntero
-
- Catch ex As Exception
- OnError("Ocurrió un error al obtener los movimientos.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
- End Try
-
- Return Retorno
- End Function
- Public Function AddMovimiento(CveAlmacen As Integer, CveConcepto As Integer, CveMoneda As Integer, FechaMovto As DateTime, tFolio As Integer, CveUsuario As Integer, CveEmpresa As Integer, CveCompra As Integer,
- CveVenta As Integer, CveSubProyecto As Integer, CveActivoFijo As Integer, Optional CveOS As Integer = -1, Optional CvePersonal As Integer = -1, Optional IDPoliza As Integer = -1, Optional CveUsuarioResponsable As Integer = -1,
- Optional CveConsignacion As Integer = -1, Optional Guia As String = "", Optional CveAlmacenDestino As Integer = -1, Optional Observaciones As String = "", Optional Recibio As String = "",
- Optional CveMovimientoRelacionado As Integer = -1, Optional TipoCambio As Double = -1, Optional CveVendedor As Integer = -1, Optional CveCliente As Integer = -1, Optional MovimientoFijo As Boolean = False, Optional CveContrato As Integer = -1,
- Optional CveProveedor As Integer = -1, Optional Remision As String = "", Optional CveClienteSucursal As Integer = -1, Optional DepartamentoEntrega As String = "", Optional PedidoContrato As String = "", Optional GastoIndirecto As Double = -1, Optional CveChofer As Integer = -1, Optional Placa As String = "",
- Optional FechaEntrega As String = "", Optional EspecifUnidad As String = "", Optional ResponsableCarga As String = "", Optional ResponsableRecibio As String = "", Optional Identificacion As String = "", Optional Domicilio As String = "",
- Optional Telefono As String = "", Optional Ciudad As String = "", Optional Licencia As String = "") As Integer
-
- Dim Retorno As Integer = -1
-
- DataAdapter("PA_Inv_MovimientosAdd")
-
- With SqlAdapter.SelectCommand.Parameters
- .Add("@CveAlmacen", SqlDbType.Int).Value = CveAlmacen
- .Add("@CveConcepto", SqlDbType.Int).Value = CveConcepto
- .Add("@CveMoneda", SqlDbType.Int).Value = CveMoneda
- '.Add("@FechaMovto", SqlDbType.DateTime).Value = DateTime.ParseExact(FechaMovto, "yyyy/MM/dd HH:mm", Nothing)
- .Add("@FechaMovto", SqlDbType.DateTime).Value = $"{FechaMovto.ToShortDateString} {Now.Hour}:{Now.Minute}:{Now.Second}".ToDateTime
- .Add("@Folio", SqlDbType.Int).Value = tFolio
- .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
- .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
- .Add("@CveCompra", SqlDbType.Int).Value = CveCompra
- .Add("@CveVenta", SqlDbType.Int).Value = CveVenta
- .Add("@CveOS", SqlDbType.Int).Value = CveOS
- .Add("@IDPoliza", SqlDbType.Int).Value = IDPoliza
- .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto
- .Add("@CveActivoFijo", SqlDbType.Int).Value = CveActivoFijo
- .Add("@CveUsuarioResponsable", SqlDbType.Int).Value = CveUsuarioResponsable
- .Add("@CveAlmacenDestino", SqlDbType.Int).Value = CveAlmacenDestino
- .Add("@CveConsignacion", SqlDbType.Int).Value = CveConsignacion
- .Add("@CvePersonal", SqlDbType.Int).Value = CvePersonal
- .Add("@CveVendedor", SqlDbType.Int).Value = CveVendedor
- .Add("@CveCliente", SqlDbType.Int).Value = CveCliente
- .Add("@MovimientoFijo", SqlDbType.Bit).Value = If(MovimientoFijo, 1, 0)
- .Add("@Guia", SqlDbType.VarChar).Value = Guia
- .Add("@Observaciones", SqlDbType.VarChar).Value = Observaciones
- .Add("@Recibio", SqlDbType.VarChar).Value = Recibio
- .Add("@DepartamentoEntrega", SqlDbType.VarChar).Value = DepartamentoEntrega
- .Add("@CveMovimientoRelacionado", SqlDbType.Int).Value = CveMovimientoRelacionado
- .Add("@TipoCambio", SqlDbType.SmallMoney).Value = TipoCambio
- .Add("@CveMovimiento", SqlDbType.Int).Direction = ParameterDirection.Output
- .Add("@FolioMovimiento", SqlDbType.Int).Direction = ParameterDirection.Output
- .Add("@CveContrato", SqlDbType.Int).Value = CveContrato
- .Add("@CveProveedor", SqlDbType.Int).Value = CveProveedor
- .Add("@Remision", SqlDbType.VarChar).Value = Remision
- .Add("@CveClienteSucursal", SqlDbType.Int).Value = CveClienteSucursal
- .Add("@PedidoContrato", SqlDbType.VarChar).Value = PedidoContrato
- .Add("@GastoIndirecto", SqlDbType.Money).Value = GastoIndirecto
- .Add("@CveChofer", SqlDbType.Int).Value = CveChofer
- .Add("@Placa", SqlDbType.VarChar).Value = Placa
- .Add("@FechaEntrega", SqlDbType.VarChar).Value = FechaEntrega
- .Add("@EspecifUnidad", SqlDbType.VarChar).Value = EspecifUnidad
- .Add("@ResponsableCarga", SqlDbType.VarChar).Value = ResponsableCarga
- .Add("@ResponsableRecibio", SqlDbType.VarChar).Value = ResponsableRecibio
- .Add("@Identificacion", SqlDbType.VarChar).Value = Identificacion
- .Add("@Domicilio", SqlDbType.VarChar).Value = Domicilio
- .Add("@Telefono", SqlDbType.VarChar).Value = Telefono
- .Add("@Ciudad", SqlDbType.VarChar).Value = Ciudad
- .Add("@Licencia", SqlDbType.VarChar).Value = Licencia
- End With
-
- Try
- SqlAdapter.Fill(Data)
- Retorno = SqlAdapter.SelectCommand.Parameters("@CveMovimiento").Value.ToString.ToEntero
- Folio = SqlAdapter.SelectCommand.Parameters("@FolioMovimiento").Value.ToString.ToEntero
-
- Catch Ex1 As SqlException
- If Ex1.Message.Contains("UK_Inv_MovimientosFolio") Then
- Me.OnError("El Folio ya se encuentra registrado.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
- Else
- Me.OnError("Ocurrió un error al guardar el movimiento.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
- End If
-
- Catch ex As Exception
- OnError("Ocurrió un error al guardar el movimiento", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
- End Try
-
- Return Retorno
- End Function
- Public Function UpdateMovimiento(CveMovimiento As Integer, CveAlmacen As Integer, CveConcepto As Integer, CveMoneda As Integer, FechaMovto As DateTime, Folio As Integer, CveUsuario As Integer, CveEmpresa As Integer, CveCompra As Integer,
- CveVenta As Integer, CveSubProyecto As Integer, CveActivoFijo As Integer, Optional CvePersonal As Integer = -1, Optional Guia As String = "", Optional Observaciones As String = "", Optional Recibio As String = "", Optional TipoCambio As Double = -1, Optional CveCliente As Integer = -1, Optional CveProveedor As Integer = -1, Optional Remision As String = "") As Boolean
-
- Dim Retorno = False
-
- DataAdapter("PA_Inv_MovimientosUpdate")
-
- With SqlAdapter.SelectCommand.Parameters
- .Add("@CveAlmacen", SqlDbType.Int).Value = CveAlmacen
- .Add("@CveConcepto", SqlDbType.Int).Value = CveConcepto
- .Add("@CveMoneda", SqlDbType.Int).Value = CveMoneda
- .Add("@FechaMovto", SqlDbType.DateTime).Value = FechaMovto
- '.Add("@Folio", SqlDbType.Int).Value = Folio
- .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
- .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
- .Add("@CveCompra", SqlDbType.Int).Value = CveCompra
- .Add("@CveVenta", SqlDbType.Int).Value = CveVenta
- .Add("@CvePersonal", SqlDbType.Int).Value = CvePersonal
- .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto
- .Add("@CveActivoFijo", SqlDbType.Int).Value = CveActivoFijo
- .Add("@CveMovimiento", SqlDbType.Int).Value = CveMovimiento
- .Add("@Guia", SqlDbType.VarChar).Value = Guia
- .Add("@Observaciones", SqlDbType.VarChar).Value = Observaciones
- .Add("@Recibio", SqlDbType.VarChar).Value = Recibio
- .Add("@TipoCambio", SqlDbType.SmallMoney).Value = TipoCambio
- .Add("@CveProveedor", SqlDbType.Int).Value = CveProveedor
- .Add("@CveCliente", SqlDbType.Int).Value = CveCliente
- .Add("@Remision", SqlDbType.VarChar).Value = Remision
- End With
-
- Try
- SqlAdapter.Fill(Data)
- Retorno = True
-
- Catch Ex1 As SqlException
- Me.OnError("Ocurrió un error al actualizar el movimiento.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
- Catch ex As Exception
- OnError("Ocurrió un error al actualizar el movimiento", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
- End Try
-
- Return Retorno
- End Function
- Public Function UpdateMovimientoPoliza(IDPoliza As Integer, CveMovimiento As Integer, CveEmpresa As Integer) As Boolean
-
- Dim Retorno As Boolean = False
-
- DataAdapter("PA_Inv_MovimientosPolizaUpdate")
-
- With SqlAdapter.SelectCommand.Parameters
- .Add("@CveMovimiento", SqlDbType.Int).Value = CveMovimiento
- .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
- .Add("@IDPoliza", SqlDbType.Int).Value = IDPoliza
- End With
-
- Try
- SqlAdapter.Fill(Data)
- Retorno = True
-
- Catch ex As Exception
- OnError("Ocurrió un error al guardar el movimiento", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
- End Try
-
- Return Retorno
- End Function
- Public Function UpdateMovimientoGuia(Guia As String, CveMovimiento As Integer, CveEmpresa As Integer) As Boolean
-
- Dim Retorno As Boolean = False
-
- DataAdapter("PA_Inv_MovimientosPolizaUpdate")
-
- With SqlAdapter.SelectCommand.Parameters
- .Add("@CveMovimiento", SqlDbType.Int).Value = CveMovimiento
- .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
- .Add("@Guia", SqlDbType.VarChar).Value = Guia
- End With
-
- Try
- SqlAdapter.Fill(Data)
- Retorno = True
-
- Catch ex As Exception
- OnError("Ocurrió un error al guardar la guia del movimiento.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
- End Try
-
- Return Retorno
- End Function
- Public Function MovimientoRemove(CveMovimiento As Integer, CveEmpresa As Integer) As Boolean
-
- Dim Retorno As Boolean = False
-
- DataAdapter("PA_Inv_MovimientosRemove")
-
- With SqlAdapter.SelectCommand.Parameters
- .Add("@CveMovimiento", SqlDbType.Int).Value = CveMovimiento
- .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
-
- End With
-
- Try
- SqlAdapter.Fill(Data)
- Retorno = True
- Catch ex As Exception
- OnError("Ocurrió un error al eliminar el movimiento", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
- End Try
-
- Return Retorno
- End Function
- Public Function GetMovimientosDetalle(CveMovimiento As Integer, CveEmpresa As Integer, Optional CveCompra As Integer = -1) As Boolean
- Dim Retorno As Boolean = False
- DataAdapter("PA_Inv_MovimientosDetalleGet")
-
- With SqlAdapter.SelectCommand.Parameters
- .Add("@CveMovimiento", SqlDbType.Int).Value = CveMovimiento
- .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
- .Add("@CveCompra", SqlDbType.Int).Value = CveCompra
- End With
- Try
- SqlAdapter.Fill(Data)
-
- If Data IsNot Nothing AndAlso Data.Rows.Count >= 1 Then
- Dim dr As DataRow = Data.Rows(0)
- CveSeccion = dr("CveSeccionAlmacen").ToString.ToEntero
- End If
-
- Retorno = True
- Catch ex As Exception
- OnError("Ocurrió un error al obtener los movimientos.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
- End Try
-
- Return Retorno
- End Function
- Public Function GetMovimientosDetalleVenta(CveMovimiento As Integer, CveEmpresa As Integer, CveVenta As Integer) As Boolean
- Dim Retorno As Boolean = False
- DataAdapter("PA_Inv_MovimientosVentaDetalleGet")
-
- With SqlAdapter.SelectCommand.Parameters
- .Add("@CveMovimiento", SqlDbType.Int).Value = CveMovimiento
- .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
- .Add("@CveVenta", SqlDbType.Int).Value = CveVenta
- End With
- Try
- SqlAdapter.Fill(Data)
- Retorno = True
- Catch ex As Exception
- OnError("Ocurrió un error al obtener los movimientos detalle venta.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
- End Try
-
- Return Retorno
- End Function
- Public Function GetMovimientosDetalleVendedor(CveMovimiento As Integer) As Boolean
- Dim Retorno As Boolean = False
- DataAdapter("PA_Inv_MovimientosDetalleVendedorGet")
-
- With SqlAdapter.SelectCommand.Parameters
- .Add("@CveMovimiento", SqlDbType.Int).Value = CveMovimiento
- End With
- Try
- SqlAdapter.Fill(Data)
- Retorno = True
- Catch ex As Exception
- OnError("Ocurrió un error al obtener los movimientos.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
- End Try
-
- Return Retorno
- End Function
- Public Function GetMovimientosDetalleImpresion(CveMovimiento As Integer, CveEmpresa As Integer) As Boolean
- Dim Retorno As Boolean = False
- DataAdapter("PA_Inv_MovimientosDetalleImpresionGet")
-
- With SqlAdapter.SelectCommand.Parameters
- .Add("@CveMovimiento", SqlDbType.Int).Value = CveMovimiento
- .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
- End With
- Try
- SqlAdapter.Fill(Data)
-
- If Data IsNot Nothing AndAlso Data.Rows.Count >= 1 Then
- Dim dr As DataRow = Data.Rows(0)
- CveSeccion = dr("CveSeccionAlmacen").ToString.ToEntero
- End If
-
- Retorno = True
- Catch ex As Exception
- OnError("Ocurrió un error al obtener los movimientos.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
- End Try
-
- Return Retorno
- End Function
- Public Function GetMovimientosDetalleContrato(CveContrato As Integer, CveEmpresa As Integer, Optional EsInterno As Integer = -1) As Boolean
- Dim Retorno As Boolean = False
- DataAdapter("PA_Inv_MovimientosDetalleContratoGet")
-
- With SqlAdapter.SelectCommand.Parameters
- .Add("@CveContrato", SqlDbType.Int).Value = CveContrato
- .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
- .Add("@EsInterno", SqlDbType.Int).Value = EsInterno
- End With
- Try
- SqlAdapter.Fill(Data)
- Retorno = True
- Catch ex As Exception
- OnError("Ocurrió un error al obtener los movimientos detalle del contrato.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
- End Try
-
- Return Retorno
- End Function
- Public Function AddMovimientoDetalle(CveMovimiento As Integer, Cantidad As Double, CveUM As Integer, CvePS As Integer, PU As Double, CveAF As Integer, Optional CveSeccionAlmacen As Integer = -1, Optional SerieLote As String = "",
- Optional Observaciones As String = "", Optional CveMovimientoDetalleEntrada As Integer = -1, Optional PUTC As Double = -1, Optional FechaCaducidad As Date = MinFecha,
- Optional CostoIndirecto As Double = 0, Optional CveCompraDetalle As Integer = -1, Optional CveOrdenCompraDetalle As Integer = -1, Optional CveVentaDetalle As Integer = -1,
- Optional Lote As String = "", Optional Batch As String = "", Optional CveContratoDetalle As Integer = -1, Optional CveUsuarioModifico As Integer = -1, Optional EsInterno As Integer = -1) As Boolean
- Dim Retorno As Boolean = False
-
- DataAdapter("PA_Inv_MovimientosDetalleAdd")
-
- With SqlAdapter.SelectCommand.Parameters
- .Add("@CveMovimiento", SqlDbType.Int).Value = CveMovimiento
- .Add("@CveUM", SqlDbType.Int).Value = CveUM
- .Add("@Cantidad", SqlDbType.Money).Value = Cantidad
- .Add("@PU", SqlDbType.Float).Value = PU
- .Add("@PUTC", SqlDbType.Money).Value = PUTC
- .Add("@CveSeccionAlmacen", SqlDbType.Int).Value = CveSeccionAlmacen
- .Add("@CvePS", SqlDbType.Int).Value = CvePS
- .Add("@CveAF", SqlDbType.Int).Value = CveAF
- .Add("@SerieLote", SqlDbType.VarChar).Value = SerieLote
- .Add("@Lote", SqlDbType.VarChar).Value = Lote
- .Add("@Batch", SqlDbType.VarChar).Value = Batch
- .Add("@Observaciones", SqlDbType.VarChar).Value = Observaciones
- .Add("@CveMovimientoDetalleEntrada", SqlDbType.Int).Value = CveMovimientoDetalleEntrada
- .Add("@FechaCaducidad", SqlDbType.Date).Value = FechaCaducidad
- .Add("@CostoIndirecto", SqlDbType.Float).Value = CostoIndirecto
- .Add("@CveCompraDetalle", SqlDbType.Int).Value = CveCompraDetalle
- .Add("@CveOrdenCompraDetalle", SqlDbType.Int).Value = CveOrdenCompraDetalle
- .Add("@CveVentaDetalle", SqlDbType.Int).Value = CveVentaDetalle
- .Add("@CveContratoDetalle", SqlDbType.Int).Value = CveContratoDetalle
- .Add("@CveMovimientoDetalle", SqlDbType.Int).Direction = ParameterDirection.Output
- .Add("@CveUsuarioModifico", SqlDbType.Int).Value = CveUsuarioModifico
- .Add("@EsInterno", SqlDbType.Int).Value = EsInterno
- End With
-
- Try
- SqlAdapter.Fill(Data)
- CveMovimientoDetalle = SqlAdapter.SelectCommand.Parameters("@CveMovimientoDetalle").Value.ToString.ToEntero
- If CveMovimientoDetalle > 0 Then
- Retorno = True
- End If
- Catch Ex1 As SqlException
- If Ex1.Message.Contains("50019") Then
- Me.OnError(" El producto no tiene existencia.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
- Else
- Me.OnError("Ocurrió un error al guardar los detalles del movimiento.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
- End If
-
- Catch ex As Exception
-
- OnError("Ocurrió un error al guardar los detalles del movimiento", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
- End Try
-
- Return Retorno
- End Function
- Public Function UpdateMovimientoDetalle(Cantidad As Double, CveUM As Integer, CvePS As Integer, PU As Double, CveAF As Integer, CveMovimientoDetalle As Integer, Optional CveSeccionAlmacen As Integer = -1, Optional SerieLote As String = "",
- Optional Observaciones As String = "-1", Optional PUTC As Double = -1, Optional CveUsuarioModifico As Integer = -1) As Boolean
- Dim Retorno As Boolean = False
-
- DataAdapter("PA_Inv_MovimientosDetalleUpdate")
-
- With SqlAdapter.SelectCommand.Parameters
- .Add("@CveMovimientoDetalle", SqlDbType.Int).Value = CveMovimientoDetalle
- .Add("@Cantidad", SqlDbType.Money).Value = Cantidad
- .Add("@CveUM", SqlDbType.Int).Value = CveUM
- .Add("@CvePS", SqlDbType.Int).Value = CvePS
- .Add("@PU", SqlDbType.Money).Value = PU
- .Add("@PUTC", SqlDbType.Money).Value = PUTC
- .Add("@CveSeccionAlmacen", SqlDbType.Int).Value = CveSeccionAlmacen
- .Add("@CveAF", SqlDbType.Int).Value = CveAF
- .Add("@SerieLote", SqlDbType.VarChar).Value = SerieLote
- .Add("@Observaciones", SqlDbType.VarChar).Value = Observaciones
- .Add("@CveUsuarioModifico", SqlDbType.Int).Value = CveUsuarioModifico
- End With
-
- Try
- SqlAdapter.Fill(Data)
- Retorno = True
- Catch Ex1 As SqlException
-
- Me.OnError("Ocurrió un error al guardar los detalles del movimiento.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
-
- Catch ex As Exception
-
- OnError("Ocurrió un error al guardar los detalles del movimiento", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
- End Try
-
- Return Retorno
- End Function
-
-
- Public Function UpdateMovimientoDetalleEsInterno(CveEmpresa As Integer, CveMovimientoDetalle As Integer, EsInterno As Boolean) As Boolean
- Dim Retorno As Boolean = False
-
- DataAdapter("PA_Inv_MovimientosDetalleContratoEsInternoUpdate")
-
- With SqlAdapter.SelectCommand.Parameters
-
- .Add("@CveMovimientoDetalle", SqlDbType.Int).Value = CveMovimientoDetalle
- .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
- .Add("@EsInterno", SqlDbType.Bit).Value = EsInterno
-
- End With
-
- Try
- SqlAdapter.Fill(Data)
- Retorno = True
- Catch Ex1 As SqlException
-
- Me.OnError("Ocurrió un error al guardar los detalles del movimiento.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
-
- Catch ex As Exception
-
- OnError("Ocurrió un error al guardar los detalles del movimiento", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
- End Try
-
- Return Retorno
- End Function
- Public Function UpdateCostoIndirectoMovimientoDetalle(CveMovimientoDetalle As Integer, CostoIndirecto As Decimal) As Boolean
- Dim Retorno As Boolean = False
-
- DataAdapter("PA_Inv_MovimientosDetalleCostoIndirectoUpdate")
-
- With SqlAdapter.SelectCommand.Parameters
- .Add("@CveMovimientoDetalle", SqlDbType.Int).Value = CveMovimientoDetalle
- .Add("@CostoIndirecto", SqlDbType.Money).Value = CostoIndirecto
- End With
-
- Try
- SqlAdapter.Fill(Data)
- Retorno = True
- Catch Ex1 As SqlException
-
- Me.OnError("Ocurrió un error al guardar los detalles del movimiento.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
-
- Catch ex As Exception
-
- OnError("Ocurrió un error al guardar los detalles del movimiento", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
- End Try
-
- Return Retorno
- End Function
- Public Function RemoveMovimientoDetalle(CveMovimientoDetalle As Integer, CveMovimiento As Integer) As Boolean
- Dim Retorno As Boolean = False
-
- DataAdapter("PA_Inv_MovimientosDetalleRemove")
-
- With SqlAdapter.SelectCommand.Parameters
- .Add("@CveMovimientoDetalle", SqlDbType.Int).Value = CveMovimientoDetalle
- .Add("@CveMovimiento", SqlDbType.Int).Value = CveMovimiento
- End With
-
- Try
- SqlAdapter.Fill(Data)
- Retorno = True
- Catch Ex1 As SqlException
-
- Me.OnError("Ocurrió un error al eliminar los detalles del movimiento.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
-
- Catch ex As Exception
-
- OnError("Ocurrió un error al eliminar los detalles del movimiento", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
- End Try
-
- Return Retorno
- End Function
- Public Function GetMovimientosTransitorios(CveAlmacenDestino As Integer, CveTipoAlmacenDestino As Integer, CveAlmacenTransitorio As Integer, CveUsuarioResponsable As Integer, Folio As Integer, CveEmpresa As Integer) As Boolean
- Dim Retorno As Boolean = False
- DataAdapter("PA_Inv_MovimientosTransitoriosGet")
-
- With SqlAdapter.SelectCommand.Parameters
- .Add("@CveAlmacenDestino", SqlDbType.Int).Value = CveAlmacenDestino
- .Add("@CveTipoAlmacenDestino", SqlDbType.Int).Value = CveTipoAlmacenDestino
- .Add("@CveAlmacenTransitorio", SqlDbType.Int).Value = CveAlmacenTransitorio
- .Add("@Folio", SqlDbType.Int).Value = Folio
- .Add("@CveUsuarioResponsable", SqlDbType.Int).Value = CveUsuarioResponsable
- .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
- End With
- Try
- SqlAdapter.Fill(Data)
-
- Retorno = True
- Catch ex As Exception
- OnError("Ocurrió un error al obtener los movimientos transitorios.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
- End Try
-
- Return Retorno
- End Function
- Public Function GetKardexAlmacen(CvePS As Integer, FechaI As String, FechaF As String, CveAlmacen As Integer, CveUnidadMedida As Integer, CveUsuario As Integer, CveEmpresa As Integer) As Boolean
- Dim Retorno As Boolean = False
-
- DataAdapter("PA_Inv_KardexAlmacenGet")
-
- With SqlAdapter.SelectCommand.Parameters
- .Add("@FechaI", SqlDbType.VarChar).Value = FechaI
- .Add("@FechaF", SqlDbType.VarChar).Value = FechaF
- .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
- .Add("@CvePS", SqlDbType.Int).Value = CvePS
- .Add("@CveAlmacen", SqlDbType.Int).Value = CveAlmacen
- .Add("@CveUnidadMedida", SqlDbType.Int).Value = CveUnidadMedida
- .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
- End With
-
- Try
- SqlAdapter.Fill(Data)
- Retorno = True
- Catch Ex1 As SqlException
-
- Me.OnError("Ocurrió un error al obtener el kardex de almacen.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
-
- Catch ex As Exception
- OnError("Ocurrió un error al obtener el kardex de almacen.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
- End Try
-
- Return Retorno
-
- End Function
- Public Function GetKardexAlmacenHorizontal(CvePS As Integer, FechaFin As Date, CveAlmacen As Integer, CveUnidadMedida As Integer, CveProveedor As Integer, CveTipoAlmacen As Integer, IncluyeTransitorios As Integer, CveUsuario As Integer, CveEmpresa As Integer) As Boolean
- Dim Retorno As Boolean = False
-
- DataAdapter("PA_Inv_KardexAlmacenHorizontalGet")
-
- With SqlAdapter.SelectCommand.Parameters
- '.Add("@FechaI", SqlDbType.VarChar).Value = FechaI
- .Add("@FechaFin", SqlDbType.Date).Value = FechaFin
- .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
- .Add("@CvePS", SqlDbType.Int).Value = CvePS
- .Add("@CveAlmacen", SqlDbType.Int).Value = CveAlmacen
- .Add("@CveUnidadMedida", SqlDbType.Int).Value = CveUnidadMedida
- .Add("@IncluyeTransitorios", SqlDbType.Int).Value = IncluyeTransitorios
- .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
- .Add("@CveProveedorCompra", SqlDbType.Int).Value = CveProveedor
- .Add("@CveTipoAlmacen", SqlDbType.Int).Value = CveTipoAlmacen
- End With
-
- Try
- SqlAdapter.Fill(Data)
- Retorno = True
- Catch Ex1 As SqlException
-
- Me.OnError("Ocurrió un error al obtener el kardex de almacen.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
-
- Catch ex As Exception
- OnError("Ocurrió un error al obtener el kardex de almacen.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
- End Try
-
- Return Retorno
-
- End Function
- Public Function GetKardex(Entrada As Boolean, Salida As Boolean, CvePS As Integer, FechaI As String, FechaF As String, CveAlmacen As Integer, CveTiposAlmacen As String, CveUnidadMedida As Integer, CveUsuario As Integer, CveEmpresa As Integer, Optional AgruparAlmacen As Boolean = False, Optional Serie As String = "") As Boolean
- Dim Retorno As Boolean = False
-
- DataAdapter("PA_Inv_KardexGet")
-
- With SqlAdapter.SelectCommand.Parameters
- .Add("@Entrada", SqlDbType.Bit).Value = Entrada
- .Add("@Salida", SqlDbType.Bit).Value = Salida
- .Add("@FechaI", SqlDbType.VarChar).Value = FechaI
- .Add("@FechaF", SqlDbType.VarChar).Value = FechaF
- .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
- .Add("@CvePS", SqlDbType.Int).Value = CvePS
- .Add("@CveAlmacen", SqlDbType.Int).Value = CveAlmacen
- .Add("@CveTiposAlmacen", SqlDbType.VarChar).Value = CveTiposAlmacen
- .Add("@CveUnidadMedida", SqlDbType.Int).Value = CveUnidadMedida
- .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
- .Add("@AgruparAlmacen", SqlDbType.Bit).Value = AgruparAlmacen
- .Add("@Serie", SqlDbType.VarChar).Value = Serie
- End With
-
- Try
- SqlAdapter.Fill(Data)
- Retorno = True
- Catch Ex1 As SqlException
-
- Me.OnError("Ocurrió un error al obtener el kardex.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
-
- Catch ex As Exception
- OnError("Ocurrió un error al obtener el kardex.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
- End Try
-
- Return Retorno
-
- End Function
-
-#End Region
-
-#Region " INVENTARIOS - REPORTES "
-
- Public Function RepExistenciasCostos(FechaI As Date, FechaF As Date, CveMoneda As Integer, CveProveedores As Integer, CveConcepto As Integer, CvePS As Integer, CveEmpresa As Integer, CveAlmacen As Integer, CveUsuario As Integer, Optional CveClasificacion As Integer = -1, Optional CvePersonal As Integer = -1) As Boolean
- Dim Retorno As Boolean = False
- DataAdapter("PA_Inv_RepExistenciasCostosGet")
- With SqlAdapter.SelectCommand.Parameters
- .Add("@CveProveedor", SqlDbType.Int).Value = CveProveedores
- .Add("@CveConcepto", SqlDbType.Int).Value = CveConcepto
- .Add("@CveMoneda", SqlDbType.Int).Value = CveMoneda
- .Add("@CvePS", SqlDbType.Int).Value = CvePS
- .Add("@CveAlmacen", SqlDbType.Int).Value = CveAlmacen
- .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
- .Add("@FechaI", SqlDbType.Date).Value = FechaI
- .Add("@FechaF", SqlDbType.Date).Value = FechaF
- .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
- .Add("@CveClasificacion", SqlDbType.Int).Value = CveClasificacion
- .Add("@CvePersonal", SqlDbType.Int).Value = CvePersonal
- End With
- Try
- SqlAdapter.Fill(Data)
- Retorno = True
- Catch ex As Exception
- OnError("Ocurrió un error al obtener el reporte de Existencias y costos.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
- End Try
-
- Return Retorno
- End Function
-
-
- Public Function RepMovimientos(CveEmpresa As Integer, CveMoneda As Integer, FechaI As String, FechaF As String, CveConcepto As Integer, CveProveedor As Integer, Almacenes As String,
- CveFamilia As Integer, CveSubFamilia As Integer, CvePS As Integer, CveClasificacion As Integer, Tipo As Integer, Optional CveMarca As Integer = -1, Optional CvePersonal As Integer = -1,
- Optional CveClasificacion2 As Integer = -1, Optional CveTipoAlmacen As String = "-1", Optional Modalidad As Integer = -1) As Boolean
- Dim Retorno As Boolean = False
-
- DataAdapter("PA_Inv_ReporteMovimientos")
-
- With SqlAdapter.SelectCommand.Parameters
- .Add("@Tipo", SqlDbType.Int).Value = Tipo
- .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
- .Add("@CveMoneda", SqlDbType.Int).Value = CveMoneda
- .Add("@FechaI", SqlDbType.VarChar).Value = FechaI
- .Add("@FechaF", SqlDbType.VarChar).Value = FechaF
- .Add("@CveConcepto", SqlDbType.Int).Value = CveConcepto
- .Add("@CveProveedor", SqlDbType.Int).Value = CveProveedor
- .Add("@Almacenes", SqlDbType.VarChar).Value = Almacenes
- .Add("@CveFamilia", SqlDbType.Int).Value = CveFamilia
- .Add("@CveSubFamilia", SqlDbType.Int).Value = CveSubFamilia
- .Add("@CvePS", SqlDbType.Int).Value = CvePS
- .Add("@CveClasificacion", SqlDbType.Int).Value = CveClasificacion
- .Add("@CveMarca", SqlDbType.Int).Value = CveMarca
- .Add("@CvePersonal", SqlDbType.Int).Value = CvePersonal
- .Add("@CveClasificacion2", SqlDbType.Int).Value = CveClasificacion2
- .Add("@CveTipoAlmacen", SqlDbType.VarChar).Value = CveTipoAlmacen
- .Add("@Modalidad", SqlDbType.Int).Value = Modalidad
- End With
-
- Try
- SqlAdapter.Fill(Data)
- Retorno = True
- Catch ex As Exception
- OnError("Ocurrió un error al obtener la lista de movimientos.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
- End Try
-
- Return Retorno
- End Function
-
- 'Nuevo R: 19/10/2017
- Public Function RepMovimientosGen(CveEmpresa As Integer, FechaI As String, FechaF As String, CveProveedor As Integer, CveAlmacen As Integer,
- CvePS As Integer, CveClasificacion As Integer, Agrupador As Integer, Optional CveClasificacion2 As Integer = -1) As Boolean
-
- Dim Retorno As Boolean = False
-
- DataAdapter("PA_Inv_ReporteMovimientosGen")
-
- With SqlAdapter.SelectCommand.Parameters
- .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
- .Add("@FechaI", SqlDbType.VarChar).Value = FechaI
- .Add("@FechaF", SqlDbType.VarChar).Value = FechaF
- .Add("@CveProveedor", SqlDbType.Int).Value = CveProveedor
- .Add("@CveAlmacen", SqlDbType.Int).Value = CveAlmacen
- .Add("@CvePS", SqlDbType.Int).Value = CvePS
- .Add("@CveClasificacion", SqlDbType.Int).Value = CveClasificacion
- .Add("@CveClasificacion2", SqlDbType.Int).Value = CveClasificacion2
- .Add("@Agrupador", SqlDbType.Int).Value = Agrupador
- End With
-
- Try
- SqlAdapter.Fill(Data)
- Retorno = True
- Catch ex As Exception
- OnError("Ocurrió un error al obtener la lista de movimientos.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
- End Try
-
- Return Retorno
- End Function
-
-
-
-
- Public Function RepExistenciasEquivalencias(CveClasificacion As Integer, CvePS As Integer, CveEmpresa As Integer) As Boolean
- Dim Retorno As Boolean = False
-
- DataAdapter("PA_Inv_ExistenciasEquivalenciasRep")
-
- With SqlAdapter.SelectCommand.Parameters
-
- .Add("@CveClasificacion", SqlDbType.Int).Value = CveClasificacion
- .Add("@CvePS", SqlDbType.Int).Value = CvePS
- .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
- End With
-
- Try
- SqlAdapter.Fill(Data)
- Retorno = True
- Catch ex As Exception
- OnError("Ocurrió un error al obtener la lista de movimientos.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
- End Try
-
- Return Retorno
- End Function
-
- Public Function RepAlmacenCompras(CveAlmacen As Integer, FechaI As Date, FechaF As Date, CveEmpresa As Integer) As Boolean
- Dim Retorno As Boolean = False
- DataAdapter("PA_Inv_RepAlmacenCompras")
-
-
- With SqlAdapter.SelectCommand.Parameters
- .Add("@CveAlmacen", SqlDbType.Int).Value = CveAlmacen
- .Add("@FechaI", SqlDbType.Date).Value = FechaI
- .Add("@FechaF", SqlDbType.Date).Value = FechaF
- .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 Reporte de Almacen Compras.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
- End Try
-
- Return Retorno
- End Function
- Public Function RepNotasSinAlmacen(Opcion As Integer, CveClienteProveedor As Integer, FechaIni As Date, FechaFin As Date, TipoDocumento As String, CveSubProyecto As Integer, CveEmpresa As Integer) As Boolean
- Dim Retorno = False
- DataAdapter("PA_Inv_RepNotasSinAlmacen")
-
- With SqlAdapter.SelectCommand.Parameters
-
- .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
- .Add("@CveClienteProveedor", SqlDbType.VarChar).Value = CveClienteProveedor
- .Add("@FechaIni", SqlDbType.Date).Value = FechaIni
- .Add("@FechaFin", SqlDbType.Date).Value = FechaFin
- .Add("@Opcion", SqlDbType.Int).Value = Opcion
- .Add("@TipoDocumento", SqlDbType.VarChar).Value = TipoDocumento
- .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto
- End With
-
- Try
- SqlAdapter.Fill(Data)
- Retorno = True
- Catch ex As Exception
- Retorno = False
- OnError("Ocurrió un error al obtener RepNotasSinAlmacen.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
- End Try
-
- Return Retorno
-
-
- End Function
-
- Public Function GetReporteMaterialRep(CvePersonal As Integer, CveAlmacen As Integer, CveEmpresa As Integer) As Boolean
- Dim Retorno As Boolean = False
- DataAdapter("PA_Inv_MovimientosReporteMaterialRep")
-
- With SqlAdapter.SelectCommand.Parameters
- .Add("@CvePersonal", SqlDbType.Int).Value = CvePersonal
- .Add("@CveAlmacen", SqlDbType.Int).Value = CveAlmacen
- .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 reporte.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
- End Try
-
- Return Retorno
+#End Region
+
+#Region " INVENTARIOS - REPORTES "
+
+ Public Function RepExistenciasCostos(FechaI As Date, FechaF As Date, CveMoneda As Integer, CveProveedores As Integer, CveConcepto As Integer, CvePS As Integer, CveEmpresa As Integer, CveAlmacen As Integer, CveUsuario As Integer, Optional CveClasificacion As Integer = -1, Optional CvePersonal As Integer = -1) As Boolean
+ Dim Retorno As Boolean = False
+ DataAdapter("PA_Inv_RepExistenciasCostosGet")
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CveProveedor", SqlDbType.Int).Value = CveProveedores
+ .Add("@CveConcepto", SqlDbType.Int).Value = CveConcepto
+ .Add("@CveMoneda", SqlDbType.Int).Value = CveMoneda
+ .Add("@CvePS", SqlDbType.Int).Value = CvePS
+ .Add("@CveAlmacen", SqlDbType.Int).Value = CveAlmacen
+ .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+ .Add("@FechaI", SqlDbType.Date).Value = FechaI
+ .Add("@FechaF", SqlDbType.Date).Value = FechaF
+ .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
+ .Add("@CveClasificacion", SqlDbType.Int).Value = CveClasificacion
+ .Add("@CvePersonal", SqlDbType.Int).Value = CvePersonal
+ End With
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch ex As Exception
+ OnError("Ocurrió un error al obtener el reporte de Existencias y costos.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ End Try
+
+ Return Retorno
+ End Function
+
+
+ Public Function RepMovimientos(CveEmpresa As Integer, CveMoneda As Integer, FechaI As String, FechaF As String, CveConcepto As Integer, CveProveedor As Integer, Almacenes As String,
+ CveFamilia As Integer, CveSubFamilia As Integer, CvePS As Integer, CveClasificacion As Integer, Tipo As Integer, Optional CveMarca As Integer = -1, Optional CvePersonal As Integer = -1,
+ Optional CveClasificacion2 As Integer = -1, Optional CveTipoAlmacen As String = "-1", Optional Modalidad As Integer = -1) As Boolean
+ Dim Retorno As Boolean = False
+
+ DataAdapter("PA_Inv_ReporteMovimientos")
+
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@Tipo", SqlDbType.Int).Value = Tipo
+ .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+ .Add("@CveMoneda", SqlDbType.Int).Value = CveMoneda
+ .Add("@FechaI", SqlDbType.VarChar).Value = FechaI
+ .Add("@FechaF", SqlDbType.VarChar).Value = FechaF
+ .Add("@CveConcepto", SqlDbType.Int).Value = CveConcepto
+ .Add("@CveProveedor", SqlDbType.Int).Value = CveProveedor
+ .Add("@Almacenes", SqlDbType.VarChar).Value = Almacenes
+ .Add("@CveFamilia", SqlDbType.Int).Value = CveFamilia
+ .Add("@CveSubFamilia", SqlDbType.Int).Value = CveSubFamilia
+ .Add("@CvePS", SqlDbType.Int).Value = CvePS
+ .Add("@CveClasificacion", SqlDbType.Int).Value = CveClasificacion
+ .Add("@CveMarca", SqlDbType.Int).Value = CveMarca
+ .Add("@CvePersonal", SqlDbType.Int).Value = CvePersonal
+ .Add("@CveClasificacion2", SqlDbType.Int).Value = CveClasificacion2
+ .Add("@CveTipoAlmacen", SqlDbType.VarChar).Value = CveTipoAlmacen
+ .Add("@Modalidad", SqlDbType.Int).Value = Modalidad
+ End With
+
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch ex As Exception
+ OnError("Ocurrió un error al obtener la lista de movimientos.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ End Try
+
+ Return Retorno
+ End Function
+
+ 'Nuevo R: 19/10/2017
+ Public Function RepMovimientosGen(CveEmpresa As Integer, FechaI As String, FechaF As String, CveProveedor As Integer, CveAlmacen As Integer,
+ CvePS As Integer, CveClasificacion As Integer, Agrupador As Integer, Optional CveClasificacion2 As Integer = -1) As Boolean
+
+ Dim Retorno As Boolean = False
+
+ DataAdapter("PA_Inv_ReporteMovimientosGen")
+
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+ .Add("@FechaI", SqlDbType.VarChar).Value = FechaI
+ .Add("@FechaF", SqlDbType.VarChar).Value = FechaF
+ .Add("@CveProveedor", SqlDbType.Int).Value = CveProveedor
+ .Add("@CveAlmacen", SqlDbType.Int).Value = CveAlmacen
+ .Add("@CvePS", SqlDbType.Int).Value = CvePS
+ .Add("@CveClasificacion", SqlDbType.Int).Value = CveClasificacion
+ .Add("@CveClasificacion2", SqlDbType.Int).Value = CveClasificacion2
+ .Add("@Agrupador", SqlDbType.Int).Value = Agrupador
+ End With
+
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch ex As Exception
+ OnError("Ocurrió un error al obtener la lista de movimientos.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ End Try
+
+ Return Retorno
+ End Function
+
+
+
+
+ Public Function RepExistenciasEquivalencias(CveClasificacion As Integer, CvePS As Integer, CveEmpresa As Integer) As Boolean
+ Dim Retorno As Boolean = False
+
+ DataAdapter("PA_Inv_ExistenciasEquivalenciasRep")
+
+ With SqlAdapter.SelectCommand.Parameters
+
+ .Add("@CveClasificacion", SqlDbType.Int).Value = CveClasificacion
+ .Add("@CvePS", SqlDbType.Int).Value = CvePS
+ .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+ End With
+
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch ex As Exception
+ OnError("Ocurrió un error al obtener la lista de movimientos.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ End Try
+
+ Return Retorno
+ End Function
+
+ Public Function RepAlmacenCompras(CveAlmacen As Integer, FechaI As Date, FechaF As Date, CveEmpresa As Integer) As Boolean
+ Dim Retorno As Boolean = False
+ DataAdapter("PA_Inv_RepAlmacenCompras")
+
+
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CveAlmacen", SqlDbType.Int).Value = CveAlmacen
+ .Add("@FechaI", SqlDbType.Date).Value = FechaI
+ .Add("@FechaF", SqlDbType.Date).Value = FechaF
+ .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 Reporte de Almacen Compras.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ End Try
+
+ Return Retorno
+ End Function
+ Public Function RepNotasSinAlmacen(Opcion As Integer, CveClienteProveedor As Integer, FechaIni As Date, FechaFin As Date, TipoDocumento As String, CveSubProyecto As Integer, CveEmpresa As Integer) As Boolean
+ Dim Retorno = False
+ DataAdapter("PA_Inv_RepNotasSinAlmacen")
+
+ With SqlAdapter.SelectCommand.Parameters
+
+ .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+ .Add("@CveClienteProveedor", SqlDbType.VarChar).Value = CveClienteProveedor
+ .Add("@FechaIni", SqlDbType.Date).Value = FechaIni
+ .Add("@FechaFin", SqlDbType.Date).Value = FechaFin
+ .Add("@Opcion", SqlDbType.Int).Value = Opcion
+ .Add("@TipoDocumento", SqlDbType.VarChar).Value = TipoDocumento
+ .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto
+ End With
+
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch ex As Exception
+ Retorno = False
+ OnError("Ocurrió un error al obtener RepNotasSinAlmacen.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
+ End Try
+
+ Return Retorno
+
+
+ End Function
+
+ Public Function GetReporteMaterialRep(CvePersonal As Integer, CveAlmacen As Integer, CveEmpresa As Integer) As Boolean
+ Dim Retorno As Boolean = False
+ DataAdapter("PA_Inv_MovimientosReporteMaterialRep")
+
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CvePersonal", SqlDbType.Int).Value = CvePersonal
+ .Add("@CveAlmacen", SqlDbType.Int).Value = CveAlmacen
+ .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 reporte.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ End Try
+
+ Return Retorno
End Function
Public Function RepTraspasoAlmacen(FechaI As Date, FechaF As Date, CveAlmacenOrigen As Integer, CveAlmacenDestino As Integer, Recibido As Boolean, CveEmpresa As Integer) As Boolean
diff --git a/App_Code/Modelos.vb b/App_Code/Modelos.vb
index 4021301ca..86fdecdd5 100644
--- a/App_Code/Modelos.vb
+++ b/App_Code/Modelos.vb
@@ -4512,7 +4512,7 @@ Namespace Modelos
Private Function GeneraMovimientosVirtuales(CveVenta As Integer, ByRef ObjInventario As ClsInventarios) As Boolean
Dim ErrorCancelar As Boolean = False
Try
- If UsuarioActual.CveEmpresa = 140 Then
+ If UsuarioActual.Empresa.Funcionalidad(573) = "1" Then
Dim CveMovimientoSalida As Integer = -1
Dim CveAlmacenVirutal As Integer = -1
@@ -4535,7 +4535,7 @@ Namespace Modelos
End If
If DtMovtosDev IsNot Nothing AndAlso DtMovtosDev.Rows.Count > 0 Then
- Dim CveMovimientoEntrada = ObjInventario.AddMovimiento(CveAlmacenVirutal, 18, 1, Now, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveVenta, -1, -1)
+ Dim CveMovimientoEntrada = ObjInventario.AddMovimiento(CveAlmacenVirutal, 18, 1, Now, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveVenta, -1, -1, CveMovimientoRelacionado:=CveMovimientoSalida)
For Each RowUsado As DataRow In DtMovtosDev.Rows
Dim CvePS = RowUsado("CvePS").ToString().ToEntero()
diff --git a/Inventarios/RecepcionAlmacen.aspx.vb b/Inventarios/RecepcionAlmacen.aspx.vb
index dd307b812..3b2302ba6 100644
--- a/Inventarios/RecepcionAlmacen.aspx.vb
+++ b/Inventarios/RecepcionAlmacen.aspx.vb
@@ -942,7 +942,7 @@ Partial Class Inventarios_RecepcionAlmacen
DivCodigoSeriePS.Visible = False
End If
- If UsuarioActual.CveEmpresa = 140 Then
+ If UsuarioActual.Empresa.Funcionalidad(573) = "1" Then
DivVirtualAdvertencia.Visible = True
End If
@@ -2024,653 +2024,681 @@ Partial Class Inventarios_RecepcionAlmacen
Dim CvePrePoliza = -1
Dim MensajeContabilidad = ""
- 'RECARGA TC CUANDO ES RECEPCION CON OC Y DOLARES
- If CveOCSurtir > 0 And CveMoneda <> 1 Then
- TipoCambio = GlobalTipoCambio(TxtFecha.Text.ToDate)
- End If
-
- If HdnTipoDocto.Value <> "Fac" Then RecibidaCompleta = False
-
- 'ENTRADA ALMACÉN
- CveMovimiento = ObjInventario.AddMovimiento(DdlAlmacen.SelectedValue.ToEntero, If(TipoMovimiento > 1, 13, 2), 1, FechaMovto, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCompraSurtir, -1, -1, -1, Observaciones:=TxtObservaciones.Text.Trim, TipoCambio:=If(DdlMonedaTC.SelectedValue.ToEntero = 1, -1, TipoCambio), MovimientoFijo:=If(TipoMovimiento = 2, True, False), Remision:=TxtRemision.Text)
- If CveMovimiento > 0 Then
- InvFolio = ObjInventario.Folio.ToString
- Dim DtDetalle As New DataTable
- Dim DtDetalleLote As New DataTable
- Dim PU As Decimal = 0.0D
- Dim PUExtranjero As Decimal = 0.0D
- Dim CostoIndirecto As Decimal = 0.0D
- Dim SumaTotal As Decimal = 0.0D
- Dim Cont As Integer = 0
- For Each gvr As GridViewRow In GvInv.Rows
- If gvr.FCCheckBox("cbInv").Checked AndAlso gvr.FCTextBox("TbCantidadF").Text.ToDecimal > 0 Then
-
- PU = DtInv.Rows(gvr.RowIndex)("PU").ToString.ToDecimal
- CostoIndirecto = DtInv.Rows(gvr.RowIndex)("CostoIndirecto").ToString.ToDecimal
- PUExtranjero = DtInv.Rows(gvr.RowIndex)("PUExtranjero").ToString.ToDecimal
-
- 'SI FUE POR SERIE LOTE
- DtDetalle = DtDatosDetalle.FiltraParametros(String.Format("ConsecId = {0}", gvr.DataKey("Consec").ToEntero))
- DtDetalleLote = DtDatosLoteDetalle.FiltraParametros(String.Format("ConsecId = {0}", gvr.DataKey("Consec").ToEntero))
- If DtDetalle.Rows.Count > 0 Then
- Dim ContDt As Integer = 0
- For Each Dr As DataRow In DtDetalle.Rows
- SumaTotal += PU + CostoIndirecto
- If RecibidaCompleta AndAlso Cont + 1 = GvInv.Rows.Count AndAlso ContDt + 1 = DtDetalle.Rows.Count AndAlso Math.Round((TotalCompraOC * If(TipoCambio > 1, TipoCambio, 1)), 2) <> SumaTotal Then
- PU = Math.Round((TotalCompraOC * If(TipoCambio > 1, TipoCambio, 1)), 2).ToDecimal - (SumaTotal - (PU))
- End If
- If Not ObjInventario.AddMovimientoDetalle(CveMovimiento, 1, gvr.DataKey("CveUM").ToEntero, gvr.DataKey("CvePS").ToEntero, PU, -1, CveSeccionAlmacen:=gvr.FCDropDownList("DdlSeccionAlmacen").SelectedValue.ToEntero, PUTC:=If(DdlMonedaTC.SelectedValue.ToEntero = 1, -1, PUExtranjero), SerieLote:=Dr("Serie").ToString, FechaCaducidad:=Dr("FechaCaducidad").ToString.ToDate, CveCompraDetalle:=gvr.DataKey("CveCompraDetalle").ToEntero, CveOrdenCompraDetalle:=gvr.DataKey("CveOrdenCompraDetalle").ToEntero, CveVentaDetalle:=gvr.DataKey("CveVentaDetalle").ToEntero, CostoIndirecto:=CostoIndirecto, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
- ErrorMovInv = True
- Exit For
- End If
- ContDt += 1
- Next
- ElseIf DtDetalleLote.Rows.Count > 0 Then
- Dim ContDt As Integer = 0
- For Each Dr As DataRow In DtDetalleLote.Rows
- SumaTotal += Dr("Cantidad").ToString.ToDecimal * (PU + CostoIndirecto)
- If RecibidaCompleta AndAlso Cont + 1 = GvInv.Rows.Count AndAlso ContDt + 1 = DtDetalleLote.Rows.Count AndAlso Math.Round((TotalCompraOC * If(TipoCambio > 1, TipoCambio, 1)), 2) <> SumaTotal Then
- PU = (Math.Round((TotalCompraOC * If(TipoCambio > 1, TipoCambio, 1)), 2).ToDecimal - (SumaTotal - (Dr("Cantidad").ToString.ToDecimal * (PU)))) / Dr("Cantidad").ToString.ToDecimal
- End If
- If Not ObjInventario.AddMovimientoDetalle(CveMovimiento, Dr("Cantidad").ToString.ToDouble, gvr.DataKey("CveUM").ToEntero, gvr.DataKey("CvePS").ToEntero, PU, -1, CveSeccionAlmacen:=gvr.FCDropDownList("DdlSeccionAlmacen").SelectedValue.ToEntero, PUTC:=If(DdlMonedaTC.SelectedValue.ToEntero = 1, -1, PUExtranjero), Lote:=Dr("Lote").ToString, Batch:=Dr("Batch").ToString, FechaCaducidad:=Dr("FechaCaducidad").ToString.ToDate, CveCompraDetalle:=gvr.DataKey("CveCompraDetalle").ToEntero, CveOrdenCompraDetalle:=gvr.DataKey("CveOrdenCompraDetalle").ToEntero, CveVentaDetalle:=gvr.DataKey("CveVentaDetalle").ToEntero, CostoIndirecto:=CostoIndirecto, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
- ErrorMovInv = True
- Exit For
- End If
-
- ContDt += 1
- Next
- Else
- SumaTotal += gvr.FCTextBox("TbCantidadF").Text.ToDecimal * (PU + CostoIndirecto) ' considerar el costo indirecto para el ajuste
- If RecibidaCompleta AndAlso Cont + 1 = GvInv.Rows.Count AndAlso Math.Round((TotalCompraOC * If(TipoCambio > 1, TipoCambio, 1)), 2) <> Math.Round(SumaTotal, 2) Then
- Dim tTotal As Decimal = gvr.FCTextBox("TbCantidadF").Text.ToDecimal * (PU)
-
- PU = (Math.Round((TotalCompraOC * If(TipoCambio > 1, TipoCambio, 1)), 2).ToDecimal - (SumaTotal - tTotal)) / gvr.FCTextBox("TbCantidadF").Text.ToDecimal
- End If
- If Not ObjInventario.AddMovimientoDetalle(CveMovimiento, gvr.FCTextBox("TbCantidadF").Text.ToDouble, gvr.DataKey("CveUM").ToEntero, gvr.DataKey("CvePS").ToEntero, PU, -1, CveSeccionAlmacen:=gvr.FCDropDownList("DdlSeccionAlmacen").SelectedValue.ToEntero, PUTC:=If(DdlMonedaTC.SelectedValue.ToEntero = 1, -1, PUExtranjero), CveCompraDetalle:=gvr.DataKey("CveCompraDetalle").ToEntero, CveOrdenCompraDetalle:=gvr.DataKey("CveOrdenCompraDetalle").ToEntero, CveVentaDetalle:=gvr.DataKey("CveVentaDetalle").ToEntero, CostoIndirecto:=CostoIndirecto, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
- ErrorMovInv = True
- Exit For
- End If
-
- End If
- If ObjInventario.CveMovimientoDetalle > 0 AndAlso DtSeccionAlmacen.Rows.Count > 0 Then
- For Each Dr As DataRow In DtSeccionAlmacen.FiltraParametros($"IndexSeccionAlmacen = {gvr.RowIndex}").Rows
- If Not ObjInventario.AddMovimientosDetalleSeccionesAlmacen(ObjInventario.CveMovimientoDetalle, Dr("CveSeccionAlmacen").ToString.ToEntero, Dr("CantidadSeccionAlmacen").ToString.ToDecimal) Then
- ErrorMovInv = True
- Exit For
- End If
- Next
- End If
- Cont += 1
- End If
- Next
- Else
- ErrorMovInv = True
- End If
-
- ''VALIDACIÓN DE IMPORTES INGRESADOS VS LA COMPRA U OC
-
- If Not ErrorMovInv AndAlso RecibidaCompleta AndAlso ObjInventario.GetMovimientosDetalle(CveMovimiento, UsuarioActual.CveEmpresa) Then
- Dim dtt As DataTable = ObjInventario.DtResultados
- Dim tTotalInsertado As Decimal = dtt.SUMD("TotalOriginal")
- If CveTipoCompra = 8 Then 'entrada almacen con costo indirecto cargado en la misma compra
- tTotalInsertado = dtt.SUMD("Total") ' está incluido el costo indirecto en la factura
- End If
- If Math.Round(TotalCompraOC * If(TipoCambio > 1, TipoCambio, 1), 2) <> Math.Round(tTotalInsertado, 2) Then
- ErrorMovInv = True
- Alert("La Entrada no coincide con el valor del documento." & Math.Round(TotalCompraOC * If(TipoCambio > 1, TipoCambio, 1), 2) & " -" & tTotalInsertado, TipoMensaje.MsgError)
- GuardaLog("La Entrada no coincide con el valor del documento." & Math.Round(TotalCompraOC * If(TipoCambio > 1, TipoCambio, 1), 2) & " -" & tTotalInsertado)
- End If
- End If
-
-
- 'SI RECEPCION VALIDA [ENTREGADIRECTA, APARTADOS, AC]
- If TipoMovimiento = 1 Then
- 'ENTREGA DIRECTA
- If EntregaDirecta Then
- If Not ErrorMovInv Then
- Dim CveVenta As Integer = 0
- Dim Dt As DataTable
-
- If ObjInventario.GetMovimientosDetalle(CveMovimiento, UsuarioActual.CveEmpresa) Then
- If ObjInventario.DtResultados.Rows.Count > 0 Then
- Dt = ObjInventario.DtResultados
- CveVenta = ObjInventario.DtResultados.Rows(0)("CveVenta").ToString.ToEntero
- End If
- End If
-
- CveMovtoSalidaDirecta = ObjInventario.AddMovimiento(DdlAlmacen.SelectedValue.ToEntero, 3, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveVenta, -1, -1, Observaciones:=TxtObservaciones.Text.Trim, TipoCambio:=If(DdlMonedaTC.SelectedValue.ToEntero = 1, -1, TipoCambio), MovimientoFijo:=True, CveMovimientoRelacionado:=CveMovimiento, Remision:=TxtRemision.Text, CveVendedor:=CveVendedor, CveCliente:=CveCliente)
- FolioSalidaDirecta = ObjInventario.Folio
-
- If Not CveMovtoSalidaDirecta > 0 Then
- ErrorMovInv = True
- End If
-
- If Not ErrorMovInv Then
- For Each Dr As DataRow In Dt.Rows
- If Not ObjInventario.AddMovimientoDetalle(CveMovtoSalidaDirecta, Dr("Cantidad").ToString.ToDouble, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("PU").ToString.ToDouble, Dr("CveAF").ToString.ToEntero, Dr("CveSeccionAlmacen").ToString.ToEntero, Dr("SerieLote").ToString, Lote:=Dr("Lote").ToString, Batch:=Dr("Batch").ToString, CveMovimientoDetalleEntrada:=Dr("CveMovimientoDetalle").ToString.ToEntero, CveVentaDetalle:=Dr("CveVentaDetalle").ToString.ToEntero, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
- ErrorMovInv = True
- Exit For
- End If
- Next
- End If
-
- If Not ErrorMovInv Then
- If Not ObjInventario.LimpiaEntregaDirecta(CveMovimiento) Then
- ErrorMovInv = True
- End If
- End If
-
- If Not ErrorMovInv Then
- If Not GeneraPrePolizaSalidaEntregaDirecta(CveMovtoSalidaDirecta, ObjInventario, ObjConta, ObjContaContPAQ) Then
- ErrorMovInv = True
- End If
- End If
-
- End If
- End If
-
- 'APARTADOS
- If Apartado Then
- If ObjInventario.GetMovimientosDetalleVendedor(CveMovimiento) Then
-
- Dim CveMovtoSalidaActual = -1
- Dim CveMovtoEntradaActual = -1
- Dim CveVendedorActual = -1
- Dim CveClienteActual = -1
-
- Dim CveAlmacenDestino = CveAlmacenApartado
- For Each Dr As DataRow In ObjInventario.DtResultados.Rows
-
- If CveVendedorActual = -1 Or (Dr("CveVendedor").ToString.ToEntero <> CveVendedorActual Or Dr("CveCliente").ToString.ToEntero <> CveClienteActual) Then
- CveMovtoSalidaActual = ObjInventario.AddMovimiento(DdlAlmacen.SelectedValue.ToEntero, 8, 1, FechaMovto, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCompraSurtir, -1, -1, -1, Observaciones:=TxtObservaciones.Text.Trim, TipoCambio:=If(DdlMonedaTC.SelectedValue.ToEntero = 1, -1, TipoCambio), CveAlmacenDestino:=CveAlmacenDestino, MovimientoFijo:=True, CveVendedor:=Dr("CveVendedor").ToString.ToEntero, CveCliente:=Dr("CveCliente").ToString.ToEntero, Remision:=TxtRemision.Text)
- MovtosSalida.Add(CveMovtoSalidaActual)
- FoliosSalida.Add(ObjInventario.Folio)
-
- CveMovtoEntradaActual = ObjInventario.AddMovimiento(CveAlmacenDestino, 9, 1, FechaMovto, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCompraSurtir, -1, -1, -1, Observaciones:=TxtObservaciones.Text.Trim, TipoCambio:=If(DdlMonedaTC.SelectedValue.ToEntero = 1, -1, TipoCambio), CveAlmacenDestino:=CveAlmacenDestino, CveMovimientoRelacionado:=CveMovtoSalidaActual, CveVendedor:=Dr("CveVendedor").ToString.ToEntero, CveCliente:=Dr("CveCliente").ToString.ToEntero, Remision:=TxtRemision.Text)
- MovtosEntrada.Add(CveMovtoEntradaActual)
- FoliosEntrada.Add(ObjInventario.Folio)
-
- CveVendedorActual = Dr("CveVendedor").ToString.ToEntero
- CveClienteActual = Dr("CveCliente").ToString.ToEntero
- End If
-
- If CveMovtoSalidaActual <= 0 Or CveMovtoEntradaActual <= 0 Then
- ErrorMovInv = True
- Exit For
- End If
-
- If Not ObjInventario.AddMovimientoDetalle(CveMovtoSalidaActual, Dr("Cantidad").ToString.ToDouble, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("PU").ToString.ToDouble, Dr("CveAF").ToString.ToEntero, Dr("CveSeccionAlmacen").ToString.ToEntero, Dr("SerieLote").ToString, Lote:=Dr("Lote").ToString, Batch:=Dr("Batch").ToString, CveVentaDetalle:=Dr("CveVentaDetalle").ToString.ToEntero, CveMovimientoDetalleEntrada:=Dr("CveMovimientoDetalle").ToString.ToEntero, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
- ErrorMovInv = True
- Exit For
- End If
-
- If Not ObjInventario.AddMovimientoDetalle(CveMovtoEntradaActual, Dr("Cantidad").ToString.ToDouble, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("PU").ToString.ToDouble, Dr("CveAF").ToString.ToEntero, Dr("CveSeccionAlmacen").ToString.ToEntero, Dr("SerieLote").ToString, Lote:=Dr("Lote").ToString, Batch:=Dr("Batch").ToString, CveVentaDetalle:=Dr("CveVentaDetalle").ToString.ToEntero, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
- ErrorMovInv = True
- Exit For
- End If
-
- Next
-
- End If
+ Try
+ 'RECARGA TC CUANDO ES RECEPCION CON OC Y DOLARES
+ If CveOCSurtir > 0 And CveMoneda <> 1 Then
+ TipoCambio = GlobalTipoCambio(TxtFecha.Text.ToDate)
End If
- 'VIRTUAL
- Dim DtTamanios As New DataTable("DtTamanios")
- DtTamanios.Columns.Add(New DataColumn("CvePS", GetType(Integer)))
- DtTamanios.Columns.Add(New DataColumn("Cantidad", GetType(Decimal)))
- DtTamanios.Columns.Add(New DataColumn("PU", GetType(Decimal)))
- DtTamanios.Columns.Add(New DataColumn("CveUM", GetType(Integer)))
+ If HdnTipoDocto.Value <> "Fac" Then RecibidaCompleta = False
- If ObjAcum.TamañoGet(-1, UsuarioActual.CveEmpresa) Then
- For Each GvRow As GridViewRow In GvInv.Rows
- If GvRow.RowType = DataControlRowType.DataRow Then
- For Each Tam As DataRow In ObjAcum.DtResultados.Rows
- If Tam("CveTamaño").ToString() = GvRow.DataKey("CveTamaño") Then
- Dim Row As DataRow = DtTamanios.NewRow()
+ 'ENTRADA ALMACÉN
+ CveMovimiento = ObjInventario.AddMovimiento(DdlAlmacen.SelectedValue.ToEntero, If(TipoMovimiento > 1, 13, 2), 1, FechaMovto, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCompraSurtir, -1, -1, -1, Observaciones:=TxtObservaciones.Text.Trim, TipoCambio:=If(DdlMonedaTC.SelectedValue.ToEntero = 1, -1, TipoCambio), MovimientoFijo:=If(TipoMovimiento = 2, True, False), Remision:=TxtRemision.Text)
+ If CveMovimiento > 0 Then
+ InvFolio = ObjInventario.Folio.ToString
+ Dim DtDetalle As New DataTable
+ Dim DtDetalleLote As New DataTable
+ Dim PU As Decimal = 0.0D
+ Dim PUExtranjero As Decimal = 0.0D
+ Dim CostoIndirecto As Decimal = 0.0D
+ Dim SumaTotal As Decimal = 0.0D
+ Dim Cont As Integer = 0
+ For Each gvr As GridViewRow In GvInv.Rows
+ If gvr.FCCheckBox("cbInv").Checked AndAlso gvr.FCTextBox("TbCantidadF").Text.ToDecimal > 0 Then
- Row("CvePS") = Tam("CvePSCargo").ToString().ToEntero()
- Row("Cantidad") = GvRow.FCTextBox("TbCantidadF").Text.ToDecimal()
- Row("PU") = GvRow.DataKey("PU").ToDecimal()
- Row("CveUM") = GvRow.DataKey("CveUM").ToEntero()
+ PU = DtInv.Rows(gvr.RowIndex)("PU").ToString.ToDecimal
+ CostoIndirecto = DtInv.Rows(gvr.RowIndex)("CostoIndirecto").ToString.ToDecimal
+ PUExtranjero = DtInv.Rows(gvr.RowIndex)("PUExtranjero").ToString.ToDecimal
- DtTamanios.Rows.Add(Row)
+ 'SI FUE POR SERIE LOTE
+ DtDetalle = DtDatosDetalle.FiltraParametros(String.Format("ConsecId = {0}", gvr.DataKey("Consec").ToEntero))
+ DtDetalleLote = DtDatosLoteDetalle.FiltraParametros(String.Format("ConsecId = {0}", gvr.DataKey("Consec").ToEntero))
+ If DtDetalle.Rows.Count > 0 Then
+ Dim ContDt As Integer = 0
+ For Each Dr As DataRow In DtDetalle.Rows
+ SumaTotal += PU + CostoIndirecto
+ If RecibidaCompleta AndAlso Cont + 1 = GvInv.Rows.Count AndAlso ContDt + 1 = DtDetalle.Rows.Count AndAlso Math.Round((TotalCompraOC * If(TipoCambio > 1, TipoCambio, 1)), 2) <> SumaTotal Then
+ If Not UsuarioActual.Empresa.Funcionalidad(531) = "1" Then
+ PU = Math.Round((TotalCompraOC * If(TipoCambio > 1, TipoCambio, 1)), 2).ToDecimal - (SumaTotal - (PU))
+ End If
+ End If
+ If Not ObjInventario.AddMovimientoDetalle(CveMovimiento, 1, gvr.DataKey("CveUM").ToEntero, gvr.DataKey("CvePS").ToEntero, PU, -1, CveSeccionAlmacen:=gvr.FCDropDownList("DdlSeccionAlmacen").SelectedValue.ToEntero, PUTC:=If(DdlMonedaTC.SelectedValue.ToEntero = 1, -1, PUExtranjero), SerieLote:=Dr("Serie").ToString, FechaCaducidad:=Dr("FechaCaducidad").ToString.ToDate, CveCompraDetalle:=gvr.DataKey("CveCompraDetalle").ToEntero, CveOrdenCompraDetalle:=gvr.DataKey("CveOrdenCompraDetalle").ToEntero, CveVentaDetalle:=gvr.DataKey("CveVentaDetalle").ToEntero, CostoIndirecto:=CostoIndirecto, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
+ ErrorMovInv = True
+ Exit For
+ End If
+ ContDt += 1
+ Next
+ ElseIf DtDetalleLote.Rows.Count > 0 Then
+ Dim ContDt As Integer = 0
+ For Each Dr As DataRow In DtDetalleLote.Rows
+ SumaTotal += Dr("Cantidad").ToString.ToDecimal * (PU + CostoIndirecto)
+ If RecibidaCompleta AndAlso Cont + 1 = GvInv.Rows.Count AndAlso ContDt + 1 = DtDetalleLote.Rows.Count AndAlso Math.Round((TotalCompraOC * If(TipoCambio > 1, TipoCambio, 1)), 2) <> SumaTotal Then
+ If Not UsuarioActual.Empresa.Funcionalidad(531) = "1" Then
+ PU = (Math.Round((TotalCompraOC * If(TipoCambio > 1, TipoCambio, 1)), 2).ToDecimal - (SumaTotal - (Dr("Cantidad").ToString.ToDecimal * (PU)))) / Dr("Cantidad").ToString.ToDecimal
+ End If
+ End If
+ If Not ObjInventario.AddMovimientoDetalle(CveMovimiento, Dr("Cantidad").ToString.ToDouble, gvr.DataKey("CveUM").ToEntero, gvr.DataKey("CvePS").ToEntero, PU, -1, CveSeccionAlmacen:=gvr.FCDropDownList("DdlSeccionAlmacen").SelectedValue.ToEntero, PUTC:=If(DdlMonedaTC.SelectedValue.ToEntero = 1, -1, PUExtranjero), Lote:=Dr("Lote").ToString, Batch:=Dr("Batch").ToString, FechaCaducidad:=Dr("FechaCaducidad").ToString.ToDate, CveCompraDetalle:=gvr.DataKey("CveCompraDetalle").ToEntero, CveOrdenCompraDetalle:=gvr.DataKey("CveOrdenCompraDetalle").ToEntero, CveVentaDetalle:=gvr.DataKey("CveVentaDetalle").ToEntero, CostoIndirecto:=CostoIndirecto, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
+ ErrorMovInv = True
+ Exit For
+ End If
+
+ ContDt += 1
+ Next
+ Else
+ SumaTotal += gvr.FCTextBox("TbCantidadF").Text.ToDecimal * (PU + CostoIndirecto) ' considerar el costo indirecto para el ajuste
+ If RecibidaCompleta AndAlso Cont + 1 = GvInv.Rows.Count AndAlso Math.Round((TotalCompraOC * If(TipoCambio > 1, TipoCambio, 1)), 2) <> Math.Round(SumaTotal, 2) Then
+ Dim tTotal As Decimal = gvr.FCTextBox("TbCantidadF").Text.ToDecimal * (PU)
+ If Not UsuarioActual.Empresa.Funcionalidad(531) = "1" Then
+ PU = (Math.Round((TotalCompraOC * If(TipoCambio > 1, TipoCambio, 1)), 2).ToDecimal - (SumaTotal - tTotal)) / gvr.FCTextBox("TbCantidadF").Text.ToDecimal
+ End If
+ End If
+ If Not ObjInventario.AddMovimientoDetalle(CveMovimiento, gvr.FCTextBox("TbCantidadF").Text.ToDouble, gvr.DataKey("CveUM").ToEntero, gvr.DataKey("CvePS").ToEntero, PU, -1, CveSeccionAlmacen:=gvr.FCDropDownList("DdlSeccionAlmacen").SelectedValue.ToEntero, PUTC:=If(DdlMonedaTC.SelectedValue.ToEntero = 1, -1, PUExtranjero), CveCompraDetalle:=gvr.DataKey("CveCompraDetalle").ToEntero, CveOrdenCompraDetalle:=gvr.DataKey("CveOrdenCompraDetalle").ToEntero, CveVentaDetalle:=gvr.DataKey("CveVentaDetalle").ToEntero, CostoIndirecto:=CostoIndirecto, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
+ ErrorMovInv = True
+ Exit For
+ End If
+
+ End If
+ If ObjInventario.CveMovimientoDetalle > 0 AndAlso DtSeccionAlmacen.Rows.Count > 0 Then
+ For Each Dr As DataRow In DtSeccionAlmacen.FiltraParametros($"IndexSeccionAlmacen = {gvr.RowIndex}").Rows
+ If Not ObjInventario.AddMovimientosDetalleSeccionesAlmacen(ObjInventario.CveMovimientoDetalle, Dr("CveSeccionAlmacen").ToString.ToEntero, Dr("CantidadSeccionAlmacen").ToString.ToDecimal) Then
+ ErrorMovInv = True
+ Exit For
+ End If
+ Next
+ End If
+ Cont += 1
+ End If
+ Next
+ Else
+ ErrorMovInv = True
+ End If
+
+ ''VALIDACIÓN DE IMPORTES INGRESADOS VS LA COMPRA U OC
+ If Not UsuarioActual.Empresa.Funcionalidad(531) = "1" Then
+ If Not ErrorMovInv AndAlso RecibidaCompleta AndAlso ObjInventario.GetMovimientosDetalle(CveMovimiento, UsuarioActual.CveEmpresa) Then
+ Dim dtt As DataTable = ObjInventario.DtResultados
+ Dim tTotalInsertado As Decimal = dtt.SUMD("TotalOriginal")
+ If CveTipoCompra = 8 Then 'entrada almacen con costo indirecto cargado en la misma compra
+ tTotalInsertado = dtt.SUMD("Total") ' está incluido el costo indirecto en la factura
+ End If
+ If Math.Round(TotalCompraOC * If(TipoCambio > 1, TipoCambio, 1), 2) <> Math.Round(tTotalInsertado, 2) Then
+ ErrorMovInv = True
+ Alert("La Entrada no coincide con el valor del documento." & Math.Round(TotalCompraOC * If(TipoCambio > 1, TipoCambio, 1), 2) & " -" & tTotalInsertado, TipoMensaje.MsgError)
+ GuardaLog("La Entrada no coincide con el valor del documento." & Math.Round(TotalCompraOC * If(TipoCambio > 1, TipoCambio, 1), 2) & " -" & tTotalInsertado)
+ End If
+ End If
+ End If
+
+ 'SI RECEPCION VALIDA [ENTREGADIRECTA, APARTADOS, AC]
+ If TipoMovimiento = 1 Then
+ 'ENTREGA DIRECTA
+ If EntregaDirecta Then
+ If Not ErrorMovInv Then
+ Dim CveVenta As Integer = 0
+ Dim Dt As DataTable
+
+ If ObjInventario.GetMovimientosDetalle(CveMovimiento, UsuarioActual.CveEmpresa) Then
+ If ObjInventario.DtResultados.Rows.Count > 0 Then
+ Dt = ObjInventario.DtResultados
+ CveVenta = ObjInventario.DtResultados.Rows(0)("CveVenta").ToString.ToEntero
+ End If
+ End If
+
+ CveMovtoSalidaDirecta = ObjInventario.AddMovimiento(DdlAlmacen.SelectedValue.ToEntero, 3, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveVenta, -1, -1, Observaciones:=TxtObservaciones.Text.Trim, TipoCambio:=If(DdlMonedaTC.SelectedValue.ToEntero = 1, -1, TipoCambio), MovimientoFijo:=True, CveMovimientoRelacionado:=CveMovimiento, Remision:=TxtRemision.Text, CveVendedor:=CveVendedor, CveCliente:=CveCliente)
+ FolioSalidaDirecta = ObjInventario.Folio
+
+ If Not CveMovtoSalidaDirecta > 0 Then
+ ErrorMovInv = True
+ End If
+
+ If Not ErrorMovInv Then
+ For Each Dr As DataRow In Dt.Rows
+ If Not ObjInventario.AddMovimientoDetalle(CveMovtoSalidaDirecta, Dr("Cantidad").ToString.ToDouble, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("PU").ToString.ToDouble, Dr("CveAF").ToString.ToEntero, Dr("CveSeccionAlmacen").ToString.ToEntero, Dr("SerieLote").ToString, Lote:=Dr("Lote").ToString, Batch:=Dr("Batch").ToString, CveMovimientoDetalleEntrada:=Dr("CveMovimientoDetalle").ToString.ToEntero, CveVentaDetalle:=Dr("CveVentaDetalle").ToString.ToEntero, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
+ ErrorMovInv = True
+ Exit For
+ End If
+ Next
+ End If
+
+ If Not ErrorMovInv Then
+ If Not ObjInventario.LimpiaEntregaDirecta(CveMovimiento) Then
+ ErrorMovInv = True
+ End If
+ End If
+
+ If Not ErrorMovInv Then
+ If Not GeneraPrePolizaSalidaEntregaDirecta(CveMovtoSalidaDirecta, ObjInventario, ObjConta, ObjContaContPAQ) Then
+ ErrorMovInv = True
+ End If
+ End If
+
+ End If
+ End If
+
+ 'APARTADOS
+ If Apartado Then
+ If ObjInventario.GetMovimientosDetalleVendedor(CveMovimiento) Then
+
+ Dim CveMovtoSalidaActual = -1
+ Dim CveMovtoEntradaActual = -1
+ Dim CveVendedorActual = -1
+ Dim CveClienteActual = -1
+
+ Dim CveAlmacenDestino = CveAlmacenApartado
+ For Each Dr As DataRow In ObjInventario.DtResultados.Rows
+
+ If CveVendedorActual = -1 Or (Dr("CveVendedor").ToString.ToEntero <> CveVendedorActual Or Dr("CveCliente").ToString.ToEntero <> CveClienteActual) Then
+ CveMovtoSalidaActual = ObjInventario.AddMovimiento(DdlAlmacen.SelectedValue.ToEntero, 8, 1, FechaMovto, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCompraSurtir, -1, -1, -1, Observaciones:=TxtObservaciones.Text.Trim, TipoCambio:=If(DdlMonedaTC.SelectedValue.ToEntero = 1, -1, TipoCambio), CveAlmacenDestino:=CveAlmacenDestino, MovimientoFijo:=True, CveVendedor:=Dr("CveVendedor").ToString.ToEntero, CveCliente:=Dr("CveCliente").ToString.ToEntero, Remision:=TxtRemision.Text)
+ MovtosSalida.Add(CveMovtoSalidaActual)
+ FoliosSalida.Add(ObjInventario.Folio)
+
+ CveMovtoEntradaActual = ObjInventario.AddMovimiento(CveAlmacenDestino, 9, 1, FechaMovto, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCompraSurtir, -1, -1, -1, Observaciones:=TxtObservaciones.Text.Trim, TipoCambio:=If(DdlMonedaTC.SelectedValue.ToEntero = 1, -1, TipoCambio), CveAlmacenDestino:=CveAlmacenDestino, CveMovimientoRelacionado:=CveMovtoSalidaActual, CveVendedor:=Dr("CveVendedor").ToString.ToEntero, CveCliente:=Dr("CveCliente").ToString.ToEntero, Remision:=TxtRemision.Text)
+ MovtosEntrada.Add(CveMovtoEntradaActual)
+ FoliosEntrada.Add(ObjInventario.Folio)
+
+ CveVendedorActual = Dr("CveVendedor").ToString.ToEntero
+ CveClienteActual = Dr("CveCliente").ToString.ToEntero
+ End If
+
+ If CveMovtoSalidaActual <= 0 Or CveMovtoEntradaActual <= 0 Then
+ ErrorMovInv = True
+ Exit For
+ End If
+
+ If Not ObjInventario.AddMovimientoDetalle(CveMovtoSalidaActual, Dr("Cantidad").ToString.ToDouble, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("PU").ToString.ToDouble, Dr("CveAF").ToString.ToEntero, Dr("CveSeccionAlmacen").ToString.ToEntero, Dr("SerieLote").ToString, Lote:=Dr("Lote").ToString, Batch:=Dr("Batch").ToString, CveVentaDetalle:=Dr("CveVentaDetalle").ToString.ToEntero, CveMovimientoDetalleEntrada:=Dr("CveMovimientoDetalle").ToString.ToEntero, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
+ ErrorMovInv = True
+ Exit For
+ End If
+
+ If Not ObjInventario.AddMovimientoDetalle(CveMovtoEntradaActual, Dr("Cantidad").ToString.ToDouble, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("PU").ToString.ToDouble, Dr("CveAF").ToString.ToEntero, Dr("CveSeccionAlmacen").ToString.ToEntero, Dr("SerieLote").ToString, Lote:=Dr("Lote").ToString, Batch:=Dr("Batch").ToString, CveVentaDetalle:=Dr("CveVentaDetalle").ToString.ToEntero, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
+ ErrorMovInv = True
+ Exit For
+ End If
+
+ Next
+
+ End If
+ End If
+
+ 'VIRTUAL
+ If UsuarioActual.Empresa.Funcionalidad(573) = "1" Then
+
+ Dim DtPSVirtual As New DataTable("DtTamanios")
+ DtPSVirtual.Columns.Add(New DataColumn("CvePS", GetType(Integer)))
+ DtPSVirtual.Columns.Add(New DataColumn("Cantidad", GetType(Decimal)))
+ DtPSVirtual.Columns.Add(New DataColumn("PU", GetType(Decimal)))
+ DtPSVirtual.Columns.Add(New DataColumn("CveUM", GetType(Integer)))
+
+ Dim DtComprasDetalle As DataTable = Nothing
+ Dim DtTamanios As DataTable = Nothing
+
+ If ObjCompras.GetCompraDetalle(CveCompraSurtir) Then
+ DtComprasDetalle = ObjCompras.DtResultados.Copy()
+ End If
+
+ If ObjAcum.TamañoGet(-1, UsuarioActual.CveEmpresa) Then
+ DtTamanios = ObjAcum.DtResultados.Copy()
+ End If
+
+ For Each GvRow As GridViewRow In GvInv.Rows
+ If GvRow.RowType = DataControlRowType.DataRow Then
+
+ For Each Tam As DataRow In DtTamanios.Rows
+ If Tam("CveTamaño").ToString() = GvRow.DataKey("CveTamaño") Then
+ Dim CvePSCargo = Tam("CvePSCargo").ToString().ToEntero()
+ Dim RowCompraDetalle = DtComprasDetalle.FiltroPrimero($"CvePS = {CvePSCargo}")
+
+ If RowCompraDetalle IsNot Nothing Then
+ Dim Row As DataRow = DtPSVirtual.NewRow()
+ Row("CvePS") = CvePSCargo
+ Row("Cantidad") = GvRow.FCTextBox("TbCantidadF").Text.ToDecimal()
+ Row("PU") = RowCompraDetalle("PU").ToString().ToDecimal()
+ Row("CveUM") = GvRow.DataKey("CveUM").ToEntero()
+ DtPSVirtual.Rows.Add(Row)
+ End If
+
+ End If
+ Next
+
+ End If
+ Next
+
+ If DtPSVirtual IsNot Nothing AndAlso DtPSVirtual.Rows.Count > 0 Then
+ Dim CveSubProyecto As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $"CveAlmacen= {DdlAlmacen.SelectedValue}").ToEntero()
+
+ Dim CveAlmacenVirutal As Integer = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 24).FiltroPrimeroValor("CveAlmacen", $"CveSubProyecto={CveSubProyecto}").ToEntero()
+
+ CveMovimientoVirtual = ObjInventario.AddMovimiento(CveAlmacenVirutal, If(TipoMovimiento > 1, 13, 2), 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCompraSurtir, -1, -1, -1, Observaciones:=TxtObservaciones.Text.Trim)
+ FolioVirtual = ObjInventario.Folio
+
+ For Each RowUsado As DataRow In DtPSVirtual.Rows
+ Dim CvePS = RowUsado("CvePS").ToString().ToEntero()
+ Dim CantidadUsado As Double = RowUsado("Cantidad").ToString().ToDouble()
+ Dim PU As Double = RowUsado("PU").ToString().ToDouble()
+ Dim CveUM As Integer = RowUsado("CveUM").ToString().ToEntero()
+
+ If Not ObjInventario.AddMovimientoDetalle(CveMovimientoVirtual, CantidadUsado, CveUM, CvePS, PU, -1, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
+ ErrorMovInv = True
+ Exit For
End If
Next
End If
- Next
+ End If
+
+ 'DEVENGAR AC
+ If Not ErrorMovInv AndAlso UsuarioActual.Empresa.UsaAC Then
+ Dim IDPoliza As Integer
+ Dim TotalDetalle As Double = 0.0
+ Dim TotalPorDevengar = 0.0
+ TotalPorDevengar += GvInv.Rows.Cast(Of GridViewRow)().Sum(Function(Gvr) Math.Round(Gvr.DataKey("PU").ToString.ToDouble, 4) * Math.Round(Gvr.DataKey("CantidadF").ToString.ToDouble, 4))
+ TotalPorDevengar = Math.Round(TotalPorDevengar, 4)
+ If ObjContaContPAQ Is Nothing Then
+ ObjContaContPAQ = New ClsContPAQi(UsuarioActual.Empresa)
+ ObjContaContPAQ.IniciaTransacSQL()
+ End If
+
+ IDPoliza = ObjContaAC.AddPoliza(4, "Devengado", TotalPorDevengar * 2, TotalPorDevengar * 2, UsuarioActual.CveUsuario, FechaMovto)
+ If IDPoliza > 0 AndAlso ObjContaAC.GetCuentas(-1, "-1", -1) Then
+ DtCuentas = ObjContaAC.DtResultados.Copy
+ Dim drRegistroMatriz As DataRow
+ Dim CuentaCargo As Integer
+ Dim CuentaAbono As Integer
+ Dim Importe = 0.0
+
+ For Each gvr As GridViewRow In GvInv.Rows
+ Importe = gvr.FCTextBox("TbCantidadF").Text.ToDouble * gvr.DataKey("PU").ToString.ToDouble
+ TotalDetalle += Importe
+
+ If Importe > 0 Then
+ If ObjContaAC.AddMovimiento(IDPoliza, 1, False, Importe, "", "", 0, FechaMovto, "") Then
+ 'actualizo el idcuenta del presupuesto
+ If Not ObjContaAC.AddMovimiento(IDPoliza, gvr.DataKey("IdCuentaComprometido").ToString.ToEntero, True, Importe, "", "", 0, FechaMovto, "") Then
+ ErrorMovInv = True
+ Exit For
+ End If
+ Else
+ ErrorMovInv = True
+ Exit For
+ End If
+
+ 'AFECTAR MATRIZ EGRESOS
+ drRegistroMatriz = GlobalDTAC_MatrizEgresos.FiltroPrimero(String.Format("Partida = {0} And TipoGasto = {1}", gvr.DataKey("CodigoClasificacion").ToString, gvr.DataKey("CveTipoGasto").ToString))
+ If drRegistroMatriz IsNot Nothing AndAlso drRegistroMatriz("CuentaCargo").ToString.ToEntero > 0 Then
+ CuentaCargo = DtCuentas.FiltroPrimeroValor("Id", String.Format("Codigo = '{0}'", drRegistroMatriz("CuentaCargo").ToString)).ToEntero
+ CuentaAbono = DtCuentas.FiltroPrimeroValor("Id", String.Format("Codigo = '{0}'", drRegistroMatriz("CuentaAbono").ToString)).ToEntero
+ If CuentaCargo > 0 AndAlso CuentaAbono > 0 Then
+ If ObjContaAC.AddMovimiento(IDPoliza, CuentaCargo, False, Importe, "", "", 0, FechaMovto, "") Then
+ If Not ObjContaAC.AddMovimiento(IDPoliza, CuentaAbono, True, Importe, "", "", 0, FechaMovto, "") Then
+ ErrorMovInv = True
+ Exit For
+ End If
+ Else
+ ErrorMovInv = True
+ Exit For
+ End If
+ Else
+ ErrorMovInv = True
+ Exit For
+ End If
+ End If
+ 'TERMINA AFECTAR MATRIZ INGRESOS
+
+ End If
+ Next
+ If TotalDetalle <= 0 AndAlso TotalPorDevengar >= TotalDetalle Then
+ ErrorMovInv = True
+ End If
+ Else
+ ErrorMovInv = True
+ End If
+
+ If ErrorMovInv Then
+ Alert("Error al registrar los movimientos Contables", TipoMensaje.MsgError)
+ RegistraScript("playsonidito('142608__autistic-lucario__error.wav')")
+ End If
+ End If
+ 'TERMINA: DEVENGAR
End If
- If DtTamanios IsNot Nothing AndAlso DtTamanios.Rows.Count > 0 Then
- Dim CveSubProyecto As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $"CveAlmacen= {DdlAlmacen.SelectedValue}").ToEntero()
+ 'ACTUALIZA ESTATUS ALMACEN
+ If TipoMovimiento = 2 Then
+ If Not ObjCompras.UpdateEstatusAlmacen(CveCompraSurtir, 0) Then
+ ErrorMovInv = True
+ End If
+ End If
- Dim CveAlmacenVirutal As Integer = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 24).FiltroPrimeroValor("CveAlmacen", $"CveSubProyecto={CveSubProyecto}").ToEntero()
+ 'AGREGA BITACORA TEMPORAL
+ If DtBitacora IsNot Nothing AndAlso DtBitacora.Rows.Count > 0 Then
+ ErrorMovInv = GuardaBitacoraTemporal(ObjBitacora, CveMovimiento)
+ End If
- CveMovimientoVirtual = ObjInventario.AddMovimiento(CveAlmacenVirutal, If(TipoMovimiento > 1, 13, 2), 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCompraSurtir, -1, -1, -1, Observaciones:=TxtObservaciones.Text.Trim)
- FolioVirtual = ObjInventario.Folio
+ 'PREPOLIZA - SOLO CUANDO SEA RECEPCIÓN
+ If TipoMovimiento = 1 AndAlso ObjInventario.GetMovimientosDetalle(CveMovimiento, UsuarioActual.CveEmpresa) Then
+ Dim DtCostos As DataTable = Nothing
+ Dim ValorInventario As Decimal = 0
+ DtCostos = ObjInventario.DtResultados
+ Dim TotalCosto As Decimal = DtCostos.SUMD("Total").RoundSQL
+ Dim TotalCostoExtranjero As Decimal = DtCostos.SUM("TotalExtranjero").ToDecimal
- For Each RowUsado As DataRow In DtTamanios.Rows
- Dim CvePS = RowUsado("CvePS").ToString().ToEntero()
- Dim CantidadUsado As Double = RowUsado("Cantidad").ToString().ToDouble()
- Dim PU As Double = RowUsado("PU").ToString().ToDouble()
- Dim CveUM As Integer = RowUsado("CveUM").ToString().ToEntero()
+ 'VARIABLES
+ Dim IdCtaContableAlmacen As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContable", $"CveAlmacen = {DdlAlmacen.SelectedValue}").ToEntero
+ Dim CveCuentaAlmacen As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContableSIG", $"CveAlmacen = {DdlAlmacen.SelectedValue}").ToEntero
+ Dim IdCtaContableRecepcion = -1
+ Dim IdCtaContableRecepcionME = -1
+ Dim IdCtaContableRecepcionComplementaria = -1
+ Dim Fecha As Date = Now
+ Dim CveProveedor As Integer = -1
+ Dim ProveedorNombre As String = ""
+ Dim SerieFolio As String = ""
+ Dim CveConceptoContableCosto = -1
+ Dim CveConceptoContableCostoME = -1
+ Dim CveConceptoContableCostoComplementaria = -1
+ Dim UsaComplementariaFleteImportaciones As Boolean = False
+ If UsuarioActual.CveEmpresa = 119 Then UsaComplementariaFleteImportaciones = False
- If Not ObjInventario.AddMovimientoDetalle(CveMovimientoVirtual, CantidadUsado, CveUM, CvePS, PU, -1, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
- ErrorMovInv = True
- Exit For
+ If DtCostos.Rows.Count > 0 Then
+ If CveCompraSurtir > 0 Then
+ If ObjCompras.GetCompras(CveCompraSurtir, "-1", "-1", -1, -1, UsuarioActual.CveEmpresa) Then
+ 'Fecha = ObjCompras.DtResultados(0)("Fecha").ToString.ToDate
+ Fecha = TxtFecha.Text.ToDate
+ CveProveedor = ObjCompras.DtResultados(0)("CveProveedor").ToString.ToEntero
+ ProveedorNombre = ObjCompras.DtResultados(0)("RazonSocial").ToString
+ SerieFolio = $"Compra: {ObjCompras.DtResultados(0)("SerieFolio").ToString}"
+ CveConceptoContableCosto = 205
+ CveConceptoContableCostoME = 230
+ CveConceptoContableCostoComplementaria = 231
+
+ If ObjConta.GetRetCuenta(205, UsuarioActual.CveEmpresa) AndAlso ObjConta.DtResultados.Rows.Count > 0 Then
+ IdCtaContableRecepcion = ObjConta.DtResultados.FiltroPrimeroValor("IdCtaContable").ToEntero
+ End If
+
+ If UsaComplementariaFleteImportaciones AndAlso ObjConta.GetRetCuenta(230, UsuarioActual.CveEmpresa) AndAlso ObjConta.DtResultados.Rows.Count > 0 Then
+ IdCtaContableRecepcionME = ObjConta.DtResultados.FiltroPrimeroValor("IdCtaContable").ToEntero
+ End If
+
+ If UsaComplementariaFleteImportaciones AndAlso ObjConta.GetRetCuenta(231, UsuarioActual.CveEmpresa) AndAlso ObjConta.DtResultados.Rows.Count > 0 Then
+ IdCtaContableRecepcionComplementaria = ObjConta.DtResultados.FiltroPrimeroValor("IdCtaContable").ToEntero
+ End If
+
+ Else
+ ErrorMovInv = True
+ End If
+ ElseIf CveOCSurtir > 0 Then
+ If ObjOC.GetOC(CveOCSurtir, UsuarioActual.CveEmpresa) Then
+ 'Fecha = ObjOC.DtResultados(0)("Fecha").ToString.ToDate
+ Fecha = TxtFecha.Text.ToDate
+ CveProveedor = ObjOC.DtResultados(0)("CveProveedor").ToString.ToEntero
+ ProveedorNombre = ObjOC.DtResultados(0)("RazonSocial").ToString
+ SerieFolio = String.Format("{0} OC# {1} - Almacén# {2}", ProveedorNombre, ObjOC.DtResultados(0)("Folio"), ObjInventario.Folio)
+ CveConceptoContableCosto = 176
+ CveConceptoContableCostoME = 228
+ CveConceptoContableCostoComplementaria = 229
+
+ If UsuarioActual.CveEmpresa = 119 Then UsaComplementariaFleteImportaciones = True
+
+ If UsaComplementariaFleteImportaciones AndAlso ObjConta.GetRetCuenta(176, UsuarioActual.CveEmpresa) AndAlso ObjConta.DtResultados.Rows.Count > 0 Then
+ IdCtaContableRecepcion = ObjConta.DtResultados.FiltroPrimeroValor("IdCtaContable").ToEntero
+ End If
+
+ If UsaComplementariaFleteImportaciones AndAlso ObjConta.GetRetCuenta(228, UsuarioActual.CveEmpresa) AndAlso ObjConta.DtResultados.Rows.Count > 0 Then
+ IdCtaContableRecepcionME = ObjConta.DtResultados.FiltroPrimeroValor("IdCtaContable").ToEntero
+ End If
+
+ If UsaComplementariaFleteImportaciones AndAlso ObjConta.GetRetCuenta(229, UsuarioActual.CveEmpresa) AndAlso ObjConta.DtResultados.Rows.Count > 0 Then
+ IdCtaContableRecepcionComplementaria = ObjConta.DtResultados.FiltroPrimeroValor("IdCtaContable").ToEntero
+ End If
+ Else
+ ErrorMovInv = True
+ End If
End If
+
+ If Not ErrorMovInv Then
+ Dim CveSubProyecto As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $"CveAlmacen= {DdlAlmacen.SelectedValue}").ToEntero
+ CvePrePoliza = ObjConta.AddPrePolizas("Inventario/RecepcionAlmacen", 74, TotalCosto, TotalCosto, 1, Fecha, ProveedorNombre, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
+ If CvePrePoliza > 0 Then
+ If ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, TotalCosto, SerieFolio, 68, SerieFolio, Fecha, IdCtaContableAlmacen, -1, CveCompra:=CveCompraSurtir, CveSubProyecto:=CveSubProyecto, CveOC:=CveOCSurtir, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=TotalCosto, CveCuenta:=CveCuentaAlmacen) Then
+
+ 'AGREGA POR CONCEPTO POR CVEOCDETALLE
+ If CveOCSurtir > 0 Then
+ Dim TotalCostoDetalle As Decimal = 0
+ Dim TotalCostoAcumulado As Decimal = 0
+ Dim cont As Integer = 1
+ For Each Dr As DataRow In DtCostos.Rows
+ TotalCostoDetalle = (Dr("Total").ToString.ToDecimal)
+ TotalCostoExtranjero = Dr("TotalExtranjero").ToString.ToDecimal
+ TotalCostoAcumulado += Math.Round(TotalCostoDetalle, 2)
+
+ 'si es el último movimiento verifica los importes que sean igual
+ If cont = DtCostos.Rows.Count AndAlso (Math.Round(TotalCosto, 2) <> Math.Round(TotalCostoAcumulado, 2)) Then
+ TotalCostoDetalle = TotalCostoDetalle + (Math.Round(TotalCosto, 2) - Math.Round(TotalCostoAcumulado, 2))
+ TotalCostoExtranjero = TotalCostoExtranjero + (Math.Round(TotalCosto, 2) - Math.Round(TotalCostoAcumulado, 2))
+ End If
+
+ If CveMoneda <> 1 AndAlso UsaComplementariaFleteImportaciones Then
+ 'COMPLEMENTARIA
+ If ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, TotalCostoExtranjero, SerieFolio, CveConceptoContableCostoME, SerieFolio, Fecha, IdCtaContableRecepcionME, -1, CveCompra:=CveCompraSurtir, CveOC:=CveOCSurtir, CveSubProyecto:=CveSubProyecto, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=TotalCostoExtranjero, ImporteME:=TotalCostoExtranjero, TipoCambio:=TipoCambio.ToDecimal, CveOCDetalle:=Dr("CveOrdenCompraDetalle").ToString.ToEntero) Then
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, TotalCostoDetalle - TotalCostoExtranjero, SerieFolio, CveConceptoContableCostoComplementaria, SerieFolio, Fecha, IdCtaContableRecepcionComplementaria, -1, CveCompra:=CveCompraSurtir, CveOC:=CveOCSurtir, CveProveedor:=CveProveedor, CveSubProyecto:=CveSubProyecto, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=TotalCostoDetalle - TotalCostoExtranjero, ImporteME:=TotalCostoExtranjero, TipoCambio:=TipoCambio.ToDecimal, CveOCDetalle:=Dr("CveOrdenCompraDetalle").ToString.ToEntero) Then
+ ErrorMovInv = True
+ Exit For
+ End If
+ Else
+ ErrorMovInv = True
+ Exit For
+ End If
+ Else
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, TotalCostoDetalle, SerieFolio, CveConceptoContableCosto, SerieFolio, Fecha, IdCtaContableRecepcion, -1, CveCompra:=CveCompraSurtir, CveOC:=CveOCSurtir, CveSubProyecto:=CveSubProyecto, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=TotalCostoDetalle, CveCuenta:=-1, CveOCDetalle:=Dr("CveOrdenCompraDetalle").ToString.ToEntero) Then
+ ErrorMovInv = True
+ Exit For
+ End If
+ End If
+ cont = cont + 1
+
+ Next
+ Else
+ TotalCosto = DtCostos.SUMD("Total").RoundSQL
+ TotalCostoExtranjero = DtCostos.SUMD("TotalExtranjero")
+
+ If CveMoneda <> 1 AndAlso UsaComplementariaFleteImportaciones Then
+ 'COMPLEMENTARIA
+ If ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, TotalCostoExtranjero, SerieFolio, CveConceptoContableCostoME, SerieFolio, Fecha, IdCtaContableRecepcionME, -1, CveCompra:=CveCompraSurtir, CveOC:=CveOCSurtir, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=TotalCostoExtranjero, ImporteME:=TotalCostoExtranjero, TipoCambio:=TipoCambio.ToDecimal) Then
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, TotalCosto - TotalCostoExtranjero, SerieFolio, CveConceptoContableCostoComplementaria, SerieFolio, Fecha, IdCtaContableRecepcionComplementaria, -1, CveCompra:=CveCompraSurtir, CveOC:=CveOCSurtir, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=TotalCosto - TotalCostoExtranjero, ImporteME:=TotalCostoExtranjero, TipoCambio:=TipoCambio.ToDecimal) Then
+ ErrorMovInv = True
+ End If
+ Else
+ ErrorMovInv = True
+ End If
+ Else
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, TotalCosto, SerieFolio, CveConceptoContableCosto, SerieFolio, Fecha, IdCtaContableRecepcion, -1, CveCompra:=CveCompraSurtir, CveOC:=CveOCSurtir, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=TotalCosto, CveCuenta:=-1) Then
+ ErrorMovInv = True
+ End If
+ End If
+ End If
+
+ Else
+ ErrorMovInv = True
+ End If
+ Else
+ ErrorMovInv = True
+ End If
+ End If
+
+ If ObjConta.ValidacionPrePolizaCuadre(CvePrePoliza, -1) Then
+ If ObjConta.ValorPolizaDescuadre > 0 Then
+ GuardaLogAD($"Inventarios/RecepcionAlmacen-PPCompOC | Error:{ObjConta.MensajePolizaDescuadre} Diferencia:{ObjConta.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas")
+ MensajeError = "El Movimiento presenta una diferencia en el registro."
+ ErrorMovInv = True
+ End If
+ End If
+
+ 'CONTABILIZAR - UNIFICAR Y SIMPLIFICAR CON PP DE LA COMPRA
+ If Not ErrorMovInv Then
+
+ If CvePrePolizaCompra > 0 Then
+ If UsuarioActual.Empresa.Funcionalidad(219) = "1" Then
+ If Not ObjConta.PrePolizaUnificacion(CvePrePoliza, CvePrePolizaCompra) Then
+ ErrorMovInv = True
+ MensajeError = "Error al unificar los conceptos contables"
+ End If
+ End If
+ End If
+
+ If UsuarioActual.Empresa.Funcionalidad(220) <> "" Then
+ If Not ObjConta.PrePolizaSimplificacion(CvePrePoliza, UsuarioActual.CveEmpresa) Then
+ ErrorMovInv = True
+ MensajeError = "Error al simplificar los conceptos contables"
+ End If
+ End If
+
+ If UsuarioActual.Empresa.Funcionalidad(200) = "1" Then
+ If ObjContaContPAQ Is Nothing Then
+ ObjContaContPAQ = New ClsContPAQi(UsuarioActual.Empresa)
+ ObjContaContPAQ.IniciaTransacSQL()
+ End If
+ If ObjConta.ContabilizarPrePoliza(CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.Empresa, ObjConta:=ObjContaContPAQ) Then
+ MensajeContabilidad = $" Movimiento contabilizado en el folio: {ObjConta.ContaFolio} "
+ Else
+ ErrorMovInv = True
+ MensajeError = "Error al contabilizar los conceptos contables"
+ End If
+ End If
+
+ End If
+
+ End If
+ End If
+
+ 'PREPOLIZA - NC
+ If TipoMovimiento = 3 AndAlso ObjInventario.GetMovimientosDetalle(CveMovimiento, UsuarioActual.CveEmpresa) Then
+
+ Dim DtCostos As DataTable = Nothing
+ DtCostos = ObjInventario.DtResultados
+ Dim TotalCosto As Decimal = DtCostos.SUM("Total").ToDecimal
+
+ Dim TotalNC As Decimal = 0
+ Dim CveClasificacionDifCostoNC = -1
+ Dim tTipoCambio As Decimal = 1
+ If CveMoneda <> 1 Then tTipoCambio = TipoCambio.ToDecimal
+
+ For Each gvr As GridViewRow In GvInv.Rows
+ TotalNC += gvr.FCTextBox("TbCantidadF").Text.ToDecimal * gvr.DataKey("PU").ToDecimal * tTipoCambio
+ CveClasificacionDifCostoNC = gvr.DataKey("CveClasificacion").ToEntero
Next
- End If
-
- 'DEVENGAR AC
- If Not ErrorMovInv AndAlso UsuarioActual.Empresa.UsaAC Then
- Dim IDPoliza As Integer
- Dim TotalDetalle As Double = 0.0
- Dim TotalPorDevengar = 0.0
- TotalPorDevengar += GvInv.Rows.Cast(Of GridViewRow)().Sum(Function(Gvr) Math.Round(Gvr.DataKey("PU").ToString.ToDouble, 4) * Math.Round(Gvr.DataKey("CantidadF").ToString.ToDouble, 4))
- TotalPorDevengar = Math.Round(TotalPorDevengar, 4)
- If ObjContaContPAQ Is Nothing Then
- ObjContaContPAQ = New ClsContPAQi(UsuarioActual.Empresa)
- ObjContaContPAQ.IniciaTransacSQL()
- End If
-
- IDPoliza = ObjContaAC.AddPoliza(4, "Devengado", TotalPorDevengar * 2, TotalPorDevengar * 2, UsuarioActual.CveUsuario, FechaMovto)
- If IDPoliza > 0 AndAlso ObjContaAC.GetCuentas(-1, "-1", -1) Then
- DtCuentas = ObjContaAC.DtResultados.Copy
- Dim drRegistroMatriz As DataRow
- Dim CuentaCargo As Integer
- Dim CuentaAbono As Integer
- Dim Importe = 0.0
-
- For Each gvr As GridViewRow In GvInv.Rows
- Importe = gvr.FCTextBox("TbCantidadF").Text.ToDouble * gvr.DataKey("PU").ToString.ToDouble
- TotalDetalle += Importe
-
- If Importe > 0 Then
- If ObjContaAC.AddMovimiento(IDPoliza, 1, False, Importe, "", "", 0, FechaMovto, "") Then
- 'actualizo el idcuenta del presupuesto
- If Not ObjContaAC.AddMovimiento(IDPoliza, gvr.DataKey("IdCuentaComprometido").ToString.ToEntero, True, Importe, "", "", 0, FechaMovto, "") Then
- ErrorMovInv = True
- Exit For
- End If
- Else
- ErrorMovInv = True
- Exit For
- End If
-
- 'AFECTAR MATRIZ EGRESOS
- drRegistroMatriz = GlobalDTAC_MatrizEgresos.FiltroPrimero(String.Format("Partida = {0} And TipoGasto = {1}", gvr.DataKey("CodigoClasificacion").ToString, gvr.DataKey("CveTipoGasto").ToString))
- If drRegistroMatriz IsNot Nothing AndAlso drRegistroMatriz("CuentaCargo").ToString.ToEntero > 0 Then
- CuentaCargo = DtCuentas.FiltroPrimeroValor("Id", String.Format("Codigo = '{0}'", drRegistroMatriz("CuentaCargo").ToString)).ToEntero
- CuentaAbono = DtCuentas.FiltroPrimeroValor("Id", String.Format("Codigo = '{0}'", drRegistroMatriz("CuentaAbono").ToString)).ToEntero
- If CuentaCargo > 0 AndAlso CuentaAbono > 0 Then
- If ObjContaAC.AddMovimiento(IDPoliza, CuentaCargo, False, Importe, "", "", 0, FechaMovto, "") Then
- If Not ObjContaAC.AddMovimiento(IDPoliza, CuentaAbono, True, Importe, "", "", 0, FechaMovto, "") Then
- ErrorMovInv = True
- Exit For
- End If
- Else
- ErrorMovInv = True
- Exit For
- End If
- Else
- ErrorMovInv = True
- Exit For
- End If
- End If
- 'TERMINA AFECTAR MATRIZ INGRESOS
-
- End If
- Next
- If TotalDetalle <= 0 AndAlso TotalPorDevengar >= TotalDetalle Then
- ErrorMovInv = True
- End If
- Else
- ErrorMovInv = True
- End If
-
- If ErrorMovInv Then
- Alert("Error al registrar los movimientos Contables", TipoMensaje.MsgError)
- RegistraScript("playsonidito('142608__autistic-lucario__error.wav')")
- End If
- End If
- 'TERMINA: DEVENGAR
- End If
-
- 'ACTUALIZA ESTATUS ALMACEN
- If TipoMovimiento = 2 Then
- If Not ObjCompras.UpdateEstatusAlmacen(CveCompraSurtir, 0) Then
- ErrorMovInv = True
- End If
- End If
-
- 'AGREGA BITACORA TEMPORAL
- If DtBitacora IsNot Nothing AndAlso DtBitacora.Rows.Count > 0 Then
- ErrorMovInv = GuardaBitacoraTemporal(ObjBitacora, CveMovimiento)
- End If
-
- 'PREPOLIZA - SOLO CUANDO SEA RECEPCIÓN
- If TipoMovimiento = 1 AndAlso ObjInventario.GetMovimientosDetalle(CveMovimiento, UsuarioActual.CveEmpresa) Then
- Dim DtCostos As DataTable = Nothing
- Dim ValorInventario As Decimal = 0
- DtCostos = ObjInventario.DtResultados
- Dim TotalCosto As Decimal = DtCostos.SUMD("Total").RoundSQL
- Dim TotalCostoExtranjero As Decimal = DtCostos.SUM("TotalExtranjero").ToDecimal
-
- 'VARIABLES
- Dim IdCtaContableAlmacen As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContable", $"CveAlmacen = {DdlAlmacen.SelectedValue}").ToEntero
- Dim CveCuentaAlmacen As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContableSIG", $"CveAlmacen = {DdlAlmacen.SelectedValue}").ToEntero
- Dim IdCtaContableRecepcion = -1
- Dim IdCtaContableRecepcionME = -1
- Dim IdCtaContableRecepcionComplementaria = -1
- Dim Fecha As Date = Now
- Dim CveProveedor As Integer = -1
- Dim ProveedorNombre As String = ""
- Dim SerieFolio As String = ""
- Dim CveConceptoContableCosto = -1
- Dim CveConceptoContableCostoME = -1
- Dim CveConceptoContableCostoComplementaria = -1
- Dim UsaComplementariaFleteImportaciones As Boolean = False
- If UsuarioActual.CveEmpresa = 119 Then UsaComplementariaFleteImportaciones = False
-
- If DtCostos.Rows.Count > 0 Then
- If CveCompraSurtir > 0 Then
- If ObjCompras.GetCompras(CveCompraSurtir, "-1", "-1", -1, -1, UsuarioActual.CveEmpresa) Then
- 'Fecha = ObjCompras.DtResultados(0)("Fecha").ToString.ToDate
- Fecha = TxtFecha.Text.ToDate
- CveProveedor = ObjCompras.DtResultados(0)("CveProveedor").ToString.ToEntero
- ProveedorNombre = ObjCompras.DtResultados(0)("RazonSocial").ToString
- SerieFolio = $"Compra: {ObjCompras.DtResultados(0)("SerieFolio").ToString}"
- CveConceptoContableCosto = 205
- CveConceptoContableCostoME = 230
- CveConceptoContableCostoComplementaria = 231
-
- If ObjConta.GetRetCuenta(205, UsuarioActual.CveEmpresa) AndAlso ObjConta.DtResultados.Rows.Count > 0 Then
- IdCtaContableRecepcion = ObjConta.DtResultados.FiltroPrimeroValor("IdCtaContable").ToEntero
- End If
-
- If UsaComplementariaFleteImportaciones AndAlso ObjConta.GetRetCuenta(230, UsuarioActual.CveEmpresa) AndAlso ObjConta.DtResultados.Rows.Count > 0 Then
- IdCtaContableRecepcionME = ObjConta.DtResultados.FiltroPrimeroValor("IdCtaContable").ToEntero
- End If
-
- If UsaComplementariaFleteImportaciones AndAlso ObjConta.GetRetCuenta(231, UsuarioActual.CveEmpresa) AndAlso ObjConta.DtResultados.Rows.Count > 0 Then
- IdCtaContableRecepcionComplementaria = ObjConta.DtResultados.FiltroPrimeroValor("IdCtaContable").ToEntero
- End If
-
- Else
- ErrorMovInv = True
- End If
- ElseIf CveOCSurtir > 0 Then
- If ObjOC.GetOC(CveOCSurtir, UsuarioActual.CveEmpresa) Then
- 'Fecha = ObjOC.DtResultados(0)("Fecha").ToString.ToDate
- Fecha = TxtFecha.Text.ToDate
- CveProveedor = ObjOC.DtResultados(0)("CveProveedor").ToString.ToEntero
- ProveedorNombre = ObjOC.DtResultados(0)("RazonSocial").ToString
- SerieFolio = String.Format("{0} OC# {1} - Almacén# {2}", ProveedorNombre, ObjOC.DtResultados(0)("Folio"), ObjInventario.Folio)
- CveConceptoContableCosto = 176
- CveConceptoContableCostoME = 228
- CveConceptoContableCostoComplementaria = 229
-
- If UsuarioActual.CveEmpresa = 119 Then UsaComplementariaFleteImportaciones = True
-
- If UsaComplementariaFleteImportaciones AndAlso ObjConta.GetRetCuenta(176, UsuarioActual.CveEmpresa) AndAlso ObjConta.DtResultados.Rows.Count > 0 Then
- IdCtaContableRecepcion = ObjConta.DtResultados.FiltroPrimeroValor("IdCtaContable").ToEntero
- End If
-
- If UsaComplementariaFleteImportaciones AndAlso ObjConta.GetRetCuenta(228, UsuarioActual.CveEmpresa) AndAlso ObjConta.DtResultados.Rows.Count > 0 Then
- IdCtaContableRecepcionME = ObjConta.DtResultados.FiltroPrimeroValor("IdCtaContable").ToEntero
- End If
-
- If UsaComplementariaFleteImportaciones AndAlso ObjConta.GetRetCuenta(229, UsuarioActual.CveEmpresa) AndAlso ObjConta.DtResultados.Rows.Count > 0 Then
- IdCtaContableRecepcionComplementaria = ObjConta.DtResultados.FiltroPrimeroValor("IdCtaContable").ToEntero
- End If
- Else
- ErrorMovInv = True
- End If
- End If
-
- If Not ErrorMovInv Then
- Dim CveSubProyecto As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $"CveAlmacen= {DdlAlmacen.SelectedValue}").ToEntero
- CvePrePoliza = ObjConta.AddPrePolizas("Inventario/RecepcionAlmacen", 74, TotalCosto, TotalCosto, 1, Fecha, ProveedorNombre, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
- If CvePrePoliza > 0 Then
- If ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, TotalCosto, SerieFolio, 68, SerieFolio, Fecha, IdCtaContableAlmacen, -1, CveCompra:=CveCompraSurtir, CveSubProyecto:=CveSubProyecto, CveOC:=CveOCSurtir, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=TotalCosto, CveCuenta:=CveCuentaAlmacen) Then
-
- 'AGREGA POR CONCEPTO POR CVEOCDETALLE
- If CveOCSurtir > 0 Then
- Dim TotalCostoDetalle As Decimal = 0
- Dim TotalCostoAcumulado As Decimal = 0
- Dim cont As Integer = 1
- For Each Dr As DataRow In DtCostos.Rows
- TotalCostoDetalle = (Dr("Total").ToString.ToDecimal)
- TotalCostoExtranjero = Dr("TotalExtranjero").ToString.ToDecimal
- TotalCostoAcumulado += Math.Round(TotalCostoDetalle, 2)
-
- 'si es el último movimiento verifica los importes que sean igual
- If cont = DtCostos.Rows.Count AndAlso (Math.Round(TotalCosto, 2) <> Math.Round(TotalCostoAcumulado, 2)) Then
- TotalCostoDetalle = TotalCostoDetalle + (Math.Round(TotalCosto, 2) - Math.Round(TotalCostoAcumulado, 2))
- TotalCostoExtranjero = TotalCostoExtranjero + (Math.Round(TotalCosto, 2) - Math.Round(TotalCostoAcumulado, 2))
- End If
-
- If CveMoneda <> 1 AndAlso UsaComplementariaFleteImportaciones Then
- 'COMPLEMENTARIA
- If ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, TotalCostoExtranjero, SerieFolio, CveConceptoContableCostoME, SerieFolio, Fecha, IdCtaContableRecepcionME, -1, CveCompra:=CveCompraSurtir, CveOC:=CveOCSurtir, CveSubProyecto:=CveSubProyecto, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=TotalCostoExtranjero, ImporteME:=TotalCostoExtranjero, TipoCambio:=TipoCambio.ToDecimal, CveOCDetalle:=Dr("CveOrdenCompraDetalle").ToString.ToEntero) Then
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, TotalCostoDetalle - TotalCostoExtranjero, SerieFolio, CveConceptoContableCostoComplementaria, SerieFolio, Fecha, IdCtaContableRecepcionComplementaria, -1, CveCompra:=CveCompraSurtir, CveOC:=CveOCSurtir, CveProveedor:=CveProveedor, CveSubProyecto:=CveSubProyecto, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=TotalCostoDetalle - TotalCostoExtranjero, ImporteME:=TotalCostoExtranjero, TipoCambio:=TipoCambio.ToDecimal, CveOCDetalle:=Dr("CveOrdenCompraDetalle").ToString.ToEntero) Then
- ErrorMovInv = True
- Exit For
- End If
- Else
- ErrorMovInv = True
- Exit For
- End If
- Else
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, TotalCostoDetalle, SerieFolio, CveConceptoContableCosto, SerieFolio, Fecha, IdCtaContableRecepcion, -1, CveCompra:=CveCompraSurtir, CveOC:=CveOCSurtir, CveSubProyecto:=CveSubProyecto, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=TotalCostoDetalle, CveCuenta:=-1, CveOCDetalle:=Dr("CveOrdenCompraDetalle").ToString.ToEntero) Then
- ErrorMovInv = True
- Exit For
- End If
- End If
- cont = cont + 1
-
- Next
- Else
- TotalCosto = DtCostos.SUMD("Total").RoundSQL
- TotalCostoExtranjero = DtCostos.SUMD("TotalExtranjero")
-
- If CveMoneda <> 1 AndAlso UsaComplementariaFleteImportaciones Then
- 'COMPLEMENTARIA
- If ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, TotalCostoExtranjero, SerieFolio, CveConceptoContableCostoME, SerieFolio, Fecha, IdCtaContableRecepcionME, -1, CveCompra:=CveCompraSurtir, CveOC:=CveOCSurtir, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=TotalCostoExtranjero, ImporteME:=TotalCostoExtranjero, TipoCambio:=TipoCambio.ToDecimal) Then
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, TotalCosto - TotalCostoExtranjero, SerieFolio, CveConceptoContableCostoComplementaria, SerieFolio, Fecha, IdCtaContableRecepcionComplementaria, -1, CveCompra:=CveCompraSurtir, CveOC:=CveOCSurtir, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=TotalCosto - TotalCostoExtranjero, ImporteME:=TotalCostoExtranjero, TipoCambio:=TipoCambio.ToDecimal) Then
- ErrorMovInv = True
- End If
- Else
- ErrorMovInv = True
- End If
- Else
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, TotalCosto, SerieFolio, CveConceptoContableCosto, SerieFolio, Fecha, IdCtaContableRecepcion, -1, CveCompra:=CveCompraSurtir, CveOC:=CveOCSurtir, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=TotalCosto, CveCuenta:=-1) Then
- ErrorMovInv = True
- End If
- End If
- End If
-
- Else
- ErrorMovInv = True
- End If
- Else
- ErrorMovInv = True
- End If
- End If
-
- If ObjConta.ValidacionPrePolizaCuadre(CvePrePoliza, -1) Then
- If ObjConta.ValorPolizaDescuadre > 0 Then
- GuardaLogAD($"Inventarios/RecepcionAlmacen-PPCompOC | Error:{ObjConta.MensajePolizaDescuadre} Diferencia:{ObjConta.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas")
- MensajeError = "El Movimiento presenta una diferencia en el registro."
- ErrorMovInv = True
- End If
- End If
-
- 'CONTABILIZAR - UNIFICAR Y SIMPLIFICAR CON PP DE LA COMPRA
- If Not ErrorMovInv Then
-
- If CvePrePolizaCompra > 0 Then
- If UsuarioActual.Empresa.Funcionalidad(219) = "1" Then
- If Not ObjConta.PrePolizaUnificacion(CvePrePoliza, CvePrePolizaCompra) Then
- ErrorMovInv = True
- MensajeError = "Error al unificar los conceptos contables"
- End If
- End If
- End If
-
- If UsuarioActual.Empresa.Funcionalidad(220) <> "" Then
- If Not ObjConta.PrePolizaSimplificacion(CvePrePoliza, UsuarioActual.CveEmpresa) Then
- ErrorMovInv = True
- MensajeError = "Error al simplificar los conceptos contables"
- End If
- End If
-
- If UsuarioActual.Empresa.Funcionalidad(200) = "1" Then
- If ObjContaContPAQ Is Nothing Then
- ObjContaContPAQ = New ClsContPAQi(UsuarioActual.Empresa)
- ObjContaContPAQ.IniciaTransacSQL()
- End If
- If ObjConta.ContabilizarPrePoliza(CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.Empresa, ObjConta:=ObjContaContPAQ) Then
- MensajeContabilidad = $" Movimiento contabilizado en el folio: {ObjConta.ContaFolio} "
- Else
- ErrorMovInv = True
- MensajeError = "Error al contabilizar los conceptos contables"
- End If
- End If
-
- End If
-
- End If
- End If
-
- 'PREPOLIZA - NC
- If TipoMovimiento = 3 AndAlso ObjInventario.GetMovimientosDetalle(CveMovimiento, UsuarioActual.CveEmpresa) Then
-
- Dim DtCostos As DataTable = Nothing
- DtCostos = ObjInventario.DtResultados
- Dim TotalCosto As Decimal = DtCostos.SUM("Total").ToDecimal
-
- Dim TotalNC As Decimal = 0
- Dim CveClasificacionDifCostoNC = -1
- Dim tTipoCambio As Decimal = 1
- If CveMoneda <> 1 Then tTipoCambio = TipoCambio.ToDecimal
-
- For Each gvr As GridViewRow In GvInv.Rows
- TotalNC += gvr.FCTextBox("TbCantidadF").Text.ToDecimal * gvr.DataKey("PU").ToDecimal * tTipoCambio
- CveClasificacionDifCostoNC = gvr.DataKey("CveClasificacion").ToEntero
- Next
- Dim IdCtaContableClasificacion As Integer = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaCostos", $"CveClasificacion = {CveClasificacionDifCostoNC}").ToEntero
- Dim CveCuentaClasificacion As Integer = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaCostosSIG", $"CveClasificacion = {CveClasificacionDifCostoNC}").ToEntero
-
- TotalCosto = Math.Round(TotalCosto, 2)
- TotalNC = Math.Round(TotalNC, 2)
- Dim DifCostoNC = Math.Round(TotalCosto - TotalNC, 2)
-
-
- 'VARIABLES
- Dim IdCtaContableAlmacen As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContable", $"CveAlmacen = {DdlAlmacen.SelectedValue}").ToEntero
- Dim CveCuentaAlmacen As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContableSIG", $"CveAlmacen = {DdlAlmacen.SelectedValue}").ToEntero
- Dim Fecha As Date = TxtFecha.Text.ToDate
- Dim CveProveedor As Integer = -1
- Dim ProveedorNombre As String = ""
- Dim SerieFolio As String = ""
- Dim IdCtaContableNC = 0
- Dim CveConceptoContableNC = -1
-
- If DtCostos.Rows.Count > 0 Then
- If CveCompraSurtir > 0 Then
- If ObjCompras.GetCompras(CveCompraSurtir, "-1", "-1", -1, -1, UsuarioActual.CveEmpresa) Then
- CveProveedor = ObjCompras.DtResultados(0)("CveProveedor").ToString.ToEntero
- ProveedorNombre = ObjCompras.DtResultados(0)("RazonSocial").ToString
- SerieFolio = $"NC: {ObjCompras.DtResultados(0)("SerieFolio").ToString}"
-
- CveConceptoContableNC = 225
- If ObjConta.GetRetCuenta(CveConceptoContableNC, UsuarioActual.CveEmpresa) AndAlso ObjConta.DtResultados.Rows.Count > 0 Then
- IdCtaContableNC = ObjConta.DtResultados.FiltroPrimeroValor("IdCtaContable").ToEntero
- End If
-
- Else
- ErrorMovInv = True
- End If
- End If
-
- If Not ErrorMovInv Then
- CvePrePoliza = ObjConta.AddPrePolizas("Inventario/RecepcionAlmacen-NC", 74, TotalCosto, TotalCosto, 1, Fecha, ProveedorNombre, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
- If CvePrePoliza > 0 Then
- If ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, TotalNC, SerieFolio, CveConceptoContableNC, SerieFolio, Fecha, IdCtaContableNC, -1, CveCompra:=CveCompraSurtir, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=TotalNC) Then
- If ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, TotalCosto * -1, SerieFolio, 68, SerieFolio, Fecha, IdCtaContableAlmacen, -1, CveCompra:=CveCompraSurtir, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=TotalCosto * -1, CveCuenta:=CveCuentaAlmacen) Then
- If DifCostoNC <> 0 Then
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, DifCostoNC * -1, SerieFolio, 69, SerieFolio, Fecha, IdCtaContableClasificacion, -1, CveClasificacion:=CveClasificacionDifCostoNC, CveCompra:=CveCompraSurtir, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=DifCostoNC * -1, CveCuenta:=CveCuentaClasificacion) Then
- ErrorMovInv = True
- End If
- End If
- Else
- ErrorMovInv = True
- End If
- Else
- ErrorMovInv = True
- End If
- Else
- ErrorMovInv = True
- End If
- End If
-
- If ObjConta.ValidacionPrePolizaCuadre(CvePrePoliza, -1) Then
- If ObjConta.ValorPolizaDescuadre > 0 Then
- GuardaLogAD($"Inventarios/RecepcionAlmacen-PPNC | Error:{ObjConta.MensajePolizaDescuadre} Diferencia:{ObjConta.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas")
- ErrorMovInv = True
- End If
- End If
-
- 'CONTABILIZAR - UNIFICAR Y SIMPLIFICAR CON PP DE LA COMPRA
- If Not ErrorMovInv Then
-
- If CvePrePolizaCompra > 0 Then
- If UsuarioActual.Empresa.Funcionalidad(219) = "1" Then
- If Not ObjConta.PrePolizaUnificacion(CvePrePoliza, CvePrePolizaCompra) Then
- ErrorMovInv = True
- MensajeError = "Error al unificar los conceptos contables"
- End If
- End If
- End If
-
-
- If UsuarioActual.Empresa.Funcionalidad(220) <> "" Then
- If Not ObjConta.PrePolizaSimplificacion(CvePrePoliza, UsuarioActual.CveEmpresa) Then
- ErrorMovInv = True
- MensajeError = "Error al simplificar los conceptos contables"
- End If
- End If
-
- If UsuarioActual.Empresa.Funcionalidad(200) = "1" Then
- ObjContaContPAQ = New ClsContPAQi(UsuarioActual.Empresa)
- ObjContaContPAQ.IniciaTransacSQL()
- If ObjConta.ContabilizarPrePoliza(CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.Empresa, ObjConta:=ObjContaContPAQ) Then
- MensajeContabilidad = $" Movimiento contabilizado en el folio: {ObjConta.ContaFolio} "
- Else
- ErrorMovInv = True
- MensajeError = "Error al contabilizar los conceptos contables"
- End If
- End If
-
- End If
-
- End If
- End If
-
- 'AGREGA SALDOS A OC SURTIDAS
- If Not ErrorMovInv And CveOCSurtir > 0 Then
- If ObjInventario.GetMovimientosDetalle(CveMovimiento, UsuarioActual.CveEmpresa) Then
- For Each Dr As DataRow In ObjInventario.DtResultados.Rows
- If Not ObjOC.OrdenesCompraDetalleSaldosInvCompraAdd(Dr("CveOrdenCompraDetalle").ToString.ToEntero, Dr("CveMovimientoDetalle").ToString.ToEntero, Dr("Cantidad").ToString.ToDouble, -1, -1) Then
- ErrorMovInv = True
- Exit For
- End If
- Next
- Else
- ErrorMovInv = True
- End If
- End If
+ Dim IdCtaContableClasificacion As Integer = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaCostos", $"CveClasificacion = {CveClasificacionDifCostoNC}").ToEntero
+ Dim CveCuentaClasificacion As Integer = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaCostosSIG", $"CveClasificacion = {CveClasificacionDifCostoNC}").ToEntero
+
+ TotalCosto = Math.Round(TotalCosto, 2)
+ TotalNC = Math.Round(TotalNC, 2)
+ Dim DifCostoNC = Math.Round(TotalCosto - TotalNC, 2)
+
+
+ 'VARIABLES
+ Dim IdCtaContableAlmacen As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContable", $"CveAlmacen = {DdlAlmacen.SelectedValue}").ToEntero
+ Dim CveCuentaAlmacen As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContableSIG", $"CveAlmacen = {DdlAlmacen.SelectedValue}").ToEntero
+ Dim Fecha As Date = TxtFecha.Text.ToDate
+ Dim CveProveedor As Integer = -1
+ Dim ProveedorNombre As String = ""
+ Dim SerieFolio As String = ""
+ Dim IdCtaContableNC = 0
+ Dim CveConceptoContableNC = -1
+
+ If DtCostos.Rows.Count > 0 Then
+ If CveCompraSurtir > 0 Then
+ If ObjCompras.GetCompras(CveCompraSurtir, "-1", "-1", -1, -1, UsuarioActual.CveEmpresa) Then
+ CveProveedor = ObjCompras.DtResultados(0)("CveProveedor").ToString.ToEntero
+ ProveedorNombre = ObjCompras.DtResultados(0)("RazonSocial").ToString
+ SerieFolio = $"NC: {ObjCompras.DtResultados(0)("SerieFolio").ToString}"
+
+ CveConceptoContableNC = 225
+ If ObjConta.GetRetCuenta(CveConceptoContableNC, UsuarioActual.CveEmpresa) AndAlso ObjConta.DtResultados.Rows.Count > 0 Then
+ IdCtaContableNC = ObjConta.DtResultados.FiltroPrimeroValor("IdCtaContable").ToEntero
+ End If
+
+ Else
+ ErrorMovInv = True
+ End If
+ End If
+
+ If Not ErrorMovInv Then
+ CvePrePoliza = ObjConta.AddPrePolizas("Inventario/RecepcionAlmacen-NC", 74, TotalCosto, TotalCosto, 1, Fecha, ProveedorNombre, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
+ If CvePrePoliza > 0 Then
+ If ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, TotalNC, SerieFolio, CveConceptoContableNC, SerieFolio, Fecha, IdCtaContableNC, -1, CveCompra:=CveCompraSurtir, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=TotalNC) Then
+ If ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, TotalCosto * -1, SerieFolio, 68, SerieFolio, Fecha, IdCtaContableAlmacen, -1, CveCompra:=CveCompraSurtir, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=TotalCosto * -1, CveCuenta:=CveCuentaAlmacen) Then
+ If DifCostoNC <> 0 Then
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, DifCostoNC * -1, SerieFolio, 69, SerieFolio, Fecha, IdCtaContableClasificacion, -1, CveClasificacion:=CveClasificacionDifCostoNC, CveCompra:=CveCompraSurtir, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=DifCostoNC * -1, CveCuenta:=CveCuentaClasificacion) Then
+ ErrorMovInv = True
+ End If
+ End If
+ Else
+ ErrorMovInv = True
+ End If
+ Else
+ ErrorMovInv = True
+ End If
+ Else
+ ErrorMovInv = True
+ End If
+ End If
+
+ If ObjConta.ValidacionPrePolizaCuadre(CvePrePoliza, -1) Then
+ If ObjConta.ValorPolizaDescuadre > 0 Then
+ GuardaLogAD($"Inventarios/RecepcionAlmacen-PPNC | Error:{ObjConta.MensajePolizaDescuadre} Diferencia:{ObjConta.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas")
+ ErrorMovInv = True
+ End If
+ End If
+
+ 'CONTABILIZAR - UNIFICAR Y SIMPLIFICAR CON PP DE LA COMPRA
+ If Not ErrorMovInv Then
+
+ If CvePrePolizaCompra > 0 Then
+ If UsuarioActual.Empresa.Funcionalidad(219) = "1" Then
+ If Not ObjConta.PrePolizaUnificacion(CvePrePoliza, CvePrePolizaCompra) Then
+ ErrorMovInv = True
+ MensajeError = "Error al unificar los conceptos contables"
+ End If
+ End If
+ End If
+
+
+ If UsuarioActual.Empresa.Funcionalidad(220) <> "" Then
+ If Not ObjConta.PrePolizaSimplificacion(CvePrePoliza, UsuarioActual.CveEmpresa) Then
+ ErrorMovInv = True
+ MensajeError = "Error al simplificar los conceptos contables"
+ End If
+ End If
+
+ If UsuarioActual.Empresa.Funcionalidad(200) = "1" Then
+ ObjContaContPAQ = New ClsContPAQi(UsuarioActual.Empresa)
+ ObjContaContPAQ.IniciaTransacSQL()
+ If ObjConta.ContabilizarPrePoliza(CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.Empresa, ObjConta:=ObjContaContPAQ) Then
+ MensajeContabilidad = $" Movimiento contabilizado en el folio: {ObjConta.ContaFolio} "
+ Else
+ ErrorMovInv = True
+ MensajeError = "Error al contabilizar los conceptos contables"
+ End If
+ End If
+
+ End If
+
+ End If
+ End If
+
+ 'AGREGA SALDOS A OC SURTIDAS
+ If Not ErrorMovInv And CveOCSurtir > 0 Then
+ If ObjInventario.GetMovimientosDetalle(CveMovimiento, UsuarioActual.CveEmpresa) Then
+ For Each Dr As DataRow In ObjInventario.DtResultados.Rows
+ If Not ObjOC.OrdenesCompraDetalleSaldosInvCompraAdd(Dr("CveOrdenCompraDetalle").ToString.ToEntero, Dr("CveMovimientoDetalle").ToString.ToEntero, Dr("Cantidad").ToString.ToDouble, -1, -1) Then
+ ErrorMovInv = True
+ Exit For
+ End If
+ Next
+ Else
+ ErrorMovInv = True
+ End If
+ End If
+ Catch ex As Exception
+ OnError("Ocurrió un error al guardar", ex)
+ ErrorMovInv = True
+ End Try
'FINAL
If Not ErrorMovInv Then
@@ -2708,7 +2736,9 @@ Partial Class Inventarios_RecepcionAlmacen
'VIRTUAL
If CveMovimientoVirtual > 0 Then
link = String.Format("{1}", CveMovimientoVirtual, FolioVirtual)
- Msg.AppendFormat(" Movimiento de Entrada al Almacen Virtal: Folio: {0}", link)
+ Msg.AppendFormat(" Movimiento de Entrada al Almacen Virtual: Folio: {0}", link)
+ Msg.AppendFormat(" Imprimir Movimiento ", Encripta(String.Format("OP=Alm&CveMovimiento={0}", CveMovimientoVirtual)))
+
End If
'CONTABILIDAD
diff --git a/Inventarios/RecepcionEntrega.aspx b/Inventarios/RecepcionEntrega.aspx
index ebcb39af7..43992542a 100644
--- a/Inventarios/RecepcionEntrega.aspx
+++ b/Inventarios/RecepcionEntrega.aspx
@@ -418,7 +418,7 @@
<%--GV DATOS--%>
+ DataKeyNames="Consec,CvePS,Codigo,CodigoBarras,AplicaSerieLote,CveUM,CantidadC,CantidadF,UM,PS,CveClasificacion,CveVentaDetalle,CveTamaño" HeaderStyle-CssClass="Titulos" RowStyle-Height="25px" CssClass="table table-striped table-hover Widthall ScrollAD gvInventario mysmallbtn" data-heighterror="450" data-freezerows="1" GridLines="None">
diff --git a/Inventarios/RecepcionEntrega.aspx.vb b/Inventarios/RecepcionEntrega.aspx.vb
index 1b7a919f1..2edd6b878 100644
--- a/Inventarios/RecepcionEntrega.aspx.vb
+++ b/Inventarios/RecepcionEntrega.aspx.vb
@@ -1584,32 +1584,6 @@ Partial Class Inventarios_RecepcionEntrega
Try
'VALIDA EXISTENCIA 2
If TipoMovimiento = 1 Then
-
- 'For Each Dr As DataRow In DtDatos.Rows
- ' If Dr("CantidadGV").ToString.ToDecimal > 0 Then
- ' If Dr("Inv_CveMetodoInventario").ToString = "5" Then
- ' DtDetalle = DtDatosDetalle.FiltraParametros(String.Format("ConsecId = {0}", Dr("Consec")))
- ' For Each Dr1 As DataRow In DtDetalle.Rows
- ' If Not ObjInventario.GetExistenciasPS(Dr1("CvePS").ToString.ToEntero, Dr1("CveUM").ToString.ToEntero, UsuarioActual.CveEmpresa, DdlAlmacen.SelectedValue.ToEntero, FechaMovto:=TxtFecha.Text.ToDateTime.ToString("yyyy/MM/dd HH:mm"), SerieLote:=Dr1("SerieLote").ToString, CveVendedor:=CveVendedor, CveSubProyecto:=CveSubProyecto, CveCliente:=If(UsuarioActual.Empresa.Funcionalidad(146) = "1", -1, CveCliente), ExcluyeApartados:=-1) >= 1 Then
- ' TextoError += String.Format(" - {0} Serie: {1} ", Dr("PS"), Dr1("SerieLote"))
- ' End If
- ' Next
- ' ElseIf Dr("Inv_CveMetodoInventario").ToString = "6" Then
- ' DtDetalle = DtDatosDetalleLote.FiltraParametros(String.Format("ConsecId = {0}", Dr("Consec")))
- ' For Each Dr1 As DataRow In DtDetalle.Rows
- ' If Not ObjInventario.GetExistenciasPS(Dr1("CvePS").ToString.ToEntero, Dr1("CveUM").ToString.ToEntero, UsuarioActual.CveEmpresa, DdlAlmacen.SelectedValue.ToEntero, FechaMovto:=TxtFecha.Text.ToDateTime.ToString("yyyy/MM/dd HH:mm"), Lote:=Dr1("Lote").ToString, Batch:=Dr1("Batch").ToString, CveVendedor:=CveVendedor, CveSubProyecto:=CveSubProyecto, CveCliente:=If(UsuarioActual.Empresa.Funcionalidad(146) = "1", -1, CveCliente), ExcluyeApartados:=-1) >= DtDatosDetalleLote.SUM("Cantidad", $"Lote = '{Dr1("Lote").ToString}' AND Batch = '{Dr1("Batch").ToString}'") Then
- ' TextoError += String.Format(" - {0} Lote: {1} Batch: {2} ", Dr("PS"), Dr1("Lote"), Dr1("Batch"))
- ' End If
- ' Next
- ' Else
- 'If Not ObjInventario.GetExistenciasPS(Dr("CvePS").ToString.ToEntero, Dr("CveUM").ToString.ToEntero, UsuarioActual.CveEmpresa, DdlAlmacen.SelectedValue.ToEntero, FechaMovto:=TxtFecha.Text.ToDateTime.ToString("yyyy/MM/dd HH:mm"), CveVendedor:=CveVendedor, CveSubProyecto:=CveSubProyecto, CveCliente:=If(UsuarioActual.Empresa.Funcionalidad(146) = "1", -1, CveCliente), ExcluyeApartados:=-1) >= Dr("CantidadGV").ToString.ToDecimal Then
- ' TextoError += String.Format(" - {0} ", Dr("PS"))
- ' End If
- ' End If
-
- ' End If
- 'Next
-
Dim StrXML As New StringBuilder
StrXML.Append("")
For Each Dr As DataRow In DtDatos.Rows
@@ -1631,11 +1605,6 @@ Partial Class Inventarios_RecepcionEntrega
Next
StrXML.Append("")
- 'Alert(StrXML.ToString())
- 'ObjInventario.RollBack()
- 'ObjInventario.Dispose()
- 'Exit Sub
-
Dim TieneErrorExistencia = False
If ObjInventario.GetExistenciasPSXML(StrXML.ToString(), DdlAlmacen.SelectedValue.ToEntero, TxtFecha.Text.ToDateTime.ToString("yyyy/MM/dd HH:mm"), CveSubProyecto, CveVendedor, If(UsuarioActual.Empresa.Funcionalidad(146) = "1", -1, CveCliente), If(TipoEntrega = 2, 1, -1), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
If ObjInventario.DtResultados.Rows.Count > 0 Then
@@ -1661,45 +1630,6 @@ Partial Class Inventarios_RecepcionEntrega
Exit Sub
End If
- Else
- 'If Not UsuarioActual.TienePermisoProceso(223) Then 'INVALIDA LA VALIDACION DE EXISTENCIA DE LA VENTA ORIGINAL
- ' If DtExistencias IsNot Nothing Then
- ' For Each Dr As DataRow In DtDatos.Rows
- ' If Dr("CantidadGV").ToString.ToDecimal > 0 Then
-
- ' If Dr("Inv_CveMetodoInventario").ToString = "5" Then
- ' DtDetalle = DtDatosDetalle.FiltraParametros(String.Format("ConsecId = {0}", Dr("Consec")))
- ' For Each Dr1 As DataRow In DtDetalle.Rows
- ' If Not DtExistencias.SUM("Cantidad", $"CvePS = {Dr1("CvePS").ToString.ToEntero} AND CveUM = {Dr1("CveUM").ToString.ToEntero} AND SerieLote = '{Dr1("SerieLote").ToString}'") >= 1 Then
- ' TextoError += String.Format(" - {0} ", Dr1("PS"))
- ' End If
- ' Next
- ' ElseIf Dr("Inv_CveMetodoInventario").ToString = "6" Then
- ' DtDetalle = DtDatosDetalleLote.FiltraParametros(String.Format("ConsecId = {0}", Dr("Consec")))
- ' For Each Dr1 As DataRow In DtDetalle.Rows
- ' If Not DtExistencias.SUM("Cantidad", $"CvePS = {Dr1("CvePS").ToString.ToEntero} AND CveUM = {Dr1("CveUM").ToString.ToEntero} AND Lote = '{Dr1("Lote").ToString}' AND Batch = '{Dr1("Batch").ToString}'") >= DtDatosDetalleLote.SUM("Cantidad", $"Lote = '{Dr1("Lote").ToString}' AND Batch = '{Dr1("Batch").ToString}'") Then
- ' TextoError += String.Format(" - {0} ", Dr1("PS"))
- ' End If
- ' Next
- ' Else
- ' If Not DtExistencias.SUM("Cantidad", $"CvePS = {Dr("CvePS")} AND CveUM = {Dr("CveUM").ToString.ToEntero}") >= Dr("CantidadGV").ToString.ToDecimal Then
- ' TextoError += String.Format(" - {0} ", Dr("PS"))
- ' End If
- ' End If
- ' End If
- ' Next
- ' If TextoError <> "" Then
- ' Alert($" Lo(s) siguiente(s) Productos no tienen existencia suficiente:
{TextoError}", TipoMensaje.MsgAdvertencia)
- ' RegistraScript("playsonidito('142608__autistic-lucario__error.wav')")
- ' ObjInventario.RollBack()
- ' ObjInventario.Dispose()
- ' ObjConta.Dispose()
- ' ObjVentas.Dispose()
- ' ObjEventos.Dispose()
- ' Exit Sub
- ' End If
- ' End If
- 'End If
End If
'' TERMINA: VALIDACIONES
@@ -1901,7 +1831,7 @@ Partial Class Inventarios_RecepcionEntrega
'' TERMINA: APARTADOS
' COMIENZA: GARANTIAS
- If TipoDocto.Contiene("Ing", "Rem") AndAlso UsuarioActual.CveEmpresa = 140 AndAlso TipoMovimiento = 1 Then
+ If TipoDocto.Contiene("Ing", "Rem") AndAlso UsuarioActual.Empresa.Funcionalidad(531) = "1" AndAlso TipoMovimiento = 1 Then
Dim CveAlmacenGarantia As Integer = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 6).FiltroPrimeroValor("CveAlmacen", $"CveSubProyecto={CveSubProyecto}").ToEntero()
Dim DtGarantias As DataTable = Nothing
@@ -1928,54 +1858,82 @@ Partial Class Inventarios_RecepcionEntrega
Next
End If
End If
-
' TERMINA: GARANTIAS
-
' COMIENZA: VIRTUAL
- If TipoDocto.Contiene("Ing", "Rem") AndAlso UsuarioActual.CveEmpresa = 140 Then
+ If TipoDocto.Contiene("Ing") AndAlso UsuarioActual.Empresa.Funcionalidad(573) = "1" Then
- Dim DtTamanios As New DataTable("DtTamanios")
- DtTamanios.Columns.Add(New DataColumn("CvePS", GetType(Integer)))
- DtTamanios.Columns.Add(New DataColumn("Cantidad", GetType(Decimal)))
- DtTamanios.Columns.Add(New DataColumn("PU", GetType(Decimal)))
- DtTamanios.Columns.Add(New DataColumn("CveUM", GetType(Integer)))
+ Dim DtPSVirtual As New DataTable("DtTamanios")
+ DtPSVirtual.Columns.Add(New DataColumn("CvePS", GetType(Integer)))
+ DtPSVirtual.Columns.Add(New DataColumn("Cantidad", GetType(Decimal)))
+ DtPSVirtual.Columns.Add(New DataColumn("PU", GetType(Decimal)))
+ DtPSVirtual.Columns.Add(New DataColumn("CveUM", GetType(Integer)))
+
+ Dim DtTamanios As DataTable = Nothing
If ObjAcumuladores.TamañoGet(-1, UsuarioActual.CveEmpresa) Then
- For Each GvRow As GridViewRow In GvDatos.Rows
- If GvRow.RowType = DataControlRowType.DataRow Then
- For Each Tam As DataRow In ObjAcumuladores.DtResultados.Rows
- If Tam("CveTamaño").ToString() = GvRow.DataKey("CveTamaño") Then
- Dim Row As DataRow = DtTamanios.NewRow()
-
- Row("CvePS") = Tam("CvePSCargo").ToString().ToEntero()
- Row("Cantidad") = GvRow.FCTextBox("TbCantidadF").Text.ToDecimal()
- Row("PU") = GvRow.DataKey("PUVenta").ToDecimal()
- Row("CveUM") = GvRow.DataKey("CveUM").ToEntero()
-
- DtTamanios.Rows.Add(Row)
- End If
- Next
- End If
- Next
+ DtTamanios = ObjAcumuladores.DtResultados.Copy()
End If
- Dim CveAlmacenVirtual As Integer = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 24).FiltroPrimeroValor("CveAlmacen", $"CveSubProyecto={CveSubProyecto}").ToEntero()
+ Dim CveConceptoMovimientoVirtual As Integer = -1
+ Dim CveAlmacenVirtual As Integer = -1
+ Dim CveMovimientoRelacionadoVirtual As Integer = -1
- If DtTamanios IsNot Nothing AndAlso DtTamanios.Rows.Count > 0 AndAlso CveAlmacenVirtual > 0 Then
- Dim CveConceptoMovimientoVirtual = If(TipoMovimiento = 1, 3, 18) 'CHECA SI ES ENTRADA O DEVOLUCION
+ If TipoMovimiento = 1 Then
+ For Each GvRow As GridViewRow In GvDatos.Rows
+ If GvRow.RowType = DataControlRowType.DataRow Then
- CveAlmacenVirutal = ObjInventario.AddMovimiento(CveAlmacenVirutal, CveConceptoMovimientoVirtual, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveVentaSurtir, -1, -1, Observaciones:=TxtObservaciones.Text.Trim, Guia:=TxtGuia.Text)
+ For Each Tam As DataRow In DtTamanios.Rows
+ If Tam("CveTamaño").ToString() = GvRow.DataKey("CveTamaño") Then
+ Dim CvePSCargo = Tam("CvePSCargo").ToString().ToEntero()
+ Dim Row As DataRow = DtPSVirtual.NewRow()
+ Row("CvePS") = CvePSCargo
+ Row("Cantidad") = GvRow.FCTextBox("TbCantidadF").Text.ToDecimal()
+ Row("PU") = 0
+ Row("CveUM") = GvRow.DataKey("CveUM").ToEntero()
+
+ DtPSVirtual.Rows.Add(Row)
+
+ End If
+ Next
+
+ End If
+ Next
+ CveConceptoMovimientoVirtual = 3
+ CveAlmacenVirtual = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 24).FiltroPrimeroValor("CveAlmacen", $"CveSubProyecto={CveSubProyecto}").ToEntero()
+
+ ElseIf TipoMovimiento = 2 Then
+ Dim CveMovimientoSalidaDev As Integer = -1
+ If ObjInventario.GetInv_Mov(CveVentaSurtir, UsuarioActual.CveEmpresa) Then
+ Dim RowMovimiento As DataRow = ObjInventario.DtResultados.FiltroPrimero("CvePS IS NULL AND CveTipoAlmacen = 24 AND CveConcepto = 3 AND CveVenta > 0")
+ CveMovimientoSalidaDev = RowMovimiento("CveMovimiento").ToString().ToEntero()
+ CveAlmacenVirtual = RowMovimiento("CveAlmacen").ToString().ToEntero()
+ CveMovimientoRelacionadoVirtual = CveMovimientoSalidaDev
+ Else
+ ErrorMovInv = True
+ End If
+
+ 'CARGA CONCEPTOS DEVUELTOS EN LA VENTA
+ If ObjInventario.GetMovimientosDetalle(CveMovimientoSalidaDev, UsuarioActual.CveEmpresa) Then
+ DtPSVirtual = ObjInventario.DtResultados.Copy()
+ Else
+ ErrorMovInv = True
+ End If
+ CveConceptoMovimientoVirtual = 18
+ End If
+
+ If DtPSVirtual IsNot Nothing AndAlso DtPSVirtual.Rows.Count > 0 AndAlso CveAlmacenVirtual > 0 AndAlso CveConceptoMovimientoVirtual > 0 Then
+ CveMovimientoVirtual = ObjInventario.AddMovimiento(CveAlmacenVirtual, CveConceptoMovimientoVirtual, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveVentaSurtir, -1, -1, Observaciones:=TxtObservaciones.Text.Trim, Guia:=TxtGuia.Text, CveMovimientoRelacionado:=CveMovimientoRelacionadoVirtual)
FolioVirtual = ObjInventario.Folio
If CveMovimientoVirtual > 0 Then
- For Each RowUsado As DataRow In DtTamanios.Rows
+ For Each RowUsado As DataRow In DtPSVirtual.Rows
Dim CvePS = RowUsado("CvePS").ToString().ToEntero()
- Dim CantidadEntrada As Double = RowUsado("Cantidad").ToString().ToDouble()
+ Dim CantidadUsado As Double = RowUsado("Cantidad").ToString().ToDouble()
Dim PU As Double = RowUsado("PU").ToString().ToDouble()
Dim CveUM As Integer = RowUsado("CveUM").ToString().ToEntero()
- If Not ObjInventario.AddMovimientoDetalle(CveAlmacenVirutal, CantidadEntrada, CveUM, CvePS, PU, -1) Then
+ If Not ObjInventario.AddMovimientoDetalle(CveMovimientoVirtual, CantidadUsado, CveUM, CvePS, PU, -1) Then
ErrorMovInv = True
TextoError = "Ocurrió un error al procesar los conceptos de traspaso de apartado. Por favor vuelva a intentar."
Exit For
@@ -1989,7 +1947,7 @@ Partial Class Inventarios_RecepcionEntrega
ErrorMovInv = True
End If
- If DtTamanios.Rows.Count = 0 Then
+ If DtPSVirtual.Rows.Count = 0 Then
ErrorMovInv = True
End If
End If
@@ -2286,123 +2244,6 @@ Partial Class Inventarios_RecepcionEntrega
End If
End If
End If
- ' SE REALIZARA AL MOMENTO DE CANCELAR LA FACTURA {
- 'DEVOLUCION REMISION - REGRESA LAS EXISTENCIAS A ENTREGA POR ADELANTADO SI LA FACTURA VIENE DE REMISION
-
- 'If Not ErrorMovInv And EsDevolucionVenta = 1 And TipoDocto = "Ing" Then
- ' Dim DtDevRem As New DataTable
- ' Dim DtMovtosDev As New DataTable
- ' Dim CveAlmacenTraspasoDestinoDevRem = -1
-
- ' Dim CveVentaDetalleRem = -1
- ' Dim CantidadDevolver As Decimal = 0
- ' Dim CantidadRem As Decimal = 0
-
- ' 'CARGA REMISIONES DE LA VENTA DEVUELTA
- ' If ObjInventario.GetDevolucionRemisionesFacturadas(CveVentaSurtir) Then
- ' DtDevRem = ObjInventario.DtResultados.FiltraParametros("CantidadAlmacen > 0")
- ' Else
- ' ErrorMovInv = True
- ' End If
-
- ' 'CARGA CONCEPTOS DEVUELTOS EN LA VENTA
- ' If ObjInventario.GetMovimientosDetalle(CveMovimiento, UsuarioActual.CveEmpresa) Then
- ' DtMovtosDev = ObjInventario.DtResultados
- ' Else
- ' ErrorMovInv = True
- ' End If
-
- ' If Not ErrorMovInv Then
- ' If DtDevRem.Rows.Count > 0 And DtMovtosDev.Rows.Count > 0 Then
-
- ' For Each DrMovtos As DataRow In DtDevRem.FiltraParametros("", "CveRem", {"CveRem", "CveAlmacenTraspasoDestino"}).Rows
- ' CveAlmacenTraspasoDestinoDevRem = DrMovtos("CveAlmacenTraspasoDestino").ToString.ToEntero
- ' If Not CveAlmacenTraspasoDestinoDevRem > 0 Then
- ' ErrorMovInv = True
- ' TextoError = "Ocurrió un error al obtener el almacén de devolucion de remisión."
- ' Exit For
- ' End If
-
- ' 'SALIDA GENERAL
- ' CveMovimientoSalidaDevRem = ObjInventario.AddMovimiento(DdlAlmacen.SelectedValue.ToEntero, 8, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, Observaciones:=TxtObservaciones.Text.Trim, Guia:=TxtGuia.Text, CveContrato:=CveContrato, CveMovimientoRelacionado:=CveMovimiento, CveAlmacenDestino:=CveAlmacenTraspasoDestinoDevRem)
- ' FolioMovimientoSalidaDevRem = ObjInventario.Folio
-
- ' 'ENTRADA ADELANTADO
- ' CveMovimientoEntradaDevRem = ObjInventario.AddMovimiento(CveAlmacenTraspasoDestinoDevRem, 9, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, Observaciones:=TxtObservaciones.Text.Trim, Guia:=TxtGuia.Text, CveContrato:=CveContrato, CveMovimientoRelacionado:=CveMovimientoSalidaDevRem, CveAlmacenDestino:=DdlAlmacen.SelectedValue.ToEntero)
- ' FolioMovimientoEntradaDevRem = ObjInventario.Folio
-
- ' If Not (CveMovimientoSalidaDevRem > 0 And CveMovimientoEntradaDevRem > 0) Then
- ' ErrorMovInv = True
- ' TextoError = "Ocurrió un error al generar los movimientos de devolución a remisión."
- ' Exit For
- ' End If
-
-
- ' 'SALIDA POR TRAPASO DE GENERAL
- ' For Each DrRem As DataRow In DtDevRem.FiltraParametros($"CveRem = {DrMovtos("CveRem")}").Rows
- ' CveVentaDetalleRem = DrRem("CveVentaDetalleRem").ToString.ToEntero
- ' CantidadRem = DrRem("CantidadFacturada").ToString.ToDecimal
- ' 'CantidadDevolver = DtMovtosDev.FiltroPrimeroValor("Cantidad", $"CveVentaDetalle = {DrRem("CveVentaDetalle").ToString.ToEntero}").ToDouble
- ' 'If (Dr("Cantidad").ToString.ToDouble > CantidadRem, CantidadRem, Dr("Cantidad").ToString.ToDouble) Then
-
- ' If Not CveVentaDetalleRem > 0 Then
- ' ErrorMovInv = True
- ' TextoError = "Ocurrió un error al obtener la relación de la venta con la remisión."
- ' Exit For
- ' End If
-
- ' For Each Dr As DataRow In DtMovtosDev.FiltraParametros($"CveVentaDetalle = {DrRem("CveVentaDetalle").ToString.ToEntero}").Rows
- ' If Not ObjInventario.AddMovimientoDetalle(CveMovimientoSalidaDevRem, Dr("Cantidad").ToString.ToDecimal, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("PU").ToString.ToDouble, Dr("CveAF").ToString.ToEntero, -1, Dr("SerieLote").ToString, CveVentaDetalle:=CveVentaDetalleRem, Lote:=Dr("Lote").ToString, Batch:=Dr("Batch").ToString) Then
- ' ErrorMovInv = True
- ' TextoError = "Ocurrió un error al guardar los movimientos de salida de traspaso de devolucion de remisión."
- ' Exit For
- ' End If
- ' Next
-
- ' If ErrorMovInv Then
- ' Exit For
- ' End If
- ' Next
-
- ' If ErrorMovInv Then
- ' Exit For
- ' End If
-
- ' 'ENTRADA POR TRAPASO A ENTREGA POR ADELANTADO
- ' If ObjInventario.GetMovimientosDetalle(CveMovimientoSalidaDevRem, UsuarioActual.CveEmpresa) Then
- ' For Each Dr As DataRow In ObjInventario.DtResultados.Rows
- ' If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntradaDevRem, Dr("Cantidad").ToString.ToDecimal, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("PU").ToString.ToDecimal, Dr("CveAF").ToString.ToEntero, -1, Dr("SerieLote").ToString, CveVentaDetalle:=Dr("CveVentaDetalle").ToString.ToEntero, Lote:=Dr("Lote").ToString, Batch:=Dr("Batch").ToString) Then
- ' ErrorMovInv = True
- ' TextoError = "Ocurrió un error al guardar los movimientos de entrada de traspaso de devolucion de remisión."
- ' Exit For
- ' End If
- ' Next
-
- ' If ErrorMovInv Then
- ' Exit For
- ' End If
-
- ' Else
- ' ErrorMovInv = True
- ' TextoError = "Ocurrió un error al obtener los detalles de la devolución de almacén"
- ' Exit For
- ' End If
-
-
- ' If Not ObjVentas.UpdateVentasDevolucionAlmacen(0, DrMovtos("CveRem").ToString.ToEntero) Then
- ' TextoError = "Ocurrió un error al hacer la devolucion hacia la remision. Por favor vuelva a intentar."
- ' ErrorMovInv = True
- ' Exit For
- ' End If
-
- ' Next
- ' End If
- ' Else
- ' TextoError = "Ocurrió un error al hacer la devolucion a remisión. Por favor vuelva a intentar."
- ' ErrorMovInv = True
- ' End If
- 'End If
- '}
'QUEMA DEVOLUCION | QUEMA = LA QUITA DE PENDIENTE POR RECIBIR (DEVOLVER)
If Not ErrorMovInv And EsDevolucionVenta = 1 Then
@@ -2427,7 +2268,6 @@ Partial Class Inventarios_RecepcionEntrega
End If
End If
-
Catch ex As Exception
ErrorMovInv = True
OnError("Ocurrió un error al guardar", ex)
@@ -2441,16 +2281,11 @@ Partial Class Inventarios_RecepcionEntrega
Msg.AppendFormat("Movimiento Salida: {1}", CveMovimiento, Folio)
Msg.AppendFormat(" Imprimir Movimiento ", Encripta(String.Format("OP=Alm&CveMovimiento={0}", CveMovimiento)))
-
- 'Msg.AppendFormat("")
- 'Dim script As String = "$('#TxtNumeroGuia').val($('#NumeroGuia').val());$('#BtnNumeroGuia').click();"
-
If CveMovimientoEntrada > 0 Then
Msg.AppendFormat("
Movimiento Entrada (Traspaso): {1}", CveMovimientoEntrada, FolioEntrada)
Msg.AppendFormat(" Imprimir Movimiento ", Encripta(String.Format("OP=Alm&CveMovimiento={0}", CveMovimientoEntrada)))
End If
-
If DtTraspasos.Rows.Count > 0 Then
Msg.AppendFormat("
Movimientos de Control (Apartados):")
For Each Dr As DataRow In DtTraspasos.Rows
@@ -2463,20 +2298,12 @@ Partial Class Inventarios_RecepcionEntrega
Msg.AppendFormat(" Imprimir Movimiento ", Encripta(String.Format("OP=Alm&CveMovimiento={0}", CveMovimientoGarantia)))
End If
- 'VIRTUAL
If CveMovimientoVirtual > 0 Then
- Msg.AppendFormat(" Movimiento de Salida del Almacen Virtal: ")
- Msg.AppendFormat("{1}", CveMovimientoVirtual, FolioVirtual)
+ Msg.AppendFormat("
Movimiento de Salida del Almacen Virtual: ")
+ Msg.AppendFormat("{1}", CveMovimientoVirtual, FolioVirtual)
+ Msg.AppendFormat(" Imprimir Movimiento ", Encripta(String.Format("OP=Alm&CveMovimiento={0}", CveMovimientoVirtual)))
End If
- 'If CveMovimientoSalidaDevRem > 0 Then
- ' Msg.AppendFormat(" < br /<> br /> Movimiento de salida de devolución (Traspaso): {1}", CveMovimientoSalidaDevRem, FolioMovimientoSalidaDevRem)
- ' Msg.AppendFormat(" Imprimir Movimiento ", Encripta(String.Format("OP=Alm&CveMovimiento={0}", CveMovimientoSalidaDevRem)))
-
- ' Msg.AppendFormat("
Movimiento de entrada de devolución (Traspaso): {1}", CveMovimientoEntradaDevRem, FolioMovimientoEntradaDevRem)
- ' Msg.AppendFormat(" Imprimir Movimiento ", Encripta(String.Format("OP=Alm&CveMovimiento={0}", CveMovimientoEntradaDevRem)))
- 'End If
-
Alert(Msg.ToString, TipoMensaje.MsgInformacion)
Limpia()
@@ -2492,6 +2319,7 @@ Partial Class Inventarios_RecepcionEntrega
ObjConta.Dispose()
ObjVentas.Dispose()
ObjEventos.Dispose()
+
End Sub
Private Sub GuardaTraspaso()
diff --git a/Inventarios/RecepcionUsados.aspx b/Inventarios/RecepcionUsados.aspx
index 804c83873..b638735ae 100644
--- a/Inventarios/RecepcionUsados.aspx
+++ b/Inventarios/RecepcionUsados.aspx
@@ -151,7 +151,7 @@
-
+
diff --git a/Inventarios/RecepcionUsados.aspx.vb b/Inventarios/RecepcionUsados.aspx.vb
index fea20c488..dedf9d4f4 100644
--- a/Inventarios/RecepcionUsados.aspx.vb
+++ b/Inventarios/RecepcionUsados.aspx.vb
@@ -879,7 +879,7 @@ Partial Class Inventarios_RecepcionUsados
If Valido And AgregarUsado Then
- If ObjFactura IsNot Nothing AndAlso Not EsDistribuidor Then
+ If ObjFactura IsNot Nothing AndAlso Me.CveRemisionRecibida > 0 Then
Dim RowDetalle As DataRow = ObjFactura.DtDetalle.FiltroPrimero($"CvePS={CvePS}")
If RowDetalle IsNot Nothing Then
@@ -981,9 +981,18 @@ Partial Class Inventarios_RecepcionUsados
End Sub
Protected Sub BtnGuardar_Click(sender As Object, e As EventArgs) Handles BtnGuardar.Click
- If ObjRemisionNC IsNot Nothing Then
+
+ 'SI ES DISTRIBUIDOR Y NO VIENE DE REMISION, GENERA UNA REMISION DE NOTA DE CREDITO
+ If EsDistribuidor AndAlso Me.CveRemisionRecibida <= 0 Then
+ Dim CveCliente As Integer = DdlClientes.SelectedValue.ToEntero()
+ Dim CveSubProyecto = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $"CveAlmacen={DdlAlmacen.SelectedValue}").ToEntero
+
+ CreaRemisionNC(CveCliente, CveSubProyecto, 1)
+ End If
+
+ If Me.ObjRemisionNC IsNot Nothing Then
Dim sb As New StringBuilder()
- sb.Append($"Se va a generar un documento de tipo 'Remisión de nota de crédito'. Serie-Folio:{ObjRemisionNC.SerieFolio}. ¿Esta seguro que desea guardar?: ")
+ sb.Append($"Se va a generar un documento de tipo 'Remisión de nota de crédito'. Serie-Folio:{Me.ObjRemisionNC.SerieFolio}. ¿Esta seguro que desea guardar?: ")
Alert(sb.ToString(), TipoMensaje.MsgConfirmacion, JSBtnAceptar:="GenerarRNC();", TextoConfirmacion:=" Si ", TextoCancelacion:=" No ")
Else
@@ -1030,8 +1039,6 @@ Partial Class Inventarios_RecepcionUsados
If CveRemisionRecibida > 0 Then
CveVenta = CveRemisionRecibida
- ElseIf DdlFactura.SelectedValue.ToEntero() > 0 Then
- CveVenta = DdlFactura.SelectedValue.ToEntero()
End If
CveMovimiento = ObjInventario.AddMovimiento(DdlAlmacen.SelectedValue.ToEntero, CveConcepto, 1, Fecha, tFolio, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveVenta,
@@ -1059,7 +1066,7 @@ Partial Class Inventarios_RecepcionUsados
Exit For
End If
- If Not ObjVentas.UpdateVentaUsadoRecibido(CveRemisionRecibida, Dr("CvePS").ToString.ToEntero, True) Then
+ If Not ObjVentas.UpdateVentaUsadoRecibido(CveVenta, Dr("CvePS").ToString.ToEntero, True) Then
Mensaje = "Error al actualizar el recibo de los usados"
ErrorMovInv = True
Exit For
@@ -1067,10 +1074,10 @@ Partial Class Inventarios_RecepcionUsados
Dim CveConceptoUsados As Integer = If(RBLOpcion.SelectedValue.ToEntero = 2, 1, 2)
- If RBLOpcion.SelectedValue.ToEntero <> 3 Then
+ If RBLOpcion.SelectedValue.ToEntero <> 3 AndAlso Not GenerarRNC Then
If EsDistribuidor Then
If Not ObjAcum.DistribuidorMovtosAdd(DdlClientes.SelectedValue.ToEntero, Dr("Cantidad").ToString.ToEntero(), Dr("CveTamaño").ToString.ToEntero, CveConceptoUsados, -1, UsuarioActual.CveUsuario,
- UsuarioActual.CveEmpresa, 0, Dr("Observaciones").ToString, CveMovimiento:=CveMovimiento) Then
+ UsuarioActual.CveEmpresa, CveVenta, Dr("Observaciones").ToString, CveMovimiento:=CveMovimiento) Then
Mensaje = "Error al guardar Movimientos de distribuidor"
ErrorMovInv = True
Exit For
@@ -1712,7 +1719,7 @@ Partial Class Inventarios_RecepcionUsados
UpGenerales.Update()
End Sub
Private Sub CargaFacturasCliente()
- DivFactura.Visible = True
+ 'DivFactura.Visible = True
Dim CveCliente As Integer = DdlClientes.SelectedValue.ToEntero()
If CveCliente > 0 Then
@@ -1952,14 +1959,31 @@ Partial Class Inventarios_RecepcionUsados
CveCliente = ObjVentas.DtResultados.Rows(0)("CveCliente").ToString().ToEntero()
End If
+ 'SI ES DISTRIBUIDOR VAMOS A GENERAR LA REMISION DE NOTA DE CREDITO
If EsDistribuidor Then
DivCliente.Visible = True
DdlClientes.SelectedValueExist(CveCliente)
DdlClientes_SelectedIndexChanged(DdlClientes, EventArgs.Empty)
- DdlFactura.SelectedValueExist(CveRemisionRecibida)
+
+ If Me.ObjRemisionNC IsNot Nothing Then
+ Me.ObjRemisionNC.Dispose()
+ Me.ObjRemisionNC = Nothing
+ End If
+
+ If Me.ObjFactura IsNot Nothing Then
+ Me.ObjFactura.Dispose()
+ Me.ObjFactura = Nothing
+ End If
+
+ Me.ObjFactura = New Modelos.Factura(UsuarioActual, CveRemisionRecibida, UsuarioActual.CveEmpresa, DirectorioServidor:=Server.MapPath("/"))
+
+ If Me.ObjFactura IsNot Nothing Then
+ 'CreaRemisionNC(ObjFactura.CveCliente, ObjFactura.CveSubProyecto, ObjFactura.CveMoneda)
+ DivTotal.Visible = True
+ End If
Else
DivCliente.Visible = False
- DivFactura.Visible = False
+ 'DivFactura.Visible = False
End If
If ObjVentas.GetVentasUsadosDetalle(CveRemisionRecibida) Then
@@ -1971,7 +1995,7 @@ Partial Class Inventarios_RecepcionUsados
For Each RowUsado As DataRow In DtUsados.Rows
Dim CvePS = RowUsado("CvePS").ToString().ToEntero()
- Dim RowPS = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS).Rows(0) '.FiltroPrimeroValor("CveTamaño", $"CvePS = { DdlProducto2.SelectedValue.ToEntero }").ToEntero
+ Dim RowPS = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS).Rows(0)
Dim CveTamaño As Integer = RowPS("CveTamaño").ToString().ToEntero()
Dim PS As String = RowPS("PS").ToString()
@@ -1988,36 +2012,36 @@ Partial Class Inventarios_RecepcionUsados
UpGenerales.Update()
End Sub
- Protected Sub DdlFactura_SelectedIndexChanged(sender As Object, e As EventArgs)
+ 'Protected Sub DdlFactura_SelectedIndexChanged(sender As Object, e As EventArgs)
- If Not EsDistribuidor AndAlso Me.CveRemisionRecibida <= 0 Then
+ ' If EsDistribuidor AndAlso Me.CveRemisionRecibida <= 0 Then
- If ObjRemisionNC IsNot Nothing Then
- ObjRemisionNC.Dispose()
- ObjRemisionNC = Nothing
- End If
+ ' If Me.ObjRemisionNC IsNot Nothing Then
+ ' Me.ObjRemisionNC.Dispose()
+ ' Me.ObjRemisionNC = Nothing
+ ' End If
- If ObjFactura IsNot Nothing Then
- ObjFactura.Dispose()
- ObjFactura = Nothing
- End If
+ ' If Me.ObjFactura IsNot Nothing Then
+ ' Me.ObjFactura.Dispose()
+ ' Me.ObjFactura = Nothing
+ ' End If
- Dim CveVenta As Integer = DdlFactura.SelectedValue.ToEntero()
+ ' 'Dim CveVenta As Integer = DdlFactura.SelectedValue.ToEntero()
- ObjFactura = New Modelos.Factura(UsuarioActual, CveVenta, UsuarioActual.CveEmpresa, DirectorioServidor:=Server.MapPath("/"))
+ ' 'ObjFactura = New Modelos.Factura(UsuarioActual, CveVenta, UsuarioActual.CveEmpresa, DirectorioServidor:=Server.MapPath("/"))
- If ObjFactura IsNot Nothing Then
- CreaRemisionNC(ObjFactura.CveCliente, ObjFactura.CveSubProyecto, ObjFactura.CveMoneda)
- DivTotal.Visible = True
- End If
- End If
+ ' If Me.ObjFactura IsNot Nothing Then
+ ' CreaRemisionNC(ObjFactura.CveCliente, ObjFactura.CveSubProyecto, ObjFactura.CveMoneda)
+ ' DivTotal.Visible = True
+ ' End If
+ ' End If
- UPDatos.Update()
+ ' UPDatos.Update()
- End Sub
+ 'End Sub
Private Sub CreaRemisionNC(CveCliente As Integer, CveSubProyecto As Integer, CveMoneda As Integer)
- ObjRemisionNC = New Modelos.Factura(UsuarioActual)
+ Me.ObjRemisionNC = New Modelos.Factura(UsuarioActual)
Dim Folio As String = ""
Dim Serie As String = ""
@@ -2033,102 +2057,102 @@ Partial Class Inventarios_RecepcionUsados
End If
ObjFolios.Dispose()
- ObjRemisionNC.TipoMensajeRespuesta = Modelos.TipoMensajeRespuesta.HTML
- ObjRemisionNC.Serie = Serie
- ObjRemisionNC.Folio = Folio.ToEntero()
- ObjRemisionNC.Version = "3.3"
- ObjRemisionNC.FolioFiscal = ""
- ObjRemisionNC.CveUsuario = UsuarioActual.CveUsuario
- ObjRemisionNC.CveEmpresa = UsuarioActual.CveEmpresa
- ObjRemisionNC.TipoCambio = 1
- ObjRemisionNC.ConvertirPesos = False
- ObjRemisionNC.CveMoneda = CveMoneda
- ObjRemisionNC.Moneda = GlobalDTMonedas.FiltroPrimeroValor("Moneda", String.Format("CveMoneda = {0} ", CveMoneda))
- ObjRemisionNC.MonedaSAT = GlobalDTMonedas.FiltroPrimeroValor("AbreviaturaSAT", String.Format("CveMoneda = {0} ", CveMoneda))
- ObjRemisionNC.TipoDocto = "RNC"
- ObjRemisionNC.RefDocto = ""
- ObjRemisionNC.CveMesa = -1
- ObjRemisionNC.Fecha = Now
- ObjRemisionNC.CvePrePoliza = -1
- ObjRemisionNC.FechaPago = Now
- ObjRemisionNC.MotivoDescuento = ""
- ObjRemisionNC.FechaEjecucion = Now
- ObjRemisionNC.UsuarioCreo = UsuarioActual.Usuario
- ObjRemisionNC.CveCondicionEntrega = -1
- ObjRemisionNC.CondicionEntrega = ""
- ObjRemisionNC.NumeroCuenta = ""
- ObjRemisionNC.CondicionesPago = 0
- ObjRemisionNC.FormaPago = 0
- ObjRemisionNC.PedidoContrato = ""
- ObjRemisionNC.NumeroContrato = ""
- ObjRemisionNC.DescripcionContrato = ""
- ObjRemisionNC.CveCorte = -1
- ObjRemisionNC.TipoDocumento = "Remisión"
- ObjRemisionNC.Alfa1 = ""
- ObjRemisionNC.Alfa2 = ""
- ObjRemisionNC.Alfa3 = ""
- ObjRemisionNC.CveContrato = -1
- ObjRemisionNC.ConvertirPesos = False
- ObjRemisionNC.CveSubProyecto = CveSubProyecto
- ObjRemisionNC.CveSubProyectoCobranza = CveSubProyecto
- ObjRemisionNC.CveSubProyectoEjecucion = CveSubProyecto
- ObjRemisionNC.SubProyecto = New Modelos.SubProyectoModel(GlobalDTSubProyectos(-1).FiltroPrimero(String.Format("CveSubProyecto = {0}", CveSubProyecto)))
- ObjRemisionNC.SubProyectoMatriz = New Modelos.SubProyectoModel(GlobalDTSubProyectos(-1, CveSubProyecto:=-1, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimero("TipoSucursal=1"))
+ Me.ObjRemisionNC.TipoMensajeRespuesta = Modelos.TipoMensajeRespuesta.HTML
+ Me.ObjRemisionNC.Serie = Serie
+ Me.ObjRemisionNC.Folio = Folio.ToEntero()
+ Me.ObjRemisionNC.Version = "3.3"
+ Me.ObjRemisionNC.FolioFiscal = ""
+ Me.ObjRemisionNC.CveUsuario = UsuarioActual.CveUsuario
+ Me.ObjRemisionNC.CveEmpresa = UsuarioActual.CveEmpresa
+ Me.ObjRemisionNC.TipoCambio = 1
+ Me.ObjRemisionNC.ConvertirPesos = False
+ Me.ObjRemisionNC.CveMoneda = CveMoneda
+ Me.ObjRemisionNC.Moneda = GlobalDTMonedas.FiltroPrimeroValor("Moneda", String.Format("CveMoneda = {0} ", CveMoneda))
+ Me.ObjRemisionNC.MonedaSAT = GlobalDTMonedas.FiltroPrimeroValor("AbreviaturaSAT", String.Format("CveMoneda = {0} ", CveMoneda))
+ Me.ObjRemisionNC.TipoDocto = "RNC"
+ Me.ObjRemisionNC.RefDocto = ""
+ Me.ObjRemisionNC.CveMesa = -1
+ Me.ObjRemisionNC.Fecha = Now
+ Me.ObjRemisionNC.CvePrePoliza = -1
+ Me.ObjRemisionNC.FechaPago = Now
+ Me.ObjRemisionNC.MotivoDescuento = ""
+ Me.ObjRemisionNC.FechaEjecucion = Now
+ Me.ObjRemisionNC.UsuarioCreo = UsuarioActual.Usuario
+ Me.ObjRemisionNC.CveCondicionEntrega = -1
+ Me.ObjRemisionNC.CondicionEntrega = ""
+ Me.ObjRemisionNC.NumeroCuenta = ""
+ Me.ObjRemisionNC.CondicionesPago = 0
+ Me.ObjRemisionNC.FormaPago = 0
+ Me.ObjRemisionNC.PedidoContrato = ""
+ Me.ObjRemisionNC.NumeroContrato = ""
+ Me.ObjRemisionNC.DescripcionContrato = ""
+ Me.ObjRemisionNC.CveCorte = -1
+ Me.ObjRemisionNC.TipoDocumento = "Remisión"
+ Me.ObjRemisionNC.Alfa1 = ""
+ Me.ObjRemisionNC.Alfa2 = ""
+ Me.ObjRemisionNC.Alfa3 = ""
+ Me.ObjRemisionNC.CveContrato = -1
+ Me.ObjRemisionNC.ConvertirPesos = False
+ Me.ObjRemisionNC.CveSubProyecto = CveSubProyecto
+ Me.ObjRemisionNC.CveSubProyectoCobranza = CveSubProyecto
+ Me.ObjRemisionNC.CveSubProyectoEjecucion = CveSubProyecto
+ Me.ObjRemisionNC.SubProyecto = New Modelos.SubProyectoModel(GlobalDTSubProyectos(-1).FiltroPrimero(String.Format("CveSubProyecto = {0}", CveSubProyecto)))
+ Me.ObjRemisionNC.SubProyectoMatriz = New Modelos.SubProyectoModel(GlobalDTSubProyectos(-1, CveSubProyecto:=-1, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimero("TipoSucursal=1"))
'CLIENTE
- ObjRemisionNC.CveCliente = CveCliente
- ObjRemisionNC.SetCliente()
- ObjRemisionNC.CveAlmacen = -1
+ Me.ObjRemisionNC.CveCliente = CveCliente
+ Me.ObjRemisionNC.SetCliente()
+ Me.ObjRemisionNC.CveAlmacen = -1
Dim ObjCliente As New ClsClientes
If ObjCliente.GetClientes(CveCliente, "-1", "-1", "-1", "-1", "-1", "-1", -1, UsuarioActual.CveEmpresa, -1, TipoCliente:=-1) Then
If ObjCliente.DtResultados.Rows.Count > 0 Then
- ObjRemisionNC.CveFormaPago33 = ObjCliente.CveFormaPago33
- ObjRemisionNC.FormaPago33 = GlobalDTVtaFormaPago.FiltroPrimeroValor("FormaPago", String.Format("CveFormaPago = {0}", ObjCliente.CveFormaPago33))
- ObjRemisionNC.FormaPagoSAT33 = GlobalDTVtaFormaPago.FiltroPrimeroValor("ClaveFormaPagoSAT", String.Format("CveFormaPago = {0}", ObjCliente.CveFormaPago33))
+ Me.ObjRemisionNC.CveFormaPago33 = ObjCliente.CveFormaPago33
+ Me.ObjRemisionNC.FormaPago33 = GlobalDTVtaFormaPago.FiltroPrimeroValor("FormaPago", String.Format("CveFormaPago = {0}", ObjCliente.CveFormaPago33))
+ Me.ObjRemisionNC.FormaPagoSAT33 = GlobalDTVtaFormaPago.FiltroPrimeroValor("ClaveFormaPagoSAT", String.Format("CveFormaPago = {0}", ObjCliente.CveFormaPago33))
- ObjRemisionNC.CveMetodoPago33 = ObjCliente.CveMetodoPago33
- ObjRemisionNC.MetodoPago33 = GlobalDTVtaMetodoPago.FiltroPrimeroValor("MetodoPago", String.Format("CveMetodoPago = {0}", ObjCliente.CveMetodoPago33))
- ObjRemisionNC.ClaveMetodoPagoSAT = GlobalDTVtaMetodoPago.FiltroPrimeroValor("ClaveMetodoPagoSAT", String.Format("CveMetodoPago = {0}", ObjCliente.CveMetodoPago33))
+ Me.ObjRemisionNC.CveMetodoPago33 = ObjCliente.CveMetodoPago33
+ Me.ObjRemisionNC.MetodoPago33 = GlobalDTVtaMetodoPago.FiltroPrimeroValor("MetodoPago", String.Format("CveMetodoPago = {0}", ObjCliente.CveMetodoPago33))
+ Me.ObjRemisionNC.ClaveMetodoPagoSAT = GlobalDTVtaMetodoPago.FiltroPrimeroValor("ClaveMetodoPagoSAT", String.Format("CveMetodoPago = {0}", ObjCliente.CveMetodoPago33))
- ObjRemisionNC.CveUsoCFDI = ObjCliente.CveUsoCFDI
- ObjRemisionNC.UsoCFDI = GlobalDTSATUsosCFDI.FiltroPrimeroValor("Descripcion", String.Format("CveUsoCFDI = {0}", ObjCliente.CveUsoCFDI))
- ObjRemisionNC.ClaveUsoCFDI = GlobalDTSATUsosCFDI.FiltroPrimeroValor("UsoCFDI", String.Format("CveUsoCFDI = {0}", ObjCliente.CveUsoCFDI))
+ Me.ObjRemisionNC.CveUsoCFDI = ObjCliente.CveUsoCFDI
+ Me.ObjRemisionNC.UsoCFDI = GlobalDTSATUsosCFDI.FiltroPrimeroValor("Descripcion", String.Format("CveUsoCFDI = {0}", ObjCliente.CveUsoCFDI))
+ Me.ObjRemisionNC.ClaveUsoCFDI = GlobalDTSATUsosCFDI.FiltroPrimeroValor("UsoCFDI", String.Format("CveUsoCFDI = {0}", ObjCliente.CveUsoCFDI))
- ObjRemisionNC.CveMetodoPago = ObjCliente.CveMetodoPago
+ Me.ObjRemisionNC.CveMetodoPago = ObjCliente.CveMetodoPago
If GlobalDTMetodosPago.FiltraParametros(String.Format("CveMetodoPago = {0}", ObjCliente.CveMetodoPago)).Rows.Count > 0 Then
- ObjRemisionNC.MetodoPago = GlobalDTMetodosPago.FiltraParametros(String.Format("CveMetodoPago = {0}", ObjCliente.CveMetodoPago)).Rows(0)("MetodoPago").ToString
+ Me.ObjRemisionNC.MetodoPago = GlobalDTMetodosPago.FiltraParametros(String.Format("CveMetodoPago = {0}", ObjCliente.CveMetodoPago)).Rows(0)("MetodoPago").ToString
Else
- ObjRemisionNC.CveMetodoPago = 1
- ObjRemisionNC.MetodoPago = "Efectivo"
+ Me.ObjRemisionNC.CveMetodoPago = 1
+ Me.ObjRemisionNC.MetodoPago = "Efectivo"
End If
End If
End If
If ObjCliente.GetSucursales(CveCliente) Then
If ObjCliente.DtResultados.Rows.Count > 0 Then
- ObjRemisionNC.CveClienteSucursal = If(String.IsNullOrEmpty(ObjCliente.DtResultados.FiltroPrimeroValor("CveClienteSucursal", "Estatus = 'Activo'")), -1, ObjCliente.DtResultados.FiltroPrimeroValor("CveClienteSucursal", "Estatus = 'Activo'").ToEntero())
+ Me.ObjRemisionNC.CveClienteSucursal = If(String.IsNullOrEmpty(ObjCliente.DtResultados.FiltroPrimeroValor("CveClienteSucursal", "Estatus = 'Activo'")), -1, ObjCliente.DtResultados.FiltroPrimeroValor("CveClienteSucursal", "Estatus = 'Activo'").ToEntero())
Else
- ObjRemisionNC.CveClienteSucursal = -1
+ Me.ObjRemisionNC.CveClienteSucursal = -1
End If
End If
ObjCliente.Dispose()
'DETALLES
- ObjRemisionNC.DtDetalle = CreaDTDetalleRNC()
+ Me.ObjRemisionNC.DtDetalle = CreaDTDetalleRNC()
'VALIDA PROMOCIONES Y EXISTENCIAS
Dim ObjVentas As New ClsVentas
- If ObjVentas.GetPromocionesPS(-1, Now, CveSubProyecto, ObjRemisionNC.CveCliente, ObjRemisionNC.CveVendedor, UsuarioActual.CveEmpresa) Then
- ObjRemisionNC.DtPromociones = ObjVentas.DtResultados.Copy()
+ If ObjVentas.GetPromocionesPS(-1, Now, CveSubProyecto, Me.ObjRemisionNC.CveCliente, Me.ObjRemisionNC.CveVendedor, UsuarioActual.CveEmpresa) Then
+ Me.ObjRemisionNC.DtPromociones = ObjVentas.DtResultados.Copy()
End If
ObjVentas.Dispose()
- ObjRemisionNC.Observaciones = ""
- ObjRemisionNC.OrdenCompra = ""
- ObjRemisionNC.PedidoContrato = ""
- ObjRemisionNC.ObservacionesAlmacen = ""
+ Me.ObjRemisionNC.Observaciones = ""
+ Me.ObjRemisionNC.OrdenCompra = ""
+ Me.ObjRemisionNC.PedidoContrato = ""
+ Me.ObjRemisionNC.ObservacionesAlmacen = ""
End Sub
diff --git a/LogMail.txt b/LogMail.txt
deleted file mode 100644
index 67ec989a7..000000000
--- a/LogMail.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-
28/08/2019:04:44 p. m. No se especifico a remitente - SIG - Se Genero una Recepción de Usados con el folio: 79
28/08/2019:05:48 p. m. No se especifico a remitente - SIG - Se Genero una Recepción de Usados con el folio: 80
02/09/2019:11:00 a. m. From:'signotificaciones@adssistemas.mx' - Para:'x@x.com' - Asunto:'Entrega de Factura SUCURSAL NARANJO SN-22' - CCP: '' - Adjuntos: 1
02/09/2019:11:00 a. m. From:'signotificaciones@adssistemas.mx' - Para:'japmx95@gmail.com' - Asunto:'Entrega de Factura SUCURSAL NARANJO SN-23' - CCP: '' - Adjuntos: 1
05/09/2019:11:02 a. m. From:'signotificaciones@adssistemas.mx' - Para:';' - Asunto:'Envío de complemento de pago' - CCP: '' - Adjuntos: 2
- - Ocurrió un error al mandar correo.System.InvalidOperationException: Se debe especificar un destinatario.
- en System.Net.Mail.SmtpClient.Send(MailMessage message)
- en ClsSisMail.FinalSend(Mail ObjMail) en C:\inetpub\WWWSIGIT\App_Code\ClsSisMail.vb:línea 129
05/09/2019:12:31 p. m. From:'signotificaciones@adssistemas.mx' - Para:';' - Asunto:'Envío de complemento de pago' - CCP: '' - Adjuntos: 2
- - Ocurrió un error al mandar correo.System.InvalidOperationException: Se debe especificar un destinatario.
- en System.Net.Mail.SmtpClient.Send(MailMessage message)
- en ClsSisMail.FinalSend(Mail ObjMail) en C:\inetpub\WWWSIGIT\App_Code\ClsSisMail.vb:línea 129
10/09/2019:12:16 p. m. From:'signotificaciones@adssistemas.mx' - Para:'DSDDS@hotmail.com' - Asunto:'SIG - La Orden Compra #26598 cambió de estatus.' - CCP: '' - Adjuntos: 0
10/09/2019:02:58 p. m. No se especifico a remitente - SIG - La Orden Compra #28107 cambió de estatus.
11/09/2019:11:56 a. m. From:'signotificaciones@adssistemas.mx' - Para:'antonio.gonzalez@adssistemas.mx' - Asunto:'Solicitud Vacaciones ' - CCP: '' - Adjuntos: 0
11/09/2019:12:35 p. m. From:'signotificaciones@adssistemas.mx' - Para:'antonio.gonzalez@adssistemas.mx' - Asunto:'(Vacaciones:Permisos) Asistencia Técnica AD Sistemas' - CCP: '' - Adjuntos: 0
11/09/2019:01:02 p. m. From:'signotificaciones@adssistemas.mx' - Para:'antonio.gonzalez@adssistemas.mx' - Asunto:'Permiso para Asistencia Técnica AD Sistemas' - CCP: '' - Adjuntos: 0
11/09/2019:01:03 p. m. From:'signotificaciones@adssistemas.mx' - Para:'antonio.gonzalez@adssistemas.mx' - Asunto:'Vacaciones Asistencia Técnica AD Sistemas' - CCP: '' - Adjuntos: 0
11/09/2019:01:10 p. m. From:'signotificaciones@adssistemas.mx' - Para:'antonio.gonzalez@adssistemas.mx' - Asunto:'Vacaciones Asistencia Técnica AD Sistemas' - CCP: '' - Adjuntos: 0
20/09/2019:05:15 p. m. From:'ENVIOFACTURADIGITAL@COMPUPROVEEDORES.COM' - Para:'japmx95@gmail.com' - Asunto:'Entrega de Factura HMO - 29109' - CCP: '' - Adjuntos: 1
20/09/2019:05:36 p. m. No se especifico a remitente - Entrega de Factura HMO - 29110
20/09/2019:05:45 p. m. From:'ENVIOFACTURADIGITAL@COMPUPROVEEDORES.COM' - Para:'japmx95@gmail.com' - Asunto:'Entrega de Factura HMO - 29111' - CCP: '' - Adjuntos: 1
20/09/2019:05:47 p. m. From:'ENVIOFACTURADIGITAL@COMPUPROVEEDORES.COM' - Para:'japmx95@gmail.com' - Asunto:'Entrega de Factura HMO - 29112' - CCP: '' - Adjuntos: 1
23/09/2019:10:55 a. m. From:'signotificaciones@adssistemas.mx' - Para:'japmx95@gmail.com' - Asunto:'Solicitud de anticipo de Orden de Compra' - CCP: '' - Adjuntos: 0
23/09/2019:11:05 a. m. No se especifico a remitente - Solicitud de anticipo de Orden de Compra
23/09/2019:11:34 a. m. No se especifico a remitente - Solicitud de anticipo de Orden de Compra
25/09/2019:05:06 p. m. No se especifico a remitente - SIG - La Orden Compra #4860 cambió de estatus.
04/10/2019:12:09 p. m. No se especifico a remitente - SIG - Se Genero una Recepción de Usados con el folio: 83
17/10/2019:12:10 p. m. From:'signotificaciones@adssistemas.mx' - Para:'japmx95@gmail.com' - Asunto:'SIG - La Orden Compra #1488 cambió de estatus.' - CCP: '' - Adjuntos: 0
17/10/2019:12:10 p. m. From:'signotificaciones@adssistemas.mx' - Para:'japmx95@gmail.com' - Asunto:'SIG - La Orden Compra #1488 cambió de estatus.' - CCP: 'japmx95@gmail.com;;' - Adjuntos: 0
17/10/2019:12:10 p. m. No se especifico a remitente - SIG - Se Genero una Orden de Compra
17/10/2019:12:39 p. m. From:'signotificaciones@adssistemas.mx' - Para:'japmx95@gmail.com;' - Asunto:'Vinculación de factura de OC ' - CCP: '' - Adjuntos: 0
17/10/2019:07:07 p. m. From:'signotificaciones@adssistemas.mx' - Para:'japmx95@gmail.com' - Asunto:'SIG - La Orden Compra #1489 cambió de estatus.' - CCP: '' - Adjuntos: 0
17/10/2019:07:07 p. m. From:'signotificaciones@adssistemas.mx' - Para:'japmx95@gmail.com' - Asunto:'SIG - La Orden Compra #1489 cambió de estatus.' - CCP: 'japmx95@gmail.com;;' - Adjuntos: 0
17/10/2019:07:07 p. m. No se especifico a remitente - SIG - Se Genero una Orden de Compra
17/10/2019:07:11 p. m. From:'signotificaciones@adssistemas.mx' - Para:'japmx95@gmail.com;' - Asunto:'Vinculación de factura de OC ' - CCP: '' - Adjuntos: 0
17/10/2019:07:14 p. m. From:'signotificaciones@adssistemas.mx' - Para:'japmx95@gmail.com;' - Asunto:'Recepción de Material de OC ' - CCP: '' - Adjuntos: 0
21/10/2019:10:50 a. m. No se especifico a remitente - SIG - Se Genero una Recepción de Usados con el folio: 90
21/10/2019:10:53 a. m. No se especifico a remitente - SIG - Se Genero una Recepción de Usados con el folio: 91
21/10/2019:10:53 a. m. No se especifico a remitente - SIG - Se Genero una Recepción de Usados con el folio: 92
21/10/2019:10:59 a. m. No se especifico a remitente - SIG - Se Genero una Recepción de Usados con el folio: 93
21/10/2019:11:03 a. m. No se especifico a remitente - SIG - Se Genero una Recepción de Usados con el folio: 94
21/10/2019:07:01 p. m. No se especifico a remitente - SIG. Requisición #30796 Bitacora
21/10/2019:07:02 p. m. No se especifico a remitente - SIG. Requisición #30796 Bitacora
21/10/2019:07:18 p. m. No se especifico a remitente - SIG. Requisición #31573 Bitacora
21/10/2019:07:35 p. m. No se especifico a remitente - SIG - La Requisicion #31706 cambió de estatus.
21/10/2019:07:35 p. m. No se especifico a remitente - SIG - La Requisicion #31706 cambió de estatus.
21/10/2019:07:36 p. m. No se especifico a remitente - SIG - La Requisición #31706 cambió de estatus.
21/10/2019:07:36 p. m. No se especifico a remitente - SIG. Requisición #31706 Modificada
21/10/2019:07:37 p. m. No se especifico a remitente - SIG - Se Genero una Orden de Compra
21/10/2019:07:37 p. m. No se especifico a remitente - SIG - La Requisición #31706 se le ha asignado
21/10/2019:07:41 p. m. No se especifico a remitente - SIG - La Requisicion #31707 cambió de estatus.
21/10/2019:07:41 p. m. No se especifico a remitente - SIG - La Requisicion #31707 cambió de estatus.
21/10/2019:07:42 p. m. No se especifico a remitente - SIG. Requisición #31707 Bitacora
22/10/2019:09:25 a. m. No se especifico a remitente - SIG. Requisición #31697 Bitacora
22/10/2019:04:50 p. m. No se especifico a remitente - SIG - La Requisicion #31708 cambió de estatus.
22/10/2019:04:50 p. m. No se especifico a remitente - SIG - La Requisicion #31708 cambió de estatus.
22/10/2019:05:03 p. m. No se especifico a remitente - SIG. Requisición #31708 Modificada
24/10/2019:01:46 p. m. From:'signotificaciones@adssistemas.mx' - Para:'arnoldopc@hotmail.com' - Asunto:'SIG - La Requisición #31816 cambió de estatus.' - CCP: '' - Adjuntos: 0
24/10/2019:01:46 p. m. From:'signotificaciones@adssistemas.mx' - Para:'arnoldopc@hotmail.com' - Asunto:'SIG. Requisición #31816 Modificada' - CCP: '' - Adjuntos: 0
24/10/2019:01:46 p. m. From:'signotificaciones@adssistemas.mx' - Para:'rene.molina@adsistemas.mx;' - Asunto:'SIG - Se Genero una Orden de Compra' - CCP: '' - Adjuntos: 1
29/10/2019:12:51 p. m. No se especifico a remitente - SIG - La Orden Compra #30034 cambió de estatus.
30/10/2019:10:09 a. m. From:'signotificaciones@adssistemas.mx' - Para:'japmx95@gmail.com;' - Asunto:'Vinculación de factura de OC ' - CCP: '' - Adjuntos: 0
30/10/2019:10:10 a. m. From:'signotificaciones@adssistemas.mx' - Para:'japmx95@gmail.com;' - Asunto:'Recepción de Material de OC ' - CCP: '' - Adjuntos: 0
04/11/2019:11:03 a. m. From:'signotificaciones@adssistemas.mx' - Para:'janeth_borchardt@hotmail.com;janethborchardt94@gmail.com' - Asunto:'Desactivación de cliente ACUACULTURA BIOTECNOLOGICA SA DE CV' - CCP: '' - Adjuntos: 0
04/11/2019:11:09 a. m. From:'signotificaciones@adssistemas.mx' - Para:'janeth_borchardt@hotmail.com;janeth_borchardt94@hotmail.com' - Asunto:'Activación de cliente ACUACULTURA BIOTECNOLOGICA SA DE CV' - CCP: '' - Adjuntos: 0
06/11/2019:11:44 a. m. No se especifico a remitente - Entrega de Factura MATRIZ HM-1504
06/11/2019:11:53 a. m. No se especifico a remitente - Entrega de Factura MATRIZ HM-1505
06/11/2019:11:57 a. m. No se especifico a remitente - Entrega de Factura MATRIZ HM-1506
06/11/2019:06:05 p. m. No se especifico a remitente - SIG. Requisición #31835 Bitacora
19/11/2019:02:12 p. m. No se especifico a remitente - SIG - Se Genero una Recepción de Usados con el folio: 162
\ No newline at end of file
diff --git a/LogTimbrado.txt b/LogTimbrado.txt
deleted file mode 100644
index b329362bb..000000000
--- a/LogTimbrado.txt
+++ /dev/null
@@ -1,22 +0,0 @@
-
- .. PAC: 4 - Verificado : (5) 5 Certificado : (501) 506 Armado: (25) 531 Genera: (494) 1025 Timbrado: (748) 1773 ..20/08/2019:03:33 p. m.
-
- .. PAC: 4 - Verificado : (2) 2 Certificado : (388) 390 Armado: (4) 394 Genera: (440) 834 Timbrado: (1030) 1864 Guardado: (361) 2225 Actualizado: (99) 2324 ..20/08/2019:03:39 p. m.
-
- .. PAC: 2 - Verificado : (200) 200 Armado: (398) 598 Guardado: (564) 1162 Timbrado: (2342) 3504 Actualizado: (456) 3960 ..02/09/2019:11:00 a. m.
-
- .. PAC: 2 - Verificado : (170) 170 Armado: (285) 455 Guardado: (333) 788 Timbrado: (1949) 2737 Actualizado: (20) 2757 ..02/09/2019:11:00 a. m.
-
- .. PAC: 3 - Verificado : (37) 37 Armado: (43) 80 Genera: (0) 80 Timbrado: (7893) 7973 Actualizado: (19) 7992 ..05/09/2019:11:02 a. m.
-
- .. PAC: 3 - Verificado : (36) 36 Armado: (32) 68 Genera: (0) 68 Timbrado: (10604) 10672 Actualizado: (16) 10688 ..05/09/2019:12:31 p. m.
-
- .. PAC: 4 - Verificado : (12) 12 Certificado : (209) 221 Armado: (35) 256 Genera: (306) 562 Timbrado: (918) 1480 ..20/09/2019:05:37 p. m.
-
- .. PAC: 4 - Verificado : (6) 6 Certificado : (384) 390 Armado: (27) 417 Genera: (390) 807 Timbrado: (2271) 3078 Guardado: (219) 3297 Actualizado: (902) 4199 ..01/10/2019:12:27 a. m.
-
- .. PAC: 4 - Verificado : (0) 0 Certificado : (204) 204 Armado: (1) 205 Genera: (249) 454 Timbrado: (431) 885 ..01/10/2019:12:27 a. m.
-
- .. PAC: 2 - Verificado : (32764) 32764 Armado: (660) 33424 Guardado: (445) 33869 Timbrado: (156762) 190631 ..06/11/2019:09:39 a. m.
-
- .. PAC: 2 - Verificado : (2018) 2018 Armado: (96902) 98920 Guardado: (312) 99232 Timbrado: (1201) 100433 ..06/11/2019:09:41 a. m.
diff --git a/Ventas/PV.aspx.vb b/Ventas/PV.aspx.vb
index 97cb8d25a..bc113f964 100644
--- a/Ventas/PV.aspx.vb
+++ b/Ventas/PV.aspx.vb
@@ -1716,7 +1716,7 @@ Partial Class PV
End If
End If
ObjCliente.Dispose()
-
+ UPCondicionesPago.Update()
End Sub
Private Sub CambiaSucursal()
diff --git a/Ventas/Ventas.aspx b/Ventas/Ventas.aspx
index 96819d0d4..ec79ff5c8 100644
--- a/Ventas/Ventas.aspx
+++ b/Ventas/Ventas.aspx
@@ -1003,7 +1003,9 @@
<%----%>
-
+
<%--0--%>
diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb
index 46bf006b6..f343c5fdd 100644
--- a/Ventas/Ventas.aspx.vb
+++ b/Ventas/Ventas.aspx.vb
@@ -101,6 +101,14 @@ Partial Class Ventas
ViewState("TmpDT") = value
End Set
End Property
+ Private Property TmpDTDescNC As DataTable
+ Get
+ Return If(IsNothing(ViewState("TmpDTDescNC")), Nothing, CType(ViewState("TmpDTDescNC"), DataTable))
+ End Get
+ Set(value As DataTable)
+ ViewState("TmpDTDescNC") = value
+ End Set
+ End Property
Private Property TmpDTError As DataTable
Get
Return If(IsNothing(ViewState("TmpDTError")), Nothing, CType(ViewState("TmpDTError"), DataTable))
@@ -2528,10 +2536,6 @@ Partial Class Ventas
End If
TxtFecha.Enabled = True
- If UsuarioActual.Empresa.Funcionalidad(572) = "1" Then
- TbDescuentosRNC.Visible = True
- End If
-
CargaPorcentajeMarcas()
End Sub
@@ -4224,10 +4228,12 @@ Partial Class Ventas
End If
End If
+ End If
+
'Si es Empresa de Acumuladores
If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then
'Si ya se surtió y recibió
- If DbRowVenta("SaldoAlmacen").ToString.ToDecimal > 0 And (DtUsados Is Nothing Or DtUsados.Rows.Count = 0) Then
+ If (DbRowVenta("SaldoAlmacen").ToString.ToDecimal > 0 And (DtUsados Is Nothing Or DtUsados.Rows.Count = 0)) OrElse (TmpDT.MAX("CveTipoPS") = "1") Then
BtnsFacturar.Visible = True
Else
BtnsFacturar.Visible = False
@@ -5682,12 +5688,12 @@ Partial Class Ventas
'Dim TipoDescuento As Integer
Dim Cantidad, PU, Descuento, CantidadInventario As Decimal
Dim CuentaPredial As String
-
Cantidad = GvPS.Rows(e.RowIndex).FCTextBox("TxtCantidad").Text.ToDecimal
PU = Math.Round(GvPS.Rows(e.RowIndex).FCTextBox("TxtPrecio").Text.ToDecimal, 6)
Descuento = Math.Round(GvPS.Rows(e.RowIndex).FCTextBox("TxtDescuento").Text.ToDecimal, NumeroDecimales)
CuentaPredial = GvPS.Rows(e.RowIndex).FCTextBox("TxtPredial").Text.Trim
+ Dim CantidadOriginal As Decimal = GvPS.Rows(e.RowIndex).DataKey("Cantidad").ToDecimal()
Dim DatarowPS As DataRow = Nothing
DatarowPS = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=TmpDT.Rows(e.RowIndex)("CvePS").ToString.ToEntero).FiltroPrimero("") ' Estado = -1
@@ -5708,8 +5714,9 @@ Partial Class Ventas
Dim CvePS As Integer = DatarowPS("CvePS").ToString.ToEntero
CantidadInventario = GvPS.Rows(e.RowIndex).DataKey("CantidadInventario").ToString.ToDecimal
+
Dim ValidaExistencia As Boolean = True
- If CantidadInventario > 0 Then 'si ya hay algo surtido, que no valide existencia
+ If (CantidadInventario > 0) OrElse (Cantidad <= CantidadOriginal) Then 'si ya hay algo surtido, que no valide existencia
ValidaExistencia = False
End If
@@ -5747,7 +5754,7 @@ Partial Class Ventas
If UsuarioActual.CveEmpresa.Contiene({72, 80, 119}) Then
If Existencia - TmpDT.SUM("Cantidad", $"CvePS = {CvePS}") < TxtCantidad.Text.ToDouble Then
Alert("No cuenta con la cantidad suficiente en inventario. Cuenta con " + Existencia.FormatoNumero(2) + ".", TipoMensaje.MsgAdvertencia)
-
+ Exit Sub
End If
End If
End If
@@ -7234,18 +7241,7 @@ Partial Class Ventas
'DETALLES
If NCDescuento Then
- ObjFacturaDevolucion.DtDetalle = CreaDTDetalleNCDescuento()
-
- ObjFacturaDevolucion.SubTotal = ObjFacturaDevolucion.DtDetalle.SUM("Total").ToDecimal()
- ObjFacturaDevolucion.Descuento = ObjFacturaDevolucion.DtDetalle.SUM("Descuento").ToDecimal()
- ObjFacturaDevolucion.Amortizacion = 0
- ObjFacturaDevolucion.IVA = ObjFacturaDevolucion.DtDetalle.SUM("ImporteIVA").ToDecimal()
- ObjFacturaDevolucion.RetIVA = ObjFacturaDevolucion.DtDetalle.SUM("ImporteRetIVA").ToDecimal()
- ObjFacturaDevolucion.RetISR = ObjFacturaDevolucion.DtDetalle.SUM("ImporteRetISR").ToDecimal()
- ObjFacturaDevolucion.IEPS = ObjFacturaDevolucion.DtDetalle.SUM("ImporteIEPS").ToDecimal()
-
- Dim Total As Decimal = (ObjFacturaDevolucion.SubTotal + ObjFacturaDevolucion.IVA + ObjFacturaDevolucion.IEPS) - (ObjFacturaDevolucion.Descuento + ObjFacturaDevolucion.RetIVA + ObjFacturaDevolucion.RetISR + ObjFacturaDevolucion.Amortizacion)
- ObjFacturaDevolucion.Total = Total
+ PreparaNCDescuento(ObjFacturaDevolucion)
Else
ObjFacturaDevolucion.DtDetalle = TmpDT
@@ -7403,8 +7399,9 @@ Partial Class Ventas
DtVentasNC.Rows(0)("TCCambioValuacion") = factura.TipoCambio
End If
- ObjFacturaDevolucion.Timbre = PreParaTimbre(ObjFacturaDevolucion)
+ factura.Timbre = PreParaTimbre(ObjFacturaDevolucion)
+ factura.CveVentaPadre = Me.CveVenta
'Registramos la venta
GuardarVenta(ObjVentas, ObjConta, ObjInventario, ObjContr, factura, factura.DtDetalle, -1, ObjContPaq, ObjBancos, EsNCAmortizacion:=True, NCDescuento:=True)
@@ -13726,6 +13723,10 @@ Partial Class Ventas
If ValidaAgregarPS(CvePS, DdlUnidadMedida.SelectedValue.ToEntero, TxtPrecio.Text.Trim.ToDouble, HdnTipoPS.Value.ToEntero) Then
+ If UsuarioActual.Empresa.Funcionalidad(572) = "1" AndAlso Not TbDescuentosRNC.Visible Then
+ TbDescuentosRNC.Visible = True
+ End If
+
If UsuarioActual.Empresa.Funcionalidad(507) = DdlPS.SelectedValue Then
CvePSAmortizacion = DdlPS.SelectedValue.ToEntero.ToEntero
End If
@@ -13760,8 +13761,57 @@ Partial Class Ventas
End If
End If
- AgregarProductoServicio(TxtCantidad.Text.ToDecimal, DdlUnidadMedida.SelectedValue.ToEntero, DdlUnidadMedida.SelectedItem.Text, DdlClasificacion.SelectedValue.ToEntero, DdlClasificacion.SelectedItem.Text,
- CvePS, "", TxtObsPS.Text.Trim, If(CvePSAmortizacion > 0, TxtPrecio.Text.Trim.ToDecimal * -1, TxtPrecio.Text.Trim.ToDecimal), Descuento,
+ Dim Cantidad As Decimal = TxtCantidad.Text.ToDecimal
+ Dim PU As Decimal = If(CvePSAmortizacion > 0, TxtPrecio.Text.Trim.ToDecimal * -1, TxtPrecio.Text.Trim.ToDecimal)
+
+ Dim DrPS As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePS).FiltroPrimero("") ' Estado = -1
+
+ 'VERIFICA SI APLICAN CONDICIONES COMERCIALES
+ If DtPorcentajeMarcas IsNot Nothing AndAlso DtPorcentajeMarcas.Rows.Count > 0 Then
+ 'VERIFICA SI EL PRODUCTO TIENE ESPECIFICADA UNA MARCA
+ If Not String.IsNullOrEmpty(DrPS("CveMarca").ToString()) AndAlso DrPS("CveMarca").ToString().ToEntero() > 0 Then
+ Dim RowPorcentaje = DtPorcentajeMarcas.FiltroPrimero($"CveMarca={DrPS("CveMarca").ToString()}")
+ 'REALIZA LOS DESCUENTOS DE ACUERDO AL PORCENTAJE POR MARCA
+ If RowPorcentaje IsNot Nothing Then
+ Dim PorcentajeProducto = RowPorcentaje("PorcentajeProducto").ToString().ToDecimal() / 100D
+ Dim PorcentajeProducto2 = RowPorcentaje("PorcentajeProducto2").ToString().ToDecimal() / 100D
+ Dim PorcentajeProducto3 = RowPorcentaje("PorcentajeProducto3").ToString().ToDecimal() / 100D
+
+ Dim TotalInicial = (Cantidad * (PU)) - Descuento
+ Dim TotalFinal = TotalInicial
+ 'SI APLICA EL PRIMER DESCUENTO
+ If PorcentajeProducto > 0 Then
+ Dim Descuento1 = TotalInicial * PorcentajeProducto
+ Dim Total2 = (TotalInicial - Descuento1)
+
+ 'SI APLICA EL SEGUNDO DESCUENTO
+ If PorcentajeProducto2 > 0 Then
+ Dim Descuento2 = Total2 * PorcentajeProducto2
+ Dim Total3 = (Total2 - Descuento2)
+
+ 'SI APLICA EL TERCER DESCUENTO
+ If PorcentajeProducto3 > 0 Then
+ Dim Descuento3 = Total3 * PorcentajeProducto3
+ TotalFinal = Total3 - Descuento3
+ Else
+ TotalFinal = Total3
+ End If
+ Else
+ TotalFinal = Total2
+ End If
+ Else
+ TotalFinal = TotalInicial
+ End If
+
+ Descuento += ((Cantidad * PU) - TotalFinal)
+
+ End If
+ End If
+
+ End If
+
+ AgregarProductoServicio(Cantidad, DdlUnidadMedida.SelectedValue.ToEntero, DdlUnidadMedida.SelectedItem.Text, DdlClasificacion.SelectedValue.ToEntero, DdlClasificacion.SelectedItem.Text,
+ CvePS, "", TxtObsPS.Text.Trim, PU, Descuento,
DdlProyecto.SelectedValue.ToEntero, DdlProyecto.SelectedItem.Text, DdlSubProyecto.SelectedValue.ToEntero, DdlSubProyecto.SelectedItem.Text,
SerieLote:=If(DIVCod.Visible, TxtCodigoSerie.Text.Trim, ""), TiempoEntrega:=TxtTiempoEntrega.Text, CuentaPredial:=TxtCuentaPredial.Text.Trim, RegeneraIEPS:=ClienteDesglosaIEPS)
@@ -13987,49 +14037,49 @@ Partial Class Ventas
DrPS("IEPSPorcentaje") = 0
End If
- 'VERIFICA SI APLICAN CONDICIONES COMERCIALES
- If DtPorcentajeMarcas IsNot Nothing AndAlso DtPorcentajeMarcas.Rows.Count > 0 Then
- 'VERIFICA SI EL PRODUCTO TIENE ESPECIFICADA UNA MARCA
- If Not String.IsNullOrEmpty(DrPS("CveMarca").ToString()) AndAlso DrPS("CveMarca").ToString().ToEntero() > 0 Then
- Dim RowPorcentaje = DtPorcentajeMarcas.FiltroPrimero($"CveMarca={DrPS("CveMarca").ToString()}")
- 'REALIZA LOS DESCUENTOS DE ACUERDO AL PORCENTAJE POR MARCA
- If RowPorcentaje IsNot Nothing Then
- Dim PorcentajeProducto = RowPorcentaje("PorcentajeProducto").ToString().ToDecimal() / 100D
- Dim PorcentajeProducto2 = RowPorcentaje("PorcentajeProducto2").ToString().ToDecimal() / 100D
- Dim PorcentajeProducto3 = RowPorcentaje("PorcentajeProducto3").ToString().ToDecimal() / 100D
+ ''VERIFICA SI APLICAN CONDICIONES COMERCIALES
+ 'If DtPorcentajeMarcas IsNot Nothing AndAlso DtPorcentajeMarcas.Rows.Count > 0 Then
+ ' 'VERIFICA SI EL PRODUCTO TIENE ESPECIFICADA UNA MARCA
+ ' If Not String.IsNullOrEmpty(DrPS("CveMarca").ToString()) AndAlso DrPS("CveMarca").ToString().ToEntero() > 0 Then
+ ' Dim RowPorcentaje = DtPorcentajeMarcas.FiltroPrimero($"CveMarca={DrPS("CveMarca").ToString()}")
+ ' 'REALIZA LOS DESCUENTOS DE ACUERDO AL PORCENTAJE POR MARCA
+ ' If RowPorcentaje IsNot Nothing Then
+ ' Dim PorcentajeProducto = RowPorcentaje("PorcentajeProducto").ToString().ToDecimal() / 100D
+ ' Dim PorcentajeProducto2 = RowPorcentaje("PorcentajeProducto2").ToString().ToDecimal() / 100D
+ ' Dim PorcentajeProducto3 = RowPorcentaje("PorcentajeProducto3").ToString().ToDecimal() / 100D
- Dim TotalInicial = (Cantidad * (PU)) - Descuento
- Dim TotalFinal = TotalInicial
- 'SI APLICA EL PRIMER DESCUENTO
- If PorcentajeProducto > 0 Then
- Dim Descuento1 = TotalInicial * PorcentajeProducto
- Dim Total2 = (TotalInicial - Descuento1)
+ ' Dim TotalInicial = (Cantidad * (PU)) - Descuento
+ ' Dim TotalFinal = TotalInicial
+ ' 'SI APLICA EL PRIMER DESCUENTO
+ ' If PorcentajeProducto > 0 Then
+ ' Dim Descuento1 = TotalInicial * PorcentajeProducto
+ ' Dim Total2 = (TotalInicial - Descuento1)
- 'SI APLICA EL SEGUNDO DESCUENTO
- If PorcentajeProducto2 > 0 Then
- Dim Descuento2 = Total2 * PorcentajeProducto2
- Dim Total3 = (Total2 - Descuento2)
+ ' 'SI APLICA EL SEGUNDO DESCUENTO
+ ' If PorcentajeProducto2 > 0 Then
+ ' Dim Descuento2 = Total2 * PorcentajeProducto2
+ ' Dim Total3 = (Total2 - Descuento2)
- 'SI APLICA EL TERCER DESCUENTO
- If PorcentajeProducto3 > 0 Then
- Dim Descuento3 = Total3 * PorcentajeProducto3
- TotalFinal = Total3 - Descuento3
- Else
- TotalFinal = Total3
- End If
- Else
- TotalFinal = Total2
- End If
- Else
- TotalFinal = TotalInicial
- End If
+ ' 'SI APLICA EL TERCER DESCUENTO
+ ' If PorcentajeProducto3 > 0 Then
+ ' Dim Descuento3 = Total3 * PorcentajeProducto3
+ ' TotalFinal = Total3 - Descuento3
+ ' Else
+ ' TotalFinal = Total3
+ ' End If
+ ' Else
+ ' TotalFinal = Total2
+ ' End If
+ ' Else
+ ' TotalFinal = TotalInicial
+ ' End If
- Descuento += ((Cantidad * PU) - TotalFinal)
+ ' Descuento += ((Cantidad * PU) - TotalFinal)
- End If
- End If
+ ' End If
+ ' End If
- End If
+ 'End If
TotalCalculableImpuestos = (Cantidad * (PU)) - Descuento
Row("PU") = PU
@@ -15182,9 +15232,7 @@ Partial Class Ventas
If DtMovimientos.Rows.Count > 0 Then
Dim GeneroMovimientoAlmacen As Boolean = False
-
For Each dr As DataRow In DtMovimientos.Rows
-
'Obtenemos los Movimientos de salida
If ObjInventario.GetMovimientos(dr("CveMovimiento").ToString.ToEntero, ConceptoMovimiento, -1, UsuarioActual.CveEmpresa) Then
@@ -15210,32 +15258,69 @@ Partial Class Ventas
If ErrorList.Count = 0 AndAlso MovDetalle.Rows.Count > 0 Then
Dim CveMovimientoSalidaPorTraspaso As Integer = -1
+ 'SALIDA DEFINITIVA DEL SISTEMA
+ If UsuarioActual.Empresa.Funcionalidad(575) = "1" Then
+ 'Le damos salida normal
+ If ConSalida Then
- 'Le damos salida de apartado por traspaso
- CveMovimientoSalidaPorTraspaso = GenerarMovimientoAlmacen(ObjInventario, MovDetalle, CveAlmacenSalida, 8, CveMoneda, CveRemision, AplicaMovimientoDetalleEntrada:=AplicaMovimientoDetalleEntrada)
+ GeneroMovimientoAlmacen = GenerarMovimientoAlmacen(ObjInventario, MovDetalle, CveAlmacenSalida, 40, CveMoneda, CveRemision, MovimientoPrePoliza:=True, ObjConta:=ObjConta) > 0
- If Not CveMovimientoSalidaPorTraspaso > 0 Then
- OcurrioError = True
- Exit For
- End If
+ If Not GeneroMovimientoAlmacen Then
+ OcurrioError = True
+ Exit For
+ End If
- 'Le damos entrada al general por traspaso
- If Not OcurrioError Then
- GeneroMovimientoAlmacen = GenerarMovimientoAlmacen(ObjInventario, MovDetalle, CveAlmacenEntrada, 9, CveMoneda, CveRemision, CveMovimientoRelacionado:=CveMovimientoSalidaPorTraspaso) > 0
+ If UsuarioActual.Empresa.Funcionalidad(573) = "1" Then
+ If Not GeneroMovimientoAlmacen Then
+ GeneroMovimientoAlmacen = GenerarMovimientoAlmacenVirtual(ObjInventario, ObjFactura) > 0
- If Not GeneroMovimientoAlmacen Then
+ If Not GeneroMovimientoAlmacen Then
+ OcurrioError = True
+ End If
+ End If
+ End If
+
+ End If
+ Else
+ 'Le damos salida de apartado por traspaso
+ CveMovimientoSalidaPorTraspaso = GenerarMovimientoAlmacen(ObjInventario, MovDetalle, CveAlmacenSalida, 8, CveMoneda, CveRemision, AplicaMovimientoDetalleEntrada:=AplicaMovimientoDetalleEntrada)
+
+ If Not CveMovimientoSalidaPorTraspaso > 0 Then
OcurrioError = True
Exit For
End If
- End If
- 'Le damos salida normal
- If ConSalida AndAlso Not OcurrioError Then
- GeneroMovimientoAlmacen = GenerarMovimientoAlmacen(ObjInventario, MovDetalle, CveAlmacenEntrada, 3, CveMoneda, ObjFactura.CveVenta, MovimientoPrePoliza:=True, ObjConta:=ObjConta) > 0
+ 'Le damos entrada al general por traspaso
+ If Not OcurrioError Then
+ GeneroMovimientoAlmacen = GenerarMovimientoAlmacen(ObjInventario, MovDetalle, CveAlmacenEntrada, 9, CveMoneda, CveRemision, CveMovimientoRelacionado:=CveMovimientoSalidaPorTraspaso) > 0
+
+ If Not GeneroMovimientoAlmacen Then
+ OcurrioError = True
+ Exit For
+ End If
+ End If
+
+ 'Le damos salida normal
+ If ConSalida AndAlso Not OcurrioError Then
+
+ If UsuarioActual.Empresa.Funcionalidad(573) = "1" Then
+
+ GeneroMovimientoAlmacen = GenerarMovimientoAlmacenVirtual(ObjInventario, ObjFactura) > 0
+
+ If Not GeneroMovimientoAlmacen Then
+ OcurrioError = True
+ End If
+ End If
+
+ If Not OcurrioError Then
+ GeneroMovimientoAlmacen = GenerarMovimientoAlmacen(ObjInventario, MovDetalle, CveAlmacenEntrada, 3, CveMoneda, ObjFactura.CveVenta, MovimientoPrePoliza:=True, ObjConta:=ObjConta) > 0
+
+ If Not GeneroMovimientoAlmacen Then
+ OcurrioError = True
+ Exit For
+ End If
+ End If
- If Not GeneroMovimientoAlmacen Then
- OcurrioError = True
- Exit For
End If
End If
@@ -15250,6 +15335,24 @@ Partial Class Ventas
End If
ElseIf ObjInventario.GetMovimientos(dr("CveMovimiento").ToString.ToEntero, 3, -1, UsuarioActual.CveEmpresa) Then
+ 'If UsuarioActual.Empresa.Funcionalidad(573) = "1" Then
+ ' Dim CveTipoAlmacen As Integer = ObjInventario.DtResultados.Rows(0)("CveTipoAlmacen").ToString().ToEntero()
+ ' If CveTipoAlmacen = 24 Then
+ ' Dim RowMov As DataRow = ObjInventario.DtResultados.Rows(0)
+
+ ' Dim CveMovimientoSalida As Integer = RowMov("CveMovimiento").ToString().ToEntero()
+ ' Dim CveAlmacen As Integer = RowMov("CveAlmacen").ToString().ToEntero()
+ ' Dim CveMoneda As Integer = RowMov("CveMoneda").ToString().ToEntero()
+
+ ' GeneroMovimientoAlmacen = GenerarMovimientoAlmacenVirtual(ObjInventario, CveMovimientoSalida, CveAlmacen, CveMoneda) > 0
+
+ ' If Not GeneroMovimientoAlmacen Then
+ ' OcurrioError = True
+ ' Exit For
+ ' End If
+ ' End If
+ 'End If
+
'Esquema viejo, evitamos que aparezca por surtir
If Not ObjInventario.ActualizarEsDevolucionVenta(ObjFactura.CveVenta, 2) Then
OcurrioError = True
@@ -15478,6 +15581,121 @@ Partial Class Ventas
End If
'Return Not OcurrioError
+ End Function
+ Private Function GenerarMovimientoAlmacenVirtual(ByRef ObjInventario As ClsInventarios, ObjFactura As Modelos.Factura) As Integer
+ Dim OcurrioError As Boolean = False
+ Dim CveMovimientoVirtual As Integer = -1
+
+ Dim DtPSVirtual As New DataTable("DtTamanios")
+ DtPSVirtual.Columns.Add(New DataColumn("CvePS", GetType(Integer)))
+ DtPSVirtual.Columns.Add(New DataColumn("Cantidad", GetType(Decimal)))
+ DtPSVirtual.Columns.Add(New DataColumn("PU", GetType(Decimal)))
+ DtPSVirtual.Columns.Add(New DataColumn("CveUM", GetType(Integer)))
+
+ Dim DtTamanios As DataTable = Nothing
+ Dim ObjAcumuladores As New ClsAcumuladores
+ If ObjAcumuladores.TamañoGet(-1, UsuarioActual.CveEmpresa) Then
+ DtTamanios = ObjAcumuladores.DtResultados.Copy()
+ End If
+ ObjAcumuladores.Dispose()
+
+ Dim CveConceptoMovimientoVirtual As Integer = 3
+ Dim CveAlmacenVirtual As Integer = -1
+
+ For Each GvRow As DataRow In ObjFactura.DtDetalle.Rows
+ For Each Tam As DataRow In DtTamanios.Rows
+ If Tam("CveTamaño").ToString() = GvRow("CveTamaño").ToString() Then
+ Dim CvePSCargo = Tam("CvePSCargo").ToString().ToEntero()
+ Dim Row As DataRow = DtPSVirtual.NewRow()
+
+ Row("CvePS") = CvePSCargo
+ Row("Cantidad") = GvRow("Cantidad").ToString().ToDecimal()
+ Row("PU") = 0
+ Row("CveUM") = GvRow("CveUM").ToString().ToEntero()
+
+ DtPSVirtual.Rows.Add(Row)
+
+ End If
+ Next
+ Next
+ CveAlmacenVirtual = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 24).FiltroPrimeroValor("CveAlmacen", $"CveSubProyecto={ObjFactura.CveSubProyecto}").ToEntero()
+
+ If DtPSVirtual IsNot Nothing AndAlso DtPSVirtual.Rows.Count > 0 AndAlso CveAlmacenVirtual > 0 Then
+ CveMovimientoVirtual = ObjInventario.AddMovimiento(CveAlmacenVirtual, CveConceptoMovimientoVirtual, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, ObjFactura.CveVenta, -1, -1)
+
+ If CveMovimientoVirtual > 0 Then
+ For Each RowUsado As DataRow In DtPSVirtual.Rows
+ Dim CvePS = RowUsado("CvePS").ToString().ToEntero()
+ Dim CantidadUsado As Double = RowUsado("Cantidad").ToString().ToDouble()
+ Dim PU As Double = RowUsado("PU").ToString().ToDouble()
+ Dim CveUM As Integer = RowUsado("CveUM").ToString().ToEntero()
+
+ If Not ObjInventario.AddMovimientoDetalle(CveMovimientoVirtual, CantidadUsado, CveUM, CvePS, PU, -1) Then
+ OcurrioError = True
+ Exit For
+ End If
+ Next
+ Else
+ OcurrioError = True
+ End If
+
+ Else
+ OcurrioError = True
+ End If
+
+ If DtPSVirtual.Rows.Count = 0 Then
+ OcurrioError = True
+ End If
+
+ 'Dim ContadorMovtosDetalles = 0
+
+ 'Dim DtMovDetalle As DataTable = Nothing
+ 'If ObjInventario.GetMovimientosDetalle(CveMovimientoSalida, UsuarioActual.CveEmpresa) Then
+ ' DtMovDetalle = ObjInventario.DtResultados.Copy()
+ 'End If
+
+ ''Creamos el movimiento
+ 'Dim CveMovimientoInventario As Integer = ObjInventario.AddMovimiento(CveAlmacen, 2, CveMoneda, Now, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveVenta, -1, -1, CveMovimientoRelacionado:=CveMovimientoSalida)
+
+ 'If CveMovimientoInventario > 0 Then
+
+ ' 'Agregamos los detalles
+ ' For Each MovDet As DataRow In DtMovDetalle.Rows
+ ' Dim Cantidad = MovDet("Cantidad").ToString.ToDecimal
+ ' Dim CveUnidad As Integer = MovDet("CveUM").ToString.ToEntero
+ ' Dim PU As Decimal = MovDet("PU").ToString.ToDecimal
+ ' Dim CveProducto As Integer = MovDet("CvePS").ToString.ToEntero
+ ' Dim SerieLote As String = MovDet("SerieLote").ToString
+
+ ' If Cantidad < 0 Then
+ ' Alert("Ocurrió un Error al generar los movimientos de almacén. Por favor comuniquese con atención SIG.", TipoMensaje.MsgError)
+ ' OcurrioError = True
+ ' Exit For
+ ' End If
+
+ ' If ObjInventario.AddMovimientoDetalle(CveMovimientoInventario, Cantidad, CveUnidad, CveProducto, PU, -1, SerieLote:=SerieLote) Then
+ ' ContadorMovtosDetalles += 1
+ ' Else
+ ' OcurrioError = True
+ ' Exit For
+ ' End If
+ ' Next
+
+ ' 'VALIDA QUE SE HALLAN AGREGADO DETALLES AL MOVIMIENTO
+ ' If ContadorMovtosDetalles = 0 Then
+ ' OcurrioError = True
+ ' End If
+
+ 'Else
+ ' OcurrioError = True
+ 'End If
+
+ If OcurrioError Then
+ Return -1
+ Else
+ Return CveMovimientoVirtual
+ End If
+
End Function
Private Function SalidaAlmacenMateriales(ByRef ObjInventario As ClsInventarios, CveOS As Integer, ByRef ObjConta As ClsContabilidad, ConSalida As Boolean, ConceptoMovimiento As Integer) As Boolean
Dim TieneError As Boolean = False
@@ -16841,18 +17059,25 @@ Partial Class Ventas
End Sub
Private Function ValidaPagosContado() As Boolean
Dim Retorno = False
+ 'SI TIENE SALDO PENDIENTE VALIDA SI TIENE PAGOS
+ If Me.SaldoVenta > 0 Then
+ If DdlTipoComprobante.SelectedValue.Contiene("Ing", "Rem", "Ant") AndAlso (UsuarioActual.Empresa.Funcionalidad(531) = "1") AndAlso (Not PermiteCredito) AndAlso (DtPagos Is Nothing OrElse DtPagos.Rows.Count = 0) And TxtTotal.Text.ToDecimal > 0 Then
+ Alert("Es necesario especificar un pago.", TipoMensaje.MsgAdvertencia)
+ Retorno = True
+ End If
- If DdlTipoComprobante.SelectedValue.Contiene("Ing", "Rem", "Ant") AndAlso (UsuarioActual.CveEmpresa = 140) AndAlso (Not PermiteCredito) AndAlso (DtPagos Is Nothing OrElse DtPagos.Rows.Count = 0) And TxtTotal.Text.ToDecimal > 0 Then
- Alert("Es necesario especificar un pago.", TipoMensaje.MsgAdvertencia)
- Retorno = True
- End If
-
- If UsuarioActual.Empresa.Funcionalidad(572) = "1" Then
- Dim TotalNC As Decimal = If(ListaNCDesc IsNot Nothing AndAlso ListaNCDesc.Count > 0, ListaNCDesc.Sum(Function(f) f.TotalRemNCAplicado), 0)
- If TotalNC > 0 Then
- If (DtPagos.SUM("Importe").ToString.ToDecimal + Total - TxtCambio.Text.ToDecimal) > TotalNC Then
- Alert("El importe de los pagos no puede exceder el importe de la factura. Por favor verifique.", TipoMensaje.MsgAdvertencia)
- Retorno = True
+ If UsuarioActual.Empresa.Funcionalidad(572) = "1" Then
+ Dim TotalNC As Decimal = If(ListaNCDesc IsNot Nothing AndAlso ListaNCDesc.Count > 0, LblTotalNC.Text.Trim().ToDecimal(), 0)
+ If TotalNC > 0 Then
+ If (DtPagos.SUM("Importe").ToString.ToDecimal + Total - TxtCambio.Text.ToDecimal) > TotalNC Then
+ Alert("El importe de los pagos no puede exceder el importe de la factura. Por favor verifique.", TipoMensaje.MsgAdvertencia)
+ Retorno = True
+ End If
+ Else
+ If (DtPagos.SUM("Importe").ToString.ToDecimal + Total - TxtCambio.Text.ToDecimal) > TxtTotal.Text.ToDecimal Then
+ Alert("El importe de los pagos no puede exceder el importe de la factura. Por favor verifique.", TipoMensaje.MsgAdvertencia)
+ Retorno = True
+ End If
End If
Else
If (DtPagos.SUM("Importe").ToString.ToDecimal + Total - TxtCambio.Text.ToDecimal) > TxtTotal.Text.ToDecimal Then
@@ -16860,11 +17085,6 @@ Partial Class Ventas
Retorno = True
End If
End If
- Else
- If (DtPagos.SUM("Importe").ToString.ToDecimal + Total - TxtCambio.Text.ToDecimal) > TxtTotal.Text.ToDecimal Then
- Alert("El importe de los pagos no puede exceder el importe de la factura. Por favor verifique.", TipoMensaje.MsgAdvertencia)
- Retorno = True
- End If
End If
Return Retorno
@@ -20626,7 +20846,7 @@ Partial Class Ventas
Private Sub CargaCxC()
Dim ObjMovtos As New ClsMovimientos()
If ObjMovtos.GetCxCClienteDetalle(ViewState("CveCliente").ToString.ToEntero, "-1", "-1", -1, -1, UsuarioActual.CveEmpresa, DdlSucursalCliente.SelectedValue.ToEntero) Then
- Dim DtTemporal As DataTable = ObjMovtos.DtResultados.FiltraParametros("Tipo = 'Act' AND CveVenta > 0", "Moneda, OrdenVencimiento, FechaVencimiento")
+ Dim DtTemporal As DataTable = ObjMovtos.DtResultados.FiltraParametros("TipoDocto <> 'RNC' AND Tipo = 'Act' AND CveVenta > 0", "Moneda, OrdenVencimiento, FechaVencimiento")
GvCxC.DataSource = DtTemporal
End If
ObjMovtos.Dispose()
@@ -20726,10 +20946,8 @@ Partial Class Ventas
If AplicaNCMasiva Then
If NCDescuento Then
- For Each Gvr As GridViewRow In GvDescNC.Rows
- If Gvr.FCCheckBox("ChkAplicar").Checked Then
- DtImpuestos.Merge(CargaDtImpuestosNC(Gvr.DataKey("CveVenta").ToString.ToEntero, Gvr.FCTextBox("TxtImporte").Text.ToString.ToDecimal), True, MissingSchemaAction.Ignore)
- End If
+ For Each RNC In ListaNCDesc
+ DtImpuestos.Merge(CargaDtImpuestosNC(RNC.CveVenta, RNC.TotalRemNCAplicado, NCDescuento:=True), True, MissingSchemaAction.Ignore)
Next
Else
For Each Gvr As GridViewRow In GvCxC.Rows
@@ -20780,14 +20998,32 @@ Partial Class Ventas
AplicaNC = True
- If Not NCDescuento Then
+ If NCDescuento Then
+ TmpDTDescNC = TmpDT.Clone()
+ TmpDTDescNC.Clear()
+ 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
+
+ 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")
For Each Dr As DataRow In DtImpuestos.Rows
- AgregaTempDT(DrPS("CvePS").ToString.ToEntero, DrPS("PS").ToString, DrPS("Codigo").ToString, DrPS("PSCodigo").ToString, DrPS("CveTipoPS").ToString.ToEntero, DrPS("Inv_CveMetodoInventario").ToString.ToEntero,
+ 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, 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,
@@ -20817,14 +21053,14 @@ Partial Class Ventas
LBNotaCredito.Visible = False
CambiaTipoDocto()
-
End If
End Sub
- Private Function CargaDtImpuestosNC(CveVentaNC As Integer, Importe As Decimal) As DataTable
+ Private Function CargaDtImpuestosNC(CveVentaNC As Integer, Importe As Decimal, Optional NCDescuento As Boolean = False) As DataTable
Dim Total As Decimal = 0, SubTotal As Decimal = 0, Saldo As Decimal = 0
+ Dim TmpDT As DataTable = Nothing
Dim ObjVentas As New ClsVentas
If ObjVentas.GetVentaDetalle(CveVentaNC) Then
@@ -20874,12 +21110,15 @@ Partial Class Ventas
DtImpuestosLocal.Rows(DtImpuestosLocal.Rows.Count - 1)("ImporteTotal") = DtImpuestosLocal.Rows(DtImpuestosLocal.Rows.Count - 1)("ImporteTotal").ToString.ToDecimal + difTmp
End If
+ If Not NCDescuento Then
+ Me.TmpDT = TmpDT
+ End If
'CARGA FACTURA A LA CUAL SE APLICA LA NC
'CargaNCDT(CveVentaNC, Importe.ToDecimal)
Return DtImpuestosLocal
End Function
- Private Sub AgregaTempDT(CvePS As Integer, PS As String, Codigo As String, CodigoPS As String, CveTipoPS As Integer, CveTipoInvPS As Integer, CveUM As Integer, UM As String,
+ Private Sub AgregaTempDT(ByRef TmpDT As DataTable, CvePS As Integer, PS As String, Codigo As String, CodigoPS As String, CveTipoPS As Integer, CveTipoInvPS As Integer, CveUM As Integer, UM As String,
CveClasificacion As Integer, Clasificacion As String, CveProyecto As Integer, Proyecto As String, CveSubProyecto As Integer, SubProyecto As String,
Obs As String, Cantidad As Double, PU As Double, PorcentajeIVA As Double, ImporteIVA As Double, PorcentajeRetIVA As Double, ImporteRetIVA As Double,
PorcentajeRetISR As Double, ImporteRetISR As Double, PorcentajeIEPS As Double, ImporteIEPS As Double, TipoDescuento As Integer, Descuento As Double,
@@ -21160,7 +21399,7 @@ Partial Class Ventas
Dim ImporteRetISR As Decimal = TotalImpuestos * Gv.DataKey("PorcentajeRetISR").ToString.ToDecimal
Dim ImporteIEPS As Decimal = TotalImpuestos * Gv.DataKey("PorcentajeIEPS").ToString.ToDecimal
- AgregaTempDT(Gv.DataKey("CvePS").ToString.ToEntero, Gv.DataKey("PS").ToString, Gv.DataKey("Codigo").ToString, Gv.DataKey("CodigoPS").ToString,
+ AgregaTempDT(TmpDT, Gv.DataKey("CvePS").ToString.ToEntero, Gv.DataKey("PS").ToString, Gv.DataKey("Codigo").ToString, Gv.DataKey("CodigoPS").ToString,
Gv.DataKey("CveTipoPS").ToString.ToEntero, Gv.DataKey("CveTipoInvPS").ToString.ToEntero,
Gv.DataKey("CveUM").ToString.ToEntero, Gv.DataKey("UM").ToString, Gv.DataKey("CveClasificacion").ToString.ToEntero,
Gv.DataKey("Clasificacion").ToString, Gv.DataKey("CveProyecto").ToString.ToEntero, Gv.DataKey("Proyecto").ToString,
@@ -23412,7 +23651,7 @@ Partial Class Ventas
#End Region
-
+#Region "D E S C U E N T O S X R E M I S I O N D E N O T A D E C R E D I T O"
Protected Sub BtnAplicarRemisionNC_Click(sender As Object, e As EventArgs)
If ListaRemisionesNC Is Nothing Then
ListaRemisionesNC = New List(Of Modelos.Factura)
@@ -23498,107 +23737,32 @@ Partial Class Ventas
RegistraScript("$('#ModalAplicarDescuentoNC').modal('hide'); ")
End Sub
+ Protected Sub PreparaNCDescuento(ByRef factura As Modelos.Factura)
+ If TmpDTDescNC IsNot Nothing Then
+ factura.DtDetalle = TmpDTDescNC
+ '**** IMPUESTOS LOCALES
- Protected Function CreaDTDetalleNCDescuento() As DataTable
- Dim Dt As DataTable = TmpDT.Clone()
- Dt.Rows.Clear()
+ Dim TotalSubTotal As Decimal = TmpDTDescNC.SUM("TotalImporte").ToDecimal
+ Dim TotalDescuentos As Decimal = TmpDTDescNC.SUM("Descuento").ToDecimal
- Dim CveSATNC = "84111506"
- Dim DrPS = GlobalDTPS(UsuarioActual.CveEmpresa, SATClavePS:=CveSATNC, AplicaParaVenta:=1).Rows(0)
+ Dim TotalIVA As Decimal = TmpDTDescNC.SUM("ImporteIVA").ToDecimal
+ Dim TotalIEPS As Decimal = TmpDTDescNC.SUM("ImporteIEPS").ToDecimal
+ Dim TotalRetIVA As Decimal = TmpDTDescNC.SUM("ImporteRetIVA").ToDecimal
+ Dim TotalRetISR As Decimal = TmpDTDescNC.SUM("ImporteRetISR").ToDecimal
+ Dim Total As Decimal = 0
+ Dim TotalImpuestosLocales As Decimal = 0
+ Total = (TotalSubTotal - TotalDescuentos + TotalIVA + TotalIEPS - TotalRetIVA - TotalRetISR - TotalImpuestosLocales)
+
+ factura.SubTotal = TotalSubTotal
+ factura.Descuento = TotalDescuentos
+ factura.IVA = TotalIVA
+ factura.IEPS = TotalIEPS
+ factura.RetIVA = TotalRetIVA
+ factura.RetISR = TotalRetISR
+ factura.Total = Total
- If DrPS Is Nothing Then
- Alert("Ocurrió un error al cargar la información del Producto. Por favor vuelva a intentar.", TipoMensaje.MsgError)
- Return Dt
End If
- Dim CvePS = DrPS("CvePS").ToString().ToEntero()
+ End Sub
+#End Region
- Dim TotalCalculableImpuestos As Decimal = 0
- Dim PU = Math.Round(ListaNCDesc.Sum(Function(RNC) RNC.TotalRemNCAplicado), 6) ' el precio unitario puede llevar hasta 6 decimales permitidos
- Dim Cantidad As Decimal = 1
- Dim Descuento As Decimal = 0
-
- Dim Row As DataRow = Dt.NewRow()
- Row("CveProyecto") = DdlProyecto.SelectedValue.ToEntero()
- Row("Proyecto") = DdlProyecto.SelectedItem.Text
- Row("CveSubProyecto") = DdlSubProyecto.SelectedValue.ToEntero()
- Row("SubProyecto") = DdlSubProyecto.SelectedItem.Text
- Row("SerieLote") = "-1"
- Row("TiempoEntrega") = ""
- Row("Orden") = Dt.Rows.Count + 1
- Row("Cantidad") = Cantidad
- Row("CveUM") = DrPS("CveUM").ToString().ToEntero()
- Row("UM") = ""
- Row("CveClasificacion") = DrPS("CveClasificacion").ToString().ToEntero()
- Row("Clasificacion") = ""
- Row("CvePS") = CvePS
- Row("Obs") = ""
-
- TotalCalculableImpuestos = (Cantidad * (PU)) - Descuento
-
- Row("PU") = PU
- Row("Codigo") = DrPS("Codigo")
- Row("NoIdentificacion") = DrPS("Codigo")
- Row("ClaveSATFraccionArancelaria") = DrPS("ClaveSATFraccionArancelaria")
- Row("ClaveSATUnidadAduana") = DrPS("ClaveSATUnidadAduana")
- Row("ClaveSATFraccionArancelariaDescripcion") = DrPS("ClaveSATFraccionArancelariaDescripcion")
- Row("ClaveSATUnidadAduanaDescripcion") = DrPS("ClaveSATUnidadAduanaDescripcion")
-
- If Modalidad = "U" Then
- Row("Consec") = Index
- Else
- Row("Consec") = TmpDT.Rows.Count + 1
- End If
-
- Row("PS") = DrPS("PS")
- Row("CodigoPS") = DrPS("PSCodigo").ToString
- Row("CveTipoPS") = DrPS("CveTipoPS")
- Row("CveTipoInvPS") = DrPS("Inv_CveMetodoInventario")
- Row("CveTamaño") = DrPS("CveTamaño")
- Row("CveClasificacion") = DrPS("CveClasificacion")
- Row("Clasificacion") = DrPS("Clasificacion")
-
- If DrPS("IVA").ToString.Contiene("-1", "") Then
- Row("PorcentajeIVA") = PorcentajeIVA
- Else
- Row("PorcentajeIVA") = DrPS("IVA")
- End If
-
- Row("IVA") = Row("PorcentajeIVA")
- Row("ImporteIVA") = Math.Round(Row("PorcentajeIVA").ToString.ToDecimal * TotalCalculableImpuestos, NumeroDecimales)
- Row("ImporteRetIVA") = Math.Round(ClienteRetIVA * TotalCalculableImpuestos, NumeroDecimales)
- Row("ImporteRetISR") = Math.Round(ClienteRetISR * TotalCalculableImpuestos, NumeroDecimales)
- Row("PorcentajeRetIVA") = ClienteRetIVA
- Row("PorcentajeRetISR") = ClienteRetISR
- Row("PorcentajeIEPS") = DrPS("IEPSPorcentaje")
- Row("ImporteIEPS") = Math.Round(DrPS("IEPSPorcentaje").ToString.ToDecimal * TotalCalculableImpuestos, NumeroDecimales)
- Row("IEPS") = Row("ImporteIEPS")
- Row("Descuento") = Math.Round(Descuento, NumeroDecimales)
- Row("TipoDescuento") = HdnTipoDescuento.Value
- Row("Total") = (Cantidad * PU)
- Row("TotalImporte") = Math.Round(Cantidad * PU, NumeroDecimales)
-
- Row("SATClaveProdServ") = DrPS("SATClavePS")
- Row("SATClaveUM") = DrPS("SATClaveUnidadMedida")
-
- If UsuarioActual.Empresa.UsaAC Then
- Row("CvePresupuestoIngreso") = Me.DdlFuenteRecaudacion.SelectedValue
- End If
-
- Row("EntregaDirecta") = -1
- 'Contratos
- Row("CveContratoDetalle") = -1
- Row("CveVentaDetalle") = -1
- Row("CveMovimientoDetallePedido") = -1
- Row("CveOrdenCompraDetalle") = -1
- Row("CveVentaDetalleRemision") = -1
- Row("CveVentaDetalleCotizacion") = -1
- Row("CveVentaDetallePedido2") = -1
- Row("CuentaPredial") = "-1"
- Row("Consec") = 1
-
- 'RECARGAR GV
- Dt.Rows.Add(Row)
-
- Return Dt
- End Function
End Class
\ No newline at end of file