Ситуация, когда администратор или программист 1С сталкивается с невозможностью добавить новый макет или отредактировать существующий, даже имея полные права («Администратор», «Полные права»), является одной из самых распространенных после апгрейда версий или при начале работы с типовыми конфигурациями. В этом материале мы подробно разберем причины блокировки изменений, проанализируем разницу между базовыми и ПРОФ версиями, и, самое главное, рассмотрим правильные и современные методы доработки печатных форм.
В первую очередь нам необходимо разобраться в природе ограничения. Если вы зашли в режим Конфигуратора, открыли дерево метаданных и видите напротив названия конфигурации или конкретных объектов (документов, справочников) значок желтого кубика с замком, это означает, что конфигурация находится на полной поддержке поставщика.
Что это значит для нас:
Именно этот «замок» является причиной того, что кнопки «Добавить» или «Изменить» для макетов неактивны (серые), несмотря на то, что у вашего пользователя установлены полные права доступа. Права доступа (Роли) регулируют доступ к данным в режиме Предприятия, а «замок» поддержки регулирует доступ к структуре метаданных в Конфигураторе.
В обсуждаемой теме затронут важный нюанс: база была обновлена с Базовой версии до ПРОФ. Часто пользователи полагают, что ввод пин-кода от ПРОФ-версии или подключение аппаратного ключа автоматически снимает все ограничения. Однако это не совсем так.
Базовая версия имеет жесткие ограничения на уровне платформы (невозможность изменений конфигурации). После апгрейда до ПРОФ иногда требуется выполнить принудительную загрузку файла конфигурации (*.cf) от полной версии поверх текущей базы, чтобы платформа окончательно «поняла», что ограничения сняты и теперь можно управлять поддержкой или подключать расширения.
Однако даже после успешного перехода на ПРОФ, конфигурация по умолчанию остается на полной поддержке («на замке»). И это хорошо, так как гарантирует беспроблемное обновление.
Технически, чтобы кнопка добавления макета стала активной прямо в дереве метаданных, мы могли бы зайти в меню Конфигурация — Поддержка — Настройка поддержки и включить возможность изменения. Но мы настоятельно не рекомендуем этого делать без крайней необходимости.
Последствия снятия с замка:
Вместо этого мы рассмотрим три правильных способа решения задачи, которые позволяют оставить конфигурацию на поддержке.
Начиная с версии платформы 8.3.6, механизм расширений (Extensions) стал стандартом де-факто для доработки типовых конфигураций. Это позволяет нам добавлять макеты и менять логику работы, не трогая основную конфигурацию.
Давайте проанализируем порядок действий для создания макета через расширение:
Конфигурация — Расширения конфигурации.ДоработкаПечатныхФорм. Убедимся, что галочки «Активно» и «Безопасный режим» установлены (последнюю иногда нужно снять для сложного кода, но для макетов обычно не требуется).РеализацияТоваровУслуг).Добавить в расширение.Таким образом, основная конфигурация остается «на замке», обновляется автоматически, а ваш новый макет живет в «слое» расширения.
Это классический метод («Hardcore», как выразились в обсуждении), который использовался до появления расширений и остается актуальным до сих пор. ВПФ — это внешний файл с расширением .epf, который подключается в режиме Предприятия.
Рассмотрим преимущества этого метода:
Чтобы создать такую форму, нам нужно:
Файл — Новый — Внешняя обработка).СведенияОВнешнейОбработке, которая сообщит программе, к какому документу эта форма относится.Пример структуры кода регистрации для БСП (Библиотеки Стандартных Подсистем):
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = Новый Структура;
ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма");
ПараметрыРегистрации.Вставить("Назначение", Новый Массив);
ПараметрыРегистрации.Назначение.Добавить("Документ.РеализацияТоваровУслуг");
ПараметрыРегистрации.Вставить("Наименование", "Моя накладная (ВПФ)");
ПараметрыРегистрации.Вставить("Версия", "1.0");
ПараметрыРегистрации.Вставить("БезопасныйРежим", Истина);
ПараметрыРегистрации.Вставить("Команды", Новый ТаблицаЗначений);
ПараметрыРегистрации.Команды.Колонки.Добавить("Представление");
ПараметрыРегистрации.Команды.Колонки.Добавить("Идентификатор");
ПараметрыРегистрации.Команды.Колонки.Добавить("Использование");
ПараметрыРегистрации.Команды.Колонки.Добавить("ПоказыватьОповещение");
НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
НоваяКоманда.Представление = "Печать моей накладной";
НоваяКоманда.Идентификатор = "ПФ_MXL_МояНакладная";
НоваяКоманда.Использование = "ВызовСерверногоМетода";
НоваяКоманда.ПоказыватьОповещение = Истина;
Возврат ПараметрыРегистрации;
КонецФункции
После создания файла, в режиме Предприятия (1С:Предприятие) заходим в Администрирование — Печатные формы, отчеты и обработки — Дополнительные отчеты и обработки и загружаем наш файл — для упрощения этой задачи есть универсальный инструмент для создания и подключения внешних печатных форм.
Если ваша задача состоит лишь в том, чтобы изменить шрифт, поправить заголовок или добавить логотип в уже существующую печатную форму, вам, возможно, не нужны ни Конфигуратор, ни ВПФ.
В современных конфигурациях (Бухгалтерия, УТ, ЗУП и др.) есть встроенный механизм редактирования макетов:
Администрирование — Печатные формы, отчеты и обработки.Откроется редактор табличного документа прямо в пользовательском режиме. Вы сможете внести правки и сохранить их. Программа будет использовать измененный макет вместо стандартного. При этом рядом с макетом появится значок «карандаша», указывающий на наличие пользовательских правок. Для этой задачи есть удобный инструмент редактирования макетов печатных форм без программирования.
Отсутствие доступа к созданию макетов при полных правах — это не ошибка, а штатное поведение системы защиты типовой конфигурации («Замок»).
Мы настоятельно рекомендуем использовать следующие подходы в порядке приоритета:
Снятие конфигурации с поддержки («снимать замок») является крайней мерой и в 99% случаев для задач печатных форм не требуется.