Merge branch 'master' of http://192.168.10.111:8383/SIG
This commit is contained in:
@@ -6283,6 +6283,24 @@ Public Class ClsInventarios
|
||||
Return Retorno
|
||||
End Function
|
||||
|
||||
Public Function GetUltimoCosto(CveEmpresa As Integer) As Boolean
|
||||
Dim Retorno As Boolean = False
|
||||
DataAdapter("PA_Inv_UltimoCostoGet")
|
||||
|
||||
With SqlAdapter.SelectCommand.Parameters
|
||||
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
|
||||
End With
|
||||
|
||||
Try
|
||||
SqlAdapter.Fill(Data)
|
||||
Retorno = True
|
||||
Catch ex As Exception
|
||||
OnError("Ocurrió un error al consultar los productos por ultimo costo.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
|
||||
End Try
|
||||
|
||||
Return Retorno
|
||||
End Function
|
||||
|
||||
#Region " IDisposable Support "
|
||||
' IDisposable
|
||||
Protected Overridable Sub Dispose(ByVal disposing As Boolean)
|
||||
|
||||
@@ -3385,7 +3385,7 @@ Public Class ClsVentas
|
||||
Public Function GetReportePadreVentasUtilidad(CveVendedor As String, CveCliente As Integer, CveSubProyecto As String, FechaInicio As Date, FechaFin As Date, CveEmpresa As Integer, Gpo As Integer,
|
||||
CvePS As Integer, CveCategoria As Integer, CveClasificacion As Integer, CveMarca As Integer, EsGarantia As Integer, EsFilial As Integer) As Boolean
|
||||
Dim Retorno As Boolean = False
|
||||
DataAdapter("PA_Vta_RepVentasUtilidadGet")
|
||||
DataAdapter("PA_Vta_RepVentasUtilidadGetOIC")
|
||||
|
||||
With SqlAdapter.SelectCommand.Parameters
|
||||
.Add("@FechaI", SqlDbType.Date).Value = FechaInicio
|
||||
|
||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@@ -2315,7 +2315,8 @@ select.input-sm {
|
||||
|
||||
.contabilidadbody .portlet-title .font-green,
|
||||
.contabilidadbody .portlet-title .font-green a {
|
||||
color: #F7F7F7 !important;
|
||||
color: #26a69a !important;
|
||||
/*color: #F7F7F7 !important;*/
|
||||
}
|
||||
/*RH recursos humanos*/
|
||||
.rhumanosbody .page-bar .page-breadcrumb > li > a,
|
||||
|
||||
@@ -66,17 +66,23 @@ Partial Class ListadoContratos
|
||||
End If
|
||||
ObjContratos.Dispose()
|
||||
|
||||
'Generamos Folio - NumeroContrato
|
||||
Dim CveSubProyecto As Integer = GlobalDTSubProyectos(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", "TipoSucursal = 1").ToEntero
|
||||
|
||||
UpTitulos.Update()
|
||||
End Sub
|
||||
|
||||
Private Sub CargaFolio()
|
||||
'Dim CveSubProyecto As Integer = GlobalDTSubProyectos(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", "TipoSucursal = 1").ToEntero
|
||||
|
||||
Dim ObjFolio As New ClsGralFolios
|
||||
If ObjFolio.GetFolios("Con", UsuarioActual.CveEmpresa, CveSubProyecto:=CveSubProyecto) Then
|
||||
If ObjFolio.GetFolios("Con", UsuarioActual.CveEmpresa, CveSubProyecto:=-1) Then
|
||||
If ObjFolio.DtResultados.Rows.Count > 0 Then
|
||||
Dim drr As DataRow = ObjFolio.DtResultados.FiltroPrimero("")
|
||||
LbFolio.Text = $"{drr("Serie").ToString}-{drr("FActual").ToString}"
|
||||
End If
|
||||
End If
|
||||
ObjFolio.Dispose()
|
||||
|
||||
UpTitulos.Update()
|
||||
UpModal.Update()
|
||||
End Sub
|
||||
#End Region
|
||||
#Region "Contrato"
|
||||
@@ -189,11 +195,12 @@ Partial Class ListadoContratos
|
||||
ErrorProceso = True
|
||||
End If
|
||||
|
||||
|
||||
'Aumentamos Folio
|
||||
Dim ObjFolios As New ClsGralFolios(ObjContratos.IniciaTransacSQL())
|
||||
If Not ObjFolios.UpdateFolioActual(DdlSubProyectoModal.SelectedValue.ToEntero, "Con", True, UsuarioActual.CveEmpresa) Then
|
||||
ErrorProceso = True
|
||||
If Not ErrorProceso Then
|
||||
'Aumentamos Folio
|
||||
Dim ObjFolios As New ClsGralFolios(ObjContratos.IniciaTransacSQL())
|
||||
If Not ObjFolios.UpdateFolioActual(-1, "Con", True, UsuarioActual.CveEmpresa) Then
|
||||
ErrorProceso = True
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
@@ -400,7 +407,74 @@ Partial Class ListadoContratos
|
||||
#End Region
|
||||
|
||||
Protected Sub LnkAgregarContrato_Click(sender As Object, e As EventArgs)
|
||||
CargaFolio()
|
||||
RegistraScript("$('#ModalAgregar').modal({ backdrop: 'static', keyboard: false });")
|
||||
UpTitulos.Update()
|
||||
End Sub
|
||||
|
||||
|
||||
'Private Sub CargaFolios(Optional FacturarDocumentoNuevo As Boolean = False)
|
||||
|
||||
|
||||
' Dim ObjFolios As New ClsGralFolios()
|
||||
' Dim TipoDoctoConsulta As String = ""
|
||||
|
||||
' If ObjFolios.GetFolios(TipoDoctoConsulta, UsuarioActual.CveEmpresa) Then
|
||||
' Dim DT As DataTable = ObjFolios.DtResultados.FiltraParametros(String.Format(" CveSubProyecto = {0} And Estado = 'Activo'", DdlSubProyectoDatos.SelectedValue))
|
||||
' If DT.Rows.Count > 0 Then
|
||||
' ViewState("CveFolio") = DT.Rows(0)("CveFolio").ToString().ToEntero()
|
||||
' 'ViewState("NumAprobacion") = CLng(DT.Rows(0)("Aprobacion").ToString())
|
||||
' 'ViewState("FechaAprobacion") = DT.Rows(0)("FechaAprobacion").ToString().ToDate
|
||||
' ViewState("FolioActual") = DT.Rows(0)("FActual").ToString()
|
||||
' If UsuarioActual.Empresa.Funcionalidad(531) = "1" AndAlso CveVenta > 0 AndAlso Not EsCreaApartirDe AndAlso Not String.IsNullOrEmpty(SerieVenta) Then
|
||||
' LblSerie.Text = SerieVenta
|
||||
' Else
|
||||
' LblSerie.Text = DT.Rows(0)("Serie").ToString()
|
||||
' End If
|
||||
' TxtFolio.Text = DT.Rows(0)("FActual").ToString()
|
||||
|
||||
' If Not FacturarDocumentoNuevo Then
|
||||
' If Not CveEmpresaCRM > 0 Then
|
||||
' 'SI ES UNA REMISION EXISTENTE, NO MOSTRAR LOS BOTONES
|
||||
' If Not (CveVenta > 0 AndAlso DdlTipoComprobante.SelectedValue = "Rem") Then
|
||||
' BtnCrearApartirDe.Enabled = EstatusCliente AndAlso TieneBloqueoPorCreditoVencimiento = 0
|
||||
' BtnEmitirImprimir.Visible = EstatusCliente AndAlso TieneBloqueoPorCreditoVencimiento = 0
|
||||
' TrVistaPrevia.Visible = EstatusCliente
|
||||
' End If
|
||||
' Else
|
||||
' If TipoDoctoConsulta.Contiene("Ing", "Egs", "Ant", "Dev") Then
|
||||
' BtnCrearApartirDe.Enabled = EstatusCliente AndAlso TieneBloqueoPorCreditoVencimiento = 0
|
||||
' BtnEmitirImprimir.Visible = EstatusCliente AndAlso TieneBloqueoPorCreditoVencimiento = 0
|
||||
' TrVistaPrevia.Visible = EstatusCliente
|
||||
' Else
|
||||
' BtnCrearApartirDe.Enabled = True
|
||||
' BtnEmitirImprimir.Visible = True
|
||||
' TrVistaPrevia.Visible = True
|
||||
' End If
|
||||
' End If
|
||||
|
||||
' End If
|
||||
|
||||
' UpFacturar.Update()
|
||||
' Else
|
||||
|
||||
' If DdlTipoComprobante.Items.Count > 0 Then
|
||||
' Alert("No tiene registrados Folios para " & DdlTipoComprobante.SelectedItem.Text & " en esta sucursal.", TipoMensaje.MsgAdvertencia)
|
||||
' Else
|
||||
' Alert("No tiene permisos para generar ningun tipo de documento.", TipoMensaje.MsgAdvertencia)
|
||||
' End If
|
||||
|
||||
' TrEmitir.Visible = False
|
||||
' TrVistaPrevia.Visible = False
|
||||
' BtnCrearApartirDe.Enabled = False
|
||||
' BtnEmitirImprimir.Visible = False
|
||||
' UpFacturar.Update()
|
||||
' End If
|
||||
' DT.Dispose()
|
||||
' End If
|
||||
' ObjFolios.Dispose()
|
||||
' 'End If
|
||||
|
||||
'End Sub
|
||||
|
||||
End Class
|
||||
|
||||
@@ -19,6 +19,11 @@
|
||||
<asp:Content ID="Content3" ContentPlaceHolderID="CP" runat="Server">
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content4" ContentPlaceHolderID="CSS" runat="Server">
|
||||
<style>
|
||||
.font-green {
|
||||
color: #26a69a !important;
|
||||
}
|
||||
</style>
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content5" ContentPlaceHolderID="E" runat="Server">
|
||||
Promociones
|
||||
@@ -35,7 +40,7 @@
|
||||
<div class="portlet-title">
|
||||
<div class="caption font-green">
|
||||
<i class="icon-pin font-green"></i>
|
||||
<span class="caption-subject bold uppercase">DATOS GENERALES</span>
|
||||
<span class="caption-subject font-green bold uppercase">DATOS GENERALES</span>
|
||||
</div>
|
||||
<div class="actions">
|
||||
<div class="btn-group">
|
||||
@@ -180,7 +185,7 @@
|
||||
<div class="portlet-title">
|
||||
<div class="caption font-green">
|
||||
<i class="icon-pin font-green"></i>
|
||||
<span class="caption-subject bold uppercase">PRODUCTOS / SERVICIOS</span>
|
||||
<span class="caption-subject font-green bold uppercase">PRODUCTOS / SERVICIOS</span>
|
||||
</div>
|
||||
<div class="tools">
|
||||
|
||||
@@ -195,7 +200,7 @@
|
||||
<div class="portlet-body form">
|
||||
|
||||
<asp:GridView ID="GvDatos"
|
||||
DataKeyNames="CvePromocionDetalle, CveClasificacion, CvePS, CodigoPS, HoraInicio, HoraFin, CveTipoPromocion, Promocion, PUAnterior, AplicaRestriccion, AplicaLunes, AplicaMartes, AplicaMiercoles, AplicaJueves, AplicaViernes, AplicaSabado, AplicaDomingo, CantidadMinima, CveRinTamaño,IncluyeImpuestos"
|
||||
DataKeyNames="CvePromocionDetalle, CveClasificacion, CvePS, CodigoPS, HoraInicio, HoraFin, CveTipoPromocion, Promocion, PUAnterior, AplicaRestriccion, AplicaLunes, AplicaMartes, AplicaMiercoles, AplicaJueves, AplicaViernes, AplicaSabado, AplicaDomingo, CantidadMinima, CveRinTamaño,IncluyeImpuestos, UltimoCosto, CostoPromedio"
|
||||
CssClass="table table-striped table-hover Widthall mysmallbtn" AutoGenerateColumns="false" GridLines="None" EmptyDataText="Aun no se registran detalles" runat="server"
|
||||
OnRowDataBound="GvDatos_RowDataBound"
|
||||
>
|
||||
@@ -276,7 +281,6 @@
|
||||
<asp:UpdatePanel runat="server">
|
||||
<ContentTemplate>
|
||||
<asp:Button ID="BtnGuardar" Text="Guardar" CssClass="btn btn-primary" ValidationGroup="GrpGuardar" OnClick="BtnGuardar_Click" runat="server" />
|
||||
|
||||
<asp:Button ID="ButBtnEliminar" Text="Eliminar" CssClass="btn btn-danger" OnClick="BtnEliminar_Click" runat="server" Visible="false"
|
||||
data-toggle="confirmation" data-popout="true" data-original-title="Confirmar" data-btn-ok-label="si"
|
||||
/>
|
||||
@@ -306,15 +310,25 @@
|
||||
<div class="row">
|
||||
<label class="col-md-3 truncate">Producto:</label>
|
||||
<div class="col-md-9">
|
||||
<ADS:Dropdownlost runat="server" Enabled="true" ID="DdlPS" CssStyle="width: 100%;" CssClassDdl="select2me" DataTextField="PSCodigo" DataValueField="CvePS"/>
|
||||
<ADS:Dropdownlost runat="server" Enabled="true" ID="DdlPS" CssStyle="width: 100%;" CssClassDdl="select2me" DataTextField="PSCodigo" DataValueField="CvePS" Onselectedindexchange="DdlPS_selectedindexchange" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<label class="col-md-3 truncate">P.U. Actual:</label>
|
||||
<div class="col-md-9">
|
||||
<div class="row" style="display:none">
|
||||
<label class="col-md-3 truncate">Ultimo Costo:</label>
|
||||
<div class="col-md-3">
|
||||
<asp:Label Text="" ID="LbPUActual" runat="server" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<label class="col-md-3 truncate">Ultimo Costo:</label>
|
||||
<div class="col-md-3">
|
||||
<asp:Label Text="" ID="LblUltimoCosto" runat="server" />
|
||||
</div>
|
||||
<label class="col-md-3 truncate">Costo Promedio:</label>
|
||||
<div class="col-md-3">
|
||||
<asp:Label Text="" ID="LblCostoPromedio" runat="server" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<label class="col-md-3 truncate">Tipo Promoción:</label>
|
||||
<div class="col-md-9">
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
Option Explicit On
|
||||
Option Strict On
|
||||
|
||||
Imports System.Activities.Expressions
|
||||
Imports System.Data
|
||||
Imports DocumentFormat.OpenXml.Drawing.Diagrams
|
||||
Imports Extensiones
|
||||
Imports iText.StyledXmlParser.Css.Resolve.Shorthand.Impl
|
||||
Imports Microsoft.Owin.Security.Provider
|
||||
Imports Telerik.Web.UI
|
||||
|
||||
Partial Class Ventas_Promociones
|
||||
Inherits ClsPaginas
|
||||
@@ -59,7 +61,6 @@ Partial Class Ventas_Promociones
|
||||
|
||||
Private Property CvePromocionPadre As Integer
|
||||
Get
|
||||
|
||||
If ViewState("CvePromocionPadre") Is Nothing Then
|
||||
ViewState("CvePromocionPadre") = -1
|
||||
End If
|
||||
@@ -70,21 +71,114 @@ Partial Class Ventas_Promociones
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private Property PorMinMasCostoVentaFnc129 As Decimal
|
||||
Get
|
||||
|
||||
If ViewState("PorMinMasCostoVentaFnc129") Is Nothing Then
|
||||
ViewState("PorMinMasCostoVentaFnc129") = -1
|
||||
End If
|
||||
Return ViewState("PorMinMasCostoVentaFnc129").ToString.ToDecimal
|
||||
End Get
|
||||
Set(value As Decimal)
|
||||
ViewState("PorMinMasCostoVentaFnc129") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
|
||||
'Private Property DTPSUltimoCosto As DataTable
|
||||
' Get
|
||||
' If ViewState("DTPSUltimoCosto") Is Nothing Then
|
||||
' ViewState("DTPSUltimoCosto") = New DataTable
|
||||
' End If
|
||||
|
||||
' Return CType(ViewState("DTPSUltimoCosto"), DataTable)
|
||||
' End Get
|
||||
' Set(value As DataTable)
|
||||
' ViewState("DTPSUltimoCosto") = value
|
||||
' End Set
|
||||
'End Property
|
||||
|
||||
Private Property PermisoAutorizPromocionPorcentaje As Boolean
|
||||
Get
|
||||
If ViewState("PermisoAutorizPromocionPorcentaje") Is Nothing Then
|
||||
ViewState("PermisoAutorizPromocionPorcentaje") = False
|
||||
End If
|
||||
Return Boolean.Parse(ViewState("PermisoAutorizPromocionPorcentaje").ToString)
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
ViewState("PermisoAutorizPromocionPorcentaje") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private Property BloqueadoPromocionPorcentaje As Boolean
|
||||
Get
|
||||
|
||||
If ViewState("BloqueadoPromocionPorcentaje") Is Nothing Then
|
||||
ViewState("BloqueadoPromocionPorcentaje") = False
|
||||
End If
|
||||
Return Boolean.Parse(ViewState("BloqueadoPromocionPorcentaje").ToString)
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
ViewState("BloqueadoPromocionPorcentaje") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private Property EmpresaFnc382 As Boolean
|
||||
Get
|
||||
|
||||
If ViewState("EmpresaFnc382") Is Nothing Then
|
||||
ViewState("EmpresaFnc382") = False
|
||||
End If
|
||||
Return Boolean.Parse(ViewState("EmpresaFnc382").ToString)
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
ViewState("EmpresaFnc382") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private Property EstatusOriginal As Boolean
|
||||
Get
|
||||
If ViewState("EstatusOriginal") Is Nothing Then
|
||||
ViewState("EstatusOriginal") = False
|
||||
End If
|
||||
Return Boolean.Parse(ViewState("EstatusOriginal").ToString)
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
ViewState("EstatusOriginal") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
|
||||
|
||||
#End Region
|
||||
|
||||
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
|
||||
|
||||
If Not Page.IsPostBack Then
|
||||
|
||||
PorMinMasCostoVentaFnc129 = UsuarioActual.Empresa.Funcionalidad(129).ToDecimal
|
||||
PermisoAutorizPromocionPorcentaje = UsuarioActual.TienePermisoProceso(386)
|
||||
|
||||
EmpresaFnc382 = If(UsuarioActual.Empresa.Funcionalidad(382) = "1", True, False) 'Grupo díaz
|
||||
'EmpresaFnc382 = True ''Para pruebas
|
||||
|
||||
CvePromocion = -1
|
||||
CargaValoresIniciales()
|
||||
CargaMonedas()
|
||||
CargaDTUltimoCosto()
|
||||
|
||||
If Request("CvePromocion") IsNot Nothing AndAlso Request("CvePromocion").ToString.ToEntero > 0 Then
|
||||
|
||||
CvePromocion = Request("CvePromocion").ToString.ToEntero
|
||||
CargaDatos()
|
||||
LnkAgrgarPlantillaPS.Visible = False
|
||||
|
||||
|
||||
ValidaPromosiones(False)
|
||||
If EmpresaFnc382 AndAlso ChkEstatus.Checked = False AndAlso BloqueadoPromocionPorcentaje AndAlso Not PermisoAutorizPromocionPorcentaje Then
|
||||
ChkEstatus.Enabled = False
|
||||
End If
|
||||
|
||||
Else
|
||||
ChkEstatus.Enabled = True
|
||||
ChkEstatus.Checked = True
|
||||
@@ -219,6 +313,9 @@ Partial Class Ventas_Promociones
|
||||
|
||||
TempDT.Columns.Add("IncluyeImpuestos", GetType(Boolean))
|
||||
|
||||
TempDT.Columns.Add("UltimoCosto", GetType(Decimal))
|
||||
TempDT.Columns.Add("CostoPromedio", GetType(Decimal))
|
||||
|
||||
|
||||
TempDTOrigial = TempDT.Copy
|
||||
|
||||
@@ -244,6 +341,26 @@ Partial Class Ventas_Promociones
|
||||
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub CargaDTUltimoCosto()
|
||||
|
||||
If EmpresaFnc382 Then
|
||||
Dim DTPSUltimoCosto = New DataTable
|
||||
|
||||
Dim ObjInv As New ClsInventarios
|
||||
|
||||
If ObjInv.GetUltimoCosto(UsuarioActual.CveEmpresa) Then
|
||||
DTPSUltimoCosto = ObjInv.DtResultados
|
||||
End If
|
||||
|
||||
ObjInv.Dispose()
|
||||
End If
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
#Region " PS "
|
||||
@@ -305,6 +422,7 @@ Partial Class Ventas_Promociones
|
||||
End If
|
||||
|
||||
ChkEstatus.Checked = If(Dr("Estatus").ToString = "True", True, False)
|
||||
EstatusOriginal = ChkEstatus.Checked
|
||||
DdlMoneda.SelectedValueExist(Dr("CveMoneda").ToString)
|
||||
DdlMarca.SelectedValueExist(Dr("CveMarca").ToString)
|
||||
DdlTipoAplicacion.SelectedValueExist(Dr("TipoAplicacion").ToString)
|
||||
@@ -356,6 +474,10 @@ Partial Class Ventas_Promociones
|
||||
ChangeDdlProducto()
|
||||
|
||||
LbPUActual.Text = ""
|
||||
LblCostoPromedio.Text = ""
|
||||
LblUltimoCosto.Text = ""
|
||||
|
||||
|
||||
DdlTipoPromocion.SelectedValue = "-1"
|
||||
TxtPromocionConcepto.Text = ""
|
||||
TxtCantMinima.Text = "1"
|
||||
@@ -423,6 +545,10 @@ Partial Class Ventas_Promociones
|
||||
Dr("CodigoPS") = If(String.IsNullOrEmpty(DdlPS.SelectedText), "Todos", DdlPS.SelectedText)
|
||||
Dr("PUAnterior") = LbPUActual.Text.ToDecimal
|
||||
|
||||
Dr("UltimoCosto") = LblUltimoCosto.Text.ToDecimal
|
||||
Dr("CostoPromedio") = LblCostoPromedio.Text.ToDecimal
|
||||
|
||||
|
||||
Dr("CveTipoPromocion") = DdlTipoPromocion.SelectedValue.ToEntero
|
||||
Dr("TipoPromocion") = DdlTipoPromocion.SelectedItem.Text
|
||||
Dr("Promocion") = TxtPromocionConcepto.Text
|
||||
@@ -478,7 +604,78 @@ Partial Class Ventas_Promociones
|
||||
|
||||
CargaGrid()
|
||||
RegistraScript("$('#DivAgregar').modal('hide')")
|
||||
|
||||
ValidaPromosiones(True)
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
Private Sub ValidaPromosiones(Bloquear As Boolean)
|
||||
|
||||
|
||||
If Not EmpresaFnc382 Then
|
||||
BloqueadoPromocionPorcentaje = False
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
|
||||
Dim DTPSUltimoCosto = New DataTable
|
||||
|
||||
Dim ObjInv As New ClsInventarios
|
||||
If ObjInv.GetUltimoCosto(UsuarioActual.CveEmpresa) Then
|
||||
DTPSUltimoCosto = ObjInv.DtResultados
|
||||
End If
|
||||
ObjInv.Dispose()
|
||||
|
||||
|
||||
|
||||
If PorMinMasCostoVentaFnc129 > 0 Then
|
||||
|
||||
For Each dRow As DataRow In TempDT.Rows
|
||||
|
||||
Dim CvePS As Integer = dRow("CvePS").ToString.ToEntero
|
||||
Dim UltimoCosto As Decimal = dRow("UltimoCosto").ToString.ToDecimal
|
||||
Dim CveTipoPromocion As Integer = dRow("CveTipoPromocion").ToString.ToEntero ' 1 importe 2 % descuento
|
||||
Dim Promocion As Decimal = dRow("Promocion").ToString.ToDecimal
|
||||
|
||||
If UltimoCosto = 0 Then
|
||||
UltimoCosto = DTPSUltimoCosto.FiltroPrimeroValor("UltimoCosto", $"CvePS = {CvePS}").ToDecimal
|
||||
End If
|
||||
|
||||
If CvePS > 0 AndAlso UltimoCosto > 0 AndAlso CveTipoPromocion.Contiene(1, 2) Then
|
||||
|
||||
If CveTipoPromocion = 1 Then 'importe
|
||||
|
||||
'Sacamos el porcentaje
|
||||
Dim PorDescuento As Decimal = 100 - ((Promocion * 100) / UltimoCosto)
|
||||
|
||||
If PorDescuento > PorMinMasCostoVentaFnc129 Then
|
||||
BloqueadoPromocionPorcentaje = True
|
||||
Exit For
|
||||
End If
|
||||
|
||||
ElseIf CveTipoPromocion = 2 Then '% descuento
|
||||
If Promocion > PorMinMasCostoVentaFnc129 Then
|
||||
BloqueadoPromocionPorcentaje = True
|
||||
Exit For
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
End If
|
||||
|
||||
Next
|
||||
End If
|
||||
|
||||
If BloqueadoPromocionPorcentaje AndAlso Bloquear Then
|
||||
ChkEstatus.Checked = False
|
||||
ChkEstatus.Enabled = False
|
||||
End If
|
||||
|
||||
UpGenerales.Update()
|
||||
|
||||
End Sub
|
||||
|
||||
Protected Sub ChkRestricciones_CheckedChanged(sender As Object, e As EventArgs)
|
||||
DivRestricciones.Visible = ChkRestricciones.Checked
|
||||
End Sub
|
||||
@@ -509,6 +706,9 @@ Partial Class Ventas_Promociones
|
||||
End If
|
||||
|
||||
LbPUActual.Text = Gvr.DataKey("PUAnterior").FormatoNumero
|
||||
LblUltimoCosto.Text = Gvr.DataKey("UltimoCosto").FormatoNumero
|
||||
LblCostoPromedio.Text = Gvr.DataKey("CostoPromedio").FormatoNumero
|
||||
|
||||
DdlTipoPromocion.SelectedValue = Gvr.DataKey("CveTipoPromocion")
|
||||
'DdlTipoPromocion_SelectedIndexChanged(sender, Nothing)
|
||||
TxtPromocionConcepto.Text = Gvr.DataKey("Promocion").FormatoNumero(4)
|
||||
@@ -560,6 +760,9 @@ Partial Class Ventas_Promociones
|
||||
|
||||
|
||||
Private Sub GuardaPromocion()
|
||||
|
||||
ValidaPromosiones(True)
|
||||
|
||||
Dim CveCliente As Integer = If(DdlClientes.SelectedValue = "", -1, DdlClientes.SelectedValue.ToEntero)
|
||||
Dim ObjVentas As New ClsVentas
|
||||
Dim TieneError As Boolean = False
|
||||
@@ -599,6 +802,11 @@ Partial Class Ventas_Promociones
|
||||
End If
|
||||
|
||||
ObjVentas.Dispose()
|
||||
|
||||
If Not TieneError AndAlso BloqueadoPromocionPorcentaje Then
|
||||
MandaCorreoNotificacionPromocionBloqueo(CvePromocion, TxtPromocion.Text.Trim)
|
||||
End If
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
@@ -654,24 +862,6 @@ Partial Class Ventas_Promociones
|
||||
|
||||
If Not TieneError Then
|
||||
|
||||
'366 Estatus
|
||||
|
||||
'367 CvePS
|
||||
'368 PUPromocion
|
||||
'369 CveTipoPromocion
|
||||
'370 Cantidad Minima
|
||||
'371 AplicaRestriccion
|
||||
'372 HoraInicio
|
||||
'373 HoraFin
|
||||
|
||||
'374 AplicaLunes
|
||||
'375 AplicaMartes
|
||||
'376 AplicaMiercoles
|
||||
'377 AplicaJueves
|
||||
'378 AplicaViernes
|
||||
'379 AplicaSabado
|
||||
'380 AplicaDomingo
|
||||
'381 IncluyeImpuestos
|
||||
|
||||
|
||||
Dim Dr2 As DataRow = TempDTOrigial.FiltraParametros($"CvePromocionDetalle = {Dr("CvePromocionDetalle").ToString}").Rows(0)
|
||||
@@ -700,12 +890,7 @@ Partial Class Ventas_Promociones
|
||||
End If
|
||||
|
||||
|
||||
'If Not TieneError And Dr("AplicaRestriccion").ToString <> Dr2("AplicaRestriccion").ToString Then
|
||||
' If Not ObjGral.AddHistorialBitacora(371, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Dr2("AplicaRestriccion").ToString, $"{Dr("CodigoPS").ToString} - {Dr("AplicaRestriccion").ToString}", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 1, "Se elimino " & Dr("CodigoPS").ToString, "PS", "", CvePromocion:=CvePromocion) Then
|
||||
' TieneError = True
|
||||
' Exit For
|
||||
' End If
|
||||
'End If
|
||||
|
||||
|
||||
If Not TieneError And Dr("HoraInicio").ToString <> Dr2("HoraInicio").ToString Then
|
||||
If Not ObjGral.AddHistorialBitacora(372, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Dr("HoraInicio").ToString, $"{Dr("CodigoPS").ToString} - {Dr2("HoraInicio").ToString}", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 1, "Se elimino " & Dr("CodigoPS").ToString, "PS", "", CvePromocion:=CvePromocion) Then
|
||||
@@ -847,6 +1032,15 @@ Partial Class Ventas_Promociones
|
||||
TieneError = True
|
||||
End If
|
||||
|
||||
If EmpresaFnc382 AndAlso EstatusOriginal = False AndAlso ChkEstatus.Checked And BloqueadoPromocionPorcentaje Then
|
||||
|
||||
Dim objGeneral As New ClsGenerales(ObjVentas.IniciaTransacSQL)
|
||||
If Not objGeneral.AddHistorialBitacora(360, -1, -1, -1, -1, -1, -1, -1, "Se Autorizo con bloqueo", "No", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 0, "", "", "", CvePromocion:=CvePromocion) Then
|
||||
TieneError = True
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
If UsuarioActual.Empresa.Funcionalidad(563) <> "" Then
|
||||
|
||||
If Not ObjVentas.SincronizarPromocionesClonar(CvePromocion, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 2) Then
|
||||
@@ -867,6 +1061,51 @@ Partial Class Ventas_Promociones
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
#Region "ENVIAR CORREO PROMOSION BLOQUEADA"
|
||||
|
||||
|
||||
Private Sub MandaCorreoNotificacionPromocionBloqueo(CvePromocionNueva As Integer, PromocionNueva As String)
|
||||
Dim Asunto, Para, ArrayCC, Body, URL As String
|
||||
Asunto = $"Promoción {PromocionNueva} requiere autorización"
|
||||
Para = ""
|
||||
ArrayCC = ""
|
||||
URL = ""
|
||||
|
||||
If Request.Url.Port = 80 Then
|
||||
URL = $"{Request.Url.Scheme}://{Request.Url.Host}{Request.Url.AbsolutePath}?CvePromocion={CvePromocionNueva}"
|
||||
Else
|
||||
URL = $"{Request.Url.Scheme}://{Request.Url.Host}:{Request.Url.Port}{Request.Url.AbsolutePath}?CvePromocion={CvePromocionNueva}"
|
||||
End If
|
||||
|
||||
Body = $"Se a registrado promoción que requiere autorización <a href='{URL}' >{PromocionNueva}</a>"
|
||||
|
||||
Dim objUsu As New ClsSisUsuarios
|
||||
Dim ListaCorreos As New List(Of String)
|
||||
If objUsu.GetPermisosPorUsuarioProcesos(-1, -1, -1, -1, 386, CveEmpresa:=UsuarioActual.CveEmpresa) Then
|
||||
For Each dRow As DataRow In objUsu.DtResultados.Rows
|
||||
If dRow("Correo").ToString.Trim.Length > 0 Then
|
||||
ListaCorreos.Add(dRow("Correo").ToString)
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
objUsu.Dispose()
|
||||
|
||||
If ListaCorreos.Count > 0 Then
|
||||
|
||||
Para = String.Join(";", ListaCorreos)
|
||||
|
||||
Dim Mail As New ClsSisMail()
|
||||
Dim LSRutasMail As New List(Of ClsSisMail.ArchivoMail)
|
||||
Mail.SendMail(ClsPaginas.EmpresaNotificaciones, Para, Asunto, Body, ArrayCC, LSRutasMail)
|
||||
|
||||
End If
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
#End Region
|
||||
|
||||
|
||||
#Region " ELIMINAR "
|
||||
Protected Sub BtnEliminar_Click(sender As Object, e As EventArgs)
|
||||
@@ -912,22 +1151,6 @@ Partial Class Ventas_Promociones
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
'Protected Sub DdlTipoPromocion_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlTipoPromocion.SelectedIndexChanged
|
||||
' If DdlTipoPromocion.SelectedValue = "3" Then
|
||||
' DivCantMinima.Visible = True
|
||||
' Else
|
||||
' DivCantMinima.Visible = False
|
||||
' End If
|
||||
'End Sub
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Protected Sub GvDatos_RowDataBound(sender As Object, e As GridViewRowEventArgs)
|
||||
|
||||
@@ -1092,11 +1315,6 @@ Partial Class Ventas_Promociones
|
||||
ObjPS.Dispose()
|
||||
|
||||
|
||||
'Dim ObjGral As New ClsGenerales
|
||||
'If ObjGral.GetRinTamanios(UsuarioActual.CveEmpresa) Then
|
||||
' DTRines = ObjGral.DtResultados
|
||||
'End If
|
||||
'ObjGral.Dispose()
|
||||
DTRines = GlobalDTPSRinTamaños(UsuarioActual.CveEmpresa)
|
||||
|
||||
Dim RegistroActual As Integer = 1
|
||||
@@ -1106,8 +1324,6 @@ Partial Class Ventas_Promociones
|
||||
|
||||
Dim ClasificacionStr, CodigoStr, TipoPromocionStr, PromocionStr, CantidadMinimaStr, RinStr, IncluyeImpuestosStr As String
|
||||
|
||||
|
||||
|
||||
ClasificacionStr = dRow("Clasificacion").ToString.Trim
|
||||
CodigoStr = dRow("Codigo").ToString.Trim
|
||||
TipoPromocionStr = dRow("TipoPromocion").ToString.Trim
|
||||
@@ -1185,7 +1401,6 @@ Partial Class Ventas_Promociones
|
||||
|
||||
Next
|
||||
|
||||
|
||||
If Errores.ToString.Length = 0 Then
|
||||
DTPlantilla.AcceptChanges()
|
||||
Return True
|
||||
@@ -1194,8 +1409,23 @@ Partial Class Ventas_Promociones
|
||||
Return False
|
||||
End If
|
||||
|
||||
|
||||
|
||||
|
||||
End Function
|
||||
|
||||
Protected Sub DdlPS_selectedindexchange(sender As Object, e As EventArgs)
|
||||
|
||||
Dim DTPSUltimoCosto = New DataTable
|
||||
|
||||
Dim ObjInv As New ClsInventarios
|
||||
If ObjInv.GetUltimoCosto(UsuarioActual.CveEmpresa) Then
|
||||
DTPSUltimoCosto = ObjInv.DtResultados
|
||||
End If
|
||||
ObjInv.Dispose()
|
||||
|
||||
LblUltimoCosto.Text = DTPSUltimoCosto.FiltroPrimeroValor("UltimoCosto", $"CvePS = {DdlPS.SelectedValue}").FormatoNumero
|
||||
LblCostoPromedio.Text = DTPSUltimoCosto.FiltroPrimeroValor("CostoPromedio", $"CvePS = {DdlPS.SelectedValue}").FormatoNumero
|
||||
|
||||
UpAgregar.Update()
|
||||
End Sub
|
||||
|
||||
|
||||
End Class
|
||||
@@ -18,11 +18,21 @@
|
||||
Reporte de Pedidos
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content4" ContentPlaceHolderID="HB" runat="Server">
|
||||
|
||||
<li>
|
||||
|
||||
</li>
|
||||
|
||||
|
||||
<asp:UpdatePanel runat="server" ID="UpAcciones" UpdateMode="Always">
|
||||
<ContentTemplate>
|
||||
<li>
|
||||
<asp:LinkButton ID="LnkImprimirPedidos" runat="server" Visible="false" OnClick="LnkImprimirPedidos_Click"> <i class="fa fa-file-pdf-o" style="font-weight:bold;"></i> Imprimir Pedidos</asp:LinkButton>
|
||||
</li>
|
||||
<li>
|
||||
<asp:LinkButton runat="server" ID="BtnHorariosPedidos" OnClick="BtnHorariosPedidos_Click" data-toggle="tooltip" data-placement="left" title="Agregar Horario" Text="Horarios de Pedidos"></asp:LinkButton>
|
||||
</li>
|
||||
</ContentTemplate>
|
||||
<Triggers>
|
||||
<asp:PostBackTrigger ControlID="LnkImprimirPedidos" />
|
||||
</Triggers>
|
||||
</asp:UpdatePanel>
|
||||
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
|
||||
</asp:Content>
|
||||
@@ -57,7 +67,7 @@
|
||||
<asp:ListItem Selected="True" Text="Todas" Value="-1"></asp:ListItem>
|
||||
</asp:DropDownList>--%>
|
||||
</div>
|
||||
|
||||
|
||||
<label class="col-md-1 truncate">Vendedor:</label>
|
||||
<div class="col-md-2">
|
||||
<asp:DropDownList ID="DdlVendedor" SelectionMode="Multiple" data-text="Todos" AppendDataBoundItems="true" DataTextField="Vendedor" DataValueField="CveVendedor" CssClass="form-control ddlFiltros input-sm select2me Widthall" Style="width: 100%;" runat="server"></asp:DropDownList>
|
||||
@@ -69,41 +79,41 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="portlet-body" style="display: none">
|
||||
<div class="row">
|
||||
<div class="col-md-1 truncate">
|
||||
Fecha Inicio:
|
||||
</div>
|
||||
<div class="col-md-1" style="min-width: 115px">
|
||||
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 100px !important; padding: 0px;">
|
||||
<asp:TextBox Width="80px" ID="txtFechaI" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10"></asp:TextBox>
|
||||
<span class="input-group-btn ">
|
||||
<asp:LinkButton ID="imgCalendario" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
|
||||
</span>
|
||||
<div class="row">
|
||||
<div class="col-md-1 truncate">
|
||||
Fecha Inicio:
|
||||
</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="Calendario" TargetControlID="txtFechaI" PopupButtonID="ImgCalendario" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
|
||||
<asp:RequiredFieldValidator ID="rfvFechaI" runat="server" ControlToValidate="txtFechaI" 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="cvFechaI" runat="server" ControlToValidate="txtFechaI" 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="vcoFfvFI" runat="server" HighlightCssClass="vco" TargetControlID="rfvFechaI" Width="350px"></ajax:ValidatorCalloutExtender>
|
||||
<ajax:ValidatorCalloutExtender ID="vcoCvFI" runat="server" HighlightCssClass="vco" TargetControlID="cvFechaI" Width="350px"></ajax:ValidatorCalloutExtender>
|
||||
</div>
|
||||
<div class="col-md-1 truncate">
|
||||
Fecha Fin:
|
||||
</div>
|
||||
<div class="col-md-1" style="min-width: 115px">
|
||||
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 100px !important; padding: 0px;">
|
||||
<asp:TextBox Width="80px" ID="txtFechaF" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10"></asp:TextBox>
|
||||
<span class="input-group-btn ">
|
||||
<asp:LinkButton ID="imgCalendarioF" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
|
||||
</span>
|
||||
<div class="col-md-1" style="min-width: 115px">
|
||||
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 100px !important; padding: 0px;">
|
||||
<asp:TextBox Width="80px" ID="txtFechaI" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10"></asp:TextBox>
|
||||
<span class="input-group-btn ">
|
||||
<asp:LinkButton ID="imgCalendario" 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="Calendario" TargetControlID="txtFechaI" PopupButtonID="ImgCalendario" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
|
||||
<asp:RequiredFieldValidator ID="rfvFechaI" runat="server" ControlToValidate="txtFechaI" 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="cvFechaI" runat="server" ControlToValidate="txtFechaI" 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="vcoFfvFI" runat="server" HighlightCssClass="vco" TargetControlID="rfvFechaI" Width="350px"></ajax:ValidatorCalloutExtender>
|
||||
<ajax:ValidatorCalloutExtender ID="vcoCvFI" runat="server" HighlightCssClass="vco" TargetControlID="cvFechaI" Width="350px"></ajax:ValidatorCalloutExtender>
|
||||
</div>
|
||||
<div class="col-md-1 truncate">
|
||||
Fecha Fin:
|
||||
</div>
|
||||
<div class="col-md-1" style="min-width: 115px">
|
||||
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 100px !important; padding: 0px;">
|
||||
<asp:TextBox Width="80px" ID="txtFechaF" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10"></asp:TextBox>
|
||||
<span class="input-group-btn ">
|
||||
<asp:LinkButton ID="imgCalendarioF" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
|
||||
</span>
|
||||
</div>
|
||||
<ajax:MaskedEditExtender ID="MEEFechaF" runat="server" TargetControlID="txtFechaF" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
|
||||
<ajax:CalendarExtender runat="server" ID="Calendario2" TargetControlID="txtFechaF" PopupButtonID="imgCalendarioF" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
|
||||
<asp:RequiredFieldValidator ID="rfvFechaF" runat="server" ControlToValidate="txtFechaF" 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="cvFechaF" runat="server" ControlToValidate="txtFechaF" 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="vcoRfvFF" runat="server" HighlightCssClass="vco" TargetControlID="rfvFechaF" Width="350px"></ajax:ValidatorCalloutExtender>
|
||||
<ajax:ValidatorCalloutExtender ID="vcoCvFF" runat="server" HighlightCssClass="vco" TargetControlID="cvFechaF" Width="350px"></ajax:ValidatorCalloutExtender>
|
||||
</div>
|
||||
<ajax:MaskedEditExtender ID="MEEFechaF" runat="server" TargetControlID="txtFechaF" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
|
||||
<ajax:CalendarExtender runat="server" ID="Calendario2" TargetControlID="txtFechaF" PopupButtonID="imgCalendarioF" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
|
||||
<asp:RequiredFieldValidator ID="rfvFechaF" runat="server" ControlToValidate="txtFechaF" 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="cvFechaF" runat="server" ControlToValidate="txtFechaF" 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="vcoRfvFF" runat="server" HighlightCssClass="vco" TargetControlID="rfvFechaF" Width="350px"></ajax:ValidatorCalloutExtender>
|
||||
<ajax:ValidatorCalloutExtender ID="vcoCvFF" runat="server" HighlightCssClass="vco" TargetControlID="cvFechaF" Width="350px"></ajax:ValidatorCalloutExtender>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -111,124 +121,184 @@
|
||||
</asp:UpdatePanel>
|
||||
<asp:UpdatePanel ID="UPDatos" runat="server" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
|
||||
<ajax:TabContainer ID="TabG" runat="server" ActiveTabIndex="0" Width="100%">
|
||||
|
||||
<ajax:TabPanel ID="TabPedidos" runat="server" HeaderText="Pedidos">
|
||||
<ContentTemplate>
|
||||
<ajax:TabContainer ID="TabG" runat="server" ActiveTabIndex="0" Width="100%">
|
||||
|
||||
<div style="min-height: 250px; overflow-x: scroll">
|
||||
<ajax:TabPanel ID="TabPedidos" runat="server" HeaderText="Pedidos">
|
||||
<ContentTemplate>
|
||||
|
||||
<asp:GridView ID="GvDatos" runat="server" AutoGenerateColumns="False" EmptyDataText="No se encontraron Ventas con los filtros especificados"
|
||||
CssClass="table table-striped table-advance table-hover Widthall ScrollAD mysmallbtn"
|
||||
DataKeyNames="CveCliente,CveVendedor,CveSubProyecto,CvePS,CveUnidadMedida,Cantidad,PU,CveVentaDetalle,GastosEnvio,CveVenta,SerieFolio,CodigoPS,CantidadOrg,CvePSOrg,CodigoPSOrg" data-sort="true" GridLines="None" Width="99%">
|
||||
<Columns>
|
||||
<div style="min-height: 250px; overflow-x: scroll">
|
||||
|
||||
<asp:TemplateField>
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="LblCliente" runat="server" Text='<%#Eval("NombreComercial") %>'></asp:Label><br />
|
||||
<asp:Label ID="LblDir" Font-Italic="true" runat="server" Text='<%#Eval("DireccionEnvio") %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
|
||||
<asp:TemplateField HeaderText="SerieFolio" ItemStyle-HorizontalAlign="Left">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="LblSerieFolio" runat="server" Text='<%#Eval("SerieFolio") %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
|
||||
<asp:TemplateField HeaderText="Fecha" ItemStyle-HorizontalAlign="Center">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="LblFecha" runat="server" Text='<%# Eval("Fecha", "{0:dd/MM/yyyy}") %>' ></asp:Label>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
|
||||
<asp:TemplateField ItemStyle-HorizontalAlign="Right" HeaderText="Cantidad">
|
||||
<EditItemTemplate>
|
||||
<asp:TextBox ID="TxtCantidad" runat="server" CausesValidation="true" MaxLength="12" style="text-align:right" Text='<%# Eval("Cantidad", "{0:0.######}") %>' Width="45px" Height="24px"></asp:TextBox>
|
||||
<ajax:FilteredTextBoxExtender runat="server" TargetControlID="TxtCantidad" FilterType="Custom" ValidChars="1234567890." />
|
||||
</EditItemTemplate>
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="LblCantidad" runat="server" Text='<%# Eval("Cantidad", "{0:#,###.####}") %>' ></asp:Label>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
|
||||
|
||||
<asp:TemplateField ItemStyle-HorizontalAlign="Left" HeaderText="Producto">
|
||||
<EditItemTemplate>
|
||||
<asp:DropDownList runat="server" ID="DdlPS" DataTextField="CodigoPS" CssClass="form-control select2me" Width="100%" DataValueField="CvePS" ></asp:DropDownList>
|
||||
</EditItemTemplate>
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="LblProducto" runat="server" Text='<%#Eval("CodigoPS") %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
|
||||
|
||||
<asp:TemplateField HeaderText="Vendedor" ItemStyle-HorizontalAlign="Left">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="LblVendedor" runat="server" Text='<%#Eval("Vendedor") %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
|
||||
|
||||
|
||||
<asp:TemplateField ItemStyle-HorizontalAlign="Center" HeaderText="Editar">
|
||||
<EditItemTemplate >
|
||||
<div style="width: 85px;">
|
||||
<asp:LinkButton ID="imgU" runat="server" AlternateText="Actualizar" CausesValidation="True" CommandName="Update" CssClass="btn btn-circle btn-sm green" Text="<i class='fa fa-check'></i>" ValidationGroup="GprGV" />
|
||||
<asp:LinkButton ID="imgC" runat="server" AlternateText="Cancelar" CausesValidation="False" CommandName="Cancel" CssClass="btn btn-circle btn-sm red" Text="<i class='fa fa-times'></i>" />
|
||||
</div>
|
||||
</EditItemTemplate>
|
||||
<ItemTemplate>
|
||||
<asp:LinkButton ID="imgE" runat="server" AlternateText="Editar" CausesValidation="False" CommandName="Edit"
|
||||
CssClass="btn btn-circle btn-sm green" Text="<i class='fa fa-pencil'></i>" />
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
|
||||
<asp:TemplateField ItemStyle-Width="2.5%">
|
||||
<ItemTemplate>
|
||||
<asp:CheckBox runat="server" ID="chk"></asp:CheckBox>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
</Columns>
|
||||
<RowStyle CssClass="Texto" />
|
||||
<HeaderStyle CssClass="Titulos" />
|
||||
</asp:GridView>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12" style="text-align: center;">
|
||||
<asp:Button ID="BtnEntregar" runat="server" Text="Entregado" class="btn btn-primary" OnClick="BtnEntregar_Click" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</ContentTemplate>
|
||||
</ajax:TabPanel>
|
||||
<ajax:TabPanel ID="TabEntregas" runat="server" HeaderText="Entregas">
|
||||
<ContentTemplate>
|
||||
<div style="min-height: 250px; overflow-x: scroll">
|
||||
<asp:GridView ID="GvE" runat="server" AutoGenerateColumns="False" EmptyDataText="No se encontraron Ventas con los filtros especificados"
|
||||
CssClass="table table-striped table-advance table-hover Widthall ScrollAD" DataKeyNames="CveCliente,CveVendedor,CveSubProyecto,CvePS,CveUnidadMedida,Cantidad,PU,CveVentaDetalle,GastosEnvio" data-sort="true" GridLines="None" Width="99%">
|
||||
<asp:GridView ID="GvDatos" runat="server" AutoGenerateColumns="False" EmptyDataText="No se encontraron Ventas con los filtros especificados"
|
||||
CssClass="table table-striped table-advance table-hover Widthall ScrollAD mysmallbtn"
|
||||
DataKeyNames="CveCliente,CveVendedor,CveSubProyecto,CvePS,CveUnidadMedida,Cantidad,PU,CveVentaDetalle,GastosEnvio,CveVenta,SerieFolio,CodigoPS,CantidadOrg,CvePSOrg,CodigoPSOrg" data-sort="true" GridLines="None" Width="99%">
|
||||
<Columns>
|
||||
<asp:BoundField HeaderText="Cliente" DataField="NombreComercial" ItemStyle-Width="30%" />
|
||||
<asp:BoundField HeaderText="SerieFolio" DataField="SerieFolio" ItemStyle-Width="10%" />
|
||||
<asp:BoundField HeaderText="Fecha" DataField="Fecha" DataFormatString="{0:d}" ItemStyle-Width="7.5%" />
|
||||
<asp:BoundField HeaderText="Cantidad" DataField="Cantidad" DataFormatString="{0:#,###.##}" ItemStyle-HorizontalAlign="Right" ItemStyle-Width="5%" />
|
||||
<asp:BoundField HeaderText="Producto" DataField="CodigoPS" ItemStyle-Width="30%" />
|
||||
<asp:BoundField HeaderText="Vendedor" DataField="Vendedor" ItemStyle-Width="20%" />
|
||||
|
||||
|
||||
<asp:TemplateField>
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="LblCliente" runat="server" Text='<%#Eval("NombreComercial") %>'></asp:Label><br />
|
||||
<asp:Label ID="LblDir" Font-Italic="true" runat="server" Text='<%#Eval("DireccionEnvio") %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
<HeaderTemplate>
|
||||
Sucursal<br />
|
||||
<asp:Label ID="LblDir3" Font-Italic="true" runat="server" Text="Dirección"></asp:Label>
|
||||
</HeaderTemplate>
|
||||
</asp:TemplateField>
|
||||
|
||||
<asp:TemplateField HeaderText="SerieFolio" ItemStyle-HorizontalAlign="Left">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="LblSerieFolio" runat="server" Text ='<%#Eval("SerieFolio") %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
|
||||
<asp:TemplateField HeaderText="Fecha" ItemStyle-HorizontalAlign="Center">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="LblFecha" runat="server" Text='<%# Eval("Fecha", "{0:dd/MM/yyyy}") %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
|
||||
<asp:TemplateField ItemStyle-HorizontalAlign="Right" HeaderText="Cantidad">
|
||||
<EditItemTemplate>
|
||||
<asp:TextBox ID="TxtCantidad" runat="server" CausesValidation="true" MaxLength="12" Style="text-align: right" Text='<%# Eval("Cantidad", "{0:0.######}") %>' Width="45px" Height="24px"></asp:TextBox>
|
||||
<ajax:FilteredTextBoxExtender runat="server" TargetControlID="TxtCantidad" FilterType="Custom" ValidChars="1234567890." />
|
||||
</EditItemTemplate>
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="LblCantidad" runat = "server" Text='<%# Eval("Cantidad", "{0:#,###.####}") %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
|
||||
|
||||
<asp:TemplateField ItemStyle-HorizontalAlign="Left" HeaderText="Producto">
|
||||
<EditItemTemplate>
|
||||
<asp:DropDownList runat="server" ID="DdlPS" DataTextField="CodigoPS" CssClass="form-control select2me" Width="100%" DataValueField="CvePS"></asp:DropDownList>
|
||||
</EditItemTemplate>
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="LblProducto" runat="server" Text='<%#Eval("CodigoPS") %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
|
||||
<asp:TemplateField HeaderText="Obs" ItemStyle-HorizontalAlign="Left">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="LblObs" runat="server" Text ='<%#Eval("Observaciones") %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField HeaderText="Vendedor" ItemStyle-HorizontalAlign="Left">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="LblVendedor" runat="server" Text='<%#Eval("Vendedor") %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
|
||||
|
||||
|
||||
<asp:TemplateField ItemStyle-HorizontalAlign="Center" HeaderText="Editar">
|
||||
<EditItemTemplate>
|
||||
<div style="width: 85px;">
|
||||
<asp:LinkButton ID="imgU" runat="server" AlternateText="Actualizar" CausesValidation="True" CommandName="Update" CssClass="btn btn-circle btn-sm green" Text="<i class='fa fa-check'></i>" ValidationGroup="GprGV" />
|
||||
<asp:LinkButton ID="imgC" runat="server" AlternateText="Cancelar" CausesValidation="False" CommandName="Cancel" CssClass="btn btn-circle btn-sm red" Text="<i class='fa fa-times'></i>" />
|
||||
</div>
|
||||
</EditItemTemplate>
|
||||
<ItemTemplate>
|
||||
<asp:LinkButton ID="imgE" runat="server" AlternateText="Editar" CausesValidation="False" CommandName="Edit"
|
||||
CssClass="btn btn-circle btn-sm green" Text="<i class='fa fa-pencil'></i>" />
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
|
||||
<asp:TemplateField ItemStyle-Width="2.5%">
|
||||
<ItemTemplate>
|
||||
<asp:CheckBox runat="server" ID="chk"></asp:CheckBox>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
</Columns>
|
||||
<RowStyle CssClass="Texto" />
|
||||
<HeaderStyle CssClass="Titulos" />
|
||||
</asp:GridView>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12" style="text-align: center;">
|
||||
<asp:Button ID="BtnEntregar" runat="server" Text="Entregado" class="btn btn-primary" OnClick="BtnEntregar_Click" />
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
</div>
|
||||
|
||||
</ContentTemplate>
|
||||
</ajax:TabPanel>
|
||||
</ajax:TabContainer>
|
||||
<ajax:TabPanel ID="TabEntregas" runat="server" HeaderText="Entregas">
|
||||
<ContentTemplate>
|
||||
<div style="min-height: 250px; overflow-x: scroll">
|
||||
<asp:GridView ID="GvE" runat="server" AutoGenerateColumns="False" EmptyDataText="No se encontraron Ventas con los filtros especificados"
|
||||
CssClass="table table-striped table-advance table-hover Widthall ScrollAD" DataKeyNames="CveCliente,CveVendedor,CveSubProyecto,CvePS,CveUnidadMedida,Cantidad,PU,CveVentaDetalle,GastosEnvio" data-sort="true" GridLines="None" Width="99%">
|
||||
<Columns>
|
||||
<asp:BoundField HeaderText="Cliente" DataField="NombreComercial" ItemStyle-Width="30%" />
|
||||
<asp:BoundField HeaderText="SerieFolio" DataField="SerieFolio" ItemStyle-Width="10%" />
|
||||
<asp:BoundField HeaderText="Fecha" DataField="Fecha" DataFormatString="{0:d}" ItemStyle-Width="7.5%" />
|
||||
<asp:BoundField HeaderText="Cantidad" DataField="Cantidad" DataFormatString="{0:#,###.##}" ItemStyle-HorizontalAlign="Right" ItemStyle-Width="5%" />
|
||||
<asp:BoundField HeaderText="Producto" DataField="CodigoPS" ItemStyle-Width="30%" />
|
||||
<asp:BoundField HeaderText="Vendedor" DataField="Vendedor" ItemStyle-Width="20%" />
|
||||
|
||||
</Columns>
|
||||
<RowStyle CssClass="Texto" />
|
||||
<HeaderStyle CssClass="Titulos" />
|
||||
</asp:GridView>
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
</ajax:TabPanel>
|
||||
</ajax:TabContainer>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
|
||||
<div id="divHorariosPedidos" class="modal ADS fade" role="dialog">
|
||||
<div class="modal-dialog">
|
||||
<asp:UpdatePanel ID="UpHorariosPedidos" class="modal-content rowpadding" tabindex="-1" runat="server" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
<h4 class="modal-title" id="myModalLabel">Horario de Pedidos</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<asp:UpdatePanel ID="UpBodyHorariosPedidos" UpdateMode="Conditional" runat="server">
|
||||
<ContentTemplate>
|
||||
<div class="row">
|
||||
<div class="col-lg-6">
|
||||
<div class="form-group form-md-line-input input-iconright">
|
||||
<asp:TextBox ID="TxtHorarioDe" runat="server" CausesValidation="true" CssClass="form-control" MaxLength="10" Width="104px"></asp:TextBox>
|
||||
<asp:RequiredFieldValidator ID="RFVHorarioDe" runat="server" ControlToValidate="TxtHorarioDe" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Hr. Inicio''</b> es necesario, por favor ingréselo." ValidationGroup="GrpObligatorio"></asp:RequiredFieldValidator>
|
||||
<ajax:ValidatorCalloutExtender ID="VCOHorarioDe1" runat="server" HighlightCssClass="vco" TargetControlID="RFVHorarioDe" Width="300px"></ajax:ValidatorCalloutExtender>
|
||||
<ajax:MaskedEditExtender ID="MEEHorarioDe" runat="server" TargetControlID="TxtHorarioDe" Mask="99:99" MaskType="Time" InputDirection="RightToLeft"></ajax:MaskedEditExtender>
|
||||
<ajax:MaskedEditValidator ID="MEVHorarioDe" runat="server" ControlExtender="MEEHorarioDe" ControlToValidate="TxtHorarioDe" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Hr. Inicio''</b> no tiene el formato correcto, por favor corrija (Formato 24 Horas)." IsValidEmpty="true" MaximumValue="23:59:59" MinimumValue="00:00:00" ToolTip="Formato 24 Horas" ValidationGroup="GrpObligatorio"></ajax:MaskedEditValidator>
|
||||
<ajax:ValidatorCalloutExtender ID="VCOHorarioDe2" runat="server" HighlightCssClass="vco" TargetControlID="MEVHorarioDe"></ajax:ValidatorCalloutExtender>
|
||||
<label for="<%= TxtHorarioDe.ClientID.ToString()%>">Hora Inicio:</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-6">
|
||||
<div class="form-group form-md-line-input input-iconright">
|
||||
<asp:TextBox ID="TxtHorarioA" runat="server" CausesValidation="true" CssClass="form-control" MaxLength="10" Width="84px" ValidationGroup="GrpObligatorio"></asp:TextBox>
|
||||
<asp:RequiredFieldValidator ID="RFVHorarioA" runat="server" ControlToValidate="TxtHorarioA" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Hr. Fin''</b> es necesario, por favor ingréselo." ValidationGroup="GrpObligatorio"></asp:RequiredFieldValidator>
|
||||
<ajax:ValidatorCalloutExtender ID="VCOHorarioA1" runat="server" HighlightCssClass="vco" TargetControlID="RFVHorarioA" Width="300px"></ajax:ValidatorCalloutExtender>
|
||||
<ajax:MaskedEditExtender ID="MEEHorarioA" runat="server" TargetControlID="TxtHorarioA" Mask="99:99" MaskType="Time" InputDirection="RightToLeft"></ajax:MaskedEditExtender>
|
||||
<ajax:MaskedEditValidator ID="MEVHorarioA" runat="server" ControlExtender="MEEHorarioA" ControlToValidate="TxtHorarioA" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Hr. Fin''</b> no tiene el formato correcto, por favor corrija (Formato 24 Horas)." IsValidEmpty="true" MaximumValue="23:59:59" MinimumValue="00:00:00" ToolTip="Formato 24 Horas" ValidationGroup="GrpObligatorio"></ajax:MaskedEditValidator>
|
||||
<ajax:ValidatorCalloutExtender ID="VCOHorarioA2" runat="server" HighlightCssClass="vco" TargetControlID="MEVHorarioA"></ajax:ValidatorCalloutExtender>
|
||||
<label for="<%= TxtHorarioDe.ClientID.ToString()%>">Hora Fin:</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
<div class="modal-footer">
|
||||
<asp:UpdatePanel ID="UpFooterHorariosPedidos" runat="server" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
<asp:LinkButton ID="BtnEditarHorariosPedidos" runat="server" CssClass="btn btn-primary" OnClick="BtnEditarHorariosPedidos_Click" ValidationGroup="GrpObligatorio">Guardar</asp:LinkButton>
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</div>
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
|
||||
<script>
|
||||
@@ -239,7 +309,7 @@
|
||||
// Seleccionar o deseleccionar todos los checkboxes que tienen la clase 'cveVenta'
|
||||
$('.' + cveVenta).each(function () {
|
||||
$(this).prop('checked', isChecked);
|
||||
});
|
||||
});
|
||||
}
|
||||
</script>
|
||||
</asp:Content>
|
||||
|
||||
@@ -5,6 +5,7 @@ Imports System.Activities.Expressions
|
||||
Imports System.Data
|
||||
Imports DocumentFormat.OpenXml.Office.CustomUI
|
||||
Imports Extensiones
|
||||
Imports Microsoft.Reporting.WebForms
|
||||
Partial Class Ventas_RepPedidosSTF
|
||||
Inherits ClsPaginas
|
||||
|
||||
@@ -66,6 +67,8 @@ Partial Class Ventas_RepPedidosSTF
|
||||
End Sub
|
||||
|
||||
Protected Sub CargaDatos()
|
||||
LnkImprimirPedidos.Visible = False
|
||||
|
||||
|
||||
DatosGV = New DataTable
|
||||
|
||||
@@ -97,7 +100,9 @@ Partial Class Ventas_RepPedidosSTF
|
||||
DatosGV.Columns.Add("CodigoPSOrg", GetType(String))
|
||||
|
||||
GvDatos.DataSource = DatosGV
|
||||
|
||||
If DatosGV IsNot Nothing AndAlso DatosGV.Rows.Count > 0 Then
|
||||
LnkImprimirPedidos.Visible = True
|
||||
End If
|
||||
End If
|
||||
ObjVentas.Dispose()
|
||||
GvDatos.DataBind()
|
||||
@@ -113,7 +118,17 @@ Partial Class Ventas_RepPedidosSTF
|
||||
DTProductosEdicion = New DataTable
|
||||
Dim ObjVentas As ClsVentas = New ClsVentas()
|
||||
If ObjVentas.GetPSSubProyectosVendedores(UsuarioActual.CveEmpresa) Then
|
||||
DTProductosEdicion = ObjVentas.DtResultados.FiltraParametros($" CveVendedor = {UsuarioActual.CveVendedor}")
|
||||
|
||||
|
||||
DTProductosEdicion = ObjVentas.DtResultados
|
||||
'If UsuarioActual.CveRol = 1 Then
|
||||
' DTProductosEdicion = ObjVentas.DtResultados.FiltraParametros("", "CodigoPS", {"CvePS", "CodigoPS", "Precio"})
|
||||
'Else
|
||||
' DTProductosEdicion = ObjVentas.DtResultados.FiltraParametros($" CveVendedor = {UsuarioActual.CveVendedor}")
|
||||
'End If
|
||||
|
||||
|
||||
|
||||
End If
|
||||
ObjVentas.Dispose()
|
||||
|
||||
@@ -137,7 +152,7 @@ Partial Class Ventas_RepPedidosSTF
|
||||
If e.Row.DBCampo("CveVendedor") = "" OrElse e.Row.DBCampo("CvePS") = "" Then
|
||||
Else
|
||||
|
||||
e.Row.FCDropDownList("DdlPS").DataSource = DTProductosEdicion
|
||||
e.Row.FCDropDownList("DdlPS").DataSource = DTProductosEdicion.FiltraParametros($"CveVendedor = {e.Row.DataKey("CveVendedor")}")
|
||||
e.Row.FCDropDownList("DdlPS").DataBind()
|
||||
e.Row.FCDropDownList("DdlPS").SelectedValueExist(e.Row.DBCampo("CvePS"))
|
||||
|
||||
@@ -232,6 +247,7 @@ Partial Class Ventas_RepPedidosSTF
|
||||
TmpDTRemis.Columns.Add("GastosEnvio", GetType(Decimal))
|
||||
TmpDTRemis.Columns.Add("Observacion", GetType(String))
|
||||
|
||||
|
||||
TmpDTRemis.Columns.Add("CantidadOrg", GetType(Decimal))
|
||||
TmpDTRemis.Columns.Add("CvePSOrg", GetType(Integer))
|
||||
TmpDTRemis.Columns.Add("CodigoPSOrg", GetType(String))
|
||||
@@ -256,11 +272,22 @@ Partial Class Ventas_RepPedidosSTF
|
||||
drp("CvePSOrg") = gvr.DataKey("CvePSOrg").ToEntero
|
||||
drp("CodigoPSOrg") = gvr.DataKey("CodigoPSOrg")
|
||||
|
||||
|
||||
TmpDTRemis.Rows.Add(drp)
|
||||
End If
|
||||
Next
|
||||
|
||||
|
||||
Dim DTDeriesFolio As DataTable = TmpDTRemis.FiltraParametros("", "", {"Observacion"})
|
||||
Dim Observaciones As String = ""
|
||||
Dim lista As New List(Of String)
|
||||
For Each drow As DataRow In DTDeriesFolio.Rows
|
||||
lista.Add(drow("Observacion").ToString)
|
||||
Next
|
||||
|
||||
Observaciones = String.Join(", ", lista)
|
||||
|
||||
|
||||
|
||||
If TmpDTRemis IsNot Nothing AndAlso TmpDTRemis.Rows.Count = 0 Then
|
||||
Alert("No se ha seleccionado ninguna partida, favor de seleccionar", TipoMensaje.MsgAdvertencia)
|
||||
@@ -275,7 +302,10 @@ Partial Class Ventas_RepPedidosSTF
|
||||
For Each drt As DataRow In TmpDTRemis.FiltraParametros("", DistinctColumns:={"CveCliente", "CveSubProyecto", "CveVendedor", "GastosEnvio"}).Rows
|
||||
|
||||
Dim ObjFactura As Modelos.Factura = Modelos.Factura.CrearVentaNueva(UsuarioActual, drt("CveSubProyecto").ToString.ToEntero, drt("CveCliente").ToString.ToEntero, 1, "Rem")
|
||||
|
||||
ObjFactura.CveVendedor = drt("CveVendedor").ToString.ToEntero
|
||||
ObjFactura.Observaciones = Observaciones
|
||||
|
||||
For Each dr As DataRow In TmpDTRemis.FiltraParametros($"CveCliente ={drt("CveCliente")} AND CveVendedor = {drt("CveVendedor")} AND CveSubProyecto = {drt("CveSubProyecto")}").Rows
|
||||
|
||||
If ObjFactura IsNot Nothing Then
|
||||
@@ -296,7 +326,7 @@ Partial Class Ventas_RepPedidosSTF
|
||||
TieneError = True
|
||||
Exit For
|
||||
Else
|
||||
If Not ObjA.UpdateEstatusAlmacen(dr("CveVentaDetalle").ToString.ToEntero, 0) Then
|
||||
If Not ObjA.UpdateEstatusAlmacen(dr("CveVentaDetalle").ToString.ToEntero, 1) Then
|
||||
TieneError = True
|
||||
End If
|
||||
End If
|
||||
@@ -343,4 +373,83 @@ Partial Class Ventas_RepPedidosSTF
|
||||
End If
|
||||
|
||||
End Sub
|
||||
|
||||
Protected Sub LnkImprimirPedidos_Click(sender As Object, e As EventArgs)
|
||||
|
||||
Dim FechaI As String = txtFechaI.Text
|
||||
Dim FechaF As String = txtFechaF.Text
|
||||
If txtFechaI.Text = "" Then FechaI = "-1"
|
||||
If txtFechaF.Text = "" Then FechaF = "-1"
|
||||
|
||||
Dim Sucursal As String = If(DdlSubProyecto.SelectedValue = "-1", "", $" <b>Sucursal:</b> {DdlSubProyecto.SelectedItem.Text}")
|
||||
Dim Vendedor As String = If(DdlVendedor.SelectedValue = "-1", "", $" <b>Vendedor:</b> {DdlVendedor.SelectedItem.Text}")
|
||||
|
||||
Dim FechaIn As String = If(txtFechaI.Text = "", "", $" <b>Fecha Inicio:</b> {txtFechaI.Text}")
|
||||
Dim FechaFn As String = If(txtFechaF.Text = "", "", $" <b>Fecha Fin:</b> {txtFechaF.Text}")
|
||||
|
||||
Dim TituloReporte As String = "Reporte de Pedidos"
|
||||
|
||||
If DatosGV.Rows.Count > 0 Then
|
||||
|
||||
Dim Archivo As New System.IO.FileInfo(String.Format("{0}Formatos/RepProveedorCxP.rpt", UsuarioActual.Empresa.Ruta))
|
||||
Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta))
|
||||
|
||||
Dim params As New List(Of ReportParameter)
|
||||
params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa))
|
||||
params.Add(New ReportParameter("FechaInicio", FechaI))
|
||||
params.Add(New ReportParameter("FechaFin", FechaF))
|
||||
params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre))
|
||||
params.Add(New ReportParameter("FechaImpresion", NowADS().ToDateTime.ToShortDateString))
|
||||
params.Add(New ReportParameter("TituloReporte", TituloReporte))
|
||||
params.Add(New ReportParameter("AgrupadoPor", $" {Sucursal}{Vendedor}{FechaIn}{FechaFn}"))
|
||||
|
||||
If Imagen.Exists Then ''POR EMPRESA
|
||||
params.Add(New ReportParameter("LogoPath", $"file://{Imagen.FullName}"))
|
||||
Else
|
||||
params.Add(New ReportParameter("LogoPath", ""))
|
||||
End If
|
||||
|
||||
|
||||
|
||||
ImprimirPDF("Empresas/Grales/Formatos/RepPedidos.rdlc", DatosGV, params, "ReportePedidos")
|
||||
Else
|
||||
Alert("No hay datos consultados", TipoMensaje.MsgAdvertencia)
|
||||
End If
|
||||
|
||||
End Sub
|
||||
|
||||
Protected Sub BtnEditarHorariosPedidos_Click(sender As Object, e As EventArgs)
|
||||
Dim objSisEmpresas As New ClsSisEmpresas
|
||||
If objSisEmpresas.UpdateEmpresaFuncionalidad(546, $"{TxtHorarioDe.Text}|{TxtHorarioA.Text}", UsuarioActual.CveEmpresa) Then
|
||||
If objSisEmpresas.GetEmpresasFuncionalidades(UsuarioActual.CveEmpresa) Then
|
||||
Dim dttmp As Data.DataTable = objSisEmpresas.DtResultados
|
||||
Dim EmpresasFuncionalidades As New HybridDictionary
|
||||
For Each Row As Data.DataRow In dttmp.Rows
|
||||
EmpresasFuncionalidades.Add(Convert.ToInt32(Row("CveFuncionalidad")), Row("Valor").ToString)
|
||||
Next
|
||||
UsuarioActual.Empresa.SetFuncionalidades(EmpresasFuncionalidades)
|
||||
End If
|
||||
Alert("Guardado correctamente.")
|
||||
RegistraScript("$('#divHorariosPedidos').modal('hide');")
|
||||
End If
|
||||
objSisEmpresas.Dispose()
|
||||
End Sub
|
||||
|
||||
Protected Sub BtnHorariosPedidos_Click(sender As Object, e As EventArgs)
|
||||
Dim objSisEmpresas As New ClsSisEmpresas
|
||||
If objSisEmpresas.GetEmpresasFuncionalidades(UsuarioActual.CveEmpresa) Then
|
||||
Dim dttmp As Data.DataTable = objSisEmpresas.DtResultados
|
||||
Dim EmpresasFuncionalidades As New HybridDictionary
|
||||
For Each Row As Data.DataRow In dttmp.Rows
|
||||
EmpresasFuncionalidades.Add(Convert.ToInt32(Row("CveFuncionalidad")), Row("Valor").ToString)
|
||||
Next
|
||||
UsuarioActual.Empresa.SetFuncionalidades(EmpresasFuncionalidades)
|
||||
End If
|
||||
objSisEmpresas.Dispose()
|
||||
|
||||
TxtHorarioDe.Text = UsuarioActual.Empresa.Funcionalidad(546).Split("|"c)(0)
|
||||
TxtHorarioA.Text = UsuarioActual.Empresa.Funcionalidad(546).Split("|"c)(1)
|
||||
UpBodyHorariosPedidos.Update()
|
||||
RegistraScript("$('#divHorariosPedidos').modal({ backdrop: 'static', keyboard: false});")
|
||||
End Sub
|
||||
End Class
|
||||
|
||||
@@ -242,7 +242,9 @@
|
||||
<asp:HyperLinkField ItemStyle-HorizontalAlign="Left" Target="_blank" HeaderText="Grupo" DataTextField="GPO" DataNavigateUrlFields="FechaI,FechaF,CveSubProyecto,CveCliente,CveVendedor,Grupo,GPO,CvePS,CveClasificacion,CveMarca,CveCategoria" DataNavigateUrlFormatString="RepVentasUtilidad.aspx?FechaI={0}&FechaF={1}&CveSubProyecto={2}&CveCliente={3}&CveVendedor={4}&Gpo={5}&CveGpo={6}&CvePS={7}&CveClasificacion={8}&CveMarca={9}&CveCategoria={10}" />
|
||||
<asp:BoundField ItemStyle-HorizontalAlign="Right" HeaderText="Ventas" DataField="Ventas" DataFormatString="{0:N2}" />
|
||||
<asp:BoundField ItemStyle-HorizontalAlign="Right" HeaderText="Crédito" DataField="Credito" DataFormatString="{0:N2}" />
|
||||
<asp:BoundField ItemStyle-HorizontalAlign="Right" HeaderText="% Crédito" DataField="PorcentajeCredito" ItemStyle-Width="30px" />
|
||||
<asp:BoundField ItemStyle-HorizontalAlign="Right" HeaderText="Contado" DataField="Contado" DataFormatString="{0:N2}" />
|
||||
<asp:BoundField ItemStyle-HorizontalAlign="Right" HeaderText="% Contado" DataField="PorcentajeCredito" ItemStyle-Width="30px" />
|
||||
|
||||
<asp:BoundField ItemStyle-HorizontalAlign="Right" HeaderText="%" DataField="ProcentajeVentas" DataFormatString="{0:N2}" ItemStyle-Width="30px" />
|
||||
<asp:BoundField ItemStyle-HorizontalAlign="Right" HeaderText="Descuento" DataField="Descuento" DataFormatString="{0:N2}" />
|
||||
|
||||
@@ -32,6 +32,11 @@ Partial Class Ventas_RepVentasUtilidadPadre
|
||||
|
||||
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
|
||||
If Not IsPostBack Then
|
||||
If UsuarioActual.Empresa.Funcionalidad(382) <> "1" Then
|
||||
GvDatos.Columns(3).Visible = False
|
||||
GvDatos.Columns(5).Visible = False
|
||||
End If
|
||||
|
||||
CargaCombos()
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Reference in New Issue
Block a user