|
Модифицированность() и Модифицированность | ☑ | ||
---|---|---|---|---|
0
varyag
13.01.15
✎
07:50
|
Не могу понять почему метод Модицицированность() возвращает Истина.
http://storage3.static.itmages.ru/i/15/0113/h_1421124637_2437524_cf1aed2e84.jpg Хотя ПриОткрытии в Модуле формы написал уже: ЭтаФорма.Модифицированность = Ложь; Модифицированность = Ложь; |
|||
1
lxndr
13.01.15
✎
07:53
|
() - это метод объекта
свойство - это свойство формы |
|||
2
varyag
13.01.15
✎
07:57
|
(1) это итак понятно. Почему метод объекта возвращает Ложь. А если вызывать через ПолучитьФорму() - то Истина. Причем свойство формы тоже Ложь.
|
|||
3
varyag
13.01.15
✎
07:58
|
причем у Формы в синтакс помощнике вообще нет метода такого, а только свойство
|
|||
4
hhhh
13.01.15
✎
08:09
|
(0) значит ПередОткрытием или ПриОткрытии меняет реквизит объекта какой-то. Допросите вашего программера при помощи паяльника, чего-то он туда вставил.
|
|||
5
varyag
13.01.15
✎
08:20
|
(4) понятно что меняет. Но я думал что
ЭтаФорма.Модифицированность = Ложь; Модифицированность = Ложь; должно решить проблему |
|||
6
Krolik Bezobraznik
13.01.15
✎
08:59
|
(5) Флаг модифицированности сбрасывается после события ПередОткрытием() формы, но перед событием ПриОткрытии().
Иди отладчиком по событию ПриОткрытии(), что то меняется из реквизитов. |
|||
7
Defender aka LINN
13.01.15
✎
09:12
|
(5) Это смотря какую проблему ты хочешь решить
|
|||
8
Фокусник
13.01.15
✎
09:19
|
(5) ИМХО, флаг Модифицированность нужно НЕ сбрасывать, а НЕ устанавливать...
|
|||
9
Defender aka LINN
13.01.15
✎
09:33
|
(8) А какая разница, если он ждет, что установкой этого флага вернет доллар по 6 ублей?
|
|||
10
Defender aka LINN
13.01.15
✎
09:33
|
*рублей
|
|||
11
Фокусник
13.01.15
✎
09:36
|
(9) Мне на ум приходит другая аналогия: "чисто не там где убирают, а там где не мусорят" ;)
|
|||
12
Serg_1960
13.01.15
✎
09:48
|
Вопрос на тему "А если подумать?": Когда в форме документа заполняются значения ДокументОбъект, ЭтотОбъект, ЭтаФорма?
Успехов в изучении функционала платформы :) ЭтаФорма.ДокументОбъект = Документы[ЭтотОбъект.Метаданные().Имя].СоздатьДокумент(); ЭтаФорма.Обновить(); ЭтаФорма.Модифицированность = Ложь; |
|||
13
hhhh
13.01.15
✎
10:04
|
(12) а с какого боку здесь Модицицированность() ??
|
|||
14
vde69
13.01.15
✎
10:09
|
Функция Модицицированность()
Возврат не Объект.Версия = Ссылка.Версия; КонецФункции |
|||
15
varyag
13.01.15
✎
10:18
|
(7) Решить то я уже решил... Там реквизиты менялись. Меня просто заинтересовал сам факт. Что этот метод возвращает для формы значение Истина, причем в синтакс-помощнике не документирован данный момент - что вообще у формы есть такой метод. Соответственно я хотел решить все просто установкой свойства в значение Истина.
|
|||
16
vde69
13.01.15
✎
10:20
|
(15) свойство Модицицированность определяет необходимость системного запроса на сохранение перед закрытием...
функция проверяет версию обьекта... |
|||
17
varyag
13.01.15
✎
10:22
|
(16) Но почему ПолучитьОбъект().Модифицированность() Не Равно ПолучитьФорму().Модифицированность() ?
|
|||
18
varyag
13.01.15
✎
10:23
|
и как тут понимать вообще что такое Форма? Для Формы вообще не описано такого метода
|
|||
19
vde69
13.01.15
✎
10:26
|
ПолучитьФорму().Модифицированность()
вернет Истина если есть хоть одно програмное изменение реквитов/свойств. тоесть к обьекту это вообще не относится никак.... это примерно как вопрос: почему ПолучитьОбъект() не равен ПолучитьФорму() |
|||
20
GROOVY
13.01.15
✎
10:37
|
(18) У формы есть только свойство "Модифицированность", методы только у объектов и наборов записей.
|
|||
21
Defender aka LINN
13.01.15
✎
11:08
|
(17) "Падает по исключению" все же несколько не "не равно", не находишь?
|
|||
22
varyag
14.01.15
✎
04:49
|
(21) Ничего не падает. Смотри (19)
(19) , (20) Скажите что я получаю методом ПолучитьФорму() ? цитирую СП : Возвращаемое значение: Тип: Форма. для ДокументаОбъекта: Описание: Получает форму документа, которая содержит данный ОБЪЕКТ встроенного языка. Получает форму документа. ДокументСсылки: Описание: Получает форму документа ДокументМенеджера: Описание: Получает форму документа. Если получаемая форма - форма для редактирования документа, то будет получена форма нового документа. У меня ПолучитьФорму() для ссылки Но получается что форма все же содержит объект? раз для неё отрабатывает Метод Модифицированность().. Или как? Ведь у формы такого метода нет. Но и для объекта этот метод возвращает другое значение. Изменение реквизитов было, например Организация = Объект.Организация. (Это не я писал, я просто исправляю) Хочу просто понять схему |
|||
23
Defender aka LINN
14.01.15
✎
07:47
|
Потому что
ПолучитьФорму().Модифицированность() = ПолучитьФорму().Объект.Модифицированность() |
|||
24
varyag
14.01.15
✎
08:34
|
(23) хм.. А почему ПолучитьФорму().Модифицированность() <> ПолучитьОбъект().Модифицированность() ?
Что проверяется в одном и в другом случае? |
|||
25
Defender aka LINN
14.01.15
✎
08:56
|
(24) Потому что, ять, это ДВА РАЗНЫХ ОБЪЕКТА
|
|||
26
varyag
14.01.15
✎
09:13
|
(25) можно подробней?
1й - объект документ? 2й - объект форма чтоли? Не нервничайте) |
|||
27
Локи-13
14.01.15
✎
09:22
|
(26) документ - это строка БД
ПолучитьФорму().Модифицированность() - 1 копия объекта ПолучитьОбъект().Модифицированность() - 2 копия объекта |
|||
28
varyag
14.01.15
✎
09:43
|
(27) примерно понятно. Нужно быть осторожным при выборе способа проверки модифицированости
|
|||
29
Локи-13
14.01.15
✎
09:47
|
(28)
по итогу: 1 случай - модифицированность новой копии объекта 2 случай - модифицированность копии объекта для которой открыта форма 3 случай - модифицированность самой формы (ставится если меняется реквизит, меняющий данные) нужно понимать, модифицированность чего проверяешь. |
|||
30
varyag
14.01.15
✎
09:58
|
(29) Спасибо
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |