Таблица "v8users" содержит значения типа Дата, которые не могут быть записаны в MS SQL Server с нулевым смещением дат



Так как в интернете по данному вопросу не особо много решений, решил поделиться своим опытом.

Суть такая, при загрузке в SQL-версию 1c выгрузки файловой базы *.dt иногда возникает такое сообщение: «Таблица ‘v8users’ содержит значения типа Дата, которые не могут быть записаны в MS SQL Server с нулевым смещением дат»

 

Если после загрузки зайти в Enterprise Manager и посмотреть таблицу «v8users», то можно увидеть, что столбец Changed представлен датами вида «01.01.5999 10:49:17»:

 

Как видим, даты в таблице сильно завышены.

Данный косяк практически не мешает последующей работе с сиквел версией 1с, но в принципе все же лучше когда такого предупреждения не возникает 🙂

Поэтому для устранения этой проблемы, достаточно перед загрузкой файловой базы зайти в справочник Пользователей ИБ и перезаписать их всех перед загрузкой.

 

А после загрузки еще раз перезаписать.

 

11 Comments

  1. kasper076

    Большое спасибо за решение проблемы. Буквально недавно столкнулся с такой проблемой, но просто оставил все как есть не найдя адекватного ответа.

    P.S.

    Все же видимо перезаписать, а не перепровести.

    Reply
  2. Misanets

    «… зайти в справочник Пользователей ИБ и перепровести их всех…»

    Проводят — документы, а элементы справочника — записывают.

    ИМХО, стоит исправить описание обработки, а то слух режет.

    Reply
  3. спасибо, справил на «перезаписать» 🙂

    Reply
  4. dyh

    А лучше сразу правильно указать в этом «сиквел» нужное смещение…

    Reply
  5. (4) кстати, про смещение, даже если стоит смещение дат, равное 2000, ошибка такая все равно возникает 🙂

    Reply
  6. dyh

    (5) да, вот только на днях столкнулся с такой ситуацией )))

    Пришлось через манагера чистить справочник

    Reply
  7. gala2009

    а вообще ничего плохого не будет, если не перезаписывать справочник пользователей после зфагрузки в SQL?

    уже вгрузила базу из файловой, перезапустила конфигуратор, перезаписала пользователей. но как бы первый этап не выполнила, сначала не записала

    Reply
  8. pavel06

    «достаточно перед загрузкой файловой базы зайти в справочник Пользователей ИБ и перезаписать их всех перед загрузкой».

    Эта фраза непонятна, как и то, что должно быть в «правильной» базе.

    У меня такое сообщение тоже возникает иногда, но у пользователей, если посмотреть в MSSQL Management Studio таблицу v8users — разные даты: есть 5999-01-25 или 5999-02-03, а есть 4015-04-15

    Даты с 4015 правильные? _YearOffset установлен в 2000 как надо.

    Я, например, загрузку dt из файловой базы использую тогда, когда надо накатить 1С обновление, а оно в MSSQL версии не хочет накатываться.

    Тогда перегружаю базу в файловый вариант и там обновление накатывается, а потом обратно перегружаю на MSSQL обновленный dt и при этом эта ошибка. Где надо мне перезаписывать пользователей: во временной файловой базе? Или просто зайти в поверх обновленную в MSSQL и пересохранить пользователя? Я пересохранил пользователей с 5999-мм-дд в MSSQL базе и получил у них 4015-09-17.

    А что страшное будет, если такого пользователя не пересохранить?

    Reply
  9. progr-2008

    На MS SQL 2014 такая ошибка есть?

    Reply
  10. yunatali

    Огромное спасибо! Оперативно разрешили возникшую проблему!

    Reply
  11. skillman

    Добрый день! Я решил данную проблему следующим образом открыл dbo.v8users у всех пользователей в поле Changed — 5999 год. Менять надо вычитая из года 2000. Остальное не трогать.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *