Сбивается время проведения документов
Читают тему
Вход в личный кабинет
Для получения доступа к форуму необходимо
авторизоваться
или
зарегистрироваться
на сайте.
{{ formTitle ? formTitle : 'Заказ обратного звонка' }}
{{ formDescription }}
Сообщить об ошибке
Клиент-серверный вариант 1С. Автосалон+Автосервис+Автозапчасти рабочий релиз 4.1.01.05. Есть еще БП 1.6,ЗуП.
В Альфе время от времени сбивается время проведения документов. На сервере время правильное,а в документах выскакивает вперед и,даже может перейти на след.день. Приходится перегружать сервер,так как другого способа исправить ситуацию не нашли. в БП и ЗуП все нормально.
Сегодня, комп на СТО. Документ Перемещение товаров.Когда документ оформляется,то выставляется вначале время локального компа,а при проведение время с сервера. На сервере время системы правильное,но при проведении в документе Перемещение установилось сдвинутым на 2 часа вперед. И дальше время проведения идет уже в разнос.Сейчас в 9.24 последний оперативно проведенный документ в 13.08.
Очень надеемся на помощь. Спасибо.
"- При получении цены, остатков и пр. при редактировании документов исправлен сдвиг оперативной отметки времени."
По моему исправлено в релизе 4.1.01.15
"- При получении цены, остатков и пр. при редактировании документов исправлен сдвиг оперативной отметки времени."
Все дело в том, что функция ПолучитьОперативнуюОтметкуВремени сбивает эту отметку, т.е. каждый последующий вызов данной функции передвигает дату.
Например при получении цены для каждой позиции номенклатуры при редактировании табличной части.
Можно отыскать поиском по конфигурации вызовы ПолучитьОперативнуюОтметкуВремени.
Данные исправления коснулись очень многих модулей.
Все дело в том, что функция ПолучитьОперативнуюОтметкуВремени сбивает эту отметку, т.е. каждый последующий вызов данной функции передвигает дату.
Например при получении цены для каждой позиции номенклатуры при редактировании табличной части.
Можно отыскать поиском по конфигурации вызовы ПолучитьОперативнуюОтметкуВремени.
Попытка
Если обЗначениеНеЗаполнено(ЭтотОбъект.Дата) Тогда
#Если Клиент Тогда
НаДату=РабочаяДата+(Час(ТекущаяДата())*60*60)+(Минута(ТекущаяДата())*60)+(Секунда(ТекущаяДата()));
#Иначе
НаДату=ТекущаяДата();
#КонецЕсли
ЭтотОбъект.Дата = НаДату;
Иначе
НаДату = ЭтотОбъект.Дата;
КонецЕсли;
Исключение
НаДату = ТекущаяДата();
ЭтотОбъект.Дата = НаДату;
КонецПопытки;
Если мы правильно поняли,то получается так,что время проведения документа для Клиента берется из его компа.Так ли это? Если да-то надо четко выставлять время на каждом компе. Или мы не правильно поняли ? Пожалуйста,поясните.Спасибо.
время проведения документа для Клиента берется из его компа
Время проведения документа (именно момент времени) для файлового варианта - это время рабочей станции.
Для серверного варианта - время сервера.
И данное поведение никак не связано с тем, что был отказ от использования получения оперативной отметки времени.
Это не связано с тем фрагментом, который приведен.
В приведенном фрагменте проставляется дата (и время) документа. Далее документ набивается (часы за это время ушли). Но при оперативном проведении время поставится текущее (на момент проведения). Так же получаются например цены - на текущее время рабочей станции.
Что было ранее. При каждом "чихе" (создание нового документа, получение цены очередной строки таблицы товаров и т.д.) дергался метод получения оперативной отметки времени. Для сервера это был сигнал, что на этот момент времени будет что то записано в базу и ... сдвигал время вперед, чтобы последующие оперативные проведения были оперативными. Вот время и уползало.