Вниз
Скачать: CL | DM;

Аналог периодического реквизита в Delphi   Найти похожие ветки 

← →
Dmitry_Chernov   (2006-10-10 11:54) [0]

Вопрост такой, как реализовать аналог периодического реквизита в Delphi "малой кровью"? Может у вас есть информация по данному вопросу?


← →
Stanislav ©   (2006-10-10 12:15) [1]

Dmitry_Chernov   (10.10.06 11:54)  
А что это?


← →
ЮЮ ©   (2006-10-10 12:15) [2]

Items
 Id
 Name
 ,,,

ItemValues
 Id
 Item
 Value
 DateFrom
 DateTo - заполнял бы триггером, чтобы проще было находиить ту запись, что соответстует нужной дате

З.Ы. Только при чем здесь Delphi


← →
Dmitry_Chernov   (2006-10-10 12:27) [3]


> З.Ы. Только при чем здесь Delphi

Это надо на дельфи реализовать....


> ItemValues  Id  Item  Value  DateFrom  DateTo

Примерно так я и думаю, но это не так удобно как реализовано в 1С.
Спрашиваю я потому, что наверняка кто-то реализовывал механизм похожий.


← →
ЮЮ ©   (2006-10-10 12:32) [4]

И как же это реализовано в 1С ?


← →
Dmitry_Chernov   (2006-10-10 12:33) [5]

а просто. Там на выбраном поле ставиш галочку что это периодический реквизит. Потом при запросе этого поля указываешь дату на которую нужно запрашивать этот реквизит и вуаля... отдается значение актуальное на указаную дату.


← →
ЮЮ ©   (2006-10-10 12:39) [6]

Это не "реализация", а пользовательский интерфейс.
Допустим, не имея доступа к таблице напрямую а через х/п с параметром DateTime имеешь то же самое.


← →
Dmitry_Chernov   (2006-10-11 04:08) [7]

эх... этот бы пользовательский интерфейс да в мою реализацию :)

Вообще как я себе это представляю. Лежит на форме датасет. Помимо обычных свойств этого датасета у него есть еще одно - дата актуальности. Присваиваем ей, например, текущую датувремя тогда все переодические поля возвращают значения актуальные на установленную дату. Вот что я подразумеваю под реализацией, т.е. удобство разработчику (мне) максимальное.


← →
ЮЮ ©   (2006-10-11 06:31) [8]

Ну и в чем проблема?

Select t.*, a.Value
FROM
 TableWithPerodicalAttr t
 LEFT PerodicalAttrTable a ON t.DateAttr BETWEEN a.DateFrom AND a.DateTo  

В данном случае актуальность определяется полем .DateAttr в таблице TableWithPerodicalAttr

Select t.*, a.Value
FROM
 TableWithPerodicalAttr t
 LEFT PerodicalAttrTable a ON :DateAttr BETWEEN a.DateFrom AND a.DateTo  

В данном случае параметр :DateAttr задается пользователем перед открытием НД


← →
Dmitry_Chernov   (2006-10-11 11:31) [9]

Все это хорошо если одно два таких поле, а если их много... на каждое поле нужно создавать отдельную таблицу...

Нельзя ли дату актуальности хранить в том же поле что и само значение?


← →
Sergey13 ©   (2006-10-11 11:39) [10]

> Нельзя ли дату актуальности хранить в том же поле что и само значение?

Это как?

С такими желаниями тебе наверное надо в объектные БД смотреть - может там это есть.


← →
ЮЮ ©   (2006-10-11 12:03) [11]


> на каждое поле нужно создавать отдельную таблицу

Можно и в одной, добавь поле
Attr в PerodicalAttrTable, униапльное для каждого атрибута и

TableWithPerodicalAttr t
LEFT PerodicalAttrTable a1 ON (a1.attr = 1) AND ...
LEFT PerodicalAttrTable a2 ON (a2.attr = 2) AND ...



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.027 c
3-1160504139
Kolan
2006-10-10 22:15
2006.12.17
Что почитать по работе с MS SQL Server в Delphi?


15-1164759080
vasIzmax
2006-11-29 03:11
2006.12.17
Как быть?


2-1164702396
Альберт
2006-11-28 11:26
2006.12.17
путь к файлу


2-1164627544
mmms
2006-11-27 14:39
2006.12.17
Можно ли в TRichEdit вывести текст с фоном произв. цвета?


2-1164531743
SamProf
2006-11-26 12:02
2006.12.17
Как юзать TMutex в Delhi 2006




   Наверх