Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Смещение даты/времени при оперативном проведении
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.3
Bernet
Всем привет.
Платформа 8.3.6, Управление Торговым Предприятием для Украины последний релиз. База клиент-сервер.

В процессе работы обнаружили следующий прикол платформы: периодически менеджеры жалуются, что время документа реализации ставится не совсем адекватное, т.е. смещается бывает на несколько минут, бывает на несколько часов. Но происходит такое не каждый раз и отследить закономерность пока не удалось, руками время не меняют. Используется сервер 1С и терминальный сервер. Сверяли время на сервере 1С, на терминале и на локальных компах пользователей - время у всех одинаковое (+/- пару секунд не существуенно), часовой пояс: Киев везде установлен. Вопрос почему периодически смещается дата и почему это не происходит систематично? Кто сталкивался с такой проблемой и как боролись?

Немного поковырявшись, сделали такую обработину чтобы проверить теорию:
Сообщить(ТекущаяДата());
Сообщить(ПолучитьОперативнуюОтметкуВремени());
    
Ит = 1;
Пока Ит <= 200 Цикл
    
    ДокОбъект = ДокСсылка.ПолучитьОбъект();
    ДокОбъект.Записать(РежимЗаписиДокумента.Проведение, РежимПроведенияДокумента.Оперативный);
    
    Ит = Ит + 1;
КонецЦикла;
    
Сообщить(ТекущаяДата());
Сообщить(ПолучитьОперативнуюОтметкуВремени());

Если вы выполните этот код у себя, то увидите что в сообщениях текущее время будет адекватное, т.е. то какое у вас на компе/терминале/сервере 1С, а вот Оперативная отметка времени после стольких оперативных проведений съехала на пару часов. Прочитав в Синтаксис-помощнике за функцию ПолучитьОперативнуюОтметкуВремени() узнал что эта функция смещает оперативную метку каждый раз на 1 секунду, но прикол в том что этой функции поиском в коде я не нашел (сначала начал грешить именно на неё, думал что используется в конфигурации). Соответственно все документы которые будут проводится позже, также будут с неправильным временем.

Вопрос: из-за чего такие карусели? что ещё может влиять на время документов? Может ли функция ПолучитьОперативнуюОтметкуВремени() использоваться платформой неявно (поэтому не могу найти в коде)?
podcast
Bernet @ Вчера, 17:53 необходимо зарегистрироваться для просмотра ссылки ,
Константа стоит Проверять разницу во времени?
Bernet
podcast @ Сегодня, 9:48 необходимо зарегистрироваться для просмотра ссылки ,
Нет, отключено

вроде как эта константа не влияет на проведение документов, она просто выводит предупреждение если не совпадает время на сервере и локальное. Это мы уже и так проверили, все в одном часовом поясе
daveal
Может это поможет: необходимо зарегистрироваться для просмотра ссылки
Bernet
daveal @ Сегодня, 9:59 необходимо зарегистрироваться для просмотра ссылки ,
Ну не знаю, это тоже о чем я в описании темы писал, вызов этой функции в коде я не нашел, если она вызывается автоматом при оперативном проведении, то получается надо искать где в коде много раз документы проводятся оперативно. Пока что просто если такие приколы случается то ночью делаем рестарт агента сервера 1С, тогда следующие документы нормальной датой проводятся. Попробуем какой-то лог добавить тогда, может получится вычислить откуда косяки лезут
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.