Crm Rep Acercamientos, Clientes Abonora seleccion por layout
This commit is contained in:
@@ -152,7 +152,8 @@ Public Class ClsMovimientos
|
||||
.Add("@FechaVencimientoF", SqlDbType.Date).Value = FechaVencimientoF
|
||||
End With
|
||||
|
||||
Try
|
||||
Try
|
||||
SqlAdapter.SelectCommand.CommandTimeout = 0
|
||||
SqlAdapter.Fill(Data)
|
||||
Retorno = True
|
||||
Catch ex As SqlException
|
||||
|
||||
Binary file not shown.
@@ -419,7 +419,7 @@
|
||||
</div>
|
||||
|
||||
<div class="form-group form-md-line-input input-iconright">
|
||||
<asp:DropDownList ID="DdlContactoPrincipal" runat="server" Width="100%" AppendDataBoundItems="true" DataTextField="Nombre" DataValueField="CveContacto" Class="form-control input-sm select2me">
|
||||
<asp:DropDownList ID="DdlContactoPrincipal" runat="server" Width="100%" AppendDataBoundItems="true" DataTextField="NombreTipoContacto" DataValueField="CveContacto" Class="form-control input-sm select2me">
|
||||
<asp:ListItem Value="-1" Text="Seleccione"></asp:ListItem>
|
||||
</asp:DropDownList>
|
||||
<label for="<%= DdlContactoPrincipal.ClientID.ToString()%>">Contacto Principal:</label>
|
||||
@@ -534,7 +534,36 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br />
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<%--END DATOS DE EMPRESA CRM --%>
|
||||
</div>
|
||||
<div class="row">
|
||||
|
||||
<div class="col-md-4"></div>
|
||||
|
||||
<div class="col-md-4">
|
||||
|
||||
<div class="portlet light xspadding bordered" >
|
||||
<div class="portlet-title">
|
||||
<div class="caption font-green">
|
||||
<i class="fa fa-refresh font-green"></i>
|
||||
<span class="caption-subject bold uppercase">Check List</span>
|
||||
</div>
|
||||
<div class="actions">
|
||||
<div class="btn-group">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="DVCheckList" class="portlet-body form">
|
||||
|
||||
<asp:UpdatePanel ID="UpChkList" runat="server" UpdateMode="Conditional">
|
||||
|
||||
<ContentTemplate>
|
||||
@@ -557,7 +586,7 @@
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
|
||||
<asp:GridView ID="GVcheklist" runat="server" GridLines="None" CssClass="table table-hover table-striped ScrollAD Widthall GVcheklist" AutoGenerateColumns="False"
|
||||
<asp:GridView ID="GVcheklist" runat="server" GridLines="None" CssClass="table table-hover table-striped ScrollAD Widthall GVcheklist mysmallbtn" AutoGenerateColumns="False"
|
||||
DataKeyNames="CveEventoCheckList,CveEvento,CveTipoEvento,EventoComentario,Estatus,CveUsuario,Usuario,FechaIng">
|
||||
<Columns>
|
||||
<asp:TemplateField HeaderText="" ItemStyle-Width="30">
|
||||
@@ -603,7 +632,9 @@
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<%--END DATOS DE EMPRESA CRM --%>
|
||||
|
||||
<div class="col-md-4"></div>
|
||||
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
</ajax:TabPanel>
|
||||
@@ -978,9 +1009,7 @@
|
||||
<asp:LinkButton runat="server" ID="LbtVerBitacoraCompleta" class="btn btn-circle btn-sm blue" Text="Ver todo" data-toggle="tooltip" OnClick="LbtVerBitacoraCompleta_Click" Style="text-decoration: none; margin-right: 5px;">
|
||||
<%--<i class="fa fa-angle-down fa-3x" style="color: #32c5d2 !important"></i>--%>
|
||||
</asp:LinkButton>
|
||||
|
||||
<a class="btn btn-circle btn-sm btn-default" href="javascript:;" data-toggle="dropdown" data-hover="dropdown" data-close-others="true" aria-expanded="false">Agregar <i class="fa fa-angle-down"></i>
|
||||
</a>
|
||||
<a class="btn btn-circle btn-sm btn-default" href="javascript:;" data-toggle="dropdown" data-hover="dropdown" data-close-others="true" aria-expanded="false">Agregar <i class="fa fa-angle-down"></i></a>
|
||||
<ul class="dropdown-menu pull-right">
|
||||
<li>
|
||||
<asp:HyperLink ID="LnkAgregarObservaciones" Text="<i class='fa fa-commenting-o'></i> Observación" data-toggle="modal" data-target="#ModalBitacora" runat="server" Style="cursor: pointer; margin-right: 5px;"></asp:HyperLink>
|
||||
@@ -990,6 +1019,14 @@
|
||||
<asp:HyperLink ID="LnkAgregarAgenda" Text="<i class='fa fa-calendar-plus-o'></i> Agenda" data-toggle="modal" data-target="#ModalAgenda" runat="server" Style="cursor: pointer; margin-right: 5px;"></asp:HyperLink>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<%-- <asp:HyperLink ID="ImgAddObs" CssClass="caption-subject bold" data-toggle="modal" data-target="#ModalBitacora" runat="server" Text=" <i class='fa fa-commenting font-green' ></i><span class='caption-subject bold'>Agregar</span>" Style="font-weight: 700 !important;cursor: pointer;" ToolTip="Observaciones"></asp:HyperLink><br />
|
||||
<asp:HyperLink ID="HlEvento" CssClass="thickbox caption-subject bold" runat="server" Text=" <i class='fa fa-calendar-plus-o font-green' ></i>Agendar" Visible="false" Style="font-weight: 700 !important;cursor: pointer;" ToolTip="Agendar"></asp:HyperLink><br />
|
||||
<asp:Literal ID="LtlTareaNueva" runat="server"></asp:Literal>
|
||||
<UserControl:TareaNueva runat="server" ID="TareaNueva" />
|
||||
<script> function OnAddedTareaNueva() { $('.btnupEventoBitacora').click(); }</script>--%>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -14,6 +14,7 @@ using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
using System.IO;
|
||||
using System.IO.Packaging;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
@@ -421,6 +422,11 @@ public partial class CRM_Acercamiento : ClsPaginas
|
||||
DivBitacora.Visible = true;
|
||||
CargaEventoBitacora(HdfEtapaSeleccionada.Value.ToEntero());
|
||||
}
|
||||
else
|
||||
{
|
||||
CargaEventoBitacora(-1);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
CargaImagenes();
|
||||
@@ -843,7 +849,8 @@ public partial class CRM_Acercamiento : ClsPaginas
|
||||
}
|
||||
|
||||
objBitacora.Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region "FINALIZACION DE ACERCAMIENTO"
|
||||
@@ -1076,16 +1083,16 @@ public partial class CRM_Acercamiento : ClsPaginas
|
||||
|
||||
if (ObjEventoBitacora.GetAgendaBitacora(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveAcercamientoCRM: CveAcercamiento))
|
||||
{
|
||||
DTEventosBitacora = ObjEventoBitacora.DtResultados.FiltraParametros("CveTipoEvento = 6 OR CveTipoEvento = 2");
|
||||
DTEventosBitacora = ObjEventoBitacora.DtResultados.FiltraParametros("[CveTipoEvento] = 6 OR [CveTipoEvento] = 2");
|
||||
if (CveEtapa == -1)
|
||||
{
|
||||
GVEventoBitacora.DataSource = DTEventosBitacora.FiltraParametros(String.Format("Archivo = '' OR Archivo IS NULL", CveEtapa));
|
||||
RptArchivosBitacora.DataSource = DTEventosBitacora.FiltraParametros(String.Format("Archivo <> ''", CveEtapa));
|
||||
GVEventoBitacora.DataSource = DTEventosBitacora.FiltraParametros(String.Format("[Archivo] = '' OR [Archivo] IS NULL OR CONVERT([Descripcion],System.String) LIKE 'Check List%'", CveEtapa));
|
||||
RptArchivosBitacora.DataSource = DTEventosBitacora.FiltraParametros(String.Format("[Archivo] <> ''", CveEtapa));
|
||||
}
|
||||
else
|
||||
{
|
||||
GVEventoBitacora.DataSource = DTEventosBitacora.FiltraParametros(String.Format("CveEtapaProcesoCRM = {0} AND ( Archivo = '' OR Archivo IS NULL)", CveEtapa));
|
||||
RptArchivosBitacora.DataSource = DTEventosBitacora.FiltraParametros(String.Format("CveEtapaProcesoCRM = {0} AND Archivo <> ''", CveEtapa));
|
||||
GVEventoBitacora.DataSource = DTEventosBitacora.FiltraParametros(String.Format("[CveEtapaProcesoCRM] = {0} AND ( [Archivo] = '' OR [Archivo] IS NULL ) OR CONVERT([Descripcion],System.String) LIKE 'Check List%'", CveEtapa));
|
||||
RptArchivosBitacora.DataSource = DTEventosBitacora.FiltraParametros(String.Format("[CveEtapaProcesoCRM] = {0} AND [Archivo] <> '' OR CONVERT([Descripcion],System.String) LIKE 'Check List%'", CveEtapa));
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -1097,6 +1104,8 @@ public partial class CRM_Acercamiento : ClsPaginas
|
||||
|
||||
GVEventoBitacora.DataBind();
|
||||
RptArchivosBitacora.DataBind();
|
||||
|
||||
UPBitacora.Update();
|
||||
}
|
||||
|
||||
protected void GVEventoBitacora_RowDataBound(object sender, GridViewRowEventArgs e)
|
||||
@@ -1182,7 +1191,10 @@ public partial class CRM_Acercamiento : ClsPaginas
|
||||
int CveEmpresaCRM = DdlEmpresaCRM.SelectedValue.ToEntero();
|
||||
int CveEtapa = HdfEtapaSeleccionada.Value.ToEntero() == -1 ? CveEtapaActual : HdfEtapaSeleccionada.Value.ToEntero();
|
||||
|
||||
if (ObjEventos.AddEventoAgenda(DdlTipoAgenda.SelectedValue.ToEntero(), TxtAsuntoAgenda.Text, TxtDescripcionAgenda.Text, DdlPrioridadAgenda.SelectedValue.ToEntero(), FechaInicio, FechaInicio, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveTipoProcesoCRM: CveTipoProceso, CveAcercamientoCRM: CveAcercamiento, CveContactoCRM: CveContactoAgendar, CveEtapaProcesoCRM: CveEtapa, CveEmpresaCRM: CveEmpresaCRM))
|
||||
|
||||
string AgendaDescripcion = $"<a class='Texto' href='/CRM/Acercamiento.aspx?CveAcercamiento={CveAcercamiento}' target='_blank' >{ TxtNombreAcercamiento.Text.Trim()}</a> {TxtDescripcionAgenda.Text.Trim()}";
|
||||
|
||||
if (ObjEventos.AddEventoAgenda(DdlTipoAgenda.SelectedValue.ToEntero(), TxtAsuntoAgenda.Text, AgendaDescripcion, DdlPrioridadAgenda.SelectedValue.ToEntero(), FechaInicio, FechaInicio, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveTipoProcesoCRM: CveTipoProceso, CveAcercamientoCRM: CveAcercamiento, CveContactoCRM: CveContactoAgendar, CveEtapaProcesoCRM: CveEtapa, CveEmpresaCRM: CveEmpresaCRM))
|
||||
{
|
||||
limpiarModalAgendar();
|
||||
RegistraScript("$('#ModalAgenda').modal('hide')");
|
||||
@@ -1845,12 +1857,15 @@ public partial class CRM_Acercamiento : ClsPaginas
|
||||
|
||||
protected void LnkAgregarchklistitem_Click(object sender, EventArgs e)
|
||||
{
|
||||
bool procesoOk = false;
|
||||
|
||||
if (TxtActividad.Text.Trim().Length > 0)
|
||||
{
|
||||
if (CveAcercamiento > 0)
|
||||
{
|
||||
using (ClsOIEventos objOI = new ClsOIEventos())
|
||||
{
|
||||
objOI.IniciaTransacSQL();
|
||||
if (objOI.Addcheklist(-1, TxtActividad.Text, UsuarioActual.CveUsuario, CveAcercamiento: CveAcercamiento))
|
||||
{
|
||||
Alert("Se agregó la actividad", ModExtensiones.TipoMensaje.ToastInformacion);
|
||||
@@ -1858,8 +1873,24 @@ public partial class CRM_Acercamiento : ClsPaginas
|
||||
{
|
||||
GVcheklist.DataSource = objOI.DtResultados;
|
||||
GVcheklist.DataBind();
|
||||
if (BitacoraCheckList(objOI.IniciaTransacSQL(), $"Check List se agrega actividad {TxtActividad.Text}", CveAcercamiento))
|
||||
{
|
||||
procesoOk = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (procesoOk)
|
||||
{
|
||||
objOI.Commit();
|
||||
CargaEventoBitacora((CveEtapaActual > 0 ? HdfEtapaSeleccionada.Value.ToEntero() : -1));
|
||||
}
|
||||
else
|
||||
{
|
||||
objOI.RollBack();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -1883,25 +1914,48 @@ public partial class CRM_Acercamiento : ClsPaginas
|
||||
{
|
||||
CheckBox chk = (CheckBox)sender;
|
||||
GridViewRow gvrow = (GridViewRow)chk.NamingContainer;
|
||||
bool procesoOk = false;
|
||||
|
||||
using (ClsOIEventos objOI = new ClsOIEventos())
|
||||
{
|
||||
string EventoComentario = gvrow.DataKey("EventoComentario");
|
||||
|
||||
objOI.IniciaTransacSQL();
|
||||
if (objOI.Upcheklist(gvrow.DataKey("CveEventoCheckList").ToEntero(), gvrow.DataKey("CveEvento").ToEntero(), gvrow.DataKey("EventoComentario"), chk.Checked, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa,
|
||||
CveAcercamiento: CveAcercamiento))
|
||||
{
|
||||
//ObjEventosCorreo o = objOI.objCorreo;
|
||||
|
||||
Alert("Se actualizó el estatus de la actividad", ModExtensiones.TipoMensaje.ToastInformacion);
|
||||
if (objOI.Getcheklist(-1, CveAcercamiento: CveAcercamiento))
|
||||
{
|
||||
GVcheklist.DataSource = objOI.DtResultados;
|
||||
GVcheklist.DataBind();
|
||||
GVcheklist.DataBind();
|
||||
|
||||
if (BitacoraCheckList(objOI.IniciaTransacSQL(), $"Check List {(chk.Checked == true ? "Se termina actividad ":" se retorna actividad") } {EventoComentario}", CveAcercamiento))
|
||||
{
|
||||
procesoOk = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (procesoOk)
|
||||
{
|
||||
objOI.Commit();
|
||||
CargaEventoBitacora((CveEtapaActual > 0 ? HdfEtapaSeleccionada.Value.ToEntero() : -1));
|
||||
}
|
||||
else
|
||||
{
|
||||
objOI.RollBack();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
protected void LnkEliminarchek_Click(object sender, EventArgs e)
|
||||
{
|
||||
bool procesoOk = false;
|
||||
|
||||
GridViewRow gvrow = (GridViewRow)((LinkButton)sender).NamingContainer;
|
||||
|
||||
if(!(CveAcercamiento > 0))
|
||||
@@ -1914,6 +1968,9 @@ public partial class CRM_Acercamiento : ClsPaginas
|
||||
{
|
||||
using (ClsOIEventos objOI = new ClsOIEventos())
|
||||
{
|
||||
objOI.IniciaTransacSQL();
|
||||
string EventoComentario = gvrow.DataKey("EventoComentario");
|
||||
|
||||
if (objOI.Removecheklist(gvrow.DataKey("CveEventoCheckList").ToEntero(), gvrow.DataKey("CveEvento").ToEntero(), UsuarioActual.CveUsuario, CveAcercamiento: CveAcercamiento))
|
||||
{
|
||||
Alert("Se ha eliminadó la actividad", ModExtensiones.TipoMensaje.ToastInformacion);
|
||||
@@ -1921,12 +1978,43 @@ public partial class CRM_Acercamiento : ClsPaginas
|
||||
{
|
||||
GVcheklist.DataSource = objOI.DtResultados;
|
||||
GVcheklist.DataBind();
|
||||
}
|
||||
|
||||
if (BitacoraCheckList(objOI.IniciaTransacSQL(), $"Check List se elimina actividad {EventoComentario}", CveAcercamiento))
|
||||
{
|
||||
procesoOk = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(procesoOk)
|
||||
{
|
||||
objOI.Commit();
|
||||
|
||||
CargaEventoBitacora((CveEtapaActual > 0? HdfEtapaSeleccionada.Value.ToEntero():-1));
|
||||
}
|
||||
else
|
||||
{
|
||||
objOI.RollBack();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private bool BitacoraCheckList(SqlTransaction sqlTransaction, string TextoRegistroBitacora, int CveAcercamientoBitacora)
|
||||
{
|
||||
bool respuesta = false;
|
||||
|
||||
ClsOIEventos objBitacora = new ClsOIEventos(sqlTransaction);
|
||||
|
||||
if (objBitacora.AddEventoBitacora(TextoRegistroBitacora, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveAcercamientoCRM: CveAcercamientoBitacora))
|
||||
{
|
||||
respuesta = true;
|
||||
}
|
||||
|
||||
return respuesta;
|
||||
}
|
||||
|
||||
protected void LnkSinfuncion_Click(object sender, EventArgs e)
|
||||
{
|
||||
// es para mandar llamar el ChkEstatus_CheckedChanged
|
||||
|
||||
@@ -18,12 +18,18 @@
|
||||
<li>
|
||||
<asp:LinkButton ID="LnkExcel" OnClick="LnkExcel_Click" runat="server" Text="<i class='fa fa-file-excel-o' style='font-weight:bold;'></i> Excel" ></asp:LinkButton>
|
||||
</li>
|
||||
<li>
|
||||
|
||||
<asp:HyperLink NavigateUrl="#" data-toggle="modal" data-target="#DivPersonalizar" ID="ImgPersonalizar" runat="server"> <i class="fa fa-pencil"></i> Personalizar</asp:HyperLink>
|
||||
</li>
|
||||
</ContentTemplate>
|
||||
<Triggers>
|
||||
<asp:PostBackTrigger ControlID="LnkPDF" />
|
||||
<asp:PostBackTrigger ControlID="LnkExcel" />
|
||||
</Triggers>
|
||||
</asp:UpdatePanel>
|
||||
|
||||
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content6" ContentPlaceHolderID="HA" runat="Server">
|
||||
</asp:Content>
|
||||
@@ -68,12 +74,15 @@
|
||||
<ajax:CalendarExtender runat="server" ID="CEFechaSolicitudF" TargetControlID="TxtFechaFin" PopupButtonID="imgFechaFin" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
|
||||
</div>
|
||||
|
||||
<label class="col-md-1" >Producto Servicio:</label>
|
||||
<div class="col-md-1">
|
||||
<div style="width:100%">
|
||||
<ADS:Dropdownlost runat="server" Width="100%" ID="DdlPS" CssClassDdl="table-group-action-input form-control input-inline input-small input-sm select2me" DataTextField="PSCodigo" DataValueField="CvePS" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<label class="col-md-1" >Etapa:</label>
|
||||
<div class="col-md-1">
|
||||
<asp:DropDownList ID="DdlEtapaProceso" Width="100%" runat="server" CssClass="form-control input-sm select2me" DataTextField="EtapaProceso" DataValueField="CveEtapaProceso">
|
||||
</asp:DropDownList>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -93,14 +102,7 @@
|
||||
<asp:ListItem Value="0">Activos</asp:ListItem>
|
||||
<asp:ListItem Value="1">En Pausa</asp:ListItem>
|
||||
</asp:DropDownList>
|
||||
</div>
|
||||
|
||||
|
||||
<label class="col-md-1" >Etapa:</label>
|
||||
<div class="col-md-1">
|
||||
<asp:DropDownList ID="DdlEtapaProceso" Width="100%" runat="server" CssClass="form-control input-sm select2me" DataTextField="EtapaProceso" DataValueField="CveEtapaProceso">
|
||||
</asp:DropDownList>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<label class="col-md-1" >Medio Captación:</label>
|
||||
<div class="col-md-1">
|
||||
@@ -114,6 +116,14 @@
|
||||
</asp:DropDownList>
|
||||
</div>
|
||||
|
||||
|
||||
<label class="col-md-1" >Producto Servicio:</label>
|
||||
<div class="col-md-2">
|
||||
<div style="width:100%">
|
||||
<ADS:Dropdownlost runat="server" Width="100%" ID="DdlPS" CssClassDdl="table-group-action-input form-control input-inline input-small input-sm select2me" DataTextField="PSCodigo" DataValueField="CvePS" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -131,46 +141,162 @@
|
||||
AutoGenerateColumns="False" EmptyDataText="No se encontraron Registros con los filtros especificados" CssClass="table table-striped table-advance table-hover Widthall mysmallbtn ScrollAD" data-sort="true" GridLines="None"
|
||||
EmptyDataRowStyle-HorizontalAlign="Center" OnRowDataBound="GVDatos_RowDataBound">
|
||||
<Columns>
|
||||
<asp:TemplateField HeaderText="Proceso" ItemStyle-Width="15%" HeaderStyle-HorizontalAlign="Left">
|
||||
<%--0--%>
|
||||
<asp:TemplateField HeaderText="Proceso" HeaderStyle-HorizontalAlign="Left">
|
||||
<ItemTemplate>
|
||||
<asp:Literal ID="LtlTipoProceso" runat="server" Text='<%# Eval("TipoProceso") %>'></asp:Literal>
|
||||
</ItemTemplate>
|
||||
<ItemStyle HorizontalAlign="Left" />
|
||||
</asp:TemplateField>
|
||||
|
||||
<asp:TemplateField ItemStyle-Width="15%" HeaderText="Acercamiento" ItemStyle-HorizontalAlign="Left">
|
||||
<%--1--%>
|
||||
<asp:TemplateField HeaderText="Acercamiento" ItemStyle-HorizontalAlign="Left">
|
||||
<ItemTemplate>
|
||||
<asp:HyperLink NavigateUrl="#" Target="_blank" ID="HplNombreAcercamiento" runat="server" Text='<%# Eval("NombreAcercamiento")%>'> </asp:HyperLink>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
|
||||
<asp:TemplateField ItemStyle-Width="15%" HeaderText="Etapa Actual" ItemStyle-HorizontalAlign="Left">
|
||||
<%--2--%>
|
||||
<asp:TemplateField HeaderText="Etapa Actual" ItemStyle-HorizontalAlign="Left">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="lblEtapaProcesoActual" runat="server" Text='<%# Eval("EtapaProcesoActual")%>'> </asp:Label>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
|
||||
<asp:TemplateField ItemStyle-Width="15%" HeaderText="Medio de Captación" ItemStyle-HorizontalAlign="Left">
|
||||
<%--3--%>
|
||||
<asp:TemplateField HeaderText="Medio de Captación" ItemStyle-HorizontalAlign="Left">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="lblMedioCaptacion" runat="server" Text='<%# Eval("MedioCaptacion")%>'> </asp:Label>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
|
||||
<asp:TemplateField ItemStyle-Width="10%" HeaderText="Vendedor" ItemStyle-HorizontalAlign="Left">
|
||||
<%--4--%>
|
||||
<asp:TemplateField HeaderText="Vendedor" ItemStyle-HorizontalAlign="Left">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="lblVendedor" runat="server" Text='<%# Eval("Vendedor")%>'> </asp:Label>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<%--5--%>
|
||||
<asp:TemplateField HeaderText="Importe" ItemStyle-HorizontalAlign="Right">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="LblImporte" runat="server" Text='<%# Eval("Importe","{0:c2}")%>'> </asp:Label>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<%--6--%>
|
||||
<asp:TemplateField HeaderText="Apertura" ItemStyle-HorizontalAlign="Center">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="LblFechaApertura" runat="server" Text='<%# Eval("FechaApertura","{0:d}")%>'> </asp:Label>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<%--7--%>
|
||||
<asp:TemplateField HeaderText="Cierre" ItemStyle-HorizontalAlign="Center">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="LblFechaCierre" runat="server" Text='<%# Eval("FechaCierre","{0:d}")%>'> </asp:Label>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<%--8--%>
|
||||
<asp:TemplateField HeaderText="Producto/Servicio" ItemStyle-HorizontalAlign="Left" Visible="false">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="LblPS" runat="server" Text='<%# Eval("PS")%>'> </asp:Label>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<%--10--%>
|
||||
<asp:TemplateField HeaderText="En Pausa" ItemStyle-HorizontalAlign="Left" Visible="false" HeaderStyle-Width="75px">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="LblStrEnPausa" runat="server" Text='<%# Eval("StrEnPausa")%>'> </asp:Label>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<%--11--%>
|
||||
<asp:TemplateField HeaderText="Giro" ItemStyle-HorizontalAlign="Left" Visible="false">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="LblGiroClasificacion" runat="server" Text='<%# Eval("GiroClasificacion")%>'> </asp:Label>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
|
||||
|
||||
<asp:BoundField ItemStyle-Width="10%" DataField="Importe" HeaderText="Importe" DataFormatString="{0:C2}" ItemStyle-HorizontalAlign="Right" />
|
||||
<asp:BoundField ItemStyle-Width="10%" DataField="FechaApertura" HeaderText="Apertura" DataFormatString="{0:g}" ItemStyle-HorizontalAlign="Center" />
|
||||
<asp:BoundField ItemStyle-Width="10%" DataField="FechaCierre" HeaderText="Cierre" DataFormatString="{0:g}" ItemStyle-HorizontalAlign="Center" />
|
||||
|
||||
</Columns>
|
||||
</asp:GridView>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
|
||||
|
||||
<asp:UpdatePanel runat="server" ID="UPPersonalizar" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
<div id="DivPersonalizar" class="modal fade" role="dialog">
|
||||
<div class="modal-dialog">
|
||||
|
||||
<!-- Modal content-->
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal">×</button>
|
||||
<h4 class="modal-title">
|
||||
<asp:Label ID="LblTitulo" runat="server" ClientIDMode="Static" Text="Personalizar Columnas"></asp:Label>
|
||||
</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<table style="width: 100%;" class="table table-striped table-advance table-hover">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="text-align: left;">
|
||||
<asp:CheckBox runat="server" ID="ChkProceso" Text="Proceso" Checked="true" />
|
||||
</td>
|
||||
<td style="text-align: left;">
|
||||
<asp:CheckBox runat="server" ID="ChkAcercamiento" Text="Acercamiento" Checked="true" />
|
||||
</td>
|
||||
<td style="text-align: left;">
|
||||
<asp:CheckBox runat="server" ID="ChkEtapa" Text=" Etapa Actual" Checked="true" />
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td style="text-align: left;">
|
||||
<asp:CheckBox runat="server" ID="ChkMedioCaptacion" Text="Medio de Captación" Checked="true" />
|
||||
</td>
|
||||
<td style="text-align: left;">
|
||||
<asp:CheckBox runat="server" ID="ChkVendedor" Text="Vendedor" Checked="true" />
|
||||
</td>
|
||||
<td style="text-align: left;">
|
||||
<asp:CheckBox runat="server" ID="ChkImporte" Text="Importe" Checked="true" />
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
|
||||
<td style="text-align: left;">
|
||||
<asp:CheckBox runat="server" ID="ChkApertura" Text="Apertura" Checked="true" />
|
||||
</td>
|
||||
<td style="text-align: left;">
|
||||
<asp:CheckBox runat="server" ID="ChkCierre" Text="Cierre" Checked="true" />
|
||||
</td>
|
||||
<td style="text-align: left;">
|
||||
<asp:CheckBox runat="server" ID="ChkPS" Text="Producto/Servicio" />
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<td style="text-align: left;">
|
||||
<asp:CheckBox runat="server" ID="ChkEnPausa" Text="En Pausa" />
|
||||
</td>
|
||||
<td style="text-align: left;">
|
||||
<asp:CheckBox runat="server" ID="ChkGiro" Text="Giro" />
|
||||
</td>
|
||||
<td style="text-align: left;"></td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<asp:LinkButton runat="server" ID="LnkPersonalizar" CssClass="btn btn-success" OnClick="LnkPersonalizar_Click" Text="Personalizar"></asp:LinkButton>
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
|
||||
</asp:Content>
|
||||
|
||||
@@ -10,6 +10,7 @@ using Microsoft.Reporting.WebForms;
|
||||
|
||||
using ADSNetLibrary.SIGAPI.Services.CRM;
|
||||
using ADSNetLibrary.SIGAPI.Models.CRM.Request;
|
||||
|
||||
//using ADSNetLibrary.SIGAPI.Helpers;
|
||||
|
||||
public partial class CRM_RepAcercamientos : ClsPaginas
|
||||
@@ -47,6 +48,7 @@ public partial class CRM_RepAcercamientos : ClsPaginas
|
||||
{
|
||||
InicializaDatos();
|
||||
CargaDatos();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -156,4 +158,37 @@ public partial class CRM_RepAcercamientos : ClsPaginas
|
||||
|
||||
ImprimirPDF("Empresas/Grales/Formatos/RepAcercamientos.rdlc", DtDatos, @params, "Reporte de Acercamientos", formato);
|
||||
}
|
||||
|
||||
protected void LnkPersonalizar_Click(object sender, EventArgs e)
|
||||
{
|
||||
PersonalizarColumnas();
|
||||
}
|
||||
|
||||
|
||||
private void PersonalizarColumnas()
|
||||
{
|
||||
|
||||
GVDatos.Columns[0].Visible = ChkProceso.Checked;
|
||||
GVDatos.Columns[1].Visible = ChkAcercamiento.Checked;
|
||||
GVDatos.Columns[2].Visible = ChkEtapa.Checked;
|
||||
GVDatos.Columns[3].Visible = ChkMedioCaptacion.Checked;
|
||||
GVDatos.Columns[4].Visible = ChkVendedor.Checked;
|
||||
GVDatos.Columns[5].Visible = ChkImporte.Checked;
|
||||
GVDatos.Columns[6].Visible = ChkApertura.Checked;
|
||||
GVDatos.Columns[7].Visible = ChkCierre.Checked;
|
||||
GVDatos.Columns[8].Visible = ChkPS.Checked;
|
||||
GVDatos.Columns[9].Visible = ChkEnPausa.Checked;
|
||||
GVDatos.Columns[10].Visible = ChkGiro.Checked;
|
||||
|
||||
|
||||
UPDatos.Update();
|
||||
|
||||
RegistraScript("$('#DivPersonalizar').modal('hide')");
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -18,6 +18,11 @@
|
||||
<li>
|
||||
<asp:HyperLink ID="HplVincularIntermediario" data-toggle="modal" data-target="#ModalVincularIntermediario" title="Vincular Intermediario" runat="server"><i class="fa fa-money"></i> Vincular Intermediario</asp:HyperLink>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<asp:LinkButton runat="server" ID="LnkAccionesModalSeleccionLayout" OnClick="LnkAccionesModalSeleccionLayout_Click" Visible="false"><i class="fa fa-file-excel-o" aria-hidden="true"></i> Cargar Layout</asp:LinkButton>
|
||||
</li>
|
||||
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</asp:Content>
|
||||
@@ -636,6 +641,54 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="ModalSeleccionLayout" class="modal ADS fade" role="dialog">
|
||||
<div class="modal-dialog">
|
||||
|
||||
<!-- Modal content-->
|
||||
<div class="modal-content">
|
||||
<div class="modal-header ">
|
||||
<button type="button" class="close" data-dismiss="ChkModalSeleccionLayout">×</button>
|
||||
<h4 class="modal-title">Cargar Layout</h4>
|
||||
</div>
|
||||
|
||||
<div class="modal-body">
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
|
||||
</div>
|
||||
<div class="col-md-4" style="text-align:right!important">
|
||||
<asp:LinkButton runat="server" ID="LnkDescargaFormato" OnClick="LnkDescargaFormato_Click" CssClass="blue Texto">
|
||||
Descargar Formato <i class="fa fa-download" aria-hidden="true"></i></asp:LinkButton>
|
||||
</div>
|
||||
</div>
|
||||
<br />
|
||||
|
||||
<asp:UpdatePanel runat="server" ID="UpModalSeleccionLayout" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-11" style="margin-left: 30px; margin-right: 30px; margin-bottom: 50px;">
|
||||
<asp:TextBox ID="TxtModalLayoutExcel" CssClass="ADSdropzone hidden" Text="" data-maxFile="1" runat="server"></asp:TextBox>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<asp:UpdatePanel runat="server" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
<asp:LinkButton ID="LnkSeleccionLayout" runat="server" CssClass="btn btn-primary" Text="Aceptar" OnClick="LnkSeleccionLayout_Click" />
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script src="/Metronic/assets/global/plugins/dropzone/dropzone.js"></script>
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
|
||||
|
||||
@@ -302,6 +302,11 @@ Partial Class Ventas_ClientesAbonar
|
||||
RVTxtFechaDocumento.MaximumValue = Now.ToString("dd/MM/yyyy")
|
||||
|
||||
|
||||
If UsuarioActual.CveEmpresa.Contiene(13, 83) Then
|
||||
LnkAccionesModalSeleccionLayout.Visible = True
|
||||
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
If (CveMonedaFiltro = 2 And ChkPagarPesos.Checked) Then
|
||||
@@ -3133,4 +3138,208 @@ Partial Class Ventas_ClientesAbonar
|
||||
#End Region
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Protected Sub LnkAccionesModalSeleccionLayout_Click(sender As Object, e As EventArgs)
|
||||
|
||||
|
||||
TxtModalLayoutExcel.Text = "[]"
|
||||
UpModalSeleccionLayout.Update()
|
||||
RegistraScript("$('#ModalSeleccionLayout').modal('show');")
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
Protected Sub LnkSeleccionLayout_Click(sender As Object, e As EventArgs)
|
||||
|
||||
Dim ProcesoOK As Boolean = True
|
||||
Dim CountRegistros As Integer = 0
|
||||
Dim TotalSeleccion As Decimal = 0D
|
||||
|
||||
Dim SBNoEncotradosEnLista As New StringBuilder
|
||||
Dim SBPagoMAyorASaldo As New StringBuilder
|
||||
|
||||
If TxtModalLayoutExcel.getfiles().Archivos.Count > 0 Then
|
||||
Dim file As Archivo = TxtModalLayoutExcel.getfiles().Archivos(0)
|
||||
Dim Directorio As String = Server.MapPath("~") & file.path
|
||||
Dim Tipo As String = If(file.Extension.Contiene("xlsx", "xlsx", "xlsm", "xlsb"), "EXCEL", "CSV")
|
||||
|
||||
|
||||
|
||||
Dim DT As New DataTable
|
||||
Dim ErrorArchivo = False
|
||||
Dim ErrorExcel = False
|
||||
|
||||
|
||||
|
||||
DT = ReadSeleccionExcelFile(Directorio + file.filename, True)
|
||||
|
||||
If Not dt.Columns(0).ColumnName.ToUpper = "FOLIO" Then
|
||||
Alert("El nombre de la primera columna debe ser 'Folio'. Favor de corregirlo", TipoMensaje.MsgAdvertencia)
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
If Not dt.Columns(1).ColumnName.ToUpper = "IMPORTE PAGO" Then
|
||||
Alert("El nombre de la segunda columna debe ser 'Importe Pago'.Favor de corregirlo", TipoMensaje.MsgAdvertencia)
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
For Each Drow As DataRow In DT.Rows
|
||||
|
||||
Dim SerieFolioBusqueda As String = Drow("Folio").ToString.Trim.ToUpper
|
||||
Dim ImportePago As Decimal = Drow("Importe Pago").ToString.ToDecimal.RoundSQL(2)
|
||||
Dim SerieFolioEncontrado As Boolean = False
|
||||
|
||||
If ImportePago > 0 Then
|
||||
|
||||
For Each GvRow As GridViewRow In GvCxC.Rows
|
||||
|
||||
Dim SerieFolioGv As String = GvRow.DataKey("SerieFolio").Trim.ToUpper
|
||||
|
||||
|
||||
If SerieFolioBusqueda = SerieFolioGv Then
|
||||
SerieFolioEncontrado = True
|
||||
Dim SaldoGV As Decimal = GvRow.DataKey("Saldo").ToDecimal
|
||||
|
||||
Dim Diferencia As Decimal = SaldoGV - ImportePago
|
||||
|
||||
If Diferencia < 0 Then
|
||||
|
||||
If Math.Abs(Diferencia) > 0.01 Then
|
||||
SBPagoMAyorASaldo.AppendLine($"Factura: {SerieFolioBusqueda} Importe de pago {ImportePago.ToString("###,###,###.00")} es mayor al saldo {SaldoGV.ToString("###,###,###.00")} <br/>")
|
||||
ProcesoOK = False
|
||||
Exit For
|
||||
Else
|
||||
ImportePago = SaldoGV
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
|
||||
Dim ChkGv As CheckBox = GvRow.FCCheckBox("Chk")
|
||||
Dim TxtAbonarGv As TextBox = GvRow.FCTextBox("TxtAbonar")
|
||||
|
||||
ChkGv.Checked = True
|
||||
TxtAbonarGv.Text = ImportePago.ToString("###,###,###.00")
|
||||
|
||||
TotalSeleccion = TotalSeleccion + ImportePago
|
||||
|
||||
|
||||
|
||||
CountRegistros = CountRegistros + 1
|
||||
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
|
||||
|
||||
If Not SerieFolioEncontrado Then
|
||||
SBNoEncotradosEnLista.AppendLine($"{SerieFolioBusqueda}<br>")
|
||||
End If
|
||||
|
||||
|
||||
End If
|
||||
Next
|
||||
|
||||
Else
|
||||
Alert("Se debe seleccionar un archivo", TipoMensaje.MsgError)
|
||||
End If
|
||||
|
||||
|
||||
|
||||
|
||||
If ProcesoOK Then
|
||||
|
||||
Alert($"Facturas seleccionadas: {CountRegistros} <br/>{SBNoEncotradosEnLista.ToString}")
|
||||
RegistraScript("$('#ModalSeleccionLayout').modal('hide');")
|
||||
TxtImporte.Text = TotalSeleccion.ToString("###,###,###.00")
|
||||
|
||||
UPVentas.Update()
|
||||
UpDatos.Update()
|
||||
Else
|
||||
|
||||
If SBPagoMAyorASaldo.ToString.Length > 0 Then
|
||||
Alert($"Facturas con pagos mayores a saldo:<br/>{SBPagoMAyorASaldo.ToString}", TipoMensaje.MsgAdvertencia)
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
Public Function ReadSeleccionExcelFile(ByVal flatFilePath As String, ByVal firstRowHasHeaders As Boolean, Optional curRow As Integer = 0) As DataTable
|
||||
GemBox.Spreadsheet.SpreadsheetInfo.SetLicense(ModExtensiones.SerialGemBoxSpreadsheet)
|
||||
Dim excelFile As GemBox.Spreadsheet.ExcelFile = GemBox.Spreadsheet.ExcelFile.Load(flatFilePath)
|
||||
|
||||
Dim unnamed As Integer = 0
|
||||
Dim cols As Integer
|
||||
Dim columns As String()
|
||||
'Dim curRow As Integer = 0
|
||||
Dim curCol As Integer = 0
|
||||
Dim dataTable As DataTable = New DataTable()
|
||||
Dim worksheet As GemBox.Spreadsheet.ExcelWorksheet = excelFile.Worksheets(0)
|
||||
|
||||
For cols = 0 To worksheet.Rows(0).AllocatedCells.Count - 1
|
||||
|
||||
If firstRowHasHeaders Then
|
||||
|
||||
If worksheet.Rows(curRow).Cells(cols).Value IsNot Nothing Then
|
||||
dataTable.Columns.Add(worksheet.Rows(curRow).Cells(cols).Value.ToString())
|
||||
Else
|
||||
dataTable.Columns.Add("Unnamed Column " & (System.Threading.Interlocked.Increment(unnamed)))
|
||||
End If
|
||||
|
||||
|
||||
Else
|
||||
dataTable.Columns.Add("Column " & (cols + 1))
|
||||
End If
|
||||
Next
|
||||
|
||||
curRow = 1
|
||||
|
||||
While curRow < worksheet.Rows.Count
|
||||
columns = New String(cols - 1) {}
|
||||
|
||||
For curCol = 0 To cols - 1
|
||||
|
||||
If worksheet.Rows(curRow).Cells(curCol).Value Is Nothing Then
|
||||
columns(curCol) = ""
|
||||
Else
|
||||
columns(curCol) = worksheet.Rows(curRow).Cells(curCol).Value.ToString()
|
||||
End If
|
||||
Next
|
||||
|
||||
dataTable.Rows.Add(columns)
|
||||
curRow += 1
|
||||
End While
|
||||
|
||||
Return dataTable
|
||||
End Function
|
||||
|
||||
|
||||
|
||||
Protected Sub LnkDescargaFormato_Click(sender As Object, e As EventArgs)
|
||||
|
||||
Dim Directorio As String = ""
|
||||
Directorio = ModExtensiones.DirectorioBaseEmpresas & "Empresas\Grales\LayoutSeleccion.xlsx"
|
||||
|
||||
If Not (Directorio = "") Then
|
||||
|
||||
Dim Archivo As New IO.FileInfo(Directorio)
|
||||
If Archivo.Exists Then
|
||||
Response.Clear()
|
||||
Response.ClearHeaders()
|
||||
Response.ClearContent()
|
||||
Response.AddHeader("Content-Disposition", "attachment; filename=" + Archivo.Name)
|
||||
Response.AddHeader("Content-Length", Archivo.Length.ToString())
|
||||
Response.ContentType = "text/plain"
|
||||
Response.Flush()
|
||||
Response.TransmitFile(Archivo.FullName)
|
||||
Response.End()
|
||||
End If
|
||||
End If
|
||||
|
||||
End Sub
|
||||
End Class
|
||||
|
||||
@@ -558,8 +558,11 @@ Partial Class Ventas_Promociones
|
||||
TieneError = True
|
||||
End If
|
||||
|
||||
|
||||
If UsuarioActual.Empresa.Funcionalidad(563) <> "" Then
|
||||
TieneError = ObjVentas.SincronizarPromocionesClonar(CvePromocion, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 1)
|
||||
If Not ObjVentas.SincronizarPromocionesClonar(CvePromocion, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 1) Then
|
||||
TieneError = True
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user