Puntos GDiaz:

--En la generación de la póliza de depósito de caja, incluir en el concepto de tipo de depósito.
--Notificar los facturas pendientes de timbrar, en cajas.
--Permitir facturar sin bloqueo de vencimientos/saldo excedido a clientes que son parte relacionada.
--No agregar en automática la partida en cotización/ventas.
This commit is contained in:
2024-09-02 09:37:16 -07:00
parent a6176df862
commit a9f51b2483
6 changed files with 153 additions and 40 deletions

View File

@@ -309,11 +309,13 @@ Public Class ClsSubProyectos
disposedValue = True
End Sub
Public Function GetNoTimbradasCentroCosto(CveEmpresa As Integer) As Boolean
Public Function GetNoTimbradasCentroCosto(CveEmpresa As Integer, CveUsuario As Integer, Optional CveSubProyecto As Integer = -1) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_NoTimbradasCentroCostoGet")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
.Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto
End With
Try
SqlAdapter.Fill(Data)

View File

@@ -269,7 +269,7 @@ Partial Class Bancos_DepositosCaja
CveMoneda = drDestino("CveMoneda").ToString.ToEntero
End If
NuevaCvePrePoliza = ObjConta.AddPrePolizas("DepCaja", 13, TotalImportePrePoliza, TotalImportePrePoliza, CveMoneda, Fecha, "Depósito Bancario", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveTipoPoliza:=1)
NuevaCvePrePoliza = ObjConta.AddPrePolizas("DepCaja", 13, TotalImportePrePoliza, TotalImportePrePoliza, CveMoneda, Fecha, $"Depósito Bancario - {DdlTipoDeposito.SelectedItem.Text}", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveTipoPoliza:=1)
Dim IntermediarioFactura As Boolean = False
If UsuarioActual.CveEmpresa = 145 Then IntermediarioFactura = True
@@ -348,7 +348,7 @@ Partial Class Bancos_DepositosCaja
documentos += String.Format("<a href='/Bancos/IE.aspx?CveIE={0}' target='_blank' class='Texto'>Depósito: {1}</a> &nbsp &nbsp <br/> ", CveIEOrigen, FolioIE)
If Not OcurrioError AndAlso ObjConta.AddPrePolizasDetalle(NuevaCvePrePoliza, False, TotalImporte, TotalImporte * TipoCambio, 30, "Depósito Bancario", "Depósito Bancario", CveClasificacion:=CveClasificacion, CveSubProyecto:=CveSubProyecto, CveIE:=CveIEOrigen) Then
If Not OcurrioError AndAlso ObjConta.AddPrePolizasDetalle(NuevaCvePrePoliza, False, TotalImporte, TotalImporte * TipoCambio, 30, $"Depósito Bancario - {DdlTipoDeposito.SelectedItem.Text}", $"Depósito Bancario - {DdlTipoDeposito.SelectedItem.Text}", CveClasificacion:=CveClasificacion, CveSubProyecto:=CveSubProyecto, CveIE:=CveIEOrigen) Then
If ChkFaltante.Checked Then
CveSubProyectoComision = DdlSubProyectoDeposito.SelectedValue.ToEntero

View File

@@ -314,7 +314,7 @@ Partial Class Inicio
Private Sub MuestraNoTimbradasCentroCosto()
Dim ObjSub As New ClsSubProyectos
If ObjSub.GetNoTimbradasCentroCosto(UsuarioActual.CveEmpresa) Then
If ObjSub.GetNoTimbradasCentroCosto(UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario) Then
If ObjSub.DtResultados.Rows.Count > 0 Then
LblNoTimbradas.Text = ObjSub.DtResultados.Rows.Count.ToString
GvNoTimbradasCentroCosto.DataSource = ObjSub.DtResultados

View File

@@ -192,16 +192,16 @@
<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>
<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>
<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>
<asp:LinkButton ID="LkbRetiro" runat="server" OnClick="LkbRetiro_Click" Visible="false"><i class="fa fa-ad-excel"></i>Retiro de Efectivo</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LnkCobrosEnTranscurso" runat="server" OnClick="LnkCobrosEnTranscurso_Click"><i class="fa fa-money"></i> Cobros en Transcurso</asp:LinkButton>
<asp:LinkButton ID="LnkCobrosEnTranscurso" runat="server" OnClick="LnkCobrosEnTranscurso_Click"><i class="fa fa-money"></i>Cobros en Transcurso</asp:LinkButton>
</li>
</ContentTemplate>
</asp:UpdatePanel>
@@ -303,26 +303,90 @@
</div>
<div class="row">
<div class="col-md-6">
<asp:GridView ID="GvDatos" runat="server" AutoGenerateColumns="False" Width="100%"
EmptyDataText="No se encontraron Ventas con los filtros especificados" data-sort="true" ToolTip="Listado de Ventas"
CssClass="ScrollAD table table-striped table-hover Widthall mysmallbtn" data-heighterror="320" data-freezecols="0" data-freezerows="0" GridLines="None"
DataKeyNames="CveVenta,TipoDocto,Saldo,AtencionA,CveFormaPago33,SerieFolio">
<Columns>
<asp:BoundField HeaderText="Atención" DataField="AtencionA" />
<asp:HyperLinkField HeaderText="Folio" DataNavigateUrlFields="CveVenta" DataNavigateUrlFormatString="/Ventas/Ventas.aspx?CveVenta={0}" DataTextField="SerieFolio" ItemStyle-HorizontalAlign="Center" />
<asp:BoundField HeaderText="Fecha/Hora" DataField="Fecha" ItemStyle-HorizontalAlign="Center" />
<asp:BoundField HeaderText="Importe" DataField="Saldo" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" />
<asp:TemplateField HeaderText="" ItemStyle-HorizontalAlign="Right">
<ItemTemplate>
<asp:LinkButton ID="LnkImprimir" runat="server" AlternateText="Imprimir ticket"
CssClass="btn btn-circle btn-sm blue" Text="<i class='fa fa-print'></i>" ToolTip="Imprimir"
OnClick="LnkImprimir_Click" Visible="false" />
&nbsp;
<asp:LinkButton ID="BtnPagar" runat="server" CssClass="btn btn-xs btn-success" Text="Cobrar" CommandName="Cobrar" CommandArgument='<%# Eval("CveVenta") %>' />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<div class="portlet light xspadding traspasorow bordered">
<div class="portlet-title">
<div class="caption font-green">
<span class="caption-subject bold uppercase" style="line-height: 1;">Ventas pendientes de pago </span>
</div>
<div class="actions">
<div class="btn-group">
<div class="row" style="margin-left: 0px; text-align: right" align="left">
<div style="margin-right: 15px">
<input type="text" id="TxtBusquedaVentas" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusquedaVentas','{0}')", GvDatos.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" />
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusquedaVentas','{0}')", GvDatos.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
</div>
</div>
</div>
</div>
</div>
<div class="portlet-body rowpadding">
<div class="row">
<div class="col-md-12">
<asp:GridView ID="GvDatos" runat="server" AutoGenerateColumns="False" Width="100%"
EmptyDataText="No se encontraron Ventas con los filtros especificados" data-sort="true" ToolTip="Listado de Ventas"
CssClass="ScrollAD table table-striped table-hover Widthall mysmallbtn" data-heighterror="320" data-freezecols="0" data-freezerows="0" GridLines="None"
DataKeyNames="CveVenta,TipoDocto,Saldo,AtencionA,CveFormaPago33,SerieFolio">
<Columns>
<asp:BoundField HeaderText="Atención" DataField="AtencionA" />
<asp:HyperLinkField HeaderText="Folio" DataNavigateUrlFields="CveVenta" DataNavigateUrlFormatString="/Ventas/Ventas.aspx?CveVenta={0}" DataTextField="SerieFolio" ItemStyle-HorizontalAlign="Center" />
<asp:BoundField HeaderText="Fecha/Hora" DataField="Fecha" ItemStyle-HorizontalAlign="Center" />
<asp:BoundField HeaderText="Importe" DataField="Saldo" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" />
<asp:TemplateField HeaderText="" ItemStyle-HorizontalAlign="Right">
<ItemTemplate>
<asp:LinkButton ID="LnkImprimir" runat="server" AlternateText="Imprimir ticket"
CssClass="btn btn-circle btn-sm blue" Text="<i class='fa fa-print'></i>" ToolTip="Imprimir"
OnClick="LnkImprimir_Click" Visible="false" />
&nbsp;
<asp:LinkButton ID="BtnPagar" runat="server" CssClass="btn btn-xs btn-success" Text="Cobrar" CommandName="Cobrar" CommandArgument='<%# Eval("CveVenta") %>' />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
</div>
</div>
</div>
<br />
<div class="portlet light xspadding traspasorow bordered" id="DivNoTimbradas" runat="server" visible="false">
<div class="portlet-title">
<div class="caption font-green">
<span class="caption-subject bold uppercase" style="line-height: 1; color: #ff6000;">Facturas No Timbradas</span>
</div>
<div class="actions">
<div class="btn-group">
<div class="row" style="margin-left: 0px; text-align: right" align="left">
<div style="margin-right: 15px">
<input type="text" id="TxtBusquedaTimbrar" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusquedaTimbrar','{0}')", GvPendientesTimbrar.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" />
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusquedaTimbrar','{0}')", GvPendientesTimbrar.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
</div>
</div>
</div>
</div>
</div>
<div class="portlet-body rowpadding">
<div class="row">
<div class="col-md-12">
<asp:GridView ID="GvPendientesTimbrar" runat="server" AutoGenerateColumns="false" EmptyDataText=""
CssClass="table table-striped table-advance table-hover Widthall ScrollAD mysmallbtn" data-sort="true" data-height="200" GridLines="None" Width="99%">
<Columns>
<asp:BoundField DataField="CentroCostos" HeaderText="Sucursal" ItemStyle-HorizontalAlign="Left" />
<asp:BoundField DataField="Fecha" ItemStyle-Width="15%" HeaderText="Fecha" ItemStyle-HorizontalAlign="Center" DataFormatString="{0:d}" />
<asp:BoundField DataField="TipoDocto" HeaderText="Tipo Docto" ItemStyle-HorizontalAlign="Left" />
<asp:HyperLinkField HeaderText="Folio" DataTextField="SerieFolio" DataNavigateUrlFields="CveVenta" DataNavigateUrlFormatString="/Ventas/Ventas.aspx?CveVenta={0}" Target="_blank" ItemStyle-HorizontalAlign="Left" />
<asp:BoundField DataField="Total" HeaderText="Total" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField DataField="AbreviaturaSAT" HeaderText="Moneda" ItemStyle-HorizontalAlign="Center" />
</Columns>
<RowStyle CssClass="Texto" />
<HeaderStyle CssClass="Titulos" />
</asp:GridView>
</div>
</div>
</div>
</div>
</div>
<div class="col-md-6">
<asp:Panel runat="server" ID="PnlContado" DefaultButton="BtnPagar" Visible="false">
@@ -514,12 +578,12 @@
<br />
</div>
<label id="lblCambio2" class="col-md-2">Sob/falt:</label>
<div class="col-md-3 input-icon">
<i style="margin: 0px;">$</i>
<asp:TextBox ID="TxtFaltante" CssClass="form-control input-sm " runat="server" MaxLength="12" Width="100px" ClientIDMode="Static" Style="text-align: right;"></asp:TextBox>
<ajax:FilteredTextBoxExtender ID="FilteredTextBoxExtender4" runat="server" TargetControlID="TxtCambio" FilterType="Custom, Numbers" ValidChars=".," />
<br />
</div>
<div class="col-md-3 input-icon">
<i style="margin: 0px;">$</i>
<asp:TextBox ID="TxtFaltante" CssClass="form-control input-sm " runat="server" MaxLength="12" Width="100px" ClientIDMode="Static" Style="text-align: right;"></asp:TextBox>
<ajax:FilteredTextBoxExtender ID="FilteredTextBoxExtender4" runat="server" TargetControlID="TxtCambio" FilterType="Custom, Numbers" ValidChars=".," />
<br />
</div>
</div>
<div class="row">
<div class="col-md-12" style="text-align: center;">

View File

@@ -69,12 +69,18 @@ Partial Class Ventas_PVCobranza
CveCorte = 0
CargaFiltros()
CargaDdlPagos()
If UsuarioActual.TienePermisoProceso(371) Then
CargaCorteCaja()
End If
If UsuarioActual.CveEmpresa = 189 Then
DivDatosCheque.Visible = True
End If
If UsuarioActual.Empresa.Funcionalidad(382) = "1" Then
DivNoTimbradas.Visible = True
End If
End If
End Sub
@@ -278,6 +284,16 @@ Partial Class Ventas_PVCobranza
End Sub
Private Sub MuestraNoTimbradasCentroCosto()
Dim ObjSub As New ClsSubProyectos
If ObjSub.GetNoTimbradasCentroCosto(UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario) Then
If ObjSub.DtResultados.Rows.Count > 0 Then
GvPendientesTimbrar.DataSource = ObjSub.DtResultados.FiltraParametros($"Fecha = '{Now.ToString("dd/MM/yyyy")}'")
End If
End If
ObjSub.Dispose()
GvPendientesTimbrar.DataBind()
End Sub
Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs) Handles BtnConsultar.Click
@@ -291,6 +307,8 @@ Partial Class Ventas_PVCobranza
CargaDatos()
End If
MuestraNoTimbradasCentroCosto()
End Sub

