Текущее время: Пн, июл 28 2025, 21:25

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: Как реализовать групповые итоги в PDF-формуляре
СообщениеДобавлено: Ср, авг 12 2009, 17:02 
Начинающий
Начинающий

Зарегистрирован:
Чт, янв 24 2008, 12:57
Сообщения: 9
Откуда: Минск
Коллеги.
Не могу реализовать групповые итоги (т.е. при изменении значений каких-то ключевых полей ) в таблице в PDF-формуляре. Упрощенно по типу
Код материала Наименование Подраделение Кол-во
101 Стол 01 5
101 Стол 02 2
-----------------------------------------------------------------
Итого по 101 7
-----------------------------------------------------------------
102 Стул 01 6
102 Стул 03 2
-----------------------------------------------------------------
Итого по 102 8

Может кто-нибудь делал подобное или видел среди поставляемых SAP формуляров - подскажите, дайте ссылочку.

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


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как реализовать групповые итоги в PDF-формуляре
СообщениеДобавлено: Чт, авг 13 2009, 13:13 
Специалист
Специалист

Зарегистрирован:
Ср, апр 29 2009, 07:08
Сообщения: 197
Откуда: AUS RUSSLAND
Пол: Мужской
Использовал вариант с вложенными таблицами правда не для подсчета итогов, а отделения позиций друг от друга. Т.е. у меня была таблица в которой содержалось название группы и собственно говоря вложенная табличка с позициями. Для этого в табличном объекте в формуляре создавалось 2 строки: одна была связана с основной таблицей, а другая именно с вложенной таблицей и для нее делалось "Repeat Row for Each Data Item"


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как реализовать групповые итоги в PDF-формуляре
СообщениеДобавлено: Чт, фев 04 2010, 15:42 
Старший специалист
Старший специалист

Зарегистрирован:
Вт, авг 17 2004, 10:13
Сообщения: 382
Пол: Мужской
Чёрный Freelancer написал:
Использовал вариант с вложенными таблицами правда не для подсчета итогов, а отделения позиций друг от друга. Т.е. у меня была таблица в которой содержалось название группы и собственно говоря вложенная табличка с позициями. Для этого в табличном объекте в формуляре создавалось 2 строки: одна была связана с основной таблицей, а другая именно с вложенной таблицей и для нее делалось "Repeat Row for Each Data Item"


Добрый день!
А что прописывали в поле Binding в самой таблице и в двух строках?

Цитата:
Вариант с вложенными таблицами тоже не проходит, не получается разместить поля основной и вложенной таблицы иначе, чем в одну строку.

У меня также не получается вывести последовательно записи из вложеных таблиц (в две строки).
У кого нибудь получалось реализовать групповые итоги в PDF формуляре. Какой нибудь стандартный формуляр может есть, где можно посмотреть на реализацию.

Спасибо


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как реализовать групповые итоги в PDF-формуляре
СообщениеДобавлено: Чт, фев 04 2010, 17:36 
Специалист
Специалист

Зарегистрирован:
Ср, апр 29 2009, 07:08
Сообщения: 197
Откуда: AUS RUSSLAND
Пол: Мужской
Александр написал:
...
А что прописывали в поле Binding в самой таблице и в двух строках?
...

Если у Вас вложенные таблицы передаются в формуляр,которые уже разбиты на нужные группы, то создается табличный объект,добавляется строка BodyRow,в ней объединяются ячейки и вставляется туда сабформа, на нее вставляется еще один табличный объект (со строкой подитогов). BodyRow основного табличного объекта связывается с основной строкой передаваемой в формуляр таблицы и делается повторения для каждой записи, а BodyRow связывается с вложенной таблицей основной записи таблицы и делается соответственное повторение для каждой записи.Подитоги можно считать как в формуляре,так и передавать их в той же основной записи таблицы(проще)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как реализовать групповые итоги в PDF-формуляре
СообщениеДобавлено: Чт, фев 04 2010, 18:55 
Младший специалист
Младший специалист

Зарегистрирован:
Сб, апр 05 2008, 22:12
Сообщения: 63
Пол: Мужской
надо на вкладке "Контекст" сделать в вашей таблице группу через "Уровни группы" и затем в редакторе сделать футер на внутреннюю группировку и в поле где сумма прописать скрипт formCalc
Code:
$ = sum( IT_LABST.DATA.GROUP.BODY[*].LABST[*] )


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

Удачи!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как реализовать групповые итоги в PDF-формуляре
СообщениеДобавлено: Пн, фев 08 2010, 16:27 
Старший специалист
Старший специалист

Зарегистрирован:
Вт, авг 17 2004, 10:13
Сообщения: 382
Пол: Мужской
Чёрный Freelancer написал:
Если у Вас вложенные таблицы передаются в формуляр,которые уже разбиты на нужные группы, то создается табличный объект,добавляется строка BodyRow,в ней объединяются ячейки и вставляется туда сабформа, на нее вставляется еще один табличный объект (со строкой подитогов). BodyRow основного табличного объекта связывается с основной строкой передаваемой в формуляр таблицы и делается повторения для каждой записи, а BodyRow связывается с вложенной таблицей основной записи таблицы и делается соответственное повторение для каждой записи.


Спасибо за ответ, немного не понятно, как выводить строки и итоги:
Если в основной таблице одна строка BodyRow объедена в сабформу, где выводить записи таблицы? Строку в сабформу вставить не удалось... Пробовал создавать еще одину BodyRow в основной таблице, либо во вложенной таблице создавать FooterRow, но корректного результата получить не удалось

k1lc0m написал:
надо на вкладке "Контекст" сделать в вашей таблице группу через "Уровни группы" и затем в редакторе сделать футер на внутреннюю группировку и в поле где сумма прописать скрипт formCalc

Пробовал и этот вариант, но если указать в Уровнях группы какое нибудь поле, то как вывести все таблицу? У меня выводится только по одной записи из группы..


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как реализовать групповые итоги в PDF-формуляре
СообщениеДобавлено: Пн, фев 08 2010, 17:50 
Специалист
Специалист

Зарегистрирован:
Ср, апр 29 2009, 07:08
Сообщения: 197
Откуда: AUS RUSSLAND
Пол: Мужской
Александр написал:
Спасибо за ответ, немного не понятно, как выводить строки и итоги:
Если в основной таблице одна строка BodyRow объедена в сабформу, где выводить записи таблицы? Строку в сабформу вставить не удалось... Пробовал создавать еще одину BodyRow в основной таблице, либо во вложенной таблице создавать FooterRow, но корректного результата получить не удалось

Вообще самый нормальный вариант, которым смог реализовать печать таблицы со вложенной таблицей в строке заключается в связывании основного табличного табличного объекта с основной записью таблицы и повторение для каждой записи. Т.е. основной объект представлен headerом bodyrow1 bodyrow2 footerом. Далее в этом табличном объекте в первой строке (bodyrow1) связывается каждая ячейка с соответствующим полем основной записи таблицы, а вторая строка (bodyrow2) - объединяем ячейки и вставляем табличный объект для вывода записей вложенной таблицы (можно со своими headerом и footerом), в ней уже subbodyrow1 связываем с записями вложенной таблицы с повторением для каждой записи. После этого у нас будет печататься все как нужно, но будут выводиться в цикле вместе с 2-я строками еще заголовок и подвал основного табличного объекта. Это решается путем написания скрипта:
для заголовка Formcalc, initialize
Code:
var val = $.parent.instanceIndex
if ( val <> 0) then
$.presence = "hidden"
endif


и подвала Formcalc, initialize
Code:
var val = $.parent.instanceIndex - 1
MainTable[val].Footer.presence = "hidden"

,где MainTable - название основного табл-го объекта
Footer - футер основного табл объекта

Как вариант этому, использовать Conditional Breaks, и после каждой строки вызывать вторую строку с подпозициями, но она плохо работает с переносом на следующую страницу, т.е. добавит подпозиции на страницу если там даже не будет хватать на них места и не перенесет их на другую


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как реализовать групповые итоги в PDF-формуляре
СообщениеДобавлено: Вт, фев 09 2010, 10:34 
Младший специалист
Младший специалист

Зарегистрирован:
Сб, апр 05 2008, 22:12
Сообщения: 63
Пол: Мужской
Александр написал:
k1lc0m написал:
надо на вкладке "Контекст" сделать в вашей таблице группу через "Уровни группы" и затем в редакторе сделать футер на внутреннюю группировку и в поле где сумма прописать скрипт formCalc

Пробовал и этот вариант, но если указать в Уровнях группы какое нибудь поле, то как вывести все таблицу? У меня выводится только по одной записи из группы..


Я просто перетащил таблицу из Data View на экран, расставил параметры отображения и все. Смысл в том чтобы на строке таблицы висел биндинг вида DATA[*] - тогда он их будет выводить последовательно.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как реализовать групповые итоги в PDF-формуляре
СообщениеДобавлено: Ср, фев 10 2010, 10:15 
Старший специалист
Старший специалист

Зарегистрирован:
Вт, авг 17 2004, 10:13
Сообщения: 382
Пол: Мужской
k1lc0m и Чёрный Freelancer, спасибо за ответы, у меня в итоге получилось вывести и с вложенными таблицами и вариант с плоской таблице (через "Уровни группы")

В варианте с вложенными таблицами сделал почти тоже самое что описал Чёрный Freelancer , за исключением того, что не пришлось использовать скрипты для скрытия заголовока и подвала таблицы.
Получилось следующие:
Вставляем на форму таблицу1. binding ITEM (основная таблица). В ней Заголовок, Строка1 и Подвал. Для строки ставим повторение каждой записи
Вместо ячеек Строки1 вставляем еще одну таблицу2 binding $record.ITEM.DATA[*]
В таблице2, 3 строки: header - Для вывода заголовка группы binding None, body - binding TABL.DATA[*] повторение для кажной записи, foter - для вывода итогов по группе binding None


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 

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


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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