Имя: Пароль:
1C
1C 7.7
v7: Особенности группировок в запросах
0 Угрюмый73
 
04.07.14
12:03
Добрый день, уважаемые форумчане. Столкнулся с такой проблемой: При создании запроса с четырьмя группировками, если третью и четвертую поменять местами(документ и номенклатура), то исчезают отдельные элементы второй группировки (контрагент), включающие в себя несколько элементов низлежащих группировок.
Никак не могу выделить закономерность, а тем более понять причину такого результата!
Может кто сталкивался с подобным, не подскажите, в чем дело???
    ТекстЗапроса =
    "//{{ЗАПРОС(Сформировать)
    |Период с ВыбНачПериода по ВыбКонПериода;
    |Фирма                     =     Документ.ВозвратПоставщику.Фирма,
    |                            Документ.Реализация.Фирма,
    |                            Документ.РеализацияРозница.Фирма;
    |ЭтоПиво                =     Документ.ВозвратПоставщику.Номенклатура.ЭтоПиво,
    |                            Документ.Реализация.Номенклатура.ЭтоПиво,
    |                            Документ.РеализацияРозница.Номенклатура.ЭтоПиво;     
    |Контрагент             =     Документ.ВозвратПоставщику.Контрагент,
    |                            Документ.Реализация.Контрагент,
    |                            Документ.РеализацияРозница.Контрагент;
    |Классификация            =     Документ.ВозвратПоставщику.Номенклатура.Классификация,
    |                            Документ.Реализация.Номенклатура.Классификация,
    |                            Документ.РеализацияРозница.Номенклатура.Классификация;
    |Номенклатура            =     Документ.ВозвратПоставщику.Номенклатура,
    |                            Документ.Реализация.Номенклатура,
    |                            Документ.РеализацияРозница.Номенклатура;
    |Литраж                    =     Документ.ВозвратПоставщику.Номенклатура.БазоваяЕдиница.Объем,
    |                            Документ.Реализация.Номенклатура.БазоваяЕдиница.Объем,
    |                            Документ.РеализацияРозница.Номенклатура.БазоваяЕдиница.Объем;    
    |ТекущийДокумент        =   Документ.ВозвратПоставщику.ТекущийДокумент,
    |                            Документ.Реализация.ТекущийДокумент,
    |                            Документ.РеализацияРозница.ТекущийДокумент;    
    |Кол_воВозвПостав          =   Документ.ВозвратПоставщику.Количество;
    |Кол_воРознПродажа       =   Документ.Реализация.Количество,
    |                            Документ.РеализацияРозница.Количество;
                                                                          
    |Функция ЛитражРознПродажаСумма    = Сумма(Кол_воРознПродажа*Литраж/Даллы);
    |Группировка Классификация;";
    ТекстЗапроса = ТекстЗапроса + "
    |Группировка Контрагент без групп;";         
    ТекстЗапроса = ТекстЗапроса + "
    |Группировка Номенклатура без групп;";
    ТекстЗапроса = ТекстЗапроса + "
    |Группировка Документ;";
    Если флЧастЛицо=0  Тогда
    ТекстЗапроса = ТекстЗапроса +"
    |Условие(СокрЛП(Контрагент)<>ИзбрКонтрагент);";    
    КонецЕсли;
    Если флТолькоПиво=1  Тогда
             ТекстЗапроса = ТекстЗапроса + "
    |Условие(ЭтоПиво = 1);";
         КонецЕсли;
          ТекстЗапроса = ТекстЗапроса + "
    |Условие(Фирма = ВыбФирма);";
1 КонецЦикла
 
04.07.14
12:08
Может по строке документа и потом свернуть ТЗ? Будет на одну меньше, что скажется на скорости.
2 КонецЦикла
 
04.07.14
12:10
Регистров нет?
3 Угрюмый73
 
04.07.14
12:16
(1) Сейчас попробую.
(2) Не понял вопроса...
4 КонецЦикла
 
04.07.14
12:20
(3) Ну если бы был регистр - было бы сподручнее его юзать, а не шариться по докам.
1С запрос в кишках готовит, поэтому ХЗ что там может быть.
5 dk
 
04.07.14
12:27
когда в одно поле пишут несколько значений через запятую - это не классика скл, т.ч. с логикой тут напряги
6 akaBrr
 
04.07.14
12:30
(5) это соединение 1с 7.7 стайл
7 Угрюмый73
 
04.07.14
12:33
Регистр есть, ПартииНаличие, но там до последнего времени был полнейший бардак. База свернута на 1 января, я после свертки обнулял значения данного регистра и полностью формировал его значения заново. Сейчас, вроде учет по партиям ведется правильно (без красноты). И в новых партиях в свойствах вся интересующая меня информация в наличии, а вот  сформированных мною искусственно - отсутствует.
Вот я и сращиваю старый способ хранения с новым...
8 Угрюмый73
 
04.07.14
12:35
(7) к (4)
9 Угрюмый73
 
05.07.14
21:03
Всем спасибо, тему можно закрывать (перемудрил с циклами при обработке результатов запроса).