Имя: Пароль:
1C
 
Как проверить модифицированность перед записью?
0 mastodont
 
02.02.21
15:19
При интерактивной записи объекта надо проверить были ли изменения.
Почему то Модифицированность всегда выдает "Истина"...

Как проверить?
1 Kigo_Kigo
 
02.02.21
15:21
(0) Наверно потому что понаписали всякой хрени и при открытии модифицированность уже естина?
2 Kigo_Kigo
 
02.02.21
15:23
При открытии в заголовке окна "*" стоит?
3 DrShad
 
02.02.21
15:24
пошел за попкорном
(1) + 1
4 polosov
 
02.02.21
15:25
(0) Смотря где проверяешь. Проверяй в ПередЗаписью формы.
НУ и (1) может быть
5 mastodont
 
02.02.21
15:28
(2) не стоит в том то и дело.
(4) проверяю перед записью в форме на клиенте
6 DrShad
 
02.02.21
15:32
если хочешь узнать что модифицировано, сравни реквизиты ссылки и объекта
7 Fragster
 
гуру
02.02.21
15:33
(6) даже если все реквизиты равны модифицированность может быть Истина. Если (1).
8 mastodont
 
02.02.21
15:36
(7) а в этом случае не будет * в заголовке?
9 Fragster
 
гуру
02.02.21
15:37
еще может в призаписи объект меняете, или в обработкапроведения
10 Kigo_Kigo
 
02.02.21
15:37
(8) пойдем другим путем, при открытии и сразу закрытии интерактивном. просит записать или сохранить?
11 Fragster
 
гуру
02.02.21
15:38
(8) модифицированность и * в заголовке работают одинаково. т.е. если нет *, то и модифицированность = ложь
12 polosov
 
02.02.21
15:39
(5) А покажи-ка код.
13 mastodont
 
02.02.21
15:40
(10) не просит.
14 mastodont
 
02.02.21
15:40
&НаКлиенте
Процедура Расш1_ПередЗаписьюПеред(Отказ, ПараметрыЗаписи)
    
    Сообщить(Модифицированность);
    
КонецПроцедуры
15 Kigo_Kigo
 
02.02.21
15:42
Тут в расширении, я не силен, пока скилл не прокачал еще
16 mikecool
 
02.02.21
15:49
(14) берешь стек вызовов и долго думаешь - где у тебя реквизит объекта изменяется
17 polosov
 
02.02.21
15:50
(14) Ты заставил меня проверить. УМВР
Платформа 8.3.18.1208
18 DrShad
 
02.02.21
15:51
(11) не всегда
19 polosov
 
02.02.21
15:52
(18) Тут не рассматривается случай изменения объекта в другом сеансе.
20 arsik
 
гуру
02.02.21
15:56
(14) Может все же Модифицированность() ?
21 mastodont
 
02.02.21
15:59
(20) нет у формы такого метода.
22 mastodont
 
02.02.21
16:00
(17) можешь привести код, которым проверял?
23 polosov
 
02.02.21
16:05
Основная конфигурация:
&НаКлиенте
Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)
    Сообщить("Мод = " + Модифицированность);
КонецПроцедуры

Расширение:
&НаКлиенте
Процедура КОЛ_ПередЗаписьюПеред(Отказ, ПараметрыЗаписи)
    //Вставить содержимое обработчика
    Сообщить("Мод расш=" + Модифицированность);
КонецПроцедуры
24 mastodont
 
02.02.21
16:07
Странно.
Все дело происходит в УТ11. Форма документа Заказ клиента.
25 polosov
 
02.02.21
16:08
(24) Ставь точку останова в приОткрытии()
Выводи Модифицированность в табло и сиди, тыкай на F10, пока модифицированность не станет Истина
26 mastodont
 
02.02.21
16:18
(25) это не поможет.

На форме нет * в заголовке.
Нажимаю дискетку.
Вызывается
&НаКлиенте
Процедура ЗаписатьДокумент(Команда)
    
    ОбщегоНазначенияУТКлиент.Записать(ЭтаФорма, Истина);
    
КонецПроцедуры

И тут модифицированность уже истина...

Возможно что-то с расширением но не пойму что...
27 mastodont
 
02.02.21
16:24
(26) дело не в расширении. В типовой демо базе УТ11 такое же поведение.
28 polosov
 
02.02.21
16:25
(26) Ну так переопредели этот метод. Сделай "Перед" свои проверки.
29 alkorolev
 
02.02.21
16:25
(9) в ПриЗаписи и ОбработкеПроведения объект уже не изменить, поскольку он уже в базе
30 hhhh
 
02.02.21
16:29
(26) ну, процедуру ОбщегоНазначенияУТКлиент.Записать() в студию
31 mastodont
 
02.02.21
16:34
(30) модифицированность до нее уже истина...
32 Вафель
 
02.02.21
16:36
так дискетка это не типовая команда, а команда с признаком изменяет данные.
при ее нажатии сразу модифицированность
33 mastodont
 
02.02.21
16:39
(32) так, а можно поподробнее?

И возвращаясь тогда к (0)  мне как-то надо понять менялось ли что0то или нет... Как это можно сделать?
34 Вафель
 
02.02.21
16:42
по нажатию этой кнопки уже никак.
но можно у команды снять галку, но дизаблить при только просмотре придется вручную
35 mastodont
 
02.02.21
16:46
(34) а что за галка? не нахожу...
36 Вафель
 
02.02.21
16:47
свойства команды: Изменяет сохраняемые данные
37 Fragster
 
гуру
02.02.21
16:54
(34) с 2013 года костыли лепим :(
38 Fragster
 
гуру
02.02.21
16:54
и более того,сахар из 8.3.18 проблему не решает
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн