Имя: Пароль:
1C
1С v8
Неправильная ТекущаяДатаСеанса() в 8.2 УФ
,
0 Tedman
 
29.01.13
10:48
Добрый день, коллеги.
У меня возникла очень интересная проблема, с которой я вчера весь день ковырялся, и никак.
Пишу базу, т.е. перенём нужный функционал из БСП 2.1.30... тут всё как надо, ну и добавил свои документы, которые необходимы компании. Когда начал заниматься обменом по новому принципу увидел такую штуку.
ТекущаяДата() возвращает всё правильно, например 10:41:05, а вот ТекущаяДатаСеанса() возвращает 02:41:05. На компе стоит Win 7 x64, с часами и часовым поясом всё нормально. Другие базы (та же БСП 2.1.30) и Бух 3.0 возвращает тоже правильную дату.
Даже когда я базу загружаю на сервер в клиент-серверный режим, проблема не решается.
Методов вроде "УстановитьЧасовойПоясСеанса" не используется.
Забить на это дело не могу, т.к. документы создаются с неправильной датой, т.е. на 8 часов меньше, и такие операции, как фоновый обмен, тоже.
Подскажите, пожалуйста, в какую сторону можно копать?
1 Tedman
 
29.01.13
11:35
Ни у кого даже мыслей никаких?
2 GROOVY
 
29.01.13
11:39
Получает текущую дату сервера, приведенную к часовому поясу сеанса.
При вычислении даты используется один из заданных часовых поясов в порядке:
часовой пояс сеанса, часовой пояс информационной базы, часовой пояс сервера.

Кто тебе сказал что метод возвращает что-то неправильно?
3 Maxus43
 
29.01.13
11:42
Синтаксис:
ЧасовойПоясСеанса()
Описание:
Получает идентификатор часового пояса текущего сеанса

видимо там не всё хорошо, смотри УстановитьЧасовойПоясСеанса(<ЧасовойПояс>)
4 Tedman
 
29.01.13
12:04
(2)Живу в москве. Текущее время: 12:00.
В винде в панели управления, "Дата и время": (UTC+04:00) Волгоград, Москва, Санкт-Петербург.
Это говорит о том, если я правильно понимаю, что часовой пояс сеанса должен соответствовать тому, что я вижу на часах в трае.
Ставлю точку останова в УстановкеПараметровСеанса. ЧасовойПоясСеанса() возвращает "Etc/GMT+4", что, я думаю, говорит о том, что часовой пояс информационной базы тоже должен соответствовать UTC +4, а не UTC -8.
Копипаст прямо из табло:
ТекущаяДатаСеанса()    29.01.2013 4:04:06


А вот все операции, типо фонового обмена и пр., которые происходят на сервере, стоят в нормальной дате.
5 Tedman
 
29.01.13
12:05
(3) Понимаю, что в принципе, ситуацию можно исправить таким образом, но это не есть правильно.
6 Tedman
 
29.01.13
12:10
(2) Уважаемый гуру, я давно общаюсь с 1с, но подобного со мной ещё не случалось, и информации в инете по этому вопросу я не нашёл. Вы не могли бы объяснить как "для дебила", может я просто чего-то не понимаю, или что-то делал не так...
Вся ситуация сложилась после того, как я к своей конфе присоединил необходимые мне подсистемы из БСП.
7 Maxus43
 
29.01.13
12:14
>>один из заданных часовых поясов в порядке:
>>часовой пояс сеанса, часовой пояс информационной базы, часовой пояс сервера
т.е. часовой пояс сеанса - первый, и он почему то -8, его и берёт. Как это связано с подсистемами БСП - вобще хз. ждём просвящённых
8 Tedman
 
29.01.13
12:16
(7) так в том то и дело. Я подумал, что в БСП есть что-либо связанное с установкой даты сеанса через установку часового пояса. Перерыл (как мне кажется) всё - ничего не нашёл.
9 Tedman
 
29.01.13
12:17
(2) Уважаемый Павел, вернитесь пожалуйста.
10 Tedman
 
29.01.13
12:19
а... и, если всё же кому-то не всё-равно, то проблема остаётся даже когда я базу локально запускаю, т.е. не в клиент-сервере.
11 GROOVY
 
29.01.13
12:23
Что возвращает ЧасовойПояс() на клиенте и на сервере?
12 Tedman
 
29.01.13
12:25
На сервере "Europe/Moscow" а на клиенте такого метода в тонком клиенте нет.
13 GROOVY
 
29.01.13
12:27
(12) А сеанса возвращает Etc/GMT+4 ?
14 Рыцарь
 
29.01.13
12:27
(12)на клиенте аналог - ТекущаяДата()
15 GROOVY
 
29.01.13
12:28
(14) Да неужели?
16 Tedman
 
29.01.13
12:29
Да.
(14) Спасибо, я это учту.
17 GROOVY
 
29.01.13
12:33
(16) У меня возвращает всегда Europe/Moscow, делаем вывод, что часовые пояса сеанса и сервера различныы. Почему? Не знаю, надо искать. Скорее всего где-то программно устанавливается.
18 Tedman
 
29.01.13
12:36
(17) о... это уже что-то.
Спасибо, буду тогда копать. Если что нарою - отпишусь.
19 GROOVY
 
29.01.13
12:37
(18) Не за что. На всякий случай напомню, часовых поясов 3: Сеанса, сервера и инф.базы.