compras con usados en recepcion almacen,redondeo en aplicacion de NC, ver modulos de cotizaciones

This commit is contained in:
2020-02-17 18:34:33 -07:00
parent a6128d5863
commit 14a7d0ea6e
4 changed files with 180 additions and 31 deletions

View File

@@ -807,6 +807,8 @@ Partial Class Inventarios_RecepcionAlmacen
End If
End Sub
Private Sub CargaCompra(pCveCompra As Integer, pCveProveedor As Integer)
CargaAlmacenes(-1)
Dim ObjCompras As New ClsCompras
Dim ObjInventario As New ClsInventarios
@@ -838,16 +840,34 @@ Partial Class Inventarios_RecepcionAlmacen
CargaAlmacenes(-1, "21,2")
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()
Dim NumProductos = ObjInventario.DtResultados.COUNT("EsUsado", "EsUsado = False").ToEntero()
'SI LA COMPRA TIENE PRODUCTOS Y USADOS SOLO MOSTRAR LOS PRODUCTOS
If NumProductos > 0 AndAlso NumUsados > 0 Then
DtRecepcion = ObjInventario.DtResultados.FiltraParametros("EsUsado = False")
'SI LA COMPRA TIENE PUROS USADOS, MOSTRAR LOS USADOS Y CARGAR LOS ALMACENES
ElseIf NumProductos = 0 AndAlso NumUsados > 0 Then
CargaSoloUsados = True
DtRecepcion = ObjInventario.DtResultados.Copy()
CargaAlmacenes(DtRecepcion.Rows(0)("CveSubProyecto").ToString.ToEntero, "22")
Else
DtRecepcion = ObjInventario.DtResultados.Copy()
End If
DtDatosDetalle = Nothing
CreaDtDetalle()
DtDatosLoteDetalle = Nothing
CreaDtLoteDetalle()
CreaDTInv(ObjInventario.DtResultados)
CreaDTInv(DtRecepcion)
BtnGuardar.Visible = True
'cuando están todos los detalles de la compra, nos indica que se va a recibir la totalidad de la compra
If ObjInventario.DtResultados.Rows.Count = ObjInventario.DtResultados.Rows(0)("NumDetalles").ToString.ToEntero Then
If DtRecepcion.Rows.Count = DtRecepcion.Rows(0)("NumDetalles").ToString.ToEntero Then
RecibidaCompleta = True
End If
@@ -869,8 +889,8 @@ Partial Class Inventarios_RecepcionAlmacen
LtAdvertencia.Text = "La mercancía tendra salida inmediata por ser entrega directa al cliente"
DivAdvertencia.Visible = True
EntregaDirecta = True
CveCliente = ObjInventario.DtResultados.Rows(0)("CveCliente").ToString.ToEntero
CveVendedor = ObjInventario.DtResultados.Rows(0)("CveVendedor").ToString.ToEntero
CveCliente = DtRecepcion.Rows(0)("CveCliente").ToString.ToEntero
CveVendedor = DtRecepcion.Rows(0)("CveVendedor").ToString.ToEntero
If DtInv.COUNT("EntregaDirecta") <> DtInv.Rows.Count Then
@@ -884,7 +904,7 @@ Partial Class Inventarios_RecepcionAlmacen
Alert("No hay productos pendientes de surtir de esta compra. Por favor rectifique y vuelva a intentar.", TipoMensaje.MsgAdvertencia)
Else
If ObjInventario.DtResultados.Rows(0)("CveVendedor").ToString.ToEntero > 0 And ObjInventario.DtResultados.Rows(0)("CveCliente").ToString.ToEntero > 0 Then
If DtRecepcion.Rows(0)("CveVendedor").ToString.ToEntero > 0 And DtRecepcion.Rows(0)("CveCliente").ToString.ToEntero > 0 Then
If DtInv.SUM("EntregaDirecta") > 0 Then
''ENTREGA DIRECTA
'LtAdvertencia.Text = "La mercancía tendra salida inmediata por ser entrega directa al cliente"
@@ -892,9 +912,9 @@ Partial Class Inventarios_RecepcionAlmacen
'EntregaDirecta = True
Else
'APARTADO
'If UsuarioActual.CveUsuario.Contiene(100) Or (ObjInventario.DtResultados.Rows(0)("CveUsuarioOC").ToString.ToEntero = 1559 And ObjInventario.DtResultados.Rows(0)("FechaIngOC").ToString.ToDateTime > "2017-04-24 12:00".ToDateTime) Then
'If UsuarioActual.CveUsuario.Contiene(100) Or (DtRecepcion .Rows(0)("CveUsuarioOC").ToString.ToEntero = 1559 And DtRecepcion .Rows(0)("FechaIngOC").ToString.ToDateTime > "2017-04-24 12:00".ToDateTime) Then
If UsuarioActual.Empresa.Funcionalidad(148) = "1" Then
CveAlmacenApartado = ObjInventario.DtResultados.Rows(0)("CveAlmacenApartado").ToString.ToEntero
CveAlmacenApartado = DtRecepcion.Rows(0)("CveAlmacenApartado").ToString.ToEntero
DivAdvertencia.Visible = True
Apartado = True
@@ -903,7 +923,11 @@ Partial Class Inventarios_RecepcionAlmacen
LtAdvertencia.Text = "No se puede recibir la mercancía por ser de apartados y no contar con un almacen de apartado."
Else
LtAdvertencia.Text = "La mercancía sera traspasada ha apartados"
CargaAlmacenes(ObjInventario.DtResultados.Rows(0)("CveSubProyecto").ToString.ToEntero)
If CargaSoloUsados Then
CargaAlmacenes(DtRecepcion.Rows(0)("CveSubProyecto").ToString.ToEntero, "22")
Else
CargaAlmacenes(DtRecepcion.Rows(0)("CveSubProyecto").ToString.ToEntero)
End If
End If
End If
'End If
@@ -912,19 +936,19 @@ Partial Class Inventarios_RecepcionAlmacen
End If
Dim CantidadFaltante As Double = ObjInventario.DtResultados.SUM("CantidadC", "CantidadF > 0")
Dim CantidadFaltante As Double = DtRecepcion.SUM("CantidadC", "CantidadF > 0")
If UsuarioActual.Empresa.UsaAC AndAlso CantidadFaltante > 0 Then
PnlAC.Visible = True
CargaAC()
LbTotalPorDevengar.Text = ObjInventario.DtResultados.SUM("Total", "CantidadF > 0").FormatoNumero
LbTotalPorDevengar.Text = DtRecepcion.SUM("Total", "CantidadF > 0").FormatoNumero
End If
'Existencias
If TipoMovimiento = 2 Then
If ObjInventario.ComprasDevolucionExistenciasGet(CveCompraSurtir) Then
DtExistencias = ObjInventario.DtResultados
DtExistencias = DtRecepcion
Else
Alert("No se pudieron cargar las existencias del movimiento de entrada, por lo cual no se podra hacer la devolución.", TipoMensaje.MsgError)
BtnGuardar.Enabled = False