Показать сообщение отдельно
Старый 17.06.2009, 12:31   #13  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5788 (200) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от Dron AKA andy Посмотреть сообщение
Согласен, возможность включать/отключать некую функциональность очень удобна, а иногда просто необходима. Но чтоб КАЖДУЮ модификацию со своим собственным ключом...
Во-первых, можно и не на каждую - это уже зависит от характера модификации: если она существенно меняет бизнес-логику, то лучше сразу предусмотреть "пути отступления". Во-вторых, никто не говорит о своем собственном ключе на каждую модифу - так никаких идентификаторов объектов не хватит (до перехода на AX 6, во всяком случае ). Просто заводится конф.ключ, который включен в разработческой и тестовой базе и заведомо выключен (всегда) в рабочей, делаются где-нить статические методы на каждую отключаемую модифу, которые изначально возвращают признак того, включен ли этот конф.ключ, и уже эти методы дергаются в коде модификаций. Далее, если модифу надо включить, то код метода меняется с
X++:
return isConfigurationKeyEnabled(configurationkeynum(AlwaysOffInLiveDB));
на
X++:
return true;
Аналогичным образом модифа при необходимости отключается. При желании можно какую-нить мордочку для этого сваять, чтобы в код не надо было лазить. Опять же, это нужно в основном лишь для "серьезных" модификаций имеющегося функционала - какой-то новый функционал ("сбоку") можно просто закрыть новыми ключами доступа.