diff --git a/App_Code/ClsInventarios.vb b/App_Code/ClsInventarios.vb index e0cc7a960..74be2b92d 100644 --- a/App_Code/ClsInventarios.vb +++ b/App_Code/ClsInventarios.vb @@ -3061,6 +3061,24 @@ Public Class ClsInventarios Return Retorno End Function + Public Function GetMovimientosDevoluciones(CveVenta As Integer, CveEmpresa As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_Vta_VentaDetalleAlmacenDevolucion") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveVenta", SqlDbType.Int).Value = CveVenta + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + End With + + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener datos de devolucion.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + End Try + + Return Retorno + End Function Public Function GetDevolucionRemisionesFacturadas(CveVenta As Integer) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Inv_DevolucionRemisionesFacturadas") diff --git a/App_Code/ClsOC.vb b/App_Code/ClsOC.vb index 0cbe50889..bcecb847d 100644 --- a/App_Code/ClsOC.vb +++ b/App_Code/ClsOC.vb @@ -967,13 +967,31 @@ Public Class ClsOC Return Retorno End Function - Public Function UpdateOrdenCompraDetalleAjuste(CveOrdenCompra As Integer, CveOrdenCompraDetalle As Integer, Diferencia As Double) As Boolean + Public Function UpdateOrdenCompraDetalleAjuste(CveOrdenCompra As Integer, CveOrdenCompraDetalle As Integer, Diferencia As Double, CveUsuarioModifico As Integer) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_OC_OrdenesCompraDetalleAjusteUpdate") With SqlAdapter.SelectCommand.Parameters .Add("@CveOrdenCompra", SqlDbType.Int).Value = CveOrdenCompra .Add("@CveOrdenCompraDetalle", SqlDbType.Int).Value = CveOrdenCompraDetalle .Add("@Diferencia", SqlDbType.Float).Value = Diferencia + .Add("@CveUsuarioModifico", SqlDbType.Int).Value = CveUsuarioModifico + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al actualizar la Orden de Compra Detalle.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + Return Retorno + End Function + Public Function UpdateOrdenCompraMoneda(CveOrdenCompra As Integer, CveEmpresa As Integer, CveMoneda As Integer, CveUsuarioModifico As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_OC_OrdenesCompraMonedaUpdate") + With SqlAdapter.SelectCommand.Parameters + .Add("@CveOrdenCompra", SqlDbType.Int).Value = CveOrdenCompra + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + .Add("@CveMoneda", SqlDbType.Int).Value = CveMoneda + .Add("@CveUsuarioModifico", SqlDbType.Int).Value = CveUsuarioModifico End With Try SqlAdapter.Fill(Data) diff --git a/App_Code/Modelos.vb b/App_Code/Modelos.vb index bb508bd69..c0867da74 100644 --- a/App_Code/Modelos.vb +++ b/App_Code/Modelos.vb @@ -3281,7 +3281,7 @@ Namespace Modelos End If Catch ex As Exception - GuardaLog(ex.ToString()) + GuardaLog("Model.Proceso.PreP-" & ex.ToString()) ErrorPrepoliza = True End Try Return ErrorPrepoliza @@ -4340,13 +4340,14 @@ Namespace Modelos End If 'CUANDO LA CANCELACION ESTA EN PROCESO NO DEBE REALIZAR NADA DE ESTE PROCESO - If Not EsRefacturacion AndAlso (CveEstatus > 0 AndAlso CveEstatus <> 20) AndAlso CveEstatusRefacturacion = 0 Then + If Not ErrorCancelar AndAlso Not EsRefacturacion AndAlso (CveEstatus > 0 AndAlso CveEstatus <> 20) AndAlso CveEstatusRefacturacion = 0 Then 'DEVOLUCION DE ALMACEN If Not ErrorCancelar AndAlso TieneAlmacen Then Dim TieneSalida As Boolean = False Dim DtInventario As DataTable = Nothing - Dim DtMovimientos As DataTable = Nothing + Dim DtSalidas As DataTable = Nothing + Dim DtDevoluciones As DataTable = Nothing Dim DtExistencias As DataTable = Nothing Dim DtRemisionesFacturadas As DataTable = Nothing @@ -4375,14 +4376,16 @@ Namespace Modelos ErrorCancelar = True End If - If ObjInventario.GetInv_Mov(CveVenta, UsuarioActual.CveEmpresa) Then - DtInventario = ObjInventario.DtResultados.Copy() - DtMovimientos = DtInventario.FiltraParametros($"CvePS IS NULL AND {Filtro}") - DtExistencias = DtInventario.FiltraParametros($"CvePS IS NOT NULL AND {Filtro} AND CveTipoPS = 2") - TieneSalida = DtExistencias.Rows.Count > 0 - Else - ErrorCancelar = True - MensajeError = "Ocurrió un error al cargar los datos de devolución. Por favor vuelva a intentar." + If Not ErrorCancelar Then + If ObjInventario.GetInv_Mov(CveVenta, UsuarioActual.CveEmpresa) Then + DtInventario = ObjInventario.DtResultados.Copy() + DtSalidas = DtInventario.FiltraParametros($"CvePS IS NULL AND {Filtro}") + DtExistencias = DtInventario.FiltraParametros($"CvePS IS NOT NULL AND {Filtro} AND CveTipoPS = 2") + TieneSalida = DtExistencias.Rows.Count > 0 + Else + ErrorCancelar = True + MensajeError = "Ocurrió un error al cargar los datos de devolución. Por favor vuelva a intentar." + End If End If End If @@ -4390,38 +4393,42 @@ Namespace Modelos If Not ErrorCancelar AndAlso TieneSalida Then If Not ErrorCancelar AndAlso RealizarDevolucionAlmacen Then - - For Each RowMovimiento As DataRow In DtMovimientos.Rows + 'REALIZA DEVOLUCION A LAS SALIDAS PENDIENTES + For Each RowMovimiento As DataRow In DtSalidas.Rows Dim CveConceptoDevolucion As Integer = -1 Dim CveAlmacenDevolucion As Integer = -1 + + Dim CveMovimientoDevolucion As Integer = 0 + Dim Folio As Integer = 0 + Select Case RowMovimiento("CveConcepto").ToString().ToEntero() Case 3 CveConceptoDevolucion = 18 'DEVOLUCION DEL CLIENTE CveAlmacenDevolucion = RowMovimiento("CveAlmacen").ToString().ToEntero() Case 40 CveConceptoDevolucion = 41 'DEVOLUCIÓN DEL CLIENTE DIRECTA - 'SI TIENE REMISIONES RELACIONADAS - If DtRemisionesFacturadas.Rows.Count > 0 Then - Dim RowRemision As DataRow = DtExistencias.FiltroPrimero($"CveMovimiento = {RowMovimiento("CveMovimiento").ToString()}") - Dim CveRemision As Integer = RowRemision("CveRemision").ToString().ToEntero() + CveAlmacenDevolucion = RowMovimiento("CveAlmacen").ToString().ToEntero() + ''SI TIENE REMISIONES RELACIONADAS + 'If DtRemisionesFacturadas.Rows.Count > 0 Then + ' Dim RowRemision As DataRow = DtExistencias.FiltroPrimero($"CveMovimiento = {RowMovimiento("CveMovimiento").ToString()}") - Dim CancelarRemision As Boolean = (ListaRemisionesCancelar IsNot Nothing) AndAlso (ListaRemisionesCancelar.Any(Function(CveRemisionCancelar) CveRemisionCancelar = CveRemision)) - 'SI LA REMISION SE VA A CANCELAR DEBE REGRESAR AL ALMACEN GENERAL - If CancelarRemision Then - CveAlmacenDevolucion = RowRemision("CveAlmacenDevolucion").ToString().ToEntero() - Else - CveAlmacenDevolucion = RowMovimiento("CveAlmacen").ToString().ToEntero() - End If - Else - CveAlmacenDevolucion = RowMovimiento("CveAlmacen").ToString().ToEntero() - End If + ' Dim CveRemision As Integer = RowRemision("CveRemision").ToString().ToEntero() + ' Dim CancelarRemision As Boolean = (ListaRemisionesCancelar IsNot Nothing) AndAlso (ListaRemisionesCancelar.Any(Function(CveRemisionCancelar) CveRemisionCancelar = CveRemision)) + + ' 'SI LA REMISION SE VA A CANCELAR DEBE REGRESAR AL ALMACEN GENERAL + ' If CancelarRemision Then + ' CveAlmacenDevolucion = RowRemision("CveAlmacenDevolucion").ToString().ToEntero() + ' Else + ' CveAlmacenDevolucion = RowMovimiento("CveAlmacen").ToString().ToEntero() + ' End If + + 'Else + ' CveAlmacenDevolucion = RowMovimiento("CveAlmacen").ToString().ToEntero() + 'End If End Select - Dim CveMovimientoDevolucion As Integer = 0 - Dim Folio As Integer = 0 - - 'VERIFICAR SI YA TIENE UNA DEVOLUCION + 'SI TIENE SALDO PENDIENTE POR DEVOLVER GENERA UN MOVIMIENTO DE DEVOLUCION If ObjFactura.SaldoAlmacen <> 0 Then 'SALIDA DE ALMACEN - SALIDA POR TRASPASO CUANDO ES REMISION - DEVOLUCION (SI ES TRASPASO Y TIENE CONTRATO NO HACE DEVOLUCIóN) CveMovimientoDevolucion = ObjInventario.AddMovimiento(CveAlmacenDevolucion, CveConceptoDevolucion, 1, Now, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveVenta, -1, -1, Observaciones:="", Guia:="", CveContrato:=CveContrato, CveAlmacenDestino:=-1) @@ -4518,30 +4525,15 @@ Namespace Modelos End If End If End If - 'Else - ' 'UTILIZA LA DEVOLUCION YA REALIZADA - ' Dim CveConceptoDevolucion As Integer = 18 'DEVOLUCION DEL CLIENTE - ' If UsuarioActual.Empresa.Funcionalidad(575) = "1" Then - ' CveConceptoDevolucion = 41 'DEVOLUCIÓN DEL CLIENTE DIRECTA - ' End If - - ' If ObjInventario.GetInv_Mov(CveVenta, UsuarioActual.CveEmpresa) Then - ' CveMovimientoDevolucion = ObjInventario.DtResultados.FiltroPrimeroValor("CveMovimiento", $"CvePS IS NULL AND CveConcepto = {CveConceptoDevolucion}").ToEntero() - ' Else - ' ErrorCancelar = True - ' MensajeError = "Ocurrió un error al cargar los datos de devolución. Por favor vuelva a intentar." - ' End If End If 'DEVOLUCION REMISION - REGRESA LAS EXISTENCIAS A ENTREGA POR ADELANTADO SI LA FACTURA VIENE DE REMISION 'SI ES DEVOLUCION DEL CLIENTE DEBE REGRESAR A ENTREGA POR ADELANTADO - If CveConceptoDevolucion = 18 Then - If Not ErrorCancelar AndAlso RevivirRemisiones Then - If Not GeneraMovimientosEntregaPorAdelantadoRemision(CveMovimientoDevolucion, ObjVentas, ObjInventario, DtDevRem, ListaRemisionesCancelar) Then - ErrorCancelar = True - MensajeError = "Ocurrió un error al generar los movimientos de devolución a remisión" - End If + If Not ErrorCancelar AndAlso CveConceptoDevolucion = 18 AndAlso RevivirRemisiones Then + If Not GeneraMovimientosEntregaPorAdelantadoRemision(CveMovimientoDevolucion, ObjVentas, ObjInventario, DtDevRem, ListaRemisionesCancelar) Then + ErrorCancelar = True + MensajeError = "Ocurrió un error al generar los movimientos de devolución a remisión" End If End If @@ -4556,12 +4548,45 @@ Namespace Modelos Next + 'VERIFICA LOS MOVIMIENTOS DE DEVOLUCION YA GENERADOS QUE TENGAN EXISTENCIA EN (ENTREGA POR ADELANTADO) + If Not ErrorCancelar Then + If ObjInventario.GetMovimientosDevoluciones(CveVenta, UsuarioActual.CveEmpresa) Then + DtDevoluciones = ObjInventario.DtResultados.FiltraParametros("CveTipoAlmacen = 10") + Else + ErrorCancelar = True + MensajeError = "Ocurrió un error al cargar los datos de devolución. Por favor vuelva a intentar." + End If + End If + + 'SI EXISTEN HAY EXISTENCIA EN (ENTREGA POR ADELANTADO) SE TIENE QUE REGRESAR AL ALMACEN GENERAL + If Not ErrorCancelar AndAlso ListaRemisionesCancelar IsNot Nothing AndAlso ListaRemisionesCancelar.Count > 0 Then + For Each CveRemision As Integer In ListaRemisionesCancelar + For Each RowDevolucion As DataRow In DtDevoluciones.FiltraParametros($"CveRemision={CveRemision}", DistinctColumns:={"CveRemision", "CveAlmacen", "CveAlmacenDestino"}).Rows + + Dim DtDevRemision As DataTable = DtDevoluciones.FiltraParametros($"CveRemision={CveRemision}") + + CveAlmacen = RowDevolucion("CveAlmacen").ToString().ToEntero() + CveAlmacenDevolucion = RowDevolucion("CveAlmacenDestino").ToString().ToEntero() + + 'DEBE REGRESAR LA EXISTENCIA DE (ENTREGA POR ADELANTADO) AL ALMACEN GENERAL + If Not CancelarMovimientosRemision(CveRemision, CveAlmacen, CveAlmacenDevolucion, DtDevRemision, ObjVentas, ObjInventario) Then + ErrorCancelar = True + MensajeError = "Ocurrió un error al cancelar los movimientos de la remisión." + Exit For + End If + + DtDevRemision.Dispose() + Next + Next + End If + 'REALIZA LA DEVOLUCION AL ALMACEN VIRTUAL If Not GeneraMovimientosVirtuales(CveVenta, ObjInventario) Then ErrorCancelar = True MensajeError = "Ocurrió un error al cargar los datos de devolución. Por favor vuelva a intentar." End If + 'VERIFICAR MOVIMIENTOS DE APARTADOS If Not ErrorCancelar Then If Not GeneraMovimientosApartados(ObjInventario) Then ErrorCancelar = True @@ -4957,6 +4982,69 @@ Namespace Modelos Return Not ErrorCancelar End Function + Private Function CancelarMovimientosRemision(CveRemision As Integer, CveAlmacen As Integer, CveAlmacenDestino As Integer, DtMovDetalle As DataTable, ByRef ObjVentas As ClsVentas, ByRef ObjInventario As ClsInventarios) As Boolean + Dim ErrorCancelar As Boolean = False + + Dim CveMovimientoSalidaDevRem As Integer = 0 + Dim FolioMovimientoSalidaDevRem As Integer = 0 + + Dim CveMovimientoEntradaDevRem As Integer = 0 + Dim FolioMovimientoEntradaDevRem As Integer = 0 + + 'SALIDA DE (ENTREGA POR ADELANTADO) + CveMovimientoSalidaDevRem = ObjInventario.AddMovimiento(CveAlmacen, 8, 1, Now, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveRemision, -1, -1, Observaciones:="", Guia:="", CveContrato:=CveContrato, CveAlmacenDestino:=CveAlmacenDestino) + FolioMovimientoSalidaDevRem = ObjInventario.Folio + + 'ENTRADA A (ALMACEN GENERAL) + CveMovimientoEntradaDevRem = ObjInventario.AddMovimiento(CveAlmacenDestino, 9, 1, Now, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveRemision, -1, -1, Observaciones:="", Guia:="", CveContrato:=CveContrato, CveMovimientoRelacionado:=CveMovimientoSalidaDevRem, CveAlmacenDestino:=CveAlmacenDestino) + FolioMovimientoEntradaDevRem = ObjInventario.Folio + + If Not (CveMovimientoSalidaDevRem > 0 And CveMovimientoEntradaDevRem > 0) Then + ErrorCancelar = True + End If + + 'SALIDA DE (ENTREGA POR ADELANTADO) + If Not ErrorCancelar Then + For Each DrRem As DataRow In DtMovDetalle.FiltraParametros($"CveRemision = {CveRemision}").Rows + Dim CveVentaDetalleRem = DrRem("CveVentaDetalleRemision").ToString.ToEntero + Dim CantidadRem = DrRem("Cantidad").ToString.ToDecimal + + If Not CveVentaDetalleRem > 0 Then + ErrorCancelar = True + Exit For + End If + + If Not ObjInventario.AddMovimientoDetalle(CveMovimientoSalidaDevRem, DrRem("Cantidad").ToString.ToDecimal, DrRem("CveUM").ToString.ToEntero, DrRem("CvePS").ToString.ToEntero, DrRem("PU").ToString.ToDecimal, DrRem("CveActivoFijo").ToString.ToEntero, -1, DrRem("SerieLote").ToString, CveVentaDetalle:=CveVentaDetalleRem, Lote:=DrRem("Lote").ToString, Batch:=DrRem("Batch").ToString) Then + ErrorCancelar = True + Exit For + End If + + If ErrorCancelar Then + Exit For + End If + Next + End If + + 'ENTRADA A (ALMACEN GENERAL) + If Not ErrorCancelar Then + If ObjInventario.GetMovimientosDetalle(CveMovimientoSalidaDevRem, UsuarioActual.CveEmpresa) Then + For Each Dr As DataRow In ObjInventario.DtResultados.Rows + If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntradaDevRem, Dr("Cantidad").ToString.ToDecimal, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("PU").ToString.ToDecimal, Dr("CveAF").ToString.ToEntero, -1, Dr("SerieLote").ToString, CveMovimientoDetalleEntrada:=Dr("CveMovimientoDetalle").ToString().ToEntero(), CveVentaDetalle:=Dr("CveVentaDetalle").ToString.ToEntero, Lote:=Dr("Lote").ToString, Batch:=Dr("Batch").ToString) Then + ErrorCancelar = True + Exit For + End If + Next + End If + End If + + + If Not ObjVentas.UpdateVentasDevolucionAlmacen(2, CveRemision) Then + ErrorCancelar = True + End If + + Return Not ErrorCancelar + End Function + Private Function GeneraMovimientosApartados(ByRef ObjInventario As ClsInventarios) As Boolean Dim ErrorCancelar As Boolean = False If Not ErrorCancelar Then diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index f2c5ad2e7..579bd3c26 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -19400,7 +19400,7 @@ Partial Class Compras_Compras Dim PUCompra As Decimal = DrDiferencias("PUCompra").ToString.ToDecimal Dim DiferenciaInvOC As Decimal = DrDiferencias("Diferencia").ToString.ToDecimal If DiferenciaInvOC.RoundSQL() <> 0 Then - If Not OC.UpdateOrdenCompraDetalleAjuste(CveOrdenCompra, CveOCDetalle, PUCompra) Then + If Not OC.UpdateOrdenCompraDetalleAjuste(CveOrdenCompra, CveOCDetalle, PUCompra, UsuarioActual.CveUsuario) Then Retorno = False Exit For End If @@ -19535,7 +19535,7 @@ Partial Class Compras_Compras Exit For End If End If - If Not OC.UpdateOrdenCompraDetalleAjuste(CveOrdenCompra, CveOCDetalle, PUCompra) Then + If Not OC.UpdateOrdenCompraDetalleAjuste(CveOrdenCompra, CveOCDetalle, PUCompra, UsuarioActual.CveUsuario) Then Retorno = False Exit For End If diff --git a/Inventarios/RecepcionAlmacen.aspx b/Inventarios/RecepcionAlmacen.aspx index 8d742140e..8d284c08a 100644 --- a/Inventarios/RecepcionAlmacen.aspx +++ b/Inventarios/RecepcionAlmacen.aspx @@ -418,7 +418,7 @@ + DataKeyNames="EntregaDirecta,Consec,CodigoBarras,CvePS,CveUM,PU,CantidadC,CantidadF,UM,PS,CveCompraDetalle,CveOrdenCompraDetalle,PUExtranjero,AplicaSerieLote,CveClasificacion,Codigo,CveVentaDetalle,CostoIndirecto,CveTamaño,Lote,AplicaSeccion,AplicaLote,AplicaCaducidad,AplicaSerie" HeaderStyle-CssClass="Titulos" RowStyle-Height="25px" CssClass="table table-striped table-hover Widthall ScrollAD mysmallbtn" data-heighterror="450" data-freezerows="1" GridLines="None"> diff --git a/Inventarios/RecepcionAlmacen.aspx.vb b/Inventarios/RecepcionAlmacen.aspx.vb index 05ef7a391..91b612f15 100644 --- a/Inventarios/RecepcionAlmacen.aspx.vb +++ b/Inventarios/RecepcionAlmacen.aspx.vb @@ -1109,11 +1109,19 @@ Partial Class Inventarios_RecepcionAlmacen TmDT.Columns.Add("PUExtranjero", GetType(Double)) TmDT.Columns.Add("CostoIndirectoExtranjero", GetType(Double)) TmDT.Columns.Add("Consec", GetType(Integer)) - TmDT.Columns.Add("CantidadSurtidaPantalla", GetType(Double)) - TmDT.Columns.Add("AplicaSeccion", GetType(Boolean)) - TmDT.Columns.Add("AplicaSerie", GetType(Boolean)) - TmDT.Columns.Add("AplicaLote", GetType(Boolean)) - TmDT.Columns.Add("AplicaCaducidad", GetType(Boolean)) + TmDT.Columns.Add("CantidadSurtidaPantalla", GetType(Double)) + If Not TmDT.Columns.Contains("AplicaSeccion") Then + TmDT.Columns.Add("AplicaSeccion", GetType(Double)) + End If + If Not TmDT.Columns.Contains("AplicaSerie") Then + TmDT.Columns.Add("AplicaSerie", GetType(Double)) + End If + If Not TmDT.Columns.Contains("AplicaLote") Then + TmDT.Columns.Add("AplicaLote", GetType(Double)) + End If + If Not TmDT.Columns.Contains("AplicaCaducidad") Then + TmDT.Columns.Add("AplicaCaducidad", GetType(Double)) + End If If Not TmDT.Columns.Contains("CostoIndirecto") Then TmDT.Columns.Add("CostoIndirecto", GetType(Double)) End If @@ -1166,21 +1174,21 @@ Partial Class Inventarios_RecepcionAlmacen DtInv = DtInv.FiltraParametros("", "PS") End If - For Each item As DataRow In DtInv.Rows - Dim Dr As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, item("CvePS").ToString.ToEntero).FiltroPrimero("") - If Dr IsNot Nothing Then - item("AplicaSeccion") = CBool(Dr("AplicaSeccion")) - If CBool(Dr("AplicaSeccion")) Then GvInv.Columns(10).Visible = True - item("AplicaSerie") = CBool(Dr("AplicaSerie")) - item("AplicaLote") = CBool(Dr("AplicaLote")) - If CBool(Dr("AplicaLote")) Then GvInv.Columns(11).Visible = True - item("AplicaCaducidad") = CBool(Dr("AplicaCaducidad")) - If CBool(Dr("AplicaCaducidad")) Then GvInv.Columns(12).Visible = True - If CBool(Dr("AplicaSeccion")) Or CBool(Dr("AplicaLote")) Or CBool(Dr("AplicaCaducidad")) Or CBool(Dr("AplicaSerie")) Then - GvInv.Columns(15).Visible = True - End If - End If - Next + 'For Each item As DataRow In DtInv.Rows + ' Dim Dr As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, item("CvePS").ToString.ToEntero).FiltroPrimero("") + ' If Dr IsNot Nothing Then + ' item("AplicaSeccion") = CBool(Dr("AplicaSeccion")) + ' If CBool(Dr("AplicaSeccion")) Then GvInv.Columns(10).Visible = True + ' item("AplicaSerie") = CBool(Dr("AplicaSerie")) + ' item("AplicaLote") = CBool(Dr("AplicaLote")) + ' If CBool(Dr("AplicaLote")) Then GvInv.Columns(11).Visible = True + ' item("AplicaCaducidad") = CBool(Dr("AplicaCaducidad")) + ' If CBool(Dr("AplicaCaducidad")) Then GvInv.Columns(12).Visible = True + ' If CBool(Dr("AplicaSeccion")) Or CBool(Dr("AplicaLote")) Or CBool(Dr("AplicaCaducidad")) Or CBool(Dr("AplicaSerie")) Then + ' GvInv.Columns(15).Visible = True + ' End If + ' End If + 'Next GvInv.DataSource = DtInv GvInv.DataBind() @@ -2824,7 +2832,7 @@ Partial Class Inventarios_RecepcionAlmacen End If End If Catch ex As Exception - OnError("Ocurrió un error al guardar", ex) + OnError("Ocurrió un error al guardar RA.", ex) ErrorMovInv = True End Try diff --git a/Inventarios/RecepcionEntrega.aspx.vb b/Inventarios/RecepcionEntrega.aspx.vb index 7a3a11e57..30413d05c 100644 --- a/Inventarios/RecepcionEntrega.aspx.vb +++ b/Inventarios/RecepcionEntrega.aspx.vb @@ -2213,14 +2213,19 @@ Partial Class Inventarios_RecepcionEntrega End If Else ErrorMovInv = True - TextoError = "Ocurrió un Error al ingresar la prepoliza" + TextoError = "Ocurrió un Error al ingresar la prepoliza.1" End If Else ErrorMovInv = True - TextoError = "Ocurrió un Error al ingresar las prepolizas" + TextoError = "Ocurrió un Error al ingresar las prepolizas.2" End If - + Else + ErrorMovInv = True + TextoError = "Ocurrió un Error al ingresar las prepolizas.3" End If + Else + ErrorMovInv = True + TextoError = "Ocurrió un Error al ingresar las prepolizas.4" End If End If diff --git a/OC/OC.aspx.vb b/OC/OC.aspx.vb index edbc3903d..b57dc6633 100644 --- a/OC/OC.aspx.vb +++ b/OC/OC.aspx.vb @@ -6769,7 +6769,7 @@ Partial Class OC If ObjInventarios.DtResultados.Rows.Count > 0 Then DdlMoneda.Enabled = False Dim TipoEstatusTerminado As String = GlobalDTOCEstatus(UsuarioActual.CveEmpresa).FiltroPrimeroValor("TipoTermino", String.Format("CveEstatus = {0}", CboE.SelectedValue)) - If TipoEstatusTerminado = "1" Then + If TipoEstatusTerminado = "3" Then LnkCambiarMoneda.Visible = True End If End If @@ -7684,129 +7684,277 @@ Partial Class OC Protected Sub BtnCambiarMoneda_Click() Handles BtnCambiarMoneda.Click Dim ObjInv As New ClsInventarios - Dim OC As New ClsOC - Dim Err As Boolean = False - If ObjInv.GetMovimientos(CveMovimientoAlmacenVenta, -1, -1, UsuarioActual.CveEmpresa) Then - Dim TipoMoneda As String = ObjInv.DtResultados.FiltroPrimeroValor("CveMoneda") - Dim ObjConta As New ClsContabilidad - - Dim IdCtaContableOC As Integer = 0 - Dim IdCtaContableOCME As Integer = 0 - Dim IdCtaContableOCComplementaria As Integer = 0 - - If ObjConta.GetRetCuenta(176, UsuarioActual.CveEmpresa) Then - IdCtaContableOC = ObjConta.DtResultados.FiltroPrimeroValor("IdCtaContable").ToEntero - End If - - If ObjConta.GetRetCuenta(228, UsuarioActual.CveEmpresa) Then - IdCtaContableOCME = ObjConta.DtResultados.FiltroPrimeroValor("IdCtaContable").ToEntero - End If - - If ObjConta.GetRetCuenta(229, UsuarioActual.CveEmpresa) Then - IdCtaContableOCComplementaria = ObjConta.DtResultados.FiltroPrimeroValor("IdCtaContable").ToEntero - End If - - Dim LugarEntrega = If(txtLugarEntrega.Text.Trim = "", "-1", txtLugarEntrega.Text.Trim) - LugarEntrega = If(DivLugarEntrega1.Visible, LugarEntrega, If(TxtLugarEntregaDirecta.Visible, TxtLugarEntregaDirecta.Text.Trim, "")) - - Dim CveProveedorContacto As Integer = -1 - - Dim CveProveedor As Integer = -1 - If Not ChkCotizacion.Checked OrElse (UsuarioActual.Empresa.Funcionalidad(565) = "1" AndAlso CveConfianzaProveedor > 0) Then - CveProveedor = DdlProveedores.SelectedValue.ToEntero - CveProveedorContacto = IIf(DdlProveedorContacto.SelectedValue.ToEntero = 0, "-1", DdlProveedorContacto.SelectedValue).ToString.ToEntero - End If - - Dim IVA = If(TxtIVA.Visible, TxtIVA.Text.ToDecimal, LblIVA.Text.ToDecimal) - - Dim Promocion = TxtPromocion.Text.Trim - - Dim TCDecimal As Decimal = TxtTCCambioMoneda.Text.ToDecimal - Dim TCDouble As Double = TxtTCCambioMoneda.Text.ToDouble - - If TipoMoneda = "2" Then - Dim CvePrePoliza As Integer = ObjConta.AddPrePolizas("OC/OC-(OCAlmacen)", 74, 0.0D, 0.0D, 1, Now, DdlProveedores.SelectedText, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) - If CvePrePoliza > 0 Then - Dim PrimerImporte As Integer = (0 - LblSubTotal.Text.ToDecimal) - Dim SegundoImporte As Integer = (0 - LblSubTotal.Text.ToDecimal) - - If ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, PrimerImporte, lblFolio.Text, 228, lblFolio.Text, Now, IdCtaContableOCME, -1, CveProveedor:=DdlProveedores.SelectedText, CveMovimientoAlmacen:=CveMovimientoAlmacenVenta, CveOC:=CveOrdenCompra) Then - If ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, SegundoImporte, lblFolio.Text, 229, lblFolio.Text, Now, IdCtaContableOCComplementaria, -1, CveProveedor:=DdlProveedores.SelectedText, CveMovimientoAlmacen:=CveMovimientoAlmacenVenta, CveOC:=CveOrdenCompra) Then - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, PrimerImporte + SegundoImporte, lblFolio.Text, 176, lblFolio.Text, Now, IdCtaContableOC, -1, CveProveedor:=DdlProveedores.SelectedText, CveMovimientoAlmacen:=CveMovimientoAlmacenVenta, CveOC:=CveOrdenCompra) Then - Err = True - Else - If Not OC.UpdateOrdenCompra(-1, TxtDescrip.Text, TxtJustificacion.Text, DdlPrioridad.SelectedValue.ToEntero, ChkCotizacion.Checked, If(TxtFechaEstimadaEntrega.Text.Trim = "", "-1", TxtFechaEstimadaEntrega.Text.Trim), - LugarEntrega, 1, CveProveedor, CveOrdenCompra, UsuarioActual.CveUsuario, Ddlcliente.txtValue.Value.ToEntero, DdlVendedor.SelectedValue.ToEntero, txtobsprioridad.Text, IVA:=(IVA * TCDecimal), RetIVA:=(TxtRetIVA.Text.ToDecimal * TCDecimal), - RetISR:=(TxtRetISR.Text.ToDecimal * TCDecimal), FolioAdicional:=TxtFolioAdicional.Text, EntregaDirecta:=If(ChkEntregaDirecta.Checked, 1, -1), CveDireccionEnvio:=If(DdlDireccionEnvio.Visible, DdlDireccionEnvio.SelectedValue.ToEntero, -1), - Guia:=TxtGuia.Text.Trim, IEPS:=TxtIEPS.Text.ToDecimal, UsoCFDI:=DdlUsoCFDI.SelectedValue.ToEntero, Promocion:=Promocion, pCveProveedorSucursal:=DdlProveedorSucursal.SelectedValue.ToEntero, CveProveedorContacto:=CveProveedorContacto, - PorcentajeIVA:=Math.Round(DdlIVA.SelectedValue.ToDouble - 1, 2)) Then - Err = True - Else - For Each dr As DataRow In DtDetalle.FiltraParametros("TipoDato IN (1)").Rows - If OC.UpdateOrdenCompraDetalle(dr("Cantidad").ToString.ToDouble, dr("CveUnidadMedida").ToString.ToEntero, dr("CvePS").ToString.ToEntero, (dr("Importe").ToString.ToDouble * TCDouble), dr("CveSubProyecto").ToString.ToEntero, - dr("CveActivoFijo").ToString.ToEntero, dr("Observacion").ToString, UsuarioActual.CveUsuario, dr("CveOrdenCompraDetalle").ToString.ToEntero, If(TipoOC = "REQ", -1, dr("CvePresupuestoEgreso").ToString.ToEntero), - (dr("Descuento").ToString.ToDouble * TCDouble), IEPSPS:=(dr("IEPSPS").ToString.ToDouble * TCDouble), IEPSPSIVA:=(dr("IEPSPSIVA").ToString.ToDouble * TCDouble), IVA:=(dr("IVA").ToString.ToDouble * TCDouble), - RetIVA:=(dr("RetIVA").ToString.ToDouble * TCDouble), RetISR:=(dr("RetISR").ToString.ToDouble * TCDouble), Total:=(dr("Total").ToString.ToDouble * TCDouble), CveContratoDetalle:=dr("CveContratoDetalle").ToString.ToEntero, - IVAPorcentaje:=dr("IVAPorcentaje").ToString.ToDouble, RetIVAPorcentaje:=dr("RetIVAPorcentaje").ToString.ToDouble, RetISRPorcentaje:=dr("RetISRPorcentaje").ToString.ToDouble, IEPSPSPorcentaje:=dr("IEPSPSPorcentaje").ToString.ToDouble, - IEPSPSIVAPorcentaje:=dr("IEPSPSIVAPorcentaje").ToString.ToDouble) <= 0 Then - Err = True - Exit For - End If - Next - End If - End If - Else - Err = True - End If - Else - Err = True - End If - End If - ElseIf TipoMoneda = "1" Then - Dim CvePrePoliza As Integer = ObjConta.AddPrePolizas("OC/OC-(OCAlmacen)", 74, 0.0D, 0.0D, 1, Now, DdlProveedores.SelectedText, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) - If CvePrePoliza > 0 Then - Dim PrimerImporte As Decimal = Decimal.Round(((LblSubTotal.Text.ToDecimal) / TxtTCCambioMoneda.Text.ToDecimal), 2, MidpointRounding.AwayFromZero) - Dim SegundoImporte As Decimal = LblSubTotal.Text.ToDecimal - If ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, PrimerImporte, lblFolio.Text, 228, lblFolio.Text, Now, IdCtaContableOCME, -1, CveProveedor:=DdlProveedores.SelectedText, CveMovimientoAlmacen:=CveMovimientoAlmacenVenta, CveOC:=CveOrdenCompra) Then - If ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, SegundoImporte, lblFolio.Text, 229, lblFolio.Text, Now, IdCtaContableOCComplementaria, -1, CveProveedor:=DdlProveedores.SelectedText, CveMovimientoAlmacen:=CveMovimientoAlmacenVenta, CveOC:=CveOrdenCompra) Then - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, (0 - (PrimerImporte + SegundoImporte)), lblFolio.Text, 176, lblFolio.Text, Now, IdCtaContableOC, -1, CveProveedor:=DdlProveedores.SelectedText, CveMovimientoAlmacen:=CveMovimientoAlmacenVenta, CveOC:=CveOrdenCompra) Then - Err = True - Else - If Not OC.UpdateOrdenCompra(-1, TxtDescrip.Text, TxtJustificacion.Text, DdlPrioridad.SelectedValue.ToEntero, ChkCotizacion.Checked, If(TxtFechaEstimadaEntrega.Text.Trim = "", "-1", TxtFechaEstimadaEntrega.Text.Trim), - LugarEntrega, 2, CveProveedor, CveOrdenCompra, UsuarioActual.CveUsuario, Ddlcliente.txtValue.Value.ToEntero, DdlVendedor.SelectedValue.ToEntero, txtobsprioridad.Text, IVA:=(IVA / TCDecimal), - RetIVA:=(TxtRetIVA.Text.ToDecimal / TCDecimal), RetISR:=(TxtRetISR.Text.ToDecimal / TCDecimal), FolioAdicional:=TxtFolioAdicional.Text, EntregaDirecta:=If(ChkEntregaDirecta.Checked, 1, -1), CveDireccionEnvio:=If(DdlDireccionEnvio.Visible, DdlDireccionEnvio.SelectedValue.ToEntero, -1), - Guia:=TxtGuia.Text.Trim, IEPS:=TxtIEPS.Text.ToDecimal, UsoCFDI:=DdlUsoCFDI.SelectedValue.ToEntero, Promocion:=Promocion, pCveProveedorSucursal:=DdlProveedorSucursal.SelectedValue.ToEntero, CveProveedorContacto:=CveProveedorContacto, - PorcentajeIVA:=Math.Round(DdlIVA.SelectedValue.ToDouble - 1, 2)) Then - Err = True - Else - For Each dr As DataRow In DtDetalle.FiltraParametros("TipoDato IN (1)").Rows - If OC.UpdateOrdenCompraDetalle(dr("Cantidad").ToString.ToDouble, dr("CveUnidadMedida").ToString.ToEntero, dr("CvePS").ToString.ToEntero, (dr("Importe").ToString.ToDouble / TCDouble), dr("CveSubProyecto").ToString.ToEntero, - dr("CveActivoFijo").ToString.ToEntero, dr("Observacion").ToString, UsuarioActual.CveUsuario, dr("CveOrdenCompraDetalle").ToString.ToEntero, If(TipoOC = "REQ", -1, dr("CvePresupuestoEgreso").ToString.ToEntero), - (dr("Descuento").ToString.ToDouble / TCDouble), IEPSPS:=(dr("IEPSPS").ToString.ToDouble / TCDouble), IEPSPSIVA:=(dr("IEPSPSIVA").ToString.ToDouble / TCDouble), IVA:=(dr("IVA").ToString.ToDouble / TCDouble), - RetIVA:=(dr("RetIVA").ToString.ToDouble / TCDouble), RetISR:=(dr("RetISR").ToString.ToDouble / TCDouble), Total:=(dr("Total").ToString.ToDouble / TCDouble), CveContratoDetalle:=dr("CveContratoDetalle").ToString.ToEntero, - IVAPorcentaje:=dr("IVAPorcentaje").ToString.ToDouble, RetIVAPorcentaje:=dr("RetIVAPorcentaje").ToString.ToDouble, RetISRPorcentaje:=dr("RetISRPorcentaje").ToString.ToDouble, IEPSPSPorcentaje:=dr("IEPSPSPorcentaje").ToString.ToDouble, - IEPSPSIVAPorcentaje:=dr("IEPSPSIVAPorcentaje").ToString.ToDouble) <= 0 Then - Err = True - Exit For - End If - Next - End If - End If - Else - Err = True - End If - Else - Err = True - End If - End If - End If - ObjConta.Dispose() + Dim DtInvOC As DataTable = Nothing + If ObjInv.GetMovimientosOC(CveOrdenCompra, UsuarioActual.CveEmpresa) Then + DtInvOC = ObjInv.DtResultados End If ObjInv.Dispose() - If Err Then - Alert("Sucedió un error con el cambio en la moneda", TipoMensaje.MsgError) - Else - Alert("Moneda actualizada con exito") + + + Dim CveMonedaOC As Integer = DdlMoneda.SelectedValue.ToEntero + Dim CveProveedor As Integer = DdlProveedores.SelectedValue.ToEntero + Dim ProveedorNombre As String = GlobalDTCompProveedores(UsuarioActual.CveEmpresa).FiltroPrimeroValor("RazonSocial", $"CveProveedor = {CveProveedor}").ToString + Dim ConceptoPartida As String = String.Format(" Cambio Moneda {0} OC: {1} ", ProveedorNombre, lblFolio.Text) + + Dim ObjConta As New ClsContabilidad + Dim ObjOC As New ClsOC(ObjConta.IniciaTransacSQL) + Dim CvePrePoliza As Integer = ObjConta.AddPrePolizas("OC/OC-CambioMoneda", 74, 0, 0, 1, Now, ConceptoPartida, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) + Dim Importe176, Importe228, Importe229 As Decimal + Dim ImporteCI176, ImporteMN229, PU, Importe176PU As Decimal + Dim Retorno As Boolean = True + Dim ErrorPrepoliza As Boolean = False + + Dim IdCtaContableOC As Integer = 0 + Dim IdCtaContableME As Integer = 0 + Dim IdCtaContableMEComp As Integer = 0 + + If ObjConta.GetRetCuenta(176, UsuarioActual.CveEmpresa) Then + IdCtaContableOC = ObjConta.DtResultados.FiltroPrimeroValor("IdCtaContable").ToEntero End If + + If ObjConta.GetRetCuenta(228, UsuarioActual.CveEmpresa) Then + IdCtaContableME = ObjConta.DtResultados.FiltroPrimeroValor("IdCtaContable").ToEntero + End If + + If ObjConta.GetRetCuenta(229, UsuarioActual.CveEmpresa) Then + IdCtaContableMEComp = ObjConta.DtResultados.FiltroPrimeroValor("IdCtaContable").ToEntero + End If + + '.FiltraParametros($"CvePS > 0 AND CveOrdenCompraDetalle = {dr2("CveOrdenCompraDetalle").ToString.ToEntero}").Copy + For Each gvr As GridViewRow In GvD.Rows + If ObjOC.OrdenesCompraDetalleCostoPP(gvr.DataKey("CveOrdenCompraDetalle").ToString.ToEntero) AndAlso ObjOC.DtResultados.Rows.Count >= 1 Then + Dim Concepto As String = $"{DdlProveedores.SelectedText} OC {ObjOC.DtResultados.FiltroPrimeroValor("Folio").ToString} Inv: {ObjOC.DtResultados.FiltroPrimeroValor("FolioAlmacen").ToString}" + Importe176 = ObjOC.DtResultados.FiltroPrimeroValor("Importe176Suma").ToDecimal ': ImporteME176 = ObjOC.DtResultados.FiltroPrimeroValor("ImporteME176").ToDecimal * gvr.DataKey("Cantidad").ToString.ToDecimal : ImporteMN176 = ObjOC.DtResultados.FiltroPrimeroValor("ImporteMN176").ToDecimal * gvr.DataKey("Cantidad").ToString.ToDecimal + Importe228 = ObjOC.DtResultados.FiltroPrimeroValor("Importe228Suma").ToDecimal ': ImporteME228 = ObjOC.DtResultados.FiltroPrimeroValor("ImporteME228").ToDecimal * gvr.DataKey("Cantidad").ToString.ToDecimal : ImporteMN228 = ObjOC.DtResultados.FiltroPrimeroValor("ImporteMN228").ToDecimal * gvr.DataKey("Cantidad").ToString.ToDecimal + Importe229 = ObjOC.DtResultados.FiltroPrimeroValor("Importe229Suma").ToDecimal : ImporteMN229 = ObjOC.DtResultados.FiltroPrimeroValor("Importe229Suma").ToDecimal + ImporteCI176 = ObjOC.DtResultados.FiltroPrimeroValor("ImporteCI176").ToDecimal + Importe176PU = ObjOC.DtResultados.FiltroPrimeroValor("Importe176").ToDecimal + + Dim CveMovimientoAlmacen As Integer = ObjOC.DtResultados.FiltroPrimeroValor("CveMovimientoAlmacen").ToEntero + Dim TCAjuste As Decimal = ObjOC.DtResultados.FiltroPrimeroValor("TipoCambioAjuste").ToDecimal + + + If CveMonedaOC = 2 Then + CveMonedaOC = 1 + PU = ObjOC.DtResultados.FiltroPrimeroValor("Importe228").ToDecimal * TCAjuste + ImporteCI176 = ObjOC.DtResultados.FiltroPrimeroValor("ImporteCI228").ToDecimal + Importe176 = Importe228 + Importe229 + If ObjConta.AddPrePolizasDetalle(CvePrePoliza, 1, -Importe228, lblFolio.Text, 228, Concepto, Now, IdCtaContableME, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedor, ImporteMX:=-Importe228, ImporteME:=-Importe228, CveOCDetalle:=gvr.DataKey("CveOrdenCompraDetalle").ToString.ToEntero, TipoCambio:=TCAjuste, CveMovimientoAlmacen:=CveMovimientoAlmacen) Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, 1, -Importe229, lblFolio.Text, 229, Concepto, Now, IdCtaContableMEComp, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedor, ImporteMX:=-Importe229, ImporteME:=-Importe228, CveOCDetalle:=gvr.DataKey("CveOrdenCompraDetalle").ToString.ToEntero, TipoCambio:=TCAjuste, CveMovimientoAlmacen:=CveMovimientoAlmacen) Then + ErrorPrepoliza = True + Exit For + Else + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, 1, Importe176, lblFolio.Text, 176, Concepto, Now, IdCtaContableOC, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedor, ImporteMX:=Importe176, ImporteME:=Importe176, CveOCDetalle:=gvr.DataKey("CveOrdenCompraDetalle").ToString.ToEntero, CveMovimientoAlmacen:=CveMovimientoAlmacen) Then + ErrorPrepoliza = True + Exit For + Else + If Not ObjOC.UpdateOrdenCompraDetalleAjuste(CveOrdenCompra, gvr.DataKey("CveOrdenCompraDetalle").ToString.ToEntero, PU, UsuarioActual.CveUsuario) Then + Retorno = False + Exit For + End If + End If + End If + Else + ErrorPrepoliza = True + Exit For + End If + Else + CveMonedaOC = 2 + TCAjuste = TxtTCCambioMoneda.Text.ToDecimal + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, 1, -Importe176, lblFolio.Text, 176, Concepto, Now, IdCtaContableOC, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedor, ImporteMX:=-Importe176, ImporteME:=-Importe176, CveOCDetalle:=gvr.DataKey("CveOrdenCompraDetalle").ToString.ToEntero, CveMovimientoAlmacen:=CveMovimientoAlmacen) Then + ErrorPrepoliza = True + Exit For + Else + Importe228 = (Importe176 / TCAjuste) + Importe229 = (Importe228 * TCAjuste - Importe228).RoundSQL + Importe228 = Importe228.RoundSQL(3) ' se redondea a 3 digitos, por la conversion, y no afecta al CK de complementaria + Dim dift As Decimal = Importe176 - Importe228 - Importe229 + If dift <> 0 Then Importe229 += dift + PU = Importe176PU / TCAjuste + + If ObjConta.AddPrePolizasDetalle(CvePrePoliza, 1, Importe228, lblFolio.Text, 228, Concepto, Now, IdCtaContableME, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedor, ImporteMX:=Importe228, ImporteME:=Importe228, CveOCDetalle:=gvr.DataKey("CveOrdenCompraDetalle").ToString.ToEntero, TipoCambio:=TCAjuste, CveMovimientoAlmacen:=CveMovimientoAlmacen) Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, 1, Importe229, lblFolio.Text, 229, Concepto, Now, IdCtaContableMEComp, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedor, ImporteMX:=Importe229, ImporteME:=Importe228, CveOCDetalle:=gvr.DataKey("CveOrdenCompraDetalle").ToString.ToEntero, TipoCambio:=TCAjuste, CveMovimientoAlmacen:=CveMovimientoAlmacen) Then + ErrorPrepoliza = True + Exit For + Else + If Not ObjOC.UpdateOrdenCompraDetalleAjuste(CveOrdenCompra, gvr.DataKey("CveOrdenCompraDetalle").ToString.ToEntero, PU, UsuarioActual.CveUsuario) Then + Retorno = False + Exit For + End If + End If + Else + ErrorPrepoliza = True + Exit For + End If + + End If + End If + Else + Alert("Ocurrió un error al procesar la mercancia recibida por adelantado. Por favor comuniquese con asistencia SIG", TipoMensaje.MsgError) + ErrorPrepoliza = True + Exit For + End If + + 'DtInvOC.FiltraParametros($"CvePS > 0 AND CveOrdenCompraDetalle = {GvD.DataKeys("CveOrdenCompraDetalle").ToString}").Copy() + + 'If CveMonedaOC = 1 Then + ' If ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteME, SerieFolio, 228, ConceptoPartida, Fecha, IdCtaContableRecepcionOCME, -1, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimientoAlmacen, CveOC:=CveOrdenCompra, ImporteMX:=ImporteME, ImporteME:=ImporteME, TipoCambio:=TCInvOC, CveOCDetalle:=CveOCDetalle) Then + ' If ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteMEComp, SerieFolio, 229, ConceptoPartida, Fecha, IdCtaContableRecepcionOCComplementaria, -1, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimientoAlmacen, CveOC:=CveOrdenCompra, ImporteMX:=ImporteMEComp, ImporteME:=ImporteME, TipoCambio:=TCInvOC, CveOCDetalle:=CveOCDetalle) Then + ' If DifImporte <> 0 AndAlso Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, DifImporte, SerieFolio, 69, ConceptoPartida, Fecha, IdCtaContable69, -1, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimientoAlmacen, CveOC:=CveOrdenCompra, ImporteMX:=DifImporte, ImporteME:=DifImporte, TipoCambio:=TCInvOC, CveOCDetalle:=CveOCDetalle, CveClasificacion:=CveClasificacionCostoOC) Then + ' Retorno = False + ' Exit For + ' End If + ' Else + ' Retorno = False + ' Exit For + ' End If + ' Else + ' Retorno = False + ' Exit For + ' End If + 'End If + + Next + + If Not ErrorPrepoliza Then + + If Not ObjOC.UpdateOrdenCompraMoneda(CveOrdenCompra, UsuarioActual.CveEmpresa, CveMonedaOC, UsuarioActual.CveUsuario) Then + ErrorPrepoliza = True + End If + End If + + If Not ErrorPrepoliza Then + ObjOC.Commit() + Alert("Cambio Aplicado correctamente") + Else + ObjOC.RollBack() + Alert("Sucedió un error con el cambio en la moneda", TipoMensaje.MsgError) + End If + + 'Dim ObjInv As New ClsInventarios + 'Dim OC As New ClsOC + 'Dim Err As Boolean = False + 'If ObjInv.GetMovimientos(CveMovimientoAlmacenVenta, -1, -1, UsuarioActual.CveEmpresa) Then + ' Dim TipoMoneda As String = ObjInv.DtResultados.FiltroPrimeroValor("CveMoneda") + ' Dim ObjConta As New ClsContabilidad + + ' Dim IdCtaContableOC As Integer = 0 + ' Dim IdCtaContableOCME As Integer = 0 + ' Dim IdCtaContableOCComplementaria As Integer = 0 + + ' If ObjConta.GetRetCuenta(176, UsuarioActual.CveEmpresa) Then + ' IdCtaContableOC = ObjConta.DtResultados.FiltroPrimeroValor("IdCtaContable").ToEntero + ' End If + + ' If ObjConta.GetRetCuenta(228, UsuarioActual.CveEmpresa) Then + ' IdCtaContableOCME = ObjConta.DtResultados.FiltroPrimeroValor("IdCtaContable").ToEntero + ' End If + + ' If ObjConta.GetRetCuenta(229, UsuarioActual.CveEmpresa) Then + ' IdCtaContableOCComplementaria = ObjConta.DtResultados.FiltroPrimeroValor("IdCtaContable").ToEntero + ' End If + + ' Dim LugarEntrega = If(txtLugarEntrega.Text.Trim = "", "-1", txtLugarEntrega.Text.Trim) + ' LugarEntrega = If(DivLugarEntrega1.Visible, LugarEntrega, If(TxtLugarEntregaDirecta.Visible, TxtLugarEntregaDirecta.Text.Trim, "")) + + ' Dim CveProveedorContacto As Integer = -1 + + ' Dim CveProveedor As Integer = -1 + ' If Not ChkCotizacion.Checked OrElse (UsuarioActual.Empresa.Funcionalidad(565) = "1" AndAlso CveConfianzaProveedor > 0) Then + ' CveProveedor = DdlProveedores.SelectedValue.ToEntero + ' CveProveedorContacto = IIf(DdlProveedorContacto.SelectedValue.ToEntero = 0, "-1", DdlProveedorContacto.SelectedValue).ToString.ToEntero + ' End If + + ' Dim IVA = If(TxtIVA.Visible, TxtIVA.Text.ToDecimal, LblIVA.Text.ToDecimal) + + ' Dim Promocion = TxtPromocion.Text.Trim + + ' Dim TCDecimal As Decimal = TxtTCCambioMoneda.Text.ToDecimal + ' Dim TCDouble As Double = TxtTCCambioMoneda.Text.ToDouble + + ' If TipoMoneda = "2" Then + ' Dim CvePrePoliza As Integer = ObjConta.AddPrePolizas("OC/OC-(OCAlmacen)", 74, 0.0D, 0.0D, 1, Now, DdlProveedores.SelectedText, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) + ' If CvePrePoliza > 0 Then + ' Dim PrimerImporte As Integer = (0 - LblSubTotal.Text.ToDecimal) + ' Dim SegundoImporte As Integer = (0 - LblSubTotal.Text.ToDecimal) + + ' If ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, PrimerImporte, lblFolio.Text, 228, lblFolio.Text, Now, IdCtaContableOCME, -1, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimientoAlmacenVenta, CveOC:=CveOrdenCompra) Then + ' If ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, SegundoImporte, lblFolio.Text, 229, lblFolio.Text, Now, IdCtaContableOCComplementaria, -1, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimientoAlmacenVenta, CveOC:=CveOrdenCompra) Then + ' If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, PrimerImporte + SegundoImporte, lblFolio.Text, 176, lblFolio.Text, Now, IdCtaContableOC, -1, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimientoAlmacenVenta, CveOC:=CveOrdenCompra) Then + ' Err = True + ' Else + ' If Not OC.UpdateOrdenCompra(-1, TxtDescrip.Text, TxtJustificacion.Text, DdlPrioridad.SelectedValue.ToEntero, ChkCotizacion.Checked, If(TxtFechaEstimadaEntrega.Text.Trim = "", "-1", TxtFechaEstimadaEntrega.Text.Trim), + ' LugarEntrega, 1, CveProveedor, CveOrdenCompra, UsuarioActual.CveUsuario, Ddlcliente.txtValue.Value.ToEntero, DdlVendedor.SelectedValue.ToEntero, txtobsprioridad.Text, IVA:=(IVA * TCDecimal), RetIVA:=(TxtRetIVA.Text.ToDecimal * TCDecimal), + ' RetISR:=(TxtRetISR.Text.ToDecimal * TCDecimal), FolioAdicional:=TxtFolioAdicional.Text, EntregaDirecta:=If(ChkEntregaDirecta.Checked, 1, -1), CveDireccionEnvio:=If(DdlDireccionEnvio.Visible, DdlDireccionEnvio.SelectedValue.ToEntero, -1), + ' Guia:=TxtGuia.Text.Trim, IEPS:=TxtIEPS.Text.ToDecimal, UsoCFDI:=DdlUsoCFDI.SelectedValue.ToEntero, Promocion:=Promocion, pCveProveedorSucursal:=DdlProveedorSucursal.SelectedValue.ToEntero, CveProveedorContacto:=CveProveedorContacto, + ' PorcentajeIVA:=Math.Round(DdlIVA.SelectedValue.ToDouble - 1, 2)) Then + ' Err = True + ' Else + ' For Each dr As DataRow In DtDetalle.FiltraParametros("TipoDato IN (1)").Rows + ' If OC.UpdateOrdenCompraDetalle(dr("Cantidad").ToString.ToDouble, dr("CveUnidadMedida").ToString.ToEntero, dr("CvePS").ToString.ToEntero, (dr("Importe").ToString.ToDouble * TCDouble), dr("CveSubProyecto").ToString.ToEntero, + ' dr("CveActivoFijo").ToString.ToEntero, dr("Observacion").ToString, UsuarioActual.CveUsuario, dr("CveOrdenCompraDetalle").ToString.ToEntero, If(TipoOC = "REQ", -1, dr("CvePresupuestoEgreso").ToString.ToEntero), + ' (dr("Descuento").ToString.ToDouble * TCDouble), IEPSPS:=(dr("IEPSPS").ToString.ToDouble * TCDouble), IEPSPSIVA:=(dr("IEPSPSIVA").ToString.ToDouble * TCDouble), IVA:=(dr("IVA").ToString.ToDouble * TCDouble), + ' RetIVA:=(dr("RetIVA").ToString.ToDouble * TCDouble), RetISR:=(dr("RetISR").ToString.ToDouble * TCDouble), Total:=(dr("Total").ToString.ToDouble * TCDouble), CveContratoDetalle:=dr("CveContratoDetalle").ToString.ToEntero, + ' IVAPorcentaje:=dr("IVAPorcentaje").ToString.ToDouble, RetIVAPorcentaje:=dr("RetIVAPorcentaje").ToString.ToDouble, RetISRPorcentaje:=dr("RetISRPorcentaje").ToString.ToDouble, IEPSPSPorcentaje:=dr("IEPSPSPorcentaje").ToString.ToDouble, + ' IEPSPSIVAPorcentaje:=dr("IEPSPSIVAPorcentaje").ToString.ToDouble) <= 0 Then + ' Err = True + ' Exit For + ' End If + ' Next + ' End If + ' End If + ' Else + ' Err = True + ' End If + ' Else + ' Err = True + ' End If + ' End If + ' ElseIf TipoMoneda = "1" Then + ' Dim CvePrePoliza As Integer = ObjConta.AddPrePolizas("OC/OC-(OCAlmacen)", 74, 0.0D, 0.0D, 1, Now, DdlProveedores.SelectedText, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) + ' If CvePrePoliza > 0 Then + ' Dim PrimerImporte As Decimal = Decimal.Round(((LblSubTotal.Text.ToDecimal) / TxtTCCambioMoneda.Text.ToDecimal), 2, MidpointRounding.AwayFromZero) + ' Dim SegundoImporte As Decimal = LblSubTotal.Text.ToDecimal + ' If ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, PrimerImporte, lblFolio.Text, 228, lblFolio.Text, Now, IdCtaContableOCME, -1, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimientoAlmacenVenta, CveOC:=CveOrdenCompra) Then + ' If ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, SegundoImporte, lblFolio.Text, 229, lblFolio.Text, Now, IdCtaContableOCComplementaria, -1, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimientoAlmacenVenta, CveOC:=CveOrdenCompra) Then + ' If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, (0 - (PrimerImporte + SegundoImporte)), lblFolio.Text, 176, lblFolio.Text, Now, IdCtaContableOC, -1, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimientoAlmacenVenta, CveOC:=CveOrdenCompra) Then + ' Err = True + ' Else + ' If Not OC.UpdateOrdenCompra(-1, TxtDescrip.Text, TxtJustificacion.Text, DdlPrioridad.SelectedValue.ToEntero, ChkCotizacion.Checked, If(TxtFechaEstimadaEntrega.Text.Trim = "", "-1", TxtFechaEstimadaEntrega.Text.Trim), + ' LugarEntrega, 2, CveProveedor, CveOrdenCompra, UsuarioActual.CveUsuario, Ddlcliente.txtValue.Value.ToEntero, DdlVendedor.SelectedValue.ToEntero, txtobsprioridad.Text, IVA:=(IVA / TCDecimal), + ' RetIVA:=(TxtRetIVA.Text.ToDecimal / TCDecimal), RetISR:=(TxtRetISR.Text.ToDecimal / TCDecimal), FolioAdicional:=TxtFolioAdicional.Text, EntregaDirecta:=If(ChkEntregaDirecta.Checked, 1, -1), CveDireccionEnvio:=If(DdlDireccionEnvio.Visible, DdlDireccionEnvio.SelectedValue.ToEntero, -1), + ' Guia:=TxtGuia.Text.Trim, IEPS:=TxtIEPS.Text.ToDecimal, UsoCFDI:=DdlUsoCFDI.SelectedValue.ToEntero, Promocion:=Promocion, pCveProveedorSucursal:=DdlProveedorSucursal.SelectedValue.ToEntero, CveProveedorContacto:=CveProveedorContacto, + ' PorcentajeIVA:=Math.Round(DdlIVA.SelectedValue.ToDouble - 1, 2)) Then + ' Err = True + ' Else + ' For Each dr As DataRow In DtDetalle.FiltraParametros("TipoDato IN (1)").Rows + ' If OC.UpdateOrdenCompraDetalle(dr("Cantidad").ToString.ToDouble, dr("CveUnidadMedida").ToString.ToEntero, dr("CvePS").ToString.ToEntero, (dr("Importe").ToString.ToDouble / TCDouble), dr("CveSubProyecto").ToString.ToEntero, + ' dr("CveActivoFijo").ToString.ToEntero, dr("Observacion").ToString, UsuarioActual.CveUsuario, dr("CveOrdenCompraDetalle").ToString.ToEntero, If(TipoOC = "REQ", -1, dr("CvePresupuestoEgreso").ToString.ToEntero), + ' (dr("Descuento").ToString.ToDouble / TCDouble), IEPSPS:=(dr("IEPSPS").ToString.ToDouble / TCDouble), IEPSPSIVA:=(dr("IEPSPSIVA").ToString.ToDouble / TCDouble), IVA:=(dr("IVA").ToString.ToDouble / TCDouble), + ' RetIVA:=(dr("RetIVA").ToString.ToDouble / TCDouble), RetISR:=(dr("RetISR").ToString.ToDouble / TCDouble), Total:=(dr("Total").ToString.ToDouble / TCDouble), CveContratoDetalle:=dr("CveContratoDetalle").ToString.ToEntero, + ' IVAPorcentaje:=dr("IVAPorcentaje").ToString.ToDouble, RetIVAPorcentaje:=dr("RetIVAPorcentaje").ToString.ToDouble, RetISRPorcentaje:=dr("RetISRPorcentaje").ToString.ToDouble, IEPSPSPorcentaje:=dr("IEPSPSPorcentaje").ToString.ToDouble, + ' IEPSPSIVAPorcentaje:=dr("IEPSPSIVAPorcentaje").ToString.ToDouble) <= 0 Then + ' Err = True + ' Exit For + ' End If + ' Next + ' End If + ' End If + ' Else + ' Err = True + ' End If + ' Else + ' Err = True + ' End If + ' End If + ' End If + ' ObjConta.Dispose() + 'End If + 'ObjInv.Dispose() + 'If Err Then + ' Alert("Sucedió un error con el cambio en la moneda", TipoMensaje.MsgError) + 'Else + ' Alert("Moneda actualizada con exito") + 'End If End Sub End Class diff --git a/Ventas/Clientes.aspx b/Ventas/Clientes.aspx index 5c4cc70ee..5ab17c534 100644 --- a/Ventas/Clientes.aspx +++ b/Ventas/Clientes.aspx @@ -179,8 +179,8 @@
  • - - Conciliar + + Conciliar
  • @@ -731,7 +731,7 @@ - Sucursal/Depto + Sucursal/Depto @@ -742,7 +742,7 @@ - Contacto + Contacto @@ -753,7 +753,7 @@ - Ciudad + Ciudad @@ -775,7 +775,7 @@
    - Condiciones Entrega: + Condiciones Entrega:
    @@ -878,7 +878,7 @@
    - ¿El Cliente nos retiene IVA por Fletes y Acarreos?: + ¿El Cliente nos retiene IVA por Fletes y Acarreos?:
    @@ -913,7 +913,7 @@
    - El cliente desglosa IEPS: + El cliente desglosa IEPS:
    @@ -1111,7 +1111,7 @@
    - Cantidad de Ventas: + Cantidad de Ventas:
    @@ -1121,7 +1121,7 @@
    - Total Vendido: + Total Vendido:
    @@ -1132,7 +1132,7 @@
    - Venta Mínima: + Venta Mínima:
    @@ -1141,7 +1141,7 @@
    - Promedio de Ventas: + Promedio de Ventas:
    @@ -1150,7 +1150,7 @@
    - Venta Máxima: + Venta Máxima:
    @@ -1288,7 +1288,7 @@
    - Cantidad de Cotizaciones: + Cantidad de Cotizaciones:
    @@ -1297,11 +1297,11 @@
    - Factor de Cotizaciones VS Ventas: + Factor de Cotizaciones VS Ventas:
    -  % +  %
    @@ -1392,17 +1392,17 @@ - <%-- - - - + <%-- + + + --%> Crear O.S. - - - <%--Crear O.S.--%> + + + <%--Crear O.S.--%> @@ -1478,31 +1478,31 @@

    -    +    -     +     -    +    -    +    -    +    -    +   
    -   +   -   +   -   +   -   +   -   +   -   +  
    @@ -1536,31 +1536,31 @@

    -    +    -     +     -    +    -    +    -    +    -    +   
    -   +   -   +   -   +   -   +   -   +   -   +  
    @@ -1570,58 +1570,58 @@
    - <%-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + <%-- + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + --%>
    @@ -1664,27 +1664,27 @@
    - <%--
    - - -
    - -
    - - -
    - -
    - -
    - - -
    - - -
    - -
    + <%--
    + + +
    + +
    + + +
    + +
    + +
    + + +
    + + +
    + +
    --%>
    @@ -1734,9 +1734,9 @@
    - <%-- - Cuentas por Cobrar - Anticipos / NC + <%-- + Cuentas por Cobrar + Anticipos / NC --%>
    @@ -1807,11 +1807,11 @@ - <%-- - - - - + <%-- + + + + --%>
    @@ -1867,7 +1867,7 @@
    - Pago múltiples facturas Pagar múltiples facturas      + Pago múltiples facturas Pagar múltiples facturas     
    @@ -1886,19 +1886,19 @@ -   +   -   +   -   +   @@ -1976,19 +1976,19 @@ -   +   -   +   -   +   @@ -2310,7 +2310,7 @@ -   +   @@ -2330,8 +2330,8 @@ Reenviar Complemento - <%-- - + <%-- + --%> @@ -2395,17 +2395,17 @@ - <%-- - Solicitó - - - - - - Descripción - - - + <%-- + Solicitó + + + + + + Descripción + + + --%> @@ -2943,7 +2943,7 @@
    - Fecha Inicial: + Fecha Inicial:
    @@ -2961,7 +2961,7 @@
    - Fecha Final: + Fecha Final:
    @@ -3063,13 +3063,13 @@
    - <%-- -
    - -
    + <%-- +
    + +
    --%> - <%-- - + <%-- + --%>
    @@ -3288,17 +3288,17 @@
    - Estado: + Estado:
    - Fecha de Captura: + Fecha de Captura:
    - Usuario Capturó: + Usuario Capturó:
    @@ -3324,25 +3324,25 @@
    - Usuario Activo: + Usuario Activo:
    - Usuario: + Usuario:

    - Enviar Activación: + Enviar Activación:
    - Desactivar Usuario: + Desactivar Usuario:
    @@ -3365,9 +3365,9 @@ - <%-- + <%-- --%> - <%-- + <%-- --%> @@ -3383,11 +3383,11 @@ - <%-- - - + <%-- + + --%> - <%-- + <%-- --%> @@ -3435,14 +3435,14 @@ - Nombre + Nombre - Correo/Usuario + Correo/Usuario @@ -3471,14 +3471,14 @@ - Fecha + Fecha - Usuario + Usuario @@ -3615,21 +3615,21 @@ - <%-- - - - - - - - - - - - - - - + <%-- + + + + + + + + + + + + + + --%> @@ -3667,15 +3667,15 @@ -
    - -   +
    + +  
      -   +   @@ -3822,11 +3822,11 @@ - <%-- - - - + <%-- + + + --%> @@ -3907,7 +3907,7 @@
    - Fecha Inicio: + Fecha Inicio:
    @@ -3923,7 +3923,7 @@
    - Fecha Fin: + Fecha Fin:
    @@ -4046,7 +4046,7 @@ Importe Cargo - $ + $ @@ -4055,7 +4055,7 @@ Importe Bonificación - $ + $ @@ -4100,7 +4100,7 @@
    - Fecha Inicio: + Fecha Inicio:
    @@ -4116,7 +4116,7 @@
    - Fecha Fin: + Fecha Fin:
    @@ -4160,7 +4160,7 @@ - <%-- + <%-- --%> @@ -4192,8 +4192,8 @@

    - <%--
    - + <%--
    +
    --%>
    @@ -4255,7 +4255,7 @@
    Con copia para:
    - (Separar con: ;) + (Separar con: ;)
    @@ -4346,7 +4346,7 @@
    Con copia para:
    - (Separar con: ;) + (Separar con: ;)
    @@ -4400,10 +4400,10 @@ -   +   -   +   Referencia: @@ -4432,9 +4432,9 @@
    - <%--
    - - Agregar + <%--
    + + Agregar
    --%>
    @@ -4519,8 +4519,8 @@
    - <%--
    - + <%--
    +
    --%> @@ -4829,9 +4829,9 @@
    - <%--
    - - + <%--
    + +
    --%> @@ -4905,16 +4905,16 @@
    - Cliente: + Cliente:
    - <%-- + <%-- --%>
    - Fecha: + Fecha:
    @@ -4941,7 +4941,7 @@
    - Importe total: + Importe total:
    @@ -5407,7 +5407,7 @@
    -

    Estatus: +

    Estatus:

    @@ -5425,7 +5425,7 @@

    - +

    @@ -5441,7 +5441,7 @@

    - +

    @@ -5457,7 +5457,7 @@

    - +

    @@ -5473,7 +5473,7 @@

    - +

    @@ -5489,7 +5489,7 @@

    - +

    @@ -5513,7 +5513,7 @@
    -

    Límite de Crédito $ +

    Límite de Crédito $ MN


    @@ -5567,7 +5567,7 @@ -      +      @@ -5758,18 +5758,18 @@ - <%-- - - -
    + <%-- + + +
    --%> - <%-- + <%-- --%>
    - <%-- - + <%-- + --%> @@ -5780,27 +5780,27 @@ - <%-- - --%> + <%-- + --%> - <%-- - --%> + <%-- + --%> - <%-- - --%> + <%-- + --%> - <%-- - --%> + <%-- + --%> @@ -5816,7 +5816,7 @@
    - <%--table table-striped table-advance table-hover Widthall ScrollAD + <%--table table-striped table-advance table-hover Widthall ScrollAD tabla_correcto grides Widthall mysmallbtn--%> @@ -5896,9 +5896,9 @@ -
    - -   +
    + +  
    @@ -6027,9 +6027,9 @@ -
    - -   +
    + +  
    @@ -6069,905 +6069,905 @@ - - diff --git a/Ventas/RepProductosServiciosDetalle.aspx.vb b/Ventas/RepProductosServiciosDetalle.aspx.vb index 52e61382c..948eb61bc 100644 --- a/Ventas/RepProductosServiciosDetalle.aspx.vb +++ b/Ventas/RepProductosServiciosDetalle.aspx.vb @@ -1,828 +1,828 @@ -Option Explicit On -Option Strict On - -Imports System.Data +Option Explicit On +Option Strict On + +Imports System.Data Imports System.IO -Imports Extensiones -Imports Microsoft.Reporting.WebForms -Imports System.IO.Compression - -Partial Class Ventas_RepProductosServiciosDetalle +Imports Extensiones +Imports Microsoft.Reporting.WebForms +Imports System.IO.Compression + +Partial Class Ventas_RepProductosServiciosDetalle Inherits ClsPaginas -#Region "PROPIEDADES" - Private Property TmpDT As DataTable - Get - Return CType(ViewState("TmpDT"), DataTable) - End Get - Set(value As DataTable) - ViewState("TmpDT") = value - End Set - End Property - Private Property CveMoneda As Integer - Get - Return CType(ViewState("CveMoneda"), Integer) - End Get - Set(value As Integer) - ViewState("CveMoneda") = value - End Set - End Property - Private Property TipoCambio As Integer - Get - Return CType(ViewState("TipoCambio"), Integer) - End Get - Set(value As Integer) - ViewState("TipoCambio") = value - End Set - End Property - Private Property TCEspecifico As Double - Get - Return CType(ViewState("TCEspecifico"), Double) - End Get - Set(value As Double) - ViewState("TCEspecifico") = value - End Set - End Property - Private Property DtColor As DataTable - Get - Return DirectCast(ViewState("DtColor"), DataTable) - End Get - Set(value As DataTable) - ViewState("DtColor") = value - End Set - End Property - Private Property Agrupador As String - Get - Return ViewState("Agrupador").ToString - End Get - - Set(value As String) - ViewState("Agrupador") = value - End Set +#Region "PROPIEDADES" + Private Property TmpDT As DataTable + Get + Return CType(ViewState("TmpDT"), DataTable) + End Get + Set(value As DataTable) + ViewState("TmpDT") = value + End Set End Property -#End Region + Private Property CveMoneda As Integer + Get + Return CType(ViewState("CveMoneda"), Integer) + End Get + Set(value As Integer) + ViewState("CveMoneda") = value + End Set + End Property + Private Property TipoCambio As Integer + Get + Return CType(ViewState("TipoCambio"), Integer) + End Get + Set(value As Integer) + ViewState("TipoCambio") = value + End Set + End Property + Private Property TCEspecifico As Double + Get + Return CType(ViewState("TCEspecifico"), Double) + End Get + Set(value As Double) + ViewState("TCEspecifico") = value + End Set + End Property + Private Property DtColor As DataTable + Get + Return DirectCast(ViewState("DtColor"), DataTable) + End Get + Set(value As DataTable) + ViewState("DtColor") = value + End Set + End Property + Private Property Agrupador As String + Get + Return ViewState("Agrupador").ToString + End Get - Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load - If Not IsPostBack Then - - If UsuarioActual.CveEmpresa = 2 AndAlso UsuarioActual.CveUsuario.Contiene(77, 21) Then Response.Redirect("/Inicio.aspx") - SetValues() - CargaParametrosDetalle() - - End If + Set(value As String) + ViewState("Agrupador") = value + End Set + End Property +#End Region + + Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load + If Not IsPostBack Then + + If UsuarioActual.CveEmpresa = 2 AndAlso UsuarioActual.CveUsuario.Contiene(77, 21) Then Response.Redirect("/Inicio.aspx") + SetValues() + CargaParametrosDetalle() + + End If End Sub -#Region " CARGA DATOS INICIALES " +#Region " CARGA DATOS INICIALES " - Private Sub CargaGrupo() - DdlGrupo.Items.Insert(0, New ListItem("Categoria", "3")) - DdlGrupo.Items.Insert(1, New ListItem("Clasificacion", "4")) - DdlGrupo.Items.Insert(2, New ListItem("Productos-Servicios", "5")) - DdlGrupo.Items.Insert(3, New ListItem("Año", "6")) - DdlGrupo.Items.Insert(4, New ListItem("Mes", "7")) - DdlGrupo.Items.Insert(5, New ListItem("Año/Mes", "8")) - DdlGrupo.Items.Insert(6, New ListItem("Fecha", "9")) - DdlGrupo.Items.Insert(7, New ListItem("Cliente", "10")) - DdlGrupo.Items.Insert(8, New ListItem("Vendedor", "12")) - DdlGrupo.Items.Insert(9, New ListItem("Usuario", "13")) - DdlGrupo.Items.Insert(10, New ListItem("Estatus Fact.", "14")) - DdlGrupo.Items.Insert(11, New ListItem("Año Ejec.", "15")) - DdlGrupo.Items.Insert(12, New ListItem("Mes Ejec.", "16")) - DdlGrupo.Items.Insert(13, New ListItem("Año/Mes Ejec.", "17")) - DdlGrupo.Items.Insert(14, New ListItem("Fecha Ejec.", "18")) - DdlGrupo.Items.Insert(15, New ListItem("Cliente - PS", "20")) - DdlGrupo.DataBind() - DdlGrupo.SelectedValueExist("8") - End Sub - - Private Sub CargaTipoCentroCosto() - - If UsuarioActual.Empresa.Tipo_CentroCosto = 1 Then - DdlSubProyecto.Items.Clear() - DivProyecto.Visible = False - LblProyecto.Visible = False - LblSubProyecto.InnerText = "Sucursal:" - DdlSubProyecto.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1) - DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1")) - DdlSubProyecto.DataBind() - - DdlSubProyectoEjecucion.Items.Clear() - LblSubProyectoEjecucion.InnerText = "Sucursal Ejecución:" - DdlSubProyectoEjecucion.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1) - DdlSubProyectoEjecucion.Items.Insert(0, New ListItem("Todos", "-1")) - DdlSubProyectoEjecucion.DataBind() - - DdlGrupo.Items.Insert(0, New ListItem("Sucursal", "2")) - DdlGrupo.Items.Insert(16, New ListItem("Sucursal Ejec.", "19")) - DdlGrupo.DataBind() - - ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 2 Then - DdlSubProyecto.Items.Clear() - DivProyecto.Visible = False - LblProyecto.Visible = False - LblSubProyecto.InnerText = "Proyecto:" - DdlSubProyecto.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1) - DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1")) - DdlSubProyecto.DataBind() - - DdlSubProyectoEjecucion.Items.Clear() - LblSubProyectoEjecucion.InnerText = "Proyecto Ejecución:" - DdlSubProyectoEjecucion.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1) - DdlSubProyectoEjecucion.Items.Insert(0, New ListItem("Todos", "-1")) - DdlSubProyectoEjecucion.DataBind() - - DdlGrupo.Items.Insert(0, New ListItem("Proyecto", "2")) - DdlGrupo.Items.Insert(16, New ListItem("Proyecto Ejec.", "19")) - DdlGrupo.DataBind() - ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 3 Then - DdlGrupo.Items.Insert(0, New ListItem("Proyecto", "1")) - DdlGrupo.Items.Insert(1, New ListItem("SubProyecto", "2")) - DdlGrupo.Items.Insert(17, New ListItem("SubProyecto Ejec.", "19")) - DdlGrupo.DataBind() - ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 4 Then - LblProyecto.InnerText = "Sucursal:" - LblSubProyecto.InnerText = "Proyecto:" - - LblSubProyectoEjecucion.InnerText = "Proyecto Ejecución:" - - DdlGrupo.Items.Insert(0, New ListItem("Proyecto", "1")) - DdlGrupo.Items.Insert(1, New ListItem("SubProyecto", "2")) - DdlGrupo.Items.Insert(17, New ListItem("SubProyecto Ejec.", "19")) - DdlGrupo.DataBind() - - ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 5 Then - LblProyecto.InnerText = "Proyecto:" - LblSubProyecto.InnerText = "Sucursal:" - LblSubProyectoEjecucion.InnerText = "Sucursal Ejecución:" - - DdlGrupo.Items.Insert(0, New ListItem("Proyecto", "1")) - DdlGrupo.Items.Insert(1, New ListItem("SubProyecto", "2")) - DdlGrupo.Items.Insert(17, New ListItem("SubProyecto Ejec.", "19")) - DdlGrupo.DataBind() - End If - End Sub - - Private Sub SetValues() - 'Cargo Proyectos - DdlProyecto.DataSource = GlobalDTProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1) - DdlProyecto.DataBind() - - 'Cargo Categorias - DdlCategoria.DataSource = GlobalDTGralCategorias(UsuarioActual.CveEmpresa) - DdlCategoria.DataBind() - - 'Cargo Clasificaciones - DdlClasificacion.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa) - DdlClasificacion.DataBind() - - CargaClientes() - 'Dim ObjClientes As New ClsClientes - 'If ObjClientes.GetClientes(-1, "-1", "-1", "-1", "-1", "-1", "-1", -1, UsuarioActual.CveEmpresa) Then - ' DdlClientes.DataSource = ObjClientes.DtResultados - 'Else - ' DdlClientes.DataSource = Nothing - 'End If - 'ObjClientes.Dispose() - 'DdlClientes.DataBind() - - - 'CargaSubProyectos - DdlSubProyecto.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1) - DdlSubProyecto.DataBind() - DdlSubProyectoEjecucion.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1) - DdlSubProyectoEjecucion.DataBind() - - 'Vendedor - DdlVendedor.DataSource = GlobalDTVendedores(UsuarioActual.CveEmpresa) - DdlVendedor.DataBind() - If UsuarioActual.CveVendedor > 0 AndAlso Not UsuarioActual.TienePermisoProceso(263) Then - DdlVendedor.SelectedValueExist(UsuarioActual.CveVendedor.ToString()) - DdlVendedor.Attributes.Add("disabled", "disabled") - DdlVendedor.Enabled = False - End If - - 'CargaUsuarios - DdlUsuario.DataSource = GlobalDTUsuarios.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa) - DdlUsuario.DataBind() - - 'Carga Productos - DdlPS.setEsWebService(UsuarioActual.Empresa.Funcionalidad(105) = "1") - - If UsuarioActual.Empresa.Funcionalidad(105) = "1" Then - DdlPS.ddlWS.Attributes.Add("data-cveclasificacion", DdlClasificacion.SelectedValue) - DdlPS.SelectedText = "" - DdlPS.SelectedValue = "-1" - Else - DdlPS.ddl.Items.Clear() - DdlPS.ddl.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CveClasificacion:=DdlClasificacion.SelectedValue.ToEntero) - DdlPS.ddl.DataBind() - DdlPS.ddl.Items.Insert(0, New ListItem("Todos", "-1")) - End If - - - - 'CargaEstatus - DdlEstatus.DataSource = GlobalDTEstatusFactura.FiltraParametros(" CveEstatusFactura NOT IN (1, 4, 5) ") - DdlEstatus.DataBind() - DdlEstatus.Items.Add(New ListItem("Canceladas", "4")) - If UsuarioActual.Empresa.TipoFacturacion = "CFDi" Then - DdlEstatus.SelectedIndex = 2 - Else - DdlEstatus.SelectedIndex = 1 - End If - - 'Carga Clasificacion Cliente - DdlClienteClasificacion.DataSource = GlobalDTClienteClasificaciones(UsuarioActual.CveEmpresa) - DdlClienteClasificacion.DataBind() - DdlClienteClasificacion.Items.Insert(0, New ListItem("Todos", "-1")) - - - - If UsuarioActual.CveEmpresa.Contiene(141) Then - DivDdlTipo.Visible = True - lblDdlTipoPSDes.Visible = True - End If - DdlTipoPSDes.Items.Clear() - DdlTipoPSDes.DataSource = GlobalDTClasificacionesDetalle(UsuarioActual.CveEmpresa) - DdlTipoPSDes.Items.Insert(0, New ListItem("Seleccione", "-1")) - DdlTipoPSDes.DataBind() - - CargaGrupo() - CargaTipoCentroCosto() - CreaDataTableColor() - - TCEspecifico = 0 - TipoCambio = 1 - - End Sub - - Private Sub CargaParametrosDetalle() - Dim CveProyecto, CveSubProyecto, CveCategoria, CveClasificacion, CvePS, FechaI, FechaF, FechaIEjec, FechaFEjec, CveSubProyectoEjecucion, CveEstatus, CveUsuario, Anio, Mes, AnioMes, Fecha, AnioEjec, MesEjec, AnioMesEjec, FechaEjec, GPO, TipoDocto, CveClienteClasificacion As String - Dim CveCliente As Integer = -1 - Dim CveProveedorCompra As Integer = -1 - Dim CveVendedor As Integer - Dim CveMarca As Integer = -1 - Dim CveClasificacionDetalle As Integer = -1 - GPO = If(Request("Grupo") IsNot Nothing AndAlso Request("Grupo").ToEntero() > 0, Request("Grupo").ToEntero(), -1).ToString - - CveProyecto = If(Request("CveProyecto") IsNot Nothing AndAlso Request("CveProyecto").ToEntero() > 0, Request("CveProyecto").ToEntero(), -1).ToString - CveSubProyecto = If(Request("CveSubProyecto") IsNot Nothing AndAlso Request("CveSubProyecto").ToEntero() > 0, Request("CveSubProyecto").ToEntero(), -1).ToString - CveCategoria = If(Request("CveCategoria") IsNot Nothing AndAlso Request("CveCategoria").ToEntero() > 0, Request("CveCategoria").ToEntero(), -1).ToString - CveClasificacion = If(Request("CveClasificacion") IsNot Nothing AndAlso Request("CveClasificacion").ToEntero() > 0, Request("CveClasificacion").ToEntero(), -1).ToString - CvePS = If(Request("CvePS") IsNot Nothing AndAlso Request("CvePS").ToEntero() > 0, Request("CvePS").ToEntero(), -1).ToString - - Anio = If(Request("Anio") IsNot Nothing AndAlso Request("Anio").ToEntero() > 0, Request("Anio").ToEntero(), -1).ToString - Mes = If(Request("Mes") IsNot Nothing AndAlso Request("Mes").ToEntero() > 0, Request("Mes").ToEntero(), -1).ToString - AnioMes = If(Request("AnioMes") IsNot Nothing, Request("AnioMes").ToString, "-1").ToString - Fecha = If(Request("Fecha") IsNot Nothing, Request("Fecha").ToString, "-1").ToString - FechaI = If(Request("FechaI") IsNot Nothing, Request("FechaI").ToString, "-1").ToString - FechaF = If(Request("FechaF") IsNot Nothing, Request("FechaF").ToString, "-1").ToString - - AnioEjec = If(Request("AnioEjec") IsNot Nothing AndAlso Request("AnioEjec").ToEntero() > 0, Request("AnioEjec").ToEntero(), -1).ToString - MesEjec = If(Request("MesEjec") IsNot Nothing AndAlso Request("MesEjec").ToEntero() > 0, Request("MesEjec").ToEntero(), -1).ToString - AnioMesEjec = If(Request("AnioMesEjec") IsNot Nothing, Request("AnioMesEjec").ToString, "-1").ToString - FechaEjec = If(Request("FechaEjec") IsNot Nothing, Request("FechaEjec").ToString, "-1").ToString - FechaIEjec = If(Request("FechaEI") IsNot Nothing, Request("FechaEI").ToString, "-1").ToString - FechaFEjec = If(Request("FechaEF") IsNot Nothing, Request("FechaEF").ToString, "-1").ToString - - CveCliente = If(Request("CveCliente") IsNot Nothing AndAlso Request("CveCliente").ToEntero() > 0, Request("CveCliente").ToEntero(), -1).ToString.ToEntero - CveSubProyectoEjecucion = If(Request("CveSubProyectoEjecucion") IsNot Nothing AndAlso Request("CveSubProyectoEjecucion").ToEntero() > 0, Request("CveSubProyectoEjecucion").ToEntero(), -1).ToString - CveVendedor = If(Request("CveVendedor") IsNot Nothing AndAlso Request("CveVendedor").ToEntero() > 0, Request("CveVendedor").ToEntero(), -1).ToString.ToEntero - CveEstatus = If(Request("CveEstatus") IsNot Nothing AndAlso Request("CveEstatus").ToEntero() > 0, Request("CveEstatus").ToEntero(), -1).ToString - CveUsuario = If(Request("CveUsuario") IsNot Nothing AndAlso Request("CveUsuario").ToEntero() > 0, Request("CveUsuario").ToEntero(), -1).ToString - TipoDocto = If(Request("TipoDocto") IsNot Nothing AndAlso Request("TipoDocto").ToString() <> "-1", Request("TipoDocto").ToString(), "-1").ToString - TipoCambio = If(Request("TipoCambio") IsNot Nothing AndAlso Request("TipoCambio").ToEntero() <> -1, Request("TipoCambio").ToEntero(), 1).ToEntero - TCEspecifico = If(Request("TCEspecifico") IsNot Nothing AndAlso Request("TCEspecifico").ToDouble() <> 0, Request("TCEspecifico").ToDouble(), 0).ToString.ToDouble - CveClienteClasificacion = If(Request("CveClienteClasificacion") IsNot Nothing AndAlso Request("CveClienteClasificacion").ToEntero() > 0, Request("CveClienteClasificacion").ToEntero(), -1).ToString - CveProveedorCompra = If(Request("CveProveedorCompra") IsNot Nothing AndAlso Request("CveProveedorCompra").ToEntero() > 0, Request("CveProveedorCompra").ToEntero(), -1).ToString.ToEntero - CveMarca = If(Request("CveMarca") IsNot Nothing AndAlso Request("CveMarca").ToEntero() > 0, Request("CveMarca").ToEntero(), -1).ToString.ToEntero - CveClasificacionDetalle = If(Request("CveClasificacionDetalle") IsNot Nothing AndAlso Request("CveClasificacionDetalle").ToEntero() > 0, Request("CveClasificacionDetalle").ToEntero(), -1).ToString.ToEntero - - If Fecha <> "-1" Then - txtFechaI.Text = Fecha - txtFechaF.Text = Fecha - End If - If FechaI <> "-1" Then - txtFechaI.Text = FechaI - End If - If FechaF <> "-1" Then - txtFechaF.Text = FechaF - End If - - If Anio <> "-1" Then - txtFechaI.Text = String.Format("01/01/{0}", Anio) - txtFechaF.Text = String.Format("31/12/{0}", Anio) - End If - - If AnioMes.Trim.Length > 5 Then - Dim FechaFtemporal As String = "" - If AnioMes.Trim.Length = 7 Then - txtFechaI.Text = If(AnioMes <> "-1", String.Format("01/{0}/{1}", AnioMes.Substring(5, 2).PadLeft(2, "0"c), AnioMes.Substring(0, 4)), txtFechaI.Text) - FechaFtemporal = $"01/{AnioMes.Substring(5, 2).PadLeft(2, "0"c)}/{AnioMes.Substring(0, 4)}" - txtFechaF.Text = String.Format("{2}/{0}/{1}", AnioMes.Substring(5, 2).PadLeft(2, "0"c), AnioMes.Substring(0, 4), FechaFtemporal.ToDate.LastDayOfMonth.Day) - Else - txtFechaI.Text = If(AnioMes <> "-1", String.Format("01/{0}/{1}", AnioMes.Substring(5, 1).PadLeft(2, "0"c), AnioMes.Substring(0, 4)), txtFechaI.Text) - FechaFtemporal = $"01/{AnioMes.Substring(5, 1).PadLeft(2, "0"c)}/{AnioMes.Substring(0, 4)}" - txtFechaF.Text = String.Format("{2}/{0}/{1}", AnioMes.Substring(5, 1).PadLeft(2, "0"c), AnioMes.Substring(0, 4), FechaFtemporal.ToDate.LastDayOfMonth.Day) - End If - - End If - - txtFechaI.Text = If(Mes <> "-1", String.Format("01/{0}/0001", Mes), txtFechaI.Text) - - - If FechaEjec <> "-1" Then - TxtFechaIEjec.Text = FechaEjec - TxtFechaFEjec.Text = FechaEjec - End If - If FechaIEjec <> "-1" Then - TxtFechaIEjec.Text = FechaIEjec - End If - If FechaFEjec <> "-1" Then - TxtFechaFEjec.Text = FechaFEjec - End If - - If AnioMesEjec.Trim.Length > 5 Then - TxtFechaIEjec.Text = If(AnioMesEjec <> "-1", String.Format("01/{0}/{1}", AnioMesEjec.Substring(5, 1).PadLeft(2, "0"c), AnioMesEjec.Substring(0, 4)), TxtFechaIEjec.Text) - Dim FechaFEjectemporal = $"01/{AnioMesEjec.Substring(5, 1).PadLeft(2, "0"c)}/{AnioMesEjec.Substring(0, 4)}" - TxtFechaFEjec.Text = String.Format("{2}/{0}/{1}", AnioMesEjec.Substring(5, 1).PadLeft(2, "0"c), AnioMesEjec.Substring(0, 4), FechaFEjectemporal.ToDate.LastDayOfMonth.Day) - End If - - TxtFechaIEjec.Text = If(AnioEjec <> "-1", String.Format("01/01/{0}", AnioEjec), TxtFechaIEjec.Text) - TxtFechaIEjec.Text = If(MesEjec <> "-1", String.Format("01/{0}/0001", MesEjec), TxtFechaIEjec.Text) - - - - CveMoneda = If(Request("CveMoneda") IsNot Nothing AndAlso Request("CveMoneda").ToEntero() > 0, Request("CveMoneda").ToEntero(), -1).ToEntero - DdlProyecto.SelectedValueExist(CveProyecto) - If DivProyecto.Visible Then CargaSubProyecto() - DdlSubProyecto.SelectedValueExist(CveSubProyecto) - DdlCategoria.SelectedValueExist(CveCategoria) - DdlClasificacion.SelectedValueExist(CveClasificacion) - If CvePS.ToEntero > 0 Then - DdlPS.SelectedValue = CvePS - DdlPS.SelectedText = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePS.ToEntero)(0)("PSCodigo").ToString - End If - - DdlClienteClasificacion.SelectedValueExist(CveClienteClasificacion) - CargaClientes(CveCliente) - - 'DdlClientes.SelectedValueExist(CveCliente) - DdlSubProyectoEjecucion.SelectedValueExist(CveSubProyectoEjecucion) - DdlVendedor.SelectedValueExist(CveVendedor) - DdlUsuario.SelectedValueExist(CveUsuario) - DdlTipoComprobante.SelectedValuesIfExistM(TipoDocto) - CargaEstatus() - DdlEstatus.SelectedValueExist(CveEstatus) - DdlGrupo.SelectedValueExist(GPO) - RblTipoCambio.SelectedValue = TipoCambio.ToString - If TipoCambio > 1 Then CveMoneda = -1 - - CargaProvedores(CveProveedorCompra) - 'If CveProveedorCompra.ToEntero > 0 Then DdlProveedor.SelectedValue = CveProveedorCompra - DdlTipoPSDes.SelectedValueExist(CveClasificacionDetalle) - CargaDatos(CveProyecto, CveSubProyecto, CveCategoria, CveClasificacion, CvePS, Mes, MesEjec, CveCliente, CveSubProyectoEjecucion, CveVendedor, CveUsuario, CveEstatus, GPO.ToEntero, TipoDocto, CveMarca) - CargarMarcas(CveMarca) - End Sub -#End Region - -#Region " CARGA DATOS " - Protected Sub BtnConsultar_Click(sender As Object, e As System.EventArgs) Handles BtnConsultar.Click - CargaDatos() - UPDatos.Update() - End Sub - - Private Sub CargaDatos() - Dim ObjVentas As New ClsVentas() - Dim FechaI, FechaF, FechaIEjec, FechaFEjec As Date - FechaI = If(IsDate(txtFechaI.Text.Trim()), txtFechaI.Text.ToDate, MinFecha) - FechaF = If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.ToDate, MaxFecha) - FechaIEjec = If(IsDate(TxtFechaIEjec.Text.Trim()), TxtFechaIEjec.Text.ToDate, MinFecha) - FechaFEjec = If(IsDate(TxtFechaFEjec.Text.Trim()), TxtFechaFEjec.Text.ToDate, MaxFecha) - Dim CveProveedorCompra As Integer = If(DdlProveedor.SelectedValue.ToEntero > 0, DdlProveedor.SelectedValue.ToEntero, -1) - Dim CveCliente As Integer = If(DdlClientes.SelectedValue.ToEntero > 0, DdlClientes.SelectedValue.ToEntero, -1) - Dim TipoComprobante As String = If(DdlTipoComprobante.GetSelectedValuesM = "", "-1", DdlTipoComprobante.GetSelectedValuesM) - - If RblTipoCambio.SelectedValue.ToEntero = 3 And TxtEspecifico.Text <> "" Then TCEspecifico = TxtEspecifico.Text.ToDouble Else TCEspecifico = -1 - - If ObjVentas.GetRepProductosServiciosDetalle(DdlProyecto.SelectedValue.ToEntero, DdlSubProyecto.SelectedValue.ToEntero, DdlCategoria.SelectedValue.ToEntero, DdlClasificacion.SelectedValue.ToEntero, - DdlPS.SelectedValue.ToEntero, FechaI, FechaF, -1, FechaIEjec, FechaFEjec, -1, CveCliente, - DdlSubProyectoEjecucion.SelectedValue.ToEntero, DdlVendedor.SelectedValue.ToEntero, DdlUsuario.SelectedValue.ToEntero, DdlEstatus.SelectedValue.ToEntero, - UsuarioActual.CveEmpresa, CveUsuarioConsulta:=UsuarioActual.CveUsuario, TipoDocto:=TipoComprobante, GPO:=DdlGrupo.SelectedValue.ToEntero, CveMoneda:=CveMoneda, - TipoCambio:=TipoCambio, TCEspecifico:=TCEspecifico, CveClienteClasificacion:=DdlClienteClasificacion.SelectedValue.ToEntero, CveProveedorCompra:=CveProveedorCompra, CveMarca:=DdlMarcaPSDes.SelectedValue.ToEntero, CveClasificacionDetalle:=DdlTipoPSDes.SelectedValue.ToEntero()) Then - GvDatos.DataSource = ObjVentas.DtResultados - TmpDT = ObjVentas.DtResultados - Else - GvDatos.DataSource = Nothing - End If - - ObjVentas.Dispose() - GvDatos.DataBind() - Agrupador = DdlGrupo.SelectedItem.Text - End Sub - - Private Sub CargaDatos(CveProyecto As String, CveSubProyecto As String, CveCategoria As String, CveClasificacion As String, CvePS As String, Mes As String, MesEjec As String, CveCliente As Integer, CveSubProyectoEjecucion As String, CveVendedor As Integer, CveUsuario As String, CveEstatus As String, Gpo As Integer, TipoDocto As String, CveMarca As Integer) - Dim ObjVentas As New ClsVentas() - Dim FechaI, FechaF, FechaIEjec, FechaFEjec As Date - FechaI = If(IsDate(txtFechaI.Text.Trim()), txtFechaI.Text.ToDate, MinFecha) - FechaF = If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.ToDate, MaxFecha) - FechaIEjec = If(IsDate(TxtFechaIEjec.Text.Trim()), TxtFechaIEjec.Text.ToDate, MinFecha) - FechaFEjec = If(IsDate(TxtFechaFEjec.Text.Trim()), TxtFechaFEjec.Text.ToDate, MaxFecha) - Dim CveProveedorCompra As Integer = If(DdlProveedor.SelectedValue.ToEntero > 0, DdlProveedor.SelectedValue.ToEntero, -1) - Dim TipoComprobante As String = If(DdlTipoComprobante.GetSelectedValuesM = "", "-1", DdlTipoComprobante.GetSelectedValuesM) - - If RblTipoCambio.SelectedValue.ToEntero = 3 And TxtEspecifico.Text <> "" Then TCEspecifico = TxtEspecifico.Text.ToDouble Else TCEspecifico = -1 - - If ObjVentas.GetRepProductosServiciosDetalle(CveProyecto.ToEntero, CveSubProyecto.ToEntero, CveCategoria.ToEntero, CveClasificacion.ToEntero, CvePS.ToEntero, - FechaI, FechaF, Mes.ToEntero, FechaIEjec, FechaFEjec, MesEjec.ToEntero, CveCliente.ToEntero, CveSubProyectoEjecucion.ToEntero, - CveVendedor, CveUsuario.ToEntero, CveEstatus.ToEntero, UsuarioActual.CveEmpresa, CveUsuarioConsulta:=UsuarioActual.CveUsuario, TipoDocto:=TipoComprobante, - GPO:=Gpo, CveMoneda:=CveMoneda, TipoCambio:=TipoCambio, TCEspecifico:=TCEspecifico, CveClienteClasificacion:=DdlClienteClasificacion.SelectedValue.ToEntero, - CveProveedorCompra:=CveProveedorCompra, CveMarca:=CveMarca) Then - GvDatos.DataSource = ObjVentas.DtResultados - TmpDT = ObjVentas.DtResultados - Else - GvDatos.DataSource = Nothing - End If - ObjVentas.Dispose() - GvDatos.DataBind() - Agrupador = DdlGrupo.SelectedItem.Text - End Sub - Protected Sub BtnTipoCambio_Click(sender As Object, e As EventArgs) - CargaDatos() - RegistraScript(String.Format("$('#{0}').modal('hide');", "DivTipoCambio")) - UPDatos.Update() - End Sub - Protected Sub CargarMarcas(CveMarca As Integer) - If UsuarioActual.Empresa.Funcionalidad(130) = "1" Then - DivMarca.Visible = True - LblMarca.Visible = True - - Dim ObjMarcas As New ClsProductosServicios - If ObjMarcas.GetMarcas(UsuarioActual.CveEmpresa) Then - DdlMarcaPSDes.DataSource = ObjMarcas.DtResultados - ObjMarcas.Dispose() - DdlMarcaPSDes.DataBind() - End If - End If - DdlMarcaPSDes.Items.Insert(0, New ListItem(" - ", "-1")) - DdlMarcaPSDes.Items.FindByValue(CStr(CveMarca)).Selected = True - End Sub -#End Region - -#Region "TIPO CAMBIO" - - Private Sub RblTipoCambio_SelectedIndexChanged(sender As Object, e As EventArgs) Handles RblTipoCambio.SelectedIndexChanged - TipoCambio = RblTipoCambio.SelectedValue.ToEntero - If RblTipoCambio.SelectedValue.ToEntero = 3 Then - Dim TipoCambioM As Double - LiEspecifico.Visible = True - TipoCambioM = GlobalTipoCambio(Now) - TxtEspecifico.Text = TipoCambioM.ToString - Else - LiEspecifico.Visible = False - End If - UpBodyTipoCambio.Update() + Private Sub CargaGrupo() + DdlGrupo.Items.Insert(0, New ListItem("Categoria", "3")) + DdlGrupo.Items.Insert(1, New ListItem("Clasificacion", "4")) + DdlGrupo.Items.Insert(2, New ListItem("Productos-Servicios", "5")) + DdlGrupo.Items.Insert(3, New ListItem("Año", "6")) + DdlGrupo.Items.Insert(4, New ListItem("Mes", "7")) + DdlGrupo.Items.Insert(5, New ListItem("Año/Mes", "8")) + DdlGrupo.Items.Insert(6, New ListItem("Fecha", "9")) + DdlGrupo.Items.Insert(7, New ListItem("Cliente", "10")) + DdlGrupo.Items.Insert(8, New ListItem("Vendedor", "12")) + DdlGrupo.Items.Insert(9, New ListItem("Usuario", "13")) + DdlGrupo.Items.Insert(10, New ListItem("Estatus Fact.", "14")) + DdlGrupo.Items.Insert(11, New ListItem("Año Ejec.", "15")) + DdlGrupo.Items.Insert(12, New ListItem("Mes Ejec.", "16")) + DdlGrupo.Items.Insert(13, New ListItem("Año/Mes Ejec.", "17")) + DdlGrupo.Items.Insert(14, New ListItem("Fecha Ejec.", "18")) + DdlGrupo.Items.Insert(15, New ListItem("Cliente - PS", "20")) + DdlGrupo.DataBind() + DdlGrupo.SelectedValueExist("8") End Sub -#End Region + Private Sub CargaTipoCentroCosto() -#Region " GV DATOS - PERSONALIZAR " - Protected Sub GvDatos_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvDatos.RowDataBound - If e.Row.RowType = DataControlRowType.DataRow Then - - If DdlGrupo.SelectedValue.ToEntero = 20 Then - - If e.Row.DBCampo("PS").ToString = "" Then - e.Row.CssClass = "Totales" - End If - Else - If Not e.Row.DBCampo("CveVenta").ToEntero > 0 Then - 'e.Row.Cells(0).HorizontalAlign = HorizontalAlign.Center - 'e.Row.Cells(0).Width = Unit.Pixel(200) - 'e.Row.Cells(1).HorizontalAlign = HorizontalAlign.Center - 'e.Row.Cells(1).Width = Unit.Pixel(60) - 'e.Row.Cells(2).Width = Unit.Pixel(90) - 'e.Row.Cells(3).Width = Unit.Pixel(90) - 'e.Row.Cells(5).Width = Unit.Pixel(80) - 'e.Row.Cells(8).Width = Unit.Pixel(100) - If e.Row.DBCampo("Gpo") = "" Then - e.Row.Cells(5).Text = e.Row.DBCampo("Moneda").ToString - e.Row.CssClass = "Totales" - Else - e.Row.Cells(5).Text = e.Row.DBCampo("Gpo").ToString - e.Row.CssClass = "SubTotales" - End If - - End If - End If - - - - - - 'Dim FechaI, FechaF As String - 'FechaI = If(IsDate(txtFechaI.Text.Trim()), txtFechaI.Text.Trim(), "-1") - 'FechaF = If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.Trim(), "-1") - - 'If e.Row.DBCampo("SubTotal").ToDouble = 0 Then e.Row.FCLiteral("LtlSubTotal").Text = "" - 'If e.Row.DBCampo("Descuento").ToDouble = 0 Then e.Row.FCLiteral("LtlDescuento").Text = "" - 'If e.Row.DBCampo("IVA").ToDouble = 0 Then e.Row.FCLiteral("LtlIVA").Text = "" - 'If e.Row.DBCampo("Total").ToDouble = 0 Then e.Row.FCLiteral("LtlTotal").Text = "" - 'If e.Row.DBCampo("MAX_SubTotal").ToDouble = 0 Then e.Row.FCLiteral("LtlMaxSubTotal").Text = "" - 'If e.Row.DBCampo("AVG_SubTotal").ToDouble = 0 Then e.Row.FCLiteral("LtlAVGSubTotal").Text = "" - 'If e.Row.DBCampo("MIN_SubTotal").ToDouble = 0 Then e.Row.FCLiteral("LtlMinSubTotal").Text = "" - 'If e.Row.DBCampo("MAX_Total").ToDouble = 0 Then e.Row.FCLiteral("LtlMaxTotal").Text = "" - 'If e.Row.DBCampo("AVG_Total").ToDouble = 0 Then e.Row.FCLiteral("LtlAVGTotal").Text = "" - 'If e.Row.DBCampo("MIN_Total").ToDouble = 0 Then e.Row.FCLiteral("LtlMinTotal").Text = "" - End If - End Sub - - Protected Sub BtnPersonalizar_Click(sender As Object, e As System.EventArgs) Handles BtnPersonalizar.Click - - GvDatos.Columns(2).Visible = ChkSucEjec.Checked - GvDatos.Columns(3).Visible = ChkSucCob.Checked - GvDatos.Columns(9).Visible = ChkObs.Checked - GvDatos.Columns(15).Visible = ChkRFC.Checked - - CargaDatos() - UPDatos.Update() + If UsuarioActual.Empresa.Tipo_CentroCosto = 1 Then + DdlSubProyecto.Items.Clear() + DivProyecto.Visible = False + LblProyecto.Visible = False + LblSubProyecto.InnerText = "Sucursal:" + DdlSubProyecto.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1) + DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1")) + DdlSubProyecto.DataBind() + + DdlSubProyectoEjecucion.Items.Clear() + LblSubProyectoEjecucion.InnerText = "Sucursal Ejecución:" + DdlSubProyectoEjecucion.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1) + DdlSubProyectoEjecucion.Items.Insert(0, New ListItem("Todos", "-1")) + DdlSubProyectoEjecucion.DataBind() + + DdlGrupo.Items.Insert(0, New ListItem("Sucursal", "2")) + DdlGrupo.Items.Insert(16, New ListItem("Sucursal Ejec.", "19")) + DdlGrupo.DataBind() + + ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 2 Then + DdlSubProyecto.Items.Clear() + DivProyecto.Visible = False + LblProyecto.Visible = False + LblSubProyecto.InnerText = "Proyecto:" + DdlSubProyecto.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1) + DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1")) + DdlSubProyecto.DataBind() + + DdlSubProyectoEjecucion.Items.Clear() + LblSubProyectoEjecucion.InnerText = "Proyecto Ejecución:" + DdlSubProyectoEjecucion.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1) + DdlSubProyectoEjecucion.Items.Insert(0, New ListItem("Todos", "-1")) + DdlSubProyectoEjecucion.DataBind() + + DdlGrupo.Items.Insert(0, New ListItem("Proyecto", "2")) + DdlGrupo.Items.Insert(16, New ListItem("Proyecto Ejec.", "19")) + DdlGrupo.DataBind() + ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 3 Then + DdlGrupo.Items.Insert(0, New ListItem("Proyecto", "1")) + DdlGrupo.Items.Insert(1, New ListItem("SubProyecto", "2")) + DdlGrupo.Items.Insert(17, New ListItem("SubProyecto Ejec.", "19")) + DdlGrupo.DataBind() + ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 4 Then + LblProyecto.InnerText = "Sucursal:" + LblSubProyecto.InnerText = "Proyecto:" + + LblSubProyectoEjecucion.InnerText = "Proyecto Ejecución:" + + DdlGrupo.Items.Insert(0, New ListItem("Proyecto", "1")) + DdlGrupo.Items.Insert(1, New ListItem("SubProyecto", "2")) + DdlGrupo.Items.Insert(17, New ListItem("SubProyecto Ejec.", "19")) + DdlGrupo.DataBind() + + ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 5 Then + LblProyecto.InnerText = "Proyecto:" + LblSubProyecto.InnerText = "Sucursal:" + LblSubProyectoEjecucion.InnerText = "Sucursal Ejecución:" + + DdlGrupo.Items.Insert(0, New ListItem("Proyecto", "1")) + DdlGrupo.Items.Insert(1, New ListItem("SubProyecto", "2")) + DdlGrupo.Items.Insert(17, New ListItem("SubProyecto Ejec.", "19")) + DdlGrupo.DataBind() + End If End Sub -#End Region -#Region " SELECTED INDEX CHANGED" + Private Sub SetValues() + 'Cargo Proyectos + DdlProyecto.DataSource = GlobalDTProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1) + DdlProyecto.DataBind() - Protected Sub DdlClienteClasificacion_SelectedIndexChanged(sender As Object, e As EventArgs) - CargaClientes() - End Sub - - Private Sub CargaClientes(Optional CveCliente As Integer = -1) - Dim EsWS = If(UsuarioActual.Empresa.Funcionalidad(105) = "1" Or UsuarioActual.Empresa.Funcionalidad(141) = "1", True, False) - If EsWS Then - DdlClientes.setEsWebService(True) - DdlClientes.SelectedValue = CveCliente.ToString - DdlClientes.SelectedText = GlobalDTCliente(UsuarioActual.CveEmpresa, -1).FiltroPrimeroValor("Nombre", String.Format("CveCliente = {0}", CveCliente)) - Else - DdlClientes.setEsWebService(False) - DdlClientes.DataSource = GlobalDTCliente(UsuarioActual.CveEmpresa, -1).FiltraParametros($"CveClienteClasificacion = {DdlClienteClasificacion.SelectedValue.ToEntero} OR {DdlClienteClasificacion.SelectedValue.ToEntero} = -1") - DdlClientes.DataBind() - DdlClientes.ddl.Items.Insert(0, New ListItem("Todos", "-1")) - If CveCliente > 0 Then - DdlClientes.ddl.SelectedValueExist(CveCliente) - End If - - End If - - End Sub - - Private Sub CargaProvedores(Optional CveProveedor As Integer = -1) - - DdlProveedor.setEsWebService(UsuarioActual.Empresa.Funcionalidad(105) = "1") - - If DdlProveedor.UsaWebService Then - DdlProveedor.SelectedValue = CveProveedor.ToString - DdlProveedor.Attributes.Add("data-metodo", "getproveedores") - DdlProveedor.SelectedText = GlobalDTCompProveedores(UsuarioActual.CveEmpresa).FiltroPrimeroValor("RazonSocial", String.Format("CveProveedor = {0}", CveProveedor)) - Else - - DdlProveedor.DataSource = GlobalDTCompProveedores(UsuarioActual.CveEmpresa) - DdlProveedor.DataBind() - DdlProveedor.ddl.Items.Insert(0, New ListItem("Todos", "-1")) - DdlClientes.ddl.SelectedValueExist(CveProveedor) - End If - - End Sub - Protected Sub DdlProyecto_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlProyecto.SelectedIndexChanged - CargaSubProyecto() - End Sub - - Private Sub CargaSubProyecto() - DdlSubProyecto.Items.Clear() - If DdlProyecto.SelectedValue <> "-1" Then - DdlSubProyecto.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, DdlSubProyecto.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, -1, 1) - DdlSubProyecto.DataBind() - End If - DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1")) - End Sub - - 'Protected Sub DdlCategoria_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlCategoria.SelectedIndexChanged - ' DdlClasificacion.Items.Clear() - ' If DdlCategoria.SelectedValue <> "-1" Then - ' Dim ObjClasificaciones As New ClsClasificaciones - ' If ObjClasificaciones.GetClasificacionesExistencias(UsuarioActual.CveEmpresa) Then - ' DdlClasificacion.DataSource = ObjClasificaciones.DtResultados - ' DdlClasificacion.DataBind() - ' End If - ' ObjClasificaciones.Dispose() - ' End If - ' DdlClasificacion.Items.Insert(0, New ListItem("Todas", "-1")) - 'End Sub - - Protected Sub DdlClasificacion_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlClasificacion.SelectedIndexChanged - If UsuarioActual.Empresa.Funcionalidad(105) = "" Then - DdlPS.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CveClasificacion:=DdlClasificacion.SelectedValue.ToEntero) - DdlPS.DataBind() - DdlPS.ddl.Items.Insert(0, New ListItem("Todos", "-1")) - Else - DdlPS.ddlWS.Attributes.Add("data-cveclasificacion", DdlClasificacion.SelectedValue) - DdlPS.SelectedText = "Todos" - DdlPS.SelectedValue = "-1" - End If - End Sub - - Protected Sub DdlTipoComprobante_SelectedIndexChanged(sender As Object, e As EventArgs) - CargaEstatus() - End Sub - - Private Sub CargaEstatus() - DdlEstatus.Items.Clear() - If DdlTipoComprobante.SelectedValue <> "-1" Then - DdlEstatus.DataSource = GlobalDTEstatusFactura.FiltraParametros(String.Format("TipoDocto = '{0}'", DdlTipoComprobante.SelectedValue)) - Else - DdlEstatus.DataSource = GlobalDTEstatusFactura - End If - DdlEstatus.Items.Add(New ListItem("Todos", "-1")) - DdlEstatus.DataBind() + 'Cargo Categorias + DdlCategoria.DataSource = GlobalDTGralCategorias(UsuarioActual.CveEmpresa) + DdlCategoria.DataBind() + + 'Cargo Clasificaciones + DdlClasificacion.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa) + DdlClasificacion.DataBind() + + CargaClientes() + 'Dim ObjClientes As New ClsClientes + 'If ObjClientes.GetClientes(-1, "-1", "-1", "-1", "-1", "-1", "-1", -1, UsuarioActual.CveEmpresa) Then + ' DdlClientes.DataSource = ObjClientes.DtResultados + 'Else + ' DdlClientes.DataSource = Nothing + 'End If + 'ObjClientes.Dispose() + 'DdlClientes.DataBind() + + + 'CargaSubProyectos + DdlSubProyecto.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1) + DdlSubProyecto.DataBind() + DdlSubProyectoEjecucion.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1) + DdlSubProyectoEjecucion.DataBind() + + 'Vendedor + DdlVendedor.DataSource = GlobalDTVendedores(UsuarioActual.CveEmpresa) + DdlVendedor.DataBind() + If UsuarioActual.CveVendedor > 0 AndAlso Not UsuarioActual.TienePermisoProceso(263) Then + DdlVendedor.SelectedValueExist(UsuarioActual.CveVendedor.ToString()) + DdlVendedor.Attributes.Add("disabled", "disabled") + DdlVendedor.Enabled = False + End If + + 'CargaUsuarios + DdlUsuario.DataSource = GlobalDTUsuarios.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa) + DdlUsuario.DataBind() + + 'Carga Productos + DdlPS.setEsWebService(UsuarioActual.Empresa.Funcionalidad(105) = "1") + + If UsuarioActual.Empresa.Funcionalidad(105) = "1" Then + DdlPS.ddlWS.Attributes.Add("data-cveclasificacion", DdlClasificacion.SelectedValue) + DdlPS.SelectedText = "" + DdlPS.SelectedValue = "-1" + Else + DdlPS.ddl.Items.Clear() + DdlPS.ddl.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CveClasificacion:=DdlClasificacion.SelectedValue.ToEntero) + DdlPS.ddl.DataBind() + DdlPS.ddl.Items.Insert(0, New ListItem("Todos", "-1")) + End If + + + + 'CargaEstatus + DdlEstatus.DataSource = GlobalDTEstatusFactura.FiltraParametros(" CveEstatusFactura NOT IN (1, 4, 5) ") + DdlEstatus.DataBind() + DdlEstatus.Items.Add(New ListItem("Canceladas", "4")) + If UsuarioActual.Empresa.TipoFacturacion = "CFDi" Then + DdlEstatus.SelectedIndex = 2 + Else + DdlEstatus.SelectedIndex = 1 + End If + + 'Carga Clasificacion Cliente + DdlClienteClasificacion.DataSource = GlobalDTClienteClasificaciones(UsuarioActual.CveEmpresa) + DdlClienteClasificacion.DataBind() + DdlClienteClasificacion.Items.Insert(0, New ListItem("Todos", "-1")) + + + + If UsuarioActual.CveEmpresa.Contiene(141) Then + DivDdlTipo.Visible = True + lblDdlTipoPSDes.Visible = True + End If + DdlTipoPSDes.Items.Clear() + DdlTipoPSDes.DataSource = GlobalDTClasificacionesDetalle(UsuarioActual.CveEmpresa) + DdlTipoPSDes.Items.Insert(0, New ListItem("Seleccione", "-1")) + DdlTipoPSDes.DataBind() + + CargaGrupo() + CargaTipoCentroCosto() + CreaDataTableColor() + + TCEspecifico = 0 + TipoCambio = 1 + + End Sub + + Private Sub CargaParametrosDetalle() + Dim CveProyecto, CveSubProyecto, CveCategoria, CveClasificacion, CvePS, FechaI, FechaF, FechaIEjec, FechaFEjec, CveSubProyectoEjecucion, CveEstatus, CveUsuario, Anio, Mes, AnioMes, Fecha, AnioEjec, MesEjec, AnioMesEjec, FechaEjec, GPO, TipoDocto, CveClienteClasificacion As String + Dim CveCliente As Integer = -1 + Dim CveProveedorCompra As Integer = -1 + Dim CveVendedor As Integer + Dim CveMarca As Integer = -1 + Dim CveClasificacionDetalle As Integer = -1 + GPO = If(Request("Grupo") IsNot Nothing AndAlso Request("Grupo").ToEntero() > 0, Request("Grupo").ToEntero(), -1).ToString + + CveProyecto = If(Request("CveProyecto") IsNot Nothing AndAlso Request("CveProyecto").ToEntero() > 0, Request("CveProyecto").ToEntero(), -1).ToString + CveSubProyecto = If(Request("CveSubProyecto") IsNot Nothing AndAlso Request("CveSubProyecto").ToEntero() > 0, Request("CveSubProyecto").ToEntero(), -1).ToString + CveCategoria = If(Request("CveCategoria") IsNot Nothing AndAlso Request("CveCategoria").ToEntero() > 0, Request("CveCategoria").ToEntero(), -1).ToString + CveClasificacion = If(Request("CveClasificacion") IsNot Nothing AndAlso Request("CveClasificacion").ToEntero() > 0, Request("CveClasificacion").ToEntero(), -1).ToString + CvePS = If(Request("CvePS") IsNot Nothing AndAlso Request("CvePS").ToEntero() > 0, Request("CvePS").ToEntero(), -1).ToString + + Anio = If(Request("Anio") IsNot Nothing AndAlso Request("Anio").ToEntero() > 0, Request("Anio").ToEntero(), -1).ToString + Mes = If(Request("Mes") IsNot Nothing AndAlso Request("Mes").ToEntero() > 0, Request("Mes").ToEntero(), -1).ToString + AnioMes = If(Request("AnioMes") IsNot Nothing, Request("AnioMes").ToString, "-1").ToString + Fecha = If(Request("Fecha") IsNot Nothing, Request("Fecha").ToString, "-1").ToString + FechaI = If(Request("FechaI") IsNot Nothing, Request("FechaI").ToString, "-1").ToString + FechaF = If(Request("FechaF") IsNot Nothing, Request("FechaF").ToString, "-1").ToString + + AnioEjec = If(Request("AnioEjec") IsNot Nothing AndAlso Request("AnioEjec").ToEntero() > 0, Request("AnioEjec").ToEntero(), -1).ToString + MesEjec = If(Request("MesEjec") IsNot Nothing AndAlso Request("MesEjec").ToEntero() > 0, Request("MesEjec").ToEntero(), -1).ToString + AnioMesEjec = If(Request("AnioMesEjec") IsNot Nothing, Request("AnioMesEjec").ToString, "-1").ToString + FechaEjec = If(Request("FechaEjec") IsNot Nothing, Request("FechaEjec").ToString, "-1").ToString + FechaIEjec = If(Request("FechaEI") IsNot Nothing, Request("FechaEI").ToString, "-1").ToString + FechaFEjec = If(Request("FechaEF") IsNot Nothing, Request("FechaEF").ToString, "-1").ToString + + CveCliente = If(Request("CveCliente") IsNot Nothing AndAlso Request("CveCliente").ToEntero() > 0, Request("CveCliente").ToEntero(), -1).ToString.ToEntero + CveSubProyectoEjecucion = If(Request("CveSubProyectoEjecucion") IsNot Nothing AndAlso Request("CveSubProyectoEjecucion").ToEntero() > 0, Request("CveSubProyectoEjecucion").ToEntero(), -1).ToString + CveVendedor = If(Request("CveVendedor") IsNot Nothing AndAlso Request("CveVendedor").ToEntero() > 0, Request("CveVendedor").ToEntero(), -1).ToString.ToEntero + CveEstatus = If(Request("CveEstatus") IsNot Nothing AndAlso Request("CveEstatus").ToEntero() > 0, Request("CveEstatus").ToEntero(), -1).ToString + CveUsuario = If(Request("CveUsuario") IsNot Nothing AndAlso Request("CveUsuario").ToEntero() > 0, Request("CveUsuario").ToEntero(), -1).ToString + TipoDocto = If(Request("TipoDocto") IsNot Nothing AndAlso Request("TipoDocto").ToString() <> "-1", Request("TipoDocto").ToString(), "-1").ToString + TipoCambio = If(Request("TipoCambio") IsNot Nothing AndAlso Request("TipoCambio").ToEntero() <> -1, Request("TipoCambio").ToEntero(), 1).ToEntero + TCEspecifico = If(Request("TCEspecifico") IsNot Nothing AndAlso Request("TCEspecifico").ToDouble() <> 0, Request("TCEspecifico").ToDouble(), 0).ToString.ToDouble + CveClienteClasificacion = If(Request("CveClienteClasificacion") IsNot Nothing AndAlso Request("CveClienteClasificacion").ToEntero() > 0, Request("CveClienteClasificacion").ToEntero(), -1).ToString + CveProveedorCompra = If(Request("CveProveedorCompra") IsNot Nothing AndAlso Request("CveProveedorCompra").ToEntero() > 0, Request("CveProveedorCompra").ToEntero(), -1).ToString.ToEntero + CveMarca = If(Request("CveMarca") IsNot Nothing AndAlso Request("CveMarca").ToEntero() > 0, Request("CveMarca").ToEntero(), -1).ToString.ToEntero + CveClasificacionDetalle = If(Request("CveClasificacionDetalle") IsNot Nothing AndAlso Request("CveClasificacionDetalle").ToEntero() > 0, Request("CveClasificacionDetalle").ToEntero(), -1).ToString.ToEntero + + If Fecha <> "-1" Then + txtFechaI.Text = Fecha + txtFechaF.Text = Fecha + End If + If FechaI <> "-1" Then + txtFechaI.Text = FechaI + End If + If FechaF <> "-1" Then + txtFechaF.Text = FechaF + End If + + If Anio <> "-1" Then + txtFechaI.Text = String.Format("01/01/{0}", Anio) + txtFechaF.Text = String.Format("31/12/{0}", Anio) + End If + + If AnioMes.Trim.Length > 5 Then + Dim FechaFtemporal As String = "" + If AnioMes.Trim.Length = 7 Then + txtFechaI.Text = If(AnioMes <> "-1", String.Format("01/{0}/{1}", AnioMes.Substring(5, 2).PadLeft(2, "0"c), AnioMes.Substring(0, 4)), txtFechaI.Text) + FechaFtemporal = $"01/{AnioMes.Substring(5, 2).PadLeft(2, "0"c)}/{AnioMes.Substring(0, 4)}" + txtFechaF.Text = String.Format("{2}/{0}/{1}", AnioMes.Substring(5, 2).PadLeft(2, "0"c), AnioMes.Substring(0, 4), FechaFtemporal.ToDate.LastDayOfMonth.Day) + Else + txtFechaI.Text = If(AnioMes <> "-1", String.Format("01/{0}/{1}", AnioMes.Substring(5, 1).PadLeft(2, "0"c), AnioMes.Substring(0, 4)), txtFechaI.Text) + FechaFtemporal = $"01/{AnioMes.Substring(5, 1).PadLeft(2, "0"c)}/{AnioMes.Substring(0, 4)}" + txtFechaF.Text = String.Format("{2}/{0}/{1}", AnioMes.Substring(5, 1).PadLeft(2, "0"c), AnioMes.Substring(0, 4), FechaFtemporal.ToDate.LastDayOfMonth.Day) + End If + + End If + + txtFechaI.Text = If(Mes <> "-1", String.Format("01/{0}/0001", Mes), txtFechaI.Text) + + + If FechaEjec <> "-1" Then + TxtFechaIEjec.Text = FechaEjec + TxtFechaFEjec.Text = FechaEjec + End If + If FechaIEjec <> "-1" Then + TxtFechaIEjec.Text = FechaIEjec + End If + If FechaFEjec <> "-1" Then + TxtFechaFEjec.Text = FechaFEjec + End If + + If AnioMesEjec.Trim.Length > 5 Then + TxtFechaIEjec.Text = If(AnioMesEjec <> "-1", String.Format("01/{0}/{1}", AnioMesEjec.Substring(5, 1).PadLeft(2, "0"c), AnioMesEjec.Substring(0, 4)), TxtFechaIEjec.Text) + Dim FechaFEjectemporal = $"01/{AnioMesEjec.Substring(5, 1).PadLeft(2, "0"c)}/{AnioMesEjec.Substring(0, 4)}" + TxtFechaFEjec.Text = String.Format("{2}/{0}/{1}", AnioMesEjec.Substring(5, 1).PadLeft(2, "0"c), AnioMesEjec.Substring(0, 4), FechaFEjectemporal.ToDate.LastDayOfMonth.Day) + End If + + TxtFechaIEjec.Text = If(AnioEjec <> "-1", String.Format("01/01/{0}", AnioEjec), TxtFechaIEjec.Text) + TxtFechaIEjec.Text = If(MesEjec <> "-1", String.Format("01/{0}/0001", MesEjec), TxtFechaIEjec.Text) + + + + CveMoneda = If(Request("CveMoneda") IsNot Nothing AndAlso Request("CveMoneda").ToEntero() > 0, Request("CveMoneda").ToEntero(), -1).ToEntero + DdlProyecto.SelectedValueExist(CveProyecto) + If DivProyecto.Visible Then CargaSubProyecto() + DdlSubProyecto.SelectedValueExist(CveSubProyecto) + DdlCategoria.SelectedValueExist(CveCategoria) + DdlClasificacion.SelectedValueExist(CveClasificacion) + If CvePS.ToEntero > 0 Then + DdlPS.SelectedValue = CvePS + DdlPS.SelectedText = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePS.ToEntero)(0)("PSCodigo").ToString + End If + + DdlClienteClasificacion.SelectedValueExist(CveClienteClasificacion) + CargaClientes(CveCliente) + + 'DdlClientes.SelectedValueExist(CveCliente) + DdlSubProyectoEjecucion.SelectedValueExist(CveSubProyectoEjecucion) + DdlVendedor.SelectedValueExist(CveVendedor) + DdlUsuario.SelectedValueExist(CveUsuario) + DdlTipoComprobante.SelectedValuesIfExistM(TipoDocto) + CargaEstatus() + DdlEstatus.SelectedValueExist(CveEstatus) + DdlGrupo.SelectedValueExist(GPO) + RblTipoCambio.SelectedValue = TipoCambio.ToString + If TipoCambio > 1 Then CveMoneda = -1 + + CargaProvedores(CveProveedorCompra) + 'If CveProveedorCompra.ToEntero > 0 Then DdlProveedor.SelectedValue = CveProveedorCompra + DdlTipoPSDes.SelectedValueExist(CveClasificacionDetalle) + CargaDatos(CveProyecto, CveSubProyecto, CveCategoria, CveClasificacion, CvePS, Mes, MesEjec, CveCliente, CveSubProyectoEjecucion, CveVendedor, CveUsuario, CveEstatus, GPO.ToEntero, TipoDocto, CveMarca) + CargarMarcas(CveMarca) + End Sub +#End Region + +#Region " CARGA DATOS " + Protected Sub BtnConsultar_Click(sender As Object, e As System.EventArgs) Handles BtnConsultar.Click + CargaDatos() + UPDatos.Update() + End Sub + + Private Sub CargaDatos() + Dim ObjVentas As New ClsVentas() + Dim FechaI, FechaF, FechaIEjec, FechaFEjec As Date + FechaI = If(IsDate(txtFechaI.Text.Trim()), txtFechaI.Text.ToDate, MinFecha) + FechaF = If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.ToDate, MaxFecha) + FechaIEjec = If(IsDate(TxtFechaIEjec.Text.Trim()), TxtFechaIEjec.Text.ToDate, MinFecha) + FechaFEjec = If(IsDate(TxtFechaFEjec.Text.Trim()), TxtFechaFEjec.Text.ToDate, MaxFecha) + Dim CveProveedorCompra As Integer = If(DdlProveedor.SelectedValue.ToEntero > 0, DdlProveedor.SelectedValue.ToEntero, -1) + Dim CveCliente As Integer = If(DdlClientes.SelectedValue.ToEntero > 0, DdlClientes.SelectedValue.ToEntero, -1) + Dim TipoComprobante As String = If(DdlTipoComprobante.GetSelectedValuesM = "", "-1", DdlTipoComprobante.GetSelectedValuesM) + + If RblTipoCambio.SelectedValue.ToEntero = 3 And TxtEspecifico.Text <> "" Then TCEspecifico = TxtEspecifico.Text.ToDouble Else TCEspecifico = -1 + + If ObjVentas.GetRepProductosServiciosDetalle(DdlProyecto.SelectedValue.ToEntero, DdlSubProyecto.SelectedValue.ToEntero, DdlCategoria.SelectedValue.ToEntero, DdlClasificacion.SelectedValue.ToEntero, + DdlPS.SelectedValue.ToEntero, FechaI, FechaF, -1, FechaIEjec, FechaFEjec, -1, CveCliente, + DdlSubProyectoEjecucion.SelectedValue.ToEntero, DdlVendedor.SelectedValue.ToEntero, DdlUsuario.SelectedValue.ToEntero, DdlEstatus.SelectedValue.ToEntero, + UsuarioActual.CveEmpresa, CveUsuarioConsulta:=UsuarioActual.CveUsuario, TipoDocto:=TipoComprobante, GPO:=DdlGrupo.SelectedValue.ToEntero, CveMoneda:=CveMoneda, + TipoCambio:=TipoCambio, TCEspecifico:=TCEspecifico, CveClienteClasificacion:=DdlClienteClasificacion.SelectedValue.ToEntero, CveProveedorCompra:=CveProveedorCompra, CveMarca:=DdlMarcaPSDes.SelectedValue.ToEntero, CveClasificacionDetalle:=DdlTipoPSDes.SelectedValue.ToEntero()) Then + GvDatos.DataSource = ObjVentas.DtResultados + TmpDT = ObjVentas.DtResultados + Else + GvDatos.DataSource = Nothing + End If + + ObjVentas.Dispose() + GvDatos.DataBind() + Agrupador = DdlGrupo.SelectedItem.Text + End Sub + + Private Sub CargaDatos(CveProyecto As String, CveSubProyecto As String, CveCategoria As String, CveClasificacion As String, CvePS As String, Mes As String, MesEjec As String, CveCliente As Integer, CveSubProyectoEjecucion As String, CveVendedor As Integer, CveUsuario As String, CveEstatus As String, Gpo As Integer, TipoDocto As String, CveMarca As Integer) + Dim ObjVentas As New ClsVentas() + Dim FechaI, FechaF, FechaIEjec, FechaFEjec As Date + FechaI = If(IsDate(txtFechaI.Text.Trim()), txtFechaI.Text.ToDate, MinFecha) + FechaF = If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.ToDate, MaxFecha) + FechaIEjec = If(IsDate(TxtFechaIEjec.Text.Trim()), TxtFechaIEjec.Text.ToDate, MinFecha) + FechaFEjec = If(IsDate(TxtFechaFEjec.Text.Trim()), TxtFechaFEjec.Text.ToDate, MaxFecha) + Dim CveProveedorCompra As Integer = If(DdlProveedor.SelectedValue.ToEntero > 0, DdlProveedor.SelectedValue.ToEntero, -1) + Dim TipoComprobante As String = If(DdlTipoComprobante.GetSelectedValuesM = "", "-1", DdlTipoComprobante.GetSelectedValuesM) + + If RblTipoCambio.SelectedValue.ToEntero = 3 And TxtEspecifico.Text <> "" Then TCEspecifico = TxtEspecifico.Text.ToDouble Else TCEspecifico = -1 + + If ObjVentas.GetRepProductosServiciosDetalle(CveProyecto.ToEntero, CveSubProyecto.ToEntero, CveCategoria.ToEntero, CveClasificacion.ToEntero, CvePS.ToEntero, + FechaI, FechaF, Mes.ToEntero, FechaIEjec, FechaFEjec, MesEjec.ToEntero, CveCliente.ToEntero, CveSubProyectoEjecucion.ToEntero, + CveVendedor, CveUsuario.ToEntero, CveEstatus.ToEntero, UsuarioActual.CveEmpresa, CveUsuarioConsulta:=UsuarioActual.CveUsuario, TipoDocto:=TipoComprobante, + GPO:=Gpo, CveMoneda:=CveMoneda, TipoCambio:=TipoCambio, TCEspecifico:=TCEspecifico, CveClienteClasificacion:=DdlClienteClasificacion.SelectedValue.ToEntero, + CveProveedorCompra:=CveProveedorCompra, CveMarca:=CveMarca) Then + GvDatos.DataSource = ObjVentas.DtResultados + TmpDT = ObjVentas.DtResultados + Else + GvDatos.DataSource = Nothing + End If + ObjVentas.Dispose() + GvDatos.DataBind() + Agrupador = DdlGrupo.SelectedItem.Text + End Sub + Protected Sub BtnTipoCambio_Click(sender As Object, e As EventArgs) + CargaDatos() + RegistraScript(String.Format("$('#{0}').modal('hide');", "DivTipoCambio")) + UPDatos.Update() + End Sub + Protected Sub CargarMarcas(CveMarca As Integer) + If UsuarioActual.Empresa.Funcionalidad(130) = "1" Then + DivMarca.Visible = True + LblMarca.Visible = True + + Dim ObjMarcas As New ClsProductosServicios + If ObjMarcas.GetMarcas(UsuarioActual.CveEmpresa) Then + DdlMarcaPSDes.DataSource = ObjMarcas.DtResultados + ObjMarcas.Dispose() + DdlMarcaPSDes.DataBind() + End If + End If + DdlMarcaPSDes.Items.Insert(0, New ListItem(" - ", "-1")) + DdlMarcaPSDes.Items.FindByValue(CStr(CveMarca)).Selected = True + End Sub +#End Region + +#Region "TIPO CAMBIO" + + Private Sub RblTipoCambio_SelectedIndexChanged(sender As Object, e As EventArgs) Handles RblTipoCambio.SelectedIndexChanged + TipoCambio = RblTipoCambio.SelectedValue.ToEntero + If RblTipoCambio.SelectedValue.ToEntero = 3 Then + Dim TipoCambioM As Double + LiEspecifico.Visible = True + TipoCambioM = GlobalTipoCambio(Now) + TxtEspecifico.Text = TipoCambioM.ToString + Else + LiEspecifico.Visible = False + End If + UpBodyTipoCambio.Update() + End Sub + +#End Region + +#Region " GV DATOS - PERSONALIZAR " + Protected Sub GvDatos_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvDatos.RowDataBound + If e.Row.RowType = DataControlRowType.DataRow Then + + If DdlGrupo.SelectedValue.ToEntero = 20 Then + + If e.Row.DBCampo("PS").ToString = "" Then + e.Row.CssClass = "Totales" + End If + Else + If Not e.Row.DBCampo("CveVenta").ToEntero > 0 Then + 'e.Row.Cells(0).HorizontalAlign = HorizontalAlign.Center + 'e.Row.Cells(0).Width = Unit.Pixel(200) + 'e.Row.Cells(1).HorizontalAlign = HorizontalAlign.Center + 'e.Row.Cells(1).Width = Unit.Pixel(60) + 'e.Row.Cells(2).Width = Unit.Pixel(90) + 'e.Row.Cells(3).Width = Unit.Pixel(90) + 'e.Row.Cells(5).Width = Unit.Pixel(80) + 'e.Row.Cells(8).Width = Unit.Pixel(100) + If e.Row.DBCampo("Gpo") = "" Then + e.Row.Cells(5).Text = e.Row.DBCampo("Moneda").ToString + e.Row.CssClass = "Totales" + Else + e.Row.Cells(5).Text = e.Row.DBCampo("Gpo").ToString + e.Row.CssClass = "SubTotales" + End If + + End If + End If + + + + + + 'Dim FechaI, FechaF As String + 'FechaI = If(IsDate(txtFechaI.Text.Trim()), txtFechaI.Text.Trim(), "-1") + 'FechaF = If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.Trim(), "-1") + + 'If e.Row.DBCampo("SubTotal").ToDouble = 0 Then e.Row.FCLiteral("LtlSubTotal").Text = "" + 'If e.Row.DBCampo("Descuento").ToDouble = 0 Then e.Row.FCLiteral("LtlDescuento").Text = "" + 'If e.Row.DBCampo("IVA").ToDouble = 0 Then e.Row.FCLiteral("LtlIVA").Text = "" + 'If e.Row.DBCampo("Total").ToDouble = 0 Then e.Row.FCLiteral("LtlTotal").Text = "" + 'If e.Row.DBCampo("MAX_SubTotal").ToDouble = 0 Then e.Row.FCLiteral("LtlMaxSubTotal").Text = "" + 'If e.Row.DBCampo("AVG_SubTotal").ToDouble = 0 Then e.Row.FCLiteral("LtlAVGSubTotal").Text = "" + 'If e.Row.DBCampo("MIN_SubTotal").ToDouble = 0 Then e.Row.FCLiteral("LtlMinSubTotal").Text = "" + 'If e.Row.DBCampo("MAX_Total").ToDouble = 0 Then e.Row.FCLiteral("LtlMaxTotal").Text = "" + 'If e.Row.DBCampo("AVG_Total").ToDouble = 0 Then e.Row.FCLiteral("LtlAVGTotal").Text = "" + 'If e.Row.DBCampo("MIN_Total").ToDouble = 0 Then e.Row.FCLiteral("LtlMinTotal").Text = "" + End If + End Sub + + Protected Sub BtnPersonalizar_Click(sender As Object, e As System.EventArgs) Handles BtnPersonalizar.Click + + GvDatos.Columns(2).Visible = ChkSucEjec.Checked + GvDatos.Columns(3).Visible = ChkSucCob.Checked + GvDatos.Columns(9).Visible = ChkObs.Checked + GvDatos.Columns(15).Visible = ChkRFC.Checked + + CargaDatos() + UPDatos.Update() + End Sub +#End Region + +#Region " SELECTED INDEX CHANGED" + + Protected Sub DdlClienteClasificacion_SelectedIndexChanged(sender As Object, e As EventArgs) + CargaClientes() + End Sub + + Private Sub CargaClientes(Optional CveCliente As Integer = -1) + Dim EsWS = If(UsuarioActual.Empresa.Funcionalidad(105) = "1" Or UsuarioActual.Empresa.Funcionalidad(141) = "1", True, False) + If EsWS Then + DdlClientes.setEsWebService(True) + DdlClientes.SelectedValue = CveCliente.ToString + DdlClientes.SelectedText = GlobalDTCliente(UsuarioActual.CveEmpresa, -1).FiltroPrimeroValor("Nombre", String.Format("CveCliente = {0}", CveCliente)) + Else + DdlClientes.setEsWebService(False) + DdlClientes.DataSource = GlobalDTCliente(UsuarioActual.CveEmpresa, -1).FiltraParametros($"CveClienteClasificacion = {DdlClienteClasificacion.SelectedValue.ToEntero} OR {DdlClienteClasificacion.SelectedValue.ToEntero} = -1") + DdlClientes.DataBind() + DdlClientes.ddl.Items.Insert(0, New ListItem("Todos", "-1")) + If CveCliente > 0 Then + DdlClientes.ddl.SelectedValueExist(CveCliente) + End If + + End If + + End Sub + + Private Sub CargaProvedores(Optional CveProveedor As Integer = -1) + + DdlProveedor.setEsWebService(UsuarioActual.Empresa.Funcionalidad(105) = "1") + + If DdlProveedor.UsaWebService Then + DdlProveedor.SelectedValue = CveProveedor.ToString + DdlProveedor.Attributes.Add("data-metodo", "getproveedores") + DdlProveedor.SelectedText = GlobalDTCompProveedores(UsuarioActual.CveEmpresa).FiltroPrimeroValor("RazonSocial", String.Format("CveProveedor = {0}", CveProveedor)) + Else + + DdlProveedor.DataSource = GlobalDTCompProveedores(UsuarioActual.CveEmpresa) + DdlProveedor.DataBind() + DdlProveedor.ddl.Items.Insert(0, New ListItem("Todos", "-1")) + DdlClientes.ddl.SelectedValueExist(CveProveedor) + End If + + End Sub + Protected Sub DdlProyecto_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlProyecto.SelectedIndexChanged + CargaSubProyecto() + End Sub + + Private Sub CargaSubProyecto() + DdlSubProyecto.Items.Clear() + If DdlProyecto.SelectedValue <> "-1" Then + DdlSubProyecto.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, DdlSubProyecto.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, -1, 1) + DdlSubProyecto.DataBind() + End If + DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1")) + End Sub + + 'Protected Sub DdlCategoria_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlCategoria.SelectedIndexChanged + ' DdlClasificacion.Items.Clear() + ' If DdlCategoria.SelectedValue <> "-1" Then + ' Dim ObjClasificaciones As New ClsClasificaciones + ' If ObjClasificaciones.GetClasificacionesExistencias(UsuarioActual.CveEmpresa) Then + ' DdlClasificacion.DataSource = ObjClasificaciones.DtResultados + ' DdlClasificacion.DataBind() + ' End If + ' ObjClasificaciones.Dispose() + ' End If + ' DdlClasificacion.Items.Insert(0, New ListItem("Todas", "-1")) + 'End Sub + + Protected Sub DdlClasificacion_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlClasificacion.SelectedIndexChanged + If UsuarioActual.Empresa.Funcionalidad(105) = "" Then + DdlPS.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CveClasificacion:=DdlClasificacion.SelectedValue.ToEntero) + DdlPS.DataBind() + DdlPS.ddl.Items.Insert(0, New ListItem("Todos", "-1")) + Else + DdlPS.ddlWS.Attributes.Add("data-cveclasificacion", DdlClasificacion.SelectedValue) + DdlPS.SelectedText = "Todos" + DdlPS.SelectedValue = "-1" + End If + End Sub + + Protected Sub DdlTipoComprobante_SelectedIndexChanged(sender As Object, e As EventArgs) + CargaEstatus() + End Sub + + Private Sub CargaEstatus() + DdlEstatus.Items.Clear() + If DdlTipoComprobante.SelectedValue <> "-1" Then + DdlEstatus.DataSource = GlobalDTEstatusFactura.FiltraParametros(String.Format("TipoDocto = '{0}'", DdlTipoComprobante.SelectedValue)) + Else + DdlEstatus.DataSource = GlobalDTEstatusFactura + End If + DdlEstatus.Items.Add(New ListItem("Todos", "-1")) + DdlEstatus.DataBind() End Sub -#End Region +#End Region -#Region " EXCEL " - Protected Sub ImgExcel_Click(sender As Object, e As EventArgs) Handles ImgExcel.Click - GvDatos.ExportToExcel("ReporteProductosServicios" & Now.ToShortDateString) +#Region " EXCEL " + Protected Sub ImgExcel_Click(sender As Object, e As EventArgs) Handles ImgExcel.Click + GvDatos.ExportToExcel("ReporteProductosServicios" & Now.ToShortDateString) End Sub -#End Region +#End Region -#Region " PDF " - Protected Sub ImgImprimir_Click(sender As Object, e As EventArgs) Handles ImgImprimir.Click - ImprimirReporte() - End Sub - - Private Sub ImprimirReporte(Optional Formato As String = "PDF") - Dim ObjVentas As New ClsVentas() - - Dim FechaI, FechaF As String - FechaI = If(IsDate(txtFechaI.Text.Trim()), txtFechaI.Text.Trim(), "-1") - FechaF = If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.Trim(), "-1") - - Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta)) - - If TmpDT.Rows.Count > 0 Then - Dim params As New List(Of ReportParameter) - - Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa) - If Imagen.Exists Then - params.Add(New ReportParameter("LogoPath", logouri)) - Else - params.Add(New ReportParameter("LogoPath", "")) - End If - - params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre)) - params.Add(New ReportParameter("FechaImpresion", DateTime.Now.ToString("dd/MM/yyyy"))) - params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa)) - ImprimirPDF("Empresas/Grales/Formatos/RepProductosServiciosDetalle.rdlc", TmpDT, params, "ReportePS") - 'ImprimirPDF(String.Format("{0}Formatos\RepProductosServicios.rdlc", UsuarioActual.Empresa.Ruta), dtPS, params, "ReporteProductosServicios") - End If - - ObjVentas.Dispose() - End Sub -#End Region - -#Region "GRAFICA" - - Protected Sub LnkVerGrafica_Click(sender As Object, e As EventArgs) - If Not TmpDT IsNot Nothing AndAlso TmpDT.Rows.Count > 0 Then - Alert("No hay datos disponibles", TipoMensaje.MsgAdvertencia) - Exit Sub - End If - - LblTituloGrafica.Text = $"Agrupado por: {Agrupador}" - RegistraScript("$('#DivModalGrafica').modal('show')") - CambioGrafica() - End Sub - Private Sub CreaDataTableColor() - DtColor = New DataTable - DtColor.Columns.Add("Color") - Dim RowColor As DataRow = Nothing - RowColor = DtColor.NewRow() - RowColor("Color") = "#FF0F00" - DtColor.Rows.Add(RowColor) - RowColor = Nothing - RowColor = DtColor.NewRow() - RowColor("Color") = "#FF6600" - DtColor.Rows.Add(RowColor) - RowColor = Nothing - RowColor = DtColor.NewRow() - RowColor("Color") = "#FF9E01" - DtColor.Rows.Add(RowColor) - RowColor = Nothing - RowColor = DtColor.NewRow() - RowColor("Color") = "#FCD202" - DtColor.Rows.Add(RowColor) - RowColor = Nothing - RowColor = DtColor.NewRow() - RowColor("Color") = "#F8FF01" - DtColor.Rows.Add(RowColor) - RowColor = Nothing - RowColor = DtColor.NewRow() - RowColor("Color") = "#B0DE09" - DtColor.Rows.Add(RowColor) - RowColor = Nothing - RowColor = DtColor.NewRow() - RowColor("Color") = "#04D215" - DtColor.Rows.Add(RowColor) - RowColor = Nothing - RowColor = DtColor.NewRow() - RowColor("Color") = "#0D8ECF" - DtColor.Rows.Add(RowColor) - RowColor = Nothing - RowColor = DtColor.NewRow() - RowColor("Color") = "#0D52D1" - DtColor.Rows.Add(RowColor) - RowColor = Nothing - RowColor = DtColor.NewRow() - RowColor("Color") = "#2A0CD0" - DtColor.Rows.Add(RowColor) - RowColor = Nothing - RowColor = DtColor.NewRow() - RowColor("Color") = "#8A0CCF" - DtColor.Rows.Add(RowColor) - RowColor = Nothing - RowColor = DtColor.NewRow() - RowColor("Color") = "#CD0D74" - DtColor.Rows.Add(RowColor) - RowColor = Nothing - RowColor = DtColor.NewRow() - RowColor("Color") = "#754DEB" - DtColor.Rows.Add(RowColor) - RowColor = Nothing - RowColor = DtColor.NewRow() - RowColor("Color") = "#DDDDDD" - DtColor.Rows.Add(RowColor) - RowColor = Nothing - RowColor = DtColor.NewRow() - RowColor("Color") = "#999999" - DtColor.Rows.Add(RowColor) - RowColor = Nothing - RowColor = DtColor.NewRow() - RowColor("Color") = "#333333" - DtColor.Rows.Add(RowColor) - RowColor = Nothing - RowColor = DtColor.NewRow() - RowColor("Color") = "#000000" - DtColor.Rows.Add(RowColor) - End Sub - - Private Sub CambioGrafica() - Dim Dt As New DataTable() - Dt.Columns.Add("Texto") - Dt.Columns.Add("Valor") - Dt.Columns.Add("Color") - Dt.Columns.Add("Moneda") - Dim RowColorIndex As Integer = 0 - For Each Dr As DataRow In TmpDT.Rows - If Not Dr("CveVenta").ToString.ToEntero > 0 Then - Dim Row As DataRow = Nothing - Row = Dt.NewRow() - Row("Texto") = $"{Dr("Gpo").ToString} {GlobalDTMonedas().FiltraParametros($"CveMoneda = {CveMoneda}").Rows(0)("Abreviatura").ToString}" - Select Case DdlVer.SelectedValue.ToEntero - Case 1 - Row("Valor") = Dr("Total").ToString.FormatoNumero - Case 2 - Row("Valor") = Dr("SubTotal").ToString.FormatoNumero - Case 3 - Row("Valor") = Dr("IVA").ToString.FormatoNumero - End Select - Row("Color") = DtColor.Rows(RowColorIndex)("Color").ToString - Row("Moneda") = GlobalDTMonedas().FiltraParametros($"CveMoneda = {CveMoneda}").Rows(0)("Moneda").ToString - Dt.Rows.Add(Row) - RowColorIndex += 1 - If RowColorIndex = 17 Then - RowColorIndex = 0 - End If - End If - Next - - Dim query = From s In Dt.AsEnumerable() Select New With {.Texto = s("Texto").ToString(), .Valor = s("Valor").ToString().ToDouble(), .Color = s("Color").ToString(), .Moneda = s("Moneda").ToString()} - Dim json As String = Newtonsoft.Json.JsonConvert.SerializeObject(query) - Select Case DdlGrafica.SelectedValue.ToEntero - Case 1 - RegistraScript($"CargaGraficaBarras({json})", "22") - Case 2 - RegistraScript($"CargaGraficaPastel({json})", "22") - End Select - UPModalProd.Update() - End Sub - Protected Sub DdlGrafica_SelectedIndexChanged(sender As Object, e As EventArgs) - CambioGrafica() - End Sub - - Protected Sub DdlVer_SelectedIndexChanged(sender As Object, e As EventArgs) - CambioGrafica() +#Region " PDF " + Protected Sub ImgImprimir_Click(sender As Object, e As EventArgs) Handles ImgImprimir.Click + ImprimirReporte() End Sub -#End Region + Private Sub ImprimirReporte(Optional Formato As String = "PDF") + Dim ObjVentas As New ClsVentas() + + Dim FechaI, FechaF As String + FechaI = If(IsDate(txtFechaI.Text.Trim()), txtFechaI.Text.Trim(), "-1") + FechaF = If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.Trim(), "-1") + + Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta)) + + If TmpDT.Rows.Count > 0 Then + Dim params As New List(Of ReportParameter) + + Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa) + If Imagen.Exists Then + params.Add(New ReportParameter("LogoPath", logouri)) + Else + params.Add(New ReportParameter("LogoPath", "")) + End If + + params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre)) + params.Add(New ReportParameter("FechaImpresion", DateTime.Now.ToString("dd/MM/yyyy"))) + params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa)) + ImprimirPDF("Empresas/Grales/Formatos/RepProductosServiciosDetalle.rdlc", TmpDT, params, "ReportePS") + 'ImprimirPDF(String.Format("{0}Formatos\RepProductosServicios.rdlc", UsuarioActual.Empresa.Ruta), dtPS, params, "ReporteProductosServicios") + End If + + ObjVentas.Dispose() + End Sub +#End Region + +#Region "GRAFICA" + + Protected Sub LnkVerGrafica_Click(sender As Object, e As EventArgs) + If Not TmpDT IsNot Nothing AndAlso TmpDT.Rows.Count > 0 Then + Alert("No hay datos disponibles", TipoMensaje.MsgAdvertencia) + Exit Sub + End If + + LblTituloGrafica.Text = $"Agrupado por: {Agrupador}" + RegistraScript("$('#DivModalGrafica').modal('show')") + CambioGrafica() + End Sub + Private Sub CreaDataTableColor() + DtColor = New DataTable + DtColor.Columns.Add("Color") + Dim RowColor As DataRow = Nothing + RowColor = DtColor.NewRow() + RowColor("Color") = "#FF0F00" + DtColor.Rows.Add(RowColor) + RowColor = Nothing + RowColor = DtColor.NewRow() + RowColor("Color") = "#FF6600" + DtColor.Rows.Add(RowColor) + RowColor = Nothing + RowColor = DtColor.NewRow() + RowColor("Color") = "#FF9E01" + DtColor.Rows.Add(RowColor) + RowColor = Nothing + RowColor = DtColor.NewRow() + RowColor("Color") = "#FCD202" + DtColor.Rows.Add(RowColor) + RowColor = Nothing + RowColor = DtColor.NewRow() + RowColor("Color") = "#F8FF01" + DtColor.Rows.Add(RowColor) + RowColor = Nothing + RowColor = DtColor.NewRow() + RowColor("Color") = "#B0DE09" + DtColor.Rows.Add(RowColor) + RowColor = Nothing + RowColor = DtColor.NewRow() + RowColor("Color") = "#04D215" + DtColor.Rows.Add(RowColor) + RowColor = Nothing + RowColor = DtColor.NewRow() + RowColor("Color") = "#0D8ECF" + DtColor.Rows.Add(RowColor) + RowColor = Nothing + RowColor = DtColor.NewRow() + RowColor("Color") = "#0D52D1" + DtColor.Rows.Add(RowColor) + RowColor = Nothing + RowColor = DtColor.NewRow() + RowColor("Color") = "#2A0CD0" + DtColor.Rows.Add(RowColor) + RowColor = Nothing + RowColor = DtColor.NewRow() + RowColor("Color") = "#8A0CCF" + DtColor.Rows.Add(RowColor) + RowColor = Nothing + RowColor = DtColor.NewRow() + RowColor("Color") = "#CD0D74" + DtColor.Rows.Add(RowColor) + RowColor = Nothing + RowColor = DtColor.NewRow() + RowColor("Color") = "#754DEB" + DtColor.Rows.Add(RowColor) + RowColor = Nothing + RowColor = DtColor.NewRow() + RowColor("Color") = "#DDDDDD" + DtColor.Rows.Add(RowColor) + RowColor = Nothing + RowColor = DtColor.NewRow() + RowColor("Color") = "#999999" + DtColor.Rows.Add(RowColor) + RowColor = Nothing + RowColor = DtColor.NewRow() + RowColor("Color") = "#333333" + DtColor.Rows.Add(RowColor) + RowColor = Nothing + RowColor = DtColor.NewRow() + RowColor("Color") = "#000000" + DtColor.Rows.Add(RowColor) + End Sub + + Private Sub CambioGrafica() + Dim Dt As New DataTable() + Dt.Columns.Add("Texto") + Dt.Columns.Add("Valor") + Dt.Columns.Add("Color") + Dt.Columns.Add("Moneda") + Dim RowColorIndex As Integer = 0 + For Each Dr As DataRow In TmpDT.Rows + If Not Dr("CveVenta").ToString.ToEntero > 0 Then + Dim Row As DataRow = Nothing + Row = Dt.NewRow() + Row("Texto") = $"{Dr("Gpo").ToString} {GlobalDTMonedas().FiltraParametros($"CveMoneda = {CveMoneda}").Rows(0)("Abreviatura").ToString}" + Select Case DdlVer.SelectedValue.ToEntero + Case 1 + Row("Valor") = Dr("Total").ToString.FormatoNumero + Case 2 + Row("Valor") = Dr("SubTotal").ToString.FormatoNumero + Case 3 + Row("Valor") = Dr("IVA").ToString.FormatoNumero + End Select + Row("Color") = DtColor.Rows(RowColorIndex)("Color").ToString + Row("Moneda") = GlobalDTMonedas().FiltraParametros($"CveMoneda = {CveMoneda}").Rows(0)("Moneda").ToString + Dt.Rows.Add(Row) + RowColorIndex += 1 + If RowColorIndex = 17 Then + RowColorIndex = 0 + End If + End If + Next + + Dim query = From s In Dt.AsEnumerable() Select New With {.Texto = s("Texto").ToString(), .Valor = s("Valor").ToString().ToDouble(), .Color = s("Color").ToString(), .Moneda = s("Moneda").ToString()} + Dim json As String = Newtonsoft.Json.JsonConvert.SerializeObject(query) + Select Case DdlGrafica.SelectedValue.ToEntero + Case 1 + RegistraScript($"CargaGraficaBarras({json})", "22") + Case 2 + RegistraScript($"CargaGraficaPastel({json})", "22") + End Select + UPModalProd.Update() + End Sub + Protected Sub DdlGrafica_SelectedIndexChanged(sender As Object, e As EventArgs) + CambioGrafica() + End Sub + + Protected Sub DdlVer_SelectedIndexChanged(sender As Object, e As EventArgs) + CambioGrafica() + End Sub + +#End Region #Region " D E S C A R G A S " @@ -890,4 +890,4 @@ Partial Class Ventas_RepProductosServiciosDetalle -End Class +End Class diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb index a8fbdcd89..861a5605a 100644 --- a/Ventas/Ventas.aspx.vb +++ b/Ventas/Ventas.aspx.vb @@ -4334,7 +4334,7 @@ Partial Class Ventas If DdlTipoComprobante.SelectedValue.Contiene("Ing", "Ant") AndAlso GvRemisiones.Rows.Count > 0 Then ChkDevAlm.Checked = True ChkDevAlm.Enabled = False - LiDevolucionAlmacen.Visible = False + 'LiDevolucionAlmacen.Visible = False End If End If @@ -10083,12 +10083,96 @@ Partial Class Ventas Exit For End If End If - If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, True, Importe251, Referencia, 251, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=Dr("CveVenta").ToString.ToEntero, CveCliente:=ObjFactura.CveCliente, ImporteMX:=ImporteMN251, ImporteME:=If(Dr("TCCambioValuacion").ToString.ToDecimal = 1, 0, Importe251), CveSubProyecto:=CveSubProyectoContabilizar, CveVentaAmortizacion:=ObjFactura.CveVenta, TipoCambio:=Dr("TCCambioValuacion").ToString.ToDecimal, TipoCambioPago:=tipoCambio) Then - ErrorPrepoliza = True - Exit For + + ' Traslado de impuestos cuando es amortizacion de NC + If EsNCAmortizacion Then + '' aqui no se registra el pago como NC, se deja para el registro de la aplicaion del anticipo + '' esto para trasladar los impuestos. + If DdlTipoAmortizacionAnticipo.SelectedValue.ToEntero = 2 AndAlso ObjFactura.TipoDocto.Contiene("Egs") Then + + For Each row2 As GridViewRow In GVAnticipos.Rows + If row2.DataKey("CveConceptoContable").ToString().ToEntero = 3 Then + If row2.FCCheckBox("Chk" & row2.RowIndex).Checked Then + CveIEAnticipo = row2.DataKey("CveIE").ToString.ToEntero + importeMovimiento = row2.FCTextBox("TxtAnticipo" & row2.RowIndex).Text.ToDecimal '- ((row2.FCTextBox("TxtAnticipo" & row2.RowIndex).Text.ToDecimal / row2.DataKey("TotalAnticipo").ToDecimal) * row2.DataKey("IVAAnticipo").ToDecimal) + If tipoCambio > 1 Then Concepto += $" TC:{tipoCambio} ${importeMovimiento.FormatoNumero(2)}" + + IdCtaContable = IdCtaContAnticipos + CveCuenta = CveCuentaAnticipos + CveSubProyectoContabilizar = CveSubProyectoVenta + + If importeMovimiento <> 0 Then + If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, False, importeMovimiento, Referencia, 11, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=row2.DataKey("CveVenta").ToEntero, CveVentaAmortizacion:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIEAnticipo, ImporteMX:=importeMovimiento * tipoCambio, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveCuenta:=CveCuenta, CveSubProyecto:=CveSubProyectoContabilizar, Contabilizable:=SeContabiliza) Then + ErrorPrepoliza = True + Exit For + Else + ViewState("SeGuardoPrePoliza") = True + If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, True, importeMovimiento, Referencia, 2, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=Dr("CveVenta").ToString.ToEntero, CveCliente:=ObjFactura.CveCliente, ImporteMX:=importeMovimiento, ImporteME:=If(Dr("TCCambioValuacion").ToString.ToDecimal = 1, 0, importeMovimiento), CveSubProyecto:=CveSubProyectoContabilizar, CveIE:=CveIEAnticipo, CveVentaAmortizacion:=ObjFactura.CveVenta, TipoCambio:=Dr("TCCambioValuacion").ToString.ToDecimal, TipoCambioPago:=tipoCambio) Then + ErrorPrepoliza = True + Exit For + End If + 'se hace acreditamiento de impuestos + 'IVA X TRASLADAR + Dim PorcentajeImpuestoPago As Decimal = TmpDT.MAX("PorcentajeIVA").ToDecimal + '' si se esta aplicando NC por amortizaion, se trasladan impuestos + If EsNCAmortizacion Then + Dim IngresoIVA As Decimal = TxtIVA.Text.ToDecimal + Dim IngresoIEPS As Decimal = TxtIEPS.Text.ToDecimal + Dim IngresoTotal As Decimal = TxtTotal.Text.ToDecimal + + If IngresoIVA > 0 Then + + IdCtaIVAXTrasladar = If(IdCtaIVAXTrasladar > 0, IdCtaIVAXTrasladar, UsuarioActual.Empresa.IdCuentaIVAxTrasladar) + Concepto = ObjConta.ObtenerConceptoEmpresa(UsuarioActual.CveEmpresa, 13, NombreCliente, $"{ObjFactura.Serie}-{ObjFactura.Folio}", FolioIE.ToString) + If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, (importeMovimiento * IngresoIVA) / IngresoTotal, Referencia, 13, Concepto, Fecha, IdCtaIVAXTrasladar, -1, CveVenta:=Dr("CveVenta").ToString.ToEntero, CveCliente:=CveCliente, CveIE:=CveIEAnticipo, ImporteMX:=((importeMovimiento * IngresoIVA) / IngresoTotal) * tipoCambio * Multiplicador, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveSubProyecto:=CveSubProyectoContabilizar, PorcentajeImpuesto:=PorcentajeImpuestoPago) Then + ErrorPrepoliza = True + Exit For + End If + 'IVA PAGADO + IdCtaIVATrasladado = If(IdCtaIVATrasladado > 0, IdCtaIVATrasladado, UsuarioActual.Empresa.IdCuentaIVATrasladado) + Concepto = ObjConta.ObtenerConceptoEmpresa(UsuarioActual.CveEmpresa, 61, NombreCliente, $"{ObjFactura.Serie}-{ObjFactura.Folio}", FolioIE.ToString) + If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, Not TipoMovimiento, (importeMovimiento * IngresoIVA) / IngresoTotal, Referencia, 61, Concepto, Fecha, IdCtaIVATrasladado, -1, CveVenta:=Dr("CveVenta").ToString.ToEntero, CveCliente:=CveCliente, CveIE:=CveIEAnticipo, ImporteMX:=((importeMovimiento * IngresoIVA) / IngresoTotal) * tipoCambio * Multiplicador, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveSubProyecto:=CveSubProyectoContabilizar, PorcentajeImpuesto:=PorcentajeImpuestoPago) Then + ErrorPrepoliza = True + Exit For + End If + End If + + + If IngresoIEPS > 0 Then + 'IEPS X TRASLADAR + Concepto = ObjConta.ObtenerConceptoEmpresa(UsuarioActual.CveEmpresa, 38, NombreCliente, $"{ObjFactura.Serie}-{ObjFactura.Folio}", FolioIE.ToString) + If IngresoIEPS > 0 AndAlso Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, (importeMovimiento * IngresoIEPS) / IngresoTotal, Referencia, 38, Concepto, Fecha, UsuarioActual.Empresa.IdCuentaIEPSxTrasladar, -1, CveVenta:=Dr("CveVenta").ToString.ToEntero, CveCliente:=CveCliente, CveIE:=CveIEAnticipo, ImporteMX:=((importeMovimiento * IngresoIEPS) / IngresoTotal) * tipoCambio * Multiplicador, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveSubProyecto:=CveSubProyectoContabilizar) Then + ErrorPrepoliza = True + Exit For + End If + + 'IEPS PAGADO + Concepto = ObjConta.ObtenerConceptoEmpresa(UsuarioActual.CveEmpresa, 39, NombreCliente, $"{ObjFactura.Serie}-{ObjFactura.Folio}", FolioIE.ToString) + If IngresoIEPS > 0 AndAlso Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, Not TipoMovimiento, (importeMovimiento * IngresoIEPS) / IngresoTotal, Referencia, 39, Concepto, Fecha, UsuarioActual.Empresa.IdCuentaIEPSTrasladado, -1, CveVenta:=Dr("CveVenta").ToString.ToEntero, CveCliente:=CveCliente, CveIE:=CveIEAnticipo, ImporteMX:=((importeMovimiento * IngresoIEPS) / IngresoTotal) * tipoCambio * Multiplicador, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveSubProyecto:=CveSubProyectoContabilizar) Then + ErrorPrepoliza = True + Exit For + End If + End If + End If + + End If + End If + + End If + End If + Next + + End If + Else + If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, True, Importe251, Referencia, 251, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=Dr("CveVenta").ToString.ToEntero, CveCliente:=ObjFactura.CveCliente, ImporteMX:=ImporteMN251, ImporteME:=If(Dr("TCCambioValuacion").ToString.ToDecimal = 1, 0, Importe251), CveSubProyecto:=CveSubProyectoContabilizar, CveVentaAmortizacion:=ObjFactura.CveVenta, TipoCambio:=Dr("TCCambioValuacion").ToString.ToDecimal, TipoCambioPago:=tipoCambio) Then + ErrorPrepoliza = True + Exit For + End If End If + + 'considero fluctuación. @@ -10224,6 +10308,7 @@ Partial Class Ventas End If End If End If + importeMovimiento = 0 Case 136 'Otros Conceptos Dinamicos For Each row2 As GridViewRow In GVOtrosConceptos.Rows If row2.FCTextBox("TxtCantidadConcepto").Text.ToDecimal > 0 Then @@ -10300,6 +10385,7 @@ Partial Class Ventas Exit For Else ViewState("SeGuardoPrePoliza") = True + End If End If Next @@ -10311,8 +10397,8 @@ Partial Class Ventas ' cuando es amortización de nota de crédito, y es la nc ' cuando es amortización por descuento, y es el ingreso ' cuando es amortización en cero - If DdlTipoAmortizacionAnticipo.SelectedValue.ToEntero = 2 AndAlso ObjFactura.TipoDocto.Contiene("Egs") OrElse - DdlTipoAmortizacionAnticipo.SelectedValue.ToEntero = 1 AndAlso ObjFactura.TipoDocto.Contiene("Ing") OrElse + 'DdlTipoAmortizacionAnticipo.SelectedValue.ToEntero = 2 AndAlso ObjFactura.TipoDocto.Contiene("Egs") OrElse + If DdlTipoAmortizacionAnticipo.SelectedValue.ToEntero = 1 AndAlso ObjFactura.TipoDocto.Contiene("Ing") OrElse DdlTipoAmortizacionAnticipo.SelectedValue.ToEntero = 3 Then For Each row2 As GridViewRow In GVAnticipos.Rows @@ -10332,6 +10418,7 @@ Partial Class Ventas Exit For Else ViewState("SeGuardoPrePoliza") = True + End If End If @@ -10782,7 +10869,7 @@ Partial Class Ventas End If End If Case 13 'Iva por Trasladar - If Not ObjFactura.TipoDocto.Contiene("Rem", "RNC") Then + If Not ObjFactura.TipoDocto.Contiene("Rem", "RNC") And ObjFactura.IVA > 0 Then importeMovimiento = ObjFactura.IVA * ValorMultiplicador importeMX = Math.Round(importeMovimiento * tipoCambio * Multiplicador, 2) FechaMovimiento = ObjFactura.FechaPago @@ -11045,7 +11132,7 @@ Partial Class Ventas Return ErrorPrepoliza Catch ex As Exception - GuardaLog(ex.ToString()) + GuardaLog("GuardaPreP." & ex.ToString()) Return True End Try @@ -11088,7 +11175,7 @@ Partial Class Ventas CveConceptoAlmacen = 18 End If - Dim CveAlmacen = ddlAlmacen.SelectedValue.ToEntero() + Dim CveAlmacen = ddlAlmacen.SelectedValue.ToEnteroca Dim CveMovimientoInventario As Integer = ObjInventario.AddMovimiento(CveAlmacen, CveConceptoAlmacen, factura.CveMoneda, factura.Fecha, -1, factura.CveUsuario, factura.CveEmpresa, -1, factura.CveVenta, -1, -1, Modulo:="Vta/E1") If CveMovimientoInventario <= 0 Then @@ -13381,7 +13468,7 @@ Partial Class Ventas End If Catch ex As Exception - GuardaLog(ex.ToString()) + GuardaLog("CancelF." & ex.ToString()) ErrorCancelar = True End Try