|
Как удалить ячейку шапки в отчете СКД? | ☑ | ||
---|---|---|---|---|
0
EvgeniuXP
10.04.13
✎
17:43
|
Как удалить ячейку шапки в отчете СКД? Убрал название, но оно теперь пустое.... не красиво как-то... целиком колонку не надо убирать, в деталях пусть отображает, а в шапке отчета нужно убрать.
|
|||
1
EvgeniuXP
10.04.13
✎
17:44
|
||||
2
SherifSP
10.04.13
✎
17:49
|
(0) Не уберешь в таком случае делай с помощью макета скд
|
|||
3
EvgeniuXP
10.04.13
✎
17:51
|
(2) а объединить? адреса ячеек знаю
|
|||
4
SherifSP
10.04.13
✎
18:08
|
(3) Ну сейчас кину код
|
|||
5
SherifSP
10.04.13
✎
18:11
|
Процедура ОбновитьОтчет() Экспорт
ПолеВводаПериодПриИзменении(ЭтаФорма.ЭлементыФормы.Результат); ЭтаФорма.ЭлементыФормы.Результат.АвтоМасштаб = Истина; СформироватьОтчет(ЭтаФорма.ЭлементыФормы.Результат, ЭтаФорма.ДанныеРасшифровки); //ОбработатьЗаголовки(ЭтаФорма.ЭлементыФормы.Результат); РазбитьТабличныйДокументПоСтраницам(ЭтаФорма.ЭлементыФормы.Результат); КонецПроцедуры // Проверка двух смежных ячеек на идентичночность Функция ОбъединятьЯчейки(ТабДок, индСтр, индКол) Ячейка = ТабДок.Область(индСтр, индКол); ЯчейкаСлед = ТабДок.Область(индСтр, индКол+1); Если ПустаяСтрока(Ячейка.Текст) Тогда Возврат ложь ИначеЕсли //Проверяем на соответствие заголовка Ячейка.Текст = ЯчейкаСлед.Текст // Проверяем на соответствие имени (отсеиваем уже объединенные ячейки) и Ячейка.Имя = "R"+индСтр+"C"+индКол Тогда Возврат Истина; Иначе Возврат ложь КонецЕсли; КонецФункции // Разбивает табличный документ по страницам // // Параметры: // ТабличныйДокумент - ссылка на табличный документ. // Процедура РазбитьТабличныйДокументПоСтраницам(ТабличныйДокумент) Состояние(НСТР("ru='Разделение расчетных листков по страницам ... (Если вы хотите прервать вывод отчета, нажмите Ctrl+Break)'")); ТабличныйДокументДляПроверки = Новый ТабличныйДокумент; ТабличныйДокументДляПроверки.Очистить(); ТабличныйДокументДляПроверки.АвтоМасштаб = Истина; ОбластьПервойЯчейки = ТабличныйДокумент.НайтиТекст("пункт, підпр"); Если ОбластьПервойЯчейки = Неопределено тогда Возврат; КонецЕсли; ОбластьСлед = ТабличныйДокумент.Область(ОбластьПервойЯчейки.Верх, , ОбластьПервойЯчейки.Верх, ); ОбластьПервойЯчейки = ТабличныйДокумент.НайтиТекст("пункт, підпр", ОбластьСлед); Пока ОбластьПервойЯчейки <> Неопределено Цикл ОбластьСлед = ТабличныйДокумент.Область(ОбластьПервойЯчейки.Верх, , ОбластьПервойЯчейки.Верх, ); НомерСтрокиКонцаРЛ = ОбластьПервойЯчейки.Верх-2; ТабличныйДокумент.Область(НомерСтрокиКонцаРЛ, , НомерСтрокиКонцаРЛ,).НачалоСтраницы = истина; ТабличныйДокументДляПроверки.Очистить(); ОбластьПервойЯчейки = ТабличныйДокумент.НайтиТекст("пункт, підпр", ОбластьСлед); ОбработкаПрерыванияПользователя(); КонецЦикла; КонецПроцедуры |
|||
6
SherifSP
10.04.13
✎
18:14
|
// Обработка заголовков таблицы
// // Параметры // Табл - < Тип.ТабличныйДокумент> - Табличный документ формы Процедура ОбработатьЗаголовки(ТабДок) Экспорт ОбъединяемаяОбласть = Неопределено; //Для оптимизации здесь нужно будет ограничить высоту таблицы Для индСтр=1 По ТабДок.ВысотаТаблицы Цикл НачальнаяКолонка = 0; Для индКол=1 По ТабДок.ШиринаТаблицы Цикл // определяем начало объединения Если ОбъединятьЯчейки(ТабДок, индСтр, индКол) Тогда Если не НачальнаяКолонка Тогда НачальнаяКолонка = индКол; КонецЕсли; ИначеЕсли НачальнаяКолонка Тогда // завершаем объединение ТекстЗаголовка = ТабДок.Область(индСтр, индКол).Текст; ОбъединяемаяОбласть = ТабДок.Область(индСтр, НачальнаяКолонка, индСтр, индКол); ОбъединяемаяОбласть.Объединить(); ОбъединяемаяОбласть.ГоризонтальноеПоложение = ГоризонтальноеПоложение.Центр; ОбъединяемаяОбласть.Текст = ТекстЗаголовка; НачальнаяКолонка = 0; Иначе НачальнаяКолонка = 0; КонецЕсли; КонецЦикла; // Если нашли в строке области для объединения, то прекращаем дальнейшие поиски //Если не ОбъединяемаяОбласть = Неопределено Тогда // возврат; //КонецЕсли; КонецЦикла; КонецПроцедуры |
|||
7
EvgeniuXP
10.04.13
✎
18:21
|
(5)
Область = ТабДок.Область(2,2,3,3); Область.Объединить(); и всё :) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |