Имя: Пароль:
1C
1С v8
v8: Модифицированность объекта
0 DasTPID
 
28.02.12
17:48
Процедура ОсновныеДействияФормыДействие(Кнопка)//Объект модифицирован, в заголовке формы звёздочка
Если ЭтотОбъект.Модифицированность() Тогда
   Сообщить("1");
   КонецЕсли;
Если Ссылка.ПолучитьОбъект().Модифицированность() Тогда
   Сообщить("2");
КонецЕсли;
КонецПроцедуры


Сообщает 1, но не 2. Объясните, пожалуйста, почему...
1 Dirk Diggler
 
28.02.12
17:49
Потому что разные объекты. Один текущий, другой из ИБ "достанутый".
2 mirosh
 
28.02.12
17:49
(0)  Ссылка.ПолучитьОбъект() - это у тебя уже новый объект, а он еще не модифицирован
3 Stim
 
28.02.12
17:50
забавный ты
4 DasTPID
 
28.02.12
17:57
(1) (2) Спасибо, а можно чуть поподробнее? Мне решительно непонятно какой объект получается в результате ПолучитьОбъект() и чем он отличается от текущего....
5 DasTPID
 
28.02.12
17:59
Грубо выражаясь, ПолучитьОбъект это то что записано, а текущий это то что я вижу на экране?
6 andrewks
 
28.02.12
18:01
(5) ПолучитьОбъект - это то что записано в БД на момент исполнения метода. через секунду, в следующей строчке, ты можешь его уже изменить, но ещё не записать
7 andrewks
 
28.02.12
18:02
более того, то, что ты видишь на экране - это не объект, а его отображение
8 andrewks
 
28.02.12
18:06
(дабы окончательно всё запутать)

Объект 1С - отображение соответствующего набора записей БД
Форма - отображение объекта 1С
9 YFedor
 
28.02.12
18:08
(8) Кругом одни отображения :-)
10 DasTPID
 
28.02.12
18:11
Допустим, я создаю новый объект, которого в базе ещё нету. Тогда ссылка.ПолучитьОбъект должна вернуть пустое значение, раз его в базе ещё нету; а ЭтотОбъект вернёт все как надо. Так что ли? Сейчас проверю...
11 DasTPID
 
28.02.12
18:16
Ага, ПолучитьОбъект тогда вообще вываливается с ошибкой.. Значит как-то так..


А вообще было бы логично, если бы ссылка ссылалась на конкретный текущий объект, а не на нечто виртуальное в ИБ.. ну по крайней мере мне так кажется...
12 Жан Пердежон
 
28.02.12
18:20
(11) ссылка "ссылается" на конкретный "объект" в ИБ, а "текущих" объектов может быть у каждого пользователя дофига
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший