Имя: Пароль:
1C
1С v8
Вывод результата запроса в древовидной структуре
,
0 LivingStar
 
24.09.13
05:12
Давно не выводил результат запроса в древовидной структцре применяя автогруппировку. И вот поступило такое задание. Нет ли у кого доступно читаемого примера кода, который отображает принцип вывода в подобном формате. Главное правильно вывести. Вывести в древовидной структуре хочу имея вот такой запрос, склад, а в складе качество номенклатуры:

    Запрос.Текст = "
        |ВЫБРАТЬ
        |    ВозвратТоваровПоставщикуТовары.Номенклатура КАК Номенклатура,
        |    ВозвратТоваровПоставщикуТовары.Качество КАК Качество,
        |    СУММА(ВозвратТоваровПоставщикуТовары.Количество) КАК Количество,
        |    СУММА(ВозвратТоваровПоставщикуТовары.Сумма) КАК Сумма,
        |    ВозвратТоваровПоставщику.Склад КАК Склад
        |ИЗ
        |    Документ.ВозвратТоваровПоставщику КАК ВозвратТоваровПоставщику
        |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ВозвратТоваровПоставщику.Товары КАК ВозвратТоваровПоставщикуТовары
        |        ПО ВозвратТоваровПоставщику.Ссылка = ВозвратТоваровПоставщикуТовары.Ссылка
        |ГДЕ
        |    ВозвратТоваровПоставщикуТовары.Ссылка.Склад В ИЕРАРХИИ(&Склад)
        |    И ВозвратТоваровПоставщикуТовары.Качество В ИЕРАРХИИ(&Качество)
        |    И ВозвратТоваровПоставщикуТовары.Ссылка.Дата МЕЖДУ &НачДата И &КонДата
        |
        |СГРУППИРОВАТЬ ПО
        |    ВозвратТоваровПоставщикуТовары.Номенклатура,
        |    ВозвратТоваровПоставщикуТовары.Качество,
        |    ВозвратТоваровПоставщику.Склад
        |
        |УПОРЯДОЧИТЬ ПО
        |    Склад,
        |    Качество";
1 LivingStar
 
24.09.13
05:34
как то сделал но почему то под группой сворачивается только 1 строка, следующей группы
2 Rie
 
модератор
24.09.13
05:35
ИТОГИ
3 LivingStar
 
24.09.13
05:43
(2) вот как я вывожу, пока не получается (((

    Для Каждого Стр Из ТабЗнач Цикл
        ЭлементыФормы.ТабРезультат.НачатьАвтоГруппировкуСтрок(); // НАЧАЛО АВТОГРУППИРОВКИ
        Если СкладГр <> Стр.Склад и СкладГр <> "" Тогда
            // ВЫВОД ИТОГОВ ->>
            //
            ЭлементыФормы.ТабРезультат.Вывести(ОбластьИтоги1,3,"СТРОКИ",Истина);    
            Если Качество.Количество() = 1 Тогда
                //
            Иначе
                ЭлементыФормы.ТабРезультат.Присоединить(ОбластьИтоги2,,,);    
            КонецЕсли;
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьИтоги3,,,);    
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьИтоги4,,,);    
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьИтоги5,,,);    
            ОбластьИтоги6.Параметры.КоличествоИтог = Формат(КоличествоИтог, "ЧЦ=10; ЧДЦ=3");
            ОбластьИтоги7.Параметры.СуммаИтог      = Формат(СуммаИтог,         "ЧЦ=10; ЧДЦ=2");
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьИтоги6,,,);    
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьИтоги7,,,);    
            // <<- КОНЕЦ ВЫВОД ИТОГОВ
            // ВЫВОД ГРУППЫ СКЛАД ->>
            //ОбластьГр1.Область("R1C2").ГоризонтальноеПоложение = ГоризонтальноеПоложение.Лево;
            //ОбластьГр1.Область("R1C2").ЦветТекста              = ЦветСклада;             
            ЭлементыФормы.ТабРезультат.Вывести(ОбластьГрСклад1,1,"СКЛАД",Истина);    
            Если Качество.Количество() = 1 Тогда
                //
            Иначе
                ЭлементыФормы.ТабРезультат.Присоединить(ОбластьГрСклад2,,,);    
            КонецЕсли;
            ОбластьГрСклад3.Параметры.НазваниеГруппы = Стр.Склад;             
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьГрСклад3,,,);    
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьГрСклад4,,,);    
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьГрСклад5,,,);    
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьГрСклад6,,,);    
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьГрСклад7,,,);    
            // <<- КОНЕЦ ВЫВОД ГРУППЫ СКЛАД
            Ном            = 1;
            НомКач         = 1;
            КоличествоИтог = 0;
            СуммаИтог      = 0;
            КачествоГр     = "";
        ИначеЕсли  СкладГр = "" Тогда
            // ВЫВОД ГРУППЫ СКЛАД ->>
            //ОбластьГр1.Область("R1C2").ГоризонтальноеПоложение = ГоризонтальноеПоложение.Лево;
            //ОбластьГр1.Область("R1C2").ЦветТекста              = ЦветСклада;             
            ЭлементыФормы.ТабРезультат.Вывести(ОбластьГрСклад1,1,"СКЛАД",Истина);    
            Если Качество.Количество() = 1 Тогда
                //
            Иначе
                ЭлементыФормы.ТабРезультат.Присоединить(ОбластьГрСклад2,,,);    
            КонецЕсли;
            ОбластьГрСклад3.Параметры.НазваниеГруппы = Стр.Склад;
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьГрСклад3,,,);    
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьГрСклад4,,,);    
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьГрСклад5,,,);    
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьГрСклад6,,,);    
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьГрСклад7,,,);    
            // <<- КОНЕЦ ВЫВОД ГРУППЫ СКЛАД
        КонецЕсли;
        Если КачествоГр <> Стр.Качество и КачествоГр <> "" Тогда
            // ВЫВОД ГРУППЫ КАЧЕСТВО ->>
            //ОбластьГр1.Область("R1C2").ГоризонтальноеПоложение = ГоризонтальноеПоложение.Право;
            //ОбластьГр1.Область("R1C2").ЦветТекста              = ЦветКачества;
            ЭлементыФормы.ТабРезультат.Вывести(ОбластьГрКач1,2,"КАЧЕСТВО",Истина);    
            Если Качество.Количество() = 1 Тогда
                //
            Иначе
                ЭлементыФормы.ТабРезультат.Присоединить(ОбластьГрКач2,,,);    
            КонецЕсли;
            ОбластьГрКач3.Параметры.НазваниеГруппы = Стр.Качество;
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьГрКач3,,,);    
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьГрКач4,,,);    
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьГрКач5,,,);    
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьГрКач6,,,);    
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьГрКач7,,,);    
            // <<- КОНЕЦ ВЫВОД ГРУППЫ КАЧЕСТВО
            НомКач         = 1;
        ИначеЕсли КачествоГр = "" Тогда
            // ВЫВОД ГРУППЫ КАЧЕСТВО ->>
            //ОбластьГр1.Область("R1C2").ГоризонтальноеПоложение = ГоризонтальноеПоложение.Право;
            //ОбластьГр1.Область("R1C2").ЦветТекста              = ЦветКачества;
            ЭлементыФормы.ТабРезультат.Вывести(ОбластьГрКач1,2,"КАЧЕСТВО",Истина);    
            Если Качество.Количество() = 1 Тогда
                //
            Иначе
                ЭлементыФормы.ТабРезультат.Присоединить(ОбластьГрКач2,,,);    
            КонецЕсли;
            ОбластьГрКач3.Параметры.НазваниеГруппы = Стр.Качество;
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьГрКач3,,,);    
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьГрКач4,,,);    
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьГрКач5,,,);    
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьГрКач6,,,);    
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьГрКач7,,,);    
            // <<- КОНЕЦ ВЫВОД ГРУППЫ КАЧЕСТВО
        КонецЕсли;
        //
        ОбластьСтроки1.Параметры.Ном          = Ном;
        ОбластьСтроки2.Параметры.НомКач       = НомКач;        
        ОбластьСтроки3.Параметры.Номенклатура = Стр.Номенклатура;
        ОбластьСтроки4.Параметры.Склад        = Стр.Склад;
        ОбластьСтроки5.Параметры.Качество     = Стр.Качество;
        //
        ЭлементыФормы.ТабРезультат.Вывести(ОбластьСтроки1,3,"СТРОКИ",Истина);    
        Если Качество.Количество() = 1 Тогда
            //
        Иначе
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьСтроки2,,,);    
        КонецЕсли;
        ЭлементыФормы.ТабРезультат.Присоединить(ОбластьСтроки3,,,);    
        ЭлементыФормы.ТабРезультат.Присоединить(ОбластьСтроки4,,,);    
        ЭлементыФормы.ТабРезультат.Присоединить(ОбластьСтроки5,,,);    
        ОбластьСтроки6.Параметры.Количество = Формат(Стр.Количество, "ЧЦ=10; ЧДЦ=3");
        ОбластьСтроки7.Параметры.Сумма      = Формат(Стр.Сумма,       "ЧЦ=10; ЧДЦ=2");
        ЭлементыФормы.ТабРезультат.Присоединить(ОбластьСтроки6,,,);    
        ЭлементыФормы.ТабРезультат.Присоединить(ОбластьСтроки7,,,);    
        //
        Ном            = Ном    + 1;
        НомКач         = НомКач + 1;
        //
        КоличествоИтог = КоличествоИтог + Число(Формат(Стр.Количество, "ЧЦ=10; ЧДЦ=3"));
        СуммаИтог      = СуммаИтог      + Число(Формат(Стр.Сумма,      "ЧЦ=10; ЧДЦ=2"));
        //
        СкладГр        = Стр.Склад;
        КачествоГр     = Стр.Качество;
        //
        ЭлементыФормы.ТабРезультат.ЗакончитьАвтоГруппировкуСтрок(); // ЗАВЕРШЕНИЕ АВТОГРУППИРОВКИ    
        //
    КонецЦикла;
    //
    // ВЫВОД ОБЛАСТИ ИТОГИ ->>
    ЭлементыФормы.ТабРезультат.Вывести(ОбластьИтоги1,3,"СТРОКИ",Истина);    
    Если Качество.Количество() = 1 Тогда
        //
    Иначе
        ЭлементыФормы.ТабРезультат.Присоединить(ОбластьИтоги2,,,);    
    КонецЕсли;
    ЭлементыФормы.ТабРезультат.Присоединить(ОбластьИтоги3,,,);    
    ЭлементыФормы.ТабРезультат.Присоединить(ОбластьИтоги4,,,);    
    ЭлементыФормы.ТабРезультат.Присоединить(ОбластьИтоги5,,,);    
    ОбластьИтоги6.Параметры.КоличествоИтог = Формат(КоличествоИтог, "ЧЦ=10; ЧДЦ=3");
    ОбластьИтоги7.Параметры.СуммаИтог      = Формат(СуммаИтог,      "ЧЦ=10; ЧДЦ=2");
    ЭлементыФормы.ТабРезультат.Присоединить(ОбластьИтоги6,,,);    
    ЭлементыФормы.ТабРезультат.Присоединить(ОбластьИтоги7,,,);    
    // КОНЕЦ ВЫВОДА ОБЛАСТИ ИТОГИ <<-
    ЭлементыФормы.ТабРезультат.ТолькоПросмотр = Истина;
