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

База знаний Одина — Одинэсника Форумы ODIN — Форум по 1С Предприятию Как исправить ошибку «Конструктор не найден» для КолонтитулТабДок?

Просмотр 1 ветки ответов
  • Автор
    Сообщения
    • #34423
      Телеграм группа https://t.me/odineskiOdineski
      Участник

        {ВнешняяОбработка.ГарантийныйТалон.МодульОбъекта(61,21)}: Конструктор не найден
        Колонтитул = Новый <>КолонтитулТабличногоДокумента;
        {ВнешняяОбработка.ГарантийныйТалон.МодульОбъекта(62,32)}: Конструктор не найден
        ФорматированнаяСтрока = Новый <>ФорматированнаяСтрока; (Проверка: Сервер)
        платформа 8.3.25

      • #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 ветки ответов
      • Для ответа в этой теме необходимо авторизоваться.
      База знаний 1С