Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / [игнор отключен] [закрыт для гостей] / 1C 8.2 БП2.0 хранение дат в SQL srv БД / 8 сообщений из 8, страница 1 из 1
20.04.2011, 14:10
    #37224562
VladimirKr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1C 8.2 БП2.0 хранение дат в SQL srv БД
Доборого дня!

После перехода 8.1БП 1.6-8.2БП1.6-8.2БП2.0 (переход делался без моего участия) произошло следующее:
поля, содержащие Даты документов (и соответственно регистров) теперь имеют содержимое на 2000 лет больше актуального,
то есть, например, дата документа, отображаемая в 1С как 2011.04.20 теперь хранится в SQL как 4011.04.20. Это создает неудобства при прямом доступе к данным.

Вопрос: А возможно ли это как нибудь изменить и привести даты к нормальному виду?
...
Рейтинг: 0 / 0
20.04.2011, 14:19
    #37224588
Господин ПЖ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1C 8.2 БП2.0 хранение дат в SQL srv БД
VladimirKrДоборого дня!

После перехода 8.1БП 1.6-8.2БП1.6-8.2БП2.0 (переход делался без моего участия) произошло следующее:
поля, содержащие Даты документов (и соответственно регистров) теперь имеют содержимое на 2000 лет больше актуального,
то есть, например, дата документа, отображаемая в 1С как 2011.04.20 теперь хранится в SQL как 4011.04.20. Это создает неудобства при прямом доступе к данным.

Вопрос: А возможно ли это как нибудь изменить и привести даты к нормальному виду?

кто-то шибко умный поставил галку "смещение дат" при создании БД из консоли сервера приложения 1С...
...
Рейтинг: 0 / 0
20.04.2011, 16:16
    #37224856
Shuhard
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1C 8.2 БП2.0 хранение дат в SQL srv БД
VladimirKr Вопрос: А возможно ли это как нибудь изменить и привести даты к нормальному виду?
привести можно,
при этом 1С начнет падать
...
Рейтинг: 0 / 0
20.04.2011, 16:29
    #37224883
VladimirKr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1C 8.2 БП2.0 хранение дат в SQL srv БД
Господин ПЖVladimirKrДоборого дня!

После перехода 8.1БП 1.6-8.2БП1.6-8.2БП2.0 (переход делался без моего участия) произошло следующее:
поля, содержащие Даты документов (и соответственно регистров) теперь имеют содержимое на 2000 лет больше актуального,
то есть, например, дата документа, отображаемая в 1С как 2011.04.20 теперь хранится в SQL как 4011.04.20. Это создает неудобства при прямом доступе к данным.

Вопрос: А возможно ли это как нибудь изменить и привести даты к нормальному виду?

кто-то шибко умный поставил галку "смещение дат" при создании БД из консоли сервера приложения 1С...

Тогда вопрос: а загрузкой-выгрузкой данных в новую БД можно привести к нормальному состоянию?
...
Рейтинг: 0 / 0
20.04.2011, 17:45
    #37225117
Господин ПЖ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1C 8.2 БП2.0 хранение дат в SQL srv БД
VladimirKrГосподин ПЖпропущено...


кто-то шибко умный поставил галку "смещение дат" при создании БД из консоли сервера приложения 1С...

Тогда вопрос: а загрузкой-выгрузкой данных в новую БД можно привести к нормальному состоянию?

не пробовал, не знаю. главное сделайте бэкап... или сделайте выгрузку (dt), а ее в другую базу загружайте.
...
Рейтинг: 0 / 0
20.04.2011, 19:10
    #37225302
VladimirKr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1C 8.2 БП2.0 хранение дат в SQL srv БД
Господин ПЖVladimirKrпропущено...


Тогда вопрос: а загрузкой-выгрузкой данных в новую БД можно привести к нормальному состоянию?

не пробовал, не знаю. главное сделайте бэкап... или сделайте выгрузку (dt), а ее в другую базу загружайте.
Выгрузкой-загрузкой не прокатило... Восстанавливается смещение дат из файла .dt видимо...

Пришлось делать операцию на мозге с помощью бензопилы: доработал код, найденный в сети (идея-то простая, но делать было страшно даже на специальной копии базы). Может кому-то пригодится...
Господин ПЖ...главное сделайте бэкап... или сделайте выгрузку (dt)...
+1024

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
Declare TablesAndFields cursor for
SELECT objects.name as Tablename, columns.name as columnname
FROM
    dbo.sysobjects as objects
left join dbo.syscolumns as columns
on objects.id = columns.id
where objects.xtype = 'U'
and columns.xtype =  61 

open TablesAndFields

Declare @TableName as varchar( 100 )
Declare @ColumnName as varchar( 100 )

FETCH NEXT FROM TablesAndFields
    into @TableName, @ColumnName

WHILE @@FETCH_STATUS =  0 
BEGIN
    Exec ('update ' + @TableName + '
    set ' + @ColumnName + ' = dateAdd(year,-2000,'+@ColumnName+')
    where ' + @ColumnName + ' > ''3999-12-31 23:59:59''')

   -- This is executed as long as the previous fetch succeeds.
   FETCH NEXT FROM TablesAndFields
    into @TableName, @ColumnName
END

close TablesAndFields
deallocate TablesAndFields
update dbo._YearOffset set Offset= 0 
...
Рейтинг: 0 / 0
22.04.2011, 16:53
    #37229261
AHDP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1C 8.2 БП2.0 хранение дат в SQL srv БД
Выгрузкой загрузкой лечится, но только при "ручном" изменении значения смещения дат в базе между выгрузкой-загрузкой. Смещение задаётся для базы при её создании на сервере в таблице _YearOffSet.
В бухгалтерии косяков из-за смещения дат не наблюдается, а вот в ЗиУПе их достаточно из-за непомерного увлечения 1С рассчётами всего и вся через запросы на сервере.
...
Рейтинг: 0 / 0
05.03.2012, 11:45
    #37691305
speterburger
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1C 8.2 БП2.0 хранение дат в SQL srv БД
VladimirKr,

если обнулить смещение могут возникнуть проблемы:

http://infostart.ru/public/58505/
...
Рейтинг: 0 / 0
Форумы / [игнор отключен] [закрыт для гостей] / 1C 8.2 БП2.0 хранение дат в SQL srv БД / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]