При развертывании ИБ 1С v8.1 выбирайте СМЕЩЕНИЕ ДАТ = 2000
При создании базы с параметром смещения равным 2000 часто решается проблема "не уникальности" индексов на "датах".
Если не знаете смещение у существующей базы, используйте скрипт
SEL ECT TOP 1 Offset FROM _YearOffset
- Описание
- Подробнее
Описание
О том, что в 1с v8.1 можно избежать проблему неуникальных индексов при наличии проблемных дат уже писал. Но нет, периодически возникают сомнения у новичков: а правда ли это.
Почитайте партнерский форум (проблемы) :
1. Это проблема присуща толко MS SQL Server ( например на DB2 такой заморочки нет вообще). Изначально смещение — это формат хранения дат в субд.
2. Короткий пересказ мыслей разработчиков » Литерал ДАТАВРЕМЯ(1, 1, 1) адекватно представляется на всех СУБД и считается нулевой датой. Даты от ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) до ДАТАВРЕМЯ(1, 1, 1, 23, 59, 59) считаются временем без даты и тоже адекватно интерпретируются на всех СУБД. Различное поведение возможно для дат из диапазона с ДАТАВРЕМЯ(1, 1, 2) по ДАТАВРЕМЯ(1752, 12, 31, 23, 59, 59). Эти даты не могут быть представлены на MS SQL Server с нулевым смещением дат и могут интерпретироваться либо как нулевые даты, либо вызывать ошибку операций над данными.
В результате можно получить ошибку вроде Microsoft OLE DB Provider for SQL Server: Adding a value to a ‘datetime’ column caused overflow. HRESULT=80040E07, SQLSrvr: Error state=1, Severity=10, native=517, line=1
3. И хотя официальная позиция 1С туманна :), не стоит искать приключения …
Выбирайте смещение 2000.