|
Итоги по иерархии | ☑ | ||
---|---|---|---|---|
0
Kleopatra2803
12.02.15
✎
09:06
|
Добрый день!
Передаю в скд в набор данных объект таблицу значений вида номенклатура - период - расход. в скд на закладке вычисляемые поля рассчитываю поле дефицит. при выводе данные считаются правильно... но! мне нужно номенклатуру выводить в иерархии. Для этого в группировке задаю номенклатура(иерархия). В результате итоги по иерархии считаются неправильно. Думаю, что можно сделать через ресурсы с использованием вычислитьвыражение, но пока не получается. Помогите, пожалуйста, разобраться Скриншот: https://yadi.sk/i/Xt3mOUdBecrQE |
|||
1
rabbidX
12.02.15
✎
09:11
|
Попробуйте через рассчитывать по .. Номенклатура Иерархия в ресурсах.
|
|||
2
Kleopatra2803
12.02.15
✎
09:12
|
(1) пыталась - не помогает
|
|||
3
Kleopatra2803
12.02.15
✎
09:15
|
Возможно проблема в том, что в скд я передаю таблицу значений с периодом, а когда достаются группировки - я так думаю, что он наверное считает этот период пустым. потом в скд информация у меня выводится по периодам
|
|||
4
Kleopatra2803
12.02.15
✎
09:31
|
не могу до конца разобраться, как работают вычисляемые поля. чувствую, что через них надо делать, но не получается верное количество. вообще непонятно, как количество для группировок считается.
|
|||
5
Alexaha
12.02.15
✎
09:58
|
(4) не уверен но может быть это поможет
если у тебя ресурс - вычисляемое поле, то попробуй через "рассчитать по", но! используй не агрегатную функцию а подредактированную формулу самого вычиляемого поля например (упрощенно) формула вп А/Б тогда в рассчитать по будет Сумма(А) / Сумма(Б) |
|||
6
Kleopatra2803
12.02.15
✎
12:39
|
(5) так, как вы предложили - не помогло. Решила попробовать работать с таблицей "извращенным" способом.
Заметила, что для колонки расход - расход нарастающий по группировкам номенклатуры считается правильно. остальные поля вычисляемые. Поэтому возникло предположение, что если колонки вычисляемые я передам, как уже готовые, то в группировках сумма тоже будет считаться верно. Для этого результат, полученный в скд, я выгрузила в таблицу значений (соответственно группировок там быть не должно, а могут быть только детальные записи). Потом хочу эту таблицу значений передать в новую схему компоновки данных. Заметила, что когда ту же самую таблицу вывожу без группировок, только по детальным записям, то нарастающий итог перестает считаться, хотя с группировками все хорошо считается. Есть вообще возможность рассчитать нарастающий итог через ВычислитьВыражение не по группировкам, а по детальным записям? Или ВычислитьВыражение работает только для группировок? Сейчас код для нарастающего расхода такой: ВычислитьВыражение("Сумма(Расход)","Период","Группировка","Первая","Текущая") |
|||
7
Alexaha
12.02.15
✎
12:42
|
(6) можно формулу вычисляемого поля?
|
|||
8
Kleopatra2803
12.02.15
✎
12:44
|
(7) ВычислитьВыражение("Сумма(Расход)","Период","Группировка","Первая","Текущая")
|
|||
9
Kleopatra2803
12.02.15
✎
12:51
|
(7) хотя вообще-то правильно, что он не считает нарастающий итог. я же указала там считать по периоду. Он по идее должен считать по номенклатуре и по периоду наверно. В общем я запуталась окончательно)
|
|||
10
Alexaha
12.02.15
✎
13:01
|
(9) а порядок группировок как заголовке темы?
|
|||
11
Kleopatra2803
12.02.15
✎
13:05
|
(10) Таблица:
Строки Материал - Материал.Артикул - Остаток - ЦенаЗакупа Колонки: Период Остальные поля в ресурсах |
|||
12
Kleopatra2803
12.02.15
✎
13:06
|
(10) а если тот вариант попробовать, который вы предлагали с суммами, как мое вычисляемое поле просуммировать, если оно имеет такой вид:
Выбор Когда Расход > ВычислитьВыражение("Сумма(Расход)","Период","Группировка","Первая","Текущая") - Остаток - ВычислитьВыражение("Сумма(Заказано)","Период","Группировка","Первая","Текущая") Тогда ВычислитьВыражение("Сумма(Расход)","Период","Группировка","Первая","Текущая") - Остаток - ВычислитьВыражение("Сумма(Заказано)","Период","Группировка","Первая","Текущая") Иначе Расход Конец |
|||
13
Kleopatra2803
12.02.15
✎
13:08
|
я пыталась там суммы ставить после "тогда", а внутрь вычисляемые выражения засовывать. и еще последнее поле Расход в сумму
|
|||
14
Kleopatra2803
12.02.15
✎
13:10
|
в общем вот так:
Выбор Когда Расход > ВычислитьВыражение("Сумма(Расход)","Период","Группировка","Первая","Текущая") - Остаток - ВычислитьВыражение("Сумма(Заказано)","Период","Группировка","Первая","Текущая") Тогда Сумма(ВычислитьВыражение("Сумма(Расход)","Период","Группировка","Первая","Текущая")) - Сумма(Остаток) - Сумма(ВычислитьВыражение("Сумма(Заказано)","Период","Группировка","Первая","Текущая")) Иначе Сумма(Расход) Конец |
|||
15
Kleopatra2803
12.02.15
✎
13:10
|
может я что-то не так делаю
|
|||
16
Kleopatra2803
12.02.15
✎
13:12
|
(11) а нет, я наврала там
Таблица: Строки Материал(иерархия) - Материал.Артикул - Остаток - ЦенаЗакупа Колонки: Период Остальные поля в ресурсах |
|||
17
Alexaha
12.02.15
✎
13:15
|
(13) сделал простейший вариант, группировки Номенкатура (иерархия) - период
внутри иерархии итог нормально, в самих группах итог получается как итог предыдущей группы + нарастающий итог текущей т.е примерно так (период не указываю): Номенклатура количество нараст итог Группа1 20 20 товар1 15 15 товар2 5 20 группа2 15 35 товар3 10 10 товар4 5 15 |
|||
18
Kleopatra2803
12.02.15
✎
13:23
|
(17) проблема в том, что для колонки расход, которая у меня задана на входе, в группировках все хорошо считается, и для колонки расход нарастающий тоже все правильно. количество в группах едет на колонке дефицит, которая рассчитывается с помощью вычисляемого выражения.
для сравнения: расход нарастающий: ВычислитьВыражение("Сумма(Расход)","Период","Группировка","Первая","Текущая") дефицит: Выбор Когда Расход > ВычислитьВыражение("Сумма(Расход)","Период","Группировка","Первая","Текущая") - Остаток - ВычислитьВыражение("Сумма(Заказано)","Период","Группировка","Первая","Текущая") Тогда ВычислитьВыражение("Сумма(Расход)","Период","Группировка","Первая","Текущая") - Остаток - Заказано Иначе Расход Конец боюсь, что проблема и правда в том, что программа не может рассчитать сумму для такого большого вычисляемого поля |
|||
19
Alexaha
12.02.15
✎
13:32
|
(18) я правильно понимаю формулу дефицита?
расход - НИ расход - Остаток - НИ заказ |
|||
20
Kleopatra2803
12.02.15
✎
13:45
|
(19) не совсем. Пока без заказано посчитаем. У них пока 0 заказы
НИРасход - Остаток, а если расход < НИРасход - Остаток, то расход |
|||
21
Kleopatra2803
12.02.15
✎
14:08
|
(19) а можешь по тим вьюеру посмотреть? может так, что-нибудь заметишь?
|
|||
22
Kleopatra2803
12.02.15
✎
14:32
|
Помогите, пожалуйста. Может еще какие-нибудь идеи есть. а то второй день сижу с отчетом, а проблема только в группировках
|
|||
23
Kleopatra2803
12.02.15
✎
14:35
|
на текущий момент добавила дефицит в вычисляемое поле(пустое). в ресурсах считаю сумму через вычислитьвыражение и делаю рассчитывать по материалам. по материалам рассчитывает правильно, в группировках номенклатуры пусто. если добавляю рассчитывать по материалам и по материалам иерархии, то по материалам считает правильно, а в группировке суммы неверные.
|
|||
24
Alexaha
12.02.15
✎
14:37
|
(22) у меня есть подозрение, что проблема во вложенности вычисления НИ, т.е при вычислении дефицита для отдельновзятой строки используется НИ, и сам дефицит мы хотим получить как НИ
может попробовать сделать два прохода? 1. вычилить Деф для каждой строки, выгрузить в ТЗ 2. обработать ТЗ, получив НИ деф еще можно попробовать использовать ТипРасчета - Иерархия |
|||
25
Kleopatra2803
12.02.15
✎
14:41
|
(24) "еще можно попробовать использовать ТипРасчета - Иерархия"
это где такое можно найти? |
|||
26
Alexaha
12.02.15
✎
14:44
|
(25) ТипРасчета. Тип Строка.
Если параметр имеет значение "Иерархия", то выражение нужно вычислять для родительской иерархической записи, если таковая имеется, и для всей группировки, если родительской иерархической записи не имеется. Компоновщик макета при генерации выражения для поля "% в группе иерархии" генерирует выражение, содержащее отношение выражения ресурса к функции ВычислитьВыражение для выражения ресурса, вычисляемого для текущей группировки с типом вычисления "Иерархия". |
|||
27
Alexaha
12.02.15
✎
14:44
|
во строенной справке есть полное описание функции ВычислитьВыражение
|
|||
28
Alexaha
12.02.15
✎
14:59
|
(25) попробуй эту формулу
вставлять ее на закладке ресурсы на закладке вычисляемые поля только наименование Выбор Когда Сумма(Расход) < ВычислитьВыражение("Сумма(Расход)", , , "Первая", "Текущая") - Сумма(Остаток) Тогда ВычислитьВыражение("Сумма(Расход)", , , "Первая", "Текущая") Иначе ВычислитьВыражение("Сумма(Расход)", , , "Первая", "Текущая") - Сумма(Остаток) Конец |
|||
29
Kleopatra2803
12.02.15
✎
15:00
|
(26) это как-то так? Сумма(ВычислитьВыражение("Сумма(Расход)","Период","Иерархия","Первая","Текущая")) - Сумма(Остаток)
а как параметр передать, не совсем понимаю |
|||
30
Kleopatra2803
12.02.15
✎
15:03
|
(28) рассчитывать по номенклатуре и номенклатуре.иерархии? или вообще это поле не заполнять?
|
|||
31
Alexaha
12.02.15
✎
15:04
|
(30) вот как написал так и попробуй, у меня что то похожее на истину получилось (ну в моем понимании) :)
|
|||
32
Alexaha
12.02.15
✎
15:06
|
по номелкатуре у меня одна группировка с типом иерархии Иерархия
|
|||
33
Kleopatra2803
12.02.15
✎
15:07
|
(31) в вычисляемых полях дефицит пусто или номенклатура?
|
|||
34
Kleopatra2803
12.02.15
✎
15:12
|
(31) я справшиваю, потому что у меня не получается. очень близко результат, но не тот
|
|||
35
Alexaha
12.02.15
✎
15:20
|
(33) тлько путь к данным и заголовок, выражение пустое
|
|||
36
Alexaha
12.02.15
✎
16:49
|
ап
|
|||
37
Kleopatra2803
12.02.15
✎
16:58
|
(36) все, я сделала, но по-другому. домой приду, напишу, как
|
|||
38
Kleopatra2803
12.02.15
✎
18:39
|
(36) В общем ничего не получилось с ресурсами. Числа очень близко получались, но не те все равно. Сделала все, как ты сказал.
В результате не нашла более лучшего варианта, как сформировать нарастающие итоги заранее в таблице значений (т.е. бегала в цикле по таблице, которая задана на входе до передачи ее в скд и добавляла к ней дополнительные колонки, которые как раз и заполняла в цикле). затем передала готовую таблицу значений в скд и вывела результаты. Спасибо тебе огромное за помощь! |
|||
39
Alexaha
13.02.15
✎
09:20
|
(38) понятно, не стала пробовать с двумя схемами СКД?
благодарить не за что, в сухом остатке я ничем не помог :) |
|||
40
Kleopatra2803
17.02.15
✎
10:24
|
(39) С двумя схемами СКД не получилось бы, потому что накопительный итог через ВычислитьВыражение() считается только внутри группировок. У меня была настройка таблица, а ее нельзя выгрузить в таблицу и загрузить снова в СКД. Только детальные записи или примитивные группировки можно. А если поставит в настройки только группировку без таблицы, то накопительный итог считается по номенклатуре, а мне нужно, чтоб считался по периоду
|
|||
41
Alexaha
17.02.15
✎
10:30
|
(40) а может тебе поможет ВычислитьВыражениеСГруппировкойМассив?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |