--Pedir corte antes de hacer el pago

This commit is contained in:
2025-05-19 11:51:30 -07:00
parent 402296f8f7
commit 536372fff4
2 changed files with 106 additions and 43 deletions

View File

@@ -42,7 +42,7 @@
<asp:RadioButtonList ID="RblTipoPago" AutoPostBack="true" runat="server" RepeatDirection="Horizontal"> <asp:RadioButtonList ID="RblTipoPago" AutoPostBack="true" runat="server" RepeatDirection="Horizontal">
<asp:ListItem Value="1" Selected="true">Banco &nbsp;</asp:ListItem> <asp:ListItem Value="1" Selected="true">Banco &nbsp;</asp:ListItem>
<asp:ListItem Value="3">Ingresos x Comprobar</asp:ListItem> <asp:ListItem Value="3">Ingresos x Comprobar</asp:ListItem>
<%-- <asp:ListItem Value="2" >Pago Intermediario</asp:ListItem>--%> <%-- <asp:ListItem Value="2" >Pago Intermediario</asp:ListItem>--%>
</asp:RadioButtonList> </asp:RadioButtonList>
</div> </div>
<div class="col-md-5"> <div class="col-md-5">
@@ -208,10 +208,10 @@
<div class="col-md-2"> <div class="col-md-2">
<asp:TextBox ID="TxtAnticipo" runat="server" Width="100px" ClientIDMode="Static" /> <asp:TextBox ID="TxtAnticipo" runat="server" Width="100px" ClientIDMode="Static" />
</div> </div>
<div class="col-md-1" runat="server" id="DivAntSubProyectoTexto" visible="false">Sucursal:</div> <div class="col-md-1" runat="server" id="DivAntSubProyectoTexto" visible="false">Sucursal:</div>
<div class="col-md-2" runat="server" id="DivAntSubProyecto" visible="false"> <div class="col-md-2" runat="server" id="DivAntSubProyecto" visible="false">
<asp:DropDownList runat="server" ID="DdlSubProyectos" CssClass="form-control input-sm select2me" DataValueField="CveSubProyecto" DataTextField="SubProyecto" Class="table-group-action-input form-control input-inline input-small input-sm"> <asp:DropDownList runat="server" ID="DdlSubProyectos" CssClass="form-control input-sm select2me" DataValueField="CveSubProyecto" DataTextField="SubProyecto" Class="table-group-action-input form-control input-inline input-small input-sm">
</asp:DropDownList> </asp:DropDownList>
</div> </div>
<div class="col-md-3" runat="server" id="Div4" visible="false"> <div class="col-md-3" runat="server" id="Div4" visible="false">
</div> </div>
@@ -257,9 +257,9 @@
<div class="col-md-3"> <div class="col-md-3">
<asp:TextBox ID="TxtImporteDeduccionesPago" runat="server" Width="100px" onkeyup="FormatoMoneda(this)" ClientIDMode="Static"></asp:TextBox> <asp:TextBox ID="TxtImporteDeduccionesPago" runat="server" Width="100px" onkeyup="FormatoMoneda(this)" ClientIDMode="Static"></asp:TextBox>
</div> </div>
<div class="col-md-2"> <div class="col-md-2">
</div> </div>
<div class="col-md-3"> <div class="col-md-3">
</div> </div>
</div> </div>
@@ -312,7 +312,7 @@
<asp:UpdatePanel ID="UpGuardar" runat="server" UpdateMode="Conditional"> <asp:UpdatePanel ID="UpGuardar" runat="server" UpdateMode="Conditional">
<ContentTemplate> <ContentTemplate>
<%-- <br /> <%-- <br />
<div class="row"> <div class="row">
<div class="col-lg-2" style="text-align:right!important;max-width:15%!important"> <div class="col-lg-2" style="text-align:right!important;max-width:15%!important">
@@ -333,54 +333,54 @@
</div>--%> </div>--%>
<table class="Widthall" style="height:50px!important"> <table class="Widthall" style="height: 50px!important">
<tr> <tr>
<td style="text-align: right; width: 15%"> <td style="text-align: right; width: 15%">
<asp:CheckBox Text=" Seguir Registrando Pagos" ID="ChkSeguirRegistrando" CssClass="md-checksd" runat="server" /> <asp:CheckBox Text=" Seguir Registrando Pagos" ID="ChkSeguirRegistrando" CssClass="md-checksd" runat="server" />
</td> </td>
<td style="text-align: left; width: 15%"> <td style="text-align: left; width: 15%">
<asp:CheckBox Text=" Emitir complemento de pago" ID="ChkComplementoPago" Visible="true" CssClass="md-checksd" runat="server" AutoPostBack="true" OnCheckedChanged="ChkComplementoPago_CheckedChanged" /> <asp:CheckBox Text=" Emitir complemento de pago" ID="ChkComplementoPago" Visible="true" CssClass="md-checksd" runat="server" AutoPostBack="true" OnCheckedChanged="ChkComplementoPago_CheckedChanged" />
<br /> <br />
<asp:Label ID="LblValidaCeuntaTipoTransaccion" runat="server" Visible="false" ForeColor="Red"></asp:Label> <asp:Label ID="LblValidaCeuntaTipoTransaccion" runat="server" Visible="false" ForeColor="Red"></asp:Label>
</td> </td>
<td style="text-align: left; width: 14%"> <td style="text-align: left; width: 14%">
<div runat="server" id="DvFechaEmision" visible="false"> <div runat="server" id="DvFechaEmision" visible="false">
<table> <table>
<td style="white-space: nowrap;">Fecha Emisión:</td> <td style="white-space: nowrap;">Fecha Emisión:</td>
<td> <td>
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 110px !important; padding: 0px;"> <div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 110px !important; padding: 0px;">
<asp:TextBox ID="TxtFechaEmision" runat="server" CssClass="form-control"></asp:TextBox> <asp:TextBox ID="TxtFechaEmision" runat="server" CssClass="form-control"></asp:TextBox>
<span class="input-group-btn "> <span class="input-group-btn ">
<asp:LinkButton runat="server" ID="LnkImgTxtFechaEmision" class="btn default"><i class="fa fa-calendar"></i></asp:LinkButton> <asp:LinkButton runat="server" ID="LnkImgTxtFechaEmision" class="btn default"><i class="fa fa-calendar"></i></asp:LinkButton>
</span> </span>
</div> </div>
<ajax:MaskedEditExtender ID="METxtFechaEmision" runat="server" TargetControlID="TxtFechaEmision" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender> <ajax:MaskedEditExtender ID="METxtFechaEmision" runat="server" TargetControlID="TxtFechaEmision" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender ID="CETxtFechaEmision" runat="server" TargetControlID="TxtFechaEmision" PopupButtonID="LnkImgTxtFechaEmision" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender> <ajax:CalendarExtender ID="CETxtFechaEmision" runat="server" TargetControlID="TxtFechaEmision" PopupButtonID="LnkImgTxtFechaEmision" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="RfvTxtFechaEmision" runat="server" ControlToValidate="TxtFechaEmision" Display="None" ErrorMessage="El campo <b>''Fecha de Emisión''</b> es requerido por la aplicación, por favor ingrese una fecha." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator> <asp:RequiredFieldValidator ID="RfvTxtFechaEmision" runat="server" ControlToValidate="TxtFechaEmision" Display="None" ErrorMessage="El campo <b>''Fecha de Emisión''</b> es requerido por la aplicación, por favor ingrese una fecha." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<asp:CompareValidator ID="CVTxtFechaEmision" runat="server" ControlToValidate="TxtFechaEmision" Display="None" ErrorMessage="El campo <b>''Fecha de Emisión''</b> no tienes el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="GrpGuardar"></asp:CompareValidator> <asp:CompareValidator ID="CVTxtFechaEmision" runat="server" ControlToValidate="TxtFechaEmision" Display="None" ErrorMessage="El campo <b>''Fecha de Emisión''</b> no tienes el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="GrpGuardar"></asp:CompareValidator>
<%--<asp:RangeValidator ID="RVTxtFechaEmision" runat="server" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b> <br/> La fecha del documento no puede ser superior a la fecha actual" ControlToValidate="TxtFechaDocumento" MinimumValue="01/01/1900" Type="Date" ValidationGroup="GrpGuardar"></asp:RangeValidator>--%> <%--<asp:RangeValidator ID="RVTxtFechaEmision" runat="server" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b> <br/> La fecha del documento no puede ser superior a la fecha actual" ControlToValidate="TxtFechaDocumento" MinimumValue="01/01/1900" Type="Date" ValidationGroup="GrpGuardar"></asp:RangeValidator>--%>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender8" runat="server" HighlightCssClass="vco" TargetControlID="RfvTxtFechaEmision" Width="350px"></ajax:ValidatorCalloutExtender>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender9" runat="server" HighlightCssClass="vco" TargetControlID="CVTxtFechaEmision" Width="350px"></ajax:ValidatorCalloutExtender>
<%--<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender10" runat="server" HighlightCssClass="vco" TargetControlID="RVTxtFechaEmision" Width="350px"></ajax:ValidatorCalloutExtender>--%>
</td>
</table>
</div> <ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender8" runat="server" HighlightCssClass="vco" TargetControlID="RfvTxtFechaEmision" Width="350px"></ajax:ValidatorCalloutExtender>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender9" runat="server" HighlightCssClass="vco" TargetControlID="CVTxtFechaEmision" Width="350px"></ajax:ValidatorCalloutExtender>
</td> <%--<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender10" runat="server" HighlightCssClass="vco" TargetControlID="RVTxtFechaEmision" Width="350px"></ajax:ValidatorCalloutExtender>--%>
<td style="text-align: center;width: 10%"> </td>
</table>
</div>
</td>
<td style="text-align: center; width: 10%">
<asp:Button ID="BtnIEGuardar" runat="server" Text="Guardar" ValidationGroup="GrpGuardar" class="btn btn-primary" /> <asp:Button ID="BtnIEGuardar" runat="server" Text="Guardar" ValidationGroup="GrpGuardar" class="btn btn-primary" />
</td> </td>
<td style="text-align: right; width: 45%"> <td style="text-align: right; width: 45%">
<input type="text" id="TxtBusqueda" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GvCxC.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 125px;" /> <input type="text" id="TxtBusqueda" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GvCxC.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 125px;" />
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GvCxC.ClientID) %>" style="margin-top: -3px; margin-right: 20px" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a> <a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GvCxC.ClientID) %>" style="margin-top: -3px; margin-right: 20px" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
</td> </td>
</tr> </tr>
</table> </table>
@@ -716,7 +716,7 @@
<asp:ListItem Text="Gasto No Deducible" Value="255" Selected="True"></asp:ListItem> <asp:ListItem Text="Gasto No Deducible" Value="255" Selected="True"></asp:ListItem>
<asp:ListItem Text="Incobrable No Deducible" Value="179"></asp:ListItem> <asp:ListItem Text="Incobrable No Deducible" Value="179"></asp:ListItem>
<asp:ListItem Text="Incobrable Deducible" Value="263"></asp:ListItem> <asp:ListItem Text="Incobrable Deducible" Value="263"></asp:ListItem>
<asp:ListItem Text="Reservas" Value="252"></asp:ListItem> <asp:ListItem Text="Reservas" Value="252"></asp:ListItem>
</asp:DropDownList> </asp:DropDownList>
</div> </div>
</div> </div>
@@ -738,6 +738,41 @@
</div> </div>
</div> </div>
</div> </div>
<div id="ModalCorte" 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">&times;</button>
<h4 class="modal-title">Corte de caja</h4>
</div>
<div class="modal-body">
<asp:UpdatePanel runat="server" ID="UpModalCorte" UpdateMode="Conditional">
<ContentTemplate>
<div class="alert alert-warning">Debe seleccionar un corte de caja</div>
<div class="row">
<label class="col-xs-2 control-label">Corte:</label>
<div class="col-xs-10">
<asp:DropDownList ID="DdlCorteCaja" runat="server" CssClass="form-control input-sm select2me" DataTextField="DescripcionCorte" DataValueField="CveCorte" Width="100%" ValidationGroup="GrpPago"></asp:DropDownList>
<asp:RequiredFieldValidator ID="RFVCorteCaja" runat="server" ControlToValidate="DdlCorteCaja" InitialValue="-1" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Corte de caja''</b> es necesario, por favor seleccione uno." ValidationGroup="GrpPago"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCECorteCaja" runat="server" HighlightCssClass="vco" TargetControlID="RFVCorteCaja" Width="300px"></ajax:ValidatorCalloutExtender>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div class="modal-footer">
<asp:UpdatePanel runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:Button ID="BtnGenerarPago" runat="server" CssClass="btn btn-primary" Text="Pagar" ValidationGroup="GrpPago" />
<button type="button" class="btn btn-danger" data-dismiss="modal">Cancelar</button>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
</div>
</div>
<%-- FIN MODAL SALDAR INCOBRABLE--%> <%-- FIN MODAL SALDAR INCOBRABLE--%>
<%--<div id="ModalVincularIntermediario" class="modal ADS fade" role="dialog"> <%--<div id="ModalVincularIntermediario" class="modal ADS fade" role="dialog">

