Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.01.20;
Скачать: CL | DM;

Вниз

Вопрос по нумерации   Найти похожие ветки 

 
jen_bond ©   (2003-12-23 20:05) [0]

Мастера подскажите, а то что-то решение ни как не могу придумать.
Есть таблица в которой храниться информация о доп.соглашениях к договорам. Данная таблица завязана с таблицей

договоров через Foreign key(id_sdelka). Необходимо ввсети нумерация доп.соглашенй к каждому договору. Доп.соглашений

на любой из договоров может быть неограниченное кол-во.
Пример:
Договор №1:доп.соглашение №1,№2
Договор №2: доп.соглашение №1,№2,№3 и.тд.
Каким образом можно контролировать данную нумерацию?


 
Silver_ ©   (2003-12-23 20:30) [1]

Дополнителиная таблица

Договор_ДопСоглашения
-id_sdelka
-LastSoglasNr

Когда добавляеш новое соглашение(лучше в OnBeforePost) заглядываеш в Договор_ДопСоглашения находиш соответствующий id_sdelka
и забераеш значение LastSoglasNr, незабывая отинкрементить; если не нашел - добавляеш соответствующий id_sdelka
и LastSoglasNr = 1
Сам так делаю пока ничего лучшего не придумал


 
Nikolay M. ©   (2003-12-23 20:43) [2]


> Каким образом можно контролировать данную нумерацию?

Триггер на вставку в таблице доп. соглашений + генератор.


 
Johnmen ©   (2003-12-23 23:22) [3]

>доп.соглашение №1,№2,№3

Имеют ли такие номера "жизненное" выражение ? Или это чистый суррогат ?
От ответа на этот вопрос зависит ответ на твой вопрос...


 
Nikolay M. ©   (2003-12-24 09:51) [4]


> Имеют ли такие номера "жизненное" выражение ? Или это чистый
> суррогат ?

Угу. Имхо, достаточно даты заключения доп. соглашения, а пользователю их показать, отсортированными по дате. И номер тогда возникает уже в процессе выборки доп. соглашений, следовательно, нет проблемы его генерации и хранения. А если одно из соглашений удалят? Будет дырявая нумерация?


 
Sergey13 ©   (2003-12-24 10:07) [5]

2jen_bond © (23.12.03 20:05)
Программно проблема решается просто
select max(номер)+1 where id_sdelka=:id
при вставке.
Но должны быть прописаны и некие правила, например не разрешающие удалять дополнения, или перенумерация при удалении. Так же надо предусмотреть защиту при многопользовательском доступе.

2Nikolay M. © (24.12.03 09:51) [4]
> а пользователю их показать, отсортированными по дате
Иногда номер пункта - это часть документа и такой подход недопустим.


 
Nikolay M. ©   (2003-12-24 10:22) [6]


> Иногда номер пункта - это часть документа и такой подход
> недопустим.

Поэтому в [3], [4] были уточняющие вопросы, а не советы, что так именно и нужно делать.
Если номер таки нужен, тогда [2].



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

Текущий архив: 2004.01.20;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.017 c
14-63341
Anatoly Podgoretsky
2003-12-30 07:43
2004.01.20
С днем рождения 30.10.2003


6-63275
Dysan
2003-11-18 13:06
2004.01.20
Connection Closed Gracefully


1-63244
@ndrey
2004-01-11 02:55
2004.01.20
Мастера, как отнять несколько символов от слова !!!!


1-63059
MadAngel
2004-01-08 23:44
2004.01.20
Проблема с XP


1-63165
gagarin
2003-12-25 13:23
2004.01.20
Memo