04.10.2005, 04:50 | #1 |
Участник
|
Бюджетирование.
Есть длинная таблица. Первые два поля - код статьи и наименование статьи. Долее идут значения "план", "факт", "отклонение" по месяцам. Требуется, чтобы при премещении вправо, столбцы "код статьи" и "наименование статьи" оставались на месте. Есть ли простой сбособ добиться этого? Пробовал три варианта. 1. Один tablebox. При перемещении вправо свойство visible у столбцов значений делаю последовательно false, начиная с первого значения. При перемещении влево - соответственно true в обратном порядке. Недостаток - трудно сделать универсальным, чтобы код учитывал ширину tablebox, столбцов, анализировал и т.д. 2. Два tablebox. В первом отображается только код статьи и наименование статьи. Во втором - значения. Недостаток - отстутствие синхронности в отображении строк при перемещении вверх - вниз. Можно ли как-то синхронизировать? 3. matrixbox. Все нормально. Недостаток. Можно отобразить только одно из значений: или "план", или "факт" или "отклонение". Или можно как-то отбразить? "план" и "факт" - отдельные поля flowfield "отклонение" - вычисляемое поле. |
|
04.10.2005, 10:52 | #2 |
Участник
|
Здесь поможет только матрикс. Отображение можешь сам перехватывать и выводить в любом формате. По кр. мере дорабточка минимальна, остальное - более геморно, например выгрузить в сам ёксель, а там настроить области отображения
|
|
04.10.2005, 11:25 | #3 |
Участник
|
Цитата:
Отображение можешь сам перехватывать и выводить в любом формате
Насколько я понял, можно отобразить только одно из них, а надо все. |
|
04.10.2005, 12:52 | #4 |
Участник
|
Можно хоть матерные слова писать в ячейках в зависимости от того положительное отклонение или отрицательное)))
|
|
05.10.2005, 15:38 | #5 |
Участник
|
Цитата:
Сообщение от Alexus
Т.е. можно добиться, чтобы матрикс одновременно показывал помесячно три значения: план, факт, отклонение?
Насколько я понял, можно отобразить только одно из них, а надо все. Я эту задачу решал так. В качестве MatrixSourceTable в MatrixBox вместо даты ставится целое. Дальше нужно определить, какое значение и за какую дату выводить в каждой ячейке. Для этого в OnAfterGetRecord пишем такие строчки: <div class='CALtop'>C/AL</div><div class='CAL'> DateIndex:=CurrForm.Matrix.MatrixRec.Число DIV 10; FieldIndex:=CurrForm.Matrix.MatrixRec.Число MOD 10; </div> MOD 10 и DIV 10 - это потому что мне за одну дату надо было вывести 10 значений. В Вашем случае будет 3. Дату определяем так: <div class='CALtop'>C/AL</div><div class='CAL'> DateRec.NEXT(DateIndex); </div> Где DateRec - переменная типа Record, Subtype - Дата. Получаем дату, за которую нужно брать сумму, а FieldIndex - индекс, собственно, значения (план, факт, отклонение). Возможны и другие варианты реализации, но мне этот показался наиболее простым. |
|
06.10.2005, 08:57 | #6 |
Участник
|
Большое спасибо. Попробую реализовать
|
|