registro de remisiones en entrega directa

This commit is contained in:
2020-10-06 19:49:01 -07:00
parent 95ad7961c2
commit 8926286db1
2 changed files with 98 additions and 28 deletions

View File

@@ -2270,6 +2270,10 @@ Partial Class Inventarios_RecepcionAlmacen
Dim ObjContaContPAQ As ClsContPAQi = Nothing
'ENTREGA DIRECTA
Dim MovtosEntradaExA As New List(Of Integer)
Dim FoliosEntradaExA As New List(Of Integer)
Dim MovtosSalidaDirecta As New List(Of Integer)
Dim FoliosSalidaDirecta As New List(Of Integer)
@@ -2548,36 +2552,42 @@ Partial Class Inventarios_RecepcionAlmacen
Dim CveVenta As Integer = DrVenta("CveVenta").ToString().ToEntero()
CveMovtoSalidaDirecta = ObjInventario.AddMovimiento(DdlAlmacen.SelectedValue.ToEntero, 3, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1,
CveVenta, -1, -1, Observaciones:=TxtObservaciones.Text.Trim, TipoCambio:=If(DdlMonedaTC.SelectedValue.ToEntero = 1, -1, TipoCambio),
MovimientoFijo:=True, CveMovimientoRelacionado:=CveMovimiento, Remision:=TxtRemision.Text, CveVendedor:=CveVendedor, CveCliente:=CveCliente, Modulo:="RA/G2")
FolioSalidaDirecta = ObjInventario.Folio
Dim ObjFactura As New Modelos.Factura(UsuarioActual, CveVenta, UsuarioActual.CveEmpresa)
If Not CveMovtoSalidaDirecta > 0 Then
ErrorMovInv = True
Exit For
End If
Dim DtDetalleMovimiento As DataTable = Dt.FiltraParametros($"CveVenta={ObjFactura.CveVenta}")
If Not ErrorMovInv AndAlso Dt IsNot Nothing Then
For Each Dr As DataRow In Dt.FiltraParametros($"CveVenta={CveVenta}").Rows
If Not ObjInventario.AddMovimientoDetalle(CveMovtoSalidaDirecta, Dr("Cantidad").ToString.ToDouble, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("PU").ToString.ToDecimal, CveAF:=Dr("CveAF").ToString.ToEntero, CveSeccionAlmacen:=Dr("CveSeccionAlmacen").ToString.ToEntero, Serie:=Dr("Serie").ToString, Lote:=Dr("Lote").ToString, FechaCaducidad:=Dr("FechaCaducidad").ToString.ToDate, CveMovimientoDetalleEntrada:=Dr("CveMovimientoDetalle").ToString.ToEntero, CveVentaDetalle:=Dr("CveVentaDetalle").ToString.ToEntero, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
ErrorMovInv = True
Exit For
End If
Next
End If
If ObjFactura.TipoDocto = "Ing" Then
Dim MovSalida = GenerarMovimientoAlmacenVenta(DdlAlmacen.SelectedValue.ToEntero(), 3, ObjFactura.CveVenta, CveMovimiento, DtDetalleMovimiento, ObjInventario, ObjConta, ObjContaContPAQ, EsContabilizable, "RA/G2")
If Not ErrorMovInv Then
If Not GeneraPrePolizaSalidaEntregaDirecta(CveMovtoSalidaDirecta, ObjInventario, ObjConta, ObjContaContPAQ, EsContabilizable) Then
ErrorMovInv = True
Exit For
ErrorMovInv = MovSalida.CveMovimiento <= 0
If Not ErrorMovInv Then
MovtosSalidaDirecta.Add(MovSalida.CveMovimiento)
FoliosSalidaDirecta.Add(MovSalida.Folio)
End If
ElseIf ObjFactura.TipoDocto = "Rem" Then
Dim MovSalidaExA = GenerarMovimientoAlmacenVenta(DdlAlmacen.SelectedValue.ToEntero(), 8, ObjFactura.CveVenta, -1, DtDetalleMovimiento, ObjInventario, ObjConta, ObjContaContPAQ, False, "RA/G2R1")
ErrorMovInv = MovSalidaExA.CveMovimiento <= 0
If Not ErrorMovInv Then
MovtosSalidaDirecta.Add(MovSalidaExA.CveMovimiento)
FoliosSalidaDirecta.Add(MovSalidaExA.Folio)
Dim MovEntradaExA = GenerarMovimientoAlmacenVenta(ObjFactura.CveAlmacenTraspasoDestino, 9, ObjFactura.CveVenta, MovSalidaExA.CveMovimiento, DtDetalleMovimiento, ObjInventario, ObjConta, ObjContaContPAQ, False, "RA/G2R2")
ErrorMovInv = MovEntradaExA.CveMovimiento <= 0
If Not ErrorMovInv Then
MovtosEntradaExA.Add(MovEntradaExA.CveMovimiento)
FoliosEntradaExA.Add(MovEntradaExA.Folio)
End If
End If
End If
If Not ErrorMovInv Then
MovtosSalidaDirecta.Add(CveMovtoSalidaDirecta)
FoliosSalidaDirecta.Add(FolioSalidaDirecta)
End If
Next
If Not ErrorMovInv Then
@@ -3307,6 +3317,14 @@ Partial Class Inventarios_RecepcionAlmacen
'ENTREGA DIRECTA
If MovtosSalidaDirecta.Count > 0 Then
Msg.AppendFormat("<br/><br/> Movimientos de control:<br/>")
If MovtosEntradaExA.Count > 0 Then
For index = 0 To MovtosEntradaExA.Count - 1
link = String.Format("<a href=""/Inventarios/EntradasSalidas.aspx?CveMovimiento={0}"" target=""_blank"">{1}</a>", MovtosEntradaExA(index), FoliosEntradaExA(index))
Msg.AppendFormat("<br/>Movimiento de Entrada Folio: <b>{0}</b>", link)
Next
End If
For index = 0 To MovtosSalidaDirecta.Count - 1
link = String.Format("<a href=""/Inventarios/EntradasSalidas.aspx?CveMovimiento={0}"" target=""_blank"">{1}</a>", MovtosSalidaDirecta(index), FoliosSalidaDirecta(index))
Msg.AppendFormat("<br/>Movimiento de Salida Folio: <b>{0}</b>", link)
@@ -3355,6 +3373,45 @@ Partial Class Inventarios_RecepcionAlmacen
If ObjContaAC IsNot Nothing Then ObjContaAC.Dispose()
If ObjContaContPAQ IsNot Nothing Then ObjContaContPAQ.Dispose()
End Sub
Private Function GenerarMovimientoAlmacenVenta(CveAlmacen As Integer, CveConceptoAlmacen As Integer, CveVenta As Integer, CveMovimientoRelacionado As Integer, DtDetalle As DataTable, ObjInventario As ClsInventarios, ObjConta As ClsContabilidad, ObjContaContPAQ As ClsContPAQi, EsContabilizable As Boolean, Modulo As String) As MMovimientoAlmacen
Dim ErrorMovInv As Boolean = False
Dim Retorno As New MMovimientoAlmacen
Dim CveMovtoSalidaDirecta As Integer = -1
Dim FolioSalidaDirecta As Integer = -1
CveMovtoSalidaDirecta = ObjInventario.AddMovimiento(CveAlmacen, CveConceptoAlmacen, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1,
CveVenta, -1, -1, Observaciones:=TxtObservaciones.Text.Trim, TipoCambio:=If(DdlMonedaTC.SelectedValue.ToEntero = 1, -1, TipoCambio),
MovimientoFijo:=True, CveMovimientoRelacionado:=CveMovimientoRelacionado, Remision:=TxtRemision.Text, CveVendedor:=CveVendedor, CveCliente:=CveCliente, Modulo:=Modulo)
FolioSalidaDirecta = ObjInventario.Folio
If Not CveMovtoSalidaDirecta > 0 Then
ErrorMovInv = True
End If
If Not ErrorMovInv AndAlso DtDetalle IsNot Nothing Then
For Each Dr As DataRow In DtDetalle.Rows
If Not ObjInventario.AddMovimientoDetalle(CveMovtoSalidaDirecta, Dr("Cantidad").ToString.ToDouble, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("PU").ToString.ToDecimal, CveAF:=Dr("CveAF").ToString.ToEntero, CveSeccionAlmacen:=Dr("CveSeccionAlmacen").ToString.ToEntero, Serie:=Dr("Serie").ToString, Lote:=Dr("Lote").ToString, FechaCaducidad:=Dr("FechaCaducidad").ToString.ToDate, CveMovimientoDetalleEntrada:=Dr("CveMovimientoDetalle").ToString.ToEntero, CveVentaDetalle:=Dr("CveVentaDetalle").ToString.ToEntero, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
ErrorMovInv = True
Exit For
End If
Next
End If
If Not ErrorMovInv AndAlso CveConceptoAlmacen = 3 Then
If Not GeneraPrePolizaSalidaEntregaDirecta(CveMovtoSalidaDirecta, ObjInventario, ObjConta, ObjContaContPAQ, EsContabilizable) Then
ErrorMovInv = True
End If
End If
If Not ErrorMovInv Then
Retorno.CveMovimiento = CveMovtoSalidaDirecta
Retorno.Folio = FolioSalidaDirecta
End If
Return Retorno
End Function
Private Sub GuardaImportacionFlete()
Dim CveMovimiento As Integer
Dim InvFolio As String = ""
@@ -4283,3 +4340,9 @@ Partial Class Inventarios_RecepcionAlmacen
End Class
Public Class MMovimientoAlmacen
Public Property CveMovimiento As Integer
Public Property Folio As Integer
End Class

View File

@@ -9870,16 +9870,23 @@ Partial Class Ventas
ObjClientes.Dispose()
BtnEmitirImprimir.Text = "Facturar"
'REGISTRAR UNA ENTREGA DIRECTA
If TmpDT.COUNT("EntregaDirecta", "EntregaDirecta = 1") > 0 Then
trPaqueteriaOpciones.Visible = False
trPaqueteriOpcionesLabel.Visible = False
trPaqueteriaDirectaLabel.Visible = True
End If
BtnEmitirImprimir.Text = "Facturar"
DdlTipoComprobante.SelectedValue = "Ing"
DdlTipoComprobante.Enabled = False
DdlTipoComprobante.Items.Clear()
DdlTipoComprobante.Items.Insert(0, New ListItem("Ingresos", "Ing"))
DdlTipoComprobante.Items.Insert(1, New ListItem("Remisión", "Rem"))
DdlTipoComprobante.Enabled = True
Else
DdlTipoComprobante.SelectedValue = "Ing"
DdlTipoComprobante.Enabled = False
End If
Tab.ActiveTab = TabGenerales
TabGenerales.Enabled = True