Разработка и Конфигурация · 9 мин
Как изменить функциональность программы 1С 8.3
Как изменить функциональность 1С 8.3: расширения, доработка конфигурации, внешние обработки. Пошаговые инструкции, риски, проверка результата и FAQ.
Изменить функциональность 1С 8.3 можно несколькими способами: через механизм расширений, доработку самой конфигурации в конфигураторе, подключение внешних обработок и отчётов, а также через настройку функциональных опций без программирования. Выбор способа зависит от того, стоит ли конфигурация на поддержке, планируются ли регулярные обновления и насколько глубоко нужно вмешаться в типовую логику.
Главный принцип безопасной доработки — минимальное вмешательство в типовой код. Каждое прямое изменение конфигурации усложняет последующие обновления: при установке нового релиза платформа может не принять обновление автоматически или затереть ваши правки. Поэтому современная практика — сначала проверить, закрывается ли задача расширением, и только если механизма расширений недостаточно, снимать объекты с поддержки.
Перед любыми изменениями обязательно создайте резервную копию информационной базы. Для файловой базы достаточно скопировать каталог с файлом 1Cv8.1CD при отсутствии активных сеансов, для клиент-серверной — выполнить выгрузку через конфигуратор (Администрирование → Выгрузить информационную базу) или штатные средства СУБД. Без копии откатить неудачную доработку будет невозможно.
Способы изменения функциональности и критерии выбора
Существует четыре основных подхода. Первый — функциональные опции и настройки: часть поведения (например, учёт по нескольким складам, валютный учёт, серии номенклатуры) включается штатно в разделе «Настройки» без всякого программирования. Всегда проверяйте этот вариант первым — типовые конфигурации содержат сотни скрытых переключателей.
Второй подход — внешние обработки и отчёты (файлы .epf и .erf). Они подключаются через «Дополнительные отчеты и обработки» и подходят для задач, не меняющих типовые формы и модули: печатные формы, групповая обработка данных, загрузка из Excel. Третий — расширения конфигурации (.cfe), позволяющие переопределять формы, модули, добавлять объекты. Четвёртый — прямая доработка конфигурации со снятием объектов с поддержки.
Сравнение вариантов доработки
Подходит, если задача решается штатно. Нулевой риск, обновления не затрагиваются. Ограничение — только предусмотренные разработчиком возможности.
Подходит для печатных форм, загрузок, групповых операций. Не меняет конфигурацию. Ограничение — нельзя менять типовые формы и модули.
Подходит для изменения форм, добавления реквизитов, переопределения обработчиков. Обновления сохраняются. Ограничение — не все объекты и методы доступны для расширения.
Подходит для глубоких изменений логики. Полная свобода. Ограничение — усложняет или блокирует автоматическое обновление, требует контроля при каждом релизе.
Изменение функциональности через расширение конфигурации
Расширение создаётся в конфигураторе: откройте меню «Конфигурация → Расширения конфигурации», нажмите «Создать», задайте имя, префикс и синоним. Префикс важен — он добавляется ко всем новым объектам расширения и предотвращает конфликты имён с типовой конфигурацией и другими расширениями.
Чтобы изменить типовую форму, добавьте её в расширение через контекстное меню объекта «Добавить в расширение». После этого можно менять элементы формы, добавлять реквизиты и команды, а также переопределять обработчики событий. В модулях используйте аннотации &ИзменениеИКонтроль (предпочтительно), &После, &Перед или &Вместо. Вариант «ИзменениеИКонтроль» безопаснее: при обновлении типовой конфигурации платформа проверит, не изменился ли заимствованный метод, и предупредит о конфликте.
&ИзменениеИКонтроль("ПриСозданииНаСервере")
Процедура Расш1_ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
// Ваш код до или после типовой логики
КонецПроцедурыПосле внесения изменений обновите конфигурацию базы данных (F7) и проверьте работу расширения в режиме предприятия. Если расширение нужно перенести на другую базу, сохраните его в файл .cfe через «Конфигурация → Расширения конфигурации → Сохранить в файл» и загрузите на целевой базе тем же меню.
Прямая доработка конфигурации в конфигураторе
Если возможностей расширения не хватает (например, нужно изменить состав движений документа или структуру типового регистра), потребуется снять конфигурацию с поддержки полностью или частично. Откройте «Конфигурация → Поддержка → Настройка поддержки», нажмите «Включить возможность изменения» и для конкретных объектов установите режим «Редактируется с сохранением поддержки». Этот режим предпочтительнее полного снятия: обновление останется возможным, хотя и потребует ручного сопоставления изменённых объектов.
Вносите правки точечно и документируйте каждую: комментируйте вставки кода метками вида // + Доработка: причина и // - Доработка. При обновлении типового релиза эти метки позволят быстро найти и перенести свои изменения. Избегайте переименования типовых объектов и удаления реквизитов — это почти гарантированно вызовет ошибки при обновлении.
Внешние обработки, отчёты и печатные формы
Значительная часть запросов на «изменение функциональности» на практике сводится к новым печатным формам, дополнительным кнопкам обработки и нестандартным отчётам. Всё это делается без изменения конфигурации. Включите механизм: «Администрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки». После этого файлы .epf и .erf добавляются через кнопку «Добавить из файла» и привязываются к нужным объектам (справочникам, документам).
Обратите внимание на безопасность: платформа по умолчанию запрещает открытие внешних файлов без подтверждения, а в ряде конфигураций действует проверка цифровой подписи или белый список обработок. Не отключайте защиту от опасных действий глобально ради одной обработки — лучше добавьте конкретный файл в разрешённые.
Порядок безопасного внедрения изменений
Любую доработку внедряйте по циклу: копия базы → разработка на копии → тестирование → перенос в рабочую базу → проверка. Никогда не разрабатывайте напрямую в продуктивной базе, даже если изменение кажется мелким: ошибка в обработчике проведения документа способна повредить учётные данные незаметно для пользователей.
- 1Создайте резервную копию рабочей базы и разверните тестовую копию
- 2Определите минимально достаточный способ: настройка, обработка, расширение или доработка
- 3Реализуйте изменение на тестовой копии и обновите конфигурацию БД (F7)
- 4Протестируйте сценарии: создание, проведение, отмена документов, права пользователей
- 5Перенесите изменение в рабочую базу в нерабочее время
- 6Проверьте результат и сохраните описание доработки для будущих обновлений
Проверка результата и типичные ошибки
После внедрения проверьте не только сам новый функционал, но и смежные механизмы: проведение связанных документов, формирование отчётов, обмены данными, работу под пользователями с ограниченными правами. Ошибка, видимая администратору, может не проявиться, а у менеджера с урезанными правами форма просто перестанет открываться.
Как проверить результат
Форма открывается, новые элементы доступны
Ошибка прав доступа или форма не открывается
Документы проводятся, движения корректны
Ошибки проведения или неверные итоги в отчётах
Обновление проходит, расширение остаётся работоспособным
Конфликты объектов, ошибки контроля заимствованных методов
Часто задаваемые вопросы
Можно ли изменить функциональность 1С 8.3 без программиста?
Частично. Функциональные опции, настройки учёта, дополнительные реквизиты и сведения (в типовых конфигурациях — раздел «Администрирование → Общие настройки → Дополнительные реквизиты») позволяют добавить поля к объектам и включить скрытые возможности без кода. Для изменения форм и логики потребуется конфигуратор и знание встроенного языка.
Что лучше: расширение или доработка конфигурации?
Расширение предпочтительнее почти всегда: оно не мешает обновлениям и легко отключается. Прямая доработка оправдана, только когда нужно изменить то, что расширениями не покрывается, — например, состав измерений регистра или типовые движения документа.
Слетит ли доработка при обновлении конфигурации?
Расширения и внешние обработки при обновлении сохраняются, хотя расширение может потребовать адаптации, если изменились заимствованные методы. Прямые правки конфигурации при автоматическом обновлении могут быть затёрты — поэтому обновление базы с доработками выполняют вручную через сравнение и объединение конфигураций.
Как отменить внесённые изменения?
Расширение достаточно отключить или удалить в списке расширений конфигурации. Внешнюю обработку — удалить из списка дополнительных отчётов и обработок. Прямую доработку откатывают восстановлением конфигурации из резервной копии или возвратом объектов на поддержку поставщика через загрузку типовой конфигурации.
Можно ли дорабатывать базовую версию 1С?
Нет. Базовые версии платформы и конфигураций не поддерживают изменение конфигурации и использование расширений — доступны только штатные настройки. Для доработок требуется версия ПРОФ или КОРП.
Что важно запомнить
Начинайте с штатных настроек и расширений, к прямой доработке прибегайте только при недостатке возможностей. Перед любыми изменениями делайте резервную копию, разрабатывайте на тестовой базе и документируйте правки — это сохранит и данные, и возможность обновлений.