|
10.05.2009, 20:27 | #1 |
Участник
|
MAP в качестве datasource формы
Есть 2 таблицы Т1 и Т2, у них есть с 2 десятка одинаковых полей и с десяток разных.
Есть форма, на ней основной datasource основан на Т1 и в зависимости от текущего значения поля vendAccount записи этого основного DS, нужно в некоторых полях формы показывать данные либо из Т1 или из Т2 . Допустим, vendAccount = 001 , то в поля формы F1....F20 отображаться значения из Т1 , vendAccount = 002 , то в те же поля формы F1....F20 отображаться уже значения из Т2. Хочу положить на форму map , в котором замаппены эти 20 полей из T1 и T2. Как это лучше сделать? Просто указать этот map в качестве DS2 формы и на linkActive заполнять присваивать строке map знания из нужной таблицы ? Или умней сделать как-то по-дугому? |
|
10.05.2009, 21:40 | #2 |
MCITP
|
Цитата:
Сообщение от IKA
Есть 2 таблицы Т1 и Т2, у них есть с 2 десятка одинаковых полей и с десяток разных.
Есть форма, на ней основной datasource основан на Т1 и в зависимости от текущего значения поля vendAccount записи этого основного DS, нужно в некоторых полях формы показывать данные либо из Т1 или из Т2 . Допустим, vendAccount = 001 , то в поля формы F1....F20 отображаться значения из Т1 , vendAccount = 002 , то в те же поля формы F1....F20 отображаться уже значения из Т2. Хочу положить на форму map , в котором замаппены эти 20 полей из T1 и T2. Как это лучше сделать? Просто указать этот map в качестве DS2 формы и на linkActive заполнять присваивать строке map знания из нужной таблицы ? Или умней сделать как-то по-дугому? Думаю придётся делать через временню таблицу, или через два табПэйджа (один, для ненужной таблицы, скрывать)..
__________________
Zhirenkov Vitaly |
|
11.05.2009, 10:40 | #3 |
Участник
|
|
|
10.05.2009, 22:21 | #4 |
Дмитрий Ерин
|
Цитата:
PS: если мое описание покажется сумбурным, посмотрите для примера отношения на таблице LedgerJournalTrans |
|
10.05.2009, 23:34 | #5 |
Участник
|
Не греть голову, а в зависимости от типа показывать/скрывать соответствующие контролы. Делалось неоднократно именно в таких случаях - надежный и проверенный способ.
__________________
Денис Балуев. |
|
11.05.2009, 10:44 | #6 |
Участник
|
Цитата:
Сообщение от Ruff
Вообще говоря, делать такие проверки (значения поля с константой) в коде - моветон. Я бы рекомендовал следующее:
PS: если мое описание покажется сумбурным, посмотрите для примера отношения на таблице LedgerJournalTrans То есть не от конкретного знаечния вендора зависит, а от того, есть ли в T2 для него записи. |
|
11.05.2009, 12:09 | #7 |
MCITP
|
А чем вам тогда мэп поможет - не совсем понятно?
__________________
Zhirenkov Vitaly |
|
11.05.2009, 23:17 | #8 |
Участник
|
Смысл - скрыть от пользователя и программиста из какой таблицы берутся поля и в какую таблицу сохраняются и сделать универсальный способ работы с этими данными в системе, чтобы программисту постоянно не писать запросы, проверяющие есть ли данные в одной таблице, и если ли нету, искать в другой таблице, то же с update . Хочу всю логику инкапсулировать в мапе. Можно было бы многое сделать то же с помощью временных таблиц, возможно, но мэп позволит точней работать с полями + универсальность вызовов не зависимо от того с буфером из какой таблицы работаешь.
Какие за/против? |
|
12.05.2009, 00:15 | #9 |
MCITP
|
Цитата:
Сообщение от IKA
Смысл - скрыть от пользователя и программиста из какой таблицы берутся поля и в какую таблицу сохраняются и сделать универсальный способ работы с этими данными в системе, чтобы программисту постоянно не писать запросы, проверяющие есть ли данные в одной таблице, и если ли нету, искать в другой таблице, то же с update . Хочу всю логику инкапсулировать в мапе. Можно было бы многое сделать то же с помощью временных таблиц, возможно, но мэп позволит точней работать с полями + универсальность вызовов не зависимо от того с буфером из какой таблицы работаешь.
Какие за/против? Но это не совсем ваш случай, мне кажется... Обычно в map-е объединяют однотипные таблицы из разных модулей (типа CustVendTrans). Вы же пытаетесь объединить 2 таблицы одной и той же сущности, которые ещё и каким-то крайне странным образом зависимы ("То есть не от конкретного знаечния вендора зависит, а от того, есть ли в T2 для него записи.") - А если нет и там, и там? - А если в Т2 нет, но я хочу добавить? - ... Мне кажется Вы пытаетесь лечить последствия неправильного дизайна. Просто забыли вовремя в нужном месте добавить поле "типа записи". И лечить лучше болезнь, если есть возможность, а не симптом...
__________________
Zhirenkov Vitaly |
|
Теги |
datasource, map |
|
|