Movimiento de salida en cancelacion de devoluciones
This commit is contained in:
@@ -580,6 +580,14 @@ Namespace Modelos
|
|||||||
Me.DtRemisionesDocumentosRelacionados = ObjVentas.DtResultados.Copy()
|
Me.DtRemisionesDocumentosRelacionados = ObjVentas.DtResultados.Copy()
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
'CARGA LOS IMPUESTOS LOCALES
|
||||||
|
If ObjVentas.GetVentaImpuestosLocales(CveVenta) Then
|
||||||
|
If ObjVentas.DtResultados.Rows.Count > 0 Then
|
||||||
|
DtImpuestosLocales = ObjVentas.DtResultados.Copy()
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
ObjVentas.Dispose()
|
ObjVentas.Dispose()
|
||||||
|
|
||||||
If Me.RealizarDevolucionAlmacen Then
|
If Me.RealizarDevolucionAlmacen Then
|
||||||
@@ -1618,8 +1626,8 @@ Namespace Modelos
|
|||||||
End If
|
End If
|
||||||
|
|
||||||
'Impuestos Locales
|
'Impuestos Locales
|
||||||
If DtImpuestosLocales IsNot Nothing Then
|
If factura.DtImpuestosLocales IsNot Nothing Then
|
||||||
For Each gvr As DataRow In DtImpuestosLocales.Rows
|
For Each gvr As DataRow In factura.DtImpuestosLocales.Rows
|
||||||
If Not ObjVentas.AddVentaImpuestoLocales(factura.CveVenta, gvr("CveImpuestoLocal").ToString.ToEntero(), gvr("Importe").ToString().ToDouble()) Then
|
If Not ObjVentas.AddVentaImpuestoLocales(factura.CveVenta, gvr("CveImpuestoLocal").ToString.ToEntero(), gvr("Importe").ToString().ToDouble()) Then
|
||||||
ErrorList.Add("Ocurrió un error al Guardar Impuestos Locales")
|
ErrorList.Add("Ocurrió un error al Guardar Impuestos Locales")
|
||||||
End If
|
End If
|
||||||
@@ -1627,8 +1635,8 @@ Namespace Modelos
|
|||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
If DtFirmas IsNot Nothing AndAlso DtFirmas.Rows.Count > 0 Then
|
If factura.DtFirmas IsNot Nothing AndAlso factura.DtFirmas.Rows.Count > 0 Then
|
||||||
For Each Row As DataRow In DtFirmas.Rows
|
For Each Row As DataRow In factura.DtFirmas.Rows
|
||||||
If Not ObjVentas.AddVentasFirmas(factura.CveVenta, Row("Titulo").ToString, Row("Nombre").ToString, Row("Puesto").ToString, Row("Lado").ToString.ToEntero) Then
|
If Not ObjVentas.AddVentasFirmas(factura.CveVenta, Row("Titulo").ToString, Row("Nombre").ToString, Row("Puesto").ToString, Row("Lado").ToString.ToEntero) Then
|
||||||
ErrorList.Add("Ocurrio un error al Guardar Firmas")
|
ErrorList.Add("Ocurrio un error al Guardar Firmas")
|
||||||
End If
|
End If
|
||||||
@@ -4828,8 +4836,10 @@ Namespace Modelos
|
|||||||
If Not ErrorCancelar Then
|
If Not ErrorCancelar Then
|
||||||
Dim Filtro As String = ""
|
Dim Filtro As String = ""
|
||||||
Select Case ObjFactura.TipoDocto
|
Select Case ObjFactura.TipoDocto
|
||||||
Case "Ing", "Ped", "Dev"
|
Case "Ing", "Ped"
|
||||||
Filtro = "CveConcepto IN (3, 40)"
|
Filtro = "CveConcepto IN (3, 40)"
|
||||||
|
Case "Dev"
|
||||||
|
Filtro = "CveConcepto = 18"
|
||||||
Case Else
|
Case Else
|
||||||
Filtro = "CveConcepto = 9"
|
Filtro = "CveConcepto = 9"
|
||||||
End Select
|
End Select
|
||||||
@@ -4860,19 +4870,22 @@ Namespace Modelos
|
|||||||
If Not ErrorCancelar AndAlso RealizarDevolucionAlmacen Then
|
If Not ErrorCancelar AndAlso RealizarDevolucionAlmacen Then
|
||||||
'REALIZA DEVOLUCION A LAS SALIDAS PENDIENTES
|
'REALIZA DEVOLUCION A LAS SALIDAS PENDIENTES
|
||||||
For Each RowMovimiento As DataRow In DtSalidas.Rows
|
For Each RowMovimiento As DataRow In DtSalidas.Rows
|
||||||
Dim CveConceptoDevolucion As Integer = -1
|
Dim CveConceptoMovimiento As Integer = -1
|
||||||
Dim CveAlmacenDevolucion As Integer = -1
|
Dim CveAlmacenMovimiento As Integer = -1
|
||||||
|
|
||||||
Dim CveMovimientoDevolucion As Integer = 0
|
Dim CveMovimientoDevolucion As Integer = 0
|
||||||
Dim Folio As Integer = 0
|
Dim Folio As Integer = 0
|
||||||
|
|
||||||
Select Case RowMovimiento("CveConcepto").ToString().ToEntero()
|
Select Case RowMovimiento("CveConcepto").ToString().ToEntero()
|
||||||
Case 3
|
Case 3
|
||||||
CveConceptoDevolucion = 18 'DEVOLUCION DEL CLIENTE
|
CveConceptoMovimiento = 18 'DEVOLUCION DEL CLIENTE
|
||||||
CveAlmacenDevolucion = RowMovimiento("CveAlmacen").ToString().ToEntero()
|
CveAlmacenMovimiento = RowMovimiento("CveAlmacen").ToString().ToEntero()
|
||||||
Case 40
|
Case 40
|
||||||
CveConceptoDevolucion = 41 'DEVOLUCIÓN DEL CLIENTE DIRECTA
|
CveConceptoMovimiento = 41 'DEVOLUCIÓN DEL CLIENTE DIRECTA
|
||||||
CveAlmacenDevolucion = RowMovimiento("CveAlmacen").ToString().ToEntero()
|
CveAlmacenMovimiento = RowMovimiento("CveAlmacen").ToString().ToEntero()
|
||||||
|
Case 18
|
||||||
|
CveConceptoMovimiento = 3 'DEVOLUCIÓN DEL CLIENTE DIRECTA
|
||||||
|
CveAlmacenMovimiento = RowMovimiento("CveAlmacen").ToString().ToEntero()
|
||||||
''SI TIENE REMISIONES RELACIONADAS
|
''SI TIENE REMISIONES RELACIONADAS
|
||||||
'If DtRemisionesFacturadas.Rows.Count > 0 Then
|
'If DtRemisionesFacturadas.Rows.Count > 0 Then
|
||||||
' Dim RowRemision As DataRow = DtExistencias.FiltroPrimero($"CveMovimiento = {RowMovimiento("CveMovimiento").ToString()}")
|
' Dim RowRemision As DataRow = DtExistencias.FiltroPrimero($"CveMovimiento = {RowMovimiento("CveMovimiento").ToString()}")
|
||||||
@@ -4896,12 +4909,20 @@ Namespace Modelos
|
|||||||
'SI TIENE SALDO PENDIENTE POR DEVOLVER GENERA UN MOVIMIENTO DE DEVOLUCION
|
'SI TIENE SALDO PENDIENTE POR DEVOLVER GENERA UN MOVIMIENTO DE DEVOLUCION
|
||||||
If ObjFactura.SaldoAlmacen <> 0 Then
|
If ObjFactura.SaldoAlmacen <> 0 Then
|
||||||
'SALIDA DE ALMACEN - SALIDA POR TRASPASO CUANDO ES REMISION - DEVOLUCION (SI ES TRASPASO Y TIENE CONTRATO NO HACE DEVOLUCIóN)
|
'SALIDA DE ALMACEN - SALIDA POR TRASPASO CUANDO ES REMISION - DEVOLUCION (SI ES TRASPASO Y TIENE CONTRATO NO HACE DEVOLUCIóN)
|
||||||
CveMovimientoDevolucion = ObjInventario.AddMovimiento(CveAlmacenDevolucion, CveConceptoDevolucion, 1, Now, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveVenta, -1, -1, Observaciones:="", Guia:="", CveContrato:=CveContrato, CveAlmacenDestino:=-1, Modulo:="Mod/CV1")
|
CveMovimientoDevolucion = ObjInventario.AddMovimiento(CveAlmacenMovimiento, CveConceptoMovimiento, 1, Now, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveVenta, -1, -1, Observaciones:="", Guia:="", CveContrato:=CveContrato, CveAlmacenDestino:=-1, Modulo:="Mod/CV1")
|
||||||
Folio = ObjInventario.Folio
|
Folio = ObjInventario.Folio
|
||||||
|
|
||||||
If CveMovimientoDevolucion > 0 Then
|
If CveMovimientoDevolucion > 0 Then
|
||||||
For Each Dr As DataRow In DtExistencias.FiltraParametros($"CveMovimiento = {RowMovimiento("CveMovimiento").ToString()}").Rows
|
For Each Dr As DataRow In DtExistencias.FiltraParametros($"CveMovimiento = {RowMovimiento("CveMovimiento").ToString()}").Rows
|
||||||
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoDevolucion, Dr("Cantidad").ToString.ToDecimal, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("PU").ToString.ToDecimal, -1, Serie:=Dr("Serie").ToString, Lote:=Dr("Lote").ToString, CveVentaDetalle:=Dr("CveVentaDetalle").ToString.ToEntero, CveSeccionAlmacen:=Dr("CveSeccionAlmacen").ToString.ToEntero) Then
|
|
||||||
|
Dim FechaCaducidad As Date = MinFecha
|
||||||
|
If Not String.IsNullOrEmpty(Dr("FechaCaducidad").ToString()) Then
|
||||||
|
If IsDate(Dr("FechaCaducidad")) Then
|
||||||
|
FechaCaducidad = Dr("FechaCaducidad").ToString().ToDate()
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoDevolucion, Dr("Cantidad").ToString.ToDecimal, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("PU").ToString.ToDecimal, -1, Serie:=Dr("Serie").ToString, Lote:=Dr("Lote").ToString, CveVentaDetalle:=Dr("CveVentaDetalle").ToString.ToEntero, CveSeccionAlmacen:=Dr("CveSeccionAlmacen").ToString.ToEntero, FechaCaducidad:=FechaCaducidad) Then
|
||||||
ErrorCancelar = True
|
ErrorCancelar = True
|
||||||
MensajeError = "Ocurrió un error al procesar los conceptos de salida. Por favor vuelva a intentar."
|
MensajeError = "Ocurrió un error al procesar los conceptos de salida. Por favor vuelva a intentar."
|
||||||
Exit For
|
Exit For
|
||||||
@@ -4920,12 +4941,17 @@ Namespace Modelos
|
|||||||
DtCostos = ObjInventario.DtResultados
|
DtCostos = ObjInventario.DtResultados
|
||||||
|
|
||||||
Dim tmpCostos As DataTable = DtCostos.FiltraParametros("", "", {"CveClasificacion"})
|
Dim tmpCostos As DataTable = DtCostos.FiltraParametros("", "", {"CveClasificacion"})
|
||||||
Dim IdCtaContableAlmacen As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContable", $"CveAlmacen = {CveAlmacenDevolucion}").ToEntero
|
Dim IdCtaContableAlmacen As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContable", $"CveAlmacen = {CveAlmacenMovimiento}").ToEntero
|
||||||
'Dim CveCuentaAlmacen As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContableSIG", $"CveAlmacen = {CveAlmacenDevolucion}").ToEntero
|
'Dim CveCuentaAlmacen As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContableSIG", $"CveAlmacen = {CveAlmacenDevolucion}").ToEntero
|
||||||
Dim IdCtaContable As Integer = 0
|
Dim IdCtaContable As Integer = 0
|
||||||
Dim CveCuenta As Integer = 0
|
Dim CveCuenta As Integer = 0
|
||||||
If tmpCostos.Rows.Count > 0 Then
|
If tmpCostos.Rows.Count > 0 Then
|
||||||
|
|
||||||
|
Dim Multiplicador As Decimal = -1D
|
||||||
|
If ObjFactura.TipoDocto = "Dev" Then
|
||||||
|
Multiplicador = 1D
|
||||||
|
End If
|
||||||
|
|
||||||
If ObjVentas.GetVenta(CveVenta, UsuarioActual.CveEmpresa) Then
|
If ObjVentas.GetVenta(CveVenta, UsuarioActual.CveEmpresa) Then
|
||||||
Dim Fecha As Date = Now
|
Dim Fecha As Date = Now
|
||||||
Dim CveCliente As Integer = ObjVentas.DtResultados(0)("CveCliente").ToString.ToEntero
|
Dim CveCliente As Integer = ObjVentas.DtResultados(0)("CveCliente").ToString.ToEntero
|
||||||
@@ -4950,7 +4976,7 @@ Namespace Modelos
|
|||||||
CveCuenta = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaCostosSIG", $"CveClasificacion = {RowInv("CveClasificacion")}").ToEntero
|
CveCuenta = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaCostosSIG", $"CveClasificacion = {RowInv("CveClasificacion")}").ToEntero
|
||||||
|
|
||||||
If Not ErrorCancelar Then
|
If Not ErrorCancelar Then
|
||||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePolizaDev, False, -1 * ValorInventario, SerieFolio, 69, SerieFolio, Fecha, IdCtaContable, -1, CveVenta:=CveVenta, CveCliente:=CveCliente, CveMovimientoAlmacen:=CveMovimientoDevolucion, CveSubProyecto:=ObjFactura.CveSubProyecto, ImporteMX:=-1 * ValorInventario, CveCuenta:=CveCuenta, CveClasificacion:=RowInv("CveClasificacion").ToString.ToEntero) Then
|
If Not ObjConta.AddPrePolizasDetalle(CvePrePolizaDev, False, Multiplicador * ValorInventario, SerieFolio, 69, SerieFolio, Fecha, IdCtaContable, -1, CveVenta:=CveVenta, CveCliente:=CveCliente, CveMovimientoAlmacen:=CveMovimientoDevolucion, CveSubProyecto:=ObjFactura.CveSubProyecto, ImporteMX:=Multiplicador * ValorInventario, CveCuenta:=CveCuenta, CveClasificacion:=RowInv("CveClasificacion").ToString.ToEntero) Then
|
||||||
ErrorCancelar = True
|
ErrorCancelar = True
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
@@ -4958,7 +4984,7 @@ Namespace Modelos
|
|||||||
cont += 1
|
cont += 1
|
||||||
Next
|
Next
|
||||||
|
|
||||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePolizaDev, True, -1 * TotalCosto, SerieFolio, 68, SerieFolio, Fecha, IdCtaContableAlmacen, -1, CveVenta:=CveVenta, CveCliente:=CveCliente, CveMovimientoAlmacen:=CveMovimientoDevolucion, CveSubProyecto:=ObjFactura.CveSubProyecto, ImporteMX:=-1 * TotalCosto) Then
|
If Not ObjConta.AddPrePolizasDetalle(CvePrePolizaDev, True, Multiplicador * TotalCosto, SerieFolio, 68, SerieFolio, Fecha, IdCtaContableAlmacen, -1, CveVenta:=CveVenta, CveCliente:=CveCliente, CveMovimientoAlmacen:=CveMovimientoDevolucion, CveSubProyecto:=ObjFactura.CveSubProyecto, ImporteMX:=Multiplicador * TotalCosto) Then
|
||||||
ErrorCancelar = True
|
ErrorCancelar = True
|
||||||
End If
|
End If
|
||||||
|
|
||||||
@@ -4995,7 +5021,7 @@ Namespace Modelos
|
|||||||
|
|
||||||
'DEVOLUCION REMISION - REGRESA LAS EXISTENCIAS A ENTREGA POR ADELANTADO SI LA FACTURA VIENE DE REMISION
|
'DEVOLUCION REMISION - REGRESA LAS EXISTENCIAS A ENTREGA POR ADELANTADO SI LA FACTURA VIENE DE REMISION
|
||||||
'SI ES DEVOLUCION DEL CLIENTE DEBE REGRESAR A ENTREGA POR ADELANTADO
|
'SI ES DEVOLUCION DEL CLIENTE DEBE REGRESAR A ENTREGA POR ADELANTADO
|
||||||
If Not ErrorCancelar AndAlso CveConceptoDevolucion = 18 AndAlso RevivirRemisiones Then
|
If Not ErrorCancelar AndAlso CveConceptoMovimiento = 18 AndAlso RevivirRemisiones Then
|
||||||
If Not GeneraMovimientosEntregaPorAdelantadoRemision(CveMovimientoDevolucion, ObjVentas, ObjInventario, DtDevRem, ListaRemisionesCancelar) Then
|
If Not GeneraMovimientosEntregaPorAdelantadoRemision(CveMovimientoDevolucion, ObjVentas, ObjInventario, DtDevRem, ListaRemisionesCancelar) Then
|
||||||
ErrorCancelar = True
|
ErrorCancelar = True
|
||||||
MensajeError = "Ocurrió un error al generar los movimientos de devolución a remisión"
|
MensajeError = "Ocurrió un error al generar los movimientos de devolución a remisión"
|
||||||
|
|||||||
Reference in New Issue
Block a user