Вход | Регистрация
 

Как проверить модифицированность перед записью?

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

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

Расширение:
&НаКлиенте
Процедура КОЛ_ПередЗаписьюПеред(Отказ, ПараметрыЗаписи)
    //Вставить содержимое обработчика

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

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

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

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

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


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.