Имя: Пароль:
1C
1С v8
Помогите с заданием
0 koloboc74
 
07.10.15
11:20
Привет всем, есть задание
Создать отчет, выводящий самые продаваемые товары за каждый из РАБОЧИХ дней в указанном периоде (информация о рабочих и выходных днях находится в регистре сведений «Регламентированный производственный календарь»).
Если продаж за какой-то день не было, данные за этот день не выводить. Если было продано два и более товара с одинаковым количеством, выводить их все за этот день.
Вот накидал запрос но он что-то не работает , не он работает но не так выводит все данные , а мне надо как в задании.
Вот запрос .
ВЫБРАТЬ
    РегламентированныйПроизводственныйКалендарь.ДатаКалендаря КАК ДатаКалендаря
ПОМЕСТИТЬ СписокДат
ИЗ
    РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь
ГДЕ
    РегламентированныйПроизводственныйКалендарь.ДатаКалендаря МЕЖДУ &НачПериод И &КонПериод
    И РегламентированныйПроизводственныйКалендарь.ВидДня = &ВидДня
;

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

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

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

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

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

УПОРЯДОЧИТЬ ПО
    ДатаКалендаря
1 Лефмихалыч
 
07.10.15
11:21
"выводить их все за этот день"- это вывести сумму или каждую продажу в отдельности?
2 zak555
 
07.10.15
11:22
в ут11 кажись есть такой типовой отчёт
3 koloboc74
 
07.10.15
11:24
Надо вывести за период , и самые максимальное количество проданного товара за день
Пример
1 день
1 кофта 4 шт
2 брюки 6 шт
3 юбка 2 шт
4 блуза 12 шт

2 день
1 кофта 8 шт
2 брюки 12 шт
3 юбка 2 шт

В отчет попадают 2 строки
1 Блуза 12 шт 1 день
2 Брюки 12 шт 2 день
4 koloboc74
 
07.10.15
11:26
У меня УТ 8.1
5 Адинэснег
 
07.10.15
11:27
>У меня УТ 8.1...
расходимся
6 Ненавижу 1С
 
гуру
07.10.15
11:30
а если

2 день
1 кофта 80 шт
2 брюки 80 шт
7 koloboc74
 
07.10.15
11:34
Тоже выводить
8 Midaw
 
07.10.15
12:06
начни с чего нибудь попроще )
9 koloboc74
 
07.10.15
12:17
Короче вымучил
Вот запрос кому надо
ВЫБРАТЬ
    РегламентированныйПроизводственныйКалендарь.ДатаКалендаря КАК ДатаКалендаря,
    МАКСИМУМ(ПродажиОбороты.КоличествоОборот) КАК КоличествоОборот,
    МАКСИМУМ(ПродажиОбороты.Номенклатура) КАК Номенклатура
ИЗ
    РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты(&ДатаНач, &ДатаКон, День, ДокументПродажи.Склад = &Склад) КАК ПродажиОбороты
        ПО (ПродажиОбороты.Период > ДОБАВИТЬКДАТЕ(РегламентированныйПроизводственныйКалендарь.ДатаКалендаря, ДЕНЬ, -31))
            И РегламентированныйПроизводственныйКалендарь.ДатаКалендаря = ПродажиОбороты.Период
ГДЕ
    РегламентированныйПроизводственныйКалендарь.ДатаКалендаря МЕЖДУ &ДатаНач И &ДатаКон
    И РегламентированныйПроизводственныйКалендарь.ВидДня = &ВидДня

СГРУППИРОВАТЬ ПО
    РегламентированныйПроизводственныйКалендарь.ДатаКалендаря
10 xXeNoNx
 
07.10.15
13:11
Усложним:
Есть дни недели - перечисление(пн, вт, ср,...)
Есть время      - перечисление(1час,2часа,3часа,...)
Есть товар, информация по продажам хранится в регистре сведений с измерениями: ДеньНедели, Время, Товар

Нужен отчет показывающий время прихода товара в разрезе дней недели
Пример(исходные данные)
          Пн  ВТ  СР  ЧТ  ПТ СБ
Товар1    3    
Товар1            4
Товар1    2
Товар2        4
Товар2    1

Что должно получиться

          Пн  ВТ  СР  ЧТ  ПТ СБ
Товар1    3       4
Товар1    2
Товар2    1   4
11 xXeNoNx
 
07.10.15
13:12
+(10) Т.е. строки должны свернуться там, где нет пересечения по дням и по времени, если не сворачиваются, то должна быть вторая строка. Отчет на СКД
12 Windyhead
 
07.10.15
13:16
в (9) Запрос какой-то бредовый. особенно строчка "МАКСИМУМ(ПродажиОбороты.Номенклатура) КАК Номенклатура"
13 koloboc74
 
08.10.15
02:59
Windyhead Да не спорю, бред но вот без этого "МАКСИМУМ(ПродажиОбороты.Номенклатура) КАК Номенклатура" не выводит нормально.
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn