diff --git a/App_Code/ClsInventarios.vb b/App_Code/ClsInventarios.vb index 926d626e3..8658e18f9 100644 --- a/App_Code/ClsInventarios.vb +++ b/App_Code/ClsInventarios.vb @@ -63,6 +63,8 @@ Public Class ClsInventarios Public Property FolioRelacionado As Integer Public Property TieneRelacionado As Integer Public Property ConceptoRelacionado As String + Public Property CveMovimientoVirtual As Integer + Public Property FolioVirtual As Integer Public Property Folio As Integer Public Property IDPoliza As Integer Public Property CvePrePoliza As Integer @@ -826,6 +828,9 @@ Public Class ClsInventarios FolioRelacionado = dr("FolioRelacionado").ToString.ToEntero TieneRelacionado = If(dr("TieneRelacionado").ToString.ToEntero > 0, 1, -1) ConceptoRelacionado = dr("ConceptoRelacionado").ToString + CveMovimientoVirtual = dr("CveMovimientoVirtual").ToString.ToEntero + FolioVirtual = dr("FolioVirtual").ToString.ToEntero + TipoCambio = dr("TipoCambio").ToString.ToDouble FolioVenta = dr("FolioVenta").ToString CveOrdenCompra = dr("CveOrdenCompra").ToString.ToEntero diff --git a/Inventarios/EntradasSalidas.aspx b/Inventarios/EntradasSalidas.aspx index 6a4835610..6f7b77734 100644 --- a/Inventarios/EntradasSalidas.aspx +++ b/Inventarios/EntradasSalidas.aspx @@ -455,30 +455,24 @@
-
+
-
+
-
+
Ver Compra @@ -488,10 +482,9 @@
-
+
@@ -499,24 +492,28 @@ <%----%>
-
+
-
+
- ver + ver +
+
+
+ +
+ Virtual
diff --git a/Inventarios/EntradasSalidas.aspx.vb b/Inventarios/EntradasSalidas.aspx.vb index 81100bbc3..3a66118f4 100644 --- a/Inventarios/EntradasSalidas.aspx.vb +++ b/Inventarios/EntradasSalidas.aspx.vb @@ -724,12 +724,12 @@ Partial Class Inventarios_EntradasSalidas Dim TMDsTR = DtMov.Rows(0)("CveMtoRel").ToString If DtMov.Rows(0)("CveMtoRel").ToString.Length > 0 Then RowMtoRel.Visible = True + lnkMtoRelacionado.NavigateUrl = "/Inventarios/EntradasSalidas.aspx?CveMovimiento=" & DtMov.Rows(0)("CveMtoRel").ToString + End If - lnkMtoRelaioando.NavigateUrl = "./EntradasSalidas.aspx?CveMovimiento=" & DtMov.Rows(0)("CveMtoRel").ToString - 'lnkMtoRelaioando.Attributes.Add("hreh", "./EntradasSalidas.aspx?CveMoviento=" & DtMov.Rows(0)("CveMtoRel").ToString) - 'lnkMtoRelaioando.Attributes.Add("target", "_blank") - Else - RowMtoRel.Visible = False + If Mov.CveMovimientoVirtual > 0 Then + DivMovtoVirtual.Visible = True + HplMtoVirtual.NavigateUrl = "/Inventarios/EntradasSalidas.aspx?CveMovimiento=" & Mov.CveMovimientoVirtual End If If (DdlAlmacen.Items.FindByValue(Mov.CveAlmacen.ToString()) Is Nothing) Then @@ -3781,45 +3781,51 @@ Partial Class Inventarios_EntradasSalidas ErrorMovInv = True End If Else - If ObjInventario.Modulo = "ASA/G1" Then + If ObjInventario.Modulo.Contiene("Consig") Then + Contabilizable = False + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not MovAlmacen, DtCostos.SUMD("Total").RoundSQL, Concepto, 95, Concepto, TxtFecha.Text.ToDate, IdCtaContable, -1, CveVenta:=CveVenta, CveMovimientoAlmacen:=CveMovimientoRelacionado, ImporteMX:=DtCostos.SUMD("Total").RoundSQL, Contabilizable:=Contabilizable) Then + ErrorMovInv = True + End If + Else + If ObjInventario.Modulo = "ASA/G1" Then Contabilizable = False If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not MovAlmacen, DtCostos.SUMD("Total").RoundSQL, Concepto, 68, Concepto, TxtFecha.Text.ToDate, IdCtaContable, -1, CveVenta:=CveVenta, CveMovimientoAlmacen:=CveMovimientoRelacionado, ImporteMX:=DtCostos.SUMD("Total").RoundSQL, Contabilizable:=Contabilizable) Then ErrorMovInv = True End If Else - If DdlConcepto.SelectedValue.Contiene("6", "22", "23", "7", "16", "21", "24") Then - 'genero las prepolizas manuales - Dim tCveConcepto As Integer = 95 - Dim CveCuenta As Integer - If UsuarioActual.CveEmpresa = 119 Then CveCuenta = 55519 - IdCtaContable = 1 - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not MovAlmacen, DtCostos.SUMD("Total"), Concepto, tCveConcepto, Concepto, TxtFecha.Text.ToDate, IdCtaContable, -1, CveVenta:=CveVenta, CveClasificacion:=-1, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=DtCostos.SUMD("Total"), CveSubProyecto:=-1, CveCuenta:=CveCuenta, Contabilizable:=Contabilizable) Then - ErrorMovInv = True - - End If - - Else - - Dim tCveSubProyecto = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $"CveAlmacen={DdlAlmacen.SelectedValue.ToEntero}").ToEntero - Dim tCveConcepto As Integer = 69 - If DdlConcepto.SelectedValue = "30" Then - tCveConcepto = 181 - IdCtaContable = UsuarioActual.Empresa.Funcionalidad(342).ToEntero - End If - - For Each RowInv As DataRow In tmpCostos.Rows - ValorInventario = DtCostos.SUM("Total", $"CveClasificacion = {RowInv("CveClasificacion")}").ToString.ToDecimal.RoundSQL - If tCveConcepto = 69 Then - IdCtaContable = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaCostos", $"CveClasificacion = {RowInv("CveClasificacion")}").ToEntero - End If - - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not MovAlmacen, ValorInventario, Concepto, tCveConcepto, Concepto, TxtFecha.Text.ToDate, IdCtaContable, -1, CveVenta:=CveVenta, CveClasificacion:=RowInv("CveClasificacion").ToString.ToEntero, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=ValorInventario, CveSubProyecto:=tCveSubProyecto) Then + If DdlConcepto.SelectedValue.Contiene("6", "22", "23", "7", "16", "21", "24") Then + 'genero las prepolizas manuales + Dim tCveConcepto As Integer = 95 + Dim CveCuenta As Integer + If UsuarioActual.CveEmpresa = 119 Then CveCuenta = 55519 + IdCtaContable = 1 + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not MovAlmacen, DtCostos.SUMD("Total"), Concepto, tCveConcepto, Concepto, TxtFecha.Text.ToDate, IdCtaContable, -1, CveVenta:=CveVenta, CveClasificacion:=-1, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=DtCostos.SUMD("Total"), CveSubProyecto:=-1, CveCuenta:=CveCuenta, Contabilizable:=Contabilizable) Then ErrorMovInv = True - Exit For + End If - Next + Else + Dim tCveSubProyecto = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $"CveAlmacen={DdlAlmacen.SelectedValue.ToEntero}").ToEntero + Dim tCveConcepto As Integer = 69 + If DdlConcepto.SelectedValue = "30" Then + tCveConcepto = 181 + IdCtaContable = UsuarioActual.Empresa.Funcionalidad(342).ToEntero + End If + + For Each RowInv As DataRow In tmpCostos.Rows + ValorInventario = DtCostos.SUM("Total", $"CveClasificacion = {RowInv("CveClasificacion")}").ToString.ToDecimal.RoundSQL + If tCveConcepto = 69 Then + IdCtaContable = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaCostos", $"CveClasificacion = {RowInv("CveClasificacion")}").ToEntero + End If + + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not MovAlmacen, ValorInventario, Concepto, tCveConcepto, Concepto, TxtFecha.Text.ToDate, IdCtaContable, -1, CveVenta:=CveVenta, CveClasificacion:=RowInv("CveClasificacion").ToString.ToEntero, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=ValorInventario, CveSubProyecto:=tCveSubProyecto) Then + ErrorMovInv = True + Exit For + End If + + Next + End If End If End If End If @@ -4456,8 +4462,6 @@ Partial Class Inventarios_EntradasSalidas End If End If - - If Not ErrorMovInv Then If ObjConta.ValidacionPrePolizaCuadre(CvePrePoliza, -1) Then ObjConta.GetPrePolizasDetalle(CvePrePoliza, UsuarioActual.CveEmpresa) @@ -4470,12 +4474,15 @@ Partial Class Inventarios_EntradasSalidas Dim RetornoVirtual As MMovimientoVirtual = Nothing If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then - RetornoVirtual = GenerarMovimientoVirtual(CveMovimiento, ObjInventario) + If CveMovimientoSalida > 0 Then RetornoVirtual = GenerarMovimientoVirtual(CveMovimientoSalida, ObjInventario) + + If RetornoVirtual IsNot Nothing Then ErrorMovInv = RetornoVirtual.TieneError + + If CveMovimientoEntrada > 0 AndAlso Not ErrorMovInv Then RetornoVirtual = GenerarMovimientoVirtual(CveMovimientoEntrada, ObjInventario) + + If RetornoVirtual IsNot Nothing Then ErrorMovInv = RetornoVirtual.TieneError End If - If RetornoVirtual IsNot Nothing Then - ErrorMovInv = RetornoVirtual.TieneError - End If If Not ErrorMovInv Then ObjInventario.Commit() ' aplica los movimientos insertados @@ -5266,7 +5273,7 @@ Partial Class Inventarios_EntradasSalidas End Sub - Private Function GenerarMovimientoVirtual(CveMovimiento As Integer, ObjInventario As ClsInventarios) As MMovimientoVirtual + Private Function GenerarMovimientoVirtual(CveMovimiento As Integer, ByRef ObjInventario As ClsInventarios) As MMovimientoVirtual Dim ErrorMovInv As Boolean = False Dim DtPSVirtual As New DataTable("DtTamanios")