1 Conta: Prorrateo gasolina, como admin, pedir a rene que te lo explique
This commit is contained in:
@@ -128,6 +128,20 @@
|
||||
</ContentTemplate>
|
||||
|
||||
</asp:UpdatePanel>
|
||||
|
||||
|
||||
<%--2021-04-15 contratos de obra--%>
|
||||
<asp:UpdatePanel ID="UpAccionesProrrateoGasolina" runat="server" UpdateMode="Conditional">
|
||||
|
||||
<ContentTemplate>
|
||||
<li style="text-align: left!important" >
|
||||
<asp:LinkButton runat="server" ID="LnkProrrateoGasolina" CssClass="" data-toggle="tooltip" data-placement="left" title="Prorrateo Gasolina" OnClick="LnkProrrateoGasolina_Click" Visible="false" >
|
||||
<i class="fa fa-list" aria-hidden="true"></i> Prorrateo Gasolina
|
||||
</asp:LinkButton>
|
||||
</li>
|
||||
</ContentTemplate>
|
||||
|
||||
</asp:UpdatePanel>
|
||||
|
||||
|
||||
</asp:Content>
|
||||
@@ -4576,7 +4590,6 @@
|
||||
<label runat="server" id="LblSubProyectoEx" for="<%= DdlSubProyecto.ClientID.ToString()%>">
|
||||
<asp:Label runat="server" id="LblSubProyecto"></asp:Label>:
|
||||
</label>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
@@ -5703,6 +5716,120 @@
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div id="DVModalProrrateoGasolina" class="modal ADS fade" role="dialog">
|
||||
<div class="modal-dialog">
|
||||
<!-- Modal content-->
|
||||
<div class="modal-content">
|
||||
<div class="modal-header ">
|
||||
<button type="button" class="close" data-dismiss="modal">×</button>
|
||||
<h4 class="modal-title">Prorratear Gasolina</h4>
|
||||
</div>
|
||||
|
||||
<div class="modal-body">
|
||||
<asp:UpdatePanel runat="server" ID="UpModalProrrateoGasolina" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="form-group form-md-line-input input-iconright">
|
||||
<ADS:Dropdownlost runat="server" ID="DdlPSProrrateoGasolina" CssStyle="width:100%" CssClass="form-control input-sm DdlPS" CssClassDdl="select2me" DataTextField="PSCodigo" DataValueField="CvePS" />
|
||||
<label for="<%= DdlPSProrrateoGasolina.ClientID.ToString()%>">
|
||||
Productos / Servicio:
|
||||
<label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row" style="margin-top:10px">
|
||||
<div class="col-md-4">
|
||||
<div class="form-group form-md-line-input input-iconright">
|
||||
<asp:DropDownList ID="DdlSubProyectoProrrateoGasolina" CssClass=" form-control input-sm select2me" runat="server" Width="100%" AppendDataBoundItems="true" DataTextField="SubProyecto" DataValueField="CveSubProyecto">
|
||||
<asp:ListItem Selected="true" Text="Seleccione" Value="-1"></asp:ListItem>
|
||||
</asp:DropDownList>
|
||||
<asp:RequiredFieldValidator ID="RfvDdlSubProyectoProrrateoGasolina" runat="server" ControlToValidate="DdlSubProyectoProrrateoGasolina" CssClass="help-block errorimput" InitialValue="-1"
|
||||
ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo es necesario, por favor ingréselo." ValidationGroup="GprAgregaPSProrateo">
|
||||
</asp:RequiredFieldValidator>
|
||||
<label runat="server" id="Label10" for="<%= DdlSubProyectoProrrateoGasolina.ClientID.ToString()%>">
|
||||
<asp:Label runat="server" id="LblSubProyectoProrrateoGasolina"></asp:Label>:
|
||||
</label>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="form-group form-md-line-input input-iconright">
|
||||
<asp:TextBox ID="TxtPrecioProrrateoGasolina" ClientIDMode="Static" runat="server" CssClass=" form-control " CausesValidation="true" MaxLength="12" ValidationGroup="GprAgregaPS"></asp:TextBox>
|
||||
<ajax:FilteredTextBoxExtender ID="FilTxtPrecioProrrateoGasolina" runat="server" TargetControlID="TxtPrecioProrrateoGasolina" FilterType="Custom, Numbers" ValidChars="." />
|
||||
<asp:RequiredFieldValidator ID="RfvTxtPrecioProrrateoGasolina" runat="server" ControlToValidate="TxtPrecioProrrateoGasolina" CssClass="help-block errorimput"
|
||||
ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Precio''</b> es necesario, por favor ingréselo." ValidationGroup="GprAgregaPSProrateo">
|
||||
</asp:RequiredFieldValidator>
|
||||
<label for="<%= TxtPrecioProrrateoGasolina.ClientID.ToString()%>">Importe:</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4" style="margin-top:10px;text-align:right">
|
||||
<asp:LinkButton ID="LnkAgregarProrrateoGasolina" OnClick="LnkAgregarProrrateoGasolina_Click" runat="server" Text="Agregar" CssClass="btn btn-primary" ValidationGroup="GprAgregaPSProrateo" > </asp:LinkButton>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row" style="margin-top:10px">
|
||||
<div class="col-md-6">
|
||||
<div class="form-group form-md-line-input input-iconright">
|
||||
<asp:Label runat="server" ID="LblTotalProrrateoGasolina" CssClass="form-control" ></asp:Label>
|
||||
<label for="<%= LblTotalProrrateoGasolina.ClientID.ToString()%>">Total:</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="form-group form-md-line-input input-iconright">
|
||||
<asp:Label runat="server" ID="LblRestoProrrateoGasolina" CssClass="form-control"></asp:Label>
|
||||
<label for="<%= LblRestoProrrateoGasolina.ClientID.ToString()%>">Restante:</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<asp:GridView ID="GvProrrateoGasolina" runat="server" AutoGenerateColumns="false" GridLines="none" BorderWidth="0"
|
||||
DataKeyNames=""
|
||||
CssClass="table GvPS table-striped table-hover table-advance Widthall ScrollAD mysmallbtn">
|
||||
<Columns>
|
||||
<asp:BoundField DataField="SubProyecto" HeaderText="SubProyecto" />
|
||||
<asp:BoundField DataField="Subtotal" HeaderText="Subtotal" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:#,##0.####}" />
|
||||
<asp:BoundField DataField="IVA" HeaderText="IVA" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:#,##0.######}" />
|
||||
<asp:BoundField DataField="RetIVA" HeaderText="Ret. IVA" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:#,##0.####}" />
|
||||
<asp:BoundField DataField="RetISR" HeaderText="RetISR" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:#,##0.####}" />
|
||||
<asp:BoundField DataField="Total" DataFormatString="{0:#,##0.00##}" HeaderText="Total" ItemStyle-HorizontalAlign="Right" />
|
||||
<asp:TemplateField HeaderText="Eliminar">
|
||||
<ItemTemplate>
|
||||
<asp:LinkButton ID="LnkEliminarProrrateoGasolina" runat="server"
|
||||
CssClass="btn btn-circle btn-xs red" OnClick="LnkEliminarProrrateoGasolina_Click"
|
||||
Text="<i class='icon-trash'></i>" data-toggle="confirmation"
|
||||
data-popout="true" data-original-title="¿Seguro que desea eliminar el prorrateo?" data-btn-ok-label="si">
|
||||
</asp:LinkButton>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
</Columns>
|
||||
</asp:GridView>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<asp:UpdatePanel runat="server">
|
||||
<ContentTemplate>
|
||||
|
||||
<asp:Button ID="BtnGuardarProrrateoGasolina" OnClick="BtnGuardarProrrateoGasolina_Click" runat="server" Text="Guardar" CssClass="btn btn-primary" />
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">Cerrar</button>
|
||||
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div style="display:none">
|
||||
<asp:UpdatePanel runat="server">
|
||||
|
||||
@@ -1667,6 +1667,12 @@ Partial Class Compras_Compras
|
||||
|
||||
End If
|
||||
|
||||
|
||||
If Not CveCompra > 0 Then
|
||||
LnkProrrateoGasolina.Visible = True
|
||||
InicializaDTProrrateoGasolina()
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
'SE OCUPAN AFUERA DEL POSTBACK ??
|
||||
@@ -22326,6 +22332,239 @@ Partial Class Compras_Compras
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
#Region "PRORRATEO GASOLINA"
|
||||
|
||||
|
||||
Property DTProrrateoGasolina As DataTable
|
||||
Get
|
||||
If ViewState("DTProrrateoGasolina") Is Nothing Then
|
||||
ViewState("DTProrrateoGasolina") = New DataTable
|
||||
End If
|
||||
Return DirectCast(ViewState("DTProrrateoGasolina"), DataTable)
|
||||
End Get
|
||||
Set(value As DataTable)
|
||||
ViewState("DTProrrateoGasolina") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private Sub InicializaDTProrrateoGasolina()
|
||||
Dim TmpDTProrrateoGasolina As New DataTable
|
||||
TmpDTProrrateoGasolina.Columns.Add("CvePS", GetType(Integer))
|
||||
TmpDTProrrateoGasolina.Columns.Add("CveSubProyecto", GetType(Integer))
|
||||
TmpDTProrrateoGasolina.Columns.Add("SubProyecto", GetType(String))
|
||||
TmpDTProrrateoGasolina.Columns.Add("SubTotal", GetType(Decimal))
|
||||
TmpDTProrrateoGasolina.Columns.Add("IVA", GetType(Decimal))
|
||||
TmpDTProrrateoGasolina.Columns.Add("RetIVA", GetType(Decimal))
|
||||
TmpDTProrrateoGasolina.Columns.Add("RetISR", GetType(Decimal))
|
||||
TmpDTProrrateoGasolina.Columns.Add("Total", GetType(Decimal))
|
||||
TmpDTProrrateoGasolina.Columns.Add("PorcentajeIVA", GetType(Decimal))
|
||||
|
||||
TmpDTProrrateoGasolina.Columns.Add("CveUM", GetType(Integer))
|
||||
TmpDTProrrateoGasolina.Columns.Add("CveClasificacion", GetType(Integer))
|
||||
TmpDTProrrateoGasolina.Columns.Add("UM", GetType(String))
|
||||
TmpDTProrrateoGasolina.Columns.Add("Clasificacion", GetType(String))
|
||||
TmpDTProrrateoGasolina.Columns.Add("PS", GetType(String))
|
||||
|
||||
|
||||
DTProrrateoGasolina = TmpDTProrrateoGasolina
|
||||
End Sub
|
||||
|
||||
Protected Sub LnkProrrateoGasolina_Click(sender As Object, e As EventArgs)
|
||||
|
||||
InicializaDTProrrateoGasolina()
|
||||
CargarCentrosDeCosto(Nothing, Nothing, Nothing, LblSubProyectoProrrateoGasolina)
|
||||
|
||||
DdlSubProyectoProrrateoGasolina.Items.Clear()
|
||||
DdlSubProyectoProrrateoGasolina.DataSource = If(Not UsuarioActual.TienePermisoProceso(110), GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1), GlobalDTSubProyectos(UsuarioActual.CveEmpresa, CveProyecto:=-1))
|
||||
DdlSubProyectoProrrateoGasolina.DataBind()
|
||||
DdlSubProyectoProrrateoGasolina.Items.Insert(0, New ListItem("Seleccione", "-1"))
|
||||
|
||||
LblTotalProrrateoGasolina.Text = TxtTotal.Text
|
||||
|
||||
CargaProrratePS(-1)
|
||||
|
||||
RegistraScript("$('#DVModalProrrateoGasolina').modal();")
|
||||
UpModalProrrateoGasolina.Update()
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
Private Sub CargaProrratePS(CveClasificacion As Integer)
|
||||
|
||||
DdlPSProrrateoGasolina.setEsWebService(UsuarioActual.Empresa.Funcionalidad(105) = "1")
|
||||
|
||||
If UsuarioActual.Empresa.Funcionalidad(105) = "1" Then
|
||||
DdlPSProrrateoGasolina.ddlWS.Attributes.Add("data-cveclasificacion", DdlClasificacion.SelectedValue)
|
||||
DdlPSProrrateoGasolina.SelectedText = ""
|
||||
DdlPSProrrateoGasolina.SelectedValue = "-1"
|
||||
Else
|
||||
DdlPSProrrateoGasolina.ddl.Items.Clear()
|
||||
|
||||
'DdlPS.ddl.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CveClasificacion:=CveClasificacion)
|
||||
|
||||
If UsuarioActual.TienePermisoProceso(300) Or UsuarioActual.TienePermisoProceso(301) Then
|
||||
|
||||
Dim DTTemp As New DataTable
|
||||
DTTemp.Columns.Add("CvePS", GetType(Integer))
|
||||
DTTemp.Columns.Add("PSCodigo", GetType(String))
|
||||
DTTemp.Columns.Add("CveClasificacion", GetType(Integer))
|
||||
|
||||
For Each dRow As DataRow In GlobalDTPSSimplificado(UsuarioActual.CveEmpresa).Rows
|
||||
For Each drowCla As DataRow In DTClasificacionesComprobaciones.Rows
|
||||
|
||||
If drowCla("CveClasificacion").ToString.ToEntero = dRow("CveClasificacion").ToString.ToEntero Then
|
||||
|
||||
Dim InRow As DataRow = DTTemp.NewRow
|
||||
InRow("CvePS") = dRow("CvePS").ToString.ToEntero
|
||||
InRow("PSCodigo") = dRow("PSCodigo").ToString
|
||||
InRow("CveClasificacion") = dRow("CveClasificacion").ToString.ToEntero
|
||||
DTTemp.Rows.Add(InRow)
|
||||
|
||||
End If
|
||||
Next
|
||||
Next
|
||||
DdlPSProrrateoGasolina.DataSource = If(CveClasificacion > 0, DTTemp.FiltraParametros($"CveClasificacion = {CveClasificacion}"), DTTemp)
|
||||
Else
|
||||
DdlPSProrrateoGasolina.DataSource = If(CveClasificacion > 0, GlobalDTPSSimplificado(UsuarioActual.CveEmpresa).FiltraParametros($"CveClasificacion = {CveClasificacion}"), GlobalDTPSSimplificado(UsuarioActual.CveEmpresa))
|
||||
End If
|
||||
|
||||
DdlPSProrrateoGasolina.ddl.DataBind()
|
||||
DdlPSProrrateoGasolina.ddl.Items.Insert(0, New ListItem("Seleccione el Producto", "-1"))
|
||||
End If
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub GvProrrateoGasolinaBind()
|
||||
GvProrrateoGasolina.DataSource = DTProrrateoGasolina
|
||||
GvProrrateoGasolina.DataBind()
|
||||
UpModalProrrateoGasolina.Update()
|
||||
End Sub
|
||||
|
||||
Protected Sub LnkEliminarProrrateoGasolina_Click(sender As Object, e As EventArgs)
|
||||
|
||||
Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow)
|
||||
DTProrrateoGasolina.Rows.RemoveAt(GvRow.RowIndex)
|
||||
DTProrrateoGasolina.AcceptChanges()
|
||||
ProrateoCalculaRestante()
|
||||
GvProrrateoGasolinaBind()
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
|
||||
Protected Sub LnkAgregarProrrateoGasolina_Click(sender As Object, e As EventArgs)
|
||||
|
||||
Dim CvePs As Integer = DdlPSProrrateoGasolina.SelectedValue.ToEntero
|
||||
|
||||
If Not CvePs > 0 Then
|
||||
Alert("Debe seleccionar un producto", TipoMensaje.MsgAdvertencia)
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
Dim PsRow As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePs).FiltroPrimero("")
|
||||
|
||||
If PsRow Is Nothing Then
|
||||
Alert("No se encontro el producto", TipoMensaje.MsgAdvertencia)
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
Dim CveUM As Integer = PsRow("CveUM").ToString.ToEntero
|
||||
Dim UM As String = GlobalDTUnidadesMedida(UsuarioActual.CveEmpresa).FiltroPrimeroValor("UnidadMedida", $" CveUnidadMedida = {CveUM} ")
|
||||
|
||||
Dim CveClasificacion As Integer = PsRow("CveClasificacion").ToString.ToEntero
|
||||
Dim Clasificacion As String = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("Clasificacion", $" CveClasificacion = {CveClasificacion} ")
|
||||
|
||||
|
||||
Dim SubTotalOriginal As Decimal = TxtSubTotal.Text.ToDecimal
|
||||
Dim IVAOriginal As Decimal = TxtIVA.Text.ToDecimal
|
||||
Dim RetISROriginal As Decimal = TxtRetISR.Text.ToDecimal
|
||||
Dim RetIVAOriginal As Decimal = TxtRetIVA.Text.ToDecimal
|
||||
Dim TotalOriginal As Decimal = TxtTotal.Text.ToDecimal
|
||||
|
||||
Dim totalParcialDeseado As Decimal = TxtPrecioProrrateoGasolina.Text.ToDecimal
|
||||
|
||||
Dim PorcentajeCalculado As Decimal = totalParcialDeseado / TotalOriginal
|
||||
|
||||
Dim subtotalParcial As Decimal = SubTotalOriginal * PorcentajeCalculado
|
||||
Dim ivaParcial As Decimal = IVAOriginal * PorcentajeCalculado
|
||||
Dim retIsrParcial As Decimal = RetISROriginal * PorcentajeCalculado
|
||||
Dim retIvaParcial As Decimal = RetIVAOriginal * PorcentajeCalculado
|
||||
|
||||
Dim nRow As DataRow = DTProrrateoGasolina.NewRow
|
||||
|
||||
nRow("CvePS") = DdlPSProrrateoGasolina.SelectedValue.ToEntero
|
||||
nRow("CveSubProyecto") = DdlSubProyectoProrrateoGasolina.SelectedValue.ToEntero
|
||||
nRow("SubProyecto") = DdlSubProyectoProrrateoGasolina.SelectedItem.Text
|
||||
nRow("SubTotal") = subtotalParcial
|
||||
|
||||
If CveFactura > 0 Then
|
||||
nRow("IVA") = ivaParcial
|
||||
nRow("RetIVA") = retIvaParcial
|
||||
nRow("RetISR") = retIsrParcial
|
||||
Else
|
||||
nRow("IVA") = (ivaParcial / subtotalParcial)
|
||||
nRow("RetIVA") = (retIvaParcial / subtotalParcial)
|
||||
nRow("RetISR") = (retIsrParcial / subtotalParcial)
|
||||
End If
|
||||
|
||||
nRow("Total") = totalParcialDeseado
|
||||
nRow("PorcentajeIVA") = (ivaParcial / subtotalParcial)
|
||||
|
||||
nRow("CveUM") = CveUM
|
||||
nRow("UM") = UM
|
||||
nRow("CveClasificacion") = CveClasificacion
|
||||
nRow("Clasificacion") = Clasificacion
|
||||
nRow("PS") = DdlPSProrrateoGasolina.txtText.Value
|
||||
|
||||
DTProrrateoGasolina.Rows.Add(nRow)
|
||||
|
||||
DdlSubProyectoProrrateoGasolina.SelectedValueExist(-1)
|
||||
TxtPrecioProrrateoGasolina.Text = ""
|
||||
ProrateoCalculaRestante()
|
||||
GvProrrateoGasolinaBind()
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
Private Sub ProrateoCalculaRestante()
|
||||
LblRestoProrrateoGasolina.Text = (TxtTotal.Text.ToDecimal - DTProrrateoGasolina.SUM("Total")).ToString("###,###,###.00")
|
||||
End Sub
|
||||
|
||||
|
||||
|
||||
Protected Sub BtnGuardarProrrateoGasolina_Click(sender As Object, e As EventArgs)
|
||||
|
||||
If DTProrrateoGasolina.Rows.Count > 0 Then
|
||||
TmpDT.Rows.Clear()
|
||||
For Each dRow As DataRow In DTProrrateoGasolina.Rows
|
||||
|
||||
AddPS(1, dRow("CveUM").ToString.ToEntero, dRow("UM").ToString, dRow("CveClasificacion").ToString.ToEntero, dRow("Clasificacion").ToString, dRow("CvePS").ToString.ToEntero, dRow("PS").ToString, 1, dRow("CveSubProyecto").ToString, dRow("SubProyecto").ToString, "",
|
||||
"-1", "", dRow("SubTotal").ToString.ToDecimal, dRow("Total").ToString.ToDecimal, dRow("PorcentajeIVA").ToString.ToDecimal, dRow("RetIVA").ToString.ToDecimal, dRow("RetISR").ToString.ToDecimal, 0, 0, 0, PorcentajeIVA:=dRow("PorcentajeIVA").ToString.ToDecimal)
|
||||
|
||||
|
||||
Next
|
||||
|
||||
AddPS2()
|
||||
End If
|
||||
|
||||
RegistraScript("$('#DVModalProrrateoGasolina').modal('hide');")
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
#End Region
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
End Class
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user