--merge cobranza y ventas

This commit is contained in:
2025-02-11 18:51:17 -07:00
35 changed files with 2782 additions and 11446 deletions

View File

@@ -6404,27 +6404,6 @@ Public Class ClsInventarios
Return Retorno
End Function
Public Function ReplicarMovtoEmpresa(CveEmpresa As Integer, CveMovimiento As Integer, Optional CveMovimientoSecundario As Integer = -1) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Inv_ReplicaMovtoInterEmpresa")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@CveMovimiento", SqlDbType.Int).Value = CveMovimiento
.Add("@CveMovimientoSecundario", SqlDbType.Int).Value = CveMovimientoSecundario
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al replicar el movimiento.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
Return Retorno
End Function
#Region " IDisposable Support "
' IDisposable
Protected Overridable Sub Dispose(ByVal disposing As Boolean)

View File

@@ -2726,30 +2726,6 @@ Public Class ClsNominas
End Try
Return retorno
End Function
Public Function ReporteVacacionesCalendario(CveProyecto As Integer, CveSubProyecto As Integer, cveEmpresa As Integer, fechaInicio As String, fechaFin As String) As Boolean
Dim retorno As Boolean = False
Try
DTSet = New DataSet()
DataAdapter("PA_Nom_ReporteVacacionesCalendario", CommandType.StoredProcedure)
SqlAdapter.SelectCommand.CommandTimeout = 2400
With SqlAdapter.SelectCommand.Parameters
.Add("@CveProyecto", SqlDbType.Int).Value = CveProyecto
.Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto
.Add("@CveEmpresa", SqlDbType.Int).Value = cveEmpresa
.Add("@FechaInicio", SqlDbType.Date).Value = fechaInicio
.Add("@FechaFin", SqlDbType.Date).Value = fechaFin
End With
SqlAdapter.Fill(DTSet)
retorno = True
Catch sqEx As SqlException
retorno = False
OnError("Ocurrió un error al realizar el reporte de vacaciones.", sqEx, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
Catch ex As Exception
retorno = False
OnError("Ocurrió un error al realizar el reporte de vacaciones.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return retorno
End Function
Public Function GetNominasSinTimbrar(CvePeriodo As Integer, CveEmpresa As Integer) As Boolean
Dim retorno As Boolean = False
Try

View File

@@ -7738,8 +7738,8 @@ Public Class ClsPaginas
If Not RutaReporte.ToUpper().StartsWith(bdir.ToUpper()) Then
RutaReporte = String.Format("{0}{1}", bdir, RutaReporte)
End If
'Dim urlHost As String = "http://sig.adssistemas.mx:7998/"
Dim urlHost As String = "http://localhost:2202/"
Dim urlHost As String = "http://sig.adssistemas.mx:7998/"
'Dim urlHost As String = "http://localhost:2202/"
If EsProduccion Then
urlHost = "http://192.200.113.178:6599/"
End If

View File

@@ -2481,36 +2481,34 @@ Public Class ClsVentas
'End Function
#Region " PROMOCIONES "
Public Function GetPromociones(CvePromocion As Integer, Fecha As Date, CveVendedor As Integer, CveCliente As Integer, Estatus As Integer, CveEmpresa As Integer,
CveSubProyecto As Integer, Optional CveMarca As Integer = -1, Optional CveUsuario As Integer = -1, Optional CvePS As Integer = -1) As Boolean
CveSubProyecto As Integer, Optional CveMarca As Integer = -1, Optional CveUsuario As Integer = -1, Optional CvePS As Integer = -1) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Vta_PromocionesGet")
Dim Retorno As Boolean = False
DataAdapter("PA_Vta_PromocionesGet")
With SqlAdapter.SelectCommand.Parameters
.Add("@CvePromocion", SqlDbType.Int).Value = CvePromocion
.Add("@Fecha", SqlDbType.Date).Value = Fecha
.Add("@Estatus", SqlDbType.Int).Value = Estatus
.Add("@CveVendedor", SqlDbType.Int).Value = CveVendedor
.Add("@CveCliente", SqlDbType.Int).Value = CveCliente
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto
.Add("@CveMarca", SqlDbType.Int).Value = CveMarca
.Add("@CveUsuarioConsulta", SqlDbType.Int).Value = CveUsuario
.Add("@CvePS", SqlDbType.Int).Value = CvePS
End With
With SqlAdapter.SelectCommand.Parameters
.Add("@CvePromocion", SqlDbType.Int).Value = CvePromocion
.Add("@Fecha", SqlDbType.Date).Value = Fecha
.Add("@Estatus", SqlDbType.Int).Value = Estatus
.Add("@CveVendedor", SqlDbType.Int).Value = CveVendedor
.Add("@CveCliente", SqlDbType.Int).Value = CveCliente
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto
.Add("@CveMarca", SqlDbType.Int).Value = CveMarca
.Add("@CveUsuarioConsulta", SqlDbType.Int).Value = CveUsuario
.Add("@CvePS", SqlDbType.Int).Value = CvePS
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al obtener las Promociones.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
Return Retorno
End Function
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al obtener las Promociones.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
Return Retorno
End Function
Public Function AddPromociones(Promocion As String, FechaInicio As Date, FechaFin As Date, CveVendedor As Integer, CveCliente As Integer, Estatus As Boolean,
CveMoneda As Integer, CveUsuario As Integer, CveEmpresa As Integer, CveSubProyecto As Integer, TipoAplicacion As String,
Optional CveMarca As Integer = -1, Optional EsDistribuidor As Integer = -1, Optional ReqAutorizacion As Boolean = False) As Integer
@@ -2613,29 +2611,26 @@ Public Class ClsVentas
Return Retorno
End Function
Public Function UpdatePromocionEstatus(CvePromocion As Integer, Estatus As Boolean, CveUsuario As Integer, CveEmpresa As Integer) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Vta_PromocionEstatusUpdate")
Public Function UpdatePromocionEstatus(CvePromocion As Integer, Estatus As Boolean, CveUsuario As Integer, CveEmpresa As Integer) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Vta_PromocionEstatusUpdate")
With SqlAdapter.SelectCommand.Parameters
.Add("@CvePromocion", SqlDbType.Float).Value = CvePromocion
.Add("@Estatus", SqlDbType.Bit).Value = Estatus
.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al actualizar el estatus la Promoción.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
Return Retorno
End Function
With SqlAdapter.SelectCommand.Parameters
.Add("@CvePromocion", SqlDbType.Float).Value = CvePromocion
.Add("@Estatus", SqlDbType.Bit).Value = Estatus
.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al actualizar el estatus la Promoción.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
Return Retorno
End Function
Public Function RemovePromociones(CvePromocion As Integer, CveEmpresa As Integer) As Boolean
Dim Retorno As Boolean = False
@@ -3293,36 +3288,34 @@ Public Class ClsVentas
Return Retorno
End Function
Public Function GetRepRemisionesSinFacturar(FechaI As String, FechaF As String, FechaV As String, CveSubProyecto As String, CveCliente As Integer, CveContrato As Integer, CveVendedor As String, CveEmpresa As Integer,
Optional CveUsuarioConsulta As Integer = -1, Optional ConsultaInventario As Boolean = False, Optional PrimerProducto As Boolean = False) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Vta_RepRemisionesGet")
Dim Retorno As Boolean = False
DataAdapter("PA_Vta_RepRemisionesGet")
With SqlAdapter.SelectCommand.Parameters
.Add("@FechaI", SqlDbType.VarChar).Value = FechaI
.Add("@FechaF", SqlDbType.VarChar).Value = FechaF
.Add("@FechaV", SqlDbType.VarChar).Value = FechaV
.Add("@CveSubProyecto", SqlDbType.VarChar).Value = CveSubProyecto
.Add("@CveCliente", SqlDbType.Int).Value = CveCliente
.Add("@CveContrato", SqlDbType.Int).Value = CveContrato
.Add("@CveVendedor", SqlDbType.VarChar).Value = CveVendedor
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@CveUsuarioConsulta", SqlDbType.Int).Value = CveUsuarioConsulta
.Add("@ConsultaInventario", SqlDbType.Bit).Value = ConsultaInventario
.Add("@PrimerProducto", SqlDbType.Bit).Value = PrimerProducto
End With
With SqlAdapter.SelectCommand.Parameters
.Add("@FechaI", SqlDbType.VarChar).Value = FechaI
.Add("@FechaF", SqlDbType.VarChar).Value = FechaF
.Add("@FechaV", SqlDbType.VarChar).Value = FechaV
.Add("@CveSubProyecto", SqlDbType.VarChar).Value = CveSubProyecto
.Add("@CveCliente", SqlDbType.Int).Value = CveCliente
.Add("@CveContrato", SqlDbType.Int).Value = CveContrato
.Add("@CveVendedor", SqlDbType.VarChar).Value = CveVendedor
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@CveUsuarioConsulta", SqlDbType.Int).Value = CveUsuarioConsulta
.Add("@ConsultaInventario", SqlDbType.Bit).Value = ConsultaInventario
.Add("@PrimerProducto", SqlDbType.Bit).Value = PrimerProducto
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al obtener las remisiones sin facturar.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
Return Retorno
End Function
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al obtener las remisiones sin facturar.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
Return Retorno
End Function
Public Function GetRepRemisionesSinFacturarDetalle(FechaI As String, FechaF As String, FechaV As String, CveCliente As Integer, CveContrato As Integer, CveVenta As Integer, CveEmpresa As Integer, CveSubProyecto As String, Optional CveUsuarioConsulta As Integer = -1, Optional ConsultaInventario As Boolean = False) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Vta_RepRemisionesDetalleGet")
@@ -7601,6 +7594,7 @@ Public Class ClsVentas
#End Region
Public Function GetRepVentasBiosistemas(CveEmpresa As Integer, Opcion As Integer) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Vta_VentasBiosistemasGetRep")
@@ -7621,28 +7615,28 @@ Public Class ClsVentas
End Function
Public Function GetSabanaE189(CveEmpresa As Integer, FechaInicio As Date, FechaFin As Date, CveProveedor As Integer, CodigoPSInicio As String, CodigoPSFin As String) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Vta_VentasSabanaDatos")
Public Function GetSabanaE189(CveEmpresa As Integer, FechaInicio As Date, FechaFin As Date, CveProveedor As Integer, CodigoPSInicio As String, CodigoPSFin As String) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Vta_VentasSabanaDatos")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@FechaInicio", SqlDbType.Date).Value = FechaInicio
.Add("@FechaFin", SqlDbType.Date).Value = FechaFin
.Add("@CveProveedor", SqlDbType.Int).Value = CveProveedor
.Add("@CodigoProductoI", SqlDbType.VarChar).Value = CodigoPSInicio
.Add("@CodigoProductoF", SqlDbType.VarChar).Value = CodigoPSFin
End With
With SqlAdapter.SelectCommand.Parameters
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@FechaInicio", SqlDbType.Date).Value = FechaInicio
.Add("@FechaFin", SqlDbType.Date).Value = FechaFin
.Add("@CveProveedor", SqlDbType.Int).Value = CveProveedor
.Add("@CodigoProductoI", SqlDbType.VarChar).Value = CodigoPSInicio
.Add("@CodigoProductoF", SqlDbType.VarChar).Value = CodigoPSFin
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al obtener los datos de la Venta.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al obtener los datos de la Venta.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
Return Retorno
End Function
Return Retorno
End Function
#Region "IDisposable Support"

View File

@@ -3541,11 +3541,6 @@ Namespace Modelos
Pago.AplicaTraslado = False
Pago.Referencia = Concepto
If DtVentasNC.Columns.Contains("CveIE") Then
Dim CveIEVenta As Integer = Dr("CveIE").ToString().ToEntero()
Pago.CveIE = CveIEVenta
End If
ErrorPrepoliza = ClsPaginas.AplicaPrePolizaPagoVenta(ventaRef, Pago, ObjFactura.CvePrePoliza, ObjConta)
If Not ErrorPrepoliza AndAlso ObjFactura.CveTipoAmortizacionAnticipo = 2 AndAlso ObjFactura.EsNCAmortizacion AndAlso ObjFactura.TipoDocto.Contiene("Egs") AndAlso ObjFactura.DtAnticiposAplicados IsNot Nothing Then

View File

@@ -85,6 +85,9 @@ Partial Class Bancos_DepositosCaja
DivRowCuenta.Visible = False
DivDescuentocheck.Visible = False
End If
If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then
DivRowCuenta.Visible = True
End If
End If
If UsuarioActual.CveEmpresa.Contiene(140, 141) Then divTipoPago.Visible = False : divTipoPago1.Visible = False

View File

@@ -1496,8 +1496,22 @@
</div>
<div class="tools">
<table width="325px">
<table width="525px">
<tr>
<td>
<div id="DivAlmacenDev" runat="server" visible="false" class="row">
<div class="col-md-12">
<table width="175px">
<tr>
<td width="50px">Almacen:</td>
<td width="125px">
<asp:DropDownList ID="DdlAlmacenDevolucion" Style="width: 100%" AutoPostBack="true" runat="server" CssClass="form-control input-sm select2me " DataTextField="Almacen" DataValueField="CveAlmacen"></asp:DropDownList>
</td>
</tr>
</table>
</div>
</div>
</td>
<td width="50px">Compra:</td>
<td width="250px">
<asp:DropDownList ID="DDLDevolucion" Style="width: 100%" AutoPostBack="true" runat="server" CssClass="form-control input-sm select2me " DataTextField="Compra" DataValueField="CveCompra"></asp:DropDownList>
@@ -1510,30 +1524,16 @@
</div>
</div>
<div class="portlet-body">
<div id="DivAlmacenDev" runat="server" visible="false" class="row">
<div class="col-md-12">
<table width="325px">
<tr>
<td width="50px">Almacen:</td>
<td width="250px">
<asp:DropDownList ID="DdlAlmacenDevolucion" Style="width: 100%" AutoPostBack="true" runat="server" CssClass="form-control input-sm select2me " DataTextField="Almacen" DataValueField="CveAlmacen"></asp:DropDownList>
</td>
</tr>
</table>
</div>
</div>
<br />
<asp:GridView ID="GVDevolucion" runat="server" DataKeyNames="CveMovimientoDetalle,CveAlmacen,Total,PU,Cantidad,CvePS,CveUM,UM,CveClasificacion,Clasificacion,PS,CveTipoPS,PUExtranjero" ShowFooter="true" GridLines="None" AutoGenerateColumns="false" EmptyDataText="Aun no hay registros." ShowHeaderWhenEmpty="True" Width="100%" CssClass="table table-striped table-hover Widthall">
<asp:GridView ID="GVDevolucion" runat="server" DataKeyNames="CveMovimientoDetalle,CveAlmacen,Total,PU,Cantidad,CvePS,CveUM,UM,CveClasificacion,Clasificacion,CodigoPS,CveTipoPS,PUExtranjero" ShowFooter="true" GridLines="None" AutoGenerateColumns="false" EmptyDataText="Aun no hay registros." ShowHeaderWhenEmpty="True" Width="100%" CssClass="table table-striped table-hover Widthall">
<Columns>
<asp:TemplateField HeaderText="Cantidad" ItemStyle-Width="60px" ItemStyle-HorizontalAlign="Right">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("Cantidad", "{0:#,##0.####}")%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField HeaderText="Unidad" DataField="UM" ItemStyle-Width="80px" />
<asp:BoundField ItemStyle-Width="400px" HeaderText="Producto o Servicio" DataField="CodigoPS" />
<asp:TemplateField ItemStyle-Width="80px" HeaderText="P.U." ItemStyle-HorizontalAlign="Right">
<asp:BoundField HeaderText="Unidad" DataField="UM" ItemStyle-Width="70px" />
<asp:BoundField HeaderText="Producto" DataField="CodigoPS" />
<asp:TemplateField ItemStyle-Width="85px" HeaderText="P.U." ItemStyle-HorizontalAlign="Right">
<ItemTemplate>
<asp:Label Text='<%# Eval("PU", "{0:#,##0.####}")%>' runat="server"></asp:Label>
</ItemTemplate>
@@ -1541,7 +1541,7 @@
<label>Total</label>
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-Width="80px" HeaderText="Devolución">
<asp:TemplateField ItemStyle-Width="85px" HeaderText="Devolución">
<ItemTemplate>
<asp:TextBox ID="TxtCantidad" Width="50" Mask="999,999.99" min="0" data-max='<%# Eval("Cantidad")%>' data-pu='<%# Eval("PU")%>' type="number" step="any" data-Devolucion="devrow" runat="server"></asp:TextBox>
</ItemTemplate>
@@ -1549,7 +1549,7 @@
<asp:TextBox ID="TxtTotal" Width="50" runat="server" Mask="999,999.99" data-Devolucion="devtotal" disabled></asp:TextBox>
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-Width="80px" HeaderText="">
<asp:TemplateField ItemStyle-Width="85px" HeaderText="">
<ItemTemplate>
<asp:TextBox ID="TxtTotalDevolucion" CssClass="devTotal TextBoxAsLabel" runat="server" Text="" disabled></asp:TextBox>
</ItemTemplate>

File diff suppressed because it is too large Load Diff

View File

@@ -3163,7 +3163,7 @@ Partial Class PopUpVerFactura
If UsuarioActual.CveEmpresa.Contiene(4, 145) Then
params.Add(New ReportParameter("FacturadoA", If(CveCompra > 0, dr("RazonSocial").ToString, "")))
End If
If UsuarioActual.CveEmpresa.Contiene(119, 199, 201) Then
If UsuarioActual.CveEmpresa = 119 Then
params.Add(New ReportParameter("LogoPath", RutaImagenLogo))
params.Add(New ReportParameter("RazonSocialOC", RazonSocialOC))
@@ -3181,7 +3181,7 @@ Partial Class PopUpVerFactura
If CveConcepto = 33 Then ConceptoFormato = "ENTRADA MANUAL"
'IMPRESION ESPECIAL SALIDA DE COMPUPROVEEDORES y VSH
If UsuarioActual.CveEmpresa.Contiene(72, 80, 119, 4, 145, 146, 186, 193, 189, 199, 201) Then
If UsuarioActual.CveEmpresa.Contiene(72, 80, 119, 4, 145, 146, 186, 193, 189) Then
params.Add(New ReportParameter("Empresa", UsuarioActual.Empresa.Empresa))
params.Add(New ReportParameter("Concepto", ConceptoFormato))
params.Add(New ReportParameter("Almacen", Almacen))
@@ -3273,8 +3273,6 @@ Partial Class PopUpVerFactura
ImprimirPDF(String.Format("{0}Formatos/Entradas.rdlc", UsuarioActual.Empresa.Ruta), DtMovimientos, params, String.Format("Entrada de Almacen - {0}", Folio.ToString), RDSName:="DsInventarios")
Else
params.Add(New ReportParameter("TipoDocumento", String.Format("Compras {0}", Almacen)))
params.Add(New ReportParameter("Fecha", If(CveCompra > 0, dr("Fecha").ToString.ToDate.ToShortDateString, "")))
params.Add(New ReportParameter("Folio", Folio.ToString))
@@ -3394,7 +3392,7 @@ Partial Class PopUpVerFactura
If Archivo.Exists Then
'IMPRESION ESPECIAL SALIDA DE COMPUPROVEEDORES y VSH
If UsuarioActual.CveEmpresa.Contiene(1, 72, 80, 119, 4, 145, 146, 186, 199, 201) Then
If UsuarioActual.CveEmpresa.Contiene(1, 72, 80, 119, 4, 145, 146, 186) Then
Dim CiudadSucursal As String = ""
Dim DomicilioSucursal As String = ""
Dim DomicilioCliente As String = String.Format("{0} #{1}, {2}, Col. {3}, CP: {4}, {5}, {6}", DtMovimientos(0)("SucClienteDireccion").ToString, DtMovimientos(0)("SucClienteNoExt").ToString, DtMovimientos(0)("SucClienteNoInt").ToString, DtMovimientos(0)("SucClienteColonia"), DtMovimientos(0)("SucClienteCP").ToString, DtMovimientos(0)("SucClienteCiudad"), DtMovimientos(0)("SucClientePais").ToString)
@@ -4201,7 +4199,7 @@ Partial Class PopUpVerFactura
Dim dr As DataRow = ObjCompra.DtResultados.Rows(0)
Dim FechaCompra As Date = dr("FechaMovto").ToString.ToDate
Dim FechaVencimiento As Date = dr("FechaVencimiento").ToString.ToDate
params.Add(New ReportParameter("Fecha", FechaCompra.ToShortDateString))
params.Add(New ReportParameter("FechaVencimiento", FechaVencimiento.ToShortDateString))
params.Add(New ReportParameter("Plazo", DateDiff(DateInterval.Day, FechaCompra, FechaVencimiento).ToString))
'params.Add(New ReportParameter("Folio", Folio.ToString))
@@ -4222,33 +4220,9 @@ Partial Class PopUpVerFactura
params.Add(New ReportParameter("Total", dr("Total").ToString.FormatoNumero(2)))
params.Add(New ReportParameter("TotalLetra", String.Format("({0})", dr("Total").ToString.ToDecimal.Texto2Letras(dr("CveMoneda").ToString.ToEntero).ToUpper)))
params.Add(New ReportParameter("Observaciones", dr("Observaciones").ToString))
params.Add(New ReportParameter("Capturo", dr("NombreCapturo").ToString))
If UsuarioActual.CveEmpresa.Contiene(189) Then
params.Add(New ReportParameter("Concepto", "DEVOLUCIÓN A PROVEEDOR"))
params.Add(New ReportParameter("Observaciones", Observaciones))
params.Add(New ReportParameter("TelefonoProveedor", If(CveCompra > 0, dr("Telefono").ToString, "")))
params.Add(New ReportParameter("ContactoProveedor", If(CveCompra > 0, dr("ContactoNombre").ToString, "")))
params.Add(New ReportParameter("FechaFactura", If(CveCompra > 0, dr("Fecha").ToString.ToDate().ToString("dd/MM/yyyy"), "")))
params.Add(New ReportParameter("SerieFolio", If(CveCompra > 0, dr("SerieFolio").ToString, "")))
params.Add(New ReportParameter("Moneda", If(CveCompra > 0, dr("Moneda").ToString, "")))
params.Add(New ReportParameter("Condicion", If(CveCompra > 0, (((dr("FechaVencimiento").ToString.ToDate - dr("Fecha").ToString.ToDate)).TotalDays).ToString, "")))
params.Add(New ReportParameter("Saldo", If(CveCompra > 0, dr("Saldo").ToString.ToDouble.FormatoNumero(2), "")))
params.Add(New ReportParameter("NumeroOrden", If(CveCompra > 0, dr("OCSerieFolioVinculada").ToString, "")))
Dim Fecha2 As String = String.Format("{0} {1}", FechaHora.ToDate.ToString("dd/MM/yyyy"), FechaHora.ToDateTime.ToString("HH:mm:ss"))
params.Add(New ReportParameter("Fecha", Fecha2))
params.Add(New ReportParameter("NombreCapturo", dr("NombreCapturo").ToString))
Else
params.Add(New ReportParameter("Observaciones", dr("Observaciones").ToString))
params.Add(New ReportParameter("Fecha", FechaCompra.ToShortDateString))
End If
Else
params.Add(New ReportParameter("Fecha", Fecha))
params.Add(New ReportParameter("Observaciones", Observaciones))
@@ -6021,7 +5995,6 @@ Partial Class PopUpVerFactura
Dim reportDataSetsList As New List(Of ReportDataSource)
Dim CvePrePoliza As Integer = ObjIE.DtResultados.Rows(0)("CvePrePoliza").ToString.ToEntero
Dim dtMovs As New DataTable
Dim TC As Decimal = ObjIE.TipoCambio
If ObjIE.GetBancosIEFacturasPagadas(CveIE, UsuarioActual.CveEmpresa) Then
dtMovs = ObjIE.DtResultados.FiltraParametros("CveConceptoContable IN (17,2,308,309,312,292 )")
@@ -6069,8 +6042,6 @@ Partial Class PopUpVerFactura
.Add(New ReportParameter("Folio", ObjIE.Folio, True))
.Add(New ReportParameter("MonedaAbreviatura", ObjIE.MonedaAbreviatura, True))
.Add(New ReportParameter("LogoPath", RutaImagenLogo))
.Add(New ReportParameter("TC", TC.ToString))
End With
dtMovs.Dispose()

View File

@@ -680,11 +680,6 @@ Partial Class Compras_ReembolsosComprobaciones
Pago.TCPago = TipoCambioPago
Pago.CvePersonal =CvePersonal
ImportePagoTotal = ImportePagoTotal + ImporteMovto
If UsuarioActual.CveEmpresa.Contiene(7, 11, 12, 122, 145) Then
Pago.AplicaAcreditable = False
End If
'Otros Ingresos
If MsgError = "" AndAlso (ChkAjusteOI.Checked Or ChkOtrosIngresosCheque.Checked) AndAlso gvr.FCTextBox("TxtComision").Text.ToDecimal <> 0 Then
Pago.OtroGastoIngreso = gvr.FCTextBox("TxtComision").Text.ToDecimal
@@ -761,10 +756,6 @@ Partial Class Compras_ReembolsosComprobaciones
MsgError = "no se pudo insertar el detalle de la poliza"
End If
If UsuarioActual.CveEmpresa.Contiene(7, 11, 12, 122, 145) Then
Pago.AplicaAcreditable = False
End If
If Not AplicaPrePolizaPagoCompra(CompraActual, Pago, CvePrePolizaPago, ObjMov) Then
MsgError = "Detalle"
End If

View File

@@ -319,7 +319,6 @@
</div>
<br />
<div class="row">
<div class="col-md-4">

View File

