Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-03-2014
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.572
Poder: 27
egostar Va camino a la fama
Caramba!!! como pasa el tiempo, no recuerdo como funcionan los TMS, no se dio el proyecto y terminé por abandonar la parte de reservaciones.

Lo que si recuerdo es que los TMS se relacionan directamente con una tabla con características específicas, recuerdo que requieren de un campo de fecha y hora, pero necesito darle un vistazo al código, veré si aún lo conservo en alguno de mis respaldos.

Saludos
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #2  
Antiguo 14-03-2014
amadis amadis is offline
Miembro
 
Registrado: may 2005
Ubicación: San José, Colón, Entre Ríos, Argentina
Posts: 322
Poder: 22
amadis Va por buen camino
Será un buen aporte si encuentras algo.

Ese componente parece muy muy completo y potente. Vieno los ejemplos en funcionamiento son alucinantes.

Pero el tema es hacerlo funcionar. ya que manejan muchas propiedades.

Saludos
Responder Con Cita
  #3  
Antiguo 14-03-2014
el-mono el-mono is offline
Miembro
 
Registrado: abr 2008
Ubicación: Lules
Posts: 176
Poder: 19
el-mono Va por buen camino
Hola Amadis.

Yo particularmente uso estos componentes para mi aplicación, la utilizo específicamente para dar los turnos a los pacientes.

http://www.proyectoanamnesis.com.ar/...rsion-283.html


Que es lo que necesitas, si tenes una pregunta puntual así te contesto porque ando con poquito tiempo últimamente.
Responder Con Cita
  #4  
Antiguo 14-03-2014
amadis amadis is offline
Miembro
 
Registrado: may 2005
Ubicación: San José, Colón, Entre Ríos, Argentina
Posts: 322
Poder: 22
amadis Va por buen camino
Será algo similar a lo que hiciste en los turnos.

Como columnas tengo los dias y como filas los nº de habitacion

entonces, en el mismo dia puedo tener varias habitaciones (filas ocupadas). Fijate en el post original que describo las tablas y lo que retendo lograr.
El problema es como tomar los datos de la tabla y visualizarlos en el Tdbplanner.
Responder Con Cita
  #5  
Antiguo 14-03-2014
Avatar de radenf
radenf radenf is offline
Miembro
 
Registrado: oct 2007
Ubicación: Viña del Mar,Chile
Posts: 608
Poder: 19
radenf Va por buen camino
Estimado amadis:

Yo también utilizo los TMSDbPlanner para asignar horas a pacientes. Los compré hace más de 3 años y aún me da problemas.
Estos componentes están pensados para relacionar días con horas, ya que los campos requeridos en la tabla (StartTime y EndTime) para visualizar en el planner son de tipo date/time.
La conexión del DbPlanner debes realizarla con el componente TDBxxxSource que elijas y este último con el DataSource conectado a tu tabla, debiendo especificar en este componente, en el inspector de objetos, las propiedades StartTimeField, EndTimeField, KeyField, NotesField y eventualmente ResourceField de tu tabla.
Tienen el inconveniente que cuando crece mucho la Tabla de la BD a la que se encuentran conectados, los procesos con el Planner se hacen muy lentos, para lo cual es mejor cargar el planner con Querys especificos o utilizando filtros.
Ojalá esto te sirva de algo.
Deberás armarte de paciencia con este componente, ya que no es fácil de utilizar y configurar.

Salu2
Responder Con Cita
  #6  
Antiguo 15-03-2014
Avatar de radenf
radenf radenf is offline
Miembro
 
Registrado: oct 2007
Ubicación: Viña del Mar,Chile
Posts: 608
Poder: 19
radenf Va por buen camino
Estimado amadis:

Coloco este mensaje aquí en el foro, por si a alguien más que use TMSDBPlanner pudiera servirle.
Revisé el demo 26 y si activas las propiedades AutoCreateOnSelect y AutoEditOnAutoInsert en ItemSelection puedes ingresar nuevos Items y editarlos.
Para eliminar los Items creados, click en el Item y tecla suprimir.
Ojalá te sirva

Salu2
Responder Con Cita
  #7  
Antiguo 15-03-2014
amadis amadis is offline
Miembro
 
Registrado: may 2005
Ubicación: San José, Colón, Entre Ríos, Argentina
Posts: 322
Poder: 22
amadis Va por buen camino
Lightbulb Poner en funcionamiento el TDBplanner

Amigos, he logrado el resultado que buscaba.

Aquí una muestra de como queda.

Los componentes utilizador fueron además de lo visible a simple vista.

TDbplanner y DBPeriodSource. Conectado a un query que se actualiza desde el ComboBox (TplannerDBDatepicker) que esta abajo a la izquierda,

Dando parámetros mediante propiedades:

El dbperiodSource lo vinculé a la query reservas mediante las propiedades:

Datasource -> a un query o tabla.
Keyfield y resourcefield -> al ID de la tabla reservas
StartimeField -> campo con fecha de llegada
EndtimeField -> campo (calculado) entrada + estadía = fecha de salida
SubjectField y NotesField -> campos de tipo texto, pueden variar el orden segun quieran. En uno puse un calculado del Nombre del cliente y en el otro Observaciones.

Formateando el TDBPlanner

Display -> modifica propiedades de visualización del encabezado que tiene las fechas.
Sidebar -> modifican propiedades del encabezado que tiene las fechas.
Sidebar -> RotateOnTop: da vuelta el nombre de los dias para cuando la SideBar es ubicada arriba como en este caso.
Header -> propiedades de titulos de la barra encabezados de la izquierda (Nº habit).

Eso es todo lo básico a nivel de Diseño.

En cuanto a código luego de cada cambio en la tabla/query hay que refescar(rellenar el Planner)

Para eso en los eventos onchange lo hacemos con este procedimiento (tomado del Demo Nº 26 del componente)

Código Delphi [-]
procedure llenarplanner();
Var
  PlannerPosition : Integer;
begin
  DBPeriodSource1.Active := false;


  DBPeriodSource1.StartDate := cbfecha.date - 5;
  DBPeriodSource1.EndDate := cbfecha.date + 31;

  Qr.first;

  PlannerPosition := 0;
  While NOT Qr.Eof Do      // con esto pone titulo en headers (barra de la izquierda)
  Begin
    With DBPeriodSource1.ResourceMap.Add Do
    Begin
       ResourceIndex :=   qrcodigo.value; //campo clave de reservas
       PositionIndex :=   qrIDhabit.Value-1;// aqui -1 porque el ID de habitacion inicia en 1 y el header inicia en 0
       DisplayName :=  qrhabit.Value; // calculado con nombre de habitacion
    End;
    Qr.Next;
  End;

  DBPeriodSource1.NumberOfResources := Qr.RecordCount-1; // ajuste de indices

  DBPeriodSource1.Active := true;

end;

Todo esto es lo básico para hacer funcionar el componente. Se agradece a todos los que participaron de este hilo y al moderador del foro.
Y cualquier aporte que puedan hacer será util para la posteridad

Me tomé el trabajo de explicar como poner en marcha este componente porque es muy bueno y si bien trae documentación,en el manual y ejemplos se ve complicado ya que no mencionan mucho sobre como asignar las propiedades en tiempo de diseño.
Y una vez que se tenga una guía ya es más simple.

Esto fue aplicado para visualizar reservas de habitaciones.A lo largo de un período de tiempo X distribuido en distintas habitaciones.
Los amigos Radenf y el-Mono Por lo que comentan lo han utilizado para visualizar un Dia con todos los horarios para asignar turnos.

Por lo que en los casos de ellos las propiedades asignadas deben ser otras, y en lugar de usar el TDBPeriodSource seguramente usaron TDBDaySource

Última edición por marcoszorrilla fecha: 18-03-2014 a las 19:36:45.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
tsm Planner ayuda omarson Varios 2 28-04-2012 00:10:00
Componente PLANNER Jose Manuel Varios 0 24-09-2008 17:39:52
Reserva de memoria... andresenlared Varios 5 05-02-2008 22:13:36
reserva memoria c++ halizia C++ Builder 1 25-04-2006 18:09:52
Sacar habitaciones libres por dia - Problema consulta SQL- VRO Firebird e Interbase 0 01-09-2005 11:12:22


La franja horaria es GMT +2. Ahora son las 03:59:15.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi