Показать сообщение отдельно
Старый 21.10.2009, 07:49   #19  
Murlin is offline
Murlin
Возьми свет!!!
Аватар для Murlin
Самостоятельные клиенты AX
Злыдни
 
291 / 32 (2) +++
Регистрация: 22.09.2008
Адрес: Тюмень, Рашан Федерашан
Цитата:
Сообщение от Bishop Посмотреть сообщение
Класс DialogField не имеет метода parmFieldName() (в стандарте)...

IMHO, лучше всего пользоваться вот этим "велосипедом":
Modified поля на форме-наследнике RunBase
Тут решена так же проблема перехвата методов RunBase-диалога на стороне сервера.
Извините старая доработка уже все забыл, действительно еще кое что нужно переопределить в классе dialogField
X++:
class DialogField extends DialogControl
{
    // Packed
    int             type;
    int             fieldNo;
    // Is set in init()
    DictType        dictType;
    Types           baseType;
    boolean         checkBox;
    anytype         dummy;
    // C/S optimize
    container       value;      // Hopefully temporary, a container can't be stored in a struct
   //доработка -->
    boolean         useName;
    FieldName       nameField;
   //доработка -->
    #properties
    #define.widthMode('widthMode')
    #define.heightMode('heightMode')
    #define.setHeightFromLines('setHeightFromLines')
    #localmacro.currentList
        type,
        fieldNo
    #endmacro
}
X++:
str fieldname(int arrIdx = 1)
{
    ;
    //доработка -->
    if (useName)
        return nameField;
//доработка --->
    return #PrefixField+int2str(fieldNo)+'_'+int2str(arrIdx);
}
X++:
void new(
    Dialog  _dialog,
    int     _type = 0,
    int     _fieldNo = 0
    )
{
    type        = _type;
    fieldNo     = _fieldNo;
    //Доработка --->
    useName     =   false;
//Доработка --->
    if (_dialog.isOnServer())
    {
        properties = new Struct();
        return;
    }
}
X++:
//Доработка -->
FieldName parmFieldName(FieldName _nameField = nameField)
{
    ;
    if (_nameField)
        useName = true;
    nameField = _nameField;
    return  nameField;
}
//доработка -->
За это сообщение автора поблагодарили: Alexx7 (1).