Имя: Пароль:
1C
1С v8
Итоги в СКД
,
0 progaoff
 
01.09.16
14:46
ВЫБРАТЬ
    ПродажиОбороты.СкладКомпании,
    ПродажиОбороты.Номенклатура.Родитель.Родитель,
    СУММА(ПродажиОбороты.КоличествоОборот) КАК Количество,
    СУММА(ПродажиОбороты.СуммаОборот) КАК СуммаОборот,
    СУММА(ПродажиОбороты.СуммаУпрОборот) КАК СуммаПродаж,
    СУММА(ПродажиОбороты.СебестоимостьУпрОборот) КАК СебестоимостьВПродажныхЦенах,
    СУММА(ПродажиОбороты.СебестоимостьОборот) КАК СебестоимостьВЗакупочных,
    СРЕДНЕЕ(ВЫБОР
            КОГДА ЕСТЬNULL(ПродажиОбороты.СуммаОборот, 0) - ЕСТЬNULL(ПродажиОбороты.СуммаНДСОборот, 0) = 0
                ТОГДА 0
            ИНАЧЕ (ЕСТЬNULL(ПродажиОбороты.СуммаОборот, 0) - ЕСТЬNULL(ПродажиОбороты.СуммаНДСОборот, 0) - (ЕСТЬNULL(ПродажиОбороты.СебестоимостьОборот, 0) - ЕСТЬNULL(ПродажиОбороты.СуммаНДСВходящийОборот, 0))) / (ЕСТЬNULL(ПродажиОбороты.СуммаОборот, 0) - ЕСТЬNULL(ПродажиОбороты.СуммаНДСОборот, 0)) * 100
        КОНЕЦ) КАК Маржа,
    СРЕДНЕЕ(ВЫБОР
            КОГДА ЕСТЬNULL(ПродажиОбороты.СебестоимостьОборот, 0) - ЕСТЬNULL(ПродажиОбороты.СуммаНДСВходящийОборот, 0) = 0
                ТОГДА 0
            ИНАЧЕ (ЕСТЬNULL(ПродажиОбороты.СуммаОборот, 0) - ЕСТЬNULL(ПродажиОбороты.СуммаНДСОборот, 0) - (ЕСТЬNULL(ПродажиОбороты.СебестоимостьОборот, 0) - ЕСТЬNULL(ПродажиОбороты.СуммаНДСВходящийОборот, 0))) / (ЕСТЬNULL(ПродажиОбороты.СебестоимостьОборот, 0) - ЕСТЬNULL(ПродажиОбороты.СуммаНДСВходящийОборот, 0)) * 100
        КОНЕЦ) КАК Наценка
ИЗ
    РегистрНакопления.Продажи.Обороты(, , Месяц, ) КАК ПродажиОбороты
ГДЕ
    
    ПродажиОбороты.ХозОперация = &ХозОперация
    И ПродажиОбороты.Период МЕЖДУ &НачалоПериода И &КонецПериода

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


В этом запросе есть два поля по которым нужно вычислить средние итоги в СКД это Маржа она в процентах и Наценка она тоже в процентах. На данный момент итоги выводятся суммой. Какие варианты есть?
1 GROOVY
 
01.09.16
14:47
Проценты суммировать будешь?
2 Guk
 
01.09.16
14:48
в ресурсах поставить функцию Среднее...
3 progaoff
 
01.09.16
14:49
на этих полях вот именно что суммируется
4 sapphire
 
01.09.16
14:50
(2) Да там вообще запрос бедОвый.
5 Guk
 
01.09.16
14:51
(4) я суть, суть говорю. в запрос я даже не смотрел ;)...
6 sapphire
 
01.09.16
14:55
(5) Кабы ён нормально запрос написал и скормил его СКД он бы понел, что и где писать и тыкать.
7 progaoff
 
01.09.16
15:05
(6) нормальный запрос, результат тот что нужно. А "Скормить СКД не получается" только из за итогов
8 sapphire
 
01.09.16
15:17
(7) Для консоли запросов, может и нормальный, для СКД - отстой :)
9 progaoff
 
01.09.16
15:27
(2) спасибо
10 progaoff
 
01.09.16
15:27
(8) принимаю предложения)
11 progaoff
 
