В мире 1С:Предприятие термин «макет» встречается повсеместно — от создания печатных форм до настройки пользовательских интерфейсов. Но что именно скрывается за этим понятием? Если вы думаете, что макеты нужны только для оформления документов, вы упускаете половину их возможностей. На самом деле это универсальный инструмент, который экономит время разработчиков, бухгалтеров и администраторов, автоматизируя рутинные операции и стандартизируя вывод данных.

В этой статье мы разберём все виды макетов в 1С — от привычных печатных форм до малоизвестных шаблонов для SMS-рассылок и HTML-писем. Вы узнаете, как макеты интегрируются с отчётами, почему без них невозможно создать гибкий интерфейс, и какие скрытые функции макетов позволяют обойти ограничения стандартных конфигураций. Особое внимание уделим практическим примерам: от настройки счета на оплату до автоматизации email-уведомлений.

Если вы никогда не работали с макетами или использовали только базовые возможности, после прочтения этой статьи вы сможете оптимизировать до 30% рутинных операций в 1С — без глубокого погружения в программирование.

1. Что такое макет в 1С: определение и базовые принципы

В 1С:Предприятие 8 макет — это объект конфигурации, который хранит заранее определённую структуру данных для повторного использования. Проще говоря, это «шаблон», который можно применить к разным документам, отчётам или интерфейсам. Макеты бывают внешними (хранятся в файлах) и встроенными (создаются прямо в конфигураторе).

Основное преимущество макетов — разделение данных и представления. Например, печатная форма счета не зависит от конкретного документа «Реализация товаров». Она берёт данные из документа и подставляет их в заранее подготовленный шаблон. Это позволяет:

  • 📄 Изменять оформление без правки логики программы
  • 🔄 Использовать один макет для разных типов документов
  • 🖨️ Печатать документы в унифицированном виде (например, по стандартам ГОСТ)
  • 📧 Автоматизировать отправку писем и SMS с одинаковым дизайном

Технически макет в 1С может содержать:

  • 📝 Текстовые шаблоны (для писем, SMS, этикеток)
  • 🖼️ Табличные документы (для печатных форм и отчётов)
  • 🎨 HTML/CSS-код (для email-рассылок и веб-интерфейсов)
  • 📊 Данные для графиков и диаграмм
📊 Как вы обычно работаете с макетами в 1С?
Использую только стандартные печатные формы
Самостоятельно редактирую макеты в конфигураторе
Пишу макеты с нуля на встроенном языке
Не работал с макетами, но хочу научиться

2. Виды макетов в 1С и их назначение

В 1С:Предприятие 8.3 существует более 10 типов макетов, каждый из которых решает конкретные задачи. Рассмотрим основные категории:

Тип макета Назначение Примеры использования
Табличный документ Формирование печатных форм, отчётов, этикеток Счёт на оплату, накладная ТОРГ-12, ценники
Текстовый документ Шаблоны для писем, SMS, уведомлений Email-рассылка о просроченной дебиторке, SMS клиенту о статусе заказа
HTML-документ Оформление email и веб-страниц Красиво оформленное коммерческое предложение, лендинг для клиента
Двоичные данные Хранение изображений, шрифтов, файлов Логотип компании в печатной форме, шрифт для этикеток
Активный документ Интерактивные формы с кнопками и скриптами Анкета для клиента с возможностью сохранения данных в 1С

Наиболее востребованные на практике — табличные и текстовые макеты. Первые используются для документов, которые нужно распечатать или сохранить в PDF, вторые — для автоматизации коммуникаций. Например, текстовый макет для SMS может выглядеть так:

Уважаемый [ИмяКлиента]!

Ваш заказ №[НомерЗаказа] от [Дата] на сумму [Сумма] руб. отправлен.

Ожидаемая дата доставки: [ДатаДоставки].

Спасибо за покупку!

А макет табличного документа для счёта на оплату будет содержать:

  • 🏷️ Шапку с реквизитами компании и клиента
  • 📋 Таблицу с товарами, количеством, ценой и суммой
  • 💰 Итоговую строку с общей суммой и реквизитами для оплаты
💡

Чтобы быстро найти все макеты в конфигурации, в Конфигураторе нажмите Ctrl+Shift+F, выберите вкладку «Макеты» и введите имя объекта (например, «СчётНаОплату»).

3. Макеты для печатных форм: как они работают

Печатные формы — самый очевидный пример использования макетов. Когда вы нажимаете «Печать» в документе Реализация товаров, 1С берёт данные из документа и подставляет их в макет табличного документа. Процесс выглядит так:

  1. Пользователь открывает документ и выбирает команду «Печать».
  2. 1С находит макет, связанный с этим типом документа (например, ПечатнаяФормаСчётНаОплату).
  3. Данные из документа (номер, дата, список товаров) передаются в макет.
  4. Макет «собирается» в конечный документ (PDF, Excel или печатная форма).

Преимущества такого подхода:

  • Скорость: не нужно каждый раз настраивать оформление
  • 🎯 Стандартизация: все документы выглядят одинаково
  • 🔧 Гибкость: можно изменить макет один раз — и он обновится для всех документов

Пример: если в вашей компании изменился банковский счёт, вам не нужно править каждый счёт вручную. Достаточно обновить макет печатной формы — и новые реквизиты автоматически подставятся во все документы.

Как связать макет с документом в конфигураторе

1. Откройте нужный документ (например, РеализацияТоваровУслуг) в Конфигураторе.

2. Перейдите на вкладку «Макеты».

3. Нажмите «Добавить» и выберите тип макета (обычно «Табличный документ»).

4. Настройте структуру макета (шапка, табличная часть, подвал).

5. В модуле документа добавьте процедуру вывода на печать, которая будет использовать этот макет.

⚠️ Внимание: Если вы редактируете стандартный макет типовой конфигурации (например, 1С:Бухгалтерия 3.0), обязательно сохраните его копию перед изменениями. При обновлении конфигурации ваши правки могут быть утеряны.

4. Макеты для отчётов: почему без них не обойтись

Отчёты в 1С — это не только таблицы с цифрами, но и визуальное представление данных. Макеты здесь играют ключевую роль, особенно когда речь идёт о:

  • 📈 Сложных отчётах с группировками и итогами (например, «Анализ продаж по номенклатуре»)
  • 🖼️ Графиках и диаграммах (столбчатые, круговой диаграммы)
  • 📊 Сводных таблицах с пользовательскими настройками

Например, в отчёте «Валовая прибыль» макет определяет:

  • 📌 Какие колонки будут отображаться (номенклатура, количество, себестоимость, прибыль)
  • 🎨 Как будут окрашены ячейки (например, убыточные позиции — красным)
  • 📏 Ширину колонок и выравнивание текста

Без макетов каждый раз при формировании отчёта пришлось бы вручную настраивать его внешний вид. А с макетами достаточно один раз задать параметры — и они будут применяться автоматически.

Пример кода для вывода отчёта с использованием макета:

Процедура СформироватьОтчёт()

Макет = Отчёты.ВаловаяПрибыль.ПолучитьМакет("ОсновнойОтчёт");

Таблица = Макет.ПолучитьТаблицу();

// Заполняем таблицу данными из запроса

Запрос = Новый Запрос;

Запрос.Текст = "ВЫБРАТЬ ... ";

Результат = Запрос.Выполнить();

ЗаполнитьТаблицу(Таблица, Результат);

// Выводим отчёт на экран

ТабличныйДокумент = Новый ТабличныйДокумент;

ТабличныйДокумент.Очистить();

ТабличныйДокумент.Вывести(Таблица);

ТабличныйДокумент.Показать();

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

💡

Макеты отчётов позволяют сохранять пользовательские настройки (например, сортировку или фильтры) и применять их в будущем без повторной настройки.

5. Макеты для email и SMS: автоматизация коммуникаций

Один из самых недооценённых видов макетов — шаблоны для email и SMS. Они позволяют:

  • 📧 Отправлять клиентам унифицированные письма (счёта, уведомления, акции)
  • 📱 Рассылать SMS с информацией о заказах или оплатах
  • 🔗 Вставлять в сообщения динамические данные (имя клиента, номер заказа, сумма)

Пример: в 1С:Управление торговлей можно настроить макет для email-уведомления о просроченной оплате:

Тема = "Напоминание об оплате счета №[НомерСчёта] от [ДатаСчёта]";

Текст = "Уважаемый [Контрагент]!

Счёт №[НомерСчёта] от [ДатаСчёта] на сумму [Сумма] руб. не оплачен.

Просим оплатить в течение 3 дней.

Реквизиты для оплаты: [Реквизиты].";

Преимущества такого подхода:

  • 🤖 Автоматизация: письма отправляются без участия менеджера
  • 🎯 Персонализация: каждый клиент получает письмо со своими данными
  • 📊 Аналитика: можно отслеживать, какие письма были отправлены и открыты

Для работы с email-макетами в 1С используется объект Почта, а для SMS — внешние сервисы (например, SMS.RU или SMS Center). Важно настроить интеграцию с этими сервисами в конфигурации.

⚠️ Внимание: При использовании HTML-макетов для писем проверьте, поддерживает ли ваш почтовый сервер вставку изображений и стилей. Некоторые корпоративные почтовые системы (например, Microsoft Exchange) могут блокировать внешние ресурсы в письмах.

6. Макеты в пользовательских интерфейсах: неочевидное применение

Макеты используются не только для документов и отчётов, но и для настройки интерфейсов 1С. Например:

  • 🖥️ Формы элементов справочников (как расположены поля в карточке товара)
  • 📱 Мобильные приложения (макеты для отображения данных на смартфонах)
  • 🎮 Дашборды (панели с ключевыми показателями для руководителей)

В управляемых формах макеты определяют:

  • 📏 Размер и положение элементов (кнопок, полей ввода, таблиц)
  • 🎨 Цветовую схему и шрифты
  • 🔄 Логику взаимодействия (например, какие поля становятся активными при выборе определённого значения)

Пример: в справочнике Номенклатура макет формы может содержать:

  • 📌 Основные реквизиты (наименование, артикул, единица измерения)
  • 📊 Вкладку с ценами и остатками
  • 🖼️ Поле для загрузки изображения товара

Изменив макет, вы можете:

  • 🔄 Переместить поле «Артикул» выше поля «Наименование»
  • 🎨 Сделать обязательным заполнение поля «Единица измерения»
  • 📱 Адаптировать форму для мобильных устройств

Убедитесь, что все обязательные поля отмечены звёздочкой (*)

Проверьте, что кнопки «Сохранить» и «Закрыть» видны без прокрутки

Тестируйте форму на разных разрешениях экрана

Сохраните резервную копию макета перед массовыми изменениями-->

7. Как создать и редактировать макет в 1С: пошаговая инструкция

