diff --git a/Compras/Compras.aspx b/Compras/Compras.aspx
index 6256ef9c2..c244877bc 100644
--- a/Compras/Compras.aspx
+++ b/Compras/Compras.aspx
@@ -467,7 +467,7 @@
-
+
diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb
index f2c5ad2e7..b8598bf5b 100644
--- a/Compras/Compras.aspx.vb
+++ b/Compras/Compras.aspx.vb
@@ -6390,6 +6390,7 @@ Partial Class Compras_Compras
Case 6 'Compra
Dim AgregaMercanciaInventario As Boolean = UsuarioActual.CveEmpresa.Contiene(1, 72, 80, 119, 140, 141) AndAlso UsuarioActual.Empresa.UsaInventarios AndAlso Not UsuarioActual.Empresa.Funcionalidad(126) = "1"
+
Dim RegistraConcepto225 As Boolean = UsuarioActual.Empresa.UsaInventarios AndAlso DdlTipoComprobante.SelectedValue.Contiene("DEV") AndAlso Not UsuarioActual.Empresa.Funcionalidad(126) = "1"
If RBLPago.SelectedValue.ToEntero = 4 Then
@@ -6620,6 +6621,13 @@ Partial Class Compras_Compras
'falta el registro de la NC cuando es
Dim RegistroCuentaPuente As Boolean = False
'NC CON PRODUCTOS - CUENTA PUENTE
+
+
+ If DdlTipoComprobante.SelectedValue = "NC" And DdlTipoCompra.SelectedValue.ToEntero = 9 Then
+ RegistraConcepto225 = True
+ End If
+
+
If RegistraConcepto225 Then
importeMovimiento = TmpDT.SUM(If(ListaDocumentos IsNot Nothing AndAlso ListaDocumentos.Count > 0 AndAlso ArrAnticipos IsNot Nothing AndAlso ArrAnticipos.Count > 0 AndAlso TxtTotal.Text.ToDecimal = 0, "ImporteSinImpuestos", "Total"), $"ISNULL(TipoAF,0) <> 2 And ISNULL(CveAlmacen,0) = 0 And ISNULL(AplicaCostoIndirecto,0) <> 1 And ISNULL(CveTipoPS,0) = 2").ToString.ToDecimal
@@ -6922,6 +6930,12 @@ Partial Class Compras_Compras
CveCuenta = CveCuentaProveedorAcreedores
Case 18 'NC - Notas de Credito
+
+
+
+
+
+
importeMovimiento = importeNC
importeMN = importeMovimiento * tipoCambioActual * Multiplicador
If tipoCambioActual > 1 Then Concepto += $" TC{tipoCambioActual} ${importeMovimiento.FormatoNumero(2)}"
@@ -11509,7 +11523,7 @@ Partial Class Compras_Compras
e.Row.FCCheckBox("cbInv").Enabled = False
End If
- e.Row.FCDropDownList("ddlEAlmacen").DataSource = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1).FiltraParametros("CveTipoAlmacen IN (1,2,7,14,19)") 'GlobalDTAlmacen(UsuarioActual.CveEmpresa)
+ e.Row.FCDropDownList("ddlEAlmacen").DataSource = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1).FiltraParametros(If(DdlTipoCompra.SelectedValue.ToEntero = 9, "CveTipoAlmacen IN (21)", "CveTipoAlmacen IN (1,2,7,14,19)")) 'GlobalDTAlmacen(UsuarioActual.CveEmpresa)
e.Row.FCDropDownList("ddlEAlmacen").Items.Insert(0, New ListItem("Seleccione", "-1"))
e.Row.FCDropDownList("ddlEAlmacen").DataBind()
'e.Row.FCDropDownList("ddlEAlmacen").SelectedValue = If(e.Row.DBCampo("CveAlmacen").ToEntero <= 0, "-1", e.Row.DBCampo("CveAlmacen"))
@@ -11598,6 +11612,12 @@ Partial Class Compras_Compras
If UsuarioActual.CveUsuario.Contiene(1397, 1517, 1565) Then ' iliana, horacio, marco, RMF. 2017.03.13
StrAlmacenes = "CveTipoAlmacen IN (1,2,7,14,12,19)"
End If
+
+
+ If DdlTipoCompra.SelectedValue.ToEntero = 9 Then
+ StrAlmacenes = "CveTipoAlmacen IN (21)"
+ End If
+
e.Row.FCDropDownList("ddlAlmacen").DataSource = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1).FiltraParametros(StrAlmacenes) 'GlobalDTAlmacen(UsuarioActual.CveEmpresa)
e.Row.FCDropDownList("ddlAlmacen").Items.Insert(0, New ListItem("Seleccione", "-1"))
e.Row.FCDropDownList("ddlAlmacen").DataBind()
@@ -19619,6 +19639,10 @@ Partial Class Compras_Compras
Protected Sub DdlTipoCompra_SelectedIndexChanged(sender As Object, e As EventArgs)
+ If DdlTipoCompra.SelectedValue.ToEntero = 9 Then 'Al seleccionar apoyo logístico se cargan los amancenes de devoculcion proveedor para dar entrada
+ CargaGvInv()
+ End If
+
End Sub
#End Region
diff --git a/Inventarios/RecepcionAlmacen.aspx b/Inventarios/RecepcionAlmacen.aspx
index 8d742140e..598a258d7 100644
--- a/Inventarios/RecepcionAlmacen.aspx
+++ b/Inventarios/RecepcionAlmacen.aspx
@@ -418,7 +418,7 @@
+ DataKeyNames="EntregaDirecta,Consec,CodigoBarras,CvePS,CveUM,PU,CantidadC,CantidadF,UM,PS,CveCompraDetalle,CveOrdenCompraDetalle,PUExtranjero,AplicaSerieLote,CveClasificacion,Codigo,CveVentaDetalle,CostoIndirecto,CveTamaño,Lote, AplicaSeccion,AplicaCaducidad,AplicaLote" HeaderStyle-CssClass="Titulos" RowStyle-Height="25px" CssClass="table table-striped table-hover Widthall ScrollAD mysmallbtn" data-heighterror="450" data-freezerows="1" GridLines="None">
diff --git a/Inventarios/RecepcionAlmacen.aspx.vb b/Inventarios/RecepcionAlmacen.aspx.vb
index 05ef7a391..2ebe9aa83 100644
--- a/Inventarios/RecepcionAlmacen.aspx.vb
+++ b/Inventarios/RecepcionAlmacen.aspx.vb
@@ -30,7 +30,14 @@ Partial Class Inventarios_RecepcionAlmacen
End Property
Private Property DtInv As DataTable
Get
- Return CType(ViewState("DtInv"), DataTable)
+ If ViewState("DtInv") Is Nothing Then
+ Return New DataTable
+ Else
+ Return CType(ViewState("DtInv"), DataTable)
+ End If
+
+
+
End Get
Set(value As DataTable)
ViewState("DtInv") = value
@@ -854,9 +861,15 @@ Partial Class Inventarios_RecepcionAlmacen
If TipoMovimiento = 3 Then
CargaAlmacenes(-1, "21,2")
End If
+
+ If CveTipoCompra = 9 Then
+ CargaAlmacenes(-1, "21")
+ End If
+
RecibidaCompleta = False
Dim CargaSoloUsados As Boolean = False
+
If ObjInventario.RecepcionAlmacenGet(pCveCompra, BuscaEntregaDirecta, UsuarioActual.CveEmpresa) AndAlso ObjInventario.DtResultados.Rows.Count > 0 Then
Dim DtRecepcion As DataTable = Nothing
Dim NumUsados = ObjInventario.DtResultados.COUNT("EsUsado", "EsUsado = True").ToEntero()
@@ -1164,8 +1177,9 @@ Partial Class Inventarios_RecepcionAlmacen
Private Sub CargaGVInv()
If UsuarioActual.CveEmpresa = 119 Then
DtInv = DtInv.FiltraParametros("", "PS")
- End If
-
+ End If
+
+
For Each item As DataRow In DtInv.Rows
Dim Dr As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, item("CvePS").ToString.ToEntero).FiltroPrimero("")
If Dr IsNot Nothing Then
@@ -2098,7 +2112,10 @@ Partial Class Inventarios_RecepcionAlmacen
End Function
Private Sub GuardaCompraOC()
+
Dim CveMovimiento As Integer
+ ' Dim CveMovimientoS
+
Dim InvFolio As String = ""
Dim FechaMovto As Date = TxtFecha.Text.ToDate
@@ -2394,7 +2411,9 @@ Partial Class Inventarios_RecepcionAlmacen
If DtPSVirtual IsNot Nothing AndAlso DtPSVirtual.Rows.Count > 0 Then
Dim CveSubProyecto As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $"CveAlmacen= {DdlAlmacen.SelectedValue}").ToEntero()
- Dim CveAlmacenVirutal As Integer = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 24).FiltroPrimeroValor("CveAlmacen", $"CveSubProyecto={CveSubProyecto}").ToEntero()
+ Dim CveTipoAlmacenFiltro As Integer = If(CveTipoCompra = 9, 25, 24)
+
+ Dim CveAlmacenVirutal As Integer = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveTipoAlmacenFiltro).FiltroPrimeroValor("CveAlmacen", $"CveSubProyecto={CveSubProyecto}").ToEntero()
CveMovimientoVirtual = ObjInventario.AddMovimiento(CveAlmacenVirutal, If(TipoMovimiento > 1, 13, 2), 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCompraSurtir, -1, -1, -1, Observaciones:=TxtObservaciones.Text.Trim, Modulo:="RA/G")
FolioVirtual = ObjInventario.Folio
@@ -2486,6 +2505,76 @@ Partial Class Inventarios_RecepcionAlmacen
End If
End If
'TERMINA: DEVENGAR
+
+ Else
+
+
+
+ 'VIRTUAL
+ If CveTipoCompra = 9 And UsuarioActual.Empresa.Funcionalidad(573) = "1" Then
+
+ Dim DtPSVirtual As New DataTable("DtTamanios")
+ DtPSVirtual.Columns.Add(New DataColumn("CvePS", GetType(Integer)))
+ DtPSVirtual.Columns.Add(New DataColumn("Cantidad", GetType(Decimal)))
+ DtPSVirtual.Columns.Add(New DataColumn("PU", GetType(Decimal)))
+ DtPSVirtual.Columns.Add(New DataColumn("CveUM", GetType(Integer)))
+
+ Dim DtComprasDetalle As DataTable = Nothing
+ Dim DtTamanios As DataTable = Nothing
+
+ If ObjCompras.GetCompraDetalle(CveCompraSurtir) Then
+ DtComprasDetalle = ObjCompras.DtResultados.Copy()
+ End If
+
+ If ObjAcum.TamañoGet(-1, UsuarioActual.CveEmpresa) Then
+ DtTamanios = ObjAcum.DtResultados.Copy()
+ End If
+
+ For Each GvRow As GridViewRow In GvInv.Rows
+ If GvRow.RowType = DataControlRowType.DataRow Then
+
+ For Each Tam As DataRow In DtTamanios.Rows
+ If Tam("CveTamaño").ToString() = GvRow.DataKey("CveTamaño") Then
+ Dim CvePSCargo = Tam("CvePSCargo").ToString().ToEntero()
+ Dim RowCompraDetalle = DtComprasDetalle.FiltroPrimero($"CvePS = {CvePSCargo}")
+
+ If RowCompraDetalle IsNot Nothing Then
+ Dim Row As DataRow = DtPSVirtual.NewRow()
+ Row("CvePS") = CvePSCargo
+ Row("Cantidad") = GvRow.FCTextBox("TbCantidadF").Text.ToDecimal()
+ Row("PU") = RowCompraDetalle("PU").ToString().ToDecimal()
+ Row("CveUM") = GvRow.DataKey("CveUM").ToEntero()
+ DtPSVirtual.Rows.Add(Row)
+ End If
+
+ End If
+ Next
+
+ End If
+ Next
+
+ If DtPSVirtual IsNot Nothing AndAlso DtPSVirtual.Rows.Count > 0 Then
+ Dim CveSubProyecto As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $"CveAlmacen= {DdlAlmacen.SelectedValue}").ToEntero()
+
+ Dim CveAlmacenVirutal As Integer = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 25).FiltroPrimeroValor("CveAlmacen", $"CveSubProyecto={CveSubProyecto}").ToEntero()
+
+ CveMovimientoVirtual = ObjInventario.AddMovimiento(CveAlmacenVirutal, If(TipoMovimiento > 1, 13, 2), 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCompraSurtir, -1, -1, -1, Observaciones:=TxtObservaciones.Text.Trim, Modulo:="RA/G")
+ FolioVirtual = ObjInventario.Folio
+
+ For Each RowUsado As DataRow In DtPSVirtual.Rows
+ Dim CvePS = RowUsado("CvePS").ToString().ToEntero()
+ Dim CantidadUsado As Double = RowUsado("Cantidad").ToString().ToDouble()
+ Dim PU As Decimal = RowUsado("PU").ToString().ToDecimal()
+ Dim CveUM As Integer = RowUsado("CveUM").ToString().ToEntero()
+
+ If Not ObjInventario.AddMovimientoDetalle(CveMovimientoVirtual, CantidadUsado, CveUM, CvePS, PU, -1, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
+ ErrorMovInv = True
+ Exit For
+ End If
+ Next
+ End If
+ End If
+
End If
'ACTUALIZA ESTATUS ALMACEN
diff --git a/Inventarios/TraspasoAlmacen.aspx.vb b/Inventarios/TraspasoAlmacen.aspx.vb
index 0a27020c6..8bd8d5f1c 100644
--- a/Inventarios/TraspasoAlmacen.aspx.vb
+++ b/Inventarios/TraspasoAlmacen.aspx.vb
@@ -826,9 +826,13 @@ Partial Class Inventarios_TraspasoAlmacen
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
Dim dtvirtual As DataTable = Nothing
+ Dim dtvirtualLogistico As DataTable = Nothing
If ObjInventario.GetMovimientosDetalleVirtual(CveMovimientoSalida, UsuarioActual.CveEmpresa) Then
+
dtvirtual = ObjInventario.DtResultados
+ dtvirtualLogistico = ObjInventario.DtResultados.Copy
+
For Each RowVirtual As DataRow In dtvirtual.Rows
Dim CvePS = RowVirtual("CvePS").ToString().ToEntero()
Dim CantidadUsado As Double = RowVirtual("Cantidad").ToString().ToDouble()
@@ -840,9 +844,14 @@ Partial Class Inventarios_TraspasoAlmacen
Exit For
End If
Next
+
Else
ErrorMovInv = True
End If
+
+
+
+
End If
'AGREGAMOS LA ENTRADA
@@ -884,30 +893,34 @@ Partial Class Inventarios_TraspasoAlmacen
If UsuarioActual.Empresa.Funcionalidad(573) = "1" Then
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 CveTipoAlmacenDestipo As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveTipoAlmacen", $"CveAlmacen= {DdlAlmacenDestino.SelectedValue}").ToEntero()
+ Dim TipoAlmacenEntrada As String = If(CveTipoAlmacenDestipo = 21, "25", "24")
+
+ Dim CveAlmacenVirtual As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveAlmacen", $" CveTipoAlmacen = { TipoAlmacenEntrada } AND CveSubProyecto={CveSubProyecto}").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
- Dim dtvirtual As DataTable = Nothing
+ FolioVirtualEntrada = ObjInventario.Folio
+ Dim dtvirtual As DataTable = Nothing
- If CveMovimientoVirtualEntrada > 0 AndAlso ObjInventario.GetMovimientosDetalleVirtual(CveMovimientoEntrada, UsuarioActual.CveEmpresa) Then
- dtvirtual = ObjInventario.DtResultados
- For Each RowVirtual As DataRow In dtvirtual.Rows
- Dim CvePS = RowVirtual("CvePS").ToString().ToEntero()
- Dim CantidadUsado As Double = RowVirtual("Cantidad").ToString().ToDouble()
- Dim PU As Decimal = RowVirtual("PU").ToString().ToDecimal()
- Dim CveUM As Integer = RowVirtual("CveUM").ToString().ToEntero()
+ If CveMovimientoVirtualEntrada > 0 AndAlso ObjInventario.GetMovimientosDetalleVirtual(CveMovimientoEntrada, UsuarioActual.CveEmpresa) Then
+ dtvirtual = ObjInventario.DtResultados
+ For Each RowVirtual As DataRow In dtvirtual.Rows
+ Dim CvePS = RowVirtual("CvePS").ToString().ToEntero()
+ Dim CantidadUsado As Double = RowVirtual("Cantidad").ToString().ToDouble()
+ Dim PU As Decimal = RowVirtual("PU").ToString().ToDecimal()
+ Dim CveUM As Integer = RowVirtual("CveUM").ToString().ToEntero()
- If Not ObjInventario.AddMovimientoDetalle(CveMovimientoVirtualEntrada, CantidadUsado, CveUM, CvePS, PU, -1, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
- ErrorMovInv = True
- Exit For
- End If
- Next
- Else
- ErrorMovInv = True
+ If Not ObjInventario.AddMovimientoDetalle(CveMovimientoVirtualEntrada, CantidadUsado, CveUM, CvePS, PU, -1, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
+ ErrorMovInv = True
+ Exit For
+ End If
+ Next
+ Else
+ ErrorMovInv = True
+ End If
End If
- End If
- Dim Concepto As String = TxtObservaciones.Text
+
+ Dim Concepto As String = TxtObservaciones.Text
If Concepto = "" Then Concepto = "Traspaso"
'AGREGAMOS PREPOLIZAS TRASPASO DIRECTO:
If Not ErrorMovInv Then
@@ -922,7 +935,11 @@ Partial Class Inventarios_TraspasoAlmacen
If IdCtaContableSalida = IdCtaContableEntrada 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
+ Dim CveTipoAlmacenDestipo As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveTipoAlmacen", $"CveAlmacen= {DdlAlmacenDestino.SelectedValue}").ToEntero()
+ Dim CveConceptoPrepoliza As Integer = If(CveTipoAlmacenDestipo = 21, 225, 68)
+
+
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, importe, TxtObservaciones.Text, CveConceptoPrepoliza, TxtObservaciones.Text, Fecha, IdCtaContableSalida, -1, CveMovimientoAlmacen:=CveMovimientoSalida, Contabilizable:=Contabilizable, ImporteMX:=importe) Then
ErrorMovInv = True
End If