|
СКД. Поле данных через "ВЫЧИСЛИТЬВЫРАЖЕНИЕ" и группировка по нему | ☑ | ||
---|---|---|---|---|
0
mzelensky
12.12.17
✎
10:30
|
Доброго времени суток!
Платформа 1С 8.2.19. Имеется отчет на СКД. В вычисляемых полях имеется вычисляемое поле "ГруппаABC" - в зависимости от величины нарастающего итога проставляется класс (строкой): Выбор когда ВЫЧИСЛИТЬВЫРАЖЕНИЕ("Сумма(ДоляОтСуммыПродажи)", , ,"Первая", "Текущая") <= &ОбъемКласса_A Тогда "A-класс" когда ВЫЧИСЛИТЬВЫРАЖЕНИЕ("Сумма(ДоляОтСуммыПродажи)", , ,"Первая", "Текущая") > &ОбъемКласса_A И ВЫЧИСЛИТЬВЫРАЖЕНИЕ("Сумма(ДоляОтСуммыПродажи)", , ,"Первая", "Текущая") <= &ОбъемКласса_B Тогда "B-класс" Иначе "C-класс" Конец Далее хочу вывести отчет вида: Класс (1 уровень) Товар (2 уровень) При попытке это сделать платформа вылетает с фатальной ошибкой и закрывается. Если Просто вывести детальные записи или только группировку по товару, то все отрабатывает нормально. Т.е. система не может построить группировку и этому моему вычисляемому полю. Вопрос - как решить проблему? Я где-то накосячил в постоении отчета или это ограничение платформы? |
|||
1
Гипервизор
12.12.17
✎
10:38
|
Попробуйте использовать агрегатную функцию КлассификацияABC()
|
|||
2
mzelensky
12.12.17
✎
11:01
|
(1) Это откуда такая?
|
|||
3
Гипервизор
12.12.17
✎
11:05
|
(2) Это из СКД. Появилась в 8.2.14.
|
|||
4
mzelensky
12.12.17
✎
11:20
|
(3) Сделал вычисляемое поле "АБС":
КлассификацияABC("Сумма(СуммаПродажи)", 3, "80, 95") При формировании получаю: {Форма.Форма.Форма(409)}: Ошибка при вызове метода контекста (Следующий) ЭлементРезультатаКомпоновкиДанных = ПроцессорКомпоновкиДанных.Следующий(); по причине: Ошибка компоновки данных по причине: Ошибка получения данных по причине: Ошибка в выражении по причине: Синтаксическая ошибка "КлассификацияABC" |
|||
5
Гипервизор
12.12.17
✎
11:24
|
(4) А режим совместимости у вас какой? Вероятно нужен 8.2.16.
|
|||
6
mzelensky
12.12.17
✎
11:30
|
(5) Видимо да. у меня он вообще 8.1
Да и нашел я видео, где объяснять по работе с этой функцией: http://курсы-по-1с.рф/news/2017-03-23-how-to-add-abc-classification/ Косяк в том, что в этом случае "Класс АБС" становится РЕСУРСОМ!!! И Группировку по нему уже не сделаешь. А мне нужно именно это |
|||
7
DrShad
12.12.17
✎
11:32
|
(6) можно и по ресурсам делать группировки
|
|||
8
mzelensky
12.12.17
✎
11:37
|
(7) ?
|
|||
9
mzelensky
12.12.17
✎
12:27
|
ап?
|
|||
10
mzelensky
12.12.17
✎
13:37
|
Мыслей на счет группировки нет?
|
|||
11
тарам пам пам
12.12.17
✎
16:00
|
ИМХО, здесь только в самом запросе вычислять классификацию, иначе что в варианте (0), что при использовании функции КлассификацияABC результат будет зависеть от настроек отчета.
|
|||
12
mzelensky
12.12.17
✎
16:29
|
(11) Так он и должен зависить от настроек отчета.
Я пробовал разные варианты. И чисто в отчете считать и как в (1) предлагали. Но самый удачный вариант у меня получается именно, как описано в (0). Все считается правильно. Косяк только в выводе группировки. Если выводить как детальные записи или как ресурс, то проблемы нет, но тогда отчет выглядит немного не удобно. |
|||
13
тарам пам пам
12.12.17
✎
16:51
|
(12) падает у тебя, т. к. чтобы получить значение текущей группировки, тебе нужно рассчитать класс, а класс считается в разрезе текущей группировки - рекурсия получается.
Попробуй тогда задать конкретную группировку в ВычислитьВыражение. Правда вангую, что все равно не поможет (разве что отчет перестанет падать), так как ВычислитьВыражение не может спуститься "вниз" - оно работает только в контексте текущей/родительской группировки. |
|||
14
mzelensky
13.12.17
✎
07:58
|
(13) Пробовал указывать Группировку - все равно падает
|
|||
15
mzelensky
13.12.17
✎
08:01
|
Уже подумываю об изврате вроде сделать расчет в одном макете скд, выгрузить в ТЗ, загнать тут же эту ТЗ в другой макет СКД и вывести пользователю.
НО встает гемор с настройкой схемы СКД. |
|||
16
mzelensky
13.12.17
✎
12:07
|
В общем не нашел ничего более лучшего ,чем реализовать вариант из (15). Самое забавное, что ОНО работает.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |