1С ширина колонки табличной части

1С ширина колонки табличной части

Процедура, которая "примерно" делает автоширину колонок (навроде, как если бы выделить все колонки и дважды щелкнуть мышкой по границе заголовка колонки). Привожу текст, работает неахти, но лучше чем ничего:
Код 1C v 8.х

Очень полезная штука при условии, что у Вас заранее невозможно определить размер итоговых колонок в печатной форме. А так, надо просто "натравить" процедуру с соответствующими параметрами на нужные ячейки таблицы, и они сами "выровняются" и приобретут необходимый размер (ширину).

четверг, 30 марта 2017 г.

Табличный Документ. Разная ширина колонки в строках

Когда нужно в макете (табличном документе) изменить ширину колонки для конкретных строк:
1. Выделить всю строку (строки). Именно всю, фокус для выделенной области не работает.
2. Нажимаем и не отпускает Ctrl
3. С помощью мыши изменяют ширину любой из колонок — будет задан вопрос об создании нового формата строк — соглашаемся.

Как же прекрасен мир, где для модификаций не достаточно просто использовать контекстное меню и диалог редактора свойств, где нужно знать заветные слова и таинства танца. 90ые, моё почтение.

Программно, тоже самое, можно сделать через

ТабДок = Новый ТабличныйДокумент();
ТабДок.Область(1,,1,).СоздатьФорматСтрок();
ТабДок.Область(1,1).ШиринаКолонок = 70;
ТабДок.Область(1,2).ШиринаКолонок = 30;
ТабДок.Область(2,,2,).СоздатьФорматСтрок();
ТабДок.Область(2,1).ШиринаКолонок = 30;
ТабДок.Область(2,2).ШиринаКолонок = 70;
ТабДок.Показать();

Штатными средствами пользователю довольно тяжело избавиться от горизонтальной полосы прокрутки. Приведенная процедура позволит в большинстве случаев одним нажатием уместить все колонки в текущую ширину табличного поля.

Добавьте в командную панель для нужного табличного поля кнопку, которая будет вызывать данную процедуру. Пример можно посмотреть в консоли запросов в табличном поле результата //expert.chistov.pro/projects/1274/

// Пропорционально сжимает ширины колонок табличного поля.
//
// Параметры:
// ТабличноеПоле – ТабличноеПоле;
// Сжатие – Число, *2 – коэффициент сжатия;
// УважатьЗапретИзмененияРазмера – Булево, *Истина – не сжимать колонки с запретом изменения размера;
//
Процедура ЛксСжатьКолонкиТабличногоПоля(ТабличноеПоле, Сжатие = 2, УважатьЗапретИзмененияРазмера = Истина) Экспорт

Читайте также:  Госуслуги якутск официальный сайт личный кабинет

МассивКолонокДляОбработки = Новый Массив;
Для Каждого Колонка Из ТабличноеПоле.Колонки Цикл
Ширина = Колонка.Ширина;
Если Ширина = 0 Тогда
// Антибаг платформы.
Ширина = 10;
КонецЕсли;
Если Ложь
Или Не УважатьЗапретИзмененияРазмера
Или Колонка.ИзменениеРазмера = ИзменениеРазмераКолонки.Изменять
Тогда
НоваяШирина = Ширина / Сжатие;
НоваяШирина = Макс(НоваяШирина, 1);
Колонка.Ширина = НоваяШирина;
КонецЕсли;
КонецЦикла;

Ссылка на основную публикацию
Adblock detector