Работа с макетами в 1С:Предприятие — одна из самых востребованных задач как для бухгалтеров, так и для программистов. Макеты используются для формирования печатных форм, отчетов, шаблонов документов и даже интерфейсных элементов. Однако процесс их установки часто вызывает вопросы: где хранить файлы, как правильно подключить их к конфигурации, и почему система иногда выдает ошибки при загрузке.
В этой статье мы разберем все способы установки макетов — от ручного добавления через конфигуратор до автоматической загрузки из внешних файлов. Особое внимание уделим типичным ошибкам (например, Ошибка при открытии файла макета или Не найден макет с именем...) и способам их устранения. Материал актуален для всех современных версий платформы, включая 1С:Предприятие 8.3.23 и новее.
Если вы не разработчик, а обычный пользователь — не переживайте: мы подробно объясним каждый шаг без использования технического жаргона. Для программистов же приведём примеры кода на встроенном языке и нюансы работы с хранилищем макетов в управляемых формах.
Что такое макет в 1С и зачем он нужен
Макет в 1С:Предприятие — это шаблон, который определяет внешний вид документа, отчета или интерфейсного элемента. Он может содержать:
- 📄 Печатные формы (счета, накладные, акты)
- 📊 Табличные документы (отчеты, ведомости)
- 🎨 Графические схемы (органиграммы, диаграммы)
- 📝 Текстовые шаблоны (письма, уведомления)
Например, когда вы печатаете счет на оплату из 1С:Управление торговлей, система берет данные из документа и подставляет их в макет — так формируется готовый файл для печати. Без макетов все документы выглядели бы как сырые таблицы без оформления.
Макеты хранятся либо внутри конфигурации (в дереве объектов), либо во внешних файлах (например, .mxl, .ert, .xlsx). Второй вариант удобен, если шаблоны часто обновляются или используются в нескольких базах.
Способы установки макета в 1С
Существует три основных способа добавить макет в систему. Выбор зависит от ваших прав доступа и задачи:
- Через Конфигуратор — для разработчиков и администраторов. Позволяет редактировать макеты прямо в дереве объектов.
- Через внешний файл — универсальный метод. Подходит для пользователей без прав на изменение конфигурации.
- Программно — для автоматизации. Используется в обработках или при обновлении базы.
Рассмотрим каждый способ подробно.
1. Установка через Конфигуратор
Этот метод подходит, если у вас есть права на изменение конфигурации. Инструкция:
- Откройте базу в режиме
Конфигуратор(для этого при запуске 1С удерживайтеShift). - В дереве объектов найдите раздел, куда нужно добавить макет. Например:
- Для печатной формы документа:
Документы → [ВашДокумент] → Формы → ФормаДокумента → Макеты - Для отчета:
Отчеты → [ВашОтчет] → Макеты
- Для печатной формы документа:
Макеты → Добавить → выберите тип макета (например, Табличный документ или Текстовый документ).ПечатнаяФормаСчета) и настройте его содержимое в открывшемся редакторе.Конфигурация → Сохранить конфигурацию) и обновите базу (Конфигурация → Обновить конфигурацию базы данных).Запустить 1С в режиме Конфигуратор|Сделать резервную копию базы|Найти нужный раздел в дереве объектов|Проверить права на изменение конфигурации-->
Важно! Если макет уже существует, его можно заменить через контекстное меню (Заменить из файла...). Это удобно при обновлении шаблонов.
2. Загрузка макета из внешнего файла
Если у вас нет прав на изменение конфигурации, но нужно обновить макет (например, печатную форму), используйте внешний файл. Формат файла зависит от типа макета:
- 📑
.mxl— универсальный формат макетов 1С - 📈
.ert— для табличных документов - 📉
.xlsx/.xls— Excel-шаблоны для отчетов - 🖼️
.jpg/.png— графические макеты
Инструкция по загрузке:
- Получите файл макета от разработчика или скачайте его из надежного источника.
- В пользовательском режиме откройте документ или отчет, для которого нужен макет.
- Перейдите в меню
Файл → Открыть...(илиЕще → Печатные формы → Настроить..., если речь о печатной форме). - Выберите опцию
Загрузить из файлаи укажите путь к скачанному макету. - Сохраните изменения и перезапустите документ.
Если при загрузке макета из Excel появляется ошибка Несоответствие структуры, проверьте, чтобы в шаблоне не было объединенных ячеек или скрытых листов. 1С строго следит за структурой таблиц!
3. Программная установка макета
Для автоматизации (например, при массовом обновлении макетов) используйте встроенный язык 1С. Пример кода для загрузки макета из файла:
// Загрузка макета из файла в документ "РеализацияТоваровУслуг"
Документ = Документы.РеализацияТоваровУслуг.СоздатьДокумент();
Макет = Документ.Макеты.Добавить("НоваяПечатнаяФорма");
Макет.ЗагрузитьИзФайла("C:\Mакеты\Счет.mxl");
Этот код выполняется в Отладчике (режим Конфигуратор → Отладка → Начать отладку) или через внешнюю обработку. Для управляемых форм синтаксис будет другим:
// Для управляемой формы отчета
Отчет = Отчеты.Продажи.Создать();
Макет = Отчет.Макеты.НайтиПоИмени("ОсновнойОтчет");
Если Макет = Неопределено Тогда
Макет = Отчет.Макеты.Добавить("ОсновнойОтчет");
КонецЕсли;
Макет.ЗагрузитьИзФайла("C:\Mакеты\ОтчетПродажи.ert");
Критично! При программной загрузке всегда проверяйте путь к файлу и права доступа к папке. Если путь содержит кириллицу, используйте функцию ПутьИзСтрокиДокумента() для корректной обработки.
Где хранятся макеты в 1С
Макеты могут находиться в разных местах в зависимости от их типа и способа установки:
| Тип макета | Место хранения | Как редактировать |
|---|---|---|
| Встроенные макеты | Внутри конфигурации (Конфигуратор → Объекты → [Объект] → Макеты) |
Только через Конфигуратор |
| Внешние макеты | В файлах на диске (например, C:\Program Files\1Cv8\Templates) |
Любым текстовым/графическим редактором |
| Макеты отчетов (SСD) | В базе данных (таблица _1SJourn или _1SAccumRg) |
Через Отчеты → Настроить вариант отчета |
| Макеты печатных форм | В шаблонах документов (Документы → [Документ] → Печатные формы) |
Через меню Еще → Печатные формы |
Если макет исчез после обновления конфигурации, проверьте:
- 🔍 Папку
ExtFormsв каталоге базы (там хранятся внешние формы). - 🔍 Настройки прав доступа (
Администрирование → Пользователи). - 🔍 Журнал регистрации (
Администрирование → Журнал регистрации) на ошибки загрузки.
Как восстановить удаленный макет?
Если макет был удален из конфигурации, но у вас есть его копия в файле, восстановить его можно так:
1. Создайте новый макет с тем же именем в Конфигураторе.
2. Загрузите в него данные из файла через Заменить из файла.
3. Обновите конфигурацию базы.
Если макета нет в файле, попробуйте найти его в резервной копии базы (файл .dt) или обратитесь к разработчику конфигурации.
Типичные ошибки при установке макетов и их решения
Даже опытные пользователи сталкиваются с проблемами при работе с макетами. Рассмотрим самые частые ошибки и способы их исправления.
1. Ошибка: "Не найден макет с именем [ИмяМакета]"
Причины:
- 🚫 Макет не добавлен в конфигурацию.
- 🚫 Опечатка в имени макета при вызове.
- 🚫 Макет существует, но не опубликован (для управляемых форм).
Решение:
- Проверьте имя макета в коде или настройках печатной формы. Оно должно точно совпадать (включая регистр!).
- Если макет внешний, убедитесь, что файл находится в правильной папке (путь можно проверить через
Администрирование → Настройки программы → Пути к файлам). - Для управляемых форм откройте форму в Конфигураторе и проверьте свойство
Использовать управляемые формы.
2. Ошибка: "Ошибка при открытии файла макета"
Эта ошибка возникает при попытке загрузить макет из внешнего файла. Частые причины:
- 🔒 Недостаточно прав на файл или папку.
- 🗜️ Файл поврежден или имеет неверный формат.
- 🚧 Путь к файлу содержит недопустимые символы (например, кириллицу без кодировки).
Решение:
- Проверьте права доступа к файлу (клик правой кнопкой →
Свойства → Безопасность). - Откройте файл в блокноте: если там кракозябры, значит файл поврежден. Попросите новый вариант у источника.
- Используйте английские названия для папок в пути (например,
C:\Makets\вместоC:\Макеты\).
- объединенных ячеек (1С их не поддерживает),
- скрытых листов,
- формул с внешними ссылками.
Иначе загрузка завершится ошибкой.-->
3. Ошибка: "Макет не соответствует структуре данных"
Эта ошибка типична для табличных макетов (например, в отчетах). Она означает, что структура макета не совпадает со структурой данных, которые в него передаются.
Решение:
- 📋 Сверьте имена колонок в макете и в запросе, который формирует данные.
- 📏 Проверьте типы данных (например, если в макете ожидается число, а приходит строка).
- 🔄 Обновите макет через Конфигуратор, если структура источника данных изменилась.
Пример исправления для отчета:
// Перед загрузкой данных в макет проверяем структуру
Если Макет.Колонки.Количество() <> РезультатЗапроса.Колонки.Количество() Тогда
Сообщить("Структура макета не совпадает с данными!");
Возврат;
КонецЕсли;
Как настроить права доступа к макетам
Часто макеты не отображаются или не редактируются из-за неправильных настроек прав. В 1С права на макеты настраиваются через роли.
Инструкция по настройке:
- Откройте Конфигуратор и перейдите в
Администрирование → Пользователи. - Выберите роль, которой нужно дать доступ (например,
БухгалтерилиМенеджер по продажам). - В разделе
Праванайдите объект, к которому относится макет (например, документРеализацияТоваровУслуг). - Установите флаги:
- 📌
Чтение— для просмотра макета. - 📝
Изменение— для редактирования. - 🗑️
Удаление— для удаления макетов.
- 📌
Администрирование → Обновить права пользователей).Если макет не отображается в списке печатных форм, проверьте:
- 🔓 Права на саму печатную форму (а не только на макет).
- 🔓 Настройки видимости в конфигурации (
Конфигуратор → Объект → Формы → Видимость).
Чтобы быстро проверить права, войдите в базу под пользователем с ролью Администратор и попробуйте открыть макет. Если он доступен — проблема в правах.
Обновление макетов при изменении конфигурации
При обновлении конфигурации (например, при переходе на новую версию 1С:Бухгалтерии) макеты могут сброситься или перестать работать. Чтобы этого избежать:
- Сохраните копии всех внешних макетов в отдельную папку.
- Проверьте совместимость макетов с новой версией. Например, в 1С:УТ 11.5 изменилась структура некоторых отчетов.
- Используйте обработки сравнения (например,
СравнитьКонфигурации.epf) для выявления различий в макетах.
Если после обновления макет исчез, восстановите его так:
- Откройте старую и новую версию конфигурации в
Конфигураторе. - Скопируйте макет из старой версии (
Копироватьв контекстном меню). - Вставьте его в новую версию (
Вставить). - Сравните структуры и при необходимости подправьте макет.
Для автоматического обновления макетов при выпуске новых версий используйте Регламентные задания:
// Пример задания для еженедельной проверки макетов
Процедура ОбновитьМакеты()
ПутьКМакетам = "C:\ОбновленияМакетов\";
Если НЕ КаталогСуществует(ПутьКМакетам) Тогда
Возврат;
КонецЕсли;
Макеты = Новый Массив;
Макеты.Добавить("Счет.mxl");
Макеты.Добавить("АктВыполненныхРабот.mxl");
Для Каждого ИмяФайла Из Макеты Цикл
Путь = ПутьКМакетам + ИмяФайла;
Если ФайлСуществует(Путь) Тогда
Документ.Макеты.НайтиПоИмени(БезРасширения(ИмяФайла)).ЗагрузитьИзФайла(Путь);
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Практические примеры: макеты для УТ, БП и ЗУП
Рассмотрим конкретные примеры установки макетов в популярных конфигурациях.
1. Макет счета на оплату в 1С:Управление торговлей (УТ 11)
Чтобы изменить печатную форму счета:
- Откройте документ
Реализация товаров и услуг. - Перейдите в
Печать → Настроить печатную форму. - Выберите
Загрузить из файлаи укажите путь к новому макету (например,Счет_НоваяФорма.mxl). - Сохраните настройки и распечатайте документ для проверки.
Если нужно добавить логотип в шапку счета:
- 🖼️ Подготовьте изображение в формате
.pngс разрешением не более300x100 пикселей. - 📁 Поместите его в папку
C:\Program Files\1Cv8\Тemplates\. - 🔗 В макете счета добавьте ссылку на файл через параметр
Картинка = "logo.png".
2. Макет отчета "Оборотно-сальдовая ведомость" в 1С:Бухгалтерии (БП 3.0)
Чтобы изменить внешний вид отчета:
- Откройте отчет
Оборотно-сальдовая ведомость. - Нажмите
Еще → Изменить вариант отчета. - В разделе
МакетвыберитеЗагрузить из файлаи укажите путь к.ert-файлу. - Настройте параметры отображения (группировки, отборы) и сохраните вариант.
Внимание! В БП 3.0 некоторые макеты отчетов заблокированы для редактирования. Чтобы их изменить, нужно:
- Открыть конфигурацию в режиме
Конфигуратор. - Найти отчет в дереве объектов и снять флаг
Только чтение. - Обновить конфигурацию базы.
3. Макет расчетного листка в 1С:Зарплата и управление персоналом (ЗУП 3.1)
Для настройки печатной формы расчетного листка:
- Откройте документ
Начисление зарплаты. - Перейдите в
Печать → Расчетный листок → Настроить. - Выберите
Загрузить макет из файлаи укажите путь к шаблону (обычно.mxlили.xlsx). - Проверьте, чтобы в макете были заполнены все обязательные поля (ФИО, период, суммы начислений).
Если в расчетном листке не отображаются данные, проверьте:
- 🔍 Соответствие имен реквизитов в макете и в документе.
- 🔍 Наличие прав на просмотр зарплатных данных у пользователя.
- 🔍 Формат ячеек в Excel-макете (текстовые данные не должны быть в числовом формате).
FAQ: Частые вопросы по установке макетов в 1С
Можно ли установить макет без прав администратора?
Да, если макет загружается из внешнего файла через пользовательский интерфейс (например, Печать → Настроить печатную форму → Загрузить из файла). Для этого не нужны права на изменение конфигурации. Однако редактировать встроенные макеты (те, что хранятся в конфигурации) без прав администратора нельзя.
Почему после обновления 1С пропали все макеты?
Это происходит, если макеты были внесены прямо в конфигурацию, а не подключены как внешние файлы. При обновлении стандартные макеты заменяются на новые, а пользовательские — удаляются. Чтобы избежать потерь:
- Храните копии макетов в отдельной папке.
- Используйте внешние макеты вместо встроенных.
- Перед обновлением экспортируйте макеты через
Конфигуратор → Файл → Сохранить данные конфигурации в файлы.
Как сделать макет по умолчанию для всех пользователей?
Чтобы макет стал стандартным для всех:
- Установите его через
Конфигуратор(как описано выше). - Откройте настройки печатной формы или отчета.
- Выберите ваш макет в списке и нажмите
Установить по умолчанию. - Обновите конфигурацию базы данных.
Для управляемых форм также проверьте настройки Основная форма в свойствах объекта.
Можно ли использовать Excel как макет в 1С?
Да, но с ограничениями:
- ✅ Поддерживаются файлы
.xlsxи.xls. - ✅ Можно использовать формулы, но только те, что поддерживает 1С (например,
СУММ,ЕСЛИ). - ❌ Не работают макросы, сводные таблицы и внешние ссылки.
- ❌ Объединенные ячейки могут вызвать ошибку при загрузке.
Для загрузки Excel-макета используйте метод ЗагрузитьИзФайла() или меню Настроить печатную форму → Загрузить из файла.
Как перенести макеты из одной базы 1С в другую?
Есть три способа:
- Через файлы:
- Экспортируйте макеты из первой базы в файлы (
.mxl,.ert). - Импортируйте их во вторую базу через
Загрузить из файла.
- Экспортируйте макеты из первой базы в файлы (
- Через выгрузку/загрузку конфигурации:
- В первой базе:
Конфигуратор → Файл → Выгрузить конфигурацию в файл. - Во второй базе:
Конфигуратор → Файл → Загрузить конфигурацию из файла.
- В первой базе:
- Если обе базы подключены к одному хранилищу, обновите вторую базу до нужной версии.
Для управляемых форм также может потребоваться перенос настроек ролей и прав.