Процедура, которая "примерно" делает автоширину колонок (навроде, как если бы выделить все колонки и дважды щелкнуть мышкой по границе заголовка колонки). Привожу текст, работает неахти, но лучше чем ничего:
Код 1C v 8.х Процедура РасчетШириныКолонок(ТабличныйДокумент)
Перем МаксимальноеКоличествоСтрок, МаксимальнаяШиринаКолонки;
Перем КонечнаяСтрока, НачальнаяСтрока, ТекущаяКолонка, ТекущаяСтрока, НачалоДанных;
Перем ОбластьШапки, ОбластьПодвала;
Перем ШиринаКолонки, ТекстЯчейки, НомерСтрокиТекста;
Перем КоличествоУровнейГруппировокСтрок, Отступ;
Перем ШириныКолонок;
МаксимальноеКоличествоСтрок = 50 ;
МаксимальнаяШиринаКолонки = 50 ;
ШириныКолонок = Новый Массив;
КоличествоУровнейГруппировокСтрок = ТабличныйДокумент. КоличествоУровнейГруппировокСтрок( ) ;
НачальнаяСтрока = 0 ;
НачалоДанных = 0 ;
ОбластьШапки = ТабличныйДокумент. Области. Найти( "ШапкаТаблицы" ) ;
Если ТипЗнч( ОбластьШапки) = Тип( "ОбластьЯчеекТабличногоДокумента" ) Тогда
НачальнаяСтрока = ОбластьШапки. Верх;
НачалоДанных = ОбластьШапки. Низ + 1 ;
Иначе
ОбластьШапки = ТабличныйДокумент. Области. Найти( "ШапкаСтрок" ) ;
Если ТипЗнч( ОбластьШапки) = Тип( "ОбластьЯчеекТабличногоДокумента" ) Тогда
НачальнаяСтрока = ОбластьШапки. Верх;
НачалоДанных = ОбластьШапки. Низ + 1 ;
КонецЕсли ;
КонецЕсли ;
ОбластьПодвала = ТабличныйДокумент. Области. Найти( "Подвал" ) ;
Если ТипЗнч( ОбластьПодвала) = Тип( "ОбластьЯчеекТабличногоДокумента" ) Тогда
КонечнаяСтрока = ОбластьПодвала. Верх - 1 ;
Если КонечнаяСтрока - НачальнаяСтрока > МаксимальноеКоличествоСтрок Тогда
КонечнаяСтрока = НачальнаяСтрока + МаксимальноеКоличествоСтрок;
КонецЕсли ;
Иначе
КонечнаяСтрока = НачальнаяСтрока + МаксимальноеКоличествоСтрок;
КонецЕсли ;
КонечнаяСтрока = Мин( КонечнаяСтрока, ТабличныйДокумент. ВысотаТаблицы) ;
Для ТекущаяКолонка = 1 По ТабличныйДокумент. ШиринаТаблицы Цикл
АвтоОтступ = 0 ;
Для ТекущаяСтрока = НачальнаяСтрока По КонечнаяСтрока Цикл
ШиринаКолонки = 0 ;
ОбластьЯчейки = ТабличныйДокумент. Область( ТекущаяСтрока, ТекущаяКолонка) ;
Если ОбластьЯчейки. Лево < > ТекущаяКолонка Или ОбластьЯчейки. Верх < > ТекущаяСтрока Тогда
Продолжить;
КонецЕсли ;
Если КоличествоУровнейГруппировокСтрок > 0 И ТекущаяСтрока = НачалоДанных Тогда
АвтоОтступ = ОбластьЯчейки. АвтоОтступ;
КонецЕсли ;
ТекстЯчейки = ОбластьЯчейки. Текст;
Для НомерСтрокиТекста = 1 По СтрЧислоСтрок( ТекстЯчейки) Цикл
ШиринаТекстаЯчейки = СтрДлина( СтрПолучитьСтроку( ТекстЯчейки, НомерСтрокиТекста) ) ;
Если АвтоОтступ < > Неопределено И АвтоОтступ > 0 Тогда
ШиринаТекстаЯчейки = ШиринаТекстаЯчейки + КоличествоУровнейГруппировокСтрок * АвтоОтступ;
КонецЕсли ;
ШиринаКолонки = Макс( ШиринаКолонки, ШиринаТекстаЯчейки) ;
КонецЦикла ;
Если ШиринаКолонки > МаксимальнаяШиринаКолонки Тогда
ШиринаКолонки = МаксимальнаяШиринаКолонки;
КонецЕсли ;
Если ШиринаКолонки < > 0 Тогда
КоличествоКолонок = ОбластьЯчейки. Право - ОбластьЯчейки. Лево;
Для НомерКолонки = 0 По КоличествоКолонок Цикл
Если ШириныКолонок. ВГраница( ) > ТекущаяКолонка - 1 + НомерКолонки Тогда
Если ШириныКолонок[ТекущаяКолонка - 1 + НомерКолонки] = Неопределено Тогда
ШириныКолонок[ТекущаяКолонка - 1 + НомерКолонки] = ШиринаКолонки / ( КоличествоКолонок + 1 ) ;
Иначе
ШириныКолонок[ТекущаяКолонка - 1 + НомерКолонки] =
Макс( ШириныКолонок[ТекущаяКолонка - 1 + НомерКолонки], ШиринаКолонки / ( КоличествоКолонок + 1 ) ) ;
КонецЕсли ;
Иначе
ШириныКолонок. Вставить( ТекущаяКолонка - 1 + НомерКолонки, ШиринаКолонки / ( КоличествоКолонок + 1 ) ) ;
КонецЕсли ;
КонецЦикла ;
КонецЕсли ;
КонецЦикла ;
КонецЦикла ;
Для ТекущаяКолонка = 0 По ШириныКолонок. ВГраница( ) Цикл
Если ШириныКолонок[ТекущаяКолонка] < > Неопределено Тогда
ТабличныйДокумент. Область( , ТекущаяКолонка + 1 , НачалоДанных, ТекущаяКолонка + 1 ) . ШиринаКолонки = ШириныКолонок[ТекущаяКолонка] + 1 ;
КонецЕсли ;
КонецЦикла ;
КонецПроцедуры
Очень полезная штука при условии, что у Вас заранее невозможно определить размер итоговых колонок в печатной форме. А так, надо просто "натравить" процедуру с соответствующими параметрами на нужные ячейки таблицы, и они сами "выровняются" и приобретут необходимый размер (ширину).
Код 1C v 7.x
Процедура глУстШиринуЯчейки(Таб, Строка1, Столбец1, Строка2, Столбец2, ДлТекста = 0) Экспорт
Если ДлТекста = 0 Тогда
врДлина = СтрДлина( СокрЛП( Таб. Область( Строка1 , Столбец1 , Строка2 , Столбец2 ) . Текст) ) ;
Иначе
врДлина = ДлТекста;
КонецЕсли ;
Таб. Область( Строка1 , Столбец1 , Строка2 , Столбец2 ) . ШиринаСтолбца( Макс( Таб. Область( Строка1 , Столбец1 , Строка2 , Столбец2 ) . ШиринаСтолбца( ) , врДлина) ) ;
КонецПроцедуры