This commit is contained in:
2021-02-15 23:46:58 -07:00
16 changed files with 778 additions and 285 deletions

View File

@@ -1517,7 +1517,7 @@ Public Class ClsMovimientos
Optional CveCuenta As Integer = -1, Optional Grupo As String = "-1", Optional CveCuenta As Integer = -1, Optional Grupo As String = "-1",
Optional TipoCambio As Integer = -1, Optional TCEspecifico As Double = 0, 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, Optional CveMoneda As Integer = -1, Optional CveClienteClasificacion As Integer = -1, Optional Tipo As Integer = -1,
Optional EsDistribuidor As Integer = -1) As Boolean Optional EsDistribuidor As Integer = -1, Optional FechaAplicadoI As Date = Nothing, Optional FechaAplicadoF As Date = Nothing) As Boolean
Dim Retorno As Boolean = False Dim Retorno As Boolean = False
@@ -1546,7 +1546,12 @@ Public Class ClsMovimientos
.Add("@CveMoneda", SqlDbType.Int).Value = CveMoneda .Add("@CveMoneda", SqlDbType.Int).Value = CveMoneda
.Add("@CveClienteClasificacion", SqlDbType.Int).Value = CveClienteClasificacion .Add("@CveClienteClasificacion", SqlDbType.Int).Value = CveClienteClasificacion
.Add("@Tipo", SqlDbType.Int).Value = Tipo .Add("@Tipo", SqlDbType.Int).Value = Tipo
.Add("@EsDistribuidor", SqlDbType.Int).Value = EsDistribuidor .Add("@EsDistribuidor", SqlDbType.Int).Value = EsDistribuidor
.Add("@FechaAplicadoI", SqlDbType.Date).Value = FechaAplicadoI.ToShortDateString
.Add("@FechaAplicadoF", SqlDbType.Date).Value = FechaAplicadoF.ToShortDateString
End With End With
Try Try

View File

@@ -5276,14 +5276,14 @@ Public Class ClsPaginas
Usuario.CerrarSession() Usuario.CerrarSession()
End Sub End Sub
Public Sub Alert(Mensaje As String, Optional pOpcion As TipoMensaje = TipoMensaje.MsgInformacion, Optional JSBtnAceptar As String = "", Optional timeout As Integer = 5) Public Sub Alert(Mensaje As String, Optional pOpcion As TipoMensaje = TipoMensaje.MsgInformacion, Optional JSBtnAceptar As String = "", Optional timeout As Integer = 5, Optional ShowCloseButton As Boolean = True)
If DirectCast(pOpcion, Integer) >= 5 Then If DirectCast(pOpcion, Integer) >= 5 Then
Mensaje = Mensaje.Replace("'"c, "\'").Replace(vbCrLf, "").Replace("""", "\'").Replace(vbLf, " ") Mensaje = Mensaje.Replace("'"c, "\'").Replace(vbCrLf, "").Replace("""", "\'").Replace(vbLf, " ")
JSBtnAceptar = JSBtnAceptar.Replace("'"c, "\'") JSBtnAceptar = JSBtnAceptar.Replace("'"c, "\'")
Dim toastscript As String = String.Format("alertatoast({3},'{0}',function(){{{1}}},{2});", Mensaje, JSBtnAceptar, timeout, DirectCast(pOpcion, Integer)) Dim toastscript As String = String.Format("alertatoast({3},'{0}',function(){{{1}}},{2});", Mensaje, JSBtnAceptar, timeout, DirectCast(pOpcion, Integer))
ViewState("strToastMsglargonoreplace") = String.Format("{0}{1}", If(Not IsNothing(ViewState("strToastMsglargonoreplace")) AndAlso ViewState("strToastMsglargonoreplace").ToString().Length > 0, ViewState("strToastMsglargonoreplace").ToString(), ""), toastscript) ViewState("strToastMsglargonoreplace") = String.Format("{0}{1}", If(Not IsNothing(ViewState("strToastMsglargonoreplace")) AndAlso ViewState("strToastMsglargonoreplace").ToString().Length > 0, ViewState("strToastMsglargonoreplace").ToString(), ""), toastscript)
Else Else
Mensaje.Alert(Mensaje, pOpcion, JSBtnAceptar, TimeoutToast:=timeout) Mensaje.Alert(Mensaje, pOpcion, JSBtnAceptar, TimeoutToast:=timeout, ShowCloseButton:=ShowCloseButton)
End If End If
End Sub End Sub
Protected Overridable Sub Page_PreRender(sender As Object, e As EventArgs) Handles Me.PreRender Protected Overridable Sub Page_PreRender(sender As Object, e As EventArgs) Handles Me.PreRender

View File

@@ -4507,11 +4507,16 @@ Public Class ClsVentas
End Try End Try
Return retorno Return retorno
End Function End Function
Public Function GetMetasVendedores(CveEmpresa As Integer) As Boolean Public Function GetMetasVendedores(CveEmpresa As Integer, Optional CveSubProyecto As Integer = -1, Optional CveVendedor As Integer = -1, Optional CveMarca As Integer = -1, Optional Mes As Integer = -1, Optional Anio As Integer = -1) As Boolean
Dim retorno As Boolean = False Dim retorno As Boolean = False
DataAdapter("PA_Vta_MetasVendedoresGet", CommandType.StoredProcedure) DataAdapter("PA_Vta_MetasVendedoresGet", CommandType.StoredProcedure)
With SqlAdapter.SelectCommand.Parameters With SqlAdapter.SelectCommand.Parameters
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto
.Add("@CveVendedor", SqlDbType.Int).Value = CveVendedor
.Add("@CveMarca", SqlDbType.Int).Value = CveMarca
.Add("@Mes", SqlDbType.Int).Value = Mes
.Add("@Anio", SqlDbType.Int).Value = Anio
End With End With
Try Try
SqlAdapter.Fill(Data) SqlAdapter.Fill(Data)

View File

@@ -311,7 +311,7 @@ Namespace Extensiones
ToastAdventencia = 8 'Warning ToastAdventencia = 8 'Warning
End Enum End Enum
<Runtime.CompilerServices.Extension()> <Runtime.CompilerServices.Extension()>
Public Sub Alert(Obj As Object, Mensaje As String, pOpcion As TipoMensaje, Optional JSBtnAceptar As String = "", Optional TextoConfirmacion As String = "Aceptar", Optional TextoCancelacion As String = "Cancelar", Optional TimeoutToast As Integer = 5) Public Sub Alert(Obj As Object, Mensaje As String, pOpcion As TipoMensaje, Optional JSBtnAceptar As String = "", Optional TextoConfirmacion As String = "Aceptar", Optional TextoCancelacion As String = "Cancelar", Optional TimeoutToast As Integer = 5, Optional ShowCloseButton As Boolean = True)
If System.Web.HttpContext.Current IsNot Nothing AndAlso System.Web.HttpContext.Current.Handler IsNot Nothing AndAlso System.Web.HttpContext.Current.Handler.GetType().IsSubclassOf(GetType(Page)) Then If System.Web.HttpContext.Current IsNot Nothing AndAlso System.Web.HttpContext.Current.Handler IsNot Nothing AndAlso System.Web.HttpContext.Current.Handler.GetType().IsSubclassOf(GetType(Page)) Then
Dim Titulo As String = "" Dim Titulo As String = ""
@@ -331,6 +331,7 @@ Namespace Extensiones
Dim b3title As String = "" Dim b3title As String = ""
Dim b3clas As String = "hide" Dim b3clas As String = "hide"
Dim b3js As String = "" Dim b3js As String = ""
Dim closeButtonOption As String = ""
Select Case pOpcion Select Case pOpcion
Case TipoMensaje.MsgInformacion Case TipoMensaje.MsgInformacion
Titulo = "<i class='fa fa-info-circle'></i> Información" Titulo = "<i class='fa fa-info-circle'></i> Información"
@@ -371,15 +372,18 @@ Namespace Extensiones
End Select End Select
Try Try
'No cerrar el alert obliga a hacer click en los botones de opcion
If Not ShowCloseButton Then
closeButtonOption = "backdrop : ""static"", keyboard : false, closeButton: false,"
End If
Dim Pag As Page = DirectCast(System.Web.HttpContext.Current.Handler, Page) Dim Pag As Page = DirectCast(System.Web.HttpContext.Current.Handler, Page)
Dim script As String = "" Dim script As String = ""
If showalert Then If showalert Then
script = String.Format("bootbox.dialog({{message: ""{0} "",className: ""{11}"",onEscape: function() {{ {12} }},title: ""{1}"",buttons: {{ success: {{ label: ""{2}"", className: "" {3}""," & script = String.Format("bootbox.dialog({{message: ""{0} "", className: ""{11}"", {12} onEscape: function() {{ {12} }},title: ""{1}"",buttons: {{ success: {{ label: ""{2}"", className: "" {3}""," &
"callback: function() {{ {4} }} }}, danger: {{ label: ""{5}"", className: "" {6}"",callback: function() {{ {7} }} }}," & "callback: function() {{ {4} }} }}, danger: {{ label: ""{5}"", className: "" {6}"",callback: function() {{ {7} }} }}," &
"main: {{ label: ""{8}"", className: "" {9}"", callback: function() {{ {10} }} }} }} }});", "main: {{ label: ""{8}"", className: "" {9}"", callback: function() {{ {10} }} }} }} }});",
Mensaje, Titulo, b3title, b3clas, b3js, b2title, b2clas, b2js, b1title, b1clas, b1js, headerclas, onEscape) Mensaje, Titulo, b3title, b3clas, b3js, b2title, b2clas, b2js, b1title, b1clas, b1js, headerclas, onEscape, closeButtonOption)
Else Else
script = String.Format("alertatoast({3},'{0}',function(){{{1}}},{2});", Mensaje, JSBtnAceptar, TimeoutToast, DirectCast(pOpcion, Integer)) script = String.Format("alertatoast({3},'{0}',function(){{{1}}},{2});", Mensaje, JSBtnAceptar, TimeoutToast, DirectCast(pOpcion, Integer))
@@ -3592,9 +3596,9 @@ Namespace Extensiones
End Class End Class
#End Region #End Region
#Region "A T R I B U T O S" #Region "A T R I B U T O S"
Public Class BasicAuthenticationAttribute Public Class BasicAuthenticationAttribute
Inherits AuthorizationFilterAttribute Inherits AuthorizationFilterAttribute
@@ -3660,7 +3664,7 @@ Namespace Extensiones
actionContext.Response = actionContext.Request.CreateResponse(HttpStatusCode.Unauthorized) actionContext.Response = actionContext.Request.CreateResponse(HttpStatusCode.Unauthorized)
actionContext.Response.Headers.Add("WWW-Authenticate", "Basic Scheme='Data' location = 'http://localhost:") actionContext.Response.Headers.Add("WWW-Authenticate", "Basic Scheme='Data' location = 'http://localhost:")
End Sub End Sub
End Class End Class
#End Region #End Region
End Namespace End Namespace

View File

@@ -3217,6 +3217,12 @@
</div> </div>
</div> </div>
</div> </div>
<div class="row" style="align-items: center" id="divDevAuto" runat="server" visible="false">
<label class="col-md-4">Devolución automática:</label>
<div class="col-md-8">
<asp:CheckBox Text="" runat="server" ID="CheckDevAuto" Visible="True" />
</div>
</div>
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
<asp:Button ID="BtnCancelarCompra2" OnClick="BtnCancelarCompra2_Click" runat="server" CssClass="btn btn-success" Text="Cancelar Compra" ValidationGroup="GrpCancelarCompra" /> <asp:Button ID="BtnCancelarCompra2" OnClick="BtnCancelarCompra2_Click" runat="server" CssClass="btn btn-success" Text="Cancelar Compra" ValidationGroup="GrpCancelarCompra" />

View File

@@ -1591,8 +1591,12 @@ Partial Class Compras_Compras
LtlTareaNueva.Text = String.Format("<a class=""caption-subject bold font-green"" onclick=""OpenModalNewTareaUserControl(1,-1,{{CveCompra:{0}}});""> <i class=""fa fa-plus""'></i> Tarea</a>", CveCompra) LtlTareaNueva.Text = String.Format("<a class=""caption-subject bold font-green"" onclick=""OpenModalNewTareaUserControl(1,-1,{{CveCompra:{0}}});""> <i class=""fa fa-plus""'></i> Tarea</a>", CveCompra)
End If 'Valida si tienes permisos para devolucion automatica y si cumple con las condiciones para mostrarlo
If UsuarioActual.TienePermisoProceso(315) And GvInvMov.Rows.Count > 0 Then
divDevAuto.Visible = True
End If
End If
'SE OCUPAN AFUERA DEL POSTBACK ?? 'SE OCUPAN AFUERA DEL POSTBACK ??
cargaddlVinculacionServcios() cargaddlVinculacionServcios()
@@ -5258,7 +5262,6 @@ Partial Class Compras_Compras
'hay que restarle descuento 'hay que restarle descuento
importeconcepto = If(DdlMoneda.SelectedValue.ToEntero = 1, dr("pu").ToString.ToDecimal, dr("pu").ToString.ToDecimal * TipoCambioGuardar) - (If(DdlMoneda.SelectedValue.ToEntero = 1, dr("descuento").ToString.ToDecimal, dr("descuento").ToString.ToDecimal * TipoCambioGuardar) / dr("cantidad").ToString.ToDecimal) importeconcepto = If(DdlMoneda.SelectedValue.ToEntero = 1, dr("pu").ToString.ToDecimal, dr("pu").ToString.ToDecimal * TipoCambioGuardar) - (If(DdlMoneda.SelectedValue.ToEntero = 1, dr("descuento").ToString.ToDecimal, dr("descuento").ToString.ToDecimal * TipoCambioGuardar) / dr("cantidad").ToString.ToDecimal)
If Not ObjInventario.AddMovimientoDetalle(cvemovimientoentrada, dr("cantidad").ToString.ToDouble, dr("cveum").ToString.ToEntero, dr("cveps").ToString.ToEntero, importeconcepto, -1, PUTC:=If(DdlMoneda.SelectedValue.ToEntero = 1, -1, dr("pu").ToString.ToDecimal), CveCompraDetalle:=dr("CveCompraDetalle").ToString.ToEntero) Then If Not ObjInventario.AddMovimientoDetalle(cvemovimientoentrada, dr("cantidad").ToString.ToDouble, dr("cveum").ToString.ToEntero, dr("cveps").ToString.ToEntero, importeconcepto, -1, PUTC:=If(DdlMoneda.SelectedValue.ToEntero = 1, -1, dr("pu").ToString.ToDecimal), CveCompraDetalle:=dr("CveCompraDetalle").ToString.ToEntero) Then
ErrorMovInv = True ErrorMovInv = True
Exit For Exit For
End If End If
@@ -14754,7 +14757,7 @@ Partial Class Compras_Compras
If UsuarioActual.TienePermisoProceso(140) Then If UsuarioActual.TienePermisoProceso(140) Then
If CveMovimientoAlmacen > 0 And EstatusAlmacen = 2 Then If CveMovimientoAlmacen > 0 And EstatusAlmacen = 2 Then
BtnCancelarCompra.Visible = True BtnCancelarCompra.Visible = True
ElseIf CveMovimientoAlmacen = 0 Then Else
BtnCancelarCompra.Visible = True BtnCancelarCompra.Visible = True
End If End If
End If End If
@@ -14791,6 +14794,70 @@ Partial Class Compras_Compras
End If End If
ObjComprasComprobacion.Dispose() ObjComprasComprobacion.Dispose()
'DEVOLUCIÓN AUTOMATICA
If CheckDevAuto.Checked Then
Dim ErrorMovInv As Boolean = False
Dim cvemovimientoentrada As Integer
Dim folio As Integer
Dim fecha As Date = TxtFechaCancelacion.Text.ToDate
Dim importeconcepto As Decimal
Dim ObjInventario As New ClsInventarios
Dim ObjCompra As New ClsCompras
Dim tbmovs As DataTable = Nothing
Dim TmpDT As DataTable = Nothing
Dim TipoCambioGuardar As Decimal = 1
Dim tcvealmacen As Integer = 0
If ObjCompra.GetCompraDetalle(CveCompra) Then
If ObjCompra.DtResultados.Rows.Count > 0 Then
TmpDT = ObjCompra.DtResultados
End If
End If
If ObjInventario.GetInv_ComprasMov(CveCompra, UsuarioActual.CveEmpresa) Then
If ObjInventario.DtResultados.Rows.Count > 0 Then
tbmovs = ObjInventario.DtResultados
End If
End If
If DdlMoneda.SelectedValue.ToEntero > 1 Then
TipoCambioGuardar = If(DivTC.Visible, TxtTC.Text.ToDecimal, LblTC.Text.Substring(3).ToDecimal)
End If
TipoCambio = If(DivTC.Visible, TipoCambioGuardar, TipoCambio)
For Each dtMovs As DataRow In TmpDT.Rows
If TmpDT.Rows.Count > 0 Then
tcvealmacen = dtMovs("AlmacenRegistrado").ToString.ToEntero
Exit For
End If
Next
folio = ObjInventario.GetFolioSiguiente(13, UsuarioActual.CveEmpresa)
cvemovimientoentrada = ObjInventario.AddMovimiento(tcvealmacen, 13, 1, fecha, folio, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCompra, -1, -1, -1, TipoCambio:=If(DdlMoneda.SelectedValue.ToEntero = 1, -1, TipoCambioGuardar), Modulo:="Devolucion Automatica")
If cvemovimientoentrada <= 0 Then
ErrorMovInv = True
Else
For Each dr As DataRow In tbmovs.Rows
If dr("cvealmacen").ToString.ToEntero = tcvealmacen And dr("CveCompraDetalle").ToString.ToEntero <> -1 And dr("origen").ToString.ToEntero <> -1 And dr("Total").ToString.ToDecimal <> 0 Then
'hay que restarle descuento
importeconcepto = dr("Total").ToString.ToDecimal
If Not ObjInventario.AddMovimientoDetalle(cvemovimientoentrada, dr("cantidad").ToString.ToDouble, dr("cveum").ToString.ToEntero, dr("cveps").ToString.ToEntero, importeconcepto, -1, CveCompraDetalle:=dr("CveCompraDetalle").ToString.ToEntero, Serie:=dr("Serie").ToString) Then
ErrorMovInv = True
Exit Sub
End If
End If
Next
End If
If ErrorMovInv = True Then
ObjInventario.RollBack()
End If
ObjInventario.Dispose()
ObjCompra.Dispose()
End If
Dim ObjAC As ClsContPAQi = Nothing Dim ObjAC As ClsContPAQi = Nothing
If UsuarioActual.Empresa.UsaAC Or UsuarioActual.Empresa.Funcionalidad(200).ToString = "1" Then If UsuarioActual.Empresa.UsaAC Or UsuarioActual.Empresa.Funcionalidad(200).ToString = "1" Then
ObjAC = New ClsContPAQi(UsuarioActual.Empresa) ObjAC = New ClsContPAQi(UsuarioActual.Empresa)
@@ -14808,7 +14875,7 @@ Partial Class Compras_Compras
' MES ANTERIOR, MOVIMIENTOS CONTRARIOS (NEGATIVOS) ' MES ANTERIOR, MOVIMIENTOS CONTRARIOS (NEGATIVOS)
If TxtFecha.Text.ToDate.Month < TxtFechaCancelacion.Text.ToDate.Month Or TxtFecha.Text.ToDate.Year < TxtFechaCancelacion.Text.ToDate.Year Or DdlTipoComprobante.SelectedValue.Contiene("NC") Then If True Then
'CREA POLIZA NEGATIVA 'CREA POLIZA NEGATIVA
If IdPoliza > 0 AndAlso ObjAC IsNot Nothing AndAlso UsuarioActual.Empresa.UsaAC Then If IdPoliza > 0 AndAlso ObjAC IsNot Nothing AndAlso UsuarioActual.Empresa.UsaAC Then
@@ -14963,6 +15030,8 @@ Partial Class Compras_Compras
ObjAC.Dispose() ObjAC.Dispose()
End If End If
End Sub End Sub
Private Sub btnProrateo_Click(sender As Object, e As EventArgs) Handles btnProrateo.Click, btnProrateo2.Click Private Sub btnProrateo_Click(sender As Object, e As EventArgs) Handles btnProrateo.Click, btnProrateo2.Click

View File

@@ -218,6 +218,7 @@ public partial class Contabilidad_RepIVA : ClsPaginas
string Formato = TT.ActiveTabIndex == 0 ? "RepIVA.rpt" : (Opcion == "EXCEL2" ? "RepIVAAcreditable2.rpt" : "RepIVAAcreditable.rpt"); string Formato = TT.ActiveTabIndex == 0 ? "RepIVA.rpt" : (Opcion == "EXCEL2" ? "RepIVAAcreditable2.rpt" : "RepIVAAcreditable.rpt");
Opcion = (Opcion == "EXCEL2" ? "EXCEL" : Opcion); Opcion = (Opcion == "EXCEL2" ? "EXCEL" : Opcion);
para.Add(new CrystalParametro("Excel", Formato)); para.Add(new CrystalParametro("Excel", Formato));
para.Add(new CrystalParametro("Formato", Opcion));
System.IO.FileInfo Archivo = new System.IO.FileInfo(string.Format("{0}/Formatos/{1}", UsuarioActual.Empresa.Ruta, Formato)); System.IO.FileInfo Archivo = new System.IO.FileInfo(string.Format("{0}/Formatos/{1}", UsuarioActual.Empresa.Ruta, Formato));
string Ruta;// = (Archivo.Exists ? string.Format("{0}/{1}", UsuarioActual.Empresa.Ruta, Formato ): ModExtensiones.DirectorioBaseEmpresas + $@"Empresas\Grales\Formatos\{Formato}"); string Ruta;// = (Archivo.Exists ? string.Format("{0}/{1}", UsuarioActual.Empresa.Ruta, Formato ): ModExtensiones.DirectorioBaseEmpresas + $@"Empresas\Grales\Formatos\{Formato}");

Binary file not shown.

View File

@@ -1,171 +1,261 @@
<%@ Page Title="Catálogo de metas para vendedores" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="CatMetasVendedores.aspx.vb" Inherits="CatMetasVendedores" %> <%@ Page Title="Catálogo de metas para vendedores" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="CatMetasVendedores.aspx.vb" Inherits="CatMetasVendedores" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %> <%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server"> <asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
</asp:Content> </asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server"> <asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
</asp:Content> </asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="HB" runat="Server"> <asp:Content ID="Content3" ContentPlaceHolderID="HB" runat="Server">
</asp:Content> </asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="E" runat="Server"> <asp:Content ID="Content4" ContentPlaceHolderID="E" runat="Server">
Catálogo de metas para vendedores Catálogo de metas para vendedores
</asp:Content> </asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server"> <asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
<asp:UpdatePanel runat="server" ID="UpAgregar"> <asp:UpdatePanel runat="server" ID="UpAgregar">
<ContentTemplate> <ContentTemplate>
<li> <li>
<asp:LinkButton ID="LnkAgregar" runat="server"> Agregar Meta</asp:LinkButton> <asp:LinkButton ID="LnkAgregar" runat="server"> Agregar Meta</asp:LinkButton>
</li> </li>
</ContentTemplate> </ContentTemplate>
</asp:UpdatePanel> </asp:UpdatePanel>
</asp:Content> <li>
<asp:Content ID="Content6" ContentPlaceHolderID="C" runat="Server"> <asp:HyperLink ID="HlAgregarExcel" NavigateUrl="#" Visible="True" data-toggle="modal" data-target="#DivCargaExcel" runat="server"><i class='fa fa-server'></i> Importar Listado</asp:HyperLink>
<asp:UpdatePanel ID="UpDatos" runat="server" UpdateMode="Conditional"> </li>
<ContentTemplate> </asp:Content>
<asp:GridView ID="GvDatos" runat="server" AutoGenerateColumns="False" DataKeyNames="CveMeta,CveVendedor,CveMarca,CveClasificacion,CveClasificacionSup,Vendedor,MesAño,Marca,Clasificacion,MetaCantidad,MetaImporte" EmptyDataText="No se encontraron metas registradas" ToolTip="Listado de Metas Vendedor" CssClass="table table-striped table-advance table-hover" Style="margin-top: -10px; text-align: center;width:100%" GridLines="None"> <asp:Content ID="Content6" ContentPlaceHolderID="C" runat="Server">
<Columns> <asp:UpdatePanel ID="UPFiltros" runat="server" UpdateMode="Conditional">
<asp:TemplateField HeaderText ="Vendedor" ItemStyle-HorizontalAlign="Left"> <ContentTemplate>
<ItemTemplate> <div class="portlet solid grey-cascade portlet-filter" id="idnecesaria">
<asp:Literal ID="LtlVendedor" runat="server" Text='<%# Eval("Vendedor", "&nbsp;{0}") %>'></asp:Literal> <div class="portlet-title portlet-filterT smalltitle">
</ItemTemplate> <div class="tools">
<EditItemTemplate> <asp:Button ID="BtnConsultar" runat="server" Text="Consultar" class="btn btn-primary" OnClick="BtnConsultar_Click" />
<asp:TextBox ID="TxtVendedor" runat="server" CausesValidation="true" MaxLength="50" Text='<%# Eval("Vendedor") %>' ValidationGroup="GrpGV" Width="234px"></asp:TextBox> <a href="javascript:;" class="expand"></a>
<asp:RequiredFieldValidator ID="RFVVendedor" runat="server" ControlToValidate="TxtVendedor" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Vendedor''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGV"></asp:RequiredFieldValidator> </div>
<ajax:ValidatorCalloutExtender ID="VCVendedor" runat="server" HighlightCssClass="vco" TargetControlID="RFVVendedor" Width="300px"></ajax:ValidatorCalloutExtender> <div class="titlefiltros caption">
</EditItemTemplate> <div class="row">
</asp:TemplateField> <label class="col-md-1 truncate">Sucursal:</label>
<asp:TemplateField HeaderText ="Clasificación superior"> <div class="col-md-2">
<ItemTemplate> <asp:DropDownList ID="DdlSubProyecto" runat="server" Width="100%" DataTextField="SubProyecto" DataValueField="CveSubProyecto" Class="table-group-action-input form-control input-inline input-small input-sm select2me">
<asp:Literal ID="LtlClasificacionSup" runat="server" Text='<%# Eval("ClasificacionSup", "&nbsp;{0}") %>'></asp:Literal> </asp:DropDownList>
</ItemTemplate> </div>
<EditItemTemplate> <label class="col-md-1 truncate">Mes/Año:</label>
<asp:TextBox ID="TxtClasificacionSup" runat="server" CausesValidation="true" MaxLength="50" Text='<%# Eval("ClasificacionSup") %>' ValidationGroup="GrpGV" Width="234px"></asp:TextBox> <div class="col-md-1" style="min-width: 115px">
<asp:RequiredFieldValidator ID="RFVClasificacionSup" runat="server" ControlToValidate="TxtClasificacionSup" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Clasificacion''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGV"></asp:RequiredFieldValidator> <div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 100px !important; padding: 0px;">
<ajax:ValidatorCalloutExtender ID="VCClasificacionSup" runat="server" HighlightCssClass="vco" TargetControlID="RFVClasificacionSup" Width="300px"></ajax:ValidatorCalloutExtender> <asp:TextBox Width="80px" ID="txtMesAnio" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10"></asp:TextBox>
</EditItemTemplate> <span class="input-group-btn ">
</asp:TemplateField> <asp:LinkButton ID="imgCalendario" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
<asp:TemplateField HeaderText ="Clasificacion"> </span>
<ItemTemplate> </div>
<asp:Literal ID="LtlClasificacion" runat="server" Text='<%# Eval("Clasificacion", "{0}") %>'></asp:Literal> <ajax:MaskedEditExtender ID="MEEMesAnio" runat="server" TargetControlID="txtMesAnio" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
</ItemTemplate> <ajax:CalendarExtender runat="server" ID="Calendario" TargetControlID="txtMesAnio" PopupButtonID="ImgCalendario" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<EditItemTemplate> </div>
<asp:TextBox ID="TxtClasificacion" runat="server" CausesValidation="true" MaxLength="50" Text='<%# Eval("Clasificacion") %>' ValidationGroup="GrpGV" Width="234px"></asp:TextBox> <label title="Vendedor" data-toggle="tooltip" class="col-md-1 truncate">Vendedor:</label>
<asp:RequiredFieldValidator ID="RFVClasificacion" runat="server" ControlToValidate="TxtClasificacion" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Clasificacion''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGV"></asp:RequiredFieldValidator> <div class="col-md-2">
<ajax:ValidatorCalloutExtender ID="VCClasificacion" runat="server" HighlightCssClass="vco" TargetControlID="RFVClasificacion" Width="300px"></ajax:ValidatorCalloutExtender> <asp:DropDownList ID="DdlVendedor" runat="server" Width="100%" DataTextField="Vendedor" DataValueField="CveVendedor" Class="table-group-action-input form-control input-inline input-small input-sm select2me">
</EditItemTemplate> </asp:DropDownList>
</asp:TemplateField> </div>
<asp:TemplateField HeaderText ="Marca" ItemStyle-HorizontalAlign="Left"> <label title="Marca" data-toggle="tooltip" class="col-md-1 truncate">Marca:</label>
<ItemTemplate> <div class="col-md-2">
<asp:Literal ID="LtlMarca" runat="server" Text='<%# Eval("Marca", "{0}") %>'></asp:Literal> <asp:DropDownList ID="DdlMarca" runat="server" Width="100%" DataTextField="Marca" DataValueField="CveMarca" Class="table-group-action-input form-control input-inline input-small input-sm select2me">
</ItemTemplate> </asp:DropDownList>
<EditItemTemplate> </div>
<asp:TextBox ID="TxtMarca" runat="server" CausesValidation="true" MaxLength="50" Text='<%# Eval("Marca") %>' ValidationGroup="GrpGV" Width="234px"></asp:TextBox> <div class="col-md-1"></div>
<asp:RequiredFieldValidator ID="RFVMarca" runat="server" ControlToValidate="TxtMarca" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Marca''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGV"></asp:RequiredFieldValidator> </div>
<ajax:ValidatorCalloutExtender ID="VCMarca" runat="server" HighlightCssClass="vco" TargetControlID="RFVMarca" Width="300px"></ajax:ValidatorCalloutExtender> </div>
</EditItemTemplate> </div>
</asp:TemplateField> <div class="portlet-body" style="display: none">
<asp:TemplateField HeaderText ="MesAño"> </div>
<ItemTemplate> </div>
<asp:Literal ID="LtlMesAño" runat="server" Text='<%# Eval("MesAño", "{0:mm/yyyy}") %>'></asp:Literal> </ContentTemplate>
</ItemTemplate> </asp:UpdatePanel>
<EditItemTemplate> <asp:UpdatePanel ID="UpDatos" runat="server" UpdateMode="Conditional">
<asp:TextBox ID="TxtMesAño" runat="server" CausesValidation="true" MaxLength="50" Text='<%# Eval("MesAño") %>' ValidationGroup="GrpGV" Width="234px"></asp:TextBox> <ContentTemplate>
<asp:RequiredFieldValidator ID="RFVMesAño" runat="server" ControlToValidate="TxtMesAño" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''MesAño''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGV"></asp:RequiredFieldValidator> <asp:GridView ID="GvDatos" runat="server" AutoGenerateColumns="False" DataKeyNames="CveMeta,CveVendedor,CveMarca,CveClasificacion,CveClasificacionSup,Vendedor,MesAño,Marca,Clasificacion,MetaCantidad,MetaImporte" EmptyDataText="No se encontraron metas registradas" ToolTip="Listado de Metas Vendedor" CssClass="table table-striped table-advance table-hover" Style="margin-top: -10px; text-align: center; width: 100%" GridLines="None">
<ajax:ValidatorCalloutExtender ID="VCMesAño" runat="server" HighlightCssClass="vco" TargetControlID="RFVMesAño" Width="300px"></ajax:ValidatorCalloutExtender> <Columns>
</EditItemTemplate> <asp:TemplateField HeaderText="Vendedor" ItemStyle-HorizontalAlign="Left">
</asp:TemplateField> <ItemTemplate>
<asp:TemplateField HeaderText ="Meta Cantidad"> <asp:Literal ID="LtlVendedor" runat="server" Text='<%# Eval("Vendedor", "&nbsp;{0}") %>'></asp:Literal>
<ItemTemplate> </ItemTemplate>
<asp:Literal ID="LtlMetaCantidad" runat="server" Text='<%# Eval("MetaCantidad", "{0}") %>'></asp:Literal> <EditItemTemplate>
</ItemTemplate> <asp:TextBox ID="TxtVendedor" runat="server" CausesValidation="true" MaxLength="50" Text='<%# Eval("Vendedor") %>' ValidationGroup="GrpGV" Width="234px"></asp:TextBox>
<EditItemTemplate> <asp:RequiredFieldValidator ID="RFVVendedor" runat="server" ControlToValidate="TxtVendedor" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Vendedor''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGV"></asp:RequiredFieldValidator>
<asp:TextBox ID="TxtMetaCantidad" runat="server" CausesValidation="true" MaxLength="50" Text='<%# Eval("MetaCantidad") %>' ValidationGroup="GrpGV" Width="234px"></asp:TextBox> <ajax:ValidatorCalloutExtender ID="VCVendedor" runat="server" HighlightCssClass="vco" TargetControlID="RFVVendedor" Width="300px"></ajax:ValidatorCalloutExtender>
<asp:RequiredFieldValidator ID="RFVMetaCantidad" runat="server" ControlToValidate="TxtMetaCantidad" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''MetaCantidad''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGV"></asp:RequiredFieldValidator> </EditItemTemplate>
<ajax:ValidatorCalloutExtender ID="VCMetaCantidad" runat="server" HighlightCssClass="vco" TargetControlID="RFVMetaCantidad" Width="300px"></ajax:ValidatorCalloutExtender> </asp:TemplateField>
</EditItemTemplate> <asp:TemplateField HeaderText="Clasificación superior">
</asp:TemplateField> <ItemTemplate>
<asp:TemplateField HeaderText ="Meta Importe"> <asp:Literal ID="LtlClasificacionSup" runat="server" Text='<%# Eval("ClasificacionSup", "&nbsp;{0}") %>'></asp:Literal>
<ItemTemplate> </ItemTemplate>
<asp:Literal ID="LtlMetaImporte" runat="server" Text='<%# Eval("MetaImporte", "{0}") %>'></asp:Literal> <EditItemTemplate>
</ItemTemplate> <asp:TextBox ID="TxtClasificacionSup" runat="server" CausesValidation="true" MaxLength="50" Text='<%# Eval("ClasificacionSup") %>' ValidationGroup="GrpGV" Width="234px"></asp:TextBox>
<EditItemTemplate> <asp:RequiredFieldValidator ID="RFVClasificacionSup" runat="server" ControlToValidate="TxtClasificacionSup" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Clasificacion''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGV"></asp:RequiredFieldValidator>
<asp:TextBox ID="TxtMetaImporte" runat="server" CausesValidation="true" MaxLength="50" Text='<%# Eval("MetaImporte") %>' ValidationGroup="GrpGV" Width="234px"></asp:TextBox> <ajax:ValidatorCalloutExtender ID="VCClasificacionSup" runat="server" HighlightCssClass="vco" TargetControlID="RFVClasificacionSup" Width="300px"></ajax:ValidatorCalloutExtender>
<asp:RequiredFieldValidator ID="RFVMetaImporte" runat="server" ControlToValidate="TxtMetaImporte" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''MetaImporte''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGV"></asp:RequiredFieldValidator> </EditItemTemplate>
<ajax:ValidatorCalloutExtender ID="VCMetaImporte" runat="server" HighlightCssClass="vco" TargetControlID="RFVMetaImporte" Width="300px"></ajax:ValidatorCalloutExtender> </asp:TemplateField>
</EditItemTemplate> <asp:TemplateField HeaderText="Clasificacion">
</asp:TemplateField> <ItemTemplate>
<asp:TemplateField ItemStyle-HorizontalAlign="Center" HeaderText="Comandos"> <asp:Literal ID="LtlClasificacion" runat="server" Text='<%# Eval("Clasificacion", "{0}") %>'></asp:Literal>
<ItemTemplate> </ItemTemplate>
<asp:LinkButton ID="imgE" runat="server" AlternateText="Editar" CausesValidation="False" CssClass="btn btn-circle btn-xs green" OnClick="GvDatos_RowEditing" Text="<i class='fa fa-pencil'></i>" /> <EditItemTemplate>
<asp:LinkButton ID="imgD" runat="server" AlternateText="Eliminar" OnClick="Delete_Click" CausesValidation="False" CssClass="btn btn-circle btn-xs red" Text="<i class='icon-trash'></i>" data-toggle="confirmation" data-popout="true" data-original-title="Confirmar" data-btn-ok-label="si" /> <asp:TextBox ID="TxtClasificacion" runat="server" CausesValidation="true" MaxLength="50" Text='<%# Eval("Clasificacion") %>' ValidationGroup="GrpGV" Width="234px"></asp:TextBox>
</ItemTemplate> <asp:RequiredFieldValidator ID="RFVClasificacion" runat="server" ControlToValidate="TxtClasificacion" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Clasificacion''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGV"></asp:RequiredFieldValidator>
</asp:TemplateField> <ajax:ValidatorCalloutExtender ID="VCClasificacion" runat="server" HighlightCssClass="vco" TargetControlID="RFVClasificacion" Width="300px"></ajax:ValidatorCalloutExtender>
</Columns> </EditItemTemplate>
</asp:GridView> </asp:TemplateField>
</ContentTemplate> <asp:TemplateField HeaderText="Marca" ItemStyle-HorizontalAlign="Left">
</asp:UpdatePanel> <ItemTemplate>
<div id="DivAgregarTiposD" class="modal ADS fade" role="dialog"> <asp:Literal ID="LtlMarca" runat="server" Text='<%# Eval("Marca", "{0}") %>'></asp:Literal>
<div class="modal-dialog" style="width: 450px;"> </ItemTemplate>
<asp:UpdatePanel runat="server" class="modal-content" ID="UpModalTiposD" UpdateMode="Conditional"> <EditItemTemplate>
<ContentTemplate> <asp:TextBox ID="TxtMarca" runat="server" CausesValidation="true" MaxLength="50" Text='<%# Eval("Marca") %>' ValidationGroup="GrpGV" Width="234px"></asp:TextBox>
<div class="modal-header "> <asp:RequiredFieldValidator ID="RFVMarca" runat="server" ControlToValidate="TxtMarca" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Marca''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGV"></asp:RequiredFieldValidator>
<button type="button" class="close" data-dismiss="modal">×</button> <ajax:ValidatorCalloutExtender ID="VCMarca" runat="server" HighlightCssClass="vco" TargetControlID="RFVMarca" Width="300px"></ajax:ValidatorCalloutExtender>
<h4 class="modal-title"> </EditItemTemplate>
<asp:Literal ID="LtlTituloModalTiposD" runat="server">Metas Vendedores</asp:Literal></h4> </asp:TemplateField>
</div> <asp:TemplateField HeaderText="Mes/Año">
<div class="modal-body"> <ItemTemplate>
<div class="form-group form-md-line-input input-iconright"> <asp:Literal ID="LtlMesAño" runat="server" Text='<%# Eval("MesAño", "{0:MM/yyyy}") %>'></asp:Literal>
<label for="DdlVendedores">Vendedor:</label> </ItemTemplate>
<asp:DropDownList ID="DdlVendedores" runat="server" DataTextField="Vendedor" DataValueField="CveVendedor" CssClass="form-control input-sm select2me"></asp:DropDownList> <EditItemTemplate>
<i></i> <asp:TextBox ID="TxtMesAño" runat="server" CausesValidation="true" MaxLength="50" Text='<%# Eval("MesAño") %>' ValidationGroup="GrpGV" Width="234px"></asp:TextBox>
</div> <asp:RequiredFieldValidator ID="RFVMesAño" runat="server" ControlToValidate="TxtMesAño" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''MesAño''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGV"></asp:RequiredFieldValidator>
<div class="form-group form-md-line-input input-iconright"> <ajax:ValidatorCalloutExtender ID="VCMesAño" runat="server" HighlightCssClass="vco" TargetControlID="RFVMesAño" Width="300px"></ajax:ValidatorCalloutExtender>
<label for="MotivoTxt">Mes y Año:</label> </EditItemTemplate>
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 95px !important; padding: 0px;"> </asp:TemplateField>
<asp:TextBox Style="width: 110px !important;" ID="TxtFechaI" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10"></asp:TextBox> <asp:TemplateField HeaderText="Meta Cantidad">
<span class="input-group-btn "> <ItemTemplate>
<asp:LinkButton ID="ImgFechaI" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton> <asp:Literal ID="LtlMetaCantidad" runat="server" Text='<%# Eval("MetaCantidad", "{0}") %>'></asp:Literal>
</span> </ItemTemplate>
</div> <EditItemTemplate>
<ajax:MaskedEditExtender ID="MEEFechaI" runat="server" TargetControlID="TxtFechaI" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender> <asp:TextBox ID="TxtMetaCantidad" runat="server" CausesValidation="true" MaxLength="50" Text='<%# Eval("MetaCantidad") %>' ValidationGroup="GrpGV" Width="234px"></asp:TextBox>
<ajax:CalendarExtender runat="server" ID="CEFechaI" TargetControlID="TxtFechaI" PopupButtonID="ImgFechaI" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender> <asp:RequiredFieldValidator ID="RFVMetaCantidad" runat="server" ControlToValidate="TxtMetaCantidad" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''MetaCantidad''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGV"></asp:RequiredFieldValidator>
</div> <ajax:ValidatorCalloutExtender ID="VCMetaCantidad" runat="server" HighlightCssClass="vco" TargetControlID="RFVMetaCantidad" Width="300px"></ajax:ValidatorCalloutExtender>
<div class="form-group form-md-line-input input-iconright"> </EditItemTemplate>
<label for="DdlMarcas">Clasificacion Superior:</label> </asp:TemplateField>
<asp:DropDownList ID="DdlClasificacionSup" runat="server" DataTextField="Clasificacion" DataValueField="CveClasificacion" CssClass="form-control input-sm select2me"></asp:DropDownList> <asp:TemplateField HeaderText="Meta Importe">
<i></i> <ItemTemplate>
</div> <asp:Literal ID="LtlMetaImporte" runat="server" Text='<%# Eval("MetaImporte", "{0}") %>'></asp:Literal>
<div class="form-group form-md-line-input input-iconright"> </ItemTemplate>
<label for="DdlMarcas">Clasificacion:</label> <EditItemTemplate>
<asp:DropDownList ID="DdlClasificacion" runat="server" DataTextField="Clasificacion" DataValueField="CveClasificacion" CssClass="form-control input-sm select2me"></asp:DropDownList> <asp:TextBox ID="TxtMetaImporte" runat="server" CausesValidation="true" MaxLength="50" Text='<%# Eval("MetaImporte") %>' ValidationGroup="GrpGV" Width="234px"></asp:TextBox>
<i></i> <asp:RequiredFieldValidator ID="RFVMetaImporte" runat="server" ControlToValidate="TxtMetaImporte" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''MetaImporte''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGV"></asp:RequiredFieldValidator>
</div> <ajax:ValidatorCalloutExtender ID="VCMetaImporte" runat="server" HighlightCssClass="vco" TargetControlID="RFVMetaImporte" Width="300px"></ajax:ValidatorCalloutExtender>
<div class="form-group form-md-line-input input-iconright"> </EditItemTemplate>
<label for="DdlMarcas">Marca:</label> </asp:TemplateField>
<asp:DropDownList ID="DdlMarcas" runat="server" DataTextField="Marca" DataValueField="CveMarca" CssClass="form-control input-sm select2me"></asp:DropDownList> <asp:TemplateField ItemStyle-HorizontalAlign="Center" HeaderText="Comandos">
<i></i> <ItemTemplate>
</div> <asp:LinkButton ID="imgE" runat="server" AlternateText="Editar" CausesValidation="False" CssClass="btn btn-circle btn-xs green" OnClick="GvDatos_RowEditing" Text="<i class='fa fa-pencil'></i>" />
<div class="form-group form-md-line-input input-iconright"> <asp:LinkButton ID="imgD" runat="server" AlternateText="Eliminar" OnClick="Delete_Click" CausesValidation="False" CssClass="btn btn-circle btn-xs red" Text="<i class='icon-trash'></i>" data-toggle="confirmation" data-popout="true" data-original-title="Confirmar" data-btn-ok-label="si" />
<asp:TextBox ID="TxtMetaCantidad" CssClass="form-control " runat="server" MaxLength="70" CausesValidation="true"></asp:TextBox> </ItemTemplate>
<asp:RequiredFieldValidator ID="RfvTxtTiposD" runat="server" ControlToValidate="TxtMetaCantidad" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Cantidad meta''</b> es necesario, por favor ingréselo." ValidationGroup="GrpTiposD"></asp:RequiredFieldValidator> </asp:TemplateField>
<label for="MotivoTxt">Cantidad meta:</label> </Columns>
<i></i> </asp:GridView>
</div> </ContentTemplate>
<div class="form-group form-md-line-input input-iconright"> </asp:UpdatePanel>
<asp:TextBox ID="TxtMetaImporte" CssClass="form-control " runat="server" MaxLength="70" CausesValidation="true"></asp:TextBox> <div id="DivAgregarTiposD" class="modal ADS fade" role="dialog">
<asp:RequiredFieldValidator ID="RfvTxtMetaImporte" runat="server" ControlToValidate="TxtMetaImporte" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Importe meta''</b> es necesario, por favor ingréselo." ValidationGroup="GrpTiposD"></asp:RequiredFieldValidator> <div class="modal-dialog" style="width: 450px;">
<label for="MotivoTxt">Importe meta:</label> <asp:UpdatePanel runat="server" class="modal-content" ID="UpModalTiposD" UpdateMode="Conditional">
<i></i> <ContentTemplate>
</div> <div class="modal-header ">
</div> <button type="button" class="close" data-dismiss="modal">×</button>
<div class="modal-footer"> <h4 class="modal-title">
<asp:Button ID="BtnAgregarMetaVendedor" runat="server" class="btn btn-success" Text="Agregar" ValidationGroup="GrpTiposD" /> <asp:Literal ID="LtlTituloModalTiposD" runat="server">Metas Vendedores</asp:Literal></h4>
<button id="Button3" runat="server" type="button" class="btn default" data-dismiss="modal">Cancelar</button> </div>
</div> <div class="modal-body">
</ContentTemplate> <div class="form-group form-md-line-input input-iconright">
</asp:UpdatePanel> <label for="DdlVendedores">Vendedor:</label>
</div> <asp:DropDownList ID="DdlVendedores" runat="server" DataTextField="Vendedor" DataValueField="CveVendedor" CssClass="form-control input-sm select2me"></asp:DropDownList>
</div> <i></i>
</asp:Content> </div>
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server"> <div class="form-group form-md-line-input input-iconright">
</asp:Content> <label for="MotivoTxt">Mes y Año:</label>
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 95px !important; padding: 0px;">
<asp:TextBox Style="width: 110px !important;" ID="TxtFechaI" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="ImgFechaI" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
</div>
<ajax:MaskedEditExtender ID="MEEFechaI" runat="server" TargetControlID="TxtFechaI" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CEFechaI" TargetControlID="TxtFechaI" PopupButtonID="ImgFechaI" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
</div>
<div class="form-group form-md-line-input input-iconright">
<label for="DdlMarcas">Clasificacion Superior:</label>
<asp:DropDownList ID="DdlClasificacionSup" runat="server" DataTextField="Clasificacion" DataValueField="CveClasificacion" CssClass="form-control input-sm select2me"></asp:DropDownList>
<i></i>
</div>
<div class="form-group form-md-line-input input-iconright">
<label for="DdlMarcas">Clasificacion:</label>
<asp:DropDownList ID="DdlClasificacion" runat="server" DataTextField="Clasificacion" DataValueField="CveClasificacion" CssClass="form-control input-sm select2me"></asp:DropDownList>
<i></i>
</div>
<div class="form-group form-md-line-input input-iconright">
<label for="DdlMarcas">Marca:</label>
<asp:DropDownList ID="DdlMarcas" runat="server" DataTextField="Marca" DataValueField="CveMarca" CssClass="form-control input-sm select2me"></asp:DropDownList>
<i></i>
</div>
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtMetaCantidad" CssClass="form-control " runat="server" MaxLength="70" CausesValidation="true"></asp:TextBox>
<asp:RequiredFieldValidator ID="RfvTxtTiposD" runat="server" ControlToValidate="TxtMetaCantidad" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Cantidad meta''</b> es necesario, por favor ingréselo." ValidationGroup="GrpTiposD"></asp:RequiredFieldValidator>
<label for="MotivoTxt">Cantidad meta:</label>
<i></i>
</div>
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtMetaImporte" CssClass="form-control " runat="server" MaxLength="70" CausesValidation="true"></asp:TextBox>
<asp:RequiredFieldValidator ID="RfvTxtMetaImporte" runat="server" ControlToValidate="TxtMetaImporte" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Importe meta''</b> es necesario, por favor ingréselo." ValidationGroup="GrpTiposD"></asp:RequiredFieldValidator>
<label for="MotivoTxt">Importe meta:</label>
<i></i>
</div>
</div>
<div class="modal-footer">
<asp:Button ID="BtnAgregarMetaVendedor" runat="server" class="btn btn-success" Text="Agregar" ValidationGroup="GrpTiposD" />
<button id="Button3" runat="server" type="button" class="btn default" data-dismiss="modal">Cancelar</button>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
<%--CARGA EXCEL--%>
<div id="DivCargaExcel" class="modal ADS fade" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header ">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">Agregar Excel</h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-12">
<h3>Arraste o haga click para subir el archivo Excel</h3>
</div>
</div>
<div class="row">
<div class="col-md-11" style="margin-left: 30px; margin-right: 30px;">
<asp:TextBox ID="TxtExcel" CssClass="ADSdropzone hidden" Text="" data-maxFile="1" runat="server"></asp:TextBox>
</div>
</div>
</div>
<div class="modal-footer">
<div class="row">
<div class="col-md-2" style="text-align: left">
<asp:UpdatePanel ID="UpDescargar" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:Button ID="BtnDescargarFormato" runat="server" CssClass="btn btn-warning" Text="Descargar Formato" />
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="BtnDescargarFormato" />
</Triggers>
</asp:UpdatePanel>
</div>
<div class="col-md-10" style="text-align: right">
<asp:Button ID="BtnCargaExcel" runat="server" CssClass="btn btn-success" Text="Aceptar" ValidationGroup="GrpCargarExcel"></asp:Button>
<button type="button" class="btn btn-danger" data-dismiss="modal">Cancelar</button>
</div>
</div>
</div>
</div>
</div>
</div>
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
</asp:Content>

View File

@@ -1,7 +1,7 @@
Imports System.Data Imports System.Data
Imports System.Linq
Imports Extensiones Imports Extensiones
Imports GemBox.Spreadsheet
Partial Class CatMetasVendedores Partial Class CatMetasVendedores
Inherits ClsPaginas Inherits ClsPaginas
Private Property CveMetaVendedor() As Integer 'Guardamos el ID de registro para saber cual registro Editar Private Property CveMetaVendedor() As Integer 'Guardamos el ID de registro para saber cual registro Editar
@@ -14,21 +14,50 @@ Partial Class CatMetasVendedores
End Property End Property
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then If Not IsPostBack Then
CargaDatos()
CargaDatosModal() CargaDatosModal()
CargaCombos()
CargaDatos()
End If End If
End Sub End Sub
Private Sub CargaDatos() Private Sub CargaDatos()
Dim Mes As Integer = -1, Anio As Integer = -1
If Not String.IsNullOrEmpty(txtMesAnio.Text) Then
Dim FechaRef As DateTime = txtMesAnio.Text.ToDate()
Mes = FechaRef.Month
Anio = FechaRef.Year
End If
Dim ObjVentas As New ClsVentas Dim ObjVentas As New ClsVentas
If ObjVentas.GetMetasVendedores(UsuarioActual.CveEmpresa) Then If ObjVentas.GetMetasVendedores(UsuarioActual.CveEmpresa, CveSubProyecto:=DdlSubProyecto.SelectedValue.ToEntero(), CveVendedor:=DdlVendedor.SelectedValue.ToEntero(), CveMarca:=DdlMarca.SelectedValue.ToEntero(), Mes:=Mes, Anio:=Anio) Then
GvDatos.DataSource = ObjVentas.DtResultados GvDatos.DataSource = ObjVentas.DtResultados
End If End If
ObjVentas.Dispose() ObjVentas.Dispose()
GvDatos.DataBind() GvDatos.DataBind()
End Sub End Sub
Private Sub CargaCombos()
DdlSubProyecto.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa)
DdlSubProyecto.DataBind()
DdlSubProyecto.Items.Insert(0, New ListItem("Todas", "-1"))
DdlVendedor.DataSource = GlobalDTVendedores(UsuarioActual.CveEmpresa)
DdlVendedor.DataBind()
DdlVendedor.Items.Insert(0, New ListItem("Todos", "-1"))
Dim ObjPS As New ClsProductosServicios
If ObjPS.GetMarcas(UsuarioActual.CveEmpresa) Then
DdlMarca.DataSource = ObjPS.DtResultados
End If
ObjPS.Dispose()
DdlMarca.DataBind()
DdlMarca.Items.Insert(0, New ListItem("Todas", "-1"))
End Sub
Private Sub CargaDatosModal() Private Sub CargaDatosModal()
DdlVendedores.DataSource = GlobalDTVendedores(UsuarioActual.CveEmpresa) DdlVendedores.DataSource = GlobalDTVendedores(UsuarioActual.CveEmpresa)
DdlVendedores.DataBind() DdlVendedores.DataBind()
@@ -122,5 +151,238 @@ Partial Class CatMetasVendedores
ObjVentas.Dispose() ObjVentas.Dispose()
CargaDatos() CargaDatos()
UpDatos.Update() UpDatos.Update()
End Sub
Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs)
CargaDatos()
UpDatos.Update()
End Sub
Private Sub BtnDescargarFormato_Click(sender As Object, e As EventArgs) Handles BtnDescargarFormato.Click
Dim DtExcel As New DataTable
DtExcel.TableName = "Metas"
DtExcel.Columns.Add(New DataColumn("Vendedor", GetType(String)))
DtExcel.Columns.Add(New DataColumn("Clasificación Superior", GetType(String)))
DtExcel.Columns.Add(New DataColumn("Clasificación", GetType(String)))
DtExcel.Columns.Add(New DataColumn("Marca", GetType(String)))
DtExcel.Columns.Add(New DataColumn("Mes", GetType(String)))
DtExcel.Columns.Add(New DataColumn("Año", GetType(String)))
DtExcel.Columns.Add(New DataColumn("Cantidad", GetType(Decimal)))
DtExcel.Columns.Add(New DataColumn("Importe", GetType(Decimal)))
SpreadsheetInfo.SetLicense(ModExtensiones.SerialGemBoxSpreadsheet)
Dim FileExcel As New ExcelFile()
Dim worksheet = FileExcel.Worksheets.Add(DtExcel.TableName)
worksheet.InsertDataTable(DtExcel, New InsertDataTableOptions() With
{
.ColumnHeaders = True,
.StartRow = 0,
.StartColumn = 0
})
worksheet.Rows(0).Style.FillPattern.SetPattern(FillPatternStyle.Solid, SpreadsheetColor.FromArgb(75, 119, 190), SpreadsheetColor.FromArgb(255, 255, 255))
worksheet.Rows(0).Style.Font.Color = SpreadsheetColor.FromArgb(255, 255, 255)
Dim columnCount = worksheet.CalculateMaxUsedColumns()
For i = 0 To columnCount
worksheet.Columns(i).AutoFit(1, worksheet.Rows(0), worksheet.Rows(worksheet.Rows.Count - 1))
Next
worksheet.Cells.Style.Locked = False
worksheet.Cells.Style.FormulaHidden = False
worksheet.Rows(0).Cells.Style.Locked = True
worksheet.Protected = True
Dim protectionSettings = worksheet.ProtectionSettings
protectionSettings.AllowDeletingColumns = False
protectionSettings.AllowDeletingRows = True
protectionSettings.AllowEditingObjects = True
protectionSettings.AllowEditingScenarios = True
protectionSettings.AllowFormattingCells = True
protectionSettings.AllowFormattingColumns = True
protectionSettings.AllowFormattingRows = True
protectionSettings.AllowInsertingColumns = False
protectionSettings.AllowInsertingRows = True
protectionSettings.AllowSelectingLockedCells = True
protectionSettings.AllowSelectingUnlockedCells = True
protectionSettings.AllowSelectingUnlockedCells = True
protectionSettings.AllowSorting = True
protectionSettings.AllowUsingAutoFilter = True
protectionSettings.AllowUsingPivotTableReports = True
protectionSettings.SetPassword(ModExtensiones.IMEI)
FileExcel.Save(Response, "Metas.xlsx", SaveOptions.XlsxDefault)
End Sub
Private Sub BtnCargaExcel_Click(sender As Object, e As EventArgs) Handles BtnCargaExcel.Click
If TxtExcel.getfiles().Archivos.Count > 0 Then
Dim file As Archivo = TxtExcel.getfiles().Archivos(0)
Dim Directorio As String = AppDomain.CurrentDomain.BaseDirectory & file.patch
CargarArchivo(Directorio, file.filename)
Else
Alert("No existe el archivo. Favor de subir un archivo excel a la plataforma.", TipoMensaje.MsgError)
End If
End Sub End Sub
Private Sub CargarArchivo(Ruta As String, FileName As String)
SpreadsheetInfo.SetLicense(ModExtensiones.SerialGemBoxSpreadsheet)
Dim Tipo As String = "EXCEL"
Dim dt As DataTable = Nothing
Dim ErrorArchivo = False
Try
dt = ReadExcelFile(Ruta + FileName, True)
Catch ex As Exception
ErrorArchivo = True
OnError("Ocurrio un error al leer el archivo <br/>" & ex.Message, ex)
End Try
If Not ErrorArchivo AndAlso dt IsNot Nothing Then
If Not dt.Columns(0).ColumnName = "Vendedor" Then
Alert("El nombre de la primera columna debe ser 'Vendedor'. Favor de corregirlo", TipoMensaje.MsgError)
Exit Sub
End If
If Not dt.Columns(1).ColumnName = "Clasificación Superior" Then
Alert("El nombre de la segunda columna debe ser 'Clasificación Superior'. Favor de corregirlo", TipoMensaje.MsgError)
Exit Sub
End If
If Not dt.Columns(2).ColumnName = "Clasificación" Then
Alert("El nombre de la tercera columna debe ser 'Clasificación'. Favor de corregirlo", TipoMensaje.MsgError)
Exit Sub
End If
If Not dt.Columns(3).ColumnName = "Marca" Then
Alert("El nombre de la cuarta columna debe ser 'Marca'. Favor de corregirlo", TipoMensaje.MsgError)
Exit Sub
End If
If Not dt.Columns(4).ColumnName = "Mes" Then
Alert("El nombre de la quinta columna debe ser 'Marca'. Favor de corregirlo", TipoMensaje.MsgError)
Exit Sub
End If
If Not dt.Columns(5).ColumnName = "Año" Then
Alert("El nombre de la sexta columna debe ser 'Año'. Favor de corregirlo", TipoMensaje.MsgError)
Exit Sub
End If
If Not dt.Columns(6).ColumnName = "Cantidad" Then
Alert("El nombre de la sexta columna debe ser 'Cantidad'. Favor de corregirlo", TipoMensaje.MsgError)
Exit Sub
End If
If Not dt.Columns(7).ColumnName = "Importe" Then
Alert("El nombre de la septima columna debe ser 'Importe'. Favor de corregirlo", TipoMensaje.MsgError)
Exit Sub
End If
Dim DtMarcas As DataTable = Nothing
Dim ObjMarcas As New ClsProductosServicios
If ObjMarcas.GetMarcas(UsuarioActual.CveEmpresa) Then
DtMarcas = ObjMarcas.DtResultados.Copy()
End If
ObjMarcas.Dispose()
dt.TableName = "Datos"
Dim ProductosNoCargados As New StringBuilder()
Dim RowsCargados As Integer = 0
Dim RowsNoCargados As Integer = 0
Dim ObjMetas As New ClsVentas
'ObjPS.IniciaTransacSQL()
Try
Dim DtVendedores As DataTable = GlobalDTVendedores(UsuarioActual.CveEmpresa)
Dim DtClasificaciones As DataTable = GlobalDTClasificaciones(UsuarioActual.CveEmpresa)
Dim DtClasificaciones2 As DataTable = GlobalDTClasificaciones2(UsuarioActual.CveEmpresa)
For Each row As DataRow In dt.Rows
Dim Correcto As Boolean = False
Dim TieneError As Boolean = False
Dim CveVendedor As Integer = DtVendedores.FiltroPrimeroValor("CveVendedor", String.Format("Vendedor LIKE '%{0}%'", row("Vendedor").ToString().TrimStart().TrimEnd())).ToEntero
Dim CveClasificacion As Integer = DtClasificaciones.FiltroPrimeroValor("CveClasificacion", String.Format("Clasificacion='{0}'", row("Clasificación Superior").ToString().TrimStart().TrimEnd())).ToEntero
Dim CveClasificacion2 As Integer = DtClasificaciones2.FiltroPrimeroValor("CveClasificacion", String.Format("Clasificacion='{0}'", row("Clasificación").ToString().TrimStart().TrimEnd())).ToEntero
Dim CveMarca As Integer = DtMarcas.FiltroPrimeroValor("CveMarca", String.Format("Marca='{0}'", row("Marca").ToString().TrimStart().TrimEnd())).ToEntero
Dim Mes As Decimal = row("Mes").ToString().ToDecimal()
Dim Anio As Decimal = row("Año").ToString().ToDecimal()
Dim Cantidad As Decimal = row("Cantidad").ToString().ToDecimal()
Dim Importe As Decimal = row("Importe").ToString().ToDecimal()
Dim FechaRef As New DateTime(Anio, Mes, 1)
If CveVendedor > 0 AndAlso CveVendedor > 0 AndAlso CveClasificacion > 0 AndAlso CveClasificacion2 > 0 AndAlso CveMarca > 0 Then
Correcto = ObjMetas.AddMetasVendedores(CveVendedor, FechaRef, CveMarca, Cantidad, Importe, CveClasificacion2, CveClasificacion)
If Correcto Then
RowsCargados += 1
End If
End If
If Not Correcto Then
RowsNoCargados += 1
End If
Next
Catch ex As Exception
OnError("Ocurrió un error al cargar los precios.", ex)
Finally
ObjMarcas.Dispose()
Dim MensajeFinal As New StringBuilder()
If RowsNoCargados = 0 AndAlso RowsCargados > 0 Then
MensajeFinal.Append("Las metas se cargaron correctamente. <br/><br/>")
End If
If RowsCargados > 0 Then
MensajeFinal.Append("Se cargaron <b>" & RowsCargados & "</b> metas correctamente.")
End If
If RowsNoCargados > 0 Then
MensajeFinal.Append("No se pudieron actualizar <b>" & RowsNoCargados & "</b> metas. <br/>")
End If
Alert(MensajeFinal.ToString())
End Try
End If
End Sub
Private Function ReadExcelFile(ByVal flatFilePath As String, ByVal firstRowHasHeaders As Boolean) As DataTable
SpreadsheetInfo.SetLicense(ModExtensiones.SerialGemBoxSpreadsheet)
Dim excelFile As ExcelFile = ExcelFile.Load(flatFilePath)
Dim unnamed As Integer = 0
Dim cols As Integer
Dim columns As String()
Dim curRow As Integer = 0
Dim curCol As Integer = 0
Dim dataTable As DataTable = New DataTable()
Dim worksheet As ExcelWorksheet = excelFile.Worksheets(0)
For cols = 0 To worksheet.Rows(0).AllocatedCells.Count - 1
If firstRowHasHeaders Then
If worksheet.Rows(0).Cells(cols).Value IsNot Nothing Then
dataTable.Columns.Add(worksheet.Rows(0).Cells(cols).Value.ToString())
Else
dataTable.Columns.Add("Unnamed Column " & (System.Threading.Interlocked.Increment(unnamed)))
End If
curRow = 1
Else
dataTable.Columns.Add("Column " & (cols + 1))
End If
Next
While curRow < worksheet.Rows.Count
columns = New String(cols - 1) {}
For curCol = 0 To cols - 1
If worksheet.Rows(curRow).Cells(curCol).Value Is Nothing Then
columns(curCol) = ""
Else
columns(curCol) = worksheet.Rows(curRow).Cells(curCol).Value.ToString()
End If
Next
dataTable.Rows.Add(columns)
curRow += 1
End While
Return dataTable
End Function
End Class End Class

