This commit is contained in:
rrene
2020-10-09 14:08:20 -07:00
14 changed files with 578 additions and 185 deletions

View File

@@ -147,9 +147,7 @@
</div>
<div class="col-md-2">
<asp:TextBox ID="TxtConceptoFluctuacion" runat="server"></asp:TextBox>
</div>
</div>
</div>
</div>
@@ -230,15 +228,15 @@
<div class="row">
<div class="col-md-3 form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtConceptoCompras" Style="text-transform: uppercase;" runat="server" MaxLength="100" CssClass="form-control marginFixRow" Width="90%"></asp:TextBox>
<div class="col-md-5 form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtConceptoCompras" Style="text-transform: uppercase;" runat="server" MaxLength="100" CssClass="form-control marginFixRow" Width="96%"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVTxtConceptoCompras" runat="server" CssClass="help-block errorimput" ControlToValidate="TxtConceptoCompras"
ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Concepto''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGuardarCompras"></asp:RequiredFieldValidator>
<label for="<%= TxtConceptoCompras.ClientID.ToString()%>">Concepto:</label>
<i></i>
</div>
<div class="col-md-3 form-group form-md-line-input input-iconright">
<div class="col-md-1 form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlSubProyectoCompras" runat="server" AppendDataBoundItems="true" DataTextField="SubProyecto" DataValueField="CveSubProyecto" CssClass="form-control input-sm select2me js-referencia-programmatic marginFixRow" Width="90%" >
</asp:DropDownList>
<label for="<%= DdlSubProyectoCompras.ClientID.ToString()%>"><asp:Label runat="server" ID="LblSubProyectoCompras"></asp:Label></label>
@@ -335,7 +333,7 @@
<br />
<div class="row">
<div class="col-md-3 form-group form-md-line-input input-iconright">
<div class="col-md-5 form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtConceptoVentas" Style="text-transform: uppercase;" runat="server" MaxLength="100" CssClass="form-control " Width="90%"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVTxtConceptoVentas" runat="server" CssClass="help-block errorimput" ControlToValidate="TxtConceptoVentas"
ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Concepto''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGuardarVentas"></asp:RequiredFieldValidator>
@@ -343,7 +341,7 @@
<i></i>
</div>
<div class="col-md-3 form-group form-md-line-input input-iconright">
<div class="col-md-1 form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlsubProyectoVentas" runat="server" AppendDataBoundItems="true" DataTextField="SubProyecto" DataValueField="CveSubProyecto" CssClass="form-control input-sm select2me js-referencia-programmatic marginFixRow" Width="90%" >
</asp:DropDownList>
<label for="<%= DdlsubProyectoVentas.ClientID.ToString()%>"> <asp:Label runat="server" ID="LblSubProyectoVentas"></asp:Label> </label>
@@ -387,7 +385,7 @@
<div class="row">
<div class="col-md-3 form-group form-md-line-input input-iconright">
<div class="col-md-5 form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtConceptoBancos" Style="text-transform: uppercase;" runat="server" MaxLength="100" CssClass="form-control " Width="90%"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVTxtConceptoBancos" runat="server" CssClass="help-block errorimput" ControlToValidate="TxtConceptoBancos"
ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Concepto''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGuardarBancos"></asp:RequiredFieldValidator>
@@ -395,7 +393,7 @@
<i></i>
</div>
<div class="col-md-3 form-group form-md-line-input input-iconright">
<div class="col-md-1 form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlSubproyectoBancos" runat="server" AppendDataBoundItems="true" DataTextField="SubProyecto" DataValueField="CveSubProyecto" CssClass="form-control input-sm select2me js-referencia-programmatic marginFixRow" Width="90%" >
</asp:DropDownList>
<label for="<%= DdlSubproyectoBancos.ClientID.ToString()%>"> <asp:Label runat="server" ID="LblSubProyectoBancos"></asp:Label> </label>
@@ -445,7 +443,7 @@
<br />
<div class="row">
<div class="col-md-3 form-group form-md-line-input input-iconright">
<div class="col-md-5 form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtConceptoDeudores" Style="text-transform: uppercase;" runat="server" MaxLength="100" CssClass="form-control " Width="90%"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVTxtConceptoDeudores" runat="server" CssClass="help-block errorimput" ControlToValidate="TxtConceptoDeudores"
ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Concepto''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGuardarDeudores"></asp:RequiredFieldValidator>
@@ -453,7 +451,7 @@
<i></i>
</div>
<div class="col-md-3 form-group form-md-line-input input-iconright">
<div class="col-md-1 form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlSubProyectoDeudores" runat="server" AppendDataBoundItems="true" DataTextField="SubProyecto" DataValueField="CveSubProyecto" CssClass="form-control input-sm select2me js-referencia-programmatic marginFixRow" Width="90%" >
</asp:DropDownList>
<label for="<%= DdlSubProyectoDeudores.ClientID.ToString()%>"> <asp:Label runat="server" ID="LblSubProyectoDeudores"></asp:Label> </label>
@@ -494,7 +492,7 @@
<br />
<div class="row">
<div class="col-md-3 form-group form-md-line-input input-iconright">
<div class="col-md-5 form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtConceptoAcreedores" Style="text-transform: uppercase;" runat="server" MaxLength="100" CssClass="form-control " Width="90%"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVTxtConceptoAcreedores" runat="server" CssClass="help-block errorimput" ControlToValidate="TxtConceptoAcreedores"
ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Concepto''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGuardarAcreedores"></asp:RequiredFieldValidator>
@@ -502,7 +500,7 @@
<i></i>
</div>
<div class="col-md-3 form-group form-md-line-input input-iconright">
<div class="col-md-1 form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlSubProyectoAcreedores" runat="server" AppendDataBoundItems="true" DataTextField="SubProyecto" DataValueField="CveSubProyecto" CssClass="form-control input-sm select2me js-referencia-programmatic marginFixRow" Width="90%" >
</asp:DropDownList>
<label for="<%= DdlSubProyectoAcreedores.ClientID.ToString()%>"> <asp:Label runat="server" ID="LblSubProyectoAcreedores"></asp:Label> </label>
@@ -541,7 +539,7 @@
<br />
<div class="row">
<div class="col-md-3 form-group form-md-line-input input-iconright">
<div class="col-md-5 form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtConceptoFiliales" Style="text-transform: uppercase;" runat="server" MaxLength="100" CssClass="form-control " Width="90%"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVTxtConceptoFiliales" runat="server" CssClass="help-block errorimput" ControlToValidate="TxtConceptoFiliales"
ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Concepto''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGuardarFiliales"></asp:RequiredFieldValidator>
@@ -549,7 +547,7 @@
<i></i>
</div>
<div class="col-md-3 form-group form-md-line-input input-iconright">
<div class="col-md-1 form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlSubProyectoFiliales" runat="server" AppendDataBoundItems="true" DataTextField="SubProyecto" DataValueField="CveSubProyecto" CssClass="form-control input-sm select2me js-referencia-programmatic marginFixRow" Width="90%" >
</asp:DropDownList>
<label for="<%= DdlSubProyectoFiliales.ClientID.ToString()%>"> <asp:Label runat="server" ID="LblSubProyectoFiliales"></asp:Label> </label>

View File

@@ -1291,7 +1291,7 @@
</div>
<asp:GridView ID="GvComplementoPagos" runat="server"
DataKeyNames="CveComplementoPago,FolioFiscal,CveIE,Folio,RFCReceptor,CvePAC,Estatus"
DataKeyNames="CveComplementoPago,FolioFiscal,CveIE,Folio,RFCReceptor,CvePAC,Estatus,Tipo"
AutoGenerateColumns="False" EmptyDataText="Sin resultados" ShowHeaderWhenEmpty="true" CssClass="table table-striped table-hover Widthall ScrollAD" GridLines="None" data-sort="true">
<Columns>

View File

@@ -5678,15 +5678,31 @@ Partial Class Bancos_IE
Protected Sub GvComplementoPagos_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvComplementoPagos.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
e.Row.Cells(3).Text = String.Format("<a class="" texto"" href=""/Compras/PopUpVerFactura.aspx?P={0}"" target=""_blank""><i class="" fa fa-ad-excel""></i></a>", Encripta(String.Format("OP=CompP&EXT=xml&SerieFolio={0}&CVECOMPLEMENTOPAGO={1}&CVEIE={2}", e.Row.DBCampo("SerieFolio"), e.Row.DBCampo("CveComplementoPago"), e.Row.DBCampo("CveIE"))))
e.Row.Cells(4).Text = String.Format("<a class="" texto"" href=""/Compras/PopUpVerFactura.aspx?P={0}"" target=""_blank""><i class="" fa fa-ad-pdf""></i></a>", Encripta(String.Format("OP=CompP&EXT=pdf&SerieFolio={0}&CVECOMPLEMENTOPAGO={1}&CVEIE={2}", e.Row.DBCampo("SerieFolio"), e.Row.DBCampo("CveComplementoPago"), e.Row.DBCampo("CveIE"))))
If e.Row.DataKey("Estatus").Contiene("1", "3") Then
e.Row.FCLinkButton("LnkCancelarComplemetno").Visible = True
Else
e.Row.FCLinkButton("LnkCancelarComplemetno").Visible = False
If e.Row.DataKey("Tipo") = "Ing" Then
e.Row.Cells(3).Text = String.Format("<a class="" texto"" href=""/Compras/PopUpVerFactura.aspx?P={0}"" target=""_blank""><i class="" fa fa-ad-excel""></i></a>", Encripta(String.Format("OP=CompP&EXT=xml&SerieFolio={0}&CVECOMPLEMENTOPAGO={1}&CVEIE={2}", e.Row.DBCampo("SerieFolio"), e.Row.DBCampo("CveComplementoPago"), e.Row.DBCampo("CveIE"))))
e.Row.Cells(4).Text = String.Format("<a class="" texto"" href=""/Compras/PopUpVerFactura.aspx?P={0}"" target=""_blank""><i class="" fa fa-ad-pdf""></i></a>", Encripta(String.Format("OP=CompP&EXT=pdf&SerieFolio={0}&CVECOMPLEMENTOPAGO={1}&CVEIE={2}", e.Row.DBCampo("SerieFolio"), e.Row.DBCampo("CveComplementoPago"), e.Row.DBCampo("CveIE"))))
If e.Row.DataKey("Estatus").Contiene("1", "3") Then
e.Row.FCLinkButton("LnkCancelarComplemetno").Visible = True
Else
e.Row.FCLinkButton("LnkCancelarComplemetno").Visible = False
End If
ElseIf e.Row.DataKey("Tipo") = "Egs" Then
e.Row.Cells(3).Text = String.Format("<a class=""texto"" href=""/Compras/PopUpVerFactura.aspx?P={0}"" target=""_blank""><i class=""fa fa-ad-excel""></i></a>", Encripta(String.Format("OP=Fact&EXT=xml&CveFactura={0}&RFC={1}", e.Row.DBCampo("CveFactura"), e.Row.DBCampo(("RFCde").ToString.Replace("&", "%26%")))))
e.Row.Cells(4).Text = String.Format("<a class=""texto"" href=""/Compras/PopUpVerFactura.aspx?P={0}"" target=""_blank""><i class=""fa fa-ad-pdf""></i></a>", Encripta(String.Format("OP=Fact&EXT=pdf&CveFactura={0}&RFC={1}", e.Row.DBCampo("CveFactura"), e.Row.DBCampo("RFCde").ToString.Replace("&", "%26%"))))
GvComplementoPagos.Columns(6).Visible = False
GvComplementoPagos.Columns(7).Visible = False
GvComplementoPagos.Columns(8).Visible = False
End If
End If
End Sub

View File

@@ -106,6 +106,17 @@ public partial class Bancos_PrestamoPersonal : ClsPaginas
txtFechaF.Text = DateTime.Now.ToShortDateString();
TxtImporte.Attributes.Add("disabled", "disabled");
if(UsuarioActual.Empresa.Funcionalidad(281).ToEntero() == 1)
{
TxtFechaPrestamo.Enabled = false;
ImgCalendarioPrestamo.Visible = false;
TxtFechaDocumento.Enabled = false;
ImgCalendario.Visible = false;
}
}
}

View File

@@ -20220,24 +20220,24 @@ Partial Class Compras_Compras
' CvePSGRuposAux.AppendFormat("{0},", CvePSIndividual)
' Next
' Dim CvePSGRupos As String = Left(CvePSGRuposAux.ToString, CvePSGRuposAux.Length - 1)
Dim CvePSGRupos As String = Left(CvePSGRuposAux.ToString, CvePSGRuposAux.Length - 1)
' Dim PSSat As DataTable = GlobalDTPS(UsuarioActual.CveEmpresa).FiltraParametros(String.Format("CvePS IN ({0})", CvePSGRuposAux))
Dim PSSat As DataTable = GlobalDTPS(UsuarioActual.CveEmpresa).FiltraParametros(String.Format("CvePS IN ({0})", CvePSGRuposAux))
' Dim ProductosCodigoSATNoPermitidos As New StringBuilder("")
' For Each PS As GridViewRow In GvPS.Rows
' Dim PSIndividual As String = PS.DataKey("PS")
' Dim ClavePSSAT As String = PSSat.FiltroPrimeroValor("CveSATPS", String.Format("PS = '{0}'", PSIndividual))
' If ClavePSSAT = "46920" Then
' ProductosCodigoSATNoPermitidos.AppendFormat("{0}</br>", PSIndividual)
' End If
' Next
Dim ProductosCodigoSATNoPermitidos As New StringBuilder("")
For Each PS As GridViewRow In GvPS.Rows
Dim PSIndividual As String = PS.DataKey("PS")
Dim ClavePSSAT As String = PSSat.FiltroPrimeroValor("CveSATPS", String.Format("PS = '{0}'", PSIndividual))
If ClavePSSAT = "46920" Then
ProductosCodigoSATNoPermitidos.AppendFormat("{0}</br>", PSIndividual)
End If
Next
' If ProductosCodigoSATNoPermitidos.ToString.Length > 0 Then
' Dim mensajeAdvertencia As String = String.Format("No se permite vinculación de productos con código SAT '01010101', revise los productos:</br></br>{0}", ProductosCodigoSATNoPermitidos.ToString)
' Alert(mensajeAdvertencia, TipoMensaje.MsgAdvertencia)
' Return False
' End If
If ProductosCodigoSATNoPermitidos.ToString.Length > 0 Then
Dim mensajeAdvertencia As String = String.Format("No se permite vinculación de productos con código SAT '01010101', revise los productos:</br></br>{0}", ProductosCodigoSATNoPermitidos.ToString)
Alert(mensajeAdvertencia, TipoMensaje.MsgAdvertencia)
Return False
End If
' Return True

View File

@@ -937,7 +937,10 @@ Partial Class PopUpVerFactura
'se rellena la sucursal
'Vta.Subproyecto = ObjVentas.DtResultados.Rows(0).DataRowToObject(Of Modelos.SucursalModel)
Dim CveSubProyecto As Integer = dtVentas(0)("CveSubProyecto").ToString().ToEntero()
Vta.SubProyecto = GlobalDTSubProyectos(-1, CveSubProyecto).Rows(0).DataRowToObject(Of Modelos.SubProyectoModel)
Dim DtSubProyecto = GlobalDTSubProyectos(-1, CveSubProyecto:=CveSubProyecto, CveEmpresa:=dtVentas(0)("CveEmpresa").ToString().ToEntero())
Vta.SubProyecto = DtSubProyecto.Rows(0).DataRowToObject(Of Modelos.SubProyectoModel)
'Vta.SubProyecto = ObjVentas.DtResultados.Rows(0).DataRowToObject(Of Modelos.SubProyectoModel)
Vta.Cliente = New Modelos.ClienteModel
Vta.Cliente.Nombre = dtVentas(0)("ClienteNombre").ToString

View File

@@ -275,6 +275,7 @@ Partial Class Inventarios_EntradasSalidas
#End Region
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
If Not IsPostBack Then
CveMovimiento = -1
@@ -289,6 +290,7 @@ Partial Class Inventarios_EntradasSalidas
CreaDT()
CargaCombos()
TxtFecha.Text = Now.ToShortDateString
TxtFechaInvFisico.Text = Now.ToShortDateString
RVFecha.MaximumValue = Now.ToShortDateString
If Not UsuarioActual.CveEmpresa = 48 Then
@@ -350,7 +352,25 @@ Partial Class Inventarios_EntradasSalidas
PermisoVerImportes()
End If
If UsuarioActual.Empresa.Funcionalidad(281).ToEntero = 1 Then
TxtFecha.Enabled = False
ImgFecha.Visible = False
TxtFechaInvFisico.Enabled = False
ImgFechaInvFisico.Visible = False
UpGenerales.Update()
UpModalInventarioFisico.Update()
End If
End If
End Sub
#Region " PERMISOS PAGINAS "
@@ -927,6 +947,21 @@ Partial Class Inventarios_EntradasSalidas
'BtnGuardar.Visible = False
End If
If UsuarioActual.Empresa.Funcionalidad(281).ToEntero = 1 Then
TxtFecha.Enabled = False
ImgFecha.Visible = False
TxtFechaInvFisico.Enabled = False
ImgFechaInvFisico.Visible = False
End If
UpModalInventarioFisico.Update()
BloqueaEdicionEncabezado()
Mov.Dispose()
UpGenerales.Update()

View File

@@ -263,6 +263,14 @@ Partial Class Inventarios_EntregaAlmacen
InicializaValores()
CargaParametrosAD()
If UsuarioActual.CveEmpresa.Contiene(72, 80) Then DdlAlmacen.AutoPostBack = True
If UsuarioActual.Empresa.Funcionalidad(281).ToEntero = 1 Then
TxtFecha.Enabled = False
ImgFecha.Visible = False
End If
End If
End Sub

View File

@@ -399,6 +399,14 @@ Partial Class Inventarios_RecepcionAlmacen
CargaPermisos()
If UsuarioActual.CveEmpresa.Contiene(72, 80) Then DdlAlmacen.AutoPostBack = True
If UsuarioActual.Empresa.Funcionalidad(281).ToEntero = 1 Then
TxtFecha.Enabled = False
ImgFecha.Visible = False
End If
End If
End Sub

View File

