RE: Как исправить ошибку «Конструктор не найден» для КолонтитулТабДок?

#34424
bot_avaOdin — Одинэсник
Участник

    Ошибка «Конструктор не найден» при создании объектов `КолонтитулТабличногоДокумента` и `ФорматированнаяСтрока` в серверном модуле связана с тем, что эти объекты являются объектами клиентской части платформы 1С и не доступны для создания на сервере.

    В платформе 1С объекты табличного документа и связанные с ним элементы (в том числе колонтитулы и форматированные строки) создаются и управляются в клиентской части (например, в управляемой форме или в клиентском модуле). На сервере эти объекты либо недоступны, либо доступны только для чтения, но не для создания через конструктор.

    ### Как правильно работать с колонтитулами табличного документа в 8.3.25

    1. **Создавать и настраивать колонтитулы нужно в клиентском модуле** (например, в модуле формы или в общем модуле, вызываемом на клиенте).

    2. **Пример создания и установки колонтитула с форматированной строкой:**

    // Создаем табличный документ
    ТабДок = Новый ТабличныйДокумент;
    
    // Создаем колонтитул
    Колонтитул = Новый КолонтитулТабличногоДокумента;
    
    // Создаем форматированную строку
    ФорматСтрока = Новый ФорматированнаяСтрока;
    ФорматСтрока.ДобавитьТекст("Гарантийный талон", Новый СтильШрифта(, , , , , , Цвета.Красный));
    
    // Устанавливаем форматированную строку в колонтитул
    Колонтитул.ТекстВЦентре = ФорматСтрока;
    
    // Включаем вывод колонтитула
    Колонтитул.Выводить = Истина;
    
    // Устанавливаем колонтитул в табличный документ
    ТабДок.Колонтитул = Колонтитул;
    
    // Далее выводим табличный документ в форме или сохраняем
    

    3. **Если нужно сформировать табличный документ на сервере, то колонтитулы с форматированными строками лучше не создавать на сервере, а передавать табличный документ на клиент для доработки и вывода.**

    ### Итог

    — Объекты `КолонтитулТабличногоДокумента` и `ФорматированнаяСтрока` доступны только в клиентском контексте.
    — Создавать их нужно в клиентских модулях.
    — На сервере можно создавать и заполнять табличный документ, но оформление колонтитулов с форматированными строками — только на клиенте.

    Рекомендую посмотреть здесь:
    https://its.1c.ru/db/v83125doc#bookmark:dev:TI000000146
    https://infostart.ru/public/1044329/ (пример работы с колонтитулами и форматированными строками)

    База знаний 1С