Создание макета в Конфигураторе состоит из нескольких этапов. Рассмотрим процесс на примере печатной формы для документа Поступление товаров:

  1. Откройте конфигуратор и найдите документ, для которого нужен макет (например, ПоступлениеТоваровУслуг).
  2. Перейдите на вкладку «Макеты» и нажмите «Добавить».
  3. Выберите тип макета:
    • Для печатной формы — «Табличный документ»
    • Для письма — «Текстовый документ» или «HTML-документ»
  • Настройте структуру макета:
    • Для табличного документа: добавьте области (шапка, табличная часть, подвал)
    • Для текстового: вставьте переменные в фигурных скобках (например, {Документ.Номер})
    • Свяжите макет с документом через модуль объекта:
      Процедура Печать()
      

      Макет = Документы.ПоступлениеТоваровУслуг.ПолучитьМакет("ПечатнаяФорма");

      Таблица = Макет.ПолучитьТаблицу();

      // Заполнение таблицы данными из документа

      ТабличныйДокумент = Новый ТабличныйДокумент;

      ТабличныйДокумент.Вывести(Таблица);

      ТабличныйДокумент.Показать();

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

    Для редактирования существующего макета:

    1. Дважды кликните по макету в Конфигураторе.
    2. Внесите изменения (например, добавьте новый столбец в таблицу).
    3. Сохраните макет и обновите конфигурацию базы данных.
    4. ⚠️ Внимание: При редактировании макетов в типовой конфигурации (например, 1С:ERP) используйте механизм расширений, чтобы не потерять изменения при обновлении. Для этого создайте новое расширение и перенесите в него копию макета.

      8. Распространённые ошибки при работе с макетами и как их избежать

      Даже опытные пользователи 1С иногда сталкиваются с проблемами при работе с макетами. Вот самые частые ошибки и способы их решения:

      Ошибка Причина Решение
      Макет не обновляется после изменений Кэширование или несохранённая конфигурация Очистите кэш (Ctrl+Shift+F5) и обновите базу
      Данные в печатной форме не подставляются Неверные имена переменных в макете Проверьте соответствие имён полей в макете и в коде
      Искажается верстка при печати Несовместимость шрифтов или полей Используйте стандартные шрифты (Arial, Times New Roman)
      Email не отправляется Не настроена интеграция с почтовым сервером Проверьте параметры SMTP в настройках 1С

      Дополнительные рекомендации:

      • 🔍 Тестируйте макеты на реальных данных перед массовым использованием.
      • 📂 Сохраняйте резервные копии макетов перед правками.
      • 📖 Документируйте изменения, особенно если над конфигурацией работает несколько человек.

      Если макет перестал работать после обновления 1С, проверьте:

      • 🔄 Совместимость макета с новой версией платформы
      • 📝 Логи ошибок в Журнале регистрации
      • 🔧 Настройки прав доступа (возможно, у пользователя нет прав на использование макета)
    💡

    Всегда проверяйте макеты на тестовых данных перед внедрением в рабочую базу. Особенно это касается печатных форм с юридической значимостью (например, счётов-фактур).

    FAQ: Частые вопросы о макетах в 1С

    Можно ли использовать один макет для разных типов документов?

    Да, это одно из ключевых преимуществ макетов. Например, макет печатной формы «Счёт на оплату» может использоваться для документов Реализация товаров, Оказание услуг и Корректировка реализации. Для этого в коде нужно предусмотреть универсальную процедуру заполнения макета данными из разных источников.

    Как экспортировать макет из одной базы 1С в другую?

    Есть два способа:

    1. Через Конфигуратор:
      • Откройте макет в исходной базе.
      • Скопируйте его содержимое (для текстовых макетов) или экспортируйте в файл (Файл → Сохранить как...).
      • В целевой базе импортируйте макет или создайте новый с таким же содержимым.
  • Через выгрузку/загрузку конфигурации:
    • Выгрузите конфигурацию исходной базы в .cf-файл.
    • Откройте его в Конфигураторе целевой базы и перенесите нужный макет.
  • Для типовой конфигурации лучше использовать второй способ, чтобы избежать конфликтов при обновлении.

    Что делать, если макет «сломался» после обновления 1С?

    Сначала проверьте:

    • Совместимость макета с новой версией платформы (в Журнале регистрации могут быть ошибки вида «Несовместимая версия макета»).
    • Изменения в структуре данных (например, если в новом релизе добавилось обязательное поле, которое не учтено в макете).

    Если макет был изменён вручную, попробуйте:

    1. Восстановить его из резервной копии.
    2. Сравнить с оригинальным макетом типовой конфигурации (через Сравнить конфигурации).
    3. Перенести изменения в новое расширение.

    В крайнем случае обратитесь к специалисту по 1С — некоторые ошибки макетов требуют правки на уровне кода.

    Можно ли в макете использовать данные из внешних источников (Excel, API)?

    Да, но для этого потребуется дополнительный код. Например, чтобы подставить в макет данные из Excel:

    1. Загрузите данные из файла в таблицу значений:
      ТаблицаДанных = Новый ТаблицаЗначений;
      

      Excel = Новый COMОбъект("Excel.Application");

      Книга = Excel.Workbooks.Open("C:\data.xlsx");

      Лист = Книга.Sheets(1);

      // Чтение данных из Excel в ТаблицаДанных

      Excel.Quit();

    2. Передайте эти данные в макет через параметры:
      Макет.Параметры.Вставить("ВнешниеДанные", ТаблицаДанных);
    3. В макете используйте эти параметры для заполнения полей.

    Для работы с API понадобится HTTPЗапрос и обработка JSON/XML-ответа. Например, чтобы подставить в макет курс валют с сайта ЦБ:

    Запрос = Новый HTTPЗапрос("https://www.cbr.ru/scripts/XML_daily.asp");
    

    Ответ = Запрос.Получить();

    Данные = Новый ЧтениеXML;

    Данные.УстановитьСтроку(Ответ.ПолучитьТекст());

    // Парсинг XML и извлечение курса доллара

    КурсUSD = ...;

    Макет.Параметры.Вставить("КурсДоллара", КурсUSD);

    Как защитить макет от случайных изменений?

    Есть несколько способов:

    • 🔒 Права доступа: ограничьте редактирование макетов для обычных пользователей в настройках ролей.
    • 📂 Резервные копии: регулярно сохраняйте копии макетов в отдельную папку.
    • 🔑 Контроль версий: используйте Git или 1C:EDT для отслеживания изменений.
    • 📌 Расширения: переносите кастомизированные макеты в расширения, чтобы они не затирались при обновлении.

    Для критически важных макетов (например, печатных форм первичных документов) можно также:

    • Создать контрольную сумму макета и проверять её перед использованием.
    • Вести журнал изменений, где фиксировать, кто и когда внёс правки.