706 lines
42 KiB
Plaintext
706 lines
42 KiB
Plaintext
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="GenerarPresupuestos.aspx.vb" Inherits="Presupuestos_GenerarPresupuestos" %>
|
|
|
|
|
|
|
|
<asp:Content ID="Content1" ContentPlaceHolderID="H" runat="Server">
|
|
</asp:Content>
|
|
<asp:Content ID="Content2" ContentPlaceHolderID="E" runat="Server">
|
|
Generar Presupuestos
|
|
</asp:Content>
|
|
<asp:Content ID="Content3" ContentPlaceHolderID="C" runat="Server">
|
|
<script type="text/javascript" src="../Scripts/funciones.js"></script>
|
|
<script type="text/javascript">
|
|
|
|
function RecalculaCosto(id, Formula, hdnTB, hdnFm) {
|
|
var total = parseFloat($get('LblCostoDirecto').innerText.replace(",", ""));
|
|
|
|
var desc = $get(Formula).value;
|
|
if (desc > 0 && total > 0) {
|
|
desc = (desc / 100);
|
|
$get(id).value = FormatNumber((desc * total), 2, true, true, true);
|
|
|
|
$get(hdnTB).value = (desc * total);
|
|
$get(hdnFm).value = $get(Formula).value;
|
|
|
|
}
|
|
SumaConceptos();
|
|
}
|
|
|
|
function RecalculaCosto2(id, Formula, hdnTB, hdnFm) {
|
|
var total = parseFloat($get('LblCostoDirecto').innerText.replace(",", ""));
|
|
var desc = $get(id).value * 100;
|
|
if (desc > 0 && total > 0) {
|
|
|
|
|
|
$get(Formula).value = FormatNumber((desc / total), 2, true, true, true);
|
|
$get(hdnTB).value = (desc / total);
|
|
$get(hdnFm).value = $get(Formula).value;
|
|
}
|
|
SumaConceptos();
|
|
}
|
|
|
|
function CostoHerramienta(num) {
|
|
if (num.value <= 100) {
|
|
|
|
var costo =parseFloat( '<%= TotalMO %>');
|
|
var porcentaje = parseFloat($get('tbHPorcentaje').value) / 100;
|
|
|
|
var total = parseFloat('<%= TotalMO + TotalM %>');
|
|
|
|
costo = parseFloat(costo * porcentaje);
|
|
total += parseFloat(costo);
|
|
$get('LblCostoDirecto').innerText = FormatNumber(total,2,true,true,true);
|
|
$get('hdnImporte').value = total;
|
|
$get('lbHImporte').innerHTML = costo.toFixed(2);
|
|
$get('hdnHImporte').value = costo;
|
|
Recalculatodo();
|
|
SumaConceptos();
|
|
|
|
} else {
|
|
|
|
num.value = 0;
|
|
var total = parseFloat('<%= TotalMO + TotalM %>');
|
|
$get('hdnImporte').value = total;
|
|
$get('LblCostoDirecto').innerText = total;
|
|
|
|
}
|
|
}
|
|
function SumaConceptos() {
|
|
|
|
debugger;
|
|
var total = parseFloat($get('LblCostoDirecto').innerText.replace(",", ""));
|
|
$('.sumConcepto').each(function (index, value) {
|
|
var val = value.value;
|
|
total += parseFloat(val.replace(",", ""));
|
|
//total += $(this).find('input').val();
|
|
|
|
debugger;
|
|
});
|
|
$get('LblTotalConceptos').innerText = total.toFixed(2);
|
|
}
|
|
|
|
function Recalculatodo() {
|
|
var list = $(document.getElementsByClassName('Porcentajes'));
|
|
var list2 = $(document.getElementsByClassName('sumConcepto'));
|
|
var costo = parseFloat($get('LblCostoDirecto').innerText.replace(",", ""));
|
|
|
|
$('.sumConcepto').each(function (index, value) {
|
|
var val = value.value;
|
|
var por = parseFloat(list[index].value) / 100;
|
|
total = por * costo;
|
|
$(this).val(FormatNumber(total,2,true,true,true));
|
|
});
|
|
|
|
}
|
|
</script>
|
|
<div style="margin-bottom: 2%;" class="SubTotales">
|
|
<table width="100%" border="0" cellpadding="2" cellspacing="5" >
|
|
<tr>
|
|
<td align="right" width="10%"><b>Presupuesto:</b></td>
|
|
<td width="27%">
|
|
<asp:TextBox ID="tbPresupuesto" runat="server" Width="90%"></asp:TextBox>
|
|
<asp:RequiredFieldValidator runat="server" ID="RFVtbPresupuesto" ControlToValidate="tbPresupuesto" ValidationGroup="GrpGuardar" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Presupuesto''</b> es necesario, por favor ingrése una." Display="Dynamic" Text="*"></asp:RequiredFieldValidator>
|
|
<ajax:ValidatorCalloutExtender ID="VCEtbPresupuesto" runat="server" HighlightCssClass="vco" TargetControlID="RFVtbPresupuesto" Width="300px"></ajax:ValidatorCalloutExtender>
|
|
|
|
</td>
|
|
<td width="8%" align="right">
|
|
<b>Unidad: </b>
|
|
</td>
|
|
<td width="20%">
|
|
<asp:DropDownList ID="ddlPUM" runat="server" DataValueField="CveUnidadMedida"
|
|
Width="90%" DataTextField="UnidadMedida">
|
|
</asp:DropDownList>
|
|
</td>
|
|
|
|
<td width="10%" align="right">
|
|
<b>Fecha: </b>
|
|
</td>
|
|
<td width="30%">
|
|
<asp:TextBox ID="TxtFecha" runat="server" CausesValidation="true" MaxLength="10" Onblur="Recalculafechapago();" ValidationGroup="GrpGuardar" Width="68px" Style="vertical-align: middle;"></asp:TextBox>
|
|
<asp:ImageButton runat="server" ID="ImgFecha" ImageUrl="/Imagenes/calendar.png" ImageAlign="AbsMiddle" Width="16px" Height="16px" AlternateText="Click para ver el Calendario" />
|
|
<ajax:MaskedEditExtender ID="MEEFecha" runat="server" TargetControlID="TxtFecha" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
|
|
<ajax:CalendarExtender runat="server" ID="CEFecha" TargetControlID="TxtFecha" PopupButtonID="ImgFecha" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
|
|
<asp:RequiredFieldValidator ID="RFVFecha" runat="server" ControlToValidate="TxtFecha" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
|
|
<ajax:ValidatorCalloutExtender ID="VCOFecha1" runat="server" HighlightCssClass="vco" TargetControlID="RFVFecha" Width="350px"></ajax:ValidatorCalloutExtender>
|
|
|
|
</td>
|
|
<td>
|
|
<asp:Button ID="btnprueba" runat="server" Text="prueba" />
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="right">
|
|
<b>Concepto: </b>
|
|
</td>
|
|
<td align="left">
|
|
<asp:DropDownList ID="ddlPPS" runat="server" DataValueField="CvePS" DataTextField="PS" Width="90%" Height="16px"></asp:DropDownList>
|
|
<ajax:ListSearchExtender ID="ListSearchExtender2" runat="server" TargetControlID="ddlPPS" PromptCssClass="Titulos" PromptText="Escriba el Producto o Servicio." QueryPattern="Contains" PromptPosition="Top" IsSorted="TRUE" QueryTimeout="0"></ajax:ListSearchExtender>
|
|
|
|
</td>
|
|
<td align="right"><b>Cliente:</b></td>
|
|
<td>
|
|
<asp:DropDownList ID="ddlCliente" runat="server" AppendDataBoundItems="true" DataTextField="Nombre" DataValueField="CveCliente" Width="90%">
|
|
<asp:ListItem Text="Seleccione Cliente" Value="-1"></asp:ListItem>
|
|
</asp:DropDownList>
|
|
</td>
|
|
<td align="right">
|
|
<b>Prospecto: </b>
|
|
</td>
|
|
<td>
|
|
<asp:DropDownList ID="ddlProspecto" runat="server" AppendDataBoundItems="true" DataTextField="NombreCompleto" DataValueField="CveProspecto" Width="90%">
|
|
<asp:ListItem Text="Seleccione Prospecto" Value="-1"></asp:ListItem>
|
|
</asp:DropDownList>
|
|
|
|
</td>
|
|
<td><asp:Button ID="btnGuardarP" runat="server" ValidationGroup="GrpGuardar" Text="Guardar"
|
|
ToolTip="Guarda el presupuesto." />
|
|
|
|
</td>
|
|
</tr>
|
|
|
|
</table>
|
|
|
|
</div>
|
|
<ajax:TabContainer ID="Tab" runat="server" ActiveTabIndex="0" Width="100%">
|
|
<ajax:TabPanel ID="TabPP" runat="server" HeaderText="Presupuesto Base">
|
|
|
|
|
|
<ContentTemplate>
|
|
|
|
|
|
<div class="cont" style="float: left; width: 73%; margin-left: 1%; min-height: 900px; ">
|
|
<div id="DivMat" class="div1" runat="server">
|
|
<table width="100%" border="1" cellpadding="0" cellspacing="0">
|
|
<tr class="Titulos">
|
|
<td colspan="8">Material </td>
|
|
</tr>
|
|
<tr class="Titulos">
|
|
<td width="5%">#</td>
|
|
<td width="34%">Descripción</td>
|
|
<td width="14%">Unidad</td>
|
|
<td width="10%">Cantidad</td>
|
|
<td width="10%">P.U.</td>
|
|
<td width="10%">Descuento</td>
|
|
<td width="10%">Importe</td>
|
|
<td width="7%"></td>
|
|
</tr>
|
|
<tr align="center">
|
|
|
|
<td width="5%">
|
|
<asp:Label ID="lbConsec" runat="server"></asp:Label></td>
|
|
<td width="34%">
|
|
<asp:DropDownList ID="ddlPS" runat="server" Width="95%" DataTextField="PS" AutoPostBack="true" DataValueField="CvePS">
|
|
</asp:DropDownList>
|
|
<ajax:ListSearchExtender ID="LSEPS" runat="server" TargetControlID="ddlPS" PromptCssClass="Titulos" PromptText="Escriba el Producto o Servicio." QueryPattern="Contains" PromptPosition="Top" IsSorted="TRUE" QueryTimeout="0"></ajax:ListSearchExtender>
|
|
|
|
</td>
|
|
<td width="14%">
|
|
<asp:DropDownList ID="ddlUM" runat="server" Width="90%" DataTextField="UnidadMedida" DataValueField="CveUnidadMedida"></asp:DropDownList>
|
|
<ajax:ListSearchExtender ID="LSEddlUM" runat="server" TargetControlID="ddlUM" PromptCssClass="Titulos" PromptText="Escriba U.M." QueryPattern="Contains" PromptPosition="Top" IsSorted="TRUE" QueryTimeout="0"></ajax:ListSearchExtender>
|
|
|
|
</td>
|
|
<td width="10%">
|
|
<asp:TextBox ID="tbCantidad" runat="server" Width="90%" Style="text-align: right;"></asp:TextBox>
|
|
<ajax:FilteredTextBoxExtender ID="FilteredTextBoxExtender1" runat="server"
|
|
TargetControlID="tbCantidad"
|
|
FilterType="Custom, Numbers"
|
|
ValidChars=".," />
|
|
<asp:RequiredFieldValidator runat="server" ID="RequiredFieldValidator1" ControlToValidate="tbCantidad"
|
|
ValidationGroup="GrAdd"
|
|
ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Cantidad''</b> es necesario, por favor ingrése una." Display="none" Text=""></asp:RequiredFieldValidator>
|
|
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender1" runat="server" HighlightCssClass="vco" TargetControlID="RequiredFieldValidator1" Width="300px"></ajax:ValidatorCalloutExtender>
|
|
|
|
|
|
</td>
|
|
<td width="10%">
|
|
<asp:TextBox ID="tbPrecio" runat="server" Width="90%" Style="text-align:center;" > </asp:TextBox>
|
|
<ajax:FilteredTextBoxExtender ID="FilteredTextBoxExtender4" runat="server"
|
|
TargetControlID="tbPrecio"
|
|
FilterType="Custom, Numbers"
|
|
ValidChars=".," />
|
|
|
|
|
|
</td>
|
|
|
|
<td width="10%">
|
|
<asp:TextBox ID="tbDesc" runat="server" Width="87%" Style="text-align: right;"></asp:TextBox>
|
|
<ajax:FilteredTextBoxExtender ID="FTBtbDesc" runat="server"
|
|
TargetControlID="tbDesc"
|
|
FilterType="Custom, Numbers"
|
|
ValidChars=".," />
|
|
<asp:RangeValidator
|
|
ID="RVtbDesc"
|
|
ControlToValidate="tbDesc"
|
|
MinimumValue="0"
|
|
MaximumValue="100"
|
|
Type="Double"
|
|
ValidationGroup="GrpGuardar"
|
|
ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />Ingrese valores entre 0 - 100 en el campo <b>''Descuento''</b>." Display="none"
|
|
runat="server" />
|
|
<ajax:ValidatorCalloutExtender ID="VCEtbDesc" runat="server" HighlightCssClass="vco" TargetControlID="RVtbDesc" Width="300px"></ajax:ValidatorCalloutExtender>
|
|
|
|
</td>
|
|
<td width="10%"> </td>
|
|
<td width="7%">
|
|
<asp:ImageButton ID="ImgBtnAddPS" runat="server" ValidationGroup="GrAdd" ImageUrl="~/Imagenes/Btn_Add.png" />
|
|
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<asp:UpdatePanel ID="UDPMaterial" runat="server" UpdateMode="Conditional">
|
|
<ContentTemplate>
|
|
<asp:GridView ID="GvMat" runat="server" CssClass="tabla_correcto" EmptyDataText="Aun no hay registros."
|
|
AutoGenerateColumns="False" ShowFooter="True" ShowHeader="false" ClientIDMode="Static"
|
|
Width="100%" HeaderStyle-CssClass="Titulos" FooterStyle-CssClass="SubTotales2">
|
|
<Columns>
|
|
<asp:TemplateField HeaderText="#" >
|
|
<ItemTemplate>
|
|
<asp:Label ID="lbConsec" runat="server" Text='<%#Eval("Consec")%>'></asp:Label>
|
|
</ItemTemplate>
|
|
<ItemStyle Width="5%" />
|
|
</asp:TemplateField>
|
|
<asp:TemplateField HeaderText="Descripción" >
|
|
<ItemTemplate >
|
|
<asp:Label ID="lbPS" runat="server" Text='<%#Eval("PS") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
<ItemStyle Width="34%" />
|
|
</asp:TemplateField>
|
|
<asp:TemplateField HeaderText="Unidad">
|
|
<ItemTemplate>
|
|
<asp:Label ID="lbUM" runat="server" Text='<%#Eval("UM")%>'></asp:Label>
|
|
</ItemTemplate>
|
|
<ItemStyle Width="14%" />
|
|
</asp:TemplateField>
|
|
<asp:TemplateField HeaderText="Cantidad">
|
|
<ItemTemplate>
|
|
<asp:Label ID="lbCantidad" runat="server" Style="text-align: right;" Text='<%#Eval("Cantidad","{0:N2}")%>'></asp:Label>
|
|
</ItemTemplate>
|
|
<ItemStyle Width="10%" />
|
|
</asp:TemplateField>
|
|
<asp:TemplateField HeaderText="">
|
|
<ItemTemplate>
|
|
<asp:Label ID="lbPU" runat="server" Style="text-align: right;" Text='<%#Eval("PU", "{0:N2}")%>'></asp:Label>
|
|
</ItemTemplate>
|
|
<ItemStyle Width="10%" />
|
|
</asp:TemplateField>
|
|
|
|
<asp:TemplateField HeaderText="Descuento">
|
|
<ItemTemplate>
|
|
<asp:Label ID="lbDesc" runat="server" Text='<%# Eval("Descuento", "{0:N2}%")%>' Style="text-align: right;"></asp:Label>
|
|
</ItemTemplate>
|
|
<ItemStyle Width="10%" />
|
|
<FooterTemplate>
|
|
<asp:Label ID="lbTotalTM" runat="server" Style="text-align: right;" Text="Total:"></asp:Label></FooterTemplate>
|
|
</asp:TemplateField>
|
|
|
|
<asp:TemplateField HeaderText="Importe">
|
|
<ItemTemplate>
|
|
<asp:Label ID="lbImporte" runat="server" Text='<%# Eval("Importe", "{0:N2}")%>' Style="text-align: right;"></asp:Label>
|
|
|
|
</ItemTemplate>
|
|
<ItemStyle Width="10%" />
|
|
<FooterTemplate>
|
|
<asp:Label ID="lbTotalImporte" runat="server" />
|
|
</FooterTemplate>
|
|
</asp:TemplateField>
|
|
<asp:TemplateField HeaderText="">
|
|
<ItemTemplate>
|
|
<asp:ImageButton ID="imgD" runat="server" AlternateText="Eliminar" CausesValidation="False" CommandName="Delete" ImageUrl="/Imagenes/Btn_Delete.png" OnClientClick="return confirm('¿Estas seguro que desea eliminar?');" />
|
|
</ItemTemplate>
|
|
<ItemStyle Width="7%"></ItemStyle>
|
|
</asp:TemplateField>
|
|
</Columns>
|
|
<AlternatingRowStyle CssClass="TextoAlterno" />
|
|
<HeaderStyle CssClass="Titulos" />
|
|
|
|
</asp:GridView>
|
|
</ContentTemplate>
|
|
</asp:UpdatePanel>
|
|
|
|
<br />
|
|
<br />
|
|
<br />
|
|
|
|
|
|
<table width="100%" border="1" cellpadding="0" cellspacing="0">
|
|
<tr class="Titulos">
|
|
<td colspan="8">Mano de Obra </td>
|
|
</tr>
|
|
<tr class="Titulos">
|
|
<td width="5%">#</td>
|
|
<td width="34%">Descripción</td>
|
|
<td width="14%">Unidad</td>
|
|
<td width="10%">Cantidad</td>
|
|
<td width="10%">P.U.</td>
|
|
<td width="10%">Descuento</td>
|
|
<td width="10%">Importe</td>
|
|
|
|
<td width="7%"></td>
|
|
</tr>
|
|
<tr align="center">
|
|
|
|
<td width="5%">
|
|
<asp:Label ID="lbMOConsec" runat="server"></asp:Label></td>
|
|
<td width="34%">
|
|
<asp:DropDownList ID="ddlMOPS" runat="server" Width="95%" DataTextField="PS" AutoPostBack="true" DataValueField="CvePS">
|
|
</asp:DropDownList>
|
|
<ajax:ListSearchExtender ID="ListSearchExtender1" runat="server" TargetControlID="ddlMOPS" PromptCssClass="Titulos" PromptText="Escriba el Producto o Servicio." QueryPattern="Contains" PromptPosition="Top" IsSorted="TRUE" QueryTimeout="0"></ajax:ListSearchExtender>
|
|
|
|
</td>
|
|
<td width="14%">
|
|
<asp:DropDownList ID="ddlMOUnidad" runat="server" Width="90%" DataTextField="UnidadMedida" DataValueField="CveUnidadMedida"></asp:DropDownList>
|
|
<ajax:ListSearchExtender ID="LSEMOUnidad" runat="server" TargetControlID="ddlMOUnidad" PromptCssClass="Titulos" PromptText="Escriba U.M." QueryPattern="Contains" PromptPosition="Top" IsSorted="TRUE" QueryTimeout="0"></ajax:ListSearchExtender>
|
|
|
|
</td>
|
|
<td width="10%">
|
|
<asp:TextBox ID="tbMOCantidad" runat="server" Width="90%" Style="text-align: right;"></asp:TextBox>
|
|
|
|
<ajax:FilteredTextBoxExtender ID="FilteredTextBoxExtender2" runat="server"
|
|
TargetControlID="tbMOCantidad"
|
|
FilterType="Custom, Numbers"
|
|
ValidChars=".," />
|
|
<asp:RequiredFieldValidator runat="server" ID="RequiredFieldValidator2" ControlToValidate="tbMOCantidad"
|
|
ValidationGroup="GrAdd2"
|
|
ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Cantidad''</b> es necesario, por favor ingrése una." Display="None"></asp:RequiredFieldValidator>
|
|
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender2" runat="server" HighlightCssClass="vco" TargetControlID="RequiredFieldValidator2" Width="300px"></ajax:ValidatorCalloutExtender>
|
|
|
|
|
|
</td>
|
|
<td width="10%"> <asp:TextBox ID="tbPrecioMO" runat="server" Width="90%" Style="text-align:center;" > </asp:TextBox>
|
|
<ajax:FilteredTextBoxExtender ID="FilteredTextBoxExtender5" runat="server"
|
|
TargetControlID="tbPrecioMO"
|
|
FilterType="Custom, Numbers"
|
|
ValidChars=".," /></td>
|
|
<td width="10%">
|
|
<asp:TextBox ID="tbMODescuento" runat="server" Width="87%" Style="text-align: right;"> </asp:TextBox>
|
|
<ajax:FilteredTextBoxExtender ID="FilteredTextBoxExtender3" runat="server"
|
|
TargetControlID="tbMODescuento"
|
|
FilterType="Custom, Numbers"
|
|
ValidChars=".," />
|
|
<asp:RangeValidator
|
|
ID="RVtbMODescuento"
|
|
ControlToValidate="tbMODescuento"
|
|
MinimumValue="0"
|
|
MaximumValue="100"
|
|
Type="Integer"
|
|
ValidationGroup="GrpGuardar"
|
|
ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Descuento''</b> debe que tener valores entre 0 - 100." Display="none"
|
|
runat="server" />
|
|
<ajax:ValidatorCalloutExtender ID="VCEtbMODescuento" runat="server" HighlightCssClass="vco" TargetControlID="RVtbMODescuento" Width="300px"></ajax:ValidatorCalloutExtender>
|
|
|
|
</td>
|
|
<td width="10%">
|
|
<%-- <asp:TextBox ID="tbMOImporte" runat="server" Width="90%" Style="text-align: center;"></asp:TextBox>--%>
|
|
</td>
|
|
|
|
<td width="7%">
|
|
<asp:ImageButton ID="ImgBtnAdd_MO" runat="server" ValidationGroup="GrAdd2" ImageUrl="~/Imagenes/Btn_Add.png" />
|
|
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<asp:UpdatePanel ID="UDPMO" runat="server" UpdateMode="Conditional">
|
|
<ContentTemplate>
|
|
<asp:GridView ID="GvMO" runat="server" CssClass="tabla_correcto" EmptyDataText="Aun no hay registros."
|
|
AutoGenerateColumns="False" ShowFooter="True" ShowHeader="false"
|
|
Width="100%" HeaderStyle-CssClass="Titulos" FooterStyle-CssClass="SubTotales2">
|
|
<Columns>
|
|
<asp:TemplateField>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lbMOConsec" runat="server" Text='<%#Eval("Consec")%>'></asp:Label>
|
|
</ItemTemplate>
|
|
<ItemStyle Width="5%" />
|
|
</asp:TemplateField>
|
|
<asp:TemplateField>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lbMOPS" runat="server" Text='<%#Eval("PS") %>'></asp:Label>
|
|
</ItemTemplate>
|
|
<ItemStyle Width="34%" />
|
|
</asp:TemplateField>
|
|
<asp:TemplateField>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lbMOUnidad" runat="server" Text='<%#Eval("UM")%>'></asp:Label>
|
|
</ItemTemplate>
|
|
<ItemStyle Width="14%" />
|
|
</asp:TemplateField>
|
|
<asp:TemplateField>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lbMOCantidad" runat="server" Style="text-align: right;" Text='<%#Eval("Cantidad", "{0:N2}")%>'></asp:Label>
|
|
</ItemTemplate>
|
|
<ItemStyle Width="10%" />
|
|
</asp:TemplateField>
|
|
<asp:TemplateField>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lbMOPU" runat="server" Text='<%#Eval("PU", "{0:N2}")%>'></asp:Label>
|
|
</ItemTemplate>
|
|
<ItemStyle Width="10%" />
|
|
</asp:TemplateField>
|
|
|
|
<asp:TemplateField>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lbMODesc" runat="server" Text='<%# Eval("Descuento", "{0:N2}%")%>'></asp:Label>
|
|
</ItemTemplate>
|
|
<ItemStyle Width="10%" />
|
|
<FooterTemplate>
|
|
<asp:Label ID="lbTotalMO" runat="server" Text="Total:"></asp:Label>
|
|
</FooterTemplate>
|
|
</asp:TemplateField>
|
|
<asp:TemplateField>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lbMOImporte" runat="server" Text='<%# Eval("Importe","{0:N2}")%>'></asp:Label>
|
|
</ItemTemplate>
|
|
<FooterTemplate>
|
|
<asp:Label ID="lbTotalImporteMO" runat="server"></asp:Label>
|
|
</FooterTemplate>
|
|
|
|
<ItemStyle Width="10%" />
|
|
</asp:TemplateField>
|
|
<asp:TemplateField>
|
|
<ItemTemplate>
|
|
<asp:ImageButton ID="imgD" runat="server" AlternateText="Eliminar" CausesValidation="False" CommandName="Delete"
|
|
ImageUrl="/Imagenes/Btn_Delete.png" OnClientClick="return confirm('¿Estas seguro que desea eliminar?');" />
|
|
</ItemTemplate>
|
|
<ItemStyle Width="7%"></ItemStyle>
|
|
</asp:TemplateField>
|
|
</Columns>
|
|
|
|
<RowStyle CssClass="Texto" />
|
|
<AlternatingRowStyle CssClass="TextoAlterno" />
|
|
</asp:GridView>
|
|
</ContentTemplate>
|
|
</asp:UpdatePanel>
|
|
<div style="margin-top:2%;" align="left">
|
|
<table width="30%" border="1" cellpadding="0" cellspacing="0">
|
|
<tr class="Titulos">
|
|
<td colspan="2">Herramienta</td>
|
|
</tr>
|
|
<tr class="Titulos" >
|
|
<td width="40%">
|
|
Porcentaje
|
|
</td>
|
|
<td width="60%">Importe</td>
|
|
</tr>
|
|
<tr align="center" >
|
|
<td>
|
|
<asp:TextBox ID="tbHPorcentaje" runat="server" Width="45%" Text="" ClientIDMode="Static"></asp:TextBox>%
|
|
<ajax:FilteredTextBoxExtender ID="FilteredTextBoxExtender6" runat="server"
|
|
TargetControlID="tbHPorcentaje"
|
|
FilterType="Custom, Numbers"
|
|
ValidChars=".," />
|
|
<asp:RangeValidator
|
|
ID="RVtbHPorcentaje"
|
|
ControlToValidate="tbHPorcentaje"
|
|
MinimumValue="0"
|
|
MaximumValue="100"
|
|
Type="Double"
|
|
ValidationGroup="GrpGuardar"
|
|
ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />Ingrese valores entre 0 - 100 en el campo <b>''Porcentaje''</b>." Display="none"
|
|
runat="server" />
|
|
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender3" runat="server" HighlightCssClass="vco"
|
|
TargetControlID="RVtbHPorcentaje" Width="300px"></ajax:ValidatorCalloutExtender>
|
|
|
|
</td>
|
|
<td><asp:Label ID="lbHImporte" runat="server" Width="70%" ClientIDMode="Static">
|
|
</asp:Label> <asp:HiddenField ID="hdnHImporte" runat="server" ClientIDMode="Static" /></td>
|
|
</tr>
|
|
</table>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="div2" style="float: right; width: 24%; margin-right: 1%;">
|
|
<table width="100%" border="1" cellpadding="0" cellspacing="0">
|
|
<tr class="Titulos">
|
|
<td>Costo por Unidad</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<asp:UpdatePanel ID="UDPCostoUnidad" runat="server" UpdateMode="Conditional">
|
|
<ContentTemplate>
|
|
<asp:GridView ID="GvCon" value="0" runat="server" CssClass="tabla_correcto" EmptyDataText="Aun no hay registros."
|
|
AutoGenerateColumns="False" ShowFooter="True" ShowHeader="false" FooterStyle-CssClass="SubTotales2"
|
|
Width="100%">
|
|
<Columns>
|
|
<asp:TemplateField>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lbConcepto" runat="server" Text='<%# Eval("PresupuestoSubConcepto")%>'></asp:Label>
|
|
</ItemTemplate>
|
|
<ItemStyle Width="45%" />
|
|
<FooterTemplate>
|
|
Total:
|
|
</FooterTemplate>
|
|
|
|
</asp:TemplateField>
|
|
|
|
<asp:TemplateField>
|
|
|
|
<ItemTemplate>
|
|
<asp:TextBox ID="tbImporte" runat="server" CssClass="sumConcepto" Style="text-align: right; border-style:inset;" Text='<%# Eval("Importe","{0:N2}")%>' Width="100%"></asp:TextBox>
|
|
<asp:Label ID="lbImporte" runat="server" Style="text-align: right" Text='<%# Eval("Importe","{0:N2}")%>' Width="100%"></asp:Label>
|
|
<ajax:FilteredTextBoxExtender ID="FTBtbImporte" runat="server"
|
|
TargetControlID="tbImporte"
|
|
FilterType="Custom, Numbers"
|
|
ValidChars=".," />
|
|
|
|
<asp:HiddenField ID="hdnImporte" runat="server" Value='<%# Eval("Importe","{0:N2}")%>' />
|
|
</ItemTemplate>
|
|
<ItemStyle Width="22%" />
|
|
<FooterTemplate>
|
|
<asp:Label ID="LblTotalConceptos" runat="server" Text="" Style="text-align:right;" ClientIDMode="Static"></asp:Label>
|
|
</FooterTemplate>
|
|
|
|
</asp:TemplateField>
|
|
<asp:TemplateField>
|
|
<ItemTemplate>
|
|
<asp:TextBox ID="tbFormula" runat="server" Style="text-align: center;" Text='<%# Eval("Formula","{0:N2}")%>' Width="55%" CssClass="Porcentajes"></asp:TextBox>%
|
|
<ajax:FilteredTextBoxExtender ID="FTBtbFormula" runat="server"
|
|
TargetControlID="tbFormula"
|
|
FilterType="Custom, Numbers"
|
|
ValidChars=".," />
|
|
|
|
<asp:HiddenField ID="hdnFormula" runat="server" Value='<%# Eval("Formula","{0:N2}")%>' />
|
|
</ItemTemplate>
|
|
<ItemStyle HorizontalAlign="center"/>
|
|
<FooterTemplate>
|
|
|
|
</FooterTemplate>
|
|
<ItemStyle Width="20%" />
|
|
|
|
</asp:TemplateField>
|
|
|
|
</Columns>
|
|
<RowStyle CssClass="Texto" />
|
|
<AlternatingRowStyle CssClass="TextoAlterno" />
|
|
|
|
</asp:GridView>
|
|
</ContentTemplate>
|
|
</asp:UpdatePanel>
|
|
|
|
</div>
|
|
</ContentTemplate>
|
|
|
|
</ajax:TabPanel>
|
|
|
|
<ajax:TabPanel ID="TabPoyecto" runat="server" HeaderText="Datos del Proyecto">
|
|
<ContentTemplate>
|
|
|
|
|
|
<table border="1" cellpadding="1" cellspacing="5" align="center" width="30%" style="margin-top: 2%;" >
|
|
<tr class="Titulos">
|
|
<td colspan="5" align="center">Datos del Proyecto</td>
|
|
</tr>
|
|
<tr class="">
|
|
<td>Unidad</td><td>
|
|
<asp:Label ID="lbDPUnidad" runat="server"></asp:Label>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Cantidad</td> <td>
|
|
<asp:TextBox ID="tbCantidadP" runat="server" Width="60%"></asp:TextBox>
|
|
<ajax:FilteredTextBoxExtender ID="FilteredTextBoxExtender7" runat="server"
|
|
TargetControlID="tbCantidadP"
|
|
FilterType="Custom, Numbers"
|
|
ValidChars=".," />
|
|
<asp:RequiredFieldValidator runat="server" ID="RequiredFieldValidator3" ControlToValidate="tbCantidadP"
|
|
ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Cantidad''</b> es necesario, por favor ingrése una." Display="Dynamic" Text="*"></asp:RequiredFieldValidator>
|
|
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender4" runat="server" HighlightCssClass="vco" TargetControlID="RequiredFieldValidator3" Width="300px"></ajax:ValidatorCalloutExtender>
|
|
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>P.U.</td> <td>
|
|
<asp:Label ID="lbDPPU" runat="server"></asp:Label>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Importe Total</td><td>
|
|
<asp:Label ID="lbDPIT" runat="server"></asp:Label>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Anticipo</td>
|
|
<td>
|
|
<asp:Label ID="lbDPAnt" runat="server"></asp:Label>
|
|
</td>
|
|
</tr>
|
|
|
|
</table>
|
|
|
|
<table width="50%" border="1" cellpadding="0" cellspacing="0">
|
|
<tr class="Titulos">
|
|
<td align="center">Datos del Proyecto</td>
|
|
</tr>
|
|
|
|
</table>
|
|
|
|
<asp:UpdatePanel ID="UPProyecto" runat="server" UpdateMode="Conditional">
|
|
<ContentTemplate>
|
|
|
|
<asp:GridView ID="GvProyecto" runat="server" CssClass="tabla_correcto" EmptyDataText="Aun no hay registros."
|
|
AutoGenerateColumns="False" ShowFooter="False" ShowHeader="False"
|
|
Width="50%" HeaderStyle-CssClass="Titulos" FooterStyle-CssClass="SubTotales2">
|
|
<Columns>
|
|
|
|
<asp:TemplateField HeaderText="" >
|
|
<ItemTemplate >
|
|
<asp:Label ID="lbSubConcepto" runat="server" Text='<%# Eval("PresupuestoSubConcepto")%>'></asp:Label>
|
|
</ItemTemplate>
|
|
<ItemStyle Width="45%" />
|
|
</asp:TemplateField>
|
|
<asp:TemplateField>
|
|
<ItemTemplate>
|
|
<asp:Label ID="lbImporte" runat="server" Text='<%# Eval("Importe", "{0:N2}")%>'></asp:Label>
|
|
</ItemTemplate>
|
|
<ItemStyle Width="45%" />
|
|
</asp:TemplateField>
|
|
<asp:TemplateField>
|
|
|
|
<ItemTemplate>
|
|
<asp:Label ID="lbFormula" runat="server" Text='<%# Eval("Formula", "{0:N2}%")%>'></asp:Label>
|
|
</ItemTemplate>
|
|
<ItemStyle Width="45%" />
|
|
</asp:TemplateField>
|
|
</Columns>
|
|
<RowStyle CssClass="Texto" />
|
|
<AlternatingRowStyle CssClass="TextoAlterno" />
|
|
</asp:GridView>
|
|
|
|
</ContentTemplate>
|
|
</asp:UpdatePanel>
|
|
|
|
|
|
|
|
</ContentTemplate>
|
|
</ajax:TabPanel>
|
|
|
|
</ajax:TabContainer>
|
|
|
|
<asp:UpdateProgress ID="upProgress" runat="server" DisplayAfter="0">
|
|
<ProgressTemplate>
|
|
<div id="overlay">
|
|
<div id="modalprogress">
|
|
<div id="theprogress">
|
|
<center>
|
|
<table border="0" cellpadding="0" cellspacing="0">
|
|
<tr>
|
|
<td>La información se está procesando...</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<img src="/Imagenes/Cargando.gif" style="border-width: 0px;" alt="" /></td>
|
|
</tr>
|
|
</table>
|
|
</center>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</ProgressTemplate>
|
|
</asp:UpdateProgress>
|
|
|
|
</asp:Content>
|
|
|