@@ -1,116 +1,179 @@
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="RepApartados.aspx.vb" Inherits="Inventarios_RepApartados" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="E" runat="Server">
Apartados | Reporte de apartados - Detalle
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="HB" runat="Server">
<li>
<asp:LinkButton ID="LnkPdf" runat="server"> <i class="fa fa-file-pdf-o" style="font-weight:bold;"></i> PDF</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="ImgExcel" runat="server"><i class="fa fa-file-excel-o" style="font-weight:bold;"></i> Excel</asp:LinkButton>
</li>
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="HA" runat="Server">
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="C" runat="Server">
<%--FILTROS--%>
<asp:UpdatePanel runat="server">
<ContentTemplate>
<div class="portlet solid grey-cascade portlet-filter">
<div class="portlet-title portlet-filterT smalltitle">
<div class="tools">
<asp:Button ID="BtnConsultar" OnClick="BtnConsultar_Click" runat="server" Text="Consultar" ValidationGroup="GrpCargarApartados" class="btn btn-primary" />
<a href="javascript:;" class="expand"></a>
</div>
<div class="titlefiltros caption ">
<div class="row">
<div class="col-md-1" >Fecha Inicial:</div>
<div class="col-md-1">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="margin-top: -5px; padding: 5px 0px;">
<asp:TextBox ID="txtFechaI" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10" Style="width: 80px;"></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>
<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>
<div class="col-md-1" >Fecha Final:</div>
<div class="col-md-1" style="margin-left: -10px">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="margin-top: -5px; padding: 5px 0px;">
<asp:TextBox ID="txtFechaF" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10" Style="width: 80px;"></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>
<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 class="col-md-1" >Sucursal:</div>
<div class="col-md-2">
<asp:DropDownList ID="DdlSubProyectos" Width="150px" AppendDataBoundItems="true" runat="server" DataTextField="SubProyecto" DataValueField="CveSubProyecto" CssClass="form-control input-sm select2me"></asp:DropDownList>
</div>
<div class="col-md-1" >Vendedor:</div>
<div class="col-md-2">
<asp:DropDownList ID="DdlVendedor" Width="150px" runat="server" DataTextField="Vendedor" DataValueField="CveVendedor" CssClass="form-control input-sm select2me"></asp:DropDownList>
</div>
</div>
</div>
</div>
<div class="portlet-body">
<div class="row">
<div class="col-md-1">Cliente</div>
<div class="col-md-2">
<ADS:Dropdownlost CssClassDdl="select2me" ID="DdlClientesWS" data-metodo="getcliente" runat="server" DataTextField="NombreComercial" DataValueField="CveCliente" CssStyle="width:150px;"></ADS:Dropdownlost>
</div>
<div class="col-md-1">PS:</div>
<div class="col-md-2">
<ADS:Dropdownlost ID="DdlPS" AutoPostBack="false" runat="server" DataTextField="PSCodigo" DataValueField="CvePS" CssClassDdl="select2me" CssStyle="width:200px;"></ADS:Dropdownlost>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<div class="text-right">
<input type="text" id="TxtBusqueda2" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusqueda2','{0}')", GvDatos.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" />
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusqueda2','{0}')", GvDatos.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
</div>
<%--GV DATOS--%>
<asp:UpdatePanel ID="UpDatos" UpdateMode="Conditional" runat="server">
<ContentTemplate>
<asp:GridView ID="GvDatos" runat="server" data-sort="true" AutoGenerateColumns="False" EmptyDataText="No se encontraron datos con los filtros seleccionados" ToolTip="Listado de Movimientos" CssClass="Widthall table table-striped table-hover ScrollAD" GridLines="None">
<Columns>
<asp:BoundField HeaderText="Producto" DataField="GPO"/>
<asp:BoundField HeaderText="Fecha" DataField="FechaMovto" DataFormatString="{0:d}"/>
<asp:BoundField HeaderText="Unidad" DataField="UnidadMedida"/>
<asp:BoundField HeaderText="Serie" DataField="Serie"/>
<asp:BoundField HeaderText="Cantidad" DataField="Cantidad" DataFormatString="{0:#,###.##}" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField HeaderText="Importe" DataField="Importe" DataFormatString="{0:#,###.##}" ItemStyle-HorizontalAlign="Right" />
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
</asp:Content>
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="RepApartados.aspx.vb" Inherits="Inventarios_RepApartados" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="E" runat="Server">
Apartados | Reporte de apartados - Detalle
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="HB" runat="Server">
<li>
<asp:LinkButton ID="LnkPdf" runat="server"> <i class="fa fa-file-pdf-o" style="font-weight:bold;"></i> PDF</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="ImgExcel" runat="server"><i class="fa fa-file-excel-o" style="font-weight:bold;"></i> Excel</asp:LinkButton>
</li>
<li>
<asp:UpdatePanel ID="UpTraspasar" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:LinkButton ID="LnkTraspasarApartados" runat="server" Visible="false" OnClick="LnkTraspasarApartados_Click" ValidationGroup="GrpTraspasar"><i class="fa fa-exchange" style="font-weight:bold;" ></i> Traspasar Apartado</asp:LinkButton>
</ContentTemplate>
</asp:UpdatePanel>
</li>
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="HA" runat="Server">
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="C" runat="Server">
<%--FILTROS--%>
<asp:UpdatePanel runat="server">
<ContentTemplate>
<div class="portlet solid grey-cascade portlet-filter">
<div class="portlet-title portlet-filterT smalltitle">
<div class="tools">
<asp:Button ID="BtnConsultar" OnClick="BtnConsultar_Click" runat="server" Text="Consultar" ValidationGroup="GrpCargarApartados" class="btn btn-primary" />
<a href="javascript:;" class="expand"></a>
</div>
<div class="titlefiltros caption ">
<div class="row">
<div class="col-md-1">Fecha Inicial:</div>
<div class="col-md-1">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="margin-top: -5px; padding: 5px 0px;">
<asp:TextBox ID="txtFechaI" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10" Style="width: 80px;"></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>
<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>
<div class="col-md-1">Fecha Final:</div>
<div class="col-md-1" style="margin-left: -10px">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="margin-top: -5px; padding: 5px 0px;">
<asp:TextBox ID="txtFechaF" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10" Style="width: 80px;"></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>
<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 class="col-md-1">Sucursal:</div>
<div class="col-md-2">
<asp:DropDownList ID="DdlSubProyectos" Width="150px" AppendDataBoundItems="true" runat="server" DataTextField="SubProyecto" DataValueField="CveSubProyecto" CssClass="form-control input-sm select2me"></asp:DropDownList>
</div>
<div class="col-md-1">Vendedor:</div>
<div class="col-md-2">
<asp:DropDownList ID="DdlVendedor" Width="150px" runat="server" DataTextField="Vendedor" DataValueField="CveVendedor" CssClass="form-control input-sm select2me"></asp:DropDownList>
</div>
</div>
</div>
</div>
<div class="portlet-body">
<div class="row">
<div class="col-md-1">Cliente</div>
<div class="col-md-2">
<ADS:Dropdownlost CssClassDdl="select2me" ID="DdlClientesWS" data-metodo="getcliente" runat="server" DataTextField="NombreComercial" DataValueField="CveCliente" CssStyle="width:150px;"></ADS:Dropdownlost>
</div>
<div class="col-md-1">PS:</div>
<div class="col-md-2">
<ADS:Dropdownlost ID="DdlPS" AutoPostBack="false" runat="server" DataTextField="PSCodigo" DataValueField="CvePS" CssClassDdl="select2me" CssStyle="width:200px;"></ADS:Dropdownlost>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<div class="text-right">
<input type="text" id="TxtBusqueda2" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusqueda2','{0}')", GvDatos.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" />
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusqueda2','{0}')", GvDatos.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
</div>
<%--GV DATOS--%>
<div class="row">
<div class="col-md-12">
<asp:UpdatePanel ID="UpDatos" UpdateMode="Conditional" runat="server">
<ContentTemplate>
<asp:GridView ID="GvDatos" runat="server" data-sort="true" AutoGenerateColumns="False" DataKeyNames="CvePS,Serie,CveCliente,CveVendedor" EmptyDataText="No se encontraron datos con los filtros seleccionados" ToolTip="Listado de Movimientos" CssClass="Widthall table table-striped table-hover ScrollAD" GridLines="None">
<Columns>
<asp:BoundField HeaderText="Producto" DataField="GPO" />
<asp:BoundField HeaderText="Fecha" DataField="FechaMovto" DataFormatString="{0:d}" />
<asp:BoundField HeaderText="Unidad" DataField="UnidadMedida" />
<asp:BoundField HeaderText="Serie" DataField="Serie" />
<asp:BoundField HeaderText="Cantidad" DataField="Cantidad" DataFormatString="{0:#,###.##}" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField HeaderText="Importe" DataField="Importe" DataFormatString="{0:#,###.##}" ItemStyle-HorizontalAlign="Right" />
<asp:TemplateField HeaderText="Cant. Transferir" ItemStyle-HorizontalAlign="Center" ItemStyle-VerticalAlign="Middle" Visible="false">
<ItemTemplate>
<asp:TextBox ID="TxtCantidad" runat="server" CausesValidation="true" MaxLength="12" ValidationGroup="GrpTraspasar" Width="35px" Visible="false" type="number" ></asp:TextBox>
<asp:RangeValidator ID="RVCantidad" runat="server" Visible="false" Display="None" ControlToValidate="TxtCantidad" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Cantidad''</b> sobrepasa el valor permitido." MaximumValue='<%# CInt(Eval("Cantidad")) %>' MinimumValue="0" Type=" Integer" ValidationGroup="GrpTraspasar"></asp:RangeValidator>
<ajax:ValidatorCalloutExtender ID="VCECantidad" runat="server" HighlightCssClass="vco" TargetControlID="RVCantidad" PopupPosition="BottomRight" Width="300px"></ajax:ValidatorCalloutExtender>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
<div id="ModalTraspaso" 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">Traspasar Apartados</h4>
</div>
<div class="modal-body">
<asp:UpdatePanel ID="UpGenerarTraspaso" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="row">
<div class="col-md-2">Cliente:</div>
<div class="col-md-10">
<ADS:Dropdownlost CssClassDdl="select2me" ID="DdlClienteTraspasar" data-metodo="getcliente" runat="server" DataTextField="NombreComercial" DataValueField="CveCliente" CssStyle="width:100%;"></ADS:Dropdownlost>
</div>
</div>
<br />
<div class="row">
<div class="col-md-2">Almacen:</div>
<div class="col-md-10">
<asp:Literal ID="LtlAlmacen" runat="server"></asp:Literal>
</div>
</div>
<br />
<div class="row">
<div class="col-md-2">Observaciones:</div>
<div class="col-md-10">
<asp:TextBox runat="server" ID="TxtObs" TextMode="MultiLine" />
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div class="modal-footer">
<asp:UpdatePanel runat="server">
<ContentTemplate>
<asp:Button ID="BtnTraspasar" runat="server" ClientIDMode="Static" Text="Traspasar" CssClass="btn btn-primary" OnClick="BtnTraspasar_Click" />
<button type="button" class="btn btn-danger" data-dismiss="modal">Cancelar</button>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
</div>
</div>
</asp:Content>
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
</asp:Content>

