gifts2017

Внешний источник данных к 1с 8.2 , смещение дат +2000 лет поля _Date_Time и григорианский календарь

Опубликовал Захар Малиновский (zavla) в раздел Программирование - Практика программирования

Да, конечно низзя! К 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!

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Герман (German) 04.12.13 09:32
GWF там все гораздо хитрее со смещением
2. DAnry (DAnry) 04.12.13 16:22
Спасибо за статью. Как раз начинаю писать обработку для обмена данными 1С с другой програмой через внешний источник даных. Учту проблему.
3. Татьяна Крестьянкина (oleg212) 03.01.14 11:18
Спасибо, буду иметь ввиду
4. Александр Кутин (Aprobator) 06.09.16 14:30
;ДОБАВИТЬКДАТЕ(&Период, МЕСЯЦ, -24000) вполне себе неплохо прокатывает.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа