|
![]() |
#1 |
Возьми свет!!!
|
Я проблему с fld_1 давно решил проство в класс Dialog я добавил такой метод
X++: DialogField addFieldName( int type, FieldLabel label = '', FieldName _fieldName = '', FieldHelp help = '' ) { DialogField dialogField; fields += 1; dialogField = new DialogField(this,type,fields); dialogField.parmFieldName(_fieldName); this.addCtrlDialogField(dialogField.name()); dialogField.init(this); if (label) dialogField.label(label); if (help) dialogField.helpText(help); this.addDialogClass(dialogField); return dialogField; } |
|
![]() |
#2 |
Участник
|
Цитата:
Сообщение от Murlin
![]() Я проблему с fld_1 давно решил проство в класс Dialog я добавил такой метод
X++: DialogField addFieldName( int type, FieldLabel label = '', FieldName _fieldName = '', FieldHelp help = '' ) { DialogField dialogField; fields += 1; dialogField = new DialogField(this,type,fields); dialogField.parmFieldName(_fieldName); this.addCtrlDialogField(dialogField.name()); dialogField.init(this); if (label) dialogField.label(label); if (help) dialogField.helpText(help); this.addDialogClass(dialogField); return dialogField; } IMHO, лучше всего пользоваться вот этим "велосипедом": Modified поля на форме-наследнике RunBase Тут решена так же проблема перехвата методов RunBase-диалога на стороне сервера. |
|
|
За это сообщение автора поблагодарили: kashperuk (1). |
![]() |
#3 |
Возьми свет!!!
|
Цитата:
Сообщение от Bishop
![]() Класс DialogField не имеет метода parmFieldName() (в стандарте)...
IMHO, лучше всего пользоваться вот этим "велосипедом": Modified поля на форме-наследнике RunBase Тут решена так же проблема перехвата методов RunBase-диалога на стороне сервера. 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). |
![]() |
#4 |
Участник
|
useName и nameField нужно добавить в currentList.
Без этого не работает в некоторых случаях. |
|