Имя: Пароль:
1C
1С v8
Вывод горизонтального разделителя в табличном документе
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,,НовыйЛист.ВысотаТаблицы),ТипСмещенияТабличногоДокумента.ПоВертикали);
        КонецЕсли;         
                
        НовыйЛист.Область(ТекЛист).КонецСтраницы = Ложь;
        НовыйЛист.Область(ТекЛист).Имя = "";



Вот этот код работает у меня