Цитата:
Сообщение от
Dron AKA andy
Согласен, возможность включать/отключать некую функциональность очень удобна, а иногда просто необходима. Но чтоб КАЖДУЮ модификацию со своим собственным ключом...
Во-первых, можно и не на каждую - это уже зависит от характера модификации: если она существенно меняет бизнес-логику, то лучше сразу предусмотреть "пути отступления". Во-вторых, никто не говорит о своем собственном ключе на каждую модифу - так никаких идентификаторов объектов не хватит (до перехода на AX 6, во всяком случае
). Просто заводится конф.ключ, который включен в разработческой и тестовой базе и заведомо выключен (
всегда) в рабочей, делаются где-нить статические методы на каждую отключаемую модифу, которые изначально возвращают признак того, включен ли этот конф.ключ, и уже эти методы дергаются в коде модификаций. Далее, если модифу надо включить, то код метода меняется с
X++:
return isConfigurationKeyEnabled(configurationkeynum(AlwaysOffInLiveDB));
на
Аналогичным образом модифа при необходимости отключается. При желании можно какую-нить мордочку для этого сваять, чтобы в код не надо было лазить. Опять же, это нужно в основном лишь для "серьезных" модификаций имеющегося функционала - какой-то новый функционал ("сбоку") можно просто закрыть новыми ключами доступа.