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

28.08.10

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

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

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

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

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

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

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

См. также

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

Механизм «Динамическое управление доступом к элементам форм объектов 1С8» предназначен для обеспечения возможности оперативного управления видимостью и доступностью элементов форм документов и справочников продуктов фирмы «1С» «1С:Предприятие 8». Решение универсальное, встраивается в любую конфигурацию с минимальными доработками, что позволяет без проблем обновлять типовые решения.

5000 руб.

14.01.2016    55314    17    23    

43

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

Богатый редактор картинок 1С предназначен для обработки изображений в режиме «Предприятие», с возможностью РИСОВАТЬ на них. Поддерживается работа как в обычных формах (толстый клиент) так и на управляемых формах (тонкий клиент). Обработка позволяет редактировать как картинки, хранимые в базе, так и графические файлы с диска на файловой системе. Помимо базовых функций (изменение размеров, преобразование формата, обрезание картинки, повороты и т.п.) – редактор имеет богатый набор инструментов для рисования. Доступна функция вставки изображения из буфера обмена. Объект может быть использован: на стороне клиента, на стороне сервера, из внешнего соединения. Обработка будет особенно полезна тем, кто вносит картинки в базу (изображения номенклатуры, фотографии физических лиц и т.п.). Функционал реализуется с использованием JavaScript и бесплатного ПО ImageMagick (без использования внешних компонент).

6000 руб.

16.01.2015    63712    44    59    

82

Работа с интерфейсом Программист Платформа 1С v8.3 Конфигурации 1cv8 1С:ERP Управление предприятием 2 Платные (руб)

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

2400 руб.

29.06.2020    19560    27    6    

42

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

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

1500 руб.

06.10.2020    10779    7    7    

11

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

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

20.08.2024    20901    mrXoxot    44    

128

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

Пример простого и симпатичного прогресс-бара в динамическом списке, без картинок, используя редактирование запроса.

27.05.2024    10366    smielka    37    

105

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

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

27.12.2023    17762    1223    elcoan    53    

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

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

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

и Сжатие - по умолчанию 0
6. v_id 106 05.06.09 08:19 Сейчас в теме
(0) В идеале хотелось бы автоподбор ширины по содержимому колонки, с ограничением максимальной длины. Много хочу? :)
7. tormozit 7245 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 7245 04.10.10 17:17 Сейчас в теме
(10) Видимо ты пытался применить этот код для управляемой формы.
Если написано 8.1 и 8.2, то очень вероятно, что в управляемом режиме работать не будет, т.к. его нет в 8.1. В обычных формах 8.2 алгоритм точно работает.
12. almas 258 06.08.11 20:30 Сейчас в теме
Привет. С управляемым еще не работал? Можешь написать код для управляемой формы?
13. kiruha 388 12.08.13 12:35 Сейчас в теме
А не лучше - когда пользователь сам разок настроит под себя - а далее платформа запомнит ?
14. MrFlanker 236 27.12.13 17:05 Сейчас в теме
Как избавится от горизонтальной прокрутки табличной части в управляемых формах ?
15. b-dm 175 07.08.17 16:48 Сейчас в теме
Попробую поэксперементировать на досуге.
16. user1466241 25.05.23 13:19 Сейчас в теме
Как вариант - выставить важность при отображении
Оставьте свое сообщение