|
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) ссылка "ссылается" на конкретный "объект" в ИБ, а "текущих" объектов может быть у каждого пользователя дофига
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший