|
СКД ВычислитьВыражение() | ☑ | ||
---|---|---|---|---|
0
ChAlex
14.06.12
✎
16:36
|
Можно ли в группировке получить значение вычисленное по значениям дочерних группировок, на которые наложен некий отбор? Пример: Есть группировки Склад,Товар,Партия и ресурсы КоличествоРасход, КоличествоПриход, КоличествоПоПартии, СуммаПоПартии. Детальные записи получены по документам приходным и расходным документам.На уровне группировки "Партия" наложен отбор "КоличествоРасход=КоличествоПоПартии". (допустим хочу видеть все партии, проданные в ноль) В группировке Товар хочу получить сумму товара полученного в отчете по отобранным партиям.
Сумма по ресурсу - не катит, ибо формирует неправильный результат - рассчитывается по детальным записям, а там естественно партии дублируются из-за наличия документов движения. Пробовал использовать Сумма(ВычислитьВыражение("Максимум(СуммаПоПартии)","Партия") - не работате правильно (Так же как и ВычислитьВыражениеСГруппировкойМассив) - вычисляется без учета наложенного отбора. Собственно в этом и вопрос: а можно ли как-то получить корректно данные в таком случае или никак? |
|||
1
ChAlex
14.06.12
✎
17:36
|
ап
|
|||
2
mzelensky
14.06.12
✎
17:40
|
делай ручной отчет
|
|||
3
ChAlex
14.06.12
✎
17:57
|
(2) = не делай ничего, с удовольствием, если бы не суровая необходимость :-)
|
|||
4
ChAlex
15.06.12
✎
09:59
|
ап
|
|||
5
BabySG
15.06.12
✎
10:15
|
Не ту функцию используешь - смотри ГРУППОВАЯОБРАБОТКА
|
|||
6
ChAlex
15.06.12
✎
11:06
|
(5) - а это что? Что-то в СКД такого не нахожу
|
|||
7
soldatkin
15.06.12
✎
12:34
|
Сумма по ресурсу, но в дополнительном поле указать до какой Группировки рассчитывать
Либо дополнительное Вычисляемое Поле делать |
|||
8
ChAlex
15.06.12
✎
13:36
|
(7) - Ну так сумма по ресурсу - не берет сформированные итоги дочерних группировок, а рассчитывает все заново из детальных записей. Поэтому получить правильную сумму по группировке партия возможно через функцию Максимум(СуммаПоПартии) (можно минимум) - без разницы, поскольку в детальных записях это поле для группировки Партия имеет одинаковое значение, которое повторяется во всех строчках. Вот если бы теперь эту цифру можно было бы распространять на родительские группировки - все бы работало прекрасно. А так сумма даст завышенный результат. Теперь по вычисляемому полу - так я пробую в него забить ВычислитьВыражение("Максимум(СуммаПоПартии)","Партия") - значение рассчитывается опять же для родительских группировок криво
|
|||
9
BabySG
15.06.12
✎
18:28
|
(6) Поиск по ИТС поможет, там даже пример есть.
|
|||
10
ChAlex
15.06.12
✎
18:51
|
(9) - может тогда конкретно наведете где, а то что-то я не только в ИТС НЕ Нашел ничего конкретного
|
|||
11
BabySG
16.06.12
✎
16:51
|
Открыл ИТС, ввел в поиск "ГРУППОВАЯОБРАБОТКА", ПРОФИТ. ЧЯДНТ?
ГРУППОВАЯОБРАБОТКА (GROUPPROCESSING) Функция возвращает объект ДанныеГрупповойОбработкиКомпоновкиДанных (DataCompositionGroupProcessingData), который имеет следующие свойства: ? Данные (Data. – Тип – таблица значений. В это свойство функция помещает таблицу значений, содержащую результаты вычисления выражения, указанного в первом параметре функции для каждой групповой записи группировки. Если группировка иерархическая, то каждый уровень иерархии обрабатывается функцией отдельно, при этом значения для иерархических записей также помещаются в данные. ? ТекущийЭлемент (CurrentItem) – строка таблицы значений, являющихся текущими. При вызове для общего итога ТекущийЭлемент содержит значение Неопределено. В данное свойство функция помещает строку таблицы значений, для которой в настоящий момент вычисляется функция. ? ВременныеДанныеОбработки (ProcessingTempData) – структура, в которую могут быть помещены данные промежуточных результатов. Рекомендуется в различных функциях давать свойствам уникальные имена, т.к. возможна ситуация, когда один и тот же объект ДанныеГрупповойОбоработкиКомпоновкиДанных будет передан в несколько различных функций. Функция имеет следующие параметры: ? Выражения. –. Строка, в которой через запятую перечислены выражения, которые нужно вычислить. После каждого выражение возможно наличие необязательного ключевого слова КАК и имени колонки результирующей таблицы значений. ? ВыраженияИерархии. – Выражения, которые нужно вычислить для иерархических записей. Аналогично параметру Выражения с тем отличием, что параметр Выражения используется для не иерархических записей, а параметр ВыраженияИерархии используется для иерархических записей. Если параметр не указан, то для вычисления значений для иерархических записей используется выражения, указанные в параметре Выражение. ? ИмяГруппировки. – Имя группировки, в которой нужно вычислять группировку обработки. Строка. Если не указано, то вычисление происходит в текущей группировке. Если вычисление идет в таблице и параметр содержит пустую строку, или не указан, то значение вычисляется для группировки – строки. Компоновщик макета при генерации макета компоновки данных заменяет данное имя на имя группировки в результирующем макете. Если группировка не доступна, то функция будет заменена на значение NULL. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |