8.х Помогите с запросом

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Noob, 28 июл 2008.

  1. TopicStarter Overlay
    Noob
    Offline

    Noob

    Регистрация:
    28 июл 2008
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    Здравствуйте, помогоите, пожалуйста с текстом запроса.

    Нужен отчет по продажам продавцов по товарным группам в виде:

    Продавец МБТ КБТ .... Всего
    Иванов_____5____ 4 ____ 59
    Петров _____6 ____1 ____ 40
    Сидоров ___4_____3_____ 5

    Одним запросом никак не получается. Пытался сделать через Выбор следующим образом:

    _______________________________________________________________________
    Выбрать
    ПродажиОбороты.Продавец

    Выбор
    Когда ПродажиОбороты.Номенклатура.Родитель.Наименование = "МБТ"
    Тогда Сумма ПродажиОбороты.Количество

    Выбор
    Когда ПродажиОбороты.Номенклатура.Родитель.Наименование = "КБТ"
    Тогда Сумма ПродажиОбороты.Количество
    ________________________________________________________________________

    И так далее. Но результат выдает в виде:

    Продавец МБТ КБТ .... Всего
    Иванов___ 4
    Иванов________ 5
    Иванов ______________ 45
    Петров __ 6
    Петров ________3
    Петров ______________ 34

    А мне нужно одной строкой. Сделал через множество запросов, но отчет формируется уже полчаса, а конца краю не видно. Помогите, пожалуйста, вдруг кто знает.
  2. soltik
    Offline

    soltik

    Регистрация:
    26 ноя 2007
    Сообщения:
    39
    Симпатии:
    0
    Баллы:
    1
    И так далее. Но результат выдает в виде:

    Продавец МБТ КБТ .... Всего
    Иванов___ 4
    Иванов________ 5
    Иванов ______________ 45
    Петров __ 6
    Петров ________3
    Петров ______________ 34

    А мне нужно одной строкой. Сделал через множество запросов, но отчет формируется уже полчаса, а конца краю не видно. Помогите, пожалуйста, вдруг кто знает.
    [/quote]


    СГРУППИРОВАТЬ ПО
  3. dlednev
    Offline

    dlednev Опытный в 1С

    Регистрация:
    23 апр 2008
    Сообщения:
    86
    Симпатии:
    0
    Баллы:
    26
    идея примерно следующая:
    выбрать
    Спр.продавец,
    ЕСТЬNULL(МБТ.СуммаМБТ,0) КАК СуммаМБТ,
    ЕСТЬNULL(КБТ.СуммаКБТ,0) КАК СуммаКБТ,
    ЕСТЬNULL(МБТ.СуммаМБТ,0)+ЕСТЬNULL(КБТ.СуммаКБТ,0) КАК Итого
    ИЗ
    Справочник.Контрагенты КАК СПР ЛЕВОЕ СОЕДИНЕНИЕ
    ...(регистр продаж)... КАК МБТ ПО СПР.ХХХ=МБТ.ХХХ И ПродажиОбороты.Номенклатура.Родитель.Наименование = "МБТ" ЛЕВОЕ СОЕДИНЕНИЕ
    ...(регистр продаж)... КАК КБТ ПО СПР.ХХХ=КБТ.ХХХ И ПродажиОбороты.Номенклатура.Родитель.Наименование = "КБТ"

    ....
    ГДЕ ЕСТЬNULL(МБТ.СуммаМБТ,0)+ЕСТЬNULL(КБТ.СуммаКБТ,0)<>0

    ЗЫ. Если СуммаКБТ и МБТ - суммируемые, т.е. ты еще "СГРУППИРОВАТЬ ПО" делаешь, то "ВЫБРАТЬ" меняется на:
    СУММА(МБТ.СуммаМБТ) КАК СуммаМБТ,
    СУММА(КБТ.СуммаКБТ,0) КАК СуммаКБТ,
    СУММА(МБТ.СуммаМБТ)+СУММА(КБТ.СуммаКБТ) КАК Итого

    и вместо ИЗ подставить
    ИМЕЮЩИЕ СУММА(МБТ.СуммаМБТ)+СУММА(КБТ.СуммаКБТ)<>0

    1. посылай код запроса, а не только то что считаешь нужным
    2. учи стандарт ANSI SQL 92 - пригодится на 8-ке!
  4. TopicStarter Overlay
    Noob
    Offline

    Noob

    Регистрация:
    28 июл 2008
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    Спасибо огромнейшее, понял как это должно быть, но тут же возникла новая проблема:

    Суммы выводит неверные, посмотрел товары по продавцам, которые выводит запрос, получается вот так:

    Допустим, иванов продал 1 фен из МБТ и пять холодильников из КБТ
    Результат:

    Иванов Холодильник1 Фен1
    Иванов Холодильник2 Фен1
    Иванов Холодильник3 Фен1
    Иванов Холодильник4 Фен1
    Иванов Холодильник5 Фен1

    В итоге получается 5 холодильников(правильно) и 5 фенов(не ясно откуда)

    Если же он продал два фена получаем:

    Иванов Холодильник1 Фен1
    Иванов Холодильник1 Фен2
    Иванов Холодильник2 Фен1
    Иванов Холодильник2 Фен2
    Иванов Холодильник3 Фен1
    Иванов Холодильник3 Фен2

    И так далее, что совсем не соответствует истине.
    Как с этим бороться, чтобы выводило хотя бы в виде:

    Иванов Холодильник1 Фен1 Что-тоЕще1
    Иванов Холодильник2 ______ Что-тоЕще2
    Иванов Холодильник3 ______ Что-тоЕще3
    Иванов Холодильник4 ______ Что-тоЕще4
    Иванов _________________ Что-тоЕще5
  5. TopicStarter Overlay
    Noob
    Offline

    Noob

    Регистрация:
    28 июл 2008
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    Товары выбираю таким запросом:

    Выбрать
    Спр.продавец,
    МБТ.Номенклатура,
    КБТ.Номенклатура

    ИЗ
    Справочник.Продавцы КАК СПР ЛЕВОЕ СОЕДИНЕНИЕ
    ПерсональныеПродажи.Обороты КАК МБТ ПО СПР.Продавец=МБТ.Продавец И МБТ.Номенклатура.Родитель.Наименование = "МБТ" ЛЕВОЕ СОЕДИНЕНИЕ
    ПерсональныеПродажи.Обороты КАК КБТ ПО СПР.Продавец=КБТ.Продавец И ПродажиОбороты.Номенклатура.Родитель.Наименование = "КБТ"

    СГРУППИРОВАТЬ ПО Спр.Продавец
  6. TopicStarter Overlay
    Noob
    Offline

    Noob

    Регистрация:
    28 июл 2008
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    А результаты продаж по товарам вот таким:

    Выбрать
    Спр.продавец,
    Сумма (МБТ.КоличествоОборот),
    Сумма(КБТ.КоличествоОборот)

    ИЗ
    Справочник.Продавцы КАК СПР ЛЕВОЕ СОЕДИНЕНИЕ
    ПерсональныеПродажи.Обороты КАК МБТ ПО СПР.Продавец=МБТ.Продавец И МБТ.Номенклатура.Родитель.Наименование = "МБТ" ЛЕВОЕ СОЕДИНЕНИЕ
    ПерсональныеПродажи.Обороты КАК КБТ ПО СПР.Продавец=КБТ.Продавец И ПродажиОбороты.Номенклатура.Родитель.Наименование = "КБТ"

    СГРУППИРОВАТЬ ПО Спр.Продавец


    Что тут неправильно, подскажите?
  7. TopicStarter Overlay
    Noob
    Offline

    Noob

    Регистрация:
    28 июл 2008
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    Грубо говоря выводит (Иванов) X (Фен1, Фен2) X (холодильник1, холодильник2, холодильник3). Черт с ними товарами, посоветуйте хотя бы, как в каждой колонке сумму продаж по каждой категории сделать.

Поделиться этой страницей