This commit is contained in:
2024-03-22 09:56:01 -07:00
25 changed files with 3619 additions and 2940 deletions

View File

@@ -9279,7 +9279,7 @@ Public Class ClsPaginas
#End Region
#Region "P A G O D E V E N T A S "
Public Shared Function AplicaPrePolizaPagoVenta(VentaActual As Venta, Pago As VentaPago, CvePrePoliza As Integer, ByRef ObjConta As ClsContabilidad) As Boolean
Public Shared Function AplicaPrePolizaPagoVenta(VentaActual As Venta, Pago As VentaPago, CvePrePoliza As Integer, ByRef ObjConta As ClsContabilidad, Optional AplicarConceptoAplicacion As Boolean = True) As Boolean
Dim ErrorMovtos As Boolean = False
Dim PorcentajePago As Decimal = Pago.ImportePagoVenta / VentaActual.Total
Dim ImporteMovimiento As Decimal = 0
@@ -9401,7 +9401,7 @@ Public Class ClsPaginas
End If
'concepto pago
If Pago.TipoPago = "B" AndAlso Not ErrorMovtos Then ' B A N C O S
If Pago.TipoPago = "B" AndAlso Not ErrorMovtos AndAlso AplicarConceptoAplicacion Then ' B A N C O S
Concepto = String.Format("{0} NC:{1}", VentaActual.ClienteNombre, Pago.Referencia)
If Pago.CveMonedaPago > 1 Then
'Agregamos la Extranjera
@@ -9413,7 +9413,7 @@ Public Class ClsPaginas
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Pago.ImportePago, Pago.ImportePago, 30, Pago.Referencia, Concepto, CveVenta:=Pago.CveVentaAmortizacion, CveVentaAmortizacion:=VentaActual.CveVenta, CveCliente:=VentaActual.CveCliente, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal) Then ErrorMovtos = True
End If
End If
If Pago.TipoPago = "A" AndAlso Not ErrorMovtos Then ' A N T I C I P O
If Pago.TipoPago = "A" AndAlso Not ErrorMovtos AndAlso AplicarConceptoAplicacion Then ' A N T I C I P O
Concepto = String.Format("{0} Ant:{1}", VentaActual.ClienteNombre, Pago.Referencia)
Dim Ret As New ConceptosRetenciones
'Dim ConPreP As ConceptosTipoSaldo = ObtenerCveConceptoPrePoliza(6, VentaActual.CveMoneda, True, 1)
@@ -9427,7 +9427,7 @@ Public Class ClsPaginas
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Pago.ImportePago, Pago.ImportePago, 11, Pago.Referencia, Concepto, CveVenta:=Pago.CveVentaAmortizacion, CveCliente:=VentaActual.CveCliente, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, TipoCambioPago:=Pago.TCPago) Then ErrorMovtos = True
End If
End If
If Pago.TipoPago = "NC" AndAlso Not ErrorMovtos Then ' N O T A D E C R E D I T O
If Pago.TipoPago = "NC" AndAlso Not ErrorMovtos AndAlso AplicarConceptoAplicacion Then ' N O T A D E C R E D I T O
Concepto = String.Format("{0} NC:{1}", VentaActual.ClienteNombre, Pago.Referencia)
Dim Ret As New ConceptosRetenciones
Dim ConPrePNC As ConceptosTipoSaldo = ObtenerCveConceptoPrePoliza(6, Pago.CveMonedaPago, True, 2)
@@ -9441,7 +9441,7 @@ Public Class ClsPaginas
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Pago.ImportePago, Pago.ImportePago, ConPrePNC.CveConcepto, Pago.Referencia, Concepto, CveVenta:=Pago.CveVentaAmortizacion, CveVentaAmortizacion:=VentaActual.CveVenta, CveCliente:=VentaActual.CveCliente, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal) Then ErrorMovtos = True
End If
End If
If Pago.TipoPago = "I" AndAlso Not ErrorMovtos Then ' I N G R E S O S X C O M P R O B A R
If Pago.TipoPago = "I" AndAlso Not ErrorMovtos AndAlso AplicarConceptoAplicacion Then ' I N G R E S O S X C O M P R O B A R
Concepto = String.Format("{0} IxC:{1}", VentaActual.ClienteNombre, Pago.Referencia)
Dim Ret As New ConceptosRetenciones
If VentaActual.UsuarioActual.Empresa.TipoContabilidad = 2 Then
@@ -10609,7 +10609,7 @@ Public Class ClsPaginas
PaginaDict.Add("/RH/RepDocumentacionVencida.aspx".ToUpper(), 412)
PaginaDict.Add("/RH/CatSubProyectosZonas.aspx".ToUpper(), 421)
PaginaDict.Add("/RH/RepVacaciones.aspx".ToUpper(), 422)
PaginaDict.Add("/RH/CatChecadorTipo.aspx".ToUpper(), 427)
'PaginaDict.Add("/RH/CatChecadorTipo.aspx".ToUpper(), 427)
PaginaDict.Add("/RH/CatChecadorHorarios.aspx".ToUpper(), 428)
PaginaDict.Add("/RH/RepChecadorPreAsistencia.aspx".ToUpper(), 628)
PaginaDict.Add("/RH/CatCaptaciones.aspx".ToUpper(), 629)

View File

@@ -648,6 +648,27 @@ Public Class ClsProductosServicios
Return Retorno
End Function
Public Function UpdatePSImagen(CvePS As Integer, Imagen As String) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Vta_PSImagenUpdate")
With SqlAdapter.SelectCommand.Parameters
.Add("@CvePS", SqlDbType.Int).Value = CvePS
.Add("@Imagen", SqlDbType.VarChar).Value = Imagen
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al guardar la imagen del producto.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
Return Retorno
End Function
Public Function UpdatePS(CveClasificacion As Integer, CveClasificacionCosto As Integer, CveUnidadMedida As Integer, Codigo As String, NumeroParte As String, CodigoBarras As String, PS As String, Precio As Double, IVA As Double, RetIVA As Double, Inventariable As Boolean, CveProveedorCompra As Integer,
AplicaParaConcepto As Boolean, AplicaParaVenta As Boolean, Estado As Boolean, CveUsuario As Integer, CvePS As Integer, CveMetodoInventario As Integer, EsPaquete As Integer, CveSATPS As Integer, CveEmpresa As Integer, Optional CveTipoPS As Integer = -1, Optional TipoServicio As Integer = -1,
Optional CveClasificacion2 As Integer = -1, Optional CveMarca As Integer = -1, Optional AlmacenSeccion As String = "", Optional AplicaIEPS As Boolean = False, Optional IEPSPorcentaje As Decimal = -1,

View File

@@ -7442,44 +7442,6 @@ Public Class ClsRH
Return Retorno
End Function
Public Function AddRemoveChecadoresSubProyectos(CveChecador As Integer, CveSubProyecto As Integer, CveUsuario As Integer, Agreagar As Boolean) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_RH_ChecadorSubProyectosAddRemove")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveChecador", SqlDbType.Int).Value = CveChecador
.Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto
.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
.Add("@Agreagar", SqlDbType.Bit).Value = Agreagar
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al agregar el sub proyecto", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return Retorno
End Function
Public Function GetChecadoresSubProyectos(CveChecador As Integer, CveEmpresa As Integer) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_RH_ChecadorSubProyectosGet")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveChecador", SqlDbType.Int).Value = CveChecador
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al obteger los sub proyecto", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return Retorno
End Function
#End Region
#Region " A C T I V I D A D E S"

View File

@@ -4097,6 +4097,49 @@ Namespace Modelos
ErrorList.Add("No se pueden facturar las remisiones, con ese tipo de comprobante seleccionado")
Else
If ObjFactura.RemisionesLista.Count > 0 Then
'CANCELACION DE PAGOS DE REMISIONES
If ObjFactura.DtPagosFacturaGlobal IsNot Nothing Then
For Each DrPago As DataRow In ObjFactura.DtPagosFacturaGlobal.Rows
Dim ventaRef As ClsPaginas.Venta = Nothing
Using ObjFacturaRef As New Modelos.Factura(UsuarioActual, DrPago("CveVenta").ToString().ToEntero(), UsuarioActual.CveEmpresa, CargaDTDetalle:=False, VerificaAlmacen:=False, CargaDatosCliente:=False, CargaDatosRelacionados:=False)
ventaRef = New ClsPaginas.Venta(ObjFacturaRef, UsuarioActual)
End Using
If ventaRef IsNot Nothing Then
Dim Importe As Decimal = DrPago("Importe").ToString().ToDecimal() * -1
Dim Pago As New ClsPaginas.VentaPago
Pago.Fecha = Now
Pago.FechaDocumentoRelacionado = DrPago("FechaDocumento").ToString().ToDate
Pago.ImportePagoVenta = Importe
Pago.ImportePago = Importe
Pago.CveIE = DrPago("CveIE").ToString().ToEntero()
Pago.CveMonedaPago = DrPago("CveMoneda").ToString().ToEntero()
Pago.TCPago = DrPago("TipoCambio").ToString().ToDecimal()
Pago.AplicaTraslado = False
Pago.Referencia = DrPago("Folio").ToString()
Pago.CveVentaAmortizacion = -1
If DrPago("TipoPago").ToString() = "NC" Then
Pago.TipoPago = "NC"
Else
Pago.TipoPago = "B"
End If
ErrorPrepoliza = ClsPaginas.AplicaPrePolizaPagoVenta(ventaRef, Pago, ObjFactura.CvePrePoliza, ObjConta, AplicarConceptoAplicacion:=False)
Else
ErrorPrepoliza = True
End If
If ErrorPrepoliza Then
Exit For
End If
Next
End If
For Each CveRemision As Integer In RemisionesLista
If Not ObjConta.TraspasarSaldosRemision(CveRemision, ObjFactura.CvePrePoliza, ObjFactura.CveVenta) Then
ErrorPrepoliza = True
@@ -4115,6 +4158,42 @@ Namespace Modelos
Exit For
End If
Next
'TRASPASO DE PAGOS DE REMISIONES A FACTURA GLOBAL
If ObjFactura.DtPagosFacturaGlobal IsNot Nothing Then
Dim VentaActual As New ClsPaginas.Venta(ObjFactura, UsuarioActual)
For Each DrPago As DataRow In ObjFactura.DtPagosFacturaGlobal.Rows
Dim Importe As Decimal = DrPago("Importe").ToString().ToDecimal()
Dim Pago As New ClsPaginas.VentaPago
Pago.Fecha = Now
Pago.FechaDocumentoRelacionado = DrPago("FechaDocumento").ToString().ToDate
Pago.ImportePagoVenta = Importe
Pago.ImportePago = Importe
Pago.CveIE = DrPago("CveIE").ToString().ToEntero()
Pago.CveMonedaPago = DrPago("CveMoneda").ToString().ToEntero()
Pago.TCPago = DrPago("TipoCambio").ToString().ToDecimal()
Pago.AplicaTraslado = False
Pago.Referencia = DrPago("Folio").ToString()
Pago.CveVentaAmortizacion = DrPago("CveVenta").ToString().ToEntero()
If DrPago("TipoPago").ToString() = "NC" Then
Pago.TipoPago = "NC"
Else
Pago.TipoPago = "B"
End If
ErrorPrepoliza = ClsPaginas.AplicaPrePolizaPagoVenta(VentaActual, Pago, ObjFactura.CvePrePoliza, ObjConta, AplicarConceptoAplicacion:=False)
If ErrorPrepoliza Then
Exit For
End If
Next
End If
End If
End If
End If
@@ -4125,6 +4204,7 @@ Namespace Modelos
End If
End If
'REGRESA SALDO A LAS REMISIONES QUE SE FACTURARON EN EL INGRESO QUE SE ESTA CANCELANDO
'SE DEBE DE EXCLUIR CUANDO ES REFACTURACIÓN
If ObjFactura.TipoDocto = "Ing" And ValorMultiplicador = -1 AndAlso CveEstatusRefacturacion = 0 AndAlso Not SeCancelaRemisionProceso AndAlso DtRemisionesRelacionadas IsNot Nothing Then ' se debe de excluir cuando es refacturación
@@ -7396,6 +7476,7 @@ Namespace Modelos
Public Property DtPromociones As Data.DataTable
Public Property DtImpuestosLocales As Data.DataTable
Public Property DtPagos As Data.DataTable
Public Property DtPagosFacturaGlobal As Data.DataTable
Public Property DtRemisionesPS As Data.DataTable
Public Property DtRemisiones As Data.DataTable
Public Property DtPedidos2 As Data.DataTable

View File

@@ -1202,7 +1202,8 @@
<asp:UpdatePanel ID="UpInv" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="GvInv" runat="server" DataKeyNames="Total,PU,Cantidad,CvePS" AutoGenerateColumns="false" GridLines="None" EmptyDataText="Aun no hay registros." ShowHeaderWhenEmpty="True" CssClass="table table-striped table-hover Widthall mysmallbtn" Visible="false">
<asp:GridView ID="GvInv" runat="server" DataKeyNames="Total,PU,Cantidad,CvePS,PUProntoPago,TotalProntoPago" AutoGenerateColumns="false" GridLines="None" EmptyDataText="Aun no hay registros."
ShowHeaderWhenEmpty="True" CssClass="table table-striped table-hover Widthall mysmallbtn" Visible="false">
<Columns>
<asp:TemplateField ItemStyle-Width="5%" ItemStyle-HorizontalAlign="Center">
<HeaderTemplate>

View File

