Скажите пожалуйста. уважаемые, интерактивно можно дважды щелкнуть по границе столбца - и ширина колонки будет рассчитана так - что текст указанный в колонке - в ней поместится.
А можно это сделать программно?
---
Я вот для таких случаев так пишу после вывода

```1c
    Для Кол = 1 По ТабДок.ШиринаТаблицы Цикл
    ШиринаКолонки = 0;
    Для Стр = 1 По ТабДок.ВысотаТаблицы Цикл
    Область = ТабДок.Область("R"+Формат(Стр,"ЧГ=0")+"C"+Формат(Кол,"ЧГ=0"));
    ШиринаОбласти = Область.Отступ+СтрДлина(СокрЛП(Область.Текст));
    ШиринаКолонки = Макс(ШиринаКолонки, ШиринаОбласти + 3);
    Если ШиринаКолонки > 40 Тогда
    Область.ШиринаКолонки = 40;
    Иначе
    Область.ШиринаКолонки = ШиринаКолонки;
    КонецЕсли;
    Конеццикла;
    КонецЦикла;
```
---
для костыля - получить количество символов самой длинной строки и а по ней сделать ширину.
---
для костыля - получить количество символов самой длинной строки и а по ней сделать ширину.
---
А подругому и нельзя. Только нужно учесть что "Ш" и "1" имеют разную ширину ;)
---
Так и сделала. криво. но...
---
Я вот для таких случаев так пишу после вывода

```1c
    Для Кол = 1 По ТабДок.ШиринаТаблицы Цикл
    ШиринаКолонки = 0;
    Для Стр = 1 По ТабДок.ВысотаТаблицы Цикл
    Область = ТабДок.Область("R"+Формат(Стр,"ЧГ=0")+"C"+Формат(Кол,"ЧГ=0"));
    ШиринаОбласти = Область.Отступ+СтрДлина(СокрЛП(Область.Текст));
    ШиринаКолонки = Макс(ШиринаКолонки, ШиринаОбласти + 3);
    Если ШиринаКолонки > 40 Тогда
    Область.ШиринаКолонки = 40;
    Иначе
    Область.ШиринаКолонки = ШиринаКолонки;
    КонецЕсли;
    Конеццикла;
    КонецЦикла;
```
---
Великолепное решение!
---
Спасибо, пригодилось!
---
Спасибо за код. Немного оптимизировал под свои надобности и убрал лишний (ИМХО) конструкт "Если".

```1c
    Для Кол = 1 По ТабДок.ШиринаТаблицы Цикл
    ШиринаКолонки = 0;
    КоличествоПроверяемыхСтрок=мин(50,ТабДок.ВысотаТаблицы);
    Для Стр = 1 По КоличествоПроверяемыхСтрок Цикл
    Область = ТабДок.Область("R"+Формат(Стр,"ЧГ=0")+"C"+Формат(Кол,"ЧГ=0"));
    ШиринаОбласти = Область.Отступ+СтрДлина(СокрЛП(Область.Текст));
    ШиринаКолонки = Макс(ШиринаКолонки, ШиринаОбласти + 3);
    Конеццикла;
    Область.ШиринаКолонки= Мин(40,ШиринаКолонки);
    Конеццикла;
```
---
А ничего что Область теперь вне цикла?
Так ничего не изменишь!
---
У меня ошибка возникает:
ВнешняяОбработка.Ведомость.Форма.Форма.Форма(570,44)}: Неопознанный оператор
 табдокумент.Область("R11C1").ШиринаКолонки<<?>>; (Проверка: Тонкий клиент)

ВООБЩЕ НЕ ПОЙМУ НА РОВНОМ МЕСТЕ!!!!!!!
Должно все работать
ЧЯДНТ????
Платформа 8.3.23.1782
Просто тупо не компилит Табдок.Область("R...C...").Ширинаколонки
Платформа кривая????
А вот так вот работает

```1c
    АдресКолонки = "R11C1";
    Выполнить("Сообщить(Табдокумент.Область(АдресКолонки).ШиринаКолонки)");
```

Жесть... не пойму в чем дело... через Выполнить конечно изврат полный))))
---
Возможно это и не требуется. Есть возможность сохранить текущую ширину колонок при закрытии формы и программно восстановить при следующем открытии. Т.е. один раз настроил и забыл. В упр интерфейсе автоматом должно быть.
---
Данные в макете меняются. надо вычислять ширину колонок. поясню - есть печатная форма табеля.
В большинстве колонок 1 или 2 символа (8, 8К, УК, ОЖ) и так далее.. Для столбцов в макете выставлена ширина 4,5
Но бывают и изыски например - 24ДД. Тогда надо ширину колонки менять.
---
По идее это команда РастягиватьПоГоризонтали.
Область.РастягиватьПоГоризонтали=Истина.
 Использование:
        Чтение и запись.
 Описание:
        Тип: Булево.
        Содержит признак того, что ширина колонки рассчитывается автоматически в зависимости от размера отображаемой области документа.
 Доступность:
        Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер).
 Примечание:
        Значение по умолчанию: Ложь.

Но я попробовал, что то слишком сильно растягивает, больше чем нужно для текста, а это тоже не удобно.

Еще для информации есть такая команда РежимИзмененияРазмераКолонки, которая по описанию включает выключает режим изменения ширины по двойному щелчку.
пОбласть.РежимИзмененияРазмераКолонки=РежимИзмененияРазмера.Обычный; выключен
пОбласть.РежимИзмененияРазмераКолонки=РежимИзмененияРазмера.БыстроеИзменение; включен

Но опять же, попробовал, этот режим всегда остается включенным (что конечно лучше чем выключен), но почему такие странности не понятно.

Пробовал в обычных формах
---
скорей всего подгоняет по длине реквизита туда помещаемого. Например Строка(50)
---
Сообщение было скрыто модератором.
---
Инфа с ИТС: "Автоматический расчет ширины колонок результата отчета
В некоторых отчетах возникает необходимость автоматического расчета ширин колонок в зависимости от их содержимого. Построитель отчета и табличный документ такой возможности не предоставляют. Однако способ решить данную задачу все-таки есть. Дело в том, что из встроенного языка 1С:Предприятия возможно обращение к содержимому табличного документа, а, имея доступ к содержимому табличного документа, можно рассчитать и ширину колонок.

Пример процедуры, которая автоматически рассчитывает ширины колонок табличного документа, можно найти в конфигурации "Примеры ИТС", в отчете "Продажи номенклатуры". Данная процедура расположена в модуле основной формы отчета и называется "РасчетШириныКолонок".