26.11.2024 Семён Мельников 2240
Учет изменений в общих модулях и автоматизаци...

Содержание:

1. Документация изменений в программе 1С

2. Система контроля версий в системе программ 1С

3. Регулярные ревью кода в 1C


Управление изменениями в общих модулях 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С. Применение систематизированного подхода в этих областях поможет повысить качество кода, упростить процесс поддержки и улучшить взаимодействие внутри команды разработчиков.


Специалист компании ООО "Кодерлайн"

Семён Мельников

Наши проекты

ООО "НЦКТ"
ООО "НЦКТ"

Отрасль:
Профессиональные услуги

Внедренное типовое решение:
1С:Бухгалтерия 8 ПРОФ

Производственные операции
Автоматизация бизнес-процессов...

ООО «Аэроэкспресс»
ООО «Аэроэкспресс»

Отрасль:

Внедренное типовое решение:
1С:ERP. Управление холдингом

· Планирование закупок · Управление закупочными процедурами, включая 223 ФЗ ...

ЗАО «Многопрофильная формирующая авиагруппа» (ЗАО МФГ)
ЗАО «Многопрофильная формирующая авиагруппа» (ЗАО МФГ)

Отрасль:
Оптовая торговля транспортными средствами и оборудованием

Внедренное типовое решение:
1С:Бухгалтерия ПРОФ

- Финансы, управленческий учет, мониторинг показателей
- Бухгалтерский уче...

Внедрение 1С:Управление торговлей в оптово-розничной компании «Много Плитки»
ООО «Много Плитки»

Отрасль:
Торговля

Внедренное типовое решение:
1С:Управление торговлей

Закупки (снабжение) и управление отношениями с поставщиками:
- Оформление ...

Внедрение 1С:Управление торговлей в оптово-розничной компании «Ална-Байк»
ИП Титов Виктор Сергеевич «Ална-Байк»

Отрасль:
Торговля

Внедренное типовое решение:
1С:Управление торговлей

- Управление складами;
- Управление заказами поставщиков;
- Управление зак...

Автоматизация контроля исполнительской дисциплины на базе ПП «1С:Документооборот 8 ПРОФ»
ООО «ФСК Лидер»

Отрасль:
Строительство и девелопмент

Внедренное типовое решение:
1С:Документооборот 8 ПРОФ

- Делопроизводство;
- Учет и хранение документов;
- Учет и контроль исполне...

Внедрение ПП "1С:Управление небольшой фирмой 8 ПРОФ" в
ИП Любо Виктория Александровна (ООО «Рекреация»)

Отрасль:
Производство

Внедренное типовое решение:
1С:Управление небольшой фирмой 8 ПРОФ

Осуществлены разработки:
– отчета по спецификации Заказа;
– загрузки сп...

ПЭК
ПЭК

Отрасль:
Грузоперевозки

Внедренное типовое решение:
1С:Управление производственным предприятием

- Внедрение функционала управления НСИ;
- Рефакторинг;
- Оптимизация общег...

ООО “РТИТС”
ООО “РТИТС”

Отрасль:
Транспортные системы

Внедренное типовое решение:
1С:ERP Управление предприятием 2.0

Блок регламентированного кадрового учета и расчета заработной платы в 1С:ERP;...

1с-РАРУС МСК
1с-РАРУС МСК

Отрасль:
Разработка компьютерного программного обеспечения

Внедренное типовое решение:

- Совместная работа по внедрению разных решений, в том числе «1С:ERP Управление...

АО "Нижегородский водоканал"
АО "Нижегородский водоканал"

Отрасль:
Профессиональные услуги

Внедренное типовое решение:
1С:Зарплата и управление персоналом 8. КОРП

-Кадровый учет
-Расчет зарплаты
-Регламентированная отчетность
-Подбор ...

Автоматизация торговых операций на базе "1С:Управление торговлей" в ОАО "Авиазапчасть"
ОАО «Авиазапчасть»

Отрасль:
Авиационно-космическая промышленность

Внедренное типовое решение:
1С:Управление торговлей

- Оптовая торговля;
- Оформление заказов покупателей;
- Планирование прод...

Наши соц. сети

Telegram-канал «Koderline 1С» Группа в Вконтакте «Кодерлайн КОРП» Rutube

Остались вопросы - обратитесь к нам!

Впишите свои Имя и Телефон, чтобы мы ответили на все интересующие Вас вопросы.
ФИО*
E-mail*
Телефон*
Сообщение