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+ Если сделать реквизит формы с типом ТабличныйДокумент, то и заполнить его можно прямо НаСервере и приедет он наКлиент вместе с формой
|
|