Имя: Пароль:
1C
1С v8
Проведение через кнопку "Провести и закрыть"
,
0 Popkorm
 
02.12.20
13:39
Вообщем сделал условие по дате документа ПередЗаписью и Призаписи
https://clip2net.com/s/4a3E9wl

заходим в ОбработкуПроведения:
  https://clip2net.com/s/4a3EelL

в ЭтотОбъект дата измененная, а в самой ссылке дата старая.
Документ новый, еще не записан, если нажму провести без закрытия, мой алгоритм срабатывает, если через кнопку "Провести и закрыть" дата не меняется. Своих подписок нет.

Есть какие нибудь соображения?
1 hhhh
 
02.12.20
13:44
(0) в ПриЗаписи нельзя, вы чего? ПередЗаписью.
2 acht
 
02.12.20
13:53
(0) > в самой ссылке дата старая. Документ новый, еще не записан
Взаимоисключающие пункты.

Ну и Формат(Дата(2020, 12, 02, 9, 0, 0), "ДЛФ=T") равен "9:00:00" а не тому, что ты ожидаешь
3 Popkorm
 
02.12.20
13:54
(1) конечно делал сначала перед записью, потом начал экспериментировать ПриЗаписи, но сам факт что в обработки проведения в ссылке дата не изменилась
4 Fragster
 
гуру
02.12.20
13:56
(0) конфигуратор получает данные не в той транзакции, что происзодит запись, по этому до момента фиксации транзакции с уровнем блокировки "read committed" ты будешь видеть предыдыщие значения ссылки. внутри же кода все будет ок, например если в коде в обработке проведения сделать
лДата = Ссылка.Дата а в конфигураторе в табло вывести лДата - там будет уже новая дата
5 Popkorm
 
02.12.20
13:59
(2) Формат Это же условие

Если Формат(ЭтотОбъект.Дата, "ДЛФ=T") <> "09:00:00" Тогда
        ЭтотОбъект.Дата = НачалоДня(ЭтотОбъект.Дата)+32400;
    КонецЕсли;

https://clip2net.com/s/4a3GfzC
6 fisher
 
02.12.20
14:02
А что стоит в свойстве формы "АвтоВремя"?
7 Popkorm
 
02.12.20
14:10
8 Popkorm
 
02.12.20
14:18
(4) нет, в ссылке старая дата

https://clip2net.com/s/4a3HLLp
9 Ненавижу 1С
 
гуру
02.12.20
14:19
(5) Если Формат(ЭтотОбъект.Дата, "ДЛФ=T") <> "09:00:00" Тогда

это говнокод, конечно
10 acht
 
02.12.20
14:20
(5) Это условие выполнятся всегда, т-щ "программист".
11 fisher
 
02.12.20
14:24
(7) Попробуй "Не использовать". Только установку времени все равно перенеси в "ПередЗаписью"
12 fisher
 
02.12.20
14:26
"...для варианта АвтоВремя = НеИспользовать при открытии берется рабочая дата (если она отличается от текущей) или текущая дата вместе со временем, а для остальных вариантов установка времени откладывается на момент записи документа"
13 Fragster
 
гуру
02.12.20
14:29
14 Popkorm
 
02.12.20
14:32
(11) после 6 сообщения я поставил  "Не использовать" , без результатно
15 Popkorm
 
02.12.20
14:34
(13) оценил ваш сарказм, но (8) в отладке показал что в ссылке старая дата
16 Fragster
 
гуру
02.12.20
14:38
(15) в ПриЗаписи и в ОбработкаПроведения в базе внутри открытой транзакции уже новые данные, если, конечно, кто-то альтернативно одаренный в этих обработчиках данные не изменил сам руками (платформа этого не делает). А из вне этой транзакции - либо ожидание, либо старые данные, в зависимости от уровня изоляции, о чем я в (8) и написал
17 fisher
 
02.12.20
14:51
(14) А программное изменение времени обратно в ПередЗаписью перенес? В ПриЗаписи оно не сохранится.
18 Popkorm
 
02.12.20
14:59
(17) да, я из передЗаписью не убирал, пройдя отладкой по всем процедурам и придя к процедуре ПриЗаписи, образуется ссылка со старым временем.
В (16) парень донес техническими терминами, но напрямую не хочет говорить куда копать, отправляет в (8), но и на том спасибо.
19 fisher
 
02.12.20
15:36
(18) Это он тебе про получение данных в табло. И то я с этим не готов согласиться. А проверять лень.
Исходной твоей проблемы это не касается - только представления информации в отладчике.
20 Popkorm
 
02.12.20
17:29
(19) протестил на другом документе "Перемещение товаров", нет таких проблем
21 Popkorm
 
03.12.20
10:01
Апну разок
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс