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()