powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / CR 2008 вместо формата A3 - сделать две страницы A4
5 сообщений из 5, страница 1 из 1
CR 2008 вместо формата A3 - сделать две страницы A4
    #35880182
Bekka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите, пожалуйста - как сделать в Crystal Reports 2008 (ver 12.1.0.892)

Есть отчёт в формате A3 (очень много полей в ширину)
Нужно расположить эти поля на две страницы формата A4
...
Рейтинг: 0 / 0
CR 2008 вместо формата A3 - сделать две страницы A4
    #35909981
saren
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Присоединяюсь. Аналогочный вопрос по CrystalReports 8.5
CrossTable вроде не подойдет, т.к. столбцы все формируются по различным правилам.
...
Рейтинг: 0 / 0
CR 2008 вместо формата A3 - сделать две страницы A4
    #35912073
Stanislav A.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Для точно такого же случая использовал Cross Table.
Была исходная таблица в 30 столбцов и переменное количество строк.
Создал представление вида: ID столбца, имя столбца.
авторcreate or replace view FOR_RKZ_COLS as
select 01 as col_id, 'COD_RG' as col_name from dual
union
select 02 as col_id, 'DOG_NUMBER' as col_name from dual
union
select 03 as col_id, 'DOG_NAME' as col_name from dual
union
(...)
select 30 as col_id, 'OTHER' as col_name from dual
order by col_id
Дальше добавил это представление в запрос:
автор
FROM
FOR_RKZ_COLS COL ,
CONSUMERS C
JOIN DOGOVORS D ON C.CONS_ID = D.DOG_CONSID
JOIN DOGOVORS_VARIANTS DV ON DV.VAR_ID = D.DOG_VARID
(...)
А вместо вывода на экран 30 столбцов я вывожу 3 столбца:
Где первый столбец соответствует номеру строки(n) в конечной таблице, а второй столбец - номеру столбца(k) в конечной таблице. Третий соответсветнно - само значение, расположенное в k-столбце n-строке.
авторSELECT
trunc((rownum-1)/(select count(*) from for_rkz_cols)) as row_id,
COL.col_name as col_name,
decode(col.col_id,
'1', SUBSTR(D.DOG_CSUID, LENGTH(D.DOG_CSUID)-1),
'2', D.DOG_NUMBER,
'3', D.DOG_NAME,
'4', C.CONS_INN,
'5', C.CONS_KPP,
(...)
'30', D.DOG_ID) as value

Для привязки значения к столбцу использовал DECODE. К строке - просто математически высчитываю 30 строк и помечаю их одним номером, следующие 30 - другим номером и т.д.

В результате таблица в 30 столбцов в ширину и переменное число строк превращается в таблицу в 3 столбца в ширину и переменное число строк. Причем первый столбец содержит 30 строк с нулями, затем 30 строк с единицами, 30 строк с двойками и т.д. Второй столбец содержит перечиленные циклически значения поля COL_NAME представления FOR_RKZ_COLS. А в третьем столбце содержится значение итоговой таблицы, которое соответствует данной колонке (COL_NAME) и данному номеру строки (row_id).
Целиком запрос кидаю в аттач.
...
Рейтинг: 0 / 0
CR 2008 вместо формата A3 - сделать две страницы A4
    #35918535
iNatty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CrossTab это в данном случае то, что нужно. При размещении большого количества столбцов в ширину создается вторая (третья и т.д.) "горизонтальные" страницы, имеющие одинаковый "основной" номер - PageNumber и свой "горизонтальный номер страницы"(если необходимо, можно вывести только его).
Задача только в том, чтобы настроить свойства страницы при печати - поставить А4.

В исключительных случаях, если необходимо выводить продолжение таблицы на этой же странице, можно задуматься о том, чтобы считать кол-во столбцов по ширине страницы и делить запрос на несколько и разбивать КроссТаб на 2 (3 и больше - по кол-ву запросов..) - сложно и, как правило, ищут более приемлемый вариант.

Почитайте более подробно про настройку КроссТаба (он же перекрестный отчет, он же матричный), если нужно, в своей версии хелпа (в XI и 2008 достаточно подробно).
...
Рейтинг: 0 / 0
CR 2008 вместо формата A3 - сделать две страницы A4
    #35923678
Aleksei_42
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cross-Tab конечно лучший вариант, но для его использования приходится переделывать отчет.

Для быстрого преобразования отчета А3 в А4 в CR XI использую следующую "ненаучную" технологию:
1. В формате А3 разместить поля на странице.
2. В Page Header в правой половине листа разместить графический объект (установить свойство "Suppress").
3. Установить формат страницы А4.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / CR 2008 вместо формата A3 - сделать две страницы A4
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]