Вход | Регистрация


СКД. Поле данных через "ВЫЧИСЛИТЬВЫРАЖЕНИЕ" и группировка по нему

СКД. Поле данных через "ВЫЧИСЛИТЬВЫРАЖЕНИЕ" и группировка по нему
Я
   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()
   mzelensky
 
2 - 12.12.17 - 11:01
(1) Это откуда такая?
   Гипервизор
 
3 - 12.12.17 - 11:05
(2) Это из СКД. Появилась в 8.2.14.
   mzelensky
 
4 - 12.12.17 - 11:20
(3) Сделал вычисляемое поле "АБС":

КлассификацияABC("Сумма(СуммаПродажи)", 3, "80, 95")

При формировании получаю:

{Форма.Форма.Форма(409)}: Ошибка при вызове метода контекста (Следующий)
        ЭлементРезультатаКомпоновкиДанных = ПроцессорКомпоновкиДанных.Следующий();
по причине:
Ошибка компоновки данных
по причине:
Ошибка получения данных
по причине:
Ошибка в выражении
по причине:
Синтаксическая ошибка "КлассификацияABC"
   Гипервизор
 
5 - 12.12.17 - 11:24
(4) А режим совместимости у вас какой? Вероятно нужен 8.2.16.
   mzelensky
 
6 - 12.12.17 - 11:30
(5) Видимо да. у меня он вообще 8.1

Да и нашел я видео, где объяснять по работе с этой функцией:

http://курсы-по-1с.рф/news/2017-03-23-how-to-add-abc-classification/

Косяк в том, что в этом случае "Класс АБС" становится РЕСУРСОМ!!! И Группировку по нему уже не сделаешь. А мне нужно именно это
   DrShad
 
7 - 12.12.17 - 11:32
(6) можно и по ресурсам делать группировки
   mzelensky
 
8 - 12.12.17 - 11:37
(7) ?
   mzelensky
 
9 - 12.12.17 - 12:27
ап?
   mzelensky
 
10 - 12.12.17 - 13:37
Мыслей на счет группировки нет?
 
 Рекламное место пустует
   тарам пам пам
 
11 - 12.12.17 - 16:00
ИМХО, здесь только в самом запросе вычислять классификацию, иначе что в варианте (0), что при использовании функции КлассификацияABC результат будет зависеть от настроек отчета.
   mzelensky
 
12 - 12.12.17 - 16:29
(11) Так он и должен зависить от настроек отчета.

Я пробовал разные варианты. И чисто в отчете считать и как в (1) предлагали.

Но самый удачный вариант у меня получается именно, как описано в (0). Все считается правильно. Косяк только в выводе группировки. Если выводить как детальные записи или как ресурс, то проблемы нет, но тогда отчет выглядит немного не удобно.
   тарам пам пам
 
13 - 12.12.17 - 16:51
(12) падает у тебя, т. к. чтобы получить значение текущей группировки, тебе нужно рассчитать класс, а класс считается в разрезе текущей группировки - рекурсия получается.

Попробуй тогда задать конкретную группировку в ВычислитьВыражение. Правда вангую, что все равно не поможет (разве что отчет перестанет падать), так как ВычислитьВыражение не может спуститься "вниз" - оно работает только в контексте текущей/родительской группировки.
   mzelensky
 
14 - 13.12.17 - 07:58
(13) Пробовал указывать Группировку - все равно падает
   mzelensky
 
15 - 13.12.17 - 08:01
Уже подумываю об изврате вроде сделать расчет в одном макете скд, выгрузить в ТЗ, загнать тут же эту ТЗ в другой макет СКД и вывести пользователю.

НО встает гемор с настройкой схемы СКД.
   mzelensky
 
16 - 13.12.17 - 12:07
В общем не нашел ничего более лучшего ,чем реализовать вариант из (15). Самое забавное, что ОНО работает.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует