Как правильно перенести доработки с УТ 10.3 на УТ 11.5 с помощью расширений?

Программист 1С v8.3 (Управляемые формы) 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

Переход с устаревшей конфигурации Управление торговлей 10.3 на современную версию Управление торговлей 11.5 — это не просто обновление, а полноценная миграция данных и бизнес-логики. Рассмотрим пошагово, как организовать этот процесс, минимизируя вмешательство в типовой код конфигурации.

1. Стратегия выбора: поддержка с изменением или расширения?

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

Рассмотрим преимущества использования расширений:

2. Анализ и перенос доработок

Переносить код «один в один» из УТ 10.3 в УТ 11.5 часто не имеет смысла, так как архитектура систем принципиально отличается. Перед тем как приступать к разработке, проведем анализ:

  1. Анализ НСИ: Оцените все добавленные реквизиты в справочниках (Номенклатура, Контрагенты и др.). Если они критически важны для бизнеса, создайте их в расширении.
  2. Пересмотр процессов: Многие доработки, сделанные в УТ 10.3 «через код», в УТ 11.5 реализованы штатными настройками (например, Аналитика расходов, Комплектация). Не пытайтесь переносить функционал, который уже есть в типовой версии — это сэкономит вам сотни часов работы.
  3. Заимствование объектов: Если вам нужно добавить реквизит в существующий документ, например, в ПоступлениеТоваровУслуг, и этот реквизит должен ссылаться на РеализациюТоваровУслуг, вам необходимо заимствовать оба объекта в расширение. Только после заимствования нужный тип данных станет доступен для выбора.

3. Перенос данных с помощью Конвертации данных (КД 2.1)

Один из самых частых вопросов при работе с расширениями — как «увидеть» новые объекты метаданных в правилах обмена. Рассмотрим алгоритм действий:

  1. Подготовка метаданных: Чтобы расширение стало доступно в Конвертации данных, необходимо выгрузить актуальный XML-файл описания структуры метаданных из целевой базы (УТ 11.5). Убедитесь, что расширение подключено к базе и активно в момент выгрузки структуры.
  2. Обновление в КД: В обработке MD83Exp.epf (выгрузка метаданных) выберите нужную конфигурацию и в настройках укажите расширение. Загрузите полученный файл в базу Конвертации данных через пункт меню «Загрузка метаданных».
  3. Настройка правил: После загрузки метаданных, созданные в расширении справочники и документы появятся в дереве объектов. Вы сможете настроить правила конвертации объектов точно так же, как и для типовых метаданных.

4. Что делать, если объект расширения не заполняется через КД?

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

Рассмотрим пример использования обработчика ПослеЗагрузки в правилах КД:


// Пример кода для обработчика ПослеЗагрузки
// ОбъектОбъект - это загружаемый объект в базе-приемнике
Если ЗначениеЗаполнено(Источник.ДопПоле) Тогда
    ОбъектОбъект.ИмяРеквизитаРасширения = Источник.ДопПоле;
КонецЕсли;

Если же сложность данных такова, что КД не справляется, всегда можно использовать внешнюю обработку. С помощью COM-соединения или простого чтения файла (например, JSON или XML) вы можете дозаполнить данные уже после основного обмена. Это упрощает отладку, так как внешнюю обработку можно запускать многократно для проверки конкретных объектов.

Резюме по работе с расширениями

Запомните главное правило: арендованный гараж. Считайте, что расширение — это ваш гараж. Поставщик (фирма 1С) может изменить машину внутри (типовой документ), но гараж (расширение) остается вашим. Вам не нужно переписывать всё при каждом обновлении, достаточно лишь следить за тем, чтобы заимствованные формы корректно отображали данные.

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

← На главную