Показать сообщение отдельно
Старый 11.07.2007, 17:19   #5  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2476 (88) +++++++++
Регистрация: 20.08.2005
Могу предложить полухакерское решение
X++:
public Object dialog()
{
    Dialog  dialog;
    RunBaseDialogModify d;
    DictClass dictClass;
    FormControlName fieldName;
    DialogField field;
    ;
    dialog = super();
    ...
    d = this.dialogModify();
    dictClass = new DictClass(classIdGet(d));
    if (dictClass)
    {
        fieldName = dictClass.callObject("getFieldName", d, tableNum(InventTable), fieldNum(InventTable, ItemName));
        if (!fieldName)
            fieldName = dictClass.callObject("getFieldName", d, tableNum(InventTable), fieldId2Ext(fieldNum(InventTable, ItemName), 1));
        if (fieldName)
        {
            field = dialog.getDialogClass(fieldName);
            if (field)
                field.label("Название товара");
        }
    }
    return dialog;
}
Так же надо перекрыть метод dialogUpdateQuery() и добавить в него этот код после super()

Ну или в классе RunBaseDialogModify для метода getFieldName() убрать модификатор protected для прямого вызова, если не смущает правка системных классов.
__________________
Axapta v.3.0 sp5 kr2