Содержание:
1. Документация изменений в программе 1С
2. Система контроля версий в системе программ 1С
Управление изменениями в общих модулях 1С — это ключевая задача для разработчиков и администраторов информационных систем. Необходимость отслеживания изменений обусловлена влиянием на функциональность и производительность системы. В данной статье мы рассмотрим эффективные подходы к учету изменений, а также методы переноса и переименования функций для автоматизации обновления конфигураций.
▎Учет изменений в общих модулях
1. Документация изменений в программе 1С
▎Структура документации:
• Общее описание: Краткая информация о назначении модуля.
• Функционал: Список функций с их описаниями.
• Параметры функций: Подробности о каждом параметре (тип, обязательность).
• Возвращаемые значения: Описание возвращаемых данных и условий их получения.
• Ошибки: Возможные исключения и ошибки, которые могут возникнуть при вызове функций.
• История изменений: Дата, автор, описание изменений и ссылки на задачи.
▎Инструменты для ведения документации:
• Используйте такие платформы, как Confluence или GitHub Wiki для хранения документации.
• Markdown или AsciiDoc могут быть полезны для создания структурированных документов.
▎Пример структуры документации
Общий модуль: УчетДанных
▎УчетДанных
Модуль предназначен для учета и анализа данных о продажах.
Функции
Функция: ПолучитьДанныеПоПродажам
• Описание: Возвращает список продаж за указанный период.
• Параметры:
• ДатаНачала (Дата) — Начало периода.
• ДатаКонца (Дата) — Конец периода.
• Возвращаемое значение: Таблица значений с данными о продажах.
• Ошибки:
• Исключение "Неверные даты" — если ДатаНачала превышает ДатаКонца.
История изменений
• 01.10.2023: Добавлена функция ПолучитьДанныеПоПродажам (Автор: Иванов И.И.).
2. Система контроля версий в системе программ 1С
▎Основные команды Git:
• git init: Создание нового репозитория.
• git clone: Клонирование существующего репозитория.
• git commit: Фиксация изменений с комментарием.
• git branch: Управление ветками (создание, удаление).
• git merge: Слияние веток.
• git pull и git push: Получение и отправка изменений.
▎Работа с ветками:
• Создавайте отдельные ветки для новых функций или исправлений.
• Регулярно объединяйте изменения с основной веткой (например, main или develop).
▎Пример работы с Git
1. Инициализация репозитория:
git init
2. Клонирование репозитория:
git clone https://github.com/username/repo.git
3. Создание новой ветки:
git checkout -b feature/new-function
4. Фиксация изменений:
git add .
git commit -m "Добавлена новая функция для учета данных"
5. Слияние ветки:
git checkout main
git merge feature/new-function
3. Регулярные ревью кода в 1C
▎Процесс ревью:
• Установите стандарты для ревью (например, минимум два рецензента).
• Используйте инструменты, такие как GitHub Pull Requests или GitLab Merge Requests.
▎Пример процесса ревью
1. Создание Pull Request на GitHub после завершения работы над функцией.
2. Назначение рецензентов и ожидание их отзывов.
3. Обсуждение изменений в комментариях PR.
4. Внесение правок на основе полученной обратной связи.
▎Обратная связь:
• Предоставляйте конструктивную критику.
• Обсуждайте альтернативные подходы и решения.
▎Перенос и переименование функций
▎1. Анализ зависимостей
▎Инструменты для анализа:
• Используйте встроенные средства разработки 1С для поиска мест использования функции (например, "Поиск по коду").
• Внешние инструменты, такие как "1С:Enterprise" или "1С:Develop", помогут в анализе зависимостей.
▎Создание карты зависимостей
Для эффективного анализа зависимостей используйте встроенные инструменты разработки 1С, чтобы выявить все места использования функции перед ее переносом или переименованием. Это позволит минимизировать риски возникновения ошибок и упростит процесс обновления конфигураций:
Поиск по коду: "ПолучитьДанныеПоПродажам"
• Разработайте визуальную карту зависимостей между функциями и модулями для лучшего понимания структуры кода.
▎2. Обновление ссылок
• Поиск и замена:
• Используйте функции IDE для массового поиска и замены ссылок на переименованные функции.
• Ручная проверка:
• После автоматической замены проведите ручную проверку ключевых участков кода, чтобы убедиться в корректности обновлений.
Обновление ссылок
▎Пример поиска и замены
Если вы переименовали функцию ПолучитьДанныеПоПродажам в ПолучитьПродажи, используйте функцию IDE для массового поиска и замены:
Поиск: ПолучитьДанныеПоПродажам
Замена: ПолучитьПродажи
▎3. Тестирование
• Типы тестирования:
• Модульное тестирование: Проверка отдельных функций. Используйте фреймворки, такие как UnitTest.
• Интеграционное тестирование: Проверка взаимодействия модулей. Убедитесь, что изменения не нарушили взаимодействие между модулями.
• Функциональное тестирование: Проверка работы всей системы. Это может включать сценарные тесты.
• Автоматизация тестов:
• Рассмотрите возможность использования инструментов для автоматизации тестирования (например, TestComplete).
Пример модульного тестирования
Используйте фреймворк UnitTest для создания тестов:
Процедура ТестПолучитьПродажи()
Результат = УчетДанных.ПолучитьПродажи(01.01.2023, 31.01.2023);
Если Не Результат.Пустая() Тогда
Сообщить("Тест пройден");
Иначе
Сообщить("Тест не пройден");
КонецЕсли;
КонецПроцедуры
▎Автоматизированное обновление измененных конфигураций
▎1. Использование механизмов 1С
• Конфигурация и обновления:
• Создавайте версии конфигураций с помощью встроенных инструментов (Конфигуратор).
• Используйте механизм "Обновления конфигурации" для применения изменений в других базах данных.
Пример обновления конфигурации
При внесении изменений в конфигурацию используйте функцию "Обновление конфигурации":
1. Откройте конфигуратор.
2. Выберите "Конфигурация" -> "Обновление конфигурации".
3. Выберите нужную базу данных и примените изменения.
▎2. Скрипты для автоматизации
• Примеры скриптов:
• Скрипт для автоматического поиска изменений в общих модулях и уведомления команды.
• Скрипт для автоматического применения обновлений на тестовых и рабочих базах данных.
Пример скрипта для уведомлений
Процедура УведомитьКоманду()
Сообщение = "Внесены изменения в общий модуль УчетДанных.";
ОтправитьСообщение(Сообщение);
КонецПроцедуры
▎3. Интеграция с системами CI/CD
• Настройка CI/CD:
• Используйте Jenkins, GitLab CI или другие инструменты для автоматизации процессов сборки и тестирования.
• Рабочий процесс CI/CD:
• Каждый раз при внесении изменений в код запускаются автоматические тесты.
Углубленное понимание учета изменений в общих модулях, переносе и переименовании функций, а также автоматизированном обновлении конфигураций является важным аспектом разработки на платформе 1С. Применение систематизированного подхода в этих областях поможет повысить качество кода, упростить процесс поддержки и улучшить взаимодействие внутри команды разработчиков.
Специалист компании ООО "Кодерлайн"
Семён Мельников