--Mover a pantalla de cobranza(PVCobranza.aspx). el inicio de turno y y ocultarlo en la pantalla de ventas, se activará en el proceso 371

This commit is contained in:
2024-01-11 18:24:11 -07:00
parent b03abcb4a5
commit 4b9e175f23
2 changed files with 1080 additions and 322 deletions

View File

@@ -1,18 +1,207 @@
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="PVCobranza.aspx.vb" Inherits="Ventas_PVCobranza" %> <%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="PVCobranza.aspx.vb" Inherits="Ventas_PVCobranza" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server"> <asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
</asp:Content> </asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server"> <asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
<style> <style>
.e-big-btn { .e-big-btn {
height: 50px; height: 50px;
width: 200px; width: 200px;
} }
.btn-xs {
padding: 0px 5px;
}
.nolineheight {
line-height: 1;
}
.claseesconder {
display: none;
}
.myventasbutton {
margin: 5px;
width: 170px;
}
body.dragging, body.dragging * {
cursor: move !important;
}
.dragged {
position: absolute;
opacity: 0.5;
z-index: 2000;
}
table.Sortable tr.placeholder {
display: block;
background: red;
position: relative;
margin: 0;
padding: 0;
border: none;
}
.Sortable th.placeholder {
display: block;
background: red;
position: relative;
width: 0;
height: 0;
margin: 0;
padding: 0;
}
.Sortable th.placeholder:before {
content: "";
position: absolute;
width: 0;
height: 0;
border: 5px solid transparent;
border-top-color: red;
top: -6px;
margin-left: -5px;
border-bottom: none;
}
table.Sortable tr.placeholder:before {
content: "";
position: absolute;
width: 0;
height: 0;
border: 5px solid transparent;
border-left-color: red;
margin-top: -5px;
left: -5px;
border-right: none;
}
.GvEst > tbody > tr > td:nth-child(2) {
padding-left: 36px;
}
.GvEst > tbody > tr.Totales > td:nth-child(2) {
padding-left: 4px;
}
.GvEst > tbody > tr.SubTotales > td:nth-child(2) {
padding-left: 12px;
}
.GvEst > tbody > tr.SubTotales2 > td:nth-child(2) {
padding-left: 20px;
}
.GvEst > tbody > tr.SubTotales3 > td:nth-child(2) {
padding-left: 28px;
}
.GVAnticipos input {
text-align: right;
}
.modalBackground {
background-color: Black;
filter: alpha(opacity=90);
opacity: 0.8;
}
.modalPopup {
background-color: #FFFFFF;
padding-bottom: 10px;
}
.rbl input[type="radio"] {
margin-left: 10px;
margin-right: 1px;
}
a.mylkbutton:link, a.mylkbutton:hover, a.mylkbutton:active {
color: black;
}
.arrow {
left: 20%;
}
.popover {
width: 500px !important;
max-width: 500px !important;
}
.popover .popover-title {
margin: 0 !important;
text-align: center;
}
.select2anothertable {
position: absolute;
left: 100%;
background-color: white;
/*top: 50px;*/ top: 21px;
/*max-height: 200px;*/ max-height: 229px;
/*background-color: #dcdcdc;*/
overflow: hidden;
}
.select2anothertable {
position: absolute;
left: 100%;
background-color: white;
/*top: 50px;*/ top: 21px;
/*max-height: 200px;*/ max-height: 229px;
/*background-color: #dcdcdc;*/
overflow: hidden;
}
.select2anothertable > table > tbody > tr > td:nth-of-type(odd) {
background-color: rgba(220, 220, 220, 0.45);
}
.select2anothertable > table > tbody > tr > td {
line-height: 21px;
white-space: nowrap;
}
.select2anothertable > table > tbody > tr.active {
background-color: #5897fb;
}
a.disabled {
pointer-events: none;
cursor: default;
}
/*Bootstrap text-uppercase =)*/
.Mayuscula {
text-transform: uppercase;
}
.no-padding {
padding: 0 !important;
}
</style> </style>
</asp:Content> </asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="HB" runat="Server"> <asp:Content ID="Content3" ContentPlaceHolderID="HB" runat="Server">
<asp:UpdatePanel ID="UpHB" runat="server">
<ContentTemplate>
<li>
<asp:LinkButton ID="LkbEstadodeCaja" Visible="false" runat="server"><i class="fa fa-ad-excel"></i> Estado de Caja</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LkbIngreso" runat="server" OnClick="LkbIngreso_Click" Visible="false"> <i class="fa fa-ad-excel"></i> Ingreso de Efectivo</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LkbRetiro" runat="server" OnClick="LkbRetiro_Click" Visible="false"> <i class="fa fa-ad-excel"></i> Retiro de Efectivo</asp:LinkButton>
</li>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content> </asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="E" runat="Server"> <asp:Content ID="Content4" ContentPlaceHolderID="E" runat="Server">
Cobranza Cobranza
@@ -33,6 +222,7 @@
<div class="row"> <div class="row">
<div class="col-md-1 truncate"> <div class="col-md-1 truncate">
Sucursal: Sucursal:
</div> </div>
<div class="col-md-2 "> <div class="col-md-2 ">
<asp:DropDownList ID="DdlSubProyecto" runat="server" AppendDataBoundItems="true" DataTextField="SubProyecto" DataValueField="CveSubProyecto" CssClass="form-control input-small input-sm select2me" Width="100%"> <asp:DropDownList ID="DdlSubProyecto" runat="server" AppendDataBoundItems="true" DataTextField="SubProyecto" DataValueField="CveSubProyecto" CssClass="form-control input-small input-sm select2me" Width="100%">
@@ -41,6 +231,7 @@
</div> </div>
<div class="col-md-1 truncate" title="Fecha Inicio Documento" data-toggle="tooltip" data-placement="top"> <div class="col-md-1 truncate" title="Fecha Inicio Documento" data-toggle="tooltip" data-placement="top">
Fecha Inicio Docto: Fecha Inicio Docto:
</div> </div>
<div class="col-md-2"> <div class="col-md-2">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 100px !important; padding: 0px;"> <div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 100px !important; padding: 0px;">
@@ -58,6 +249,7 @@
</div> </div>
<div class="col-md-1 truncate" title="Fecha Fin Documento" data-toggle="tooltip" data-placement="top"> <div class="col-md-1 truncate" title="Fecha Fin Documento" data-toggle="tooltip" data-placement="top">
Fecha Fin Docto: Fecha Fin Docto:
</div> </div>
<div class="col-md-2"> <div class="col-md-2">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 100px !important; padding: 0px;"> <div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 100px !important; padding: 0px;">
@@ -78,8 +270,6 @@
</div> </div>
<div class="portlet-body" style="display: none;"> <div class="portlet-body" style="display: none;">
<div class="row"> <div class="row">
</div> </div>
</div> </div>
</div> </div>
@@ -87,6 +277,16 @@
</asp:UpdatePanel> </asp:UpdatePanel>
<asp:UpdatePanel ID="UpL" runat="server" UpdateMode="Conditional"> <asp:UpdatePanel ID="UpL" runat="server" UpdateMode="Conditional">
<ContentTemplate> <ContentTemplate>
<div class="row">
<asp:UpdatePanel ID="UpTurno" runat="server" UpdateMode="Conditional" Visible="false" class="portlet light xspadding bordered whitoutcol" style="width: 20%; display: flex; flex-direction: row; color: white; background-color: #c49f47">
<ContentTemplate>
<div id="DivTurno" runat="server" style="width: 100%; text-align: center;">
Turno:
<asp:Label runat="server" ID="LblTurno"></asp:Label>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div class="row"> <div class="row">
<div class="col-md-6"> <div class="col-md-6">
<asp:GridView ID="GvDatos" runat="server" AutoGenerateColumns="False" Width="100%" <asp:GridView ID="GvDatos" runat="server" AutoGenerateColumns="False" Width="100%"
@@ -110,10 +310,10 @@
<asp:Panel runat="server" ID="PnlContado" DefaultButton="BtnPagar" Visible="false"> <asp:Panel runat="server" ID="PnlContado" DefaultButton="BtnPagar" Visible="false">
<div class="row"> <div class="row">
<div class="note note-success"> <div class="note note-success">
<b> <b>Nombre:
Nombre:
</b> </b>
&nbsp;<label><asp:Literal ID="LtlNombre" runat="server"></asp:Literal></label>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<label><asp:Literal ID="LtlNombre" runat="server"></asp:Literal></label>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<b> <b>
<asp:Literal ID="LtLTipoSaldo" runat="server" Text="Total:"></asp:Literal> <asp:Literal ID="LtLTipoSaldo" runat="server" Text="Total:"></asp:Literal>
</b> </b>
@@ -287,6 +487,332 @@
</div> </div>
</ContentTemplate> </ContentTemplate>
</asp:UpdatePanel> </asp:UpdatePanel>
<cc1:ModalPopupExtender ID="mp1" runat="server" PopupControlID="PanelIniciarTurno" TargetControlID="btnShow"
CancelControlID="btnClose" BackgroundCssClass="modalBackground">
</cc1:ModalPopupExtender>
<cc1:ModalPopupExtender ID="MPEBloqueo" runat="server" PopupControlID="PanelBloqueo" TargetControlID="btnShowBloqueo" BackgroundCssClass="modalBackground">
</cc1:ModalPopupExtender>
<asp:Panel ID="PanelIniciarTurno" runat="server" CssClass="modalPopup" align="center" Style="display: none">
<table border="0" width="250px" cellspacing="1" style="background-color: White; padding-left: 10px;">
<tr style="background-color: #3598dc; color: #FFFFFF; font-size: 14px">
<td>Inicio de Turno&nbsp;</td>
<td></td>
</tr>
<tr>
<td colspan="1">&nbsp;</td>
<td colspan="1">&nbsp;</td>
</tr>
<tr>
<td colspan="1">
<asp:Label runat="server" Text="Dinero En Caja:" Font-Bold="true" Width="120px" />
</td>
<td colspan="1">
<asp:TextBox ID="TxtDineroCaja" runat="server" Width="170px" onkeyup="javascript:this.value=Comma(this.value);" />
<asp:RegularExpressionValidator ID="REVCaja" runat="server" ControlToValidate="TxtDineroCaja" Display="None" ErrorMessage="El campo <b>''Dinero''</b> no tiene el formato correcto, por favor corrija e intente de nuevo (Solo formato numérico)." ValidationExpression="^([1-9]{1}[\d]{0,2}(\,[\d]{3})*(\.[\d]{0,4})?|[1-9]{1}[\d]{0,}(\.[\d]{0,4})?|0(\.[\d]{0,2})?|(\.[\d]{1,4})?)$" ValidationGroup="GprIniciarTruno"></asp:RegularExpressionValidator>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender1" runat="server" HighlightCssClass="vco" TargetControlID="REVCaja" Width="300px"></ajax:ValidatorCalloutExtender>
</td>
</tr>
<tr>
<td colspan="1">
<asp:Label runat="server" Text="Descripción:" Font-Bold="true" Width="120px" />
</td>
<td colspan="1">
<asp:TextBox runat="server" ID="TxtDescripcionCaja" TextMode="MultiLine" Width="100%" />
</td>
</tr>
<tr>
<td colspan="1">&nbsp;</td>
<td colspan="1">&nbsp;</td>
</tr>
</table>
<asp:Button ID="BtnIniciarTurno" runat="server" CssClass="btn btn-success" Text="Iniciar Turno" ValidationGroup="GprIniciarTruno" />
&nbsp;
<asp:Button ID="BtnCancelar" runat="server" CssClass="btn btn-danger" Text="Cancelar" />
&nbsp;
</asp:Panel>
<asp:Panel ID="PanelBloqueo" runat="server" CssClass="modalPopup" align="center" Style="display: none">
<table border="0" width="650px" cellspacing="1" style="background-color: White; padding-left: 10px;">
<tr style="background-color: #3598dc; color: #FFFFFF; font-size: 14px">
<td>Pantalla Bloqueada&nbsp;</td>
<td></td>
</tr>
<tr>
<td colspan="1">&nbsp;</td>
<td colspan="1">&nbsp;</td>
</tr>
<tr>
<td colspan="2">
<div class="row">
<div class="col-md-12" style="vertical-align: middle;" align="center">
<div style="z-index: 5; position: relative;">
<div id="DivAdvertenciaBloqueo" clientidmode="Static" runat="server" class="alert alert-warning" style="padding: 5px; margin-bottom: 5px; padding-right: 25px;">
<strong style="font-size: 20px; margin-right: 25px;">Información: </strong>
<asp:Literal ID="LblMotivoBloqueo" runat="server" Text=""></asp:Literal>
</div>
</div>
</div>
</div>
</td>
</tr>
<tr>
<td colspan="2">
<div class="row">
<div class="col-md-12">
<div class="portlet light smmallpadding traspasorow bordered">
<div class="portlet-title">
<div class="caption font-green">
<span class="caption-subject bold uppercase" style="line-height: 1;">Estado de caja</span>
</div>
<div class="actions">
<div class="btn-group">
</div>
</div>
</div>
<div class="portlet-body rowpadding">
<div class="row">
<div class="col-md-12">
<div class="form-group form-md-line-input input-iconright">
<asp:Label ID="LblEfectivoBloqueo" CssClass="form-control" runat="server"></asp:Label>
<label for="<%= LblEfectivoBloqueo.ClientID.ToString()%>">Efectivo Esperado:</label>
</div>
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtEfectivoCajaBloqueo" CssClass="form-control" runat="server" onkeyup="javascript:this.value=Comma(this.value);" />
<asp:RegularExpressionValidator ID="REVEfectivoCajaBloqueo" runat="server" ControlToValidate="TxtEfectivoCajaBloqueo" Display="None" ErrorMessage="El campo <b>''Dinero''</b> no tiene el formato correcto, por favor corrija e intente de nuevo (Solo formato numérico)." ValidationExpression="^([1-9]{1}[\d]{0,2}(\,[\d]{3})*(\.[\d]{0,4})?|[1-9]{1}[\d]{0,}(\.[\d]{0,4})?|0(\.[\d]{0,2})?|(\.[\d]{1,4})?)$" ValidationGroup="GprBloqueo"></asp:RegularExpressionValidator>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender25" runat="server" HighlightCssClass="vco" TargetControlID="REVEfectivoCajaBloqueo" Width="300px"></ajax:ValidatorCalloutExtender>
<label for="<%= TxtEfectivoCajaBloqueo.ClientID.ToString()%>">Efectivo en Caja:</label>
</div>
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="LblDiferenciaCajaBloqueo" CssClass="form-control" runat="server" Enabled="false" />
<label for="<%= LblDiferenciaCajaBloqueo.ClientID.ToString()%>">Diferencia:</label>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</td>
</tr>
<tr>
<td colspan="1">&nbsp;</td>
<td colspan="1">&nbsp;</td>
</tr>
</table>
<asp:LinkButton ID="BtnCerrarBloqueo" runat="server" CssClass="btn btn-danger" Text="Cerrar Turno" ValidationGroup="GprBloqueo" />
</asp:Panel>
<div id="DivTerminarCorte" class="modal ADS fade" role="dialog">
<asp:UpdatePanel ID="UpTerminarCorte" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="modal-dialog" style="width: 470px; min-width: 470px;">
<div class="modal-content">
<div class="modal-header ">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">
<asp:Label runat="server" Text="Cierre de Turno"></asp:Label>
</h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-12">
<div class="form-group form-md-line-input input-iconright">
<asp:Label ID="LblEfectivoEsperado" CssClass="form-control" runat="server"></asp:Label>
<label for="<%= LblEfectivoEsperado.ClientID.ToString()%>">Efectivo Esperado:</label>
</div>
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtEfectivoEnCaja" CssClass="form-control" runat="server" onkeyup="javascript:this.value=Comma(this.value);" />
<asp:RegularExpressionValidator ID="RegularExpressionValidator2" runat="server" ControlToValidate="TxtEfectivoEnCaja" Display="None" ErrorMessage="El campo <b>''Dinero''</b> no tiene el formato correcto, por favor corrija e intente de nuevo (Solo formato numérico)." ValidationExpression="^([1-9]{1}[\d]{0,2}(\,[\d]{3})*(\.[\d]{0,4})?|[1-9]{1}[\d]{0,}(\.[\d]{0,4})?|0(\.[\d]{0,2})?|(\.[\d]{1,4})?)$" ValidationGroup="GprCorteCaja"></asp:RegularExpressionValidator>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender4" runat="server" HighlightCssClass="vco" TargetControlID="RegularExpressionValidator2" Width="300px"></ajax:ValidatorCalloutExtender>
<label for="<%= TxtEfectivoEnCaja.ClientID.ToString()%>">Efectivo en Caja:</label>
</div>
<div class="form-group form-md-line-input input-iconright">
<label for="<%= LblEfectivoEsperado.ClientID.ToString()%>">Diferencia:</label>
<asp:Label ID="LblDiferenciaCaja" CssClass="form-control" runat="server" TextMode="MultiLine" Width="500px"></asp:Label>
</div>
</div>
</div>
</div>
<div class="modal-footer">
<asp:UpdatePanel runat="server">
<ContentTemplate>
<asp:Button ID="BtnCerrarTurno" runat="server" CssClass="btn btn-success" Text="Cerrar Turno" ValidationGroup="GprCorteCaja" />
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div id="DivIngresoEgreso" class="modal ADS fade" role="dialog">
<asp:UpdatePanel ID="UpIngresoEgreso" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:HiddenField ID="HdnTipoMovimiento" runat="server" ClientIDMode="Static" Value="-1" />
<div class="modal-dialog" style="width: 470px; min-width: 470px;">
<div class="modal-content">
<div class="modal-header ">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">
<asp:Label runat="server" ID="LblTituloIE" Text="" />
</h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-12">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtCantidadIE" CssClass="form-control" runat="server" Width="170px" />
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="TxtCantidadIE" Display="None" ErrorMessage="El campo <b>''Dinero''</b> no tiene el formato correcto, por favor corrija e intente de nuevo (Solo formato numérico)." ValidationExpression="^([1-9]{1}[\d]{0,2}(\,[\d]{3})*(\.[\d]{0,4})?|[1-9]{1}[\d]{0,}(\.[\d]{0,4})?|0(\.[\d]{0,2})?|(\.[\d]{1,4})?)$" ValidationGroup="GprIngresoEgreso"></asp:RegularExpressionValidator>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender8" runat="server" HighlightCssClass="vco" TargetControlID="RegularExpressionValidator1" Width="300px"></ajax:ValidatorCalloutExtender>
<label for="<%= TxtCantidadIE.ClientID.ToString()%>">Cantidad:</label>
</div>
<div class="form-group form-md-line-input input-iconright">
<label for="<%= TxtDescripcionIE.ClientID.ToString()%>">Descripcion:</label>
<asp:TextBox runat="server" ID="TxtDescripcionIE" CssClass="form-control" TextMode="MultiLine" Width="500px" />
</div>
</div>
</div>
</div>
<div class="modal-footer">
<asp:UpdatePanel runat="server">
<ContentTemplate>
<asp:Button ID="BtnAceptarIE" runat="server" CssClass="btn btn-success" Text="Aceptar" ValidationGroup="GprIngresoEgreso" />
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<asp:Button ID="btnShow" runat="server" Text="Show Modal Popup" Style="visibility: hidden; display: none;" />
<asp:Button ID="btnClose" runat="server" CssClass="btn btn-danger" Style="visibility: hidden; display: none;" Text="Cancelar" />
<asp:Button ID="btnShowBloqueo" runat="server" Text="Show Modal Popup" Style="visibility: hidden; display: none;" />
<div id="DivEstadoCaja" class="modal ADS fade" role="dialog">
<div class="modal-dialog" style="width: 470px; min-width: 470px;">
<div class="modal-content">
<div class="modal-header ">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">
<asp:Label runat="server" Text="Estado de Caja"></asp:Label>
</h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-12">
<asp:UpdatePanel ID="UpDineroCaja" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<b>Dinero en Caja</b>
<asp:GridView ID="GvDineroCaja" BorderWidth="0px" ShowHeader="False" runat="server" Height="200px" horizontal-align="Right" vertical-align="Top" GridLines="None" ShowHeaderWhenEmpty="False" AutoGenerateColumns="False" EmptyDataText="">
<Columns>
<asp:BoundField ItemStyle-Font-Bold="true" ItemStyle-HorizontalAlign="Right" ItemStyle-Width="150px" />
<asp:TemplateField ItemStyle-HorizontalAlign="Right" ItemStyle-Width="150px">
<ItemTemplate>
<asp:Literal ID="LtlDescripcion" runat="server" Text='<%# Eval("Descripcion") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<Columns>
<asp:BoundField DataFormatString="{0}:" ItemStyle-Font-Bold="true" ItemStyle-HorizontalAlign="Right" ItemStyle-Width="150px" />
<asp:TemplateField ItemStyle-HorizontalAlign="Right" ItemStyle-Width="150px">
<ItemTemplate>
<asp:Literal ID="LtImporte" runat="server" Text='<%# Eval("Importe", "{0:N2}") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel ID="UpMetodosPago" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<b>Metodos de Pago</b>
<asp:GridView ID="GvMetodosPago" BorderWidth="0px" ShowHeader="False" runat="server" Height="200px" horizontal-align="Right" vertical-align="Top" DataKeyNames="CveTipoTransaccion" GridLines="None" ShowHeaderWhenEmpty="False" AutoGenerateColumns="False" EmptyDataText="">
<Columns>
<asp:BoundField ItemStyle-Font-Bold="true" ItemStyle-HorizontalAlign="Right" ItemStyle-Width="150px" />
<asp:TemplateField ItemStyle-HorizontalAlign="Right" ItemStyle-Width="150px">
<ItemTemplate>
<asp:Literal ID="LtlTipoTransaccion" runat="server" Text='<%# Eval("TipoTransaccion") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<Columns>
<asp:BoundField DataFormatString="{0}:" ItemStyle-Font-Bold="true" ItemStyle-HorizontalAlign="Right" ItemStyle-Width="150px" />
<asp:TemplateField ItemStyle-HorizontalAlign="Right" ItemStyle-Width="150px">
<ItemTemplate>
<asp:Literal ID="LtImporte" runat="server" Text='<%# Eval("Importe", "{0:N2}") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel ID="UpIngresos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<b>Ingresos</b>
<asp:GridView ID="GvIngresos" BorderWidth="0px" ShowHeader="False" runat="server" horizontal-align="Right" vertical-align="Top" GridLines="None" ShowHeaderWhenEmpty="False" AutoGenerateColumns="False" EmptyDataText="">
<Columns>
<asp:BoundField ItemStyle-Font-Bold="true" ItemStyle-HorizontalAlign="Right" ItemStyle-Width="150px" />
<asp:TemplateField ItemStyle-HorizontalAlign="Right" ItemStyle-Width="150px">
<ItemTemplate>
<asp:Literal ID="LtlDescripcion" runat="server" Text='<%# Eval("Descripcion") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<Columns>
<asp:BoundField DataFormatString="{0}:" ItemStyle-Font-Bold="true" ItemStyle-HorizontalAlign="Right" ItemStyle-Width="150px" />
<asp:TemplateField ItemStyle-HorizontalAlign="Right" ItemStyle-Width="150px">
<ItemTemplate>
<asp:Literal ID="LtImporte" runat="server" Text='<%# Eval("Importe", "{0:N2}") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel ID="UpEgresos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<b>Retiros</b>
<asp:GridView ID="GvEgresos" BorderWidth="0px" ShowHeader="False" runat="server" horizontal-align="Right" vertical-align="Top" GridLines="None" ShowHeaderWhenEmpty="False" AutoGenerateColumns="False" EmptyDataText="">
<Columns>
<asp:BoundField ItemStyle-Font-Bold="true" ItemStyle-HorizontalAlign="Right" ItemStyle-Width="150px" />
<asp:TemplateField ItemStyle-HorizontalAlign="Right" ItemStyle-Width="150px">
<ItemTemplate>
<asp:Literal ID="LtlTipoTransaccion" runat="server" Text='<%# Eval("Descripcion") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<Columns>
<asp:BoundField DataFormatString="{0}:" ItemStyle-Font-Bold="true" ItemStyle-HorizontalAlign="Right" ItemStyle-Width="150px" />
<asp:TemplateField ItemStyle-HorizontalAlign="Right" ItemStyle-Width="150px">
<ItemTemplate>
<asp:Literal ID="LtImporte" runat="server" Text='<%# Eval("Importe", "{0:N2}") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
<div class="modal-footer">
<asp:UpdatePanel runat="server">
<ContentTemplate>
<asp:Button OnClick="BtnCerrarCaja_Click" ID="BtnCerrarCaja" runat="server" Text="Cerrar Turno" CssClass="btn btn-success" />
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
</div>
</div>
</div>
</asp:Content> </asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server"> <asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
<script type="text/javascript"> <script type="text/javascript">
@@ -305,8 +831,7 @@
lblCambio.innerHTML = "Cambio:"; lblCambio.innerHTML = "Cambio:";
//HdnCambioFaltante.value = "1"; //HdnCambioFaltante.value = "1";
$get("TxtCambio").value = FormatoNumero(total - totalVenta); $get("TxtCambio").value = FormatoNumero(total - totalVenta);
} else } else {
{
lblCambio.innerHTML = "Faltante:"; lblCambio.innerHTML = "Faltante:";
HdnCambioFaltante.value = "0"; HdnCambioFaltante.value = "0";
$get("TxtCambio").value = FormatoNumero(total - totalVenta, 2); $get("TxtCambio").value = FormatoNumero(total - totalVenta, 2);
@@ -315,5 +840,18 @@
$get("TxtImporteContado").value = FormatoNumero(total, 2); $get("TxtImporteContado").value = FormatoNumero(total, 2);
} }
function CalculaDiferencia() {
;
var total = 0
total = ToDouble($('#C_TxtEfectivoEnCaja').val()) - ToDouble($('#C_LblEfectivoEsperado').text());
$('#C_LblDiferenciaCaja').text(FormatoNumero(total));
}
function CalculaDiferenciaBloqueo() {
var total = 0;
total = ToDouble($('#C_TxtEfectivoCajaBloqueo').val()) - ToDouble($('#C_LblEfectivoBloqueo').text());
$('#C_LblDiferenciaCajaBloqueo').val(FormatoNumero(total));
}
</script> </script>
</asp:Content> </asp:Content>

