Показать сообщение отдельно
Старый 09.06.2015, 09:10   #11  
TasmanianDevil is offline
TasmanianDevil
Мрачный тип
Аватар для TasmanianDevil
Злыдни
 
885 / 389 (14) ++++++
Регистрация: 24.01.2005
Адрес: Томск
Что только мОлодежь не придумает, лишь не работать

Задача какова - единым инструментом в любой форме рулить доступностью редактирования определенных полей определенной таблицы на основании определенных правил. Руление это необходимо в двух случаях - при переходе на новую запись и при редактировании текущей.

Есть какой-нибудь общий системный класс, позволяющий глобально из одного места добраться до источников данных любой формы ? Есть, SysSetupFormRun, упомянутый S.Kuskov. Позволяет этот класс отслеживать смену позиции в источнике данных управляемой формы и идентифицировать сам источник, в котором произошли изменения? Нет, он больше для элементов управления, контролов то бишь, заточен. Более подходящим бы класс FormDataSource, но он системный и скрытый, в его active() не залезешь. Это первая птичка обломинго ...

Есть какой нибудь класс, общий для всех таблиц, позволяющий отслеживать изменения полей в табличной переменной ? Есть, xRecord - но он системный и скрытый. Влезть в его modifiedField() не выйдет. Это птичка обломинго номер два...

Глобально эту задачу доступными средствами не решить - просто смиритесь с этим и делайте как все, класс-обработчик доступа в каждую форму.

P.S. Можно, конечно, проявить профессиональную Йаркость™, хакнув приложение,сняв атрибут скрытости с FormDataSource и xRecord.
__________________
Мы летаем, кружимся, нагоняем ужасы ...