ТекущаяДата() 01.01.1970

1. slitov 7 21.01.19 11:05 Сейчас в теме
Странная ситуация происходит с сервером, после обновления на 8.3.12.1790 стали происходить странные вещи с базами на агенте 8.2.19.130....
На сервере крутится два агента 8.3 и 8.2 на разных портах. На каждом свои базы, после перехода на 8.3.12.1790 стали замечать, что периодически в базе на 8.2 стала отрабатывать выгрузка с датой 01.01.1970. Перенесли агента 8.2 на другой сервер, но проблема не ушла, возникает по непонятной причине и непонятно как пропадает.
Что самое интересное, функции Год(), Месяц() и День() возвращают правильную дату... Агента перенес, автоматическое обновление времени сервера отключил, SQL крутится на другом серваке, сервера загружены максимум на 70% в момент возникновения ошибки. Может есть варианты куда еще посмотреть?

ТекущаяДата() = 01.01.1970 0:15:00
Формат(ТекущаяДата(), "ДФ=yyyy-MM-dd") = 1970-01-01
Формат(ТекущаяДата(), "ДЛФ=Д") = 1 января 1970 г.
Строка(Год(ТекущаяДата())) = 2 019
Строка(Месяц(ТекущаяДата())) = 1
Строка(День(ТекущаяДата())) = 21
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Dmitrij-2 45 21.01.19 11:27 Сейчас в теме
3. herfis 499 21.01.19 11:37 Сейчас в теме
Что такое "Перенесли агента 8.2 на другой сервер"?
Перенесли кластер?
"Выгрузка" - это регламентное задание?
4. slitov 7 21.01.19 11:52 Сейчас в теме
(3) Да, перенесли кластер. Выгрузка выполняется регламентным заданием
(2) кеш чего чистить?

При версии платформы 8.3.10.2772 таких ошибок не появлялось, начала появляться после перехода на 8.3.12.1529... Хотя база в которой появляется ошибка с датой крутится на 8.2. Может ошибки не взаимосвязаны, но есть подозрения...
5. herfis 499 21.01.19 12:14 Сейчас в теме
(4) Было-было, но такого не было :)
При этом проблемы начались с базами 8.2, версия платформы для которых не менялась.
При этом проблема не ушла после переноса кластера 8.2 на другой сервер.
Я все правильно понял?
Очень странная ситуация.
Ну, я бы, наверное, зашедулил первым делом на серверах системный скрипт (не 1С), мониторящий серверную дату и записывающий в лог при отклонениях от текущего года. Чтобы хоть понять, кто виноват.
6. slitov 7 21.01.19 12:25 Сейчас в теме
(5) Все правильно поняли. Спасибо за совет, попробую.
7. herfis 499 21.01.19 12:44 Сейчас в теме
Фига себе, оказывается похожая проблема всплывала у людей еще в 12-13 годах. Так что очень похоже, что это именно проблема с 8.2
Якобы проблема локализовывалась конкретным рабочим процессом, который начинал себя так вести (другие рабочие процессы кластера продолжали выдавать правильное время). Якобы помогал перезапуск проблемного рабочего процесса (судя по всему, временно).
Пару человек отписалось, что помогла некая "чистка кэша". Насколько я могу догадываться, речь о чистке настроек пользователя, под которым стартует сервер приложений (там где-то в дебрях настроек он конфу кэширует). С другой стороны, раз вы переносили на другой сервер и пользователь скорее всего у вас дефолтный, то настройки и так должны были почиститься...
8. slitov 7 21.01.19 17:12 Сейчас в теме
(7)
Ну сначала обнаружили, когда процессор загружен на 100%, тогда данная проблема возникала. Но теперь перенесли все на другой сервер, оставив только сервер терминалов. Агента 1С запустили под другим пользователем, на всякий случай. На данный момент запущено два процесса 8.2, по какой причине сейчас 1970 год появляется вообще не понятно, все серваки работают в половину силы. Написал простой батник по Вашему совету (echo %DATE% %TIME% >>D:\Date.txt), жду очередного сбоя времени, но подозреваю не поможет. А что самое интересное, функция Строка(Год(ТекущаяДата())) выдает правильную дату...
9. herfis 499 21.01.19 18:09 Сейчас в теме
А может - ну его? Может, просто запускать старые базы в кластере 8.3? Сломаться вроде ничего не должно, если режим совместимости отработает как надо.
А так как есть большие подозрения что ошибка - продукт старых релизов 8.2, то должно отпустить.
10. alex-l19041 8 21.01.19 18:21 Сейчас в теме
(9) у нас не было проблем, когда переходили с платформы 8.2 на 8.3
11. meriferi 22.01.19 08:14 Сейчас в теме
В диалоге есть параметр "РабочаяДата", почему-то иногда он слетает в непонятное значение, но, если туда зайти (там дата обычно правильная) поменять её на день назад и сохранить, а потом зайти и поставить на место, то везде начинает выдаваться установленная там дата.
Видимо, кто-то дату в кеш засунул, а что с ней потом сделать, не подумал.
12. slitov 7 22.01.19 09:49 Сейчас в теме
(11) Ошибка всегда вылетает в разное время и сама пропадает, обычно утром и всегда в начале часа.
(5) Дата на сервере всегда правильная, т.е. дело не во времени компьютера.
(11) А как объяснить, что функция Строка(Год(ТекущаяДата())) выдает правильный год? Ошибка начала появляться только с переходом на 8.3.12, в базе
(10) С ходу не взлетело, пока разбираюсь, наверно переход на 8.3 будет единственным вариантом выхода из ситуации...
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот