Имя: Пароль:
1C
 
Запрос. Дублирование значений в разрезе даты
,
0 SilverFalconi
 
26.07.19
17:27
Здравствуйте! Сделал вот такой запрос:


ВЫБРАТЬ
    ПродажиОбороты.Номенклатура.Артикул КАК Артикул,
    ПродажиОбороты.Номенклатура,
    СРЕДНЕЕ(ПродажиОбороты.СтоимостьОборот) КАК СреднееПродаж,
    КОНЕЦПЕРИОДА(ПродажиОбороты.Период, МЕСЯЦ) КАК КонецПериода,
    ТоварыНаСкладахОстатки.КоличествоОстаток КАК КоличествоНаСкладах
ИЗ
    РегистрНакопления.Продажи.Обороты(&НачалоПериода, &КонецПериода, Месяц, ) КАК ПродажиОбороты
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки
        ПО ПродажиОбороты.Номенклатура = ТоварыНаСкладахОстатки.Номенклатура

СГРУППИРОВАТЬ ПО
    ПродажиОбороты.Номенклатура.Артикул,
    ПродажиОбороты.Номенклатура,
    ТоварыНаСкладахОстатки.КоличествоОстаток,
    КОНЕЦПЕРИОДА(ПродажиОбороты.Период, МЕСЯЦ)


Но сама номенклатура дублируется в нем, потому что товары продаются в разные месяцы. Наведу пример:
Продажа товара было в прошлом месяце, и в текущем. Соответственно в результате запроса будет 2 записи, по разным месяцам.
Поле периода мне нужно для СКД таблицы, убрать его не могу.

Только учусь, подскажите пожалуйста, как можно избежать этого дублирования?

Результат запроса:
https://ibb.co/RhNwQM6
1 IOANNscrp
 
26.07.19
17:38
Итоги?
2 lodger
 
26.07.19
17:39
а по месяцам ты его нарезал просто так или с какой-то целью?
3 hhhh
 
26.07.19
17:40
(0) ну она и должна дублироваться, если она встречается в 2х строчках. Значит она должна попасть и туда и туда.
4 SilverFalconi
 
26.07.19
17:44
(2) С целью. Вот такой отчет мне нужен. Последняя строка с дублями. Возможно ли их объединить?
https://ibb.co/8K6tfW4
5 SilverFalconi
 
26.07.19
17:44
(1) Вы о чем?
6 SilverFalconi
 
26.07.19
17:44
(3) Можно ли как то это исправить? Мб средствами СКД?
7 lodger
 
26.07.19
17:47
(4) что входит в горизонтальные группировки?
8 IOANNscrp
 
26.07.19
17:49
(6) в скд вкладка "Ресурсы" заполнена?
9 azernot
 
26.07.19
17:49
Помесячные продажи и остатки на сейчас?
Убери количество остаток из агрегирующих полей и используй для него минимум или максимум.
10 IOANNscrp
 
26.07.19
17:51
и КоличествоНаСкладах в суммируемые поля добавь
11 SilverFalconi
 
26.07.19
17:53
12 SilverFalconi
 
26.07.19
17:58
(8) Заполнена. (10) Добавил, вот только это ничего не поменяло.
13 SilverFalconi
 
26.07.19
17:59
(9) Немного не понял. Это поможет решить проблему с дублями?
14 SilverFalconi
 
26.07.19
18:01
Мне нужно сохранить такой отчет, какой у меня есть сейчас на скрине (4). Нужно только убрать дубли, которые выбираются запросом.
15 IOANNscrp
 
26.07.19
18:05
запрос еще раз, и вкладку ресурсы
16 SilverFalconi
 
26.07.19
18:08
ВЫБРАТЬ
    ПродажиОбороты.Номенклатура.Артикул КАК Артикул,
    ПродажиОбороты.Номенклатура,
    СРЕДНЕЕ(ПродажиОбороты.СтоимостьОборот) КАК СреднееПродаж,
    ПродажиОбороты.Период КАК НачалоПериода,
    КОНЕЦПЕРИОДА(ПродажиОбороты.Период, МЕСЯЦ) КАК КонецПериода,
    ТоварыНаСкладахОстатки.КоличествоОстаток КАК КоличествоНаСкладах
ИЗ
    РегистрНакопления.Продажи.Обороты(&НачалоПериода, &КонецПериода, Месяц, ) КАК ПродажиОбороты
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки
        ПО ПродажиОбороты.Номенклатура = ТоварыНаСкладахОстатки.Номенклатура

СГРУППИРОВАТЬ ПО
    ПродажиОбороты.Номенклатура.Артикул,
    ПродажиОбороты.Номенклатура,
    ПродажиОбороты.Период,
    ТоварыНаСкладахОстатки.КоличествоОстаток
17 SilverFalconi
 
26.07.19
18:10
Ресурсы:
https://ibb.co/h7dQrsQ
Вычисляемые поля:
https://ibb.co/BVQjqQH
18 IOANNscrp
 
26.07.19
18:11
В запросе, где ты раскидываешь поля для группировки, у тебя количество на складах попрежнему не в суммируемых полях
СУММА(КоличествоНаСкладах)
19 IOANNscrp
 
26.07.19
18:12
Вычисляемые не нужны вроде совсем
20 Консультант Баранов
 
26.07.19
18:36
ВЫБРАТЬ
    ПродажиОбороты.Номенклатура,
    СРЕДНЕЕ(ПродажиОбороты.СтоимостьОборот) КАК СреднееПродаж,
    КОНЕЦПЕРИОДА(ПродажиОбороты.Период, МЕСЯЦ) КАК КонецПериода,
    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ КОНЕЦПЕРИОДА(ПродажиОбороты.Период, МЕСЯЦ)) КАК КоличествоМесяцев
ПОМЕСТИТЬ втОбороты
ИЗ
    РегистрНакопления.Продажи.Обороты(&НачалоПериода, &КонецПериода, Месяц, ) КАК ПродажиОбороты

СГРУППИРОВАТЬ ПО
    ПродажиОбороты.Номенклатура,
    КОНЕЦПЕРИОДА(ПродажиОбороты.Период, МЕСЯЦ)
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ТоварыНаСкладахОстатки.КоличествоОстаток КАК КоличествоНаСкладах,
    ТоварыНаСкладахОстатки.Номенклатура
ПОМЕСТИТЬ втОстатки
ИЗ
    РегистрНакопления.ТоварыНаСкладах.Остатки(
            ,
            Номенклатура В
                (ВЫБРАТЬ
                    втОбороты.Номенклатура
                ИЗ
                    втОбороты КАК втОбороты)) КАК ТоварыНаСкладахОстатки

СГРУППИРОВАТЬ ПО
    ТоварыНаСкладахОстатки.КоличествоОстаток,
    ТоварыНаСкладахОстатки.Номенклатура
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    втОбороты.Номенклатура,
    втОбороты.СреднееПродаж,
    втОбороты.КонецПериода,
    втОбороты.КоличествоМесяцев,
    втОстатки.КоличествоНаСкладах / втОбороты.КоличествоМесяцев КАК КоличествоНаСкладах,
    втОбороты.Номенклатура.Артикул
ИЗ
    втОбороты КАК втОбороты
        ЛЕВОЕ СОЕДИНЕНИЕ втОстатки КАК втОстатки
        ПО втОбороты.Номенклатура = втОстатки.Номенклатура
21 Консультант Баранов
 
26.07.19
18:40
ВЫБРАТЬ
    ПродажиОбороты.Номенклатура,
    СРЕДНЕЕ(ПродажиОбороты.СтоимостьОборот) КАК СреднееПродаж,
    КОНЕЦПЕРИОДА(ПродажиОбороты.Период, МЕСЯЦ) КАК КонецПериода
ПОМЕСТИТЬ втОбороты
ИЗ
    РегистрНакопления.Продажи.Обороты(&НачалоПериода, &КонецПериода, Месяц, ) КАК ПродажиОбороты

СГРУППИРОВАТЬ ПО
    ПродажиОбороты.Номенклатура,
    КОНЕЦПЕРИОДА(ПродажиОбороты.Период, МЕСЯЦ)
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    втОбороты.Номенклатура,
    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ втОбороты.КонецПериода) КАК КоличествоМесяцев
ПОМЕСТИТЬ втКолМесяцев
ИЗ
    втОбороты КАК втОбороты

СГРУППИРОВАТЬ ПО
    втОбороты.Номенклатура
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    СУММА(ТоварыНаСкладахОстатки.КоличествоОстаток) КАК КоличествоНаСкладах,
    ТоварыНаСкладахОстатки.Номенклатура
ПОМЕСТИТЬ втОстатки
ИЗ
    РегистрНакопления.ТоварыНаСкладах.Остатки(
            ,
            Номенклатура В
                (ВЫБРАТЬ
                    втОбороты.Номенклатура
                ИЗ
                    втОбороты КАК втОбороты)) КАК ТоварыНаСкладахОстатки

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

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    втОбороты.Номенклатура,
    втОбороты.СреднееПродаж,
    втОбороты.КонецПериода,
    втОбороты.Номенклатура.Артикул,
    ЕСТЬNULL(втОстатки.КоличествоНаСкладах, 0) / втКолМесяцев.КоличествоМесяцев КАК КоличествоНаСкладах
ИЗ
    втОбороты КАК втОбороты
        ЛЕВОЕ СОЕДИНЕНИЕ втОстатки КАК втОстатки
        ПО втОбороты.Номенклатура = втОстатки.Номенклатура
        ЛЕВОЕ СОЕДИНЕНИЕ втКолМесяцев КАК втКолМесяцев
        ПО втОбороты.Номенклатура = втКолМесяцев.Номенклатура
22 SilverFalconi
 
27.07.19
16:23
(21) амм, тут много вложенных запросов, но они делают точно то же что и мой. Выбирают с дублями. Или я что то не понимаю?
23 Консультант Баранов
 
27.07.19
18:46
(22) ЕСТЬNULL(втОстатки.КоличествоНаСкладах, 0) / втКолМесяцев.КоличествоМесяцев КАК КоличествоНаСкладах
24 SilverFalconi
 
29.07.19
11:23
(23) я вас не понимаю...
25 SilverFalconi
 
29.07.19
12:24
ап, проблема не решена. Помогите пожалуйста
26 lodger
 
29.07.19
12:31
вернемся к (11)

убери из "Поля группировки" все кроме артикул и номенклатура.
27 SilverFalconi
 
29.07.19
12:56
(26) оуууу, вот это да...
Дубли пропали. За это большое спасибо!
Но теперь возникает вопрос, как вывести нужные мне колонки, где то здесь(отмечено красным):
https://ibb.co/3Ffby0J
28 SilverFalconi
 
29.07.19
13:02
Нужно вывести количество остатков(регистр остатков, связан по номенклатуре), среднее продаж (СРЕДНЕЕ из запроса), и остатки в месяцах (Вычисляемое поле, количество/среднее продаж). Они все связаны по номенклатуре, и вставлять их под каждый месяц не нужно. Просто, как на скрине выше, разместить в строку с номенклатурой. Это возможно?
29 lodger
 
29.07.19
15:13
(28) закинь их в ресурсы, но настрой по каким группировкам считать. выбери там номенклатуру+артикул.
30 SilverFalconi
 
29.07.19
16:31
(29) Не работает((
Попробовал просто с артикулом, результат тот же:
https://ibb.co/2Zv2RL3 - отчет
https://ibb.co/87vJKQM - группировки
https://ibb.co/KL8Ksk5 - ресурсы
31 SilverFalconi
 
29.07.19
16:33
Насколько я понял, для отображения этих строк, нужно добавить их в "Поля группировки", но там нельзя использовать ресурсы. Вот мои:
https://ibb.co/NFz8TDn
32 SilverFalconi
 
30.07.19
10:07
Проблема решена, ВСЕМ БОЛЬШОЕ СПАСИБО!
Отдельно спасибо lodger'у, за его (26) ответ.
Добавил строки вот таким образом, сработало так как нужно:
https://ibb.co/YDrqDLn - группировка
https://ibb.co/LhW435m - результат отчета
AdBlock убивает бесплатный контент. 1Сергей