Не надеемся на признак копии базы в БСП
Часто на проектах, использующих интеграции между информационными базами на платформе 1С, наблюдается одна и та же проблема в работе: случайные влияния баз тестового контура предприятия на рабочий контур. Так, если в тестовом контуре разворачивается копия рабочей базы и в ней по каким-то причинам забывают проставить признак копии при первом запуске базы после развертывания, база включается в обмен, тестовые данные начинают уходить в рабочие экземпляры смежных систем, а данные смежных систем, предназначенные для рабочей базы, попадают в тестовую базу вместо рабочей. Результаты подобных ситуаций негативны: потеря согласованности данных в системах предприятия, дополнительная нагрузка на ИТ-службу для нахождения проблемы, недовольство пользователей, а иногда и прямые финансовые потери.
Один из наиболее простых и в то же время действенных способов исключения подобных проблем — реализация дополнительной проверки соответствия строки подключения информационной базы и строки подключения продуктивного экземпляра системы, установленной в константах системы. Эту проверку необходимо выполнять перед запуском регламентных заданий обмена.
В конфигурациях на базе БСП типовая проверка признака копии базы выглядит так:
Если ПараметрыСеанса.РаботаСВнешнимиРесурсамиЗаблокирована Тогда Возврат; КонецЕсли;
Дополнительный код проверки строки подключения информационной базы:
Если НЕ ВРег(СтрокаСоединенияИнформационнойБазы()) = ВРег(Константы.СтрокаПодключенияПромышленногоЭкземпляра.Получить()) Тогда Возврат; КонецЕсли;
Для собственных механизмов обмена эту проверку стоит включить в часть инициализации обмена.
Этот несложный прием улучшит тестирование интеграций и исключит неприятные ошибки в рабочем контуре предприятия.