View File

@@ -16,12 +16,23 @@ Partial Class Ventas_PVCobranza
End Set End Set
End Property End Property
Private Property DineroCaja As Double
Get
Return If(IsNothing(ViewState("DineroCaja")), 0, ViewState("DineroCaja").ToString().ToDecimal())
End Get
Set(value As Double)
ViewState("DineroCaja") = value
End Set
End Property
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not Page.IsPostBack Then If Not Page.IsPostBack Then
CveCorte = 0 CveCorte = 0
CargaFiltros() CargaFiltros()
If UsuarioActual.TienePermisoProceso(371) Then
CargaCorteCaja() CargaCorteCaja()
End If End If
End If
End Sub End Sub
Private Sub CargaFiltros() Private Sub CargaFiltros()
@@ -59,6 +70,7 @@ Partial Class Ventas_PVCobranza
DdlCuentaTarjetaDebito.DataBind() DdlCuentaTarjetaDebito.DataBind()
DdlCuentaCheque.DataBind() DdlCuentaCheque.DataBind()
DdlCuentaTransferencia.DataBind() DdlCuentaTransferencia.DataBind()
TxtImporteEfectivo.Attributes.Add("onKeyUp", "CalculaTotalPagoContado();") TxtImporteEfectivo.Attributes.Add("onKeyUp", "CalculaTotalPagoContado();")
TxtImporteCredito.Attributes.Add("onKeyUp", "CalculaTotalPagoContado();") TxtImporteCredito.Attributes.Add("onKeyUp", "CalculaTotalPagoContado();")
TxtImporteDebito.Attributes.Add("onKeyUp", "CalculaTotalPagoContado();") TxtImporteDebito.Attributes.Add("onKeyUp", "CalculaTotalPagoContado();")
@@ -66,6 +78,9 @@ Partial Class Ventas_PVCobranza
TxtImporteTransferencia.Attributes.Add("onKeyUp", "CalculaTotalPagoContado();") TxtImporteTransferencia.Attributes.Add("onKeyUp", "CalculaTotalPagoContado();")
TxtImporteOtrosContado.Attributes.Add("onKeyUp", "CalculaTotalPagoContado();") TxtImporteOtrosContado.Attributes.Add("onKeyUp", "CalculaTotalPagoContado();")
TxtEfectivoEnCaja.Attributes.Add("onKeyUp", "CalculaDiferencia();")
TxtEfectivoCajaBloqueo.Attributes.Add("onKeyUp", "CalculaDiferenciaBloqueo();")
End Sub End Sub
Private Sub CargaCorteCaja() Private Sub CargaCorteCaja()
@@ -77,13 +92,96 @@ Partial Class Ventas_PVCobranza
If ObjPVenta.DtResultados.Rows.Count > 0 Then If ObjPVenta.DtResultados.Rows.Count > 0 Then
CveCorte = ObjPVenta.CveCorte CveCorte = ObjPVenta.CveCorte
Dim FechaICorte As Date = ObjPVenta.FechaInicial.Date '.AddDays(-5)
If UsuarioActual.Empresa.Funcionalidad(531) = "1" AndAlso FechaICorte < NowADS().Date Then
DebeCerrarCorte = True
LblMotivoBloqueo.Text = $"Existe un corte del día <b>{FechaICorte.ToString("dd/MM/yyyy")}</b>. Favor de cerrarlo para iniciar un nuevo corte."
Else
LblTurno.Text = ObjPVenta.FechaInicial.ToShortDateString
BtnIniciarTurno.Visible = False
LkbEstadodeCaja.Visible = True
LkbIngreso.Visible = True
LkbRetiro.Visible = True
UpTurno.Visible = True
End If
Else
UpTurno.Visible = False
'Ingresar un nuevo Turno
RegistraScript("window.onload = function MuestraCorteCaja() { document.getElementById(""C_btnShow"").click(); }")
End If End If
End If End If
ObjPVenta.Dispose() ObjPVenta.Dispose()
If DebeCerrarCorte Then
CargaDatosCorte()
RegistraScript("window.onload = function MuestraPantallaBloqueo() { document.getElementById(""C_btnShowBloqueo"").click(); }")
End If
End Sub End Sub
Private Sub CargaDatosCorte()
Dim ObjPVenta As New ClsPuntoVenta
Dim Total As Double
If ObjPVenta.GetVta_Cortes("-1", "-1", UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, 0) Then
If ObjPVenta.DtResultados.Rows.Count > 0 Then
Total = ObjPVenta.DtResultados(0)("ImporteInicial").ToString().ToDouble + ObjPVenta.DtResultados(0)("VentasEfectivo").ToString().ToDouble + ObjPVenta.DtResultados(0)("Ingresado").ToString().ToDouble - ObjPVenta.DtResultados(0)("Retirado").ToString().ToDouble - ObjPVenta.DtResultados(0)("Devoluciones").ToString().ToDouble
DineroCaja = Total
LblEfectivoEsperado.Text = Total.FormatoNumero(2)
LblEfectivoBloqueo.Text = Total.FormatoNumero(2)
Dim Dt As New DataTable
Dt.Columns.Add("Descripcion", GetType(String))
Dt.Columns.Add("Importe", GetType(Decimal))
Dim Dr1 As DataRow = Dt.NewRow
Dr1("Descripcion") = "Fondo de Caja"
Dr1("Importe") = ObjPVenta.DtResultados(0)("ImporteInicial").ToString().ToDouble
Dt.Rows.Add(Dr1)
Dim Dr2 As DataRow = Dt.NewRow
Dr2("Descripcion") = "Ventas en Efectivo"
Dr2("Importe") = ObjPVenta.DtResultados(0)("VentasEfectivo").ToString().ToDouble
Dt.Rows.Add(Dr2)
Dim Dr21 As DataRow = Dt.NewRow
Dr21("Descripcion") = "Devoluciones"
Dr21("Importe") = ObjPVenta.DtResultados(0)("Devoluciones").ToString().ToDouble
Dt.Rows.Add(Dr21)
'Dim Dr3 = Dt.NewRow
'Dr3("Descripcion") = "Propinas"
'Dr3("Importe") = ObjPVenta.DtResultados(0)("Propina").ToString().ToDouble
'Dt.Rows.Add(Dr3)
Dim Dr4 As DataRow = Dt.NewRow
Dr4("Descripcion") = "Entradas"
Dr4("Importe") = ObjPVenta.DtResultados(0)("Ingresado").ToString().ToDouble
Dt.Rows.Add(Dr4)
Dim Dr5 As DataRow = Dt.NewRow
Dr5("Descripcion") = "Salidas"
Dr5("Importe") = ObjPVenta.DtResultados(0)("Retirado").ToString().ToDouble
Dt.Rows.Add(Dr5)
Dim Dr6 As DataRow = Dt.NewRow
Dr6("Descripcion") = "Total"
Dr6("Importe") = Total
Dt.Rows.Add(Dr6)
GvDineroCaja.DataSource = Dt
GvDineroCaja.DataBind()
UpDineroCaja.Update()
UpTerminarCorte.Update()
End If
End If
ObjPVenta.Dispose()
End Sub
Private Sub CargaDatos() Private Sub CargaDatos()
Dim ObjMovtos As New ClsMovimientos() Dim ObjMovtos As New ClsMovimientos()
@@ -278,4 +376,126 @@ Partial Class Ventas_PVCobranza
Return Retorno Return Retorno
End Function End Function
Protected Sub BtnCerrarCaja_Click(sender As Object, e As EventArgs)
RegistraScript("$('#DivEstadoCaja').modal('hide')")
RegistraScript("$('#DivTerminarCorte').modal()", "divterminarcorte")
End Sub
Protected Sub LkbIngreso_Click(sender As Object, e As EventArgs)
CargaIngresoEgreso(1)
End Sub
Public Sub CargaIngresoEgreso(Opcion As Integer)
RegistraScript("$('#DivIngresoEgreso').modal()")
If Opcion = 1 Then
LblTituloIE.Text = "Ingreso de Efectivo: "
HdnTipoMovimiento.Value = "1"
ElseIf Opcion = 0 Then
LblTituloIE.Text = "Retiro de Efectivo: "
HdnTipoMovimiento.Value = "0"
End If
UpIngresoEgreso.Update()
End Sub
Protected Sub LkbRetiro_Click(sender As Object, e As EventArgs)
CargaIngresoEgreso(0)
End Sub
Private Sub LkbEstadodeCaja_Click(sender As Object, e As EventArgs) Handles LkbEstadodeCaja.Click
CargaDatosCorte()
CargaVentasPago()
CargaEntradasSalidas()
RegistraScript("$('#DivEstadoCaja').modal()")
End Sub
Private Sub CargaVentasPago()
Dim ObjPVenta As New ClsPuntoVenta
If ObjPVenta.GetVta_MetodosPago(CveCorte) Then
If ObjPVenta.DtResultados.Rows.Count > 0 Then
GvMetodosPago.DataSource = ObjPVenta.DtResultados
GvMetodosPago.DataBind()
UpMetodosPago.Update()
End If
End If
ObjPVenta.Dispose()
End Sub
Private Sub CargaEntradasSalidas()
Dim ObjPVenta As New ClsPuntoVenta
'Salida
If ObjPVenta.GetVta_MovimientosCajas(CveCorte, 0) Then
If ObjPVenta.DtResultados.Rows.Count > 0 Then
GvEgresos.DataSource = ObjPVenta.DtResultados
GvEgresos.DataBind()
UpEgresos.Update()
End If
End If
'Entrada
If ObjPVenta.GetVta_MovimientosCajas(CveCorte, 1) Then
If ObjPVenta.DtResultados.Rows.Count > 0 Then
GvIngresos.DataSource = ObjPVenta.DtResultados
GvIngresos.DataBind()
UpIngresos.Update()
End If
End If
ObjPVenta.Dispose()
End Sub
Private Sub BtnCerrarTurno_Click(sender As Object, e As EventArgs) Handles BtnCerrarTurno.Click
Dim ObjPVenta As New ClsPuntoVenta
If TxtEfectivoEnCaja.Text.Trim <> "" Then
If ObjPVenta.UpdateFinalizadoVtaCortes(CveCorte, TxtEfectivoEnCaja.Text.ToDouble, LblDiferenciaCaja.Text.ToDouble, NowADS(), UsuarioActual.CveEmpresa) Then
RegistraScript($"window.location.href = '/Compras/PopUpVerFactura.aspx?P={Encripta(String.Format("OP=CORT&CVECORTE={0}&FORMATO={1}", CveCorte, "PDF"))}'", "Imprimir")
Dim Liga As String = "document.location.href=""/Ventas/PVCobranza.aspx"";"
Alert("Se ha cerrado el turno correctamente.", TipoMensaje.MsgInformacion, Liga)
End If
End If
ObjPVenta.Dispose()
End Sub
Private Sub BtnCerrarBloqueo_Click(sender As Object, e As EventArgs) Handles BtnCerrarBloqueo.Click
Dim ObjPVenta As New ClsPuntoVenta
If TxtEfectivoCajaBloqueo.Text.Trim <> "" Then
If ObjPVenta.UpdateFinalizadoVtaCortes(CveCorte, TxtEfectivoCajaBloqueo.Text.ToDouble, LblDiferenciaCajaBloqueo.Text.ToDouble, NowADS(), UsuarioActual.CveEmpresa) Then
RegistraScript($"window.location.href = '/Compras/PopUpVerFactura.aspx?P={Encripta(String.Format("OP=CORT&CVECORTE={0}&FORMATO={1}", CveCorte, "PDF"))}'", "Imprimir")
Dim Liga As String = "document.location.href=""/Ventas/PVCobranza.aspx"";"
Alert("Se ha cerrado el turno correctamente.", TipoMensaje.MsgInformacion, Liga)
End If
Else
Alert("Debe especificar el efectivo en caja", TipoMensaje.MsgAdvertencia)
RegistraScript("window.onload = function MuestraPantallaBloqueo() { document.getElementById(""C_btnShowBloqueo"").click(); }")
End If
ObjPVenta.Dispose()
End Sub
Private Sub BtnIniciarTurno_Click(sender As Object, e As EventArgs) Handles BtnIniciarTurno.Click
Dim ObjPVenta As New ClsPuntoVenta
ObjPVenta.AddVtaCortes(NowADS(), TxtDineroCaja.Text.ToDecimal, UsuarioActual.CveUsuario, TxtDescripcionCaja.Text, UsuarioActual.CveEmpresa)
CveCorte = ObjPVenta.CveCorte
LblTurno.Text = NowADS().ToShortDateString
UpTurno.Visible = True
LkbEstadodeCaja.Visible = True
LkbIngreso.Visible = True
LkbRetiro.Visible = True
BtnIniciarTurno.Visible = False
ObjPVenta.Dispose()
RegistraScript("$('#DivCorteDeCaja').hide();")
UpTurno.Update()
End Sub
Private Sub BtnAceptarIE_Click(sender As Object, e As EventArgs) Handles BtnAceptarIE.Click
Dim ObjPVenta As New ClsPuntoVenta
If TxtCantidadIE.Text.ToEntero() > 0 Then
If ObjPVenta.AddVta_MovimientosCajas(CveCorte, UsuarioActual.CveUsuario, TxtCantidadIE.Text.ToDouble, TxtDescripcionIE.Text, HdnTipoMovimiento.Value.ToEntero(), NowADS()) Then
TxtCantidadIE.Text = ""
TxtDescripcionIE.Text = ""
RegistraScript("$('#DivIngresoEgreso').modal('hide')", "divingresoegreso")
Alert("El movimiento se realizó correctamente")
UpIngresoEgreso.Update()
End If
End If
ObjPVenta.Dispose()
End Sub
End Class End Class