КонецПроцедуры
4 LivingStar
 
24.09.13
05:46
не пойму почему не сворачивается как нужно:

1. Склад
___2. Качество
______3. Строки
      4. Итоги
5 LivingStar
 
24.09.13
06:03
По коду проходит группировку 1, потом группировку 2, потом группировку 3 до смены значения группировки 2 или 1. Почему оно не сворачивается?
6 alexiv79
 
24.09.13
06:05
(1) ИТОГИ надо использовать. Те.е надо дописать
ИТОГИ ПО
   Склад,
   Номенклатура

Потом выводишь группировки-т.е. ВыборкаПоСкладу = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапрос.ПоГруппировкам) . Потом выводишь по номенклатуре ВыборкаПоНоменклатуре = ВыборкаПоСкладу.Выбрать() - как-то так
7 alexiv79
 
24.09.13
06:06
Если нужны общие, то В ИТОГИ на первое место ставишь ОБЩИЕ
8 andreymongol82
 
24.09.13
06:06
(5) Еще раз внимательно посмотри (2)
9 alexiv79
 
24.09.13
06:07
+(6) Писал по памяти, так что возможны ощибки-но примерно так синтаксис
10 LivingStar
 
24.09.13
06:14
(8) то есть алгоритм что в (3) не уместен?
11 Cyberhawk
 
24.09.13
06:15
(10) алгоритм в (0) неуместен
12 LivingStar
 
24.09.13
06:18
(11) ну в (0) запрос, ему в соответствии с замечаниями добавляю:

   Запрос.Текст = "
        |ВЫБРАТЬ
        |    ВозвратТоваровПоставщикуТовары.Номенклатура КАК Номенклатура,
        |    ВозвратТоваровПоставщикуТовары.Качество КАК Качество,
        |    СУММА(ВозвратТоваровПоставщикуТовары.Количество) КАК Количество,
        |    СУММА(ВозвратТоваровПоставщикуТовары.Сумма) КАК Сумма,
        |    ВозвратТоваровПоставщику.Склад КАК Склад
        |ИЗ
        |    Документ.ВозвратТоваровПоставщику КАК ВозвратТоваровПоставщику
        |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ВозвратТоваровПоставщику.Товары КАК ВозвратТоваровПоставщикуТовары
        |        ПО ВозвратТоваровПоставщику.Ссылка = ВозвратТоваровПоставщикуТовары.Ссылка
        |ГДЕ
        |    ВозвратТоваровПоставщикуТовары.Ссылка.Склад В ИЕРАРХИИ(&Склад)
        |    И ВозвратТоваровПоставщикуТовары.Качество В ИЕРАРХИИ(&Качество)
        |    И ВозвратТоваровПоставщикуТовары.Ссылка.Дата МЕЖДУ &НачДата И &КонДата
        |
        |СГРУППИРОВАТЬ ПО
        |    ВозвратТоваровПоставщикуТовары.Номенклатура,
        |    ВозвратТоваровПоставщикуТовары.Качество,
        |    ВозвратТоваровПоставщику.Склад
        |
        |УПОРЯДОЧИТЬ ПО
        |    Склад,
        |    Качество
        |ИТОГИ ПО
        |    Склад,
        |    Качество,
        |    Номенклатура
        |";

Но алгоритм к нему (3) не подходит все же да???
13 Cyberhawk
 
24.09.13
06:20
(12) в консоли запросов посмотри, что выдает твой запрос
14 Cyberhawk
 
24.09.13
06:21
+(13) затем сохрани в виде плоской таблицы и выложи это сюда в удобочитаемом виде
15 LivingStar
 
24.09.13
06:23
(14) а как это в виде плоской?
16 LivingStar
 
24.09.13
06:26
вот так выводит:

Итог по складу 1
Итог по качеству 1
Номенклатура1
Номенклатура2
...
номенклатура N
Итог по качеству2
Номенклатура1
Номенклатура2
...
номенклатура N
Итог по качеству3
Номенклатура1
Номенклатура2
...
номенклатура N
Итог по складу 2
Итог по качеству 1
Номенклатура1
Номенклатура2
...
номенклатура N
Итог по качеству2
...
17 LivingStar
 
24.09.13
06:45
(6) А если у меня это таблица??? Так как сначала я выгружаю в таблицу и сворачиваю её !!! То есть не получится видимо сделать обход результата запроса по группировкам !
18 LivingStar
 
24.09.13
06:50
(8) А что без итогов никак не вывести что ли? Это если можно выводить прямо из запроса. Я вывожу из таблицы, можно же и самому контролировать и задавать вывод!!!!
19 Лодырь
 
24.09.13
06:51
(18) Ну задавай и контролируй. В чем вопрос то тогда?
20 LivingStar
 
24.09.13
07:01
(19) Так не получается! В (3) же пробовал, сейчас думаю как вывести. Что то не выводится!!! Что нужно итоги понял, спасибо, но не в этом случае видимо, так как я вывожу из свернутой таблицы! Вот и узнаю можно ли самому вывести, думаю можно, так и алгоритм есть... Может автогруппировку строк где не там заканчиваю??!!
21 Rie
 
24.09.13
07:02
(20) Мысль - "выводить из исходной, а не из свёрнутой, а все расчёты делать в SQL" - в голову не приходила?
22 Cyberhawk
 
24.09.13
07:03
(15) ну обычная ТЗ. То что выдает запрос в результате
23 LivingStar
 
24.09.13
07:12
(21) Если запрос выводит задвоенные записи, что с ними делать? Сворачиваю в таблице всегда. Как там то?
24 LivingStar
 
24.09.13
07:14
ВОО!!! Начал мочить!!! Раскидав по (3) начало и завершение автогруппировки. Буду добивать!!!

(21)  Можно конечно, но двигаешься всегда по своему, заложенному алгоритму, не принимая ничего стороннего. Пока совсем не поймешь что то что делаешь в корень не верно... От нехватки умения это.
25 catena
 
24.09.13
07:19
(23)Сгруппировать?
26 LivingStar
 
24.09.13
07:21
(25) Так в (0) же группируется?!!

Вообще правильно конечно все в запросе приводить к нужному виду, а потом выводить по группировкам как и рекомендуют! Возможно не все можно сделать в запросе?
27 Лодырь
 
24.09.13
07:30
(26) Из того что ты делаешь, все можно сделать в СКД.
28 LivingStar
 
24.09.13
09:59
(27) Пример бы изложенный на странице был бы где, как что то подобное делать, тут веть нужно подробное руководство. Изуча которое можно использовать СКД. Пока я её не использую....
29 LivingStar
 
24.09.13
10:05
Интересно почему при таком выводе я не могу свернуть группу "СКЛАД", самого верхнего уровня ?

    Для Каждого Стр Из ТабЗнач Цикл
        //ЭлементыФормы.ТабРезультат.НачатьАвтоГруппировкуСтрок(); // НАЧАЛО АВТОГРУППИРОВКИ
        Если СкладГр <> Стр.Склад и СкладГр <> "" Тогда
            // ВЫВОД ИТОГОВ ПО ГРУППЕ КАЧЕСТВО ->>
            ЭлементыФормы.ТабРезультат.Вывести(ОбластьИтогиК1,1,"КАЧЕСТВО",Истина);    
            Если Качество.Количество() = 1 Тогда
                //
            Иначе
                ЭлементыФормы.ТабРезультат.Присоединить(ОбластьИтогиК2,,,);    
            КонецЕсли;
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьИтогиК3,,,);    
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьИтогиК4,,,);    
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьИтогиК5,,,);    
            ОбластьИтогиК6.Параметры.КоличествоИтогК = Формат(КоличествоИтогК, "ЧЦ=10; ЧДЦ=3");
            ОбластьИтогиК7.Параметры.СуммаИтогК      = Формат(СуммаИтогК,        "ЧЦ=10; ЧДЦ=2");
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьИтогиК6,,,);    
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьИтогиК7,,,);    
            // <<- КОНЕЦ ВЫВОД ИТОГОВ ПО ГРУППЕ КАЧЕСТВО
            //
            // ВЫВОД ИТОГОВ ПО ГРУППЕ СКЛАД ->>
            ЭлементыФормы.ТабРезультат.Вывести(ОбластьИтоги1,1,"СКЛАД",Истина);    
            Если Качество.Количество() = 1 Тогда
                //
            Иначе
                ЭлементыФормы.ТабРезультат.Присоединить(ОбластьИтоги2,,,);    
            КонецЕсли;
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьИтоги3,,,);    
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьИтоги4,,,);    
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьИтоги5,,,);    
            ОбластьИтоги6.Параметры.КоличествоИтогСклад = Формат(КоличествоИтогСклад, "ЧЦ=10; ЧДЦ=3");
            ОбластьИтоги7.Параметры.СуммаИтогСклад      = Формат(СуммаИтогСклад,       "ЧЦ=10; ЧДЦ=2");
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьИтоги6,,,);    
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьИтоги7,,,);    
            // <<- КОНЕЦ ВЫВОД ИТОГОВ ПО ГРУППЕ СКЛАД
            //
            ЭлементыФормы.ТабРезультат.ЗакончитьАвтоГруппировкуСтрок(); // ЗАВЕРШЕНИЕ АВТОГРУППИРОВКИ    
            //
            ЭлементыФормы.ТабРезультат.НачатьАвтоГруппировкуСтрок(); // НАЧАЛО АВТОГРУППИРОВКИ
            // ВЫВОД ГРУППЫ СКЛАД ->>
            ЭлементыФормы.ТабРезультат.Вывести(ОбластьГрСклад1,1,"СКЛАД",Истина);    
            Если Качество.Количество() = 1 Тогда
                //
            Иначе
                ЭлементыФормы.ТабРезультат.Присоединить(ОбластьГрСклад2,,,);    
            КонецЕсли;
            ОбластьГрСклад3.Параметры.НазваниеГруппы = Стр.Склад;             
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьГрСклад3,,,);    
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьГрСклад4,,,);    
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьГрСклад5,,,);    
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьГрСклад6,,,);    
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьГрСклад7,,,);    
            // <<- КОНЕЦ ВЫВОД ГРУППЫ СКЛАД
            Ном                 = 1;
            НомКач              = 1;
            КоличествоИтогСклад = 0;
            СуммаИтогСклад      = 0;
            //
            КоличествоИтогК     = 0;
            СуммаИтогК          = 0;
            //
            КачествоГр          = "";
        ИначеЕсли  СкладГр = "" Тогда
            ЭлементыФормы.ТабРезультат.НачатьАвтоГруппировкуСтрок(); // НАЧАЛО АВТОГРУППИРОВКИ
            // ВЫВОД ГРУППЫ СКЛАД ->>
            ЭлементыФормы.ТабРезультат.Вывести(ОбластьГрСклад1,1,"СКЛАД",Истина);    
            Если Качество.Количество() = 1 Тогда
                //
            Иначе
                ЭлементыФормы.ТабРезультат.Присоединить(ОбластьГрСклад2,,,);    
            КонецЕсли;
            ОбластьГрСклад3.Параметры.НазваниеГруппы = Стр.Склад;
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьГрСклад3,,,);    
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьГрСклад4,,,);    
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьГрСклад5,,,);    
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьГрСклад6,,,);    
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьГрСклад7,,,);    
            // <<- КОНЕЦ ВЫВОД ГРУППЫ СКЛАД
        КонецЕсли;
        Если КачествоГр <> Стр.Качество и КачествоГр <> "" Тогда
            // ВЫВОД ИТОГОВ ГРУППЫ К ->>
            //
            ЭлементыФормы.ТабРезультат.Вывести(ОбластьИтогиК1,1,"КАЧЕСТВО",Истина);    
            Если Качество.Количество() = 1 Тогда
                //
            Иначе
                ЭлементыФормы.ТабРезультат.Присоединить(ОбластьИтогиК2,,,);    
            КонецЕсли;
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьИтогиК3,,,);    
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьИтогиК4,,,);    
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьИтогиК5,,,);    
            ОбластьИтогиК6.Параметры.КоличествоИтогК = Формат(КоличествоИтогК, "ЧЦ=10; ЧДЦ=3");
            ОбластьИтогиК7.Параметры.СуммаИтогК      = Формат(СуммаИтогК,        "ЧЦ=10; ЧДЦ=2");
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьИтогиК6,,,);    
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьИтогиК7,,,);    
            // <<- КОНЕЦ ВЫВОД ИТОГОВ ГРУППЫ К
            // ВЫВОД ГРУППЫ КАЧЕСТВО ->>
            ЭлементыФормы.ТабРезультат.Вывести(ОбластьГрКач1,2,"КАЧЕСТВО",Истина);    
            Если Качество.Количество() = 1 Тогда
                //
            Иначе
                ЭлементыФормы.ТабРезультат.Присоединить(ОбластьГрКач2,,,);    
            КонецЕсли;
            ОбластьГрКач3.Параметры.НазваниеГруппы = Стр.Качество;
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьГрКач3,,,);    
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьГрКач4,,,);    
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьГрКач5,,,);    
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьГрКач6,,,);    
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьГрКач7,,,);    
            // <<- КОНЕЦ ВЫВОД ГРУППЫ КАЧЕСТВО
            НомКач                 = 1;
            КоличествоИтогК = 0;
            СуммаИтогК      = 0;
        ИначеЕсли КачествоГр = "" Тогда
            // ВЫВОД ГРУППЫ КАЧЕСТВО ->>
            ЭлементыФормы.ТабРезультат.Вывести(ОбластьГрКач1,2,"КАЧЕСТВО",Истина);    
            Если Качество.Количество() = 1 Тогда
                //
            Иначе
                ЭлементыФормы.ТабРезультат.Присоединить(ОбластьГрКач2,,,);    
            КонецЕсли;
            ОбластьГрКач3.Параметры.НазваниеГруппы = Стр.Качество;
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьГрКач3,,,);    
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьГрКач4,,,);    
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьГрКач5,,,);    
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьГрКач6,,,);    
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьГрКач7,,,);    
            // <<- КОНЕЦ ВЫВОД ГРУППЫ КАЧЕСТВО
        КонецЕсли;
        //
        ОбластьСтроки1.Параметры.Ном          = Ном;
        ОбластьСтроки2.Параметры.НомКач       = НомКач;        
        ОбластьСтроки3.Параметры.Номенклатура = Стр.Номенклатура;
        ОбластьСтроки4.Параметры.Склад        = Стр.Склад;
        ОбластьСтроки5.Параметры.Качество     = Стр.Качество;
        //
        ЭлементыФормы.ТабРезультат.Вывести(ОбластьСтроки1,3,"СТРОКИ",Ложь);    
        Если Качество.Количество() = 1 Тогда
            //
        Иначе
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьСтроки2,,,);    
        КонецЕсли;
        ЭлементыФормы.ТабРезультат.Присоединить(ОбластьСтроки3,,,);    
        ЭлементыФормы.ТабРезультат.Присоединить(ОбластьСтроки4,,,);    
        ЭлементыФормы.ТабРезультат.Присоединить(ОбластьСтроки5,,,);    
        ОбластьСтроки6.Параметры.Количество = Формат(Стр.Количество, "ЧЦ=10; ЧДЦ=3");
        ОбластьСтроки7.Параметры.Сумма      = Формат(Стр.Сумма,       "ЧЦ=10; ЧДЦ=2");
        ЭлементыФормы.ТабРезультат.Присоединить(ОбластьСтроки6,,,);    
        ЭлементыФормы.ТабРезультат.Присоединить(ОбластьСтроки7,,,);    
        //
        Ном                    = Ном    + 1;
        НомКач                 = НомКач + 1;
        //
        КоличествоИтогСклад = КоличествоИтогСклад + Число(Формат(Стр.Количество, "ЧЦ=10; ЧДЦ=3"));
        СуммаИтогСклад      = СуммаИтогСклад      + Число(Формат(Стр.Сумма,      "ЧЦ=10; ЧДЦ=2"));
        //
        КоличествоИтогК     = КоличествоИтогК + Число(Формат(Стр.Количество, "ЧЦ=10; ЧДЦ=3"));
        СуммаИтогК          = СуммаИтогК      + Число(Формат(Стр.Сумма,      "ЧЦ=10; ЧДЦ=2"));
        //
        СкладГр                = Стр.Склад;
        КачествоГр             = Стр.Качество;
        //
    КонецЦикла;
    //
    // ВЫВОД ОБЛАСТИ ИТОГИ К ->>
    //
    ЭлементыФормы.ТабРезультат.Вывести(ОбластьИтогиК1,1,"КАЧЕСТВО",Истина);    
    Если Качество.Количество() = 1 Тогда
        //
    Иначе
        ЭлементыФормы.ТабРезультат.Присоединить(ОбластьИтогиК2,,,);    
    КонецЕсли;
    ЭлементыФормы.ТабРезультат.Присоединить(ОбластьИтогиК3,,,);    
    ЭлементыФормы.ТабРезультат.Присоединить(ОбластьИтогиК4,,,);    
    ЭлементыФормы.ТабРезультат.Присоединить(ОбластьИтогиК5,,,);    
    ОбластьИтогиК6.Параметры.КоличествоИтогК = Формат(КоличествоИтогК, "ЧЦ=10; ЧДЦ=3");
    ОбластьИтогиК7.Параметры.СуммаИтогК      = Формат(СуммаИтогК,       "ЧЦ=10; ЧДЦ=2");
    ЭлементыФормы.ТабРезультат.Присоединить(ОбластьИтогиК6,,,);    
    ЭлементыФормы.ТабРезультат.Присоединить(ОбластьИтогиК7,,,);    
    // <<- КОНЕЦ ВЫВОДА ОБЛАСТИ ИТОГОВ К
    // ВЫВОД ОБЛАСТИ ИТОГИ ->>
    ЭлементыФормы.ТабРезультат.Вывести(ОбластьИтоги1,1,"СКЛАД",Истина);    
    Если Качество.Количество() = 1 Тогда
        //
    Иначе
        ЭлементыФормы.ТабРезультат.Присоединить(ОбластьИтоги2,,,);    
    КонецЕсли;
    ЭлементыФормы.ТабРезультат.Присоединить(ОбластьИтоги3,,,);    
    ЭлементыФормы.ТабРезультат.Присоединить(ОбластьИтоги4,,,);    
    ЭлементыФормы.ТабРезультат.Присоединить(ОбластьИтоги5,,,);    
    ОбластьИтоги6.Параметры.КоличествоИтогСклад = Формат(КоличествоИтогСклад, "ЧЦ=10; ЧДЦ=3");
    ОбластьИтоги7.Параметры.СуммаИтогСклад      = Формат(СуммаИтогСклад,      "ЧЦ=10; ЧДЦ=2");
    ЭлементыФормы.ТабРезультат.Присоединить(ОбластьИтоги6,,,);    
    ЭлементыФормы.ТабРезультат.Присоединить(ОбластьИтоги7,,,);    
    // КОНЕЦ ВЫВОДА ОБЛАСТИ ИТОГИ <<-
    //
    ЭлементыФормы.ТабРезультат.ЗакончитьАвтоГруппировкуСтрок(); // ЗАВЕРШЕНИЕ АВТОГРУППИРОВКИ    
    //
    ЭлементыФормы.ТабРезультат.ТолькоПросмотр = Истина;
КонецПроцедуры
30 LivingStar
 
24.09.13
10:57
уровень не тот указал !

    Для Каждого Стр Из ТабЗнач Цикл
        //ЭлементыФормы.ТабРезультат.НачатьАвтоГруппировкуСтрок(); // НАЧАЛО АВТОГРУППИРОВКИ
        Если СкладГр <> Стр.Склад и СкладГр <> "" Тогда
            // ВЫВОД ИТОГОВ ПО ГРУППЕ КАЧЕСТВО ->>
            ЭлементыФормы.ТабРезультат.Вывести(ОбластьИтогиК1,2,"КАЧЕСТВО",Истина);    
            Если Качество.Количество() = 1 Тогда
                //
            Иначе
                ЭлементыФормы.ТабРезультат.Присоединить(ОбластьИтогиК2,,,);    
            КонецЕсли;
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьИтогиК3,,,);    
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьИтогиК4,,,);    
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьИтогиК5,,,);    
            ОбластьИтогиК6.Параметры.КоличествоИтогК = Формат(КоличествоИтогК, "ЧЦ=10; ЧДЦ=3");
            ОбластьИтогиК7.Параметры.СуммаИтогК      = Формат(СуммаИтогК,        "ЧЦ=10; ЧДЦ=2");
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьИтогиК6,,,);    
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьИтогиК7,,,);    
            // <<- КОНЕЦ ВЫВОД ИТОГОВ ПО ГРУППЕ КАЧЕСТВО
            //
            // ВЫВОД ИТОГОВ ПО ГРУППЕ СКЛАД ->>
            ЭлементыФормы.ТабРезультат.Вывести(ОбластьИтоги1,1,"СКЛАД",Истина);    
            Если Качество.Количество() = 1 Тогда
                //
            Иначе
                ЭлементыФормы.ТабРезультат.Присоединить(ОбластьИтоги2,,,);    
            КонецЕсли;
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьИтоги3,,,);    
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьИтоги4,,,);    
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьИтоги5,,,);    
            ОбластьИтоги6.Параметры.КоличествоИтогСклад = Формат(КоличествоИтогСклад, "ЧЦ=10; ЧДЦ=3");
            ОбластьИтоги7.Параметры.СуммаИтогСклад      = Формат(СуммаИтогСклад,       "ЧЦ=10; ЧДЦ=2");
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьИтоги6,,,);    
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьИтоги7,,,);    
            // <<- КОНЕЦ ВЫВОД ИТОГОВ ПО ГРУППЕ СКЛАД
            //
            ЭлементыФормы.ТабРезультат.ЗакончитьАвтоГруппировкуСтрок(); // ЗАВЕРШЕНИЕ АВТОГРУППИРОВКИ    
            //
            ЭлементыФормы.ТабРезультат.НачатьАвтоГруппировкуСтрок(); // НАЧАЛО АВТОГРУППИРОВКИ
            // ВЫВОД ГРУППЫ СКЛАД ->>
            ЭлементыФормы.ТабРезультат.Вывести(ОбластьГрСклад1,1,"СКЛАД",Истина);    
            Если Качество.Количество() = 1 Тогда
                //
            Иначе
                ЭлементыФормы.ТабРезультат.Присоединить(ОбластьГрСклад2,,,);    
            КонецЕсли;
            ОбластьГрСклад3.Параметры.НазваниеГруппы = Стр.Склад;             
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьГрСклад3,,,);    
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьГрСклад4,,,);    
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьГрСклад5,,,);    
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьГрСклад6,,,);    
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьГрСклад7,,,);    
            // <<- КОНЕЦ ВЫВОД ГРУППЫ СКЛАД
            Ном                 = 1;
            НомКач              = 1;
            КоличествоИтогСклад = 0;
            СуммаИтогСклад      = 0;
            //
            КоличествоИтогК     = 0;
            СуммаИтогК          = 0;
            //
            КачествоГр          = "";
        ИначеЕсли  СкладГр = "" Тогда
            ЭлементыФормы.ТабРезультат.НачатьАвтоГруппировкуСтрок(); // НАЧАЛО АВТОГРУППИРОВКИ
            // ВЫВОД ГРУППЫ СКЛАД ->>
            ЭлементыФормы.ТабРезультат.Вывести(ОбластьГрСклад1,1,"СКЛАД",Истина);    
            Если Качество.Количество() = 1 Тогда
                //
            Иначе
                ЭлементыФормы.ТабРезультат.Присоединить(ОбластьГрСклад2,,,);    
            КонецЕсли;
            ОбластьГрСклад3.Параметры.НазваниеГруппы = Стр.Склад;
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьГрСклад3,,,);    
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьГрСклад4,,,);    
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьГрСклад5,,,);    
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьГрСклад6,,,);    
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьГрСклад7,,,);    
            // <<- КОНЕЦ ВЫВОД ГРУППЫ СКЛАД
        КонецЕсли;
        Если КачествоГр <> Стр.Качество и КачествоГр <> "" Тогда
            // ВЫВОД ИТОГОВ ГРУППЫ К ->>
            //
            ЭлементыФормы.ТабРезультат.Вывести(ОбластьИтогиК1,2,"КАЧЕСТВО",Истина);    
            Если Качество.Количество() = 1 Тогда
                //
            Иначе
                ЭлементыФормы.ТабРезультат.Присоединить(ОбластьИтогиК2,,,);    
            КонецЕсли;
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьИтогиК3,,,);    
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьИтогиК4,,,);    
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьИтогиК5,,,);    
            ОбластьИтогиК6.Параметры.КоличествоИтогК = Формат(КоличествоИтогК, "ЧЦ=10; ЧДЦ=3");
            ОбластьИтогиК7.Параметры.СуммаИтогК      = Формат(СуммаИтогК,        "ЧЦ=10; ЧДЦ=2");
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьИтогиК6,,,);    
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьИтогиК7,,,);    
            // <<- КОНЕЦ ВЫВОД ИТОГОВ ГРУППЫ К
            // ВЫВОД ГРУППЫ КАЧЕСТВО ->>
            ЭлементыФормы.ТабРезультат.Вывести(ОбластьГрКач1,2,"КАЧЕСТВО",Истина);    
            Если Качество.Количество() = 1 Тогда
                //
            Иначе
                ЭлементыФормы.ТабРезультат.Присоединить(ОбластьГрКач2,,,);    
            КонецЕсли;
            ОбластьГрКач3.Параметры.НазваниеГруппы = Стр.Качество;
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьГрКач3,,,);    
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьГрКач4,,,);    
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьГрКач5,,,);    
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьГрКач6,,,);    
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьГрКач7,,,);    
            // <<- КОНЕЦ ВЫВОД ГРУППЫ КАЧЕСТВО
            НомКач             = 1;
            КоличествоИтогК = 0;
            СуммаИтогК      = 0;
        ИначеЕсли КачествоГр = "" Тогда
            // ВЫВОД ГРУППЫ КАЧЕСТВО ->>
            ЭлементыФормы.ТабРезультат.Вывести(ОбластьГрКач1,2,"КАЧЕСТВО",Истина);    
            Если Качество.Количество() = 1 Тогда
                //
            Иначе
                ЭлементыФормы.ТабРезультат.Присоединить(ОбластьГрКач2,,,);    
            КонецЕсли;
            ОбластьГрКач3.Параметры.НазваниеГруппы = Стр.Качество;
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьГрКач3,,,);    
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьГрКач4,,,);    
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьГрКач5,,,);    
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьГрКач6,,,);    
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьГрКач7,,,);    
            // <<- КОНЕЦ ВЫВОД ГРУППЫ КАЧЕСТВО
        КонецЕсли;
        //
        ОбластьСтроки1.Параметры.Ном          = Ном;
        ОбластьСтроки2.Параметры.НомКач       = НомКач;        
        ОбластьСтроки3.Параметры.Номенклатура = Стр.Номенклатура;
        ОбластьСтроки4.Параметры.Склад        = Стр.Склад;
        ОбластьСтроки5.Параметры.Качество     = Стр.Качество;
        //
        ЭлементыФормы.ТабРезультат.Вывести(ОбластьСтроки1,3,"СТРОКИ",Ложь);    
        Если Качество.Количество() = 1 Тогда
            //
        Иначе
            ЭлементыФормы.ТабРезультат.Присоединить(ОбластьСтроки2,,,);    
        КонецЕсли;
        ЭлементыФормы.ТабРезультат.Присоединить(ОбластьСтроки3,,,);    
        ЭлементыФормы.ТабРезультат.Присоединить(ОбластьСтроки4,,,);    
        ЭлементыФормы.ТабРезультат.Присоединить(ОбластьСтроки5,,,);    
        ОбластьСтроки6.Параметры.Количество = Формат(Стр.Количество, "ЧЦ=10; ЧДЦ=3");
        ОбластьСтроки7.Параметры.Сумма      = Формат(Стр.Сумма,       "ЧЦ=10; ЧДЦ=2");
        ЭлементыФормы.ТабРезультат.Присоединить(ОбластьСтроки6,,,);    
        ЭлементыФормы.ТабРезультат.Присоединить(ОбластьСтроки7,,,);    
        //
        Ном                    = Ном    + 1;
        НомКач                 = НомКач + 1;
        //
        КоличествоИтогСклад = КоличествоИтогСклад + Число(Формат(Стр.Количество, "ЧЦ=10; ЧДЦ=3"));
        СуммаИтогСклад      = СуммаИтогСклад      + Число(Формат(Стр.Сумма,      "ЧЦ=10; ЧДЦ=2"));
        //
        КоличествоИтогК     = КоличествоИтогК + Число(Формат(Стр.Количество, "ЧЦ=10; ЧДЦ=3"));
        СуммаИтогК          = СуммаИтогК      + Число(Формат(Стр.Сумма,      "ЧЦ=10; ЧДЦ=2"));
        //
        СкладГр                = Стр.Склад;
        КачествоГр             = Стр.Качество;
        //
    КонецЦикла;
    //
    // ВЫВОД ОБЛАСТИ ИТОГИ К ->>
    //
    ЭлементыФормы.ТабРезультат.Вывести(ОбластьИтогиК1,2,"КАЧЕСТВО",Истина);    
    Если Качество.Количество() = 1 Тогда
        //
    Иначе
        ЭлементыФормы.ТабРезультат.Присоединить(ОбластьИтогиК2,,,);    
    КонецЕсли;
    ЭлементыФормы.ТабРезультат.Присоединить(ОбластьИтогиК3,,,);    
    ЭлементыФормы.ТабРезультат.Присоединить(ОбластьИтогиК4,,,);    
    ЭлементыФормы.ТабРезультат.Присоединить(ОбластьИтогиК5,,,);    
    ОбластьИтогиК6.Параметры.КоличествоИтогК = Формат(КоличествоИтогК, "ЧЦ=10; ЧДЦ=3");
    ОбластьИтогиК7.Параметры.СуммаИтогК      = Формат(СуммаИтогК,       "ЧЦ=10; ЧДЦ=2");
    ЭлементыФормы.ТабРезультат.Присоединить(ОбластьИтогиК6,,,);    
    ЭлементыФормы.ТабРезультат.Присоединить(ОбластьИтогиК7,,,);    
    // <<- КОНЕЦ ВЫВОДА ОБЛАСТИ ИТОГОВ К
    // ВЫВОД ОБЛАСТИ ИТОГИ ->>
    ЭлементыФормы.ТабРезультат.Вывести(ОбластьИтоги1,1,"СКЛАД",Истина);    
    Если Качество.Количество() = 1 Тогда
        //
    Иначе
        ЭлементыФормы.ТабРезультат.Присоединить(ОбластьИтоги2,,,);    
    КонецЕсли;
    ЭлементыФормы.ТабРезультат.Присоединить(ОбластьИтоги3,,,);    
    ЭлементыФормы.ТабРезультат.Присоединить(ОбластьИтоги4,,,);    
    ЭлементыФормы.ТабРезультат.Присоединить(ОбластьИтоги5,,,);    
    ОбластьИтоги6.Параметры.КоличествоИтогСклад = Формат(КоличествоИтогСклад, "ЧЦ=10; ЧДЦ=3");
    ОбластьИтоги7.Параметры.СуммаИтогСклад      = Формат(СуммаИтогСклад,      "ЧЦ=10; ЧДЦ=2");
    ЭлементыФормы.ТабРезультат.Присоединить(ОбластьИтоги6,,,);    
    ЭлементыФормы.ТабРезультат.Присоединить(ОбластьИтоги7,,,);    
    // КОНЕЦ ВЫВОДА ОБЛАСТИ ИТОГИ <<-
    //
    ЭлементыФормы.ТабРезультат.ЗакончитьАвтоГруппировкуСтрок(); // ЗАВЕРШЕНИЕ АВТОГРУППИРОВКИ    
    //
    ЭлементыФормы.ТабРезультат.ТолькоПросмотр = Истина;
КонецПроцедуры
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший