Ordenes de Transportes de recursos¶
Permite transportar recursos desde un origen hacia un destino, gestionando toda la información del transporte incluyendo el transportista, vehículo utilizado, chofer asignado y los recursos que se están transportando. Controla kilómetros de distancia, duración estimada del transporte y tiempo real mediante confirmaciones de inicio y fin. Las ubicaciones se seleccionan de la sección ubicaciones en mapa. Los transportes pueden estar en distintos estados (planificando, programado, transportando, transportado, cancelado) y cuando se marcan como concluidos actualizan automáticamente la ubicación de los recursos. Genera información de productividad y análisis para tacógrafo. Soporta transportes simbólicos y permite crear órdenes de transporte de regreso.
Información General¶
| Propiedad | Valor |
|---|---|
| ID | 49ab5f2d-cdd7-4802-973b-9d2a824b6a9c |
| Tabla PostgreSQL | tpr_10010421531 |
| Etiqueta Plural | Ordenes de Transportes de recursos |
| Texto principal automatico | Sí |
| Sección Lista | Lista - Ordenes de Transportes de recursos (d6b49d7d-c725-4086-8965-65f1c3ea6968) |
| Sección Base | Base - Ordenes de Transporte de recursos (4fad3e82-ae41-462b-b7bb-e5c8fb212e41) |
Campos¶
Total de campos: 39 (10 del sistema, 29 personalizados)
Campos del Sistema¶
| Campo | Tipo | Rol | Columna PostgreSQL | Relación | Atributos |
|---|---|---|---|---|---|
| ID | Relación |
- | id |
Ordenes de Transportes de recursos | - |
| Referencia | 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 |
|---|---|---|---|---|---|
| Cancelado | Sí/No |
Registro | pr_50040602271 |
- | - |
| Destinador | Relación |
General | pr_100104215312 |
🔒 Bloqueado, 👁 Oculto | - |
| Hora local | Hora |
Registro | pr_10010421539 |
🔒 Bloqueado, 👁 Oculto | - |
| Fecha Alta del registro | Fecha Y Hora |
Registro | pr_100104215311 |
🔴 Obligatorio | Autorrellenado (Siempre): Fecha y Hora actual |
| Autor del alta | Relación |
Registro | pr_10010421537 |
🔴 Obligatorio | Autorrellenado (Siempre): Campo (Sesión): La Entidad ( ID* ) |
| Fecha de Inicio | Fecha Y Hora |
General | pr_60010421801 |
- | - |
| Fecha de Fin | Fecha Y Hora |
General | pr_60010421802 |
- | - |
| Vehículo de transporte | Relación |
General | pr_60010421804 |
- | - |
| Chofer | Relación |
General | pr_10010421816 |
- | - |
| Evaluar en agenda | Sí/No |
General | pr_60010421803 |
- | Autorrellenado (Siempre): Constante: Sí |
| Estado | Relación |
General | pr_10010422115 |
🔴 Obligatorio, 🔒 Bloqueado | - |
| Localización de destino | Relación |
General | pr_10040441061 |
🔴 Obligatorio | - |
| Localización de origen | Relación |
General | pr_10040441062 |
🔴 Obligatorio | - |
| Tipo de estado | Entero |
General | pr_10040441072 |
👁 Oculto, 📊 Cualquier valor numérico | Autorrellenado (Siempre): Campo : Estado / Estado |
| Distancia en kilómetros | Decimal |
General | pr_20040545241 |
📊 Positivos o 0 | - |
| Recursos transportando | Entero |
General | pr_30040545241 |
🔒 Bloqueado, 👁 Oculto, 📊 Cualquier valor numérico | Autorrellenado (Siempre): Contar (Columna): ID ID * |
| Tipo | Relación |
General | pr_300405453830 |
- | - |
| Tiempo Tacógrafo | Entero |
General | pr_40040545383 |
📊 Positivos o 0 | - |
| Notas | Texto |
Notas | pr_40040545561 |
- | - |
| Fecha confirmación de Fin | Fecha Y Hora |
General | pr_10040602054 |
- | - |
| Orden de transporte de regreso | Relación |
General | pr_20040602097 |
- | - |
| Tiempo Extra | Entero |
General | pr_10040602271 |
👁 Oculto, 📊 Cualquier valor numérico | - |
| Fecha confirmación de Inicio | Fecha Y Hora |
General | pr_10040602272 |
- | - |
| Fecha Inicio (Computable) | Fecha Y Hora |
General | pr_30040602273 |
👁 Oculto | - |
| Fecha Fin (Computable) | Fecha Y Hora |
General | pr_30040602272 |
👁 Oculto | - |
| Simbólico | Sí/No |
Registro | pr_20040602282 |
- | Autorrellenado (Siempre): Campo : Tipo / Transporte simbólico |
| Alquiler | Relación |
Alquiler | pr_30010554491 |
- | ⚠️ Módulo externo |
| Alquiler (Es entrega) | Sí/No |
Alquiler | pr_30010554492 |
- | ⚠️ Módulo externo |
| Exportar en módulos | Sí/No |
General | pr_100104215310 |
👁 Oculto | - |
Scripts¶
Total de scripts: 10
Código de Scripts¶
Lógica de negocio ejecutada en los formularios automáticamente
Campo_Cambiado¶
if C.ReferenciaLocalizacionDeOrigen <> ''
if C.ReferenciaLocalizacionDeDestino <> ''
C.DistanciaEnKilometros = F.Truncate(F.Maps_KilometersBetween2Coordinates(C.ReferenciaLocalizacionDeOrigen.Coordenadas,C.ReferenciaLocalizacionDeDestino.Coordenadas))
C.TiempoTacografo = F.Maps_MinutesBetween2Coordinates(C.ReferenciaLocalizacionDeOrigen.Coordenadas,C.ReferenciaLocalizacionDeDestino.Coordenadas)
end if
end if
Campos utilizados:
- Ordenes de Transportes de recursos > Localización de origen
- Ordenes de Transportes de recursos > Localización de destino
Campo_Click¶
if C.ReferenciaLocalizacionDeOrigen = ''
F.MsgBox('Debe rellenar origen.',0)
F.CancelarEvento
salir
end if
if C.ReferenciaLocalizacionDeDestino = ''
F.MsgBox('Debe rellenar destino.',0)
F.CancelarEvento
salir
end if
txt cafe = F.Concat('explorer.exe "https://dinaup.com/maps/rutax?o=',C.ReferenciaLocalizacionDeOrigen.Coordenadas,'&d=',C.ReferenciaLocalizacionDeDestino.Coordenadas,'"')
F.OSRunCMD(v.cafe,0,100)
Campos utilizados: - Botón
Campo_PreAgregarRelacion¶
F.CopiarAgregarRelacion(S.Fields.OrdenesDeTransportesDeRecursos.ReferenciaChofer.ID,C.ReferenciaChofer)
F.CopiarAgregarRelacion(S.Fields.OrdenesDeTransportesDeRecursos.ReferenciaVehiculoDeTransporte.ID,C.ReferenciaVehiculoDeTransporte)
F.CopiarAgregarRelacion(S.Fields.OrdenesDeTransportesDeRecursos.ReferenciaLocalizacionDeOrigen.ID,C.ReferenciaLocalizacionDeDestino)
F.CopiarAgregarRelacion(S.Fields.OrdenesDeTransportesDeRecursos.ReferenciaLocalizacionDeDestino.ID,C.ReferenciaLocalizacionDeOrigen)
F.CopiarAgregarRelacion(S.Fields.OrdenesDeTransportesDeRecursos.FechaDeInicio.ID,C.FechaDeFin)
F.CopiarAgregarRelacion(S.Fields.OrdenesDeTransportesDeRecursos.ReferenciaTipo.ID,C.ReferenciaTipo)
Campos utilizados:
- Ordenes de Transportes de recursos > Orden de transporte de regreso
Campo_Click¶
if C.FechaDeInicio = ''
F.MsgBox('Para rellenar la fecha de fin automáticamente, la fecha inicio debe estar rellenada.',0)
else
C.FechaDeFin = F.DateTime_AddMinutes(C.FechaDeInicio,C.TiempoTacografo)
endif
Campos utilizados: - Botón
Campo_Click¶
if C.FechaDeFin = ''
F.MsgBox('Para rellenar la fecha de inicio automáticamente, la fecha fin debe estar rellenada.',0)
else
C.FechaDeInicio = F.DateTime_AddMinutes(C.FechaDeFin,C.TiempoTacografo * -1)
endif
Campos utilizados: - Botón
Formulario_TickRecalculo¶
if C.FechaConfirmacionDeInicio = ''
C.FechaInicioComputable = C.FechaDeInicio
else
C.FechaInicioComputable = C.FechaConfirmacionDeInicio
end if
if C.FechaConfirmacionDeFin = ''
C.FechaFinComputable = C.FechaDeFin
else
C.FechaFinComputable = C.FechaConfirmacionDeFin
end if
C.TiempoExtra = F.Truncate(F.MinutesDifferenceBetweenDatesAndTimes(C.FechaInicioComputable,C.FechaFinComputable) - F.MinutesDifferenceBetweenDatesAndTimes(C.FechaDeInicio,C.FechaDeFin))
F.CampoBloqueadoMotivo(S.Fields.OrdenesDeTransportesDeRecursos.EvaluarEnAgenda.ID,'No disponible en Simbólicos.',C.Simbolico)
F.CampoBloqueadoMotivo(S.Fields.OrdenesDeTransportesDeRecursos.ReferenciaVehiculoDeTransporte.ID,'No disponible en Simbólicos.',C.Simbolico)
F.CampoBloqueadoMotivo(S.Fields.OrdenesDeTransportesDeRecursos.TiempoTacografo.ID,'No disponible en Simbólicos.',C.Simbolico)
F.CampoBloqueadoMotivo(S.Fields.OrdenesDeTransportesDeRecursos.DistanciaEnKilometros.ID,'No disponible en Simbólicos.',C.Simbolico)
F.CampoBloqueadoMotivo(S.Fields.OrdenesDeTransportesDeRecursos.FechaDeInicio.ID,'No disponible en Simbólicos.',C.Simbolico)
F.CampoBloqueadoMotivo(S.Fields.OrdenesDeTransportesDeRecursos.FechaDeFin.ID,'No disponible en Simbólicos.',C.Simbolico)
F.CampoBloqueadoMotivo(S.Fields.OrdenesDeTransportesDeRecursos.FechaConfirmacionDeFin.ID,'No disponible en Simbólicos.',C.Simbolico)
F.CampoBloqueadoMotivo(S.Fields.OrdenesDeTransportesDeRecursos.FechaConfirmacionDeInicio.ID,'No disponible en Simbólicos.',C.Simbolico)
F.CampoBloqueadoMotivo(S.Fields.OrdenesDeTransportesDeRecursos.ReferenciaOrdenDeTransporteDeRegreso.ID,'No disponible en Simbólicos.',C.Simbolico)
F.CampoBloqueadoMotivo(S.Fields.OrdenesDeTransportesDeRecursos.BotonRecalcularFFin.ID,'No disponible en Simbólicos.',C.Simbolico)
F.CampoBloqueadoMotivo(S.Fields.OrdenesDeTransportesDeRecursos.BotonRecalcularFInicio.ID,'No disponible en Simbólicos.',C.Simbolico)
F.CampoBloqueadoMotivo(S.Fields.OrdenesDeTransportesDeRecursos.EvaluarEnAgenda.ID,'No disponible en cancelados.',C.Cancelado)
if C.Simbolico
@ Transportado
C.ReferenciaEstado = F.GetRowById(S.Sections.EstadosDeTransporte.ID,'b3bd6959-ed65-4c17-bd0a-b90fd35cf6ee')
F.CampoVaciar(S.Fields.OrdenesDeTransportesDeRecursos.EvaluarEnAgenda.ID)
F.CampoVaciar(S.Fields.OrdenesDeTransportesDeRecursos.ReferenciaVehiculoDeTransporte.ID)
F.CampoVaciar(S.Fields.OrdenesDeTransportesDeRecursos.TiempoTacografo.ID)
F.CampoVaciar(S.Fields.OrdenesDeTransportesDeRecursos.DistanciaEnKilometros.ID)
F.CampoVaciar(S.Fields.OrdenesDeTransportesDeRecursos.FechaDeInicio.ID)
F.CampoVaciar(S.Fields.OrdenesDeTransportesDeRecursos.FechaDeFin.ID)
F.CampoVaciar(S.Fields.OrdenesDeTransportesDeRecursos.FechaConfirmacionDeFin.ID)
F.CampoVaciar(S.Fields.OrdenesDeTransportesDeRecursos.FechaConfirmacionDeInicio.ID)
F.CampoVaciar(S.Fields.OrdenesDeTransportesDeRecursos.ReferenciaOrdenDeTransporteDeRegreso.ID)
F.CampoVaciar(S.Fields.OrdenesDeTransportesDeRecursos.BotonRecalcularFFin.ID)
F.CampoVaciar(S.Fields.OrdenesDeTransportesDeRecursos.BotonRecalcularFInicio.ID)
else
if C.Cancelado = 1
C.EvaluarEnAgenda = 0
C.ReferenciaEstado = F.GetRowById(S.Sections.EstadosDeTransporte.ID,'444419fb-9c36-4663-8509-2205e2ee065f')
elseif C.FechaConfirmacionDeInicio = '' and C.FechaConfirmacionDeFin = ''
if C.EvaluarEnAgenda = 1
@ Programado
C.ReferenciaEstado = F.GetRowById(S.Sections.EstadosDeTransporte.ID,'e8e432b3-bdd0-4f3c-8474-60c54278f225')
else
@ Planificando
C.ReferenciaEstado = F.GetRowById(S.Sections.EstadosDeTransporte.ID,'8fb5f3cc-3543-4daf-b20d-a98b7101c9ed')
end if
elseif C.FechaConfirmacionDeInicio <> '' and C.FechaConfirmacionDeFin = ''
@ Transportando
C.ReferenciaEstado = F.GetRowById(S.Sections.EstadosDeTransporte.ID,'3fcf244a-b82b-4209-b655-3eae2864ff05')
elseif C.FechaConfirmacionDeInicio <> '' and C.FechaConfirmacionDeFin <> ''
@ Transportado
C.ReferenciaEstado = F.GetRowById(S.Sections.EstadosDeTransporte.ID,'b3bd6959-ed65-4c17-bd0a-b90fd35cf6ee')
end if
end if
F.CampoObligatorioMotivo(S.Fields.OrdenesDeTransportesDeRecursos.FechaDeInicio.ID,'',C.EvaluarEnAgenda)
F.CampoObligatorioMotivo(S.Fields.OrdenesDeTransportesDeRecursos.FechaDeFin.ID,'',C.EvaluarEnAgenda)
Campo_Cambiado¶
if C.ReferenciaChofer.ReferenciaVehiculoHabitual <>''
C.ReferenciaVehiculoDeTransporte = F.GetRowById(S.Sections.VehiculosDeLaEmpresa.ID,C.ReferenciaChofer.ReferenciaVehiculoHabitual)
end if
Campos utilizados:
- Ordenes de Transportes de recursos > Chofer
Campo_Cambiado¶
if C.ReferenciaTipo = 'd4496986-3d4a-4b93-8aaf-13de9b2fc52b'
if C.ReferenciaVehiculoDeTransporte <> ''
if C.ReferenciaVehiculoDeTransporte.ReferenciaLocalizacionPrincipal <> ''
C.ReferenciaLocalizacionDeDestino = C.ReferenciaVehiculoDeTransporte.ReferenciaLocalizacionPrincipal
end if
end if
end if
Campos utilizados:
- Ordenes de Transportes de recursos > Vehículo de transporte
- Ordenes de Transportes de recursos > Tipo
Formulario_Iniciado_AgregarNuevo¶
C.ReferenciaTipo = C.empresa.ReferenciaTipoDeTransportePredeterminado
IF C.ReferenciaAlquiler <> ''
if C.AlquilerEsEntrega
C.ReferenciaLocalizacionDeOrigen = C.ReferenciaAlquiler.ReferenciaRecurso.ReferenciaLocalizacionActual
C.ReferenciaLocalizacionDeDestino = C.ReferenciaAlquiler.ReferenciaLugarDeEntrega
C.FechaDeFin = C.ReferenciaAlquiler.FechaDeEntrega
C.ReferenciaChofer = C.ReferenciaAlquiler.ReferenciaChoferDeEntrega
C.ReferenciaVehiculoDeTransporte = C.ReferenciaAlquiler.ReferenciaVehiculoEntrega
else
C.ReferenciaLocalizacionDeOrigen = C.ReferenciaAlquiler.ReferenciaLugarDeRecogida
C.FechaDeInicio = C.ReferenciaAlquiler.FechaDeRecogida
C.ReferenciaChofer = C.ReferenciaAlquiler.ReferenciaChoferDeRecogida
C.ReferenciaVehiculoDeTransporte = C.ReferenciaAlquiler.ReferenciaVehiculoRecogida
end if
IF C.ReferenciaAlquiler.ReferenciaRecurso <> ''
F.AgregarElemento_Iniciar(S.Sections.OrdenesDeTransportesDeRecursosLista.ID)
F.AgregarElemento_Valor(S.Fields.OrdenesDeTransportesDeRecursosLista.ReferenciaRecurso.ID,C.ReferenciaAlquiler.ReferenciaRecurso)
F.AgregarElemento_Finalizar()
end if
else
END IF
Campo_PreAgregarRelacion¶
F.CopiarAgregarRelacion(S.Fields.EntidadesBase.EsChofer.ID,'1')
Campos utilizados:
- Ordenes de Transportes de recursos > Chofer