Traspaso de almacen general a almacen exa automaticamente
This commit is contained in:
@@ -14866,7 +14866,7 @@ Partial Class Ventas
|
||||
Next
|
||||
End If
|
||||
|
||||
If factura.TipoDocto.Contiene("Ing", "Dev") AndAlso DivAlmacen.Visible AndAlso GvInv.Rows.Cast(Of GridViewRow)().Count(Function(gvr) gvr.FCCheckBox("cbInv").Checked) > 0 Then
|
||||
If UsuarioActual.Empresa.Funcionalidad(567) = "1" AndAlso factura.TipoDocto.Contiene("Ing", "Dev") AndAlso DivAlmacen.Visible AndAlso GvInv.Rows.Cast(Of GridViewRow)().Count(Function(gvr) gvr.FCCheckBox("cbInv").Checked) > 0 Then
|
||||
|
||||
Dim Filtro As String = ""
|
||||
Select Case factura.TipoDocto
|
||||
@@ -15051,6 +15051,73 @@ Partial Class Ventas
|
||||
|
||||
End If
|
||||
|
||||
If UsuarioActual.Empresa.Funcionalidad(567) = "1" AndAlso factura.TipoDocto.Contiene("Rem") AndAlso DivAlmacen.Visible AndAlso GvInv.Rows.Cast(Of GridViewRow)().Count(Function(gvr) gvr.FCCheckBox("cbInv").Checked) > 0 Then
|
||||
|
||||
Dim DebeGenerarMovimiento As Boolean = TmpDTDetalle.COUNT("CvePS", "CveTipoPS = 2") > 0
|
||||
|
||||
If DebeGenerarMovimiento Then
|
||||
|
||||
Dim CveAlmacenSalida As Integer = ddlAlmacen.SelectedValue.ToEntero()
|
||||
Dim CveAlmacenExA As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa, CveTipoAlmacen:=10).FiltroPrimeroValor("CveAlmacen", $"CveSubProyecto={DdlSubProyecto.SelectedValue}").ToEntero()
|
||||
|
||||
Dim CveRemision As Integer = factura.CveVenta
|
||||
Dim CveMoneda As Integer = DdlMoneda.SelectedValue.ToEntero()
|
||||
|
||||
Dim DtProductos As DataTable = TmpDTDetalle.FiltraParametros("CveTipoPS = 2")
|
||||
|
||||
Dim MovDetalle As DataTable = New DataTable()
|
||||
MovDetalle.Columns.Add(New DataColumn("Cantidad", GetType(Integer)))
|
||||
MovDetalle.Columns.Add(New DataColumn("CveUM", GetType(Integer)))
|
||||
MovDetalle.Columns.Add(New DataColumn("CvePS", GetType(Integer)))
|
||||
MovDetalle.Columns.Add(New DataColumn("PU", GetType(Decimal)))
|
||||
MovDetalle.Columns.Add(New DataColumn("Serie", GetType(String)))
|
||||
MovDetalle.Columns.Add(New DataColumn("Lote", GetType(String)))
|
||||
MovDetalle.Columns.Add(New DataColumn("FechaCaducidad", GetType(DateTime)))
|
||||
MovDetalle.Columns.Add(New DataColumn("CveVentaDetalle", GetType(Integer)))
|
||||
|
||||
For Each RowPS As DataRow In DtProductos.Rows
|
||||
Dim RowInv = MovDetalle.NewRow
|
||||
|
||||
RowInv("Cantidad") = RowPS("Cantidad").ToString().ToDecimal()
|
||||
RowInv("CveUM") = RowPS("CveUM").ToString().ToEntero()
|
||||
RowInv("CvePS") = RowPS("CvePS").ToString().ToEntero()
|
||||
RowInv("PU") = 0
|
||||
RowInv("Serie") = ""
|
||||
RowInv("Lote") = ""
|
||||
RowInv("FechaCaducidad") = MinFecha
|
||||
RowInv("CveVentaDetalle") = RowPS("CveVentaDetalle").ToString().ToEntero()
|
||||
|
||||
MovDetalle.Rows.Add(RowInv)
|
||||
Next
|
||||
|
||||
'Le damos salida de apartado por traspaso
|
||||
Dim CveMovimientoSalidaPorTraspaso = GenerarMovimientoAlmacen(ObjInventario, MovDetalle, CveAlmacenSalida, 8, CveMoneda, CveRemision, AplicaMovimientoDetalleEntrada:=False, ObjConta:=ObjConta, CveAlmacenDestino:=CveAlmacenExA)
|
||||
|
||||
If Not CveMovimientoSalidaPorTraspaso > 0 Then
|
||||
OcurrioError = True
|
||||
End If
|
||||
|
||||
'Le damos entrada al general por traspaso
|
||||
If Not OcurrioError Then
|
||||
Dim GeneroMovimientoAlmacen = GenerarMovimientoAlmacen(ObjInventario, MovDetalle, CveAlmacenExA, 9, CveMoneda, CveRemision, CveMovimientoRelacionado:=CveMovimientoSalidaPorTraspaso, AplicaMovimientoDetalleEntrada:=False, ObjConta:=ObjConta) > 0
|
||||
|
||||
If Not GeneroMovimientoAlmacen Then
|
||||
OcurrioError = True
|
||||
End If
|
||||
End If
|
||||
|
||||
'VERIFICA QUE SE REALIZO EL MOVIMIENTO DE ALMACEN
|
||||
If Not OcurrioError AndAlso DebeGenerarMovimiento Then
|
||||
If Not (ObjInventario.GetInv_Mov(factura.CveVenta, UsuarioActual.CveEmpresa) AndAlso ObjInventario.DtResultados.Rows.Count > 0) Then
|
||||
OcurrioError = True
|
||||
ErrorList.Add("Ocurrió un error al verificar inventario.<br />Revise su factura y cualquier detalle comuníquese a Soporte Técnico")
|
||||
End If
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
Catch ex As Exception
|
||||
@@ -19980,7 +20047,8 @@ Partial Class Ventas
|
||||
Return Not OcurrioError
|
||||
End Function
|
||||
Private Function GenerarMovimientoAlmacen(ByRef ObjInventario As ClsInventarios, DtMovDetalle As DataTable, CveAlmacen As Integer, ConceptoEntrada As Integer, CveMoneda As Integer, CveVenta As Integer, Optional MovimientoPrePoliza As Boolean = True,
|
||||
Optional ByRef ObjConta As ClsContabilidad = Nothing, Optional CveMovimientoRelacionado As Integer = -1, Optional AplicaMovimientoDetalleEntrada As Boolean = False, Optional ObjContPaq As ClsContPAQi = Nothing) As Integer
|
||||
Optional ByRef ObjConta As ClsContabilidad = Nothing, Optional CveMovimientoRelacionado As Integer = -1, Optional AplicaMovimientoDetalleEntrada As Boolean = False, Optional ObjContPaq As ClsContPAQi = Nothing,
|
||||
Optional CveAlmacenDestino As Integer = -1) As Integer
|
||||
Dim OcurrioError As Boolean = False
|
||||
Dim ContadorMovtosDetalles = 0
|
||||
|
||||
@@ -19993,7 +20061,7 @@ Partial Class Ventas
|
||||
'Creamos el movimiento
|
||||
|
||||
Dim CveMovimientoInventario As Integer = ObjInventario.AddMovimiento(CveAlmacen, ConceptoEntrada, CveMoneda, Now, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveVenta, -1, -1,
|
||||
CveMovimientoRelacionado:=CveMovimientoRelacionado, Modulo:="Vta/E4")
|
||||
CveMovimientoRelacionado:=CveMovimientoRelacionado, CveAlmacenDestino:=CveAlmacenDestino, Modulo:="Vta/E4")
|
||||
|
||||
If CveMovimientoInventario > 0 Then
|
||||
|
||||
@@ -30827,25 +30895,6 @@ Partial Class Ventas
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
'VERIFICA QUE LAS FACTURAS TENGAN EL MISMO ESTATUS EN ALMACEN (NO MEZCLAR REMISIONES 'SURTIDAS' CON 'NO SURTIDAS')
|
||||
'If dtSeleccionadas.COUNT("Surtido", "Surtido = 'Si'") > 0 AndAlso dtSeleccionadas.COUNT("Surtido", "Surtido = 'No'") > 0 Then
|
||||
' Dim SbRem As New StringBuilder
|
||||
' SbRem.Append("Solo debe seleccionar remisiones con el mismo estatus de almacen. Por favor verifique y vuelva a intentar.</br>")
|
||||
|
||||
' SbRem.Append("<b>Remisiones Surtidas:</b></br>")
|
||||
' For Each RowSurtida As DataRow In dtSeleccionadas.FiltraParametros("Surtido = 'Si'", DistinctColumns:={"Folio"}).Rows
|
||||
' SbRem.AppendFormat("{0}</br>", RowSurtida("Folio"))
|
||||
' Next
|
||||
|
||||
' SbRem.Append("<b>Remisiones No Surtidas:</b></br>")
|
||||
' For Each RowSurtida As DataRow In dtSeleccionadas.FiltraParametros("Surtido = 'No'", DistinctColumns:={"Folio"}).Rows
|
||||
' SbRem.AppendFormat("{0}</br>", RowSurtida("Folio"))
|
||||
' Next
|
||||
|
||||
' Alert(SbRem.ToString(), TipoMensaje.MsgAdvertencia)
|
||||
' Exit Sub
|
||||
'End If
|
||||
|
||||
DdlMoneda.SelectedValue = GlobalDTMonedas.FiltroPrimeroValor("CveMoneda", $"Abreviatura = '{dtSeleccionadas.FiltroPrimeroValor("Abreviatura")}'")
|
||||
DdlMoneda.Enabled = False
|
||||
CambiaMoneda()
|
||||
@@ -31066,6 +31115,11 @@ Partial Class Ventas
|
||||
BtnEmitirImprimir.Visible = False
|
||||
End If
|
||||
|
||||
'SI HAY REMISIONES SURTIDAS, NO GENERAR EL MOVIMIENTO AUTOMATICO
|
||||
If UsuarioActual.Empresa.Funcionalidad(567) = "1" AndAlso dtSeleccionadas.COUNT("Surtido", "Surtido = 'Si'") > 0 Then
|
||||
DivAlmacen.Visible = False
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
TxtFechaPago.Text = If(EsDiasCreditoFijo, Now.AddDays(DiasCredito).ToShortDateString, TxtFechaPago.Text)
|
||||
@@ -31076,8 +31130,9 @@ Partial Class Ventas
|
||||
UpParametros.Update()
|
||||
UPEstimaciones.Update()
|
||||
UPCondicionesPago.Update()
|
||||
HuboCambioRemi = Not HuboCambioRemi
|
||||
UpINV.Update()
|
||||
|
||||
HuboCambioRemi = Not HuboCambioRemi
|
||||
|
||||
RegistraScript("$('#DivRemisiones').modal('hide');", "DivRemisionesHide")
|
||||
End Sub
|
||||
|
||||
Reference in New Issue
Block a user