Bonificaciones por productos al aplicar NC. pt2
This commit is contained in:
@@ -6680,11 +6680,16 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="portlet-body form-horizontal form-row-sepe formnombottom">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<asp:CheckBox ID="ChkMostarProductosRNCBon" runat="server" AutoPostBack="true" Text="Mostrar Productos" OnCheckedChanged="ChkMostarProductosRNCBon_CheckedChanged" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" style="margin-right: 10px;" align="right">
|
||||
<input type="text" id="TxtBusquedaNCBon" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusquedaNCBon','{0}')", GvRemisionesNCBon.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" />
|
||||
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusquedaNCBon','{0}')", GvRemisionesNCBon.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="row" id="DivRNCBonificaciones" runat="server" visible="false">
|
||||
<div class="col-md-12" style="max-height: 440px; overflow: auto">
|
||||
<asp:GridView ID="GvRemisionesNCBon" runat="server" AutoGenerateColumns="False"
|
||||
DataKeyNames="CveVenta,CveVentaRNCCargo" CssClass="table table-striped table-advance table-hover Widthall mysmallbtn" GridLines="None">
|
||||
@@ -6716,6 +6721,35 @@
|
||||
</asp:GridView>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" id="DivRNCBonificacionesDetalle" runat="server" visible="false">
|
||||
<div class="col-md-12" style="max-height: 440px; overflow: auto">
|
||||
<asp:GridView ID="GvRemisionesNCBonDetalle" runat="server" AutoGenerateColumns="False"
|
||||
DataKeyNames="CveVenta,CveVentaDetalleRNC,CvePS,PU,PorcentajeIVA" CssClass="table table-striped table-advance table-hover Widthall mysmallbtn" GridLines="None">
|
||||
<Columns>
|
||||
<asp:TemplateField>
|
||||
<ItemTemplate>
|
||||
<asp:CheckBox ID="ChkAplicar" runat="server" />
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField HeaderText="Cantidad">
|
||||
<ItemTemplate>
|
||||
<asp:TextBox ID="TxtCantidadRNC" runat="server" Text='<%#Eval("CantidadPendiente").ToString%>' MaxLength="12" Width="46px" Height="24px"></asp:TextBox>
|
||||
<asp:RangeValidator ID="RVCantRNC" runat="server" Type="Double" MinimumValue="0" MaximumValue='<%#Eval("CantidadPendiente").ToString%>' ErrorMessage="Cantidad Excedida" ControlToValidate="TxtCantidadRNC" Display="None" ValidationGroup="VGAplicarRNC"></asp:RangeValidator>
|
||||
<ajax:ValidatorCalloutExtender ID="VCECantidad3" runat="server" HighlightCssClass="vco" TargetControlID="RVCantRNC" Width="300px"></ajax:ValidatorCalloutExtender>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:BoundField HeaderText="Producto" DataField="CodigoPS" ItemStyle-HorizontalAlign="Left" />
|
||||
<asp:HyperLinkField DataNavigateUrlFields="CveVenta" Target="_blank" DataNavigateUrlFormatString="/Ventas/Ventas.aspx?CveVenta={0}" DataTextField="Folio" HeaderText="Folio" ItemStyle-Width="150px" ItemStyle-HorizontalAlign="Left" />
|
||||
<asp:BoundField HeaderText="Fecha" DataField="Fecha" DataFormatString="{0:d}" ItemStyle-HorizontalAlign="Center" />
|
||||
<asp:TemplateField HeaderText="Total" ItemStyle-HorizontalAlign="Right">
|
||||
<ItemTemplate>
|
||||
<asp:Literal ID="TtlTotal" runat="server" Text='<%# Eval("Total", "{0:N2}") %>'></asp:Literal>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
</Columns>
|
||||
</asp:GridView>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
@@ -7769,7 +7803,6 @@
|
||||
|
||||
|
||||
}
|
||||
|
||||
function CalculaSaldoRNCChkDetalleBonificacion(TxtCantidad, CantidadPendiente, ImporteTotal, Chk) {
|
||||
//ImportesRNCCargo
|
||||
let Importe = 0;
|
||||
@@ -7836,6 +7869,73 @@
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
function CalculaSaldoRNCChkDetalleBon(TxtCantidad, CantidadPendiente, ImporteTotal, Chk) {
|
||||
//ImportesRNCCargo
|
||||
let Importe = 0;
|
||||
if (Chk.checked) {
|
||||
let SaldoMaximoUtilizable = ToDouble(HdnSMUBon.value);
|
||||
let ImportesAsignados = 0;
|
||||
|
||||
$('.ImportesRNCDetalleBonificacion').each(function () {
|
||||
|
||||
if (Chk.id != $(this).find("td").eq(0).find(":checkbox").attr('id')) {
|
||||
let seleccionado = $(this).find("td").eq(0).find(":checkbox").is(':checked');
|
||||
|
||||
if (seleccionado) {
|
||||
let cantidad = ToDouble($(this).find("td").eq(1).find(":text").val());
|
||||
let porcentajeIVA = ToDouble($(this).find("td").eq(0).find(":hidden").val());
|
||||
let precio = ToDouble($(this).find("td").eq(5).find(":hidden").val());
|
||||
|
||||
let totalcalculableImpuestos = (cantidad * precio);
|
||||
let iva = ToDouble((totalcalculableImpuestos * porcentajeIVA).toFixed(2));
|
||||
|
||||
ImportesAsignados += totalcalculableImpuestos + iva;
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
Importe = SaldoMaximoUtilizable - ImportesAsignados;
|
||||
|
||||
if (Importe > 0) {
|
||||
|
||||
} else {
|
||||
if (SaldoMaximoUtilizable > 0) {
|
||||
Importe = 0;
|
||||
Chk.checked = false;
|
||||
} else {
|
||||
Importe = 0;
|
||||
}
|
||||
}
|
||||
|
||||
} else {
|
||||
Importe = 0;
|
||||
}
|
||||
|
||||
Importe = ToDouble(Importe.toFixed(2));
|
||||
|
||||
if (Importe > 0) {
|
||||
|
||||
let pu = (ImporteTotal / CantidadPendiente);
|
||||
|
||||
if (pu > 0) {
|
||||
const cantidadSugerida = (Importe / pu);
|
||||
if (cantidadSugerida > CantidadPendiente) {
|
||||
TxtCantidad.value = CantidadPendiente.toString();
|
||||
}else {
|
||||
TxtCantidad.value = cantidadSugerida.toString();
|
||||
}
|
||||
|
||||
}else {
|
||||
TxtCantidad.value = "0";
|
||||
}
|
||||
|
||||
}else {
|
||||
TxtCantidad.value = "0";
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
function LimitaSaldoRNCChk(TxtImporte, Saldo) {
|
||||
|
||||
@@ -2150,7 +2150,7 @@ Partial Class Ventas
|
||||
DdlTipoComprobante.Items.Insert(DdlTipoComprobante.Items.Count, New ListItem("Autorización", "PA"))
|
||||
End If
|
||||
|
||||
If Not UsuarioActual.CveEmpresa.Contiene(141, 152, 159, 160, 161, 162, 163) Then
|
||||
If Not UsuarioActual.Empresa.Funcionalidad(558) = "1" Then
|
||||
LnkAgregarCliente.Visible = False
|
||||
End If
|
||||
|
||||
@@ -25124,6 +25124,18 @@ Partial Class Ventas
|
||||
End If
|
||||
UpModalRemisionesNC.Update()
|
||||
End Sub
|
||||
Protected Sub ChkMostarProductosRNCBon_CheckedChanged(sender As Object, e As EventArgs)
|
||||
If ChkMostarProductosRNCBon.Checked Then
|
||||
DivRNCBonificaciones.Visible = False
|
||||
DivRNCBonificacionesDetalle.Visible = True
|
||||
CargaRNCDetalleBonificacion(DdlVentaUsado.SelectedValue.ToEntero())
|
||||
Else
|
||||
DivRNCBonificaciones.Visible = True
|
||||
DivRNCBonificacionesDetalle.Visible = False
|
||||
RblRNCTipo_SelectedIndexChanged(RblRNCTipo, EventArgs.Empty)
|
||||
End If
|
||||
UpModalRemisionesNC.Update()
|
||||
End Sub
|
||||
Protected Sub ChkMostarProductosRNCDesc_CheckedChanged(sender As Object, e As EventArgs)
|
||||
|
||||
RblRNCTipoDesc_SelectedIndexChanged(RblRNCTipo, EventArgs.Empty)
|
||||
@@ -25336,7 +25348,63 @@ Partial Class Ventas
|
||||
|
||||
UpDescNC.Update()
|
||||
End Sub
|
||||
Private Sub CargaRNCDetalleBonificacion(Optional CveVentaUsado As Integer = -1)
|
||||
|
||||
'Dim ObjMovtos As New ClsMovimientos()
|
||||
'If ObjMovtos.GetRemisionesNCCliente(CveCliente, True, CveMoneda:=-1, CveClienteSucursal:=DdlSucursalCliente.SelectedValue.ToEntero()) Then
|
||||
' Me.TmpDTRNCBonificacionDetalle = ObjMovtos.DtResultados.Copy()
|
||||
'End If
|
||||
'ObjMovtos.Dispose()
|
||||
|
||||
'Me.TmpDTRNCBonificacionDetalle.Columns.Add(New DataColumn("CveVentaDetalleNCGenerada", GetType(Integer)))
|
||||
|
||||
'Me.TmpDTRNCBonificacionDetalleSeleccionadas = Nothing
|
||||
'Me.TmpDTRNCBonificacionDetalleSeleccionadas = TmpDTRNCBonificacionDetalle.Clone()
|
||||
'Me.TmpDTRNCBonificacionDetalleSeleccionadas.Clear()
|
||||
|
||||
'GvRemisionesNCBonDetalle.DataSource = TmpDTRNCBonificacionDetalle.FiltraParametros("TipoRNC = 2")
|
||||
'GvRemisionesNCBonDetalle.DataBind()
|
||||
|
||||
Dim ObjMovtos As New ClsMovimientos()
|
||||
If ObjMovtos.GetRemisionesNCCliente(CveCliente, True, CveMoneda:=-1, CveClienteSucursal:=DdlSucursalCliente.SelectedValue.ToEntero()) Then
|
||||
Me.TmpDTRNCDetalle = ObjMovtos.DtResultados.Copy()
|
||||
End If
|
||||
ObjMovtos.Dispose()
|
||||
|
||||
Me.TmpDTRNCDetalle.Columns.Add(New DataColumn("CveVentaDetalleNCGenerada", GetType(Integer)))
|
||||
|
||||
Me.TmpDTRNCDetalleSelecciondas = Nothing
|
||||
Me.TmpDTRNCDetalleSelecciondas = TmpDTRNCDetalle.Clone()
|
||||
Me.TmpDTRNCDetalleSelecciondas.Clear()
|
||||
|
||||
GvRemisionesNCBonDetalle.DataSource = TmpDTRNCDetalle.FiltraParametros("TipoRNC = 2")
|
||||
GvRemisionesNCBonDetalle.DataBind()
|
||||
|
||||
Dim ObjAcum As New ClsAcumuladores
|
||||
If ObjAcum.GetMovimientosDistribuidorResumen(CveCliente, UsuarioActual.CveEmpresa) Then
|
||||
Dim RowUsadosNC As DataRow = ObjAcum.DtResultados.Rows(5)
|
||||
DivSMU.Visible = True
|
||||
HdnSMUBon.Value = RowUsadosNC("ValorConImpuestos").ToString()
|
||||
LtlSMUBon.Text = RowUsadosNC("ValorConImpuestos").ToString().ToDecimal().FormatoNumero(2)
|
||||
Else
|
||||
'DivSMU.Visible = False
|
||||
HdnSMUBon.Value = "0"
|
||||
LtlSMUBon.Text = "0"
|
||||
End If
|
||||
ObjAcum.Dispose()
|
||||
|
||||
'Dim SaldoMaximoUsados As Decimal = Me.TmpDT.SUM("Total", "EsCargo = True").ToDecimal() + Me.TmpDT.SUM("ImporteIVA", "EsCargo = True").ToDecimal()
|
||||
|
||||
'If SaldoMaximoUsados > 0 Then
|
||||
' HdnSaldoMaximoUsados.Value = SaldoMaximoUsados.ToString()
|
||||
' LblSaldoMaximoUsados.Text = String.Format("{0:N2}", SaldoMaximoUsados)
|
||||
'Else
|
||||
' HdnSaldoMaximoUsados.Value = "0"
|
||||
' LblSaldoMaximoUsados.Text = "0"
|
||||
'End If
|
||||
|
||||
UpModalRemisionesNC.Update()
|
||||
End Sub
|
||||
Private Sub CargaRNCDetalleDescBonificacion()
|
||||
Dim DtNC As DataTable = Nothing
|
||||
|
||||
@@ -25372,74 +25440,95 @@ Partial Class Ventas
|
||||
If TmpDTRNCBonificacionesSeleccionadas Is Nothing Then
|
||||
TmpDTRNCBonificacionesSeleccionadas = Me.TmpDTRNCBonificacionesCliente.Clone()
|
||||
End If
|
||||
If ChkMostarProductosRNCBon.Checked Then
|
||||
DivRNCBonificaciones.Visible = False
|
||||
DivRNCBonificacionesDetalle.Visible = True
|
||||
|
||||
Dim ListaBon As New List(Of VentasBonificaciones)
|
||||
Dim DtBon As DataTable = Nothing
|
||||
Dim SbFiltro As New StringBuilder()
|
||||
SbFiltro.Append("CveVenta IN(")
|
||||
Using ObjAcum As New ClsAcumuladores
|
||||
If ObjAcum.DistribuidorMovtosGet(CveCliente, UsuarioActual.CveEmpresa, CveVentaRNCCargo:=CveVentaRNCCargo) Then
|
||||
DtBon = ObjAcum.DtResultados.Copy()
|
||||
End If
|
||||
End Using
|
||||
|
||||
If DtBon IsNot Nothing Then
|
||||
Dim queryBonificacion = From dr In DtBon
|
||||
Where dr("CveVentaBonificacion").ToString().ToEntero > 0
|
||||
Group By CveVentaBonificacion = dr("CveVentaBonificacion").ToString().ToEntero, CveVenta = dr("CveVenta").ToString().ToEntero
|
||||
Into x = Group
|
||||
Select New With {
|
||||
.CveVentaRNCCargo = CveVenta,
|
||||
.CveVentaBonificacion = CveVentaBonificacion,
|
||||
.ImporteBonificacion = x.Sum(Function(s) s("ImporteBonificacion").ToString().ToDecimal),
|
||||
.IVABonificacion = x.Sum(Function(s) s("IVABonificacion").ToString().ToDecimal)
|
||||
}
|
||||
|
||||
For Each bon In queryBonificacion
|
||||
SbFiltro.AppendFormat("'{0}',", bon.CveVentaBonificacion)
|
||||
ListaBon.Add(New VentasBonificaciones() With {.CveVentaRNCCargo = bon.CveVentaRNCCargo, .CveVentaBonificacion = bon.CveVentaBonificacion, .ImporteBonificacion = bon.ImporteBonificacion, .IVABonificacion = bon.IVABonificacion})
|
||||
Next
|
||||
SbFiltro.Remove(SbFiltro.Length - 1, 1)
|
||||
SbFiltro.Append(")")
|
||||
End If
|
||||
|
||||
If ListaBon.Count > 0 Then
|
||||
Dim Bonificaciones = Me.TmpDTRNCBonificacionesCliente.Select(SbFiltro.ToString())
|
||||
|
||||
For Each RowBonificacion As DataRow In Bonificaciones
|
||||
Dim RNCBonificacion = ListaBon.Where(Function(x) x.CveVentaBonificacion = RowBonificacion("CveVenta").ToString().ToEntero())
|
||||
|
||||
RowBonificacion("ImporteBonificacion") = RNCBonificacion.Sum(Function(x) x.ImporteBonificacion)
|
||||
RowBonificacion("IVABonificacion") = RNCBonificacion.Sum(Function(x) x.IVABonificacion)
|
||||
RowBonificacion("CveVentaRNCCargo") = CveVentaRNCCargo
|
||||
|
||||
If AplicarRNC Then
|
||||
TmpDTRNCBonificacionesSeleccionadas.Rows.Add(RowBonificacion.ItemArray)
|
||||
Else
|
||||
For Each RowEliminar In Me.TmpDTRNCBonificacionesSeleccionadas.Select(SbFiltro.ToString())
|
||||
RowEliminar.Delete()
|
||||
Next
|
||||
End If
|
||||
Next
|
||||
|
||||
End If
|
||||
|
||||
'VERIFICA SI TIENE BONIFICACIONES PARA AGREGARLAS
|
||||
If TmpDTRNCBonificacionesSeleccionadas IsNot Nothing AndAlso TmpDTRNCBonificacionesSeleccionadas.Rows.Count > 0 Then
|
||||
DivRNCBon.Visible = True
|
||||
CargaRNCDetalleBonificacion()
|
||||
Else
|
||||
DivRNCBon.Visible = False
|
||||
DivRNCBonificaciones.Visible = True
|
||||
DivRNCBonificacionesDetalle.Visible = False
|
||||
|
||||
Dim ListaBon As New List(Of VentasBonificaciones)
|
||||
Dim DtBon As DataTable = Nothing
|
||||
Dim SbFiltro As New StringBuilder()
|
||||
SbFiltro.Append("CveVenta IN(")
|
||||
Using ObjAcum As New ClsAcumuladores
|
||||
If ObjAcum.DistribuidorMovtosGet(CveCliente, UsuarioActual.CveEmpresa, CveVentaRNCCargo:=CveVentaRNCCargo) Then
|
||||
DtBon = ObjAcum.DtResultados.Copy()
|
||||
End If
|
||||
End Using
|
||||
|
||||
If DtBon IsNot Nothing Then
|
||||
Dim queryBonificacion = From dr In DtBon
|
||||
Where dr("CveVentaBonificacion").ToString().ToEntero > 0
|
||||
Group By CveVentaBonificacion = dr("CveVentaBonificacion").ToString().ToEntero, CveVenta = dr("CveVenta").ToString().ToEntero
|
||||
Into x = Group
|
||||
Select New With {
|
||||
.CveVentaRNCCargo = CveVenta,
|
||||
.CveVentaBonificacion = CveVentaBonificacion,
|
||||
.ImporteBonificacion = x.Sum(Function(s) s("ImporteBonificacion").ToString().ToDecimal),
|
||||
.IVABonificacion = x.Sum(Function(s) s("IVABonificacion").ToString().ToDecimal)
|
||||
}
|
||||
|
||||
For Each bon In queryBonificacion
|
||||
SbFiltro.AppendFormat("'{0}',", bon.CveVentaBonificacion)
|
||||
ListaBon.Add(New VentasBonificaciones() With {.CveVentaRNCCargo = bon.CveVentaRNCCargo, .CveVentaBonificacion = bon.CveVentaBonificacion, .ImporteBonificacion = bon.ImporteBonificacion, .IVABonificacion = bon.IVABonificacion})
|
||||
Next
|
||||
SbFiltro.Remove(SbFiltro.Length - 1, 1)
|
||||
SbFiltro.Append(")")
|
||||
End If
|
||||
|
||||
If ListaBon.Count > 0 Then
|
||||
Dim Bonificaciones = Me.TmpDTRNCBonificacionesCliente.Select(SbFiltro.ToString())
|
||||
|
||||
For Each RowBonificacion As DataRow In Bonificaciones
|
||||
Dim RNCBonificacion = ListaBon.Where(Function(x) x.CveVentaBonificacion = RowBonificacion("CveVenta").ToString().ToEntero())
|
||||
|
||||
RowBonificacion("ImporteBonificacion") = RNCBonificacion.Sum(Function(x) x.ImporteBonificacion)
|
||||
RowBonificacion("IVABonificacion") = RNCBonificacion.Sum(Function(x) x.IVABonificacion)
|
||||
RowBonificacion("CveVentaRNCCargo") = CveVentaRNCCargo
|
||||
|
||||
If AplicarRNC Then
|
||||
TmpDTRNCBonificacionesSeleccionadas.Rows.Add(RowBonificacion.ItemArray)
|
||||
Else
|
||||
For Each RowEliminar In Me.TmpDTRNCBonificacionesSeleccionadas.Select(SbFiltro.ToString())
|
||||
RowEliminar.Delete()
|
||||
Next
|
||||
End If
|
||||
Next
|
||||
|
||||
End If
|
||||
|
||||
'VERIFICA SI TIENE BONIFICACIONES PARA AGREGARLAS
|
||||
If TmpDTRNCBonificacionesSeleccionadas IsNot Nothing AndAlso TmpDTRNCBonificacionesSeleccionadas.Rows.Count > 0 Then
|
||||
DivRNCBon.Visible = True
|
||||
Else
|
||||
DivRNCBon.Visible = False
|
||||
End If
|
||||
|
||||
GvRemisionesNCBon.DataSource = TmpDTRNCBonificacionesSeleccionadas
|
||||
GvRemisionesNCBon.DataBind()
|
||||
|
||||
'Dim SMUBon As Decimal = Me.TmpDTRNCBonificacionesSeleccionadas.SUM("ImporteBonificacion").ToDecimal() + Me.TmpDTRNCBonificacionesSeleccionadas.SUM("IVABonificacion").ToDecimal()
|
||||
|
||||
'LtlSMUBon.Text = String.Format("{0:N2}", SMUBon)
|
||||
'HdnSMUBon.Value = SMUBon.ToString()
|
||||
|
||||
Dim ObjAcum2 As New ClsAcumuladores
|
||||
If ObjAcum2.GetMovimientosDistribuidorResumen(CveCliente, UsuarioActual.CveEmpresa) Then
|
||||
Dim RowUsadosNC As DataRow = ObjAcum2.DtResultados.Rows(5)
|
||||
HdnSMUBon.Value = RowUsadosNC("ValorConImpuestos").ToString()
|
||||
LtlSMUBon.Text = RowUsadosNC("ValorConImpuestos").ToString().ToDecimal().FormatoNumero(2)
|
||||
Else
|
||||
HdnSMUBon.Value = "0"
|
||||
LtlSMUBon.Text = "0"
|
||||
End If
|
||||
ObjAcum2.Dispose()
|
||||
|
||||
UpModalRemisionesNC.Update()
|
||||
End If
|
||||
|
||||
GvRemisionesNCBon.DataSource = TmpDTRNCBonificacionesSeleccionadas
|
||||
GvRemisionesNCBon.DataBind()
|
||||
|
||||
Dim SMUBon As Decimal = Me.TmpDTRNCBonificacionesSeleccionadas.SUM("ImporteBonificacion").ToDecimal() + Me.TmpDTRNCBonificacionesSeleccionadas.SUM("IVABonificacion").ToDecimal()
|
||||
|
||||
LtlSMUBon.Text = String.Format("{0:N2}", SMUBon)
|
||||
HdnSMUBon.Value = SMUBon.ToString()
|
||||
|
||||
UpModalRemisionesNC.Update()
|
||||
End Sub
|
||||
|
||||
'Protected Sub ChkAplicarRNC_CheckedChanged(sender As Object, e As EventArgs)
|
||||
@@ -25620,6 +25709,22 @@ Partial Class Ventas
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Protected Sub GvRemisionesNCBonDetalle_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvRemisionesNCBonDetalle.RowDataBound
|
||||
If e.Row.RowType = DataControlRowType.DataRow Then
|
||||
|
||||
If e.Row.DBCampo("CveVentaDetalleRNC").ToEntero() = 0 Then
|
||||
e.Row.CssClass = "Totales"
|
||||
e.Row.FCCheckBox("ChkAplicar").Visible = False
|
||||
e.Row.FCTextBox("TxtCantidadRNC").Visible = False
|
||||
Else
|
||||
e.Row.CssClass = "ImportesRNCDetalle"
|
||||
e.Row.FCCheckBox("ChkAplicar").Attributes.Add("onclick", $"CalculaSaldoRNCChkDetalleBon({e.Row.FCTextBox("TxtCantidadRNC").ClientID},{e.Row.DBCampo("CantidadPendiente").ToDouble},{e.Row.DBCampo("Total").ToDouble}, this);")
|
||||
'e.Row.FCTextBox("TxtImporte").Attributes.Add("onkeyup", $"LimitaSaldoRNCChk({e.Row.FCTextBox("TxtImporte").ClientID},{e.Row.DBCampo("Saldo").ToDouble});")
|
||||
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
Protected Sub GvRNCDevoluciones_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvRNCDevoluciones.RowDataBound
|
||||
If e.Row.RowType = DataControlRowType.DataRow Then
|
||||
e.Row.FCCheckBox("ChkAplicar").Attributes.Add("onclick", $"CalculaSaldoRNCBonChkDesc({e.Row.FCTextBox("TxtImporte").ClientID},{e.Row.DBCampo("Saldo").ToDouble}, this);")
|
||||
@@ -30034,7 +30139,8 @@ Partial Class Ventas
|
||||
NCConcepto = ArrayNC(1).ToEntero()
|
||||
End Select
|
||||
|
||||
If ChkMostarProductosRNC.Checked Then
|
||||
'CARGOS/AJUSTES POR GARANTIA POR PRODUCTO
|
||||
If RblRNCTipo.SelectedValue.Contiene("1", "3") AndAlso ChkMostarProductosRNC.Checked Then
|
||||
Dim TotalAcumulado As Decimal = 0
|
||||
Me.AplicaRNCXDetalle = True
|
||||
|
||||
@@ -30102,8 +30208,8 @@ Partial Class Ventas
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
|
||||
Else
|
||||
'CARGOS/AJUSTES POR GARANTIA POR TOTAL
|
||||
ElseIf RblRNCTipo.SelectedValue.Contiene("1", "3") AndAlso Not ChkMostarProductosRNC.Checked Then
|
||||
|
||||
For Each GvRow As GridViewRow In GvRemisionesNC.Rows
|
||||
If GvRow.RowType = DataControlRowType.DataRow Then
|
||||
@@ -30153,7 +30259,77 @@ Partial Class Ventas
|
||||
Else
|
||||
DdlNCPS.Enabled = True
|
||||
End If
|
||||
'BONIFICACIONES POR PRODUCTO
|
||||
ElseIf RblRNCTipo.SelectedValue.Contiene("2") AndAlso ChkMostarProductosRNCBon.Checked Then
|
||||
Dim TotalAcumulado As Decimal = 0
|
||||
Me.AplicaRNCXDetalle = True
|
||||
|
||||
For Each GvRow As GridViewRow In GvRemisionesNCBonDetalle.Rows
|
||||
If GvRow.RowType = DataControlRowType.DataRow Then
|
||||
If GvRow.FCCheckBox("ChkAplicar").Checked Then
|
||||
Dim Rows = TmpDTRNCDetalle.Select($"CveVentaDetalleRNC = {GvRow.DataKey("CveVentaDetalleRNC").ToEntero()}")
|
||||
For Each row In Rows
|
||||
row("Cantidad") = GvRow.FCTextBox("TxtCantidadRNC").Text.ToDecimal()
|
||||
TmpDTRNCDetalleSelecciondas.Rows.Add(row.ItemArray)
|
||||
Next
|
||||
End If
|
||||
End If
|
||||
Next
|
||||
Dim TerminarCiclo As Boolean = False
|
||||
|
||||
For Each Dr As DataRow In TmpDTRNCDetalleSelecciondas.FiltraParametros("", DistinctColumns:={"CveVenta"}).Rows
|
||||
Dim RemNC As New Modelos.Factura(UsuarioActual, Dr("CveVenta").ToString().ToEntero(), UsuarioActual.CveEmpresa)
|
||||
|
||||
Dim TotalRNC As Decimal = 0
|
||||
For Each GvRow As GridViewRow In GvRemisionesNCBonDetalle.Rows
|
||||
If GvRow.RowType = DataControlRowType.DataRow Then
|
||||
|
||||
If GvRow.FCCheckBox("ChkAplicar").Checked AndAlso GvRow.DataKey("CveVenta").ToEntero() = Dr("CveVenta").ToString().ToEntero() Then
|
||||
|
||||
Dim Cantidad As Decimal = GvRow.FCTextBox("TxtCantidadRNC").Text.ToDecimal()
|
||||
Dim PU = GvRow.DataKey("PU").ToDecimal()
|
||||
Dim PorcentajeIVA As Decimal = GvRow.DataKey("PorcentajeIVA").ToDecimal()
|
||||
|
||||
Dim TotalCalculableImpuestos As Decimal = (Cantidad * PU)
|
||||
Dim ImporteIVA As Decimal = (TotalCalculableImpuestos * PorcentajeIVA).RoundSQL(2)
|
||||
|
||||
Dim TotalRNCDetalle As Decimal = (TotalCalculableImpuestos + ImporteIVA)
|
||||
|
||||
TotalRNC += TotalRNCDetalle
|
||||
|
||||
|
||||
End If
|
||||
|
||||
End If
|
||||
Next
|
||||
TotalAcumulado += TotalRNC
|
||||
|
||||
'SI SE EXECE RESTA AL ULTIMO
|
||||
If TotalAcumulado > LtlSMUBon.Text.ToDecimal() Then
|
||||
TerminarCiclo = True
|
||||
TotalAcumulado -= TotalRNC
|
||||
TotalRNC = LtlSMUBon.Text.ToDecimal() - TotalAcumulado
|
||||
End If
|
||||
|
||||
RemNC.TotalRemNCAplicado = TotalRNC
|
||||
'MARCA LA VENTA QUE FUE USADA PARA EL FILTRO
|
||||
RemNC.Num3 = DdlVentaUsado.SelectedValue.ToEntero()
|
||||
TotalRemNCAplicado += RemNC.TotalRemNCAplicado
|
||||
|
||||
If RemNC.TotalRemNCAplicado <= 0 Then
|
||||
Alert($"Debe asignar un importe en la siguiente remisión: <b>{RemNC.SerieFolio}</b>", TipoMensaje.MsgAdvertencia)
|
||||
ListaRemisionesNC.Clear()
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
ListaRemisionesNC.Add(RemNC)
|
||||
|
||||
If TerminarCiclo Then
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
'BONIFICACIONES POR TOTAL
|
||||
ElseIf RblRNCTipo.SelectedValue.Contiene("2") AndAlso Not ChkMostarProductosRNCBon.Checked Then
|
||||
For Each GvRow As GridViewRow In GvRemisionesNCBon.Rows
|
||||
If GvRow.RowType = DataControlRowType.DataRow Then
|
||||
If GvRow.FCCheckBox("ChkAplicar").Checked Then
|
||||
@@ -30164,21 +30340,20 @@ Partial Class Ventas
|
||||
|
||||
If RemNC.TotalRemNCAplicado <= 0 Then
|
||||
Alert($"Debe asignar un importe en la siguiente remisión: <b>{RemNC.SerieFolio}</b>", TipoMensaje.MsgAdvertencia)
|
||||
ListaNCBonificacion.Clear()
|
||||
ListaRemisionesNC.Clear()
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
ListaNCBonificacion.Add(RemNC)
|
||||
ListaRemisionesNC.Add(RemNC)
|
||||
End If
|
||||
End If
|
||||
Next
|
||||
|
||||
'SI SON SOLO BONIFICACIONES GENERA LA NC PRINCIPAL EN BASE A ESAS
|
||||
If RblRNCTipo.SelectedValue.ToString() = "2" AndAlso ListaRemisionesNC.Count = 0 Then
|
||||
ListaRemisionesNC.AddRange(ListaNCBonificacion)
|
||||
ListaNCBonificacion.Clear()
|
||||
End If
|
||||
|
||||
'If RblRNCTipo.SelectedValue.ToString() = "2" AndAlso ListaRemisionesNC.Count = 0 Then
|
||||
' ListaRemisionesNC.AddRange(ListaNCBonificacion)
|
||||
' ListaNCBonificacion.Clear()
|
||||
'End If
|
||||
End If
|
||||
|
||||
Dim DrPSSeleccionado As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=NCConcepto).FiltroPrimero("")
|
||||
|
||||
Reference in New Issue
Block a user