Имя: Пароль:
1C
1С v8
СКД структура продаж
0 mcfev
 
24.09.13
14:21
Выполняю запрос
ВЫБРАТЬ
    Продажи.Номенклатура КАК Номенклатура,
    СУММА(Продажи.Количество) КАК Количество,
    СУММА(Продажи.Стоимость) КАК Стоимость
ИЗ
    РегистрНакопления.Продажи КАК Продажи
ГДЕ
    Продажи.Период >= &ДатаНачала
    И Продажи.Период <= &ДатаОкончания
    И Продажи.Подразделение = &Подразделение
    И Продажи.Номенклатура.Родитель <> НЕОПРЕДЕЛЕНО

СГРУППИРОВАТЬ ПО
    Продажи.Номенклатура

вывожу только иерархия, получаю таблицу

Номенклатура (группа) | Количество | Процент
---------------------------------------------
Мебель                |     1      |   33.3
Обувь                 |     2      |   66.6
      Женская обувь   |     1      |   33.3
      Мужская обувь   |     1      |   33.3

а надо получить такую -

Номенклатура (группа) | Количество | Процент
---------------------------------------------
Мебель                |     1      |   33.3
Обувь                 |     2      |   66.6
      Женская обувь   |     1      |    50
      Мужская обувь   |     1      |    50
т.е. внутри группе чтобы было в сумме 100%

Как можно на СКД сделать такое??
1 чувак
 
24.09.13
14:28
Зачем в сКД группировать в запросе?
2 mcfev
 
24.09.13
14:33
(1) простите это случайность ))
3 mcfev
 
24.09.13
14:35
вообщем вопрос в том, что почему-то %в_группе = %общий при выводе только_иерархия
4 mcfev
 
24.09.13
14:48
может пользовательскими полями как-то можно сделать??
5 mcfev
 
24.09.13
15:17
подскажите пожалуйста
6 Aprobator
 
24.09.13
15:20
в ресурсах смотри. Описание используемых там выражений есть в хелпе.
7 vicof
 
24.09.13
15:20
(6) +1
8 mcfev
 
24.09.13
15:53
можно по конкретней
9 mcfev
 
24.09.13
16:22
или по подробнее
10 mcfev
 
24.09.13
16:36
up!
11 Aprobator
 
24.09.13
16:38
чего поподробнее то? Внутри конфигратора справку не посмотреть и не найти там агрегатныев функции в СКД?
12 mcfev
 
24.09.13
16:42
ну агрегатные функции, ок. сумма, минимум, максимум, среднее... а дальше то что??
13 mcfev
 
24.09.13
16:45
процент внутри группы у меня никак не получается посчитать
14 mcfev
 
24.09.13
16:59
up!!
15 Aprobator
 
24.09.13
17:08
в СКД этих функций больше. Читай хелп.
16 mcfev
 
24.09.13
17:33
(15) я уже даже справку не могу найти по этой теме
17 Aprobator
 
25.09.13
10:44
(16) песец. В режиме конфигуратора: Справка - содержание справки - Система компоновки данных.
18 mcfev
 
25.09.13
12:44
(17) ну да, ок (я ее и смотрел), токо там ниче нет тоже
19 Aprobator
 
25.09.13
12:48
(18) .... - Язык выражения системы компоновки данных - Функции языка выражений компоновки данных и там внутри Вычислить выражение, ну и т.д..
20 mcfev
 
25.09.13
12:53
(19) а можно конкретный пример
21 Aprobator
 
25.09.13
13:13
В ресурсах как то так:

ВЫБОР КОГДА Уровень() = 1 ТОГДА
Сумма(Количество) / Вычислить("Сумма(Количество)", "ОбщийИтог")
ИНАЧЕ
Сумма(Количество) / Вычислить("Сумма(Количество)", "Номенклатура", "Иерархия")
КОНЕЦ

дальше сам думай.
22 mcfev
 
25.09.13
13:25
(21) оооо. Спасибо огромное!
23 Aprobator
 
25.09.13
13:57
(22) на здоровье. Учись хелпом пользоваться.
24 mcfev
 
25.09.13
16:46
еще у меня возник дополнительный вопрос.

ВЫБОР КОГДА Уровень() = 0 ТОГДА
Сумма(Количество) / Вычислить("Сумма(Количество)", "ОбщийИтог") * 100
ИНАЧЕ
0
КОНЕЦ
работает, а
ВЫБОР КОГДА Уровень() > 0 ТОГДА
Сумма(Количество) / Вычислить("Сумма(Количество)", "Номенклатура") * 100
ИНАЧЕ
0
КОНЕЦ

никак не запускается. и даже не понятно в чем проблема.
25 mcfev
 
25.09.13
16:47
выдает

"Ошибка исполнения отчета
по причине:
Ошибка получения данных
по причине:
Выражение не может быть вычислено "Сумма(НаборДанных1.Количество)""
26 Aprobator
 
25.09.13
17:06
Попробуй так тогда:

ВЫБОР КОГДА Уровень() > 0 ТОГДА
Сумма(Количество) / Вычислить("Сумма(Количество)", "") * 100
ИНАЧЕ
0
КОНЕЦ
27 Aprobator
 
25.09.13
17:06
были там некоторые заморочки
28 Aprobator
 
25.09.13
17:14
зависит от структуры вывода и по каким полям ресурс рассчитывается.
29 mcfev
 
26.09.13
11:18
(28) запрос
ВЫБРАТЬ
    Продажи.Номенклатура КАК Номенклатура,
    Продажи.Количество КАК Количество,
    Продажи.Стоимость КАК Стоимость
ИЗ
    РегистрНакопления.Продажи КАК Продажи
ГДЕ
    Продажи.Период >= &ДатаНачала
    И Продажи.Период <= &ДатаОкончания
    И Продажи.Подразделение = &Подразделение
    И Продажи.Номенклатура.Родитель <> НЕОПРЕДЕЛЕНО

(24) засунул в вычисляемые поля (поле1 и поле2) и кинул их в ресурсы. В отчете (вкладка "настройки") вывожу все поля, группировка по строкам (номенклатура - только иерархия)
30 mcfev
 
26.09.13
11:20
т.е. как бы [Вычислить("Сумма(Количество)", "Номенклатура", "Иерархия")] он не может посчитать из-за того что не знает что является предыдущей (вложенной) группой
31 mcfev
 
26.09.13
12:09
up!
32 mcfev
 
26.09.13
13:06
up!!
33 mcfev
 
26.09.13
13:46
up!
34 mcfev
 
26.09.13
14:12
up!!!
35 mcfev
 
26.09.13
14:28
up
36 mcfev
 
26.09.13
14:30
ах да, (26) 100% по всем выдает
37 mcfev
 
26.09.13
15:09
ну хоть кто-нибудь подскажите
38 mcfev
 
26.09.13
15:35
или СКД такое никогда не посчитает??
39 mcfev
 
26.09.13
16:04
мне уже чисто теоретически даже интересно (не только для задания) ))
40 Aprobator
 
27.09.13
11:35
У меня посчитает, если мне приспичит. Но решать это за тебя никто не будет. Направление тебе показали.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший