|
|
Вывод горизонтального разделителя в табличном документе |
☑ |
|
0
furen23
12.01.18
✎
12:53
|
Есть форма справочника, на форме расположен табличный документ.Нужно при установке курсора на определённую ячейку и при нажатии на кнопку на форме выводить после ячейки горизонтальный разделитель.
&НаКлиенте
Процедура ВставитьГоризонтальныйРазделитель(Команда)
ВставитьГоризонтальныйРазделительНаСервере(ТабДокПроектДокумента,ТабДокПроектДокумента.ТекущаяОбласть.Имя);
КонецПроцедуры
&НаСервере
Процедура ВставитьГоризонтальныйРазделительНаСервере(ТабДок,Ячейка)
ТабДок.ТекущаяОбласть = ТабДок.Область(Ячейка);
ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
КонецПроцедуры
вот что есть на данный момент,но не отрабатывает,видимо чего-то не хватает
|
|
|
1
Lexey_
12.01.18
✎
13:03
|
(0) тебе поможет:
ОбластьЯчеекТабличногоДокумента (SpreadsheetDocumentRange)
КонецСтраницы (PageBottom)
Использование:
Чтение и запись.
Описание:
Тип: Булево.
Признак того, что данная область находится последней на странице.
Истина - область является последней.
Доступность:
Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.
Примечание:
Применимо только для областей строк/колонок.
|
|
|
2
furen23
12.01.18
✎
13:25
|
(1) Поле объекта недоступно для записи
Область = ТабДок.ПолучитьОбласть(Ячейка);
Область.ТекущаяОбласть.КонецСтраницы = Истина;
|
|
|
3
Радим1987
12.01.18
✎
13:32
|
Область.Область(Ячейка).КонецСтраницы = Истина;
|
|
|
4
Радим1987
12.01.18
✎
13:32
|
ТабДок.Область(Ячейка).КонецСтраницы = Истина;
|
|
|
5
furen23
12.01.18
✎
13:40
|
(3) (4) ситуация та же
|
|
|
6
Радим1987
12.01.18
✎
13:44
|
Странно у меня все норм работает
|
|
|
7
Радим1987
12.01.18
✎
13:49
|
Попробуй вот так для примера ТабДок.Область(1,,4).КонецСтраницы = Истина;
|
|
|
8
furen23
12.01.18
✎
13:51
|
(7) Тоже недоступно, и почему то поле Значение недоступно для Чтения
|
|
|
9
Радим1987
12.01.18
✎
13:52
|
ТабличныйДокумент = Новый ТабличныйДокумент;
Данные = ПолучитьИзВременногоХранилища(АдресХранилища);
ИмяФайлаВременное = ПолучитьИмяВременногоФайла("mxl");
Данные.Записать(ИмяФайлаВременное);
ТабличныйДокумент.Прочитать(ИмяФайлаВременное);
Формулы.Очистить();
Для Итератор = 1 По Число(ТабличныйДокумент.Область(1,1,1,1).Текст) Цикл
ТекЛист = "Лист"+Итератор;
НовыйЛист = ЭтаФорма[ТекЛист];
НовыйЛист.Очистить();
//На случай если есть группировки в сохраненном табличном документе сначала выводим все а потом удаляем ненужные (По другому ни как)
НовыйЛист.Вывести(ТабличныйДокумент);
Если НовыйЛист.Область(ТекЛист).Верх > 1 Тогда
НовыйЛист.УдалитьОбласть(НовыйЛист.Область(1,,НовыйЛист.Область(ТекЛист).Верх-1),ТипСмещенияТабличногоДокумента.ПоВертикали);
КонецЕсли;
Если НовыйЛист.Область(ТекЛист).Низ <> НовыйЛист.ВысотаТаблицы Тогда
НовыйЛист.УдалитьОбласть(НовыйЛист.Область(НовыйЛист.Область(ТекЛист).Низ+1,,НовыйЛист.ВысотаТаблицы),ТипСмещенияТабличногоДокумента.ПоВертикали);
КонецЕсли;
НовыйЛист.Область(ТекЛист).КонецСтраницы = Ложь;
НовыйЛист.Область(ТекЛист).Имя = "";
Вот этот код работает у меня
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший