Имя: Пароль:
1C
1С v8
Помогите с запросом
0 sanechichek
 
19.04.12
11:27
Мне нужно получить следующие данные:
Сумму скидки: с группировками по Номенклатуре и по Типу скидки.
Сумма без скидок: с группировкой только по номенклатуре.
Сейчас у меня выходит что все группируется и по номенклатуре(по строкам) и по типу скидки(по колонкам), выходит так что сумма без скидки повторяется, она то выводится правильно, но это не очень читабельно.
1 Wobland
 
19.04.12
11:34
пример бы хоть привёл
2 n koretsky
 
19.04.12
11:35
не хочу портить праздник, но никто с такими исходными данными не поможет
3 n koretsky
 
19.04.12
11:35
хоть структуру регистра выложи, или пример запроса своего
4 sanechichek
 
19.04.12
11:36
Вот запрос:
   // Описание исходного текста запроса.
   ТекстЗапроса = "ВЫБРАТЬ
                  |    ВложенныйЗапрос.ПолучательСкидки,
                  |    ВложенныйЗапрос.Номенклатура КАК Номенклатура,
                  |    ВложенныйЗапрос.ДокументСкидки,
                  |    ВложенныйЗапрос.УсловиеСкидки,
                  |    ВложенныйЗапрос.ЗначениеУсловияСкидки,
                  |    ВложенныйЗапрос.СуммаСкидки КАК СуммаСкидки,
                  |    ВложенныйЗапрос.СуммаСУчетомСкидки КАК СуммаСУчетомСкидки,
                  |    ВложенныйЗапрос.СуммаБезСкидокОборот КАК СуммаБезСкидокОборот,
                  |    ВложенныйЗапрос.ЦенаСУчетомСкидки КАК ЦенаСУчетомСкидки,
                  |    ВложенныйЗапрос.ЦенаБезСкидки КАК ЦенаБезСкидки,
                  |    ВложенныйЗапрос.ТипСкидки,
                  |    ВложенныйЗапрос.Организация
                  |{ВЫБРАТЬ
                  |    ПолучательСкидки.*,
                  |    Номенклатура.*,
                  |    ДокументСкидки.*,
                  |    УсловиеСкидки.*,
                  |    ЗначениеУсловияСкидки.*,
                  |    СуммаСкидки,
                  |    СуммаСУчетомСкидки,
                  |    СуммаБезСкидокОборот,
                  |    ЦенаСУчетомСкидки,
                  |    ЦенаБезСкидки,
                  |    ТипСкидки.*,
                  |    Организация.*}
                  |ИЗ
                  |    (ВЫБРАТЬ
                  |        ВЫБОР
                  |            КОГДА ПредоставленныеСкидкиОбороты.ПолучательСкидки ССЫЛКА Справочник.ДоговорыКонтрагентов
                  |                ТОГДА ПредоставленныеСкидкиОбороты.ПолучательСкидки.Владелец
                  |            ИНАЧЕ ПредоставленныеСкидкиОбороты.ПолучательСкидки
                  |        КОНЕЦ КАК ПолучательСкидки,
                  |        ПредоставленныеСкидкиОбороты.Номенклатура КАК Номенклатура,
                  |        ПредоставленныеСкидкиОбороты.ДокументСкидки КАК ДокументСкидки,
                  |        ПредоставленныеСкидкиОбороты.УсловиеСкидки КАК УсловиеСкидки,
                  |        ПредоставленныеСкидкиОбороты.ЗначениеУсловияСкидки КАК ЗначениеУсловияСкидки,
                  |        ПредоставленныеСкидкиОбороты.СуммаСкидкиОборот КАК СуммаСкидки,
                  |        ПродажиОбороты.СтоимостьОборот КАК СуммаСУчетомСкидки,
                  |        ПродажиОбороты.СтоимостьБезСкидокОборот КАК СуммаБезСкидокОборот,
                  |        ПродажиОбороты.СтоимостьОборот / ПродажиОбороты.КоличествоОборот КАК ЦенаСУчетомСкидки,
                  |        ПродажиОбороты.СтоимостьБезСкидокОборот / ПродажиОбороты.КоличествоОборот КАК ЦенаБезСкидки,
                  |        ПредоставленныеСкидкиОбороты.ТипСкидки КАК ТипСкидки,
                  |        ПредоставленныеСкидкиОбороты.Регистратор.Организация КАК Организация
                  |    ИЗ
                  |        РегистрНакопления.ПредоставленныеСкидки.Обороты(&ДатаНач, &ДатаКон, Регистратор, ) КАК ПредоставленныеСкидкиОбороты
                  |            ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты(&ДатаНач, &ДатаКон, Регистратор, ) КАК ПродажиОбороты
                  |            ПО ПредоставленныеСкидкиОбороты.Регистратор = ПродажиОбороты.Регистратор
                  |                И ПредоставленныеСкидкиОбороты.Номенклатура = ПродажиОбороты.Номенклатура
                  |                И (ВЫБОР
                  |                    КОГДА ПредоставленныеСкидкиОбороты.ПолучательСкидки ССЫЛКА Справочник.ДоговорыКонтрагентов
                  |                        ТОГДА ПредоставленныеСкидкиОбороты.ПолучательСкидки.Владелец = ПродажиОбороты.Контрагент
                  |                    ИНАЧЕ ПредоставленныеСкидкиОбороты.ПолучательСкидки = ПродажиОбороты.Контрагент
                  |                КОНЕЦ)) КАК ВложенныйЗапрос
                  |{ГДЕ
                  |    ВложенныйЗапрос.ПолучательСкидки.*,
                  |    ВложенныйЗапрос.Номенклатура.*,
                  |    ВложенныйЗапрос.ДокументСкидки.*,
                  |    ВложенныйЗапрос.УсловиеСкидки.*,
                  |    ВложенныйЗапрос.ЗначениеУсловияСкидки.*}
                  |ИТОГИ
                  |    СУММА(СуммаСкидки),
                  |    СУММА(СуммаСУчетомСкидки),
                  |    СУММА(СуммаБезСкидокОборот),
                  |    СРЕДНЕЕ(ЦенаСУчетомСкидки),
                  |    СРЕДНЕЕ(ЦенаБезСкидки)
                  |ПО
                  |    ОБЩИЕ
                  |{ИТОГИ ПО
                  |    Организация.*,
                  |    ПолучательСкидки.*,
                  |    Номенклатура.*,
                  |    ТипСкидки.*}";
5 sanechichek
 
19.04.12
11:38
То есть мне нужно: Сумму скидки группировать по Контрагенту, Номенклатуре и по Типу скидки, а все остальные суммы и цены только по контрагенту и по номенклатуре.
6 vicof
 
19.04.12
11:40
группируй все, итоги по группировкам не выводи
7 vicof
 
19.04.12
11:48
точней не так. В ресурсах есть поле: "расчитывать по"
8 sanechichek
 
19.04.12
11:52
(7) расчитывать по, это только в СКД есть? просто я отчет делаю с помощью универсального отчета.
9 vicof
 
19.04.12
11:54
(8) универсальный почти не пользовал, не подскажу.
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший