diff --git a/App_Code/ClsInventarios.vb b/App_Code/ClsInventarios.vb index e5334119c..6e398afc5 100644 --- a/App_Code/ClsInventarios.vb +++ b/App_Code/ClsInventarios.vb @@ -1625,6 +1625,44 @@ Public Class ClsInventarios End Function + Public Function GetKardexPSNavegacion(Entrada As Boolean, Salida As Boolean, CvePS As Integer, FechaI As String, FechaF As String, CveAlmacen As Integer, CveTiposAlmacen As String, CveUnidadMedida As Integer, CveUsuario As Integer, CveEmpresa As Integer, Optional CveAlmacenes As String = "-1", Optional Siguiente As Boolean = True) As Boolean + + Dim Retorno As Boolean = False + + DataAdapter("PA_Inv_KardexPSNavegacionGet") + + With SqlAdapter.SelectCommand.Parameters + .Add("@Entrada", SqlDbType.Bit).Value = Entrada + .Add("@Salida", SqlDbType.Bit).Value = Salida + .Add("@FechaI", SqlDbType.VarChar).Value = FechaI + .Add("@FechaF", SqlDbType.VarChar).Value = FechaF + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + .Add("@CvePS", SqlDbType.Int).Value = CvePS + .Add("@CveAlmacen", SqlDbType.Int).Value = CveAlmacen + .Add("@CveTiposAlmacen", SqlDbType.VarChar).Value = CveTiposAlmacen + .Add("@CveUnidadMedida", SqlDbType.Int).Value = CveUnidadMedida + .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario + + .Add("@CveAlmacenes", SqlDbType.VarChar).Value = CveAlmacenes + .Add("@Siguiente", SqlDbType.Bit).Value = Siguiente + + End With + + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch Ex1 As SqlException + + Me.OnError("Ocurrió un error al obtener el kardex.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + + Catch ex As Exception + OnError("Ocurrió un error al obtener el kardex.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + End Try + + Return Retorno + + End Function + Public Function GetExistenciasProductoSerie(CvePS As Integer, CveUsuario As Integer, CveEmpresa As Integer, Fecha As DateTime, Optional CveAlmacenes As String = "-1") As Boolean Dim Retorno As Boolean = False diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb index 3fc7edff6..f6868d9ec 100644 --- a/App_Code/ClsPaginas.vb +++ b/App_Code/ClsPaginas.vb @@ -9010,6 +9010,22 @@ Public Class ClsPaginas If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Pago.ImportePago, Pago.ImportePago, ConPrepAplicacion.CveConcepto, Pago.Referencia, Concepto, CveCompra:=Pago.CveCompraAmortizacion, CveCompraAmortizacion:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal) Then ErrorMovtos = True End If End If + + If Pago.TipoPago.Contiene("RNC") AndAlso Not ErrorMovtos Then ' R E M I S I Ó N D E N O T A D E C R E D I T O + '371 + Dim ConPrepAplicacion As ConceptosTipoSaldo = ObtenerCveConceptoPrePoliza(15, Pago.CveMonedaPago, True, CompraActual.CveTipoConceptoProveedor) + + If Pago.CveMonedaPago > 1 Then + 'Agregamos la Extranjera + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Pago.ImportePago, Pago.ImportePago, 371, Pago.Referencia, Concepto, CveCompra:=Pago.CveCompraAmortizacion, CveCompraAmortizacion:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, ImporteME:=Pago.ImportePago, TipoCambio:=TCValuacionPago, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True + ImporteMN = (Pago.ImportePago * TCValuacionPago - Pago.ImportePago).RoundSQL + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Pago.ImportePago, ImporteMN, ConPrepAplicacion.CveConceptoComplementario, Pago.Referencia, Concepto, CveCompra:=Pago.CveCompraAmortizacion, CveCompraAmortizacion:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, ImporteME:=Pago.ImportePago, TipoCambio:=TCValuacionPago, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True + Else + 'Agregamos Nacional + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Pago.ImportePago, Pago.ImportePago, 371, Pago.Referencia, Concepto, CveCompra:=Pago.CveCompraAmortizacion, CveCompraAmortizacion:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal) Then ErrorMovtos = True + End If + End If + If Pago.TipoPago = "DD" AndAlso Not ErrorMovtos Then ' D E U D O R D I V E R S O Dim ConPrepAplicacion As ConceptosTipoSaldo = ObtenerCveConceptoPrePoliza(17, Pago.CveMonedaPago, True, CompraActual.CveTipoConceptoProveedor) If Pago.CveMonedaPago > 1 Then diff --git a/App_Code/Modelos.vb b/App_Code/Modelos.vb index 2c1c5dec4..a97e3fa58 100644 --- a/App_Code/Modelos.vb +++ b/App_Code/Modelos.vb @@ -1458,7 +1458,7 @@ Namespace Modelos Optional CveSubProyecto As Integer = -1, Optional SubProyecto As String = "", Optional PorcentajeIVA As Decimal = -1, Optional CuentaPredial As String = "", Optional CveVentaDetallePadre As Integer = -1, - Optional CveVentaDetalleRemision As Integer = -1, Optional CveViajePasajero As Integer = -1) As Boolean + Optional CveVentaDetalleRemision As Integer = -1, Optional CveViajePasajero As Integer = -1, Optional RedondearTotal As Boolean = True) As Boolean If Not CvePS > 0 Then Alert("Ocurrió un error al cargar la información del producto a agregar. Por favor verifique y vuelva a intentar.", TipoMensaje.MsgError) @@ -1622,7 +1622,13 @@ Namespace Modelos Row("Descuento") = (Descuento).RoundSQL(NumeroDecimales) Row("TipoDescuento") = -1 Row("CvePromocionDetalle") = -1 - Row("Total") = (Cantidad * PU) + + If RedondearTotal Then + Row("Total") = (Cantidad * PU).RoundSQL(NumeroDecimales) + Else + Row("Total") = (Cantidad * PU) + End If + Row("TotalImporte") = (Cantidad * PU).RoundSQL(NumeroDecimales) Row("SATClaveProdServ") = DrPS("SATClavePS") Row("SATClaveUM") = DrPS("SATClaveUnidadMedida") @@ -4320,20 +4326,30 @@ Namespace Modelos 'TEMPORAL. PARA OPTIMIZAR LOS TIEMPOS PARA LA GENERACION DE LA FACTURA GLOBAL - If factura.EsFacturaGlobal Then - If Not ObjInventario.ActualizarEsDevolucionVenta(factura.CveVenta, 2) Then - OcurrioError = True - End If - Else - If RemisionesLista IsNot Nothing AndAlso factura.TipoDocto = "Ing" AndAlso RemisionesLista.Count > 0 Then - For Each CveRemision As Integer In RemisionesLista - 'El almacen general es el Primer Almacen de Material en la Sucursal - If Not TraspasoAlmacen(ObjInventario, ObjVentas, CveRemision, ObjConta, True, 9, factura.EsFacturaGlobal) Then - OcurrioError = True - Exit For - End If - Next - End If + 'If factura.EsFacturaGlobal Then + ' If Not ObjInventario.ActualizarEsDevolucionVenta(factura.CveVenta, 2) Then + ' OcurrioError = True + ' End If + 'Else + ' If RemisionesLista IsNot Nothing AndAlso factura.TipoDocto = "Ing" AndAlso RemisionesLista.Count > 0 Then + ' For Each CveRemision As Integer In RemisionesLista + ' 'El almacen general es el Primer Almacen de Material en la Sucursal + ' If Not TraspasoAlmacen(ObjInventario, ObjVentas, CveRemision, ObjConta, True, 9, factura.EsFacturaGlobal) Then + ' OcurrioError = True + ' Exit For + ' End If + ' Next + ' End If + 'End If + + If RemisionesLista IsNot Nothing AndAlso factura.TipoDocto = "Ing" AndAlso RemisionesLista.Count > 0 Then + For Each CveRemision As Integer In RemisionesLista + 'El almacen general es el Primer Almacen de Material en la Sucursal + If Not TraspasoAlmacen(ObjInventario, ObjVentas, CveRemision, ObjConta, True, 9, factura.EsFacturaGlobal) Then + OcurrioError = True + Exit For + End If + Next End If If factura.TipoDocto = "Rem" AndAlso factura.ServicioDomicilio Then diff --git a/App_Code/Timbrado.vb b/App_Code/Timbrado.vb index 1374feb13..45da261d1 100644 --- a/App_Code/Timbrado.vb +++ b/App_Code/Timbrado.vb @@ -2534,137 +2534,69 @@ concep.DescripcionesEspecificas.NumeroSerie) #Region "C O M P L E M E N T O C A R T A P O R T E" - If UsuarioActual.CveEmpresa = 13 Then - If ObjCFDITimbre.Complementos.CartaPorte IsNot Nothing Then - Dim Carta As CFDICartaPorte = ObjCFDITimbre.Complementos.CartaPorte - ''DATOS GENERALES - cfdi.CartaPorte(Carta.TranspInternac, Carta.EntradaSalidaMercancia, "", Carta.ViaEntradaSalida, Carta.TotalDistanciaRecorrida) + If ObjCFDITimbre.Complementos.CartaPorte IsNot Nothing Then - 'UBICACIONES - If Carta.Ubicaciones IsNot Nothing AndAlso Carta.Ubicaciones.Count > 0 Then - For Each ubica As CFDICartaPorteUbicacion In Carta.Ubicaciones - 'origen - cfdi.CartaPorteUbicacion(ubica.TipoUbicacion, ubica.IDUbicacion, ubica.RFCRemitenteDestinatario, ubica.NombreRemitenteDestinatario, ubica.NumRegIdTrib, ubica.ResidenciaFiscal, ubica.NumEstacion, ubica.NombreEstacion, ubica.NavegacionTrafico, ubica.FechaHoraSalidaLlegada, ubica.TipoEstacion, ubica.DistanciaRecorrida) - 'cfdi.CartaPorteOrigen(ubica.Origen.IDOrigen, ubica.Origen.RFCRemitente, ubica.Origen.NombreRemitente, ubica.NumRegIdTrib, ubica.Origen.ResidenciaFiscal, ubica.Origen.NumEstacion, ubica.Origen.NombreEstacion, ubica.Origen.NavegacionTrafico, ubica.Origen.FechaHoraSalida) - cfdi.CartaPorteDomicilio(ubica.Domicilio.Calle, ubica.Domicilio.NumeroExterior, ubica.Domicilio.NumeroInterior, ubica.Domicilio.Colonia, ubica.Domicilio.Localidad, ubica.Domicilio.Referencia, ubica.Domicilio.Municipio, ubica.Domicilio.Estado, ubica.Domicilio.Pais, ubica.Domicilio.CP) - Next - End If + Dim Carta As CFDICartaPorte = ObjCFDITimbre.Complementos.CartaPorte - 'MERCANCIAS - If Carta.Mercancias IsNot Nothing Then - cfdi.CartaPorteMercancias(Carta.Mercancias.PesoBrutoTotal, Carta.Mercancias.UnidadPeso, Carta.Mercancias.PesoNetoTotal, Carta.Mercancias.NumTotalMercancias, Carta.Mercancias.CargoporTasacion) - If Carta.Mercancias IsNot Nothing AndAlso Carta.Mercancias.Mercancias.Count > 0 Then - For Each concep As CFDICartaPorteMercancia In Carta.Mercancias.Mercancias - If concep.ValorMercancia <= 0 Then concep.Moneda = "" - cfdi.CartaPorteMercancia(concep.BienesTransp, concep.ClaveSTCC, concep.Descripción, concep.Cantidad, concep.ClaveUnidad, concep.Unidad, concep.Dimensiones, concep.MaterialPeligroso, concep.ClaveMaterialPeligroso, If(concep.ClaveMaterialPeligroso <> "", concep.Embalaje, ""), If(concep.ClaveMaterialPeligroso <> "", concep.DescripEmbalaje, ""), concep.PesoenKg, concep.ValorMercancia, concep.Moneda, concep.FraccionArrancelaria, concep.UUIDComercioExt) - For Each transp As CFDICartaPorteMercanciaTransporta In concep.MercanciasCantidadTransporta - cfdi.CartaPorteCantidadTransporta(transp.Cantidad, transp.IDOrigen, transp.IDDestino, transp.CvesTransportes) - Next - Next - End If - End If - ' - If Carta.FiguraTransporte IsNot Nothing Then - - If Carta.FiguraTransporte.AutoTransporte IsNot Nothing Then - - cfdi.CartaPorteAutotransporte(Carta.FiguraTransporte.AutoTransporte.PermisoSCT, Carta.FiguraTransporte.AutoTransporte.NumPermisoSCT) - - cfdi.CartaPorteIdentificacionVehicular(Carta.FiguraTransporte.AutoTransporte.Vehiculo.ConfigVehicular, Carta.FiguraTransporte.AutoTransporte.Vehiculo.PlacaVM, Carta.FiguraTransporte.AutoTransporte.Vehiculo.AnioModeloVM) - - cfdi.CartaPorteSeguros(Carta.FiguraTransporte.AutoTransporte.NombreSeguroResponsabilidadCivil, Carta.FiguraTransporte.AutoTransporte.PolizaSeguroResponsabilidadCivil, - Carta.FiguraTransporte.AutoTransporte.NombreSeguroMedioAmbiente, Carta.FiguraTransporte.AutoTransporte.PolizaSeguroMedioAmbiente, - Carta.FiguraTransporte.AutoTransporte.NombreSeguroCarga, Carta.FiguraTransporte.AutoTransporte.PolizaSeguroCarga, - Carta.FiguraTransporte.AutoTransporte.PrimaSeguro) - - If Carta.FiguraTransporte.AutoTransporte.Remolques IsNot Nothing AndAlso Carta.FiguraTransporte.AutoTransporte.Remolques.Count > 0 Then - For Each concep As CFDICartaPorteRemolque In Carta.FiguraTransporte.AutoTransporte.Remolques - cfdi.CartaPorteRemolque(concep.SubTipoRemolque, concep.Placa) - Next - - End If - End If - - If Carta.FiguraTransporte.Operadores IsNot Nothing AndAlso Carta.FiguraTransporte.Operadores.Count > 0 Then - For Each concep As CFDICartaPorteOperador In Carta.FiguraTransporte.Operadores - cfdi.CartaPorteTiposFigura(concep.TipoFigura, concep.RFCFigura, concep.NumLicencia, concep.NombreFigura, concep.NumRegidTribFigura, If(concep.ResidenciaFiscalFigura <> "MEX", concep.ResidenciaFiscalFigura, "")) - If concep.TipoFigura.Contiene("02", "03") Then ' “02”- Propietario o “03” -Arrendador - cfdi.CartaPortePartesTransporte("PT01") - cfdi.CartaPortePartesTransporteDomicilio(concep.Domicilio.Calle, concep.Domicilio.NumeroExterior, concep.Domicilio.NumeroInterior, concep.Domicilio.Colonia, concep.Domicilio.Localidad, concep.Domicilio.Referencia, concep.Domicilio.Municipio, concep.Domicilio.Estado, concep.Domicilio.Pais, concep.Domicilio.CP) - End If - Next - End If - - End If + ''DATOS GENERALES + cfdi.CartaPorte30("", Carta.TranspInternac, Carta.RegimenAduanero, Carta.EntradaSalidaMercancia, "", Carta.ViaEntradaSalida, Carta.TotalDistanciaRecorrida, Carta.RegistroISTMO, Carta.UbicacionPoloOrigen, Carta.UbicacionPoloDestino) + 'UBICACIONES + If Carta.Ubicaciones IsNot Nothing AndAlso Carta.Ubicaciones.Count > 0 Then + For Each ubica As CFDICartaPorteUbicacion In Carta.Ubicaciones + 'origen + cfdi.CartaPorte30Ubicacion(ubica.TipoUbicacion, ubica.IDUbicacion, ubica.RFCRemitenteDestinatario, ubica.NombreRemitenteDestinatario, ubica.NumRegIdTrib, ubica.ResidenciaFiscal, ubica.NumEstacion, ubica.NombreEstacion, ubica.NavegacionTrafico, ubica.FechaHoraSalidaLlegada, ubica.TipoEstacion, ubica.DistanciaRecorrida) + 'cfdi.CartaPorteOrigen(ubica.Origen.IDOrigen, ubica.Origen.RFCRemitente, ubica.Origen.NombreRemitente, ubica.NumRegIdTrib, ubica.Origen.ResidenciaFiscal, ubica.Origen.NumEstacion, ubica.Origen.NombreEstacion, ubica.Origen.NavegacionTrafico, ubica.Origen.FechaHoraSalida) + cfdi.CartaPorte30Domicilio(ubica.Domicilio.Calle, ubica.Domicilio.NumeroExterior, ubica.Domicilio.NumeroInterior, ubica.Domicilio.Colonia, ubica.Domicilio.Localidad, ubica.Domicilio.Referencia, ubica.Domicilio.Municipio, ubica.Domicilio.Estado, ubica.Domicilio.Pais, ubica.Domicilio.CP) + Next End If - Else - - If ObjCFDITimbre.Complementos.CartaPorte IsNot Nothing Then - - Dim Carta As CFDICartaPorte = ObjCFDITimbre.Complementos.CartaPorte - - ''DATOS GENERALES - cfdi.CartaPorte30("", Carta.TranspInternac, Carta.RegimenAduanero, Carta.EntradaSalidaMercancia, "", Carta.ViaEntradaSalida, Carta.TotalDistanciaRecorrida, Carta.RegistroISTMO, Carta.UbicacionPoloOrigen, Carta.UbicacionPoloDestino) - - 'UBICACIONES - If Carta.Ubicaciones IsNot Nothing AndAlso Carta.Ubicaciones.Count > 0 Then - For Each ubica As CFDICartaPorteUbicacion In Carta.Ubicaciones - 'origen - cfdi.CartaPorte30Ubicacion(ubica.TipoUbicacion, ubica.IDUbicacion, ubica.RFCRemitenteDestinatario, ubica.NombreRemitenteDestinatario, ubica.NumRegIdTrib, ubica.ResidenciaFiscal, ubica.NumEstacion, ubica.NombreEstacion, ubica.NavegacionTrafico, ubica.FechaHoraSalidaLlegada, ubica.TipoEstacion, ubica.DistanciaRecorrida) - 'cfdi.CartaPorteOrigen(ubica.Origen.IDOrigen, ubica.Origen.RFCRemitente, ubica.Origen.NombreRemitente, ubica.NumRegIdTrib, ubica.Origen.ResidenciaFiscal, ubica.Origen.NumEstacion, ubica.Origen.NombreEstacion, ubica.Origen.NavegacionTrafico, ubica.Origen.FechaHoraSalida) - cfdi.CartaPorte30Domicilio(ubica.Domicilio.Calle, ubica.Domicilio.NumeroExterior, ubica.Domicilio.NumeroInterior, ubica.Domicilio.Colonia, ubica.Domicilio.Localidad, ubica.Domicilio.Referencia, ubica.Domicilio.Municipio, ubica.Domicilio.Estado, ubica.Domicilio.Pais, ubica.Domicilio.CP) + 'MERCANCIAS + If Carta.Mercancias IsNot Nothing Then + cfdi.CartaPorte30Mercancias(Carta.Mercancias.PesoBrutoTotal, Carta.Mercancias.UnidadPeso, Carta.Mercancias.PesoNetoTotal, Carta.Mercancias.NumTotalMercancias, Carta.Mercancias.CargoporTasacion, Carta.Mercancias.LogisticaInversaRecoleccionDevolucion) + If Carta.Mercancias IsNot Nothing AndAlso Carta.Mercancias.Mercancias.Count > 0 Then + For Each concep As CFDICartaPorteMercancia In Carta.Mercancias.Mercancias + If concep.ValorMercancia <= 0 Then concep.Moneda = "" + cfdi.CartaPorte30Mercancia(concep.BienesTransp, concep.ClaveSTCC, concep.Descripción, concep.Cantidad, concep.ClaveUnidad, concep.Unidad, concep.Dimensiones, concep.MaterialPeligroso, concep.ClaveMaterialPeligroso, If(concep.ClaveMaterialPeligroso <> "", concep.Embalaje, ""), If(concep.ClaveMaterialPeligroso <> "", concep.DescripEmbalaje, ""), + concep.SectorCOFEPRIS, concep.NombreIngredienteActivo, concep.NomQuimico, concep.DenominacionGenericaProd, concep.DenominacionDistintivaProd, concep.Fabricante, concep.FechaCaducidad, concep.LoteMedicamento, concep.FormaFarmaceutica, concep.CondicionesEspTransp, concep.RegistroSanitarioFolioAutorizacion, + If(Carta.TranspInternac <> "No", concep.PermisoImportacion, ""), If(Carta.TranspInternac <> "No", concep.FolioImpoVUCEM, ""), concep.NumCAS, If(Carta.TranspInternac <> "No", concep.RazonSocialEmpImp, ""), concep.NumRegSanPlagCOFEPRIS, concep.DatosFabricante, concep.DatosFormulador, concep.DatosMaquilador, concep.UsoAutorizado, + concep.PesoenKg, concep.ValorMercancia, concep.Moneda, concep.FraccionArrancelaria, concep.UUIDComercioExt) + For Each transp As CFDICartaPorteMercanciaTransporta In concep.MercanciasCantidadTransporta + cfdi.CartaPorte30CantidadTransporta(transp.Cantidad, transp.IDOrigen, transp.IDDestino, transp.CvesTransportes) + Next Next End If + End If + ' + If Carta.FiguraTransporte IsNot Nothing Then - 'MERCANCIAS - If Carta.Mercancias IsNot Nothing Then - cfdi.CartaPorte30Mercancias(Carta.Mercancias.PesoBrutoTotal, Carta.Mercancias.UnidadPeso, Carta.Mercancias.PesoNetoTotal, Carta.Mercancias.NumTotalMercancias, Carta.Mercancias.CargoporTasacion, Carta.Mercancias.LogisticaInversaRecoleccionDevolucion) - If Carta.Mercancias IsNot Nothing AndAlso Carta.Mercancias.Mercancias.Count > 0 Then - For Each concep As CFDICartaPorteMercancia In Carta.Mercancias.Mercancias - If concep.ValorMercancia <= 0 Then concep.Moneda = "" - cfdi.CartaPorte30Mercancia(concep.BienesTransp, concep.ClaveSTCC, concep.Descripción, concep.Cantidad, concep.ClaveUnidad, concep.Unidad, concep.Dimensiones, concep.MaterialPeligroso, concep.ClaveMaterialPeligroso, If(concep.ClaveMaterialPeligroso <> "", concep.Embalaje, ""), If(concep.ClaveMaterialPeligroso <> "", concep.DescripEmbalaje, ""), - concep.SectorCOFEPRIS, concep.NombreIngredienteActivo, concep.NomQuimico, concep.DenominacionGenericaProd, concep.DenominacionDistintivaProd, concep.Fabricante, concep.FechaCaducidad, concep.LoteMedicamento, concep.FormaFarmaceutica, concep.CondicionesEspTransp, concep.RegistroSanitarioFolioAutorizacion, - If(Carta.TranspInternac <> "No", concep.PermisoImportacion, ""), If(Carta.TranspInternac <> "No", concep.FolioImpoVUCEM, ""), concep.NumCAS, If(Carta.TranspInternac <> "No", concep.RazonSocialEmpImp, ""), concep.NumRegSanPlagCOFEPRIS, concep.DatosFabricante, concep.DatosFormulador, concep.DatosMaquilador, concep.UsoAutorizado, - concep.PesoenKg, concep.ValorMercancia, concep.Moneda, concep.FraccionArrancelaria, concep.UUIDComercioExt) - For Each transp As CFDICartaPorteMercanciaTransporta In concep.MercanciasCantidadTransporta - cfdi.CartaPorte30CantidadTransporta(transp.Cantidad, transp.IDOrigen, transp.IDDestino, transp.CvesTransportes) - Next + If Carta.FiguraTransporte.AutoTransporte IsNot Nothing Then + + cfdi.CartaPorte30Autotransporte(Carta.FiguraTransporte.AutoTransporte.PermisoSCT, Carta.FiguraTransporte.AutoTransporte.NumPermisoSCT) + + cfdi.CartaPorte30IdentificacionVehicular(Carta.FiguraTransporte.AutoTransporte.Vehiculo.ConfigVehicular, Carta.FiguraTransporte.AutoTransporte.Vehiculo.PesoBrutoVehicular, Carta.FiguraTransporte.AutoTransporte.Vehiculo.PlacaVM, Carta.FiguraTransporte.AutoTransporte.Vehiculo.AnioModeloVM) + + cfdi.CartaPorte30Seguros(Carta.FiguraTransporte.AutoTransporte.NombreSeguroResponsabilidadCivil, Carta.FiguraTransporte.AutoTransporte.PolizaSeguroResponsabilidadCivil, + Carta.FiguraTransporte.AutoTransporte.NombreSeguroMedioAmbiente, Carta.FiguraTransporte.AutoTransporte.PolizaSeguroMedioAmbiente, + Carta.FiguraTransporte.AutoTransporte.NombreSeguroCarga, Carta.FiguraTransporte.AutoTransporte.PolizaSeguroCarga, + Carta.FiguraTransporte.AutoTransporte.PrimaSeguro) + + If Carta.FiguraTransporte.AutoTransporte.Remolques IsNot Nothing AndAlso Carta.FiguraTransporte.AutoTransporte.Remolques.Count > 0 Then + For Each concep As CFDICartaPorteRemolque In Carta.FiguraTransporte.AutoTransporte.Remolques + cfdi.CartaPorte30Remolque(concep.SubTipoRemolque, concep.Placa) Next End If End If - ' - If Carta.FiguraTransporte IsNot Nothing Then - If Carta.FiguraTransporte.AutoTransporte IsNot Nothing Then - - cfdi.CartaPorte30Autotransporte(Carta.FiguraTransporte.AutoTransporte.PermisoSCT, Carta.FiguraTransporte.AutoTransporte.NumPermisoSCT) - - cfdi.CartaPorte30IdentificacionVehicular(Carta.FiguraTransporte.AutoTransporte.Vehiculo.ConfigVehicular, Carta.FiguraTransporte.AutoTransporte.Vehiculo.PesoBrutoVehicular, Carta.FiguraTransporte.AutoTransporte.Vehiculo.PlacaVM, Carta.FiguraTransporte.AutoTransporte.Vehiculo.AnioModeloVM) - - cfdi.CartaPorte30Seguros(Carta.FiguraTransporte.AutoTransporte.NombreSeguroResponsabilidadCivil, Carta.FiguraTransporte.AutoTransporte.PolizaSeguroResponsabilidadCivil, - Carta.FiguraTransporte.AutoTransporte.NombreSeguroMedioAmbiente, Carta.FiguraTransporte.AutoTransporte.PolizaSeguroMedioAmbiente, - Carta.FiguraTransporte.AutoTransporte.NombreSeguroCarga, Carta.FiguraTransporte.AutoTransporte.PolizaSeguroCarga, - Carta.FiguraTransporte.AutoTransporte.PrimaSeguro) - - If Carta.FiguraTransporte.AutoTransporte.Remolques IsNot Nothing AndAlso Carta.FiguraTransporte.AutoTransporte.Remolques.Count > 0 Then - For Each concep As CFDICartaPorteRemolque In Carta.FiguraTransporte.AutoTransporte.Remolques - cfdi.CartaPorte30Remolque(concep.SubTipoRemolque, concep.Placa) - Next + If Carta.FiguraTransporte.Operadores IsNot Nothing AndAlso Carta.FiguraTransporte.Operadores.Count > 0 Then + For Each concep As CFDICartaPorteOperador In Carta.FiguraTransporte.Operadores + cfdi.CartaPorte30TiposFigura(concep.TipoFigura, concep.RFCFigura, concep.NumLicencia, concep.NombreFigura, concep.NumRegidTribFigura, If(concep.ResidenciaFiscalFigura <> "MEX", concep.ResidenciaFiscalFigura, "")) + If concep.TipoFigura.Contiene("02", "03") Then ' “02”- Propietario o “03” -Arrendador + cfdi.CartaPorte30PartesTransporte("PT01") + cfdi.CartaPorte30PartesTransporteDomicilio(concep.Domicilio.Calle, concep.Domicilio.NumeroExterior, concep.Domicilio.NumeroInterior, concep.Domicilio.Colonia, concep.Domicilio.Localidad, concep.Domicilio.Referencia, concep.Domicilio.Municipio, concep.Domicilio.Estado, concep.Domicilio.Pais, concep.Domicilio.CP) End If - End If - - If Carta.FiguraTransporte.Operadores IsNot Nothing AndAlso Carta.FiguraTransporte.Operadores.Count > 0 Then - For Each concep As CFDICartaPorteOperador In Carta.FiguraTransporte.Operadores - cfdi.CartaPorte30TiposFigura(concep.TipoFigura, concep.RFCFigura, concep.NumLicencia, concep.NombreFigura, concep.NumRegidTribFigura, If(concep.ResidenciaFiscalFigura <> "MEX", concep.ResidenciaFiscalFigura, "")) - If concep.TipoFigura.Contiene("02", "03") Then ' “02”- Propietario o “03” -Arrendador - cfdi.CartaPorte30PartesTransporte("PT01") - cfdi.CartaPorte30PartesTransporteDomicilio(concep.Domicilio.Calle, concep.Domicilio.NumeroExterior, concep.Domicilio.NumeroInterior, concep.Domicilio.Colonia, concep.Domicilio.Localidad, concep.Domicilio.Referencia, concep.Domicilio.Municipio, concep.Domicilio.Estado, concep.Domicilio.Pais, concep.Domicilio.CP) - End If - Next - End If + Next End If End If End If diff --git a/Bancos/PopIECompras.aspx b/Bancos/PopIECompras.aspx index 9b31ac375..94086dd01 100644 --- a/Bancos/PopIECompras.aspx +++ b/Bancos/PopIECompras.aspx @@ -524,7 +524,7 @@
- +
diff --git a/Bancos/PopIECompras.aspx.vb b/Bancos/PopIECompras.aspx.vb index 43e4d2d87..0ecfd9ef6 100644 --- a/Bancos/PopIECompras.aspx.vb +++ b/Bancos/PopIECompras.aspx.vb @@ -1679,13 +1679,6 @@ Partial Class Bancos_PopIECompras UpGuardar.Update() End Sub - Private Sub RVTxtFechaDocumento_Init(sender As Object, e As EventArgs) Handles RVTxtFechaDocumento.Init - RVTxtFechaDocumento.MaximumValue = NowADS().ToShortDateString - Calendario.EndDate = NowADS() - - End Sub - - Protected Sub CVTxtImporte_ServerValidate(source As Object, args As ServerValidateEventArgs) @@ -1721,15 +1714,22 @@ Partial Class Bancos_PopIECompras End Sub + Private Sub RVTxtFechaDocumento_Init(sender As Object, e As EventArgs) Handles RVTxtFechaDocumento.Init + RVTxtFechaDocumento.MaximumValue = NowADS().AddDays(2).ToShortDateString + Calendario.EndDate = NowADS().AddDays(2) + + End Sub Private Sub ValidaFechaDocumentoDiasPosteriores() RVTxtFechaDocumento.MaximumValue = NowADS().AddDays(2).ToShortDateString Calendario.EndDate = NowADS().AddDays(2) + RVTxtFechaDocumento.ErrorMessage = "ERROR:
La fecha del documento no puede ser superior a 6 meses de la fecha actual" If DdlTipoTransaccion.SelectedValue.ToEntero.Contiene(1, 16) Then RVTxtFechaDocumento.MaximumValue = NowADS().AddDays(30).ToShortDateString + RVTxtFechaDocumento.ErrorMessage = "ERROR:
La fecha del documento no puede ser superior a 6 meses de la fecha actual" Calendario.EndDate = NowADS().AddDays(30) End If diff --git a/Bancos/ProveedoresAbonar.aspx b/Bancos/ProveedoresAbonar.aspx index cdadcb7d9..1b1028021 100644 --- a/Bancos/ProveedoresAbonar.aspx +++ b/Bancos/ProveedoresAbonar.aspx @@ -338,7 +338,13 @@ + + + + + + diff --git a/Bancos/ProveedoresAbonar.aspx.vb b/Bancos/ProveedoresAbonar.aspx.vb index 8e8952fee..f4c14812e 100644 --- a/Bancos/ProveedoresAbonar.aspx.vb +++ b/Bancos/ProveedoresAbonar.aspx.vb @@ -317,6 +317,9 @@ Partial Class Bancos_ProveedoresAbonar chkaplicaDescuento.Visible = True End If + + tmpValida() + End If End Sub @@ -1607,10 +1610,10 @@ Partial Class Bancos_ProveedoresAbonar #End Region Private Sub RVTxtFechaDocumento_Init(sender As Object, e As EventArgs) Handles RVTxtFechaDocumento.Init - RVTxtFechaDocumento.MaximumValue = NowADS().ToShortDateString + RVTxtFechaDocumento.MaximumValue = NowADS().AddDays(2).ToShortDateString RVTxtFechaDocumentoMenor.MinimumValue = NowADS().AddMonths(-38).ToShortDateString - RVTxtFechaDocumentoMenor.MaximumValue = NowADS().ToShortDateString - Calendario.EndDate = NowADS() + RVTxtFechaDocumentoMenor.MaximumValue = NowADS().AddDays(2).ToShortDateString + Calendario.EndDate = NowADS().AddDays(2) End Sub @@ -1620,17 +1623,17 @@ Partial Class Bancos_ProveedoresAbonar RVTxtFechaDocumento.MaximumValue = NowADS().AddDays(2).ToShortDateString RVTxtFechaDocumentoMenor.MaximumValue = NowADS().AddDays(2).ToShortDateString - RVTxtFechaDocumento.ErrorMessage = "ERROR:
La fecha del documento no puede ser superior 2 días de la fecha actual" + RVTxtFechaDocumento.ErrorMessage = "ERROR:
La fecha del documento no puede ser superior a 6 meses de la fecha actual" Calendario.EndDate = NowADS().AddDays(2) If DdlTipoTransaccion.SelectedValue.ToEntero.Contiene(1, 16) Then - RVTxtFechaDocumento.MaximumValue = NowADS().AddDays(30).ToShortDateString - RVTxtFechaDocumentoMenor.MaximumValue = NowADS().AddDays(30).ToShortDateString - RVTxtFechaDocumento.ErrorMessage = "ERROR:
La fecha del documento no puede ser superior 30 días de la fecha actual" + RVTxtFechaDocumento.MaximumValue = NowADS().AddDays(182).ToShortDateString + RVTxtFechaDocumentoMenor.MaximumValue = NowADS().AddDays(182).ToShortDateString + RVTxtFechaDocumento.ErrorMessage = "ERROR:
La fecha del documento no puede ser superior a 6 meses de la fecha actual" - Calendario.EndDate = NowADS().AddDays(30) + Calendario.EndDate = NowADS().AddDays(182) End If UpDatos.Update() @@ -1645,5 +1648,75 @@ Partial Class Bancos_ProveedoresAbonar UPCompras.Update() End Sub + + + + Private Sub tmpValida() + + Dim ValidaSAT As Boolean = True + Dim ImporteSeleccionado As Decimal = 0 + 'If UsuarioActual.Empresa.Funcionalidad(529) = "1" OrElse ChkNoValidaSAT.Checked Then ValidaSAT = False + + If ValidaSAT Then + Dim Validada As Boolean = False + Dim MsgValidadas As New StringBuilder + Dim Valida As New ClsValidaCFDi() + 'verifico ante el SAT las compras que voy a pagar + For Each gvr As GridViewRow In GvCxP.Rows + If gvr.FCCheckBox("Chk").Checked Then + + ImporteSeleccionado += gvr.FCTextBox("TxtAbonar").Text.ToDecimal + If gvr.DataKey("UUID") <> "" Then + + Valida.Verificar(gvr.DataKey("UUID"), gvr.DataKey("RFC"), UsuarioActual.Empresa.RFC, gvr.DataKey("TotalOriginal").ToDecimal) + + If Not UsuarioActual.Empresa.FacturaProduccion OrElse UsuarioActual.CveEmpresa < 2 Then + Valida.EsValida = 1 + End If + + If Valida.EsValida <> 1 Then + + Validada = False + If Valida.EsValida = 2 Then 'Cancelada + 'estatus inventario, no surtida + If gvr.DataKey("EstatusInventario") = "1" Then + MsgValidadas.AppendFormat("Factura Cancelada: {0} - {1} , relacione su factura nueva para descontar saldo
", gvr.DataKey("SerieFolio"), gvr.DataKey("Descripcion")) + Else + MsgValidadas.AppendFormat("Factura Cancelada: {0} - {1} con movimientos de almacen, relacione su factura nueva para descontar saldo
", gvr.DataKey("SerieFolio"), gvr.DataKey("Descripcion")) + End If + Else + MsgValidadas.AppendFormat("Factura No se pudo Validar: {0} - {1}
", gvr.DataKey("SerieFolio"), gvr.DataKey("Descripcion")) + End If + End If + End If + End If + Next + + Valida.Dispose() + + 'verificacion doble, si no la han cancelado, ya tiene una validaci[on para que llegue aqui + + If MsgValidadas.Length > 0 Then + Alert(String.Format("
Las Facturas presentan la siguiente situación ante el SAT.
{0}", MsgValidadas.ToString), TipoMensaje.MsgAdvertencia) + Exit Sub + End If + Else + For Each gvr As GridViewRow In GvCxP.Rows + If gvr.FCCheckBox("Chk").Checked Then + ImporteSeleccionado += gvr.FCTextBox("TxtAbonar").Text.ToDecimal + End If + Next + End If + + If ImporteSeleccionado <= 0 Then + Alert("Seleccione facturas", TipoMensaje.MsgAdvertencia) + Exit Sub + End If + End Sub + + + Protected Sub Button1_Click(sender As Object, e As EventArgs) + tmpValida() + End Sub End Class diff --git a/Bancos/RepCortes.aspx b/Bancos/RepCortes.aspx index c173f0204..445b67a16 100644 --- a/Bancos/RepCortes.aspx +++ b/Bancos/RepCortes.aspx @@ -385,7 +385,7 @@

- Depositos Caja + Depósitos Caja
@@ -406,7 +406,7 @@

- Anexo + Contabilidad
diff --git a/Bancos/RepCortes.aspx.vb b/Bancos/RepCortes.aspx.vb index 399bfd788..324acba28 100644 --- a/Bancos/RepCortes.aspx.vb +++ b/Bancos/RepCortes.aspx.vb @@ -180,7 +180,7 @@ Partial Class Bancos_RepCortes End If End If - If Vn.GetCortesDetalleDepositosCaja(CveCorte, DdlSubProyectos.SelectedValue.ToEntero, UsuarioActual.CveEmpresa) Then + If UsuarioActual.CveEmpresa.contiene(140, 141) AndAlso Vn.GetCortesDetalleDepositosCaja(CveCorte, DdlSubProyectos.SelectedValue.ToEntero, UsuarioActual.CveEmpresa) Then GvDep.DataSource = Vn.DtResultados If Vn.DtResultados.Rows.Count > 0 Then DivDep.Visible = True @@ -210,7 +210,7 @@ Partial Class Bancos_RepCortes GvDep.DataBind() GvPorIVA.DataBind() - If UsuarioActual.CveEmpresa = 193 AndAlso UsuarioActual.CveRol = 1 Then + If UsuarioActual.CveEmpresa = 193 Then DivAnexo.Visible = True Dim CveCuenta As Integer = 186367 @@ -227,6 +227,13 @@ Partial Class Bancos_RepCortes UpAcciones.Update() End Sub + Private Sub GvDep_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvDep.RowDataBound + If e.Row.RowType = DataControlRowType.DataRow Then + e.Row.FCHyperLink("HplImpPol").NavigateUrl = $"/Compras/PopUpVerFactura.aspx?P={Encripta($"OP=PREPO&CvePrePoliza={ e.Row.DBCampo("CvePrePoliza")}")}" + End If + + End Sub + #End Region diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index aeb94a329..7765642fb 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -1511,6 +1511,11 @@ Partial Class Compras_Compras ElseIf Request("CveCompra") IsNot Nothing AndAlso IsNumeric(Request("CveCompra")) AndAlso Request("CveCompra").ToEntero > 0 Then + If UsuarioActual.Empresa.Funcionalidad(574).ToEntero = 1 Then + DdlTipoComprobante.Items.Clear() + DdlTipoComprobante.Items.Add(New ListItem("Remisión de Nota de Crédito", "RNC")) + End If + ViewState("CveCompra") = Request("CveCompra") CargaCompra() BtnGuardar.Enabled = False @@ -3235,6 +3240,13 @@ Partial Class Compras_Compras BtnRegenerarPrePolizaAlmacen_Click(Nothing, Nothing) End If + If DdlTipoComprobante.SelectedValue = "RNC" And CompraSaldo <> TxtTotal.Text.ToDecimal Then + BtnCancelarCompra.Visible = False + BtnEliminarCompra.Visible = False + End If + + + Else Alert("La compra solicitada no se encontró. Por favor rectifique y vuelva a intentar.", TipoMensaje.MsgAdvertencia) End If @@ -4386,7 +4398,7 @@ Partial Class Compras_Compras If UsuarioActual.TienePermisoProceso(121) Then If DdlTipoComprobante.SelectedValue.Contiene("NC", "DEV") Then - If Not NCDevolucion Then + If Not NCDevolucion And Not ChkNCInvNC.Checked Then Alert("Favor de seleccionar un producto en la pestaña de almacen", TipoMensaje.MsgAdvertencia) Exit Sub End If @@ -7012,7 +7024,7 @@ Partial Class Compras_Compras Pago.Referencia = CompraActual.SerieFolio Pago.TCPago = CompraActual.TC Pago.AplicaAcreditable = False - Pago.TipoPago = "NC" + Pago.TipoPago = "RNC" Pago.Fecha = CompraActual.Fecha 'toma la misma fecha de la provisión en el pago de NC Dim CompraPago As New Compra @@ -7029,19 +7041,19 @@ Partial Class Compras_Compras ErrorPrepoliza = AplicaPrePolizaPagoCompra(CompraPago, Pago, CvePrePoliza, ObjConta) - If Not ErrorPrepoliza Then - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteRNCSaldar, ImporteRNCSaldar, 371, Referencia, Concepto, CveCompra:=DdlRemisionNotaCredito.SelectedValue.ToEntero, CveProveedor:=Me.CveProveedor, ImporteME:=If(TipoCambio = 1, 0, ImporteRNCSaldar), TipoCambio:=TipoCambio, - CveClasificacion:=-1, CveSubProyecto:=CompraActual.CveSubProyecto, Contabilizable:=True) Then - ErrorPrepoliza = True - End If + 'If Not ErrorPrepoliza Then + ' If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteRNCSaldar, ImporteRNCSaldar, 371, Referencia, Concepto, CveCompra:=DdlRemisionNotaCredito.SelectedValue.ToEntero, CveProveedor:=Me.CveProveedor, ImporteME:=If(TipoCambio = 1, 0, ImporteRNCSaldar), TipoCambio:=TipoCambio, + ' CveClasificacion:=-1, CveSubProyecto:=CompraActual.CveSubProyecto, Contabilizable:=True) Then + ' ErrorPrepoliza = True + ' End If - If Not ErrorPrepoliza Then - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteRNCSaldar, ImporteRNCSaldar, 372, Referencia, Concepto, CveCompra:=DdlRemisionNotaCredito.SelectedValue.ToEntero, CveProveedor:=Me.CveProveedor, ImporteME:=If(TipoCambio = 1, 0, ImporteRNCSaldar), TipoCambio:=TipoCambio, - CveClasificacion:=-1, CveSubProyecto:=CompraActual.CveSubProyecto, Contabilizable:=True) Then - ErrorPrepoliza = True - End If - End If - End If + ' If Not ErrorPrepoliza Then + ' If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteRNCSaldar, ImporteRNCSaldar, 372, Referencia, Concepto, CveCompra:=DdlRemisionNotaCredito.SelectedValue.ToEntero, CveProveedor:=Me.CveProveedor, ImporteME:=If(TipoCambio = 1, 0, ImporteRNCSaldar), TipoCambio:=TipoCambio, + ' CveClasificacion:=-1, CveSubProyecto:=CompraActual.CveSubProyecto, Contabilizable:=True) Then + ' ErrorPrepoliza = True + ' End If + ' End If + 'End If End If @@ -17468,6 +17480,7 @@ Partial Class Compras_Compras Descuento = TxtDescuentoModal.Text.ToDouble Total = (Cantidad * PU) - Descuento DrPS("Cantidad") = Cantidad + DrPS("CantidadF") = Cantidad DrPS("PU") = PU DrPS("Descuento") = Descuento DrPS("OtrosGastos") = 0 @@ -18423,7 +18436,7 @@ Partial Class Compras_Compras For Each Gvr As GridViewRow In GVNCInvAlmacen.Rows If Gvr.FCTextBox("TxtCantidadNCInv").Text.ToDouble > 0 Then If i < TmpDT.Rows.Count Then - TmpDT.Rows(i)("CveOrdenCompraDetalle") = Gvr.DataKey("CveOrdenCompraDetalle") + TmpDT.Rows(i)("CveOrdenCompraDetalle") = Gvr.DataKey("CveOrdenCompraDetalle").ToString.ToEntero End If 'If Not ObjCompras.ComprasDetalleDevolucionesAdd(Gvr.DataKey("CveCompraDetalle").ToEntero, Gvr.DataKey("CveCompra").ToEntero, Gvr.FCTextBox("TxtCantidadNCInv").Text.ToDouble, UsuarioActual.CveEmpresa) Then ' TieneError = True diff --git a/Compras/PopUpVerFactura.aspx.vb b/Compras/PopUpVerFactura.aspx.vb index 5810f81d3..ad012761a 100644 --- a/Compras/PopUpVerFactura.aspx.vb +++ b/Compras/PopUpVerFactura.aspx.vb @@ -1653,23 +1653,28 @@ Partial Class PopUpVerFactura TipoTabla = 2 Case "VentasCorte" rowData("Columna") = "Total Ventas" - Orden = 2 + Orden = 1 TipoTabla = 1 Case "NotasCredito" rowData("Columna") = "N.C." - Orden = 3 + Orden = 2 TipoTabla = 1 Case "VentasCredito" rowData("Columna") = "Ventas Crédito" + Orden = 3 + TipoTabla = 1 + Case "VentasContado" + rowData("Columna") = "Ventas Contado" Orden = 4 TipoTabla = 1 + Case "VentaTotalIngreso" rowData("Columna") = "Ventas Ingreso" - Orden = 4 + Orden = 5 TipoTabla = 1 Case "VentaTotalRemision" rowData("Columna") = "Ventas Remisiones" - Orden = 4 + Orden = 6 TipoTabla = 1 'Case "TotalEfectivo" ' rowData("Columna") = "Total Efectivo" @@ -1726,13 +1731,13 @@ Partial Class PopUpVerFactura End If Next - Dim TotalCredito As Decimal = DtCortesVentasResumen.SUMD("Importe", "MetodoPago = 'Crédito'") + 'Dim TotalCredito As Decimal = DtCortesVentasResumen.SUMD("Importe", "MetodoPago = 'Crédito'") - Dim rowCredito = DtDatosVentas.NewRow() - rowCredito("Columna") = "Crédito" - rowCredito("Importe") = TotalCredito - rowCredito("Orden") = 4 - DtDatosVentas.Rows.Add(rowCredito) + 'Dim rowCredito = DtDatosVentas.NewRow() + 'rowCredito("Columna") = "Crédito" + 'rowCredito("Importe") = TotalCredito + 'rowCredito("Orden") = 4 + 'DtDatosVentas.Rows.Add(rowCredito) Dim rds3 As New ReportDataSource With {.Name = "DataSet3", .Value = DtDatosVentas.FiltraParametros("Orden > 0", "Orden")} lrds.Add(rds3) @@ -3699,6 +3704,8 @@ Partial Class PopUpVerFactura Dim Archivo As New System.IO.FileInfo(String.Format(RutaFormato, UsuarioActual.Empresa.Ruta)) + Dim NombreArchivo As String = If(Consola <> "-1" And Consola.Trim.Length > 0, $"Aviso de Traslado - {Folio} Consola", $"Aviso de Traslado - {Folio}") + If Archivo.Exists Then params.Add(New ReportParameter("LogoPath", RutaImagenLogo)) If UsuarioActual.CveEmpresa = 140 Then @@ -3741,9 +3748,10 @@ Partial Class PopUpVerFactura params.Add(New ReportParameter("ResponsableRecibio", ResponsableRecibio)) DtMovimientos = DtMovimientos.FiltraParametros("", "PS") + End If - ImprimirPDF(String.Format(RutaFormato, UsuarioActual.Empresa.Ruta), DtMovimientos, params, String.Format("Aviso de Traslado - {0}", Folio), RDSName:="DsInventarios") + ImprimirPDF(String.Format(RutaFormato, UsuarioActual.Empresa.Ruta), DtMovimientos, params, NombreArchivo, RDSName:="DsInventarios") Else params.Add(New ReportParameter("LogoPath", RutaImagenLogo)) @@ -3755,7 +3763,7 @@ Partial Class PopUpVerFactura If UsuarioActual.CveEmpresa.Contiene(172, 173) Then ImprimirPDFStimul(String.Format("Empresas/Grales/Formatos/Traslado.mrt", UsuarioActual.Empresa.Ruta), DtMovimientos, params, String.Format("Aviso de Traslado - {0}", Folio), RDSName:="DsInventarios") Else - ImprimirPDF(String.Format("Empresas/Grales/Formatos/Traslado.rdlc", UsuarioActual.Empresa.Ruta), DtMovimientos, params, String.Format("Aviso de Traslado - {0}", Folio), RDSName:="DsInventarios") + ImprimirPDF(String.Format("Empresas/Grales/Formatos/Traslado.rdlc", UsuarioActual.Empresa.Ruta), DtMovimientos, params, NombreArchivo, RDSName:="DsInventarios") End If End If @@ -6309,6 +6317,11 @@ Partial Class PopUpVerFactura params.Add(New ReportParameter("Numero", FolioPoliza)) params.Add(New ReportParameter("Moneda", If(CveMonedaImp = 2, "Dolar", "Peso Mexicano"))) params.Add(New ReportParameter("CodigoPostal", "")) + + If RutaReporte.Contains("Grales\Formatos\") Then + params.Add(New ReportParameter("LogoPath", RutaImagenLogo)) + End If + If UsuarioActual.CveEmpresa.Contiene(141) Then params.Add(New ReportParameter("Fecha", Fecha.ToString("dd/MM/yyyy hh:mm:ss"))) Else diff --git a/Empresas/13/Formatos/CartaPorteTimbrado.rdlc b/Empresas/13/Formatos/CartaPorteTimbrado.rdlc index c0af07228..cf3392514 100644 --- a/Empresas/13/Formatos/CartaPorteTimbrado.rdlc +++ b/Empresas/13/Formatos/CartaPorteTimbrado.rdlc @@ -4119,7 +4119,7 @@ - Carta Porte 2.0 + Carta Porte 3.0 - 1.83665in + 1.71028in - 1.83665in + 1.71028in - - - - Calendario de Viajes - - - -
  • - Generar PDF -
  • -
  • - Generar Excel -
  • -
    - - - - - <%--Calendario Tab--%> - - -
    -
    -
    - - -
    -
    -
    - -
    - - - - - -
    -
    -
    -
    - - -
    - -
    -
    -
    -
    -
    -

     

    -
    -
    -
    -
    -
    -
    -
    -
    -
    - -
    -
    - <%--Contratos Tab--%> - - - <%-- Filtros --%> - - -
    - <%-- Filtro Visible - Consulta --%> -
    -
    - - -
    - -
    -
    - <%-- Fecha Inicial --%> - -
    -
    - - - - -
    - - - -
    - <%-- Fecha Final --%> - -
    -
    - - - - -
    - - - -
    - <%-- Cliente --%> - -
    - -
    - <%-- Estatus --%> - -
    - - -
    -
    -
    -
    - <%-- Filtro Oculto --%> - -
    -
    -
    - <%-- Contratos --%> - - - - - - - - - - - - - Fecha
    - Salida -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Fecha
    - Regreso -
    - - - -
    - - - - - - - - - - - - - -
    -
    -
    -
    -
    -
    -
    -
    - <%-- Modal --%> - - -
    - - - - - - - -
    -
    - - +<%@ Page Title="Transportes V&A - Calendario" Language="VB" MasterPageFile="~/Site.master" + AutoEventWireup="false" CodeFile="RepContratosCalendario.aspx.vb" Inherits="RepContratosCalendario" %> + +<%@ Register Assembly="TimePicker" Namespace="MKB.TimePicker" TagPrefix="cc1" %> + + + + + + + Calendario de Viajes + + + +
  • + Generar PDF +
  • +
  • + Generar Excel +
  • +
    + + + +
    +
    + <%-- Filtros --%> + + +
    + <%-- Filtro Visible - Consulta --%> +
    +
    + + +
    +
    +
    + <%-- Fecha Inicial --%> + +
    +
    + + + + +
    + + +
    + <%-- Fecha Final --%> + +
    +
    + + + + +
    + + +
    + <%-- Cliente --%> + +
    + +
    + <%-- Estatus --%> + +
    + + +
    +
    +
    +
    + <%-- Filtro Oculto --%> + +
    +
    +
    +
    +
    +
    +
    + + <%--Calendario Tab--%> + + + +
    +
    +
    +
    +
    +
    +
    + +
    + + + + +
    +
    +
    + +
    +
    +
    +
    +
    +
    +

     

    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + <%--Contratos Tab--%> + + + <%-- Contratos --%> + + + + + + + + + + + + + Fecha
    + Salida + +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Fecha
    + Regreso + +
    + + + +
    + + + + + + + + + + + + + +
    +
    +
    +
    +
    +
    + <%--Calendario Tab--%> + + +
    +
    +
    +
    +
    +

     

    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + <%-- Modal --%> + + +
    + + + + + + + +
    +
    + + + + + - - - + + + +
    diff --git a/Transportes/RepContratosCalendario.aspx.vb b/Transportes/RepContratosCalendario.aspx.vb index 589ba314d..3e9bce566 100644 --- a/Transportes/RepContratosCalendario.aspx.vb +++ b/Transportes/RepContratosCalendario.aspx.vb @@ -5,9 +5,11 @@ Imports ADSNetLibrary.SIGAPI.Helpers Imports Extensiones.ModExtensiones Imports GemBox.Spreadsheet Imports Microsoft.Reporting.WebForms +Imports Newtonsoft.Json.Linq + Partial Class RepContratosCalendario - Inherits ClsPaginas - + Inherits ClsPaginas + #Region "PROPIEDADES" Public Property DtAvance() As DataTable Get @@ -25,21 +27,18 @@ Partial Class RepContratosCalendario Set(value As String) ViewState("Contrato") = value End Set - End Property + End Property #End Region - + Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load - - If Not IsPostBack Then txtFechaI.Text = DateTime.Now.AddMonths(-1).ToShortDateString txtFechaF.Text = DateTime.Now.AddDays(7).ToShortDateString InicializaCombos() InicializaCalendar() CargaDatos() - End If + End If InicializaCalendar() - End Sub Private Sub CargaDatos() Dim ObjContratos As New ClsContratos @@ -49,16 +48,56 @@ Partial Class RepContratosCalendario If CveCliente = 0 Then CveCliente = -1 If ObjContratos.GetContratosReporte(UsuarioActual.CveEmpresa, txtFechaI.Text.ToDate, txtFechaF.Text.ToDate, DdlCliente.SelectedValue.ToEntero, CveSubProyecto:=DdlSubProyectos.SelectedValue.ToEntero, CveEstatus:=DdlEstatusConsulta.SelectedValue.ToEntero, CveTipoContrato:=34) Then - GvContratos.DataSource = ObjContratos.DtResultados + DtAvance = ObjContratos.DtResultados.Copy() End If - DtAvance = ObjContratos.DtResultados + GvContratos.DataSource = DtAvance ObjContratos.Dispose() GvContratos.DataBind() - UpTitulos.Update() + UpTitulos.Update() + + CargaCronograma() + End Sub + + Private Sub CargaCronograma() + If DtAvance IsNot Nothing Then + + For Each Row As DataRow In DtAvance.Rows + If String.IsNullOrEmpty(Row("NombreAF").ToString()) Then + Row("NombreAF") = "Unidad no asignada" + End If + Next + + Dim jsonData As New JArray() + Dim jsonCategorias As New JArray() + + Dim random = New Random() + + 'DATOS + For Each Row As DataRow In DtAvance.FiltraParametros("NombreAF <> ''").Rows + Dim obj As New JObject( + New JProperty("category", Row("NombreAF")), + New JProperty("fromDate", Row("FechaInicial").ToString().ToDateTime().ToString("dd/MM/yyyy HH:mm").ToDateTime()), + New JProperty("toDate", Row("FechaFinal").ToString().ToDateTime().ToString("dd/MM/yyyy HH:mm").ToDateTime()), + New JProperty("columnSettings", New JObject( + New JProperty("fill", String.Format("#{0:X6}", random.Next(16777216))) + )) + ) + jsonData.Add(obj) + Next + + 'CATEGORIAS + For Each Row As DataRow In DtAvance.FiltraParametros("NombreAF <> ''", "", {"NombreAF"}).Rows + Dim obj As New JObject( + New JProperty("category", Row("NombreAF")) + ) + jsonCategorias.Add(obj) + Next + + RegistraScript($"cargaDiagramaGrant({jsonData.ToString()},{jsonCategorias.ToString()});", "A1") + End If End Sub Private Sub InicializaCalendar() - RegistraScript("InitCalendar();") DirectCast(Master.FindControl("TSM"), ScriptManager).EnablePageMethods = True End Sub @@ -158,10 +197,6 @@ Partial Class RepContratosCalendario UpModal.Update() RegistraScript("$('#ModalActualizar').modal('show');") End Sub - - Protected Sub Consultar(sender As Object, e As EventArgs) - - End Sub Protected Sub LnkExcel_Click(sender As Object, e As EventArgs) Handles LnkExcel.Click GvContratos.ExportToExcel("ReporteCompras" & NowADS().ToShortDateString) End Sub @@ -190,5 +225,9 @@ Partial Class RepContratosCalendario Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs) CargaDatos() - End Sub + End Sub + Protected Sub RBTipoVista_SelectedIndexChanged(sender As Object, e As EventArgs) + InicializaCalendar() + CargaCronograma() + End Sub End Class diff --git a/Ventas/FacturacionGlobal.aspx.vb b/Ventas/FacturacionGlobal.aspx.vb index fc174e83d..475f83d5b 100644 --- a/Ventas/FacturacionGlobal.aspx.vb +++ b/Ventas/FacturacionGlobal.aspx.vb @@ -218,6 +218,7 @@ Partial Class Ventas_FacturacionGlobal ObjFactura.DtRemisiones = DtRemisiones.FiltraParametros($"CveVenta IN ({SbRemisiones.ToString()})") ObjFactura.DtPagosFacturaGlobal = DtPagosFacturaGlobal + Dim RowNum As Integer = 0 For Each Dr As DataRow In ObjFactura.DtRemisionesPS.Rows ObjFactura.AgregarPS(Dr("CvePS").ToString().ToEntero(), Dr("Cantidad").ToString().ToDecimal(), Dr("PU").ToString().ToDecimal(), Dr("Descuento").ToString().ToDecimal, Dr("Obs").ToString(), CveUM:=Dr("CveUM").ToString().ToEntero(), CveProyecto:=Dr("CveProyecto").ToString().ToEntero(), CveSubProyecto:=Dr("CveSubProyecto").ToString().ToEntero(), CveVentaDetallePadre:=Dr("CveVentaDetalle").ToString().ToEntero(), CveVentaDetalleRemision:=Dr("CveVentaDetalle").ToString().ToEntero()) @@ -225,20 +226,13 @@ Partial Class Ventas_FacturacionGlobal ObjFactura.CalculaTotales() - 'DEBE ESTAR DENTRO DE LA CLASE, COMENTAR UNA VEZ SE HAYA HECHO EL CAMBIO - 'If ObjFactura.Descuento > 0 Then - ' ObjFactura.Total = ObjFactura.Total - ObjFactura.Descuento - 'End If - ObjFactura.PreparaTimbre() - If Math.Abs(ObjFactura.Total.RoundSQL(2) - DtPagosFacturaGlobal.SUMD("Importe").RoundSQL(2)) > 0.1 Then + If Math.Abs(ObjFactura.Total.RoundSQL(2) - DtPagosFacturaGlobal.SUMD("Importe").RoundSQL(2)) > 0.01D Then Alert($"Los pagos no coinciden con el total de la factura [{ObjFactura.Total.RoundSQL(2)}-{ DtPagosFacturaGlobal.SUMD("Importe").RoundSQL(2)}]", TipoMensaje.MsgError) Exit Sub End If - 'ObjFactura.DtInventario = ObjFactura.DtDetalle.FiltraParametros("CveTipoPs = 2") - Dim SbAlert As New StringBuilder() Dim Retorno As Modelos.Factura.MMensajeFactura = Nothing diff --git a/Ventas/RepRecuperacionDetalle.aspx b/Ventas/RepRecuperacionDetalle.aspx index a3547b46a..95a21f0dc 100644 --- a/Ventas/RepRecuperacionDetalle.aspx +++ b/Ventas/RepRecuperacionDetalle.aspx @@ -290,6 +290,7 @@ +
    diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb index a45c309e2..1e85a60b2 100644 --- a/Ventas/Ventas.aspx.vb +++ b/Ventas/Ventas.aspx.vb @@ -15256,7 +15256,8 @@ Partial Class Ventas importeMovimiento = 0 Case 103 'Descuento - If ObjFactura.Descuento <> 0 AndAlso Not ObjFactura.TipoDocto.Contiene("Rem", "RNC") AndAlso (DdlTipoAmortizacionAnticipo.SelectedValue = "-1" OrElse UsuarioActual.CveEmpresa.Contiene(140, 141)) Then + If ObjFactura.Descuento <> 0 AndAlso Not ObjFactura.TipoDocto.Contiene("Rem", "RNC") AndAlso + (DdlTipoAmortizacionAnticipo.SelectedValue = "-1" OrElse UsuarioActual.CveEmpresa.Contiene(140, 141, 190)) Then importeMovimiento = ObjFactura.Descuento * Multiplicador * ValorMultiplicador importeMX = Math.Round(importeMovimiento, 2) * tipoCambio * Multiplicador * ValorMultiplicador @@ -17697,12 +17698,21 @@ Partial Class Ventas End If If UsuarioActual.Empresa.Funcionalidad(109) = "1" Then + 'ES CREDITO, DEBE TOMAR LA LISTA DE PRECIOS DE CREDITO If RBLPago.SelectedValue = "1" Then Dim CvePrecioListaCredito = GlobalDTPrecioListas(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CvePrecioLista", "ISNULL(Credito,False) = True").ToEntero() If CvePrecioListaCredito > 0 Then CvePrecioListaPS = CvePrecioListaCredito End If End If + + 'ESTE CLIENTE DEBE TENER PRIORIDAD SU LISTA DE PRECIO, SEA CREDITO O CONTADO + If CveCliente = 888648 Then + If Me.CvePrecioListaCliente > 0 Then + CvePrecioListaPS = Me.CvePrecioListaCliente + End If + End If + End If If CvePrecioListaPS > 0 Then