View File

@@ -2072,6 +2072,15 @@ Partial Class Ventas
End Set
End Property
Private Property EsFilial As Boolean
Get
Return CBool(IfNull(ViewState("EsFilial"), False))
End Get
Set(value As Boolean)
ViewState("EsFilial") = value
End Set
End Property
Private Property VentaDesglosaIEPS As Boolean
Get
Return CBool(IfNull(ViewState("VentaDesglosaIEPS"), "False", ViewState("VentaDesglosaIEPS")))
@@ -6836,6 +6845,7 @@ Partial Class Ventas
ViewState("RequiereOC") = ObjCliente.RequiereOC
EnviarCorreoCliente = ObjCliente.EnviarFactura
EstatusCliente = ObjCliente.Estatus
EsFilial = ObjCliente.EsFilial
Me.PermiteCredito = ObjCliente.PermiteCredito
LnkAgregarCliente.Visible = False
@@ -7649,7 +7659,7 @@ Partial Class Ventas
Dim ValorAutorizacion As String = UsuarioActual.Empresa.Funcionalidad(595)
'OBLIGAR PAGO DE CONTADO SI EL CLIENTE NO PERMITE CREDITO
If (Not UsuarioActual.Empresa.Funcionalidad(702).Contiene("1")) AndAlso Me.PermiteCredito = False AndAlso ((DdlTipoComprobante.SelectedValue.Contiene("Ing", "Ant", "Rem", "Cot") AndAlso CveVenta < 1) OrElse (DdlTipoComprobante.SelectedValue.Contiene("Ing", "Ant", "Rem", "Cot", "PA") AndAlso EsCreaApartirDe) OrElse (DdlTipoComprobante.SelectedValue.Contiene("Cot") AndAlso CveVenta > 0)) Then
If Not EsFilial AndAlso (Not UsuarioActual.Empresa.Funcionalidad(702).Contiene("1")) AndAlso Me.PermiteCredito = False AndAlso ((DdlTipoComprobante.SelectedValue.Contiene("Ing", "Ant", "Rem", "Cot") AndAlso CveVenta < 1) OrElse (DdlTipoComprobante.SelectedValue.Contiene("Ing", "Ant", "Rem", "Cot", "PA") AndAlso EsCreaApartirDe) OrElse (DdlTipoComprobante.SelectedValue.Contiene("Cot") AndAlso CveVenta > 0)) Then
RBLPago.SelectedValue = "2"
RBLPago.Items(0).Enabled = False
RBLPago_SelectedIndexChanged(Nothing, Nothing)
@@ -7686,7 +7696,7 @@ Partial Class Ventas
' RBLPago.SelectedValue = "2"
'End If
If ((DdlTipoComprobante.SelectedValue.Contiene("Ing", "Ant", "Rem", "Cot", "PA") AndAlso CveVenta <= 0) OrElse (DdlTipoComprobante.SelectedValue.Contiene("Cot") AndAlso CveVenta > 0)) AndAlso RBLPago.SelectedValue = "1" AndAlso PermiteCredito Then
If Not EsFilial AndAlso (((DdlTipoComprobante.SelectedValue.Contiene("Ing", "Ant", "Rem", "Cot", "PA") AndAlso CveVenta <= 0) OrElse (DdlTipoComprobante.SelectedValue.Contiene("Cot") AndAlso CveVenta > 0)) AndAlso RBLPago.SelectedValue = "1" AndAlso PermiteCredito) Then
'FUNCIONALIDAD 702 - NO VERIFICAR LIMITE DE CRÉDITO Y CANDADOS DE VENTA
If Not UsuarioActual.Empresa.Funcionalidad(702) = "1" Then
If UsuarioActual.Empresa.Funcionalidad(589) = "1" Then
@@ -8005,7 +8015,7 @@ Partial Class Ventas
Else
'VERIFICAR RESTRICCIONES DEL CLIENTE
If Not UsuarioActual.Empresa.Funcionalidad(702).ToEntero() > 0 Then
If Not EsFilial AndAlso UsuarioActual.Empresa.Funcionalidad(702).ToEntero() > 0 Then
Dim ValidaRemision As Boolean = False
If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then
@@ -8116,7 +8126,7 @@ Partial Class Ventas
UPPCreditoDisponible.Update()
'SOLO VERIFICA VENCIMIENTOS
If UsuarioActual.Empresa.Funcionalidad(702).Contiene("2") Then
If Not EsFilial AndAlso UsuarioActual.Empresa.Funcionalidad(702).Contiene("2") Then
Dim ValidaCliente As Boolean = False
@@ -8148,6 +8158,17 @@ Partial Class Ventas
End If
End If
If EsFilial AndAlso Alertas Then
Dim Vta As New ClsVentas
Dim Opcion As Integer = Vta.ObtenerClienteLimitesVenta(CveCliente, UsuarioActual.CveEmpresa)
Dim OpcionMsg As String = String.Format("El Cliente se encuentra bloqueado por la siguiente razón: <br> <br> {0}", Vta.SerieVenta)
Vta.Dispose()
If Opcion > 0 Then
Alert(OpcionMsg, TipoMensaje.MsgAdvertencia)
End If
End If
'Puede hacer pedido
If CveVenta <= 0 Then
If Not UsuarioActual.TienePermisoProceso(177) And Not EsVentaMedica Then
@@ -8169,7 +8190,6 @@ Partial Class Ventas
LblEnviarMail.Visible = True
End If
End Sub
@@ -18169,8 +18189,17 @@ Partial Class Ventas
End If
End If
Dim AgregarPSAutomaticamente As Boolean = False
If UsuarioActual.Empresa.Funcionalidad(109) = "1" AndAlso Not DdlTipoComprobante.SelectedValue.Contiene("Egs", "Ant") Then
AgregarPSAutomaticamente = True
End If
If UsuarioActual.CveEmpresa = 189 Then
AgregarPSAutomaticamente = False
End If
If AgregarPSAutomaticamente Then
AgregarPS()
End If