View File

@@ -79,24 +79,24 @@ Partial Class MetasVendedores
e.Row.FCLabel("lblRealAcumuladoPorcentaje").Text = String.Format("{0}{1}", e.Row.FCLabel("lblRealAcumuladoPorcentaje").Text, "%") e.Row.FCLabel("lblRealAcumuladoPorcentaje").Text = String.Format("{0}{1}", e.Row.FCLabel("lblRealAcumuladoPorcentaje").Text, "%")
'e.Row.FCLabel("lblVarVSAAPerc").Text = String.Format("{0}{1}", e.Row.FCLabel("lblVarVSAAPerc").Text, "%") 'e.Row.FCLabel("lblVarVSAAPerc").Text = String.Format("{0}{1}", e.Row.FCLabel("lblVarVSAAPerc").Text, "%")
Select Case e.Row.DataKey("Etiqueta") Select Case e.Row.DBCampo("TipoFila")
Case "GrupoSuperior" Case "1"
e.Row.CssClass = "GrupoSuperior" e.Row.CssClass = "GrupoSuperior"
' e.Row.FCLabel("lblRealMes").Text = "" ' e.Row.FCLabel("lblRealMes").Text = ""
' e.Row.FCLabel("lblVtaMesAA").Text = "" ' e.Row.FCLabel("lblVtaMesAA").Text = ""
' e.Row.FCLabel("lblObjMes").Text = "" ' e.Row.FCLabel("lblObjMes").Text = ""
' e.Row.FCLabel("lblRealAcumulado").Text = "" ' e.Row.FCLabel("lblRealAcumulado").Text = ""
' e.Row.FCLabel("lblRealMesPorcentaje").Text = "" ' e.Row.FCLabel("lblRealMesPorcentaje").Text = ""
' e.Row.FCLabel("lblAAntAcumulado").Text = "" ' e.Row.FCLabel("lblAAntAcumulado").Text = ""
' e.Row.FCLabel("lblObjAcumulado").Text = "" ' e.Row.FCLabel("lblObjAcumulado").Text = ""
' e.Row.FCLabel("lblVarVSAAPerc").Text = "" ' e.Row.FCLabel("lblVarVSAAPerc").Text = ""
' e.Row.FCLabel("lblVarVSAA").Text = "" ' e.Row.FCLabel("lblVarVSAA").Text = ""
' e.Row.FCLabel("lblVarVSObjAcum").Text = "" ' e.Row.FCLabel("lblVarVSObjAcum").Text = ""
Case "Categoria" Case "2"
e.Row.CssClass = "Totales" e.Row.CssClass = "Totales"
Case "Clasificacion" Case "3"
e.Row.CssClass = "SubTotales2" e.Row.CssClass = "SubTotales2"
Case "Clasificacion2" Case "4"
e.Row.CssClass = "SubTotales" e.Row.CssClass = "SubTotales"
End Select End Select

