Agregar la funcion de Devolucion automatica en la cancelacion de compras
This commit is contained in:
@@ -3217,6 +3217,12 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" style="align-items: center" id="divDevAuto" runat="server" visible="false">
|
||||
<label class="col-md-4">Devolución automática:</label>
|
||||
<div class="col-md-8">
|
||||
<asp:CheckBox Text="" runat="server" ID="CheckDevAuto" Visible="True" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<asp:Button ID="BtnCancelarCompra2" OnClick="BtnCancelarCompra2_Click" runat="server" CssClass="btn btn-success" Text="Cancelar Compra" ValidationGroup="GrpCancelarCompra" />
|
||||
|
||||
@@ -1591,8 +1591,12 @@ Partial Class Compras_Compras
|
||||
|
||||
LtlTareaNueva.Text = String.Format("<a class=""caption-subject bold font-green"" onclick=""OpenModalNewTareaUserControl(1,-1,{{CveCompra:{0}}});""> <i class=""fa fa-plus""'></i> Tarea</a>", CveCompra)
|
||||
|
||||
End If
|
||||
'Valida si tienes permisos para devolucion automatica y si cumple con las condiciones para mostrarlo
|
||||
If UsuarioActual.TienePermisoProceso(315) And GvInvMov.Rows.Count > 0 Then
|
||||
divDevAuto.Visible = True
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
'SE OCUPAN AFUERA DEL POSTBACK ??
|
||||
cargaddlVinculacionServcios()
|
||||
@@ -5258,7 +5262,6 @@ Partial Class Compras_Compras
|
||||
'hay que restarle descuento
|
||||
importeconcepto = If(DdlMoneda.SelectedValue.ToEntero = 1, dr("pu").ToString.ToDecimal, dr("pu").ToString.ToDecimal * TipoCambioGuardar) - (If(DdlMoneda.SelectedValue.ToEntero = 1, dr("descuento").ToString.ToDecimal, dr("descuento").ToString.ToDecimal * TipoCambioGuardar) / dr("cantidad").ToString.ToDecimal)
|
||||
If Not ObjInventario.AddMovimientoDetalle(cvemovimientoentrada, dr("cantidad").ToString.ToDouble, dr("cveum").ToString.ToEntero, dr("cveps").ToString.ToEntero, importeconcepto, -1, PUTC:=If(DdlMoneda.SelectedValue.ToEntero = 1, -1, dr("pu").ToString.ToDecimal), CveCompraDetalle:=dr("CveCompraDetalle").ToString.ToEntero) Then
|
||||
|
||||
ErrorMovInv = True
|
||||
Exit For
|
||||
End If
|
||||
@@ -14751,7 +14754,7 @@ Partial Class Compras_Compras
|
||||
If UsuarioActual.TienePermisoProceso(140) Then
|
||||
If CveMovimientoAlmacen > 0 And EstatusAlmacen = 2 Then
|
||||
BtnCancelarCompra.Visible = True
|
||||
ElseIf CveMovimientoAlmacen = 0 Then
|
||||
Else
|
||||
BtnCancelarCompra.Visible = True
|
||||
End If
|
||||
End If
|
||||
@@ -14788,6 +14791,70 @@ Partial Class Compras_Compras
|
||||
End If
|
||||
ObjComprasComprobacion.Dispose()
|
||||
|
||||
|
||||
'DEVOLUCIÓN AUTOMATICA
|
||||
If CheckDevAuto.Checked Then
|
||||
Dim ErrorMovInv As Boolean = False
|
||||
Dim cvemovimientoentrada As Integer
|
||||
Dim folio As Integer
|
||||
Dim fecha As Date = TxtFechaCancelacion.Text.ToDate
|
||||
Dim importeconcepto As Decimal
|
||||
Dim ObjInventario As New ClsInventarios
|
||||
Dim ObjCompra As New ClsCompras
|
||||
Dim tbmovs As DataTable = Nothing
|
||||
Dim TmpDT As DataTable = Nothing
|
||||
Dim TipoCambioGuardar As Decimal = 1
|
||||
Dim tcvealmacen As Integer = 0
|
||||
|
||||
If ObjCompra.GetCompraDetalle(CveCompra) Then
|
||||
If ObjCompra.DtResultados.Rows.Count > 0 Then
|
||||
TmpDT = ObjCompra.DtResultados
|
||||
End If
|
||||
End If
|
||||
|
||||
If ObjInventario.GetInv_ComprasMov(CveCompra, UsuarioActual.CveEmpresa) Then
|
||||
If ObjInventario.DtResultados.Rows.Count > 0 Then
|
||||
tbmovs = ObjInventario.DtResultados
|
||||
End If
|
||||
End If
|
||||
|
||||
If DdlMoneda.SelectedValue.ToEntero > 1 Then
|
||||
TipoCambioGuardar = If(DivTC.Visible, TxtTC.Text.ToDecimal, LblTC.Text.Substring(3).ToDecimal)
|
||||
End If
|
||||
TipoCambio = If(DivTC.Visible, TipoCambioGuardar, TipoCambio)
|
||||
|
||||
For Each dtMovs As DataRow In TmpDT.Rows
|
||||
If TmpDT.Rows.Count > 0 Then
|
||||
tcvealmacen = dtMovs("AlmacenRegistrado").ToString.ToEntero
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
|
||||
folio = ObjInventario.GetFolioSiguiente(13, UsuarioActual.CveEmpresa)
|
||||
cvemovimientoentrada = ObjInventario.AddMovimiento(tcvealmacen, 13, 1, fecha, folio, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCompra, -1, -1, -1, TipoCambio:=If(DdlMoneda.SelectedValue.ToEntero = 1, -1, TipoCambioGuardar), Modulo:="Devolucion Automatica")
|
||||
If cvemovimientoentrada <= 0 Then
|
||||
ErrorMovInv = True
|
||||
Else
|
||||
For Each dr As DataRow In tbmovs.Rows
|
||||
If dr("cvealmacen").ToString.ToEntero = tcvealmacen And dr("CveCompraDetalle").ToString.ToEntero <> -1 And dr("origen").ToString.ToEntero <> -1 And dr("Total").ToString.ToDecimal <> 0 Then
|
||||
'hay que restarle descuento
|
||||
importeconcepto = dr("Total").ToString.ToDecimal
|
||||
If Not ObjInventario.AddMovimientoDetalle(cvemovimientoentrada, dr("cantidad").ToString.ToDouble, dr("cveum").ToString.ToEntero, dr("cveps").ToString.ToEntero, importeconcepto, -1, CveCompraDetalle:=dr("CveCompraDetalle").ToString.ToEntero, Serie:=dr("Serie").ToString) Then
|
||||
ErrorMovInv = True
|
||||
Exit Sub
|
||||
End If
|
||||
End If
|
||||
Next
|
||||
|
||||
End If
|
||||
|
||||
If ErrorMovInv = True Then
|
||||
ObjInventario.RollBack()
|
||||
End If
|
||||
ObjInventario.Dispose()
|
||||
ObjCompra.Dispose()
|
||||
End If
|
||||
|
||||
Dim ObjAC As ClsContPAQi = Nothing
|
||||
If UsuarioActual.Empresa.UsaAC Or UsuarioActual.Empresa.Funcionalidad(200).ToString = "1" Then
|
||||
ObjAC = New ClsContPAQi(UsuarioActual.Empresa)
|
||||
@@ -14805,7 +14872,7 @@ Partial Class Compras_Compras
|
||||
|
||||
|
||||
' MES ANTERIOR, MOVIMIENTOS CONTRARIOS (NEGATIVOS)
|
||||
If TxtFecha.Text.ToDate.Month < TxtFechaCancelacion.Text.ToDate.Month Or TxtFecha.Text.ToDate.Year < TxtFechaCancelacion.Text.ToDate.Year Or DdlTipoComprobante.SelectedValue.Contiene("NC") Then
|
||||
If True Then
|
||||
|
||||
'CREA POLIZA NEGATIVA
|
||||
If IdPoliza > 0 AndAlso ObjAC IsNot Nothing AndAlso UsuarioActual.Empresa.UsaAC Then
|
||||
@@ -14960,6 +15027,8 @@ Partial Class Compras_Compras
|
||||
ObjAC.Dispose()
|
||||
End If
|
||||
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub btnProrateo_Click(sender As Object, e As EventArgs) Handles btnProrateo.Click, btnProrateo2.Click
|
||||
|
||||
Reference in New Issue
Block a user