Nick |
Отправлено: 23.07.2004, 09:41 |
|
Машинист паровоза
Группа: Участник
Сообщений: 247
|
у кого нибудь есть опыт по созданию, как бы это выразить
справочников зависимых от времени запроса.
т.е.
В 2000 году организовали подразделение "Бригада Ух"
в нее вошли Бригадир и Работники,
потом вплоть до 2002 менялся и бригадир и работники
мне нужно организовать справочники так что-бы получить состав бригады в любой момент времени.
справочники будут организованы ввиде дерева в одной таблице по идее описанной на www.ibase.ru (несколько статей разных авторов)
только там нет такой возможности.
|
|
AVC |
Отправлено: 23.07.2004, 10:24 |
|
Ветеран
Группа: Модератор
Сообщений: 1583
|
Таблицы нужно вырождать по времени.
В таблицу добавляется два поля типа Date "Принят"/ "Уволен" и все выборки идут с учетом этих полей. Немного (а иногда и очень) усложняет выборки.
|
|
Nick |
Отправлено: 23.07.2004, 11:00 |
|
Машинист паровоза
Группа: Участник
Сообщений: 247
|
Да это конечно можно сделать при организации справочников обычным способом.
Но мне вдруг пондравилась идея ООП в базе данных
Там это никак не влезет.
Нужно что-то другое придумать. |
|
Женя |
Отправлено: 02.08.2004, 10:12 |
|
Не зарегистрирован
|
В 1С была попытка решить эту проблему при помощи периодических реквизитов. Это такое поле, которое на самом деле не поле, а как бы поле развернутое на оси времени, т.е. там есть метод типа ПолучитьЗначениеНаДату (Называется он не так совсм — но не суть). Если на уровне объектной модели это реализовать — то очень неплохо — физически — это все равно две таблички. Но в той же 1С эту проблему решили бы так: Справочник сотрудников стационарен. А вот факт присутсвия — увольнения оформляется отдельными записями в таблицу принятий и увольнений. И делая запрос именно в таблицу приема/уваолнений можно получить актуальный список. И того — 4 таблицы, 5 минут позора и все ОК ))
ЗЫ: В 1С это все давно придумано, но фишка в том, что когда объем базы меньше 300 МБ это еще как то работает — а потом уже ОЧЕНЬ ДОЛГО, даже если на MSSQL платформе. |
|
Nick |
Отправлено: 02.08.2004, 11:40 |
|
Машинист паровоза
Группа: Участник
Сообщений: 247
|
поэтому велосипед и конструю.
кстати
1С — терпеть не могу.
зарплату делал в досе когда еще 1С в зародыше была,
работает до сих пор в 2 организациях без поддержки. |
|
Женя |
Отправлено: 02.08.2004, 11:55 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 7
|
Проковырялся с 1с года три, чуть не пошел сертификат получать — но все равно не люблю тоже. Фактически работа программиста 1С — не столько программирование, сколько бодание с Бухом что возможно, что нет и кто за это ответит
Но тем не менее, опыт у 1С в этой области огромный и учитывать его все-таки стоит. Во всяком случае, по своей практике могу сказать, что зачастую, если использовать то,что придумано в 1С в "в меру обрезанном" варианте — то это — не плохо. Хотя конечно, с третьей стороны, 1С скорее хороший маркетинг нежели хороший продукт, хотя есть там и удачные идеи. На самом деле, есть большое желание, когда состарюсь и стану не кому не нужен написать для Builder ту объектную модель, которая реализована на 1С. Не все конечно:) Даже из отсутствия необходимости выполнять p-код должно работать быстрее, я уж не говорю, о том, на сколько удобнее писать на нормальном, человеческом языке программирования, а не на обрезанном под корень предметноориентированном бейсике на русском языке. |
|