Имя: Пароль:
1C
1С v8
УФ. Вывод табличного документа на форму
0 Wefast
 
21.12.16
11:24
Есть таблица значений которую я хочу вывести на форму.

Я ее вывожу, но мой табличный документ будто поверх табличного поля выведен. Т.е. все ячейки вне выведеной области имеют свою ширину.

А главное полоса прокрутки по горизонтали не распространяется на мой выведенный табличный документ

&НаКлиенте
Процедура Выгрузить(Команда)
    АдресКПостроителю = Постр();
    
    ТабДок = ПолучитьИзВременногоХранилища(АдресКПостроителю);

    ТабДок.ОтображатьСетку =ЛОЖЬ;
    Линия = Новый Линия(ТипЛинииЯчейкиТабличногоДокумента.Сплошная,1);
    ТабДок.ФиксацияСверху = 1;
    Для Н =2 по ТабДок.ВысотаТаблицы-2 Цикл
        ТабДок.Область("R"+Н+"C2:R"+Н+"C29").Обвести(Линия,Линия,Линия,Линия);
    КонецЦикла;
    ТабДок.Область("R4C2").ШиринаКолонки = 50;
    ТабДок.Область("R4C2").ШиринаКолонки = 50;

    ТабДок.Показать();
КонецПроцедуры
&НаСервере
Функция Постр()
    
    ТЗ = Объект.ВремТЗ.Выгрузить();
    Построитель=Новый ПостроительОтчета();
    Построитель.ИсточникДанных=Новый ОписаниеИсточникаДанных(ТЗ);
    
    Т = Новый ТабличныйДокумент;
    Построитель.Вывести(Т);
    Область = Т.Область("R1:R3");
    Т.УдалитьОбласть(Т.Область("C3"),ТипСмещенияТабличногоДокумента.ПоГоризонтали);
    Т.УдалитьОбласть(Область,ТипСмещенияТабличногоДокумента.ПоВертикали);
    
    Возврат ПоместитьВоВременноеХранилище(Т, Новый УникальныйИдентификатор);
КонецФункции
1 Alexandr_U1982
 
21.12.16
13:11
Ты создаешь новый табличный документ, а затем его показываешь - "ТабДок.Показать()".
Нужно у формы создать реквизит с типом "ТабличныйДокумент" и работать с ним.

Вместо "ТабДок.Показать()" нужно вывести твой созданный табличный документ в реквизит формы с типом "ТабличныйДокумент":
РеквизитФормы_ТабличныйДокумент.Очистить();
РеквизитФормы_ТабличныйДокумент.Вывести(ТабДок);
2 Fedor-1971
 
21.12.16
13:20
(0) не надо пихать табличный документ во временное хранилище, просто возвращай его НаКлиент.

1+ Если сделать реквизит формы с типом ТабличныйДокумент, то и заполнить его можно прямо НаСервере и приедет он наКлиент вместе с формой
Основная теорема систематики: Новые системы плодят новые проблемы.