Имя: Пароль:
1C
1C 7.7
v7: Отключение вывода секции
0 Новичёк123123
 
28.07.11
12:02
Добрый день) Наверное очень глупый вопрос, но никак не могу найти ответа( Как отключить вывод вертикальной секции таблицы?
1 Ёпрст
 
28.07.11
12:04
просто не выводи её при формировании.
2 Ёпрст
 
28.07.11
12:05
если очень приспичило после вывода. то штатно - только перерисовка всей таблицы целиком, не штатно - Йоксель умеет скрыват/показывать столбцы/строки.
3 Новичёк123123
 
28.07.11
12:05
не вывожу все равно выводится(
4 Попытка1С
 
28.07.11
12:06
Ищи ВывестиСекцию
5 Ёпрст
 
28.07.11
12:07
(3) ну показывай, как ты её не выводишь.
6 Новичёк123123
 
28.07.11
12:11
она и не выводится програмно:

Процедура ОтчетПоАкциям()
   Если фл_ВывПоТов=1 Тогда
       Запрос=СоздатьОбъект("Запрос");
       ТекстЗапроса ="
       |Период с Дата1 по Дата2;
       |Товар = Регистр.РезервыПоАкциям.Товар;
       |Количество = Регистр.РезервыПоАкциям.Количество;
       |Функция КоличествоКонОст=КонОст(Количество);
       |Счет = Регистр.РезервыПоАкциям.Ссылка;  
       |Контрагент=Регистр.РезервыПоАкциям.Контрагент;
       |Склад= Регистр.РезервыПоАкциям.Склад;
       |Группировка Товар;  
       |Условие (сред(Счет.НомерДок,4,1)=""А"");
       |";
                   
       Если Запрос.Выполнить(ТекстЗапроса)=0 Тогда
              Возврат
       КонецЕсли;
       Таб=СоздатьОбъект ("Таблица");
       Таб.ИсходнаяТаблица("АкцииПоТоварам");
       Таб.ВывестиСекцию ("Заголовок");
       Пока Запрос.Группировка("Товар")=1 Цикл
           Если Запрос.Товар.ЭтоГруппа()=1 Тогда
           Иначе Таб.ВывестиСекцию ("Товар");
           КонецЕсли;
       КонецЦикла;  
       Таб.ТолькоПросмотр(1);
       Таб.Показать("Резерв товаров");
   ИначеЕсли фл_ГрупПоСчет=1 Тогда
       Запрос=СоздатьОбъект("Запрос");
       ТекстЗапроса ="
       |Период с Дата1 по Дата2;
       |Товар = Регистр.РезервыПоАкциям.Товар;
       |Количество = Регистр.РезервыПоАкциям.Количество;
       |Функция КоличествоКонОст=КонОст(Количество);
       |Счет = Регистр.РезервыПоАкциям.Ссылка;  
       |Контрагент=Регистр.РезервыПоАкциям.Контрагент;
       |Склад= Регистр.РезервыПоАкциям.Склад;
       |Группировка Счет;
       |Группировка Товар;
       |Условие (сред(Счет.НомерДок,4,1)=""А"");
       |";
                     
       Если Запрос.Выполнить(ТекстЗапроса)=0 Тогда
              Возврат
       КонецЕсли;
       Таб=СоздатьОбъект ("Таблица");
       Таб.ИсходнаяТаблица("АкцииПоТоварам");
       Таб.ВывестиСекцию ("Заголовок");
       Пока Запрос.Группировка(1)=1 Цикл
           СчетВЯчейке=СоздатьОбъект ("Документ.Счет");
           СчетВЯчейке=Запрос.Счет;
           Таб.ВывестиСекцию ("Счет");
           Пока Запрос.Группировка(2)=1 Цикл
               Если Запрос.Товар.ЭтоГруппа()=1 Тогда
               Иначе Таб.ВывестиСекцию("Товар");
               КонецЕсли;
           КонецЦикла;
       КонецЦикла;  
       Таб.ТолькоПросмотр(1);
       Таб.Показать("Резерв товаров");
   ИначеЕсли фл_ГруппПоСклад=1 Тогда
        Запрос=СоздатьОбъект("Запрос");
       ТекстЗапроса ="
       |Период с Дата1 по Дата2;
       |Товар = Регистр.РезервыПоАкциям.Товар;
       |Количество = Регистр.РезервыПоАкциям.Количество;
       |Функция КоличествоКонОст=КонОст(Количество);
       |Счет = Регистр.РезервыПоАкциям.Ссылка;  
       |Контрагент=Регистр.РезервыПоАкциям.Контрагент;
       |Склад= Регистр.РезервыПоАкциям.Склад;
       |Группировка Склад;
       |Группировка Товар;
       |Условие (сред(Счет.НомерДок,4,1)=""А"");
       |";
                     
       Если Запрос.Выполнить(ТекстЗапроса)=0 Тогда
              Возврат
       КонецЕсли;
       Таб=СоздатьОбъект ("Таблица");
       Таб.ИсходнаяТаблица("АкцииПоТоварам");
       Таб.ВывестиСекцию ("Заголовок");
       Пока Запрос.Группировка(1)=1 Цикл
           Таб.ВывестиСекцию ("Склад");
           Пока Запрос.Группировка(2)=1 Цикл
               Если Запрос.Товар.ЭтоГруппа()=1 Тогда
               Иначе Таб.ВывестиСекцию("Товар");
               КонецЕсли;
           КонецЦикла;
       КонецЦикла;  
       Таб.ТолькоПросмотр(1);
       Таб.Показать("Резерв товаров");
   ИначеЕсли фл_ГрупПоКонтр=1 Тогда
        Запрос=СоздатьОбъект("Запрос");
       ТекстЗапроса ="
       |Период с Дата1 по Дата2;
       |Товар = Регистр.РезервыПоАкциям.Товар;
       |Количество = Регистр.РезервыПоАкциям.Количество;
       |Функция КоличествоКонОст=КонОст(Количество);
       |Счет = Регистр.РезервыПоАкциям.Ссылка;  
       |Контрагент=Регистр.РезервыПоАкциям.Контрагент;
       |Склад= Регистр.РезервыПоАкциям.Склад;
       |Группировка Контрагент;
       |Группировка Товар;
       |Условие (сред(Счет.НомерДок,4,1)=""А"");
       |";
                     
       Если Запрос.Выполнить(ТекстЗапроса)=0 Тогда
              Возврат
       КонецЕсли;
       Таб=СоздатьОбъект ("Таблица");
       Таб.ИсходнаяТаблица("АкцииПоТоварам");
       Таб.ВывестиСекцию ("Заголовок");
       Пока Запрос.Группировка(1)=1 Цикл
           Если Запрос.Контрагент.ЭтоГруппа()=1 Тогда
           Иначе
           Таб.ВывестиСекцию ("Контрагент");
           КонецЕсли;
           Пока Запрос.Группировка(2)=1 Цикл
               Если Запрос.Товар.ЭтоГруппа()=1 Тогда
               Иначе Таб.ВывестиСекцию("Товар");
               КонецЕсли;
           КонецЦикла;
   КонецЦикла;
       Таб.ТолькоПросмотр(1);
       Таб.Показать("Резерв товаров");
   КонецЕсли;  
КонецПроцедуры

http://saveimg.ru/show-image.php?id=2138f01a0ac798d4c544f193bc2ff191
7 vicof
 
28.07.11
12:11
пятнично.
8 Новичёк123123
 
28.07.11
12:12
пятнично?
9 Новичёк123123
 
28.07.11
12:13
10 Новичёк123123
 
28.07.11
12:14
11 Новичёк123123
 
28.07.11
12:14
Вот последняя ссылка работает
12 vicof
 
28.07.11
12:14
телепатирую.
Нужно написать Таб.ВывестиСекцию("Товар|ВертикальнаяСекция")
13 vicof
 
28.07.11
12:14
(8) потом поймешь
14 vicof
 
28.07.11
12:15
(8) можно было 1 цикл сделать, а в нем условия. Кода вышло бы в 3 раза меньше
15 Ёпрст
 
28.07.11
12:15
(6)

Таб.ВывестиСекцию("Товар"); //тут ты выводишь горизонтальную секцию ЦЕЛИКОМ ...

если напишешь так:

Таб.ВывестиСекцию("Товар|КолонкаСклад"); - то выведешь только пересечение горизонтальной секции Товар и вертикальной КолонкаСклад...

Фирштейн ?
16 ado
 
28.07.11
12:16
Загони ВСЕ столбцы таблицы в вертикальные секции и указывай их явно при выводе.
17 Новичёк123123
 
28.07.11
12:18
ага терь понял спасибо) большое)
18 Новичёк123123
 
28.07.11
12:32
а если мы хотим вывести только первый и второй столбец нужно писать

таб.вывестисекцию ("Товар|Колонка№1");
таб.вывестисекцию ("Товар|Колонка№2");

или есть получше варианты?
19 Попытка1С
 
28.07.11
12:35
присоеденитьсекцию
20 Ёпрст
 
28.07.11
12:36
(18) нет, нужно писать
таб.ВывестиСекцию ("Товар|Колонка№1");
таб.ПрисоединитьСекцию("Товар|Колонка№2");

или

таб.ВывестиСекцию ("Товар|ОбщаяВертикальнаяСекцияНаНужныеКолонки");
21 Новичёк123123
 
28.07.11
12:37
аааа терь точно понял спасибо)