![]() |
![]() |
![]() |
|
v8: Устанавливаем 1С 8.2. на SQL. Подскажите, что означает галка "Смещение дат"? | ☑ | ||
---|---|---|---|---|
0
Radion
09.06.11
✎
11:00
|
Устнавливаем платформу 1С 8.2. на SQL. При создании новой базы, на окне создания есть галка "Смещение дат", подскажите что она означает? В желтой книжечке что то описания не нашел ((( Спасибо.
|
|||
1
ДенисЧ
09.06.11
✎
11:01
|
||||
2
Волшебник
09.06.11
✎
11:03
|
При создании базы с параметром смещения равным 2000 часто решается проблема "не уникальности" индексов на "датах".
Для работы наибольшего количества информационных баз достаточно дат больших 1 января 1753 года. Установка смещения дат 2000 ведет к усложнению обслуживания информационной базы и незначительному снижению производительности, поскольку все даты базы данных получают неестественные значения и требуют преобразования при чтении, записи и использовании. 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. v8: Смещение дат (ошибка в индексах) |
|||
3
Hipernate
09.06.11
✎
11:07
|
В таблички SQL даты пишутся с учетом указанного смещения, т.е. 09.06.2011 в sql будет записана 09.06.4011
|
|||
4
Dmitrii
гуру
09.06.11
✎
11:08
|
(0) http://www.its.1c.ru/db/metod81#content:4055:1
Данный параметр определяет число лет, которое будет прибавляться к датам при их сохранении в базе данных Microsoft SQL Server и вычитаться при их извлечении. Он может принимать значения 0 или 2000. Если установить смещение дат 0, то: при записи дат в диапазоне с 00:00:00 1 января 1 года по 23:59:59 1 января 1 года даты будут переводиться в диапазон с 00:00:00 1 января 1753 года по 23:59:59 1 января 1753 года, а при чтении - обратно; даты 1С:Предприятия с 00:00:00 2 января 1753 года по 23:59:59 31 декабря 3999 года будут записываться в базу данных без изменений; попытка записи в базу данных дат с 00:00:00 2 января 1 года по 23:59:59 1 января 1753 года будет приводить к ошибке. Если смещение дат установлено в 2000, то при записи в базу данных к дате будет прибавлено 2000 лет, а при чтении из базы данных - вычтено 2000 лет. Это позволит записывать в базу данных любые даты 1С:Предприятия. Однако, при этом незначительно снизится скорость работы с базой данных, и при просмотре базы данных средствами, отличными от 1С:Предприятия, все даты окажутся измененными. Таким образом, если при работе с информационной базой может возникнуть необходимость хранения дат, предшествующих 1 января 1753 года, то в качестве значения параметра следует выбрать 2000. Если же такие даты встречаться не будут, то в качестве смещения дат можно выбрать 0. Важно, что нулевое значение смещения дат может привести к нежелательным ошибкам. Эти ошибки возникают, если конфигурация все-таки выполняет попытки записи дат, предшествующих 1 января 1753 года, которые не планировались. Поэтому для смещения дат при создании информационной базы "1С:Предприятие 8.2" в качестве значения по умолчанию предлагает использовать значение 2000. После создания информационной базы значение данного параметра не может быть изменено. Для изменения значение смещения дат необходимо создать новую информационную базу и выполнить копирование старой базы через выгрузку информационной базы в файл и загрузку информационной базы из файла. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |