Разработка универсального функционала, который должен работать в двух различных конфигурациях (например, в разных базах 1С:Управление торговлей), часто ставит перед программистом сложную задачу: как поддерживать код в актуальном состоянии, не тратя время на ручное копирование и постоянное сравнение версий? Рассмотрим основные стратегии решения этой проблемы, начиная от организационных методов и заканчивая архитектурными изменениями.
Самый простой, но эффективный подход — выбрать одну конфигурацию в качестве «эталонной» для данного функционала. Все правки, изменения и доработки выполняются исключительно в этой базе.
_Обмен.
// Версия модуля: 1.0.5
// Дата: 20.05.2024
// Автор: Иванов И.И.
// Описание: Исправлен алгоритм выгрузки в УТ
Этот метод минимизирует риск возникновения ошибок из-за «забытых» правок, так как источник изменений всегда один.
Многие разработчики избегают использования Хранилища конфигурации, считая его сложным, однако это штатный инструмент 1С для групповой разработки. Если вы работаете в двух базах, хранилище позволяет синхронизировать код между ними автоматически.
Преимущества использования хранилища:
Модуль в одной базе, другие разработчики (или вы сами в другой базе) получают актуальную версию после команды «Обновить из хранилища».Не бойтесь механизма захвата и помещения — это единственный способ гарантированно избежать конфликтов кода при параллельной разработке.
Если конфигурации разные, а код должен быть идентичным, эффективным решением станет вынос логики из модулей объектов непосредственно во внешнюю обработку или общий модуль.
Разберем, почему это удобно:
Пример вызова кода из внешней обработки:
// Подключение внешней обработки для выполнения обмена
ПутьКФайлу = "C:\Exchange\MyModule.epf";
Обр = ВнешниеОбработки.Создать(ПутьКФайлу);
Обр.ВыполнитьОбмен(ПараметрыОбмена);
Если задача становится комплексной, а количество конфигураций растет, стоит рассмотреть переход на 1C:Enterprise Development Tools (EDT). Это современная среда разработки, построенная на базе Eclipse.
В чем заключается преимущество:
Git.Выбор метода зависит от частоты ваших правок и объема кода:
Если правок немного: Используйте Метод 1 (единая база-источник) и ведите простейший журнал версий в комментариях.
Если проект крупный и правок много: Обязательно внедряйте Хранилище или переходите на Git. Это сэкономит вам часы работы, которые вы сейчас тратите на сравнение текстов модулей вручную.
Если хочется простоты: Выносите всю бизнес-логику в отдельную внешнюю обработку, которую достаточно просто заменить в файловой системе, чтобы обновить функционал в обеих базах.