Текущее время: Вт, июл 29 2025, 14:17

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: Yandex [Bot]


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

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