Всем привет. Возник такой казус, не получается центрировать основную таблицу в СКД.
Т.е. есть отчет, в нем шапка и подписанты выведены отдельными детальными записями, и через макет все настраивается.
Как основную таблицу вывести по центру?
---
добавил макеты шапки и подвала, будь добр - добавь макет строк
---
По вашей наводке решил задачу следующим способом:
Добавил макеты строк с отступом в одну ячейку от левого края.
Тут же наткнулся на следующие грабли. Таблица то сдвинулась, но слева от нее было не белое поле, а у каждой группировки строки своего цвета.
Пришлось в модуле объекта в конце процедуры ПриКомпоновкеРезультата добавлять следующий код "забеления" нужной области:

```1c
    Функция ОбработатьПервыйСтолбец(ДокументРезультат)

    ДокументРезультат.АвтоМасштаб = Истина;

    Для К = 4 по ДокументРезультат.ВысотаТаблицы - 6 Цикл
    Обр_Обл = ДокументРезультат.Область(К,1,К,1);
    ПрозрачнаяЛиния = Новый Линия(ТипЛинииЯчейкиТабличногоДокумента.НетЛинии, 0);
    Обр_Обл.ГраницаСверху = ПрозрачнаяЛиния;
    Обр_Обл.ГраницаСнизу = ПрозрачнаяЛиния;
    Обр_Обл.ГраницаСлева = ПрозрачнаяЛиния;
    Обр_Обл.ЦветФона = WebЦвета.белый;
    КонецЦикла;

    КонецФункции
```

Т.к. у меня было несколько вариантов отчета, то забеление шло по всем вариантам. Поэтому вышеописанную процедуру пришлось вызывать по условию.
Сделал условие на ключ макета:

```1c
    Если КомпоновщикНастроек.ПользовательскиеНастройки.ДополнительныеСвойства.КлючВарианта = "ДляПечати" Тогда
    ОбработатьПервыйСтолбец(ДокументРезультат);
    КонецЕсли;
```

Для установки ключа макета пришлось добавить форму отчета и запихать в нее процедуру:

```1c
    &НаСервере
    Процедура ПриОбновленииСоставаПользовательскихНастроекНаСервере(СтандартнаяОбработка)

    Отчет.КомпоновщикНастроек.ПользовательскиеНастройки.ДополнительныеСвойства.Вставить("КлючВарианта",ЭтаФорма.КлючТекущегоВарианта);

    КонецПроцедуры
```

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

```1c
    Процедура ОбработатьЗаголовки(ЭлементыФормы.Результат)
    КолВоКолонок = 0;
    МасштабРучной = 100;
    ОбъединяемаяОбласть = Неопределено;
    Для ИндСтр=1 По ТабДок.ВысотаТаблицы Цикл
    НачальнаяКолонка = 0;
    Для ИндКол=1 По ТабДок.ШиринаТаблицы Цикл
    Если ОбъединятьЯчейки(ТабДок,ИндСтр,ИндКол) Тогда
    Если Не НачальнаяКолонка Тогда
    НачальнаяКолонка = ИндКол;
    КонецЕсли;
    ИначеЕсли НачальнаяКолонка Тогда
    ТекстЗаголовка = ТабДок.Область(ИндСтр,ИндКол).Текст;
    ОбъединяемаяОбласть = ТабДок.Область(ИндСтр,НачальнаяКолонка,ИндСтр,ИндКол);
    ОбъединяемаяОбласть.Объединить();
    ОбъединяемаяОбласть.ГоризонтальноеПоложение = ГоризонтальноеПоложение.Центр;
    ОбъединяемаяОбласть.Текст = ТекстЗаголовка;
    НачальнаяКолонка = 0;
    КолВоКолонок = ИндКол;
    Иначе
    НачальнаяКолонка = 0;
    КонецЕсли;
    КонецЦикла;
    Если Не ОбъединяемаяОбласть = Неопределено Тогда
    КолВоКолонок = КолВоКолонок + 1;
    Если КолВоКолонок > 30 Тогда
    Кооф = Число(12.25);
    ИначеЕсли КолВоКолонок < 20 Тогда
    Кооф = Число(10.25);
    Иначе
    Кооф = Число(11.25);
    КонецЕсли;
    МасштабРучной = 100/КолВоКолонок*Кооф;
    Возврат;
    КонецЕсли;
    КонецЦикла;
    КонецПроцедуры
```
---
можно попробовать в оформлении задать ширину колонок таблицы
---
Ширина колонок - это немного не то.
Ширину то можно установить. И даже растянуть по горизонтали.
Надо чтобы ширина была стандартная, а вот положение самой таблицы - по центру.
---
добавил макеты шапки и подвала, будь добр - добавь макет строк
---
Пропадет универсальность. Группировки не поменяешь. Нет ли какого-нибудь свойства отвечающего за данную настройку?
---
К тому же отчет представлен в сгруппированном виде. При формировании раздвигается в право на неопределенное количество полей в зависимости от условий. Но на печать нужно выводить только свернутый вид, представленный выше.
---
По вашей наводке решил задачу следующим способом:
Добавил макеты строк с отступом в одну ячейку от левого края.
Тут же наткнулся на следующие грабли. Таблица то сдвинулась, но слева от нее было не белое поле, а у каждой группировки строки своего цвета.
Пришлось в модуле объекта в конце процедуры ПриКомпоновкеРезультата добавлять следующий код "забеления" нужной области:

```1c
    Функция ОбработатьПервыйСтолбец(ДокументРезультат)

    ДокументРезультат.АвтоМасштаб = Истина;

    Для К = 4 по ДокументРезультат.ВысотаТаблицы - 6 Цикл
    Обр_Обл = ДокументРезультат.Область(К,1,К,1);
    ПрозрачнаяЛиния = Новый Линия(ТипЛинииЯчейкиТабличногоДокумента.НетЛинии, 0);
    Обр_Обл.ГраницаСверху = ПрозрачнаяЛиния;
    Обр_Обл.ГраницаСнизу = ПрозрачнаяЛиния;
    Обр_Обл.ГраницаСлева = ПрозрачнаяЛиния;
    Обр_Обл.ЦветФона = WebЦвета.белый;
    КонецЦикла;

    КонецФункции
```

Т.к. у меня было несколько вариантов отчета, то забеление шло по всем вариантам. Поэтому вышеописанную процедуру пришлось вызывать по условию.
Сделал условие на ключ макета:

```1c
    Если КомпоновщикНастроек.ПользовательскиеНастройки.ДополнительныеСвойства.КлючВарианта = "ДляПечати" Тогда
    ОбработатьПервыйСтолбец(ДокументРезультат);
    КонецЕсли;
```

Для установки ключа макета пришлось добавить форму отчета и запихать в нее процедуру:

```1c
    &НаСервере
    Процедура ПриОбновленииСоставаПользовательскихНастроекНаСервере(СтандартнаяОбработка)

    Отчет.КомпоновщикНастроек.ПользовательскиеНастройки.ДополнительныеСвойства.Вставить("КлючВарианта",ЭтаФорма.КлючТекущегоВарианта);

    КонецПроцедуры
```

Благодаря вышеперечисленным действиям, таблица отлипла от левого края. Но Стала не по центру, а пришлось подгонять шириной первой колонки.
В целом задача решена.