|
![]() |
#1 |
Участник
|
Переход к основной таблице
чтобы создать на форме новое поле с возможностью выбора данных из другой таблицы и возможностью перехода к основной таблице.
Пусть для примера необходимо добавить в форму номенклатурных единиц поле для выбора категории номенклатуры (список категорий будем заполнять отдельно в форме). 1. Создать новую таблицу и поля в ней. В таблице нужно иметь как минимум два поля: код записи (поле String), и ее название (тоже String). Назовем их для примера CategoryCode и CategoryName. Для CategoryName указать свойство ExtendedDataType = Name. 2. Создать новый EDT (Extended Data Type), например, ItemCategory. Создать для него Relation, в свойствах которого указать Table = созданная таблица, RelatedField = поле в таблице, отвечающее за код записи (в нашем примере CategoryCode). 3. Создать форму, для нее создать Data Source, указав для него свойство Table = созданная таблица. В дизайне формы создать Grid, на ней два поля StringEdit. У одного поля указать свойство DataSourse = Category, DataField = CategoryCode, для другого то же самое, но DataField = CategoryName. 4. В таблице InventTable создать новое поле String, указав для него свойство ExtendedDataType = созданный расширенный тип данных (у нас ItemCategory). 5. В форме InventTable создать StringEdit, задать свойства DataSource = InventTable, DataField = созданное в InventTable поле. 5. Чтобы иметь возможность перейти из поля к основной таблице, необходимо сделать следующее: - Создать MenuItem с типом Display и ссылкой на ту форму, которую необходимо вызывать; - Указать созданный MenuItem в свойстве FormRef для таблицы-источника вызываемой формы. Каждый из элементов сразу после создания нужно сохранить. Если возникнет необходимость в правке ранее созданных Вами объектов, все объекты, созданные после этого нужно будет перекомпилировать. Этого достаточно, чтобы при переходе к основной таблице из созданного поля открывалась исходная форма с одной записью - в соответствии с введенным в поле значением. |
|
|
За это сообщение автора поблагодарили: Poleax (1). |