Разработка и Конфигурация · 11 мин
Как добавить расширение в 1С:Розница
Как подключить расширение в 1С:Розница 2.3 и 3.0: подготовка файла CFE, режим совместимости, безопасный режим, проверка работы и типичные ошибки при установке.
Расширение конфигурации — основной способ доработать 1С:Розницу без снятия конфигурации с поддержки. В отличие от прямого изменения типовой конфигурации, расширение подключается отдельным слоем, не мешает штатным обновлениям и позволяет добавить обработчики событий, формы, печатные макеты и новые объекты. Типовой сценарий — когда нужно изменить печатную форму чека, добавить проверку при записи документа или доработать форму РМК, не ломая механизм обновления.
Подключение расширения занимает несколько минут, но требует подготовки: нужно проверить совместимость расширения с версией вашей Розницы, определить режим безопасности и убедиться, что после подключения программа работает корректно. Ниже разобран полный порядок действий для файловой и клиент-серверной базы, а также частые ошибки и способы их устранения.
Инструкция подходит для 1С:Розница редакций 2.2, 2.3 и 3.0 на платформе 8.3. Интерфейс управления расширениями в этих версиях практически одинаковый, отличия касаются только расположения пункта меню.
Что такое расширение и когда его стоит использовать
Расширение конфигурации — это файл с расширением CFE, который содержит доработки: переопределённые модули, новые формы, роли, подсистемы, отчёты. При запуске базы платформа «накладывает» расширение поверх основной конфигурации, и пользователь работает уже с изменённой логикой. Сама типовая конфигурация при этом остаётся нетронутой.
Расширение уместно, когда нужно: изменить печатную форму или макет, добавить контроль при проведении документов, доработать рабочее место кассира, встроить дополнительный отчёт или обработку, подключить нестандартное оборудование через собственные механизмы. Для простых внешних отчётов и обработок расширение не обязательно — достаточно механизма «Дополнительные отчеты и обработки».
Главное ограничение: расширение не позволяет изменять структуру типовых объектов произвольно. Нельзя, например, удалить реквизит типового документа или изменить тип существующего поля. Также расширение не заменяет полноценную доработку конфигурации, если требуется глубокая перестройка учётных механизмов.
Подготовка перед подключением расширения
Первый шаг — резервная копия. Для файловой базы достаточно скопировать каталог с файлом 1Cv8.1CD или сделать выгрузку через конфигуратор («Администрирование → Выгрузить информационную базу»). Для клиент-серверной базы используйте средства СУБД или выгрузку DT. Хотя добавление расширения не меняет данные напрямую, ошибочное расширение может заблокировать вход в базу, и откат через копию будет быстрее.
Второй шаг — проверка совместимости. Уточните у разработчика расширения, для какой версии Розницы оно создано. Расширение, собранное под Розницу 2.2, может не заработать на 3.0 из-за переименованных объектов и изменённых модулей. Если у вас есть исходники расширения, откройте его в конфигураторе и выполните проверку применимости («Конфигурация → Расширения конфигурации → Проверка возможности применения»).
Третий шаг — определите, требует ли расширение отключения безопасного режима. Если расширение обращается к файловой системе, внешним компонентам или COM-объектам, в безопасном режиме оно работать не будет. Снятие безопасного режима допустимо только для расширений из доверенного источника.
Как добавить расширение через интерфейс предприятия
Основной способ подключения — через пользовательский интерфейс, без конфигуратора. Откройте раздел «НСИ и администрирование» (в Рознице 2.2/2.3 — «Администрирование»), затем «Печатные формы, отчеты и обработки». Если пункт «Расширения» не виден, проверьте, что у пользователя есть права администратора и что включён соответствующий функциональный опциональный пункт интерфейса.
В открывшемся списке расширений нажмите «Добавить из файла» и укажите файл CFE. Программа покажет имя, версию и назначение расширения. После добавления в списке появится новая строка: установите флаг «Используется», при необходимости снимите флаг «Безопасный режим» и флаг «Защита от опасных действий» — только если доверяете источнику.
После сохранения платформа попросит перезапустить сеанс. До перезапуска расширение не применяется: пользователи продолжают работать со старой логикой. В файловой базе достаточно перезапустить свой сеанс; в клиент-серверной — расширение начнёт действовать для всех сеансов, запущенных после подключения.
- 1Сделайте резервную копию базы (выгрузка DT или копия файла 1Cv8.1CD)
- 2Откройте «НСИ и администрирование → Печатные формы, отчеты и обработки → Расширения»
- 3Нажмите «Добавить из файла» и выберите файл CFE
- 4Проверьте имя и версию расширения в диалоге, подтвердите добавление
- 5Установите флаг «Используется», при необходимости снимите «Безопасный режим»
- 6Перезапустите сеанс и проверьте работу доработанного функционала
Подключение расширения через конфигуратор
Альтернативный способ — через конфигуратор, он удобен разработчику и при пакетной установке. Откройте конфигуратор с правами администратора, перейдите в «Конфигурация → Расширения конфигурации». В окне списка выберите «Добавить» и загрузите файл CFE через «Загрузить из файла».
Здесь же доступны дополнительные настройки: активность расширения, безопасный режим, использование в основных ролях. После добавления обновите конфигурацию базы данных (F7), иначе расширение не сохранится в базе. Конфигуратор потребует монопольного доступа, если расширение затрагивает структуру данных (добавляет свои объекты).
Через конфигуратор удобно проверить применимость до загрузки: откройте расширение как конфигурацию («Конфигурация → Загрузить конфигурацию из файла» не требуется — расширения открываются через отдельное окно) и выполните проверку. Ошибки применимости покажут, какие типовые объекты, на которые опирается расширение, отсутствуют или изменены в вашей версии.
Безопасный режим и профили безопасности
По умолчанию расширения подключаются в безопасном режиме: запрещены обращения к файловой системе сервера, COM-объектам, внешним компонентам и запуску внешних приложений. Для большинства доработок печатных форм и проверок этого достаточно, и снимать защиту не нужно.
Если расширение должно работать с файлами или оборудованием, есть два пути. Первый — снять флаг «Безопасный режим» для конкретного расширения: просто, но код получает полный доступ. Второй — в клиент-серверном варианте настроить профиль безопасности в консоли кластера и назначить его расширению: доступ выдаётся только на конкретные каталоги и компоненты. Второй вариант предпочтительнее для серверных баз.
Проверка работы расширения после установки
После перезапуска сеанса убедитесь, что расширение активно: в списке расширений у строки должен стоять флаг «Используется» и не должно быть пометки об ошибке. Затем проверьте саму доработку: откройте изменённую форму, сформируйте печатный документ, проведите документ, для которого добавлен контроль.
Проверяйте не только основной сценарий, но и смежные. Например, если расширение меняет форму РМК, проверьте открытие смены, пробитие чека, возврат и закрытие смены. Ошибки в расширении часто проявляются не сразу, а при конкретных действиях пользователя.
Как проверить результат
Флаг «Используется» установлен, ошибок применения нет
Строка подсвечена, в колонке состояния сообщение об ошибке
Форма открывается, доработанные элементы видны и функционируют
Ошибка при открытии формы или отсутствуют ожидаемые изменения
Нет ошибок с указанием имени расширения
Повторяющиеся ошибки выполнения кода расширения
Типичные ошибки и способы их устранения
Самая частая проблема — расширение добавлено, но изменения не видны. Причины: не перезапущен сеанс, не установлен флаг «Используется», либо расширение подключено, но конфликтует с другим расширением, которое перекрывает те же объекты. Порядок применения расширений соответствует порядку в списке — проверьте, нет ли «конкурента» ниже по списку.
Вторая типичная ситуация — после обновления Розницы расширение отключилось или выдаёт ошибки. При обновлении типовой конфигурации платформа проверяет применимость расширений: если типовой объект, на который опиралось расширение, изменился или удалён, расширение помечается как неприменимое. Решение — обновить расширение у разработчика под новую версию либо исправить его самостоятельно в конфигураторе.
Третья проблема — ошибка «нарушение прав доступа» или молчаливое неисполнение кода. Обычно это следствие безопасного режима: код пытается обратиться к файлу или компоненту, а платформа блокирует вызов. Снимите безопасный режим для этого расширения или настройте профиль безопасности.
Обновление, отключение и удаление расширения
Для обновления расширения на новую версию не нужно его удалять: в списке расширений выделите строку и нажмите «Обновить из файла», укажите новый CFE. Версия и содержимое заменятся, настройки безопасного режима сохранятся. После обновления снова перезапустите сеанс.
Временно отключить расширение можно снятием флага «Используется» — данные и само расширение останутся в базе, но доработки перестанут применяться. Это удобно для диагностики: если после отключения проблема исчезла, причина в расширении. Полное удаление выполняется кнопкой «Удалить» и необратимо — файл придётся загружать заново.
В клиент-серверной базе действия с расширениями выполняет администратор; обычным пользователям достаточно перезапустить сеанс после изменений. Если база работает в режиме совместимости с разделением данных (сервис), порядок подключения отличается — расширения привязываются к области данных.
Что важно запомнить
Расширение подключается через «Печатные формы, отчеты и обработки → Расширения» или конфигуратор, требует перезапуска сеанса и проверки после установки. Перед подключением делайте резервную копию, проверяйте совместимость с версией Розницы и не снимайте безопасный режим для файлов из недоверенных источников.
Частые вопросы
Можно ли подключить расширение без прав администратора?
Нет. Добавление, обновление и удаление расширений требует административных прав в информационной базе. Обычный пользователь может только увидеть результат работы расширения после перезапуска своего сеанса.
Расширение добавлено, но ничего не изменилось. Что проверить в первую очередь?
Перезапустите сеанс — расширения применяются только при старте сеанса. Затем убедитесь, что в списке расширений установлен флаг «Используется», и проверьте, нет ли другого расширения, перекрывающего те же объекты ниже по списку.
Что произойдёт с расширением при обновлении 1С:Розницы?
Расширение сохранится в базе, но платформа проверит его применимость к новой версии конфигурации. Если типовые объекты, использованные в расширении, изменились, расширение будет отключено с диагностикой — потребуется его адаптация под новый релиз.
Чем расширение отличается от внешней обработки?
Внешняя обработка запускается вручную или по расписанию и не изменяет типовые формы и модули. Расширение встраивается в конфигурацию: переопределяет обработчики событий, изменяет формы и работает постоянно, пока включено.
Можно ли подключить несколько расширений одновременно?
Да, ограничений по количеству нет. Но если два расширения изменяют один и тот же объект или метод, применяется то, что находится выше в порядке применения. Такие конфликты нужно выявлять тестированием на копии базы.
Как полностью убрать расширение из базы?
Откройте список расширений, снимите флаг «Используется», затем удалите строку кнопкой «Удалить» и перезапустите сеанс. Если расширение добавляло собственные объекты с данными, платформа предложит удалить связанные данные — подтвердите только если они не нужны.