Внешние источники данных 1с, проблема с Date Time?
Ошибка: В запросе нельзя использовать даты больше 3999 года.
Внешние Источники Данных
Создаю запрос к таблице без параметров вытаскивая первую попавшуюся дату документа 19.09.4014 08:43:17
Хорошо думаю надо параметр передавать со смещением 2000.
Ругнулся, хорошо думаю, буду передавать без смещения ну а там уже функцией ДОБАВИТЬКДАТЕ(&Дата, ГОД, 2000) добавлю смещение. Опять ругается, при попытке же передать просто без смещения ни чего не находит.
Что ругается? При попытке выполнить запрос выпадает с ошибкой? Тогда вдвойне странно, что такая дата вообще может быть обработана запросом и попадает в выборку. (у меня просто нет таких безумных данных, что бы проверить).
Дмитрий Кинаш: я подключаю другую базу данных, в MS SQL дата лежит со смещением в 2000 лет, вот только 1с запрос не желает работать с такими большими годами!
Что значит в порядке, если вы тут же пишете, что данные не находит? Вы в консоли отчетов/запросов смотрели выдачу функций даты? На ГОД() по ссылке на документ с 19.09.4014 выдает цифру 4014 или какую-то левую? Если нужную, то никаких проблем вообще не вижу. Если левую, то какую? Ноль?
Дмитрий Кинаш: "в порядке" значит ни каких ошибок он не выдает, вообще, просто тупо отрабатывает запрос. 4014. Нужную выдает, как не видите проблемы? Как мне тогда параметр даты передать?
Перечитайте мой ответ. На стороне кода 1С разбиваете дату на три переменных - день, месяц и год. Далее вместо даты из будущего просто передаете в запрос три числовых переменных. В запросе эти переменные сравниваете с датой из вашей таблицы, которую так же разбиваете на три числовых компоненты - год, месяц и день. Все - результат получен!