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

Содержание:

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С:Колледж ПРОФ

- Управление персоналом и кадровый учет (HRM):
Кадровый учет
Управление об...

ЗАО «Ламбумиз»
ЗАО «Ламбумиз»

Отрасль:
Производство картонной упаковки

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

- Маркетинг;
- Продажи;
- Планирование закупок;
- Закупки;
- Регламенти...

Автоматизация учета на базе ПП "1С:Комплексная автоматизация 8" в ЗАО "Крюгер-Гранд"
ЗАО «Крюгер-Гранд»

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

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

- Создание интерфейсов и наборов прав пользователей;
- Отражению временных ...

ООО «ДАФ Тракс Рус» (DAF Trucks Rus)
ООО «ДАФ Тракс Рус» (DAF Trucks Rus)

Отрасль:
Машиностроение

Внедренное типовое решение:
«1С:Управление корпоративными финансами»

- Осуществлена разработка матрицы прав и ролей для финансового подразделени...

 ЗАО "Инвестгеосервис" -ДО
ЗАО «Инвестгеосервис»

Отрасль:
Нефтесервис

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

- Работа с файлами;
- Делопроизводство;
- Процессы движения документов; ...

Московский филиал ООО «Авиакомпания «Икар»
Московский филиал ООО «Авиакомпания «Икар»

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

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

Бухгалтерский учет Производственные операции Регламентированная отчетнос...

Автоматизации учета затрат и расчета себестоимости с использованием конфигурации «Koderline: Управление проектами строительства скважин»
ООО «Буровая сервисная компания «ГРАНД»

Отрасль:
Нефтесервис

Внедренное типовое решение:
«Koderline: Управление проектами строительства скважин»

Учет и планирование:
- собственную разработку компании «Кодерлайн» – конф...

ООО "Смена"
ООО "Смена"

Отрасль:
Торговля, склад, логистика, транспорт

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

Банк и касса
Расчеты с контрагентами
Торговые операции
Взаиморасчеты с...

ООО "СЖД"
ООО "СЖД"

Отрасль:
Торговля, склад, логистика, транспорт

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

Расчет зарплаты
Подбор кадров
Кадровый учет
Анализ кадрового состава...

ООО «Еврорадиаторы»
ООО «Еврорадиаторы»

Отрасль:
1С:ERP 2.4

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

Специалисты «Кодерлайн» помогли перенести базу из текущей системы «1С:ERP 2.2» ...

Группа компаний АО «Киномакс»
Группа компаний АО «Киномакс»

Отрасль:
Культура, шоу-бизнес

Внедренное типовое решение:
БИТ.Финанс

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

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

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

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

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