Кто нибудь знает, каким принципом руководствуется 1С8.2 при записи даты в MS SQL?
Суть проблемы:
При записи данных в SQL сторонней программой, в 1С отображается дата на 2000 лет меньше, чем в таблице MS SQL. Соответственно при записи данных в регистр собственно самой 1С, в таблицу записывается не 2011 год, а 4011. С чем это может быть связано?
Формат дат в SQL может хранить дату в интервале от 1753 до 9999 годов. Этим и обусловлен сдвиг. Без него хранить дату, например, 555 год не получится, а может потребоваться.
(0) При создании информационной базы в клиент-серверном варианте с MS SQL (как обстоят дела с другими СУБД не знаю) у информационной базы есть свойство "Смещение дат", которое, если мне не изменяет память имеет два значения 0 и 2000. Вот эти то вот 2000 и вылезли при записи в ИБ сторонней программой. Поэтому при записи в ИБ сторонней программой надо делать анализ значения свойства информационной базе "Смещение дат" и делать на этот счет поправку.
Основная теорема систематики: Новые системы плодят новые проблемы.