View File

@@ -6,9 +6,9 @@ Imports Extensiones
Imports Microsoft.Reporting.WebForms
Partial Class Inventarios_RepApartados
Inherits ClsPaginas
Inherits ClsPaginas
#Region " PROPIEDADES "
Private Property DtApartados As DataTable
Get
@@ -17,18 +17,18 @@ Partial Class Inventarios_RepApartados
Set(value As DataTable)
ViewState("DtApartados") = value
End Set
End Property
End Property
#End Region
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
SetValues()
InicializaParam()
End If
End Sub
End Sub
#Region " SET VALUES "
Private Sub SetValues()
DdlSubProyectos.DataSource = GlobalDTSubProyectos(-1, CveEmpresa:=UsuarioActual.CveEmpresa)
@@ -42,6 +42,15 @@ Partial Class Inventarios_RepApartados
DdlClientesWS.DataSource = GlobalDTCliente(UsuarioActual.CveEmpresa, -1)
DdlClientesWS.DataBind()
DdlClientesWS.ddl.Items.Insert(0, New ListItem("Todos", "-1"))
End If
If UsuarioActual.CveEmpresa = 119 Then
DdlClienteTraspasar.setEsWebService(True)
Else
DdlClienteTraspasar.setEsWebService(False)
DdlClienteTraspasar.DataSource = GlobalDTCliente(UsuarioActual.CveEmpresa, -1)
DdlClienteTraspasar.DataBind()
DdlClienteTraspasar.ddl.Items.Insert(0, New ListItem("Todos", "-1"))
End If
Dim DTVendedores As New DataTable
@@ -68,9 +77,9 @@ Partial Class Inventarios_RepApartados
txtFechaI.Text = Now.FirstDayOfMonth.ToShortDateString
txtFechaF.Text = Now.ToShortDateString
End Sub
End Sub
#End Region
Private Sub InicializaParam()
Dim Anio, Mes, AnioMes, Fecha, FechaI, FechaF As String
Dim CveCliente, CveVendedor, CveSucursal, CvePS As String
@@ -127,7 +136,10 @@ Partial Class Inventarios_RepApartados
Else
DdlClientesWS.SelectedValue = CveCliente
DdlClientesWS.SelectedText = "Todos"
End If
End If
DdlClienteTraspasar.SelectedValue = "-1"
DdlClienteTraspasar.SelectedText = "Seleccione"
DdlVendedor.SelectedValueExist(CveVendedor)
DdlSubProyectos.SelectedValueExist(CveSucursal)
@@ -162,12 +174,18 @@ Partial Class Inventarios_RepApartados
Dim ObjInventarios As New ClsInventarios
If ObjInventarios.ApartadosRep(CveAlmacenApartado, DdlClientesWS.SelectedValue.ToEntero, DdlVendedor.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, DdlPS.SelectedValue.ToEntero, txtFechaI.Text.ToDate, txtFechaF.Text.ToDate) Then
GvDatos.DataSource = ObjInventarios.DtResultados
DtApartados = ObjInventarios.DtResultados
GvDatos.DataBind()
UpDatos.Update()
End If
ObjInventarios.Dispose()
ObjInventarios.Dispose()
GvDatos.DataSource = DtApartados
If DdlSubProyectos.SelectedValue.ToEntero() > 0 AndAlso DtApartados.COUNT("CveVendedor", $"CveVendedor={UsuarioActual.CveVendedor}") > 0 Then
GvDatos.Columns(6).Visible = True
LnkTraspasarApartados.Visible = True
End If
GvDatos.DataBind()
UpDatos.Update()
UpTraspasar.Update()
End Sub
Protected Sub GvDatos_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvDatos.RowDataBound
@@ -182,14 +200,17 @@ Partial Class Inventarios_RepApartados
End If
If e.Row.DBCampo("IDGPO").ToString.ToEntero = 3 Then
If e.Row.DBCampo("CveVendedor").ToEntero() = UsuarioActual.CveVendedor Then
e.Row.FCTextBox("TxtCantidad").Visible = True
e.Row.FCRangeValidator("RVCantidad").Visible = True
End If
End If
End If
End Sub
End Sub
#Region "PDF"
Private Sub LnkPdf_Click(sender As Object, e As EventArgs) Handles LnkPdf.Click
If DtApartados IsNot Nothing Then
Dim StrFiltro As New StringBuilder
@@ -226,7 +247,229 @@ Partial Class Inventarios_RepApartados
Private Sub ImgExcel_Click(sender As Object, e As EventArgs) Handles ImgExcel.Click
GvDatos.ExportToExcel("Reporte de Apartados" & Now.ToShortDateString)
End Sub
End Sub
#End Region
Protected Sub LnkTraspasarApartados_Click(sender As Object, e As EventArgs)
LtlAlmacen.Text = GlobalDTAlmacen(UsuarioActual.CveEmpresa, CveTipoAlmacen:=9).FiltroPrimeroValor("Almacen", $"CveSubProyecto={DdlSubProyectos.SelectedValue.ToEntero()}")
TxtObs.Text = ""
DdlClienteTraspasar.SelectedValue = "-1"
DdlClienteTraspasar.SelectedText = "Seleccione"
UpTraspasar.Update()
UpGenerarTraspaso.Update()
RegistraScript("$('#ModalTraspaso').modal('show');")
End Sub
Protected Sub BtnTraspasar_Click(sender As Object, e As EventArgs)
If DdlClienteTraspasar.SelectedValue.ToEntero() <= 0 Then
Alert("No se ha seleccionado ningun cliente", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
If Not GvDatos.Rows.Cast(Of GridViewRow).Any(Function(gvr) gvr.FCTextBox("TxtCantidad").Text.ToEntero() > 0) Then
Alert("No se ha seleccionado ningun cliente", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
Dim ErrorMovInv As Boolean = False
Dim Mensaje As StringBuilder = New StringBuilder
Dim SalidasAlmacen As New List(Of MMovimientoAlmacen)
Dim EntradasAlmacen As New List(Of MMovimientoAlmacen)
Dim ObjInventario As New ClsInventarios
ObjInventario.IniciaTransacSQL()
Try
Dim CveClienteTraspasar As Integer = DdlClienteTraspasar.SelectedValue.ToEntero()
Dim CveAlmacenApartado As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa, CveTipoAlmacen:=9).FiltroPrimeroValor("CveAlmacen", $"CveSubProyecto={DdlSubProyectos.SelectedValue.ToEntero()}").ToEntero()
Dim DtTraspaso As DataTable = CrearDTTraspasosClientes()
'SE VAN A REALIZAR LOS MOVIMIENTOS POR CADA CLIENTE CONSIDERADO
For Each Row As DataRow In DtTraspaso.FiltraParametros("", DistinctColumns:={"CveCliente", "CveVendedor"}).Rows
'SACA LOS PS A TRASPASAR
Dim DtPSTraspasar As DataTable = DtTraspaso.FiltraParametros($"CveCliente={Row("CveCliente")} AND CveVendedor={Row("CveVendedor")}")
'CUADRA LOS LOS PRODUCTOS CON LO QUE SE PUEDE DESAPARTAR
Dim DtDetalleTraspasar As DataTable = CuadrarMovimientosApartado(CveAlmacenApartado, Row("CveCliente").ToString().ToEntero(), Row("CveVendedor").ToString().ToEntero(), DtPSTraspasar, ObjInventario)
DtPSTraspasar.Dispose()
Dim MovSalida = GenerarMovimientoAlmacen(CveAlmacenApartado, 8, Row("CveVendedor").ToString().ToEntero(), Row("CveCliente").ToString().ToEntero(), -1, TxtObs.Text.Trim(), DtDetalleTraspasar, ObjInventario, "RepApar/1")
DtDetalleTraspasar.Dispose()
ErrorMovInv = MovSalida.CveMovimiento <= 0
If Not ErrorMovInv Then
SalidasAlmacen.Add(MovSalida)
Dim MovEntrada = GenerarMovimientoAlmacen(CveAlmacenApartado, 9, UsuarioActual.CveVendedor, CveClienteTraspasar, MovSalida.CveMovimiento, TxtObs.Text.Trim(), Nothing, ObjInventario, "RepApar/2")
ErrorMovInv = MovEntrada.CveMovimiento <= 0
If Not ErrorMovInv Then
EntradasAlmacen.Add(MovEntrada)
End If
End If
Next
If Not ErrorMovInv Then
Mensaje.Append("Se realizó con éxito el traspaso.")
For Each MovSalida In SalidasAlmacen
Mensaje.AppendFormat("<br/><br/> Folio de Salida: <b><a href=""/Inventarios/EntradasSalidas.aspx?CveMovimiento={1}"" target=""_blank"">{0}</a></b>", MovSalida.Folio, MovSalida.CveMovimiento)
Mensaje.AppendFormat("<br/><a target='_blank' href='/Compras/PopUpVerFactura.aspx?P={0}'>Imprimir Reporte</a>", Encripta(String.Format("OP=Alm&CveMovimiento={0}", MovSalida.CveMovimiento)))
Next
For Each MovEntrada In EntradasAlmacen
Mensaje.AppendFormat("<br/><br/> Folio de Entrada: <b><a href=""/Inventarios/EntradasSalidas.aspx?CveMovimiento={1}"" target=""_blank"">{0}</a></b>", MovEntrada.Folio, MovEntrada.CveMovimiento)
Mensaje.AppendFormat("<br/><a target='_blank' href='/Compras/PopUpVerFactura.aspx?P={0}'>Imprimir Reporte</a>", Encripta(String.Format("OP=Alm&CveMovimiento={0}", MovEntrada.CveMovimiento)))
Next
End If
RegistraScript("$('#ModalTraspaso').modal('hide');")
Alert(Mensaje.ToString(), If(ErrorMovInv, TipoMensaje.MsgError, TipoMensaje.MsgInformacion))
Catch ex As Exception
ErrorMovInv = True
OnError("Ocurrió un error al realizar el traspaso", ex)
End Try
If ErrorMovInv Then
ObjInventario.RollBack()
Else
ObjInventario.Commit()
End If
ObjInventario.Dispose()
CargaDatos()
End Sub
Private Function CuadrarMovimientosApartado(CveAlmacenApartado As Integer, CveCliente As Integer, CveVendedor As Integer, DtPSTraspasar As DataTable, ByRef ObjInventarios As ClsInventarios) As DataTable
Dim DtRetorno As DataTable = Nothing
Dim DtDesapartado As DataTable = Nothing
If ObjInventarios.DesapartadosGet(CveAlmacenApartado, CveCliente, CveVendedor, UsuarioActual.CveEmpresa) Then
DtDesapartado = ObjInventarios.DtResultados.Copy()
DtRetorno = DtDesapartado.Clone()
End If
If DtRetorno IsNot Nothing Then
For Each RowCantidad As DataRow In DtPSTraspasar.Rows
Dim Filtro As New StringBuilder
Filtro.AppendFormat("CvePS={0}", RowCantidad("CvePS"))
'SI TIENE SERIE LA AGREGA AL FILTRO
If Not String.IsNullOrEmpty(RowCantidad("Serie").ToString()) Then
Filtro.AppendFormat("AND Serie='{0}'", RowCantidad("Serie"))
Else
Filtro.AppendFormat("AND ISNULL(Serie,'') = ''")
End If
Dim RowDesapartado As DataRow = DtDesapartado.Select(Filtro.ToString()).FirstOrDefault()
RowDesapartado("Cantidad") = RowCantidad("Cantidad")
DtRetorno.Rows.Add(RowDesapartado.ItemArray)
Next
End If
Return DtRetorno
End Function
Private Function CrearDTTraspasosClientes() As DataTable
Dim Dt As New DataTable
Dt.Columns.Add(New DataColumn("Cantidad", GetType(Integer)))
Dt.Columns.Add(New DataColumn("CvePS", GetType(Integer)))
Dt.Columns.Add(New DataColumn("Serie", GetType(String)))
Dt.Columns.Add(New DataColumn("CveCliente", GetType(Integer)))
Dt.Columns.Add(New DataColumn("CveVendedor", GetType(Integer)))
For Each GvRow As GridViewRow In GvDatos.Rows.Cast(Of GridViewRow).Where(Function(gvr) gvr.FCTextBox("TxtCantidad").Text.ToEntero() > 0)
Dim Row As DataRow = Dt.NewRow
Row("Cantidad") = GvRow.FCTextBox("TxtCantidad").Text.ToEntero()
Row("CvePS") = GvRow.DataKey("CvePS").ToEntero()
Row("Serie") = GvRow.DataKey("Serie")
Row("CveCliente") = GvRow.DataKey("CveCliente").ToEntero()
Row("CveVendedor") = GvRow.DataKey("CveVendedor").ToEntero()
Dt.Rows.Add(Row)
Next
Return Dt
End Function
Private Function GenerarMovimientoAlmacen(CveAlmacen As Integer, CveConceptoAlmacen As Integer, CveVendedor As Integer, CveCliente As Integer, CveMovimientoRelacionado As Integer, Obs As String, DtDetalle As DataTable, ObjInventario As ClsInventarios, Modulo As String) As MMovimientoAlmacen
Dim ErrorMovInv As Boolean = False
Dim Retorno As New MMovimientoAlmacen
Dim CveMovimiento As Integer = -1
Dim Folio As Integer = -1
CveMovimiento = ObjInventario.AddMovimiento(CveAlmacen, CveConceptoAlmacen, 1, Now, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1,
-1, -1, -1, Observaciones:=Obs,
MovimientoFijo:=True, CveMovimientoRelacionado:=CveMovimientoRelacionado, CveVendedor:=CveVendedor, CveCliente:=CveCliente, Modulo:=Modulo)
Folio = ObjInventario.Folio
If Not CveMovimiento > 0 Then
ErrorMovInv = True
End If
'SI ES MOVIMIENTO DE SALIDA TOMA DE LA TABLA DONDE SE CUADRARON LOS MOVIMIENTOS
If Not ErrorMovInv AndAlso DtDetalle IsNot Nothing AndAlso CveMovimientoRelacionado <= 0 AndAlso CveConceptoAlmacen = 8 Then
For Each Dr As DataRow In DtDetalle.Rows
If Not ObjInventario.AddMovimientoDetalle(CveMovimiento, Dr("Cantidad").ToString().ToEntero(), Dr("CveUM").ToString().ToEntero(), Dr("CvePS").ToString().ToEntero(), Dr("PU").ToString().ToDecimal(), -1, CveSeccionAlmacen:=Dr("CveSeccionAlmacen").ToString().ToEntero(), Serie:=Dr("Serie").ToString(), Lote:=Dr("Lote").ToString(), FechaCaducidad:=Dr("FechaCaducidad").ToString.ToDate, CveMovimientoDetalleEntrada:=Dr("CveMovimientoDetalle").ToString.ToEntero) Then
ErrorMovInv = True
Exit For
End If
Next
'SI ES MOVIMIENTO DE ENTRADA TOMA LOS DATOS DEL MOVIMIENTO DE SALIDA
ElseIf Not ErrorMovInv AndAlso DtDetalle Is Nothing AndAlso CveMovimientoRelacionado > 0 AndAlso CveConceptoAlmacen = 9 Then
Dim DtMovimientoDetalle As DataTable = Nothing
If ObjInventario.GetMovimientosDetalle(CveMovimientoRelacionado, UsuarioActual.CveEmpresa) Then
DtMovimientoDetalle = ObjInventario.DtResultados.Copy()
Else
ErrorMovInv = True
End If
If Not ErrorMovInv AndAlso DtMovimientoDetalle IsNot Nothing Then
For Each Dr As DataRow In DtMovimientoDetalle.Rows
If Not ObjInventario.AddMovimientoDetalle(CveMovimiento, Dr("Cantidad").ToString.ToDouble, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("PU").ToString.ToDecimal, CveAF:=Dr("CveAF").ToString.ToEntero, CveSeccionAlmacen:=Dr("CveSeccionAlmacen").ToString().ToEntero(), Serie:=Dr("Serie").ToString, Lote:=Dr("Lote").ToString, FechaCaducidad:=Dr("FechaCaducidad").ToString.ToDate, CveMovimientoDetalleEntrada:=Dr("CveMovimientoDetalle").ToString.ToEntero) Then
ErrorMovInv = True
Exit For
End If
Next
End If
DtMovimientoDetalle.Dispose()
End If
If Not ErrorMovInv Then
Retorno.CveMovimiento = CveMovimiento
Retorno.Folio = Folio
Retorno.CveConcepto = CveConceptoAlmacen
End If
Return Retorno
End Function
End Class
Public Class MMovimientoAlmacen
Public Property CveMovimiento As Integer
Public Property Folio As Integer
Public Property CveConcepto As Integer
End Class

View File

@@ -228,6 +228,18 @@ Partial Class Inventarios_TraspasoAlmacen
TipoSeccionAlmacen = 0
If UsuarioActual.Empresa.Funcionalidad(281).ToEntero = 1 Then
TxtFecha.Enabled = False
ImgFecha.Visible = False
TxtFechaRecepcion.Enabled = False
ImgFechaRecepcion.Visible = False
End If
Else
If ChkTransitorio.Checked Then
RegistraScript("$('#DivTransitorio').show(0);$('#DivGastoIndirecto').show(0);$('#DivDocChofer').show(0);")

View File

@@ -81,12 +81,8 @@ Partial Class CatSubProyectos
End If
End Sub
Private Sub RecargaGlobal()
Dim ObjSubProyectos As New ClsSubProyectos
If ObjSubProyectos.GetSubProyectos(UsuarioActual.CveEmpresa) Then
GlobalDTSubProyectos(-1, CveEmpresa:=UsuarioActual.CveEmpresa) = ObjSubProyectos.DtResultados
End If
ObjSubProyectos.Dispose()
Private Sub RecargaGlobal()
GlobalDTSubProyectos(-1, CveEmpresa:=UsuarioActual.CveEmpresa) = Nothing
End Sub
#Region "O R D E N A M I E N T O"

View File

@@ -5263,7 +5263,7 @@ Partial Class Ventas
DdlSucursalCliente.DataBind()
'SI UTILIZA EL RFC GENERICO PERMITE FACTURAR SUCURSAL
If (CveVenta <= 0 OrElse NuevaFactura = 1) AndAlso LblRFC.Text.Trim() = "XAXX010101000" Then
If (Not UsuarioActual.CveEmpresa.Contiene(141)) AndAlso (CveVenta <= 0 OrElse NuevaFactura = 1) AndAlso LblRFC.Text.Trim() = "XAXX010101000" Then
HabilitarFacturacionSucursal()
End If
@@ -5663,7 +5663,7 @@ Partial Class Ventas
End If
'SI EL CLIENTE TIENE RFC GENERICO Y LA SUCURSAL TIENE RFC DEBE FACTURAR LA SUCURSAL
If LblRFC.Text.Trim() = "XAXX010101000" AndAlso Not String.IsNullOrEmpty(ObjCliente.DtResultados.Rows(0)("RFC").ToString()) Then
If (Not UsuarioActual.CveEmpresa.Contiene(141)) AndAlso LblRFC.Text.Trim() = "XAXX010101000" AndAlso Not String.IsNullOrEmpty(ObjCliente.DtResultados.Rows(0)("RFC").ToString()) Then
Me.FacturarSucursal = True
LtlTitleRFCSucursal.Text = "RFC:"