Внешний источник данных к 1с 8.2 , смещение дат +2000 лет поля _Date_Time и григорианский календарь
Да, конечно низзя! К 1с через SQL только если припрёт! И вот припёрло, ведь ком соединение не настраивается на перетаскивание только части описания метаданных, а значит перетягивает все метаданные и работает медленно.
А вот подключение к SQL базе 1с через внешний источник данных работает быстро.
Ему не нужны метаданные "всего и вся знает чего", а только то что описано в таблице внешнего источника данных.
Но при работе с колонкой _Date_Time в базах 1с со смещением дат +2000 лет есть нюанс…
- Описание
- Подробнее
Описание
А именно в том что нельзя сравнить поле «Дата» базы SQL , оно же _Date_Time типа datetime, с вашим любимым параметром типа дата в запросе 1с.
И даже в запросе ДОБАВИТЬПЕРИОД(РеализацияТоваровУслуг.Дата, год, -2000) в моей базе для даты 20.11.2013 даёт 20.05.2014.
Т.е. нельзя просто так вычесть из значения даты в колонке _Date_time 2000 лет и получить нужную тебе дату , например для сравнения в разделе ГДЕ в запросе.
Поэтому можно воспользоваться числом дней ПОЧТИ совпадающим с числом дней в григорианском календаре и таки заставить 1с ПРАВИЛЬНО вычислить дату на основании даты в колонке _Date_Time:
ДОБАВИТЬПЕРИОД(РеализацияТоваровУслуг.Дата, день , -365.2426*2000)
Вот так вот моя дата 20.11.4013 в поле _Date_Time всё таки вычисляется в дату 20.11.2013 в моей 1с 8.2.19.68!

