Ревизия доработок при переезде на новую конфигурацию

15.05.25

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

Методика, описанная в статье, выработана при переезде с 1С:ДО 2.1 на 1С:ДО 3.0. Может также применяться при переходе с 1С:УПП на 1C:ERP, 1C:ERP на 1C:ERP УХ и т. п. Учтены все необходимые доработки при переезде на новую конфигурацию и предупреждены возможные ошибки.

 

              

               Меня зовут Елена, разработчик 1С в компании Programming Store.

 

Расскажу в статье о методике, выработанной при переезде с 1С:ДО 2.1 на 1С:ДО 3.0. Может также применяться при переходе с 1С:УПП на 1C:ERP, 1C:ERP на 1C:ERP УХ и т. п. Учтены все необходимые доработки при переезде на новую конфигурацию и предупреждены возможные ошибки. 

 

Содержание:

1. Применимость методики.

2. Описание методики

3. Пример: вычленения доработок по новому реквизиту

 

Применимость методики

Методика, описанная в статье, выработана при переезде с 1С:ДО 2.1 на 1С:ДО 3.0. Может также применяться при переходе с 1С:УПП на 1C:ERP, 1C:ERP на 1C:ERP УХ и т. п.

Может применяться:

  1. если необходимо переехать с одной конфигурации на схожую с сохранением текущих доработок;

  2. для ревизии текущих доработок: если нужно составить список всех существующих доработок или найти и вычистить устаревшие.

Методика подойдёт, если:

  • аналитик и разработчик плохо или только частично знакомы с доработками;

  • отсутствует документация;

  • отсутствует или плохо описано ТЗ;

  • на проекте часто меняются аналитики и/или разработчики.

Преимущества методики:

  • каждая доработка переносится в отдельности и сразу же тестируется;

  • количество ошибок после перехода сводится к минимуму;

  • остается документация с описанием всех текущих доработок конфигурации;

  • конфигурация очищается от легаси-кода.

Недостаток методики: подобный подход занимает очень много времени. Оно будет уходить на постоянный перезапуск сравнений/объединений и глобальных поисков. Словесное описание незнакомых доработок тоже может занять время, если не осталось ТЗ или документации с описанием доработки или людей, владеющих информацией, как правило, это аналитик и разработчик по задаче.

 

Описание методики

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

  • в конфигурации;

  • в расширениях;

  • в дополнительных отчетах и обработках;

  • в полях (как правило, строка неограниченной длины), предназначенных для хранения текстов кода, выполняемых при помощи Выполнить или Вычислить;

  • в отчетах, обработках, не подключенных как дополнительные, а открываемые при помощи Файл ? Открыть;

  • в интегрируемых системах — файловые обмены, веб- и http-сервисы. Для ИС будут те же самые источники.

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

Затем нужно подготовить источники к будущим поискам:

  • Создать базу с конфигурацией и без данных, из нее будут вычищаться уже описанные доработки.

  • Создать или актуализировать копию рабочей базы, на которой можно будет проверить работу доработки до вычищения или пройтись отладкой, если из кода непонятна суть доработки.

  • Выгрузить дополнительные отчеты и обработки.

  • Туда же выгрузить внешние отчеты и обработки.

  • Код, хранящийся в пользовательском режиме, также сохранить в текстовый файл, можно всё в один.

Необходимо настроить поиск по всем описанным выше источникам. Последовательность действий такая:

  1. Делаем сравнение с конфигурацией поставщика.

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

  3. Определяем ключевые слова:
    Имя реквизита/объектаМетаданных/функции/процедуры/переменной/элемента формы, выписываем в таблицу вида.

 

Статус доработки

Кому и зачем нужна доработка

Объект конфигурации

Описание изменений

Автор, дата, ТЗ

Ключевые слова

Комментарий

1

 

 

Справочники.Контрагенты.

Реквизиты.Является

СтратегическимПартнером

 

 

ЯвляетсяСтратегическим

Партнером

 

 

Можно изменять состав колонок по своему усмотрению или использовать не таблицу, а иные форматы.

  1. Удаляем доработки из конфигурации.

  2. Делаем глобальный поиск по выписанным ключевым словам для нахождения «связанных кусков». Повторяем пункты 1 — 5, пока не будут выписаны все ключевые слова и удалены все найденные по ним доработки, глобальный поиск по ключевым словам будет давать пустой результат.

  3. Своими словами описываем, что делает эта доработка. Здесь могут помочь комментарии кода с ФИО сотрудника и указанием номера задачи в учетной системе, история хранилища, нетронутая копия базы, отладка.

  4. Проанализировать актуальность доработки в контексте новой конфигурации.

  5. Перенести доработку в новую конфигурацию.

 

Пример: вычленения доработок по новому реквизиту

  1. Делаем сравнение с конфигурацией поставщика.

  2. При сравнении конфигурации с конфигурацией поставщика видно, что у справочника «Контрагенты» добавлен реквизит булевого типа ЯвляетсяСтратегическимПартнером. Берем эту доработку для описания.

  3. Начинаем заполнять таблицу.

 

Статус доработки

Кому и зачем нужна доработка

Объект конфигурации

Описание изменений

Автор, дата, ТЗ

Ключевые слова

Комментарий

1    

Справочники.Контрагенты.

Реквизиты.

ЯвляетсяСтратегическим

Партнером

   

ЯвляетсяСтратегическим

Партнером

 

 

  1. Удаляем реквизит ЯвляетсяСтратегическимПартнером.

  2. Делаем глобальный поиск по строке ЯвляетсяСтратегическимПартнером

На форме документа РасходнаяНакладная в процедуре УправлениеВидимостью нашлось одно упоминание ключевого слова.

//+ Иванов Иван Иванович 10.02.2014 З635924

Если ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Объект.Контрагент, ЯвляетсяСтратегическимПартнером) Тогда

Объект.ДополнительныйКонтрольСделкиПоСтратегическимПартнерам.Видимость = Истина;

Иначе

Объект.ДополнительныйКонтрольСделкиПоСтратегическимПартнерам.Видимость = Ложь;

КонецЕсли;

/- Иванов Иван Иванович 10.02.2014 З0005924
  1. Перезапускаем сравнение с конфигурацией поставщика, оно стало неактуально после удаления реквизита.

  2. Видим, что условие, из процедуры УправлениеВидимостью() формы документа РасходнаяНакладная не типовой, а ДополнительныйКонтрольСделкиПоСтратегическимПартнерам — это добавленная в РасходнуюНакладную табличная часть с одной колонкой Сотрудники.

  3. Продолжаем заполнять таблицу. Добавляем новые объекты конфигурации и ключевое слово.

 

Статус доработки

Кому и зачем нужна доработка

Объект конфигурации

Описание изменений

Автор, дата, ТЗ

Ключевые слова

Комментарий

1

 

 

Справочники.Контрагенты.Реквизиты.

ЯвляетсяСтратегическимПартнером

 

Документы.РасходнаяНакладная.

ФормаДокумента

 

Документы.РасходнаяНакладная.

ТабличнаяЧасть.ДополнительныйКонтроль

СделкиПоСтратегическимПартнерам

 

Иванов Иван Иванович 10.02.2014 З0005924

ЯвляетсяСтратегическим

Партнером

 

ДополнительныйКонтроль

СделкиПоСтратегическим

Партнерам

 

 

  1. Удаляем код из процедура УправлениеВидимостью и ТЧ ДополнительныйКонтрольСделкиПоСтратегическимПартнерам.

  2. Делаем глобальный поиск по новому ключевому слову ДополнительныйКонтрольСделкиПоСтратегическимПартнерам.

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

После того, как будут выписаны и удалены все доработки.

  1. Заполняем таблицу описанием доработки.

 

Статус доработки

Кому и зачем нужна доработка

Объект конфигурации

Описание изменений

Автор, дата, ТЗ

Ключевые слова

Комментарий

     

Справочники.Контрагенты.Реквизиты.

ЯвляетсяСтратегическимПартнером

 

Документы.РасходнаяНакладная.ФормаДокумента

 

Документы.РасходнаяНакладная.ТабличнаяЧасть.

ДополнительныйКонтрольСделки

ПоСтратегическимПартнерам

 

Документы.РасходнаяНакладная.МодульМенеджера
Для стратегических партнеров доступен для заполнения в РН список сотрудников, которым приходит оповещение о проведении документа Иванов Иван Иванович 10.02.2014 З635924

ЯвляетсяСтратегическимПартнером

 

ДополнительныйКонтрольСделки

ПоСтратегическимПартнерам

За последние 2 года ТЧ РН ни разу не заполнялась. Похоже доработка устарела

 

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

Проверяется, не была ли реализована подобная доработка или ее аналог в новой конфигурации. Результат анализа также заносится в таблицу, например:

 

Статус доработки Кому и зачем нужна доработка Объект конфигурации Описание изменений Автор, дата, ТЗ Ключевые слова Комментарий
1 Не переносим Доработка устарела. Оповещение о документе осуществляется через Документооборот

Справочники.Контрагенты.Реквизиты.

ЯвляетсяСтратегическимПартнером

Документы.РасходнаяНакладная.

ФормаДокумента

Документы.РасходнаяНакладная.

ТабличнаяЧасть.

ДополнительныйКонтрольСделки

ПоСтратегическимПартнерам

Документы.РасходнаяНакладная.

МодульМенеджера

Для стратегических партнеров доступен для заполнения в РН список сотрудников, которым приходит оповещение о проведении документа Иванов Иван Иванович 10.02.2014 З635924

ЯвляетсяСтратегическимПартнером

ДополнительныйКонтрольСделки

ПоСтратегическимПартнерам

За последние 2 года ТЧ РН ни разу не заполнялась. Похоже доработка устарела

 

 

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

 

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

В процессе переноса можно провести рефакторинг и оптимизацию кода. Очистить его от устаревших подходов разработки. Например, заменить ЭтаФорма на ЭтотОбъект, ЗначениеВСтрокуВнутр на ОбщегоНазначения, ЗначениеВСтрокуXML и т. п. Привести код к стандартам ИТС.

Таким образом, мы учли и перенесли все необходимые доработки при переезде на новую конфигурацию, исключив возможные ошибки.

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

Конфигурация поставщика Глобальный поиск Доработки Перенос Переход Рефакторинг

См. также

Рефакторинг и качество кода Программист Бесплатно (free)

Костыль, рефакторинг или архитектура - делюсь своим видением того, как выбирать правильный инструмент под конкретную задачу. За годы в 1С я выработал алгоритм "трех зон", который помогает мне не только писать код, но и говорить с бизнесом на его языке. В статье рассказываю, когда временное решение оправдано, а когда оно становится миной замедленного действия. Никаких нотаций, только мой опыт принятия решений, где каждая строчка имеет цену. Буду рад, если моя система поможет вам по-новому взглянуть на привычную рутину.

19.12.2025    1428    GarriSoft    14    

14

Рефакторинг и качество кода Программист Бесплатно (free)

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

15.12.2025    1156    GarriSoft    21    

20

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

ИИ для код-ревью – не просто модный тренд, а реальный инструмент, который уже помогает разработчикам экономить время и повышать качество кода. В статье разбираемся, как запустить локальную LLM на базе Ollama, подключить ее к Git через Webhook и Python-скрипт, а также какие параметры модели отвечают за точность и галлюцинации. Делимся схемой работы, настройками и результатами тестирования, доказывая, что автоматизированное код-ревью действительно может работать – даже без космического бюджета.

30.10.2025    4242    user2100900    4    

17

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

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

28.10.2025    4890    vaillant    35    

16

Обновление 1С Рефакторинг и качество кода Механизмы платформы 1С 1С 8.3 Отраслевые 1С:Бухгалтерия 3.0 1С:ERP Управление предприятием 2 1С:Зарплата и Управление Персоналом 3.x 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Управление торговлей 11 1С:Розница 3.0 1С:Документооборот Абонемент ($m)

Конфигурация "Анализ конфигураций (версия 5)" - позволяет проверять любые конфигурации, расширения, отчеты и обработки на наличие ошибок, связанных с вызовом экспортных функций и процедур общих модулей и модулей менеджеров объектов. Проверяются ошибки: 1) Метод объекта не обнаружен 2) Недостаточно фактических параметров. 3) Слишком много фактических параметров. Рекомендуется выполнять при подготовке обновлений. Анализ расширений - позволяет выводить подробный количественный состав расширений по объектам, определить случаи пересечения одного и того же функционала в разных расширения, выявить использование в модулях аннотации "вместо".

10 стартмани

17.10.2025    5849    31    Suker86    16    

21

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

Использование Библиотеки стандартных подсистем позволяет разработчикам 1С значительно ускорить процесс создания решений за счет готового универсального кода, поддерживаемого и обновляемого официальным вендором. В статье рассказывается про роль и применение «Библиотеки стандартных подсистем» (БСП), примеры интеграции и подключения подсистем.

23.09.2025    7426    AlexeyPROSTO_1C    1    

16

Рефакторинг и качество кода Программист Россия Бесплатно (free)

GRASP-паттерны в 1С: меньше хаоса, больше архитектуры.

28.08.2025    11869    lapinio    49    

61

Обновление 1С Программист 1С:Предприятие 8 Бесплатно (free)

При обновлении конфигураций ЕРП/КА/УТ типовыми обновлениями можно получить ошибку  Превышен максимальный расход памяти сервера за один вызов". С чем это связано? Рассмотрим исправление этой ошибки.

18.08.2025    4688    iolko    10    

20
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. aleksey2 91 21.04.25 14:40 Сейчас в теме
Разве ЭтаФорма - устаревшая?
2. amiralnar 9 22.04.25 08:32 Сейчас в теме
На методику это не тянет. Для поиска лучше пользоваться vscode. При переносе доработок их следует покрывать тестами, а не отлаживать вручную.
3. ltfriend 24.04.25 10:54 Сейчас в теме
заменить ЭтаФорма на ЭтотОбъект

Боюсь спросить, зачем?
4. MKassatkin 28.04.25 09:22 Сейчас в теме
(3) Рекомендации по переводу с 8.2 на 8.3

1С:ИТС
Для отправки сообщения требуется регистрация/авторизация