Показать сообщение отдельно
Старый 21.10.2004, 11:43   #1  
Ace of Database is offline
Ace of Database
Участник
Аватар для Ace of Database
 
870 / 637 (23) +++++++
Регистрация: 14.10.2004
Мастер шаблонов Excel падает когда вставляет в Excel поле, не основанное на EDT
Axapta 3.0 Sp3.

Когда в мастере шаблонов Excel указываешь таблицу, содержащую поле, не основанное на расширенном типе данных, то мастер шаблона выдает ошибку "DictEnum объект не инициализирован".
Пришлось модифицировать класс SysExcelTemplateWizard, метод formatCell().

Такой был старый код:
PHP код:
    if (_tmpExcelField.methodExtendedTypeId)
        
label = new DictType(_tmpExcelField.methodExtendedTypeId).label(_arrayPos);
    else
        
label = new DictEnum(_tmpExcelField.methodEnumId).label(); 
Я его изменил вот так
PHP код:
    if (_tmpExcelField.methodExtendedTypeId)
        
label = new DictType(_tmpExcelField.methodExtendedTypeId).label(_arrayPos);
    else
        
//label = new DictEnum(_tmpExcelField.methodEnumId).label();
        
{
            
myEnum = new DictEnum(_tmpExcelField.methodEnumId);
            if (
myEnum)
                
label myEnum.label();
            else
                
label _tmpExcelField.methodLabel;
        } 
После этого визард работает правильно на любых полях в таблице.

Это стандартная ошибка или только у меня такая?
__________________
Мои утилиты для Аксапты версий 3.0-2012: http://aceofdatabase.blogspot.com/