Здравствуйте, ToshiruWang, Вы писали:
TW>Здравствуйте, Michael7, Вы писали:
M>>Проектировщикам информационных систем на заметку.
TW>Тут надо ТЗ смотреть.
Я предполагаю, что такие заморочки в ТЗ вообще могли быть не оговорены. Про этот революционный календарь, почти уверен, что никто из разработчиков и заказчиков и не слышал, пока не наткнулись на такую хохму. Кстати, из коментариев там следует, что бабка далеко не единственная с такой проблемой.
TW> Раньше первичен был документ, если там стоит 31 февраля, то будь любезен — прими эту дату. С руганью, угрозами, но прими и сохрани в базе. Сейчас ситуация могла измениться или архитекторы не подумали о таком варианте и сделали отлуп (поле date значительно удобнее ручного разбора на каждый чих). Как правильно решает не программист, а постановщик задач после изучения предметной области и долгих споров с заказчиком. Что интересно — техническую дату (00.00) они реализовали(означает лишь "месяц и день неизвестны", 00. — только день неизвестен), а 29е — нет. Можно было бы печатать XX или ХЗ в этом случае на месте цифр (дабы не пугать людей). Печатать пустое в документе нельзя — простота подделки.
Думаю, что все еще проще: я не знаю СУБД в которой учитывался бы "революционный календарь". Это значит, что для работы с ним надо извращаться с промежуточными представлением — чего делать никто не захотел.