![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Аналог периодического реквизита в Delphi
Dmitry_Chernov © (2006-10-10 11:54:00)Вопрост такой, как реализовать аналог периодического реквизита в Delphi "малой кровью"? Может у вас есть информация по данному вопросу?
ЮЮ (2006-10-11 12:03:00) [1]
> на каждое поле нужно создавать отдельную таблицу
Можно и в одной, добавь поле
Attr в PerodicalAttrTable, униапльное для каждого атрибута и
TableWithPerodicalAttr t
LEFT PerodicalAttrTable a1 ON (a1.attr = 1) AND ...
LEFT PerodicalAttrTable a2 ON (a2.attr = 2) AND ...
Sergey13 (2006-10-11 11:39:00) [2]> Нельзя ли дату актуальности хранить в том же поле что и само значение?
Это как?
С такими желаниями тебе наверное надо в объектные БД смотреть - может там это есть.
Dmitry_Chernov (2006-10-11 11:31:00) [3]Все это хорошо если одно два таких поле, а если их много... на каждое поле нужно создавать отдельную таблицу...
Нельзя ли дату актуальности хранить в том же поле что и само значение?
ЮЮ (2006-10-11 06:31:00) [4]Ну и в чем проблема?
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 04:08:00) [5]эх... этот бы пользовательский интерфейс да в мою реализацию :)
Вообще как я себе это представляю. Лежит на форме датасет. Помимо обычных свойств этого датасета у него есть еще одно - дата актуальности. Присваиваем ей, например, текущую датувремя тогда все переодические поля возвращают значения актуальные на установленную дату. Вот что я подразумеваю под реализацией, т.е. удобство разработчику (мне) максимальное.
ЮЮ (2006-10-10 12:39:00) [6]Это не "реализация", а пользовательский интерфейс.
Допустим, не имея доступа к таблице напрямую а через х/п с параметром DateTime имеешь то же самое.
Dmitry_Chernov (2006-10-10 12:33:00) [7]а просто. Там на выбраном поле ставиш галочку что это периодический реквизит. Потом при запросе этого поля указываешь дату на которую нужно запрашивать этот реквизит и вуаля... отдается значение актуальное на указаную дату.
ЮЮ (2006-10-10 12:32:00) [8]И как же это реализовано в 1С ?
Dmitry_Chernov (2006-10-10 12:27:00) [9]
> З.Ы. Только при чем здесь Delphi
Это надо на дельфи реализовать....
> ItemValues Id Item Value DateFrom DateTo
Примерно так я и думаю, но это не так удобно как реализовано в 1С.
Спрашиваю я потому, что наверняка кто-то реализовывал механизм похожий.
Stanislav (2006-10-10 12:15:00) [10]Dmitry_Chernov (10.10.06 11:54)
А что это?
ЮЮ (2006-10-10 12:15:00) [11]Items
Id
Name
,,,
ItemValues
Id
Item
Value
DateFrom
DateTo - заполнял бы триггером, чтобы проще было находиить ту запись, что соответстует нужной дате
З.Ы. Только при чем здесь Delphi