Избавляемся от горизонтальной полосы прокрутки в табличном поле

28.08.10

Разработка - Работа с интерфейсом

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

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

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

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

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

КонецПроцедуры // ЛксСжатьКолонкиТабличногоПоля()

См. также

Управление дашбордами

Работа с интерфейсом Программист Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Обработка предназначена для создания и управления дашбордами.

2400 руб.

29.06.2020    17208    23    4    

37

Новогоднее оформление для 1С

Работа с интерфейсом Платформа 1С v8.3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 Бесплатно (free)

Добавьте новогоднего настроения! Расширение создает декорацию в виде гирлянды на некоторых формах объектов.

27.12.2023    11699    776    elcoan    47    

108

Конструктор HTML, CSS и javascript

Инструментарий разработчика Работа с интерфейсом Программист Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Подходит для создания web-страниц для замены управляемых форм 1С, красивых отчетов, интерфейса мобильного приложения на платформе 1С и для простых страниц веб-сайтов.

2 стартмани

10.04.2023    10222    157    acces969    31    

120

Модель состояния для MVC

Работа с интерфейсом Программист Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

"MVC плохо применима в 1С" - познакомьтесь с моделью состояния и, возможно, ваше мнение поменяется! Представленное решение является эволюционным развитием идеи реализации MVC для 1С. В новой версии добавлены DSL для описания модели состояния, а также параметризация свойств параметров и элементов формы.

1 стартмани

05.07.2022    4218    kalyaka    4    

31

Условное оформление элементов форм в пользовательском режиме 1С (управление видимостью и доступностью элементов форм)

Работа с интерфейсом Платформа 1С v8.3 Платные (руб)

Подсистема условного оформления элементов форм (далее подсистема) предназначена для настройки оформления элементов форм (видимость, доступность, цвет фона, цвет текста и прочее) в пользовательском режиме 1С. Также подсистему возможно использовать для ограничения доступа к реквизитам формы для определенных пользователей (или групп пользователей).

6000 руб.

18.01.2022    9114    1    2    

6

Программный интерфейс для доработки форм

Работа с интерфейсом Программист Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Реализовал простой способ программного создания новых элементов, команд и реквизитов на форме.

25.11.2021    10033    AtamanovYS    19    

142
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. redgad 80 01.06.09 08:03 Сейчас в теме
а можно так:

ЭлементыФормы.ТабличноеПоле.ГоризонтальнаяПолосаПрокрутки = ИспользованиеПолосыПрокрутки.НеИспользовать;
sasha777666; adhocprog; siliconvalet; +3 Ответить
5. tormozit 7168 01.06.09 09:39 Сейчас в теме
(1) Имелось ввиду не просто избавиться от полосы прокрутки, а избавиться от ее отображения в автоматическом режиме. Иначе говоря втиснуть все колонки в текущую ширину.
2. Fuego 463 01.06.09 09:00 Сейчас в теме
а по-моему ширина колонки при значении 0 - это автоширина, при которой ширина колонки составляет 9, а не 10. И "антибагом" зря обозвал. :)
4. tormozit 7168 01.06.09 09:34 Сейчас в теме
(2) Прошу тогда продемонстрировать, как ее можно задать интерактивно. Ни в конфигураторе, ни в предприятии мне не дают установить ширину в 0.
3. Stepa86 1525 01.06.09 09:02 Сейчас в теме
(0) я б добавил в начало процедуры

Если Сжатие = 0 Тогда
Сжатие = (СуммаШиринВсехКолонок + 1)/ТабличноеПоле.Ширина;
КонецЕсли;

и Сжатие - по умолчанию 0
6. v_id 106 05.06.09 08:19 Сейчас в теме
(0) В идеале хотелось бы автоподбор ширины по содержимому колонки, с ограничением максимальной длины. Много хочу? :)
7. tormozit 7168 05.06.09 09:23 Сейчас в теме
(6) Это совсем другая задача. Пока она передо мной не вставала.
8. v_id 106 05.06.09 09:30 Сейчас в теме
(7) Просто мне автоподбор ширины в рамках темы статьи кажется более оптимальным и красивым решением, имхо конечно.
9. Seraph 07.12.09 17:31 Сейчас в теме
Сделал автоподбор, вроде работает, но экстенсив тестинг ещё не проводил.
Цепляется как внешняя обработка табличной части документа.
Для Предприятие 8.2
Прикрепленные файлы:
АвтоподборШирины.epf
10. Stas-ch 35 04.10.10 16:49 Сейчас в теме
А зачем в шапке написали:
"Алгоритм для 1С: Предприятие 8.1; 1С: Предприятие 8.2" ??? :o
Процедура там работать не будет! только в 1С Предприятие 8.1!!!
11. tormozit 7168 04.10.10 17:17 Сейчас в теме
(10) Видимо ты пытался применить этот код для управляемой формы.
Если написано 8.1 и 8.2, то очень вероятно, что в управляемом режиме работать не будет, т.к. его нет в 8.1. В обычных формах 8.2 алгоритм точно работает.
12. almas 254 06.08.11 20:30 Сейчас в теме
Привет. С управляемым еще не работал? Можешь написать код для управляемой формы?
13. kiruha 388 12.08.13 12:35 Сейчас в теме
А не лучше - когда пользователь сам разок настроит под себя - а далее платформа запомнит ?
14. MrFlanker 226 27.12.13 17:05 Сейчас в теме
Как избавится от горизонтальной прокрутки табличной части в управляемых формах ?
15. b-dm 171 07.08.17 16:48 Сейчас в теме
Попробую поэксперементировать на досуге.
16. user1466241 25.05.23 13:19 Сейчас в теме
Как вариант - выставить важность при отображении
Оставьте свое сообщение