@@ -1117,6 +1117,49 @@ Partial Class Compras_Compras
End Set
End Property
''' <summary>
''' Descuento por pronto pago proveedor
''' </summary>
''' <returns>Porcentaje de descuento de proveedor</returns>
Private Property PorcentajeProntoPago As Decimal
Get
If ViewState("PorcentajeProntoPago") Is Nothing Then
ViewState("PorcentajeProntoPago") = 0D
End If
Return ViewState("PorcentajeProntoPago").ToString.ToDecimal
End Get
Set(value As Decimal)
ViewState("PorcentajeProntoPago") = value
End Set
End Property
Private Property ImporteRemNC As Decimal
Get
If ViewState("ImporteRemNC") Is Nothing Then
ViewState("ImporteRemNC") = 0D
End If
Return ViewState("ImporteRemNC").ToString.ToDecimal
End Get
Set(value As Decimal)
ViewState("ImporteRemNC") = value
End Set
End Property
Private Property ImporteRemNCProntoPago As Decimal
Get
If ViewState("ImporteRemNCProntoPago") Is Nothing Then
ViewState("ImporteRemNCProntoPago") = 0D
End If
Return ViewState("ImporteRemNCProntoPago").ToString.ToDecimal
End Get
Set(value As Decimal)
ViewState("ImporteRemNCProntoPago") = value
End Set
End Property
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
'ImgBtnBuscarOC.Attributes.Add("data-toggle", "tooltip")
@@ -3280,6 +3323,8 @@ Partial Class Compras_Compras
Private Sub CargaProveedor(CveProveedor As Integer, RFC As String, Optional RecargaCombo As Boolean = True)
PorcentajeProntoPago = 0D
Dim ObjProveedor As New ClsCompProveedores()
If ObjProveedor.GetProveedores(ClsCompProveedores.TipoConsulta.ParaUsoEnEmpresa, CveProveedor, "-1", "-1", "-1", "-1", RFC, "-1", "-1", -1, UsuarioActual.CveEmpresa) Then
@@ -3435,6 +3480,10 @@ Partial Class Compras_Compras
End If
If UsuarioActual.Empresa.Funcionalidad(574).ToEntero = 1 Then
PorcentajeProntoPago = ObjProveedor.PorcentajeProntoPago
End If
Else
Alert("El Proveedor solicitado no existe, por favor intente de nuevo.", TipoMensaje.MsgAdvertencia)
End If
@@ -9999,6 +10048,8 @@ Partial Class Compras_Compras
TmpDT.Columns.Add("CveContratoDetalle", GetType(Integer))
TmpDT.Columns.Add("CveCultivoCuadroDetalle", GetType(Integer))
TmpDT.Columns.Add("TemporadaCuadro", GetType(String))
TmpDT.Columns.Add("PUProntoPago", GetType(Decimal))
TmpDT.Columns.Add("TotalProntoPago", GetType(Decimal))
TmpDTOriginal = New DataTable
TmpDTOriginal.Columns.Add("Consec", GetType(Integer))
@@ -10108,6 +10159,8 @@ Partial Class Compras_Compras
TmpDTOriginal.Columns.Add("CveContratoDetalle", GetType(Double))
TmpDTOriginal.Columns.Add("CveCultivoCuadroDetalle", GetType(Double))
TmpDTOriginal.Columns.Add("TemporadaCuadro", GetType(String))
TmpDTOriginal.Columns.Add("PUProntoPago", GetType(Decimal))
TmpDTOriginal.Columns.Add("TotalProntoPago", GetType(Decimal))
End Sub
@@ -10437,6 +10490,17 @@ Partial Class Compras_Compras
e.Row.FCTextBox("TxtDividir").Visible = False
End If
End If
If UsuarioActual.Empresa.Funcionalidad(574).ToEntero = 1 Then
e.Row.Cells(4).Text = e.Row.DataKey("PUProtoPago").ToDecimal.ToString("###,###,###.00")
'If PorcentajeProntoPago > 0 Then
' e.Row.Cells(4).Text = e.Row.DataKey("PUProtoPago").ToDecimal - ()
'End If
End If
End If
'HEADER GvInv
@@ -14293,10 +14357,22 @@ Partial Class Compras_Compras
LbSubTotalDif.Visible = False
Vinculacion()
Else
LbSubTotalDif.Visible = True
LbSubTotalDif.Text = (SubTotalCompra - SubTotalGV).FormatoNumero
Alert("Los SubTotales de la vinculación no coinciden. Rectifique y vuelva a intentar.", TipoMensaje.MsgAdvertencia,,)
RegistraScript("CalculaTotalesOC();")
If UsuarioActual.Empresa.Funcionalidad(574).ToEntero = 1 Then
ImporteRemNC = (SubTotalCompra - SubTotalGV).RoundSQL(2)
ImporteRemNCProntoPago = (SubTotalCompra * PorcentajeProntoPago).RoundSQL(2)
Vinculacion()
Else
LbSubTotalDif.Visible = True
LbSubTotalDif.Text = (SubTotalCompra - SubTotalGV).FormatoNumero
Alert("Los SubTotales de la vinculación no coinciden. Rectifique y vuelva a intentar.", TipoMensaje.MsgAdvertencia,,)
RegistraScript("CalculaTotalesOC();")
End If
End If
UpEstatus.Update()
@@ -16866,6 +16942,13 @@ Partial Class Compras_Compras
Dim Row As DataRow = Nothing
If Not TmpDT.Columns.Contains("PUProntoPago") Then
TmpDT.Columns.Add("PUProntoPago", GetType(Decimal))
End If
If Not TmpDT.Columns.Contains("TotalProntoPago") Then
TmpDT.Columns.Add("TotalProntoPago", GetType(Decimal))
End If
Row = TmpDT.NewRow()
Dim Retorno As Integer = 0
Dim CveContrato As Integer = -1

View File

@@ -3372,6 +3372,12 @@ Partial Class Inventarios_RecepcionUsados
Alert("Ya existe un consecutivo vigente en este folio", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
If TxtPUFactura.Text.ToDecimal() <= 0 Then
Alert("El P.U. debe ser mayor a 0", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
Dim IdConsecutivo As Integer = -1
Dim ObjPS As New ClsProductosServicios
Try

View File

@@ -232,7 +232,7 @@
<ajax:ValidatorCalloutExtender ID="VCOPrio" runat="server" TargetControlID="RFVPrioridad" HighlightCssClass="vco" Width="300px"></ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="col-sm-6">
<div class="col-sm-4">
<div class="form-group form-md-line-input">
<asp:DropDownList ID="DdlTema" runat="server" CssClass="form-control select2me input-sm" DataValueField="CveRevision" DataTextField="Revision" Width="100%">
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
@@ -242,6 +242,9 @@
<ajax:ValidatorCalloutExtender ID="VCERFVDdlTema" runat="server" TargetControlID="RFVDdlTema" HighlightCssClass="vco" Width="300px"></ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="col-sm-2">
<asp:LinkButton ID="LnkAddTtemaB" OnClick="LnkAddTtemaB_Click" runat="server" CssClass="btn btn-default" Style="margin-top: 15px;"><i class="fa fa-plus"></i></asp:LinkButton>
</div>
</div>
</div>
</asp:Panel>
@@ -258,11 +261,40 @@
</div>
</ContentTemplate>
</asp:UpdatePanel>
<script src="/Metronic/assets/global/plugins/dhtmlxgantt/dhtmlxgantt.js"></script>
<%--<script src="/Metronic/assets/global/plugins/GantJS/jsgantt.js" type="text/javascript"></script>--%>
<div id='<%= iddivAgregarTema %>' class="modal ADS fade" role="dialog">
<div class="modal-dialog">
<asp:UpdatePanel ID="UpModalTema" class="modal-content " tabindex="-1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="modal-header">
<button type="button" class="close" onclick="closeModal()" aria-label="Close"><span aria-hidden="true">&times;</span> </button>
<h4 class="modal-title" style="text-align: left">
<asp:Literal ID="Literal2" runat="server">Agregar Tema</asp:Literal></h4>
</div>
<div class="modal-body">
<div class="form-group form-md-line-input">
<asp:TextBox ID="TxtTema" runat="server" CssClass="form-control" CausesValidation="true" TextMode="MultiLine" Rows="1"></asp:TextBox>
<asp:RequiredFieldValidator ID="RfvTxtTema" runat="server" ControlToValidate="TxtTema" Display="None" ErrorMessage="El campo <b>''Tema''</b> es necesario, por favor seleccione uno." InitialValue="-1" ValidationGroup="VGMAddTemaTN"></asp:RequiredFieldValidator>
<asp:Label runat="server" Text="Tema" AssociatedControlID="TxtTema"></asp:Label>
</div>
</div>
<div class="modal-footer">
<asp:LinkButton ID="BtnAgregarTema" OnClick="BtnAgregarTema_Click" CssClass="btn btn-primary" ValidationGroup="VGMAddTemaTN" runat="server">Agregar</asp:LinkButton>
<button id="BtnCerrarModalTema" onclick="closeModal()" class="btn btn-default">Cerrar</button>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
</asp:Content>
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
<script src="/Metronic/assets/global/plugins/dhtmlxgantt/dhtmlxgantt.js"></script>
<script>
let RCveEvento =<%= RCveEvento %>;
@@ -576,5 +608,12 @@
CargaPickers();
}
</script>
<script type="text/javascript">
function closeModal() {
$('#divModalAgregartema').modal('hide');
}
</script>
</asp:Content>

View File

@@ -21,6 +21,7 @@ public partial class OI_Proyecto : ClsPaginas
public List<int> LCveUsuarioCCP { get { if (ViewState["LCveUsuarioCCP"] == null) { ViewState["LCveUsuarioCCP"] = new List<int>(); } return (List<int>)ViewState["LCveUsuarioCCP"]; } set { ViewState["LCveUsuarioCCP"] = value; } }
public List<int> LcveuserVisto { get { if (ViewState["LcveuserVisto"] == null) { ViewState["LcveuserVisto"] = new List<int>(); } return (List<int>)ViewState["LcveuserVisto"]; } set { ViewState["LcveuserVisto"] = value; } }
public const string iddivAgregarTema = "divModalAgregartema";
#endregion
protected void Page_Load(object sender, EventArgs e)
@@ -355,4 +356,48 @@ public partial class OI_Proyecto : ClsPaginas
UpModalProyecto.Update();
}
#region TEMAS
protected void LnkAddTtemaB_Click(object sender, EventArgs e)
{
RegistraScript(string.Format("$('#{0}').modal()", iddivAgregarTema));
}
protected void BtnAgregarTema_Click(object sender, EventArgs e)
{
using (ClsOIEventos objoi = new ClsOIEventos())
{
if (objoi.AddRevisionesEventos(TxtTema.Text.Trim(), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa))
{
Alert(string.Format("El Tema \"{0}\" fue agregado con éxito.", TxtTema.Text.Trim()), ModExtensiones.TipoMensaje.MsgInformacion);
RegistraScript(string.Format("$('#{0}').modal('hide')", iddivAgregarTema));
TxtTema.Text = "";
set_GlobalDTOIRevision(UsuarioActual.CveEmpresa, objoi.DtResultados);
CargaTemas();
UpModalTema.Update();
UpModalProyecto.Update();
}
else { Alert("Ocurrió un error al agregar la revisión. Por favor vuelva a intentar.", ModExtensiones.TipoMensaje.MsgError); }
}
}
private void CargaTemas()
{
DdlTema.ClearSelection();
DdlTema.SelectedValue = null;
DdlTema.Items.Clear();
DdlTema.DataSource = get_GlobalDTOIRevision(UsuarioActual.CveEmpresa).FiltraParametros(string.Format("CveUsuario = {0}", UsuarioActual.CveUsuario));
DdlTema.DataBind();
DdlTema.Items.Insert(0, new ListItem("Seleccione", "-1"));
}
#endregion
}

View File

@@ -178,7 +178,7 @@
<ajax:ValidatorCalloutExtender ID="VCOPrio" runat="server" TargetControlID="RFVPrioridad" HighlightCssClass="vco" Width="300px"></ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="col-sm-6">
<div class="col-sm-4">
<div class="form-group form-md-line-input">
<asp:DropDownList ID="DdlTema" runat="server" CssClass="form-control select2me input-sm" DataValueField="CveRevision" DataTextField="Revision" Width="100%">
@@ -193,6 +193,9 @@
</div>
</div>
<div class="col-sm-2">
<asp:LinkButton ID="LnkAddTtemaB" OnClick="LnkAddTtemaB_Click" runat="server" CssClass="btn btn-default" Style="margin-top: 15px;"><i class="fa fa-plus"></i></asp:LinkButton>
</div>
</div>
</div>
</asp:Panel>
@@ -208,6 +211,32 @@
</ContentTemplate>
</asp:UpdatePanel>
<div id='<%= iddivAgregarTema %>' class="modal ADS fade" role="dialog">
<div class="modal-dialog">
<asp:UpdatePanel ID="UpModalTema" class="modal-content " tabindex="-1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="modal-header">
<button type="button" class="close" onclick="closeModal()" aria-label="Close"><span aria-hidden="true">&times;</span> </button>
<h4 class="modal-title" style="text-align: left">
<asp:Literal ID="Literal2" runat="server">Agregar Tema</asp:Literal></h4>
</div>
<div class="modal-body">
<div class="form-group form-md-line-input">
<asp:TextBox ID="TxtTema" runat="server" CssClass="form-control" CausesValidation="true" TextMode="MultiLine" Rows="1"></asp:TextBox>
<asp:RequiredFieldValidator ID="RfvTxtTema" runat="server" ControlToValidate="TxtTema" Display="None" ErrorMessage="El campo <b>''Tema''</b> es necesario, por favor seleccione uno." InitialValue="-1" ValidationGroup="VGMAddTemaTN"></asp:RequiredFieldValidator>
<asp:Label runat="server" Text="Tema" AssociatedControlID="TxtTema"></asp:Label>
</div>
</div>
<div class="modal-footer">
<asp:LinkButton ID="BtnAgregarTema" OnClick="BtnAgregarTema_Click" CssClass="btn btn-primary" ValidationGroup="VGMAddTemaTN" runat="server">Agregar</asp:LinkButton>
<button id="BtnCerrarModalTema" onclick="closeModal()" class="btn btn-default">Cerrar</button>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
</asp:Content>
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
<script>
@@ -256,5 +285,10 @@
CargaPickers();
}
</script>
<script type="text/javascript">
function closeModal() {
$('#divModalAgregartema').modal('hide');
}
</script>
</asp:Content>

View File

@@ -10,6 +10,7 @@ public partial class OI_RepProyectos : ClsPaginas
{
#region Propiedades
public const string iddivAgregarProyecto = "iddivAgregarProyecto";
public const string iddivAgregarTema = "divModalAgregartema";
#endregion
protected void Page_Load(object sender, EventArgs e)
{
@@ -21,9 +22,11 @@ public partial class OI_RepProyectos : ClsPaginas
DdlPara.Items.Insert(0, new ListItem("Seleccione uno", "-1"));
DdlTema.DataSource = get_GlobalDTOIRevision(UsuarioActual.CveEmpresa).FiltraParametros(string.Format("CveUsuario = {0}", UsuarioActual.CveUsuario));
DdlTema.DataBind();
DdlTema.Items.Insert(0, new ListItem("Seleccione", "-1"));
CargaTemas();
//DdlTema.DataSource = get_GlobalDTOIRevision(UsuarioActual.CveEmpresa).FiltraParametros(string.Format("CveUsuario = {0}", UsuarioActual.CveUsuario));
//DdlTema.DataBind();
//DdlTema.Items.Insert(0, new ListItem("Seleccione", "-1"));
cargar();
}
}
@@ -196,4 +199,50 @@ public partial class OI_RepProyectos : ClsPaginas
}
}
#region TEMAS
protected void LnkAddTtemaB_Click(object sender, EventArgs e)
{
RegistraScript(string.Format("$('#{0}').modal()", iddivAgregarTema));
}
protected void BtnAgregarTema_Click(object sender, EventArgs e)
{
using (ClsOIEventos objoi = new ClsOIEventos())
{
if (objoi.AddRevisionesEventos(TxtTema.Text.Trim(), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa))
{
Alert(string.Format("El Tema \"{0}\" fue agregado con éxito.", TxtTema.Text.Trim()), ModExtensiones.TipoMensaje.MsgInformacion);
RegistraScript(string.Format("$('#{0}').modal('hide')", iddivAgregarTema));
TxtTema.Text = "";
set_GlobalDTOIRevision(UsuarioActual.CveEmpresa, objoi.DtResultados);
CargaTemas();
UpModalTema.Update();
UpModalProyecto.Update();
}
else { Alert("Ocurrió un error al agregar la revisión. Por favor vuelva a intentar.", ModExtensiones.TipoMensaje.MsgError); }
}
}
private void CargaTemas()
{
DdlTema.ClearSelection();
DdlTema.SelectedValue = null;
DdlTema.Items.Clear();
DdlTema.DataSource = get_GlobalDTOIRevision(UsuarioActual.CveEmpresa).FiltraParametros(string.Format("CveUsuario = {0}", UsuarioActual.CveUsuario));
DdlTema.DataBind();
DdlTema.Items.Insert(0, new ListItem("Seleccione", "-1"));
}
#endregion
}

View File

@@ -655,6 +655,7 @@
</asp:UpdatePanel>
</div>
</div>
<div id='<%= iddivAgregarTema %>' class="modal ADS fade" role="dialog">
<div class="modal-dialog">
<asp:UpdatePanel ID="UpdatePanel1" class="modal-content " tabindex="-1" runat="server" UpdateMode="Conditional">

View File

@@ -23,7 +23,8 @@
<asp:Content ID="Content6" ContentPlaceHolderID="C" runat="Server">
<asp:UpdatePanel ID="UpDatos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="GvDatos" runat="server" AutoGenerateColumns="False" DataKeyNames="CveChecador,Checador,CveModelo,CveSubProyecto,SubProyecto,CveUsuario,Estatus,FechaIng,IPLocal,Puerto" EmptyDataText="No se encontraron Tipo Gasto" ToolTip="Listado de Tipo Gasto " CssClass="table table-striped table-advance table-hover" Style="margin-top: -10px; width: 100%" GridLines="None">
<asp:GridView ID="GvDatos" runat="server" AutoGenerateColumns="False" DataKeyNames="CveChecador,Checador,CveModelo,CveSubProyecto,SubProyecto,CveUsuario,Estatus,FechaIng,IPLocal,Puerto"
EmptyDataText="No se encontraron Tipo Gasto" ToolTip="Listado de Tipo Gasto " CssClass="table table-striped table-advance table-hover" Style="margin-top: -10px; width: 100%" GridLines="None">
<Columns>
<asp:BoundField HeaderText="Checador" DataField="Checador" />
<asp:BoundField HeaderText="SubProyecto" DataField="SubProyecto" />
@@ -53,28 +54,34 @@
<asp:Literal ID="LtlTituloModalTiposD" runat="server">Checadores</asp:Literal></h4>
</div>
<div class="modal-body">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtChecador" CssClass="form-control " runat="server" MaxLength="70" CausesValidation="true"></asp:TextBox>
<asp:RequiredFieldValidator ID="RfvTxtChecador" runat="server" ControlToValidate="TxtChecador" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Checador''</b> es necesario, por favor ingréselo." ValidationGroup="GrpTiposD"></asp:RequiredFieldValidator>
<label for="TxtChecador">Checador:</label>
<i></i>
</div>
<div class="form-group form-md-line-input input-iconright">
<label for="DdlSubProyecto">Subproyecto:</label>
<asp:DropDownList ID="DdlSubProyecto" Width="100%" runat="server" AppendDataBoundItems="true" DataValueField="CveSubProyecto" DataTextField="SubProyecto" ValidationGroup="GrpGuardar" CssClass="select2me">
<asp:DropDownList ID="DdlSubProyecto" Width="100%" runat="server" AppendDataBoundItems="true" DataValueField="CveSubProyecto" DataTextField="SubProyecto" ValidationGroup="GrpGuardar" CssClass="form-control select2me">
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RFVDdlSubProyecto" runat="server" ControlToValidate="DdlSubProyecto" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Sub Proyecto''</b> es necesario, por favor ingréselo." InitialValue="-1" ValidationGroup="GrpTiposD"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCODdlSubProyecto" runat="server" HighlightCssClass="vco" TargetControlID="RFVDdlSubProyecto" Width="300px"></ajax:ValidatorCalloutExtender>
<label for="DdlSubProyecto"><asp:label runat="server" ID="LblSubProyecto" for="DdlSubProyecto">Subproyecto:</asp:label>:</label>
</div>
<div class="form-group form-md-line-input input-iconright">
<label for="DdlModelo">Modelo:</label>
<asp:DropDownList ID="DdlModelo" Width="100%" runat="server" AppendDataBoundItems="true" ValidationGroup="GrpGuardar" CssClass="select2me">
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlModelo" Width="100%" runat="server" AppendDataBoundItems="true" ValidationGroup="GrpGuardar" CssClass="form-control select2me">
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
<asp:ListItem Text="zkteco" Value="1"></asp:ListItem>
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RfvDdlModelo" runat="server" ControlToValidate="DdlModelo" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Modelo''</b> es necesario, por favor ingréselo." InitialValue="-1" ValidationGroup="GrpTiposD"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VceDdlModelo" runat="server" HighlightCssClass="vco" TargetControlID="RfvDdlModelo" Width="300px"></ajax:ValidatorCalloutExtender>
<label for="DdlModelo">Modelo:</label>
<i></i>
</div>
<div class="form-group form-md-line-input input-iconright">
@@ -97,31 +104,7 @@
<asp:CheckBox runat="server" ID="ChkEstatus" CssClass="make-switchsd" data-size="small" Text=" " />
</div>
</br>
</br>
<div class="row">
<div class="row">
<div class="col-md-12">
<asp:GridView ID="GvChecadorSubProyectos" runat="server" AutoGenerateColumns="False" OnRowDataBound="GvChecadorSubProyectos_RowDataBound" Width="90%"
DataKeyNames="CveSubProyecto,CveChecador"
EmptyDataText="No se encontraron Tipo Gasto" ToolTip="Listado de Tipo Gasto " CssClass="table table-striped table-advance table-hover" Style="margin-top: -10px; width: 100%" GridLines="None">
<Columns>
<asp:BoundField HeaderText="SubProyecto" DataField="SubProyecto" />
<asp:BoundField HeaderText="Usuario" DataField="Usuario" />
<asp:BoundField HeaderText="Fecha" DataField="FechaIng" DataFormatString="{0:d}" />
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="Chk" runat="server" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
</div>
</div>
</div>
</br>

View File

@@ -26,8 +26,9 @@ public partial class RH_CatChecadores : ClsPaginas
{
if (!IsPostBack)
{
CargaDatos();
CargaSubProyectos();
CargaDatos();
}
}
@@ -38,14 +39,19 @@ public partial class RH_CatChecadores : ClsPaginas
{
GvDatos.DataSource = ObjRH.DtResultados;
}
ObjRH.Dispose();
GvDatos.DataBind();
GvDatos.HeaderRow.Cells[1].Text = LblSubProyecto.Text;
}
private void CargaSubProyectos()
{
DdlSubProyecto.DataSource = get_GlobalDTSubProyectos(-1, CveEmpresa: UsuarioActual.CveEmpresa);
DdlSubProyecto.DataBind();
CargarCentrosDeCosto(null, DdlSubProyecto,null, LblSubProyecto);
}
protected void BtnAgregarChecador_Click(object sender, EventArgs e)
@@ -56,11 +62,7 @@ public partial class RH_CatChecadores : ClsPaginas
TxtIPLocal.Text = "";
TxtPuerto.Text = "";
BtnChecadorAgregar.Text = "Agregar";
divChkEstatus.Visible = false;
GvChecadorSubProyectos.DataSource = null;
GvChecadorSubProyectos.DataBind();
GvChecadorSubProyectos.Visible = false;
divChkEstatus.Visible = false;
UpModalTiposD.Update();
RegistraScript(String.Format("$('#{0}').modal();", "DivAgregarTiposD"));
@@ -78,39 +80,12 @@ public partial class RH_CatChecadores : ClsPaginas
}
}
else
{
// bool errorProceso = false;
//ObjRH.IniciaTransacSQL();
{
if (ObjRH.UpdateChecadores(CveChecador,TxtChecador.Text,DdlSubProyecto.SelectedValue.ToEntero(),TxtIPLocal.Text,TxtPuerto.Text,Estatus: ChkEstatus.Checked, CveModelo: DdlModelo.SelectedValue.ToEntero()))
{
Alert("Checador actualizado correctamente");
}
foreach(GridViewRow GvRow in GvChecadorSubProyectos.Rows)
{
if(GvRow.RowType == DataControlRowType.DataRow)
{
CheckBox Chk = GvRow.FCCheckBox("Chk");
if (!ObjRH.AddRemoveChecadoresSubProyectos(CveChecador, GvRow.DataKey("CveSubProyecto").ToEntero(), UsuarioActual.CveUsuario, Chk.Checked))
{
//errorProceso = true;
Alert("Ocurrió un error.",ModExtensiones.TipoMensaje.MsgError);
break;
}
}
}
//if (errorProceso)
//{
// ObjRH.RollBack();
//}
//else
//{
// ObjRH.Commit();
//}
}
ObjRH.Dispose();
CargaDatos();
@@ -133,21 +108,6 @@ public partial class RH_CatChecadores : ClsPaginas
ChkEstatus.Checked = GvRow.DataKey("Estatus") == "Activo";
divChkEstatus.Visible = true;
GvChecadorSubProyectos.Visible = true;
ClsRH objRH = new ClsRH();
if (objRH.GetChecadoresSubProyectos(CveChecador, UsuarioActual.CveEmpresa))
{
GvChecadorSubProyectos.DataSource = objRH.DtResultados;
}
GvChecadorSubProyectos.DataBind();
objRH.Dispose();
UpModalTiposD.Update();
RegistraScript(String.Format("$('#{0}').modal();", "DivAgregarTiposD"));
}

View File

