diff --git a/App_Code/ClsInventarios.vb b/App_Code/ClsInventarios.vb index 07fa440e7..6656873c3 100644 --- a/App_Code/ClsInventarios.vb +++ b/App_Code/ClsInventarios.vb @@ -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) diff --git a/App_Code/ClsNominas.vb b/App_Code/ClsNominas.vb index 370e1c2b5..b72b6e8a7 100644 --- a/App_Code/ClsNominas.vb +++ b/App_Code/ClsNominas.vb @@ -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 diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb index 6aca39992..b29275701 100644 --- a/App_Code/ClsPaginas.vb +++ b/App_Code/ClsPaginas.vb @@ -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 diff --git a/App_Code/ClsVentas.vb b/App_Code/ClsVentas.vb index 2f25b01ec..f9331895a 100644 --- a/App_Code/ClsVentas.vb +++ b/App_Code/ClsVentas.vb @@ -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 + 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 - + 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 @@ -2612,30 +2610,27 @@ 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") - 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 + 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") - 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 + 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 - Return Retorno - End Function - - + 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 + 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 - + 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") @@ -7620,29 +7614,29 @@ Public Class ClsVentas Return Retorno 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") - 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 + 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") - 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 + 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 - Return Retorno - End Function + 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 #Region "IDisposable Support" diff --git a/App_Code/Modelos.vb b/App_Code/Modelos.vb index 55eea8a87..6c42babe3 100644 --- a/App_Code/Modelos.vb +++ b/App_Code/Modelos.vb @@ -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 diff --git a/Bancos/DepositosCaja.aspx.vb b/Bancos/DepositosCaja.aspx.vb index d0b7b970b..9d74f52cc 100644 --- a/Bancos/DepositosCaja.aspx.vb +++ b/Bancos/DepositosCaja.aspx.vb @@ -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 diff --git a/Compras/Compras.aspx b/Compras/Compras.aspx index 8a318b45f..9d519cff9 100644 --- a/Compras/Compras.aspx +++ b/Compras/Compras.aspx @@ -511,7 +511,7 @@ - + <%-- Ocuoado usado en Garantía--%> @@ -1496,8 +1496,22 @@
- +
+
+
+
+ + + + + +
Almacen: + +
+
+
+
Compra: @@ -1509,31 +1523,17 @@
-
-
-
- - - - - -
Almacen: - -
-
-
- -
- +
+ - - - + + + @@ -1541,7 +1541,7 @@ - + @@ -1549,7 +1549,7 @@ - + diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index 908a8771d..33ca7e62f 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -1688,10 +1688,8 @@ Partial Class Compras_Compras 'End If End If - 'SE OCUPAN AFUERA DEL POSTBACK ?? - cargaddlVinculacionServcios() + 'SE OCUPAN AFUERA DEL POSTBACK ?? If UsuarioActual.TienePermisoProceso(117) Then - HplAddClasificacion.Visible = False ImgClasificacion.Visible = False End If @@ -2011,6 +2009,8 @@ Partial Class Compras_Compras SubTotalConceptos = TmpDT.SUMD("Total").RoundSQL If Not TmpDT.Columns.Contains("Amortizacion") Then TmpDT.Columns.Add("Amortizacion", GetType(Decimal)) + + If Not TmpDT.Columns.Contains("AplicaSerie") Then TmpDT.Columns.Add(New DataColumn("AplicaSerie", GetType(Boolean)) With {.DefaultValue = False}) If Not TmpDT.Columns.Contains("AplicaLote") Then TmpDT.Columns.Add(New DataColumn("AplicaLote", GetType(Boolean)) With {.DefaultValue = False}) If Not TmpDT.Columns.Contains("AplicaCaducidad") Then TmpDT.Columns.Add(New DataColumn("AplicaCaducidad", GetType(Boolean)) With {.DefaultValue = False}) If Not TmpDT.Columns.Contains("Lote") Then TmpDT.Columns.Add("Lote", GetType(String)) @@ -2121,7 +2121,10 @@ Partial Class Compras_Compras DdlTipoComprobante.Items.Remove(DdlTipoComprobante.Items.FindByValue("DEV")) DdlTipoCompra.Items.Remove(DdlTipoCompra.Items.FindByValue("6")) DdlTipoCompra.Items.Remove(DdlTipoCompra.Items.FindByValue("11")) - If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then DdlTipoCompra.Items.Add(New ListItem("Recolección", "14")) + If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then + DdlTipoCompra.Items.Add(New ListItem("Recolección", "14")) + DdlTipoCompra.Items.Add(New ListItem("Apoyo sin virtual", "16")) + End If Case "E" DdlTipoComprobante.SelectedValue = "NC" DdlTipoComprobante.Items.Remove(DdlTipoComprobante.Items.FindByValue("Fac")) @@ -2808,6 +2811,9 @@ Partial Class Compras_Compras ViewState("CveProveedor") = CveProveedor ImgBtnBuscarOC.OnClientClick = String.Format("AbrirVentana('/OC/PopUpBuscarReq.aspx?V=VOCCOMP&P={0}&T={1}&Masterimpoup=true',1000,600,'S'); return false;", CveProveedor, DdlTipoComprobante.SelectedValue) + If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then + If dr("TipoDocto").ToString = "Fac" Then DdlTipoCompra.Items.Add(New ListItem("Apoyo sin virtual", "16")) + End If Dim ObjBancos As New ClsBancos() @@ -2817,13 +2823,11 @@ Partial Class Compras_Compras GvCreditosRelacionados.DataBind() GvCreditos.Visible = False GvCreditosRelacionados.Visible = True - PnlContadoCreditos.Visible = True Else GvCreditosRelacionados.DataSource = Nothing GvCreditosRelacionados.Visible = False GvCreditosRelacionados.DataBind() - End If UpGvCreditos.Update() LblImporteCreditos.Visible = True @@ -2847,7 +2851,6 @@ Partial Class Compras_Compras If ChkEsNoDeducible.Checked Then AplicarNoDeducible() LblMetodoPago.Text = dr("MetodoPagoSAT").ToString CveConceptoContableAlmacen = dr("CveConceptoContableAlmacen").ToString.ToEntero - If UsuarioActual.Empresa.UsaAC Then CambiaEjercicioAC(False) End If @@ -3081,19 +3084,15 @@ Partial Class Compras_Compras If Not TmpDT.Columns.Contains("ImporteSinImpuestos") Then TmpDT.Columns.Add("ImporteSinImpuestos", GetType(Decimal)) End If - If Not TmpDT.Columns.Contains("AplicaLote") Then - TmpDT.Columns.Add("AplicaLote", GetType(Boolean)) - End If - If Not TmpDT.Columns.Contains("AplicaCaducidad") Then - TmpDT.Columns.Add("AplicaCaducidad", GetType(Boolean)) - End If + If Not TmpDT.Columns.Contains("AplicaSerie") Then TmpDT.Columns.Add("AplicaSerie", GetType(Boolean)) - If Not TmpDT.Columns.Contains("Lote") Then - TmpDT.Columns.Add("Lote", GetType(String)) - End If - If Not TmpDT.Columns.Contains("FechaCaducidad") Then - TmpDT.Columns.Add("FechaCaducidad", GetType(Date)) - End If + If Not TmpDT.Columns.Contains("AplicaLote") Then TmpDT.Columns.Add("AplicaLote", GetType(Boolean)) + + If Not TmpDT.Columns.Contains("AplicaCaducidad") Then TmpDT.Columns.Add("AplicaCaducidad", GetType(Boolean)) + + If Not TmpDT.Columns.Contains("Lote") Then TmpDT.Columns.Add("Lote", GetType(String)) + + If Not TmpDT.Columns.Contains("FechaCaducidad") Then TmpDT.Columns.Add("FechaCaducidad", GetType(Date)) GvPS.DataSource = TmpDT GvPS.DataBind() @@ -4272,22 +4271,8 @@ Partial Class Compras_Compras #End Region -#Region "Vinculacion De Servcios" - Private Function isAdminObraGluyas() As Boolean - Return (UsuarioActual.CveRol = 1047 And UsuarioActual.CveEmpresa = 66) - End Function - Private Sub cargaddlVinculacionServcios() - If isAdminObraGluyas() Then - TabVinculacionServicios.Visible = True - 'Dim productos As New ClsProductosServicios - 'If productos.GetPS(-1, -1, UsuarioActual.CveEmpresa) Then - ' PSDTRemplazo = productos.DtResultados.FiltraParametros("CveTipoPS=2", "PS") - 'End If - 'productos.Dispose() - GVVinculacionServicios.DataSource = TmpDT - GVVinculacionServicios.DataBind() - End If - End Sub +#Region "Vinculacion De Servicios" + Protected Sub GVVinculacionServicios_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GVVinculacionServicios.RowDataBound If e.Row.RowType = DataControlRowType.DataRow Then Dim dt As DataTable = Nothing @@ -4447,7 +4432,7 @@ Partial Class Compras_Compras Dim CapitalMiltiple As Decimal = GvRow.FCTextBox("TxtCapital").Text.ToDecimal Dim InteresMiltiple As Decimal = GvRow.FCTextBox("TxtInteres").Text.ToDecimal - Dim AmbosMiltiple As Decimal = GvRow.FCTextBox("TxtAmbos").Text.ToDecimal + Dim AmbosMultiple As Decimal = GvRow.FCTextBox("TxtAmbos").Text.ToDecimal Dim MensualidadMultiple As Decimal = GvRow.DataKey("Mensualidad").ToDecimal If CapitalMiltiple > 0 Or InteresMiltiple > 0 Then @@ -4456,9 +4441,9 @@ Partial Class Compras_Compras MensualidadMultipleTotal = MensualidadMultipleTotal + MensualidadMultiple 'CveUltimoCreditoDetalleInterno = GvRow.DataKey("CveCreditoDetalle").ToEntero - ElseIf AmbosMiltiple > 0 Then + ElseIf AmbosMultiple > 0 Then - TotalCreditos = TotalCreditos + AmbosMiltiple + TotalCreditos = TotalCreditos + AmbosMultiple MensualidadMultipleTotal = MensualidadMultipleTotal + MensualidadMultiple 'CveUltimoCreditoDetalleInterno = GvRow.DataKey("CveCreditoDetalle").ToEntero EstatusCredito = GvRow.DataKey("Estatus").ToEntero @@ -5623,284 +5608,287 @@ Partial Class Compras_Compras ' If DdlMoneda.SelectedValue.ToEntero = 1 Or (DdlMoneda.SelectedValue.ToEntero > 1 AndAlso GlobalTipoCambio(TxtFecha.Text.ToDate) > 0) Then ''ALMACEN CONSIGNACION - If CveConsignacion > 0 AndAlso CveCompraRefacturacion <= 0 Then + If DdlTipoComprobante.SelectedValue = "Fac" Then - 'actualizamos cvecompraconsignacion - For Each gvr As GridViewRow In GvInv.Rows - If gvr.FCCheckBox("cbinv").Checked AndAlso gvr.FCHiddenField("HdnCveConsignacion").Value.ToEntero > 0 Then - If Not ObjInventario.UpdateConsignacionesCompra(CveCompra, gvr.FCHiddenField("HdnCveConsignacion").Value.ToEntero, gvr.FCHiddenField("HdnCveAlmacen").Value.ToEntero, gvr.FCHiddenField("HdnCvePS").Value.ToEntero, gvr.DataKey("Cantidad").ToDecimal, UsuarioActual.CveEmpresa) Then - ErrorMovInv = True - Exit For + If CveConsignacion > 0 AndAlso CveCompraRefacturacion <= 0 Then + + 'actualizamos cvecompraconsignacion + For Each gvr As GridViewRow In GvInv.Rows + If gvr.FCCheckBox("cbinv").Checked AndAlso gvr.FCHiddenField("HdnCveConsignacion").Value.ToEntero > 0 Then + If Not ObjInventario.UpdateConsignacionesCompra(CveCompra, gvr.FCHiddenField("HdnCveConsignacion").Value.ToEntero, gvr.FCHiddenField("HdnCveAlmacen").Value.ToEntero, gvr.FCHiddenField("HdnCvePS").Value.ToEntero, gvr.DataKey("Cantidad").ToDecimal, UsuarioActual.CveEmpresa) Then + ErrorMovInv = True + Exit For + End If End If + Next + + If Not ErrorMovInv Then + + Dim x As Integer = 0 + For Each dr As DataRow In DtInv.Rows + If GvInv.Rows(x).FCCheckBox("cbInv").Checked And GvInv.Rows(x).FCTextBox("TbCantidad").Text.ToDouble > 0 Then + + Dim TmpDr As DataRow = TmpDT.Select($"Consec = {dr("Consec").ToString.ToEntero}")(0) 'Charlie + TmpDr("CveAlmacen") = GvInv.Rows(x).FCDropDownList("ddlEAlmacen").SelectedValue.ToEntero 'Charlie + + dr("CveAlmacen") = GvInv.Rows(x).FCDropDownList("ddlealmacen").SelectedValue.ToEntero + dr("Cantidad") = GvInv.Rows(x).FCTextBox("TbCantidad").Text.ToDouble + Else + Dim TmpDr As DataRow = TmpDT.Select($"Consec = {dr("Consec").ToString.ToEntero}")(0) 'Charlie + TmpDr("CveAlmacen") = 0 'Charlie + + dr("CveAlmacen") = 0 + End If + x = x + 1 + Next + + Dim cvemovimientosalida As Integer = 0 + Dim cvemovimientoentrada As Integer = 0 + Dim cvemovimientosalidagasto As Integer = 0 + Dim folio As Integer = 0 + Dim fecha As Date = TxtFecha.Text.ToDate + Dim indice As Integer = 0 + Dim importeconcepto As Decimal = 0 + + Dim listalmacenes As List(Of Integer) = (From cvealmacen In DtInv.AsEnumerable() Where cvealmacen.Field(Of Integer)("cvealmacen") > 0 Select cvealmacen.Field(Of Integer)("cvealmacen")).Distinct().ToList + + For Each tcvealmacen As Integer In listalmacenes + + Dim ObsGDiaz As String = If(EsGrupoDiaz, TxtObsFact.Text, "") + + If GvInv.Rows(indice).FCDropDownList("ddlrecibirinv").SelectedValue = "1" Then + Continue For + End If + indice += 1 + + 'agregamos la entrada + If Not UsuarioActual.Empresa.UsaAC Then fecha = NowADS() + + folio = ObjInventario.GetFolioSiguiente(2, UsuarioActual.CveEmpresa) + cvemovimientoentrada = ObjInventario.AddMovimiento(tcvealmacen, 2, 1, fecha, folio, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCompra, -1, -1, -1, TipoCambio:=If(DdlMoneda.SelectedValue.ToEntero = 1, -1, TipoCambioGuardar), Modulo:="Comp/G4", Observaciones:=ObsGDiaz) + If cvemovimientoentrada <= 0 Then + ErrorMovInv = True + Exit For + Else + CveMovimientoInventario = cvemovimientoentrada + ListaMovimientosAlmacen.Add(CveMovimientoInventario) + + For Each dr As DataRow In DtInv.Rows + If dr("cvealmacen").ToString.ToEntero = tcvealmacen Then + 'hay que restarle descuento + Dim Lote As String = dr("Lote").ToString + Dim FechaCaducidad As Date = If(dr("FechaCaducidad").ToString.ToDate <= MinFecha, MinFecha, dr("FechaCaducidad").ToString.ToDate) + importeconcepto = If(DdlMoneda.SelectedValue.ToEntero = 1, dr("pu").ToString.ToDecimal, dr("pu").ToString.ToDecimal * TipoCambioGuardar) - (If(DdlMoneda.SelectedValue.ToEntero = 1, dr("descuento").ToString.ToDecimal, dr("descuento").ToString.ToDecimal * TipoCambioGuardar) / dr("cantidad").ToString.ToDecimal) + If Not ObjInventario.AddMovimientoDetalle(cvemovimientoentrada, dr("cantidad").ToString.ToDecimal, dr("cveum").ToString.ToEntero, dr("cveps").ToString.ToEntero, importeconcepto, -1, PUTC:=If(DdlMoneda.SelectedValue.ToEntero = 1, -1, dr("pu").ToString.ToDecimal), CveCompraDetalle:=dr("CveCompraDetalle").ToString.ToEntero, Lote:=Lote, FechaCaducidad:=FechaCaducidad) Then + ErrorMovInv = True + Exit For + End If + End If + Next + End If + + 'agregamos la salida + folio = ObjInventario.GetFolioSiguiente(3, UsuarioActual.CveEmpresa) + cvemovimientosalidagasto = ObjInventario.AddMovimiento(tcvealmacen, 3, DdlMoneda.SelectedValue.ToEntero, fecha.AddSeconds(1), folio, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCompra, -1, -1, -1, Modulo:="Comp/G3", Observaciones:=ObsGDiaz) + If cvemovimientosalidagasto <= 0 Then + ErrorMovInv = True + Exit For + Else + If ObjInventario.GetMovimientosDetalle(cvemovimientoentrada, UsuarioActual.CveEmpresa) Then + For Each dr As DataRow In ObjInventario.DtResultados.Rows + Dim Lote As String = dr("Lote").ToString + Dim FechaCaducidad As Date = If(dr("FechaCaducidad").ToString.ToDate <= MinFecha, MinFecha, dr("FechaCaducidad").ToString.ToDate) + If Not ObjInventario.AddMovimientoDetalle(cvemovimientosalidagasto, dr("cantidad").ToString.ToDecimal, dr("cveum").ToString.ToEntero, dr("cveps").ToString.ToEntero, 0, dr("cveaf").ToString.ToEntero, CveCompraDetalle:=dr("CveCompraDetalle").ToString.ToEntero, Lote:=Lote, FechaCaducidad:=FechaCaducidad) Then + ErrorMovInv = True + Exit For + End If + Next + End If + End If + Next + End If - Next - If Not ErrorMovInv Then + ''ALMACEN NORMAL + Else + 'OBTIENE ALMACENES Dim x As Integer = 0 - For Each dr As DataRow In DtInv.Rows - If GvInv.Rows(x).FCCheckBox("cbInv").Checked And GvInv.Rows(x).FCTextBox("TbCantidad").Text.ToDouble > 0 Then + For Each Dr As DataRow In DtInv.Rows + If GvInv.Rows(x).FCCheckBox("cbInv").Checked And GvInv.Rows(x).FCTextBox("TbCantidad").Text.ToDecimal > 0 Then - Dim TmpDr As DataRow = TmpDT.Select($"Consec = {dr("Consec").ToString.ToEntero}")(0) 'Charlie - TmpDr("CveAlmacen") = GvInv.Rows(x).FCDropDownList("ddlEAlmacen").SelectedValue.ToEntero 'Charlie + Dim TmpDr As DataRow = TmpDT.Select($"Consec = {Dr("Consec").ToString.ToEntero}")(0) + TmpDr("CveAlmacen") = GvInv.Rows(x).FCDropDownList("ddlEAlmacen").SelectedValue.ToEntero - dr("CveAlmacen") = GvInv.Rows(x).FCDropDownList("ddlealmacen").SelectedValue.ToEntero - dr("Cantidad") = GvInv.Rows(x).FCTextBox("TbCantidad").Text.ToDouble - Else - Dim TmpDr As DataRow = TmpDT.Select($"Consec = {dr("Consec").ToString.ToEntero}")(0) 'Charlie - TmpDr("CveAlmacen") = 0 'Charlie + Dr("CveAlmacen") = GvInv.Rows(x).FCDropDownList("ddlEAlmacen").SelectedValue.ToEntero + Dr("Cantidad") = GvInv.Rows(x).FCTextBox("TbCantidad").Text.ToDouble - dr("CveAlmacen") = 0 + Else 'limpio el valor para que no truene en linq mas abajo + + Dim TmpDr As DataRow = TmpDT.Select($"Consec = {Dr("Consec").ToString.ToEntero}")(0) + TmpDr("CveAlmacen") = 0 + + Dr("CveAlmacen") = 0 End If x = x + 1 Next - Dim cvemovimientosalida As Integer = 0 - Dim cvemovimientoentrada As Integer = 0 - Dim cvemovimientosalidagasto As Integer = 0 - Dim folio As Integer = 0 - Dim fecha As Date = TxtFecha.Text.ToDate + Dim i As Integer = 0 + Dim ListAlmacenes As List(Of Integer) = (From CveAlmacen In DtInv.AsEnumerable() Where CveAlmacen.Field(Of Integer)("CveAlmacen") > 0 Select CveAlmacen.Field(Of Integer)("CveAlmacen")).Distinct().ToList Dim indice As Integer = 0 - Dim importeconcepto As Decimal = 0 + Dim ImporteConcepto As Decimal = 0 + Dim tCveFolioGarantia As Integer = -1 + Dim tCveEntregaAlmacen As Integer = -1 + Dim CveConceptoMovimiento As Integer = 2 + If UsuarioActual.Empresa.Funcionalidad(531) = "1" AndAlso DdlTipoComprobante.SelectedValue.Contiene("NC", "DEV") Then 'cuando es empresa acumuladora + 'apoyo logistico/garantia + If DdlTipoCompra.SelectedValue = "12" Then 'garantía + CveConceptoMovimiento = 13 + tCveFolioGarantia = DdlFolioGarantia.SelectedValue.ToEntero + End If + ''recolección + 'If DdlTipoCompra.SelectedValue = "14" Then 'recolección + ' CveConceptoMovimiento = 42 + ' tCveEntregaAlmacen = DdlRecoleccion.SelectedValue.ToEntero + 'End If + End If - Dim listalmacenes As List(Of Integer) = (From cvealmacen In DtInv.AsEnumerable() Where cvealmacen.Field(Of Integer)("cvealmacen") > 0 Select cvealmacen.Field(Of Integer)("cvealmacen")).Distinct().ToList - - For Each tcvealmacen As Integer In listalmacenes + If (DdlTipoComprobante.SelectedValue = "Fac" AndAlso CveCompraRefacturacion <= 0) OrElse CveConceptoMovimiento = 13 Then Dim ObsGDiaz As String = If(EsGrupoDiaz, TxtObsFact.Text, "") - If GvInv.Rows(indice).FCDropDownList("ddlrecibirinv").SelectedValue = "1" Then - Continue For - End If - indice += 1 + For Each tCveAlmacen As Integer In ListAlmacenes + If GvInv.Rows(indice).FCDropDownList("DdlRecibirInv").SelectedValue = "1" Then + Continue For + End If + indice += 1 - 'agregamos la entrada - If Not UsuarioActual.Empresa.UsaAC Then fecha = NowADS() + Dim fecha As Date = TxtFecha.Text.ToDate + If Not UsuarioActual.Empresa.UsaAC Then fecha = NowADS() - folio = ObjInventario.GetFolioSiguiente(2, UsuarioActual.CveEmpresa) - cvemovimientoentrada = ObjInventario.AddMovimiento(tcvealmacen, 2, 1, fecha, folio, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCompra, -1, -1, -1, TipoCambio:=If(DdlMoneda.SelectedValue.ToEntero = 1, -1, TipoCambioGuardar), Modulo:="Comp/G4", Observaciones:=ObsGDiaz) - If cvemovimientoentrada <= 0 Then - ErrorMovInv = True - Exit For - Else - CveMovimientoInventario = cvemovimientoentrada - ListaMovimientosAlmacen.Add(CveMovimientoInventario) + CveMovimientoInventario = ObjInventario.AddMovimiento(tCveAlmacen, CveConceptoMovimiento, 1, fecha, 0, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCompra, -1, -1, -1, TipoCambio:=If(DdlMoneda.SelectedValue.ToEntero = 1, -1, TipoCambioGuardar), CveFolioGarantia:=tCveFolioGarantia, Modulo:="Comp/G2", CveEntregaAlmacen:=tCveEntregaAlmacen, Observaciones:=ObsGDiaz) - For Each dr As DataRow In DtInv.Rows - If dr("cvealmacen").ToString.ToEntero = tcvealmacen Then - 'hay que restarle descuento - Dim Lote As String = dr("Lote").ToString - Dim FechaCaducidad As Date = If(dr("FechaCaducidad").ToString.ToDate <= MinFecha, MinFecha, dr("FechaCaducidad").ToString.ToDate) - importeconcepto = If(DdlMoneda.SelectedValue.ToEntero = 1, dr("pu").ToString.ToDecimal, dr("pu").ToString.ToDecimal * TipoCambioGuardar) - (If(DdlMoneda.SelectedValue.ToEntero = 1, dr("descuento").ToString.ToDecimal, dr("descuento").ToString.ToDecimal * TipoCambioGuardar) / dr("cantidad").ToString.ToDecimal) - If Not ObjInventario.AddMovimientoDetalle(cvemovimientoentrada, dr("cantidad").ToString.ToDecimal, dr("cveum").ToString.ToEntero, dr("cveps").ToString.ToEntero, importeconcepto, -1, PUTC:=If(DdlMoneda.SelectedValue.ToEntero = 1, -1, dr("pu").ToString.ToDecimal), CveCompraDetalle:=dr("CveCompraDetalle").ToString.ToEntero, Lote:=Lote, FechaCaducidad:=FechaCaducidad) Then - ErrorMovInv = True - Exit For - End If - End If - Next - End If - - 'agregamos la salida - folio = ObjInventario.GetFolioSiguiente(3, UsuarioActual.CveEmpresa) - cvemovimientosalidagasto = ObjInventario.AddMovimiento(tcvealmacen, 3, DdlMoneda.SelectedValue.ToEntero, fecha.AddSeconds(1), folio, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCompra, -1, -1, -1, Modulo:="Comp/G3", Observaciones:=ObsGDiaz) - If cvemovimientosalidagasto <= 0 Then - ErrorMovInv = True - Exit For - Else - If ObjInventario.GetMovimientosDetalle(cvemovimientoentrada, UsuarioActual.CveEmpresa) Then - For Each dr As DataRow In ObjInventario.DtResultados.Rows - Dim Lote As String = dr("Lote").ToString - Dim FechaCaducidad As Date = If(dr("FechaCaducidad").ToString.ToDate <= MinFecha, MinFecha, dr("FechaCaducidad").ToString.ToDate) - If Not ObjInventario.AddMovimientoDetalle(cvemovimientosalidagasto, dr("cantidad").ToString.ToDecimal, dr("cveum").ToString.ToEntero, dr("cveps").ToString.ToEntero, 0, dr("cveaf").ToString.ToEntero, CveCompraDetalle:=dr("CveCompraDetalle").ToString.ToEntero, Lote:=Lote, FechaCaducidad:=FechaCaducidad) Then - ErrorMovInv = True - Exit For + If CveMovimientoInventario <= 0 Then + ErrorMovInv = True + Else + + Dim DtDetalle As New DataTable + Dim DtEquivalencias As DataTable + Dim CveProducto As Integer + Dim CantidadInv As Decimal + Dim PUInv As Decimal + Dim CveUnidad As Integer + Dim CostoIndirecto As Decimal + Dim tDescuento As Decimal = 0 + + ListaMovimientosAlmacen.Add(CveMovimientoInventario) + + Dim contadorAlamcen As Integer = 0 + For Each Dr As DataRow In DtInv.Rows + + CveProducto = Dr("CvePS").ToString.ToEntero + CveUnidad = Dr("CveUM").ToString.ToEntero + CantidadInv = Dr("Cantidad").ToString.ToDecimal + PUInv = Dr("PU").ToString.ToDecimal + tDescuento = Dr("Descuento").ToString.ToDecimal / CantidadInv + CostoIndirecto = Dr("CostoIndirectoAlmacen").ToString.ToDecimal + + Dim Lote As String = Dr("Lote").ToString + Dim FechaCaducidad As Date = If(Dr("FechaCaducidad").ToString.ToDate <= MinFecha, MinFecha, Dr("FechaCaducidad").ToString.ToDate) + + Dim AplicaLote As Boolean = If(Dr("AplicaLote").ToString.Trim = "", False, Boolean.Parse(Dr("AplicaLote").ToString)) + Dim AplicaCaducidad As Boolean = If(Dr("AplicaCaducidad").ToString.Trim = "", False, Boolean.Parse(Dr("AplicaCaducidad").ToString)) + Dim CodigoPS As String = Dr("CodigoPS").ToString + + If Dr("CveMetodoInventario").ToString.ToEntero = 5 Then + 'SI FUE POR SERIE LOTE + DtDetalle = DtDatosDetalle.FiltraParametros(String.Format("CvePS = {0}", Dr("CvePS"))) + If DtDetalle.Rows.Count > 0 Then + For Each drr As DataRow In DtDetalle.Rows + + Dim fechaDetalle As Date = drr("FechaCaducidad").ToString.ToDate + + If Not ObjInventario.AddMovimientoDetalle(CveMovimientoInventario, 1, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("PU").ToString.ToDecimal, -1, Serie:=drr("Serie").ToString, FechaCaducidad:=drr("FechaCaducidad").ToString.ToDate, CostoIndirecto:=Dr("CostoIndirectoAlmacen").ToString.ToDecimal, CveCompraDetalle:=Dr("CveCompraDetalle").ToString.ToEntero, CveOrdenCompraDetalle:=Dr("CveOrdenCompraDetalle").ToString.ToEntero) Then + ErrorMovInv = True + Exit For + End If + Next + End If + Else + 'UNIDAD BASE - EQUIVALENCIAS - INVENTARIO + If UsuarioActual.CveEmpresa = 1 Then + DtEquivalencias = New DataTable + DtEquivalencias = GlobalDTProductosServiciosEquivalencias(CveProducto, -1, UsuarioActual.CveEmpresa) + Dim CveUnidadBase As Integer = DtEquivalencias.FiltroPrimeroValor("CveUM", "UnidadBase = 'True'").ToEntero + Dim drUMBase As DataRow = DtEquivalencias.FiltroPrimero("UnidadBase = 'True'") + + 'SI LA UNIDAD ACTUAL NO ES LA BASE SACA PROPORCION (EQUIVALENTE) + If CveUnidadBase <> CveUnidad Then + ' LO QUE PUSE LO QUE VALE UNIDAD BASE LO QUE VALE UNIDAD SELECCIONADA + CantidadInv = Dr("Cantidad").ToString.ToDecimal * drUMBase("Cantidad").ToString.ToDecimal / DtEquivalencias.FiltraParametros(String.Format("CveUM = {0}", CveUnidad)).Rows(0)("Cantidad").ToString.ToDecimal + PUInv = PUInv * Dr("Cantidad").ToString.ToDecimal / CantidadInv + CostoIndirecto = CostoIndirecto * Dr("Cantidad").ToString.ToDecimal / CantidadInv + CveUnidad = CveUnidadBase + End If + End If + ImporteConcepto = If(DdlMoneda.SelectedValue.ToEntero = 1, PUInv, PUInv * TipoCambioGuardar) - If(DdlMoneda.SelectedValue.ToEntero = 1, tDescuento, tDescuento * TipoCambioGuardar) + 'si no es por serie lote + ImporteConcepto = If(UsuarioActual.Empresa.UsaAC, ImporteConcepto * IVA, ImporteConcepto) + If Dr("CveAlmacen").ToString.ToEntero = tCveAlmacen Then + + If AplicaLote And Lote.Trim = "" Then + ErrorMovInv = True + Alert($"Porducto {CodigoPS} requiere Lote.", TipoMensaje.MsgAdvertencia) + Exit For + End If + If AplicaCaducidad And FechaCaducidad <= MinFecha Then + ErrorMovInv = True + Alert($"Porducto {CodigoPS} requiere fecha de caducidad.", TipoMensaje.MsgAdvertencia) + Exit For + End If + + If Not ErrorMovInv Then + If Not ObjInventario.AddMovimientoDetalle(CveMovimientoInventario, CantidadInv, CveUnidad, Dr("CvePS").ToString.ToEntero, ImporteConcepto, -1, PUTC:=If(DdlMoneda.SelectedValue.ToEntero = 1, -1, Dr("PU").ToString.ToDecimal), CostoIndirecto:=CostoIndirecto, CveCompraDetalle:=Dr("CveCompraDetalle").ToString.ToEntero, CveOrdenCompraDetalle:=Dr("CveOrdenCompraDetalle").ToString.ToEntero, Lote:=Lote, FechaCaducidad:=FechaCaducidad) Then + ErrorMovInv = True + Exit For + End If + End If + + + End If End If + i = i + 1 + contadorAlamcen = contadorAlamcen + 1 Next - End If - End If - Next - End If - - ''ALMACEN NORMAL - Else - - 'OBTIENE ALMACENES - Dim x As Integer = 0 - For Each Dr As DataRow In DtInv.Rows - If GvInv.Rows(x).FCCheckBox("cbInv").Checked And GvInv.Rows(x).FCTextBox("TbCantidad").Text.ToDecimal > 0 Then - - Dim TmpDr As DataRow = TmpDT.Select($"Consec = {Dr("Consec").ToString.ToEntero}")(0) - TmpDr("CveAlmacen") = GvInv.Rows(x).FCDropDownList("ddlEAlmacen").SelectedValue.ToEntero - - Dr("CveAlmacen") = GvInv.Rows(x).FCDropDownList("ddlEAlmacen").SelectedValue.ToEntero - Dr("Cantidad") = GvInv.Rows(x).FCTextBox("TbCantidad").Text.ToDouble - - Else 'limpio el valor para que no truene en linq mas abajo - - Dim TmpDr As DataRow = TmpDT.Select($"Consec = {Dr("Consec").ToString.ToEntero}")(0) - TmpDr("CveAlmacen") = 0 - - Dr("CveAlmacen") = 0 - End If - x = x + 1 - Next - - Dim i As Integer = 0 - Dim ListAlmacenes As List(Of Integer) = (From CveAlmacen In DtInv.AsEnumerable() Where CveAlmacen.Field(Of Integer)("CveAlmacen") > 0 Select CveAlmacen.Field(Of Integer)("CveAlmacen")).Distinct().ToList - Dim indice As Integer = 0 - Dim ImporteConcepto As Decimal = 0 - Dim tCveFolioGarantia As Integer = -1 - Dim tCveEntregaAlmacen As Integer = -1 - Dim CveConceptoMovimiento As Integer = 2 - If UsuarioActual.Empresa.Funcionalidad(531) = "1" AndAlso DdlTipoComprobante.SelectedValue.Contiene("NC", "DEV") Then 'cuando es empresa acumuladora - 'apoyo logistico/garantia - If DdlTipoCompra.SelectedValue = "12" Then 'garantía - CveConceptoMovimiento = 13 - tCveFolioGarantia = DdlFolioGarantia.SelectedValue.ToEntero - End If - ''recolección - 'If DdlTipoCompra.SelectedValue = "14" Then 'recolección - ' CveConceptoMovimiento = 42 - ' tCveEntregaAlmacen = DdlRecoleccion.SelectedValue.ToEntero - 'End If - End If - - If (DdlTipoComprobante.SelectedValue = "Fac" AndAlso CveCompraRefacturacion <= 0) OrElse CveConceptoMovimiento = 13 Then - - Dim ObsGDiaz As String = If(EsGrupoDiaz, TxtObsFact.Text, "") - - For Each tCveAlmacen As Integer In ListAlmacenes - If GvInv.Rows(indice).FCDropDownList("DdlRecibirInv").SelectedValue = "1" Then - Continue For - End If - indice += 1 - - Dim fecha As Date = TxtFecha.Text.ToDate - If Not UsuarioActual.Empresa.UsaAC Then fecha = NowADS() - - CveMovimientoInventario = ObjInventario.AddMovimiento(tCveAlmacen, CveConceptoMovimiento, 1, fecha, 0, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCompra, -1, -1, -1, TipoCambio:=If(DdlMoneda.SelectedValue.ToEntero = 1, -1, TipoCambioGuardar), CveFolioGarantia:=tCveFolioGarantia, Modulo:="Comp/G2", CveEntregaAlmacen:=tCveEntregaAlmacen, Observaciones:=ObsGDiaz) - - If CveMovimientoInventario <= 0 Then - ErrorMovInv = True - Else - - Dim DtDetalle As New DataTable - Dim DtEquivalencias As DataTable - Dim CveProducto As Integer - Dim CantidadInv As Decimal - Dim PUInv As Decimal - Dim CveUnidad As Integer - Dim CostoIndirecto As Decimal - Dim tDescuento As Decimal = 0 - - ListaMovimientosAlmacen.Add(CveMovimientoInventario) - - Dim contadorAlamcen As Integer = 0 - For Each Dr As DataRow In DtInv.Rows - - CveProducto = Dr("CvePS").ToString.ToEntero - CveUnidad = Dr("CveUM").ToString.ToEntero - CantidadInv = Dr("Cantidad").ToString.ToDecimal - PUInv = Dr("PU").ToString.ToDecimal - tDescuento = Dr("Descuento").ToString.ToDecimal / CantidadInv - CostoIndirecto = Dr("CostoIndirectoAlmacen").ToString.ToDecimal - - Dim Lote As String = Dr("Lote").ToString - Dim FechaCaducidad As Date = If(Dr("FechaCaducidad").ToString.ToDate <= MinFecha, MinFecha, Dr("FechaCaducidad").ToString.ToDate) - - Dim AplicaLote As Boolean = If(Dr("AplicaLote").ToString.Trim = "", False, Boolean.Parse(Dr("AplicaLote").ToString)) - Dim AplicaCaducidad As Boolean = If(Dr("AplicaCaducidad").ToString.Trim = "", False, Boolean.Parse(Dr("AplicaCaducidad").ToString)) - Dim CodigoPS As String = Dr("CodigoPS").ToString - - If Dr("CveMetodoInventario").ToString.ToEntero = 5 Then - 'SI FUE POR SERIE LOTE - DtDetalle = DtDatosDetalle.FiltraParametros(String.Format("CvePS = {0}", Dr("CvePS"))) - If DtDetalle.Rows.Count > 0 Then - For Each drr As DataRow In DtDetalle.Rows - - Dim fechaDetalle As Date = drr("FechaCaducidad").ToString.ToDate - - If Not ObjInventario.AddMovimientoDetalle(CveMovimientoInventario, 1, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("PU").ToString.ToDecimal, -1, Serie:=drr("Serie").ToString, FechaCaducidad:=drr("FechaCaducidad").ToString.ToDate, CostoIndirecto:=Dr("CostoIndirectoAlmacen").ToString.ToDecimal, CveCompraDetalle:=Dr("CveCompraDetalle").ToString.ToEntero, CveOrdenCompraDetalle:=Dr("CveOrdenCompraDetalle").ToString.ToEntero) Then - ErrorMovInv = True - Exit For - End If - Next + ''insertar en prepólizas + If CveMovimientoAlmacen > 0 Then + Dim tImporte As Decimal + If ObjInventario.GetMovimientosDetalle(CveMovimientoAlmacen, UsuarioActual.CveEmpresa) Then + tImporte = ObjInventario.DtResultados.SUM("Total") End If - Else - 'UNIDAD BASE - EQUIVALENCIAS - INVENTARIO - If UsuarioActual.CveEmpresa = 1 Then - DtEquivalencias = New DataTable - DtEquivalencias = GlobalDTProductosServiciosEquivalencias(CveProducto, -1, UsuarioActual.CveEmpresa) - Dim CveUnidadBase As Integer = DtEquivalencias.FiltroPrimeroValor("CveUM", "UnidadBase = 'True'").ToEntero - Dim drUMBase As DataRow = DtEquivalencias.FiltroPrimero("UnidadBase = 'True'") + ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, tImporte, tImporte, 68, ObjInventario.Folio.ToString, ObjInventario.Folio.ToString, CveMovimientoAlmacen:=CveMovimientoInventario) + End If - 'SI LA UNIDAD ACTUAL NO ES LA BASE SACA PROPORCION (EQUIVALENTE) - If CveUnidadBase <> CveUnidad Then - ' LO QUE PUSE LO QUE VALE UNIDAD BASE LO QUE VALE UNIDAD SELECCIONADA - CantidadInv = Dr("Cantidad").ToString.ToDecimal * drUMBase("Cantidad").ToString.ToDecimal / DtEquivalencias.FiltraParametros(String.Format("CveUM = {0}", CveUnidad)).Rows(0)("Cantidad").ToString.ToDecimal - PUInv = PUInv * Dr("Cantidad").ToString.ToDecimal / CantidadInv - CostoIndirecto = CostoIndirecto * Dr("Cantidad").ToString.ToDecimal / CantidadInv - CveUnidad = CveUnidadBase - End If - End If - ImporteConcepto = If(DdlMoneda.SelectedValue.ToEntero = 1, PUInv, PUInv * TipoCambioGuardar) - If(DdlMoneda.SelectedValue.ToEntero = 1, tDescuento, tDescuento * TipoCambioGuardar) - 'si no es por serie lote - ImporteConcepto = If(UsuarioActual.Empresa.UsaAC, ImporteConcepto * IVA, ImporteConcepto) - If Dr("CveAlmacen").ToString.ToEntero = tCveAlmacen Then - - If AplicaLote And Lote.Trim = "" Then + If Not ErrorMovInv Then + 'REPLICAR MOVTO GENERADO + If UsuarioActual.CveEmpresa = 199 AndAlso CveMovimientoInventario > 0 Then + If Not ObjInventario.ReplicarMovtoEmpresa(UsuarioActual.CveEmpresa, CveMovimientoInventario) Then ErrorMovInv = True - Alert($"Porducto {CodigoPS} requiere Lote.", TipoMensaje.MsgAdvertencia) - Exit For End If - If AplicaCaducidad And FechaCaducidad <= MinFecha Then - ErrorMovInv = True - Alert($"Porducto {CodigoPS} requiere fecha de caducidad.", TipoMensaje.MsgAdvertencia) - Exit For - End If - - If Not ErrorMovInv Then - If Not ObjInventario.AddMovimientoDetalle(CveMovimientoInventario, CantidadInv, CveUnidad, Dr("CvePS").ToString.ToEntero, ImporteConcepto, -1, PUTC:=If(DdlMoneda.SelectedValue.ToEntero = 1, -1, Dr("PU").ToString.ToDecimal), CostoIndirecto:=CostoIndirecto, CveCompraDetalle:=Dr("CveCompraDetalle").ToString.ToEntero, CveOrdenCompraDetalle:=Dr("CveOrdenCompraDetalle").ToString.ToEntero, Lote:=Lote, FechaCaducidad:=FechaCaducidad) Then - ErrorMovInv = True - Exit For - End If - End If - - End If End If - i = i + 1 - contadorAlamcen = contadorAlamcen + 1 - Next - ''insertar en prepólizas - If CveMovimientoAlmacen > 0 Then - Dim tImporte As Decimal - If ObjInventario.GetMovimientosDetalle(CveMovimientoAlmacen, UsuarioActual.CveEmpresa) Then - tImporte = ObjInventario.DtResultados.SUM("Total") - End If - ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, tImporte, tImporte, 68, ObjInventario.Folio.ToString, ObjInventario.Folio.ToString, CveMovimientoAlmacen:=CveMovimientoInventario) End If - - If Not ErrorMovInv Then - 'REPLICAR MOVTO GENERADO - If UsuarioActual.CveEmpresa = 199 AndAlso CveMovimientoInventario > 0 Then - If Not ObjInventario.ReplicarMovtoEmpresa(UsuarioActual.CveEmpresa, CveMovimientoInventario) Then - ErrorMovInv = True - End If - End If - End If - - End If - Next + Next + End If End If - End If - If AplicarCostoIndirecto(ObjInventario, ObjCompras) Then - ErrorMovInv = True - End If + If AplicarCostoIndirecto(ObjInventario, ObjCompras) Then + ErrorMovInv = True + End If + End If End If '*************************************************** P R I M E R A P A R T E C O M P R A S ************************************************************************************************************************************************************************************************************************************************************************************************** @@ -6825,7 +6813,7 @@ Partial Class Compras_Compras Dim RegistroCuentaPuente As Boolean = False 'NC CON PRODUCTOS - CUENTA PUENTE - If DdlTipoComprobante.SelectedValue = "NC" And DdlTipoCompra.SelectedValue.Contiene("9", "12") Then + If DdlTipoComprobante.SelectedValue = "NC" AndAlso DdlTipoCompra.SelectedValue.Contiene("9", "12") Then RegistraConcepto225 = True End If @@ -6844,15 +6832,14 @@ Partial Class Compras_Compras If Devolucion IsNot Nothing AndAlso Devolucion.DebeRealizarDevolucion AndAlso Devolucion.CveMovimiento > 0 Then ConceptoContabilizacionNC = 68 CveMovimientoDevolucion = Devolucion.CveMovimiento + importeMovimiento = TmpDT.SUM("Total") + importeMN = importeMovimiento * tipoCambioActual * Multiplicador End If 'cuando es garantía. - If DdlTipoCompra.SelectedValue.Contiene("12", "14") Then - ConceptoContabilizacionNC = 259 - End If + If DdlTipoCompra.SelectedValue.Contiene("12", "14") Then ConceptoContabilizacionNC = 259 Concepto = $"{NombreProveedor} {TxtSerie.Text} - {TxtFolio.Text}" - If importeMovimiento > 0 Or TxtTotal.Text.ToDecimal = 0 Then RegistroCuentaPuente = True Dim ImporteTransito As Decimal = 0 @@ -6870,8 +6857,6 @@ Partial Class Compras_Compras End If End If Next - - Dim importeMNTemp As Decimal = 0 Dim CveCompraAmortizacion As Integer = -1 @@ -6890,19 +6875,15 @@ Partial Class Compras_Compras ImporteTransito += importeMNTemp CveCompraAmortizacion = Gvr.DataKey("CveCompra").ToEntero 'se registra por cada compra relacionada - End If Next If importeMNTemp > 0 Then - 'importeMNTemp = importeMNTemp - TxtDescuento.Text.ToDecimal - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, importeMNTemp, importeMNTemp, ConceptoContabilizacionNC, Referencia, Concepto, CveCompra:=CveCompra, CveCompraAmortizacion:=CveCompraAmortizacion, CveProveedor:=CveProveedorConcepto, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), TipoCambio:=tipoCambioActual, CveMovimientoAlmacen:=CveMovimientoDevolucion, Contabilizable:=SeContabiliza) Then ErrorPrepoliza = True End If End If - 'si se marca que no se va a recibir, falta validación If Not ErrorMovInv AndAlso Not ObjCompras.UpdateEstatusAlmacen(CveCompra, 1, UsuarioActual.CveUsuario) Then ErrorMovInv = True @@ -6923,8 +6904,6 @@ Partial Class Compras_Compras End If End If Else - - Dim DiferenciaDevolucion As Decimal = If(DdlMoneda.SelectedValue.ToEntero <> 1, (importeMovimiento * TxtTC.Text.ToDecimal), importeMovimiento) - TotalRealDevolucion If TotalRealDevolucion <> 0 Then @@ -10923,12 +10902,13 @@ Partial Class Compras_Compras TmpDT.Columns.Add("CveCultivoCuadroDetalle", GetType(Integer)) TmpDT.Columns.Add("TemporadaCuadro", GetType(String)) + TmpDT.Columns.Add("AplicaSerie", GetType(Boolean)) TmpDT.Columns.Add("AplicaLote", GetType(Boolean)) TmpDT.Columns.Add("AplicaCaducidad", GetType(Boolean)) + TmpDT.Columns.Add("Serie", GetType(String)) TmpDT.Columns.Add("Lote", GetType(String)) TmpDT.Columns.Add("FechaCaducidad", GetType(Date)) - TmpDTOriginal = New DataTable TmpDTOriginal.Columns.Add("Consec", GetType(Integer)) TmpDTOriginal.Columns.Add("Cantidad", GetType(Decimal)) @@ -11038,8 +11018,10 @@ Partial Class Compras_Compras TmpDTOriginal.Columns.Add("CveCultivoCuadroDetalle", GetType(Double)) TmpDTOriginal.Columns.Add("TemporadaCuadro", GetType(String)) + TmpDTOriginal.Columns.Add("AplicaSerie", GetType(Boolean)) TmpDTOriginal.Columns.Add("AplicaLote", GetType(Boolean)) TmpDTOriginal.Columns.Add("AplicaCaducidad", GetType(Boolean)) + TmpDTOriginal.Columns.Add("Serie", GetType(String)) TmpDTOriginal.Columns.Add("Lote", GetType(String)) TmpDTOriginal.Columns.Add("FechaCaducidad", GetType(Date)) @@ -12191,8 +12173,6 @@ Partial Class Compras_Compras #Region " AJUSTA IMPORTES " Private Sub AjustaImporteUltimoConcepto(ImporteAjuste As Decimal, Optional EsCarga As Boolean = False) - - If ImporteAjuste = 0 Then Exit Sub Dim Amortizacion As Decimal = 0 @@ -13876,8 +13856,14 @@ Partial Class Compras_Compras 'si no esta vinculado a nc simplemente me lo brinco If realizadevolucion Then - 'si el subtotal es iwal a la nc lo guardo si no marco error - If subtotal > subtotaldevolucion - 1 AndAlso subtotal < subtotaldevolucion + 1 Then + 'si el subtotal es igual a la nc lo guardo si no marco error + Dim tTolerancia As Decimal = 0 + Dim tAjustaUltimo As Boolean = True + If UsuarioActual.Empresa.Funcionalidad(574) = "1" Then + tTolerancia = Math.Abs(TxtSubTotal2.Text.ToDecimal - subtotaldevolucion) + tAjustaUltimo = False + End If + If Math.Abs(subtotal - subtotaldevolucion) <= tTolerancia Then CveMovimientoEntrada = ObjInventario.AddMovimiento(CveAlmacen, 13, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCompra, -1, -1, -1, Modulo:="Comp/G1") If CveMovimientoEntrada <= 0 Then @@ -13894,17 +13880,17 @@ Partial Class Compras_Compras PU = Dr.DataKey("PU").ToString.ToDecimal PUExtranjero = Dr.DataKey("PUExtranjero").ToString.ToDecimal ii += 1 - If CantidadRenglones = ii Then + If CantidadRenglones = ii AndAlso tAjustaUltimo Then Dim dif As Decimal = subtotal - Acumulado - PU = (((Dr.FCTextBox("TxtCantidad").Text.ToDecimal * Dr.DataKey("PU").ToString.ToDecimal)) + dif) / Dr.FCTextBox("TxtCantidad").Text.ToDecimal + PU = (((Dr.FCTextBox("TxtCantidad").Text.ToDecimal * Dr.DataKey("PU").ToDecimal)) + dif) / Dr.FCTextBox("TxtCantidad").Text.ToDecimal End If - If ObjInventario.GetExistenciasProducto(Dr.DataKey("CvePS").ToString.ToEntero, Dr.DataKey("CveUM").ToString.ToEntero, UsuarioActual.CveEmpresa, CveAlmacen, - FechaMovto:=TxtFecha.Text.ToDateTime.AddHours(NowADS().Hour).AddMinutes(NowADS().Minute).AddSeconds(NowADS().Second).ToString("yyyy/MM/dd HH:mm")) Then + Dim tFechaExistencia As DateTime = TxtFecha.Text.ToDateTime.AddHours(NowADS().Hour).AddMinutes(NowADS().Minute).AddSeconds(NowADS().Second) + If ObjInventario.GetExistenciasProducto(Dr.DataKey("CvePS").ToEntero, Dr.DataKey("CveUM").ToEntero, UsuarioActual.CveEmpresa, CveAlmacen, + FechaMovto:=tFechaExistencia.ToString("yyyy/MM/dd HH:mm")) Then Dim Existencia As Decimal = ObjInventario.DtResultados.FiltroPrimeroValor("ExistenciaFinal", String.Format("CveAlmacen = {0}", CveAlmacen)).ToDecimal - If Dr.FCTextBox("TxtCantidad").Text.ToDouble > Existencia Then - Alert($"No hay existencia suficiente del producto {Dr.DataKey("PS").ToString} en la fecha:{TxtFecha.Text}", TipoMensaje.MsgAdvertencia) + Alert($"No hay existencia suficiente del producto:
- {Dr.DataKey("CodigoPS")} en la fecha: {tFechaExistencia.ToString("yyyy/MM/dd HH:mm")}", TipoMensaje.MsgAdvertencia) ErrorMovInv = True Exit For End If @@ -14002,8 +13988,6 @@ Partial Class Compras_Compras Try Dim subtotaldevolucion As Decimal = 0 Dim realizadevolucion As Boolean = False - - 'Calculo los subtotales para comparar con la NC Dim cantidad As Decimal = 0D @@ -14018,11 +14002,13 @@ Partial Class Compras_Compras 'si no esta vinculado a nc simplemente me lo brinco If realizadevolucion Then - 'si el subtotal es iwal a la nc lo guardo si no marco error - If TxtSubTotal2.Text.ToDouble > subtotaldevolucion - 1 AndAlso TxtSubTotal2.Text.ToDouble < subtotaldevolucion + 1 Then - + 'si el subtotal es igual a la nc lo guardo si no marco error + 'si tiene FNC574, se ajustará la diferencia a un concepto como RNC + Dim tTolerancia As Decimal = 1 + 'si tiene la funcionalidad ajustará en un producto la diferencia + If UsuarioActual.Empresa.Funcionalidad(574) = "1" Then tTolerancia = Math.Abs(TxtSubTotal2.Text.ToDecimal - subtotaldevolucion) + If Math.Abs(TxtSubTotal2.Text.ToDecimal - subtotaldevolucion) <= tTolerancia Then VinculaDevolucion() - Else Alert("El Total de la NC debe ser igual al total de la devolucion", TipoMensaje.MsgAdvertencia) End If @@ -14047,48 +14033,42 @@ Partial Class Compras_Compras Dim RetIVACompra As Decimal = TxtRetIVA.Text.ToDecimal() Dim RetISRCompra As Decimal = TxtRetISR.Text.ToDecimal() Dim Acumulado As Decimal = 0 - - 'Dim TotalCalculable As Decimal = TotalCompra - IEPSCompra + RetIVACompra + RetISRCompra - Dim IVAPorcentajeCompra As Decimal = Math.Round((IVACompra / SubTotalCompra), 2) Dim Contador As Integer = 0 Dim Consec As Integer = 0 + Dim tAjusteUltimo As Boolean = True For Each gvr As GridViewRow In GVDevolucion.Rows If gvr.FCTextBox("TxtCantidad").Text.ToDecimal > 0 Then Contador += 1 End If Next - Dim CveSubProyectoContrato As String = GlobalDTAlmacen(UsuarioActual.CveEmpresa, CveAlmacen:=DdlAlmacenDevolucion.SelectedValue.ToEntero).FiltroPrimeroValor("CveSubProyecto") - Dim SubProyecto As String = GlobalDTSubProyectos(UsuarioActual.CveEmpresa, CveSubProyecto:=CveSubProyectoContrato.ToEntero).FiltroPrimeroValor("SubProyecto") + Dim Total As Decimal = 0 + Dim CveSubProyectoDev As String = GlobalDTAlmacen(UsuarioActual.CveEmpresa, CveAlmacen:=DdlAlmacenDevolucion.SelectedValue.ToEntero).FiltroPrimeroValor("CveSubProyecto") + Dim SubProyecto As String = GlobalDTSubProyectos(UsuarioActual.CveEmpresa, CveSubProyecto:=CveSubProyectoDev.ToEntero).FiltroPrimeroValor("SubProyecto") 'Iteramos el GridView de la OC + If UsuarioActual.Empresa.Funcionalidad(574) = "1" Then tAjusteUltimo = False For Each gvr As GridViewRow In GVDevolucion.Rows If gvr.FCTextBox("TxtCantidad").Text.ToDecimal > 0 Then - Dim CvePS As Integer = gvr.DataKey("CvePS").ToString.ToEntero - 'Dim DrPS As DataRow = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CvePS:=CvePS).FiltroPrimero("") - Dim Cantidad As Decimal = gvr.FCTextBox("TxtCantidad").Text.ToDecimal Dim CveUM As Integer = gvr.DataKey("CveUM").ToString.ToEntero Dim UM As String = gvr.DataKey("UM").ToString Dim CveClasificacion As Integer = gvr.DataKey("CveClasificacion").ToString.ToEntero Dim Clasificacion As String = gvr.DataKey("Clasificacion").ToString - Dim PS As String = gvr.DataKey("PS").ToString + Dim PS As String = gvr.DataKey("CodigoPS").ToString Dim CveTipoPS As Integer = gvr.DataKey("CveTipoPS").ToString.ToEntero - Dim CveProyecto As String = "-1" - Dim Proyecto As String = "Seleccione" Dim Obs As String = "" Dim PU As Decimal = gvr.DataKey("PU").ToString.ToDecimal - Dim Total As Decimal = gvr.FCTextBox("TxtTotalDevolucion").Text.ToDecimal - Dim IVA As Decimal = IVAPorcentajeCompra 'Math.Round(Total * IVAPorcentajeCompra, 2) + Total = gvr.FCTextBox("TxtTotalDevolucion").Text.ToDecimal Dim Descuento As Decimal = 0 Acumulado += (PU * Cantidad) Consec += 1 - If Consec = Contador Then 'SubTotalCompra < Acumulado Then + If Consec = Contador AndAlso tAjusteUltimo Then 'SubTotalCompra < Acumulado Then 'ajusta el valor Dim dif As Decimal = SubTotalCompra - Acumulado If dif <> 0 Then @@ -14096,10 +14076,25 @@ Partial Class Compras_Compras Total = Cantidad * PU End If End If - AddPS(Cantidad, CveUM, UM, CveClasificacion, Clasificacion, CvePS, PS, CveTipoPS, CveSubProyectoContrato, SubProyecto, Proyecto, CveProyecto, Obs, PU, Total, IVA, 0, 0, 0, 0, Descuento, -1, False) + AddPS(Cantidad, CveUM, UM, CveClasificacion, Clasificacion, CvePS, PS, CveTipoPS, CveSubProyectoDev, SubProyecto, Proyecto, CveProyecto, Obs, PU, Total, IVAPorcentajeCompra, 0, 0, 0, 0, Descuento, -1, False, CveAlmacen:=DdlAlmacenDevolucion.SelectedValue.ToEntero) End If Next + If UsuarioActual.Empresa.Funcionalidad(574) = "1" Then + Dim CvePS_RNC As Integer = UsuarioActual.Empresa.Funcionalidad(580).ToEntero + If CvePS_RNC = 0 Then + Alert("producto utilizado para diferencia no definido.") + Exit Sub + End If + Dim PSRow As DataRow = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CvePS:=CvePS_RNC).FiltroPrimero("") + Dim PS As String = PSRow("PSCodigo").ToString + Dim tDif As Decimal = TxtSubTotal2.Text.ToDecimal - Total + + AddPS(1, PSRow("CveUnidadMedida").ToString.ToEntero, PSRow("UnidadMedida").ToString, + PSRow("CveClasificacion").ToString.ToEntero, PSRow("Clasificacion").ToString, CvePS_RNC, PS, 1, CveSubProyectoDev.ToString, SubProyecto, "", "-1", "", tDif, tDif, IVAPorcentajeCompra, 0, 0, 0, 0, 0) + + End If + AddPS2() BtnGuardar.Enabled = True @@ -14115,7 +14110,7 @@ Partial Class Compras_Compras ImgClasificacion.Visible = False LbAgregar.Visible = False - UpPSS.Update() + 'CargaGvInv() @@ -14137,7 +14132,6 @@ Partial Class Compras_Compras End If GvOC1.DataBind() - ' TmpDT = OrdenarTablas("CvePS", DTOCTemp, TmpDT) GvOC2.DataSource = TmpDT GvOC2.DataBind() @@ -14491,19 +14485,13 @@ Partial Class Compras_Compras End If End If - If Not TmpDT.Columns.Contains("AplicaLote") Then - TmpDT.Columns.Add("AplicaLote", GetType(Boolean)) - End If - If Not TmpDT.Columns.Contains("AplicaCaducidad") Then - TmpDT.Columns.Add("AplicaCaducidad", GetType(Boolean)) - End If - If Not TmpDT.Columns.Contains("Lote") Then - TmpDT.Columns.Add("Lote", GetType(String)) - End If - If Not TmpDT.Columns.Contains("FechaCaducidad") Then - TmpDT.Columns.Add("FechaCaducidad", GetType(Date)) - End If + If Not TmpDT.Columns.Contains("AplicaLote") Then TmpDT.Columns.Add("AplicaLote", GetType(Boolean)) + If Not TmpDT.Columns.Contains("AplicaCaducidad") Then TmpDT.Columns.Add("AplicaCaducidad", GetType(Boolean)) + + If Not TmpDT.Columns.Contains("Lote") Then TmpDT.Columns.Add("Lote", GetType(String)) + + If Not TmpDT.Columns.Contains("FechaCaducidad") Then TmpDT.Columns.Add("FechaCaducidad", GetType(Date)) If ObjInventario.GetInv_ComprasMov(CveCompra, UsuarioActual.CveEmpresa) Then If ObjInventario.DtResultados.Rows.Count > 0 Then @@ -18169,7 +18157,7 @@ Partial Class Compras_Compras Case "A" 'ADD Dim SATClavePS As Integer = -1 - Dim PSRow As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=DdlPS.SelectedValue.ToEntero).FiltroPrimero("") + Dim PSRow As DataRow = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CvePS:=DdlPS.SelectedValue.ToEntero).FiltroPrimero("") If PSRow IsNot Nothing Then SATClavePS = PSRow("SATClavePS").ToString.ToEntero End If @@ -18258,13 +18246,10 @@ Partial Class Compras_Compras Optional PSCodigo As String = "-", Optional PSDescripcion As String = "-", Optional CantidadF As Double = -1, Optional EntregaDirecta As Integer = -1, Optional OtrosGastos As Decimal = 0, Optional CveSATPS As Integer = -1, Optional CargaXml As Boolean = False, Optional CveTipoGasto As Integer = -1, Optional TipoGasto As String = "", Optional PorcentajeIVA As Decimal = 0, Optional PorcentajeIEPS As Decimal = 0, Optional PorcentajeRetIVA As Decimal = 0, Optional PorcentajeRetISR As Decimal = 0, Optional NoDeducible As Boolean = False, Optional CveContratoDetalle As Integer = -1, Optional CveCultivoCuadroDetalle As Integer = -1, - Optional CveSATPSActualizado As Boolean = False, Optional TemporadaCuadro As String = "", Optional CodigoPS As String = "") As Integer + Optional CveSATPSActualizado As Boolean = False, Optional TemporadaCuadro As String = "", Optional CodigoPS As String = "", Optional CveAlmacen As Integer = -1) As Integer Dim Row As DataRow = Nothing - - If Not TmpDT.Columns.Contains("CodigoPS") Then - TmpDT.Columns.Add("CodigoPS") - End If + If Not TmpDT.Columns.Contains("CodigoPS") Then TmpDT.Columns.Add("CodigoPS") Row = TmpDT.NewRow() Dim Retorno As Integer = 0 @@ -18422,11 +18407,14 @@ Partial Class Compras_Compras Row("CveTipoGasto") = CveTipoGasto Row("TipoGasto") = If(CveTipoGasto > 0, TipoGasto, "") - Row("CveContratoDetalle") = CveContratoDetalle + Row("AplicaSerie") = DrPS("AplicaSerie") + Row("AplicaLote") = DrPS("AplicaLote") + Row("AplicaCaducidad") = DrPS("AplicaCaducidad") Row("CveCultivoCuadroDetalle") = CveCultivoCuadroDetalle Row("TemporadaCuadro") = TemporadaCuadro + If CveAlmacen > 0 Then Row("CveAlmacen") = CveAlmacen If UsuarioActual.Empresa.UsaAC Then Row("CveProgramaOperativo") = DdlACGeneral1.SelectedValue.ToEntero @@ -18436,7 +18424,6 @@ Partial Class Compras_Compras Row("CveClasificacionOG") = DdlACGeneral5.SelectedValue.ToEntero End If - 'Esta parte es para validar cuando la factura tenga ieps en o se asignara el ieps como una partida ya no se considere If (CveFactura > 0 Or CveCompra > 0) And TxtIEPS.Text.ToDecimal = 0 Then Row("IEPSPS") = 0 @@ -20749,18 +20736,27 @@ Partial Class Compras_Compras End If End If - If DdlTipoCompra.SelectedValue = "15" Then 'Remisión de nota de crédito + If UsuarioActual.Empresa.Funcionalidad(574) = "1" Then 'cuando es emp DIAZ - If DdlTipoComprobante.SelectedValue = "NC" Then - CargaGVRemisionNotaCredito() - HLAplicaNCFact.Visible = False + If DdlTipoCompra.SelectedValue = "15" Then 'Remisión de nota de crédito + + If DdlTipoComprobante.SelectedValue = "NC" Then + CargaGVRemisionNotaCredito() + HLAplicaNCFact.Visible = False + Else + Alert("Para elegir Remisión de Nota de Crédito el tipo de documento debe de ser Nota de Crédito.", TipoMensaje.MsgAdvertencia) + 'DdlRemisionNotaCredito.SelectedValueExist(-1) + DdlTipoCompra.SelectedValueExist(-1) + End If Else - Alert("Para elegir Remisión de Nota de Crédito el tipo de documento debe de ser Nota de Crédito.", TipoMensaje.MsgAdvertencia) - 'DdlRemisionNotaCredito.SelectedValueExist(-1) - DdlTipoCompra.SelectedValueExist(-1) + 'SE ACTIVA DE NUEVO PARA LA SELECCIÓN + HLAplicaNCFact.Visible = True + InicializaAplicaNCFact() + If CveFactura > 0 Then NCSeleccionFacturasRelacionadas(UUIDSList) End If End If + End Sub @@ -22850,7 +22846,7 @@ Public Class ClsCompraManagerCompras Public Property CveMetodoPago As Integer Public Property MetodoPago As String - Public Property DocumentosRelacionadosUUIDSList As List(Of String) = New List(Of String) + Public Property DocumentosRelacionadosUUIDSList As HashSet(Of String) = New HashSet(Of String) Public ReadOnly Property DocumentosRelacionadosUUIDSString As String Get Return GeneraStringDoctosRelacionados() @@ -23069,7 +23065,7 @@ Public Class ClsCompraManagerCompras If TipoComprobante.ToUpper = "E" AndAlso (CFDIVersion = EnumCFDIVersion.v33 OrElse CFDIVersion = EnumCFDIVersion.v40) Then Dim UUIDS As String = "" - Dim UUIDSLista As New List(Of String) + Dim UUIDSLista As New HashSet(Of String) Dim nodeCFDIRelacionados As XmlNode nodeCFDIRelacionados = XMLDoc.SelectSingleNode(String.Format("//{0}:CfdiRelacionados", Prefijo), namespaces) @@ -23221,6 +23217,7 @@ Public Class ClsCompraManagerCompras If Not TmpDT.Columns.Contains("AplicaLote") Then TmpDT.Columns.Add("AplicaLote", GetType(Boolean)) If Not TmpDT.Columns.Contains("AplicaCaducidad") Then TmpDT.Columns.Add("AplicaCaducidad", GetType(Boolean)) + If Not TmpDT.Columns.Contains("AplicaSerie") Then TmpDT.Columns.Add("AplicaSerie", GetType(Boolean)) If Not TmpDT.Columns.Contains("Lote") Then TmpDT.Columns.Add("Lote", GetType(String)) @@ -23471,7 +23468,7 @@ Public Class ClsCompraManagerCompras TmpDT.Columns.Add("TemporadaCuadro", GetType(String)) TmpDT.Columns.Add("NoIdentificacion", GetType(String)) - + TmpDT.Columns.Add("AplicaSerie", GetType(Boolean)) TmpDT.Columns.Add("AplicaLote", GetType(Boolean)) TmpDT.Columns.Add("AplicaCaducidad", GetType(Boolean)) diff --git a/Compras/PopUpVerFactura.aspx.vb b/Compras/PopUpVerFactura.aspx.vb index cc779f1fa..bb7c75bd0 100644 --- a/Compras/PopUpVerFactura.aspx.vb +++ b/Compras/PopUpVerFactura.aspx.vb @@ -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() diff --git a/Compras/ReembolsosComprobaciones.aspx.vb b/Compras/ReembolsosComprobaciones.aspx.vb index 8ad336c6e..822888a18 100644 --- a/Compras/ReembolsosComprobaciones.aspx.vb +++ b/Compras/ReembolsosComprobaciones.aspx.vb @@ -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 diff --git a/Compras/eFacturas.aspx b/Compras/eFacturas.aspx index 0e84a3b80..8ce9fe9ff 100644 --- a/Compras/eFacturas.aspx +++ b/Compras/eFacturas.aspx @@ -319,7 +319,6 @@
-
diff --git a/Compras/eFacturas.aspx.vb b/Compras/eFacturas.aspx.vb index 91cba7038..4a4a355c6 100644 --- a/Compras/eFacturas.aspx.vb +++ b/Compras/eFacturas.aspx.vb @@ -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" diff --git a/Empresas/189/Formatos/DevolucionProveedor.rdlc b/Empresas/189/Formatos/DevolucionProveedor.rdlc deleted file mode 100644 index 52b504801..000000000 --- a/Empresas/189/Formatos/DevolucionProveedor.rdlc +++ /dev/null @@ -1,2458 +0,0 @@ - - - 0 - - - - System.Data.DataSet - /* Local Connection */ - - 1f7ab5df-1d00-4763-8479-9ab750b1589a - - - - System.Data.DataSet - /* Local Connection */ - - 7ef92796-1755-4a85-b80c-8c8266256a94 - - - - - - DsInventarios - /* Local Query */ - - - - Codigo - System.String - - - PS - System.String - - - UnidadMedida - System.String - - - PU - System.Decimal - - - Cantidad - System.Decimal - - - Total - System.Decimal - - - Descuento - System.Decimal - - - CodigoAF - System.String - - - Almacen - System.String - - - Serie - System.String - - - SeccionAlmacen - System.String - - - NumeroParte - System.String - - - - DsInventarios - C:\inetpub\wwwVentas\App_Code\DsInventarios.xsd - DtMovimientos - - - - - - - - - - - - - - - 0.97724cm - - - 1.40581cm - - - 1.40148cm - - - 2.95567cm - - - 10.82525cm - - - 1.63389cm - - - 1.96383cm - - - - - 0.44125cm - - - - - true - true - - - - - CANT - - - - - - - Textbox7 - - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - - LightGrey - - #e36c09 - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - U.M. - - - - - - - Textbox13 - - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - - LightGrey - - #e36c09 - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Código - - - - - - - Textbox9 - - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - - LightGrey - - #e36c09 - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - # Parte - - - - - - - Textbox1 - - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - - LightGrey - - #e36c09 - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Descripción - - - - - - - Textbox11 - - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - - LightGrey - - #e36c09 - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Cos.Unit. - - - - - - - Textbox17 - - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - - LightGrey - - #e36c09 - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Importe - - - - - - - Textbox19 - - - - LightGrey - - 1pt - - - LightGrey - - 1pt - - - LightGrey - - - LightGrey - - #e36c09 - 2pt - 2pt - 2pt - 2pt - - - - - - - - 0.3cm - - - - - true - true - - - - - =Fields!Cantidad.Value - - - - - - - Cantidad - - - 2pt - 2pt - =IIf(RowNumber(Nothing)=1,"1pt","0pt") - - - - - - - - true - true - - - - - =Fields!UnidadMedida.Value - - - - - - - UnidadMedida1 - - - 2pt - 2pt - =IIf(RowNumber(Nothing)=1,"1pt","0pt") - - - - - - - - true - true - - - - - =Fields!Codigo.Value - - - - - - - Codigo - - - 2pt - 2pt - =IIf(RowNumber(Nothing)=1,"1pt","0pt") - - - - - - - - true - true - - - - - =Fields!NumeroParte.Value - - - - - - - NumeroParte - - - 2pt - 2pt - =IIf(RowNumber(Nothing)=1,"1pt","0pt") - - - - - - - - true - true - - - - - =Fields!PS.Value - - - - - - 2pt - 2pt - =IIf(RowNumber(Nothing)=1,"1pt","0pt") - - - - - - - - true - true - - - - - =Fields!PU.Value - - - - - - - PU - - - 2pt - 2pt - =IIf(RowNumber(Nothing)=1,"1pt","0pt") - - - - - - - - true - true - - - - - =Fields!Total.Value - - - - - - - Total - - - 2pt - 2pt - =IIf(RowNumber(Nothing)=1,"1pt","0pt") - - - - - - - - - - - - - - - - - - - - - - - After - - - - - - - DsInventarios - 0.17639cm - 0.09756cm - 0.74125cm - 21.16317cm - - - - - - 1.53162cm - 0.14707cm - 0cm - 21.07279cm - 1 - - - - - - - - - 1.5403cm - - - 2.0317cm - - - - - 0.46771cm - - - - - true - true - - - - - Sub Total: - - - - - - - Textbox33 - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Sum(Fields!Total.Value) - - - - - - - Textbox38 - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - - - - - - - - - - - - - DsInventarios - 1.63745cm - 17.67029cm - 0.46771cm - 3.572cm - 2 - - - - - - true - true - - - - - =Parameters!Observaciones.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - OBSERVACIONES: - - - - - - 2pt - 2pt - 2pt - 2pt - - - - 1.53597in - - - - - - - Textbox34 - 0.07056cm - 11.4003cm - 0.6cm - 9.85131cm - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Factura de: - - - - - - - - - - - =Parameters!NombreProveedor.Value - - - - - - - - - - - =Parameters!RFCProveedor.Value - - - - - - - - - - - =Parameters!FechaFactura.Value - - - - - - - - - - - =Parameters!SerieFolio.Value - - - - - - - - - - - =Parameters!Moneda.Value - - - - - - - - - - - =Parameters!NumeroOrden.Value - - - - - - - - - - - =Parameters!TelefonoProveedor.Value - - - - - - - - - - - =Parameters!ContactoProveedor.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Folio - - - - : - - - - =Parameters!Folio.Value - - - - - - - - - Almacén: - - - - =Parameters!Almacen.Value - - - - - - - - - Capturo: - - - - =Parameters!NombreCapturo.Value - - - - - - - Textbox50 - 0.74112cm - 6.60454cm - 1.25419cm - 14.64707cm - 2 - - - 2pt - 2pt - 2pt - 2pt - - - - Embedded - Logo2 - FitProportional - 0.07056cm - 0.25918in - 0.72671in - 1.56919in - 3 - - - - - - true - true - - - - - Fecha de Entrada: - - - - - - - - - - - - - - - - - - - - - - - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!Fecha.Value - - - - - - - - - =Parameters!FechaVencimiento.Value - - - - - - - - - =Parameters!Condicion.Value - - - - - - - - - =Parameters!SubTotal.Value - - - - - - - - - =Parameters!IVA.Value - - - - - - - - - =Parameters!Total.Value - - - - - - - - - =Parameters!Saldo.Value - - - - - - - Textbox2 - 2.13642cm - 18.06883cm - 2.87013cm - 3.15103cm - 5 - - =Parameters!CveTipoAlmacen.Value = "19" - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - - 2.34625cm - true - true - - - 1.1404cm - 0.05012cm - 0cm - 21.20149cm - - - - - - true - true - - - - - Usuario: - - - - - - - - - true - true - - - - - =Parameters!UsuarioImprimio.Value - - - - - - - Textbox18 - 1.22061cm - 1.49125cm - 0.44125cm - 6.09106cm - 2 - - - - - - true - true - - - - - Fecha Impresión: - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Globals!ExecutionTime - - - - - - - Textbox18 - 1.22061cm - 11.39641cm - 0.44125cm - 3.44953cm - 4 - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - ="Página " & Globals.PageNumber & " de " & Globals.TotalPages - - - - - - - Textbox3 - 1.22061cm - 17.50011cm - 0.38981cm - 3.61081cm - 5 - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - IMPRESO EN SIG, Entradas / Salidas - - - - - - - - - - - 0.18344cm - 1.53738cm - 0cm - 5.13525cm - - - - - - true - true - - - - - =Parameters!NombreRecibio.Value - - - - - - - Textbox31 - 0.28984cm - 1.12254cm - 0.56472cm - 5.95755cm - 1 - - - 2pt - 2pt - 2pt - 2pt - - - - 0.18344cm - 13.54798cm - 0cm - 5.24108cm - 2 - - - - - - true - true - - - - - =Parameters!NombreEntrego.Value - - - - - - - Textbox31 - 0.25456cm - 13.15111cm - 0.6cm - 5.95755cm - 3 - - - 2pt - 2pt - 2pt - 2pt - - - - true - 0.17639cm - 0.16513cm - 0.85456cm - 21.08648cm - 7 - - =IIf( Globals.PageNumber = Globals.TotalPages, False, True) - - - - - - - - - - - 27.94cm - 21.59cm - 0.1cm - 0.1cm - 1cm - 0cm - 0.13cm - - - - - - - Textbox4 - - - Silver - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Nombre Comercial - - - - - - - Textbox16 - - - Silver - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Total - - - - - - - Textbox18 - - - Silver - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Método de Pago - - - - - - - Textbox20 - - - Silver - 2pt - 2pt - 2pt - 2pt - - - - - - - - 0.45234cm - - - - - true - - - - - =Fields!SerieFolio.Value - - - - - - - MetodoPago - - - =IIF(Fields!CveVenta.Value = nothing,IIF(Fields!MetodoPago.Value = "","#5E738B","#578EBE"),"White") - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - - - - - =Fields!NombreComercial.Value - - - - - - - Importe - - - =IIF(Fields!CveVenta.Value = nothing,IIF(Fields!MetodoPago.Value = "","#5E738B","#578EBE"),"White") - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!ImportePagado.Value - - - - - - - ImportePagado - - - =IIF(Fields!CveVenta.Value = nothing,IIF(Fields!MetodoPago.Value = "","#5E738B","#578EBE"),"White") - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!MetodoPago.Value - - - - - - - MetodoPago1 - - - =IIF(Fields!CveVenta.Value = nothing,IIF(Fields!MetodoPago.Value = "","#5E738B","#578EBE"),"White") - 2pt - 2pt - 2pt - 2pt - - - - - - - - - - - - - - - - - - - - After - - - - - - - DataSet2 - 3.94244cm - 0.06614cm - 0.93113cm - 20.36443cm - - - - - - - - - 2.34715cm - - - 1.92129cm - - - - - 0.47879cm - - - - - true - true - - - - - Resumen - - - - - - - Textbox4 - - - Silver - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Total - - - - - - - Textbox16 - - - Silver - 2pt - 2pt - 2pt - 2pt - - - - - - - - 0.42588cm - - - - - true - - - - - =Fields!Columna.Value - - - - - - - MetodoPago - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - - - - - =Fields!Importe.Value - - - - - - - Importe - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - - - - - - - - - - - After - - - - - - - DataSet3 - - - =Fields!Orden.Value - LessThanOrEqual - - 7 - - - - 0.73025cm - 0.06614cm - 0.90467cm - 4.26844cm - 1 - - - - - - - - - 2.68035cm - - - 2.97963cm - - - - - 0.47879cm - - - - - true - true - - - - - Resumen - - - - - - - Textbox4 - - - Silver - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Total - - - - - - - Textbox16 - - - Silver - 2pt - 2pt - 2pt - 2pt - - - - - - - - 0.42588cm - - - - - true - - - - - =Fields!Columna.Value - - - - - - - MetodoPago - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - - - - - =Fields!Importe.Value - - - - - - - Importe - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - - - - - - - - - - - After - - - - - - - DataSet4 - 0.73025cm - 14.77059cm - 0.90467cm - 5.65998cm - 2 - - - - - - true - true - - - - - Resumen de transacciones - - - - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Estado de la caja - - - - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - 2.73022cm - - - 7.79329cm - - - 2.28714cm - - - - - 0.47879cm - - - - - true - true - - - - - Tipo - - - - - - - Textbox4 - - - Silver - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Descripción - - - - - - - Textbox16 - - - Silver - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Total - - - - - - - Textbox18 - - - Silver - 2pt - 2pt - 2pt - 2pt - - - - - - - - 0.45234cm - - - - - true - - - - - =Fields!TipoMovimiento.Value - - - - - - - MetodoPago - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - - - - - =Fields!Descripcion.Value - - - - - - - Importe - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!Importe.Value - - - - - - - ImportePagado - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - - - - - - - - - - - - After - - - - - - - DataSet5 - 5.5794cm - 0.06614cm - 0.93113cm - 12.81065cm - 5 - - - - - - true - true - - - - - Movimientos de caja - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Movimientos del día - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - 2.73022cm - - - 2.09811cm - - - 2.28714cm - - - - - 0.47879cm - - - - - true - true - - - - - Tipo de deposito - - - - - - - Textbox4 - - - Silver - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Folio - - - - - - - Textbox16 - - - Silver - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Total - - - - - - - Textbox18 - - - Silver - 2pt - 2pt - 2pt - 2pt - - - - - - - - 0.45234cm - - - - - true - - - - - =Fields!TipoTransaccion.Value - - - - - - - MetodoPago - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - - - - - =Fields!FolioPago.Value - - - - - - - Importe - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!Importe.Value - - - - - - - ImportePagado - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - - - - - - - - - - - - After - - - - - - - DsDepositos - 2.30548cm - 0.06614cm - 0.93113cm - 7.11547cm - 8 - - - - - - true - true - - - - - Depositos de caja - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - 2.06748cm - - - 2.51199cm - - - 2.28714cm - - - 2.40196cm - - - 2.15604cm - - - - - 0.47879cm - - - - - true - true - - - - - Código - - - - - - - Textbox4 - - - Silver - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Nombre - - - - - - - Textbox16 - - - Silver - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Cargos - - - - - - - Textbox18 - - - Silver - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Abonos - - - - - - - Textbox43 - - - Silver - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Saldo - - - - - - - Textbox47 - - - Silver - 2pt - 2pt - 2pt - 2pt - - - - - - - - 0.45234cm - - - - - true - - - - - =Fields!Codigo.Value - - - - - - - MetodoPago - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - - - - - =Fields!Nombre.Value - - - - - - - Importe - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!Cargos.Value - - - - - - - ImportePagado - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!Abonos.Value - - - - - - - Abonos - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =(Fields!Cargos.Value - Fields!Abonos.Value) - - - - - - - Abonos1 - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - - - - - - - - - - - - - - After - - - - - - - DsContabilidad - 2.30548cm - 8.20037cm - 0.93113cm - 11.42461cm - 10 - - - - - - true - true - - - - - Estado contable de la caja - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - 3.59941cm - - - 2.86498cm - - - - - 0.47879cm - - - - - true - true - - - - - Método de Pago - - - - - - - Textbox4 - - - Silver - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Total - - - - - - - Textbox16 - - - Silver - 2pt - 2pt - 2pt - 2pt - - - - - - - - 0.42588cm - - - - - true - - - - - =Fields!MetodoPago.Value - - - - - - - MetodoPago - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - - - - - =Fields!Importe.Value - - - - - - - Importe - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - - - - - - - - - - - After - - - - - - - DataSet1 - 0.73025cm - 8.20037cm - 0.90467cm - 6.46439cm - 12 - - - - - - true - true - - - - - Detalles de pago - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - 1.9341cm - - - 1.81281cm - - - - - 0.42588cm - - - - - true - - - - - =Fields!Columna.Value - - - - - - - MetodoPago - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - - - - - =Fields!Importe.Value - - - - - - - Importe - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - - - - - - - - - - - - - - - DataSet3 - - - =Fields!Orden.Value - GreaterThanOrEqual - - 8 - - - - 1.24432cm - 4.37868cm - 0.42588cm - 3.74691cm - 14 - - - - - - 2.5632in - - - - - - - Textbox1 - 0.18521cm - 2.8349cm - 0.6cm - 15.80743cm - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - REPORTE DE CORTES - - - - - - - Textbox2 - 1.10271cm - 5.07342cm - 0.52945cm - 10.36447cm - 1 - - - 2pt - 2pt - 2pt - 2pt - - - - External - =Parameters!LogoPath.Value - FitProportional - 0.06614cm - 2.22362cm - 2.33715cm - 2 - - - - - - true - true - - - - - =Parameters!AgrupoPor.Value - HTML - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - - 0.68792cm - true - true - - - true - true - - - - - ="Página " & Globals.PageNumber & " de " & Globals.TotalPages - - - - - - - Textbox3 - 0.08289cm - 15.43789cm - 0.38981cm - 3.20444cm - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Usuario: - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!UsuarioImprimio.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Fecha Impresión: - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!FechaImpresion.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - 27.94cm - 21.59cm - 0.5cm - 0.5cm - 0.3cm - 0.5cm - 0.13cm - - - - - - - Textbox28 - - - - - - #e36c09 - 1pt - - - - - - - - - - - 1.75917cm - - - 4.69734cm - - - 5.90506cm - - - 2.16336cm - - - 2.8203cm - - - 2.01554cm - - - - - 0.44125cm - - - - - true - true - - - - - =IIF(LEN(Fields!CodigoPS.Value) > 0, "", Fields!FechaIng.Value) - - - - - - - FechaIng - - - =IIF(CInt(Fields!CveOrdenCompra.Value) < 1, "#67809F","Transparent") - 0.5pt - - - - - - - - true - true - - - - - =IIF(LEN(Fields!CodigoPS.Value) > 0, "", Fields!Descripcion.Value) - - - - - - - Descripcion - - - =IIF(CInt(Fields!CveOrdenCompra.Value) < 1, "#67809F","Transparent") - 0.5pt - - - - - - - - true - true - - - - - =Fields!CodigoPS.Value - - - - - - - CodigoPS - - - =IIF(CInt(Fields!CveOrdenCompra.Value) < 1, "#67809F","Transparent") - 0.5pt - - - - - - - - true - true - - - - - =Fields!CantidadOC.Value - - - - - - - CantidadOC - - - =IIF(CInt(Fields!CveOrdenCompra.Value) < 1, "#67809F","Transparent") - 0.5pt - - - - - - - - true - true - - - - - =Fields!CantidadCompra.Value - - - - - - - CantidadCompra - - - =IIF(CInt(Fields!CveOrdenCompra.Value) < 1, "#67809F","Transparent") - 0.5pt - - - - - - - - true - true - - - - - =Fields!Pendiente.Value - - - - - - - Pendiente - - - =IIF(CInt(Fields!CveOrdenCompra.Value) < 1, "#67809F","Transparent") - 0.5pt - - - - - - - - - - - - - 0.44125cm - - - true - true - - - - - Fecha - - - - - - - Textbox12 - - - #e36c09 - 1pt - - - - - - - - 0.44125cm - - - true - true - - - - - Descripción - - - - - - - Textbox44 - - - #e36c09 - 1pt - - - - - - - - 0.44125cm - - - true - true - - - - - Producto/Servicio - - - - - - - Textbox44 - - - #e36c09 - 1pt - - - - - - - - 0.44125cm - - - true - true - - - - - Cantidad OC - - - - - - - Textbox49 - - - #e36c09 - 1pt - - - - - - - - 0.44125cm - - - true - true - - - - - Cantidad Compra - - - - - - - Textbox51 - - - #e36c09 - 1pt - - - - - - - - 0.44125cm - - - true - true - - - - - Pendiente - - - - - - - Textbox47 - - - #e36c09 - 1pt - - - - - - - - - - - - - 1.24826cm - - - true - true - - - - - =IIF(LEN(Fields!CodigoPS.Value) > 0, "",Fields!Folio.Value) - - - - - - - Folio1 - - - =IIF(CInt(Fields!CveOrdenCompra.Value) < 1, "#67809F","Transparent") - 0.5pt - - - - - - - - true - true - DataSet1 - 0.75875cm - 0.06614cm - 0.8825cm - 20.60903cm - - - - - - true - true - - - - - =Parameters!AgrupadoPor.Value - HTML - - - - - - - Textbox1 - 0.07056cm - 0.06614cm - 0.58236cm - 20.60903cm - 1 - - - 2pt - 2pt - 2pt - 2pt - - - - 0.77116in - - - - - - - Textbox1 - 3.8144cm - 0.6cm - 13.0693cm - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - ORDENES DE COMPRA POR VINCULAR - - - - - - - Textbox2 - 0.63528cm - 3.77912cm - 0.52945cm - 13.0693cm - 1 - - - 2pt - 2pt - 2pt - 2pt - - - - External - =Parameters!LogoPath.Value - FitProportional - 0.06614cm - 2.22362cm - 3.00743cm - 2 - - - - - - - - - - - 0.48291cm - true - true - - - true - true - - - - - ="Página " & Globals.PageNumber & " de " & Globals.TotalPages - - - - - - - Textbox3 - 0.08291cm - 18.6093cm - 0.4cm - 2.06587cm - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Usuario: - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!UsuarioImprimio.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Fecha Impresión: - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!FechaImpresion.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - 29.7cm - 21cm - 0.1cm - 0.1cm - 1cm - 0.5cm - 0.13cm - - - - - - - Textbox4 - - - Silver - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Cantidad - - - - - - - Textbox6 - - - Silver - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Sub Total - - - - - - - Textbox13 - - - Silver - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Descuento - - - - - - - Textbox15 - - - Silver - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Amortización - - - - - - - Textbox18 - - - Silver - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Total Impuestos - - - - - - - Textbox19 - - - Silver - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - IVA - - - - - - - Textbox21 - - - Silver - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - true - - - - - IEPS - - - - - - - Textbox3 - - - Silver - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Total - - - - - - - Textbox23 - - - Silver - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - S. Crédito - - - - - - - Textbox5 - - - Silver - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - S.Contado - - - - - - - Textbox17 - - - Silver - 2pt - 2pt - 2pt - 2pt - - - - - - - - 0.49417cm - - - - - true - true - - - - - =Fields!GPO.Value - - - - - - =Switch(Fields!TipoFila.Value = 0 , "#67809F", Fields!TipoFila.Value = 1, "#CCCCCC",Fields!TipoFila.Value = 2, "Transparent") - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!Cantidad.Value - - - - - - - Cantidad1 - - - =Switch(Fields!TipoFila.Value = 0 , "#67809F", Fields!TipoFila.Value = 1, "#CCCCCC",Fields!TipoFila.Value = 2, "Transparent") - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!SubTotal.Value - - - - - - - SubTotal1 - - - =Switch(Fields!TipoFila.Value = 0 , "#67809F", Fields!TipoFila.Value = 1, "#CCCCCC",Fields!TipoFila.Value = 2, "Transparent") - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!Descuento.Value - - - - - - - Descuento1 - - - =Switch(Fields!TipoFila.Value = 0 , "#67809F", Fields!TipoFila.Value = 1, "#CCCCCC",Fields!TipoFila.Value = 2, "Transparent") - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!Amortizacion.Value - - - - - - - Amortizacion1 - - - =Switch(Fields!TipoFila.Value = 0 , "#67809F", Fields!TipoFila.Value = 1, "#CCCCCC",Fields!TipoFila.Value = 2, "Transparent") - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!TotalImpuestos.Value - - - - - - - TotalImpuestos1 - - - =Switch(Fields!TipoFila.Value = 0 , "#67809F", Fields!TipoFila.Value = 1, "#CCCCCC",Fields!TipoFila.Value = 2, "Transparent") - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - true - - - - - =Fields!IVA.Value - - - - - - - IVA1 - - - =Switch(Fields!TipoFila.Value = 0 , "#67809F", Fields!TipoFila.Value = 1, "#CCCCCC",Fields!TipoFila.Value = 2, "Transparent") - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!IEPS.Value - - - - - - - IEPS - - - =Switch(Fields!TipoFila.Value = 0 , "#67809F", Fields!TipoFila.Value = 1, "#CCCCCC",Fields!TipoFila.Value = 2, "Transparent") - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!Total.Value - - - - - - - Total1 - - - =Switch(Fields!TipoFila.Value = 0 , "#67809F", Fields!TipoFila.Value = 1, "#CCCCCC",Fields!TipoFila.Value = 2, "Transparent") - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!SubtotalCredito.Value - - - - - - - SubtotalCredito - - - =Switch(Fields!TipoFila.Value = 0 , "#67809F", Fields!TipoFila.Value = 1, "#CCCCCC",Fields!TipoFila.Value = 2, "Transparent") - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!SubTotalContado.Value - - - - - - - SubTotalContado - - - =Switch(Fields!TipoFila.Value = 0 , "#67809F", Fields!TipoFila.Value = 1, "#CCCCCC",Fields!TipoFila.Value = 2, "Transparent") - 2pt - 2pt - 2pt - 2pt - - - - - - - - - - - - - - - - - - - - =iif(Sum(Fields!IEPS.Value, "DataSet1") > 0, false, true) - - - - - - - - - - - After - - - - - - - DataSet1 - 0.28253cm - 0cm - 1.04125cm - 23.08194cm - - - - - - 0.08599cm - 0cm - 20.80578cm - 1 - - - - - - 0.56284in - - - - - - - Textbox1 - 0.18521cm - 6.3909cm - 0.6cm - 10.83028cm - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - REPORTE DE VENTAS - - - - - - - - - - - - - - - - Textbox2 - 0.78521cm - 6.3909cm - 0.52945cm - 10.83028cm - 1 - - - 2pt - 2pt - 2pt - 2pt - - - - External - =Parameters!LogoPath.Value - FitProportional - 0.06614cm - 2.22362cm - 6.08487cm - 2 - - - - - - true - true - true - - - - - =Parameters!Filtros.Value - HTML - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - - 1.08126cm - true - true - - - true - true - - - - - ="Página " & Globals.PageNumber & " de " & Globals.TotalPages - - - - - - - Textbox3 - 0.20814cm - 17.57967cm - 0.38981cm - 3.61081cm - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Usuario: - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!UsuarioImprimio.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Fecha Impresión: - - - - - - 2pt - 2pt - 2pt - 2pt - - - - 0.15875cm - 0cm - 0cm - 22.89673cm - 4 - - - - - - true - true - - - - - =Globals!ExecutionTime - - - - - - - Textbox11 - 0.20991cm - 10.49455cm - 0.38981cm - 4.50094cm - 5 - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - IMPRESO EN SIG, Rep. Ventas - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - 27.94cm - 21.59cm - 0cm - 0cm - 1cm - 1cm - 0.13cm - @@ -364,7 +364,7 @@ @@ -382,14 +382,14 @@ - + true true - =Fields!Serie.Value + =Fields!SerieLote.Value @@ -400,7 +400,7 @@ - Serie + SerieLote1 @@ -667,7 +667,7 @@ 7.62586in - 4.71488cm + 3.10092cm true true @@ -792,6 +792,35 @@ 2pt + + true + true + + + + + ="Almacen: " & Parameters!Almacen.Value + + + 2pt + 2pt + 2pt + 2pt + + true true @@ -814,7 +843,7 @@ 3.97584cm 0.6cm 7.26539cm - 4 + 5 @@ -847,7 +876,7 @@ 3.92465cm 0.6cm 9.64491cm - 5 + 6 @@ -866,119 +895,59 @@ 0.10236cm 1.65182cm 3.66114cm - 6 + 7 - + + + + + + + 0.635cm + true + true + + true true - Proveedor: + Fecha Impresión: - - - =Parameters!NombreProveedor.Value - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Factura: - - - - =Parameters!FacturaProveedor.Value - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Almacén: - - - - - @@ -995,7 +964,7 @@ - + 27.94cm 21.59cm 1cm @@ -1046,8 +1015,8 @@ Almacen System.String - - Serie + + SerieLote System.String @@ -1092,6 +1061,18 @@ true ReportParameter1 + + String + true + true + ReportParameter1 + + + String + true + true + ReportParameter1 + String true @@ -1104,197 +1085,7 @@ true ReportParameter1 - - String - true - true - ReportParameter1 - - - String - true - true - ReportParameter1 - - - String - true - true - ReportParameter1 - - - String - true - true - ReportParameter1 - - - String - true - true - ReportParameter1 - - - String - true - true - ReportParameter1 - - - String - true - true - ReportParameter1 - - - String - true - true - ReportParameter1 - - - String - true - true - ReportParameter1 - - - String - true - true - ReportParameter1 - - - String - true - true - ReportParameter1 - - - String - true - true - ReportParameter1 - - - String - true - true - ReportParameter1 - - - String - true - true - ReportParameter1 - - - String - true - true - ReportParameter1 - - - String - true - true - ReportParameter1 - - - String - true - true - ReportParameter1 - - - String - true - true - ReportParameter1 - - - String - true - true - ReportParameter1 - - - - image/png - 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 - - - image/png - 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 - - Cm e4a0366f-2d22-4c77-a359-a8117ce73229 \ No newline at end of file diff --git a/Empresas/Grales/Formatos/rptChequeMovimientos.rdlc b/Empresas/Grales/Formatos/rptChequeMovimientos.rdlc index 6c7423b61..22ac7bbe0 100644 --- a/Empresas/Grales/Formatos/rptChequeMovimientos.rdlc +++ b/Empresas/Grales/Formatos/rptChequeMovimientos.rdlc @@ -1,5 +1,1814 @@ - + + + + + true + true + + + + + =Parameters!Cuenta.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!Paguese.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + ="<b>Importe: </b>" & FormatCurrency(Parameters!Importe.Value, 2) & " " & Parameters!MonedaAbreviatura.Value + HTML + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!Observaciones.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + 2.57974cm + + + 6.32386cm + + + 2.08353cm + + + 2.00257cm + + + 2.29951cm + + + 1.79499cm + + + 2.18122cm + + + + + 0.4677cm + + + + + true + true + + + + + Factura + + + + + + + Textbox19 + + + LightGrey + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Descripción + + + + + + + Textbox21 + + + LightGrey + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + F. Factura + + + + + + + Textbox23 + + + LightGrey + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Original + + + + + + + Textbox25 + + + LightGrey + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Abonado + + + + + + + Textbox27 + + + LightGrey + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + N.C + + + + + + + Textbox2 + + + LightGrey + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Saldo + + + + + + + Textbox3 + + + LightGrey + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.6cm + + + + + true + true + + + + + =Fields!SerieFolio.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!Descripcion.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!FechaCompra.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!Total.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!Importe.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Sum(Fields!ImporteNC.Value) + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!Saldo.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.6cm + + + + + true + true + + + + + Total + + + + : + + + + + + + Textbox30 + + + 2pt + 2pt + 2pt + 2pt + + + 4 + + + + + + + + + true + true + + + + + =IiF(SUM(Fields!Importe.Value) > 0, SUM(Fields!Importe.Value),0.00) + + + + + + + Importe2 + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Sum(Fields!ImporteNC.Value) + + + + + + + Textbox5 + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Sum(Fields!Saldo.Value) + + + + + + + Textbox6 + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + + + + + + + + + + + + + After + + + + + =Fields!SerieFolio.Value + =Fields!Descripcion.Value + =Fields!FechaCompra.Value + =Fields!Total.Value + =Fields!Importe.Value + =Fields!Saldo.Value + + + + + Before + + + + true + DataSet1 + 2.18687cm + 0.25413cm + 1.6677cm + 19.26542cm + 4 + + + + + + true + true + + + + + Cuenta: + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Paguese: + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Obs: + + + + + + 2pt + 2pt + 2pt + 2pt + + + + 2.03432cm + 19.51955cm + 0cm + -19.47588cm + 8 + + + + + + true + true + + + + + ="<b> Folio: </b>" & Parameters!Folio.Value + HTML + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + 2.5cm + + + 2.95074cm + + + 2.5cm + + + + + 0.52063cm + + + + + true + true + + + + + Resumen Notas de Crédito + + + + + + + Textbox7 + + + LightGrey + 2pt + 2pt + 2pt + 2pt + + + 3 + + + + + + + + 0.6cm + + + + + true + true + + + + + Factura + + + + + + + Textbox4 + + + LightGrey + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Nota de Crédito + + + + + + LightGrey + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Importe + + + + + + + Textbox10 + + + LightGrey + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.6cm + + + + + true + true + + + + + =Fields!SerieFolio.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!SerieFolioNC.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!Importe.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.6cm + + + + + true + true + + + + + Total: + + + + + + + Textbox13 + + + 2pt + 2pt + 2pt + 2pt + + + 2 + + + + + + + true + true + + + + + =SUM(Fields!Importe.Value) + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + + + + + + + + + After + + + After + + + + + + =Fields!SerieFolio.Value + + + + + + + + Before + + + + true + DataSet2 + 4.20735cm + 0.25413cm + 2.32063cm + 7.95074cm + 10 + + =iif(Sum(Fields!Importe.Value)>0,false, true) + + + + + + + 6.70437cm + 19.51955cm + 0cm + -19.51955cm + 11 + + + + + + true + true + + + + + Fecha: + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!Fecha.Value + + + + + + + Cuenta + 0.0635cm + 6.22945in + 0.23622in + 1.40532in + 13 + + + 2pt + 2pt + 2pt + 2pt + + + + 7.24235cm + + + + + + + Textbox1 + 0.3175cm + 2.52765cm + 0.6cm + 14.40301cm + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + REPORTE DE PAGO DE MOVIMIENTOS + + + + + + + + + + + + + + + + Textbox2 + 0.95278cm + 2.52765cm + 0.55591cm + 14.40301cm + 1 + + + 2pt + 2pt + 2pt + 2pt + + + + External + =Parameters!LogoPath.Value + FitProportional + 0.15522cm + 2.22362cm + 2.33715cm + 2 + + + + + + + + + + + 0.52063cm + true + true + + + true + true + + + + + ="Página " & Globals.PageNumber & " de " & Globals.TotalPages + + + + + + + Textbox41 + 0.01764cm + 16.41607cm + 0.48535cm + 2.97625cm + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Usuario: + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!UsuarioImprimio.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Fecha Impresión: + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!FechaImpresion.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 27.94cm + 21.59cm + 1cm + 1cm + 1.5cm + 1.5cm + 0.13cm + - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!Paguese.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - ="<b>Importe: </b>" & FormatCurrency(Parameters!Importe.Value, 2) & " " & Parameters!MonedaAbreviatura.Value - HTML - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!Observaciones.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - 2.57974cm - - - 6.32386cm - - - 2.08353cm - - - 2.00257cm - - - 2.29951cm - - - 1.79499cm - - - 2.18122cm - - - - - 0.4677cm - - - - - true - true - - - - - Factura - - - - - - - Textbox19 - - - LightGrey - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Descripción - - - - - - - Textbox21 - - - LightGrey - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - F. Factura - - - - - - - Textbox23 - - - LightGrey - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Original - - - - - - - Textbox25 - - - LightGrey - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Abonado - - - - - - - Textbox27 - - - LightGrey - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - N.C - - - - - - - Textbox2 - - - LightGrey - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Saldo - - - - - - - Textbox3 - - - LightGrey - 2pt - 2pt - 2pt - 2pt - - - - - - - - 0.6cm - - - - - true - true - - - - - =Fields!SerieFolio.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!Descripcion.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!FechaCompra.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!Total.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!Importe.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Sum(Fields!ImporteNC.Value) - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!Saldo.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - 0.6cm - - - - - true - true - - - - - Total - - - - : - - - - - - - Textbox30 - - - 2pt - 2pt - 2pt - 2pt - - - 4 - - - - - - - - - true - true - - - - - =IiF(SUM(Fields!Importe.Value) > 0, SUM(Fields!Importe.Value),0.00) - - - - - - - Importe2 - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Sum(Fields!ImporteNC.Value) - - - - - - - Textbox5 - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Sum(Fields!Saldo.Value) - - - - - - - Textbox6 - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - - - - - - - - - - - - - - - - After - - - - - =Fields!SerieFolio.Value - =Fields!Descripcion.Value - =Fields!FechaCompra.Value - =Fields!Total.Value - =Fields!Importe.Value - =Fields!Saldo.Value - - - - - Before - - - - true - DataSet1 - 2.18687cm - 0.25413cm - 1.6677cm - 19.26542cm - 4 - - - - - - true - true - - - - - Cuenta: - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Paguese: - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Obs: - - - - - - 2pt - 2pt - 2pt - 2pt - - - - 2.03432cm - 19.51955cm - 0cm - -19.47588cm - 8 - - - - - - true - true - - - - - ="<b> Folio: </b>" & Parameters!Folio.Value - HTML - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - 2.5cm - - - 2.95074cm - - - 2.5cm - - - - - 0.52063cm - - - - - true - true - - - - - Resumen Notas de Crédito - - - - - - - Textbox7 - - - LightGrey - 2pt - 2pt - 2pt - 2pt - - - 3 - - - - - - - - 0.6cm - - - - - true - true - - - - - Factura - - - - - - - Textbox4 - - - LightGrey - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Nota de Crédito - - - - - - LightGrey - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - Importe - - - - - - - Textbox10 - - - LightGrey - 2pt - 2pt - 2pt - 2pt - - - - - - - - 0.6cm - - - - - true - true - - - - - =Fields!SerieFolio.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!SerieFolioNC.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - true - true - - - - - =Fields!Importe.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - 0.6cm - - - - - true - true - - - - - Total: - - - - - - - Textbox13 - - - 2pt - 2pt - 2pt - 2pt - - - 2 - - - - - - - true - true - - - - - =SUM(Fields!Importe.Value) - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - - - - - - - - - - - - After - - - After - - - - - - =Fields!SerieFolio.Value - - - - - - - - Before - - - - true - DataSet2 - 4.20735cm - 0.25413cm - 2.32063cm - 7.95074cm - 10 - - =iif(Sum(Fields!Importe.Value)>0,false, true) - - - - - - - 6.70437cm - 19.51955cm - 0cm - -19.51955cm - 11 - - - - - - true - true - - - - - Fecha: - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!Fecha.Value - - - - - - - Cuenta - 0.0635cm - 6.22945in - 0.23622in - 1.40532in - 13 - - - 2pt - 2pt - 2pt - 2pt - - - - 7.24235cm - - - - - - - Textbox1 - 0.3175cm - 2.52765cm - 0.6cm - 14.40301cm - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - REPORTE DE PAGO DE MOVIMIENTOS - - - - - - - - - - - - - - - - Textbox2 - 0.95278cm - 2.52765cm - 0.55591cm - 14.40301cm - 1 - - - 2pt - 2pt - 2pt - 2pt - - - - External - =Parameters!LogoPath.Value - FitProportional - 0.15522cm - 2.22362cm - 2.33715cm - 2 - - - - - - - - - - - 0.52063cm - true - true - - - true - true - - - - - ="Página " & Globals.PageNumber & " de " & Globals.TotalPages - - - - - - - Textbox41 - 0.01764cm - 16.41607cm - 0.48535cm - 2.97625cm - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Usuario: - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!UsuarioImprimio.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Fecha Impresión: - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!FechaImpresion.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - 27.94cm - 21.59cm - 1cm - 1cm - 1.5cm - 1.5cm - 0.13cm - - - - - - - Textbox20 - - - LightGrey - 2pt - 2pt - 2pt - 2pt - - - - @@ -790,40 +746,6 @@ - - - - true - true - - - - - =Fields!FechaMovto.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - - - @@ -1010,14 +932,13 @@ 2pt - 6 + 5 - @@ -1143,7 +1064,6 @@ - @@ -1173,7 +1093,7 @@ 2.18687cm 0.19063cm 1.42958cm - 21.11455cm + 21.07307cm 4 - - true - true - - - - - T.C.: - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!TC.Value - - - - - - 2pt - 2pt - 2pt - 2pt - - 7.79798cm @@ -182,7 +29,7 @@
- +
<%----%> @@ -238,97 +85,9 @@
-
- - - <%-- - - - - - - - - - - --%> - - - - - - <%-- Encabezados dinámicos para los ejercicios --%> - - - - - - - - - - - - - - - <%-- Encabezados dinámicos para los ejercicios --%> - <%-- data-toggle="tooltip" - title='<%# new System.Globalization.CultureInfo("es-ES").DateTimeFormat.GetMonthName(Eval("Mes").ToString().ToEntero()).ToUpper() %>'--%> - - - - - - - - - - - - <%-- Encabezados dinámicos para los ejercicios --%> - - - - - - - - - - - - - - <%----%> - - - - <%-- Subrepeater para los ejercicios --%> - - <%-- - --%> - - <%-- - - - - --%> - - - - - - - -
<%# Eval("Anio") %><%# Eval("Anio") %><%# Eval("Anio") %><%# Eval("Anio") %>
- <%# new System.Globalization.CultureInfo("es-ES").DateTimeFormat.GetMonthName(Eval("Mes").ToString().ToEntero()).ToUpper() %>
CódigoNombre CompletoFecha Inicio<%# Eval("Dia") %>
<%# Eval("CvePersonal") %>
-
-
<%# Eval("FechaInicio", "{0:yyyy-MM-dd}") %>
-
-