Saltar a contenido

Alquileres de Recursos

La sección Alquileres de Recursos administra el ciclo completo de las operaciones de arrendamiento de activos propiedad de la organización a terceros. Almacena información del alquiler (nombre, descripción, fechas de inicio y fin), recurso alquilado, cliente arrendatario, condiciones económicas detalladas (precio, tarifa base, tarifa por día, periodicidad de facturación), ubicación de entrega y recogida, transporte asociado, estado del alquiler y documentación relacionada. También gestiona la asignación de choferes y vehículos para entregas y recogidas, junto con el seguimiento de estados de entrega y recogida (sin planificar, planificado, confirmado). Este módulo controla el ciclo de vida completo de cada alquiler desde la reserva inicial hasta la devolución final, facilitando la facturación periódica automatizada, el control de disponibilidad de recursos, la gestión de entregas y recogidas coordinadas, y el cálculo automático de días de alquiler. Se integra con módulos de Recursos de empresa, Ventas para facturación automática, Clientes, Logística y Transporte. Soporta alquileres con periodicidad variable, gestión de múltiples estados operativos y es ideal para empresas de construcción, logística o industrias que alquilan maquinaria, contenedores o equipos especializados.

Información General

Propiedad Valor
ID b24cdd86-aa4c-4059-ab34-9fd59038d3d0
Tabla PostgreSQL tpr_60010554461
Etiqueta Plural Alquileres de Recursos
Texto principal automatico No
Sección Base Base - Alquileres de Recursos (62a72a39-be0c-43ad-ba65-f83108af886b)

Campos

Total de campos: 44 (10 del sistema, 34 personalizados)

Campos del Sistema

Campo Tipo Rol Columna PostgreSQL Relación Atributos
ID Relación - id Alquileres de Recursos -
Nombre Texto - nombre - -
Fecha Alta Dato Fecha Y Hora - fecha - -
Editado Fecha Y Hora - fecham - -
Eliminado Sí/No - eliminado - -
Usuario Creador del dato Relación - usuarioid Base - Entidades -
Sección (Relación Sistema) Relación - plantillapid - 🔴 Obligatorio
Posición (Orden) Decimal - posicion - -
Modificado Sí/No - modificado - -
Fecha Indice Actividad Fecha Y Hora - fechaia - -

Campos Personalizados

Campo Tipo Pestaña Columna Atributos Notas
Autor del alta Relación Registro pr_600105544610 🔴 Obligatorio Autorrellenado (Siempre): Campo (Sesión): La Entidad ( ID* )
Destinador Relación General pr_600105544615 🔒 Bloqueado, 👁 Oculto -
Hora local Hora Registro pr_600105544612 🔒 Bloqueado, 👁 Oculto -
Fecha Alta del registro Fecha Y Hora Registro pr_600105544614 🔴 Obligatorio Autorrellenado (Siempre): Fecha y Hora actual
Ubicación Principal Relación Registro pr_60010554469 - Autorrellenado (Siempre): Campo (Sesión): Ubicación Principal
Fecha Dato Fecha Y Hora General pr_600105544611 🔴 Obligatorio Autorrellenado (Siempre): Fecha y Hora actual
Estado Relación General pr_600105544626 🔴 Obligatorio -
Tipo Relación General pr_600105544630 🔴 Obligatorio -
Empleado Relación Registro pr_60010554468 🔴 Obligatorio Autorrellenado (Siempre): Campo (Sesión): La Entidad ( ID* )
Solicitud Texto Solicitud pr_600105544637 - -
Cliente Relación General pr_600105544634 - -
Recurso Relación General pr_10010554471 - -
Lugar de entrega Relación General pr_10010554473 - -
Fecha de entrega Fecha Y Hora General pr_10010554475 - -
Lugar de recogida Relación General pr_30010554475 - -
Numeración Relación Registro pr_30010554473 🔴 Obligatorio Autorrellenado (Siempre): Campo (Empresa Actual): Numeración Alquiler de Recursos
Tarifa base Relación General pr_200105544738 - -
Referencia (Serie) Texto General pr_40010554472 - -
Nº Referencia (Serie) Entero General pr_40010554471 👁 Oculto, 📊 Cualquier valor numérico -
Transporte entrega Relación General pr_30010554478 - -
Total días Entero General pr_10010554481 🔒 Bloqueado, 📊 Cualquier valor numérico -
Tipo de recurso Relación General pr_40010554481 - Autorrellenado (Siempre): Campo (Empresa Actual): Tipo de recurso - Inicial
Tarifa por día Relación General pr_10010554491 - -
Factura Relación General pr_20010554494 - -
Transporte de recogida Relación General pr_300105544710 - -
Vehículo entrega Relación General pr_50010554491 - Autorrellenado (Siempre): Campo : Chofer de entrega / Vehículo habitual
Chofer de recogida Relación General pr_50010554492 - -
Chofer de entrega Relación General pr_50010554494 - -
Vehículo recogida Relación General pr_50010554496 - Autorrellenado (Siempre): Campo : Chofer de recogida / Vehículo habitual
Fecha de recogida Fecha Y Hora General pr_30010554477 - -
Aviso a mostrar a la hora de hacer la factura Texto General pr_40010554501 - -
Cancelado Sí/No Registro pr_40040602511 - -
Estado Entrega Entero Registro pr_60040602583 🔒 Bloqueado, 📊 Cualquier valor numérico -
Estado Recogida Entero Registro pr_60040602584 🔒 Bloqueado, 📊 Cualquier valor numérico -

Scripts

Total de scripts: 12

Código de Scripts

Lógica de negocio ejecutada en los formularios automáticamente

Campo_PreAgregarRelacion

F.CopiarAgregarRelacion(S.Fields.EntidadesBase.Cliente.ID,1)

Campos utilizados: - Alquileres de Recursos > Cliente

Formulario_Iniciado_AgregarNuevo

C.ReferenciaTipo = C.empresa.ReferenciaTipoDeAlquilerDeRecursoInicial 
C.ReferenciaEstado  = C.empresa.ReferenciaEstadoDeAlquilerDeRecursosInicial

Campo_ComboAplicarFiltro

F.CampoDesplegableAplicarFiltro(S.Fields.TiposDeRecursosDeLaEmpresaBase.PuedenSerAlquilados.ID,'=',1)
F.CampoDesplegableActivarQuitarFiltros('Mostrando únicamente los tipos que permiten alquilarse.')

Campos utilizados: - Alquileres de Recursos > Tipo de recurso

Campo_Cambiado

C.ReferenciaLugarDeRecogida = C.ReferenciaLugarDeEntrega

Campos utilizados: - Alquileres de Recursos > Lugar de entrega

Campo_PreAgregarRelacion

F.Guardar
F.CopiarAgregarRelacion(S.Fields.VentasIngresosBase.ReferenciaAlquilerDeRecurso.ID,C.ID)

Campos utilizados: - Alquileres de Recursos > Factura

Formulario_TickRecalculo

num DiasAntes = C.TotalDias 


if C.FechaDeEntrega <> '' y C.FechaDeRecogida <> ''
    if C.FechaDeEntrega < C.FechaDeRecogida 

        C.TotalDias = F.DaysDifferenceBetweenDates(F.Date_FromDatetime(C.FechaDeEntrega),F.Date_FromDatetime(C.FechaDeRecogida))

    else
        C.TotalDias = 0
    end if 
else
    C.TotalDias = 0
end if



F.CampoBloqueadoMotivo(S.Fields.AlquileresDeRecursos.ReferenciaEstado.ID,'Automático',1)



txt estadoIdSolicitado = '9b21fc92-d0cd-4472-b438-9780a70c9cbe'
txt estadoEnProceso = '7841319d-ae25-46fb-b280-523f26dc2718'
txt estadoCompletado = 'a182b16b-6144-4128-ba76-6230eb56f668'
txt estadoCancelado = 'db8e4b12-e361-4baf-b0b0-8ddc0f92139e'



if C.Cancelado

    C.ReferenciaEstado = F.GetRowById(S.Sections.EstadosDeAlquileresDeRecursos.ID,V.estadoCancelado)

elseif C.ReferenciaFactura <> ''

    @ Completado
    C.ReferenciaEstado = F.GetRowById(S.Sections.EstadosDeAlquileresDeRecursos.ID,V.estadoCompletado)

elseif C.FechaDeEntrega <> '' o C.FechaDeRecogida <> ''

    @ En proceso
    C.ReferenciaEstado = F.GetRowById(S.Sections.EstadosDeAlquileresDeRecursos.ID,V.estadoEnProceso)


else

    @ Solicitado
    C.ReferenciaEstado = F.GetRowById(S.Sections.EstadosDeAlquileresDeRecursos.ID,V.estadoIdSolicitado)


end if


if C.ReferenciaTransporteEntrega <> ''
    C.EstadoEntrega = S.Enums.planificacionestado.confirmado 
elseif C.FechaDeEntrega <> ''
    C.EstadoEntrega = S.Enums.planificacionestado.planificado 
else
    C.EstadoEntrega = S.Enums.planificacionestado.sinplanificar 
end if 


if C.ReferenciaTransporteDeRecogida <> ''
    C.EstadoRecogida = S.Enums.planificacionestado.confirmado 
elseif C.FechaDeRecogida <> ''
    C.EstadoRecogida = S.Enums.planificacionestado.planificado 
else
    C.EstadoRecogida = S.Enums.planificacionestado.sinplanificar 
end if

Campo_ComboAplicarFiltro

if C.ReferenciaTipoDeRecurso <> ''
     F.CampoDesplegableAplicarFiltro(S.Fields.RecursosDeLaEmpresaBase.ReferenciaTipo.ID,'=',C.ReferenciaTipoDeRecurso)
     F.ListadoAvisoDesplegable(F.Concat('Mostrando tipo ',C.ReferenciaTipoDeRecurso.TextoPrincipal),1)
 end if

Campos utilizados: - Alquileres de Recursos > Recurso

Campo_ComboAplicarFiltro

if C.ReferenciaTipoDeRecurso <> ''


    F.CampoDesplegableAplicarFiltro(S.Fields.TarifasDeAlquileresDeRecursosBase.Activa.ID,'=',1)
    F.CampoDesplegableAplicarFiltro(S.Fields.TarifasDeAlquileresDeRecursosBase.ReferenciaLimitarATipoDeRecurso.ID,'=',C.ReferenciaTipoDeRecurso)
    F.CampoDesplegableAplicarFiltro(S.Fields.TarifasDeAlquileresDeRecursosBase.TarifaDiaria.ID,'=',0) 
    F.CampoDesplegableAplicarAlternativa 
    F.CampoDesplegableAplicarFiltro(S.Fields.TarifasDeAlquileresDeRecursosBase.Activa.ID,'=',1)
    F.CampoDesplegableAplicarFiltro(S.Fields.TarifasDeAlquileresDeRecursosBase.ReferenciaLimitarATipoDeRecurso.ID,'=','')
    F.CampoDesplegableAplicarFiltro(S.Fields.TarifasDeAlquileresDeRecursosBase.TarifaDiaria.ID,'=',0) 
    F.ListadoAvisoDesplegable(F.Concat('Mostrando tarifas de ',C.ReferenciaTipoDeRecurso.TextoPrincipal),1)

else
    F.CampoDesplegableAplicarFiltro(S.Fields.TarifasDeAlquileresDeRecursosBase.Activa.ID,'=',1)
    F.CampoDesplegableAplicarFiltro(S.Fields.TarifasDeAlquileresDeRecursosBase.TarifaDiaria.ID,'=',0) 

end if

Campos utilizados: - Alquileres de Recursos > Tarifa base

Campo_ComboAplicarFiltro

if C.ReferenciaTipoDeRecurso <> ''


    F.CampoDesplegableAplicarFiltro(S.Fields.TarifasDeAlquileresDeRecursosBase.Activa.ID,'=',1)
    F.CampoDesplegableAplicarFiltro(S.Fields.TarifasDeAlquileresDeRecursosBase.ReferenciaLimitarATipoDeRecurso.ID,'=',C.ReferenciaTipoDeRecurso)
    F.CampoDesplegableAplicarFiltro(S.Fields.TarifasDeAlquileresDeRecursosBase.TarifaDiaria.ID,'=',1) 
    F.CampoDesplegableAplicarAlternativa 
    F.CampoDesplegableAplicarFiltro(S.Fields.TarifasDeAlquileresDeRecursosBase.Activa.ID,'=',1)
    F.CampoDesplegableAplicarFiltro(S.Fields.TarifasDeAlquileresDeRecursosBase.ReferenciaLimitarATipoDeRecurso.ID,'=','')
    F.CampoDesplegableAplicarFiltro(S.Fields.TarifasDeAlquileresDeRecursosBase.TarifaDiaria.ID,'=',1) 
    F.ListadoAvisoDesplegable(F.Concat('Mostrando tarifas de ',C.ReferenciaTipoDeRecurso.TextoPrincipal),1)

else
    F.CampoDesplegableAplicarFiltro(S.Fields.TarifasDeAlquileresDeRecursosBase.Activa.ID,'=',1)
    F.CampoDesplegableAplicarFiltro(S.Fields.TarifasDeAlquileresDeRecursosBase.TarifaDiaria.ID,'=',1) 

end if

Campos utilizados: - Alquileres de Recursos > Tarifa por día

Campo_PreAgregarRelacion

F.Guardar 


F.CopiarAgregarRelacion(S.Fields.OrdenesDeTransporteDeRecursosBase.ReferenciaAlquiler.ID,C.ID)
F.CopiarAgregarRelacion(S.Fields.OrdenesDeTransporteDeRecursosBase.AlquilerEsEntrega.ID,1)
F.CopiarAgregarRelacion(S.Fields.OrdenesDeTransporteDeRecursosBase.ReferenciaTipo.ID,'b30a0769-b116-469a-9964-78dccb864096')

Campos utilizados: - Alquileres de Recursos > Transporte entrega

Campo_PreAgregarRelacion

F.Guardar 


F.CopiarAgregarRelacion(S.Fields.OrdenesDeTransporteDeRecursosBase.ReferenciaAlquiler.ID,C.ID)
F.CopiarAgregarRelacion(S.Fields.OrdenesDeTransporteDeRecursosBase.AlquilerEsEntrega.ID,0)

F.CopiarAgregarRelacion(S.Fields.OrdenesDeTransporteDeRecursosBase.ReferenciaTipo.ID,'584b3ba8-88e5-4a0b-b437-028519ed8704')

Campos utilizados: - Alquileres de Recursos > Transporte de recogida


← Volver al índice