@@ -744,26 +744,12 @@ Partial Class Compras_eFacturas
ViewState("DTTraslados") = value
End Set
End Property
Private Property EsGrupoDiaz As Boolean
Get
If ViewState("EsGrupoDiaz") Is Nothing Then
ViewState("EsGrupoDiaz") = False
End If
Return CType(ViewState("EsGrupoDiaz"), Boolean)
End Get
Set(value As Boolean)
ViewState("EsGrupoDiaz") = value
End Set
End Property
#End Region
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
'EsGrupoDiaz = False ' If(UsuarioActual.Empresa.Funcionalidad(382) = "1", True, False)
ChecandoCorreo = False
ViewState("Orden") = String.Empty
@@ -798,8 +784,7 @@ Partial Class Compras_eFacturas
End If
If UsuarioActual.TienePermisoProceso(206) Then GvD.Columns(13).Visible = False
If UsuarioActual.Empresa.Funcionalidad(156) = "1" Then GvD.Columns(7).Visible = True
If (UsuarioActual.CveEmpresa.Contiene(13, 83) AndAlso UsuarioActual.CveRol = 1) Or EsGrupoDiaz Then
If UsuarioActual.CveEmpresa.Contiene(13, 83) AndAlso UsuarioActual.CveRol = 1 Then
LnkRegistarFactura.Visible = True
End If
@@ -808,16 +793,14 @@ Partial Class Compras_eFacturas
MostrarSolcitudesSAT()
'CARGA REGISTRO DE FACTURA
If EsGrupoDiaz Then
CargaClasificacionesComprobaciones()
CargaClasificaciones()
CargaPS(-1)
CargaPersoanlCajaChica()
CargaPersonalViaticos()
CargaDdlRetIVA()
CargaDdlRetISR()
End If
'CargaClasificacionesComprobaciones()
'CargaClasificaciones()
'CargaPS(-1)
'CargaPersoanlCajaChica()
'CargaPersonalViaticos()
'CargaDdlRetIVA()
'CargaDdlRetISR()
Dim LblSubProyectoTemp As New Label
CargarCentrosDeCosto(Nothing, DdlSubProyecto, Nothing, LblSubProyectoTemp, "Seleccione")
@@ -6881,15 +6864,8 @@ Public Class ClsCompraManager
Dim DrTipoGasto As DataRow = Me.DTTiposGastos.FiltroPrimero("")
If DrTipoGasto Is Nothing Then
DrPS("CveTipoGasto") = -1
DrPS("TipoGasto") = ""
Else
DrPS("CveTipoGasto") = DrTipoGasto("CveTipoGasto")
DrPS("TipoGasto") = DrTipoGasto("TipoGasto")
End If
DrPS("CveTipoGasto") = DrTipoGasto("CveTipoGasto")
DrPS("TipoGasto") = DrTipoGasto("TipoGasto")
If UsuarioActual.Empresa.Funcionalidad(562).ToEntero > 0 Then
DrPS("AplicaCostoIndirecto") = "0"

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,992 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Report xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner" xmlns:cl="http://schemas.microsoft.com/sqlserver/reporting/2010/01/componentdefinition" xmlns="http://schemas.microsoft.com/sqlserver/reporting/2010/01/reportdefinition">
<AutoRefresh>0</AutoRefresh>
<DataSources>
<DataSource Name="DataSet">
<ConnectionProperties>
<DataProvider>System.Data.DataSet</DataProvider>
<ConnectString>/* Local Connection */</ConnectString>
</ConnectionProperties>
<rd:DataSourceID>f55ecc33-47ff-4fc5-a233-35ea9bb1f578</rd:DataSourceID>
</DataSource>
</DataSources>
<DataSets>
<DataSet Name="DataSet1">
<Query>
<DataSourceName>DataSet</DataSourceName>
<CommandText>/* Local Query */</CommandText>
</Query>
<Fields>
<Field Name="CveOrdenCompra">
<DataField>CveOrdenCompra</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="Folio">
<DataField>Folio</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="FechaIng">
<DataField>FechaIng</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="Descripcion">
<DataField>Descripcion</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="CodigoPS">
<DataField>CodigoPS</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="CantidadOC">
<DataField>CantidadOC</DataField>
<rd:TypeName>System.Double</rd:TypeName>
</Field>
<Field Name="CantidadCompra">
<DataField>CantidadCompra</DataField>
<rd:TypeName>System.Double</rd:TypeName>
</Field>
<Field Name="Pendiente">
<DataField>Pendiente</DataField>
<rd:TypeName>System.Double</rd:TypeName>
</Field>
</Fields>
<rd:DataSetInfo>
<rd:DataSetName>DataSet</rd:DataSetName>
<rd:SchemaPath>C:\Users\Caudillo\Documents\Visual Studio 2013\WebSites\WebSite9\App_Code\DataSet.xsd</rd:SchemaPath>
<rd:TableName>DataTable1</rd:TableName>
<rd:TableAdapterFillMethod />
<rd:TableAdapterGetDataMethod />
<rd:TableAdapterName />
</rd:DataSetInfo>
</DataSet>
</DataSets>
<ReportSections>
<ReportSection>
<Body>
<ReportItems>
<Tablix Name="Tablix2">
<TablixCorner>
<TablixCornerRows>
<TablixCornerRow>
<TablixCornerCell>
<CellContents>
<Textbox Name="Textbox28">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Folio</Value>
<Style>
<FontFamily>MYRIAd Pro</FontFamily>
<FontSize>7.5pt</FontSize>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox28</rd:DefaultName>
<Style>
<Border>
<Color>#e36c09</Color>
<Style>Solid</Style>
</Border>
<RightBorder>
<Style>None</Style>
</RightBorder>
<BackgroundColor>#e36c09</BackgroundColor>
<PaddingTop>1pt</PaddingTop>
</Style>
</Textbox>
</CellContents>
</TablixCornerCell>
</TablixCornerRow>
</TablixCornerRows>
</TablixCorner>
<TablixBody>
<TablixColumns>
<TablixColumn>
<Width>1.75917cm</Width>
</TablixColumn>
<TablixColumn>
<Width>4.69734cm</Width>
</TablixColumn>
<TablixColumn>
<Width>5.90506cm</Width>
</TablixColumn>
<TablixColumn>
<Width>2.16336cm</Width>
</TablixColumn>
<TablixColumn>
<Width>2.8203cm</Width>
</TablixColumn>
<TablixColumn>
<Width>2.01554cm</Width>
</TablixColumn>
</TablixColumns>
<TablixRows>
<TablixRow>
<Height>0.44125cm</Height>
<TablixCells>
<TablixCell>
<CellContents>
<Textbox Name="FechaIng">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=IIF(LEN(Fields!CodigoPS.Value) &gt; 0, "", Fields!FechaIng.Value)</Value>
<Style>
<FontFamily>MYRIAd Pro</FontFamily>
<FontSize>6.5pt</FontSize>
<Format>dd/MM/yyyy</Format>
<Color>=IIF(CInt(Fields!CveOrdenCompra.Value) &lt; 1, "White","Black")</Color>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>FechaIng</rd:DefaultName>
<Style>
<Border>
<Style>None</Style>
</Border>
<BackgroundColor>=IIF(CInt(Fields!CveOrdenCompra.Value) &lt; 1, "#67809F","Transparent")</BackgroundColor>
<PaddingTop>0.5pt</PaddingTop>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Descripcion">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=IIF(LEN(Fields!CodigoPS.Value) &gt; 0, "", Fields!Descripcion.Value)</Value>
<Style>
<FontFamily>MYRIAd Pro</FontFamily>
<FontSize>6.5pt</FontSize>
<Color>=IIF(CInt(Fields!CveOrdenCompra.Value) &lt; 1, "White","Black")</Color>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Left</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Descripcion</rd:DefaultName>
<Style>
<Border>
<Style>None</Style>
</Border>
<BackgroundColor>=IIF(CInt(Fields!CveOrdenCompra.Value) &lt; 1, "#67809F","Transparent")</BackgroundColor>
<PaddingTop>0.5pt</PaddingTop>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="CodigoPS">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!CodigoPS.Value</Value>
<Style>
<FontFamily>MYRIAd Pro</FontFamily>
<FontSize>6.5pt</FontSize>
<Format>#,0.00</Format>
<Color>=IIF(CInt(Fields!CveOrdenCompra.Value) &lt; 1, "White","Black")</Color>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Left</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>CodigoPS</rd:DefaultName>
<Style>
<Border>
<Style>None</Style>
</Border>
<BackgroundColor>=IIF(CInt(Fields!CveOrdenCompra.Value) &lt; 1, "#67809F","Transparent")</BackgroundColor>
<PaddingTop>0.5pt</PaddingTop>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="CantidadOC">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!CantidadOC.Value</Value>
<Style>
<FontFamily>MYRIAd Pro</FontFamily>
<FontSize>6.5pt</FontSize>
<Format>#,0.00</Format>
<Color>=IIF(CInt(Fields!CveOrdenCompra.Value) &lt; 1, "White","Black")</Color>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Right</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>CantidadOC</rd:DefaultName>
<Style>
<Border>
<Style>None</Style>
</Border>
<BackgroundColor>=IIF(CInt(Fields!CveOrdenCompra.Value) &lt; 1, "#67809F","Transparent")</BackgroundColor>
<PaddingTop>0.5pt</PaddingTop>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="CantidadCompra">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!CantidadCompra.Value</Value>
<Style>
<FontFamily>MYRIAd Pro</FontFamily>
<FontSize>6.5pt</FontSize>
<Format>#,0.00</Format>
<Color>=IIF(CInt(Fields!CveOrdenCompra.Value) &lt; 1, "White","Black")</Color>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Right</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>CantidadCompra</rd:DefaultName>
<Style>
<Border>
<Style>None</Style>
</Border>
<BackgroundColor>=IIF(CInt(Fields!CveOrdenCompra.Value) &lt; 1, "#67809F","Transparent")</BackgroundColor>
<PaddingTop>0.5pt</PaddingTop>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Pendiente">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!Pendiente.Value</Value>
<Style>
<FontFamily>MYRIAd Pro</FontFamily>
<FontSize>6.5pt</FontSize>
<Format>#,0.00</Format>
<Color>=IIF(CInt(Fields!CveOrdenCompra.Value) &lt; 1, "White","Black")</Color>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Right</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Pendiente</rd:DefaultName>
<Style>
<Border>
<Style>None</Style>
</Border>
<BackgroundColor>=IIF(CInt(Fields!CveOrdenCompra.Value) &lt; 1, "#67809F","Transparent")</BackgroundColor>
<PaddingTop>0.5pt</PaddingTop>
</Style>
</Textbox>
</CellContents>
</TablixCell>
</TablixCells>
</TablixRow>
</TablixRows>
</TablixBody>
<TablixColumnHierarchy>
<TablixMembers>
<TablixMember>
<TablixHeader>
<Size>0.44125cm</Size>
<CellContents>
<Textbox Name="Textbox12">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Fecha</Value>
<Style>
<FontFamily>MYRIAd Pro</FontFamily>
<FontSize>7.5pt</FontSize>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox12</rd:DefaultName>
<Style>
<Border>
<Color>#e36c09</Color>
<Style>Solid</Style>
</Border>
<BackgroundColor>#e36c09</BackgroundColor>
<PaddingTop>1pt</PaddingTop>
</Style>
</Textbox>
</CellContents>
</TablixHeader>
</TablixMember>
<TablixMember>
<TablixHeader>
<Size>0.44125cm</Size>
<CellContents>
<Textbox Name="Textbox45">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Descripción</Value>
<Style>
<FontFamily>MYRIAd Pro</FontFamily>
<FontSize>7.5pt</FontSize>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox44</rd:DefaultName>
<Style>
<Border>
<Color>#e36c09</Color>
<Style>Solid</Style>
</Border>
<BackgroundColor>#e36c09</BackgroundColor>
<PaddingTop>1pt</PaddingTop>
</Style>
</Textbox>
</CellContents>
</TablixHeader>
</TablixMember>
<TablixMember>
<TablixHeader>
<Size>0.44125cm</Size>
<CellContents>
<Textbox Name="Textbox44">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Producto/Servicio</Value>
<Style>
<FontFamily>MYRIAd Pro</FontFamily>
<FontSize>7.5pt</FontSize>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox44</rd:DefaultName>
<Style>
<Border>
<Color>#e36c09</Color>
<Style>Solid</Style>
</Border>
<BackgroundColor>#e36c09</BackgroundColor>
<PaddingTop>1pt</PaddingTop>
</Style>
</Textbox>
</CellContents>
</TablixHeader>
</TablixMember>
<TablixMember>
<TablixHeader>
<Size>0.44125cm</Size>
<CellContents>
<Textbox Name="Textbox49">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Cantidad OC</Value>
<Style>
<FontFamily>MYRIAd Pro</FontFamily>
<FontSize>7.5pt</FontSize>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox49</rd:DefaultName>
<Style>
<Border>
<Color>#e36c09</Color>
<Style>Solid</Style>
</Border>
<BackgroundColor>#e36c09</BackgroundColor>
<PaddingTop>1pt</PaddingTop>
</Style>
</Textbox>
</CellContents>
</TablixHeader>
</TablixMember>
<TablixMember>
<TablixHeader>
<Size>0.44125cm</Size>
<CellContents>
<Textbox Name="Textbox51">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Cantidad Compra</Value>
<Style>
<FontFamily>MYRIAd Pro</FontFamily>
<FontSize>7.5pt</FontSize>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox51</rd:DefaultName>
<Style>
<Border>
<Color>#e36c09</Color>
<Style>Solid</Style>
</Border>
<BackgroundColor>#e36c09</BackgroundColor>
<PaddingTop>1pt</PaddingTop>
</Style>
</Textbox>
</CellContents>
</TablixHeader>
</TablixMember>
<TablixMember>
<TablixHeader>
<Size>0.44125cm</Size>
<CellContents>
<Textbox Name="Textbox47">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Pendiente</Value>
<Style>
<FontFamily>MYRIAd Pro</FontFamily>
<FontSize>7.5pt</FontSize>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox47</rd:DefaultName>
<Style>
<Border>
<Color>#e36c09</Color>
<Style>Solid</Style>
</Border>
<BackgroundColor>#e36c09</BackgroundColor>
<PaddingTop>1pt</PaddingTop>
</Style>
</Textbox>
</CellContents>
</TablixHeader>
</TablixMember>
</TablixMembers>
</TablixColumnHierarchy>
<TablixRowHierarchy>
<TablixMembers>
<TablixMember>
<Group Name="GPO" />
<TablixHeader>
<Size>1.24826cm</Size>
<CellContents>
<Textbox Name="Folio1">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=IIF(LEN(Fields!CodigoPS.Value) &gt; 0, "",Fields!Folio.Value)</Value>
<Style>
<FontFamily>MYRIAd Pro</FontFamily>
<FontSize>6.5pt</FontSize>
<Color>=IIF(CInt(Fields!CveOrdenCompra.Value) &lt; 1, "White","Black")</Color>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Folio1</rd:DefaultName>
<Style>
<Border>
<Style>None</Style>
</Border>
<BackgroundColor>=IIF(CInt(Fields!CveOrdenCompra.Value) &lt; 1, "#67809F","Transparent")</BackgroundColor>
<PaddingTop>0.5pt</PaddingTop>
</Style>
</Textbox>
</CellContents>
</TablixHeader>
</TablixMember>
</TablixMembers>
</TablixRowHierarchy>
<RepeatColumnHeaders>true</RepeatColumnHeaders>
<FixedColumnHeaders>true</FixedColumnHeaders>
<DataSetName>DataSet1</DataSetName>
<Top>0.75875cm</Top>
<Left>0.06614cm</Left>
<Height>0.8825cm</Height>
<Width>20.60903cm</Width>
<Style>
<Border>
<Style>None</Style>
</Border>
</Style>
</Tablix>
<Textbox Name="Textbox3">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Parameters!AgrupadoPor.Value</Value>
<MarkupType>HTML</MarkupType>
<Style>
<FontSize>9pt</FontSize>
<FontWeight>Normal</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Left</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox1</rd:DefaultName>
<Top>0.07056cm</Top>
<Left>0.06614cm</Left>
<Height>0.58236cm</Height>
<Width>20.60903cm</Width>
<ZIndex>1</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</ReportItems>
<Height>0.77116in</Height>
<Style />
</Body>
<Width>8.13983in</Width>
<Page>
<PageHeader>
<Height>2.22362cm</Height>
<PrintOnFirstPage>true</PrintOnFirstPage>
<PrintOnLastPage>true</PrintOnLastPage>
<ReportItems>
<Textbox Name="Textbox1">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Parameters!NombreEmpresa.Value</Value>
<Style>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox1</rd:DefaultName>
<Left>3.8144cm</Left>
<Height>0.6cm</Height>
<Width>13.0693cm</Width>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Textbox Name="Textbox2">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>ORDENES DE COMPRA POR VINCULAR</Value>
<Style>
<FontSize>10.5pt</FontSize>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox2</rd:DefaultName>
<Top>0.63528cm</Top>
<Left>3.77912cm</Left>
<Height>0.52945cm</Height>
<Width>13.0693cm</Width>
<ZIndex>1</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Image Name="Logo">
<Source>External</Source>
<Value>=Parameters!LogoPath.Value</Value>
<Sizing>FitProportional</Sizing>
<Left>0.06614cm</Left>
<Height>2.22362cm</Height>
<Width>3.00743cm</Width>
<ZIndex>2</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
</Style>
</Image>
</ReportItems>
<Style>
<Border>
<Style>None</Style>
</Border>
</Style>
</PageHeader>
<PageFooter>
<Height>0.48291cm</Height>
<PrintOnFirstPage>true</PrintOnFirstPage>
<PrintOnLastPage>true</PrintOnLastPage>
<ReportItems>
<Textbox Name="Textbox7">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>="Página " &amp; Globals.PageNumber &amp; " de " &amp; Globals.TotalPages</Value>
<Style>
<FontStyle>Italic</FontStyle>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Right</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox3</rd:DefaultName>
<Top>0.08291cm</Top>
<Left>18.6093cm</Left>
<Height>0.4cm</Height>
<Width>2.06587cm</Width>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Textbox Name="Textbox8">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value EvaluationMode="Constant">Usuario:</Value>
<Style>
<FontSize>9pt</FontSize>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox8</rd:DefaultName>
<Top>0.08291cm</Top>
<Left>0.06614cm</Left>
<Height>0.4cm</Height>
<Width>1.60042cm</Width>
<ZIndex>1</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Textbox Name="Textbox9">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Parameters!UsuarioImprimio.Value</Value>
<Style>
<FontSize>9pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox9</rd:DefaultName>
<Top>0.08291cm</Top>
<Left>1.61047cm</Left>
<Height>0.4cm</Height>
<Width>5.14936cm</Width>
<ZIndex>2</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Textbox Name="Textbox10">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value EvaluationMode="Constant">Fecha Impresión:</Value>
<Style>
<FontSize>9pt</FontSize>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox10</rd:DefaultName>
<Top>0.08291cm</Top>
<Left>6.93622cm</Left>
<Height>0.4cm</Height>
<Width>2.92333cm</Width>
<ZIndex>3</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Textbox Name="Textbox11">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Parameters!FechaImpresion.Value</Value>
<Style>
<FontSize>9pt</FontSize>
<Format>D</Format>
</Style>
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox11</rd:DefaultName>
<Top>0.08291cm</Top>
<Left>9.84544cm</Left>
<Height>0.4cm</Height>
<Width>4.32745cm</Width>
<ZIndex>4</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</ReportItems>
<Style>
<Border>
<Style>None</Style>
</Border>
</Style>
</PageFooter>
<PageHeight>29.7cm</PageHeight>
<PageWidth>21cm</PageWidth>
<LeftMargin>0.1cm</LeftMargin>
<RightMargin>0.1cm</RightMargin>
<TopMargin>1cm</TopMargin>
<BottomMargin>0.5cm</BottomMargin>
<ColumnSpacing>0.13cm</ColumnSpacing>
<Style />
</Page>
</ReportSection>
</ReportSections>
<ReportParameters>
<ReportParameter Name="NombreEmpresa">
<DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
<ReportParameter Name="FechaInicio">
<DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
<ReportParameter Name="FechaFin">
<DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
<ReportParameter Name="UsuarioImprimio">
<DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
<ReportParameter Name="LogoPath">
<DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
<ReportParameter Name="FechaImpresion">
<DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
<ReportParameter Name="AgrupadoPor">
<DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
</ReportParameters>
<rd:ReportUnitType>Cm</rd:ReportUnitType>
<rd:ReportID>40c94aad-a12a-44fb-ab0d-ea36a9656792</rd:ReportID>
</Report>

File diff suppressed because it is too large Load Diff

View File

@@ -210,7 +210,7 @@
<Paragraph>
<TextRuns>
<TextRun>
<Value>Serie</Value>
<Value>Serie Lote</Value>
<Style>
<FontSize>8pt</FontSize>
<FontWeight>Bold</FontWeight>
@@ -300,7 +300,7 @@
</TextRun>
</TextRuns>
<Style>
<TextAlign>Left</TextAlign>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
@@ -364,7 +364,7 @@
</TextRun>
</TextRuns>
<Style>
<TextAlign>Left</TextAlign>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
@@ -382,14 +382,14 @@
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Serie">
<Textbox Name="SerieLote1">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!Serie.Value</Value>
<Value>=Fields!SerieLote.Value</Value>
<Style>
<FontSize>8pt</FontSize>
</Style>
@@ -400,7 +400,7 @@
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Serie</rd:DefaultName>
<rd:DefaultName>SerieLote1</rd:DefaultName>
<Style>
<Border>
<Style>None</Style>
@@ -667,7 +667,7 @@
<Width>7.62586in</Width>
<Page>
<PageHeader>
<Height>4.71488cm</Height>
<Height>3.10092cm</Height>
<PrintOnFirstPage>true</PrintOnFirstPage>
<PrintOnLastPage>true</PrintOnLastPage>
<ReportItems>
@@ -792,6 +792,35 @@
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Textbox Name="Textbox42">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>="Almacen: " &amp; Parameters!Almacen.Value</Value>
<Style />
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox5</rd:DefaultName>
<Top>2.35415cm</Top>
<Height>0.6cm</Height>
<Width>19.28832cm</Width>
<ZIndex>4</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Textbox Name="Textbox10">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
@@ -814,7 +843,7 @@
<Left>3.97584cm</Left>
<Height>0.6cm</Height>
<Width>7.26539cm</Width>
<ZIndex>4</ZIndex>
<ZIndex>5</ZIndex>
<Style>
<Border>
<Style>None</Style>
@@ -847,7 +876,7 @@
<Left>3.92465cm</Left>
<Height>0.6cm</Height>
<Width>9.64491cm</Width>
<ZIndex>5</ZIndex>
<ZIndex>6</ZIndex>
<Style>
<Border>
<Style>None</Style>
@@ -866,119 +895,59 @@
<Left>0.10236cm</Left>
<Height>1.65182cm</Height>
<Width>3.66114cm</Width>
<ZIndex>6</ZIndex>
<ZIndex>7</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
</Style>
</Image>
<Textbox Name="Textbox5">
</ReportItems>
<Style>
<Border>
<Style>None</Style>
</Border>
</Style>
</PageHeader>
<PageFooter>
<Height>0.635cm</Height>
<PrintOnFirstPage>true</PrintOnFirstPage>
<PrintOnLastPage>true</PrintOnLastPage>
<ReportItems>
<Textbox Name="Textbox41">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Proveedor:</Value>
<Value>Fecha Impresión: </Value>
<Style>
<FontSize>8pt</FontSize>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
<TextRun>
<Value xml:space="preserve"> </Value>
<Style />
<Value>=Today</Value>
<Style>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
<TextRun>
<Value>=Parameters!NombreProveedor.Value</Value>
<Style />
<Value xml:space="preserve"> </Value>
<Style>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox5</rd:DefaultName>
<Top>3.13054cm</Top>
<Left>0.10236cm</Left>
<Height>0.6cm</Height>
<Width>19.18596cm</Width>
<ZIndex>7</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Textbox Name="Textbox8">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Factura: </Value>
<Style>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
<TextRun>
<Value>=Parameters!FacturaProveedor.Value</Value>
<Style />
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox8</rd:DefaultName>
<Top>3.90693cm</Top>
<Left>0.10236cm</Left>
<Height>0.6cm</Height>
<Width>8.78291cm</Width>
<ZIndex>8</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Textbox Name="Textbox9">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Almacén:</Value>
<Style>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
<TextRun>
<Value xml:space="preserve"> </Value>
<Style />
</TextRun>
<TextRun>
<Value>=Parameters!Almacen.Value</Value>
<Style />
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox9</rd:DefaultName>
<Top>2.35415cm</Top>
<Left>0.10236cm</Left>
<Height>0.6cm</Height>
<Width>8.79002cm</Width>
<ZIndex>9</ZIndex>
<Top>0.08364cm</Top>
<Left>0.19093cm</Left>
<Height>0.46771cm</Height>
<Width>6.92282cm</Width>
<Style>
<Border>
<Style>None</Style>
@@ -995,7 +964,7 @@
<Style>None</Style>
</Border>
</Style>
</PageHeader>
</PageFooter>
<PageHeight>27.94cm</PageHeight>
<PageWidth>21.59cm</PageWidth>
<LeftMargin>1cm</LeftMargin>
@@ -1046,8 +1015,8 @@
<DataField>Almacen</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="Serie">
<DataField>Serie</DataField>
<Field Name="SerieLote">
<DataField>SerieLote</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
</Fields>
@@ -1092,6 +1061,18 @@
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
<ReportParameter Name="Folio">
<DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
<ReportParameter Name="Observaciones">
<DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
<ReportParameter Name="Empresa">
<DataType>String</DataType>
<Nullable>true</Nullable>
@@ -1104,197 +1085,7 @@
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
<ReportParameter Name="FechaVencimiento">
<DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
<ReportParameter Name="Plazo">
<DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
<ReportParameter Name="Folio">
<DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
<ReportParameter Name="Serie">
<DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
<ReportParameter Name="NombreProveedor">
<DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
<ReportParameter Name="DireccionProveedor">
<DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
<ReportParameter Name="CiudadProveedor">
<DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
<ReportParameter Name="EstadoProveedor">
<DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
<ReportParameter Name="RFCProveedor">
<DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
<ReportParameter Name="CodigoProveedor">
<DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
<ReportParameter Name="OrigenCompra">
<DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
<ReportParameter Name="SubTotal">
<DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
<ReportParameter Name="Descuentos">
<DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
<ReportParameter Name="IVA">
<DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
<ReportParameter Name="Total">
<DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
<ReportParameter Name="TotalLetra">
<DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
<ReportParameter Name="Observaciones">
<DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
<ReportParameter Name="Capturo">
<DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
<ReportParameter Name="FacturaProveedor">
<DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
</ReportParameters>
<EmbeddedImages>
<EmbeddedImage Name="LogotipoGluyas">
<MIMEType>image/png</MIMEType>
<ImageData>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</ImageData>
</EmbeddedImage>
<EmbeddedImage Name="compuproveedores">
<MIMEType>image/png</MIMEType>
<ImageData>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</ImageData>
</EmbeddedImage>
</EmbeddedImages>
<rd:ReportUnitType>Cm</rd:ReportUnitType>
<rd:ReportID>e4a0366f-2d22-4c77-a359-a8117ce73229</rd:ReportID>
</Report>

File diff suppressed because it is too large Load Diff

View File

@@ -33,10 +33,6 @@
<DataField>FechaCompra</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="FechaMovto">
<DataField>FechaMovto</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="Total">
<DataField>Total</DataField>
<rd:TypeName>System.Double</rd:TypeName>
@@ -272,7 +268,7 @@
<Top>0.48633in</Top>
<Left>0.73547in</Left>
<Height>0.23622in</Height>
<Width>6.76774in</Width>
<Width>6.8993in</Width>
<ZIndex>3</ZIndex>
<Style>
<Border>
@@ -291,28 +287,25 @@
<Width>2.30174cm</Width>
</TablixColumn>
<TablixColumn>
<Width>2.21357cm</Width>
<Width>2.5cm</Width>
</TablixColumn>
<TablixColumn>
<Width>4.962cm</Width>
<Width>5.49301cm</Width>
</TablixColumn>
<TablixColumn>
<Width>2.03516cm</Width>
</TablixColumn>
<TablixColumn>
<Width>2.03516cm</Width>
<Width>2.35633cm</Width>
</TablixColumn>
<TablixColumn>
<Width>2.21154cm</Width>
<Width>1.96772cm</Width>
</TablixColumn>
<TablixColumn>
<Width>1.82293cm</Width>
<Width>2.20167cm</Width>
</TablixColumn>
<TablixColumn>
<Width>1.58202cm</Width>
</TablixColumn>
<TablixColumn>
<Width>1.95043cm</Width>
<Width>2.21744cm</Width>
</TablixColumn>
</TablixColumns>
<TablixRows>
@@ -467,43 +460,6 @@
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox20">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>F. Alm.</Value>
<Style>
<FontFamily>Verdana</FontFamily>
<FontSize>8pt</FontSize>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox20</rd:DefaultName>
<Style>
<Border>
<Color>LightGrey</Color>
<Style>Solid</Style>
</Border>
<BackgroundColor>LightGrey</BackgroundColor>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox25">
@@ -790,40 +746,6 @@
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="FechaMovto">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!FechaMovto.Value</Value>
<Style>
<FontFamily>Verdana</FontFamily>
<FontSize>8pt</FontSize>
<Format>dd/MM/yyyy</Format>
</Style>
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>FechaMovto</rd:DefaultName>
<Style>
<Border>
<Color>LightGrey</Color>
<Style>Solid</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Total">
@@ -1010,14 +932,13 @@
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<ColSpan>6</ColSpan>
<ColSpan>5</ColSpan>
</CellContents>
</TablixCell>
<TablixCell />
<TablixCell />
<TablixCell />
<TablixCell />
<TablixCell />
<TablixCell>
<CellContents>
<Textbox Name="Importe2">
@@ -1143,7 +1064,6 @@
<TablixMember />
<TablixMember />
<TablixMember />
<TablixMember />
</TablixMembers>
</TablixColumnHierarchy>
<TablixRowHierarchy>
@@ -1173,7 +1093,7 @@
<Top>2.18687cm</Top>
<Left>0.19063cm</Left>
<Height>1.42958cm</Height>
<Width>21.11455cm</Width>
<Width>21.07307cm</Width>
<ZIndex>4</ZIndex>
<Style>
<Border>
@@ -2415,72 +2335,6 @@
</Border>
</Style>
</Tablix>
<Textbox Name="Textbox45">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>T.C.:</Value>
<Style>
<FontSize>9pt</FontSize>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox36</rd:DefaultName>
<Top>1.32849cm</Top>
<Left>19.09344cm</Left>
<Height>0.6cm</Height>
<Width>0.88096cm</Width>
<ZIndex>14</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Textbox Name="TC">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Parameters!TC.Value</Value>
<Style>
<FontSize>9pt</FontSize>
<Format>0.00;(0.00)</Format>
</Style>
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>TC</rd:DefaultName>
<Top>1.33053cm</Top>
<Left>19.9744cm</Left>
<Height>0.6cm</Height>
<Width>1.33078cm</Width>
<ZIndex>15</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</ReportItems>
<Height>7.79798cm</Height>
<Style />
@@ -2533,7 +2387,7 @@
<Paragraph>
<TextRuns>
<TextRun>
<Value>REPORTE DE PAGO DE MOVIMIENTOS </Value>
<Value>REPORTE DE PAGO DE MOVIMIENTOS</Value>
<Style>
<FontSize>10.5pt</FontSize>
<FontWeight>Bold</FontWeight>
@@ -2852,12 +2706,6 @@
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
<ReportParameter Name="TC">
<DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
</ReportParameters>
<Variables>
<Variable Name="SumNC">

View File

@@ -2306,15 +2306,6 @@ Partial Class Inventarios_EntradasSalidas
End If
End If
'REPLICAR MOVTO EN EMPRESA
If Not ErrorMovInv Then
If UsuarioActual.CveEmpresa = 199 AndAlso CveMovimiento > 0 Then
If Not ObjInventario.ReplicarMovtoEmpresa(UsuarioActual.CveEmpresa, CveMovimiento) Then
ErrorMovInv = True
End If
End If
End If
If Not ErrorAC And Not ErrorMovInv Then
Dim Msg As New StringBuilder

View File

@@ -3380,15 +3380,6 @@ Partial Class Inventarios_EntregaAlmacen
End If
End If
If Not ErrorMovInv Then
'REPLICAR MOVTO GENERADO
If UsuarioActual.CveEmpresa = 199 AndAlso CveMovimiento > 0 Then
If Not ObjInventario.ReplicarMovtoEmpresa(UsuarioActual.CveEmpresa, CveMovimiento) Then
ErrorMovInv = True
End If
End If
End If
If Not ErrorMovInv Then
ObjInventario.Commit()

View File

@@ -1028,6 +1028,8 @@ Partial Class Inventarios_RecepcionAlmacen
CargaAlmacenes(-1, CveTipoCompra:=CveTipoCompra)
ElseIf TipoMovimiento = 3 Then 'devolucion al proveedor
CargaAlmacenes(-1, "1,21,2,27", CveTipoCompra)
ElseIf CveTipoCompra = 16 Then ' apoyo sin virtual y virtual aparte
CargaAlmacenes(-1, "1", CveTipoCompra)
Else
CargaAlmacenes(-1)
End If
@@ -1076,7 +1078,9 @@ Partial Class Inventarios_RecepcionAlmacen
If TipoMovimiento = 3 Then
CargaAlmacenes(DtRecepcion.Rows(0)("CveSubProyecto").ToString.ToEntero, "21", CveTipoCompra)
Else
CargaAlmacenes(DtRecepcion.Rows(0)("CveSubProyecto").ToString.ToEntero, "22", CveTipoCompra)
Dim tTipoAlm As String = "22"
If CveTipoCompra = 16 Then tTipoAlm = "22,1,24" ' apoyos, "acumuladores sin virtual" o "virtual solo"
CargaAlmacenes(DtRecepcion.Rows(0)("CveSubProyecto").ToString.ToEntero, tTipoAlm, CveTipoCompra)
End If
Else

View File

@@ -213,7 +213,7 @@
<asp:TextBox ID="TxtCantidad" CssClass="form-control marginFixRow" runat="server" MaxLength="50" CausesValidation="true"></asp:TextBox>
<label for="<%= TxtCantidad.ClientID.ToString()%>">Cantidad:</label>
<asp:RequiredFieldValidator ID="RFVCantidad" runat="server" ControlToValidate="TxtCantidad" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Cantidad''</b> es necesario, por favor ingréselo." ValidationGroup="AgregarPS"></asp:RequiredFieldValidator>
<ajax:FilteredTextBoxExtender ID="SoloNumerosPS" runat="server" TargetControlID="TxtCantidad" FilterType="Numbers" />
<ajax:FilteredTextBoxExtender ID="SoloNumerosPS" runat="server" TargetControlID="TxtCantidad" FilterType="Custom, Numbers" ValidChars="." />
</div>
<div class="col-md-8 form-group form-md-line-input input-iconright" id="DivCaracteristicaOpcion" runat="server">

View File

@@ -334,14 +334,10 @@ Partial Class Inventarios_TrasladoSolicitud
MensajeExistencia.Append("No hay la existencia suficiente de los siguientes productos:<br/>")
Dim CodigoPS As String = ""
For Each row As GridViewRow In GvDatos.Rows
CodigoPS = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=row.DataKey("CvePS").ToEntero).FiltroPrimeroValor("PSCodigo", "")
Existencia = ObjInventarios.GetExistenciasPS(row.DataKey("CvePS").ToEntero, row.DataKey("CveUM").ToEntero, UsuarioActual.CveEmpresa, DdlAlmacenOrigen.SelectedValue.ToEntero, FechaMovto:=NowADS.ToString("yyyy/MM/dd 23:59"), Lote:=row.DataKey("Lote").ToString, FechaCaducidad:=row.DataKey("FechaCaducidad").ToString.ToDate)
If Existencia - TempDT.SUM("Cantidad", $"CvePS = {row.DataKey("CvePS").ToEntero} AND CveUM = {row.DataKey("CveUM").ToEntero}") < 0 Then
CodigoPS = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CvePS:=row.DataKey("CvePS").ToEntero).FiltroPrimeroValor("PSCodigo", "")
MensajeExistencia.AppendFormat("<br/> - <b>{0}.</b> Existencia: {1}", CodigoPS, Existencia)
TieneErrorExistencia = True
End If
@@ -381,14 +377,7 @@ Partial Class Inventarios_TrasladoSolicitud
For Each Row As GridViewRow In GvDatos.Rows
'Dim CveUM As Integer = Row.DataKey("CveUM").ToEntero
Dim CvePS As Integer = Row.DataKey("CvePS").ToEntero
Dim Cantidad As Integer = Row.DataKey("Cantidad").ToEntero
'Dim Precio As Decimal = Row.DataKey("Precio").ToDecimal
'Dim Observaciones As String = Row.DataKey("Observaciones")
'Dim CveContratoDetalle As Integer = Row.DataKey("CveContratoDetalle").ToEntero
'Dim Serie As String = Row.DataKey("Serie")
'Dim Lote As String = Row.DataKey("Lote")
'Dim FechaCaducidad As Date = Row.DataKey("FechaCaducidad").ToDate
Dim Cantidad As Decimal = Row.DataKey("Cantidad").ToDecimal
If Not ObjInventarios.AddTrasladoSolicitudDetalle(CveTraspasoSolicitud, Cantidad, -1, CvePS, 0, "", -1, "-1", "-1", MinFecha) Then
TieneError = True
Exit For
@@ -396,7 +385,6 @@ Partial Class Inventarios_TrasladoSolicitud
Next
End If
If TieneError = False Then
ObjInventarios.Commit()
Alert($"La Solicitud de Traspaso se guardó correctamente con folio #: <b>{Folio}</b>.", TipoMensaje.MsgInformacion)

View File

@@ -415,7 +415,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
}
DmodalCancelartimbre.Visible = (UsuarioActual.CveUsuario == 100);
//LnkOpenCancelarTimbre.Visible = (UsuarioActual.CveUsuario == 100);
LnkVerCalculoISR.Visible = true;// (UsuarioActual.CveUsuario == 100 || UsuarioActual.CveEmpresa == 119);
LnkVerCalculoISR.Visible = (UsuarioActual.CveUsuario == 100 || UsuarioActual.CveEmpresa == 119);
TxtPeriodo.Text = $"{NowADS():yyyyMM}";
CargarCentrosDeCosto(DdlProyecto, DdlSubProyecto, LblProyecto, LblSubProyeccto);
CargarCentrosDeCosto(DdlPRProyecto, DdlPRSubProyecto, LblPRProyecto, LblPRSubProyeccto);

View File

