This commit is contained in:
JORGE LUIS CAUDILLO ESPARZA
2025-01-02 09:28:03 -07:00
14 changed files with 1004 additions and 184 deletions

View File

@@ -5154,12 +5154,20 @@ Public Class ClsPaginas
''' <param name="NombreArchivo">Opcional Nombre del archivo que se descarga</param>
''' <param name="Formato">Optional, Formato de Generacion PDF o Excel</param>
''' <remarks></remarks>
Public Sub ImprimirPDF(RutaReporte As String, DtDatos As DataTable, Parametros As List(Of ReportParameter), Optional NombreArchivo As String = "Reporte", Optional Formato As String = "PDF", Optional RDSName As String = "DataSet1", Optional MR As ReportViewer = Nothing, Optional Content_Disposition As String = "attachment")
Public Sub ImprimirPDF(RutaReporte As String, DtDatos As DataTable, Parametros As List(Of ReportParameter), Optional NombreArchivo As String = "Reporte", Optional Formato As String = "PDF", Optional RDSName As String = "DataSet1", Optional MR As ReportViewer = Nothing, Optional Content_Disposition As String = "attachment", Optional DtDatos2 As DataTable = Nothing, Optional RDSName2 As String = "DataSet2")
Dim lrds As New List(Of ReportDataSource)
Dim rds As New ReportDataSource
rds.Name = RDSName
rds.Value = DtDatos
lrds.Add(rds)
If DtDatos2 IsNot Nothing Then
Dim rds2 As New ReportDataSource
rds2.Name = RDSName2
rds2.Value = DtDatos2
lrds.Add(rds2)
End If
ImprimirPDF(RutaReporte, lrds, Parametros, NombreArchivo, Formato, MR, Content_Disposition)
End Sub
Public Sub ImprimirPDFStimul(RutaReporte As String, DtDatos As DataTable, Parametros As List(Of ReportParameter), Optional NombreArchivo As String = "Reporte", Optional Formato As String = "PDF", Optional RDSName As String = "Datos", Optional Content_Disposition As String = "attachment")

View File

@@ -24,9 +24,16 @@
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="C" runat="Server">
<div class="row" style="margin-right: 10px; margin-top: 18px;" align="right">
<input type="text" id="TxtBusqueda" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GvDatos.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" />
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GvDatos.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
</div>
<asp:UpdatePanel ID="UpDatos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="GvDatos" runat="server" AutoGenerateColumns="False" DataKeyNames="CveCuenta" EmptyDataText="No se encontraron Números de Cuentas Registrados" ToolTip="Listado de Números de Cuentas" CssClass="table table-striped table-advance table-hover" Style="text-align: center;" GridLines="None" Width="100%">
<asp:GridView ID="GvDatos" runat="server" AutoGenerateColumns="False" DataKeyNames="CveCuenta" EmptyDataText="No se encontraron Números de Cuentas Registrados" ToolTip="Listado de Números de Cuentas"
CssClass="table table-striped table-advance table-hover ScrollAD" Style="text-align: center;" GridLines="None" Width="100%">
<Columns>
<asp:HyperLinkField DataTextField="TipoCuenta" HeaderText="Tipo Cuenta" ControlStyle-CssClass="Texto" ItemStyle-HorizontalAlign="Left" DataNavigateUrlFormatString="/Bancos/CuentasBancariasDetalle.aspx?CveCuenta={0}" DataNavigateUrlFields="CveCuenta" Target="_blank" />
<asp:TemplateField ItemStyle-HorizontalAlign="Left">

View File

@@ -11328,8 +11328,8 @@ Partial Class Compras_Compras
End If
e.Row.FCCheckBox("cbInv").Enabled = False
End If
'que no sea recepcion alamcen adelatnado. DdlOCVinculaInv
If UsuarioActual.Empresa.Funcionalidad(567) = "1" AndAlso DdlOCVinculaInv.SelectedValue <> "176" Then
'que no sea recepcion alamcen adelantado. DdlOCVinculaInv
If (UsuarioActual.Empresa.Funcionalidad(567) = "1" OrElse UsuarioActual.TienePermisoProceso(121)) AndAlso DdlOCVinculaInv.SelectedValue <> "176" Then
If e.Row.FCDropDownList("ddlEAlmacen").Items.Count > 1 Then
e.Row.FCDropDownList("ddlEAlmacen").SelectedIndex = 1
e.Row.FCCheckBox("cbInv").Checked = True
@@ -11462,12 +11462,10 @@ Partial Class Compras_Compras
e.Row.FCDropDownList("ddlAlmacenConsignacionGeneral").DataBind()
'que no sea recepcion almacen adelantado. DdlOCVinculaInv
If UsuarioActual.Empresa.Funcionalidad(567) = "1" AndAlso DdlOCVinculaInv.SelectedValue <> "176" Then
If (UsuarioActual.Empresa.Funcionalidad(567) = "1" OrElse UsuarioActual.TienePermisoProceso(121)) AndAlso DdlOCVinculaInv.SelectedValue <> "176" Then
If e.Row.FCDropDownList("ddlAlmacen").Items.Count > 1 Then
e.Row.FCDropDownList("ddlAlmacen").SelectedIndex = 1
e.Row.FCCheckBox("cbAll").Checked = True
cbAll_CheckedChanged(e.Row.FCCheckBox("cbAll"), Nothing)
ddlAlmacen_SelectedIndexChanged(e.Row.FCDropDownList("ddlAlmacen"), Nothing)
End If
End If
End If
@@ -14893,7 +14891,7 @@ Partial Class Compras_Compras
End If
Next
If TextoErrorOC <> "" Then
Alert($"Las siguientes Ordenes de Compra no se pudieron vincular automaticamente: <br/>{TextoErrorOC} <br/><br/> Sera necesario vincular de manera manual mediante busqueda (lupia).", TipoMensaje.MsgAdvertencia)
Alert($"Las siguientes Ordenes de Compra no se pudieron vincular automaticamente: <br/>{TextoErrorOC} <br/><br/> Sera necesario vincular de manera manual mediante busqueda (lupita).", TipoMensaje.MsgAdvertencia)
TxtOC.Text = ""
Exit Sub
End If

View File

@@ -30,6 +30,17 @@ Partial Class PopUpVerFactura
ViewState("DtDetalle") = value
End Set
End Property
Public Property DTPrePoliza() As DataTable
Get
Return DirectCast(IfNull(ViewState("DTPrePoliza"), New DataTable, ViewState("DTPrePoliza")), DataTable)
End Get
Set(value As DataTable)
ViewState("DTPrePoliza") = value
End Set
End Property
Public Property Opcion As String
Get
Return CType(ViewState("Opcion"), String)
@@ -2776,6 +2787,7 @@ Partial Class PopUpVerFactura
Dim ResponsableCarga As String = ObjInventarios.ResponsableCarga
Dim ResponsableRecibio As String = ObjInventarios.ResponsableRecibio
Dim UsuarioCapturo As String = ObjInventarios.DtResultados.FiltroPrimeroValor("UsuarioCapturo")
Dim CvePrePoliza As Integer = ObjInventarios.DtResultados.FiltroPrimeroValor("CvePrePoliza").ToEntero
Dim Ruta As String = ""
@@ -2921,6 +2933,18 @@ Partial Class PopUpVerFactura
keys(0) = DtMovimientos.Columns("No")
DtMovimientos.PrimaryKey = keys
End If
If CvePrePoliza > 0 Then
Dim objConta As New ClsContabilidad
If objConta.GetPrePolizasDetalle(CvePrePoliza, UsuarioActual.CveEmpresa) AndAlso objConta.DtResultados.Rows.Count > 0 Then
'DtDetalle = objConta.DtResultados.FiltraParametros("Contabilizable = 1", "Orden")
DTPrePoliza = objConta.DtResultados.FiltraParametros("Contabilizable = 1", "Orden")
End If
objConta.Dispose()
End If
End If
End If
@@ -3080,13 +3104,16 @@ Partial Class PopUpVerFactura
params.Add(New ReportParameter("Observaciones", Observaciones))
If UsuarioActual.CveEmpresa.Contiene(186, 189, 193, 189) Then
params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Usuario))
params.Add(New ReportParameter("NombreProveedor", If(CveCompra > 0, dr("RazonSocial").ToString, "")))
Else
DTPrePoliza = Nothing
End If
If UsuarioActual.CveEmpresa.Contiene(72, 80, 193) Then
If UsuarioActual.CveEmpresa.Contiene(72, 80, 193, 186, 189, 193, 189) Then
params.Add(New ReportParameter("NombreProveedor", If(CveCompra > 0, dr("RazonSocial").ToString, "")))
params.Add(New ReportParameter("DireccionProveedor", If(CveCompra > 0, dr("Direccion").ToString, "")))
params.Add(New ReportParameter("RFCProveedor", If(CveCompra > 0, dr("RFC").ToString, "")))
@@ -3105,7 +3132,8 @@ Partial Class PopUpVerFactura
params.Add(New ReportParameter("NombreEntrego", String.Format("ENTREGÓ{0}{1}", vbCrLf, Capturo)))
End If
ImprimirPDF(UsuarioActual.Empresa.Ruta & "Formatos/Entradas.rdlc", DtMovimientos, params, String.Format("Entrada de Almacen - {0}", Folio), RDSName:="DsInventarios")
ImprimirPDF(UsuarioActual.Empresa.Ruta & "Formatos/Entradas.rdlc", DtMovimientos, params, String.Format("Entrada de Almacen - {0}", Folio), RDSName:="DsInventarios", DtDatos2:=DTPrePoliza, RDSName2:="DsPrePoliza")
ElseIf UsuarioActual.CveEmpresa = 140 Then
params.Add(New ReportParameter("LogoPath", RutaImagenLogo))

File diff suppressed because it is too large Load Diff

View File

@@ -2349,7 +2349,7 @@ Partial Class General_SaldosIniciales
If TipoDocto.Contiene("Ing", "Egs", "Rem") Then
GuardaLog(Serie & "-" & Folio)
If Not ObjVentas.AddVenta(TipoDocto, Folio, CveCliente.ToEntero(), CveClienteSucursal, SubTotal, 0, Amortizacion, IVA, RetIVA, RetISR, Total, CveMoneda, TipoCambio.ToDouble,
If Not ObjVentas.AddVenta(TipoDocto, Folio, CveCliente.ToEntero(), CveClienteSucursal, SubTotal, 0, Amortizacion, IVA, RetIVA, RetISR, Total, CveMoneda, TipoCambio.ToDecimal,
0, 0, 0, FechaVencimiento, Fecha, "", "", Fecha, CveVendedor, Folio2, "", "", 0, 0, 0, "-1".ToDate, "-1".ToDate, "-1".ToDate, -1, 0, CvePrePoliza,
UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, Serie:=Serie, CveSubProyecto:=Sucursal.ToEntero(), CveSubProyectoEjecucion:=Sucursal.ToEntero(),
CveSubProyectoCobranza:=Sucursal.ToEntero(), IEPS:=IEPS, ObservacionesAlmacen:=Transaccion, Entrega:=CodCliente, ImpuestoLocal:=ImpuestoLocal,
@@ -2691,7 +2691,7 @@ Partial Class General_SaldosIniciales
If TipoDocto.Contiene("Ing", "Egs", "Rem") Then
GuardaLog(Serie & "-" & Folio)
If Not EsDetalle Then
If Not ObjVentas.AddVenta(TipoDocto, Folio, CveCliente.ToEntero(), CveClienteSucursal, SubTotal, 0, Amortizacion, IVA, RetIVA, RetISR, Total, CveMoneda, TipoCambio.ToDouble,
If Not ObjVentas.AddVenta(TipoDocto, Folio, CveCliente.ToEntero(), CveClienteSucursal, SubTotal, 0, Amortizacion, IVA, RetIVA, RetISR, Total, CveMoneda, TipoCambio.ToDecimal,
0, 0, 0, FechaVencimiento, Fecha, "", "", Fecha, CveVendedor, Folio2, "", "", 0, 0, 0, "-1".ToDate, "-1".ToDate, "-1".ToDate, -1, 0, CvePrePoliza,
UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, Serie:=Serie, CveSubProyecto:=Sucursal.ToEntero(), CveSubProyectoEjecucion:=Sucursal.ToEntero(),
CveSubProyectoCobranza:=Sucursal.ToEntero(), IEPS:=IEPS, ObservacionesAlmacen:=Transaccion, Entrega:=CodCliente, ImpuestoLocal:=ImpuestoLocal,

View File

@@ -3448,7 +3448,7 @@ Partial Class Ventas_PortalCliente
Dim CveAlmacenTraspasoOrigen As Integer = -1
Dim CveAlmacenTraspasoDestino As Integer = -1
Dim EsDevolucionVenta = -1
Dim TotalImpuestoLocal As Double = 0
Dim TotalImpuestoLocal As Decimal = 0
factura.CvePrePoliza = ObjConta.AddPrePolizas("PortalC/GuardarVenta", factura.CvePlantillaPoliza, factura.Total, factura.Total, factura.CveMoneda, factura.Fecha, factura.Cliente.Nombre, factura.CveUsuario, factura.CveEmpresa)
If Not ObjVentas.AddVenta(factura.TipoDocto, factura.Folio, factura.CveCliente, factura.CveClienteSucursal, factura.SubTotalTC, factura.DescuentoTC,

View File

@@ -51,7 +51,12 @@
</asp:Panel>
</ContentTemplate>
</asp:UpdatePanel>
<br />
<div class="row" style="margin-right: 10px; margin-top: 18px;" align="right">
<input type="text" id="TxtBusqueda" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GvDatos.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" />
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GvDatos.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
</div>
<asp:UpdatePanel ID="UpDatos" runat="server" UpdateMode="Conditional">

View File

@@ -3682,7 +3682,7 @@ Partial Class PV
ObjFactura.Alfa3 = ""
ObjFactura.Num1 = 0
ObjFactura.Num2 = 0
ObjFactura.Num3 = DdlOrdenPago.SelectedValue.ToDouble
ObjFactura.Num3 = DdlOrdenPago.SelectedValue.ToDecimal
ObjFactura.FechaPago = TxtFechaPago.Text.ToDate
ObjFactura.CveCorte = CveCorte

View File

@@ -104,6 +104,7 @@ Partial Class Ventas_PVCobranza
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
Dim Arr As New ArrayList
'Arr.Add("autorizada")
'If EnviarNotificacionWhatsApp("526621430964", "solicitud_autorizacion_anticipo_respuesta", Arr) Then
@@ -384,26 +385,22 @@ Partial Class Ventas_PVCobranza
If e.Row.DBCampo("CondicionesPago") = "1" Then ' remis de crédito
' si es de crédito debe de estar autorizado.
e.Row.FCLinkButton("BtnPagar").Text = "Crédito"
If e.Row.DBCampo("CveEstatusAutorizacion").Contiene("", "2") Then ' si es vacío,significa que no requirió autorización, si es autorizada
If (e.Row.DBCampo("Bloqueada") = "False") OrElse (e.Row.DBCampo("Bloqueada") = "True" AndAlso e.Row.DBCampo("CveEstatusAutorizacion").Contiene("2")) Then ' si no está bloqueada o si fue bloqueda y autorizada
e.Row.FCLinkButton("BtnPagar").CssClass = "btn btn-xs btn-warning"
e.Row.FCLinkButton("BtnPagar").Enabled = True
Else
e.Row.FCLinkButton("BtnPagar").CssClass = "btn btn-xs btn-danger"
' e.Row.FCLinkButton("BtnPagar").Enabled = False
'e.Row.FCLinkButton("BtnPagar").OnClientClick = "alert('La solicitud de crédito no ha sido autorizada');return false;"
'e.Row.FCLinkButton("BtnPagar").OnClientClick = "bootbox.dialog({message: 'La solicitud de crédito no ha sido autorizada ', className: ' header-yellow ', onEscape: function() { },title: '<i class='fa fa-warning'></i> Advertencia',buttons: { success: { label: '', className: ' hide',callback: function() { } }, danger: { label: '', className: ' hide',callback: function() { } },main: { label: 'Aceptar', className: ' yellow', callback: function() { } } } });return false;"
'e.Row.FCLinkButton("BtnPagar") =
e.Row.FCLinkButton("BtnPagar").Enabled = False
e.Row.FCLinkButton("BtnPagar").OnClientClick =
"bootbox.dialog({" &
"message: 'La solicitud de crédito no ha sido autorizada ', " &
"className: 'header-yellow', " &
"message: 'La solicitud de crédito esta en proceso de autorización ', " &
"className: 'header-red', " &
"onEscape: function() {}, " &
"title: '<i class=""fa fa-warning""></i> Advertencia', " &
"buttons: { " &
"success: { label: '', className: 'hide', callback: function() {} }, " &
"danger: { label: '', className: 'hide', callback: function() {} }, " &
"main: { label: 'Aceptar', className: 'yellow', callback: function() {} } " &
"main: { label: 'Aceptar', className: 'red', callback: function() {} } " &
"} " &
"});" &
"return false;"

View File

@@ -259,7 +259,12 @@ Partial Class Ventas_Promociones
'CARGA SUBPROYECTOS
DdlSubProyecto.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa)
DdlSubProyecto.DataBind()
DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1"))
If EmpresaGrupoDiaz AndAlso PermisoAutorizPromocionPorcentaje Then
DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1"))
End If
DdlVendedor.DataSource = GlobalDTVendedores(UsuarioActual.CveEmpresa)
DdlVendedor.DataBind()

View File

@@ -84,6 +84,10 @@
border-right: none;
}
.DivBusquedaCliente > div > .ADScroller > .ADScroller-body {
overflow-x: hidden !important;
}
.GvEst > tbody > tr > td:nth-child(2) {
padding-left: 36px;
}
@@ -578,11 +582,9 @@
<td colspan="3">
<asp:TextBox ID="TxtDescripcionVenta" runat="server" Rows="2" TextMode="MultiLine" Width="100%" MaxLength="300" CssClass="form-control input-sm" Enabled="false"></asp:TextBox></td>
</tr>
<tr runat="server" id="TrCredito1" visible="false">
<td colspan="2">
</td>
</tr>
<tr runat="server" id="TrCredito1" visible="false">
<td colspan="2"></td>
</tr>
<tr runat="server" id="TrVentasMedicas1" visible="false">
<td><b>Médico:</b></td>
<td>
@@ -1477,7 +1479,7 @@
</ItemTemplate>
</asp:TemplateField>
<%--18--%>
<asp:TemplateField ItemStyle-HorizontalAlign="Center" >
<asp:TemplateField ItemStyle-HorizontalAlign="Center">
<EditItemTemplate>
<div style="width: 85px;">
<asp:LinkButton ID="imgU" runat="server" AlternateText="Actualizar" CausesValidation="True" CommandName="Update" CssClass="btn btn-circle btn-sm green" Text="<i class='fa fa-check'></i>" ValidationGroup="GprGV" />
@@ -8225,6 +8227,7 @@
</div>
<div class="form-group form-md-line-input input-iconright col-xs-3">
<asp:Button ID="BtnValidarRFC" runat="server" CssClass="btn btn-success" Text="Validar" />
<asp:LinkButton ID="BtnRegresarBusqueda" runat="server" CssClass="btn btn-danger" Text="<i class='fas fa-arrow-left'></i>" OnClick="BtnRegresarBusqueda_Click" Visible="false" />
</div>
</asp:Panel>
</div>
@@ -8233,11 +8236,11 @@
<div class="row">
<asp:Panel ID="PnlValidaNombre" runat="server" DefaultButton="BtnValidaPorNombre">
<div class="form-group form-md-line-input input-iconright col-xs-9">
<asp:TextBox ID="TxtRFCNombre" Style="text-transform: uppercase;" placeholder="Ingrese el RFC/Nombre para su validación" runat="server" CssClass="form-control" CausesValidation="true"></asp:TextBox>
<asp:TextBox ID="TxtRFCNombre" placeholder="Ingrese el RFC/Nombre" runat="server" CssClass="form-control" CausesValidation="true"></asp:TextBox>
<label for="<%= TxtRFCNombre.ClientID.ToString()%>">RFC / Nombre:</label>
</div>
<div class="form-group form-md-line-input input-iconright col-xs-3" style="display:flex;">
<asp:Button ID="BtnValidaPorNombre" runat="server" CssClass="btn btn-success" Text="Buscar"/>
<div class="form-group form-md-line-input input-iconright col-xs-3" style="display: flex;">
<asp:Button ID="BtnValidaPorNombre" runat="server" CssClass="btn btn-success" Text="Buscar" />
<asp:LinkButton ID="BtnCrearCliente" runat="server" CssClass="btn btn-primary" Text="<i class='fa fa-plus'></i>" OnClick="BtnCrearCliente_Click" />
</div>
</asp:Panel>
@@ -8256,32 +8259,29 @@
</div>
<div class="row">
<div class="col-md-12">
<div id="DivBusquedaCliente" runat="server" visible="false">
<div style="overflow-y: auto; width: 100%; height: 250px;">
<asp:GridView ID="GvBusquedaCliente" runat="server" AutoGenerateColumns="false" EmptyDataText="No se encontraron registros"
CssClass="ScrollAD table table-smallpadding Widthall" GridLines="None">
<Columns>
<asp:TemplateField ItemStyle-Width="15%">
<HeaderTemplate>Código</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlCodigo" runat="server"></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-CssClass="truncate" ItemStyle-Width="55%">
<HeaderTemplate>Nombre</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlNombre" runat="server"></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-Width="30%">
<HeaderTemplate>RFC</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlRFC" runat="server"></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
<div id="DivBusquedaCliente" runat="server" visible="false" class="DivBusquedaCliente">
<asp:GridView ID="GvBusquedaCliente" runat="server" CssClass="table table-striped table-advance table-hover Widthall ScrollAD" data-sort="true" BorderWidth="1" BorderColor="#D3D3D3" CellSpacing="0" Width="100%" AutoGenerateColumns="False" data-heighterror="800" EmptyDataText="No se encontraron registros" GridLines="None" Style="overflow-x: hidden;">
<Columns>
<asp:TemplateField ItemStyle-Width="15%">
<HeaderTemplate>Código</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlCodigo" runat="server"></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-CssClass="truncate" ItemStyle-Width="55%">
<HeaderTemplate>Nombre</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlNombre" runat="server"></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-Width="30%">
<HeaderTemplate>RFC</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlRFC" runat="server"></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
</div>
</div>
@@ -8825,59 +8825,59 @@
<h4 class="modal-title">Solicitar crédito</h4>
</div>
<div class="modal-body">
<div id="divModalidad2" runat="server" class="row">
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlSolCreditoTipoDocto" runat="server" Width="100%" CssClass="form-control marginFixRow select2me" AutoPostBack="true">
<asp:ListItem Value="Ing" Selected="True" Text="Factura de Ingreso"></asp:ListItem>
</asp:DropDownList>
<label for="<%= DdlSolCreditoTipoDocto.ClientID.ToString()%>">Tipo Documento:</label>
<div id="divModalidad2" runat="server" class="row">
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlSolCreditoTipoDocto" runat="server" Width="100%" CssClass="form-control marginFixRow select2me" AutoPostBack="true">
<asp:ListItem Value="Ing" Selected="True" Text="Factura de Ingreso"></asp:ListItem>
</asp:DropDownList>
<label for="<%= DdlSolCreditoTipoDocto.ClientID.ToString()%>">Tipo Documento:</label>
</div>
<div id="DivAutorizacion" runat="server" class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlTipoAutorizacion" runat="server" Width="100%" CssClass="form-control marginFixRow select2me" AutoPostBack="true">
<asp:ListItem Selected="True" Value="-1" Text="Seleccione"></asp:ListItem>
<asp:ListItem Value="1" Text="Importe"></asp:ListItem>
<asp:ListItem Value="2" Text="Vencimiento"></asp:ListItem>
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RFVTipoAut" runat="server" CssClass="help-block errorimput" InitialValue="-1" ControlToValidate="DdlTipoAutorizacion" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Tipo''</b> es necesario, por favor ingréselo." ValidationGroup="VgmGuardarAut"></asp:RequiredFieldValidator>
<label for="<%= DdlTipoAutorizacion.ClientID.ToString()%>">Tipo Autorización:</label>
</div>
<div id="DivDiasVencidos" runat="server" visible="false" class="row">
<label class="col-md-2 truncate">Días Vencidos:</label>
<div class="col-md-10">
<asp:TextBox ID="TxtDiasVencidos" Text="" runat="server" />
<ajax:FilteredTextBoxExtender ID="FTBDiasVencidos" runat="server" TargetControlID="TxtDiasVencidos" FilterType="Custom, Numbers" />
<asp:RequiredFieldValidator ID="RFVDiasVencidos" runat="server" ControlToValidate="TxtDiasVencidos" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Días Vencidos''</b> es necesario, por favor ingréselo." ValidationGroup="VgmGuardarAut"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCEDiasVencidos" runat="server" HighlightCssClass="vco" TargetControlID="RFVDiasVencidos" Width="350px"></ajax:ValidatorCalloutExtender>
<asp:RequiredFieldValidator ID="RFVDiasVencidos2" runat="server" ControlToValidate="TxtDiasVencidos" Display="None" InitialValue="0" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El valor del campo <b>''Días Vencidos''</b> debe ser mayor a 0." ValidationGroup="VgmGuardarAut"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCEDiasVencidos2" runat="server" HighlightCssClass="vco" TargetControlID="RFVDiasVencidos2" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
<div id="DivAutorizacion" runat="server" class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlTipoAutorizacion" runat="server" Width="100%" CssClass="form-control marginFixRow select2me" AutoPostBack="true">
<asp:ListItem Selected="True" Value="-1" Text="Seleccione"></asp:ListItem>
<asp:ListItem Value="1" Text="Importe"></asp:ListItem>
<asp:ListItem Value="2" Text="Vencimiento"></asp:ListItem>
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RFVTipoAut" runat="server" CssClass="help-block errorimput" InitialValue="-1" ControlToValidate="DdlTipoAutorizacion" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Tipo''</b> es necesario, por favor ingréselo." ValidationGroup="VgmGuardarAut"></asp:RequiredFieldValidator>
<label for="<%= DdlTipoAutorizacion.ClientID.ToString()%>">Tipo Autorización:</label>
</div>
<div id="DivDiasVencidos" runat="server" visible="false" class="row">
<label class="col-md-2 truncate">Días Vencidos:</label>
<div class="col-md-10">
<asp:TextBox ID="TxtDiasVencidos" Text="" runat="server" />
<ajax:FilteredTextBoxExtender ID="FTBDiasVencidos" runat="server" TargetControlID="TxtDiasVencidos" FilterType="Custom, Numbers" />
<asp:RequiredFieldValidator ID="RFVDiasVencidos" runat="server" ControlToValidate="TxtDiasVencidos" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Días Vencidos''</b> es necesario, por favor ingréselo." ValidationGroup="VgmGuardarAut"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCEDiasVencidos" runat="server" HighlightCssClass="vco" TargetControlID="RFVDiasVencidos" Width="350px"></ajax:ValidatorCalloutExtender>
<asp:RequiredFieldValidator ID="RFVDiasVencidos2" runat="server" ControlToValidate="TxtDiasVencidos" Display="None" InitialValue="0" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El valor del campo <b>''Días Vencidos''</b> debe ser mayor a 0." ValidationGroup="VgmGuardarAut"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCEDiasVencidos2" runat="server" HighlightCssClass="vco" TargetControlID="RFVDiasVencidos2" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
<div id="DivImporteSolicitud" runat="server" class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtImporteSolicitud" inputmode="numeric" runat="server" CausesValidation="true" lang="nb" ClientIDMode="Static" Text="0.00" MaxLength="12" ValidationGroup="VgmGuardarAut" Width="200px" CssClass="form-control "></asp:TextBox>
<ajax:FilteredTextBoxExtender ID="FTBImporteSolicitud" runat="server" TargetControlID="TxtImporteSolicitud" FilterType="Custom, Numbers" ValidChars="." />
<asp:RequiredFieldValidator ID="RFVImporteSolicitud" runat="server" ControlToValidate="TxtImporteSolicitud" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Importe''</b> es necesario, por favor ingréselo." ValidationGroup="VgmGuardarAut"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender6" runat="server" HighlightCssClass="vco" TargetControlID="RFVImporteSolicitud" Width="300px"></ajax:ValidatorCalloutExtender>
<asp:CustomValidator ID="CVImporteSolcitud" runat="server" ClientValidationFunction="ValidaDecimal6digits" ControlToValidate="TxtImporteSolicitud" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Importe''</b> no tiene el formato correcto. Por favor rectifique y vuelva a intentar." ValidateEmptyText="True" ValidationGroup="VgmGuardarAut"></asp:CustomValidator>
<ajax:ValidatorCalloutExtender ID="VCEImporteSolicitud" runat="server" HighlightCssClass="vco" TargetControlID="CVImporteSolcitud" Width="300px"></ajax:ValidatorCalloutExtender>
<label for="<%= TxtImporteSolicitud.ClientID.ToString()%>">Importe:</label>
</div>
<div id="DivMotivoAutorizacion" runat="server" visible="false" class="row">
<div class="col-md-12">
<div class="row">
<label class="col-md-3 truncate" style="color: #888888; font-family: 'Open Sans', sans-serif; direction: ltr; font-size: 12px;">Motivo:</label>
</div>
</div>
<div id="DivImporteSolicitud" runat="server" class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtImporteSolicitud" inputmode="numeric" runat="server" CausesValidation="true" lang="nb" ClientIDMode="Static" Text="0.00" MaxLength="12" ValidationGroup="VgmGuardarAut" Width="200px" CssClass="form-control "></asp:TextBox>
<ajax:FilteredTextBoxExtender ID="FTBImporteSolicitud" runat="server" TargetControlID="TxtImporteSolicitud" FilterType="Custom, Numbers" ValidChars="." />
<asp:RequiredFieldValidator ID="RFVImporteSolicitud" runat="server" ControlToValidate="TxtImporteSolicitud" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Importe''</b> es necesario, por favor ingréselo." ValidationGroup="VgmGuardarAut"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender6" runat="server" HighlightCssClass="vco" TargetControlID="RFVImporteSolicitud" Width="300px"></ajax:ValidatorCalloutExtender>
<asp:CustomValidator ID="CVImporteSolcitud" runat="server" ClientValidationFunction="ValidaDecimal6digits" ControlToValidate="TxtImporteSolicitud" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Importe''</b> no tiene el formato correcto. Por favor rectifique y vuelva a intentar." ValidateEmptyText="True" ValidationGroup="VgmGuardarAut"></asp:CustomValidator>
<ajax:ValidatorCalloutExtender ID="VCEImporteSolicitud" runat="server" HighlightCssClass="vco" TargetControlID="CVImporteSolcitud" Width="300px"></ajax:ValidatorCalloutExtender>
<label for="<%= TxtImporteSolicitud.ClientID.ToString()%>">Importe:</label>
</div>
<div id="DivMotivoAutorizacion" runat="server" visible="false" class="row">
<div class="col-md-12">
<div class="row">
<label class="col-md-3 truncate" style="color: #888888; font-family: 'Open Sans', sans-serif; direction: ltr; font-size: 12px;">Motivo:</label>
</div>
<div class="row">
<div class="col-md-12">
<asp:TextBox ID="TxtMotivoAutorizacion" CssClass="form-control input-sm" runat="server" Rows="2" TextMode="MultiLine" Width="100%" MaxLength="50"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVMotivo" runat="server" ControlToValidate="TxtMotivoAutorizacion" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Motivo''</b> es necesario, por favor ingréselo." ValidationGroup="VgmGuardarAut"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCEMotivo" runat="server" HighlightCssClass="vco" TargetControlID="RFVMotivo" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
<div class="row">
<div class="col-md-12">
<asp:TextBox ID="TxtMotivoAutorizacion" CssClass="form-control input-sm" runat="server" Rows="2" TextMode="MultiLine" Width="100%" MaxLength="50"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVMotivo" runat="server" ControlToValidate="TxtMotivoAutorizacion" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Motivo''</b> es necesario, por favor ingréselo." ValidationGroup="VgmGuardarAut"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCEMotivo" runat="server" HighlightCssClass="vco" TargetControlID="RFVMotivo" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
</div>
</div>
</div>
</div>
<div id="divModalidad3" runat="server" class="row" visible="false">
&nbsp;<asp:CheckBox ID="ChkSolicitudAutorizacionCredito" runat="server" Text="Solicitar autorización crédito" />
<div id="divModalidad3" runat="server" class="row" visible="false">
&nbsp;<asp:CheckBox ID="ChkSolicitudAutorizacionCredito" runat="server" Text="Solicitar autorización crédito" />
</div>
</div>
<div class="modal-footer">

View File

@@ -2449,6 +2449,7 @@ Partial Class Ventas
Opcion = ""
Index = 0
TotAnt = 0
Bloqueada = False
'CargoComercioExterior = False
DdlBPPS.setEsWebService(True)
DdlBPPS.ddlWS.Attributes.Add("data-clear", "1")
@@ -7714,7 +7715,7 @@ Partial Class Ventas
Dim ValorAutorizacion As String = UsuarioActual.Empresa.Funcionalidad(595)
'solo para bdh, que se generen NC
If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then DdlSolCreditoTipoDocto.Items.Add(New ListItem("Nota de crédito", "Egs"))
Me.Bloqueada = False
'OBLIGAR PAGO DE CONTADO SI EL CLIENTE NO PERMITE CREDITO
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"
@@ -9138,7 +9139,7 @@ Partial Class Ventas
Dim DrProducto = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CvePS:=CvePSNuevo).FiltroPrimero("")
If Not ValidaAgregarPS(Cantidad, CvePSNuevo, DdlUM.SelectedValue.ToEntero(), PU, DrProducto("CveTipoPS").ToString().ToEntero(), DdlCla.SelectedValue.ToEntero(), DdlSP.SelectedValue.ToEntero(), ObjDescuento) Then
If Not ValidaAgregarPS(Cantidad, CvePSNuevo, DdlUM.SelectedValue.ToEntero(), PU, DrProducto("CveTipoPS").ToString().ToEntero(), DdlCla.SelectedValue.ToEntero(), DdlSP.SelectedValue.ToEntero(), ObjDescuento, CantidadOriginal:=CantidadOriginal) Then
Exit Sub
End If
@@ -19336,7 +19337,7 @@ Partial Class Ventas
Protected Sub LbAgregar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles LbAgregar.Click
AgregarPS()
End Sub
Private Function ValidaAgregarPS(Cantidad As Decimal, CvePS As Integer, CveUM As Integer, PU As Double, CveTipoPS As Integer, CveClasificacion As Integer, CveSubProyecto As Integer, ObjDescuento As Modelos.VentaDescuentos, Optional CantidadModal As Decimal = 0D, Optional PSValidarModal As String = "") As Boolean 'NO TOCAR - IPP
Private Function ValidaAgregarPS(Cantidad As Decimal, CvePS As Integer, CveUM As Integer, PU As Double, CveTipoPS As Integer, CveClasificacion As Integer, CveSubProyecto As Integer, ObjDescuento As Modelos.VentaDescuentos, Optional CantidadModal As Decimal = 0D, Optional PSValidarModal As String = "", Optional CantidadOriginal As Decimal = 0D) As Boolean 'NO TOCAR - IPP
'VALIDA PARAMETROS
If CvePS <= 0 Or CveUM <= 0 Then
@@ -19480,6 +19481,13 @@ Partial Class Ventas
Dim ValidaExistencia As Boolean = (DdlTipoComprobante.SelectedValue <> "Cot" And ChkSinExistencia.Checked = False) Or UsuarioActual.Empresa.Funcionalidad(578).ToEntero = 1
If CantidadOriginal > 0 Then
'SI NO HAY CAMBIOS EN LAS CANTIDADES, NO VALIDAR EXISTENCIA
If CantidadOriginal = Cantidad Then
ValidaExistencia = False
End If
End If
If ValidaExistencia Then
'VALIDA EXISTENCIA
@@ -25080,6 +25088,11 @@ Partial Class Ventas
End Sub
Private Sub LnkAgregarCliente_Click(sender As Object, e As EventArgs) Handles LnkAgregarCliente.Click
LimpiarAgregarCliente()
RegistraScript("showDivEC();")
End Sub
Private Sub LimpiarAgregarCliente()
DivNombreCliente.Visible = False
DivTipoPersona.Visible = False
DivDireccionCliente.Visible = False
@@ -25094,6 +25107,7 @@ Partial Class Ventas
divRegimenCliente.Visible = False
divGiro.Visible = False
DivBusquedaCliente.Visible = False
BtnRegresarBusqueda.Visible = False
CargaEstados()
@@ -25111,8 +25125,9 @@ Partial Class Ventas
TxtCorreoCliente.Text = ""
TxtTelefonoCliente.Text = ""
If UsuarioActual.CveEmpresa = 189 Then
If UsuarioActual.Empresa.Funcionalidad(382) = "1" Then
TxtRFCNombre.Text = ""
BtnCrearCliente.Visible = True
DivValidaRFC.Visible = False
DivValidaPorNombre.Visible = True
@@ -25127,8 +25142,6 @@ Partial Class Ventas
End If
UpAgregarCliente.Update()
RegistraScript("showDivEC();")
End Sub
Protected Sub GvBusquedaCliente_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvBusquedaCliente.RowDataBound
@@ -25145,6 +25158,12 @@ Partial Class Ventas
End Sub
Private Sub BtnValidaPorNombre_Click(sender As Object, e As EventArgs) Handles BtnValidaPorNombre.Click
If TxtRFCNombre.Text.Length <= 2 Then
Alert("Debe escribir al menos 3 caracteres", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
Dim ObjCliente As New ClsClientes
If ObjCliente.BuscarClienteRFCNombre(TxtRFCNombre.Text, UsuarioActual.CveEmpresa) Then
If ObjCliente.DtResultados.Rows.Count = 1 AndAlso TxtRFCNombre.Text.Trim() <> "XAXX010101000" Then
@@ -25270,6 +25289,8 @@ Partial Class Ventas
TxtDireccionCliente.Text = DrSP("Calle").ToString()
TxtNumExtCliente.Text = DrSP("NoExt").ToString()
TxtNumIntCliente.Text = DrSP("NoInt").ToString()
TxtCorreoCliente.Text = DrSP("Correo").ToString()
TxtTelefonoCliente.Text = DrSP("Telefono").ToString()
End If
@@ -25299,6 +25320,12 @@ Partial Class Ventas
End If
DdlUsoCFDICliente.SelectedValueExist("3")
BtnCrearCliente.Visible = False
BtnValidarRFC.Visible = False
BtnRegresarBusqueda.Visible = True
UpAgregarCliente.Update()
End If
End Sub
@@ -37493,9 +37520,26 @@ Partial Class Ventas
DdlRegimenFiscalCliente.Items.Insert(0, New ListItem("Seleccione", "-1"))
'DdlUsoCFDICliente.Items.Clear()
'DdlUsoCFDICliente.Items.Insert(0, New ListItem("Seleccione", "-1"))
CargaComboCFDICliente()
If UsuarioActual.Empresa.Funcionalidad(382) = "1" Then
'PERSONA MORAL
If RdTipoPersona.SelectedValue = "1" Then
DdlRegimenFiscalCliente.SelectedValueExist("1")
DdlRegimenFiscalCliente_SelectedIndexChanged(Nothing, EventArgs.Empty)
'PERSONA FISICA
Else
If TxtRFCCliente.Text.Trim() = "XAXX010101000" Then
DdlRegimenFiscalCliente.SelectedValueExist("11")
Else
DdlRegimenFiscalCliente.SelectedValueExist("9")
End If
DdlRegimenFiscalCliente_SelectedIndexChanged(Nothing, EventArgs.Empty)
End If
DdlUsoCFDICliente.SelectedValueExist("3")
Else
CargaComboCFDICliente()
End If
UpAgregarCliente.Update()
End Sub
@@ -40127,5 +40171,9 @@ Partial Class Ventas
Private Function EsRFC(texto As String) As Boolean
Return Regex.IsMatch(texto, "^[a-zñA-ZÑ.)(/\\&-]{3,4}(\d{6})((\D|\d){2})((\D|\d){1})$")
End Function
Protected Sub BtnRegresarBusqueda_Click(sender As Object, e As EventArgs)
LimpiarAgregarCliente()
End Sub
End Class

View File

@@ -318,9 +318,9 @@ Public Class WS_PuntoVenta
Public Alfa1 As String
Public Alfa2 As String
Public Alfa3 As String
Public Num1 As Double
Public Num2 As Double
Public Num3 As Double
Public Num1 As Decimal
Public Num2 As Decimal
Public Num3 As Decimal
Public Fech1 As String
Public Fech2 As String
Public Fech3 As String