Текущее время: Пн, авг 04 2025, 21:35

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 17 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Чт, июл 24 2008, 09:36 
Ассистент
Ассистент

Зарегистрирован:
Чт, июн 08 2006, 07:39
Сообщения: 30
Добрый день, не расскажите поподробнее как реализовать расчет подитогов на страницах.

Сделал все как описал OlegDm про неразрывный перенос последней строки таблицы, подитогов, итогов и подписей. Все корректно переносит, но вот возникла проблема. В случаи переноса поледней строки с итогами и подитогами и подписями, он считает что это предыдущая страница все еще и соотвественно неправильно рассчитывает подитог на странице. Как быть не подскажите.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, дек 03 2008, 18:57 
Младший специалист
Младший специалист

Зарегистрирован:
Ср, апр 30 2008, 07:46
Сообщения: 52
Пол: Мужской
работаю в системе 4.6c

если использовать TABLE (а не LOOP), то высота у строк в самом деле может быть разной, но это можно решить.
я делаю так:
1. беру те поля, которые могут отличаться по длине (типа кр.текста), и модулем Z_SPLIT_WORDS разбиваю его во внутреннюю таблицу.
2. считаю, кол-во строк в этой таблице; если текстовых полей несколько, беру макс.значение.

поэтому количество строк на листе с грехом пополам, но можно посчитать вручную. если кол-во превышает некоторый лимит, то последняя строка должна быть перенесена на отдельный лист - это делается, как уже сказали, с помощью COMMAND.
нюанс в том, что COMMAND внутри TABLE отработать не может, поэтому нужно разделить TABLE на 2 части - в первой хранится вся таблица за исключением посл.строки, во второй - последняя строка.

с учетом этой особенности, алгоритм будет таким:
1. выводим 1 часть таблицы, по пути анализируя - а хватит ли нам места для вывода текста после таблицы?
2. если решаем что не хватит, то выставляем флаг;
3а. после вывода 1 части смотрим: если флаг выставлен, то запускаем COMMAND с переходом на новую страницу.
3б если не выставлен - значит текст после таблицы не разорвется, и последнюю строку можно вывести сразу после таблицы, - поэтому перехода COMMAND не делаем.
4. выводим последнюю строку таблицы вместе с подитогом, и тем текстом, который нужно неразрывно вывести с последней строкой таблицы.

подитоги выводятся в футере 1 части таблицы внизу каждой страницы.
при этом нужно обязательно проследить, чтобы в конце вывода не вывелось 2 подитога - от 1й части, и от 2й.

минус метода OlegDm заключается в том, что в папке внутри TABLE нельзя поместить шаблон (будет ругаться), и свойство неразрывности поэтому задать нельзя.
если бы то что выводится после таблицы в самом деле умещалось бы в 1 строку, то наверное это и сработало бы.

минус использования LOOP в том, что там нужно задавать максимальную высоту ячейки, чтобы ничего не обрезалось, соответственно выглядеть будет плохо.


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 17 ]  На страницу Пред.  1, 2

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Mixail167


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB