Crm hasta punto de Reportes

This commit is contained in:
Oscar Irigoyen
2022-11-04 10:58:29 -07:00
parent 799d6f900c
commit 51fb8aed2e
20 changed files with 9051 additions and 8862 deletions

View File

@@ -667,7 +667,7 @@ Public Class ClsCRM
Optional CveVendedor As Integer = -1, Optional FechaInicio As String = "-1", Optional FechaFin As String = "-1", Optional NombreAcercamiento As String = "-1",
Optional CveMedioCaptacion As Integer = -1, Optional CveRechazoMotivo As Integer = -1, Optional CveProbabilidad As Integer = -1,
Optional FechaApertura As String = "-1", Optional FechaCierre As String = "-1", Optional TopSelect As Integer = 10000, Optional CvePS As Integer = -1,
Optional CveGiroClasificacion As Integer = -1) As Boolean
Optional CveGiroClasificacion As Integer = -1, Optional EnPausa As Integer = -1, Optional CveEtapaProceso As Integer = -1) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_CRM_AcercamientoGet")
With SqlAdapter.SelectCommand.Parameters
@@ -694,6 +694,12 @@ Public Class ClsCRM
.Add("@CvePS", SqlDbType.Int).Value = CvePS
.Add("@CveGiroClasificacion", SqlDbType.Int).Value = CveGiroClasificacion
.Add("@EnPausa", SqlDbType.Int).Value = EnPausa
.Add("@CveEtapaProceso", SqlDbType.Int).Value = CveEtapaProceso
'.Add("@CveMedioCaptacion", SqlDbType.Int).Value = CveMedioCaptacion
'.Add("@CveTipoProceso", SqlDbType.Int).Value = CveTipoProceso
End With
Try
SqlAdapter.Fill(Data)
@@ -1030,7 +1036,8 @@ Public Class ClsCRM
#Region "REPORTES"
Public Function RepAcercamientosEtapas(cveEmpresa As Int32, cveTipoProceso As Int32, idgrupo1 As Int32, idgrupo2 As Int32, fechaIni As String, fechaFin As String, cveVendedor As Int32, cveMedioCaptacion As Int32, cveProbabilidadAcercamiento As Int32, Optional CvePS As Integer = -1, Optional CveGiroClasificacion As Integer = -1) As Boolean
Public Function RepAcercamientosEtapas(cveEmpresa As Int32, cveTipoProceso As Int32, idgrupo1 As Int32, idgrupo2 As Int32, fechaIni As String, fechaFin As String, cveVendedor As Int32, cveMedioCaptacion As Int32,
cveProbabilidadAcercamiento As Int32, Optional CvePS As Integer = -1, Optional CveGiroClasificacion As Integer = -1, Optional EnPausa As Integer = -1, Optional CveEtapaProceso As Integer = -1) As Boolean
Dim retorno As Boolean = False
DataAdapter("PA_CRM_RepAcercamientosEtapas", CommandType.StoredProcedure)
@@ -1046,6 +1053,13 @@ Public Class ClsCRM
.Add("@CveProbabilidadAcercamiento", SqlDbType.Int).Value = cveProbabilidadAcercamiento
.Add("@CvePS", SqlDbType.Int).Value = CvePS
.Add("@CveGiroClasificacion", SqlDbType.Int).Value = CveGiroClasificacion
.Add("@EnPausa", SqlDbType.Int).Value = EnPausa
.Add("@CveEtapaProcesoFiltro", SqlDbType.Int).Value = CveEtapaProceso '@CveEtapaProcesoFiltro
'.Add("@CveMedioCaptacion", SqlDbType.Int).Value = cveMedioCaptacion
'.Add("@CveTipoProceso", SqlDbType.Int).Value = cveTipoProceso
End With
Try
SqlAdapter.Fill(DSet)
@@ -1056,7 +1070,8 @@ Public Class ClsCRM
Return retorno
End Function
Public Function RepAcercamientosRechazos(cveEmpresa As Int32, cveTipoProceso As Int32, idgrupo1 As Int32, idgrupo2 As Int32, fechaIni As String, fechaFin As String, cveVendedor As Int32, cveMedioCaptacion As Int32, cveProbabilidadAcercamiento As Int32, Optional CvePS As Integer = -1, Optional CveGiroClasificacion As Integer = -1) As Boolean
Public Function RepAcercamientosRechazos(cveEmpresa As Int32, cveTipoProceso As Int32, idgrupo1 As Int32, idgrupo2 As Int32, fechaIni As String, fechaFin As String, cveVendedor As Int32, cveMedioCaptacion As Int32,
cveProbabilidadAcercamiento As Int32, Optional CvePS As Integer = -1, Optional CveGiroClasificacion As Integer = -1, Optional EnPausa As Integer = -1, Optional CveEtapaProceso As Integer = -1) As Boolean
Dim retorno As Boolean = False
DataAdapter("PA_CRM_RepAcercamientosRechazos", CommandType.StoredProcedure)
@@ -1072,6 +1087,10 @@ Public Class ClsCRM
.Add("@CveProbabilidadAcercamiento", SqlDbType.Int).Value = cveProbabilidadAcercamiento
.Add("@CvePS", SqlDbType.Int).Value = CvePS
.Add("@CveGiroClasificacion", SqlDbType.Int).Value = CveGiroClasificacion
.Add("@EnPausa", SqlDbType.Int).Value = EnPausa
.Add("@CveEtapaProcesoFiltro", SqlDbType.Int).Value = CveEtapaProceso
End With
Try
SqlAdapter.Fill(DSet)

BIN
Bin/ADSNetLibrary.7z Normal file

Binary file not shown.

Binary file not shown.

View File

@@ -349,6 +349,7 @@
<asp:UpdatePanel ID="UPAcercamiento" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<ajax:TabContainer ID="TabsAcercamiento" runat="server" ActiveTabIndex="0" Width="100%">
<ajax:TabPanel ID="TabDatosAcercmaiento" runat="server" HeaderText="Información de la Empresa">
<ContentTemplate>
<div class="row">
@@ -410,6 +411,21 @@
<label style="height: 83px;" for="<%= TxtDescripcion.ClientID.ToString()%>">Descripción del Proyecto:</label>
<i></i>
</div>
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlEmpresaCRM" DataTextField="Empresa" DataValueField="CveEmpresaCRM" CausesValidation="true" OnSelectedIndexChanged="DdlEmpresaCRM_SelectedIndexChanged" AutoPostBack="true" runat="server" Width="100%" AppendDataBoundItems="true" CssClass="form-control input-sm select2me"></asp:DropDownList>
<label for="<%= DdlEmpresaCRM.ClientID.ToString()%>">Empresa:</label>
<asp:RequiredFieldValidator ID="RFVEmpresaCRM" CssClass="help-block errorimput" runat="server" ControlToValidate="DdlEmpresaCRM" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Empresa''</b> es necesario." InitialValue="-1" ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
</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:ListItem Value="-1" Text="Seleccione"></asp:ListItem>
</asp:DropDownList>
<label for="<%= DdlContactoPrincipal.ClientID.ToString()%>">Contacto Principal:</label>
</div>
<div id="DivPS" runat="server" class="form-group form-md-line-input input-iconright">
<label style="color:#888888" for="<%= DdlPS.ClientID.ToString()%>">Producto Servicio:</label>
<ADS:Dropdownlost runat="server" ID="DdlPS" CssStyle="width:100%" CssClassDdl="form-control select2me" DataTextField="PSCodigo" DataValueField="CvePS" />
@@ -494,19 +510,7 @@
</div>
</div>
<div id="DivBodyProceso" class="portlet-body form">
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlEmpresaCRM" DataTextField="Empresa" DataValueField="CveEmpresaCRM" CausesValidation="true" OnSelectedIndexChanged="DdlEmpresaCRM_SelectedIndexChanged" AutoPostBack="true" runat="server" Width="100%" AppendDataBoundItems="true" CssClass="form-control input-sm select2me"></asp:DropDownList>
<label for="<%= DdlEmpresaCRM.ClientID.ToString()%>">Empresa:</label>
<asp:RequiredFieldValidator ID="RFVEmpresaCRM" CssClass="help-block errorimput" runat="server" ControlToValidate="DdlEmpresaCRM" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Empresa''</b> es necesario." InitialValue="-1" ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
</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:ListItem Value="-1" Text="Seleccione"></asp:ListItem>
</asp:DropDownList>
<label for="<%= DdlContactoPrincipal.ClientID.ToString()%>">Contacto Principal:</label>
</div>
<div id="DivBodyProceso" class="portlet-body form">
<%-- <div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlTipoProceso" DataTextField="TipoProceso" DataValueField="CveTipoProceso" CausesValidation="true" OnSelectedIndexChanged="DdlTipoProceso_SelectedIndexChanged" AutoPostBack="true" runat="server" Width="100%" AppendDataBoundItems="true" CssClass="form-control input-sm select2me"></asp:DropDownList>
@@ -521,7 +525,14 @@
<label for="<%= DdlEtapaProceso.ClientID.ToString()%>">Etapa Actual:</label>
<asp:RequiredFieldValidator ID="RFVEtapaActual" CssClass="help-block errorimput" runat="server" ControlToValidate="DdlEtapaProceso" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Etapa Actual'</b> es necesario." InitialValue="-1" ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
</div>
</div>
<div class="row">
<div class="form-group col-md-6 ">
<label>En pausa: </label>
<asp:CheckBox ID="ChkePausa" runat="server" CssClass="make-switchsd" data-size="small" Text=" " />
</div>
</div>
</div>
</div>
</div>
<%--END DATOS DE EMPRESA CRM --%>

View File

@@ -334,11 +334,12 @@ public partial class CRM_Acercamiento : ClsPaginas
TxtNombreAcercamiento.Text = objAcercamiento.Result[0].NombreAcercamiento;
TxtDescripcion.Text = objAcercamiento.Result[0].Descripcion;
TxtFechaApertura.Text = objAcercamiento.Result[0].FechaApertura.ToDateTime().ToShortDateString();
TxtFechaCierre.Text = (objAcercamiento.Result[0].FechaCierre.ToString() == "") ? "" : objAcercamiento.Result[0].FechaCierre.ToDateTime().ToShortDateString();
TxtFechaCierre.Text = (objAcercamiento.Result[0].FechaCierre.ToString() == "") || objAcercamiento.Result[0].FechaCierre.ToString().ToDate() == ModExtensiones.MinFecha ? "" : objAcercamiento.Result[0].FechaCierre.ToDateTime().ToShortDateString();
TxtImporte.Text = String.Format("{0:C2}", objAcercamiento.Result[0].Importe.ToEntero());
TxtComision.Text = String.Format("{0:C2}", objAcercamiento.Result[0].Comision.ToEntero());
DdlProbabilidadAcercamiento.SelectedValueExist(objAcercamiento.Result[0].CveProbabilidadAcercamiento);
DdlPrioridad.SelectedValueExist(objAcercamiento.Result[0].Prioridad);
ChkePausa.Checked = objAcercamiento.Result[0].EnPausa;
CargaDdl();
//SECCION DATOS DE LA EMPRESA
@@ -689,6 +690,7 @@ public partial class CRM_Acercamiento : ClsPaginas
AcercaminetoModel.FechaCierre = FechaCierre != null ? (DateTime)FechaCierre : ModExtensiones.MinFecha;
AcercaminetoModel.CvePS = DdlPS.SelectedValue.ToEntero();
AcercaminetoModel.CveRechazoMotivo = CveRechazoMotivo;
AcercaminetoModel.EnPausa = ChkePausa.Checked;
if (cRMService.AcercamientoUpdate(AcercaminetoModel))

View File

@@ -248,18 +248,25 @@
<div runat="server" id="DivContactos" style="padding: 0 10px 10px 10px;">
<asp:UpdatePanel runat="server" ID="UpContactos" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="GVContactos" runat="server" DataKeyNames="CveContacto, Nombre, TelefonoOficina, Celular, Correo, CveUsuarioIng, FechaIng" EmptyDataText="Aún no se han registrado contactos"
<asp:GridView ID="GVContactos" runat="server" DataKeyNames="CveContacto,Nombre,TelefonoOficina,Celular,Correo,CveUsuarioIng,FechaIng,CveTipoContacto" EmptyDataText="Aún no se han registrado contactos"
EmptyDataRowStyle-HorizontalAlign="Center" ToolTip="Listado de Contactos" CssClass="table table-striped table-advance table-hover ScrollAD Widthall mysmallbtn" AlternatingRowStyle-BorderStyle="None"
GridLines="None" BorderColor="#D3D3D3" BorderWidth="1" OnRowDeleting="GVContactos_RowDeleting" AutoGenerateColumns="false" OnRowDataBound="GVContactos_RowDataBound">
<Columns>
<asp:TemplateField HeaderText="Nombre" ItemStyle-Width="35%" HeaderStyle-HorizontalAlign="Left">
<asp:TemplateField HeaderText="Nombre" ItemStyle-Width="30%" HeaderStyle-HorizontalAlign="Left">
<ItemTemplate>
&nbsp;<asp:Literal ID="LtlNombreContacto" runat="server" Text='<%# Eval("Nombre", "{0}") %>'></asp:Literal>
</ItemTemplate>
<ItemStyle HorizontalAlign="Left" />
</asp:TemplateField>
<asp:TemplateField ItemStyle-Width="15%" HeaderText="Teléfono Oficina" ItemStyle-HorizontalAlign="Left">
<asp:TemplateField HeaderText="Tipo Contacto" ItemStyle-Width="10%" HeaderStyle-HorizontalAlign="Left">
<ItemTemplate>
&nbsp;<asp:Literal ID="LtlTipoContacto" runat="server" Text='<%# Eval("TipoContacto", "{0}") %>'></asp:Literal>
</ItemTemplate>
<ItemStyle HorizontalAlign="Left" />
</asp:TemplateField>
<asp:TemplateField ItemStyle-Width="10%" HeaderText="Teléfono Oficina" ItemStyle-HorizontalAlign="Left">
<ItemTemplate>
<asp:Label ID="lblTelefonoOficina" runat="server" Text='<%# Eval("TelefonoOficina")%>'> </asp:Label>
</ItemTemplate>
@@ -563,9 +570,17 @@
<asp:RegularExpressionValidator ID="REVCorreo" runat="server" CssClass="errorimput" ValidationExpression="(([a-zA-Z0-9ñÑ_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)(\s*;\s*|\s*$))*" ControlToValidate="TxtCorreo" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Email''</b> no es válido, por favor ingrése uno correcto." ValidationGroup="VGGuardarContacto"></asp:RegularExpressionValidator>--%>
<label for="<%= TxtCorreo.ClientID.ToString()%>">Correo:</label>
</div>
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlTipocontacto" runat="server" DataTextField="TipoContacto" DataValueField="CveTipoContacto" CssClass="form-control select2me" Width="50%"></asp:DropDownList>
<asp:LinkButton CssClass="btn btn-primary" runat="server" ID="LnkAgregartipoContacto" OnClick="LnkAgregartipoContacto_Click" Height="30px" style="margin-top:8px">+</asp:LinkButton>
<label for="<%= DdlTipocontacto.ClientID.ToString()%>">Tipo Contacto:</label>
</div>
</div>
<div class="modal-footer">
<asp:Button ID="BtnGuardarContacto" OnClick="BtnGuardarContacto_Click" runat="server" Text="Guardar" CssClass="btn btn-primary" ValidationGroup="VGGuardarContacto" />
<asp:Button ID="BtnGuardarContacto" OnClick="BtnGuardarContacto_Click" runat="server" Text="Guardar" CssClass="btn btn-primary mysmallbtn" ValidationGroup="VGGuardarContacto" />
<button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
</div>
</div>
@@ -574,6 +589,73 @@
</div>
<%-- END MODAL AGREGAR CONTACTO --%>
<%-- MODAL TIPO CONTACTO --%>
<div id="DivModalTipoContacto" class="modal ADS fade" role="dialog">
<asp:UpdatePanel class="modal-dialog" runat="server" ID="UpModalTipoContacto" UpdateMode="Conditional">
<ContentTemplate>
<div class="modal-content">
<div class="modal-header ">
<h4 class="modal-title">
<asp:Literal ID="LtlmodalTituloTipoContacto" Text="Tipo Contacto" runat="server"> </asp:Literal>
</h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-4">
Tipo Contacto:
</div>
<div class="col-md-4">
<asp:TextBox runat="server" ID="TxtTipoContacto" MaxLength="50" CssClass="form-control" ValidationGroup="GrpTipoContacto" ></asp:TextBox>
<asp:RequiredFieldValidator ID="RfvTxtTipoContacto" runat="server" CssClass="help-block errorimput" Display="Dynamic" ControlToValidate="TxtTipoContacto" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Tipo Contacto''</b> es necesario, por favor ingréselo." ValidationGroup="GrpTipoContacto"></asp:RequiredFieldValidator>
</div>
<div class="col-md-4" style="text-align:left!important">
<asp:Button Text="Agregar" runat="server" ID="btnAgregarTipoContacto" OnClick="btnAgregarTipoContacto_Click" CssClass="btn btn-primary"
ValidationGroup="GrpTipoContacto"/>
</div>
</div>
<br />
<div class="row">
<div class="col-md-12">
<asp:GridView ID="GvModalTipoContacto" runat="server" AutoGenerateColumns="False" EmptyDataText="No se encontraron datos" EmptyDataRowStyle-HorizontalAlign="Center"
CssClass="table table-striped table-advance table-hover Widthall ScrollAD mysmallbtn" GridLines="None" Width="100%"
DataKeyNames="CveTipoContacto,TipoContacto" >
<Columns>
<asp:TemplateField HeaderText="Tipo Contacto">
<ItemTemplate>
<asp:Literal ID="LtlTipoConcato" runat="server" Text='<%# Eval("TipoContacto") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Eliminar" ItemStyle-Width="80px">
<ItemTemplate>
<asp:LinkButton ID="LnkEliminarTipoContacto" runat="server" OnClick="LnkEliminarTipoContacto_Click"
AlternateText="Eliminar" CausesValidation="False" CommandName="Delete"
CssClass="btn btn-circle btn-sm red" Text="<i class='icon-trash'></i>" data-toggle="confirmation" data-popout="true" data-original-title="¿Desea eliminar este contacto?" data-btn-ok-label="si" >
</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Cerrar</button>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<%-- END MODAL TIPO CONTACTO --%>
<%-- MODAL AGREGAR ACERCAMIENTO --%>
<div id="DivModalAltaAcercamiento" class="modal ADS fade" role="dialog">
<asp:UpdatePanel class="modal-dialog" runat="server" ID="UpAltaAcercamiento" UpdateMode="Conditional">
@@ -633,22 +715,43 @@
</div>
</div>
<div class="form-group form-md-line-input input-iconright" style="padding: 0;">
<div class="row">
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright" style="padding: 0;">
<div runat="server" id="DivFechaApertura" class="input-group input-sm input-small date date-picker" data-date-format="dd/mm/yyyy">
<asp:TextBox ID="TxtFechaApertura" Text="<%= DateTime.Now.ToShortDateString();%>" runat="server" Style="margin-left: -5px;" CssClass="form-control" Width="121px" MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="imgCalendarioFechaApertura" class="btn default" Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
<label for="<%= TxtFechaApertura.ClientID.ToString()%>" style="width: 125px !important;"><span style="color: #F3565D">*</span> Apertura:</label>
<div runat="server" id="DivFechaApertura" class="input-group input-sm input-small date date-picker" data-date-format="dd/mm/yyyy">
<asp:TextBox ID="TxtFechaApertura" Text="<%= DateTime.Now.ToShortDateString();%>" runat="server" Style="margin-left: -5px;" CssClass="form-control" Width="121px" MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="imgCalendarioFechaApertura" class="btn default" Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
<label for="<%= TxtFechaApertura.ClientID.ToString()%>" style="width: 125px !important;"><span style="color: #F3565D">*</span> Apertura:</label>
</div>
<asp:RequiredFieldValidator ID="RFVTxtFechaApertura" runat="server" CssClass="help-block errorimput" ControlToValidate="TxtFechaApertura" ErrorMessage="El campo <b>''Fecha de Apertura''</b> es necesario." ValidationGroup="VGAcercamiento"></asp:RequiredFieldValidator>
<ajax:MaskedEditExtender ID="MEETxtFechaApertura" runat="server" TargetControlID="TxtFechaApertura" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender ID="CETxtFechaApertura" runat="server" TargetControlID="TxtFechaApertura" PopupButtonID="imgCalendarioFechaApertura" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:RangeValidator ID="RVFechaApertura" runat="server" CssClass="help-block errorimput" ErrorMessage="La <b>''Fecha de Apertura''</b> esta fuera de rango." ControlToValidate="TxtFechaApertura" Type="Date"></asp:RangeValidator>
</div>
</div>
<asp:RequiredFieldValidator ID="RFVTxtFechaApertura" runat="server" CssClass="help-block errorimput" ControlToValidate="TxtFechaApertura" ErrorMessage="El campo <b>''Fecha de Apertura''</b> es necesario." ValidationGroup="VGAcercamiento"></asp:RequiredFieldValidator>
<ajax:MaskedEditExtender ID="MEETxtFechaApertura" runat="server" TargetControlID="TxtFechaApertura" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender ID="CETxtFechaApertura" runat="server" TargetControlID="TxtFechaApertura" PopupButtonID="imgCalendarioFechaApertura" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:RangeValidator ID="RVFechaApertura" runat="server" CssClass="help-block errorimput" ErrorMessage="La <b>''Fecha de Apertura''</b> esta fuera de rango." ControlToValidate="TxtFechaApertura" Type="Date"></asp:RangeValidator>
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright" style="padding: 0;">
<div runat="server" id="Div3" class="input-group input-sm input-small date date-picker" data-date-format="dd/mm/yyyy">
<asp:TextBox ID="TxtFechaCierre" runat="server" Style="margin-left: -5px;" CssClass="form-control" Width="121px" MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="LnkImgTxtFechaCierre" class="btn default" Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
<label for="<%= TxtFechaCierre.ClientID.ToString()%>" style="width: 125px !important;">Cierre:</label>
</div>
<%--<asp:RequiredFieldValidator ID="RfvTxtFechaCierre" runat="server" CssClass="help-block errorimput" ControlToValidate="TxtFechaCierre" ErrorMessage="El campo <b>''Fecha de Cierre''</b> es necesario." ValidationGroup="VGAcercamiento"></asp:RequiredFieldValidator>--%>
<ajax:MaskedEditExtender ID="METxtFechaCierre" runat="server" TargetControlID="TxtFechaCierre" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender ID="CeTxtFechaCierre" runat="server" TargetControlID="TxtFechaCierre" PopupButtonID="LnkImgTxtFechaCierre" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
</div>
</div>
</div>
<div class="row">
<div id="DivImporte" runat="server" class="form-group col-md-6 form-md-line-input input-iconright" >