View File

@@ -179,7 +179,7 @@
</asp:DropDownList> </asp:DropDownList>
</div> </div>
<div class="col-md-1 truncate">Fecha Inicio: </div> <div class="col-md-1 truncate">Fecha Aplicado Inicio: </div>
<div class="col-md-1"> <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;"> <div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 100px !important;">
<asp:TextBox Width="80px" ID="TxtFechaAplicadoI" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10"></asp:TextBox> <asp:TextBox Width="80px" ID="TxtFechaAplicadoI" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10"></asp:TextBox>
@@ -194,7 +194,7 @@
<ajax:ValidatorCalloutExtender ID="vcoFfvFAplicadoI" runat="server" HighlightCssClass="vco" TargetControlID="rfvFechaAplicadoI" Width="350px"></ajax:ValidatorCalloutExtender> <ajax:ValidatorCalloutExtender ID="vcoFfvFAplicadoI" runat="server" HighlightCssClass="vco" TargetControlID="rfvFechaAplicadoI" Width="350px"></ajax:ValidatorCalloutExtender>
<ajax:ValidatorCalloutExtender ID="vcoCvFAplicadoI" runat="server" HighlightCssClass="vco" TargetControlID="cvFechaAplicadoI" Width="350px"></ajax:ValidatorCalloutExtender> <ajax:ValidatorCalloutExtender ID="vcoCvFAplicadoI" runat="server" HighlightCssClass="vco" TargetControlID="cvFechaAplicadoI" Width="350px"></ajax:ValidatorCalloutExtender>
</div> </div>
<div class="col-md-1 truncate">Fecha Fin: </div> <div class="col-md-1 truncate">Fecha Aplicado Fin: </div>
<div class="col-md-1"> <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;"> <div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 100px !important;">
<asp:TextBox Width="80px" ID="TxtFechaAplicadoF" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10"></asp:TextBox> <asp:TextBox Width="80px" ID="TxtFechaAplicadoF" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10"></asp:TextBox>

