09.07.2003, 16:59 | #1 |
Участник
|
Вывод программируемых секций отчета
Доброго времени суток,
В отчете есть две программируемые секции: (1) шапка группировки; например, имя клиента (2) строки группировки; например, заказы по этому клиенту При выводе (2) происходит подсчет неких сумм по выводимым строкам, например, сумма заказов клиента. Вопрос в том, как вывести эту сумму в (1). Секция (1), будучи выведенной через execute.section(), уже не видит никаких переменных, образованных в коде после данного execute. Есть ли способ вывести в (1) данные, рассчитанные в момент вывода (2)? Любым способом. Артем |
|
09.07.2003, 17:19 | #2 |
----------------
|
Объявить несколько переменных в classDeclaration() отчета, считать их в (2), а выводить в (1)
|
|
09.07.2003, 17:39 | #3 |
Участник
|
Спасибо за ответ!
В этом случае в (1) будет выводится сумма, подсчитанная на предыдущей группировке (2). То есть, сейчас (*) мне нужно отразить в строке (1): (1) Вася (2) васин заказ №1 ------------------------ 110 руб (2) васин заказ №2 ------------------------ 130 руб всего 240 руб * (1) Коля (2) колин заказ №1 ------------------------ 210 руб (2) колин заказ №2 ------------------------ 230 руб всего 440 руб * Расчет идет так: сумма перед (1) обнуляется и добавляется при проходе по строкам (2). На каждый (1) и (2) работает execute.section(). С вариантом объявления суммарых переменных в ClassDeclaration мы получим: (1) Вася всего 0 руб (2) васин заказ №1 ------------------------ 110 руб (2) васин заказ №2 ------------------------ 130 руб (1) Коля всего 240 руб (2) колин заказ №1 ------------------------ 210 руб (2) колин заказ №2 ------------------------ 230 руб Артем |
|
09.07.2003, 17:55 | #4 |
----------------
|
тогда никак..
как можно вывести то, что еще не посчитано? придется вычисления делать отдельно от вывода (2) |
|
10.07.2003, 15:31 | #5 |
Участник
|
А вариант :
(2) васин заказ №1 ------------------------ 110 руб (2) васин заказ №2 ------------------------ 130 руб (1) Вася всего 240 руб вас не устраивает? |
|
10.07.2003, 15:44 | #6 |
Участник
|
Алексей, меня лично - устраивает. Пользователей - нет. В реальности отчет имеет от 3 до 4 группировок (ниже как 1.1 - 1.3), и каждая из них имеет суммы, например:
(1.1) Вася-менеджер---------------------------------------------------- всего 650 руб (1.2) Васина группа клиентов: "ВИПы" ------------------------- всего 300 руб (1.3.) Номерклатура: "вилы хоз." ------------------------------- всего 240 руб (2) заказ васиного випового клиента на вилы №1 ------- 110 руб (2) заказ васиного випового клиента на вилы №2 ------- 130 руб (1.3.) Номерклатура: "веники"--- ------------------------------- всего 60 руб (2) заказ васиного випового клиента на веники №1 ---- 20 руб (2) заказ васиного випового клиента на веники №2 ---- 40 руб (1.2) Васина группа клиентов: "не ВИПы" --------------------- всего 350 руб и т.д. И тут логичнее - я понимаю бухгалтеров - видеть итоги по заголовку группировки. Но вот считать их отдельно ох как не хочется! |
|
10.07.2003, 15:46 | #7 |
----------------
|
OFF
Лично меня, "(1) Вася всего 240 руб" устраивает больше, чем "(1) Вася всего 0 руб"
|
|
10.07.2003, 16:22 | #8 |
Участник
|
Цитата:
Изначально опубликовано artemmikhailov
И тут логичнее - я понимаю бухгалтеров - видеть итоги по заголовку группировки. Но вот считать их отдельно ох как не хочется! p.s. Но по-моему лучше всё-таки подсчитать итоги отдельно. |
|
10.07.2003, 22:29 | #9 |
Участник
|
artemmikhailov, вы или ваши пользователи наверняка раньше пользовались 1Сом
Вспомните, что 1С строить отчеты в два прохода: сначала считает итоги, затем выводит секции. Таким образом, пользователи вынуждены ждать пока итоги посчитаются. И только потом они хоть что-то увидят. Это цена того, что они привыкли видеть. И кстати, это далеко не логичнее! Это просто привычка такая. В Аксапте немного другой принцип. Аксапта (да и многие другие западные программы) стремится вывести первые страницы как можно раньше, чтобы пользователь сразу мог оценить нужность получаемых данных. Именно поэтому у стандартной Аксапты нет итогов ДО того, как она выведет строчку. Теперь о вашем отчете. Во-первых, бросьте привычку программировать! отчет вида Цитата:
(1) Вася
(2) васин заказ №1 ------------------------ 110 руб (2) васин заказ №2 ------------------------ 130 руб всего 240 руб * (1) Коля (2) колин заказ №1 ------------------------ 210 руб (2) колин заказ №2 ------------------------ 230 руб всего 440 руб * Для этого достаточно: = в датасорсе добавить сортировку по клиентам и включить автосуммирование и автозаголовок = сгенерировать дизайн по датасорсу, накидать туда поля и = в дизайне указать у нужных полей признак Sum Отчеты такого вида получаются в Аксапте просто и быстро и БЕЗ программирования. Большинство отчетов именно так и построено. Попробуйте, вам непременно понравится. Попробуйте также добавить несколько полей сортировки и посмотрите на закладку сортировка и, если у вас 3.0, опции печати. (http://axapta.mazzy.ru/screenshots/common/sort.html в конце страницы) Вас несомненно обрадуют возможности А самое главное? вы сможете генерировать отчеты своим пользователям намного быстрее и качественнее. В общем, бросайте программировать и посмотрите на стандартные возможности. Теперь о том, что вы хотите сделать. Это можно. Для этого надо всего лишь "проэмулировать" поведение 1С. Т.е. сначала рассчтать итоги в промежуточную таблицу, а затем вручную вывести значения из нее. Но как сами понимаете для этого вам нужны будут средства разработки (как и в 1С) и терпение . |
|
11.07.2003, 09:40 | #10 |
----------------
|
опять OFF
Цитата:
Изначально опубликовано mazzy
Попробуйте, вам непременно понравится. Попробуйте также добавить несколько полей сортировки и посмотрите на закладку сортировка и, если у вас 3.0, опции печати. (http://axapta.mazzy.ru/screenshots/common/sort.html в конце страницы) Вас несомненно обрадуют возможности А самое главное? вы сможете генерировать отчеты своим пользователям намного быстрее и качественнее. В общем, бросайте программировать и посмотрите на стандартные возможности |
|
11.07.2003, 11:24 | #11 |
Участник
|
Re: опять OFF
Цитата:
Изначально опубликовано Wamr
Ну прям "магазин на диване" |
|
|
Похожие темы | ||||
Тема | Ответов | |||
Вывод отчета в WORD | 15 | |||
Вывод отчета в файл в пакетном режиме | 16 | |||
Вывод второстепенного отчёта. | 1 | |||
Русская локализация Axapta 3 ? | 59 | |||
Вывод отчета на почту | 7 |
|