Traspaso de almacen general a almacen exa automaticamente
This commit is contained in:
@@ -14866,7 +14866,7 @@ Partial Class Ventas
|
|||||||
Next
|
Next
|
||||||
End If
|
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 = ""
|
Dim Filtro As String = ""
|
||||||
Select Case factura.TipoDocto
|
Select Case factura.TipoDocto
|
||||||
@@ -15051,6 +15051,73 @@ Partial Class Ventas
|
|||||||
|
|
||||||
End If
|
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
|
End If
|
||||||
|
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
@@ -19980,7 +20047,8 @@ Partial Class Ventas
|
|||||||
Return Not OcurrioError
|
Return Not OcurrioError
|
||||||
End Function
|
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,
|
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 OcurrioError As Boolean = False
|
||||||
Dim ContadorMovtosDetalles = 0
|
Dim ContadorMovtosDetalles = 0
|
||||||
|
|
||||||
@@ -19993,7 +20061,7 @@ Partial Class Ventas
|
|||||||
'Creamos el movimiento
|
'Creamos el movimiento
|
||||||
|
|
||||||
Dim CveMovimientoInventario As Integer = ObjInventario.AddMovimiento(CveAlmacen, ConceptoEntrada, CveMoneda, Now, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveVenta, -1, -1,
|
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
|
If CveMovimientoInventario > 0 Then
|
||||||
|
|
||||||
@@ -30827,25 +30895,6 @@ Partial Class Ventas
|
|||||||
Exit Sub
|
Exit Sub
|
||||||
End If
|
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.SelectedValue = GlobalDTMonedas.FiltroPrimeroValor("CveMoneda", $"Abreviatura = '{dtSeleccionadas.FiltroPrimeroValor("Abreviatura")}'")
|
||||||
DdlMoneda.Enabled = False
|
DdlMoneda.Enabled = False
|
||||||
CambiaMoneda()
|
CambiaMoneda()
|
||||||
@@ -31066,6 +31115,11 @@ Partial Class Ventas
|
|||||||
BtnEmitirImprimir.Visible = False
|
BtnEmitirImprimir.Visible = False
|
||||||
End If
|
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
|
End If
|
||||||
|
|
||||||
TxtFechaPago.Text = If(EsDiasCreditoFijo, Now.AddDays(DiasCredito).ToShortDateString, TxtFechaPago.Text)
|
TxtFechaPago.Text = If(EsDiasCreditoFijo, Now.AddDays(DiasCredito).ToShortDateString, TxtFechaPago.Text)
|
||||||
@@ -31076,8 +31130,9 @@ Partial Class Ventas
|
|||||||
UpParametros.Update()
|
UpParametros.Update()
|
||||||
UPEstimaciones.Update()
|
UPEstimaciones.Update()
|
||||||
UPCondicionesPago.Update()
|
UPCondicionesPago.Update()
|
||||||
HuboCambioRemi = Not HuboCambioRemi
|
UpINV.Update()
|
||||||
|
|
||||||
|
HuboCambioRemi = Not HuboCambioRemi
|
||||||
|
|
||||||
RegistraScript("$('#DivRemisiones').modal('hide');", "DivRemisionesHide")
|
RegistraScript("$('#DivRemisiones').modal('hide');", "DivRemisionesHide")
|
||||||
End Sub
|
End Sub
|
||||||
|
|||||||
Reference in New Issue
Block a user