8.х Группировки

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

  1. TopicStarter Overlay
    KatrineKA
    Offline

    KatrineKA Опытный в 1С

    Регистрация:
    5 окт 2010
    Сообщения:
    214
    Симпатии:
    0
    Баллы:
    26
    Прошу прощения, вопрос наверно наиглупеший, но прошу помощи. :angry:

    Есть отчет вкоторый данные попадают из документов и группируются по Зказу. Отчет работает хорошо, сделала группировку по Заказу. Теперь необходимо, что бы пользователь мог получать отчет по заказам или без заказов. Сделала на форме Флажок.

    Не понимаю, как мне построить запрос, что б была группировка по заказам или не было её, в зависимости от значения Флажка.
  2. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.573
    Симпатии:
    717
    Баллы:
    204
    отчет каким образом формируется: скд/универсальный/"вручную"?
  3. TopicStarter Overlay
    KatrineKA
    Offline

    KatrineKA Опытный в 1С

    Регистрация:
    5 окт 2010
    Сообщения:
    214
    Симпатии:
    0
    Баллы:
    26

    вручную
  4. 1cUserAndrew
    Offline

    1cUserAndrew Профессионал в 1С Команда форума

    Регистрация:
    27 май 2010
    Сообщения:
    4.949
    Симпатии:
    149
    Баллы:
    104
    Ну очень упрощенно примерно так:
    Код:
    Если ГруппироватьПоЗаказам Тогда
    ТекстГруппировки = " СГРУППИРОВАТЬ ПО Ссылка ";
    Иначе
    ТекстГруппировки = "";
    КонецЕсли;
    
    Запрос.Текст = "
    |ВЫБРАТЬ
    |   ...
    |ИЗ 
    |   Документ.ЗаказПокупателю" + ТекстГруппировки;
    
    
  5. TopicStarter Overlay
    KatrineKA
    Offline

    KatrineKA Опытный в 1С

    Регистрация:
    5 окт 2010
    Сообщения:
    214
    Симпатии:
    0
    Баллы:
    26
    ТекстГруппировки = " СГРУППИРОВАТЬ ПО Ссылка ";
    а "Ссылка" - это что?
  6. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.573
    Симпатии:
    717
    Баллы:
    204
    видимо, ЗаказПокупателя.

    Не совсем понятен смысл группировки по ссылке. Чего в итоге получить хотите?
  7. 1cUserAndrew
    Offline

    1cUserAndrew Профессионал в 1С Команда форума

    Регистрация:
    27 май 2010
    Сообщения:
    4.949
    Симпатии:
    149
    Баллы:
    104
    Ну это как бы не суть важно :) Я ж примерный текст запроса привел... У Вас же есть Ваш запрос....
    Я просто пытался ответить на вопрос:
    т.е. суть в том, что когда установлен флаг "ГруппироватьПоЗаказам", текст запроса дополняется выражением группировки...
  8. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.573
    Симпатии:
    717
    Баллы:
    204
    кхм....я подозреваю, что "группировка" в данном контексте - это ИТОГИ ПО :)
  9. 1cUserAndrew
    Offline

    1cUserAndrew Профессионал в 1С Команда форума

    Регистрация:
    27 май 2010
    Сообщения:
    4.949
    Симпатии:
    149
    Баллы:
    104
    Ну я думаю, ИТОГИ тоже можно по этому же принципу сделать :))
  10. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.573
    Симпатии:
    717
    Баллы:
    204
    можно и даже проще, только сперва нужно понять, чтоже все таки ТС нужно :)
  11. TopicStarter Overlay
    KatrineKA
    Offline

    KatrineKA Опытный в 1С

    Регистрация:
    5 окт 2010
    Сообщения:
    214
    Симпатии:
    0
    Баллы:
    26
    Всемвсе понятно, кроме меня :)

    Вот есть запрос, он делает группировку по Заказу, нужно что бы, если ГруппироватьПоЗаказам=ложь, запрос не группировался по Заказм.

    попыталась сделать, как писали выше - не получается. Все таки сама суть не ясна.
    Код:
    Если ГруппироватьПоЗаказам Тогда
    ТекстГруппировки = " СГРУППИРОВАТЬ ПО ";
    Иначе
    ТекстГруппировки = "";
    КонецЕсли;
    |...
    |ИЗ
    |...
    |ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Заказ КАК Заказ" + ТекстГруппировки + ",
    |...
    
  12. 1cUserAndrew
    Offline

    1cUserAndrew Профессионал в 1С Команда форума

    Регистрация:
    27 май 2010
    Сообщения:
    4.949
    Симпатии:
    149
    Баллы:
    104
    Покажите весь Ваш запрос...
  13. TopicStarter Overlay
    KatrineKA
    Offline

    KatrineKA Опытный в 1С

    Регистрация:
    5 окт 2010
    Сообщения:
    214
    Симпатии:
    0
    Баллы:
    26
    Код:
    Если ГруппироватьПоЗаказам Тогда
    ТекстГруппировки = " заказ, ";
    Иначе
    ТекстГруппировки = "";
    КонецЕсли;
    ...
    |ПО
    |	"+ТекстГруппировки+"
    |	Значение";
    
    
    Вот, а теперь в самой обработке условие нужно как то поставить, чтоб все равботало.

    Т.е. сама обработка такая
    Код:
    	Выборка = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
    
    Пока Выборка.Следующий() Цикл
    ОбластьЗаказ.Параметры.Заполнить(Выборка);
    ТабДок.Вывести(ОбластьЗаказ, Выборка.Уровень());
    Заказ = Выборка.Заказ;
    
    ВыборкаДетали = Выборка.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам,"Значение");		
    Пока ВыборкаДетали.Следующий() Цикл
    ОбластьСтрока.Параметры.Заполнить(ВыборкаДетали);
    
    
    Как теперь условие то поставить?
  14. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.573
    Симпатии:
    717
    Баллы:
    204
    понимаете, то что делаете вы в коде после выполнения запроса - это не группировки, это - итоги, следовательно нужно редактировать ИТОГИ ПО и указывать агрегатные функции для остальных полей, если нужно.
  15. TopicStarter Overlay
    KatrineKA
    Offline

    KatrineKA Опытный в 1С

    Регистрация:
    5 окт 2010
    Сообщения:
    214
    Симпатии:
    0
    Баллы:
    26
    Да теперь по няла, что по итогам. Но что с эти дальше делать...
  16. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.573
    Симпатии:
    717
    Баллы:
    204
    итоги делаются проще группировок:

    ИТОГИ
    <АгрегатнаяФункция(АгрегатируемоеПоле1)>
    <АгрегатнаяФункция(АгрегатируемоеПоле2)>
    ПО
    <Поле1>
    <Поле2>


    Вам по-сути нужно включать итоги или нет, но при этом ещё нужно правильно обработать результат с итогами и без
  17. TopicStarter Overlay
    KatrineKA
    Offline

    KatrineKA Опытный в 1С

    Регистрация:
    5 окт 2010
    Сообщения:
    214
    Симпатии:
    0
    Баллы:
    26
    Спасибо кажется разобралась. По конкретно этому моменту отчет работет хорошо.
Похожие темы
  1. бухг123
    Ответов:
    0
    Просмотров:
    501
  2. Korostelev
    Ответов:
    17
    Просмотров:
    545
Загрузка...

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