View File

@@ -158,11 +158,12 @@ Partial Class Ventas_RepRecuperacion
Private Sub GvDatos_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvDatos.RowDataBound Private Sub GvDatos_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvDatos.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then If e.Row.RowType = DataControlRowType.DataRow Then
Dim Css As String = "Texto" Dim Css As String = "Texto"
Dim FechaI, FechaF As String Dim FechaI, FechaF, FechaAplicadoI, FechaAplicadoF As String
Dim CveClienteSucursal As Integer = -1 Dim CveClienteSucursal As Integer = -1
FechaI = If(IsDate(txtFechaI.Text.Trim()), txtFechaI.Text.Trim(), "-1") FechaI = If(IsDate(txtFechaI.Text.Trim()), txtFechaI.Text.Trim(), "-1")
FechaF = If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.Trim(), "-1") FechaF = If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.Trim(), "-1")
FechaAplicadoI = If(IsDate(TxtFechaAplicadoI.Text.Trim()), TxtFechaAplicadoI.Text.Trim(), MinFecha.ToShortDateString.ToString)
FechaAplicadoF = If(IsDate(TxtFechaAplicadoF.Text.Trim()), TxtFechaAplicadoF.Text.Trim(), MaxFecha.ToShortDateString.ToString)
If e.Row.DBCampo("Orden") = "" Then If e.Row.DBCampo("Orden") = "" Then
e.Row.CssClass = "Totales" e.Row.CssClass = "Totales"
End If End If
@@ -174,15 +175,15 @@ Partial Class Ventas_RepRecuperacion
End If End If
End If End If
Dim Liga4 As String = String.Format("/Ventas/RepRecuperacionDetalle.aspx?GPO={0}&CveCliente={1}&CveSubProyecto={2}&Vendedor={3}&CveUsuario={4}&CveEstatusFactura={5}&IVA={6}&FechaI={7}&FechaF={8}&CveResponsable={9}&TipoDocto={10}&CveClienteSucursal={11}&CveBanco{12}&CveCuenta{13}&Grupo={14}&TipoCambio={15}&TCEspecifico={16}&CveMoneda={17}&Tipo={18}&EsDistribuidor={19}", Dim Liga4 As String = String.Format("/Ventas/RepRecuperacionDetalle.aspx?GPO={0}&CveCliente={1}&CveSubProyecto={2}&Vendedor={3}&CveUsuario={4}&CveEstatusFactura={5}&IVA={6}&FechaI={7}&FechaF={8}&CveResponsable={9}&TipoDocto={10}&CveClienteSucursal={11}&CveBanco{12}&CveCuenta{13}&Grupo={14}&TipoCambio={15}&TCEspecifico={16}&CveMoneda={17}&Tipo={18}&EsDistribuidor={19}&FechaAplicadoI={20}&FechaAplicadoF={21}",
DdlGrupo.SelectedValue, e.Row.DBCampo("CveCliente"), e.Row.DBCampo("CveSubProyecto"), e.Row.DBCampo("CveVendedor"), DdlGrupo.SelectedValue, e.Row.DBCampo("CveCliente"), e.Row.DBCampo("CveSubProyecto"), e.Row.DBCampo("CveVendedor"),
e.Row.DBCampo("CveUsuario"), e.Row.DBCampo("CveEstatusFactura"), e.Row.DBCampo("GPO_IVA"), FechaI, FechaF, DdlResponsable.SelectedValue, e.Row.DBCampo("TipoDocto"), CveClienteSucursal, e.Row.DBCampo("CveBanco"), e.Row.DBCampo("CveCuenta"), e.Row.DBCampo("GPO"), e.Row.DBCampo("TipoCambio"), e.Row.DBCampo("TCEspecifico"), e.Row.DBCampo("CveMoneda"), 2, e.Row.DBCampo("EsDistribuidor")) e.Row.DBCampo("CveUsuario"), e.Row.DBCampo("CveEstatusFactura"), e.Row.DBCampo("GPO_IVA"), FechaI, FechaF, DdlResponsable.SelectedValue, e.Row.DBCampo("TipoDocto"), CveClienteSucursal, e.Row.DBCampo("CveBanco"), e.Row.DBCampo("CveCuenta"), e.Row.DBCampo("GPO"), e.Row.DBCampo("TipoCambio"), e.Row.DBCampo("TCEspecifico"), e.Row.DBCampo("CveMoneda"), 2, e.Row.DBCampo("EsDistribuidor"), FechaAplicadoI, FechaAplicadoF)
e.Row.FCHyperLink("HplPagado").NavigateUrl = Liga4 e.Row.FCHyperLink("HplPagado").NavigateUrl = Liga4
Dim Liga5 As String = String.Format("/Ventas/RepRecuperacionDetalle.aspx?GPO={0}&CveCliente={1}&CveSubProyecto={2}&Vendedor={3}&CveUsuario={4}&CveEstatusFactura={5}&IVA={6}&FechaI={7}&FechaF={8}&CveResponsable={9}&TipoDocto={10}&CveClienteSucursal={11}&CveBanco{12}&CveCuenta{13}&Grupo={14}&TipoCambio={15}&TCEspecifico={16}&CveMoneda={17}&Tipo={18}&EsDistribuidor={19}", Dim Liga5 As String = String.Format("/Ventas/RepRecuperacionDetalle.aspx?GPO={0}&CveCliente={1}&CveSubProyecto={2}&Vendedor={3}&CveUsuario={4}&CveEstatusFactura={5}&IVA={6}&FechaI={7}&FechaF={8}&CveResponsable={9}&TipoDocto={10}&CveClienteSucursal={11}&CveBanco{12}&CveCuenta{13}&Grupo={14}&TipoCambio={15}&TCEspecifico={16}&CveMoneda={17}&Tipo={18}&EsDistribuidor={19}&FechaAplicadoI={20}&FechaAplicadoF={21}",
DdlGrupo.SelectedValue, e.Row.DBCampo("CveCliente"), e.Row.DBCampo("CveSubProyecto"), e.Row.DBCampo("CveVendedor"), DdlGrupo.SelectedValue, e.Row.DBCampo("CveCliente"), e.Row.DBCampo("CveSubProyecto"), e.Row.DBCampo("CveVendedor"),
e.Row.DBCampo("CveUsuario"), e.Row.DBCampo("CveEstatusFactura"), e.Row.DBCampo("GPO_IVA"), FechaI, FechaF, DdlResponsable.SelectedValue, e.Row.DBCampo("TipoDocto"), CveClienteSucursal, e.Row.DBCampo("CveBanco"), e.Row.DBCampo("CveCuenta"), e.Row.DBCampo("GPO"), e.Row.DBCampo("TipoCambio"), e.Row.DBCampo("TCEspecifico"), e.Row.DBCampo("CveMoneda"), 1, e.Row.DBCampo("EsDistribuidor")) e.Row.DBCampo("CveUsuario"), e.Row.DBCampo("CveEstatusFactura"), e.Row.DBCampo("GPO_IVA"), FechaI, FechaF, DdlResponsable.SelectedValue, e.Row.DBCampo("TipoDocto"), CveClienteSucursal, e.Row.DBCampo("CveBanco"), e.Row.DBCampo("CveCuenta"), e.Row.DBCampo("GPO"), e.Row.DBCampo("TipoCambio"), e.Row.DBCampo("TCEspecifico"), e.Row.DBCampo("CveMoneda"), 1, e.Row.DBCampo("EsDistribuidor"), FechaAplicadoI, FechaAplicadoF)
e.Row.FCHyperLink("HplVendido").NavigateUrl = Liga5 e.Row.FCHyperLink("HplVendido").NavigateUrl = Liga5

View File

@@ -186,6 +186,36 @@
<asp:ListItem Text="No" Value="0"></asp:ListItem> <asp:ListItem Text="No" Value="0"></asp:ListItem>
</asp:DropDownList> </asp:DropDownList>
</div> </div>
<div class="col-md-1 truncate">Fecha Aplicado Inicio: </div>
<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;">
<asp:TextBox Width="80px" ID="TxtFechaAplicadoI" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="imgCalendarioAplicadoI" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
</div>
<ajax:MaskedEditExtender ID="MEEFechaAplicadoI" runat="server" TargetControlID="TxtFechaAplicadoI" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CalendarExtender1" TargetControlID="TxtFechaAplicadoI" PopupButtonID="imgCalendarioAplicadoI" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="rfvFechaAplicadoI" runat="server" ControlToValidate="TxtFechaAplicadoI" Display="None" ErrorMessage="El campo <b>''Fecha Inicial''</b> es requerido por la aplicación, por favor ingrese una fecha." ValidationGroup="Valida"></asp:RequiredFieldValidator>
<asp:CompareValidator ID="cvFechaAplicadoI" runat="server" ControlToValidate="TxtFechaAplicadoI" Display="None" ErrorMessage="El campo <b>''Fecha Inicial''</b> no tienes el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="Valida"></asp:CompareValidator>
<ajax:ValidatorCalloutExtender ID="vcoFfvFAplicadoI" runat="server" HighlightCssClass="vco" TargetControlID="rfvFechaAplicadoI" Width="350px"></ajax:ValidatorCalloutExtender>
<ajax:ValidatorCalloutExtender ID="vcoCvFAplicadoI" runat="server" HighlightCssClass="vco" TargetControlID="cvFechaAplicadoI" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
<div class="col-md-1 truncate">Fecha Aplicado Fin: </div>
<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;">
<asp:TextBox Width="80px" ID="TxtFechaAplicadoF" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="imgCalendarioAplicadoF" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
</div>
<ajax:MaskedEditExtender ID="MEEFechaAplicadoF" runat="server" TargetControlID="TxtFechaAplicadoF" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CalendarExtender2" TargetControlID="TxtFechaAplicadoF" PopupButtonID="imgCalendarioAplicadoF" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="rfvFechaAplicadoF" runat="server" ControlToValidate="TxtFechaAplicadoF" Display="None" ErrorMessage="El campo <b>''Fecha Final''</b> es requerido por la aplicación, por favor ingrese una fecha." ValidationGroup="Valida"></asp:RequiredFieldValidator>
<asp:CompareValidator ID="cvFechaAplicadoF" runat="server" ControlToValidate="TxtFechaAplicadoF" Display="None" ErrorMessage="El campo <b>''Fecha Final''</b> no tienes el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="Valida"></asp:CompareValidator>
<ajax:ValidatorCalloutExtender ID="vcoFfvFAplicadoF" runat="server" HighlightCssClass="vco" TargetControlID="rfvFechaAplicadoF" Width="350px"></ajax:ValidatorCalloutExtender>
<ajax:ValidatorCalloutExtender ID="vcoCvFAplicadoF" runat="server" HighlightCssClass="vco" TargetControlID="cvFechaAplicadoF" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
</div> </div>
</div> </div>
</div> </div>

