Имеется форма внешней обработки.
На форме ТЗ.
На форме - текстовая функция для отображения информации по текущей строке ТЗ.
Если мы в глобальное окно поиска вобъем что-нибудь и нажмем искать - система найдет в ТЗ и перепозиционируется на найденную строку.
.
Функция на форме при этом не отработает.
.
Такое впечатление, что форма обновляется только когда в контексте формы жмут на какие-нибудь клавиши...
.
Интересно, можно ли поправить чтобы и при перепозиционировании строки в ТЗ в результате такого глобального поиска - чтобы функция отрабатывала/форма перерисовывалась? (без ОО, таймеров, итд, только как действие платформы)..?
Видимо это стоит постить в хотелки FormEx: Событие: ТаблицаЗначенийПриПоиске
А процедура ПослеОбновленияФормы() не срабатывает?
Цитата: АЛьФ от 11 марта 2024, 15:51А процедура ПослеОбновленияФормы() не срабатывает?
Да, вот такой глюк Злоп и нашел, до этого не доходит.
Цитата: Djelf от 11 марта 2024, 15:19Видимо это стоит постить в хотелки FormEx: Событие: ТаблицаЗначенийПриПоиске
по логике, должно быть нечто похожее на ПриАктивизацииСтроки
Как костыль можно использовать ПриПолученииКомандыГлавнымОкном(wParam, lParam), где wParam = 57640 - это нажатие F3 или ввод в поле поиска, и 32835,32836 - это стрелки поиска.
Цитата: Arbuz от 12 марта 2024, 14:50Как костыль можно использовать ПриПолученииКомандыГлавнымОкном(wParam, lParam), где wParam = 57640 - это нажатие F3 или ввод в поле поиска, и 32835,32836 - это стрелки поиска.
Глобально да, а как вызвать событие формы? Мы не значем откуда пришло событие.
Если бы там было ПриПолученииКомандыГлавнымОкном(wParam, lParam,Контекст) то возможно, но не уверен что такое реализуемо.
Цитата: Djelf от 12 марта 2024, 15:04Глобально да, а как вызвать событие формы? Мы не значем откуда пришло событие.
Ну, извратиться то всегда можно — например, Сервис.ВнешнееСобытие() прилетит в активную форму.
Это все конечно можно, но это какие-то сильные извращения...
.
Тут подумал, может активизация строки после глоб.поиска можно отловит возможно типа ПриАктивизацииОкна...
можно не извращаться
использовать ТП
Проверил
ПриАктивацииОкна()
ПослеОбновленияФОрмы()
не отрабатывают...
Цитата: trad от 13 марта 2024, 10:11можно не извращаться
использовать ТП
- не освоил (хотя болванки/примеры скидывали мне)
да и вроде документации исчерпывающей по ТП нет...?
Цитата: Злоп от 13 марта 2024, 10:15Цитата: trad от 13 марта 2024, 10:11можно не извращаться
использовать ТП
- не освоил (хотя болванки/примеры скидывали мне)
да и вроде документации исчерпывающей по ТП нет...?
Более чем достаточно: https://www.1cpp.ru/docum/icpp/html/TableField.html
+ https://www.1cpp.ru/forum/YaBB.pl?num=1202765199
документации нет???
https://www.1cpp.ru/docum/
https://www.1cpp.ru/docum/icpp/html/TableField.html
https://www.1cpp.ru/forum/YaBB.pl?num=1303385763
там нет методов прямого ввода в ТП, но оно тебе не надо
Цитата: Злоп от 13 марта 2024, 10:15не освоил (хотя болванки/примеры скидывали мне)
скинь эту обработку
попытаюсь на конкретном примере помочь
Цитата: trad от 13 марта 2024, 11:08попытаюсь на конкретном примере помочь
ну вот не прямо сейчас.
не смотрите, я вас не заставлял ;-)
стукнуь при случае
Цитата: Злоп от 13 марта 2024, 12:30не смотрите, я вас не заставлял ;-)
но смотрите, в другое время у меня может не быть возможности/желания
Цитата: trad от 12 марта 2024, 10:05Цитата: Djelf от 11 марта 2024, 15:19Видимо это стоит постить в хотелки FormEx: Событие: ТаблицаЗначенийПриПоиске
по логике, должно быть нечто похожее на ПриАктивизацииСтроки
Тогда будет двойная прорисовка текстовой функции при поиске по первым буквам в таблице.
Поэтому я и предложил функцию ПриПоиске, а не ПриАктивизацииСтроки. Как это сделано в ТабличномПоле.
Разве что ПриАктивизацииСтроки(ПриПоиске).
Текстовая функция не нужна
Цитата: trad от 13 марта 2024, 15:14Текстовая функция не нужна
???????????????????
Процедура ПроцедураОбработчикаОжидания()
Форма.Обновить();//ну или сначала контроль номера строки: было/стало, чтобы лишний раз формой не моргать
КонецПроцедуры
Форма.ОбработкаОжидания("ПроцедураОбработчикаОжидания",1);
Если форма открывается модально, то Форма.ОбработкаОжидания(..) не работает в модальных формах. Зациклим:
14. CheBurator 26.11.18 03:25:
в модальных формах можно использовать формексовский обработчик ожидания, который доступен через расширение формы
РФ = СоздатьОбъект("РасширениеФормы");
РФ.УстановитьФорму(Форма);
РФ.ОбработкаОжидания(...)
РФ - объявить глобальным в модуле формы.
так и я умею, это неинтересно.
Ах, ёлы. Не увидел, что исходные условия были "без ОО, таймеров итд".
Ну тут как-то сложно. Семерка, конечно, безгранична, но в разумных пределах)
На тесте ОбработкаОжидания() нормально отработала, всё красиво и практически штатными средствами. Чего же ещё желать?
Если нештатными - варианты выше, да.
Цитата: Злоп от 26 июля 2024, 19:01так и я умею.
Ну так ссылку на Cheburatora потому и оставил - ипостась всё-таки.