|
Время документа при оперативном проведении | ☑ | ||
---|---|---|---|---|
0
simol
18.11.15
✎
12:46
|
При оперативном проведении изменяется дата документа.
Сейчас в базе нет ни одного документа с датой больше чем дата на севере 1С. Сервер 1С перезапустил. В подписке Докумета ПередЗаписью и в При записью запрещаю записывать документы датой больше чем дата на сервере 1С. Но у пользователей при оперативном проведении упорно идет попытка установить дату документа больше даты на сервере. Почему дата ставиться больше чем за сервере? |
|||
1
neo_matrix_123
18.11.15
✎
13:15
|
(0) оперативное проведение меняет не дату, а время с времени документа на текущее и только если дата документа соответствует текущей. если проводится документ от вчерашней (прошедшей) даты - всегда проведение неоперативное. проведение с датой больше текущей - возможно только в контуре планирования, насколько помню, но там нет понятия "оперативное\неоперативное". у пользователя на компе дата какая? она должна быть синхронизирована с сервером.
|
|||
2
simol
18.11.15
✎
13:29
|
(1)Да, конечно речь про оперативное проведение документов текущей даты и про смену при этом времени на текущее. Но Оно меняет на будущее время.
Но я не позволяю записать документ с временем большем текущего серверного. Но я это прерываю уже в ПриЗаписи. Пользователь, даже те у кого время совпадает с временем сервера, жалуются что не могут провестись, потому что в ПриЗаписи уже время +2часа от текущего |
|||
3
simol
18.11.15
✎
13:32
|
Где берется время документа при оперативном проведении? Как оно может быть больше текущего при условии что документов с датой больше текущей в базе нет и сервер перезагружен?
|
|||
4
simol
18.11.15
✎
13:36
|
При этом при входе в 1С я запрещаю запуск 1С если время на клиенте больше времени на сервере 1С
|
|||
5
neo_matrix_123
18.11.15
✎
13:37
|
(2) а почему + 2? (3) у юзера, в 1С, сервис - параметры - рабочая дата. там что?
|
|||
6
simol
18.11.15
✎
13:45
|
(5)У меня все работают в тонких клиентах, там нет РабочаяДата
|
|||
7
simol
18.11.15
✎
13:53
|
(5)Время убегания увеличиваться снежным комом
Сначала это секунду, потом минуты. потом часы. Всех пользователей выгоняю. ставлю нормальное время в документах, перезапускаю сервер 1С. Заходять пользователи и опять начинает время вперед убегать. |
|||
8
neo_matrix_123
18.11.15
✎
13:59
|
(7) отладчик в руки и в модуль по вашим подпискам на событие...
|
|||
9
simol
18.11.15
✎
14:29
|
(8)Время не программно устанавливается. Вопрос про то, откуда берется время платформа при оперативном проведении документа текущего дня.
|
|||
10
simol
18.11.15
✎
15:14
|
Есть предположение ,что это из-за пользователей, у которых время ОТСТАЕТ от серверного.
|
|||
11
Enterprise
18.11.15
✎
15:26
|
(10) Под датой на Сервере 1С подразумевается дата компьютера, на котором он стоит?
|
|||
12
Enterprise
18.11.15
✎
15:35
|
(10) Может часто используется метод ПолучитьОперативнуюОтметкуВремени(), из-за которого смещение происходит
|
|||
13
Cyberhawk
18.11.15
✎
15:38
|
"В ходе оперативного проведения система изменяет время документа таким образом, чтобы очередной документ, проводимый в оперативном режиме, имел бы момент времени более поздний чем, у предыдущего оперативно проведенного документа. Для этого используется понятие оперативной отметки времени. Оперативная отметка получается системой автоматически при оперативном проведении, но может быть получена во встроенном языке в явном виде с помощью метода ПолучитьОперативнуюОтметкуВремени()"
|
|||
14
Cyberhawk
18.11.15
✎
15:38
|
Вот и проверь, и выводи в ЖР значение оперативной отметки времени, потом и поймешь, что к чему
|
|||
15
simol
18.11.15
✎
15:39
|
(10) Сравниваю ТекущееВремя() в серверных функциях и ТекущееВремя() в клиентских. И в принципе считал ,что первое соответствует времени компа на сервере ,второе времени компа на клиенте.
Часовой пояс одинаковый. |
|||
16
simol
18.11.15
✎
15:40
|
(12)Не использовал
|
|||
17
simol
18.11.15
✎
15:41
|
(13)я понимаю почему если есть будущая дата, то следующий оперативный будет позже него. Вот почему если нет документов будущей датой, то идет попытка записать ПЕРВЫЙ документ при оперативном проведении будущей датой.
А что в ПолучитьОперативнуюОтметкуВремени погляжу |
|||
18
Cyberhawk
18.11.15
✎
15:41
|
"В качестве оперативной отметки система, как правило, возвращает текущее время (текущую дату и текущее время). Однако если текущее время больше или равно последней выданной какому-либо пользователю отметке, то возвращается значение на секунду большее, чем значение последней выданной отметки."
+ "Все пользователи обращаются к единому механизму оперативной отметки времени, а механизм выдает каждому пользователю очередную отметку. Механизм получения оперативной отметки времени обеспечивает получение даты, большей, чем предыдущая отметка, полученная этим или другим пользователем в данном сеансе работы. В этом случае под сеансом работы понимается не работа одного пользователя, а работа всех пользователей, от момента входа первого пользователя в систему, до выхода последнего." |
|||
19
Cyberhawk
18.11.15
✎
15:43
|
Напрашивается вывод: какому-то пользователю выдается в качестве оперативной отметки будущее время дня, ну а всем последующим поэтому выдается еще большее значение
В конфигураторе сеанс тоже учитывается, если что |
|||
20
simol
18.11.15
✎
15:53
|
(19)Как-то пытаюсь выявить его.
сервер перезапустил и в 1С ни зашел ни один пользовтель со временем большим севрера убегает вперед. Есть пользователь с временем меньшим серверное - думаю проблема из-за них |
|||
21
Enterprise
18.11.15
✎
15:56
|
(20) Больше/меньше сервера на сколько?
|
|||
22
Cyberhawk
18.11.15
✎
16:05
|
Посмотри еще что возвращает у клиентов методы ЧасовойПоясСеанса() и ПолучитьЧасовойПоясИнформационнойБазы(), а также в коде конфигурации проверь, не выполняются ли методы УстановитьЧасовойПоясСеанса или УстановитьЧасовойПоясИнформационнойБазы (включая в коде регл. заданий)
|
|||
23
simol
18.11.15
✎
17:28
|
Я нашел проблему.
Если открыть документ, который проводится оперативно и часто нажимать записать (чаще чем раз в секунду), то его время убегает вперед. А у нас есть процесс где человек в одной ситуации не сколько дней выкручивался именно нажимая много раз записать. Ему нужна была не дата, дата оказалась побочным эффектом. |
|||
24
aleks_default
18.11.15
✎
17:36
|
(23) - это уже не оперативное проведение
|
|||
25
aleks_default
18.11.15
✎
17:37
|
ищи где у тебя изменяется дата документа программно
|
|||
26
simol
18.11.15
✎
17:51
|
(24)создал новый документ. С ним тоже самое.
Замером производительности посмотрел - дата программно не изменяется. Документы, которые проводятся быстрее 1 секунды - зло :) |
|||
27
ptiz
18.11.15
✎
17:53
|
(23) Да, оперативное проведение как минимум сдвигает время на секунду вперед. Это фича.
У нас в период интенсивного ввода документов время на час убегает. |
|||
28
Cyberhawk
18.11.15
✎
17:59
|
"есть процесс где человек в одной ситуации не сколько дней выкручивался именно нажимая много раз записать" // не представляю, как такое нажатие даже 3600 раз может кому-то помешать... или 3600 нажатий сдвигают оперативную отметку времени больше, чем на час вперед?
|
|||
29
simol
18.11.15
✎
18:02
|
(28) 5 человек по 5 минут нажимали по 2 раза в секунду записать документ. Это сдвиг 25 мину. Другие пользователи тоже проводят документы и у них уже +25 секунд. через пол часа это 5-ро опять проводят. и т.д.
|
|||
30
simol
18.11.15
✎
18:03
|
*+25 минут
|
|||
31
simol
18.11.15
✎
18:03
|
(27) Во-во. А в ситуации (29) это попа :)
|
|||
32
Cyberhawk
18.11.15
✎
18:23
|
Понятно. Ну тогда после записи в форме блокируй доступность кнопки "Записать" и подключай однократный обработчик ожидания, который разблокирует доступность кнопки
|
|||
33
simol
18.11.15
✎
18:43
|
(32)Да, полечил, но голову сломал почти
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |