Страница 1 из 1

Browse по нескольким таблицам и посылаемый Clarion'ом запрос

Добавлено: 14 Май 2014, 11:03
kreator
С8.0.9759. Стандартные ABC шаблоны. В качестве сервера - Firbird 2.1, стандартный ODBC драйвер, что, думаю, не важно. Есть Browse, для простоты в нём две связанные таблицы, они большие, по 30 полей в каждой. Но мне надо всего 2 (два) поля из первой для показа, ну и в Hot Fields я загоняю ещё 3 поля из первой. Вторую таблицу я использую для SQL фильтра. Смотрю какую Clarion вьюху организовал, всё путём - мои поля и связь по foreign ключу. А теперь смотрю какой Clarion запрос посылает серверу и ужасаюсь - почти все поля из первой таблицы и все поля из второй. Вопрос. Это где-то регулируется или это внутренняя кухня Clarion, туда не залезешь? Зачем, вообще, мне это нужно? Лишние поля тянуть - это не правильно, но бог с ним. Самое главное, я хочу наложить distinct на запрос и, получается, что, чтобы он сработал, приходится ненужные мне поля вставлять в Hot Fields и обнулять их через prop:Name. Согласитесь - дурдом. И, ещё, подводный камень - при добавлении полей в эти таблицы новые поля могут вылезти в этом Browse (запросе) и distinct не сработает.

Re: Browse по нескольким таблицам и посылаемый Clarion'ом за

Добавлено: 14 Май 2014, 23:30
Yufil
Скорее всего выполняется ThisWindow.Update() и обе записи подгружаются.

Re: Browse по нескольким таблицам и посылаемый Clarion'ом за

Добавлено: 15 Май 2014, 10:36
kreator
А при чём ThisWindow.Update()? Ведь не факт, что любой Browse тянет все столбцы таблицы. Честно говоря, я думал, что только те столбцы, которые есть в структуре View, участвуют в SQL запросе. Оказалось не так. И, получается на данный момент, что я не могу положиться на структуру View, а должен проверять, какой запрос посылается серверу.