Имя: Пароль:
1C
1C 7.7
v7: Вывод в табличку
0 СовсемЗеленый
 
13.08.11
21:59
Добрый день, господа

необходимо сделать табличку, которая покажет данные о документах за период(просто накидал для примера). Загвоздка в том, что если вывести все столбцы, то можно их заключить в горизонтальную секцию, но если я хочу вывести не все столбцы (выбирается флажком на форме), то не получается. Пробывал играться с вертикальными секциями... не получилось
          [ДатаДок      ][СинонимДок     ][ЖурналДок]
[шапка]    |ДатаДок      |НаименованиеДока|ЖурналДока|
          -------------------------------------------
[секция_1] |<Док.ДатаДок>|<ИД>            |<Жур>     |

код:

Процедура Сформировать()
// проверяем дату на заполненость
 Если ПроверкаДаты(НачДата,КонДата)=0 Тогда
      Возврат;
 КонецЕсли;
// создаем табличную часть
 Таб = СоздатьОбъект("Таблица");
 Таб.ИсходнаяТаблица("Таблица");
// выводим список документов в табличную часть
 Док = СоздатьОбъект("Документ");    
 Если ПокДатуДок=1 Тогда
      Таб.ВывестиСекцию("ДатаДок");        
 КонецЕсли;    
 Если ПокНаимДок=1 Тогда
      Таб.ВывестиСекцию("СинонимДок");
 КонецЕсли;        
 Если ПокЖурДок=1 Тогда    
      Таб.ВывестиСекцию("ЖурналДок");
 КонецЕсли;
 Если Док.ВыбратьДокументы(НачДата,КонДата)=1 Тогда
      Пока Док.ПолучитьДокумент()=1 Цикл
           Таб.ВывестиСекцию("секция_1");
           Если ПокНаимДок=1 Тогда
ИД=?(ПустоеЗначение(Метаданные.Документ(Док.Вид()).Синоним)=1,Метаданные.Документ(Док.Вид()).Идентификатор,Метаданные.Документ(Док.Вид()).Синоним);
           КонецЕсли;        
       Если ПокЖурДок=1 Тогда
Жур=?(Метаданные.Документ(Док.Вид()).Журнал="Метаданные","Общий",Метаданные.Документ(Док.Вид()).Журнал);
       КонецЕсли;
   Таб.ВывестиСекцию("Итого");
   Таб.Показать();
   Таб.ТолькоПросмотр(1);    
КонецЦикла;        
   Иначе
       Предупреждение("Нет ни одного документа за указанный период");
       Возврат;
   КонецЕсли;
   Таб.ВывестиСекцию("Итого");
   Таб.Показать();
   Таб.ТолькоПросмотр(1);    
КонецПроцедуры
1 Rie
 
13.08.11
22:08
(0) А что не получилось-то?

Таб.ВывестиСекцию("Шапка|ДатаДок");
Если ПокНаимДок=1 Тогда
  Таб.ПрисоединитьСекцию("Шапка|СинонимДок");
КонецЕсли;
Если ПокЖурДок=1 Тогда
   Таб.ПрисоединитьСекцию("Шапка|ЖурналДок");
КонецЕсли;

и аналогично - в цикле.
2 СовсемЗеленый
 
13.08.11
22:09
блин, спасибо. Ударьте меня кто-нить, чем-нить тяжелым((((
3 Креатив
 
13.08.11
22:11
(2)Тогда ты совсем синим станешь.
4 СовсемЗеленый
 
13.08.11
22:23
(1)
кстате, Rie.
вот так:
Таб.ВывестиСекцию("Шапка|ДатаДок");
Если ПокНаимДок=1 Тогда
  Таб.ПрисоединитьСекцию("Шапка|СинонимДок");
КонецЕсли;
Если ПокЖурДок=1 Тогда
   Таб.ПрисоединитьСекцию("Шапка|ЖурналДок");
КонецЕсли;

шапка выходит не так  
|ДатаДок      |НаименованиеДока|ЖурналДока|

а вот так:

|ДатаДок      |
|НаименованиеДока|
|ЖурналДока|
5 СовсемЗеленый
 
13.08.11
22:26
разобрался
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn