У нас проблемы с разделением наших различных конфигураций.Позвольте мне объяснить с небольшим
сценарием:
Допустим, у вас есть два проекта AX, например, P и M , которые оба изменяютProdRouteJob
таблица, вызывающая методы в одном из собственных классов, специфичных для проекта.
Конечно, у вас есть все эти классы на компьютере разработчика, и ProdRouteJob
прекрасно компилируется, но для установки на новый сервер вам не нужноне хотите добавить классы-заглушки для каждого неустановленного проекта?Таким образом, вы заключаете эти вызовы в классы проекта в нечто вроде
if( Global::isConfigurationkeyEnabled( <projectPConfKey> ) )
// call project P stuff
, чтобы аккуратно их инкапсулировать.Вы объявляете конфигурационные ключи для всех своих проектов и готовы к работе, верно?
Однако, это выдает ошибку, если вы не установили проект P на этом компьютере, потому что его projectPConfKey
неизвестно.Теперь вы можете при каждой установке устанавливать конфигурационные ключи для всех ваших проектов, просто сказать серверу, что существует такая вещь, как projectPConfKey
, но тогда все эти if
s будут оценены как истинные ...
Вкратце: как включить конфигурационные ключи в XPO вашего проекта, чтобы ваш код компилировался, но в то же время, чтобы некоторые конфигурационные ключи были отключены с самого начала?
Или есть что-то совершенно базовое, что я здесь упускаю?
РЕДАКТИРОВАТЬ:
Консенсус среди ответов (спасибо, demas; спасибо, г-н Kjeldsen)заключается в том, что нецелесообразно пытаться выполнить более или менее автоматическую настройку на стороне клиента с помощью макросов или ключей конфигурации.Таким образом, при установке на клиенте мы должны будем импортировать стандартные таблицы с нашими изменениями и вручную удалить все изменения, не относящиеся к текущей установке.
Я немного растерялся, ответ на который я принял, потому что Димас ответил на вопрос, который я задал, а г-н Кьельдсен ответил на вопросы, возникшие в разговоре с комментариями под ответом Димаса.Я с извинениями перед г-ном Кьельдсеном отмечу ответ Демаса как принятый.