View File

@@ -85,7 +85,7 @@ Partial Class Ventas_RepRecuperacionDetalle
Private Sub CargaCombos() Private Sub CargaCombos()
Dim CveCliente, CveVendedor, CveUsuario, CveSubProyecto, Dim CveCliente, CveVendedor, CveUsuario, CveSubProyecto,
CveEstatus, CveResponsable, CveAgrupador, CveBanco, CveCuenta, CveClienteSucursal, CveMoneda, CveClienteClasificacion As Integer CveEstatus, CveResponsable, CveAgrupador, CveBanco, CveCuenta, CveClienteSucursal, CveMoneda, CveClienteClasificacion As Integer
Dim FechaI, FechaF, TipoDocto, TipoCambio As String Dim FechaI, FechaF, TipoDocto, TipoCambio, FechaAplicadoI, FechaAplicadoF As String
'Carga Clientes 'Carga Clientes
If (UsuarioActual.Empresa.Funcionalidad(105) = "1" Or UsuarioActual.Empresa.Funcionalidad(141) = "1") Then If (UsuarioActual.Empresa.Funcionalidad(105) = "1" Or UsuarioActual.Empresa.Funcionalidad(141) = "1") Then
@@ -144,7 +144,17 @@ Partial Class Ventas_RepRecuperacionDetalle
End If End If
If FechaI <> "-1" Then If FechaI <> "-1" Then
txtFechaI.Text = FechaI txtFechaI.Text = FechaI
End If
FechaAplicadoI = If(Request("FechaAplicadoI") IsNot Nothing, Request("FechaAplicadoI").ToString, "-1").ToString
FechaAplicadoF = If(Request("FechaAplicadoF") IsNot Nothing, Request("FechaAplicadoF").ToString, "-1").ToString
If FechaAplicadoF <> "-1" Then
TxtFechaAplicadoF.Text = FechaAplicadoF
End If End If
If FechaAplicadoI <> "-1" Then
TxtFechaAplicadoI.Text = FechaAplicadoI
End If
TipoDocto = IfNull(Request("TipoDocto"), "-1").ToString TipoDocto = IfNull(Request("TipoDocto"), "-1").ToString
CveClienteSucursal = IfNull(Request("CveClienteSucursal"), "-1").ToString.ToEntero CveClienteSucursal = IfNull(Request("CveClienteSucursal"), "-1").ToString.ToEntero
@@ -229,7 +239,7 @@ Partial Class Ventas_RepRecuperacionDetalle
Iva.ToString, DdlGrupo.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, DdlResponsable.SelectedValue.ToEntero, Iva.ToString, DdlGrupo.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, DdlResponsable.SelectedValue.ToEntero,
DdlTipoDocto.SelectedValue, CveUsuarioConsulta:=UsuarioActual.CveUsuario, CveBanco:=DdlBanco.SelectedValue.ToEntero, CveCuenta:=DdlCuentaBancaria.SelectedValue.ToEntero, Grupo:=Grupo, DdlTipoDocto.SelectedValue, CveUsuarioConsulta:=UsuarioActual.CveUsuario, CveBanco:=DdlBanco.SelectedValue.ToEntero, CveCuenta:=DdlCuentaBancaria.SelectedValue.ToEntero, Grupo:=Grupo,
TipoCambio:=RblTipoCambio.SelectedValue.ToEntero, TCEspecifico:=TCEspecifico, CveMoneda:=DdlMoneda.SelectedValue.ToEntero, CveClienteClasificacion:=DdlClienteClasificacion.SelectedValue.ToEntero, Tipo:=Tipo, TipoCambio:=RblTipoCambio.SelectedValue.ToEntero, TCEspecifico:=TCEspecifico, CveMoneda:=DdlMoneda.SelectedValue.ToEntero, CveClienteClasificacion:=DdlClienteClasificacion.SelectedValue.ToEntero, Tipo:=Tipo,
EsDistribuidor:=DdlDistribuidor.SelectedValue.ToEntero()) Then EsDistribuidor:=DdlDistribuidor.SelectedValue.ToEntero(), FechaAplicadoI:=TxtFechaAplicadoI.Text.ToDate, FechaAplicadoF:=TxtFechaAplicadoF.Text.ToDate) Then
GvDatos.DataSource = ObjMovtos.DtResultados GvDatos.DataSource = ObjMovtos.DtResultados
DtDatos = ObjMovtos.DtResultados DtDatos = ObjMovtos.DtResultados

View File