View File

@@ -5,6 +5,7 @@ using ADSNetLibrary.SIGAPI.Models.Ventas.Request;
using ADSNetLibrary.SIGAPI.Services;
using ADSNetLibrary.SIGAPI.Services.CRM;
using ADSNetLibrary.SIGAPI.Services.Encuestas;
using Extensiones;
using MoreLinq;
using System;
@@ -938,6 +939,8 @@ public partial class CRM_EmpresaCRM : ClsPaginas
TempDTContactos.Columns.Add("FechaIng", typeof(string));
TempDTContactos.Columns.Add("CveContacto", typeof(string));
TempDTContactos.Columns.Add("CveTipoContacto", typeof(string));
TempDTContactos.Columns.Add("TipoContacto", typeof(string));
GVContactos.DataSource = TempDTContactos;
GVContactos.DataBind();
@@ -996,6 +999,7 @@ public partial class CRM_EmpresaCRM : ClsPaginas
TxtTelefonoOficina.Text = "";
TxtCelular.Text = "";
TxtCorreo.Text = "";
DdlTipocontacto.SelectedValueExist(-1);
}
protected void BtnAgregarContacto_Click(object sender, EventArgs e)
@@ -1004,6 +1008,8 @@ public partial class CRM_EmpresaCRM : ClsPaginas
limpiarCamposModalContato();
UPModalContacto.Update();
CargaGridTipoContacto();
this.RegistraScript("$('#DivModalContacto').modal();");
}
@@ -1020,11 +1026,15 @@ public partial class CRM_EmpresaCRM : ClsPaginas
TxtTelefonoOficina.Text = GvRow.DataKey("TelefonoOficina").ToString();
TxtCelular.Text = GvRow.DataKey("Celular").ToString();
TxtCorreo.Text = GvRow.DataKey("Correo").ToString();
DdlTipocontacto.SelectedValueExist( GvRow.DataKey("CveTipoContacto").ToString());
IndexDTContacto = GvRow.RowIndex;
CargaGridTipoContacto();
UPModalContacto.Update();
this.RegistraScript("$('#DivModalContacto').modal();");
}
@@ -1057,6 +1067,7 @@ public partial class CRM_EmpresaCRM : ClsPaginas
contacto.Correo = Correo;
contacto.CveEmpresaCRM = CveEmpresaCRM;
contacto.CveUsuarioIng = CveUsuarioIng;
contacto.CveTipoContacto = DdlTipocontacto.SelectedValue.ToEntero();
if (cRMService.EmpresasCRMContactoAdd(contacto))
{
@@ -1088,6 +1099,7 @@ public partial class CRM_EmpresaCRM : ClsPaginas
contacto.Correo = Correo;
contacto.CveContacto = CveContactoEditado;
contacto.CveUsuarioIng = CveUsuarioIng;
contacto.CveTipoContacto = DdlTipocontacto.SelectedValue.ToEntero();
if (cRMService.EmpresasCRMContactoUpdate(contacto))
{
@@ -1580,6 +1592,7 @@ public partial class CRM_EmpresaCRM : ClsPaginas
TxtAcercamiento.Text = "";
TxtDescripcionAcercamiento.Text = "";
TxtFechaApertura.Text = DateTime.Now.ToShortDateString();
TxtFechaCierre.Text = "";
TxtImporte.Text = "0.00";
TxtComision.Text = "0.00";
@@ -1651,6 +1664,7 @@ public partial class CRM_EmpresaCRM : ClsPaginas
int CveRechazoMotivo = -1;
DateTime FechaApertura = TxtFechaApertura.Text.ToDateTime();
DateTime FechaCierre = TxtFechaCierre.Text.ToDateTime();
Double Importe = TxtImporte.Text.ToDouble();
Double Comision = TxtComision.Text.ToDouble();
@@ -1673,8 +1687,8 @@ public partial class CRM_EmpresaCRM : ClsPaginas
CveMedioCaptacion = CveMedioCaptacion,
CveRechazoMotivo = CveRechazoMotivo,
CveProbabilidadAcercamiento = CveProbabilidadAcercamiento,
FechaApertura = FechaApertura,
FechaCierre = (DateTime)System.Data.SqlTypes.SqlDateTime.Null,
FechaApertura = FechaApertura,
FechaCierre = FechaCierre > ModExtensiones.MinFecha ? FechaCierre : (DateTime)System.Data.SqlTypes.SqlDateTime.Null,
NombreAcercamiento = NombreAcercamiento,
Descripcion = Descripcion,
Importe = Importe,
@@ -1833,4 +1847,109 @@ public partial class CRM_EmpresaCRM : ClsPaginas
DdlGiroClasificacion.Items.Insert(0, new ListItem("Seleccione", "-1"));
DdlGiroClasificacion.SelectedValueExist(CveGiroClasificacion);
}
#region "TIPO CONTACTO"
protected void LnkAgregartipoContacto_Click(object sender, EventArgs e)
{
CargaGridTipoContacto();
RegistraScript("$('#DivModalTipoContacto').modal('show');");
}
private void LimpiaTipoContacto()
{
TxtTipoContacto.Text = "";
UpModalTipoContacto.Update();
}
private void CargaGridTipoContacto()
{
DdlTipocontacto.Items.Clear();
DdlTipocontacto.SelectedValue = null;
ICRMService cRMService = new CRMService(System.Configuration.ConfigurationManager.ConnectionStrings["Conexion"].ConnectionString);
RequestTipoContacto requestTipoContacto = new RequestTipoContacto(-1,"-1",-1,UsuarioActual.CveEmpresa);
var ObjTIpocontacto = cRMService.TipoContactoGet(requestTipoContacto);
if (ObjTIpocontacto.Result.Count > 0)
{
GvModalTipoContacto.DataSource = ObjTIpocontacto.Result;
DdlTipocontacto.DataSource = ObjTIpocontacto.Result;
}
GvModalTipoContacto.DataBind();
DdlTipocontacto.DataBind();
DdlTipocontacto.Items.Insert(0, new ListItem("Seleccione Uno", "-1"));
UpModalTipoContacto.Update();
UPModalContacto.Update();
cRMService = null;
}
protected void btnAgregarTipoContacto_Click(object sender, EventArgs e)
{
bool ErrorProceso = false;
ICRMService cRMService = new CRMService(System.Configuration.ConfigurationManager.ConnectionStrings["Conexion"].ConnectionString);
TipoContactoModel TipoContacto = new TipoContactoModel();
TipoContacto.TipoContacto = TxtTipoContacto.Text;
TipoContacto.CveUsuario = UsuarioActual.CveUsuario;
TipoContacto.CveEmpresa = UsuarioActual.CveEmpresa;
if (!cRMService.TipoContactoAdd(TipoContacto))
{
Alert("Se presento un error al agregar el tipo de contacto", ModExtensiones.TipoMensaje.MsgAdvertencia);
}
if (!ErrorProceso)
{
CargaGridTipoContacto();
LimpiaTipoContacto();
}
}
protected void LnkEliminarTipoContacto_Click(object sender, EventArgs e)
{
bool ErrorProceso = false;
GridViewRow GvRow = (GridViewRow)(((LinkButton)sender).NamingContainer);
int CveTipoContactoEliminar = GvRow.DataKey("CveTipoContacto").ToEntero();
ICRMService cRMService = new CRMService(System.Configuration.ConfigurationManager.ConnectionStrings["Conexion"].ConnectionString);
TipoContactoModel TipoContacto = new TipoContactoModel();
TipoContacto.CveTipoContacto = CveTipoContactoEliminar;
TipoContacto.CveEmpresa = UsuarioActual.CveEmpresa;
if (cRMService.TipoContactoRemove(TipoContacto))
{
Alert("Tipo Contacto eliminado correctamente.");
}else{
Alert("Se presento un error al eliminar el tipo de contacto.", ModExtensiones.TipoMensaje.MsgAdvertencia);
}
if (!ErrorProceso)
{
CargaGridTipoContacto();
}
}
#endregion
}

View File

@@ -30,7 +30,7 @@
<asp:Content ID="Content7" ContentPlaceHolderID="C" runat="Server">
<asp:UpdatePanel ID="UPFiltros" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div id="DivFiltros" class="portlet solid grey-cascade portlet-filter">
<div id="DivFiltros" class="portlet solid grey-cascade portlet-filter" id="dvFiltros">
<div class="portlet-title portlet-filterT smalltitle">
<div class="tools">
<asp:Button ID="BtnConsultar" runat="server" Text="Consultar" OnClick="BtnConsultar_Click" class="btn btn-primary" ValidationGroup="Valida" />
@@ -39,14 +39,14 @@
<div class="titlefiltros caption">
<div class="row" style="margin-left: 10px;">
<label class="col-md-1 " style="width: 90px; margin-top: 5px;">Vendedor:</label>
<div class="col-md-2">
<label class="col-md-1 " >Vendedor:</label>
<div class="col-md-1">
<asp:DropDownList ID="DdlVendedor" runat="server" Width="100%" AppendDataBoundItems="true" DataTextField="Vendedor" DataValueField="CveVendedor" Class="table-group-action-input form-control input-inline input-small input-sm select2me"></asp:DropDownList>
</div>
<label class="col-md-1 " style="width: 90px; margin-top: 5px;">Fecha Inicio:</label>
<div class="col-md-2">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 138px !important; padding: 0px; margin-bottom: -10px;">
<label class="col-md-1 " >Fecha Inicio:</label>
<div class="col-md-1">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 100px !important; padding: 0px; margin-bottom: -10px;">
<asp:TextBox ID="TxtFechaInicio" runat="server" CssClass="form-control" CausesValidation="true" Width="98%" MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="imgFechaInicio" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
@@ -56,9 +56,9 @@
<ajax:CalendarExtender runat="server" ID="CEFechaSolicitudI" TargetControlID="TxtFechaInicio" PopupButtonID="imgFechaInicio" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
</div>
<label class="col-md-1 " style="width: 90px; margin-top: 5px;">Fecha Fin:</label>
<div class="col-md-2">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 138px !important; padding: 0px; margin-bottom: -10px;">
<label class="col-md-1 " >Fecha Fin:</label>
<div class="col-md-1">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 100px !important; padding: 0px; margin-bottom: -10px;">
<asp:TextBox ID="TxtFechaFin" runat="server" CssClass="form-control" CausesValidation="true" Width="98%" MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="imgFechaFin" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
@@ -68,8 +68,8 @@
<ajax:CalendarExtender runat="server" ID="CEFechaSolicitudF" TargetControlID="TxtFechaFin" PopupButtonID="imgFechaFin" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
</div>
<label class="col-md-1" style="width: 115px; margin-top: 5px;">Producto Servicio:</label>
<div class="col-md-2">
<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>
@@ -80,10 +80,40 @@
</div>
<div class="portlet-body" style="display: none;">
<div class="row" style="margin-left: 10px; margin-top: 10px;">
<label class="col-md-1" style="width: 90px;"">Giro:</label>
<div class="col-md-2">
<label class="col-md-1">Giro:</label>
<div class="col-md-1">
<asp:DropDownList ID="DdlGiroClasificacion" Width="100%" runat="server" DataValueField="CveClienteClasificacion" DataTextField="ClienteClasificacion" AppendDataBoundItems="true" CssClass="form-control input-sm select2me"></asp:DropDownList>
</div>
<label class="col-md-1" >En Pausa:</label>
<div class="col-md-1">
<asp:DropDownList ID="DdlEnPausa" Width="100%" runat="server" CssClass="form-control input-sm select2me" >
<asp:ListItem Value="-1">Todo</asp:ListItem>
<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>
<label class="col-md-1" >Medio Captación:</label>
<div class="col-md-1">
<asp:DropDownList ID="DdlMedioCaptacion" Width="100%" runat="server" CssClass="form-control input-sm select2me" DataTextField="MedioCaptacion" DataValueField="CveMedioCaptacion">
</asp:DropDownList>
</div>
<label class="col-md-1" >Tipo Proceso:</label>
<div class="col-md-1">
<asp:DropDownList ID="DdlTipoProceso" Width="100%" runat="server" CssClass="form-control input-sm select2me" DataTextField="TipoProceso" DataValueField="CveTipoProceso">
</asp:DropDownList>
</div>
</div>
</div>
</div>

View File

