Добрый день, часто случается так, что в табличной части документа повторяется одна номенклатура несколько раз, так заносят, это не ошибка, только с разными количествами может быть. Как сделать так, что такие строки суммировались, т.е. относяшиеся к одной номенклатуре. Например в ТОРГ-13 или ТОРГ-12, и в др. накладных. В FastReport 2,5 не силен, благодарен буду, если подскажите куда смотреть.
Решение данной проблемы требует либо доработки источника, либо доработки шаблона. Доработка шаблона - это добавление бенда группировки по Гуппам+Номенклатурным номерам. В этом случае сортировка по строкам документа в экранной форме(F3) должна быть СТРОГО по "Гуппам, номенклатурным номерам " (данная сортировка обычно стоит по умолчанию). Мемо-поля находящиеся на Master Data сдвигаются на бенд подвала группировки (Group Footer), и в суммовые поля добавляется функция SUM(). Единственное, если цена у одинаковой номенклатуры разная, Вам придется высчитывать среднюю цену, если одинаковая - то цена из источника. Т.к. ТОРГ-12 самая сложная печатная форма, то реализацию данной задачи можно посмотреть на прикрепленном шаблоне. Принцип доработки остальных шаблонов такой же.
Консультация Введенского оказалась мне очень полезной.
В одной организации с этого года ввели партионный учет в "Товарах.ГП"
Очень скоро в накладных на реализацию появились по 2-3 и более строк одного товара, отпущенных с разных партий.
Для некоторых Покупателей потребовалось сделать такой шаблон накладной, в котором подсуммировались бы количества и стоимость по каждой номенклатуре без отражения номеров партий.
Я воспользовался Вашей идеей и, конечно, руководством по Fast Report.
Сделал простые накладные (на склад) и доработал ТОРГ 12, нынействующий
Но организация использует УПД.
В этом документе отчет двухуровневый....
Есть и Master Data и Detail Data
Мне не удалось пока сформировать УПД с группировкой строк по условию ГРУППА+НОМЕНКЛАТУРА.
Может быт у кого то есть уже доработанный УПД, в котором не выдавались бы партии.
В нашем случае, большинству ПОКУПАТЕЛЕЙ партии - "до лампочки", но для других должны отражаться партии и данные о партиях.
Вот нужен УПД для БОЛЬШИНСТВА, где товары НЕ ПОВТОРЯЮТСЯ
Для того, чтобы выполнить группировку строк в УПД по полям ГРУППА+НОМЕНКЛАТУРА, необходимо дорабатывать источник. В шаблоне этого сделать НЕЛЬЗЯ, т.к. шаблон содержит в себе помимо одиночной печати еще и групповую печать документа. Доработка источника требует создание пользовательского источника на основе системного. В пользовательский источник для класса form_tax_sf необходимо добавить параметр "группировка строк", а в процедуру select_stroki дописать алгоритм по группировке.
Сергей Введенский пишет:
Для того, чтобы выполнить группировку строк в УПД по полям ГРУППА+НОМЕНКЛАТУРА, необходимо дорабатывать источник. В шаблоне этого сделать НЕЛЬЗЯ, т.к. шаблон содержит в себе помимо одиночной печати еще и групповую печать документа. Доработка источника требует создание пользовательского источника на основе системного. В пользовательский источник для класса form_tax_sf необходимо добавить параметр "группировка строк", а в процедуру select_stroki дописать алгоритм по группировке.
Здравствуйте!
А эту задачу можно решить без изменения источника?
Например, если в самом шаблоне использовать массивы?
Да, использование массивов так же решает эту задачу.
В этом случае на событие OnBeforePrint бенда MasterData надо сформировать массив из строк документа с учетом группировки. После этого установить бенду DetailData количество строк равное кол-ву элементов массива (dd.datasource:= <кол-во элементов массива>).
Не забудьте что FR2 поддерживает только одномерные массивы, поэтому для каждого столбца необходимо будет создавать свой массив.