@@ -5459,7 +5459,9 @@ Partial Class Ventas
DdlMetodoPago33.Enabled = True DdlMetodoPago33.Enabled = True
End If End If
If CveVenta <= 0 Or EsCreaApartirDe Or NuevaFactura = 1 Then Dim CveCotizacion As Integer = IfNull(ViewState("CveCotizacion"), 0).ToString().ToEntero()
If (CveVenta <= 0 AndAlso CveCotizacion <= 0) Or EsCreaApartirDe Or NuevaFactura = 1 Then
CveMetodoPagoCliente = ObjCliente.CveMetodoPago CveMetodoPagoCliente = ObjCliente.CveMetodoPago
@@ -6241,7 +6243,9 @@ Partial Class Ventas
ViewState("CliNoInt") = ObjCliente.NoInt ViewState("CliNoInt") = ObjCliente.NoInt
PlazoCobranza = ObjCliente.PlazoCobranza PlazoCobranza = ObjCliente.PlazoCobranza
If CveVenta <= 0 Then Dim CveCotizacion As Integer = IfNull(ViewState("CveCotizacion"), 0).ToString().ToEntero()
If CveVenta <= 0 AndAlso CveCotizacion <= 0 Then
CveMetodoPagoCliente = ObjCliente.CveMetodoPago CveMetodoPagoCliente = ObjCliente.CveMetodoPago
DdlMetodoPago33.SelectedValueExist(ObjCliente.CveMetodoPago33) DdlMetodoPago33.SelectedValueExist(ObjCliente.CveMetodoPago33)
@@ -21405,7 +21409,7 @@ Partial Class Ventas
LSRutasMail.Add(New ClsSisMail.ArchivoMail With {.ArchivoBinario = ObjetoPDF, .NombreArchivo = $"AcuseCancelacion{Serie}-{Folio}.pdf"}) LSRutasMail.Add(New ClsSisMail.ArchivoMail With {.ArchivoBinario = ObjetoPDF, .NombreArchivo = $"AcuseCancelacion{Serie}-{Folio}.pdf"})
If ObjMail.SendMail(EmpresaActual, Mail, Asunto, Cuerpo, MailCC, LSRutasMail, Displayname:=DisplayName) Then If ObjMail.SendMail(EmpresaActual, Mail, Asunto, Cuerpo, MailCC, LSRutasMail, Displayname:=DisplayName) Then
ResultadoMail = 1 ResultadoMail = 1
Alert("El acuse de cancelación ha sido envíado correctamente.") Alert("El acuse de cancelación ha sido envíado correctamente.", JSBtnAceptar:="BtnRefrescarPagina();")
Else Else
ResultadoMail = 0 ResultadoMail = 0
End If End If
@@ -26497,6 +26501,12 @@ Partial Class Ventas
End Sub End Sub
Private Sub BtnEditarCotizacion_Click(sender As Object, e As EventArgs) Handles BtnEditarCotizacion.Click Private Sub BtnEditarCotizacion_Click(sender As Object, e As EventArgs) Handles BtnEditarCotizacion.Click
Dim VaFacturarCotizacion As Boolean = False
'SI CARGA UNA COTIZACION DEBE GUARDAR TAMBIEN
If IfNull(ViewState("CveCotizacion"), 0).ToString().ToEntero() > 0 Then
ViewState("CveVenta") = IfNull(ViewState("CveCotizacion"), 0).ToString().ToEntero()
VaFacturarCotizacion = True
End If
If Not TmpDT.Rows.Count > 0 Then If Not TmpDT.Rows.Count > 0 Then
Alert("Es necesario agregar al menos un producto o servicio a la factura.", TipoMensaje.MsgAdvertencia) Alert("Es necesario agregar al menos un producto o servicio a la factura.", TipoMensaje.MsgAdvertencia)
@@ -26567,14 +26577,14 @@ Partial Class Ventas
End If End If
End If End If
If ObjConta.ValidacionPrePolizaCuadre(-1, 2, CveVenta) Then 'If ObjConta.ValidacionPrePolizaCuadre(-1, 2, CveVenta) Then
If ObjConta.ValorPolizaDescuadre > 0 Then ' If ObjConta.ValorPolizaDescuadre > 0 Then
If ObjConta.ValorPolizaDescuadre = 2 Then ' If ObjConta.ValorPolizaDescuadre = 2 Then
OcurrioError = True ' OcurrioError = True
MensajeError = ObjConta.MensajePolizaDescuadre ' MensajeError = ObjConta.MensajePolizaDescuadre
End If ' End If
End If ' End If
End If 'End If
If OcurrioError Then If OcurrioError Then
ObjVentas.RollBack() ObjVentas.RollBack()
@@ -26590,7 +26600,12 @@ Partial Class Ventas
'GENERA PDF NUEVO 'GENERA PDF NUEVO
GeneraPDFCotizacion(ChkEnviarFactura.Checked) GeneraPDFCotizacion(ChkEnviarFactura.Checked)
Alert("Los cambios se guardaron correctamente.", TipoMensaje.MsgInformacion, "document.location.href=""/Ventas/Ventas.aspx?CveVenta=" & CveVenta & "&&Tipo=Cot"";") If VaFacturarCotizacion Then
Alert("Los cambios se guardaron correctamente.", TipoMensaje.MsgInformacion, "document.location.href=""/Ventas/Ventas.aspx?CveCotizacion=" & CveVenta & """;")
Else
Alert("Los cambios se guardaron correctamente.", TipoMensaje.MsgInformacion, "document.location.href=""/Ventas/Ventas.aspx?CveVenta=" & CveVenta & "&&Tipo=Cot"";")
End If
End If End If
ObjVentas.Dispose() ObjVentas.Dispose()
@@ -26807,82 +26822,77 @@ Partial Class Ventas
Private Function CalculaUsadosCotizacion(ByRef SbVentasDetalle As StringBuilder, ByVal DTSeleccionadas As DataTable, ByVal DtCotizaciones As DataTable) As List(Of MVentaDetalleCotizacion) Private Function CalculaUsadosCotizacion(ByRef SbVentasDetalle As StringBuilder, ByVal DTSeleccionadas As DataTable, ByVal DtCotizaciones As DataTable) As List(Of MVentaDetalleCotizacion)
Dim Retorno As New List(Of MVentaDetalleCotizacion) Dim Retorno As New List(Of MVentaDetalleCotizacion)
If DdlTipoComprobante.SelectedValue.Contiene("Ing", "Rem", "Cot", "Dev") Then Dim DTTamanios As DataTable = GlobalDTAcumTamaños()
Dim DTTamanios As DataTable = GlobalDTAcumTamaños() Dim DTCvePSCostos As DataTable = DTTamanios.FiltraParametros("", "", {"CvePSCargo"})
Dim DTCvePSCostos As DataTable = DTTamanios.FiltraParametros("", "", {"CvePSCargo"}) For Each Dr As DataRow In DTSeleccionadas.Rows
Dim tCantidad = If(ChkCotProductos.Checked, GvCotPS.Rows(IndiceGVCotDataKey(GvCotPS, Dr("CveVentaDetalle").ToString())).FCTextBox("TxtCantidadCot").Text.ToDecimal, Dr("Cantidad")).ToString().ToDecimal
Dr("Cantidad") = tCantidad
Retorno.Add(New MVentaDetalleCotizacion() With {.CveVentaDetalle = Dr("CveVentaDetalle").ToString().ToEntero(), .Cantidad = tCantidad})
For Each Dr As DataRow In DTSeleccionadas.Rows Next
Dim tCantidad = If(ChkCotProductos.Checked, GvCotPS.Rows(IndiceGVCotDataKey(GvCotPS, Dr("CveVentaDetalle").ToString())).FCTextBox("TxtCantidadCot").Text.ToDecimal, Dr("Cantidad")).ToString().ToDecimal
Dr("Cantidad") = tCantidad
Retorno.Add(New MVentaDetalleCotizacion() With {.CveVentaDetalle = Dr("CveVentaDetalle").ToString().ToEntero(), .Cantidad = tCantidad}) Dim TmpDTCalculo As DataRow() = DTSeleccionadas.Rows.Cast(Of DataRow).ToArray()
Next Dim DTPSTemp As New DataTable '= TmpDT.Clone
Dim TmpDTCalculo As DataRow() = DTSeleccionadas.Rows.Cast(Of DataRow).ToArray() DTPSTemp.Columns.Add("CveVenta", GetType(Integer))
DTPSTemp.Columns.Add("Cantidad", GetType(Integer))
DTPSTemp.Columns.Add("CvePS", GetType(Integer))
DTPSTemp.Columns.Add("PU", GetType(Decimal))
Dim DTPSTemp As New DataTable '= TmpDT.Clone For Each DrowPartidas As DataRow In TmpDTCalculo
Dim CveTamanioTemp As Integer = DrowPartidas("CveTamaño").ToString().ToEntero()
Dim CveVenta As Integer = DrowPartidas("CveVenta").ToString().ToEntero()
DTPSTemp.Columns.Add("CveVenta", GetType(Integer)) If CveTamanioTemp > 0 Then
DTPSTemp.Columns.Add("Cantidad", GetType(Integer))
DTPSTemp.Columns.Add("CvePS", GetType(Integer))
DTPSTemp.Columns.Add("PU", GetType(Decimal))
For Each DrowPartidas As DataRow In TmpDTCalculo Dim DTTamanioTemp As New DataTable
Dim CveTamanioTemp As Integer = DrowPartidas("CveTamaño").ToString().ToEntero() Dim CvePsTemp As Integer = DTTamanios.FiltraParametros($"CveTamaño = { CveTamanioTemp } ").Rows(0)("CvePSCargo").ToString().ToEntero()
Dim CveVenta As Integer = DrowPartidas("CveVenta").ToString().ToEntero()
If CveTamanioTemp > 0 Then Dim Cargo As Decimal = DTTamanios.FiltroPrimeroValor("Cargo", $" CveTamaño = { CveTamanioTemp }").ToDecimal
Dim DTTamanioTemp As New DataTable If DTPSTemp.FiltraParametros($"CvePs = { CvePsTemp }").Rows.Count > 0 Then
Dim CvePsTemp As Integer = DTTamanios.FiltraParametros($"CveTamaño = { CveTamanioTemp } ").Rows(0)("CvePSCargo").ToString().ToEntero()
Dim Cargo As Decimal = DTTamanios.FiltroPrimeroValor("Cargo", $" CveTamaño = { CveTamanioTemp }").ToDecimal For Each dRowUpdate As DataRow In DTPSTemp.Rows
If DTPSTemp.FiltraParametros($"CvePs = { CvePsTemp }").Rows.Count > 0 Then If (dRowUpdate("CvePS").ToString().ToEntero() = CvePsTemp) Then
dRowUpdate("Cantidad") = dRowUpdate("Cantidad").ToString().ToDecimal + DrowPartidas("Cantidad").ToString().ToDecimal
dRowUpdate("PU") = Cargo ' dRowUpdate("Total").ToString().ToDecimal + ImporteCargo
dRowUpdate("CveVenta") = CveVenta
End If
Next
For Each dRowUpdate As DataRow In DTPSTemp.Rows DTPSTemp.AcceptChanges()
If (dRowUpdate("CvePS").ToString().ToEntero() = CvePsTemp) Then Else
dRowUpdate("Cantidad") = dRowUpdate("Cantidad").ToString().ToDecimal + DrowPartidas("Cantidad").ToString().ToDecimal Dim dRowNuevo As DataRow = DTPSTemp.NewRow
dRowUpdate("PU") = Cargo ' dRowUpdate("Total").ToString().ToDecimal + ImporteCargo
dRowUpdate("CveVenta") = CveVenta
End If
Next
DTPSTemp.AcceptChanges() dRowNuevo("CvePS") = CvePsTemp
dRowNuevo("Cantidad") = DrowPartidas("Cantidad").ToString().ToDecimal
Else dRowNuevo("PU") = Cargo
Dim dRowNuevo As DataRow = DTPSTemp.NewRow dRowNuevo("CveVenta") = CveVenta
dRowNuevo("CvePS") = CvePsTemp
dRowNuevo("Cantidad") = DrowPartidas("Cantidad").ToString().ToDecimal
dRowNuevo("PU") = Cargo
dRowNuevo("CveVenta") = CveVenta
DTPSTemp.Rows.Add(dRowNuevo)
DTPSTemp.AcceptChanges()
End If
DTPSTemp.Rows.Add(dRowNuevo)
DTPSTemp.AcceptChanges()
End If End If
Next
For Each drowPsTamaños As DataRow In DTPSTemp.Rows End If
Next
If drowPsTamaños("PU").ToString().ToDecimal > 0 Then For Each drowPsTamaños As DataRow In DTPSTemp.Rows
Dim CveVentaDetalleUsado = DtCotizaciones.FiltroPrimeroValor("CveVentaDetalle", $"CveVenta = {drowPsTamaños("CveVenta")} AND CvePS = {drowPsTamaños("CvePS")}").ToEntero() If drowPsTamaños("PU").ToString().ToDecimal > 0 Then
SbVentasDetalle.AppendFormat("{0},", CveVentaDetalleUsado)
Retorno.Add(New MVentaDetalleCotizacion() With {.CveVentaDetalle = CveVentaDetalleUsado, .Cantidad = drowPsTamaños("Cantidad").ToString().ToDecimal()}) Dim CveVentaDetalleUsado = DtCotizaciones.FiltroPrimeroValor("CveVentaDetalle", $"CveVenta = {drowPsTamaños("CveVenta")} AND CvePS = {drowPsTamaños("CvePS")}").ToEntero()
SbVentasDetalle.AppendFormat("{0},", CveVentaDetalleUsado)
End If Retorno.Add(New MVentaDetalleCotizacion() With {.CveVentaDetalle = CveVentaDetalleUsado, .Cantidad = drowPsTamaños("Cantidad").ToString().ToDecimal()})
Next
End If End If
Next
Return Retorno Return Retorno
End Function End Function