@@ -1,6 +1,5 @@
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="ReporteVacaciones.aspx.cs" Inherits="Nomina_ReporteVacaciones" %>
<%@ Import Namespace="Extensiones" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
@@ -8,161 +7,9 @@
/*.text-right {
text-align:right
}*/
td.borderleft, th.borderleft {
border-left: 1px solid black !important;
td.borderleft,th.borderleft{
border-left:1px solid black !important;
}
.hiddentth, .hiddentth th {
background-color: #fff !important;
}
.showMesDia {
display: none;
}
table tr th.diac {
font-size: 4px;
padding-left: 1px !important;
padding-right: 1px !important;
}
table tr th.mesc {
font-size: 12px;
}
.mes1 {
background-color: #ffcccc;
border-color: #ffcccc;
}
/* Enero - Rojo claro */
.mes2 {
background-color: #ffebcc;
border-color: #ffcccc;
}
/* Febrero - Naranja claro */
.mes3 {
background-color: #ffffcc;
border-color: #ffcccc;
}
/* Marzo - Amarillo claro */
.mes4 {
background-color: #ccffcc;
border-color: #ffcccc;
}
/* Abril - Verde claro */
.mes5 {
background-color: #ccffff;
border-color: #ffcccc;
}
/* Mayo - Azul cielo */
.mes6 {
background-color: #ccccff;
border-color: #ffcccc;
}
/* Junio - Azul suave */
.mes7 {
background-color: #e6ccff;
border-color: #ffcccc;
}
/* Julio - Morado claro */
.mes8 {
background-color: #ffccff;
border-color: #ffcccc;
}
/* Agosto - Rosa claro */
.mes9 {
background-color: #ffb3b3;
border-color: #ffcccc;
}
/* Septiembre - Rojo pastel */
.mes10 {
background-color: #ff9966;
border-color: #ffcccc;
}
/* Octubre - Naranja pastel */
.mes11 {
background-color: #cccc99;
border-color: #ffcccc;
}
/* Noviembre - Verde oliva */
.mes12 {
background-color: #e6e6e6;
border-color: #ffcccc;
}
/* Diciembre - Gris claro */
.TContainer {
width: 100%;
height: calc(100vh - 200px);
overflow: scroll;
}
.VacClass {
background-color: darkslateblue;
}
.borderyear {
border-left: 1px solid #FFF !important;
}
.yearclass {
background-color: #444;
color: #FFF;
text-align: center;
font-size: 6px;
}
.yearclassB {
background-color: #999;
color: #FFF;
text-align: center;
font-size: 6px;
}
tr.aniorow td {
height: 8px;
}
tr.rowsticky {
position: sticky;
top: 0; /* Se mantiene pegado en la parte superior */
background-color: white; /* Para que no se superponga con otros elementos */
z-index: 1000; /* Asegura que esté sobre otros elementos */
}
tr.rowsticky:nth-child(2) {
top: 26.14px;
}
tr.rowsticky:nth-child(3) {
top: 52.14px;
}
.table-sticky tr td:nth-child(1),.table-sticky tr th:nth-child(1),
.table-sticky tr td:nth-child(2),.table-sticky tr th:nth-child(2),
.table-sticky tr td:nth-child(3),.table-sticky tr th:nth-child(3) {
position: sticky;
left: 0;
z-index: 3;
}
.table-sticky tr td:nth-child(1),.table-sticky tr td:nth-child(2),.table-sticky tr td:nth-child(3) {
background-color: #fff;
}
.table-sticky tr td:nth-child(1) div, .table-sticky tr th:nth-child(1) div{
width:72px;
}
.table-sticky tr td:nth-child(1),.table-sticky tr th:nth-child(1){
width:80px;
}
.table-sticky tr td:nth-child(2),.table-sticky tr th:nth-child(2){
width:250px;
left: 80px;
}
.table-sticky tr td:nth-child(2) div, .table-sticky tr th:nth-child(2) div{
width:242px;
}
.table-sticky tr td:nth-child(3),.table-sticky tr th:nth-child(3){
left: 330px;
}
</style>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="E" runat="Server">
@@ -238,97 +85,9 @@
</div>
</div>
<div class="TContainer">
<table id="gvReporteVacacionesCalendar" class="table table-hover table-sticky ScrollADig Widthall gvReporteVacacionesCalendar" data-rows="4" data-cols="3" data-heighterror="360">
<tbody>
<%-- <tr class="hiddentth">
<th class="showMesDia"></th>
<th class="showMesDia"></th>
<th class="showMesDia"></th>
<asp:Repeater ID="rptx" runat="server">
<ItemTemplate>
<th class="showMesDia"></th>
</ItemTemplate>
</asp:Repeater>
</tr>--%>
<tr class="rowsticky">
<th></th>
<th></th>
<th></th>
<%-- Encabezados dinámicos para los ejercicios --%>
<asp:Repeater ID="rptanio" runat="server">
<ItemTemplate>
<th class="borderleft" colspan='<%# Eval("DiasEjercicioA") %>'><%# Eval("Anio") %></th>
<th colspan='<%# Eval("DiasEjercicioA") %>'><%# Eval("Anio") %></th>
<th colspan='<%# Eval("DiasEjercicioA") %>'><%# Eval("Anio") %></th>
<th colspan='<%# Eval("DiasEjercicioB") %>'><%# Eval("Anio") %></th>
</ItemTemplate>
</asp:Repeater>
</tr>
<tr class="rowsticky">
<th></th>
<th></th>
<th></th>
<%-- Encabezados dinámicos para los ejercicios --%>
<%-- data-toggle="tooltip"
title='<%# new System.Globalization.CultureInfo("es-ES").DateTimeFormat.GetMonthName(Eval("Mes").ToString().ToEntero()).ToUpper() %>'--%>
<asp:Repeater ID="rptMeses" runat="server">
<ItemTemplate>
<th class='<%# string.Format("{0} diac mes{1} mesc","borderleft",Eval("Mes")) %>' colspan='<%# Eval("DiasMes") %>'>
<%# new System.Globalization.CultureInfo("es-ES").DateTimeFormat.GetMonthName(Eval("Mes").ToString().ToEntero()).ToUpper() %></th>
</ItemTemplate>
</asp:Repeater>
</tr>
<tr class="rowsticky">
<th>Código</th>
<th>Nombre Completo</th>
<th>Fecha Inicio</th>
<%-- Encabezados dinámicos para los ejercicios --%>
<asp:Repeater ID="RepetDias" runat="server">
<ItemTemplate>
<th class='<%# string.Format("{0} diac mes{1}",(Eval("MinMes").ToString().ToUpper()=="1"?"borderleft":""),Eval("Mes")) %>'><%# Eval("Dia") %></th>
</ItemTemplate>
</asp:Repeater>
</tr>
<asp:Repeater ID="RepeaterPrincipalCalendar" runat="server">
<HeaderTemplate>
</HeaderTemplate>
<ItemTemplate>
<tr class="aniorow">
<%--<td><%# Eval("CvePersonal") %></td>--%>
<td rowspan="1"><div>
<div><asp:HyperLink runat="server" Text='<%# Eval("Codigo") %>' NavigateUrl='<%# Eval("CvePersonal", "~/RH/Personal.aspx?CvePersonal={0}") %>'></asp:HyperLink></div></td>
<td rowspan="1"><div>
<asp:HyperLink runat="server" Text='<%# Eval("NombreCompleto") %>' NavigateUrl='<%# Eval("CvePersonal", "~/RH/Personal.aspx?CvePersonal={0}") %>'></asp:HyperLink></div></td>
<td rowspan="1"><div><%# Eval("FechaInicio", "{0:yyyy-MM-dd}") %></div></td>
<%-- Subrepeater para los ejercicios --%>
<asp:Literal Text='<%# Eval("ColumnasinicioFin" ) %>' runat="server"></asp:Literal>
<%--</tr>
<tr>--%>
<asp:Literal Text='<%# Eval("ColumnasVacaciones" ) %>' runat="server"></asp:Literal>
<%-- <asp:Repeater ID="RepeaterEjercicios" runat="server" DataSource='<%# tabladias %>'>
<ItemTemplate>
<asp:Literal Text='<%# columnapersonal((int)Eval("FechaNum" ),(System.Data.DataTable )Eval("TDiaspersonal")) %>' runat="server"></asp:Literal>
</ItemTemplate>
</asp:Repeater>--%>
</tr>
</ItemTemplate>
<FooterTemplate>
</FooterTemplate>
</asp:Repeater>
</tbody>
</table>
</div>
<div class="hidden">
<table id="gvReporteVacaciones" class="table table-striped table-advance table-hover ScrollAD Widthall gvReporteVacaciones" data-rows="2" data-heighterror="360">
<div>
<table id="gvReporteVacaciones" class="table table-striped table-advance table-hover ScrollAD Widthall gvReporteVacaciones" data-rows="2" data-heighterror="360">
<%-- <thead>
</thead>--%>
<tbody>
@@ -367,16 +126,16 @@
<tr>
<%--<td><%# Eval("CvePersonal") %></td>--%>
<td>
<asp:HyperLink runat="server" Text='<%# Eval("Codigo") %>' NavigateUrl='<%# Eval("CvePersonal", "~/RH/Personal.aspx?CvePersonal={0}") %>'></asp:HyperLink></td>
<asp:HyperLink runat="server" Text='<%# Eval("Codigo") %>' NavigateUrl='<%# Eval("CvePersonal", "~/RH/Personal.aspx?CvePersonal={0}") %>'></asp:HyperLink></td>
<td>
<asp:HyperLink runat="server" Text='<%# Eval("NombreCompleto") %>' NavigateUrl='<%# Eval("CvePersonal", "~/RH/Personal.aspx?CvePersonal={0}") %>'></asp:HyperLink></td>
<asp:HyperLink runat="server" Text='<%# Eval("NombreCompleto") %>' NavigateUrl='<%# Eval("CvePersonal", "~/RH/Personal.aspx?CvePersonal={0}") %>'></asp:HyperLink></td>
<td><%# Eval("FechaInicio", "{0:yyyy-MM-dd}") %></td>
<%-- Subrepeater para los ejercicios --%>
<asp:Repeater ID="RepeaterEjercicios" runat="server" DataSource='<%# Eval("Ejercicios") %>'>
<ItemTemplate>
<td class="text-right borderleft"><%# Convert.ToInt32(Eval("Antiguedad")) > 0 ? Eval("Antiguedad") : "" %></td>
<td class="text-right "><%# Convert.ToInt32(Eval("Antiguedad")) > 0 ? Eval("DiasVacaciones") : "" %></td>
<td class="text-right "><%# Convert.ToInt32(Eval("Antiguedad")) > 0 ? Eval("DiasPagados") : "" %></td>
<td class="text-right "><%# Convert.ToInt32(Eval("Antiguedad")) > 0 ? Eval("DiasVacaciones") : "" %></td>
<td class="text-right "><%# Convert.ToInt32(Eval("Antiguedad")) > 0 ? Eval("DiasPagados") : "" %></td>
</ItemTemplate>
</asp:Repeater>
</tr>

View File

@@ -1,11 +1,8 @@
using Extensiones;
using iText.Html2pdf.Attach.Impl.Layout.Form.Element;
using Microsoft.Extensions.Primitives;
using ADSNetLibrary.Helpers;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
@@ -37,8 +34,8 @@ public partial class Nomina_ReporteVacaciones : ClsPaginas
{
get
{
string fecha = $"{DateTime.Now.Year - 1}-01-01";
if (ViewState["FiltFechaInicio"] == null) { return fecha; }
string fecha = $"{DateTime.Now.Year - 3}-01-01";
if (ViewState["FiltFechaInicio"] == null) { return fecha ; }
else { return ViewState["FiltFechaInicio"].ToString(); }
}
@@ -55,18 +52,6 @@ public partial class Nomina_ReporteVacaciones : ClsPaginas
set { ViewState["FiltFechaFin"] = value; }
}
protected DataTable tabladias
{
get
{
if (ViewState["tabladias"] == null) { return new DataTable(); }
else { return (DataTable)ViewState["tabladias"]; }
}
set { ViewState["tabladias"] = value; }
}
#endregion
protected void Page_Load(object sender, EventArgs e)
{
@@ -83,214 +68,75 @@ public partial class Nomina_ReporteVacaciones : ClsPaginas
{
using (ClsNominas objnom = new ClsNominas())
{
if (objnom.ReporteVacacionesCalendario(FiltCveProyecto, FiltCveSubProyecto, UsuarioActual.CveEmpresa, FiltFechaInicio, FiltFechaFin))
if (objnom.ReporteVacaciones(FiltCveProyecto, FiltCveSubProyecto, UsuarioActual.CveEmpresa, FiltFechaInicio, FiltFechaFin))
{
DataTable tabla1 = objnom.DTSetResultados.Tables[0]; //
DataTable tabla2 = objnom.DTSetResultados.Tables[1]; //
DataTable tabla3 = objnom.DTSetResultados.Tables[2]; //
tabladias = objnom.DTSetResultados.Tables[3];
DataTable tabladiasPersonal = objnom.DTSetResultados.Tables[4];
RepeaterEjerciciosH1.DataSource = tabla3;
RepeaterEjerciciosH2.DataSource = tabla3;
DataTable tabla1 = objnom.DTSetResultados.Tables[0]; // Simula tu tabla 1
DataTable tabla2 = objnom.DTSetResultados.Tables[1]; // Simula tu tabla 2
DataTable tabla3 = objnom.DTSetResultados.Tables[2]; // Simula tu tabla 3
RepeaterEjerciciosH1.DataSource= tabla3;
RepeaterEjerciciosH2.DataSource= tabla3;
RepeaterEjerciciosH1.DataBind();
RepeaterEjerciciosH2.DataBind();
// Convertir Tabla 1 a Enumerable con un campo extra
List<Registro> resultado = tabla1.AsEnumerable().Select(row1 =>
List<Registro> resultado = tabla1.AsEnumerable().Select(row1 => new Registro()
{
int cvePersonal = Convert.ToInt32(row1["CvePersonal"]);
DataRow[] filasFiltradas = tabladiasPersonal.Select($"CvePersonal = {cvePersonal}");
CvePersonal = row1.Field<int>("CvePersonal"),
Codigo = row1.Field<string>("Codigo"),
NombreCompleto = row1.Field<string>("NombreCompleto"),
//FechaFin = (row1("FechaFin")).ToString().,
FechaInicio = row1.Field<DateTime>("FechaInicio"),
FechaAntiguedad = row1.Field<DateTime>("FechaAntiguedad"),
Antiguedad = row1.Field<int>("Antiguedad"),
// Crear un nuevo DataTable con la misma estructura
DataTable TDiaspersonal = tabladiasPersonal.Clone();
// Importar las filas filtradas
foreach (DataRow fila in filasFiltradas)
// Campo extra: Enumerable para cada Ejercicio de Tabla 3
Ejercicios = tabla3.AsEnumerable().Select(row3 =>
{
TDiaspersonal.ImportRow(fila);
//DataRow nuevaFila = TDiaspersonal.NewRow();
var ejercicio = row3.Field<int>("Ejercicio");
//// Copiar manualmente cada columna
//foreach (DataColumn columna in tabladiasPersonal.Columns)
//{
// nuevaFila[columna.ColumnName] = fila[columna.ColumnName];
//}
// Buscar en Tabla 2 si existe el registro para CvePersonal y Ejercicio
var registro = tabla2.AsEnumerable().FirstOrDefault(row2 =>
row2.Field<int>("CvePersonal") == row1.Field<int>("CvePersonal") &&
row2.Field<int>("EJercicio") == ejercicio);
//TDiaspersonal.Rows.Add(nuevaFila);
}
TDiaspersonal.AcceptChanges();
//DataTable TDiaspersonal = tabladiasPersonal.FiltraParametros(string.Format("CvePersonal = '{0}'", row1["CvePersonal"]));
int contador = tabladiasPersonal.Rows.Count;
return new Registro()
{
CvePersonal = row1.Field<int>("CvePersonal"),
Codigo = row1.Field<string>("Codigo"),
NombreCompleto = row1.Field<string>("NombreCompleto"),
//FechaFin = (row1("FechaFin")).ToString().,
FechaInicio = row1.Field<DateTime>("FechaInicio"),
FechaAntiguedad = row1.Field<DateTime>("FechaAntiguedad"),
Antiguedad = row1.Field<int>("Antiguedad"),
//ColumnasinicioFin = strColumnasinicioFin(tabladias, tabla2.FiltraParametros(string.Format("CvePersonal = {0}", row1["CvePersonal"])), row1["anio"].ToString().ToEntero(), row1["Mes"].ToString(), row1["Dia"].ToString()),
ColumnasVacaciones = strColumnasVacaciones(tabladias, TDiaspersonal),
// Campo extra: Enumerable para cada Ejercicio de Tabla 3
Ejercicios = tabla3.AsEnumerable().Select(row3 =>
// Si no existe, crear un nuevo registro
if (registro == null)
{
var ejercicio = row3.Field<int>("Ejercicio");
// Buscar en Tabla 2 si existe el registro para CvePersonal y Ejercicio
var registro = tabla2.AsEnumerable().FirstOrDefault(row2 =>
row2.Field<int>("CvePersonal") == row1.Field<int>("CvePersonal") &&
row2.Field<int>("EJercicio") == ejercicio);
// Si no existe, crear un nuevo registro
if (registro == null)
return new EjercicioInfo()
{
return new EjercicioInfo()
{
Ejercicio = ejercicio,
FechaAntiguedad = row1.Field<DateTime>("FechaAntiguedad"),
Antiguedad = 0,
DiasVacaciones = 0, // Valor predeterminado
DiasPagados = 0, // Valor predeterminado
DiasDisfrutados = 0 // Valor predeterminado
};
}
else
Ejercicio = ejercicio,
FechaAntiguedad = row1.Field<DateTime>("FechaAntiguedad"),
Antiguedad = 0,
DiasVacaciones = 0, // Valor predeterminado
DiasPagados = 0, // Valor predeterminado
DiasDisfrutados = 0 // Valor predeterminado
};
}
else
{
// Si existe, devolver los datos de la Tabla 2
return new EjercicioInfo()
{
// Si existe, devolver los datos de la Tabla 2
return new EjercicioInfo()
{
Ejercicio = registro.Field<int>("EJercicio"),
FechaAntiguedad = registro.Field<DateTime>("FechaAntiguedad"),
Antiguedad = registro.Field<int>("Antiguedad"),
DiasVacaciones = registro.Field<int>("DiasVacaciones"),
DiasPagados = registro.Field<int>("DiasPagados"),
DiasDisfrutados = registro.Field<int>("DiasDisfrutados")
};
}
}).ToList()
};
}
).ToList();
Ejercicio = registro.Field<int>("EJercicio"),
FechaAntiguedad = registro.Field<DateTime>("FechaAntiguedad"),
Antiguedad = registro.Field<int>("Antiguedad"),
DiasVacaciones = registro.Field<int>("DiasVacaciones"),
DiasPagados = registro.Field<int>("DiasPagados"),
DiasDisfrutados = registro.Field<int>("DiasDisfrutados")
};
}
}).ToList()
}).ToList();
RepeaterPrincipal.DataSource = resultado;
RepeaterPrincipal.DataBind();
RepeaterPrincipalCalendar.DataSource = resultado;
RepeaterPrincipalCalendar.DataBind();
rptanio.DataSource = tabladias.FiltraParametros("MinEjercicio = 1");
rptanio.DataBind();
rptMeses.DataSource = tabladias.FiltraParametros("MinMes = 1");
rptMeses.DataBind();
RepetDias.DataSource = tabladias;
RepetDias.DataBind();
//rptx.DataSource = tabladias;
//rptx.DataBind();
}
}
}
public string rightstr(string str,int cantidad)
{
return str.Length >= cantidad ? str.Substring(str.Length - cantidad) : str;
}
public string strColumnasinicioFin(DataTable tabladias, DataTable TEjercicio, int anio, string Mes, string Dia)
{
StringBuilder stringBuilder = new StringBuilder();
StringBuilder strbuilderB = new StringBuilder();
strbuilderB.AppendFormat(" </tr><tr>");
int FechaNum =string.Format("{0}{1}{2}", anio, Mes, Dia).ToEntero();
int Mesdia =string.Format("{0}{1}", Mes, Dia).ToEntero();
foreach (DataRow dr in tabladias.Rows)
{
int colspan = dr["DiasMes"].ToString().ToEntero();
int mesidias = rightstr(dr["FechaNum"].ToString(),4).ToEntero();
int mesa = dr["Mes"].ToString().ToEntero();
int ania = dr["Anio"].ToString().ToEntero()-(mesidias >= Mesdia?0:1);
DataRow hdrow = TEjercicio.FiltroPrimero(string.Format("Ejercicio = {0}", ania));
int drFechaNum = dr["FechaNum"].ToString().ToEntero();
string classtd = drFechaNum < FechaNum ? "": ((ania % 2) > 0 ? "yearclass" : "yearclassB");
string antiguedad = "";
string classvac = "borderleft";
string vacacionestomadas = "";
if(hdrow != null)
{
antiguedad = string.Format("({0})", hdrow["Antiguedad"]);
//DiasVacaciones EJercicio EJercicioVac DiasPagados DiasDisfrutados
int DiasVacaciones = hdrow["DiasVacaciones"].ToString().ToEntero();
int DiasPagados = hdrow["DiasPagados"].ToString().ToEntero();
int DiasDisfrutados = hdrow["DiasDisfrutados"].ToString().ToEntero();
int mitadDiasVacaciones = DiasVacaciones / 2;
classvac = DiasDisfrutados > 0 ? (DiasDisfrutados > mitadDiasVacaciones ? (DiasDisfrutados >= DiasVacaciones ? "success" : "info") : "warning") : "danger";
vacacionestomadas = string.Format("{0}/{1}",DiasDisfrutados, DiasVacaciones);
}
if (dr["MinMes"].ToString() == "1" && Mesdia != mesidias)
{
if(mesa == Mes.ToEntero())
{
colspan = Dia.ToEntero() - 1;
}
string canio = drFechaNum >= FechaNum && colspan>5 ? (ania.ToString()) :"";
stringBuilder.AppendFormat("<td class='{2}' colspan='{0}'>{1} {3}</td>", colspan, canio, classtd, antiguedad);
strbuilderB.AppendFormat("<td class='{1}' colspan='{0}'>{2}</td>", colspan, classvac, vacacionestomadas);
}
if (mesidias == Mesdia)
{
string canio = drFechaNum >= FechaNum && colspan > 5 ? (ania.ToString()) : "";
if (mesa == Mes.ToEntero())
{
colspan = colspan-(Dia.ToEntero() - 1);
}
stringBuilder.AppendFormat("<td class='{2} borderyear' colspan='{0}'>{1} {3}</td>", colspan, canio, classtd, antiguedad);
strbuilderB.AppendFormat("<td class='{1}' colspan='{0}'>{2}</td>", colspan, classvac, vacacionestomadas);
}
}
stringBuilder.AppendFormat("{0}", strbuilderB.ToString());
return stringBuilder.ToString();
}
public string strColumnasVacaciones(DataTable tabladias, DataTable TDiaspersonal)
{
StringBuilder stringBuilder = new StringBuilder();
foreach (DataRow dr in tabladias.Rows)
{
DataRow hdr = TDiaspersonal.FiltroPrimero(string.Format("FechaNum={0}", dr["FechaNum"]));
if (hdr != null)
{
if (hdr["InicioVac"].ToString() == "1")
{
stringBuilder.AppendFormat("<td class='info{1} text-center' colspan='{0}'>{0}</td>", hdr["diasvac"], (dr["MinMes"].ToString() == "1" ? " borderleft " : ""));
}
}
else
{
if (TDiaspersonal.FiltroPrimero(string.Format("Anio={0} AND Mes ={1}", dr["Anio"], dr["Mes"])) != null)
{
stringBuilder.AppendFormat("<td class='{0}'></td>", (dr["MinMes"].ToString() == "1" ? " borderleft " : ""));
}
else
{
if (dr["MinMes"].ToString() == "1")
{
stringBuilder.AppendFormat("<td class='borderleft' colspan='{0}'></td>", dr["DiasMes"]);
}
}
}
}
return stringBuilder.ToString();
}
public string columnapersonal(int dia, DataTable TDiaspersonal)
{
return string.Format("<td></td>");
}
@@ -312,9 +158,6 @@ public class Registro
public DateTime FechaAntiguedad { get; set; }
public int Antiguedad { get; set; }
public List<EjercicioInfo> Ejercicios { get; set; }
//public DataTable TDiaspersonal { get; set; }
public string ColumnasinicioFin { get; set; }
public string ColumnasVacaciones { get; set; }
}
public class EjercicioInfo

View File

@@ -2488,9 +2488,6 @@ Partial Class OC_OC
SubProyecto = DdlSubProyectoGral.SelectedItem.Text
End If
If CantidadVentaMinima > 0 AndAlso TxtCant.Text.ToDecimal > 0 Then
If TxtCant.Text.ToDecimal Mod CantidadVentaMinima <> 0 Then
Alert(String.Format("El producto se vende solo en cantidades de <b>{0:####.####}</b>", CantidadVentaMinima))
@@ -2509,8 +2506,6 @@ Partial Class OC_OC
End If
End If
AddPS(TxtCant.Text.ToDecimal, DdlP2.SelectedValue.ToEntero, DdlP2.SelectedText, TxtObsPS.Text, ImportePS, TxtDescuentoAdd.Text.ToDecimal, TotalPS,
CboUnidadMedida.SelectedValue.ToEntero, IvaPS, IEPSPS, IEPSPSIVA, DdlClasificacion.SelectedValue.ToEntero, CboUnidadMedida.SelectedItem.Text, DdlClasificacion.SelectedItem.Text, DdlProyecto.SelectedValue.ToEntero, Proyecto,
CveSubProyectoVal, SubProyecto, LblCodigo.Text, HdnCveActivoFijo.Value.ToEntero, 0, CveOrdenCompraDetalle, CveOrdenCompra, IdCuentaPorEjercer,
@@ -4147,7 +4142,7 @@ Partial Class OC_OC
e.Row.FCLiteral("LtlSubProyecto").Text = Str
End If
End If
If e.Row.DBCampo("Descuento").ToDecimal > 0 Then
If e.Row.DBCampo("Descuento").ToDecimal > 0 AndAlso e.Row.DBCampo("Cantidad").ToDecimal <> 0 AndAlso e.Row.DBCampo("Importe").ToDecimal <> 0 Then
Dim Desc As Decimal = e.Row.DBCampo("Descuento").ToDecimal
e.Row.FCLiteral("LtlDescuento").Text = String.Format("{0}<br/><p style ='font-style: italic; font-size: 10px;'>{1}%</p>", Desc.FormatoNumero, (Desc / (e.Row.DBCampo("Cantidad").ToDecimal * e.Row.DBCampo("Importe").ToDecimal) * 100.0).FormatoNumero)
End If
@@ -7180,7 +7175,6 @@ Partial Class OC_OC
'CboE.SelectedIndex = 0
CboE_SelectedIndexChanged(CboE, EventArgs.Empty)
GvD.Columns(12).Visible = True 'Permitir la edicion
lblTipoPadreHijo.Visible = False
GvD.Columns(13).Visible = False
@@ -7328,6 +7322,15 @@ Partial Class OC_OC
DdlSAUsuario.DataSource = GlobalDTUsuarios(-1, CveEmpresaActual)
DdlSAUsuario.DataBind()
'desasigna datos previos
For Each dr As DataRow In DtDetalle.Rows
dr("CantidadNoEditable") = 0
dr("CveCompra") = DBNull.Value
dr("NumComprasVinculadas") = 0
Next
CargaDatosDetalles()
Dim CveProveedorPrevio As String = DdlProveedores.SelectedValue
Dim CveProveedorSucursalPrevio As String = DdlProveedorSucursal.SelectedValue
CargaProveedores()
@@ -7346,12 +7349,6 @@ Partial Class OC_OC
CargaEstatusUsuarios()
CargaEstatusOC()
'Estatus Default 66
If CveEmpresaActual = 66 Then
CboE.SelectedValueExist(18)
End If
TxtFecha.Text = NowADS().ToString("dd/MM/yyyy")
lblNombreUsuario.Text = UsuarioActual.Nombre
ViewState("CveOrdenCompra") = 0
@@ -9539,6 +9536,11 @@ Partial Class OC_OC
DdlSubProyectoEntrega.SelectedValueExist(DdlSubProyectoGral.SelectedValue)
UPPLugarEntrega.Update()
UPPDetalle.Update()
'recorre las partidas, para asignarle el nuevo subproyecto-- asignado a una compra
For Each dr As DataRow In DtDetalle.Rows
dr("CveSubProyecto") = DdlSubProyectoGral.SelectedValue
dr("SubProyecto") = DdlSubProyectoGral.SelectedItem.Text
Next
CargaFolios()
End Sub

View File

@@ -192,9 +192,9 @@ Partial Class RepContratosCalendario
Dim strData As New StringBuilder
Dim strAFData As New StringBuilder
Dim StrFiltro As String = ""
Dim StrFiltro As String = "" 'solo unidades activas
If DdlTipoUnidad.SelectedValue.ToEntero > 0 Then StrFiltro = " AND CveTipoActivoFijo = " & DdlTipoUnidad.SelectedValue
Dim DtUnidades As DataTable = GlobalDTActivoFijos(UsuarioActual.CveEmpresa).FiltraParametros("Codigo <> '' AND MedidaVehicular IN (2,3) " & StrFiltro, Orderby:=" TipoActivoFijo ASC, CodigoNumeroOrden ASC", DistinctColumns:={"Codigo", "CveActivoFijo"})
Dim DtUnidades As DataTable = GlobalDTActivoFijos(UsuarioActual.CveEmpresa).FiltraParametros("Codigo <> '' AND CveEstadoActivoFijo = 1 AND MedidaVehicular IN (2,3) " & StrFiltro, Orderby:=" TipoActivoFijo ASC, CodigoNumeroOrden ASC", DistinctColumns:={"Codigo", "CveActivoFijo"})
Dim jsonData As New JArray()
Dim jsonCategorias As New JArray()
Dim random = New Random()

View File

@@ -240,52 +240,49 @@ Partial Class Ventas_CatAutorizacionLimites
End If
Dim Importe As Decimal = gvRow.DataKey("Importe").ToDecimal().RoundSQL(2)
'AUTORIZACION DE IMPORTE,
'el cliente limite de 500, y saldo de 501. autorización que puede autorizar no puede ser mayor a 49 ( limite * 1.% - Saldo)
If TipoAutorizacion = 1 Then
If UsuarioActual.Empresa.Funcionalidad(595).Contiene("1", "2") Then
'AUTORIZACION DE IMPORTE,
'el cliente limite de 500, y saldo de 501. autorización que puede autorizar no puede ser mayor a 49 ( limite * 1.% - Saldo)
If TipoAutorizacion = 1 Then
Dim SaldoCliente As Decimal = gvRow.DataKey("Saldo").ToDecimal()
Dim LimiteCredito As Decimal = gvRow.DataKey("LimiteCredito").ToDecimal()
'SI EL LIMITE ES 0, PERMITE AUTORIZAR
If LimiteCredito > 0 Then
Dim PorcentajeMaximoAutorizar As Decimal = 0.1D
Dim SaldoCliente As Decimal = gvRow.DataKey("Saldo").ToDecimal()
Dim LimiteCredito As Decimal = gvRow.DataKey("LimiteCredito").ToDecimal()
'SI EL LIMITE ES 0, PERMITE AUTORIZAR
If LimiteCredito > 0 Then
Dim PorcentajeMaximoAutorizar As Decimal = 0.1D
If UsuarioActual.PorcentajeMaximoAutorizacion > 0 Then
PorcentajeMaximoAutorizar = (UsuarioActual.PorcentajeMaximoAutorizacion / 100)
End If
Dim ImporteMaximoAutorizar As Decimal = ((LimiteCredito * (1D + PorcentajeMaximoAutorizar)) - SaldoCliente).RoundSQL(2)
If Importe > ImporteMaximoAutorizar Then
Alert($"No se puede autorizar, el importe máximo a autorizar es de {ImporteMaximoAutorizar:N2}", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
If UsuarioActual.PorcentajeMaximoAutorizacion > 0 Then
PorcentajeMaximoAutorizar = (UsuarioActual.PorcentajeMaximoAutorizacion / 100)
End If
Dim ImporteMaximoAutorizar As Decimal = ((LimiteCredito * (1D + PorcentajeMaximoAutorizar)) - SaldoCliente).RoundSQL(2)
'AUTORIZACION POR DIAS VENCIDOS
ElseIf TipoAutorizacion = 2 Then
Dim DiasVencidos As Integer = gvRow.DataKey("DiasVencidos").ToEntero()
If DiasVencidos > 0 Then
Dim DiasVencidosPermitidos As Integer = 5
If Importe > ImporteMaximoAutorizar Then
Alert($"No se puede autorizar, el importe máximo a autorizar es de {ImporteMaximoAutorizar:N2}", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
End If
Dim DiasVencidosAutorizacion As Integer = gvRow.DataKey("DiasVencidosAutorizacion").ToEntero()
If DiasVencidos > DiasVencidosAutorizacion Then
Alert($"No se puede autorizar, los días vencidos del cliente son mayores a la autorización. <br/> Dias Vencidos: {DiasVencidos:N0} . Dias autorizados. {DiasVencidosAutorizacion:N0}", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
'AUTORIZACION POR DIAS VENCIDOS
ElseIf TipoAutorizacion = 2 Then
Dim DiasVencidos As Integer = gvRow.DataKey("DiasVencidos").ToEntero()
If DiasVencidos > 0 Then
Dim DiasVencidosPermitidos As Integer = 5
If UsuarioActual.DiasMaximoAutorizacion > 0 Then
DiasVencidosPermitidos = UsuarioActual.DiasMaximoAutorizacion
End If
Dim DiasVencidosAutorizacion As Integer = gvRow.DataKey("DiasVencidosAutorizacion").ToEntero()
If DiasVencidosAutorizacion > DiasVencidosPermitidos Then
Alert($"No se puede autorizar, la cantidad máxima de días vencidos permitidas es de {DiasVencidosPermitidos:N0}", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
If DiasVencidos > DiasVencidosAutorizacion Then
Alert($"No se puede autorizar, los días vencidos del cliente son mayores a la autorización. <br/> Dias Vencidos: {DiasVencidos:N0} . Dias autorizados. {DiasVencidosAutorizacion:N0}", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
If UsuarioActual.DiasMaximoAutorizacion > 0 Then
DiasVencidosPermitidos = UsuarioActual.DiasMaximoAutorizacion
End If
If DiasVencidosAutorizacion > DiasVencidosPermitidos Then
Alert($"No se puede autorizar, la cantidad máxima de días vencidos permitidas es de {DiasVencidosPermitidos:N0}", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
End If
End If

View File

@@ -28,7 +28,7 @@ Partial Class Ventas_CatPromociones
End If
InicializaControles()
OcultarMostrarInactivar(True)
CargaDatos()
End If
End Sub

View File

@@ -399,7 +399,7 @@
<div class="portlet light xspadding traspasorow bordered" runat="server" visible="false" id="DivCancelacionesPendientes">
<div class="portlet-title">
<div class="caption font-green">
<span class="caption-subject bold uppercase" style="line-height: 1; color: #ff6000;">Cancelaciones en proceso</span>
<span class="caption-subject bold uppercase" style="line-height: 1; color: #ff6000;">Cancelaciones en proceso</span>
</div>
<div class="actions">
@@ -423,11 +423,11 @@
CssClass="table table-striped table-advance table-hover Widthall ScrollAD mysmallbtn" GridLines="None" Width="100%">
<Columns>
<asp:BoundField HeaderText="Cliente" DataField="Nombre" ItemStyle-Width="25%" />
<asp:HyperLinkField HeaderText="Serie Folio" DataTextField="SerieFolio" DataNavigateUrlFields="CveVenta" ItemStyle-Width="15%" DataNavigateUrlFormatString="/Ventas/Ventas.aspx?CveVenta={0}" />
<asp:HyperLinkField HeaderText="Serie Folio" DataTextField="SerieFolio" DataNavigateUrlFields="CveVenta" ItemStyle-Width="15%" DataNavigateUrlFormatString="/Ventas/Ventas.aspx?CveVenta={0}" />
<asp:BoundField HeaderText="Importe" DataField="Total" DataFormatString="{0:N2}" ItemStyle-Width="15%" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField HeaderText="Fecha Solicitud" DataField="FechaCambioEstatus" ItemStyle-Width="15%" />
<asp:BoundField HeaderText="Motivo" DataField="MotivoCancelacion" ItemStyle-Width="25%" />
<asp:TemplateField ItemStyle-Width="5%">
<asp:TemplateField ItemStyle-Width="5%" >
<ItemTemplate>
<asp:LinkButton runat="server" ID="BtnValidar" OnClick="BtnValidar_Click" CssClass="btn btn-circle btn-sm green" Text="<i class='fa fa-check'></i>" data-toggle="confirmation" data-popout="true" data-original-title="¿Está seguro que desea verificar la cancelación?" data-btn-ok-label="si"></asp:LinkButton>
</ItemTemplate>
@@ -585,6 +585,7 @@
<div class="row">
<div class="col-md-2">
<label>Anticipos:</label><asp:LinkButton ID="ImgAntiPend" Visible="false" OnClick="ImgAntiPend_Click" runat="server" Text=" <i class='fa fa-money' style='font-size: 18px !important; color: #3c763d !important;'></i> " AlternateText="Aplicación de anticipos" Style="cursor: pointer;" />
</div>
<div class="col-md-4 input-icon">
<i style="margin: 0px;">$</i>
@@ -597,13 +598,13 @@
<ContentTemplate>
<div class="row">
<div class="col-md-6">
<asp:Literal ID="LtlTipoAnticipo" runat="server"></asp:Literal></label>
<%--<asp:HiddenField ID="HdnTipoAmortizacion" runat="server" Value="" />--%>
<asp:LinkButton ID="LnkCxC" runat="server" CssClass="btn btn-xs btn-success" Text="Cobranza" OnClick="LnkCxC_Click" />
<asp:Literal ID="LtlTipoAnticipo" runat="server"></asp:Literal></label>
<asp:HiddenField ID="HdnTipoAmortizacion" runat="server" Value="" />
<asp:LinkButton ID="LnkCxC" runat="server" CssClass="btn btn-xs btn-success" Text="Cobranza" OnClick="LnkCxC_Click" />
</div>
<div class="col-md-6">
<asp:TextBox ID="TxtCxCAplicado" CssClass="form-control input-sm TextBoxAsLabel" runat="server" MaxLength="12" Width="100px" Enabled="false" ClientIDMode="Static" Style="text-align: right;"></asp:TextBox>
<asp:TextBox ID="TxtCxCAplicado" CssClass="form-control input-sm TextBoxAsLabel" runat="server" MaxLength="12" Width="100px" Enabled="false" ClientIDMode="Static" Style="text-align: right;"></asp:TextBox>
</div>
</div>
@@ -640,35 +641,35 @@
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel runat="server" ID="UPPTotalesContado" UpdateMode="Conditional">
<asp:UpdatePanel runat="server" ID="UPPTotalesContado" UpdateMode="Conditional">
<ContentTemplate>
<div class="chequesie2">
<div class="row">
<label class="col-md-1">Total:</label>
<div class="col-md-3 input-icon">
<i style="margin: 0px;">$</i>
<asp:TextBox ID="TxtImporteContado" CssClass="form-control input-sm " runat="server" MaxLength="12" Width="100px" ReadOnly="true" ClientIDMode="Static" Style="text-align: right;"></asp:TextBox>
<ajax:FilteredTextBoxExtender ID="FilteredTextBoxExtender3" runat="server" TargetControlID="TxtImporteContado" FilterType="Custom, Numbers" ValidChars=".," />
<div class="chequesie2">
<div class="row">
<label class="col-md-1">Total:</label>
<div class="col-md-3 input-icon">
<i style="margin: 0px;">$</i>
<asp:TextBox ID="TxtImporteContado" CssClass="form-control input-sm " runat="server" MaxLength="12" Width="100px" ReadOnly="true" ClientIDMode="Static" Style="text-align: right;"></asp:TextBox>
<ajax:FilteredTextBoxExtender ID="FilteredTextBoxExtender3" runat="server" TargetControlID="TxtImporteContado" FilterType="Custom, Numbers" ValidChars=".," />
</div>
<label id="lblCambio" class="col-md-1">Cambio:</label>
<div class="col-md-3 input-icon">
<i style="margin: 0px;">$</i>
<asp:TextBox ID="TxtCambio" CssClass="form-control input-sm " Enabled="false" runat="server" MaxLength="12" Width="100px" ClientIDMode="Static" Style="text-align: right;"></asp:TextBox>
<ajax:FilteredTextBoxExtender ID="FTBECambio" runat="server" TargetControlID="TxtCambio" FilterType="Custom, Numbers" ValidChars=".," />
<br />
</div>
<label id="lblCambio2" class="col-md-1">Sob/falt:</label>
<div class="col-md-3 input-icon">
<i style="margin: 0px;">$</i>
<asp:TextBox ID="TxtFaltante" CssClass="form-control input-sm " runat="server" MaxLength="12" Width="100px" ClientIDMode="Static" Style="text-align: right;"></asp:TextBox>
<ajax:FilteredTextBoxExtender ID="FilteredTextBoxExtender4" runat="server" TargetControlID="TxtCambio" FilterType="Custom, Numbers" ValidChars=".," />
<br />
</div>
</div>
<label id="lblCambio" class="col-md-1">Cambio:</label>
<div class="col-md-3 input-icon">
<i style="margin: 0px;">$</i>
<asp:TextBox ID="TxtCambio" CssClass="form-control input-sm " Enabled="false" runat="server" MaxLength="12" Width="100px" ClientIDMode="Static" Style="text-align: right;"></asp:TextBox>
<ajax:FilteredTextBoxExtender ID="FTBECambio" runat="server" TargetControlID="TxtCambio" FilterType="Custom, Numbers" ValidChars=".," />
<br />
</div>
<label id="lblCambio2" class="col-md-1">Sob/falt:</label>
<div class="col-md-3 input-icon">
<i style="margin: 0px;">$</i>
<asp:TextBox ID="TxtFaltante" CssClass="form-control input-sm " runat="server" MaxLength="12" Width="100px" ClientIDMode="Static" Style="text-align: right;"></asp:TextBox>
<ajax:FilteredTextBoxExtender ID="FilteredTextBoxExtender4" runat="server" TargetControlID="TxtCambio" FilterType="Custom, Numbers" ValidChars=".," />
<br />
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
<div class="chequesie2" id="divPagar">
@@ -678,7 +679,7 @@
<asp:HiddenField ID="HdnCveCliente" runat="server" />
<asp:HiddenField ID="HdnPlazoCobranza" runat="server" />
<asp:HiddenField ID="HdnVentaCondicionesPago" runat="server" />
<asp:HiddenField ID="HdnCveIE" runat="server" />
<asp:HiddenField ID="HdnCveIE" runat="server" />
<asp:HiddenField ID="HdnTotal" runat="server" ClientIDMode="Static" />
<asp:Button ID="BtnPagar" CssClass="btn btn-large btn-success e-big-btn" runat="server" Text="Pagar" />
</div>
@@ -1183,7 +1184,67 @@
</h4>
</div>
<div class="modal-body">
<div style="max-height: 700px; overflow-y: auto;">
<div class="row" runat="server" id="divAmortizacionTipo" visible="false">
<div class="col-md-4">
Tipo Amortización:
</div>
<div class="col-md-8">
<asp:DropDownList ID="DdlTipoAmortizacionAnticipo" runat="server" AutoPostBack="true" Width="250px" CssClass="select2me" CausesValidation="true" OnSelectedIndexChanged="DdlTipoAmortizacionAnticipo_SelectedIndexChanged">
<asp:ListItem Text="Seleccionar" Value="-1"></asp:ListItem>
<asp:ListItem Text="Amortización anticipo con nota de crédito" Value="2"></asp:ListItem>
</asp:DropDownList>
</div>
<asp:RequiredFieldValidator ID="RfvDdlTipoAmortizacionAnticipo" runat="server" Display="None" ControlToValidate="DdlTipoAmortizacionAnticipo" InitialValue="-1" ErrorMessage="Debe Seleccionarse un tipo" ValidationGroup="VGAnticiposClientes"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="CEDdlTipoAmortizacionAnticipo" runat="server" HighlightCssClass="vco" TargetControlID="RfvDdlTipoAmortizacionAnticipo" Width="300px"></ajax:ValidatorCalloutExtender>
<div class="row" style="text-align: center;" runat="server" id="divAnticipoMsg" visible="false">
<asp:Label ID="Label2" runat="server" Text="Se aplicará descuento por el total de las amortizaciones en los productos" CssClass="alert alert-warning" Style="padding: 5px; margin-bottom: 5px; padding-right: 25px;"></asp:Label>
</div>
</div>
<div class="row" id="divAmortizacionTipoRelacion" runat="server" visible="false">
<div class="col-md-4">
Tipo Relación:
</div>
<div class="col-md-8">
<asp:DropDownList ID="DdlTipoRelacionAnticipo" runat="server" Width="250px" CssClass="select2me">
<asp:ListItem Text="07 - CFDI por aplicación de anticipo" Value="7"></asp:ListItem>
</asp:DropDownList>
</div>
</div>
<div class="row" id="DivConceptoNC" runat="server" visible="false">
<div class="col-md-4">
Concepto:
</div>
<div class="col-md-8">
<asp:DropDownList ID="DdlNCPSAnt" runat="server" DataTextField="PSCodigo" DataValueField="CvePS" Width="250px" CssClass="select2me"></asp:DropDownList>
<asp:RequiredFieldValidator ID="RFVNCPSAnt" runat="server" InitialValue="-1" ControlToValidate="DdlNCPSAnt" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Concepto''</b> es necesario, por favor ingréselo." ValidationGroup="VGAnticiposClientes"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCERFVNCPSAnt" runat="server" HighlightCssClass="vco" TargetControlID="RFVNCPSAnt" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="row" id="DivFechaAnticipoCliente" runat="server" visible="false">
<b>
<label class="col-md-2">Fecha:</label></b>
<div class="col-md-4">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 80% !important; padding: 0px;">
<asp:TextBox ID="TxtFechaAnticipoCliente" runat="server" ClientIDMode="Static" CssClass="form-control" CausesValidation="true" MaxLength="10" AutoPostBack="true" OnTextChanged="TxtFechaAnticipoCliente_TextChanged"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="ImgFechaAnticipoCliente" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
<ajax:MaskedEditExtender ID="MEEFechaAnticipoCliente" runat="server" TargetControlID="TxtFechaAnticipoCliente" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CEFechaAnticipoCliente" TargetControlID="TxtFechaAnticipoCliente" PopupButtonID="ImgFechaAnticipoCliente" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:CompareValidator ID="CvFechaAnticipoCliente" runat="server" ControlToValidate="TxtFechaAnticipoCliente" Display="None" Operator="DataTypeCheck" Type="Date" ValidationGroup="VGAnticiposClientes" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha''</b> no tiene el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)."></asp:CompareValidator>
<ajax:ValidatorCalloutExtender ID="VcoFechaAnticipoCliente" runat="server" Enabled="True" HighlightCssClass="vco" TargetControlID="CvFechaAnticipoCliente" Width="300px"></ajax:ValidatorCalloutExtender>
</div>
</div>
</div>
<br />
<div style="max-height: 300px; overflow-y: auto;">
<div class="row" style="margin-left: 0px; text-align: right" align="left">
<div class="col-md-2">
<asp:LinkButton ID="LnkRecargaAnticipos" NavigateUrl="#" CssClass="btn btn-circle btn-sm green" Text="<i class='fa fa-refresh'></i> Actualizar" runat="server" OnClick="LnkRecargaAnticipos_Click" />
@@ -1194,13 +1255,6 @@
</div>
</div>
<br />
<div class="row">
<div class="col-md-12" style="display:flex; justify-content:end; font-size:16px; font-weight: bold;">
<span> Total: </span>
<asp:Label ID="LblTotalAnticipos" runat="server" ClientIDMode="Static" Text="0.00"></asp:Label>
</div>
</div>
<asp:GridView ID="GVAnticipos" runat="server" AutoGenerateColumns="False" ClientIDMode="Static" EmptyDataText="No se encontraron Anticipos del Cliente"
ToolTip="Listado de Anticipos" CssClass="GVAnticipos table table-striped table-hover Widthall mysmallbtn" data-height="300" GridLines="None"
DataKeyNames="ISTotal,Saldo,CveIE,Folio,Tipo,CveVenta,CveConceptoContable,CveConceptoContableAmor, TotalAnticipo, SubTotalAnticipo, IVAAnticipo,IEPS, ImpuestosLocalesAnticipo, SubTotalAmortizacion, SubTotal, Original, IVA, RetIVA, RetISR, FolioFiscal, CveClasificacionNC, TipoCambio,TipoCambioPago,TipoCambioHoy, CveMoneda,Fecha,SaldoSubTotal,SaldoConImpuestos,RegresarImpuesto,DevolucionImportePagado,CveCliente,Descuentos">
@@ -1229,12 +1283,6 @@
<asp:Literal ID="LtlAnticipos" runat="server" Text='<%# Eval("Saldo", "{0:N2}") %>'></asp:Literal>&nbsp;
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Tipo</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlTipo" runat="server" Text='<%# Eval("Tipo") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField Visible="false">
<HeaderTemplate>Moneda Venta</HeaderTemplate>
<ItemTemplate>
@@ -1256,6 +1304,7 @@
<asp:TemplateField>
<HeaderTemplate>Amort. Ant.</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="LblTotalAnticipos" runat="server" ClientIDMode="Static" Text="0.00" Visible="false"></asp:Label>
<asp:TextBox ID="TxtAnticipo" CssClass="CSGATxtAnticipo" runat="server" CausesValidation="true" MaxLength="12" Width="76px"></asp:TextBox>
<asp:CompareValidator ID="CVAmortAnti" runat="server" ControlToValidate="TxtAnticipo" Display="None" ErrorMessage="El campo <b>''Amortización de Anticipos''</b> no tiene el formato correcto, por favor corrija e intente de nuevo (Solo formato numérico)." Operator="DataTypeCheck" Type="Currency" ValidationGroup="VGAnticiposClientes"></asp:CompareValidator>
<ajax:ValidatorCalloutExtender ID="VCOAmortAnti" runat="server" HighlightCssClass="vco" TargetControlID="CVAmortAnti" Width="300px"></ajax:ValidatorCalloutExtender>
@@ -1291,13 +1340,14 @@
<div class="modal-content">
<div class="modal-header ">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">Estados de Cajas
<h4 class="modal-title">
Estados de Cajas
</h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-12">
<div class="col-md-12" >
<asp:GridView ID="GvEstadoCajas" runat="server" AutoGenerateColumns="true" ClientIDMode="Static" EmptyDataText=""
OnRowDataBound="GvEstadoCajas_RowDataBound"
@@ -1326,79 +1376,79 @@
<asp:Button ID="BtnEnviarMailCancelacion" runat="server" ClientIDMode="Static" Text="Enviar Mail Cliente" Style="display: none;" OnClick="BtnEnviarMailCancelacion_Click" />
<asp:UpdatePanel runat="server" ID="UPPCxC" UpdateMode="Conditional" RenderMode="Inline">
<ContentTemplate>
<div id="divCxC" class="modal ADS fade" role="dialog">
<div class="modal-dialog" style="width: 700px;">
<div class="modal-content">
<div class="modal-header ">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">
<asp:Label runat="server">Cuentas por cobrar:&nbsp;<asp:Literal ID="Literal1" runat="server"></asp:Literal></asp:Label>
</h4>
</div>
<div class="modal-body">
<asp:UpdatePanel runat="server" ID="UPPCxC" UpdateMode="Conditional" RenderMode="Inline">
<ContentTemplate>
<div id="divCxC" class="modal ADS fade" role="dialog">
<div class="modal-dialog" style="width: 700px;">
<div class="modal-content">
<div class="modal-header ">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">
<asp:Label runat="server">Cuentas por cobrar:&nbsp;<asp:Literal ID="Literal1" runat="server"></asp:Literal></asp:Label>
</h4>
</div>
<div class="modal-body">
<div style="max-height: 300px; overflow-y: auto;">
<div class="row" style="margin-left: 0px; text-align: right" align="left">
<div style="margin-right: 15px">
<input type="text" id="TxtBusquedaCxC" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusquedaCxC','{0}')", GvCxC.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" />
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusquedaAnticipos','{0}')", GVAnticipos.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
<div style="max-height: 300px; overflow-y: auto;">
<div class="row" style="margin-left: 0px; text-align: right" align="left">
<div style="margin-right: 15px">
<input type="text" id="TxtBusquedaCxC" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusquedaCxC','{0}')", GvCxC.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" />
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusquedaAnticipos','{0}')", GVAnticipos.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
</div>
</div>
</div>
<asp:GridView ID="GvCxC" runat="server" AutoGenerateColumns="False" ClientIDMode="Static" EmptyDataText="No se encontró cobranza pendiente del cliente"
CssClass=" table table-striped table-hover Widthall mysmallbtn" data-height="300" GridLines="None"
DataKeyNames=" CveVenta,PorcentajeIVA,TipoDocto,CveSubProyecto,CveMoneda,TipoCambio, Fecha,SerieFolio, SubTotal,IVA,Total,IEPS,RetIVA,RetISR, CveCliente,Saldo">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="Chk" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Folio</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlFactura" runat="server" Text='<%# Eval("SerieFolio") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Fecha</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlFecha" runat="server" Text='<%# Eval("Fecha", "{0:d}") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Saldo</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlAnticipos" runat="server" Text='<%# Eval("Saldo", "{0:N2}") %>'></asp:Literal>&nbsp;
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField Visible="false">
<HeaderTemplate>Moneda Venta</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="MonedaVenta" runat="server"></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Moneda</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlAbreviatura" runat="server" Text='<%# Eval("Abreviatura") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:GridView ID="GvCxC" runat="server" AutoGenerateColumns="False" ClientIDMode="Static" EmptyDataText="No se encontró cobranza pendiente del cliente"
CssClass=" table table-striped table-hover Widthall mysmallbtn" data-height="300" GridLines="None"
DataKeyNames=" CveVenta,PorcentajeIVA,TipoDocto,CveSubProyecto,CveMoneda,TipoCambio, Fecha,SerieFolio, SubTotal,IVA,Total,IEPS,RetIVA,RetISR, CveCliente,Saldo">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="Chk" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Folio</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlFactura" runat="server" Text='<%# Eval("SerieFolio") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Fecha</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlFecha" runat="server" Text='<%# Eval("Fecha", "{0:d}") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Saldo</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlAnticipos" runat="server" Text='<%# Eval("Saldo", "{0:N2}") %>'></asp:Literal>&nbsp;
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField Visible="false">
<HeaderTemplate>Moneda Venta</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="MonedaVenta" runat="server"></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Moneda</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlAbreviatura" runat="server" Text='<%# Eval("Abreviatura") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</Columns>
</asp:GridView>
</div>
</div>
<div class="modal-footer">
<asp:Button ID="BtnAplicarCxC" runat="server" Text="Aceptar" class="btn btn-primary" OnClick="BtnAplicarCxC_Click" />
<button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
</div>
</div>
<div class="modal-footer">
<asp:Button ID="BtnAplicarCxC" runat="server" Text="Aceptar" class="btn btn-primary" OnClick="BtnAplicarCxC_Click" />
<button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
@@ -1416,6 +1466,8 @@
function chkAnt(t, txt, importe, AmorContrato = 0) {
let totalAnt = 0;
let TipoAnticipo = $('#<%= DdlTipoAmortizacionAnticipo.ClientID %>').val();
//si es con.nc,es.el.total
let Total = ToDouble($get("C_LtlSaldo").value.replace(",", ""));
@@ -1434,12 +1486,8 @@
totalAnt = FnSumaValoresAnt();
if (totalAnt > SaldoCompra) {
let valor = FormatoNumero(importe - (totalAnt - SaldoCompra), 2);
if (valor == 'NaN') {
txt.value = "0.00";
} else {
txt.value = valor;
}
txt.value = FormatoNumero(importe - (totalAnt - SaldoCompra), 2);
//$get('HdnVentaSaldo').value = 0.00;
alert("El Importe no debe de exceder a el saldo");
}
@@ -1460,8 +1508,13 @@
let Total = ToDouble($get("C_LtlSaldo").value.replace(",", ""));// ToDouble($get('TxtSubTotal').value);
let TipoAnticipo = $('#<%= DdlTipoAmortizacionAnticipo.ClientID %>').val();
let importeTxt = parseFloat(txt.value.replace(/,/g, ''));
if (TipoAnticipo == '4') {
Total = ToDouble($get("C_LtlSaldo").value.replace(",", ""));
}
if (isNaN(importeTxt)) {
importeTxt = 0;
} else {

View File

@@ -431,11 +431,11 @@
<%--19--%>
<asp:BoundField HeaderText="Num. Turnos" DataField="NumTurnos" DataFormatString="{0:###,###,###,###.##}" ItemStyle-Width="5%" ItemStyle-HorizontalAlign="Right" Visible="false" />
<%--20--%>
<asp:BoundField HeaderText="O.C." DataField="OC_noOrden" ItemStyle-Width="5%" Visible="false" />
<asp:BoundField HeaderText="O. C." DataField="OC_noOrden" ItemStyle-Width="5%" Visible="false" />
<%--21--%>
<asp:BoundField HeaderText="O.C Kg" DataField="OC_Kilogramos" DataFormatString="{0:###,###,###,###.##}" ItemStyle-Width="5%" Visible="false" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField HeaderText="Kilogramos" DataField="OC_Kilogramos" DataFormatString="{0:###,###,###,###.##}" ItemStyle-Width="5%" Visible="false" ItemStyle-HorizontalAlign="Right" />
<%--22--%>
<asp:BoundField HeaderText="O.C Cantidad" DataField="OC_Cantidad" DataFormatString="{0:###,###,###,###.##}" ItemStyle-Width="5%" Visible="false" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField HeaderText="Cantiadad" DataField="OC_Cantidad" DataFormatString="{0:###,###,###,###.##}" ItemStyle-Width="5%" Visible="false" ItemStyle-HorizontalAlign="Right" />
<%--23--%>
<asp:BoundField HeaderText="Manifiesto" DataField="NoManifiesto" ItemStyle-Width="5%" Visible="false" />
</Columns>
@@ -481,13 +481,13 @@
</tr>
<tr runat="server" id="DivMostrarCgame">
<td style="text-align: left;">
<asp:CheckBox ID="ChkOC_noOrden" runat="server" Text="O.C." />
<asp:CheckBox ID="ChkOC_noOrden" runat="server" Text="O. C." />
</td>
<td style="text-align: left;">
<asp:CheckBox ID="ChkOC_Kilogramos" runat="server" Text="O.C. Kilogramos" />
<asp:CheckBox ID="ChkOC_Kilogramos" runat="server" Text="O. C. Kilogramos" />
</td>
<td style="text-align: left;">
<asp:CheckBox ID="ChkOC_Cantidad" runat="server" Text="O.C. Cantidad" />
<asp:CheckBox ID="ChkOC_Cantidad" runat="server" Text="O. C. Cantiadad" />
</td>
</tr>

View File

@@ -79,7 +79,7 @@
<%--<asp:HyperLink NavigateUrl="#" data-toggle="modal" data-target="#DivPersonalizar" ID="ImgPersonalizar" runat="server"> <i class="fa fa-pencil"></i> Personalizar</asp:HyperLink>--%>
</li>
</ContentTemplate>
<Triggers>
<Triggers>
<asp:PostBackTrigger ControlID="ImgExcelPersonalizado" />
</Triggers>
</asp:UpdatePanel>
@@ -98,25 +98,23 @@
<li>
<asp:LinkButton ID="LnkVerGrafica" OnClick="LnkVerGrafica_Click" runat="server"><i class="fa fa-signal"></i> Ver Grafica</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LnkDescargaCartaPorte" OnClick="LnkDescargaCartaPorte_Click" runat="server" Visible="false"> <i class="fa fa-file-excel-o" style="font-weight:bold;"></i> Descarga Carta Porte</asp:LinkButton>
<li>
<asp:LinkButton ID="LnkDescargaCartaPorte" OnClick="LnkDescargaCartaPorte_Click" runat="server" Visible="false"> <i class="fa fa-file-excel-o" style="font-weight:bold;"></i> Descarga Carta Porte</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LnkGeneraXLS1" OnClick="LnkGeneraXLS1_Click" runat="server" Visible="false"> <i class="fa fa-file-excel-o" style="font-weight:bold;"></i> Generar XLS 1</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LnkGeneraXLS2" OnClick="LnkGeneraXLS2_Click" runat="server" Visible="false"> <i class="fa fa-file-excel-o" style="font-weight:bold;"></i> Generar XLS 2</asp:LinkButton>
</li>
<li id="LiSabana" runat="server" visible="false">
<asp:HyperLink ID="HLSabana" NavigateUrl="#" data-toggle="modal" data-target="#DivModalSabana" runat="server"><i class='fa fa-file-excel-o'></i> Ventas por código</asp:HyperLink>
<li>
<asp:LinkButton ID="LnkGeneraXLS1" OnClick="LnkGeneraXLS1_Click" runat="server" Visible="false"> <i class="fa fa-file-excel-o" style="font-weight:bold;"></i> Generar XLS 1</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LnkGeneraXLS2" OnClick="LnkGeneraXLS2_Click" runat="server" Visible="false"> <i class="fa fa-file-excel-o" style="font-weight:bold;"></i> Generar XLS 2</asp:LinkButton>
</li>
</ContentTemplate>
<Triggers>
<Triggers>
<asp:PostBackTrigger ControlID="LnkDescargaCartaPorte" />
<asp:PostBackTrigger ControlID="LnkGeneraXLS1" />
<asp:PostBackTrigger ControlID="LnkGeneraXLS2" />
<asp:PostBackTrigger ControlID="LnkGeneraXLS1" />
<asp:PostBackTrigger ControlID="LnkGeneraXLS2" />
</Triggers>
</asp:UpdatePanel>
</asp:Content>
@@ -337,8 +335,8 @@
<asp:ListItem Text="Sin parte relacionadas" Value="0"></asp:ListItem>
</asp:DropDownList>
</div>
<label title="Distr" data-toggle="tooltip" class="col-md-1 truncate" visible="false" runat="server" id="DivLblDistr">Distribuidor:</label>
<div class="col-md-2" visible="false" runat="server" id="DivDistr">
<label title="Distr" data-toggle="tooltip" class="col-md-1 truncate" Visible="false" runat="server" id="DivLblDistr">Distribuidor:</label>
<div class="col-md-2" Visible="false" runat="server" id="DivDistr">
<asp:DropDownList ID="DdlDistribuidor" runat="server" AppendDataBoundItems="true" Class="table-group-action-input form-control input-inline input-small input-sm select2me">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
<asp:ListItem Text="Distribuidor" Value="1"></asp:ListItem>
@@ -346,28 +344,28 @@
</asp:DropDownList>
</div>
<asp:Label runat="server" ID="LblServicioDomicilioFiltro" class="col-md-1 truncate" Visible="false">Servicio Domicilio:</asp:Label>
<div class="col-md-2" runat="server" id="DVServicioDomicilio" visible="false">
<asp:DropDownList ID="DdlServicioDomicilio" CssClass=" form-control input-sm select2me" runat="server" Width="100%">
<asp:ListItem Value="-1">Todos</asp:ListItem>
<asp:ListItem Value="1">Si</asp:ListItem>
<asp:ListItem Value="0">No</asp:ListItem>
<div class="col-md-2" runat="server" id="DVServicioDomicilio" Visible="false">
<asp:DropDownList ID="DdlServicioDomicilio" CssClass=" form-control input-sm select2me" runat="server" Width="100%" >
<asp:ListItem Value ="-1">Todos</asp:ListItem>
<asp:ListItem Value="1">Si</asp:ListItem>
<asp:ListItem Value="0">No</asp:ListItem>
</asp:DropDownList>
</div>
<asp:Label runat="server" ID="LblFacturaGlobal" class="col-md-1 truncate" Visible="false">Factura Global:</asp:Label>
<div class="col-md-2" runat="server" id="DivFacturaGlobal" visible="false">
<asp:DropDownList ID="DdlFacturaGlobal" CssClass=" form-control input-sm select2me" runat="server" Width="100%">
<asp:ListItem Value="-1">Todos</asp:ListItem>
<asp:ListItem Value="1">Solo Globales</asp:ListItem>
<asp:ListItem Value="0">Sin Globales</asp:ListItem>
</asp:DropDownList>
</div>
<div class="col-md-2" runat="server" id="DivFacturaGlobal" Visible="false">
<asp:DropDownList ID="DdlFacturaGlobal" CssClass=" form-control input-sm select2me" runat="server" Width="100%" >
<asp:ListItem Value ="-1">Todos</asp:ListItem>
<asp:ListItem Value="1">Solo Globales</asp:ListItem>
<asp:ListItem Value="0">Sin Globales</asp:ListItem>
</asp:DropDownList>
</div>
</div>
<div class="row">
<label class="col-md-1 truncate">Relación:</label>
<div class="col-md-2">
<asp:DropDownList ID="DdlTipoRelacion" CssClass=" form-control input-sm select2me" runat="server" Width="100%" DataTextField="SATTipoRelacion" DataValueField="CveTipoRelacion">
</asp:DropDownList>
</div>
<label class="col-md-1 truncate">Relación:</label>
<div class="col-md-2">
<asp:DropDownList ID="DdlTipoRelacion" CssClass=" form-control input-sm select2me" runat="server" Width="100%" DataTextField="SATTipoRelacion" DataValueField="CveTipoRelacion">
</asp:DropDownList>
</div>
</div>
</div>
</div>
@@ -401,7 +399,7 @@
<%--6--%>
<asp:BoundField HeaderText="IVA" DataField="IVA" ItemStyle-Width="7.5%" DataFormatString="{0:###,###,###,###.##}" ItemStyle-HorizontalAlign="Right" />
<%--7--%>
<asp:BoundField HeaderText="IEPS" DataField="IEPS" ItemStyle-Width="7.5%" DataFormatString="{0:###,###,###,###.##}" ItemStyle-HorizontalAlign="Right" Visible="false" />
<asp:BoundField HeaderText="IEPS" DataField="IEPS" ItemStyle-Width="7.5%" DataFormatString="{0:###,###,###,###.##}" ItemStyle-HorizontalAlign="Right" Visible="false" />
<%--8--%>
<asp:BoundField HeaderText="Ret. IVA" DataField="RetIVA" ItemStyle-Width="7.5%" DataFormatString="{0:###,###,###,###.##}" ItemStyle-HorizontalAlign="Right" />
<%--9--%>
@@ -431,17 +429,17 @@
<%--19--%>
<asp:TemplateField HeaderText="Sub. Crédito" ItemStyle-Width="10%" ItemStyle-HorizontalAlign="Right">
<ItemTemplate>
<asp:Label ID="LblCredito" runat="server" Text='<%# Eval("SubtotalCredito", "{0:N0}") %>'></asp:Label>
<asp:Label ID="LblCreditoPorcentaje" runat="server" Text='<%# String.Format("{0:###,###,###.00}%", Eval("SubTotalCreditoPorcentaje")) %>' Font-Italic="True" Font-Size="10px" Visible="false"></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<ItemTemplate>
<asp:Label ID="LblCredito" runat="server" Text='<%# Eval("SubtotalCredito", "{0:N0}") %>'></asp:Label>
<asp:Label ID="LblCreditoPorcentaje" runat="server" Text='<%# String.Format("{0:###,###,###.00}%", Eval("SubTotalCreditoPorcentaje")) %>' Font-Italic="True" Font-Size="10px" Visible="false" ></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<%--20--%>
<asp:TemplateField HeaderText="Sub. Contado" ItemStyle-Width="10%" ItemStyle-HorizontalAlign="Right">
<ItemTemplate>
<asp:Label ID="LblContado" runat="server" Text='<%# Eval("SubTotalContado", "{0:N0}") %>'></asp:Label>
<asp:Label ID="LblContadoPorcentaje" runat="server" Text='<%# String.Format("{0:###,###,###.00}%", Eval("SubTotalContadoPorcentaje")) %>' Font-Italic="True" Font-Size="10px" Visible="false"></asp:Label>
</ItemTemplate>
<ItemTemplate>
<asp:Label ID="LblContado" runat="server" Text='<%# Eval("SubTotalContado", "{0:N0}") %>'></asp:Label>
<asp:Label ID="LblContadoPorcentaje" runat="server" Text='<%# String.Format("{0:###,###,###.00}%", Eval("SubTotalContadoPorcentaje")) %>' Font-Italic="True" Font-Size="10px" Visible="false" ></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<RowStyle CssClass="Texto" />
@@ -474,10 +472,10 @@
</tr>
<tr>
<td style="text-align: left;">
<asp:CheckBox ID="ChkSubtotal" runat="server" Text="&nbsp;Sub total" /></td>
<asp:CheckBox ID="ChkSubtotal" runat="server" Text="&nbsp;Sub total" /></td>
</td>
<td style="text-align: left;">
<asp:CheckBox ID="ChkAVGSub" runat="server" Text="&nbsp;SubTotal Promedio" />
<asp:CheckBox ID="ChkAVGSub" runat="server" Text="&nbsp;SubTotal Promedio" />
</td>
</tr>
<tr>
@@ -535,7 +533,7 @@
</td>
</tr>
<tr>
<tr>
<td style="text-align: left;">
<asp:CheckBox ID="ChkTotal" runat="server" Text="&nbsp;*Total" />
@@ -545,13 +543,15 @@
</td>
</tr>
<tr>
<tr>
<td style="text-align: left;">
<asp:CheckBox ID="ChkIEPS" runat="server" Text="&nbsp;*IEPS" Visible="false" />
</td>
<td style="text-align: left;"></td>
<td style="text-align: left;">
</td>
</tr>
</tbody>
@@ -560,7 +560,7 @@
<div class="modal-footer">
<div class="row">
<div class="col-md-6" style="text-align: left">
<div class="col-md-6" style="text-align:left">
<asp:CheckBox ID="ChkGuardarPersonalizacion" runat="server" Text=" Guarda Personalización" TextAlign="Right" />
</div>
<div class="col-md-6">
@@ -737,108 +737,6 @@
</div>
</div>
<div id="DivModalSabana" class="modal fade" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<asp:UpdatePanel runat="server" ID="UpModalSabana" UpdateMode="Conditional" class="modal-content">
<ContentTemplate>
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">
<asp:Label ID="Label5" runat="server" ClientIDMode="Static" Text="Ventas por código"></asp:Label></h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-12">
<div class="row">
<div class="col-md-2">Proveedor:</div>
<div class="col-md-10">
<ADS:Dropdownlost ID="DdlProveedores" runat="server" CssStyle="width: 100%;" Width="100%" DataTextField="RazonSocial" DataValueField="CveProveedor"></ADS:Dropdownlost>
</div>
</div>
</div>
</div>
<br />
<div class="row">
<div class="col-md-6">
<div class="row">
<div class="col-md-4">
Código PS Inicio:
</div>
<div class="col-md-8">
<asp:TextBox ID="TxtCodI" runat="server" CssClass="form-control input-sm" Width="85px"></asp:TextBox>
</div>
</div>
</div>
<div class="col-md-6">
<div class="row">
<div class="col-md-4">
Código PS Final:
</div>
<div class="col-md-8">
<asp:TextBox ID="TxtCodF" runat="server" CssClass="form-control input-sm" Width="85px"></asp:TextBox>
</div>
</div>
</div>
</div>
<br />
<div class="row">
<div class="col-md-6">
<div class="row">
<div class="col-md-4 truncate">
Fecha Inicio:
</div>
<div class="col-md-8" 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="85px" ID="TxtFechaISabana" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="LnkFechaISabana" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
</div>
<ajax:MaskedEditExtender ID="MEESabanaI" runat="server" TargetControlID="TxtFechaISabana" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CEFechaISabana" TargetControlID="TxtFechaISabana" PopupButtonID="LnkFechaISabana" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="RFVSabanaI" runat="server" ControlToValidate="TxtFechaISabana" Display="None" ErrorMessage="El campo <b>''Fecha Inicial''</b> es requerido por la aplicación, por favor ingrese una fecha." ValidationGroup="RepSabana"></asp:RequiredFieldValidator>
<asp:CompareValidator ID="CVSabanaI" runat="server" ControlToValidate="TxtFechaISabana" 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="RepSabana"></asp:CompareValidator>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender5" runat="server" HighlightCssClass="vco" TargetControlID="RFVSabanaI" Width="350px"></ajax:ValidatorCalloutExtender>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender6" runat="server" HighlightCssClass="vco" TargetControlID="CVSabanaI" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
</div>
</div>
<div class="col-md-6">
<div class="row">
<div class="col-md-4 truncate">
Fecha Fin:
</div>
<div class="col-md-8" 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="85px" ID="TxtFechaFSabana" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="LnkFechaFSabana" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
</div>
<ajax:MaskedEditExtender ID="MESabanaF" runat="server" TargetControlID="TxtFechaFSabana" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CEFechaFSabana" TargetControlID="TxtFechaFSabana" PopupButtonID="LnkFechaFSabana" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="RFVSanabaF" runat="server" ControlToValidate="TxtFechaFSabana" Display="None" ErrorMessage="El campo <b>''Fecha Final''</b> es requerido por la aplicación, por favor ingrese una fecha." ValidationGroup="RepSabana"></asp:RequiredFieldValidator>
<asp:CompareValidator ID="CVSabanaF" runat="server" ControlToValidate="TxtFechaFSabana" 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="RepSabana"></asp:CompareValidator>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender7" runat="server" HighlightCssClass="vco" TargetControlID="RFVSanabaF" Width="350px"></ajax:ValidatorCalloutExtender>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender8" runat="server" HighlightCssClass="vco" TargetControlID="CVSabanaF" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
</div>
</div>
</div>
</div>
<div class="modal-footer">
<asp:Button ID="BtnGenerarSabana" runat="server" CssClass="btn btn-success" Text="Generar" OnClick="BtnGenerarSabana_Click" ValidationGroup="RepSabana" />
<button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
</div>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="BtnGenerarSabana" />
</Triggers>
</asp:UpdatePanel>
</div>
</div>
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
<script src="https://www.amcharts.com/lib/3/amcharts.js"></script>

View File

@@ -5,7 +5,6 @@ Imports System.Data
Imports Extensiones
Imports Microsoft.Reporting.WebForms
Imports System.Xml
Imports GemBox.Spreadsheet
Partial Class Ventas_RepVentas
Inherits ClsPaginas
@@ -111,16 +110,6 @@ Partial Class Ventas_RepVentas
Opcion = "-1"
End If
If UsuarioActual.Empresa.Funcionalidad(382) = "1" AndAlso UsuarioActual.TienePermisoProceso(386) Then
LiSabana.Visible = True
DdlProveedores.setEsWebService(True)
DdlProveedores.Attributes.Add("data-metodo", "getproveedores")
DdlProveedores.SelectedText = "Todos"
DdlProveedores.SelectedValue = "-1"
End If
If UsuarioActual.CveEmpresa = 72 AndAlso UsuarioActual.CveUsuario.Contiene(100, 1614, 1517) Then
liRepHP.Visible = True
End If
@@ -255,9 +244,6 @@ Partial Class Ventas_RepVentas
txtFechaI.Text = NowADS().FirstDayOfMonth.ToShortDateString
txtFechaF.Text = NowADS().ToShortDateString
TxtFechaISabana.Text = NowADS().FirstDayOfMonth.ToShortDateString
TxtFechaFSabana.Text = NowADS().ToShortDateString
End Sub
@@ -1115,52 +1101,4 @@ Partial Class Ventas_RepVentas
End Sub
Protected Sub BtnGenerarSabana_Click(sender As Object, e As EventArgs)
Dim DtExcel As DataTable = Nothing
Dim ObjVentas As New ClsVentas
If ObjVentas.GetSabanaE189(UsuarioActual.CveEmpresa, TxtFechaISabana.Text.ToDate(), TxtFechaFSabana.Text.ToDate(), DdlProveedores.SelectedValue.ToEntero(), TxtCodI.Text.Trim(), TxtCodF.Text.Trim()) Then
DtExcel = ObjVentas.DtResultados.Copy()
End If
ObjVentas.Dispose()
If DtExcel IsNot Nothing Then
'DtExcel.Columns("Codigo").ColumnName = "Código"
'DtExcel.Columns("PS").ColumnName = "Producto / Servicio"
'DtExcel.Columns("NumeroParte").ColumnName = "Número de parte"
'If UsuarioActual.Empresa.Funcionalidad(578) = "1" Or UsuarioActual.Empresa.Funcionalidad(531) = "1" Or UsuarioActual.Empresa.Funcionalidad(382) = "1" Then '
' If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then
' DtExcel.Columns("Número de parte").ColumnName = "Código CPK"
' End If
'Else
' DtExcel.Columns.Remove("Número de parte")
'End If
DtExcel.TableName = "Sabana"
SpreadsheetInfo.SetLicense(ModExtensiones.SerialGemBoxSpreadsheet)
Dim FileExcel As New ExcelFile()
Dim worksheet As ExcelWorksheet = FileExcel.Worksheets.Add(DtExcel.TableName)
worksheet.InsertDataTable(DtExcel, New InsertDataTableOptions() With
{
.ColumnHeaders = True,
.StartRow = 0,
.StartColumn = 0
})
worksheet.Rows(0).Style.FillPattern.SetPattern(FillPatternStyle.Solid, SpreadsheetColor.FromArgb(75, 119, 190), SpreadsheetColor.FromArgb(255, 255, 255))
worksheet.Rows(0).Style.Font.Color = SpreadsheetColor.FromArgb(255, 255, 255)
Dim columnCount As Integer = worksheet.CalculateMaxUsedColumns()
For i As Integer = 0 To columnCount
worksheet.Columns(i).AutoFit(1, worksheet.Rows(0), worksheet.Rows(worksheet.Rows.Count - 1))
Next
FileExcel.Save(Response, "Sabana.xlsx", SaveOptions.XlsxDefault)
End If
End Sub
End Class