@@ -102,7 +102,7 @@
<asp:UpdatePanel ID="UpDatos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="GVRegDatos" runat="server" AutoGenerateColumns="false" EmptyDataText="No se encontraron registros"
<asp:GridView ID="GVRegDatos" runat="server" AutoGenerateColumns="false" EmptyDataText="No se encontraron registros" DataKeyNames="CvePersonal,NombreCompleto"
CssClass="ADSCROLLER2 table table-striped table-advance table-hover Widthall" data-rows="1" data-cols="3" data-heightmenos="100" data-heightfijo="600" Style="text-align: center;" GridLines="None">
<Columns>
<asp:TemplateField HeaderText="Codigo" ItemStyle-HorizontalAlign="Left" >
@@ -309,7 +309,7 @@
<tr>
<td></td>
<td>
<asp:DropDownList ID="DdlAsistenciaInacistencia" Width="150" runat="server" CssClass="select2me" DataTextField="Tipo" DataValueField="CveAsistenciasInasistencias"></asp:DropDownList></td>
<asp:DropDownList ID="DdlAsistenciaInacistencia" Width="150" runat="server" CssClass="select2me" DataTextField="Tipo" DataValueField="CveAsistenciasInasistencias" ></asp:DropDownList></td>
</tr>
</table>
@@ -330,6 +330,8 @@
</Columns>
</asp:GridView>
</td>
</tr>
</table>
@@ -337,8 +339,8 @@
</div>
<div class="modal-footer">
<div class="row">
<asp:Button ID="BtnEstusAsistenciaModal" runat="server" class="btn btn-success" Text="Aceptar" ValidationGroup="GrpAsistencia" />
<asp:Button ID="BtnGuardar" Visible="true" runat="server" Text="Guardar" class="btn btn-primary" OnClick="BtnGuardar_Click" />
<asp:Button ID="BtnEstusAsistenciaModal" Visible="false" runat="server" class="btn btn-success" Text="Aceptar" />
<button id="Button4" runat="server" type="button" class="btn default" data-dismiss="modal">Cerrar</button>
</div>
@@ -383,10 +385,7 @@
<ajax:ValidatorCalloutExtender ID="RfvcRfvTxtFechaModal" runat="server" HighlightCssClass="vco" TargetControlID="RfvTxtFechaModal" Width="350px"></ajax:ValidatorCalloutExtender>
<ajax:ValidatorCalloutExtender ID="CVCCVTxtFechaModal" runat="server" HighlightCssClass="vco" TargetControlID="CVTxtFechaModal" Width="350px"></ajax:ValidatorCalloutExtender>
</td></tr>
</td></tr>
</table>
</ContentTemplate>

View File

@@ -126,6 +126,33 @@ Partial Class RH_RepChecadorPreAsistencia
End Set
End Property
Private Property CvePersonalSeleccionado As Integer
Get
If ViewState("CvePersonalSeleccionado") Is Nothing Then
ViewState("CvePersonalSeleccionado") = -1
End If
Return ViewState("CvePersonalSeleccionado").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("CvePersonalSeleccionado") = value
End Set
End Property
Public Property FechaSeleccionada As Date
Get
If ViewState("FechaSeleccionada") Is Nothing Then
ViewState("FechaSeleccionada") = MinFecha
End If
Return ViewState("FechaSeleccionada").ToString.ToDate
End Get
Set(value As Date)
ViewState("FechaSeleccionada") = value
End Set
End Property
#End Region
Private Sub RH_RepChecadorIncidencias_Load(sender As Object, e As EventArgs) Handles Me.Load
@@ -408,20 +435,20 @@ Partial Class RH_RepChecadorPreAsistencia
DTAsistenciasInasistencias = objRH.DtResultados
End If
If objRH.ChecadorPreAsistenciaRegistrosAsistenciasGet(CveTipoPeriodo, FechaInicioPeriodo, FechaFinPeriodo, UsuarioActual.Empresa.CveEmpresa) Then
DTAsistenciasInasistenciasReg = objRH.DtResultados
'If objRH.ChecadorPreAsistenciaRegistrosAsistenciasGet(CveTipoPeriodo, FechaInicioPeriodo, FechaFinPeriodo, UsuarioActual.Empresa.CveEmpresa) Then
' DTAsistenciasInasistenciasReg = objRH.DtResultados
If DTAsistenciasInasistenciasReg.Rows.Count > 0 Then
BtnAgregar.Visible = False
BtnEstusAsistenciaModal.Visible = False
DdlAsistenciaInacistencia.Enabled = False
Else
BtnAgregar.Visible = True
BtnEstusAsistenciaModal.Visible = True
DdlAsistenciaInacistencia.Enabled = True
End If
UpAgregar.Update()
End If
' If DTAsistenciasInasistenciasReg.Rows.Count > 0 Then
' BtnAgregar.Visible = False
' BtnEstusAsistenciaModal.Visible = False
' 'DdlAsistenciaInacistencia.Enabled = False
' Else
' BtnAgregar.Visible = True
' BtnEstusAsistenciaModal.Visible = True
' 'DdlAsistenciaInacistencia.Enabled = True
' End If
' UpAgregar.Update()
'End If
objRH.Dispose()
@@ -1499,7 +1526,7 @@ Partial Class RH_RepChecadorPreAsistencia
If arrayComands.Length > 1 Then Filtro = arrayComands(1) Else Filtro = ""
lnkLink.CommandArgument = lnkLink.Text
lnkLink.CommandArgument = $"{lnkLink.Text}|{e.Row.DataKey("CvePersonal")}|{e.Row.DataKey("NombreCompleto")}"
If Instruccion = "-" Then
lnkLink.Text = "<i class='fa fa-check-square' aria-hidden='true'></i>"
@@ -1620,6 +1647,8 @@ Partial Class RH_RepChecadorPreAsistencia
Public Sub DetalleDia_Click(sender As Object, e As EventArgs)
CvePersonalSeleccionado = -1
Dim lnkLinkSender As LinkButton = DirectCast(sender, LinkButton)
Dim DTDatos As New DataTable
Dim DTTipoAsistenciaInasistencia As DataTable
@@ -1640,6 +1669,10 @@ Partial Class RH_RepChecadorPreAsistencia
objRH.Dispose()
Instruccion = arrayComands(0)
CvePersonalSeleccionado = arrayComands(2).ToEntero
LtlAsistenciaHorariosModal.Text = arrayComands(3)
DTTipoAsistenciaInasistencia = GlobalDTAsistenciasInasistencias(UsuarioActual.CveEmpresa).FiltraParametros(" TipoCorto = '" & Instruccion & "' ")
If DTTipoAsistenciaInasistencia.Rows.Count > 0 Then
@@ -1662,6 +1695,7 @@ Partial Class RH_RepChecadorPreAsistencia
DTDatos = DtResultados.FiltraParametros(Filtro)
lblModalFecha.Text = DTDatos(0)("Fecha").ToString().ToDate.ToString("dd/MM/yyyy")
FechaSeleccionada = DTDatos(0)("Fecha").ToString().ToDate
lnkModalImg.Text = ""
@@ -1949,4 +1983,18 @@ Partial Class RH_RepChecadorPreAsistencia
End Sub
Protected Sub BtnGuardar_Click(sender As Object, e As EventArgs)
If DdlAsistenciaInacistencia.SelectedValue.ToEntero > 0 Then
Dim ObjPersonal As New ClsRH
If ObjPersonal.AddAsistencia(CvePersonalSeleccionado, -1, DdlSubProyecto.SelectedValue.ToEntero, FechaSeleccionada,
DdlAsistenciaInacistencia.SelectedValue.ToEntero, 100, 0, 0, -1, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, "C") Then
Alert("Registro Actualziado Correctamente.")
End If
ObjPersonal.Dispose()
End If
End Sub
End Class

View File

@@ -0,0 +1,26 @@
<%@ Control Language="VB" AutoEventWireup="false" CodeFile="AddTema.ascx.vb" Inherits="UserControl_AddProcedimiento" %>
<div id="DVAgregarTema" style="margin-top:-30px!important">
<div class="modal-dialog">
<asp:UpdatePanel ID="UpModalAddTema" class="modal-content " tabindex="-1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span> </button>
<h4 class="modal-title" style="text-align: left">
<asp:Literal ID="Literal2" runat="server">Agregar Tema</asp:Literal></h4>
</div>
<div class="modal-body">
<div class="form-group form-md-line-input">
<asp:TextBox ID="TxtTema" runat="server" CssClass="form-control" CausesValidation="true" TextMode="MultiLine" Rows="1"></asp:TextBox>
<asp:RequiredFieldValidator ID="RfvTxtTema" runat="server" ControlToValidate="TxtTema" Display="None" ErrorMessage="El campo <b>''Tema''</b> es necesario, por favor seleccione uno." InitialValue="-1" ValidationGroup="VGMAddTemaTN"></asp:RequiredFieldValidator>
<asp:Label runat="server" Text="Tema" AssociatedControlID="TxtTema"></asp:Label>
</div>
</div>
<div class="modal-footer">
<asp:LinkButton ID="BtnAgregarTema" OnClick="BtnAgregarTema_Click" CssClass="btn btn-primary" ValidationGroup="VGMAddTemaTN" runat="server">Agregar</asp:LinkButton>
<button data-dismiss="modal" class="btn btn-danger">Cancelar</button>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>

View File

@@ -0,0 +1,96 @@
Imports Extensiones
Partial Class UserControl_AddProcedimiento
Inherits System.Web.UI.UserControl
Public ReadOnly Property UsuarioActual As Usuario
Get
If Context.Session("UsuarioSIG") Is Nothing Then
Return Nothing
Else
Return DirectCast(Context.Session("UsuarioSIG"), Usuario)
End If
End Get
End Property
Public Property CveProcedimiento As Integer
Get
If ViewState("CveProcedimiento") Is Nothing Then
ViewState("CveProcedimiento") = -1
End If
Return ViewState("CveProcedimiento").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("CveProcedimiento") = value
End Set
End Property
Private Sub UserControl_AddProcedimiento_Load(sender As Object, e As EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
End If
End Sub
Protected Sub LbAgregar_Click(sender As Object, e As System.EventArgs) Handles LbAgregar.Click
Dim ProcesoOK = False
Dim ObjVentas As New ClsVentas
Dim CveProcedimientoNuevo As Integer = -1
If CveProcedimiento > 0 Then
If ObjVentas.UpdateProcedimiento(CveProcedimiento, TxtProcedimiento.Text.Trim, ChkEstatus.Checked, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
'Alert($"Procedimiento Actualizado Correctamente.")
ProcesoOK = True
End If
Else
CveProcedimientoNuevo = ObjVentas.AddProcedimiento(TxtProcedimiento.Text.Trim, ChkEstatus.Checked, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
If CveProcedimientoNuevo > 0 Then
ProcesoOK = True
'TabProductos.Visible = True
'TabVentas.Visible = True
'LnkAgregarProducto.Visible = True
'UpDatos.Update()
'Alert($"Procedimiento Guardado Correctamente.")
End If
End If
ObjVentas.Dispose()
If ProcesoOK Then
ClsPaginas.Alert($"Procedimiento {If(CveProcedimiento > 0, "Actualizado", "Guardado")} Correctamente.")
Dim AppNombre As String = $"GlobalDTProcedimientos-{UsuarioActual.CveEmpresa}"
Application(AppNombre) = Nothing
RegistraScript($"fncRegargaProcedimientos({CveProcedimientoNuevo});")
RegistraScript("$('#BtnCancelarProcedimiento').click();")
End If
End Sub
Public Sub LimpiarControles()
TxtProcedimiento.Text = ""
ChkEstatus.Checked = True
UpModal.Update()
End Sub
Protected Sub BtnAgregarTema_Click(sender As Object, e As EventArgs)
Using objoi As New ClsOIEventos()
If objoi.AddRevisionesEventos(TxtTema.Text.Trim(), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
Alert(String.Format("El Tema ""{0}"" fue agregado con éxito.", TxtTema.Text.Trim()), ModExtensiones.TipoMensaje.MsgInformacion)
RegistraScript(String.Format("$('#{0}').modal('hide')", iddivAgregarTema))
TxtTema.Text = ""
GlobalDTOIRevision(UsuarioActual.CveEmpresa, objoi.DtResultados)
CargaTemas()
UpContenido.Update()
Else
Alert("Ocurrió un error al agregar la revisión. Por favor vuelva a intentar.", ModExtensiones.TipoMensaje.MsgError)
End If
End Using
End Sub
End Class

View File

@@ -171,7 +171,7 @@ Partial Class Ventas_FacturacionGlobal
SbRemisiones.Remove(SbRemisiones.Length - 1, 1)
Dim DtRemisionesPS As New DataTable()
Dim DtPagos As New DataTable()
Dim DtPagosFacturaGlobal As New DataTable()
Dim ObjClientes As New ClsClientes
If ObjClientes.GetVentasRemisionesTotales(CveCliente, SbRemisiones.ToString(), 1) Then
@@ -179,7 +179,7 @@ Partial Class Ventas_FacturacionGlobal
End If
If ObjClientes.GetVentasRemisionesPagos(CveCliente, SbRemisiones.ToString()) Then
DtPagos = ObjClientes.DtResultados.Copy()
DtPagosFacturaGlobal = ObjClientes.DtResultados.Copy()
End If
ObjClientes.Dispose()
@@ -188,7 +188,7 @@ Partial Class Ventas_FacturacionGlobal
Exit Sub
End If
If DtPagos Is Nothing OrElse DtPagos.Rows.Count = 0 Then
If DtPagosFacturaGlobal Is Nothing OrElse DtPagosFacturaGlobal.Rows.Count = 0 Then
Alert("No se pudieron cargar los pagos", TipoMensaje.MsgError)
Exit Sub
End If
@@ -211,7 +211,7 @@ Partial Class Ventas_FacturacionGlobal
ObjFactura.RemisionesLista = RemisionesLista
ObjFactura.DtRemisionesPS = DtRemisionesPS
ObjFactura.DtRemisiones = DtRemisiones.FiltraParametros($"CveVenta IN ({SbRemisiones.ToString()})")
ObjFactura.DtPagos = DtPagos
ObjFactura.DtPagosFacturaGlobal = DtPagosFacturaGlobal
For Each Dr As DataRow In DtRemisionesPS.Rows
ObjFactura.AgregarPS(Dr("CvePS").ToString().ToEntero(), Dr("Cantidad").ToString().ToDecimal(), Dr("PU").ToString().ToDecimal(), Dr("Descuento").ToString().ToDecimal, Dr("Obs").ToString(), CveUM:=Dr("CveUM").ToString().ToEntero(),
@@ -221,7 +221,7 @@ Partial Class Ventas_FacturacionGlobal
ObjFactura.CalculaTotales()
ObjFactura.PreparaTimbre()
If ObjFactura.Total <> DtPagos.SUMD("Importe") Then
If ObjFactura.Total <> DtPagosFacturaGlobal.SUMD("Importe") Then
Alert("Los pagos no coinciden con el total de la factura", TipoMensaje.MsgError)
Exit Sub
End If

View File

@@ -813,6 +813,11 @@
function impresionDirecta(urlPDF) {
printJS({ printable: urlPDF, type: 'pdf', showModal: true });
}
function impresionBase64(pdfBase64) {
printJS({ printable: pdfBase64, type: 'pdf', showModal: true, base64: true });
}
function CalculaTotalPagoContado() {
debugger;
var totalEfectivo = ToDouble($get("TxtImporteEfectivo").value);

View File

@@ -2,6 +2,7 @@
Option Strict On
Imports System.Data
Imports System.IO
Imports Extensiones
Partial Class Ventas_PVCobranza
@@ -548,13 +549,13 @@ Partial Class Ventas_PVCobranza
Dim ExistePDF As Boolean = False
Dim ArchivoPDF As String = String.Format("{0}/PDF/{1}/{2}.pdf", UsuarioActual.Empresa.Ruta, ObjFactura.TipoDocto, ObjFactura.SerieFolio)
If ObjFactura.TipoDocto = "Rem" AndAlso System.IO.File.Exists(ArchivoPDF) Then
If File.Exists(ArchivoPDF) AndAlso ObjFactura.TipoDocto = "Rem" Then
ExistePDF = True
Else
'REGENERAR EL PDF
Try
GenerarPDFVenta(CveVenta, AplicaPagare:="1", GuardarPDF:=True, RegenerarPDF:=True, DescargarArchivo:=False, EsTicket:=True)
If System.IO.File.Exists(ArchivoPDF) Then
If File.Exists(ArchivoPDF) Then
ExistePDF = True
End If
Catch ex As Exception
@@ -563,8 +564,24 @@ Partial Class Ventas_PVCobranza
End If
If ExistePDF Then
Dim urlPDF As String = $"/Ashx/SIGDesc.ashx?metodo=descargarPDFVenta&CveVenta={CveVenta}"
RegistraScript($"impresionDirecta('{urlPDF}');", "Imprimir")
Dim pdf64 As String = ""
'DUPLICA EL PDF
Using ms As New MemoryStream
Using pdfdoc As New iText.Kernel.Pdf.PdfDocument(New iText.Kernel.Pdf.PdfWriter(ms))
pdfdoc.InitializeOutlines()
Dim reporteByte As New MemoryStream(System.IO.File.ReadAllBytes(ArchivoPDF))
Dim docPDF As New iText.Kernel.Pdf.PdfDocument(New iText.Kernel.Pdf.PdfReader(reporteByte))
docPDF.CopyPagesTo(1, docPDF.GetNumberOfPages(), pdfdoc)
docPDF.CopyPagesTo(1, docPDF.GetNumberOfPages(), pdfdoc)
docPDF.Close()
pdfdoc.Close()
End Using
pdf64 = Convert.ToBase64String(ms.ToArray())
End Using
RegistraScript($"impresionBase64('{pdf64}');", "Imprimir")
Else
Alert("No se pudo imprimir el pdf directamente. favor de descargar manualmente el pdf.", TipoMensaje.MsgAdvertencia)
End If

File diff suppressed because it is too large Load Diff

View File

@@ -132,6 +132,15 @@ Partial Class ProductosyServicios
ViewState("GeneraServicioAF") = value
End Set
End Property
Public Property Imagen As String
Get
Return IfNull(ViewState("Imagen"), "", ViewState("Imagen")).ToString()
End Get
Set(value As String)
ViewState("Imagen") = value
End Set
End Property
#End Region
Private ReadOnly Property PermiteClasificacion2 As Boolean
@@ -952,6 +961,17 @@ Partial Class ProductosyServicios
DdlTipoFactor.SelectedValueExist(ObjProductosServicios.DtResultados.Rows(0)("CveTipoFactor").ToString)
Me.Imagen = ObjProductosServicios.DtResultados.Rows(0)("Imagen").ToString
If Not String.IsNullOrEmpty(Me.Imagen) Then
imgImagen.Attributes.Add("src", String.Format("/ashx/SIGWeb.ashx?Metodo=GetImg&r={0}", Extensiones.Encripta(Me.Imagen)))
hplImagen.Attributes.Add("href", String.Format("/ashx/SIGWeb.ashx?Metodo=GetImg&r={0}", Extensiones.Encripta(Me.Imagen)))
End If
DivImagen.Visible = True
upGaleria.Update()
RegistraScript("clickgaleria();", "CG")
If ObjProductosServicios.DtResultados.Rows(0)("CveTipoFactor").ToString.Contiene("1", "2") Then
LIva.Visible = True
DdlIVA.Visible = True
@@ -2482,83 +2502,83 @@ Partial Class ProductosyServicios
#Region " ECOMMERCE "
Private Sub InicializaEcommerce()
AplicaEcommerce = False
'AplicaEcommerce = False
If UsuarioActual.Empresa.Funcionalidad(700).ToEntero = 1 And CvePS > 0 Then
'If UsuarioActual.Empresa.Funcionalidad(700).ToEntero = 1 And CvePS > 0 Then
TabEcommerce.Visible = True
LBBitacoraEcommerce.Visible = True
' TabEcommerce.Visible = True
' LBBitacoraEcommerce.Visible = True
'INICIALIZA PRODUCTOS ECOMMERCE
Dim ObjEcommerce As New ClsECommerce
If ObjEcommerce.InsigniasGet(-1, "", UsuarioActual.CveEmpresa) Then
DdlEcommerceInsignia.DataSource = ObjEcommerce.DtResultados
End If
ObjEcommerce.Dispose()
DdlEcommerceInsignia.DataBind()
CargaEcommerce()
' 'INICIALIZA PRODUCTOS ECOMMERCE
' Dim ObjEcommerce As New ClsECommerce
' If ObjEcommerce.InsigniasGet(-1, "", UsuarioActual.CveEmpresa) Then
' DdlEcommerceInsignia.DataSource = ObjEcommerce.DtResultados
' End If
' ObjEcommerce.Dispose()
' DdlEcommerceInsignia.DataBind()
' CargaEcommerce()
'INICIALIZA PRODUCTOS INSIGNIAS
CargaPSInsigniasEcommerce()
' 'INICIALIZA PRODUCTOS INSIGNIAS
' CargaPSInsigniasEcommerce()
'INICIALIZA PRODUCTOS IMAGENES
CargarGaleriaImagenesEcommerce()
' 'INICIALIZA PRODUCTOS IMAGENES
' CargarGaleriaImagenesEcommerce()
'INICIALIZA PRODUCTOS RELACIONADOS
DdlEcommercePSRelacionado.setEsWebService(True)
CargaPSRelacionadosEcommerce()
' 'INICIALIZA PRODUCTOS RELACIONADOS
' DdlEcommercePSRelacionado.setEsWebService(True)
' CargaPSRelacionadosEcommerce()
UpEcommerce.Update()
' UpEcommerce.Update()
End If
'End If
End Sub
#Region " PRODUCTOS ECOMMERCE "
Private Sub CargaEcommerce()
Dim DrEcommerce As DataRow = Nothing
Dim ObjEcommerce As New ClsECommerce
If ObjEcommerce.ProductosGet(CvePS, -1, -1, -1, UsuarioActual.CveEmpresa) Then
DrEcommerce = ObjEcommerce.DtResultados.FiltroPrimero("")
End If
ObjEcommerce.Dispose()
'Dim DrEcommerce As DataRow = Nothing
'Dim ObjEcommerce As New ClsECommerce
'If ObjEcommerce.ProductosGet(CvePS, -1, -1, -1, UsuarioActual.CveEmpresa) Then
' DrEcommerce = ObjEcommerce.DtResultados.FiltroPrimero("")
'End If
'ObjEcommerce.Dispose()
If DrEcommerce IsNot Nothing Then
AplicaEcommerce = True
'If DrEcommerce IsNot Nothing Then
' AplicaEcommerce = True
TxtEcommerceDescripcion.Text = DrEcommerce("Descripcion").ToString
TxtEcommercePrecioBase.Text = DrEcommerce("PrecioBase").ToString.FormatoNumero
TxtEcommercePrecioPromocion.Text = DrEcommerce("PrecioPromocion").ToString.FormatoNumero
ChkEcommerceDisponible.Checked = CBool(DrEcommerce("Disponible").ToString)
End If
GvEcommercePSRealacionados.DataBind()
UpEcommercePSRelacionados.Update()
' TxtEcommerceDescripcion.Text = DrEcommerce("Descripcion").ToString
' TxtEcommercePrecioBase.Text = DrEcommerce("PrecioBase").ToString.FormatoNumero
' TxtEcommercePrecioPromocion.Text = DrEcommerce("PrecioPromocion").ToString.FormatoNumero
' ChkEcommerceDisponible.Checked = CBool(DrEcommerce("Disponible").ToString)
'End If
'GvEcommercePSRealacionados.DataBind()
'UpEcommercePSRelacionados.Update()
End Sub
Private Function GuardaEcommerce() As Boolean
Dim TieneError As Boolean = False
If UsuarioActual.Empresa.Funcionalidad(700) = "1" Then
'SI NO SE HA GUARDADO EN ECOMMERCE Y NO TIENE NINGUN VALOR OMITE
If Not AplicaEcommerce And Not ChkEcommerceDisponible.Checked And TxtEcommerceDescripcion.Text.Length = 0 And TxtEcommercePrecioBase.Text.Length = 0 And TxtEcommercePrecioPromocion.Text.Length = 0 Then
Return False
End If
''SI NO SE HA GUARDADO EN ECOMMERCE Y NO TIENE NINGUN VALOR OMITE
'If Not AplicaEcommerce And Not ChkEcommerceDisponible.Checked And TxtEcommerceDescripcion.Text.Length = 0 And TxtEcommercePrecioBase.Text.Length = 0 And TxtEcommercePrecioPromocion.Text.Length = 0 Then
' Return False
'End If
If ChkEcommerceDisponible.Checked Then
If Not ValidaGuardarEcommerce() Then
Return True
End If
End If
'If ChkEcommerceDisponible.Checked Then
' If Not ValidaGuardarEcommerce() Then
' Return True
' End If
'End If
Dim Descripcion As String = TxtEcommerceDescripcion.Text.Trim
Dim PrecioBase As Double = TxtEcommercePrecioBase.Text.Trim.ToDouble
Dim PrecioPromocion As Double = TxtEcommercePrecioPromocion.Text.Trim.ToDouble
Dim Disponible As Boolean = ChkEcommerceDisponible.Checked
'Dim Descripcion As String = TxtEcommerceDescripcion.Text.Trim
'Dim PrecioBase As Double = TxtEcommercePrecioBase.Text.Trim.ToDouble
'Dim PrecioPromocion As Double = TxtEcommercePrecioPromocion.Text.Trim.ToDouble
'Dim Disponible As Boolean = ChkEcommerceDisponible.Checked
Dim ObjEcommerce As New ClsECommerce
If Not ObjEcommerce.ProductosAddUpdate(CvePS, Descripcion, PrecioBase, PrecioPromocion, Disponible, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
TieneError = True
End If
ObjEcommerce.Dispose()
'Dim ObjEcommerce As New ClsECommerce
'If Not ObjEcommerce.ProductosAddUpdate(CvePS, Descripcion, PrecioBase, PrecioPromocion, Disponible, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
' TieneError = True
'End If
'ObjEcommerce.Dispose()
End If
@@ -2569,28 +2589,28 @@ Partial Class ProductosyServicios
Dim Mensaje As New StringBuilder
'DESCRIPCION
Dim Descripcion As String = TxtEcommerceDescripcion.Text.Trim
If Descripcion.Length = 0 Then
Mensaje.Append("- El campo <b>Descripción</b> es obligatorio. Por favor introduzcalo y vuelva a intentar. <br>")
End If
If Descripcion.Length > 255 Then
Mensaje.Append("- El campo <b>Descripción</b> admite maximo 255 caracteres. Por favor verifique y vuelva a intentar. <br>")
End If
'Dim Descripcion As String = TxtEcommerceDescripcion.Text.Trim
'If Descripcion.Length = 0 Then
' Mensaje.Append("- El campo <b>Descripción</b> es obligatorio. Por favor introduzcalo y vuelva a intentar. <br>")
'End If
'If Descripcion.Length > 255 Then
' Mensaje.Append("- El campo <b>Descripción</b> admite maximo 255 caracteres. Por favor verifique y vuelva a intentar. <br>")
'End If
'PRECIO BASE
Dim PrecioBase As Double = TxtEcommercePrecioBase.Text.Trim.ToDouble
If PrecioBase = 0 Then
Mensaje.Append("- El campo <b>Precio</b> es obligatorio. Por favor verifique y vuelva a intentar. <br>")
End If
If PrecioBase < 0 Then
Mensaje.Append("- El campo <b>Precio</b> no puede ser negativo. Por favor verifique y vuelva a intentar. <br>")
End If
''PRECIO BASE
'Dim PrecioBase As Double = TxtEcommercePrecioBase.Text.Trim.ToDouble
'If PrecioBase = 0 Then
' Mensaje.Append("- El campo <b>Precio</b> es obligatorio. Por favor verifique y vuelva a intentar. <br>")
'End If
'If PrecioBase < 0 Then
' Mensaje.Append("- El campo <b>Precio</b> no puede ser negativo. Por favor verifique y vuelva a intentar. <br>")
'End If
'PRECIO FINAL
Dim PrecioPromocion As Double = TxtEcommercePrecioPromocion.Text.Trim.ToDouble
If PrecioPromocion < 0 Then
Mensaje.Append("- El campo <b>Precio Final</b> no puede ser negativo. Por favor verifique y vuelva a intentar. <br>")
End If
''PRECIO FINAL
'Dim PrecioPromocion As Double = TxtEcommercePrecioPromocion.Text.Trim.ToDouble
'If PrecioPromocion < 0 Then
' Mensaje.Append("- El campo <b>Precio Final</b> no puede ser negativo. Por favor verifique y vuelva a intentar. <br>")
'End If
'VALIDACION
@@ -2606,225 +2626,225 @@ Partial Class ProductosyServicios
#Region " PRODUCTOS INSIGNIAS "
Private Sub CargaPSInsigniasEcommerce()
Dim ObjEcommerce As New ClsECommerce
If ObjEcommerce.ProductosInsigniasGet(CvePS, -1, UsuarioActual.CveEmpresa) Then
GvEcommercePSInsignias.DataSource = ObjEcommerce.DtResultados
Else
GvEcommercePSInsignias.DataSource = Nothing
End If
ObjEcommerce.Dispose()
'Dim ObjEcommerce As New ClsECommerce
'If ObjEcommerce.ProductosInsigniasGet(CvePS, -1, UsuarioActual.CveEmpresa) Then
' GvEcommercePSInsignias.DataSource = ObjEcommerce.DtResultados
'Else
' GvEcommercePSInsignias.DataSource = Nothing
'End If
'ObjEcommerce.Dispose()
GvEcommercePSInsignias.DataBind()
UpEcommerceInsignias.Update()
'GvEcommercePSInsignias.DataBind()
'UpEcommerceInsignias.Update()
End Sub
Protected Sub BtnEcommerceInsignias_Click(sender As Object, e As EventArgs)
If Not ValidaAgregarProductosInsigniasEcommerce() Then
Exit Sub
End If
'If Not ValidaAgregarProductosInsigniasEcommerce() Then
' Exit Sub
'End If
Dim TieneError As Boolean = False
Dim CveInsignia As Integer = DdlEcommerceInsignia.SelectedValue.ToEntero
'Dim TieneError As Boolean = False
'Dim CveInsignia As Integer = DdlEcommerceInsignia.SelectedValue.ToEntero
'AGREGAR
Dim ObjEcommerce As New ClsECommerce
If ObjEcommerce.ProductosInsigniasAdd(Me.CvePS, CveInsignia, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
Alert("La Insignia se agregó correctamente.", TipoMensaje.MsgInformacion)
Else
TieneError = True
End If
ObjEcommerce.Dispose()
''AGREGAR
'Dim ObjEcommerce As New ClsECommerce
'If ObjEcommerce.ProductosInsigniasAdd(Me.CvePS, CveInsignia, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
' Alert("La Insignia se agregó correctamente.", TipoMensaje.MsgInformacion)
'Else
' TieneError = True
'End If
'ObjEcommerce.Dispose()
If Not TieneError Then
DdlEcommerceInsignia.SelectedValueExist(-1)
CargaPSInsigniasEcommerce()
End If
'If Not TieneError Then
' DdlEcommerceInsignia.SelectedValueExist(-1)
' CargaPSInsigniasEcommerce()
'End If
End Sub
Private Function ValidaAgregarProductosInsigniasEcommerce() As Boolean
Dim Retorno As Boolean = True
Dim Mensaje As New StringBuilder
'Dim Mensaje As New StringBuilder
'INSIGNIA
Dim CveInsignia As Integer = DdlEcommerceInsignia.SelectedValue.ToEntero
If CveInsignia = 0 Then
Mensaje.Append("- El campo <b>Insignia</b> es obligatorio. Por favor introduzcalo y vuelva a intentar. <br>")
End If
For Each GvRow As GridViewRow In GvEcommercePSInsignias.Rows
If GvRow.DataKey("CveInsignia").ToString.ToEntero = CveInsignia Then
Mensaje.Append($"- La Insignia <b>{DdlEcommerceInsignia.SelectedItem.Text}</b> ya es parte del producto y no se puede duplicar. Por favor verifique y vuelva a intentar. <br>")
Exit For
End If
Next
''INSIGNIA
'Dim CveInsignia As Integer = DdlEcommerceInsignia.SelectedValue.ToEntero
'If CveInsignia = 0 Then
' Mensaje.Append("- El campo <b>Insignia</b> es obligatorio. Por favor introduzcalo y vuelva a intentar. <br>")
'End If
'For Each GvRow As GridViewRow In GvEcommercePSInsignias.Rows
' If GvRow.DataKey("CveInsignia").ToString.ToEntero = CveInsignia Then
' Mensaje.Append($"- La Insignia <b>{DdlEcommerceInsignia.SelectedItem.Text}</b> ya es parte del producto y no se puede duplicar. Por favor verifique y vuelva a intentar. <br>")
' Exit For
' End If
'Next
'VALIDACION
If Mensaje.ToString.Length > 0 Then
Retorno = False
Alert(Mensaje.ToString, TipoMensaje.MsgAdvertencia)
End If
''VALIDACION
'If Mensaje.ToString.Length > 0 Then
' Retorno = False
' Alert(Mensaje.ToString, TipoMensaje.MsgAdvertencia)
'End If
Return Retorno
End Function
Protected Sub GvEcommercePSInsignias_RowDeleting(sender As Object, e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles GvEcommercePSInsignias.RowDeleting
Dim TieneError As Boolean = False
Dim GvRow As GridViewRow = GvEcommercePSInsignias.Rows(e.RowIndex)
'Protected Sub GvEcommercePSInsignias_RowDeleting(sender As Object, e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles GvEcommercePSInsignias.RowDeleting
' Dim TieneError As Boolean = False
' Dim GvRow As GridViewRow = GvEcommercePSInsignias.Rows(e.RowIndex)
Dim ObjEcommerce As New ClsECommerce
If ObjEcommerce.ProductosInsigniasRemove(GvRow.DataKey("CvePS").ToString.ToEntero, GvRow.DataKey("CveInsignia").ToString.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
Alert("La Insignia se eliminó correctamente.", TipoMensaje.MsgInformacion)
Else
TieneError = True
End If
ObjEcommerce.Dispose()
' Dim ObjEcommerce As New ClsECommerce
' If ObjEcommerce.ProductosInsigniasRemove(GvRow.DataKey("CvePS").ToString.ToEntero, GvRow.DataKey("CveInsignia").ToString.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
' Alert("La Insignia se eliminó correctamente.", TipoMensaje.MsgInformacion)
' Else
' TieneError = True
' End If
' ObjEcommerce.Dispose()
If Not TieneError Then
CargaPSInsigniasEcommerce()
End If
End Sub
' If Not TieneError Then
' CargaPSInsigniasEcommerce()
' End If
'End Sub
#End Region
#Region " PRODUCTOS IMAGENES "
Private Sub CargarGaleriaImagenesEcommerce()
Dim TmpDT As DataTable = Nothing
'Private Sub CargarGaleriaImagenesEcommerce()
' Dim TmpDT As DataTable = Nothing
Dim ObjEcommerce As New ClsECommerce
If ObjEcommerce.ProductosImagenesGet(CvePS, UsuarioActual.CveEmpresa) Then
TmpDT = ObjEcommerce.DtResultados
Else
TmpDT = Nothing
End If
ObjEcommerce.Dispose()
' Dim ObjEcommerce As New ClsECommerce
' If ObjEcommerce.ProductosImagenesGet(CvePS, UsuarioActual.CveEmpresa) Then
' TmpDT = ObjEcommerce.DtResultados
' Else
' TmpDT = Nothing
' End If
' ObjEcommerce.Dispose()
RptFotos.DataSource = TmpDT
RptFotos.DataBind()
UpEcommerceGaleriaImagenes.Update()
End Sub
' RptFotos.DataSource = TmpDT
' RptFotos.DataBind()
' UpEcommerceGaleriaImagenes.Update()
'End Sub
Protected Sub BtnEcommerceImagenes_Click(sender As Object, e As EventArgs)
Dim FilesGral As List(Of Archivo) = TxtEcommerceImagenes.getfiles().Archivos
Dim FileMove As String = ""
Dim Archivo As String = ""
Dim DirectorioTemporal As String = ""
'Dim FilesGral As List(Of Archivo) = TxtEcommerceImagenes.getfiles().Archivos
'Dim FileMove As String = ""
'Dim Archivo As String = ""
'Dim DirectorioTemporal As String = ""
Dim DirectorioDestino As String = $"{UsuarioActual.Empresa.Ruta}\Ecommerce\Productos\Imagenes\"
If Not Directory.Exists(DirectorioDestino) Then
Directory.CreateDirectory(DirectorioDestino)
End If
'Dim DirectorioDestino As String = $"{UsuarioActual.Empresa.Ruta}\Ecommerce\Productos\Imagenes\"
'If Not Directory.Exists(DirectorioDestino) Then
' Directory.CreateDirectory(DirectorioDestino)
'End If
Dim ObjEcommerce As New ClsECommerce
For Each FileItem As Archivo In FilesGral
Archivo = NowADS().Ticks.ToString
Try
FileMove = FileItem.filename
DirectorioTemporal = $"{AppDomain.CurrentDomain.BaseDirectory}Temp\{FileMove}"
'Dim ObjEcommerce As New ClsECommerce
'For Each FileItem As Archivo In FilesGral
' Archivo = NowADS().Ticks.ToString
' Try
' FileMove = FileItem.filename
' DirectorioTemporal = $"{AppDomain.CurrentDomain.BaseDirectory}Temp\{FileMove}"
Archivo = $"{Archivo}{IO.Path.GetExtension(DirectorioTemporal)}"
DirectorioDestino += Archivo
If ObjEcommerce.ProductosImagenesAdd(CvePS, $"Ecommerce\Productos\Imagenes\{Archivo}", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
CargarGaleriaImagenesEcommerce()
My.Computer.FileSystem.MoveFile(DirectorioTemporal, DirectorioDestino)
End If
Catch ex As Exception
End Try
Next
ObjEcommerce.Dispose()
' Archivo = $"{Archivo}{IO.Path.GetExtension(DirectorioTemporal)}"
' DirectorioDestino += Archivo
' If ObjEcommerce.ProductosImagenesAdd(CvePS, $"Ecommerce\Productos\Imagenes\{Archivo}", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
' CargarGaleriaImagenesEcommerce()
' My.Computer.FileSystem.MoveFile(DirectorioTemporal, DirectorioDestino)
' End If
' Catch ex As Exception
' End Try
'Next
'ObjEcommerce.Dispose()
RegistraScript("$(""#Modalupfotos"").modal(""hide"");initcarusel();")
TxtEcommerceImagenes.Text = "[]"
UpUpFotos.Update()
'RegistraScript("$(""#Modalupfotos"").modal(""hide"");initcarusel();")
'TxtEcommerceImagenes.Text = "[]"
'UpUpFotos.Update()
End Sub
Protected Sub BtnEcommerceEliminarImagenes_Click(sender As Object, e As System.EventArgs)
Dim CveImagenActivoFijo As Integer = 0
CveImagenActivoFijo = Integer.Parse(DirectCast(sender, Button).CommandArgument)
'Dim CveImagenActivoFijo As Integer = 0
'CveImagenActivoFijo = Integer.Parse(DirectCast(sender, Button).CommandArgument)
If (CveImagenActivoFijo > 0) Then
Dim ObjEcommerce As New ClsECommerce
If ObjEcommerce.ProductosImagenesRemove(CveImagenActivoFijo, UsuarioActual.CveEmpresa) Then
File.Delete(String.Format("{0}{1}", UsuarioActual.Empresa.Ruta, ObjEcommerce.DtResultados.Rows(0)("URL")))
CargarGaleriaImagenesEcommerce()
RegistraScript("initcarusel();")
End If
ObjEcommerce.Dispose()
End If
'If (CveImagenActivoFijo > 0) Then
' Dim ObjEcommerce As New ClsECommerce
' If ObjEcommerce.ProductosImagenesRemove(CveImagenActivoFijo, UsuarioActual.CveEmpresa) Then
' File.Delete(String.Format("{0}{1}", UsuarioActual.Empresa.Ruta, ObjEcommerce.DtResultados.Rows(0)("URL")))
' CargarGaleriaImagenesEcommerce()
' RegistraScript("initcarusel();")
' End If
' ObjEcommerce.Dispose()
'End If
End Sub
#End Region
#Region " PRODUCTOS RELACIONADOS "
Private Sub CargaPSRelacionadosEcommerce()
Dim ObjEcommerce As New ClsECommerce
If ObjEcommerce.ProductosRelacionadosGet(CvePS, UsuarioActual.CveEmpresa) Then
GvEcommercePSRealacionados.DataSource = ObjEcommerce.DtResultados
Else
GvEcommercePSRealacionados.DataSource = Nothing
End If
ObjEcommerce.Dispose()
'Dim ObjEcommerce As New ClsECommerce
'If ObjEcommerce.ProductosRelacionadosGet(CvePS, UsuarioActual.CveEmpresa) Then
' GvEcommercePSRealacionados.DataSource = ObjEcommerce.DtResultados
'Else
' GvEcommercePSRealacionados.DataSource = Nothing
'End If
'ObjEcommerce.Dispose()
GvEcommercePSRealacionados.DataBind()
UpEcommercePSRelacionados.Update()
'GvEcommercePSRealacionados.DataBind()
'UpEcommercePSRelacionados.Update()
End Sub
Protected Sub BtnEcommercePSRelacionados_Click(sender As Object, e As EventArgs)
If Not ValidaAgregarProductosRelacionadosEcommerce() Then
Exit Sub
End If
'If Not ValidaAgregarProductosRelacionadosEcommerce() Then
' Exit Sub
'End If
Dim TieneError As Boolean = False
Dim CvePS As Integer = DdlEcommercePSRelacionado.SelectedValue.ToEntero
'Dim TieneError As Boolean = False
'Dim CvePS As Integer = DdlEcommercePSRelacionado.SelectedValue.ToEntero
'AGREGAR
Dim ObjEcommerce As New ClsECommerce
If ObjEcommerce.ProductosRelacionadosAdd(Me.CvePS, CvePS, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
Alert("La relación se agregó correctamente.", TipoMensaje.MsgInformacion)
Else
TieneError = True
End If
ObjEcommerce.Dispose()
''AGREGAR
'Dim ObjEcommerce As New ClsECommerce
'If ObjEcommerce.ProductosRelacionadosAdd(Me.CvePS, CvePS, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
' Alert("La relación se agregó correctamente.", TipoMensaje.MsgInformacion)
'Else
' TieneError = True
'End If
'ObjEcommerce.Dispose()
If Not TieneError Then
DdlEcommercePSRelacionado.SelectedValue = "-1"
DdlEcommercePSRelacionado.SelectedText = ""
CargaPSRelacionadosEcommerce()
End If
'If Not TieneError Then
' DdlEcommercePSRelacionado.SelectedValue = "-1"
' DdlEcommercePSRelacionado.SelectedText = ""
' CargaPSRelacionadosEcommerce()
'End If
End Sub
Private Function ValidaAgregarProductosRelacionadosEcommerce() As Boolean
Dim Retorno As Boolean = True
Dim Mensaje As New StringBuilder
'Dim Retorno As Boolean = True
'Dim Mensaje As New StringBuilder
'PS
Dim CvePS As Integer = DdlEcommercePSRelacionado.SelectedValue.ToEntero
If CvePS = 0 Then
Mensaje.Append("- El campo <b>Producto</b> es obligatorio. Por favor introduzcalo y vuelva a intentar. <br>")
End If
For Each GvRow As GridViewRow In GvEcommercePSRealacionados.Rows
If GvRow.DataKey("CvePS").ToString.ToEntero = CvePS Then
Mensaje.Append($"- El producto <b>{DdlEcommercePSRelacionado.SelectedText}</b> ya esta relacionado y no se puede duplicar. Por favor verifique y vuelva a intentar. <br>")
Exit For
End If
Next
''PS
'Dim CvePS As Integer = DdlEcommercePSRelacionado.SelectedValue.ToEntero
'If CvePS = 0 Then
' Mensaje.Append("- El campo <b>Producto</b> es obligatorio. Por favor introduzcalo y vuelva a intentar. <br>")
'End If
'For Each GvRow As GridViewRow In GvEcommercePSRealacionados.Rows
' If GvRow.DataKey("CvePS").ToString.ToEntero = CvePS Then
' Mensaje.Append($"- El producto <b>{DdlEcommercePSRelacionado.SelectedText}</b> ya esta relacionado y no se puede duplicar. Por favor verifique y vuelva a intentar. <br>")
' Exit For
' End If
'Next
'VALIDACION
If Mensaje.ToString.Length > 0 Then
Retorno = False
Alert(Mensaje.ToString, TipoMensaje.MsgAdvertencia)
End If
''VALIDACION
'If Mensaje.ToString.Length > 0 Then
' Retorno = False
' Alert(Mensaje.ToString, TipoMensaje.MsgAdvertencia)
'End If
Return Retorno
'Return Retorno
End Function
Protected Sub GvEcommercePSRealacionados_RowDeleting(sender As Object, e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles GvEcommercePSRealacionados.RowDeleting
Dim TieneError As Boolean = False
Dim GvRow As GridViewRow = GvEcommercePSRealacionados.Rows(e.RowIndex)
'Protected Sub GvEcommercePSRealacionados_RowDeleting(sender As Object, e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles GvEcommercePSRealacionados.RowDeleting
' 'Dim TieneError As Boolean = False
' 'Dim GvRow As GridViewRow = GvEcommercePSRealacionados.Rows(e.RowIndex)
Dim ObjEcommerce As New ClsECommerce
If ObjEcommerce.ProductosRelacionadosRemove(GvRow.DataKey("CvePS1").ToString.ToEntero, GvRow.DataKey("CvePS2").ToString.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
Alert("La relación se eliminó correctamente.", TipoMensaje.MsgInformacion)
Else
TieneError = True
End If
ObjEcommerce.Dispose()
' 'Dim ObjEcommerce As New ClsECommerce
' 'If ObjEcommerce.ProductosRelacionadosRemove(GvRow.DataKey("CvePS1").ToString.ToEntero, GvRow.DataKey("CvePS2").ToString.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
' ' Alert("La relación se eliminó correctamente.", TipoMensaje.MsgInformacion)
' 'Else
' ' TieneError = True
' 'End If
' 'ObjEcommerce.Dispose()
If Not TieneError Then
CargaPSRelacionadosEcommerce()
End If
End Sub
' 'If Not TieneError Then
' ' CargaPSRelacionadosEcommerce()
' 'End If
'End Sub
#End Region
@@ -3599,4 +3619,64 @@ Partial Class ProductosyServicios
End If
End Sub
Private Sub BtnUpFotos_Click(sender As Object, e As EventArgs) Handles BtnUpFotos.Click
Dim FilesGral As List(Of Archivo) = TxtUpFotos.getfiles().Archivos
Dim FileMove As String = ""
Dim NewName As String
For Each FileItem As Archivo In FilesGral
NewName = NowADS().Ticks.ToString
Dim ObjPS As New ClsProductosServicios
Try
FileMove = FileItem.filename
Dim DirectorioOld As New StringBuilder
Dim DirectorioNew As New StringBuilder
DirectorioOld.AppendFormat("{0}Temp\{1}", AppDomain.CurrentDomain.BaseDirectory, FileMove)
DirectorioNew.AppendFormat("{0}PS\", UsuarioActual.Empresa.Ruta)
If Not Directory.Exists(DirectorioNew.ToString) Then
Directory.CreateDirectory(DirectorioNew.ToString)
End If
NewName = String.Format("{0}{1}", NewName, IO.Path.GetExtension(DirectorioOld.ToString()))
DirectorioNew.Append(NewName)
Me.Imagen = String.Format("PS/{0}", NewName)
If ObjPS.UpdatePSImagen(Me.CvePS, Me.Imagen) Then
My.Computer.FileSystem.MoveFile(DirectorioOld.ToString, DirectorioNew.ToString)
End If
imgImagen.Attributes.Add("src", String.Format("/ashx/SIGWeb.ashx?Metodo=GetImg&r={0}", Extensiones.Encripta(Me.Imagen)))
hplImagen.Attributes.Add("href", String.Format("/ashx/SIGWeb.ashx?Metodo=GetImg&r={0}", Extensiones.Encripta(Me.Imagen)))
upGaleria.Update()
Catch ex As Exception
OnError("Ocurrió un error al guardar la imagen", ex)
End Try
ObjPS.Dispose()
RegistraScript("$(""#Modalupfotos"").modal(""hide"");initcarusel();")
TxtUpFotos.Text = "[]"
UpUpFotos.Update()
Next
End Sub
Protected Sub BtnEliminarFoto_Click(sender As Object, e As System.EventArgs)
If (Me.CvePS > 0) Then
Dim ObjPS As New ClsProductosServicios
If ObjPS.UpdatePSImagen(Me.CvePS, "") Then
File.Delete(String.Format("{0}{1}", UsuarioActual.Empresa.Ruta, Me.Imagen))
Me.Imagen = ""
imgImagen.Attributes.Add("src", "")
hplImagen.Attributes.Add("href", "")
RegistraScript("initcarusel();")
End If
ObjPS.Dispose()
upGaleria.Update()
End If
End Sub
End Class

View File

@@ -979,6 +979,41 @@
</div>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel ID="UpImagen" runat="server" UpdateMode="Conditional" class="portlet light xspadding bordered whitoutcol" style="margin-left: auto" Visible="false">
<ContentTemplate>
<div class="portlet-title">
<div class="caption font-green">
<i class="icon-pin font-green"></i>
<span class="caption-subject bold uppercase">Imagen del producto</span>
</div>
<div class="actions">
<div class="btn-group">
</div>
</div>
<div class="tools">
<a href="javascript:;" class="collapse"></a>
</div>
</div>
<div class="portlet-body form-horizontal form-row-sepe formnombottom" style="padding-top: 0px; margin-top: -5px;">
<div class="portfolio-content portfolio-1">
<div id="js-filters-juicy-projects" class="cbp-l-filters-button">
</div>
<div id="js-grid-juicy-projects" class="cbp">
<div class="cbp-item graphic">
<div class="cbp-caption">
<div class="cbp-caption-defaultWrap">
<img runat="server" id="imgImagen" style="max-height:250px !important; max-width:250px !important;">
</div>
</div>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<asp:UpdatePanel ID="Updatetabs" runat="server" UpdateMode="Conditional">
@@ -7617,7 +7652,7 @@
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField HeaderText="PU" DataField="PU" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" />
<%-- <asp:TemplateField HeaderText="PU Editado" Visible="false">
<%-- <asp:TemplateField HeaderText="PU Editado" Visible="false">
<ItemTemplate>
<asp:TextBox ID="TxtPrecioEditado" runat="server" Text='<%#Eval("PU").ToString%>' MaxLength="12" Width="50%" Height="24px" CssClass="ImporteDevolucion"></asp:TextBox>
<ajax:FilteredTextBoxExtender ID="SoloNumeros1Editado" runat="server" TargetControlID="TxtPrecioEditado" FilterType="Custom, Numbers" ValidChars=".," />
@@ -8035,8 +8070,7 @@
</div>
<div id="DivFormaCliente" runat="server" visible="false" class="row" style="padding-left: 16px;">
<div class="form-group form-md-line-input input-iconright col-xs-6">
<asp:DropDownList ID="DdlMetodoCliente" runat="server" CssClass=" form-control input-sm select2me" AutoPostBack="true" AppendDataBoundItems="true" CausesValidation="true" DataTextField="MetodoPagoSAT" DataValueField="CveMetodoPago" Width="100%">
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
<asp:DropDownList ID="DdlMetodoCliente" runat="server" CssClass=" form-control input-sm select2me" AutoPostBack="true" CausesValidation="true" DataTextField="MetodoPagoSAT" DataValueField="CveMetodoPago" Width="100%">
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RequiredFieldValidator6" runat="server" ControlToValidate="DdlMetodoCliente" InitialValue="-1" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Método Pago''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGuardarCliente"></asp:RequiredFieldValidator>
<label for="<%= DdlMetodoCliente.ClientID.ToString()%>">Método Pago:</label>
@@ -8806,7 +8840,7 @@
<asp:UpdatePanel class="modal-dialog" runat="server" ID="UpModalAddMedico" UpdateMode="Conditional">
<ContentTemplate>
<div class="modal-content" style="background-color: rgba(255, 255, 255, 0.0);width: 100vw!important;height: 100vh;" >
<div class="modal-content" style="background-color: rgba(255, 255, 255, 0.0); width: 100vw!important; height: 100vh;">
<UserControl:AddMedico runat="server" ID="AddMedicoControl" />
</div>
<asp:Button ID="BtnRecargaMedicos" Style="display: none;" ClientIDMode="Static" runat="server" OnClick="BtnRecargaMedicos_Click" />
@@ -8820,7 +8854,7 @@
<asp:UpdatePanel class="modal-dialog" runat="server" ID="UpModalAddProcedimiento" UpdateMode="Conditional">
<ContentTemplate>
<div class="modal-content" style="background-color: rgba(255, 255, 255, 0.0);width: 100vw!important;height: 100vh;" >
<div class="modal-content" style="background-color: rgba(255, 255, 255, 0.0); width: 100vw!important; height: 100vh;">
<UserControl:AddProcedimiento runat="server" ID="AddProcedimientoControl" />
</div>
<asp:Button ID="BtnRecargaProcedimientos" Style="display: none;" ClientIDMode="Static" runat="server" OnClick="BtnRecargaProcedimientos_Click" />
@@ -8843,6 +8877,10 @@
printJS({printable:urlPDF, type:'pdf', showModal:true});
}
function impresionBase64(pdfBase64) {
printJS({printable:pdfBase64, type:'pdf', showModal:true, base64: true});
}
function abrirDdlPS(){
$(document).ready(function() {
$('#C_Tab_TabGenerales_DdlPS > select').select2('open').next().find(':input.select2-search__field').focus();
@@ -10825,6 +10863,78 @@
$('#BtnRecargaProcedimientos').click();
}
function clickgaleria() {
initcarusel();
initcarusel2 = function () { };
}
var initcarusel = function () {
'use strict';
if ($('#js-grid-juicy-projects').data('hascube') != '1') {
$('#js-grid-juicy-projects').cubeportfolio({
filters: '#js-filters-juicy-projects',
loadMore: '#js-loadMore-juicy-projects',
loadMoreAction: 'click',
layoutMode: 'grid',
defaultFilter: '*',
animationType: 'quicksand',
gapHorizontal: 35,
gapVertical: 30,
gridAdjustment: 'responsive',
mediaQueries: [{
width: 1500,
cols: 5
}, {
width: 1100,
cols: 4
}, {
width: 800,
cols: 3
}, {
width: 480,
cols: 2
}, {
width: 320,
cols: 1
}],
caption: 'overlayBottomReveal',
displayType: 'sequentially',
displayTypeSpeed: 80,
// lightbox
lightboxDelegate: '.cbp-lightbox',
lightboxGallery: true,
lightboxTitleSrc: 'data-title',
lightboxCounter: '<div class="cbp-popup-lightbox-counter">{{current}} of {{total}}</div>',
// singlePage popup
singlePageDelegate: '.cbp-singlePage',
singlePageDeeplinking: true,
singlePageStickyNavigation: true,
singlePageCounter: '<div class="cbp-popup-singlePage-counter">{{current}} of {{total}}</div>',
singlePageCallback: function (url, element) {
// to update singlePage content use the following method: this.updateSinglePage(yourContent)
var t = this;
$.ajax({
url: url,
type: 'GET',
dataType: 'html',
timeout: 10000
})
.done(function (result) {
t.updateSinglePage(result);
})
.fail(function () {
t.updateSinglePage('AJAX Error! Please refresh the page!');
});
},
});
$('#js-grid-juicy-projects').data('hascube', '1')
}
}
var initcarusel2 = initcarusel;
</script>
</asp:Content>

View File

@@ -3171,6 +3171,11 @@ Partial Class Ventas
DivNumTurnos.Visible = True
End If
If CveVenta <= 0 AndAlso UsuarioActual.Empresa.Funcionalidad(716) = "1" Then
UpImagen.Visible = True
UpImagen.Update()
End If
'SELECCIONA VENDEDOR DEL USUARIO CUANDO SEA VENTA NUEVA Y SIN CLIENTE
'If UsuarioActual.CveVendedor > 0 Then
' If CveVenta = -1 AndAlso Not DdlVendedor.SelectedValue.ToEntero() > 0 Then DdlVendedor.SelectedValueExist(UsuarioActual.CveVendedor.ToString())
@@ -6405,6 +6410,7 @@ Partial Class Ventas
DdlMetodoCliente.DataSource = GlobalDTVtaMetodoPago
DdlMetodoCliente.DataBind()
DdlMetodoCliente.Items.Insert(0, New ListItem("Seleccione", "-1"))
If UsuarioActual.CveRol = 1 AndAlso CveMetodoPago = 1 AndAlso DdlTipoComprobante.SelectedValue = "Cot" AndAlso UsuarioActual.Empresa.Funcionalidad(558) = "1" AndAlso TbDescuentosAdicionales.Visible Then
If TmpDT.SUMD("Descuento") > 0 Then
@@ -6827,6 +6833,10 @@ Partial Class Ventas
DdlUsoCFDI.Enabled = False
RegimenFiscalCliente = "616"
ClienteCodigoRegimenFiscal = "616"
Else
If UsuarioActual.Empresa.Funcionalidad(109) = "1" Then
DdlUsoCFDI.Enabled = True
End If
End If
End If
@@ -7911,6 +7921,10 @@ Partial Class Ventas
DdlUsoCFDI.Enabled = False
RegimenFiscalCliente = "616"
ClienteCodigoRegimenFiscal = "616"
Else
If UsuarioActual.Empresa.Funcionalidad(109) = "1" Then
DdlUsoCFDI.Enabled = True
End If
End If
End If
@@ -7953,6 +7967,10 @@ Partial Class Ventas
DdlUsoCFDI.Enabled = False
RegimenFiscalCliente = "616"
ClienteCodigoRegimenFiscal = "616"
Else
If UsuarioActual.Empresa.Funcionalidad(109) = "1" Then
DdlUsoCFDI.Enabled = True
End If
End If
End If
@@ -12440,6 +12458,36 @@ Partial Class Ventas
ObjFactura.DtMercancias = DtMercancias
ObjFactura.DtImpuestosLocales = TmpDTImpuestos
'TRASPASAR PAGOS DE REMISIONES A LA FACTURA NUEVA
If UsuarioActual.Empresa.Funcionalidad(109) = "1" AndAlso ObjFactura.TipoDocto = "Ing" Then
Dim DtRemisionesPagos As DataTable = Nothing
If Me.CveVenta > 0 AndAlso TipoDoctoViejo = "Rem" Then
Dim ObjClientes As New ClsClientes
If ObjClientes.GetVentasRemisionesPagos(CveCliente, Me.CveVenta.ToString()) Then
DtRemisionesPagos = ObjClientes.DtResultados.Copy()
End If
ObjClientes.Dispose()
ElseIf Me.RemisionesLista IsNot Nothing AndAlso Me.RemisionesLista.Count > 0 Then
Dim sb As New StringBuilder
For Each CveRemision As Integer In RemisionesLista
sb.Append($"{CveRemision},")
Next
sb.Remove(sb.Length - 1, 1)
Dim ObjClientes As New ClsClientes
If ObjClientes.GetVentasRemisionesPagos(CveCliente, sb.ToString()) Then
DtRemisionesPagos = ObjClientes.DtResultados.Copy()
End If
ObjClientes.Dispose()
End If
If DtRemisionesPagos IsNot Nothing Then
ObjFactura.DtPagosFacturaGlobal = DtRemisionesPagos
End If
End If
End Sub
Private Sub CreaObjetosVentaDevolucion()
@@ -15433,6 +15481,49 @@ Partial Class Ventas
ErrorPrepoliza = True
ErrorList.Add("No se pueden facturar las remisiones, con ese tipo de comprobante seleccionado")
Else
'CANCELACION DE PAGOS DE REMISIONES
If ObjFactura.DtPagosFacturaGlobal IsNot Nothing Then
For Each DrPago As DataRow In ObjFactura.DtPagosFacturaGlobal.Rows
Dim ventaRef As ClsPaginas.Venta = Nothing
Using ObjFacturaRef As New Modelos.Factura(UsuarioActual, DrPago("CveVenta").ToString().ToEntero(), UsuarioActual.CveEmpresa, CargaDTDetalle:=False, VerificaAlmacen:=False, CargaDatosCliente:=False, CargaDatosRelacionados:=False)
ventaRef = New ClsPaginas.Venta(ObjFacturaRef, UsuarioActual)
End Using
If ventaRef IsNot Nothing Then
Dim Importe As Decimal = DrPago("Importe").ToString().ToDecimal() * -1
Dim Pago As New ClsPaginas.VentaPago
Pago.Fecha = Now
Pago.FechaDocumentoRelacionado = DrPago("FechaDocumento").ToString().ToDate
Pago.ImportePagoVenta = Importe
Pago.ImportePago = Importe
Pago.CveIE = DrPago("CveIE").ToString().ToEntero()
Pago.CveMonedaPago = DrPago("CveMoneda").ToString().ToEntero()
Pago.TCPago = DrPago("TipoCambio").ToString().ToDecimal()
Pago.AplicaTraslado = False
Pago.Referencia = DrPago("Folio").ToString()
Pago.CveVentaAmortizacion = -1
If DrPago("TipoPago").ToString() = "NC" Then
Pago.TipoPago = "NC"
Else
Pago.TipoPago = "B"
End If
ErrorPrepoliza = ClsPaginas.AplicaPrePolizaPagoVenta(ventaRef, Pago, ObjFactura.CvePrePoliza, ObjConta, AplicarConceptoAplicacion:=False)
Else
ErrorPrepoliza = True
End If
If ErrorPrepoliza Then
Exit For
End If
Next
End If
For Each CveRemision As Integer In RemisionesLista
If Not ObjConta.TraspasarSaldosRemision(CveRemision, ObjFactura.CvePrePoliza, ObjFactura.CveVenta) Then
@@ -15458,6 +15549,41 @@ Partial Class Ventas
ErrorPrepoliza = True
End If
Next
'TRASPASO DE PAGOS DE REMISIONES A FACTURA GLOBAL
If ObjFactura.DtPagosFacturaGlobal IsNot Nothing Then
Dim VentaActual As New ClsPaginas.Venta(ObjFactura, UsuarioActual)
For Each DrPago As DataRow In ObjFactura.DtPagosFacturaGlobal.Rows
Dim Importe As Decimal = DrPago("Importe").ToString().ToDecimal()
Dim Pago As New ClsPaginas.VentaPago
Pago.Fecha = Now
Pago.FechaDocumentoRelacionado = DrPago("FechaDocumento").ToString().ToDate
Pago.ImportePagoVenta = Importe
Pago.ImportePago = Importe
Pago.CveIE = DrPago("CveIE").ToString().ToEntero()
Pago.CveMonedaPago = DrPago("CveMoneda").ToString().ToEntero()
Pago.TCPago = DrPago("TipoCambio").ToString().ToDecimal()
Pago.AplicaTraslado = False
Pago.Referencia = DrPago("Folio").ToString()
Pago.CveVentaAmortizacion = DrPago("CveVenta").ToString().ToEntero()
If DrPago("TipoPago").ToString() = "NC" Then
Pago.TipoPago = "NC"
Else
Pago.TipoPago = "B"
End If
ErrorPrepoliza = ClsPaginas.AplicaPrePolizaPagoVenta(VentaActual, Pago, ObjFactura.CvePrePoliza, ObjConta, AplicarConceptoAplicacion:=False)
If ErrorPrepoliza Then
Exit For
End If
Next
End If
End If
End If
@@ -17347,6 +17473,29 @@ Partial Class Ventas
End If
If UsuarioActual.Empresa.Funcionalidad(716) = "1" Then
Dim Imagen = drPS("Imagen").ToString
Dim URLImagen As String = ""
If Not String.IsNullOrEmpty(Imagen) Then
URLImagen = String.Format("/ashx/SIGWeb.ashx?Metodo=GetImg&r={0}", Extensiones.Encripta(Imagen))
End If
If imgImagen.Attributes.Item("src") Is Nothing Then
imgImagen.Attributes.Add("src", URLImagen)
Else
imgImagen.Attributes.Item("src") = URLImagen
End If
UpImagen.Update()
If Not String.IsNullOrEmpty(Imagen) Then
RegistraScript("initcarusel();", "I1")
End If
End If
If UsuarioActual.Empresa.Funcionalidad(109) = "1" Then
AgregarPS()
End If
@@ -29067,9 +29216,8 @@ Partial Class Ventas
End If
If UsuarioActual.Empresa.Funcionalidad(109) = "1" Then
If TxtAtencionA.Text.Trim.Length = 0 Then
TxtAtencionA.Enabled = True
End If
TxtAtencionA.Enabled = True
UpCliente.Update()
End If
Catch ex As Exception
@@ -30132,12 +30280,6 @@ Partial Class Ventas
Exit Sub
End If
If UsuarioActual.Empresa.Funcionalidad(109) = "1" Then
If TxtAtencionA.Text.Trim.Length = 0 Then
TxtAtencionA.Enabled = True
End If
End If
AplicaDevolucion = True
SaldoVentaDevolucion = HplSaldoAuxiliar.Text.ToDecimal
CveVentaDevolucion = CveVenta
@@ -30210,6 +30352,11 @@ Partial Class Ventas
CargaNC(CveVenta)
CalculaTotalesVenta()
If UsuarioActual.Empresa.Funcionalidad(109) = "1" Then
TxtAtencionA.Enabled = True
UpCliente.Update()
End If
RegistraScript("$('#DivAplicaDevolucion').modal('hide')")
End Sub
@@ -37506,8 +37653,24 @@ Partial Class Ventas
End If
If ExistePDF Then
Dim urlPDF As String = $"/Ashx/SIGDesc.ashx?metodo=descargarPDFVenta&CveVenta={CveVenta}"
RegistraScript($"impresionDirecta('{urlPDF}');", "Imprimir")
Dim pdf64 As String = ""
'DUPLICA EL PDF
Using ms As New MemoryStream
Using pdfdoc As New iText.Kernel.Pdf.PdfDocument(New iText.Kernel.Pdf.PdfWriter(ms))
pdfdoc.InitializeOutlines()
Dim reporteByte As New MemoryStream(System.IO.File.ReadAllBytes(ArchivoPDF))
Dim docPDF As New iText.Kernel.Pdf.PdfDocument(New iText.Kernel.Pdf.PdfReader(reporteByte))
docPDF.CopyPagesTo(1, docPDF.GetNumberOfPages(), pdfdoc)
docPDF.CopyPagesTo(1, docPDF.GetNumberOfPages(), pdfdoc)
docPDF.Close()
pdfdoc.Close()
End Using
pdf64 = Convert.ToBase64String(ms.ToArray())
End Using
RegistraScript($"impresionBase64('{pdf64}');", "Imprimir")
Else
Alert("No se pudo imprimir el pdf directamente. favor de descargar manualmente el pdf.", TipoMensaje.MsgAdvertencia)
End If
@@ -37706,14 +37869,13 @@ Partial Class Ventas
LimpiaDocumentoDEV()
CambiaTipoDocto()
If UsuarioActual.Empresa.Funcionalidad(109) = "1" Then
If TxtAtencionA.Text.Trim.Length = 0 Then
TxtAtencionA.Enabled = True
End If
End If
CalculaTotalesVenta()
If UsuarioActual.Empresa.Funcionalidad(109) = "1" Then
TxtAtencionA.Enabled = True
UpCliente.Update()
End If
UpParametros.Update()
AplicaDevolucion = True