@@ -8,6 +8,10 @@ using Extensiones;
using System.Data;
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
{
#region "PROPIEDADES"
@@ -58,8 +62,12 @@ public partial class CRM_RepAcercamientos : ClsPaginas
string FechaInicio = TxtFechaInicio.Text == "" ? "-1" : TxtFechaInicio.Text;
string FechaFin = TxtFechaFin.Text == "" ? "-1" : TxtFechaFin.Text;
int CvePS = DdlPS.SelectedValue.ToEntero() == 0 ? -1 : DdlPS.SelectedValue.ToEntero();
ClsCRM ObjCRM = new ClsCRM();
if (ObjCRM.GetAcercamiento(UsuarioActual.CveEmpresa, CveVendedor: CveVendedor, FechaInicio: FechaInicio, FechaFin: FechaFin, CvePS: CvePS, CveGiroClasificacion:DdlGiroClasificacion.SelectedValue.ToEntero()))
if (ObjCRM.GetAcercamiento(UsuarioActual.CveEmpresa, CveVendedor: CveVendedor, FechaInicio: FechaInicio, FechaFin: FechaFin, CvePS: CvePS,
CveGiroClasificacion: DdlGiroClasificacion.SelectedValue.ToEntero(), CveMedioCaptacion: DdlMedioCaptacion.SelectedValue.ToEntero(), CveTipoProceso: DdlTipoProceso.SelectedValue.ToEntero(),
EnPausa: DdlEnPausa.SelectedValue.ToEntero(), CveEtapaProceso: DdlEtapaProceso.SelectedValue.ToEntero()))
{
GVDatos.DataSource = ObjCRM.DtResultados;
DtDatos = ObjCRM.DtResultados;
@@ -100,6 +108,23 @@ public partial class CRM_RepAcercamientos : ClsPaginas
DdlGiroClasificacion.DataSource = dtGiroClasificaciones;
DdlGiroClasificacion.DataBind();
DdlGiroClasificacion.Items.Insert(0, new ListItem("Seleccione", "-1"));
ICRMService cRMService = new CRMService(System.Configuration.ConfigurationManager.ConnectionStrings["Conexion"].ConnectionString);
RequestEtapaProceso EtapaProceso = new RequestEtapaProceso(UsuarioActual.CveEmpresa, 1, -1);
RequestMedioCaptacion MedioCaptacion = new RequestMedioCaptacion(UsuarioActual.CveEmpresa);
RequestTipoProceso tipoProceso = new RequestTipoProceso(UsuarioActual.CveEmpresa, 1, -1);
DdlEtapaProceso .DataSource = ADSNetLibrary.SIGAPI.Helpers.ExtensionMethods.ToDataTable(cRMService.GetEtapaProcesoCRM(EtapaProceso).Result);
DdlMedioCaptacion.DataSource = ADSNetLibrary.SIGAPI.Helpers.ExtensionMethods.ToDataTable( cRMService.GetMedioCaptacionCRM(MedioCaptacion).Result);
DdlTipoProceso.DataSource = ADSNetLibrary.SIGAPI.Helpers.ExtensionMethods.ToDataTable(cRMService.GetTipoProcesoCRM(tipoProceso).Result);
DdlEtapaProceso.DataBind();
DdlMedioCaptacion.DataBind();
DdlTipoProceso.DataBind();
DdlEtapaProceso.Items.Insert(0,new ListItem("Todas", "-1"));
DdlMedioCaptacion.Items.Insert(0, new ListItem("Todos", "-1"));
DdlTipoProceso.Items.Insert(0, new ListItem("Todos", "-1"));
}
#endregion

View File

@@ -58,7 +58,7 @@
<asp:Content ID="Content7" ContentPlaceHolderID="C" runat="Server">
<asp:UpdatePanel ID="upDatosRepA" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="portlet solid grey-cascade portlet-filter">
<div class="portlet solid grey-cascade portlet-filter" id="dvFiltros">
<div class="portlet-title portlet-filterT smalltitle">
<div class="tools">
<asp:Button ID="BtnConsultar" runat="server" Text="Consultar" OnClick="LnkConsultar_Click" class="btn btn-primary" ValidationGroup="Valida" />
@@ -66,23 +66,23 @@
</div>
<div class="titlefiltros caption">
<div class="row" style="margin-left: 10px;">
<asp:Label class="col-md-1 " style="width: 100px; margin-top: 5px;" runat="server" Text="Proceso:" AssociatedControlID="DdlTipoProceso"></asp:Label>
<div class="col-md-2">
<asp:Label class="col-md-1 " runat="server" Text="Proceso:" AssociatedControlID="DdlTipoProceso"></asp:Label>
<div class="col-md-1">
<asp:DropDownList ID="DdlTipoProceso" runat="server" DataTextField="TipoProceso" DataValueField="CveTipoProceso" CssClass="form-control input-sm select2me Widthall"></asp:DropDownList>
</div>
<asp:Label class="col-md-1 " style="width: 90px; margin-top: 5px;" runat="server" Text="Vendedor:" AssociatedControlID="DdlVendedor"></asp:Label>
<div class="col-md-2">
<asp:Label class="col-md-1 " runat="server" Text="Vendedor:" AssociatedControlID="DdlVendedor"></asp:Label>
<div class="col-md-1">
<asp:DropDownList ID="DdlVendedor" runat="server" DataTextField="Vendedor" DataValueField="CveVendedor" CssClass="form-control input-sm select2me Widthall"></asp:DropDownList>
</div>
<asp:Label class="col-md-1 " style="width: 90px; margin-top: 5px;" runat="server" Text="Medio de Captación:" AssociatedControlID="DdlMedioCaptacion"></asp:Label>
<div class="col-md-2">
<asp:Label class="col-md-1 " runat="server" Text="Medio de Captación:" AssociatedControlID="DdlMedioCaptacion"></asp:Label>
<div class="col-md-1">
<asp:DropDownList ID="DdlMedioCaptacion" runat="server" DataTextField="MedioCaptacion" DataValueField="CveMedioCaptacion" CssClass="form-control input-sm select2me Widthall"></asp:DropDownList>
</div>
<asp:Label class="col-md-1 " style="width: 90px; margin-top: 5px;" runat="server" Text="Probabilidad:" AssociatedControlID="DdlProbabilidad"></asp:Label>
<div class="col-md-2">
<asp:Label class="col-md-1 " runat="server" Text="Probabilidad:" AssociatedControlID="DdlProbabilidad"></asp:Label>
<div class="col-md-1">
<asp:DropDownList ID="DdlProbabilidad" runat="server" DataTextField="ProbabilidadAcercamiento" DataValueField="CveProbabilidadAcercamiento" CssClass="form-control input-sm select2me Widthall"></asp:DropDownList>
</div>
</div>
@@ -90,8 +90,9 @@
</div>
<div class="portlet-body" style="display: none;">
<div class="row" style="margin-left: 10px; margin-top: 10px;">
<asp:Label class="col-md-1 " style="width: 100px; margin-top: 5px;" runat="server" Text="Agrupado Por:" AssociatedControlID="DdlGrupo1"></asp:Label>
<div class="col-md-2">
<asp:Label class="col-md-1 " runat="server" Text="Agrupado Por:" AssociatedControlID="DdlGrupo1"></asp:Label>
<div class="col-md-1">
<asp:DropDownList ID="DdlGrupo1" runat="server" Width="100%" CssClass="form-control input-sm select2me Widthall">
<asp:ListItem Value="1" Text="Vendedor" Selected="true"></asp:ListItem>
<asp:ListItem Value="2" Text="Medio de Captación"></asp:ListItem>
@@ -103,8 +104,8 @@
</asp:DropDownList>
</div>
<asp:Label class="col-md-1 " style="width: 110px; margin-top: 5px; display: none;" runat="server" Text="Agrupado Por(2):" AssociatedControlID="DdlGrupo2"></asp:Label>
<div class="col-md-2" style="display: none;">
<asp:Label class="col-md-1 " style=" display: none;" runat="server" Text="Agrupado Por(2):" AssociatedControlID="DdlGrupo2"></asp:Label>
<div class="col-md-1" style="display: none;">
<asp:DropDownList ID="DdlGrupo2" runat="server" Width="100%" CssClass="form-control input-sm select2me Widthall">
<asp:ListItem Value="-1" Text="Ninguno" Selected="True"></asp:ListItem>
<asp:ListItem Value="1" Text="Vendedor"></asp:ListItem>
@@ -115,7 +116,7 @@
</asp:DropDownList>
</div>
<asp:Label class="col-md-1 " style="width: 90px; margin-top: 5px;" runat="server" Text="Fecha Inicio:" AssociatedControlID="TxtFechaInicio"></asp:Label>
<asp:Label class="col-md-1 " runat="server" Text="Fecha Inicio:" AssociatedControlID="TxtFechaInicio"></asp:Label>
<div class="col-sm-1">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 120px !important; padding: 0px; margin-top:5px">
<asp:TextBox ID="TxtFechaInicio" runat="server" CssClass="form-control" CausesValidation="true" Width="98%" MaxLength="10"></asp:TextBox>
@@ -127,7 +128,7 @@
<ajax:CalendarExtender runat="server" ID="CEFechaSolicitudI" TargetControlID="TxtFechaInicio" PopupButtonID="imgFechaInicio" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
</div>
<asp:Label class="col-md-1 " style="width: 90px; margin-top: 5px;" runat="server" Text="Fecha Fin:" AssociatedControlID="TxtFechaFin"></asp:Label>
<asp:Label class="col-md-1 " runat="server" Text="Fecha Fin:" AssociatedControlID="TxtFechaFin"></asp:Label>
<div class="col-sm-1">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 120px !important; padding: 0px; margin-top:5px">
<asp:TextBox ID="TxtFechaFin" runat="server" CssClass="form-control" CausesValidation="true" Width="98%" MaxLength="10"></asp:TextBox>
@@ -138,18 +139,49 @@
<ajax:MaskedEditExtender ID="MEEFechaSolicitudF" runat="server" TargetControlID="TxtFechaFin" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CEFechaSolicitudF" TargetControlID="TxtFechaFin" PopupButtonID="imgFechaFin" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
</div>
</div>
<div class="row">
<asp:Label class="col-md-1 " style="width: 124px; margin-top: 5px;" runat="server" Text="Producto Servicio:" AssociatedControlID="DdlPS"></asp:Label>
<div class="col-md-2">
<asp:Label class="col-md-1 " runat="server" Text="Producto Servicio:" AssociatedControlID="DdlPS"></asp:Label>
<div class="col-md-1">
<ADS:Dropdownlost runat="server" ID="DdlPS" CssStyle="width:100%" CssClassDdl="form-control select2me" DataTextField="PSCodigo" DataValueField="CvePS" />
</div>
<asp:Label class="col-md-1 " style="width: 90px; margin-top: 5px;" runat="server" Text="Giro:" AssociatedControlID="DdlGiroClasificacion"></asp:Label>
<div class="col-md-2">
<asp:Label class="col-md-1 " runat="server" Text="Giro:" AssociatedControlID="DdlGiroClasificacion"></asp:Label>
<div class="col-md-1">
<asp:DropDownList ID="DdlGiroClasificacion" Width="100%" runat="server" DataValueField="CveClienteClasificacion" DataTextField="ClienteClasificacion" AppendDataBoundItems="true" CssClass="form-control select2me"></asp:DropDownList>
</div>
</div>
<div class="row" style="margin-left: 10px; margin-top: 10px;">
<label class="col-md-1" >En Pausa:</label>
<div class="col-md-1">
<asp:DropDownList ID="DdlEnPausa" Width="100%" runat="server" CssClass="form-control input-sm select2me" >
<asp:ListItem Value="-1">Todo</asp:ListItem>
<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>
<%-- <label class="col-md-1" >Medio Captación:</label>
<div class="col-md-1">
<asp:DropDownList ID="DropDownList1" Width="100%" runat="server" CssClass="form-control input-sm select2me" DataTextField="MedioCaptacion" DataValueField="CveMedioCaptacion">
</asp:DropDownList>
</div>
<label class="col-md-1" >Medio Captación:</label>
<div class="col-md-1">
<asp:DropDownList ID="DropDownList2" Width="100%" runat="server" CssClass="form-control input-sm select2me" DataTextField="TipoProceso" DataValueField="CveTipoProceso">
</asp:DropDownList>
</div>
--%>
</div>
</div>
</div>

View File

@@ -9,6 +9,8 @@ using System.Data;
using Extensiones;
using iTextSharp.text.pdf;
using iTextSharp.text;
using ADSNetLibrary.SIGAPI.Models.CRM.Request;
using ADSNetLibrary.SIGAPI.Services.CRM;
public partial class CRM_RepAcercamientosProcesos : ClsPaginas
{
@@ -134,7 +136,17 @@ public partial class CRM_RepAcercamientosProcesos : ClsPaginas
DdlProbabilidad.SelectedValue = CveProbabilidadAcercamiento;
DdlTipoProceso.SelectedValue = CveTipoProceso;
}
ICRMService cRMService = new CRMService(System.Configuration.ConfigurationManager.ConnectionStrings["Conexion"].ConnectionString);
RequestEtapaProceso EtapaProceso = new RequestEtapaProceso(UsuarioActual.CveEmpresa, 1, -1);
DdlEtapaProceso.DataSource = ADSNetLibrary.SIGAPI.Helpers.ExtensionMethods.ToDataTable(cRMService.GetEtapaProcesoCRM(EtapaProceso).Result);
DdlEtapaProceso.DataBind();
DdlEtapaProceso.Items.Insert(0, new System.Web.UI.WebControls.ListItem("Todas", "-1"));
upDatosRepA.Update();
}
protected void cargarDatos()
{
@@ -149,7 +161,8 @@ public partial class CRM_RepAcercamientosProcesos : ClsPaginas
ClsCRM ObjCRM = new ClsCRM();
GVRepAcercamientosEtapas.Columns.Clear();
if (ObjCRM.RepAcercamientosEtapas(UsuarioActual.CveEmpresa, cveTipoProceso, idgrupo1, idgrupo2, fechaIni, fechaFin, cveVendedor, cveMedioCaptacion, cveProbabilidadAcercamiento,CvePS:DdlPS.SelectedValue.ToEntero(),CveGiroClasificacion:DdlGiroClasificacion.SelectedValue.ToEntero()))
if (ObjCRM.RepAcercamientosEtapas(UsuarioActual.CveEmpresa, cveTipoProceso, idgrupo1, idgrupo2, fechaIni, fechaFin, cveVendedor, cveMedioCaptacion, cveProbabilidadAcercamiento,CvePS:DdlPS.SelectedValue.ToEntero(),
CveGiroClasificacion:DdlGiroClasificacion.SelectedValue.ToEntero(), EnPausa: DdlEnPausa.SelectedValue.ToEntero(), CveEtapaProceso: DdlEtapaProceso.SelectedValue.ToEntero()))
{
DataTable dte = ObjCRM.DSResultados.Tables[1];
GVRepAcercamientosEtapas.DataSource = ObjCRM.DSResultados.Tables[0];

View File

@@ -55,40 +55,40 @@
<asp:Content ID="Content7" ContentPlaceHolderID="C" runat="Server">
<asp:UpdatePanel ID="upDatosRepA" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="portlet solid grey-cascade portlet-filter">
<div class="portlet solid grey-cascade portlet-filter" id="dvFiltros">
<div class="portlet-title portlet-filterT smalltitle">
<div class="tools">
<asp:Button ID="BtnConsultar" runat="server" Text="Consultar" OnClick="LnkConsultar_Click" class="btn btn-primary" ValidationGroup="Valida" />
<a href="javascript:;" class="expand"></a>
</div>
<div class="titlefiltros caption">
<div class="row" style="margin-left: 10px;">
<asp:Label class="col-md-1 " style="width: 100px; margin-top: 5px;" runat="server" Text="Proceso:" AssociatedControlID="DdlTipoProceso"></asp:Label>
<div class="col-md-2">
<div class="row" style="margin-left: 10px;">
<asp:Label class="col-md-1 " style=" margin-top: 5px;" runat="server" Text="Proceso:" AssociatedControlID="DdlTipoProceso"></asp:Label>
<div class="col-md-1">
<asp:DropDownList ID="DdlTipoProceso" runat="server" DataTextField="TipoProceso" DataValueField="CveTipoProceso" CssClass="form-control input-sm select2me Widthall"></asp:DropDownList>
</div>
<asp:Label class="col-md-1 " style="width: 100px; margin-top: 5px;" runat="server" Text="Vendedor:" AssociatedControlID="DdlVendedor"></asp:Label>
<div class="col-md-2">
<asp:Label class="col-md-1 " style=" margin-top: 5px;" runat="server" Text="Vendedor:" AssociatedControlID="DdlVendedor"></asp:Label>
<div class="col-md-1">
<asp:DropDownList ID="DdlVendedor" runat="server" DataTextField="Vendedor" DataValueField="CveVendedor" CssClass="form-control input-sm select2me Widthall"></asp:DropDownList>
</div>
<asp:Label class="col-md-1 " style="width: 100px; margin-top: 5px;" runat="server" Text="Medio de Captación:" AssociatedControlID="DdlMedioCaptacion"></asp:Label>
<div class="col-md-2">
<asp:Label class="col-md-1 " style=" margin-top: 5px;" runat="server" Text="Medio de Captación:" AssociatedControlID="DdlMedioCaptacion"></asp:Label>
<div class="col-md-1">
<asp:DropDownList ID="DdlMedioCaptacion" runat="server" DataTextField="MedioCaptacion" DataValueField="CveMedioCaptacion" CssClass="form-control input-sm select2me Widthall"></asp:DropDownList>
</div>
<asp:Label class="col-md-1 " style="width: 100px; margin-top: 5px;" runat="server" Text="Probabilidad:" AssociatedControlID="DdlProbabilidad"></asp:Label>
<div class="col-md-2">
<asp:Label class="col-md-1 " style=" margin-top: 5px;" runat="server" Text="Probabilidad:" AssociatedControlID="DdlProbabilidad"></asp:Label>
<div class="col-md-1">
<asp:DropDownList ID="DdlProbabilidad" runat="server" DataTextField="ProbabilidadAcercamiento" DataValueField="CveProbabilidadAcercamiento" CssClass="form-control input-sm select2me Widthall"></asp:DropDownList>
</div>
</div>
</div>
</div>
<div class="portlet-body" style="display: none;">
<div class="row" style="margin-left: 10px; margin-top: 10px;">
<asp:Label class="col-md-1 " style="width: 100px; margin-top: 5px;" runat="server" Text="Agrupado Por:" AssociatedControlID="DdlGrupo1"></asp:Label>
<div class="col-md-2">
<div class="row" style="margin-left: 10px;">
<asp:Label class="col-md-1 " style="margin-top: 5px;" runat="server" Text="Agrupado Por:" AssociatedControlID="DdlGrupo1"></asp:Label>
<div class="col-md-1">
<asp:DropDownList ID="DdlGrupo1" runat="server" Width="100%" CssClass="form-control input-sm select2me Widthall">
<asp:ListItem Value="1" Text="Vendedor" Selected="true"></asp:ListItem>
<asp:ListItem Value="2" Text="Medio de Captación"></asp:ListItem>
@@ -100,8 +100,8 @@
</asp:DropDownList>
</div>
<asp:Label class="col-md-1 " style="width: 110px; margin-top: 5px;" runat="server" Text="Agrupado Por(2):" AssociatedControlID="DdlGrupo2"></asp:Label>
<div class="col-md-2">
<asp:Label class="col-md-1 " style=" margin-top: 5px;" runat="server" Text="Agrupado Por(2):" AssociatedControlID="DdlGrupo2"></asp:Label>
<div class="col-md-1">
<asp:DropDownList ID="DdlGrupo2" runat="server" Width="100%" CssClass="form-control input-sm select2me Widthall">
<asp:ListItem Value="-1" Text="Ninguno" Selected="True"></asp:ListItem>
<asp:ListItem Value="1" Text="Vendedor"></asp:ListItem>
@@ -112,8 +112,8 @@
</asp:DropDownList>
</div>
<asp:Label class="col-md-1 " style="width: 100px; margin-top: 5px;" runat="server" Text="Fecha Inicio:" AssociatedControlID="TxtFechaInicio"></asp:Label>
<div class="col-md-2">
<asp:Label class="col-md-1 " style=" margin-top: 5px;" runat="server" Text="Fecha Inicio:" AssociatedControlID="TxtFechaInicio"></asp:Label>
<div class="col-md-1">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 120px !important; padding: 0px; margin-top: 5px;">
<asp:TextBox ID="TxtFechaInicio" runat="server" CssClass="form-control" CausesValidation="true" Width="98%" MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
@@ -124,8 +124,8 @@
<ajax:CalendarExtender runat="server" ID="CEFechaSolicitudI" TargetControlID="TxtFechaInicio" PopupButtonID="imgFechaInicio" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
</div>
<asp:Label class="col-md-1 " style="width: 100px; margin-top: 5px;" runat="server" Text="Fecha Fin:" AssociatedControlID="TxtFechaFin"></asp:Label>
<div class="col-md-2">
<asp:Label class="col-md-1 " style=" margin-top: 5px;" runat="server" Text="Fecha Fin:" AssociatedControlID="TxtFechaFin"></asp:Label>
<div class="col-md-1">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 120px !important; padding: 0px; margin-top: 5px;">
<asp:TextBox ID="TxtFechaFin" runat="server" CssClass="form-control" CausesValidation="true" Width="98%" MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
@@ -136,15 +136,32 @@
<ajax:CalendarExtender runat="server" ID="CEFechaSolicitudF" TargetControlID="TxtFechaFin" PopupButtonID="imgFechaFin" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
</div>
</div>
<div class="row">
<asp:Label class="col-md-1 " style="width: 124px; margin-top: 5px;" runat="server" Text="Producto Servicio:" AssociatedControlID="DdlPS"></asp:Label>
<div class="col-md-2">
<div class="row" style="margin-left: 10px;">
<asp:Label class="col-md-1 " style=" margin-top: 5px;" runat="server" Text="Producto Servicio:" AssociatedControlID="DdlPS"></asp:Label>
<div class="col-md-1">
<ADS:Dropdownlost runat="server" ID="DdlPS" CssStyle="width:100%" CssClassDdl="form-control select2me" DataTextField="PSCodigo" DataValueField="CvePS" />
</div>
<asp:Label class="col-md-1 " style="width: 100px; margin-top: 5px;" runat="server" Text="Giro:" AssociatedControlID="DdlGiroClasificacion"></asp:Label>
<div class="col-md-2">
<asp:DropDownList ID="DdlGiroClasificacion" runat="server" DataValueField="CveClienteClasificacion" DataTextField="ClienteClasificacion" AppendDataBoundItems="true" CssClass="form-control select2me"></asp:DropDownList>
<asp:Label class="col-md-1 " style=" margin-top: 5px;" runat="server" Text="Giro:" AssociatedControlID="DdlGiroClasificacion"></asp:Label>
<div class="col-md-1">
<asp:DropDownList ID="DdlGiroClasificacion" Width="100%" runat ="server" DataValueField="CveClienteClasificacion" DataTextField="ClienteClasificacion" AppendDataBoundItems="true" CssClass="form-control select2me"></asp:DropDownList>
</div>
<label class="col-md-1" >En Pausa:</label>
<div class="col-md-1">
<asp:DropDownList ID="DdlEnPausa" Width="100%" runat="server" CssClass="form-control input-sm select2me" >
<asp:ListItem Value="-1">Todo</asp:ListItem>
<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>
</div>

View File

@@ -9,6 +9,8 @@ using Extensiones;
using iTextSharp.text.pdf;
using iTextSharp.text;
using System.IO;
using ADSNetLibrary.SIGAPI.Models.CRM.Request;
using ADSNetLibrary.SIGAPI.Services.CRM;
public partial class CRM_RepAcercamientosRechazos : ClsPaginas
{
@@ -117,6 +119,14 @@ public partial class CRM_RepAcercamientosRechazos : ClsPaginas
DdlMedioCaptacion.SelectedValue = "-1";
DdlProbabilidad.SelectedValue = "-1";
DdlTipoProceso.SelectedIndex = 0;
ICRMService cRMService = new CRMService(System.Configuration.ConfigurationManager.ConnectionStrings["Conexion"].ConnectionString);
RequestEtapaProceso EtapaProceso = new RequestEtapaProceso(UsuarioActual.CveEmpresa, 1, -1);
DdlEtapaProceso.DataSource = ADSNetLibrary.SIGAPI.Helpers.ExtensionMethods.ToDataTable(cRMService.GetEtapaProcesoCRM(EtapaProceso).Result);
DdlEtapaProceso.DataBind();
DdlEtapaProceso.Items.Insert(0, new System.Web.UI.WebControls.ListItem("Todas", "-1"));
upDatosRepA.Update();
}
@@ -133,7 +143,8 @@ public partial class CRM_RepAcercamientosRechazos : ClsPaginas
ClsCRM ObjCRM = new ClsCRM();
GVRepAcercamientosEtapas.Columns.Clear();
if (ObjCRM.RepAcercamientosRechazos(UsuarioActual.CveEmpresa, cveTipoProceso, idgrupo1, idgrupo2, fechaIni, fechaFin, cveVendedor, cveMedioCaptacion, cveProbabilidadAcercamiento, CvePS:DdlPS.SelectedValue.ToEntero(), CveGiroClasificacion:DdlGiroClasificacion.SelectedValue.ToEntero()))
if (ObjCRM.RepAcercamientosRechazos(UsuarioActual.CveEmpresa, cveTipoProceso, idgrupo1, idgrupo2, fechaIni, fechaFin, cveVendedor, cveMedioCaptacion, cveProbabilidadAcercamiento, CvePS:DdlPS.SelectedValue.ToEntero(),
CveGiroClasificacion:DdlGiroClasificacion.SelectedValue.ToEntero(), EnPausa: DdlEnPausa.SelectedValue.ToEntero(), CveEtapaProceso: DdlEtapaProceso.SelectedValue.ToEntero()))
{
DataTable dte = ObjCRM.DSResultados.Tables[1];
GVRepAcercamientosEtapas.DataSource = ObjCRM.DSResultados.Tables[0];

View File

@@ -1769,7 +1769,7 @@ Partial Class Compras_Compras
If Validada And Not EnListadoEFOS Then
Try
XMLDoc.Load(Archivo)
XMLDoc.LoadXml(File.ReadAllText(Archivo).Replace("&lt;br&gt;", "").Replace("&lt;", ""))
Catch ex As Exception
Try
Dim oReader = New StreamReader(Archivo, Encoding.GetEncoding("ISO-8859-1"))
@@ -1820,13 +1820,21 @@ Partial Class Compras_Compras
Xml = Xml.Replace(Chr(13), "") 'salto de linea
Xml = Xml.Replace(Chr(10), "")
Xml = Xml.Replace("<br />", "") 'salto de linea html
Xml = Xml.Replace("&lt;br&gt;", "")
Xml = Xml.Replace("&lt;", "")
Xml = Xml.Replace("&", "") 'adicional, si hay otros
If ObjeFacturas.GetFacturasComparacionXML(Version, Xml, UsuarioActual.CveEmpresa) Then
TmpDT = ObjeFacturas.DtResultados
TmpDT.Columns.Add("CveSATPSActualizado")
SubTotalConceptos = TmpDT.SUMD("Total").RoundSQL
If Not TmpDT.Columns.Contains("Amortizacion") Then
TmpDT.Columns.Add("Amortizacion", GetType(Decimal))
End If
AddPS2(False)
'VALIDA QUE EL XML SI VIENE CON EL CODIGO SAT 01010101
@@ -1939,6 +1947,11 @@ Partial Class Compras_Compras
If Version = "3.3" Or Version = "4.0" Then
If Not TmpDT.Columns.Contains("Amortizacion") Then
TmpDT.Columns.Add("Amortizacion", GetType(Decimal))
End If
TmpDT.AcceptChanges()
ValidacionesTotalesXml()
Else
@@ -2264,6 +2277,10 @@ Partial Class Compras_Compras
Private Sub ValidacionesTotalesXml()
If Not TmpDT.Columns.Contains("Amortizacion") Then
TmpDT.Columns.Add("Amortizacion", GetType(Decimal))
End If
Dim Msg As String = ""
Dim SubtotalTemp = TmpDT.SUM("Total") + Math.Round(TmpDT.SUM("Descuento") + Math.Round(TmpDT.SUM("Amortizacion")), 2)
Dim DescuentosTemp = TmpDT.SUM("Descuento")
@@ -8087,11 +8104,15 @@ Partial Class Compras_Compras
Msg.AppendFormat($"</br><a class=""Texto"" target='_blank' href=""/Inventarios/RecepcionAlmacen.aspx?CveCompra={CveCompra}&ED=1"">Recibir mercancía de entrega directa.</a>")
End If
If Not TieneError AndAlso Not ObjConta.PrePolizaSimplificacion(CvePrePoliza, UsuarioActual.CveEmpresa) Then
TieneError = True
Alert("No se pudo simplificar los movimientos", TipoMensaje.MsgError)
If UsuarioActual.Empresa.Funcionalidad(220) <> "" Then
If Not TieneError AndAlso Not ObjConta.PrePolizaSimplificacion(CvePrePoliza, UsuarioActual.CveEmpresa) Then
TieneError = True
Alert("No se pudo simplificar los movimientos", TipoMensaje.MsgError)
End If
End If
If Not TieneError Then
ObjCompras.Commit()
If ObjContaAC IsNot Nothing Then ObjContaAC.Commit()

View File

@@ -1236,17 +1236,20 @@ Partial Class PopUpVerFactura
Dim Path As String = String.Format("{0}{2}\Pag\{1}.{2}", UsuarioActual.Empresa.Ruta, UrlParametros("SERIEFOLIO"), UrlParametros("EXT").ToString)
Dim Archivo As New System.IO.FileInfo(Path)
If UrlParametros("EXT").ToString.ToUpper = "PDF" Then
If UrlParametros("CVECOMPLEMENTOPAGO").ToString.ToEntero > 0 Then
Dim CveIE As Integer = -1
If UrlParametros("CVEIE") IsNot Nothing Then
CveIE = UrlParametros("CVEIE").ToString.ToEntero
If Not Archivo.Exists Then
If UrlParametros("EXT").ToString.ToUpper = "PDF" Then
If UrlParametros("CVECOMPLEMENTOPAGO").ToString.ToEntero > 0 Then
Dim CveIE As Integer = -1
If UrlParametros("CVEIE") IsNot Nothing Then
CveIE = UrlParametros("CVEIE").ToString.ToEntero
End If
PDFReciboDePagos(-1, CveIE, UrlParametros("CVECOMPLEMENTOPAGO").ToString.ToEntero, False) 'genero el documento de no existir
End If
PDFReciboDePagos(-1, CveIE, UrlParametros("CVECOMPLEMENTOPAGO").ToString.ToEntero, False) 'genero el documento de no existir
End If
Archivo = Nothing
End If
Archivo = Nothing
End If
If UrlParametros("SERIEFOLIO") IsNot Nothing AndAlso UrlParametros("SERIEFOLIO").ToString <> "" AndAlso UrlParametros("EXT").ToString <> "" Then

View File

@@ -2173,64 +2173,7 @@ Partial Class Compras_eFacturas
Return Fact
End Function
Private Function GuardaArchivoXML(Archivo As String) As Modelos.eFactura
' , Destino As String, Temporal As String
Dim Retorno As Modelos.eFactura = Nothing
If File.Exists(Archivo) Then
Dim NombreArchivo As String = Path.GetFileName(Archivo)
Dim invalidChars As Char() = Path.GetInvalidFileNameChars()
Dim invalidString As String = Regex.Escape(New String(invalidChars))
Dim valid As String = Regex.Replace(NombreArchivo, (Convert.ToString("[") & invalidString) + "]", "")
NombreArchivo = valid
Try
Dim XMLDoc As New XmlDocument()
XMLDoc.Load(Archivo)
Retorno = CargaDatosXML(XMLDoc)
Catch exx As XmlException
Retorno = Nothing
'Dim texto As Dynamic = File.ReadAllText(Archivo)
Dim txt_utf8 As New UTF8Encoding()
'REEMPLAZA CARACTERES ESPECIALES Y VUELVE A LEER EL DOCUMENTO
'texto = RemoveIllegalXMLCharacters(texto)
' SE RENOMBRA EL ARCHIVO, PERO SE QUITO POR SI NO COINCIDE EL PDF CON EL NOMBRE
'Archivo = Archivo.ToUpper.Replace(".XML", "-2.XML")
'NombreArchivo = IO.Path.GetFileName(Archivo)
'File.WriteAllText(Archivo, texto)
' Dim xmltr As New XmlTextReader(New MemoryStream(RemoveIllegalXMLCharacters(texto)))
Dim XMLDoc As New XmlDocument()
Try
XMLDoc.Load(Archivo)
Retorno = CargaDatosXML(XMLDoc)
Catch ex As Exception
Retorno = Nothing
End Try
Catch ex As Exception
Retorno = Nothing
End Try
'si se cargaron todos los datos
If Retorno IsNot Nothing AndAlso Not String.IsNullOrEmpty(Retorno.TFDUUID) Then
'XML
Retorno.ArchivoXML = NombreArchivo
End If
End If
Return Retorno
End Function
Private Sub CargaImpuestosXML(XMLDoc As XmlDocument)
Dim Prefijo As String = If(String.IsNullOrEmpty(XMLDoc.DocumentElement.Prefix), "cfd", XMLDoc.DocumentElement.Prefix)
Dim cfdVer As String = "http://www.sat.gob.mx/cfd/3"
@@ -3338,7 +3281,7 @@ Partial Class Compras_eFacturas
Dim SXML As String = File.ReadAllText(Archivo).Replace(vbLf, " ").Replace(vbCrLf, " ")
SXML = SXML.Replace("o;?", "")
SXML = SXML.Trim((Convert.ToChar(0)))
XMLDoc.LoadXml(SXML)
@@ -4508,7 +4451,7 @@ Partial Class Compras_eFacturas
Dim SXML As String = File.ReadAllText(Archivo).Replace(vbLf, " ").Replace(vbCrLf, " ")
SXML = SXML.Replace("o;?", "")
SXML = SXML.Trim((Convert.ToChar(0)))
XMLDoc.LoadXml(SXML)

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -3517,6 +3517,18 @@
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
<ReportParameter Name="CFDIVersion">
<DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
<ReportParameter Name="RegimenFiscalCodigo">
<DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
</ReportParameters>
<EmbeddedImages>
<EmbeddedImage Name="ID2">

View File

@@ -152,6 +152,10 @@
<DataField>PorcentajeIVA</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="CodigoObjetoImpuesto">
<DataField>CodigoObjetoImpuesto</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
</Fields>
<rd:DataSetInfo>
<rd:DataSetName>DsOC</rd:DataSetName>
@@ -448,7 +452,7 @@
<Paragraph>
<TextRuns>
<TextRun>
<Value>Este documento es una representación impresa de un CFDI </Value>
<Value>Este documento es una representación impresa de un CFDI </Value>
<Style>
<FontFamily>calibri</FontFamily>
<FontSize>6pt</FontSize>
@@ -456,7 +460,23 @@
</Style>
</TextRun>
<TextRun>
<Value>VERSION 3.3</Value>
<Value>VERSION </Value>
<Style>
<FontFamily>MYRiad Pro</FontFamily>
<FontSize>6pt</FontSize>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
<TextRun>
<Value>=Parameters!CFDIVersion.Value</Value>
<Style>
<FontFamily>MYRiad Pro</FontFamily>
<FontSize>6pt</FontSize>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
<TextRun>
<Value xml:space="preserve"> </Value>
<Style>
<FontFamily>MYRiad Pro</FontFamily>
<FontSize>6pt</FontSize>
@@ -511,16 +531,19 @@
<Width>0.66404in</Width>
</TablixColumn>
<TablixColumn>
<Width>2.60074in</Width>
<Width>2.11562in</Width>
</TablixColumn>
<TablixColumn>
<Width>0.83102in</Width>
<Width>0.6863in</Width>
</TablixColumn>
<TablixColumn>
<Width>0.69852in</Width>
</TablixColumn>
<TablixColumn>
<Width>0.6403in</Width>
</TablixColumn>
<TablixColumn>
<Width>0.69088in</Width>
<Width>0.67895in</Width>
</TablixColumn>
<TablixColumn>
<Width>0.80447in</Width>
@@ -743,6 +766,50 @@
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox26">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Obj. Imp.</Value>
<Style>
<FontFamily>calibri</FontFamily>
<FontWeight>Normal</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Left</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox26</rd:DefaultName>
<Style>
<Border>
<Style>None</Style>
</Border>
<TopBorder>
<Color>Black</Color>
<Style>Solid</Style>
<Width>2pt</Width>
</TopBorder>
<BottomBorder>
<Color>Black</Color>
<Style>Solid</Style>
<Width>2pt</Width>
</BottomBorder>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox53">
@@ -1103,6 +1170,41 @@
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="CodigoObjetoImpuesto">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!CodigoObjetoImpuesto.Value</Value>
<Style>
<FontFamily>calibri</FontFamily>
<FontSize>8pt</FontSize>
<FontWeight>Normal</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Left</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>CodigoObjetoImpuesto</rd:DefaultName>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="PU1">
@@ -1267,6 +1369,7 @@
<TablixMember />
<TablixMember />
<TablixMember />
<TablixMember />
</TablixMembers>
</TablixColumnHierarchy>
<TablixRowHierarchy>
@@ -1283,7 +1386,7 @@
<Top>1.75278in</Top>
<Left>0.09836in</Left>
<Height>0.36206in</Height>
<Width>8.16629in</Width>
<Width>8.22304in</Width>
<ZIndex>1</ZIndex>
<Style>
<Border>
@@ -2015,6 +2118,25 @@
</TextRuns>
<Style />
</Paragraph>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Reg.fiscal: </Value>
<Style>
<FontFamily>calibri</FontFamily>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
<TextRun>
<Value>=Parameters!RegimenFiscalCodigo.Value</Value>
<Style>
<FontFamily>calibri</FontFamily>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox4</rd:DefaultName>
<Top>3.56339cm</Top>
@@ -4635,6 +4757,18 @@
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
<ReportParameter Name="CFDIVersion">
<DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
<ReportParameter Name="RegimenFiscalCodigo">
<DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
</ReportParameters>
<EmbeddedImages>
<EmbeddedImage Name="ID2">