Две таблицы в Report

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
lexa
Посетитель
Сообщения: 25
Зарегистрирован: 03 Июнь 2006, 23:57
Откуда: Зимбабве

Две таблицы в Report

Сообщение lexa »

Подскажите, пожалуйста, можно ли в одном Reporte напечатать последовательно две или более таблицы, используя стандартный шаблон.
У меня C55EE(ABC).
Аватара пользователя
Tolusha
Активист
Сообщения: 123
Зарегистрирован: 11 Январь 2006, 16:50
Откуда: Украина, г. Черкассы
Контактная информация:

Сообщение Tolusha »

Можно.
Добавляешь таблицу в "Схему таблиц" отчета. В отчете создаешь "Детальки" с данными. Далее идешь в соурц и ищешь ThisReport.TakeRecord PROCEDURE и печатаешь САМОСТОЯТЕЛЬНО процедуркой PRINT все то, что есть в отчете.
Анатолий.
lexa
Посетитель
Сообщения: 25
Зарегистрирован: 03 Июнь 2006, 23:57
Откуда: Зимбабве

Сообщение lexa »

Мне нужно печатать последовательно две или более таблицы, т.е. сначала напечатать первую таблицу с заголовком и окончанием, затем вторую и т.д.
ThisReport.TakeRecord, насколько я понял, относится только к таблице, описанной в схеме описания таблиц как Report Procedure.
lexa
Посетитель
Сообщения: 25
Зарегистрирован: 03 Июнь 2006, 23:57
Откуда: Зимбабве

Сообщение lexa »

Анатолий, спасибо за подсказку, сообразил что нужно контролировать в ThisReport.TakeRecord с помощью счетчиков окончание печати текущей таблицы и переходить к следующей и т.д.
lsgsoftware
Ветеран
Сообщения: 311
Зарегистрирован: 08 Июль 2005, 22:04

Сообщение lsgsoftware »

Да уже забыл про репорты по одной таблице. Есть такая классная точка вставки, как Validate Record. Там можно делать все - в том числе печатать репорты из любого количества таблиц в любом порядке,но нужно чуток поработать ручками.
Аватара пользователя
Tolusha
Активист
Сообщения: 123
Зарегистрирован: 11 Январь 2006, 16:50
Откуда: Украина, г. Черкассы
Контактная информация:

Сообщение Tolusha »

lexa писал(а):Анатолий, спасибо за подсказку, сообразил что нужно контролировать в ThisReport.TakeRecord с помощью счетчиков окончание печати текущей таблицы и переходить к следующей и т.д.
Да, можно и так. Пока не напечатана главная таблица - ничего не делаешь. Потом ручками читаешь данные с дополнительных таблиц и печатаешь соответствующие Детальки.

Окончание печати главной таблицы можно определить по к-ву записей, но если в шаблоне для главной таблицы указан фильтр, то его необходимо перенести в эту процедуру.
Анатолий.
lexa
Посетитель
Сообщения: 25
Зарегистрирован: 03 Июнь 2006, 23:57
Откуда: Зимбабве

Сообщение lexa »

Tolusha писал(а):Окончание печати главной таблицы можно определить по к-ву записей, но если в шаблоне для главной таблицы указан фильтр, то его необходимо перенести в эту процедуру.
Я все правильно понял и именно так и поступаю. И еще два вопроса в догонку.
Если отчет на нескольких страницах, как можно сделать так, чтобы Page Header печатался только один раз вначале, а Page Footer один раз в конце. Я понимаю, что Page Header вообще можно исключить, воспользовавшись Group Header первой таблицы, а в качестве Page Footer использовать Group Footer последней таблицы? Просто ради самообразования. И существует ли шаблон печати нескольких таблиц?
Аватара пользователя
Tolusha
Активист
Сообщения: 123
Зарегистрирован: 11 Январь 2006, 16:50
Откуда: Украина, г. Черкассы
Контактная информация:

Сообщение Tolusha »

lexa писал(а): Если отчет на нескольких страницах, как можно сделать так, чтобы Page Header печатался только один раз вначале, а Page Footer один раз в конце.
В начале и в конце всего отчета? Вместо pageheader и pagefooter создай простые детальки и печатай их при открытии отчета и при его закрытии. Место точной вставки не помню, но ее и не сложно найти.
lexa писал(а): И существует ли шаблон печати нескольких таблиц?
Не встречал. Напиши :D
Анатолий.
Ответить