01.09.16
15:30
(10) дело в том что контора рарус, в своей модной конфигурации использует построитель отчета, и не понятно по каким причинам - один и тот же отчет выдает разные данные. Для сравнения решил по пробовать СКД
12 sapphire
 
01.09.16
15:32
(11) т.е. запрос в (0) написал некто из РАРУСа ?!
13 progaoff
 
01.09.16
15:33
да
14 progaoff
 
01.09.16
15:33
могу полное произведение выложить
15 sapphire
 
01.09.16
15:34
(10) Я считаю, что запрос вообще написан некорректно и для СКД должен выглядеть иначе.
16 progaoff
 
01.09.16
15:36
(15) подумаю
17 sapphire
 
01.09.16
15:46
(16) Да, вобщем-то и не для СКД тоже.
Вот смотрите, фрагмент кода "сомнителен":
РегистрНакопления.Продажи.Обороты(, , Месяц, ) КАК ПродажиОбороты
ГДЕ
    
    ПродажиОбороты.ХозОперация = &ХозОперация
    И ПродажиОбороты.Период МЕЖДУ &НачалоПериода И &КонецПериода

1. Почему не передать в параметры виртуальной таблицы явно
период и отбор по полю "ХозОперация"?

2. Неужели Вам нравится конструкция
ПродажиОбороты.Номенклатура.Родитель.Родитель

3. Откуда ожидаете получить значение NULL в ЕСТЬNULL(ПродажиОбороты.СебестоимостьОборот, 0)
18 profitmaker
 
01.09.16
15:46
Идея бредовая в запросе для СКД использовать агрегатные функции СУММА да ещё и с группировками , откуда ты знаешь какие настройки накидает пользователь в структуру отчета? )

В запросе должна быть плоская таблица без каких либо группировок, все группировки накидываются в структуру отчета СКД, все сложные вычисления которые отличаются для детальных и итоговые записей делаются через пользовательские поля > поле выражение... где можно указать разные выражения для детальных и итоговых записей
19 profitmaker
 
01.09.16
15:47
А так вы пытаетесь приделать телеге пятое колесо, колхоз короче.
20 profitmaker
 
01.09.16
15:53
И да что за бред ПродажиОбороты.Номенклатура.Родитель.Родитель,

Если нужна иерархия, тогда просто в настройках структуры отчета у группировки Номенклатура укажи Тип = Иерархия
21 profitmaker
 
01.09.16
15:54
Либо если нужен отчет только по группам номенклатуры, укажи Тип = Только иерархия. В любом случае ваш подход - колхозный.
22 profitmaker
 
01.09.16
15:58
И да почему при подсчете Валовой прибыли в запросе какой то бред с НДСом. Например, если конфа УПП, то в учетной политике указывается включен ли НДС в себестоимость или не включен. Соответственно от этого будут разные формулы расчета Валовой прибыли.
23 profitmaker
 
01.09.16
16:08
По поводу НДС, если отчет на СКД, то в модуле объекта отчета в процедуру ПриКомпоновкеРезультата пишим что то вроде     УчетнаяПолитикаУпр = ОбщегоНазначения.ПолучитьПараметрыУчетнойПолитикиУпр(?(ЗначениеЗаполнено(КонецПериода), КонецПериода, РабочаяДата));
    НДСВСебестоимости = НЕ УчетнаяПолитикаУпр.НеВключатьНДСВСтоимостьПартий;
КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("НДСВСебестоимости", НДСВСебестоимости);

таким макаром как только нажимаем на кнопку сформировать отчет, мы лезем в учетную политику и выясняем включен ли НДС в себестоимость или нет, и устанавливаем параметр СКД в настройках.
Далее в формулах расчета Валовой прибыли пишем:
ВаловаяПрибыль = ВыручкаСНДС - ВЫБОР КОГДА &НДСВСебестоимости ТОГДА СебестоимостьУпрОборот ИНАЧЕ СебестоимостьУпрОборот + НДСОборот КОНЕЦ что то типо того
24 profitmaker
 
01.09.16
16:37
Чтобы не изобретать велосипедов с квадратными колесами для начала почитай хотя бы Радченко и Хрусталёву...
Запрос в гугле "разработка сложных отчетов в 1с предприятии 8.3", 1ая ссылка - 156 страница
25 progaoff
 
05.09.16
11:04
(24) Спасибо