diff --git a/Inventarios/EntregaAlmacen.aspx.vb b/Inventarios/EntregaAlmacen.aspx.vb
index 6532d27a0..5577ba36b 100644
--- a/Inventarios/EntregaAlmacen.aspx.vb
+++ b/Inventarios/EntregaAlmacen.aspx.vb
@@ -8,8 +8,8 @@ Imports Extensiones
Imports Microsoft.Reporting.WebForms
Partial Class Inventarios_EntregaAlmacen
- Inherits ClsPaginas
-
+ Inherits ClsPaginas
+
#Region "PROPIEDADES"
Private Property CveVentaAD As Integer
Get
@@ -243,10 +243,10 @@ Partial Class Inventarios_EntregaAlmacen
Set(value As Boolean)
ViewState("EsDevolucionDirecta") = value
End Set
- End Property
-
+ End Property
+
#End Region
-
+
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
@@ -254,9 +254,9 @@ Partial Class Inventarios_EntregaAlmacen
CargaParametrosAD()
If UsuarioActual.CveEmpresa.Contiene(72, 80) Then DdlAlmacen.AutoPostBack = True
End If
- End Sub
-
-
+ End Sub
+
+
#Region " INICIALIZA VALORES "
Private Sub InicializaValores()
TipoEstatus = -1
@@ -324,11 +324,11 @@ Partial Class Inventarios_EntregaAlmacen
LimpiaCampos()
- End Sub
-
+ End Sub
+
#End Region
-
-
+
+
#Region " CARGA PARAMETROS - EXCLUSIVO USO AD "
Private Sub CargaParametrosAD()
@@ -346,9 +346,9 @@ Partial Class Inventarios_EntregaAlmacen
BtnGuardar.Visible = False
End If
- End Sub
+ End Sub
#End Region
-
+
#Region " CARGA PENDIENTES POR SURTIR "
Protected Sub DdlCliente_SelectedIndexChanged(sender As Object, e As EventArgs)
CargaFolios()
@@ -466,11 +466,11 @@ Partial Class Inventarios_EntregaAlmacen
End Select
UpPendientes.Update()
End If
- End Sub
-
+ End Sub
+
#End Region
-
-
+
+
#Region " CARGA VENTA POR SURTIR "
Protected Sub BtnSurtir_Click(sender As Object, e As EventArgs)
@@ -923,14 +923,14 @@ Partial Class Inventarios_EntregaAlmacen
End If
objInv.Dispose()
GvDocs.DataBind()
- End Sub
-
-
+ End Sub
+
+
#End Region
-
-
+
+
#Region " AGREGAR "
-
+
Protected Sub BtnSerie_Click(sender As Object, e As EventArgs)
Dim Argumentos = CType(sender, Button).CommandArgument.Split("°"c)
@@ -957,10 +957,10 @@ Partial Class Inventarios_EntregaAlmacen
UpLoteBatch.Update()
End If
- End Sub
-
+ End Sub
+
#Region " AGREGA POR SERIE/LOTE "
-
+
Private Sub CreaDtDetalle()
If DtDatosDetalle Is Nothing Then
DtDatosDetalle = New DataTable
@@ -1165,11 +1165,11 @@ Partial Class Inventarios_EntregaAlmacen
DtDatosDetalle.AcceptChanges()
CargaSerie()
- End Sub
+ End Sub
#End Region
-
+
#Region " AGREGA CON LOTE BATCH "
-
+
Private Sub CreaDtDetalleLote()
If DtDatosDetalleLote Is Nothing Then
DtDatosDetalleLote = New DataTable
@@ -1357,9 +1357,9 @@ Partial Class Inventarios_EntregaAlmacen
End Try
DtDatosDetalleLote.AcceptChanges()
CargaLote()
- End Sub
+ End Sub
#End Region
-
+
#Region " AGREGA CON TXT | CODIGO - SERIE "
Protected Sub BtnCodigoPS_Click(sender As Object, e As EventArgs)
@@ -1493,12 +1493,12 @@ Partial Class Inventarios_EntregaAlmacen
End If
TxtCantidadEspecialDiv.Text = "1"
- End Sub
+ End Sub
#End Region
-
+
#End Region
-
-
+
+
#Region " GUARDAR "
Protected Sub BtnGuardar_Click(sender As Object, e As EventArgs)
@@ -1917,7 +1917,7 @@ Partial Class Inventarios_EntregaAlmacen
CveMovimientoEntradaApartado = ObjInventario.AddMovimiento(CveAlmacenExA, 9, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveVentaSurtir, -1, -1,
Observaciones:=TxtObservaciones.Text.Trim, CveAlmacenDestino:=DdlAlmacen.SelectedValue.ToEntero, CveMovimientoRelacionado:=CveMovimientoSalida,
- Guia:=TxtGuia.Text, CveContrato:=CveContrato, CveVendedor:=CveVendedor, CveCliente:=CveCliente, Modulo:="RE/G4")
+ Guia:=TxtGuia.Text, CveContrato:=CveContrato, CveVendedor:=CveVendedor, CveCliente:=CveCliente, Modulo:="RE/GSC22")
FolioEntrada = ObjInventario.Folio
If Not CveMovimientoEntradaApartado > 0 Then
@@ -2214,7 +2214,7 @@ Partial Class Inventarios_EntregaAlmacen
Dim CveMovimientoDevolucionSinCosto = ObjInventario.AddMovimiento(DdlAlmacen.SelectedValue.ToEntero(), 41, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveVentaSurtir, -1, -1,
Observaciones:=TxtObservaciones.Text.Trim, CveAlmacenDestino:=DdlAlmacen.SelectedValue.ToEntero, CveMovimientoRelacionado:=CveMovimientoSalida,
- Guia:=TxtGuia.Text, CveContrato:=CveContrato, CveVendedor:=CveVendedor, CveCliente:=CveCliente, Modulo:="RE/G4")
+ Guia:=TxtGuia.Text, CveContrato:=CveContrato, CveVendedor:=CveVendedor, CveCliente:=CveCliente, Modulo:="RE/GSC4")
Dim FolioDevSinCosto = ObjInventario.Folio
If Not CveMovimientoDevolucionSinCosto > 0 Then
@@ -3229,160 +3229,160 @@ Partial Class Inventarios_EntregaAlmacen
TimmerRefresh.Enabled = True
UpGenerales.Update()
CargaGvDatos()
- End Sub
-
+ End Sub
+
#End Region
-
+
#Region " TRASPASO - TRANSITORIO "
Protected Sub ChkTransitorio_CheckedChanged(sender As Object, e As EventArgs)
TxtResponsable.Text = ""
DivTransitorio2.Visible = ChkTransitorio.Checked
- End Sub
+ End Sub
#End Region
-
+
#Region "SECCION ALMACEN"
- 'Private Sub CreaDtSeccionAlmacen()
- ' DtSeccionAlmacen = New DataTable
- ' DtSeccionAlmacen.Columns.Add("CantidadSeccionAlmacen", GetType(Decimal))
- ' DtSeccionAlmacen.Columns.Add("IndexSeccionAlmacen", GetType(Integer))
- ' DtSeccionAlmacen.Columns.Add("CveSeccionAlmacen", GetType(Integer))
- ' DtSeccionAlmacen.Columns.Add("CvePS", GetType(Integer))
- ' DtSeccionAlmacen.Columns.Add("SeccionAlmacen", GetType(String))
- ' DtSeccionAlmacen.Columns.Add("Consec", GetType(Integer))
- 'End Sub
- 'Private Sub CargaDdlAlmacen()
- ' DdlSeccionAlmacen.DataSource = GlobalDTSeccionAlmacen(UsuarioActual.CveEmpresa, -1)
- ' DdlSeccionAlmacen.Items.Insert(0, New ListItem("Seleccione", "-1"))
- ' DdlSeccionAlmacen.DataBind()
- 'End Sub
- 'Protected Sub LnkSeccionAlmacen_Click(sender As Object, e As EventArgs)
- ' Dim gvRow As GridViewRow = DirectCast((DirectCast(sender, LinkButton)).NamingContainer, GridViewRow)
-
- ' If Not DdlAlmacen.SelectedValue.ToEntero > 0 Then
- ' Alert("Tiene que tener seleccionado un almacen para registrar seccion almacen.", TipoMensaje.MsgAdvertencia)
- ' Exit Sub
- ' End If
-
- ' CantidadTotal = gvRow.FCTextBox("TbCantidadF").Text.ToDecimal
- ' IndexSeccionAlmacen = gvRow.RowIndex
- ' CvePS = gvRow.DataKey("CvePS").ToEntero
- ' CargaSeccionAlmacen()
- ' RegistraScript("$('#DModalSeccionAlmacen').modal()")
- 'End Sub
-
- 'Private Sub CargaSeccionAlmacen()
- ' Dim CantidadTotalSeccion As Decimal = DtSeccionAlmacen.FiltraParametros($"IndexSeccionAlmacen = {IndexSeccionAlmacen}").SUMD("CantidadSeccionAlmacen")
- ' GvSeccion.DataSource = DtSeccionAlmacen.FiltraParametros($"IndexSeccionAlmacen = {IndexSeccionAlmacen}")
- ' GvSeccion.DataBind()
-
- ' TxtCantidadSeccion.Text = ""
- ' DdlSeccionAlmacen.SelectedIndex = 0
- ' Dim CantidadRestante As Decimal = CantidadTotal - CantidadTotalSeccion
- ' If CantidadRestante = 0 Then
- ' RVTxtCantidad.MaximumValue = "1"
- ' TxtCantidadSeccion.Enabled = False
- ' Else
- ' RVTxtCantidad.MaximumValue = CantidadRestante.ToString
- ' TxtCantidadSeccion.Enabled = True
- ' End If
-
- ' If CantidadTotalSeccion > 0 Then
- ' GvDatos.Rows(IndexSeccionAlmacen).FCTextBox("TbCantidadF").Enabled = False
- ' GvDatos.Rows(IndexSeccionAlmacen).FCTextBox("TbCantidadF").ToolTip = "Cuenta con sección almacen"
-
- ' Else
- ' GvDatos.Rows(IndexSeccionAlmacen).FCTextBox("TbCantidadF").Enabled = True
- ' GvDatos.Rows(IndexSeccionAlmacen).FCTextBox("TbCantidadF").ToolTip = ""
-
- ' End If
-
- ' If DtSeccionAlmacen.SUMD("CantidadSeccionAlmacen") > 0 Then
- ' DdlAlmacen.Enabled = False
- ' DdlAlmacen.ToolTip = "Cuenta con sección almacen"
- ' Else
- ' DdlAlmacen.Enabled = True
- ' DdlAlmacen.ToolTip = ""
- ' End If
-
- ' UpModalSeccionAlmacen.Update()
- ' UpDatos.Update()
- ' UpGenerales.Update()
- 'End Sub
-
- 'Protected Sub LnkAddSeccionAlmacen_Click(sender As Object, e As EventArgs)
-
- ' Dim ObjInv As New ClsInventarios
- ' Dim CantidadDisponible As Decimal = 0
- ' If ObjInv.GetMovimientosDetalleSeccionesAlmacen(DdlSeccionAlmacen.SelectedValue.ToEntero, DdlAlmacen.SelectedValue.ToEntero,
- ' CvePS, UsuarioActual.CveEmpresa) Then
- ' If ObjInv.DtResultados.Rows.Count > 0 Then
- ' CantidadDisponible = ObjInv.DtResultados.Rows(0)("CantidadRestante").ToString.ToDecimal
- ' End If
- ' End If
- ' ObjInv.Dispose()
-
- ' CantidadDisponible -= DtSeccionAlmacen.FiltraParametros($"CvePS = {CvePS} AND CveSeccionAlmacen = {DdlSeccionAlmacen.SelectedValue}").SUMD("CantidadSeccionAlmacen")
-
- ' If TxtCantidadSeccion.Text.ToDecimal > CantidadDisponible Then
- ' Alert($"No tiene cantidad de producto suficiente en esta seccion de almacen, su cantidad restante es: {CantidadDisponible}", TipoMensaje.MsgAdvertencia)
- ' Exit Sub
- ' End If
-
- ' Dim Row As DataRow = Nothing
- ' DtSeccionAlmacen.AcceptChanges()
- ' Row = DtSeccionAlmacen.NewRow
- ' Row("CantidadSeccionAlmacen") = TxtCantidadSeccion.Text.ToDecimal
- ' Row("IndexSeccionAlmacen") = IndexSeccionAlmacen
- ' Row("CveSeccionAlmacen") = DdlSeccionAlmacen.SelectedValue.ToEntero
- ' Row("SeccionAlmacen") = DdlSeccionAlmacen.SelectedItem.Text
- ' Row("CvePS") = CvePS
- ' Row("Consec") = DtSeccionAlmacen.Rows.Count + 1
- ' DtSeccionAlmacen.Rows.Add(Row)
- ' DtSeccionAlmacen.AcceptChanges()
- ' CargaSeccionAlmacen()
- 'End Sub
-
- 'Protected Sub LnkEliminarSeccion_Click(sender As Object, e As EventArgs)
- ' Dim gvRow As GridViewRow = DirectCast((DirectCast(sender, LinkButton)).NamingContainer, GridViewRow)
- ' Dim Index As Integer = 0
- ' For Each Dr As DataRow In DtSeccionAlmacen.Rows
- ' If Dr("Consec").ToString.ToEntero = gvRow.DataKey("Consec").ToEntero() Then
- ' Exit For
- ' End If
- ' Index += 1
- ' Next
- ' DtSeccionAlmacen.Rows.RemoveAt(Index)
- ' DtSeccionAlmacen.AcceptChanges()
- ' CargaSeccionAlmacen()
- 'End Sub
-
- 'Protected Sub LnkVerSecciones_Click(sender As Object, e As EventArgs)
- ' If Not CveVentaSurtir > 0 Then
- ' Alert("Tiene que seleccionar la venta a surtir", TipoMensaje.MsgAdvertencia)
- ' Exit Sub
- ' End If
-
- ' If Not DdlAlmacen.SelectedValue.ToEntero > 0 Then
- ' Alert("Tiene que seleccionar el almacen", TipoMensaje.MsgAdvertencia)
- ' Exit Sub
- ' End If
-
- ' Dim ObjInv As New ClsInventarios
- ' If ObjInv.GetExistenciaSeccionAlmacen(CveVentaSurtir, DdlAlmacen.SelectedValue.ToEntero, UsuarioActual.CveEmpresa) Then
- ' GvVerSeccionesAlmacen.DataSource = ObjInv.DtResultados
- ' End If
- ' ObjInv.Dispose()
- ' GvVerSeccionesAlmacen.DataBind()
- ' UpVerSeccionesAlmacen.Update()
- ' RegistraScript("$('#ModalVerSeccionesAlmacen').modal()")
- 'End Sub
-
+ 'Private Sub CreaDtSeccionAlmacen()
+ ' DtSeccionAlmacen = New DataTable
+ ' DtSeccionAlmacen.Columns.Add("CantidadSeccionAlmacen", GetType(Decimal))
+ ' DtSeccionAlmacen.Columns.Add("IndexSeccionAlmacen", GetType(Integer))
+ ' DtSeccionAlmacen.Columns.Add("CveSeccionAlmacen", GetType(Integer))
+ ' DtSeccionAlmacen.Columns.Add("CvePS", GetType(Integer))
+ ' DtSeccionAlmacen.Columns.Add("SeccionAlmacen", GetType(String))
+ ' DtSeccionAlmacen.Columns.Add("Consec", GetType(Integer))
+ 'End Sub
+ 'Private Sub CargaDdlAlmacen()
+ ' DdlSeccionAlmacen.DataSource = GlobalDTSeccionAlmacen(UsuarioActual.CveEmpresa, -1)
+ ' DdlSeccionAlmacen.Items.Insert(0, New ListItem("Seleccione", "-1"))
+ ' DdlSeccionAlmacen.DataBind()
+ 'End Sub
+ 'Protected Sub LnkSeccionAlmacen_Click(sender As Object, e As EventArgs)
+ ' Dim gvRow As GridViewRow = DirectCast((DirectCast(sender, LinkButton)).NamingContainer, GridViewRow)
+
+ ' If Not DdlAlmacen.SelectedValue.ToEntero > 0 Then
+ ' Alert("Tiene que tener seleccionado un almacen para registrar seccion almacen.", TipoMensaje.MsgAdvertencia)
+ ' Exit Sub
+ ' End If
+
+ ' CantidadTotal = gvRow.FCTextBox("TbCantidadF").Text.ToDecimal
+ ' IndexSeccionAlmacen = gvRow.RowIndex
+ ' CvePS = gvRow.DataKey("CvePS").ToEntero
+ ' CargaSeccionAlmacen()
+ ' RegistraScript("$('#DModalSeccionAlmacen').modal()")
+ 'End Sub
+
+ 'Private Sub CargaSeccionAlmacen()
+ ' Dim CantidadTotalSeccion As Decimal = DtSeccionAlmacen.FiltraParametros($"IndexSeccionAlmacen = {IndexSeccionAlmacen}").SUMD("CantidadSeccionAlmacen")
+ ' GvSeccion.DataSource = DtSeccionAlmacen.FiltraParametros($"IndexSeccionAlmacen = {IndexSeccionAlmacen}")
+ ' GvSeccion.DataBind()
+
+ ' TxtCantidadSeccion.Text = ""
+ ' DdlSeccionAlmacen.SelectedIndex = 0
+ ' Dim CantidadRestante As Decimal = CantidadTotal - CantidadTotalSeccion
+ ' If CantidadRestante = 0 Then
+ ' RVTxtCantidad.MaximumValue = "1"
+ ' TxtCantidadSeccion.Enabled = False
+ ' Else
+ ' RVTxtCantidad.MaximumValue = CantidadRestante.ToString
+ ' TxtCantidadSeccion.Enabled = True
+ ' End If
+
+ ' If CantidadTotalSeccion > 0 Then
+ ' GvDatos.Rows(IndexSeccionAlmacen).FCTextBox("TbCantidadF").Enabled = False
+ ' GvDatos.Rows(IndexSeccionAlmacen).FCTextBox("TbCantidadF").ToolTip = "Cuenta con sección almacen"
+
+ ' Else
+ ' GvDatos.Rows(IndexSeccionAlmacen).FCTextBox("TbCantidadF").Enabled = True
+ ' GvDatos.Rows(IndexSeccionAlmacen).FCTextBox("TbCantidadF").ToolTip = ""
+
+ ' End If
+
+ ' If DtSeccionAlmacen.SUMD("CantidadSeccionAlmacen") > 0 Then
+ ' DdlAlmacen.Enabled = False
+ ' DdlAlmacen.ToolTip = "Cuenta con sección almacen"
+ ' Else
+ ' DdlAlmacen.Enabled = True
+ ' DdlAlmacen.ToolTip = ""
+ ' End If
+
+ ' UpModalSeccionAlmacen.Update()
+ ' UpDatos.Update()
+ ' UpGenerales.Update()
+ 'End Sub
+
+ 'Protected Sub LnkAddSeccionAlmacen_Click(sender As Object, e As EventArgs)
+
+ ' Dim ObjInv As New ClsInventarios
+ ' Dim CantidadDisponible As Decimal = 0
+ ' If ObjInv.GetMovimientosDetalleSeccionesAlmacen(DdlSeccionAlmacen.SelectedValue.ToEntero, DdlAlmacen.SelectedValue.ToEntero,
+ ' CvePS, UsuarioActual.CveEmpresa) Then
+ ' If ObjInv.DtResultados.Rows.Count > 0 Then
+ ' CantidadDisponible = ObjInv.DtResultados.Rows(0)("CantidadRestante").ToString.ToDecimal
+ ' End If
+ ' End If
+ ' ObjInv.Dispose()
+
+ ' CantidadDisponible -= DtSeccionAlmacen.FiltraParametros($"CvePS = {CvePS} AND CveSeccionAlmacen = {DdlSeccionAlmacen.SelectedValue}").SUMD("CantidadSeccionAlmacen")
+
+ ' If TxtCantidadSeccion.Text.ToDecimal > CantidadDisponible Then
+ ' Alert($"No tiene cantidad de producto suficiente en esta seccion de almacen, su cantidad restante es: {CantidadDisponible}", TipoMensaje.MsgAdvertencia)
+ ' Exit Sub
+ ' End If
+
+ ' Dim Row As DataRow = Nothing
+ ' DtSeccionAlmacen.AcceptChanges()
+ ' Row = DtSeccionAlmacen.NewRow
+ ' Row("CantidadSeccionAlmacen") = TxtCantidadSeccion.Text.ToDecimal
+ ' Row("IndexSeccionAlmacen") = IndexSeccionAlmacen
+ ' Row("CveSeccionAlmacen") = DdlSeccionAlmacen.SelectedValue.ToEntero
+ ' Row("SeccionAlmacen") = DdlSeccionAlmacen.SelectedItem.Text
+ ' Row("CvePS") = CvePS
+ ' Row("Consec") = DtSeccionAlmacen.Rows.Count + 1
+ ' DtSeccionAlmacen.Rows.Add(Row)
+ ' DtSeccionAlmacen.AcceptChanges()
+ ' CargaSeccionAlmacen()
+ 'End Sub
+
+ 'Protected Sub LnkEliminarSeccion_Click(sender As Object, e As EventArgs)
+ ' Dim gvRow As GridViewRow = DirectCast((DirectCast(sender, LinkButton)).NamingContainer, GridViewRow)
+ ' Dim Index As Integer = 0
+ ' For Each Dr As DataRow In DtSeccionAlmacen.Rows
+ ' If Dr("Consec").ToString.ToEntero = gvRow.DataKey("Consec").ToEntero() Then
+ ' Exit For
+ ' End If
+ ' Index += 1
+ ' Next
+ ' DtSeccionAlmacen.Rows.RemoveAt(Index)
+ ' DtSeccionAlmacen.AcceptChanges()
+ ' CargaSeccionAlmacen()
+ 'End Sub
+
+ 'Protected Sub LnkVerSecciones_Click(sender As Object, e As EventArgs)
+ ' If Not CveVentaSurtir > 0 Then
+ ' Alert("Tiene que seleccionar la venta a surtir", TipoMensaje.MsgAdvertencia)
+ ' Exit Sub
+ ' End If
+
+ ' If Not DdlAlmacen.SelectedValue.ToEntero > 0 Then
+ ' Alert("Tiene que seleccionar el almacen", TipoMensaje.MsgAdvertencia)
+ ' Exit Sub
+ ' End If
+
+ ' Dim ObjInv As New ClsInventarios
+ ' If ObjInv.GetExistenciaSeccionAlmacen(CveVentaSurtir, DdlAlmacen.SelectedValue.ToEntero, UsuarioActual.CveEmpresa) Then
+ ' GvVerSeccionesAlmacen.DataSource = ObjInv.DtResultados
+ ' End If
+ ' ObjInv.Dispose()
+ ' GvVerSeccionesAlmacen.DataBind()
+ ' UpVerSeccionesAlmacen.Update()
+ ' RegistraScript("$('#ModalVerSeccionesAlmacen').modal()")
+ 'End Sub
+
#End Region
-
+
#Region "DIVIDIR"
-
+
Protected Sub Dividir(sender As Object, e As EventArgs)
Dim index2 As Integer = 0
@@ -3463,11 +3463,11 @@ Partial Class Inventarios_EntregaAlmacen
index2 += 1
Next
- End Sub
-
-
+ End Sub
+
+
#End Region
-
+
#Region " GUIAS - SABE QUE ES PORQUE NO VEO QUE SE UTILIZE EN ALGUNA PARTE - EN MIRAS DE ELIMINAR - IPP 24 AGOSTO 2017 "
Private Sub BtnNumeroGuia_Click(sender As Object, e As EventArgs) Handles BtnNumeroGuia.Click
Dim Objeto As New ClsInventarios
@@ -3501,11 +3501,11 @@ Partial Class Inventarios_EntregaAlmacen
End If
- End Sub
+ End Sub
#End Region
-
+
#Region "SUGERENCIAS"
-
+
Protected Sub BtnVerSugerencias_Click(sender As Object, e As EventArgs)
If Not CveVentaSurtir > 0 Then
Alert("Tiene que seleccionar la venta a surtir", TipoMensaje.MsgAdvertencia)
@@ -3605,12 +3605,12 @@ Partial Class Inventarios_EntregaAlmacen
params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Usuario))
ImprimirPDF("Empresas/Grales/Formatos/RepEntregaAlmacenSugerencia.rdlc", DtDatosSugerencias, params, "Equipo GPS")
- End Sub
-
+ End Sub
+
#End Region
-
+
#Region "TipoEntrega"
-
+
Protected Sub EntregaRadioGroup_Click(sender As Object, e As EventArgs)
If RbEntregaExterna.Checked Then
RegistraScript("AbrirVentana('/General/PopUpPaqueteriasGuias.aspx',800,547,'N')")
@@ -3630,8 +3630,8 @@ Partial Class Inventarios_EntregaAlmacen
TxtNoCajas.Text = ""
TxtObservacionesPaqInterna.Text = ""
UpPaqInterna.Update()
- End Sub
+ End Sub
#End Region
-
-
+
+
End Class
diff --git a/Inventarios/RecepcionAlmacen.aspx.vb b/Inventarios/RecepcionAlmacen.aspx.vb
index 97c27073b..b93c5b5f8 100644
--- a/Inventarios/RecepcionAlmacen.aspx.vb
+++ b/Inventarios/RecepcionAlmacen.aspx.vb
@@ -850,7 +850,7 @@ Partial Class Inventarios_RecepcionAlmacen
TipoCambio = ObjCompras.DtResultados.Rows(0)("TipoCambio").ToString.ToDecimal
TipoMovimiento = If(ObjCompras.DtResultados.Rows(0)("EstatusAlmacen").ToString.ToEntero = 1, 2, 1)
TipoMovimiento = If(ObjCompras.DtResultados.Rows(0)("TipoDocto").ToString.Contiene("NC", "DEV"), 3, TipoMovimiento)
- TotalCompraOC = ObjCompras.DtResultados.Rows(0)("SubTotal").ToString.ToDecimal
+ TotalCompraOC = ObjCompras.DtResultados.Rows(0)("SubTotal").ToString.ToDecimal - ObjCompras.DtResultados.Rows(0)("Descuentos").ToString.ToDecimal
CveTipoCompra = ObjCompras.DtResultados.Rows(0)("CveTipoCompra").ToString.ToEntero
If TipoMovimiento = 3 Then
@@ -1259,6 +1259,9 @@ Partial Class Inventarios_RecepcionAlmacen
e.Row.FCTextBox("TbCantidadF").Text = e.Row.DBCampo("CantidadF").FormatoNumero
e.Row.FCTextBox("TbCantidadF").Enabled = False
End If
+ If UsuarioActual.CveRol = 1 Then 'carga la cantidad con el rol AD
+ e.Row.FCTextBox("TbCantidadF").Text = e.Row.DBCampo("CantidadF").FormatoNumero
+ End If
End If
If CBool(e.Row.DBCampo("AplicaSeccion")) Then
@@ -2155,6 +2158,7 @@ Partial Class Inventarios_RecepcionAlmacen
Private Sub GuardaCompraOC()
Dim CveMovimiento As Integer
+ Dim CveMovimientoOriginal As Integer
' Dim CveMovimientoS
Dim InvFolio As String = ""
@@ -2203,6 +2207,7 @@ Partial Class Inventarios_RecepcionAlmacen
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, Modulo:="RA/G1")
If CveMovimiento > 0 Then
+ CveMovimientoOriginal = CveMovimiento
InvFolio = ObjInventario.Folio.ToString
Dim DtDetalle As New DataTable
Dim DtDetalleLote As New DataTable
@@ -2283,7 +2288,7 @@ Partial Class Inventarios_RecepcionAlmacen
''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
+ If Not ErrorMovInv AndAlso RecibidaCompleta AndAlso ObjInventario.GetMovimientosDetalle(CveMovimientoOriginal, 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
@@ -2297,6 +2302,8 @@ Partial Class Inventarios_RecepcionAlmacen
End If
End If
+ Dim ImporteIngresoAdicional As Decimal = 0
+
'SI RECEPCION VALIDA [ENTREGADIRECTA, APARTADOS, AC]
If TipoMovimiento = 1 Then
'ENTREGA DIRECTA
@@ -2410,45 +2417,11 @@ Partial Class Inventarios_RecepcionAlmacen
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()
+ If ObjInventario.GetMovimientosDetalleVirtual(CveMovimiento, UsuarioActual.CveEmpresa) Then
+ DtPSVirtual = ObjInventario.DtResultados
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()
@@ -2461,8 +2434,8 @@ Partial Class Inventarios_RecepcionAlmacen
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 Decimal = RowUsado("PU").ToString().ToDecimal()
+ Dim CantidadUsado As Decimal = RowUsado("Cantidad").ToString().ToDecimal()
+ Dim PU As Decimal = RowUsado("Cargo").ToString().ToDecimal()
Dim CveUM As Integer = RowUsado("CveUM").ToString().ToEntero()
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoVirtual, CantidadUsado, CveUM, CvePS, PU, -1, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
@@ -2470,6 +2443,12 @@ Partial Class Inventarios_RecepcionAlmacen
Exit For
End If
Next
+ If ObjInventario.GetMovimientosDetalle(CveMovimientoVirtual, UsuarioActual.CveEmpresa) Then
+ ImporteIngresoAdicional = ObjInventario.DtResultados.SUMD("TotalOriginal")
+ End If
+
+ Else
+ ErrorMovInv = True
End If
End If
@@ -2549,8 +2528,6 @@ Partial Class Inventarios_RecepcionAlmacen
Else
-
-
'VIRTUAL
If CveTipoCompra = 9 And UsuarioActual.Empresa.Funcionalidad(573) = "1" Then
@@ -2618,6 +2595,27 @@ Partial Class Inventarios_RecepcionAlmacen
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 Then
+ If ObjInventario.GetMovimientosDetalle(CveMovimientoOriginal, UsuarioActual.CveEmpresa) Then
+ Dim dtt As DataTable = ObjInventario.DtResultados
+ Dim tTotalInsertado As Decimal = dtt.SUMD("TotalOriginal") + ImporteIngresoAdicional
+ 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.RoundSQL.ToString, TipoMensaje.MsgError)
+ GuardaLog("La Entrada no coincide con el valor del documento." & Math.Round(TotalCompraOC * If(TipoCambio > 1, TipoCambio, 1), 2) & " -" & tTotalInsertado.RoundSQL.ToString)
+ End If
+ Else
+ ErrorMovInv = True
+ End If
+ End If
+ ' End If
+
'ACTUALIZA ESTATUS ALMACEN
If TipoMovimiento = 2 Then
If Not ObjCompras.UpdateEstatusAlmacen(CveCompraSurtir, 0) Then
@@ -2631,212 +2629,212 @@ Partial Class Inventarios_RecepcionAlmacen
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
+ If TipoMovimiento = 1 AndAlso Not ErrorMovInv Then
+ If ObjInventario.GetMovimientosDetalle(CveMovimiento, UsuarioActual.CveEmpresa) Then
- '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
+ 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
- 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
+ '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 ObjConta.GetRetCuenta(205, UsuarioActual.CveEmpresa) AndAlso ObjConta.DtResultados.Rows.Count > 0 Then
- IdCtaContableRecepcion = ObjConta.DtResultados.FiltroPrimeroValor("IdCtaContable").ToEntero
+ 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 UsaComplementariaFleteImportaciones AndAlso ObjConta.GetRetCuenta(230, UsuarioActual.CveEmpresa) AndAlso ObjConta.DtResultados.Rows.Count > 0 Then
- IdCtaContableRecepcionME = ObjConta.DtResultados.FiltroPrimeroValor("IdCtaContable").ToEntero
+ 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
-
- 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 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
- If UsaComplementariaFleteImportaciones AndAlso ObjConta.GetRetCuenta(176, UsuarioActual.CveEmpresa) AndAlso ObjConta.DtResultados.Rows.Count > 0 Then
- IdCtaContableRecepcion = ObjConta.DtResultados.FiltroPrimeroValor("IdCtaContable").ToEntero
- End If
+ '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)
- If UsaComplementariaFleteImportaciones AndAlso ObjConta.GetRetCuenta(228, UsuarioActual.CveEmpresa) AndAlso ObjConta.DtResultados.Rows.Count > 0 Then
- IdCtaContableRecepcionME = ObjConta.DtResultados.FiltroPrimeroValor("IdCtaContable").ToEntero
- End If
+ '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 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
+ 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
- ErrorMovInv = True
- Exit For
+ 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
- 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
+ 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
+ Next
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
+ 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
- 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
+ Else
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
+ 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
-
+ Else
+ ErrorMovInv = True
+ MensajeError = "Error al obtener movimientos"
End If
- Else
- ErrorMovInv = True
- MensajeError = "Error al obtener movimientos"
End If
-
'PREPOLIZA - NC
- If TipoMovimiento = 3 Then
+ If TipoMovimiento = 3 AndAlso Not ErrorMovInv Then
If ObjInventario.GetMovimientosDetalle(CveMovimiento, UsuarioActual.CveEmpresa) Then
-
-
Dim DtCostos As DataTable = Nothing
DtCostos = ObjInventario.DtResultados
- Dim TotalCosto As Decimal = DtCostos.SUM("Total").ToDecimal
+ Dim TotalCosto As Decimal = DtCostos.SUMD("Total").RoundSQL
Dim TotalNC As Decimal = 0
Dim CveClasificacionDifCostoNC = -1
@@ -2850,11 +2848,9 @@ Partial Class Inventarios_RecepcionAlmacen
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)
+ TotalNC = TotalNC.RoundSQL
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
diff --git a/Inventarios/TraspasoAlmacen.aspx.vb b/Inventarios/TraspasoAlmacen.aspx.vb
index b7bfeeb5c..fa0be78b9 100644
--- a/Inventarios/TraspasoAlmacen.aspx.vb
+++ b/Inventarios/TraspasoAlmacen.aspx.vb
@@ -653,13 +653,33 @@ Partial Class Inventarios_TraspasoAlmacen
End If
End If
+ Dim DrAlmO, DrAlmD As DataRow
+ Dim CveSucursalOrigen, CveSucursalDestino As Integer
+ Dim TipoAlmacenOrigen, TipoAlmacenDestino As Integer
+ Dim CveSubProyectoOrigen, CveSubProyectoDestino As Integer
+ Dim IdCtaContableOrigen, IdCtaContableDestino As Integer
+
+ DrAlmO = GlobalDTAlmacen(UsuarioActual.CveEmpresa, CveAlmacen:=DdlAlmacenOrigen.SelectedValue.ToEntero).FiltroPrimero("")
+ DrAlmD = GlobalDTAlmacen(UsuarioActual.CveEmpresa, CveAlmacen:=DdlAlmacenDestino.SelectedValue.ToEntero).FiltroPrimero("")
+
+ If DrAlmO IsNot Nothing AndAlso DrAlmD IsNot Nothing Then
+ CveSucursalOrigen = DrAlmO("CveSubProyecto").ToString.ToEntero
+ TipoAlmacenOrigen = DrAlmO("CveTipoAlmacen").ToString.ToEntero
+ CveSubProyectoOrigen = DrAlmO("CveSubProyecto").ToString.ToEntero
+ IdCtaContableOrigen = DrAlmO("IdCtaContable").ToString.ToEntero
+
+ CveSucursalDestino = DrAlmD("CveSubProyecto").ToString.ToEntero
+ TipoAlmacenDestino = DrAlmD("CveTipoAlmacen").ToString.ToEntero
+ CveSubProyectoDestino = DrAlmD("CveSubProyecto").ToString.ToEntero
+ IdCtaContableDestino = DrAlmO("IdCtaContable").ToString.ToEntero
+
+ End If
+
'VALIDA ALMACEN DISTINTA SUCURSAL DEBE SER TRANSITORIO
If Not UsuarioActual.CveEmpresa.Contiene(7, 140) Then '[IPP] EMPRESA VIGILANCIA NO OCUPA TRANSITORIOS - TIENEN MIL SUCURSALES Xd
If Not ChkTransitorio.Checked Then
- Dim CveSucursalOrigen = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $"CveAlmacen = {DdlAlmacenOrigen.SelectedValue.ToEntero}")
- Dim CveSucursalDestino = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $"CveAlmacen = {DdlAlmacenDestino.SelectedValue.ToEntero}")
- If Not GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveTipoAlmacen", $"CveAlmacen = {DdlAlmacenDestino.SelectedValue.ToEntero}").Contiene("21", "26") Then 'NO SE VALIDA CUANDO EL TIPO DE ALMACEN DESTINO ES DE DEVOLUCION
+ If Not TipoAlmacenDestino.Contiene(21, 26) Then 'NO SE VALIDA CUANDO EL TIPO DE ALMACEN DESTINO ES DE DEVOLUCION
If CveSucursalOrigen <> CveSucursalDestino Then
Alert("Por ser un traspaso entre sucursales es necesario indicar que el traspaso es transitorio.", TipoMensaje.MsgAdvertencia)
RegistraScript("playsonidito(''142608__autistic-lucario__error.wav'');", "SonidoError")
@@ -757,9 +777,6 @@ Partial Class Inventarios_TraspasoAlmacen
Dim TotalCantidad As Decimal = DtMovimientos.SUMD("Cantidad")
- Dim TipoAlmacenOrigen = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveTipoAlmacen", $"CveAlmacen = {DdlAlmacenOrigen.SelectedValue.ToEntero}").ToEntero
- Dim TipoAlmacenDestino = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveTipoAlmacen", $"CveAlmacen = {DdlAlmacenDestino.SelectedValue.ToEntero}").ToEntero
-
''[IPP-1Noviembre2018] SE COMENTA PORQUE NO TIENE NI PIES NI CABEZA. LE FALTA DESARROLLO
'If (TipoAlmacenOrigen = 14 Or TipoAlmacenDestino = 14) And TipoAlmacenOrigen <> TipoAlmacenDestino Then
' ObjInventario.Dispose()
@@ -813,9 +830,9 @@ Partial Class Inventarios_TraspasoAlmacen
'VIRTUAL SALIDA
If UsuarioActual.Empresa.Funcionalidad(573) = "1" Then
- Dim CveSubProyecto As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $"CveAlmacen= {DdlAlmacenOrigen.SelectedValue}").ToEntero()
+ 'Dim CveSubProyecto As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $"CveAlmacen= {DdlAlmacenOrigen.SelectedValue}").ToEntero()
- Dim CveAlmacenVirtual As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa, 24).FiltroPrimeroValor("CveAlmacen", $"CveSubProyecto={CveSubProyecto}").ToEntero()
+ Dim CveAlmacenVirtual As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa, 24).FiltroPrimeroValor("CveAlmacen", $"CveSubProyecto={CveSubProyectoOrigen}").ToEntero()
CveMovimientoVirtualSalida = ObjInventario.AddMovimiento(CveAlmacenVirtual, 37, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, Observaciones:=TxtObservaciones.Text.Trim, Modulo:="TA/V", CveMovimientoRelacionado:=CveMovimientoSalida)
FolioVirtualSalida = ObjInventario.Folio
@@ -845,7 +862,7 @@ Partial Class Inventarios_TraspasoAlmacen
Dim TipoMovimientoEntrada = 27
AlmacenEntrada = If(ChkTransitorio.Checked, DdlAlmacenTransitorio.SelectedValue.ToEntero, DdlAlmacenDestino.SelectedValue.ToEntero)
- Dim TipoAlmacenEntrada As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveTipoAlmacen", $"CveAlmacen = {AlmacenEntrada}").ToEntero()
+ 'Dim TipoAlmacenEntrada As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveTipoAlmacen", $"CveAlmacen = {AlmacenEntrada}").ToEntero()
CveMovimientoEntrada = ObjInventario.AddMovimiento(AlmacenEntrada, TipoMovimientoEntrada, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, -1, -1,
Observaciones:=TxtObservaciones.Text.Trim, Recibio:=If(ChkTransitorio.Checked, TxtResponsable.Text.Trim, "-1"),
@@ -858,7 +875,7 @@ Partial Class Inventarios_TraspasoAlmacen
If ObjInventario.GetMovimientosDetalle(CveMovimientoSalida, UsuarioActual.CveEmpresa) Then
Dim Cont As Integer = 0
For Each Dr As DataRow In ObjInventario.DtResultados.Rows
- Dim CostoEntrada As Decimal = If(TipoAlmacenEntrada = 26, 0, Dr("PU").ToString.ToDecimal())
+ Dim CostoEntrada As Decimal = If(TipoAlmacenDestino = 26, 0, Dr("PU").ToString.ToDecimal())
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntrada, Dr("Cantidad").ToString.ToDouble, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, CostoEntrada, CveAF:=Dr("CveAF").ToString.ToEntero, CveSeccionAlmacen:=-1, Serie:=Dr("Serie").ToString, Lote:=Dr("Lote").ToString, FechaCaducidad:=Dr("FechaCaducidad").ToString.ToDate, CveMovimientoDetalleEntrada:=Dr("CveMovimientoDetalle").ToString.ToEntero, Observaciones:=Dr("Observaciones").ToString) Then
ErrorMovInv = True
TextoError = "Ocurrió un error al guardar los movimientos de entrada"
@@ -870,9 +887,9 @@ Partial Class Inventarios_TraspasoAlmacen
End If
'VIRTUAL ENTRADA
If UsuarioActual.Empresa.Funcionalidad(573) = "1" Then
- Dim CveSubProyecto As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $"CveAlmacen= {DdlAlmacenDestino.SelectedValue}").ToEntero()
+ 'Dim CveSubProyecto As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $"CveAlmacen= {DdlAlmacenDestino.SelectedValue}").ToEntero()
- Dim CveAlmacenVirtual As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveAlmacen", $" CveTipoAlmacen =24 AND CveSubProyecto={CveSubProyecto}").ToEntero()
+ Dim CveAlmacenVirtual As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveAlmacen", $" CveTipoAlmacen =24 AND CveSubProyecto={CveSubProyectoDestino }").ToEntero()
CveMovimientoVirtualEntrada = ObjInventario.AddMovimiento(CveAlmacenVirtual, 36, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, Observaciones:=TxtObservaciones.Text.Trim, CveMovimientoRelacionado:=CveMovimientoSalida, Modulo:="TA/S3")
FolioVirtualEntrada = ObjInventario.Folio
@@ -904,17 +921,33 @@ Partial Class Inventarios_TraspasoAlmacen
Dim resultado As DataTable = ObjInventario.DtResultados
Dim importe As Decimal = resultado.SUMD("Total").RoundSQL
- Dim IdCtaContableSalida As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContable", String.Format("CveAlmacen = {0}", DdlAlmacenOrigen.SelectedValue.ToEntero)).ToEntero
- Dim IdCtaContableEntrada As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContable", String.Format("CveAlmacen = {0}", DdlAlmacenDestino.SelectedValue.ToEntero)).ToEntero
+ 'Dim IdCtaContableSalida As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContable", String.Format("CveAlmacen = {0}", DdlAlmacenOrigen.SelectedValue.ToEntero)).ToEntero
+ 'Dim IdCtaContableEntrada As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContable", String.Format("CveAlmacen = {0}", DdlAlmacenDestino.SelectedValue.ToEntero)).ToEntero
Dim Contabilizable As Boolean = True
- If IdCtaContableSalida = IdCtaContableEntrada Then Contabilizable = False
+ If IdCtaContableOrigen = IdCtaContableDestino And TipoAlmacenDestino <> 26 Then Contabilizable = False
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, importe, TxtObservaciones.Text, 68, TxtObservaciones.Text, Fecha, IdCtaContableSalida, -1, CveMovimientoAlmacen:=CveMovimientoSalida, Contabilizable:=Contabilizable, ImporteMX:=importe) Then
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, importe, TxtObservaciones.Text, 68, TxtObservaciones.Text, Fecha, IdCtaContableOrigen, -1, CveMovimientoAlmacen:=CveMovimientoSalida, Contabilizable:=Contabilizable, ImporteMX:=importe) Then
ErrorMovInv = True
End If
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, importe, TxtObservaciones.Text, 68, TxtObservaciones.Text, Fecha, IdCtaContableEntrada, -1, CveMovimientoAlmacen:=CveMovimientoEntrada, Contabilizable:=Contabilizable, ImporteMX:=importe) Then
+ 'si el tipo de almacen de entrada es Almacen sin costo, se registra al costo, la salida.
+ If TipoAlmacenOrigen <> 26 AndAlso TipoAlmacenDestino = 26 Then
+
+ Dim tCveClasificacion As Integer = DtMovimientos.MAX("CveClasificacion").ToEntero
+ Dim dr As DataRow = GlobalDTClasificaciones(UsuarioActual.CveEmpresa, CveClasificacion:=tCveClasificacion).FiltroPrimero("")
+ Dim IdCuentaCostos As Integer = -1
+ If dr IsNot Nothing Then
+ IdCuentaCostos = dr("IdCuentaCostos").ToString.ToEntero
+ End If
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, -importe, TxtObservaciones.Text, 69, TxtObservaciones.Text, Fecha, IdCuentaCostos, -1, CveClasificacion:=tCveClasificacion, CveSubProyecto:=CveSubProyectoOrigen, CveMovimientoAlmacen:=CveMovimientoSalida, Contabilizable:=Contabilizable, ImporteMX:=-importe) Then
+ ErrorMovInv = True
+ End If
+ Contabilizable = False
+ importe = 0
+ End If
+
+ If Not ErrorMovInv AndAlso Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, importe, TxtObservaciones.Text, 68, TxtObservaciones.Text, Fecha, IdCtaContableDestino, -1, CveMovimientoAlmacen:=CveMovimientoEntrada, Contabilizable:=Contabilizable, ImporteMX:=importe) Then
ErrorMovInv = True
End If
End If
@@ -1083,6 +1116,7 @@ Partial Class Inventarios_TraspasoAlmacen
Mensaje.AppendFormat("
Folio: {0}", FolioMov, CveMovimiento)
Alert(Mensaje.ToString, TipoMensaje.MsgInformacion)
+ Mensaje.Clear()
LimpiaMovimiento()