diff --git a/App_Code/ClsCRM.vb b/App_Code/ClsCRM.vb index 7cb6f40ef..acabd6abe 100644 --- a/App_Code/ClsCRM.vb +++ b/App_Code/ClsCRM.vb @@ -1013,7 +1013,7 @@ 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) 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) As Boolean Dim retorno As Boolean = False DataAdapter("PA_CRM_RepAcercamientosEtapas", CommandType.StoredProcedure) @@ -1027,6 +1027,8 @@ Public Class ClsCRM .Add("@CveVendedor", SqlDbType.Int).Value = cveVendedor .Add("@CveMedioCaptacion", SqlDbType.Int).Value = cveMedioCaptacion .Add("@CveProbabilidadAcercamiento", SqlDbType.Int).Value = cveProbabilidadAcercamiento + .Add("@CvePS", SqlDbType.Int).Value = CvePS + .Add("@CveGiroClasificacion", SqlDbType.Int).Value = CveGiroClasificacion End With Try SqlAdapter.Fill(DSet) @@ -1037,7 +1039,7 @@ 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) 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) As Boolean Dim retorno As Boolean = False DataAdapter("PA_CRM_RepAcercamientosRechazos", CommandType.StoredProcedure) @@ -1051,6 +1053,8 @@ Public Class ClsCRM .Add("@CveVendedor", SqlDbType.Int).Value = cveVendedor .Add("@CveMedioCaptacion", SqlDbType.Int).Value = cveMedioCaptacion .Add("@CveProbabilidadAcercamiento", SqlDbType.Int).Value = cveProbabilidadAcercamiento + .Add("@CvePS", SqlDbType.Int).Value = CvePS + .Add("@CveGiroClasificacion", SqlDbType.Int).Value = CveGiroClasificacion End With Try SqlAdapter.Fill(DSet) @@ -1085,6 +1089,43 @@ Public Class ClsCRM End Function #End Region +#Region "Asignar Vendedor a Prospectos" + Public Function GetProspectosPorAsignarVendedor(CveEmpresa As Integer, Optional Empresa As String = "-1", Optional CveSubProyecto As Integer = -1, Optional CveGiro As Integer = -1) As Boolean + Dim retorno As Boolean = False + DataAdapter("PA_CRM_GetProspectosPorAsignarVendedor", CommandType.StoredProcedure) + With SqlAdapter.SelectCommand.Parameters + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + .Add("@Empresa", SqlDbType.NVarChar).Value = Empresa + .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto + .Add("@CveGiro", SqlDbType.Int).Value = CveGiro + End With + Try + SqlAdapter.Fill(Data) + retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener los Prospectos sin Vendedor.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + Return retorno + End Function + + Public Function AsignarVendedor(CveProspectos As String, CveVendedor As Integer) As Boolean + Dim retorno As Boolean = False + DataAdapter("PA_CRM_AsignarVendedores", CommandType.StoredProcedure) + With SqlAdapter.SelectCommand.Parameters + .Add("@ProspectosCve", SqlDbType.NVarChar).Value = CveProspectos + .Add("@CveVendedor", SqlDbType.Int).Value = CveVendedor + + End With + Try + SqlAdapter.Fill(Data) + retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener los Prospectos sin Vendedor.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + Return retorno + End Function +#End Region + #Region "IDisposable Support" ' IDisposable Protected Overridable Sub Dispose(disposing As Boolean) diff --git a/App_Code/ClsEncuestas.vb b/App_Code/ClsEncuestas.vb index edec3dd57..bafb08bd6 100644 --- a/App_Code/ClsEncuestas.vb +++ b/App_Code/ClsEncuestas.vb @@ -33,6 +33,7 @@ Public Class ClsEncuestas SqlConexion.ConnectionString = ConfigurationManager.ConnectionStrings("Conexion").ConnectionString Try SqlConexion.Open() + ConexionAdd() Catch ex As Exception OnError("Ocurrió un error al intentar conectarse a la base de datos.", ex) End Try @@ -42,7 +43,6 @@ Public Class ClsEncuestas End If SqlAdapter = New SqlDataAdapter("", SqlConexion) - ConexionAdd() End Sub Private Sub DataAdapter(StrSQL As String, Optional TipoComando As CommandType = CommandType.StoredProcedure) With SqlAdapter.SelectCommand diff --git a/App_Code/ClsInventarios.vb b/App_Code/ClsInventarios.vb index e4bdd741e..4f6329ac5 100644 --- a/App_Code/ClsInventarios.vb +++ b/App_Code/ClsInventarios.vb @@ -2955,7 +2955,8 @@ Public Class ClsInventarios Return Retorno End Function - Public Function SerieRecomendadoGet(CvePS As Integer, CveEmpresa As Integer, Optional CveAlmacen As Integer = -1, Optional CveSeccionAlmacen As Integer = -1, Optional CveSubProyecto As Integer = -1) As Boolean + Public Function SerieRecomendadoGet(CvePS As Integer, CveEmpresa As Integer, Optional CveAlmacen As Integer = -1, Optional CveSeccionAlmacen As Integer = -1, Optional CveSubProyecto As Integer = -1, + Optional CveCliente As Integer = -1, Optional CveVendedor As Integer = -1, Optional ExcluyeApartados As Integer = -1) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Inv_SerieRecomendadoGet") @@ -2966,6 +2967,9 @@ Public Class ClsInventarios .Add("@CveAlmacen", SqlDbType.Int).Value = CveAlmacen .Add("@CveSeccionAlmacen", SqlDbType.Int).Value = CveSeccionAlmacen .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto + .Add("@CveCliente", SqlDbType.Int).Value = CveCliente + .Add("@CveVendedor", SqlDbType.Int).Value = CveVendedor + .Add("@ExcluyeApartados", SqlDbType.Int).Value = ExcluyeApartados End With Try diff --git a/App_Code/ClsMovimientos.vb b/App_Code/ClsMovimientos.vb index 56ebab4bf..5b0ffdcff 100644 --- a/App_Code/ClsMovimientos.vb +++ b/App_Code/ClsMovimientos.vb @@ -1405,30 +1405,30 @@ Public Class ClsMovimientos End Try Return Retorno - End Function - - 'Public Function GetAnticiposClienteAuxiliar(CveCliente As Integer, CveVenta As Integer) As Boolean - ' Dim Retorno As Boolean = False - ' 'Data = New DataTable - ' 'SqlAdapter = New SqlDataAdapter("PA_ClienteAnticiposAuxiliar", SqlConexion) - ' 'SqlAdapter.SelectCommand.CommandType = CommandType.StoredProcedure - ' DataAdapter("PA_ClienteAnticiposAuxiliar") - ' With SqlAdapter.SelectCommand.Parameters - ' .Add("@CveCliente", SqlDbType.Int).Value = CveCliente - ' .Add("@CveVenta", SqlDbType.Int).Value = CveVenta - ' End With - ' Try - ' SqlAdapter.Fill(Data) - ' Retorno = True - ' Catch ex As SqlException - ' OnError("Ocurrió un error al consultar el Auxiliar Contable de Anticipos del Cliente.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) - ' End Try - - ' Return Retorno - 'End Function - + End Function + + 'Public Function GetAnticiposClienteAuxiliar(CveCliente As Integer, CveVenta As Integer) As Boolean + ' Dim Retorno As Boolean = False + ' 'Data = New DataTable + ' 'SqlAdapter = New SqlDataAdapter("PA_ClienteAnticiposAuxiliar", SqlConexion) + ' 'SqlAdapter.SelectCommand.CommandType = CommandType.StoredProcedure + ' DataAdapter("PA_ClienteAnticiposAuxiliar") + ' With SqlAdapter.SelectCommand.Parameters + ' .Add("@CveCliente", SqlDbType.Int).Value = CveCliente + ' .Add("@CveVenta", SqlDbType.Int).Value = CveVenta + ' End With + ' Try + ' SqlAdapter.Fill(Data) + ' Retorno = True + ' Catch ex As SqlException + ' OnError("Ocurrió un error al consultar el Auxiliar Contable de Anticipos del Cliente.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + ' End Try + + ' Return Retorno + 'End Function + #End Region - + #Region "REP RECUPERACION" Public Function GetRepRecuperacion(FechaI As Date, FechaF As Date, CveCliente As Integer, CveSubProyecto As Integer, CveVendedor As Integer, CveUsuario As Integer, CveEstatus As Integer, IVA As String, @@ -1436,7 +1436,8 @@ Public Class ClsMovimientos Optional TipoDocto As String = "-1", Optional EstatusCliente As Integer = -1, Optional CveUsuarioConsulta As Integer = -1, Optional CveBanco As Integer = -1, Optional CveCuenta As Integer = -1, - Optional TipoCambio As Integer = -1, Optional TCEspecifico As Double = 0, Optional CveClienteClasificacion As Integer = -1) As Boolean + Optional TipoCambio As Integer = -1, Optional TCEspecifico As Double = 0, Optional CveClienteClasificacion As Integer = -1, + Optional EsDistribuidor As Integer = -1) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Vta_RepRecuperacion") With SqlAdapter.SelectCommand.Parameters @@ -1459,6 +1460,7 @@ Public Class ClsMovimientos .Add("@TipoCambio", SqlDbType.Int).Value = TipoCambio .Add("@TCEspecifico", SqlDbType.Float).Value = TCEspecifico .Add("@CveClienteClasificacion", SqlDbType.Int).Value = CveClienteClasificacion + .Add("@EsDistribuidor", SqlDbType.Int).Value = EsDistribuidor End With Try SqlAdapter.Fill(Data) @@ -1511,7 +1513,8 @@ Public Class ClsMovimientos Optional CveUsuarioConsulta As Integer = -1, Optional CveBanco As Integer = -1, Optional CveCuenta As Integer = -1, Optional Grupo As String = "-1", Optional TipoCambio As Integer = -1, Optional TCEspecifico As Double = 0, - Optional CveMoneda As Integer = -1, Optional CveClienteClasificacion As Integer = -1, Optional Tipo As Integer = -1) As Boolean + Optional CveMoneda As Integer = -1, Optional CveClienteClasificacion As Integer = -1, Optional Tipo As Integer = -1, + Optional EsDistribuidor As Integer = -1) As Boolean Dim Retorno As Boolean = False @@ -1540,6 +1543,7 @@ Public Class ClsMovimientos .Add("@CveMoneda", SqlDbType.Int).Value = CveMoneda .Add("@CveClienteClasificacion", SqlDbType.Int).Value = CveClienteClasificacion .Add("@Tipo", SqlDbType.Int).Value = Tipo + .Add("@EsDistribuidor", SqlDbType.Int).Value = EsDistribuidor End With Try @@ -1550,9 +1554,9 @@ Public Class ClsMovimientos End Try Return Retorno - End Function + End Function #End Region - + #Region "REP COBRADO" Public Function GetRepCobrado(FechaI As Date, FechaF As Date, CveProveedor As Integer, CveSubProyecto As Integer, CveUsuario As Integer, IVA As String, CveEmpresa As Integer, Gpo As Integer, CveResponsable As Integer, diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb index f04d608aa..cf19cedbd 100644 --- a/App_Code/ClsPaginas.vb +++ b/App_Code/ClsPaginas.vb @@ -4453,6 +4453,7 @@ Public Class ClsPaginas PaginaDict.Add("/CRM/RepAcercamientosRechazos.aspx".ToUpper(), 1314) PaginaDict.Add("/CRM/RepAcercamientosProcesosDetalle.aspx".ToUpper(), 1313) PaginaDict.Add("/CRM/CatMetas.aspx".ToUpper(), 684) + PaginaDict.Add("/CRM/AsignarVendedorEnProspectos.aspx".ToUpper(), 695) #End Region #Region "CxC" diff --git a/App_Code/DtDatos.xsd b/App_Code/DtDatos.xsd index 60d776208..edcd0cb6f 100644 --- a/App_Code/DtDatos.xsd +++ b/App_Code/DtDatos.xsd @@ -1,320 +1,321 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/App_Code/Modelos.vb b/App_Code/Modelos.vb index 68dbd2bec..09b93ff06 100644 --- a/App_Code/Modelos.vb +++ b/App_Code/Modelos.vb @@ -382,16 +382,19 @@ Namespace Modelos Me.ListaMensajes = New List(Of String) Me.FolioFiscal = "" Me.GenerarPDFFactura = False - IniciaValores() + IniciaValores() + Dim ObjVentas As New ClsVentas() If ObjVentas.GetVenta(CveVenta, CveEmpresa) Then If ObjVentas.DtResultados IsNot Nothing AndAlso ObjVentas.DtResultados.Rows.Count > 0 Then setValues(ObjVentas.DtResultados.Rows(0)) + SetMetodoPago() SetMoneda() SetSubProyecto() SetSubProyectoMatriz() SetCliente() + SetTotales(ObjVentas.DtResultados, ObjVentas) End If End If If ObjVentas.GetVentaDetalle(CveVenta) Then @@ -405,6 +408,58 @@ Namespace Modelos Me.DirectorioServidor = DirectorioServidor Timbre = New CFDITimbre End Sub + Private Sub SetTotales(dtVentas As DataTable, ObjVentas As ClsVentas) + Dim TmpDTImpuestos = New DataTable + TmpDTImpuestos.Columns.Add("ImpuestoLocal", GetType(String)) + TmpDTImpuestos.Columns.Add("Importe", GetType(Double)) + TmpDTImpuestos.Columns.Add("Orden", GetType(Integer)) + + Dim DR As DataRow = TmpDTImpuestos.NewRow() + If dtVentas(0)("SubTotal").ToString.ToDouble <> 0 Then DR("ImpuestoLocal") = "Subtotal" : DR("Importe") = dtVentas(0)("SubTotal").ToString.ToDouble : DR("Orden") = 10 : TmpDTImpuestos.Rows.Add(DR) + DR = TmpDTImpuestos.NewRow() + If dtVentas(0)("Descuento").ToString.ToDouble <> 0 Then DR("ImpuestoLocal") = "Descuentos" : DR("Importe") = dtVentas(0)("Descuento").ToString.ToDouble : DR("Orden") = 20 : TmpDTImpuestos.Rows.Add(DR) + DR = TmpDTImpuestos.NewRow() + If dtVentas(0)("Amortizacion").ToString.ToDouble <> 0 Then DR("ImpuestoLocal") = "Amort.Ant" : DR("Importe") = dtVentas(0)("Amortizacion").ToString.ToDouble : DR("Orden") = 30 : TmpDTImpuestos.Rows.Add(DR) + DR = TmpDTImpuestos.NewRow() + If dtVentas(0)("SubTotal").ToString.ToDouble <> (dtVentas(0)("SubTotal").ToString.ToDouble - dtVentas(0)("Descuento").ToString.ToDouble - dtVentas(0)("Amortizacion").ToString.ToDouble) Then DR("ImpuestoLocal") = "SubTotal2" : DR("Importe") = (dtVentas(0)("SubTotal").ToString.ToDouble - dtVentas(0)("Descuento").ToString.ToDouble - dtVentas(0)("Amortizacion").ToString.ToDouble) : DR("Orden") = 40 : TmpDTImpuestos.Rows.Add(DR) + DR = TmpDTImpuestos.NewRow() + If dtVentas(0)("IVA").ToString.ToDouble >= 0 Then DR("ImpuestoLocal") = "IVA" : DR("Importe") = dtVentas(0)("IVA").ToString.ToDouble : DR("Orden") = 50 : TmpDTImpuestos.Rows.Add(DR) + + 'solo para eclipse, que muesre un subtotal debajo de IVA + If UsuarioActual.CveEmpresa = 15 Then DR = TmpDTImpuestos.NewRow() : DR("ImpuestoLocal") = "Subtotal2" : DR("Importe") = (dtVentas(0)("SubTotal").ToString.ToDouble - dtVentas(0)("Descuento").ToString.ToDouble - dtVentas(0)("Amortizacion").ToString.ToDouble) + dtVentas(0)("IVA").ToString.ToDouble : DR("Orden") = 51 : TmpDTImpuestos.Rows.Add(DR) + DR = TmpDTImpuestos.NewRow() + If dtVentas(0)("RetIVA").ToString.ToDouble <> 0 Then DR("ImpuestoLocal") = "Ret.IVA" : DR("Importe") = dtVentas(0)("RetIVA").ToString.ToDouble : DR("Orden") = 60 : TmpDTImpuestos.Rows.Add(DR) + DR = TmpDTImpuestos.NewRow() + If dtVentas(0)("RetISR").ToString.ToDouble <> 0 Then DR("ImpuestoLocal") = "Ret.ISR" : DR("Importe") = dtVentas(0)("RetISR").ToString.ToDouble : DR("Orden") = 70 : TmpDTImpuestos.Rows.Add(DR) + DR = TmpDTImpuestos.NewRow() + + If dtVentas(0)("IEPS").ToString.ToDouble <> 0 Then DR("ImpuestoLocal") = "IEPS" : DR("Importe") = dtVentas(0)("IEPS").ToString.ToDouble : DR("Orden") = 80 : TmpDTImpuestos.Rows.Add(DR) + DR = TmpDTImpuestos.NewRow() + + If dtVentas(0)("Total").ToString.ToDouble <> 0 Then DR("ImpuestoLocal") = "Total" : DR("Importe") = dtVentas(0)("Total").ToString.ToDouble : DR("Orden") = 100 : TmpDTImpuestos.Rows.Add(DR) + DR = TmpDTImpuestos.NewRow() + + If ObjVentas.GetVentaImpuestosLocales(CveVenta) Then + + Dim dtImpuesto As DataTable = ObjVentas.DtResultados + If dtImpuesto.Rows.Count > 0 Then + For Each Row As DataRow In dtImpuesto.Rows + Dim Orden = 80 + If Row("Importe").ToString.ToDouble <> 0 Then + DR("ImpuestoLocal") = Row("ImpuestoLocal").ToString + DR("Importe") = Row("Importe").ToString.ToDouble + DR("Orden") = Orden + TmpDTImpuestos.Rows.Add(DR) + DR = TmpDTImpuestos.NewRow() + Orden = Orden + 1 + End If + Next + End If + Me.DtDeduccion = TmpDTImpuestos.FiltraParametros("", Orderby:="Orden ASC") + + End If + + End Sub Private Sub IniciaValores() Me.FolioFiscal = "" Me.CveContratoSecciones = "" diff --git a/CRM/AsignarVendedorEnProspectos.aspx b/CRM/AsignarVendedorEnProspectos.aspx new file mode 100644 index 000000000..bf082f0cd --- /dev/null +++ b/CRM/AsignarVendedorEnProspectos.aspx @@ -0,0 +1,102 @@ +<%@ Page Title="" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="AsignarVendedorEnProspectos.aspx.cs" Inherits="CRM_AsignarVendedorEnProspectos" %> + + + + + + + Asignar Vendedor a Prospectos + + + + + + + + + + +
+
+
+ +
+
+
+ + +
+ +
+ +
+ +
+ +
+ +
+
+
+
+
+
+
+ + +
+
+
+
+
+ + Asignar vendedor +
+
+
+
+
+
+ +
+
+
+
+ +
+ +
+
+
+ +
+
+
+
+
+
+
+ + +
+ " style="display: inline-block; margin-right: -20px; width: 150px;" /> + " style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"> +
+ + + + + + + + + + + + +
+
+
+ + diff --git a/CRM/AsignarVendedorEnProspectos.aspx.cs b/CRM/AsignarVendedorEnProspectos.aspx.cs new file mode 100644 index 000000000..025b2970a --- /dev/null +++ b/CRM/AsignarVendedorEnProspectos.aspx.cs @@ -0,0 +1,94 @@ +using System; +using System.Text; +using System.Collections.Generic; +using System.Linq; +using System.Web; +using System.Web.UI; +using System.Web.UI.WebControls; +using System.Data; +using Microsoft.Reporting.WebForms; +using Extensiones; + +public partial class CRM_AsignarVendedorEnProspectos : ClsPaginas +{ + protected void Page_Load(object sender, EventArgs e) + { + if (!IsPostBack) + { + this.CargaFiltros(); + this.CargaDatos(); + } + } + + private void CargaDatos() + { + string Empresa = (TxtNombre.Text == "" ? "-1" : TxtNombre.Text); + ClsCRM ObjCRM = new ClsCRM(); + if (ObjCRM.GetProspectosPorAsignarVendedor(UsuarioActual.CveEmpresa, Empresa, DdlSubProyecto.SelectedValue.ToEntero(),DdlGiroClasificacion.SelectedValue.ToEntero())) + { + GvProspectos.DataSource = ObjCRM.DtResultados; + } + ObjCRM.Dispose(); + GvProspectos.DataBind(); + } + + private void CargaFiltros() + { + DdlSubProyecto.DataSource = get_GlobalDTSubProyectos(-1, CveEmpresa: UsuarioActual.CveEmpresa); + DdlSubProyecto.Items.Insert(0, new ListItem("Seleccione", "-1")); + DdlSubProyecto.DataBind(); + + DdlGiroClasificacion.DataSource = get_GlobalDTClienteClasificaciones(UsuarioActual.CveEmpresa); + DdlGiroClasificacion.Items.Insert(0, new ListItem("Seleccione", "-1")); + DdlGiroClasificacion.DataBind(); + + DdlVendedor.DataSource = get_GlobalDTVendedores(UsuarioActual.CveEmpresa); + DdlVendedor.Items.Insert(0, new ListItem("Seleccione", "-1")); + DdlVendedor.DataBind(); + } + + protected void BtnConsultar_Click(object sender, EventArgs e) + { + CargaDatos(); + } + + protected void BtnAsignar_Click(object sender, EventArgs e) + { + StringBuilder CveProspectos = new StringBuilder(); + GridViewRowCollection RowsProspectos = GvProspectos.Rows; + + foreach (GridViewRow Prospecto in RowsProspectos) + { + bool Asignado = Prospecto.FCCheckBox("ChkAsignar").Checked; + + if (Asignado) + { + int CveProspecto = Prospecto.DataKey("CveEmpresaCRM").ToEntero(); + CveProspectos.AppendFormat("{0},",CveProspecto); + } + } + + string CveProspectosFinal = CveProspectos.ToString(); + int CveVendedor = DdlVendedor.SelectedValue.ToEntero(); + + if (CveProspectosFinal.Length > 0 && CveVendedor != -1) + { + CveProspectos.Remove((CveProspectos.Length -1),1); + ClsCRM ObjCRM = new ClsCRM(); + + if (ObjCRM.AsignarVendedor(CveProspectosFinal,CveVendedor)) + { + + string Vendedor = DdlVendedor.SelectedItem.Text; + string MensajeExito = String.Format("El vendedor '{0}' fue asignado a los prospectos de manera exitosa", Vendedor); + Alert(MensajeExito); + this.CargaDatos(); + UpDatos.Update(); + + } + + ObjCRM.Dispose(); + + } + } +} \ No newline at end of file diff --git a/CRM/CatEmpresasCRM.aspx b/CRM/CatEmpresasCRM.aspx index c4391eec7..4d47b17ab 100644 --- a/CRM/CatEmpresasCRM.aspx +++ b/CRM/CatEmpresasCRM.aspx @@ -11,7 +11,7 @@
  • - Agregar Prospecto + Agregar
  • @@ -72,7 +72,7 @@ - + @@ -96,7 +96,7 @@ - + diff --git a/CRM/CatEtapasProceso.aspx b/CRM/CatEtapasProceso.aspx index 8dc6acbfb..1ec7ff0ef 100644 --- a/CRM/CatEtapasProceso.aspx +++ b/CRM/CatEtapasProceso.aspx @@ -13,7 +13,7 @@
  • - Agregar Etapas de Proceso + Agregar
  • PDF @@ -112,7 +112,7 @@ - + diff --git a/CRM/CatEtapasProceso.aspx.cs b/CRM/CatEtapasProceso.aspx.cs index 088df61d5..2fc3b29a8 100644 --- a/CRM/CatEtapasProceso.aspx.cs +++ b/CRM/CatEtapasProceso.aspx.cs @@ -132,19 +132,19 @@ public partial class CRM_CatEtapasProceso : ClsPaginas { if (EsEditar == 1) { - LtlModalTitulo.Text = "Actualizar Etapa del Proceso"; + //LtlModalTitulo.Text = "Actualizar Etapa del Proceso"; BtnGuardar.Text = "Actualizar"; DivEstatus.Visible = true; - + DdlTipoProceso.SelectedValueExist("-1"); DdlTipoProceso.Enabled = false; } else { - LtlModalTitulo.Text = "Agregar Etapa al Proceso"; + //LtlModalTitulo.Text = "Agregar Etapa al Proceso"; BtnGuardar.Text = "Guardar"; DivEstatus.Visible = false; - DdlTipoProceso.SelectedValueExist("1"); + DdlTipoProceso.SelectedValueExist("-1"); DdlTipoEtapa.SelectedValueExist("1"); DdlTipoProceso.Enabled = true; @@ -152,6 +152,7 @@ public partial class CRM_CatEtapasProceso : ClsPaginas TxtEtapaProceso.Text = ""; TxtDescripcion.Text = ""; ChkEstatus.Checked = true; + UPModal.Update(); } protected void CargaTiposProceso() @@ -203,6 +204,7 @@ public partial class CRM_CatEtapasProceso : ClsPaginas DivOrden.Visible = false; bloquearEtapasAnteriores(-1); DdlTipoProceso.SelectedValueExist(CveTipoProcesoSeleccionado); + //cargaEtapas(); DdlTipoEtapa.SelectedValueExist(CveTipoEtapaSeleccionada); UPModal.Update(); @@ -222,6 +224,11 @@ public partial class CRM_CatEtapasProceso : ClsPaginas bloquearEtapasAnteriores(GvRow.DataKey("CveTipoEtapa").ToEntero()); CveEtapaProceso = GvRow.DataKey("CveEtapaProceso").ToEntero(); DdlTipoProceso.SelectedValueExist(GvRow.DataKey("CveTipoProceso")); + + int CveTipoEtapaSeleccionado = GvRow.DataKey("CveTipoEtapa").ToEntero(); + DataTable EtapasDisponiblesEditar = DTEtapas.FiltraParametros(String.Format("CveTipoEtapa = {0} OR TipoEtapa = 'Proceso'", CveTipoEtapaSeleccionado)); + DdlTipoEtapa.DataSource = EtapasDisponiblesEditar; + DdlTipoEtapa.DataBind(); DdlTipoEtapa.SelectedValueExist(GvRow.DataKey("CveTipoEtapa")); TxtEtapaProceso.Text = GvRow.DataKey("EtapaProceso").ToString(); @@ -308,7 +315,7 @@ public partial class CRM_CatEtapasProceso : ClsPaginas //} // PRECARGAMOS LA SIGUIENTE ETAPA A AGREGAR CON LOS MISMA DATOS DE LA ETAPA QUE SE INSERTO - CveTipoProcesoSeleccionado = CveTipoProceso; + //CveTipoProcesoSeleccionado = CveTipoProceso; CveTipoEtapaSeleccionada = CveTipoEtapa; ObjCRM.Dispose(); @@ -421,40 +428,26 @@ public partial class CRM_CatEtapasProceso : ClsPaginas protected void DdlTipoProceso_Change(Object sender,EventArgs e) { + int CveTipoProcesoSeleccionado = DdlTipoProceso.SelectedValue.ToEntero(); DataTable EtapasIterable = DTEtapas.Copy(); + DataTable EtapasDefiniticas = DTEtapas.Copy(); DataTable EtapasAux = DTEtapas.Copy(); - int indice = 0; foreach (DataRow EtapaRow in EtapasIterable.Rows) { int CveTipoEtapa = EtapaRow["CveTipoEtapa"].ToEntero(); if (CveTipoEtapa != 2) { - int CantidadEtapas = TmpDT.FiltraParametros(String.Format("CveTipoProceso = {0} AND CveTipoEtapa = {1}",DdlTipoProceso.SelectedValue,EtapaRow["CveTipoEtapa"])).Rows.Count; - if(CantidadEtapas > 0) + int CantidadEtapas = TmpDT.FiltraParametros(String.Format("CveTipoProceso = {0} AND CveTipoEtapa = {1}", CveTipoProcesoSeleccionado, CveTipoEtapa)).Rows.Count; + if (CantidadEtapas > 0) { - EtapasAux.Rows.RemoveAt(indice); + EtapasAux = EtapasDefiniticas.FiltraParametros(String.Format("CveTipoEtapa <> {0}", CveTipoEtapa)); + EtapasDefiniticas = EtapasAux.Copy(); } - }else - { - indice++; } } - //for (int i = 1; i < CveTipoEtapa; i++) - //{ - // DataRow TipoEtapaRow = EtapasAux.Rows[indice]; - // int CveTipoEtapaAux = TipoEtapaRow["CveTipoEtapa"].ToEntero(); - // if (CveTipoEtapaAux == 2) - // { - // indice++; - // } - // else - // { - // EtapasAux.Rows.Remove(TipoEtapaRow); - // } - //} EtapasAux.AcceptChanges(); DdlTipoEtapa.DataSource = EtapasAux; diff --git a/CRM/CatMediosCaptacion.aspx b/CRM/CatMediosCaptacion.aspx index 5e733e2eb..44c28263a 100644 --- a/CRM/CatMediosCaptacion.aspx +++ b/CRM/CatMediosCaptacion.aspx @@ -13,7 +13,7 @@
  • - Agregar Medio de Captación + Agregar
  • @@ -60,7 +60,7 @@ - + diff --git a/CRM/CatProbabilidadAcercamiento.aspx b/CRM/CatProbabilidadAcercamiento.aspx index fed9a26a3..2cd1ec94e 100644 --- a/CRM/CatProbabilidadAcercamiento.aspx +++ b/CRM/CatProbabilidadAcercamiento.aspx @@ -13,7 +13,7 @@
  • - Agregar Probabilidad de Acercamiento + Agregar
  • PDF @@ -48,7 +48,7 @@ --%> - + diff --git a/CRM/CatProbabilidadAcercamiento.aspx.cs b/CRM/CatProbabilidadAcercamiento.aspx.cs index 2997bba1e..417402df1 100644 --- a/CRM/CatProbabilidadAcercamiento.aspx.cs +++ b/CRM/CatProbabilidadAcercamiento.aspx.cs @@ -104,13 +104,13 @@ public partial class CRM_CatProbabilidadAcercamiento : ClsPaginas { if (EsEditar == 1) { - LtlModalTitulo.Text = "Actualizar Probabilidad de Acercamiento"; + //LtlModalTitulo.Text = "Actualizar Probabilidad de Acercamiento"; BtnGuardar.Text = "Actualizar"; DivEstatus.Visible = true; } else { - LtlModalTitulo.Text = "Agregar Probabilidad de Acercamiento"; + //LtlModalTitulo.Text = "Agregar Probabilidad de Acercamiento"; BtnGuardar.Text = "Guardar"; DivEstatus.Visible = false; } diff --git a/CRM/CatTipoProceso.aspx b/CRM/CatTipoProceso.aspx index 8ce066a9f..221b3ae1d 100644 --- a/CRM/CatTipoProceso.aspx +++ b/CRM/CatTipoProceso.aspx @@ -13,7 +13,7 @@
  • - Agregar Tipo de Proceso + Agregar
  • PDF @@ -74,7 +74,7 @@ - + diff --git a/CRM/CatTipoProceso.aspx.cs b/CRM/CatTipoProceso.aspx.cs index 2058a867d..5f00ba584 100644 --- a/CRM/CatTipoProceso.aspx.cs +++ b/CRM/CatTipoProceso.aspx.cs @@ -73,13 +73,13 @@ public partial class CRM_CatTipoProceso : ClsPaginas { if (EsEditar == 1) { - LtlModalTitulo.Text = "Actualizar Tipo de Proceso"; + //LtlModalTitulo.Text = "Actualizar Tipo de Proceso"; BtnGuardar.Text = "Actualizar"; DivEstatus.Visible = true; } else { - LtlModalTitulo.Text = "Agregar Tipo de Proceso"; + //LtlModalTitulo.Text = "Agregar Tipo de Proceso"; BtnGuardar.Text = "Guardar"; DivEstatus.Visible = false; } diff --git a/CRM/EmpresaCRM.aspx.cs b/CRM/EmpresaCRM.aspx.cs index 8c2874e1b..abb4a55a9 100644 --- a/CRM/EmpresaCRM.aspx.cs +++ b/CRM/EmpresaCRM.aspx.cs @@ -239,7 +239,7 @@ public partial class CRM_EmpresaCRM : ClsPaginas CreoCliente = false; RecuperaCve(); CargaTipoProceso(); - //CargaMetodosCaptacion(); + CargaMetodosCaptacion(); CargaVendedores(); CargaSucursales(); CargarTiposEventos(); @@ -570,14 +570,16 @@ public partial class CRM_EmpresaCRM : ClsPaginas if (ObjCRM.GetTipoProceso(UsuarioActual.CveEmpresa)) { DdlTipoPrceso2.DataSource = ObjCRM.DtResultados; + DdlTipoPrceso2.Items.Insert(0, new ListItem("Seleccione","-1")); } DdlTipoPrceso2.DataBind(); + ObjCRM.Dispose(); } protected void CargaMetodosCaptacion() { ClsCRM ObjCRM = new ClsCRM(); - if (ObjCRM.GetMedioCaptacion(UsuarioActual.CveEmpresa, 1)) + if (ObjCRM.GetMedioCaptacion(UsuarioActual.CveEmpresa, -1)) { DdlMedioCaptacion.DataSource = ObjCRM.DtResultados.FiltraParametros(String.Format("CveTipoProceso = {0}", DdlTipoPrceso2.SelectedValue)); DdlMedioCaptacion.Items.Insert(0, new ListItem("Seleccione ", "-1")); @@ -758,6 +760,7 @@ public partial class CRM_EmpresaCRM : ClsPaginas else { ObjCRM.RollBack(); } ObjCRM.Dispose(); + objDatosTecnicos.Dispose(); } #endregion diff --git a/CRM/RepAcercamientos.aspx b/CRM/RepAcercamientos.aspx index 7b6db4b54..f3f14be4a 100644 --- a/CRM/RepAcercamientos.aspx +++ b/CRM/RepAcercamientos.aspx @@ -10,6 +10,20 @@ + + +
  • + +
  • +
  • + +
  • +
    + + + + +
    @@ -54,7 +68,7 @@ - +
    diff --git a/CRM/RepAcercamientos.aspx.cs b/CRM/RepAcercamientos.aspx.cs index 1eef821ff..07844b84b 100644 --- a/CRM/RepAcercamientos.aspx.cs +++ b/CRM/RepAcercamientos.aspx.cs @@ -6,6 +6,7 @@ using System.Web.UI; using System.Web.UI.WebControls; using Extensiones; using System.Data; +using Microsoft.Reporting.WebForms; public partial class CRM_RepAcercamientos : ClsPaginas { @@ -22,6 +23,18 @@ public partial class CRM_RepAcercamientos : ClsPaginas ViewState["CveVendedor"] = value; } } + private DataTable DtDatos + { + get + { + return (ViewState["DtDatos"] == null ? null : (DataTable)ViewState["DtDatos"]); + } + + set + { + ViewState["DtDatos"] = value; + } + } #endregion protected void Page_Load(object sender, EventArgs e) @@ -49,6 +62,7 @@ public partial class CRM_RepAcercamientos : ClsPaginas if (ObjCRM.GetAcercamiento(UsuarioActual.CveEmpresa, CveVendedor: CveVendedor, FechaInicio: FechaInicio, FechaFin: FechaFin, CvePS: CvePS, CveGiroClasificacion:DdlGiroClasificacion.SelectedValue.ToEntero())) { GVDatos.DataSource = ObjCRM.DtResultados; + DtDatos = ObjCRM.DtResultados; GVDatos.DataBind(); } @@ -78,13 +92,43 @@ public partial class CRM_RepAcercamientos : ClsPaginas //CALCULAMOS EL INTERVALO DE LA SEMANA ACTUAL TxtFechaInicio.Text = DateTime.Now.AddDays(-((int)DateTime.Now.DayOfWeek) + 1).ToShortDateString(); - //TxtFechaFin.Text = DateTime.Now.AddDays((7 - (int)DateTime.Now.DayOfWeek)).ToShortDateString(); + TxtFechaFin.Text = DateTime.Now.AddDays((7 - (int)DateTime.Now.DayOfWeek)).ToShortDateString(); DdlPS.setEsWebService(true); - + DdlPS.SelectedValue = "-1"; + DdlPS.SelectedText = "Seleccione"; DataTable dtGiroClasificaciones = get_GlobalDTClienteClasificaciones(UsuarioActual.CveEmpresa); DdlGiroClasificacion.DataSource = dtGiroClasificaciones; DdlGiroClasificacion.DataBind(); DdlGiroClasificacion.Items.Insert(0, new ListItem("Seleccione", "-1")); } #endregion + + protected void LnkPDF_Click(object sender, EventArgs e) + { + Imprimir("PDF"); + } + + protected void LnkExcel_Click(object sender, EventArgs e) + { + Imprimir("Excel"); + } + + private void Imprimir(string formato) + { + string VendedorFiltro = String.Format("Vendedor: {0}    ", (DdlVendedor.SelectedValue != "-1" ? DdlVendedor.SelectedItem.Text : "Todos")); + string ProductoServicioFiltro = String.Format("Producto Servicio: {0}    ", (DdlPS.SelectedValue != "-1" ? DdlPS.SelectedText : "Todos")); + string GiroFiltro = String.Format("Giro: {0}    ", (DdlGiroClasificacion.SelectedValue != "-1" ? DdlGiroClasificacion.SelectedItem.Text : "Todos")); + string FechaInicioFiltro = String.Format("Fecha Inicio: {0}    ", TxtFechaInicio.Text); + string FechaFinFiltro = String.Format("Fecha Fin: {0}    ", TxtFechaFin.Text); + + string Filtros = String.Format("{0}{1}{2}{3}{4}", VendedorFiltro, FechaInicioFiltro, FechaFinFiltro, ProductoServicioFiltro, GiroFiltro); + + List @params = new List(); + @params.Add(new ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa)); + @params.Add(new ReportParameter("LogoPath", new Uri(Server.MapPath(string.Format("~/Empresas/{0}/Logo.png", UsuarioActual.CveEmpresa))).AbsoluteUri)); + @params.Add(new ReportParameter("UsuarioImprimio", UsuarioActual.Usuario)); + @params.Add(new ReportParameter("AgrupadoPor", Filtros)); + + ImprimirPDF("Empresas/Grales/Formatos/RepAcercamientos.rdlc", DtDatos, @params, "Reporte de Acercamientos", formato); + } } \ No newline at end of file diff --git a/CRM/RepAcercamientosProcesos.aspx b/CRM/RepAcercamientosProcesos.aspx index e38a869ea..66fc1bcdf 100644 --- a/CRM/RepAcercamientosProcesos.aspx +++ b/CRM/RepAcercamientosProcesos.aspx @@ -5,7 +5,8 @@ - - - - - - - - Sahuaro (662) 2161471 - Solidaridad (662) 216-0935 - Palo Verde (662) 4363254 - Progreso (662) 3105781 - Quiroga (662) 261- 0838 - Caborca (637) 3724214 - Magdalena (632) 322-4080 - - - - - - - - - Nogales (631) 319-0093 - Cananea (645) 332 20 40 - Guaymas (622) 222-2417 - Obregón (644)412-2002 Obregón II (644) 413-1543- Obregón III (644) 4134501 - Navojoa (642) 422-9852 - - - - - - - - - Sinaloa: Los Mochis (668) 817-0209 - Los Mochis II (668) 176-5802 - Guasave (687) 871-5317 - Calzada (667) 729-2112 - Zapata (667) 992-0876 - Tierra Blanca (667) 716-6997 - Sanalona (667) 713-667 - - - - - - - - - Tres Ríos (667) 455-4621 - Mazatlán (669) 910-2122 - Baja California: Tijuana1 (664) 622-5221 - Tijuana3 (664) 626-2615 - Rosarito (661) 612-4461 - Mexicali (686) 567-6102 - Mexicali3 (686) 326 02 79 - - - - - - - - - Tecate (665) 5212080 - Ensenada (646) 172-4075 - Ensenada2 (646) 176-2703 - Baja California Sur: La Paz (612) 146-3656 - La Paz 2 (612) 121-3185 - Los Cabos (624) 688 3552 - - - - - - - Textbox4 - 9.91718cm - 0.22108cm - 2.03224cm - 20.79751cm - - - 2pt - 2pt - 2pt - 2pt - - @@ -612,11 +477,10 @@ true - 6.31618in + 6.69118in 0.06752in 1.42169in 8.23953in - 1 @@ -1411,7 +1275,7 @@ 0.09836in 0.36206in 8.16629in - 2 + 1 @@ -1433,11 +1297,11 @@ Textbox5 - 9.27559cm + 9.91059cm 0.28014cm 0.05496cm 20.88652cm - 3 + 2 @@ -1481,11 +1345,11 @@ Textbox1 - 9.36582cm + 10.00082cm 2.01402cm 0.51608cm 19.15264cm - 4 + 3 @@ -1504,7 +1368,7 @@ 1.15361cm 2.413cm 2.75323cm - 5 + 4 @@ -1584,7 +1448,7 @@ 4.32565cm 2.70968cm 7.93893cm - 6 + 5 @@ -1664,7 +1528,7 @@ 12.68838cm 2.70968cm 5.11312cm - 7 + 6 @@ -1698,7 +1562,7 @@ 18.23008cm 0.96018cm 2.79101cm - 8 + 7 @@ -1734,7 +1598,7 @@ 18.23008cm 0.6cm 2.79101cm - 9 + 8 @@ -1785,7 +1649,7 @@ 18.23008cm 0.86903cm 2.79101cm - 10 + 9 @@ -1876,7 +1740,7 @@ 0.28014cm 1.09007cm 9.71199cm - 11 + 10 @@ -1956,7 +1820,7 @@ 10.06268cm 0.7927cm 9.71199cm - 12 + 11 @@ -2137,7 +2001,7 @@ 0.25136cm 0.74611cm 13.82025cm - 13 + 12 @@ -2170,7 +2034,7 @@ 14.07729cm 0.57354cm 2.90753cm - 14 + 13 @@ -2204,11 +2068,11 @@ Textbox4 - 6.1926cm + 5.8751cm 1.74571cm 1.05328cm 17.71415cm - 15 + 14 =IIF((Sum(IIF(Fields!CveClasificacion.Value = 20345,1,0), "DsOC") > 0),false,true) @@ -2222,6 +2086,142 @@ 2pt + + true + true + true + + + + + Sonora: Veracruz (662) 210-0041 - Morelos (662) 211-0805 - Colosio (662) 2608088 - Colosio2 (662) 1189939 - Reforma (662) 213-8724 - Perisur (662) 254-4849 - Rodríguez (662) 213-0388 + + + + + + + + + Sahuaro (662) 2161471 - Solidaridad (662) 216-0935 - Palo Verde (662) 4363254 - Progreso (662) 3105781 - Quiroga (662) 261- 0838 - Caborca (637) 3724214 - Magdalena (632) 322-4080 + + + + + + + + + Nogales (631) 319-0093 - Cananea (645) 332 20 40 - Guaymas (622) 222-2417 - Obregón (644)412-2002 Obregón II (644) 413-1543- Obregón III (644) 4134501 - Navojoa (642) 422-9852 + + + + + + + + + Sinaloa: Los Mochis (668) 817-0209 - Los Mochis II (668) 176-5802 - Guasave (687) 871-5317 - Calzada (667) 729-2112 - Zapata (667) 992-0876 - Tierra Blanca (667) 716-6997 - Sanalona (667) 713-667 + + + + + + + + + Tres Ríos (667) 455-4621 - Mazatlán (669) 910-2122 - Baja California: Tijuana1 (664) 622-5221 - Tijuana3 (664) 626-2615 - Rosarito (661) 612-4461 - Mexicali (686) 567-6102 - Mexicali3 (686) 326 02 79 + + + + + + + + + Tecate (665) 5212080 - Ensenada (646) 172-4075 - Ensenada2 (646) 176-2703 - Baja California Sur: La Paz (612) 146-3656 - La Paz 2 (612) 121-3185 - Los Cabos (624) 688 3552 + + + + + + + Textbox4 + 10.55218cm + 0.22108cm + 2.03224cm + 20.79751cm + 15 + + + 2pt + 2pt + 2pt + 2pt + + true true @@ -2237,7 +2237,7 @@ Textbox5 - 13.24259cm + 14.19509cm 0.24983cm 0.05496cm 20.88652cm @@ -2253,6 +2253,57 @@ 2pt + + Embedded + ID3 + FitProportional + 26.4128cm + 0.28014cm + 0.93046cm + 5.37042cm + 17 + + + + + + true + true + + + + + DESCARGA NUESTRA NUEVA APLICACIÓN + + + + + + + Textbox60 + 24.07802cm + 0.28014cm + 0.6882cm + 20.71217cm + 18 + + + 2pt + 2pt + 2pt + 2pt + + true true @@ -2295,7 +2346,7 @@ 17.09066cm 0.64028cm 3.90165cm - 17 + 19 @@ -2458,11 +2509,11 @@ Textbox4 - 13.40338cm + 14.35588cm 0.16383cm 2.44366cm 15.51057cm - 18 + 20 @@ -2493,11 +2544,11 @@ Textbox19 - 5.26303in + 5.63803in 6.21617in 0.17708in 0.94607in - 19 + 21 @@ -2528,11 +2579,11 @@ Textbox19 - 5.4555in + 5.8305in 6.21616in 0.17966in 0.94607in - 20 + 22 @@ -2563,11 +2614,11 @@ Textbox19 - 5.65449in + 6.02949in 6.21616in 0.18819in 0.94607in - 21 + 23 @@ -2598,11 +2649,11 @@ Textbox19 - 5.86074in + 6.23574in 6.22658in 0.17119in 0.94607in - 22 + 24 @@ -2634,11 +2685,11 @@ Textbox19 - 6.05137in + 6.42637in 6.237in 0.19596in 0.94607in - 23 + 25 @@ -2670,11 +2721,11 @@ Textbox42 - 5.28803in + 5.66303in 7.16224in 0.17708in 0.98426in - 24 + 26 @@ -2705,11 +2756,11 @@ Textbox42 - 5.4805in + 5.8555in 7.16224in 0.17966in 0.98425in - 25 + 27 @@ -2740,11 +2791,11 @@ Textbox42 - 5.67949in + 6.05449in 7.17266in 0.18819in 0.98425in - 26 + 28 @@ -2776,11 +2827,11 @@ Textbox42 - 5.88574in + 6.26074in 7.17266in 0.17119in 0.98425in - 27 + 29 @@ -2812,11 +2863,11 @@ Textbox42 - 6.07637in + 6.45137in 7.18308in 0.19596in 0.98425in - 28 + 30 @@ -2853,7 +2904,7 @@ 6.75122cm 0.82021cm 5.51336cm - 29 + 31 @@ -2879,79 +2930,10 @@ Textbox5 - 15.9176cm + 16.8701cm 0.10579cm 0.05496cm 20.88652cm - 30 - - - Black - 2pt - 2pt - 2pt - 2pt - - - - true - true - true - - - - - < ** Toda corrección de los datos del comprobante debera efectuarse a más tardar tres dias despues de su expedición. ** > - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - - - - true - true - - - - - - - - Black - 2pt - 2pt - 2pt - 2pt - - - - Embedded - rockblade - FitProportional - 12.06211cm - 6.5919cm - 0.62223cm - 4.03523cm - 34 - - - - - - Embedded - yokohama2 - FitProportional - 12.06211cm - 0.58737cm - 0.62223cm - 4.03523cm - 35 - - - - - - Embedded - mastercraft - FitProportional - 12.12228cm - 17.02729cm - 0.62223cm - 4.03523cm - 36 - - - - - - Embedded - coopertires - FitProportional - 12.18225cm - 11.79701cm - 0.62223cm - 4.03523cm - 37 - - - - true true @@ -3063,40 +2954,21 @@ - ESTAS LLANTAS SOLO TENDRAN GARANTÍA DE POR VIDA CONTRA DEFECTO DE FABRICA. -*SI LAS LLANTAS NO SON INSTALADAS EN ECONOLLANTAS PIERDE SU GARANTÍA DE FABRICA*. + ** SI LAS LLANTAS NO SON INSTALADAS EN ECONOLLANTAS PIERDE SU GARANTÍA DE FABRICA ** + + - - - - - - - - PARA UNA OPTIMA DURACION DE SUS LLANTAS, ESTAS DEBEN ALINEARSE BALANCEARSE Y ROTAR CADA 6 MESES O 1O MIL KILOMETROS. - - - - PARA HACER VALIDA UNA RECLAMACIÓN DEBERAN CUMPLIR CON EL ANTERIOR REQUISITO - @@ -3105,11 +2977,14 @@ Textbox3 - 7.34113cm - 0.14007cm - 1.72456cm - 20.95984cm - 38 + 6.92838cm + 1.15361cm + 1.32415cm + 19.15078cm + 33 + + =IIF((Sum(IIF(Fields!CveClasificacion.Value = 20345,1,0), "DsOC") = 0) and (Sum(IIF(Fields!CveClasificacion.Value = 20342 or Fields!CveClasificacion.Value = 20341,1,0), "DsOC") > 0),false,true) + @@ -3120,47 +2995,34 @@ 2pt - - Embedded - ID3 - FitProportional - 22.13416cm - 0.22725cm - 0.93046cm - 5.37042cm - 39 - - - - - + true + true true - DESCARGA NUESTRA NUEVA APLICACIÓN + < ** Toda corrección de los datos del comprobante debera efectuarse a más tardar tres dias despues de su expedición. ** > - + @@ -3176,11 +3038,11 @@ =System.Convert.FromBase64String(Parameters!QRDescarga.Value) image/png FitProportional - 8.33399in - 6.65661in + 10.0185in + 6.67743in 0.6035in 0.78275in - 41 + 35 @@ -3229,11 +3091,11 @@ Textbox60 - 20.24416cm - 0.22725cm + 24.5228cm + 0.28014cm 1.49135cm 5.37042cm - 42 + 36 @@ -3244,6 +3106,68 @@ 2pt + + true + true + + + + + + + + Black + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + + + + Black + 2pt + 2pt + 2pt + 2pt + + true true @@ -3322,11 +3246,11 @@ Textbox60 - 20.24416cm - 7.39856cm + 24.5228cm + 7.45145cm 2.45709cm 6.56105cm - 43 + 39 @@ -3361,11 +3285,11 @@ Textbox60 - 20.23438cm - 14.61856cm + 24.51302cm + 14.67145cm 1.46939cm 6.32076cm - 44 + 40 @@ -3376,16 +3300,558 @@ 2pt - - - Start - + + Embedded + logosmarcaseconollantas + FitProportional + 12.78678cm + 0.22108cm + 0.81208cm + 20.79751cm + 41 + + + + + + true true - 19.90494cm - 0cm - 3.07798cm - 21.09991cm - 45 + + + + + PARA UNA OPTIMA DURACIÓN DE SUS LLANTAS, ESTAS DEBEN ALINEARSE, BALANCEARSE Y ROTAR CADA 6 MESES O 1O MIL KILOMETROS. + + + + PARA HACER VÁLIDA UNA RECLAMACIÓN DEBERÁN CUMPLIR CON EL ANTERIOR REQUISITO + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + true + true + + + + + CFDI Relacionados + + + + + + + Textbox5 + 0.14926cm + 0.07193cm + 0.54004cm + 20.7077cm + + + Black + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Tipo Relación: + + + + + + + Textbox29 + 0.83025cm + 4.78817cm + 0.41981cm + 5.31841cm + 1 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!TipoRelacionTexto.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + 2.42456cm + + + 2.05585cm + + + 3.03631cm + + + 7.7847cm + + + + + 0.44125cm + + + + + true + true + + + + + Folio + + + + + + + Textbox10 + + + Black + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Fecha + + + + + + + Textbox12 + + + Black + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Importe + + + + + + + Textbox21 + + + Black + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Folio Fiscal + + + + + + + Textbox11 + + + Black + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.41479cm + + + + + true + true + + + + + =Fields!SerieFolio.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!Fecha.Value + + + + + + + Fecha + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!Importe.Value + + + + + + + Importe1 + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!FolioFiscal.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + + + + + + + + + + After + + + + + + + DataSet4 + 1.39643cm + 3.28643cm + 0.85604cm + 15.30142cm + 3 + + + + + + true + true + + + + + VERSION 3.3 + + + + + + + Textbox5 + 2.32303cm + 17.39754cm + 0.6cm + 3.32021cm + 4 + + + 2pt + 2pt + 2pt + 2pt + + + + true + 20.92547cm + 0.13424cm + 2.97096cm + 20.89818cm + 43 + + =Microsoft.VisualBasic.Interaction.IIF(First(Fields!SerieFolio.Value, "DataSet4") <> "", False, True) + @@ -3393,7 +3859,7 @@ - 23.17899cm + 27.70336cm