Нарвался на забавную ситуацию.
Если в ПриОткрытии() вызвать СортироватьСтроки(ИмяКолонкиТЧ), в признак Модифицированность станет =1 только после физического появления окна. Оно уже стало =1 в гл процедуре-перехвате ПриИзмененииРазмераОкна().
Искал место у себя, в какой же момент происходит модифицированность. Только методом половинного деления строк ПриОткрытии() нашел. Трассировка ж ничего ничего не показывает.
(OnNextLine)[14/03.2024 10:27:54.024][00001de3][Документ.Прайс.Форма.Модуль][16156][ПриОткрытии] Сообщить("КОН ПриОткрытии Мод="+Модифицированность()); //Вот тут = 0
(OnNextLine)[14/03.2024 10:27:54.071][00001de3][Документ.Прайс.Форма.Модуль][16157][ПриОткрытии] КонецПроцедуры
(OnExitProc)[14/03.2024 10:27:54.071][00001de3][Документ.Прайс.Форма.Модуль][-1][]
(OnEnterProc)[14/03.2024 10:27:54.086][00000001][Глобальный модуль][-1][ПриИзмененииРазмераОкна]
Аргументы:
Конт: ГрупповойКонтекст
ТипСобытия: 0
Ширина: 559
Высота: 272
(OnNextLine)[14/03.2024 10:27:54.102][00000001][Глобальный модуль][93362][ПриИзмененииРазмераОкна] Сообщить("НАЧ ПриИзмененииРазмераОкна Мод="+Конт.Модифицированность()); //А вот тут уже = 1!!!
Мне смутно помнится, что модифицированность устанавливается где-то после вызова ПриОткрытии, но до вызова чего-то еще. Т.е. что бы не менялось, в ПриОткртыии модифицированность всегда 0.
так ничего и не понятно. Резюме какое: флаг взводится в этом случае в процедуре ПриОткрытии или где/как?
Цитата: Злоп от 25 апреля 2024, 12:27так ничего и не понятно. Резюме какое: флаг взводится в этом случае в процедуре ПриОткрытии или где/как?
Нет, Модифицированность()=1 взводится где-то после ПриОткрытии(). В самом ПриОткрытии всё время возвращает 0.
Процедура ПриОткрытии() //предопределенная
Форма.ОбработкаОжидания("ПослеОткрытия", 1);
...
КонецПроцедуры //ПриОткрытии
//-------
Процедура ПослеОткрытия()
Форма.ОбработкаОжидания("", 0);
Сообщить("Сразу после открытия формы признак модифицированности = " + Модифицированность()); // вот тут - все пачеснаку
...
КонецПроцедуры //ПослеОткрытия
А если убрать ОО?