Цитата:
Сообщение от
Predatore
Цитата:
Сообщение от
GRIZZLY
Обратиться к выбранной записи макросом GETRECORD, т.е.
Form2.GETRECORD(Rec2);
Далее заполняем поле, из которого делали вызов лукапа:
Field := Rec2.Field2;
PS : если нет времени, то можно почитать встроенный хелп по C/SIDE, тоже очень полезная штука.
Спасибо! Хелп встроенный я читал и даже видел там подобную конструкцию, но что-то у меня не получалось никак заставить всё это работать. Вчера какие-то тупняки меня одолевали, я не совсем понимал что есть Rec2 в данном случае.
GETRECORD возвращает в Rec2 выбранную на форме запись. Т.е. таким образом, можно через Rec2 обратиться к любому полю.
Цитата:
Сообщение от
Predatore
А ради любопытсва, в книжке наверное есть эта инфа, но всё же, в чём принципиальная разница между DrillDown и TableRelation? Рискну предположить, что при TableRelation, если изменится таблица из которой выбирается поле, то изменения отразятся и в поле. А при DrillDown поле останется неизменным.
Drilldown это из области SIFT (т.е. флоуфилдов), где поле представляет собой сумму по колонке из другой таблицы, например, Баланс в Карточке Клиента или Наличие в Карточке Товара. Стандартно запускается форма, указанная в DrilldownForm в таблице, по которой считается сумма. Но по идее, можно перехватить и написать свой код на OnDrillDown на форме на любом поле.
Tablerelation это из области проверки целостности базы данных, т.е. соблюдения связей между таблицами. Таким образом, если указана валидация этих связей, то система не допустит чтобы пользователь выбрал отсутствующее в справочнике значение, а при переименовании первичного ключа справочника автоматически произойдет обновление на новое значение в связанных таблицах.