![]() |
#1 |
Участник
|
![]()
На таблице пишу edit метод для заполнения поля в Grid:
Код: edit UM_QtyInPakage QtyInPakage(boolean _set, UM_QtyInPakage _val) { if (!_set) { return UnitConvert::find(this.itemID,"Шт","М").Factor; } return _val; } Код: return _val; Код: return UnitConvert::find(this.itemID,"Шт","М").Factor; |
|
![]() |
#2 |
Участник
|
![]() Цитата:
Сообщение от Sada
PHP код:
Или я чего-то не понимаю? ![]() Последний раз редактировалось PavelSR; 09.06.2006 в 09:11. |
|
![]() |
#3 |
Программатор
|
у меня на форме
![]() не учёл, что вы пишите на табле... Последний раз редактировалось Sada; 09.06.2006 в 08:57. |
|
![]() |
#4 |
Участник
|
И как мне быть?
![]() |
|
![]() |
#5 |
Программатор
|
А если на форме Edit метод написать? Я тут не силен, где лучше а где нет, но рассмотрите такой вариант.
Последний раз редактировалось Sada; 09.06.2006 в 09:18. |
|
![]() |
#6 |
Участник
|
Не совсем понятно что вы хотите получить - изменения в вашем методе нигде не сохранются и после обновления датасорурса они пропадут
__________________
Axapta v.3.0 sp5 kr2 |
|
![]() |
#7 |
Участник
|
Цитата:
Сообщение от Sada
А если на форме Edit метод написать? Я тут не силен, где лучше а где нет, но рассмотрите такой вариант.
Код: edit UM_QtyInPakage QtyInPakage(boolean _modif, UM_QtyInPakage _val) { if (!_modif) { if(curQtyInPakage) return curQtyInPakage; return UnitConvert::find(UM_ConvertBladingLineTable.itemID,"Шт","М").Factor; } curQtyInPakage = _val; return _val; } |
|
![]() |
#8 |
Программатор
|
Цитата:
Сообщение от PavelSR
На форме написал edit метод:
Код: edit UM_QtyInPakage QtyInPakage(boolean _modif, UM_QtyInPakage _val) { if (!_modif) { if(curQtyInPakage) return curQtyInPakage; return UnitConvert::find(UM_ConvertBladingLineTable.itemID,"Шт","М").Factor; } curQtyInPakage = _val; return _val; } Этот метод (пост я стёр, так как не подходит, но вы успели его процитировать ![]() я писал на тот случай, когда не понятно почему форма вызывалась два раза (а то и три), вам он не подходит, напишите обычный Edit метод и должно все заработать. PHP код:
|
|
![]() |
#9 |
Участник
|
Цитата:
Должно работать.
|
|
![]() |
#10 |
Программатор
|
Поставте счетчик
![]() Это конечно мог придумать только мой ивращенный мозг, но на вскидку ничего ЭЛЕГАНТНОГО не лезет ![]() ![]() |
|
![]() |
#11 |
Участник
|
Думаю нада так:
завести в таблице поле типа UM_QtyInPakage, например бум звать его QtyInPakage //---> edit UM_QtyInPakage QtyInPakage(boolean _set, UM_QtyInPakage _val) { if (_set) { this.QtyInPakage = UnitConvert::find(this.itemID,"Шт","М").Factor; } return this.QtyInPakage; } //<-- по моему так должно быть PS: Двойной вызов это нормально, первый раз когда вы изменяете значение, второй когда форма хочет перерисовать контрол. Последний раз редактировалось Jony; 09.06.2006 в 10:15. |
|
![]() |
#12 |
Участник
|
![]()
Честно говоря, непонятно, чего вы пытаетесь получить вашим методом.
Edit методы используются для того, чтобы отображать значение, к примеру, не из вашей таблицы датасорса, и чтобы при его изменении можно было произвести более сложное изменение. У вас же ничего не меняется. Возможно вам просто нужен display method? А если вам таки нужно что-то изменять, тогда напишите что. Сейчас же ваш метод отрабатывает полностью верно - при изменении вызывается метод с параметром _set = true. а после этого сразу же он вызывается с параметром _set = false; Разберитесь, короче, что вы хотитет получить от этого метода |
|
![]() |
#13 |
Участник
|
Я все понял...
![]() Я изменил поле непосредственно в источнике данных, перекрыв метод modified... в контроле ItemId. ![]() |
|
|
![]() |
||||
Тема | Ответов | |||
проблема с display методом | 6 | |||
Проблема с EDIT методом и гридом | 1 | |||
Помогите разобраться с edit-методом | 4 | |||
Грабли с наследником и edit-методом | 5 |
Опции темы | Поиск в этой теме |
Опции просмотра | |
|