Переход на новую конфигурацию или активное развитие существующей системы 1С всегда сопровождается множеством изменений. Рано или поздно перед руководством и ИТ-отделом встает критически важный вопрос: как, где и в каком формате фиксировать доработки? Необходимо четко понимать, кто именно внес изменения, когда это было сделано, зачем (какие бизнес-требования стояли за задачей) и как именно технически реализовано решение.
Отсутствие системного учета доработок ведет к потере контроля над кодовой базой, усложнению процесса обновлений конфигурации и зависимости от конкретных разработчиков. В этой статье мы подробно разберем современные методики, инструменты и стандарты, которые позволяют организовать прозрачный процесс ведения учета изменений в 1С.
Рассмотрим базовые возможности, предоставляемые самой платформой 1С. Это фундамент, с которого начинается контроль версий в небольших командах.
Хранилище конфигурации 1С — это встроенный инструмент для коллективной разработки. При захвате объектов и последующем их помещении в хранилище платформа принудительно запрашивает комментарий. Мы рекомендуем внедрить жесткое правило для разработчиков: комментировать каждое помещение в хранилище. Комментарий должен содержать:
Несмотря на свою простоту, встроенное ХранилищеКонфигурации имеет существенный минус — историю изменений неудобно анализировать внешним пользователям (например, руководителям проектов или аналитикам).
Поэтому вторым важнейшим правилом является использование механизма расширений конфигурации. Вместо изменения типовых объектов конфигурации (что затрудняет последующие обновления) все доработки следует выносить в расширения. Это позволяет:
Проанализируем профессиональный инструмент от самой фирмы 1С, созданный специально для решения этой задачи — 1С:СППР (Система проектирования прикладных решений).
Это мощная методологическая система, которая позволяет увязать воедино требования бизнеса, технические проекты, конкретные задачи программистам и измененные объекты метаданных. Работа в 1С:СППР строится следующим образом:
Выясним, как организовать учет изменений на уровне мировых стандартов разработки ПО. Классическое хранилище 1С постепенно уступает место распределенным системам контроля версий, в частности Git.
Для интеграции 1С с Git применяются два основных подхода:
Git. Вся история изменений хранится построчно, позволяя детально сравнивать разные версии кода.При таком подходе каждый коммит содержит информацию об авторе, дате и хэш-код изменения. Руководитель или ведущий архитектор может настроить автоматические уведомления об изменениях в коде.
Любая доработка программы начинается с бизнес-потребности. Чтобы ответить на вопрос "зачем это было сделано", технические изменения должны быть жестко связаны с таск-трекером. Посмотрим на примере популярных систем контроля задач (Yandex Tracker, Jira, Kaiten, Redmine):
TASK-1024.Разберем по шагам, как правильно комментировать доработки непосредственно внутри конфигурации 1С. Без единого регламента код быстро превращается в хаос. Каждое вмешательство в типовой код или создание новых процедур должно оборачиваться специальными тегами.
Рассмотрим пример правильного комментирования доработки в модуле объекта:
// {НомерЗадачи} {Дата} {Автор} Начало доработки
// Назначение: Добавлена проверка заполнения обязательного реквизита "Договор" для определенных видов операций.
Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
// Вызов типового функционала
ПроверитьЗаполнениеТиповыхРеквизитов();
// {НомерЗадачи} {Дата} {Автор} Вставка кода
Если ЭтотОбъект.ВидОперации = Перечисления.ВидыОпераций.ОсобаяОперация Тогда
Если Не ЗначениеЗаполнено(ЭтотОбъект.ДоговорКонтрагента) Тогда
Отказ = Истина;
ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Для данной операции необходимо заполнить договор!");
КонецЕсли;
КонецЕсли;
// Конец вставки {НомерЗадачи}
КонецПроцедуры
// {НомерЗадачи} {Дата} {Автор} Конец доработки
Такой подход позволяет в будущем использовать глобальный поиск по конфигурации (например, по фамилии разработчика или номеру задачи) и мгновенно находить все измененные участки кода.
Для фиксации изменений не только на уровне кода, но и на уровне пользовательских инструкций, активно используются внешние инструменты документирования:
Проанализируем ситуацию и выберем оптимальную стратегию внедрения учета доработок в зависимости от масштаба вашей ИТ-службы:
1С:EDT с использованием Git-flow, организуйте автоматическую сборку релизов и документирование архитектурных решений в 1С:СППР.Помните, что порядок в учете доработок начинается с жесткой дисциплины и соблюдения регламентов всей командой разработки. Автоматизация этих процессов лишь закрепляет и упрощает выстроенные правила.