Как эффективно организовать процесс разработки и доработки в 1С:ERP?

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

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

Методология коллективной разработки через Хранилище конфигурации

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

  1. Рабочая база: Подключается к хранилищу только в режиме «Получение изменений» под учетной записью администратора. Это гарантирует, что в «прод» попадет только стабильный код.
  2. Тестовая база (полная копия): Для каждого разработчика создается индивидуальная копия рабочей базы. Разработчик подключается к хранилищу с полными правами, выполняет захват объектов, кодит и тестирует на реальных данных.
  3. Ночная копия: Полезно настроить автоматическое создание копии рабочей базы каждую ночь. Это позволит разработчикам иметь актуальные данные для отладки без необходимости вручную обновлять свои тестовые контуры.

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

Переход на расширения конфигурации: современный стандарт

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

Для взаимодействия расширения и основной конфигурации применим архитектурный паттерн «Переопределяемый модуль». Создадим в основной конфигурации модуль ххх_Переопределяемый с пустыми процедурами-заглушками. В расширении переопределим их, добавив логику. Таким образом, основная конфигурация лишь «знает» о существовании точки расширения, а вся логика живет отдельно.

Методика «чистого» заимствования форм в расширение

Одной из самых сложных задач является доработка стандартных форм ERP без их захламления. Часто при заимствовании формы в расширение туда копируются все реквизиты и элементы, что создает конфликты при обновлении. Разберем по шагам «лайфхак» по созданию пустой унаследованной формы:

  1. Создаем временную пустую файловую базу.
  2. В основной конфигурации этой базы создаем объект с таким же именем, как в ERP (например, справочник Контрагенты).
  3. Создаем у него форму с нужным именем (например, ФормаЭлемента).
  4. Критически важный шаг: Удаляем из этой формы все автоматически созданные элементы (Код, Наименование и т.д.).
  5. Добавляем эту «очищенную» форму в расширение в этой же пустой базе.
  6. Выгружаем расширение в файл .cfe.
  7. В рабочей базе ERP выполняем сравнение и объединение вашего расширения с этим файлом.

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


&НаСервере
Процедура ххх_ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)
    // Программное создание элемента
    НовыйЭлемент = Элементы.Добавить("ххх_ДополнительнаяИнформация", Тип("ПолеФормы"), Элементы.ГруппаШапка);
    НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода;
    НовыйЭлемент.ПутьКДанным = "Объект.ххх_ДополнительнаяИнформация";
КонецПроцедуры

Инструментарий и требования к мощностям

Работа с 1С:ERP — это ресурсоемкий процесс. Выясним, какие технические условия необходимы для комфортной разработки. При использовании EDT (Enterprise Development Tool) и систем контроля версий Git, требования к железу возрастают кратно.

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

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

Автоматизация тестирования и CI/CD

Сложность ERP такова, что любое изменение в одном модуле может «сломать» учет в совершенно другом месте. Разберем, как обезопасить себя с помощью автоматизации. Рекомендуется внедрять сценарное тестирование с использованием инструментов типа Vanessa Automation.

Простейший алгоритм проверки после доработки:

  1. Запуск дымовых тестов (проверка открытия всех форм и отсутствия синтаксических ошибок).
  2. Выполнение автоматизированного сценария проведения основного документа (например, ЗаказКлиента), чтобы убедиться, что ваши изменения в расширении не нарушили работу движений регистров.

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

← На главную