ПриОткрытии, СортироватьСтроки и Модифицированность()

Автор alyuev, 14 марта 2024, 14:29

« назад - далее »

alyuev

Нарвался на забавную ситуацию.

Если в ПриОткрытии() вызвать СортироватьСтроки(ИмяКолонкиТЧ), в признак Модифицированность станет =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.

Злоп

так ничего и не понятно. Резюме какое: флаг взводится в этом случае в процедуре ПриОткрытии или где/как?

alyuev

Цитата: Злоп от 25 апреля 2024, 12:27так ничего и не понятно. Резюме какое: флаг взводится в этом случае в процедуре ПриОткрытии или где/как?
Нет, Модифицированность()=1 взводится где-то после ПриОткрытии(). В самом ПриОткрытии всё время возвращает 0.

Gosha

Процедура ПриОткрытии() //предопределенная
  Форма.ОбработкаОжидания("ПослеОткрытия", 1);
  ...
КонецПроцедуры //ПриОткрытии
//-------
Процедура ПослеОткрытия()
  Форма.ОбработкаОжидания("", 0);
  Сообщить("Сразу после открытия формы признак модифицированности = " + Модифицированность());  // вот тут - все пачеснаку
  ...
КонецПроцедуры //ПослеОткрытия

Злоп