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