Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Проведение через кнопку "Провести и закрыть"

Проведение через кнопку "Провести и закрыть"
Я
   Popkorm
 
02.12.20 - 13:39
Вообщем сделал условие по дате документа ПередЗаписью и Призаписи
https://clip2net.com/s/4a3E9wl

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

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

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

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

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

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

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

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


Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.