03.05.2011, 17:47 | #1 |
Участник
|
Коллеги, обращаюсь опять к вам за помощью.
Имеется отчет (см. название темы) R105. Он берет данные из таблицы 379 (Detailed Cust. Ledg. Entry) и выводит в виде Код: Cust.No. Cust.Name Before Jan Feb Mar After Balance 100 Customer 1 -20.024,72 0,00 0,00 0,00 0,00 -20.024,72 102 Customer 2 8.050,00 805,00 805,00 805,00 41.647,00 52.112,00 210 Customer 3 114.391,90 5.844,17 5.844,13 0,00 0,00 126.080,20 Мне нужно эти же самые результаты получить не в виде листа для печати, а в виде таблицы (т.е. должна открыться табличная форма с нужными результатами, чтобы по ней можно было перемещаться курсором, накладывать фильтры, копировать в буфер и т.п.) Задачу решила пока в лоб: создала временную таблицу, куда заношу нужные мне цифИри, потом с помощью FORM.RUN вызываю форму для просмотра получившейся таблицы. Подозреваю, что есть более изящное решение: без использования временных таблиц, но с использованием FlowFields и/или SumIndexFields. Хотелось бы при просмотре результирующей таблицы иметь возможность DrillDown в каждую циферку. Подскажите,плз, как можно сие реализовать? |
|
03.05.2011, 18:07 | #2 |
Участник
|
Сорри, что такая корявая таблица получилась, но никак не могу в удобочитаемый вид привести.
МОжет кто подскажет , как здесь можно вставлять таблицу, чтобы форматирование колонок сохранялось? |
|
03.05.2011, 21:54 | #3 |
Участник
|
Посмотрите на форму 12406 (Клиент Оборотная Ведомость). Нечто подобное (не по задаче, а по форме реализации) там сделано.
|
|
04.05.2011, 09:28 | #4 |
Участник
|
|
|
04.05.2011, 10:13 | #5 |
Участник
|
Форма 12406 будет только в российской функциональности. Может быть Вам стоит посмотреть в сторону матричных форм?
|
|
04.05.2011, 15:30 | #6 |
Участник
|
Не советую вам на FlowField'ах делать подобную форму - будет тормозить на больших объемах информации.
Сделайте форму на базе 18 таблицы в виде таблицы, как Вы привели. На ней кнопку Рассчитать. При нажатии рассчитываются все значения по клиентам во временную таблицу, на OnAfterGetRecord вы ищете нужную запись для клиента во временной таблице и отображаете суммы. А проваливаение уже сами запрограммируйте - полагаю, что там 5 строчек кода всего. Фильтровать по суммам не получится, по клиентам получится. |
|
04.05.2011, 17:28 | #7 |
Участник
|
.Quattro. Почему будет тормозить на вычисляемых полях?
В Финансово Оборотной Ведомости не тормозит. Балансы Клиентов не тормозят. Или вы про фильтрацию? Тогда будет притормаживать. Я бы завел нужные поля в 18 табличке и вызывал форму основанную на временной 18 табличке. Т.к. нам все равно считать, то пишем сразу в табличку формы и выводим. Фильтрация в этом случае работает. Kadawrik Еще обратите внимание на поле 69 Payments - они вычисляемое. Создаете точно такое же поле, убрав фильтр по Initial Document Type и Entry Type, и переделав фильтр даты вместо Posting Date на Initial Entry Due Date. Теперь, выставив на это поле нужный фильтр по дате, вы должны получить любую цифру из вашего отчета. Создаете 5 таких полей, ставите на них нужные фильтры и он формочка показывает отчет и фильтруется. Как менять периоды дат по кнопочками можете посмотреть в формочке 414 G/L Balance. |
|
04.05.2011, 20:37 | #8 |
Участник
|
На больших объемах информации будет тормозить, т.к. каждый раз, когда переходите с одной записи значения будут пересчитываться.
Поэтому лучше все рассчитать заранее, а затем отобразить результат. Для теста можно засечь, сколько времени открывается 18я таблица через Object Designer - все вычисляемые поля считаются. |
|
05.05.2011, 10:27 | #9 |
Участник
|
Да. Табличка Клиентов притормаживает в дизайнере.
Но тут еще другой момент. Если вы все заранее считаете, то это займет время столько, сколько вы перелистывали бы каждую запись. На чисто вычисляемых полях тратится время только на выведенные записи. |
|