Перенос доработок в расширение с сохранением данных при переходе на типовую конфигурацию 1С

22.09.26

Разработка - Рефакторинг и качество кода

Первоначальная задача заключалась в локальном переносе добавленных объектов метаданных (справочников, документов) и кастомной логики в расширение без потери накопленных данных. Но в ходе проекта, когда работы были уже практически завершены, заказчик принял решение полностью вернуть конфигурацию к типовому виду и перенести в расширение все измененные свойства стандартных объектов, включая изменения типов реквизитов.

При сопровождении сильно измененных 1С достаточно частая задача — очистка основной конфигурации от изменений и вынос их в расширения. Это необходимо для снижения стоимости последующих обновлений, стандартизации кода и возврата конфигурации к полностью типовому виду.

Расскажем о нашем алгоритме по миграции доработок в расширение на одном из проектов с «1С:Комплексная автоматизация 2» релиз 2.5.22.114.
 

Когда префиксы уже не помогают

Вариант с использованием префиксов для измененных стандартных объектов в этой ситуации уже не работал. Мы столкнулись с такими проблемами:

  1. Риск потери данных: при простом удалении объектов из основной конфигурации или изменении их типов данных в процессе обновления СУБД происходит необратимая потеря информации.
  2. Ограничения платформы при изменении типов данных: прямая замена типов реквизитов в основной конфигурации на типы из расширения некорректно обрабатывается платформой при реструктуризации.
  3. Особенность платформы при интеграции команд: выявлена критическая особенность платформы, ограничивающая корректный вывод кастомной команды создания связанных документов через стандартные механизмы расширения метаданных. Использование штатного добавления команды в расширение приводило к нестабильной работе интерфейса.
     

Алгоритм переноса доработок в расширение

Мы сделали такую схему миграции доработок из конфигурации.
 

Шаг 1. «Мягкое» удаление объектов

Для миграции добавленных объектов метаданных, использовалась схема «мягкого» удаления:

  1. Создание промежуточной конфигурации: все переносимые новые кастомные объекты в основной конфигурации переименовывались путем добавления префикса Удалить_.
  2. Создание расширения: в целевое расширение переносились те же объекты, но под своими первоначальными именами.
  3. Создание обработки для переноса данных из одних объектов в другие: в рабочую базу загружалась промежуточная конфигурация, подключалось расширение. С помощью обработки выполнялся перенос данных из объектов конфигурации с префиксом в объекты расширения без префикса.
  4. Загрузка финальной конфигурации: после верификации переноса данных в базу загружалась финальная конфигурация, из которой объекты с префиксом Удалить_ были полностью исключены.
     

Шаг 2. Перенос изменений в типовых объектах

При переносе в расширение измененных типовых объектов алгоритм с префиксом Удалить_ не подходит для измененных реквизитов, нужна доработка промежуточной конфигурации и логики обработки.

Для сохранения накопленных в измененных реквизитах алгоритм был переведен на файловый обмен:

  1. Экспорт данных: перед началом обновления данные изменённых реквизитов и объектов основной конфигурации выгружаются во внешний файл — сериализованный XML/JSON-пакет.
  2. Подготовка базы: в информационную базу загружается промежуточная конфигурация и файл расширения.
  3. Импорт и сопоставление: обработка в транзакционном режиме выполняет восстановление измененных типов и данных в реквизитах расширения из ранее созданного файла, а затем обрабатывает добавленные объекты по первоначальной логике — из объектов с префиксом Удалить_.
  4. Очистка конфигурации: после успешного переноса — производится загрузка полностью типовой конфигурации «1С:Комплексная автоматизация 2». Все кастомные данные теперь физически хранятся и обрабатываются внутри таблиц расширения.

Таким образом, все изменения в свойствах типовых объектов и реквизитах, включая типы данных, были перенесены в расширение.
 

Шаг 3. Обход ограниченийплатформы при создании связанных документов через стандартные механизмы расширения метаданных

Для обхода нестабильного поведения платформы при выводе доработанной команды «Ввод на основании» через стандартную форму расширения — мы отказались от настройки команды в окне свойств и дереве метаданных в пользу программного интерфейса:

  1. Кастомная команда ввода на основании была полностью удалена из дерева метаданных конфигурации/расширения.
  2. В расширение добавлены служебные модули для реализации логики:
    • [Префикс]_СозданиеНаОснованииКлиент
    • [Префикс]_СозданиеНаОснованииВызовСервера
  3. Регистрация и вывод команды в интерфейс стандартных документов конфигурации реализованы через интеграцию с подсистемой «Подключаемые команды» Библиотеки Стандартных Подсистем (БСП).
     

Итоги: 3 совета по упрощению переноса доработок 1С в расширение

  • Используйте транзитные файлы при изменении типов данных: пытаться изменить тип реквизита «на лету» в процессе динамического обновления или реструктуризации СУБД — критический риск. Схема «Выгрузка в файл e32; Обновление конфигурации e32; Загрузка из файла в расширение» гарантирует сохранность данных.
  • Стандартизируйте имена: применение префиксов, например, Удалить_, на промежуточных этапах позволяет избежать конфликтов пространств имен платформы при одновременном наличии объекта в конфигурации и расширении.
  • Минимизируйте создание элементов интерфейса в редакторе расширений: при изменении командных панелей и сложных форм лучше выводить кнопки и элементы кодом через БСП. Это защитит от сбоев внешнего вида формы при обновлении платформы.

Вступайте в нашу телеграмм-группу Инфостарт

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

Рефакторинг и качество кода Обновление 1С Разработчик 1С:Предприятие 8 1С:ERP Управление предприятием 2 Бесплатно (free)

На проекте сложного обновления 1С:ERP 2.4.14.181 до версии 2.5.22.106 нам было нужно уложить обновление в технологическое окно 48 часов (выходные). Исходный замер, с учетом промежуточных релизов 2.5.8.443, 2.5.12.270, 2.5.17.234, 2.5.22.106, показал требуемое время в 659 часов…

07.07.2026    6210    1c-izh    21    

22

Обновление 1С Разработчик 1С 8.3 Россия Бесплатно (free)

Внешняя обработка для проверки методов расширений с директивами &Вместо, &Перед, &После и &ИзменениеИКонтроль после обновления типовой конфигурации. Обработка анализирует файловые выгрузки старой и новой конфигурации, автоматически определяет изменившиеся типовые методы и формирует список методов расширения, требующих проверки.

25.06.2026    2080    164    akeeela    8    

19

Нейросети Обновление 1С Бесплатно (free)

Когда доработанную 1С не обновляли годами, начинать приходится не с переноса кода, а с разбора того, что вообще накопилось в базе. Там могут быть десятки обработок, расширения, правки типовых объектов, а документации либо нет, либо она давно не актуальна. На примере реального обновления разбираем, как кодовые агенты, MCP-серверы и языковые модели помогают навести порядок в доработках, собрать план миграции, понять, где при переносе будут проблемы, и автоматизировать часть исправлений.

05.06.2026    8758    wonderboy    6    

29

Инструментарий разработчика Рефакторинг и качество кода Разработчик 1С:Предприятие 8 Бесплатно (free)

Инструмент для тех, кто устал читать модули по 50 тысяч строк и искать ошибки глазами. MetaVision загружает выгруженные файлы конфигурации и за секунды строит графы функций, находит уязвимости и подсвечивает проблемы производительности. Ключевые возможности: Визуализация логики функций (графы условий, циклов, транзакций и вызовов). Статический аудит безопасности (RCE, SSRF, COM-инъекции, пароли в коде). Поиск проблем производительности (запросы в циклах, вложенные блокировки). Полнотекстовый поиск по всем модулям конфигурации. Статистика по объектам и функциям. Безопасность: Программа работает строго локально. Код вашей конфигурации не отправляется в интернет и не анализируется на сторонних серверах. Попробуйте MetaVision сегодня — узнайте, что скрывает ваш код.

20.04.2026    14595    1418    KHoroshulinAV    63    

95

Нейросети Рефакторинг и качество кода Разработчик Бесплатно (free)

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

17.03.2026    4680    IgorVasilyev    54    

28

Обновление 1С Разработчик 1С 8.3 Россия Бесплатно (free)

При разработке тиражного прикладного решения или при использовании автоматизации сборки вам потребуется механизм создания файлов поставки. В статье приведена шпаргалка по работе с ним.

11.02.2026    4801    AntonovaElena    9    

19

Нейросети Рефакторинг и качество кода Разработчик Бесплатно (free)

В статье рассказываю, как писать код 1С в VS Code с помощью бесплатных AI-моделей 🤖 Используем GLM-4.7 через Roocode + Cerebras (до 1 миллион токенов в день). Подключаем бесплатные MCP. Генерируем новый код и смотрим, как AI справляется с задачами.

06.02.2026    28034    Ibrogim    84    

53

Нейросети Рефакторинг и качество кода Разработчик Бесплатно (free)

Некоторые задачи можно и нужно делегировать ИИ, а простые задачи можно отдавать бесплатным моделям. В статье коротко рассказываю про расширение roocode для vscode, инструмент openrouter и реальную задачу по рефакторингу кода.

02.02.2026    21708    Ibrogim    59    

54
Для отправки сообщения требуется регистрация/авторизация