Показать сообщение отдельно
Старый 29.05.2010, 00:53   #26  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,342 / 3563 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
и еще вдогонку. Штатная проверка пустых аналитик действует сразу на все таблицы по всем аналитикам. Поэтому ее неудобно устанавливать. Я сделал аналог штатной проверки - для этого мне пришлось добавить всего одно поле DenyEmptyDimension в таблицу DimensionSetRuleTable (плюс вывести галку в нижний грид формы правил набора аналитик) и написать буквально 5 строчек кода в \Classes\DimensionSetValidation\checkDimension:
X++:
public boolean checkDimension(Common        _caller,
                              fieldId       _dimensionFieldId,
                              boolean       _checkWriteValidation,
                              boolean       _silent = false)
{
........
                if (validateDimension != emptyDimension)
                {
                    if (_silent)
                    {
                        isValid = isValid && this.isValidCombination(setId, hierarchyId, validateDimension, prefixDimension);
                    }
                    else
                    {
                        isValid = isValid && this.checkCombination(setId, hierarchyId, validateDimension, prefixDimension);
                    }
                }
                //Проверка на пустую аналитику -->
                else
                {
                    if (_checkWriteValidation && dimensionSetRuleSearch.dimensionSetRuleTable().DenyEmptyDimension)
                    {
                        isValid = checkFailed("@SYS79468");
                    }
                }
                // Проверка на пустую аналитику  <--
........
}
Добавление таким образом галки позволило мне применить правило к целому набору (но не всему массиву) на уровне конкретной таблицы (а не всех таблиц)
__________________
Возможно сделать все. Вопрос времени

Последний раз редактировалось sukhanchik; 29.05.2010 в 00:59.
За это сообщение автора поблагодарили: gl00mie (3).