View File

@@ -696,9 +696,38 @@ Partial Class Ventas_ClientesAbonar
End If End If
End Sub End Sub
Protected Sub BtnIEGuardar_Click(sender As Object, e As EventArgs) Handles BtnIEGuardar.Click Protected Sub BtnIEGuardar_Click(sender As Object, e As EventArgs) Handles BtnIEGuardar.Click
'VERIFICA SI HAY CORTE ANTES DE HACER EL PAGO
If UsuarioActual.Empresa.Funcionalidad(382) = "1" AndAlso CveCorte <= 0 Then
Dim ObjPVenta As New ClsPuntoVenta
If ObjPVenta.GetVta_Cortes(TxtFechaDocumento.Text, TxtFechaDocumento.Text, -1, -1, UsuarioActual.CveEmpresa, -1) Then
DdlCorteCaja.DataSource = ObjPVenta.DtResultados.FiltraParametros($"CveSubProyecto={CveSubProyecto}")
DdlCorteCaja.DataBind()
End If
ObjPVenta.Dispose()
DdlCorteCaja.Items.Insert(0, New ListItem("Seleccione", "-1"))
UpModalCorte.Update()
RegistraScript("$('#ModalCorte').modal({backdrop: 'static', keyboard: false}, 'show')")
Else
GenerarPago()
End If
End Sub
Protected Sub BtnGenerarPago_Click(sender As Object, e As EventArgs) Handles BtnGenerarPago.Click
CveCorte = DdlCorteCaja.SelectedValue.ToEntero()
If CveCorte <= 0 Then
Alert("Debe seleccionar un corte", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
GenerarPago()
End Sub
Private Sub GenerarPago()
Dim FechaEmision As Date = MinFecha Dim FechaEmision As Date = MinFecha
If ChkComplementoPago.Checked AndAlso UsuarioActual.Empresa.Funcionalidad(382) = "1" Then If ChkComplementoPago.Checked AndAlso UsuarioActual.Empresa.Funcionalidad(382) = "1" Then
@@ -1550,7 +1579,6 @@ Partial Class Ventas_ClientesAbonar
If MsgError = "" Then If MsgError = "" Then
LimpiaCampos() LimpiaCampos()
End If End If
End Sub End Sub
Private Function TimbrarFactura(ByRef ObjFactura As Modelos.Factura, ByRef SeTimbro As Boolean) As String Private Function TimbrarFactura(ByRef ObjFactura As Modelos.Factura, ByRef SeTimbro As Boolean) As String