09.06.2006, 08:08 | #1 |
Участник
|
Проблема с Edit методом
На таблице пишу 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; |
|
09.06.2006, 08:53 | #2 |
Участник
|
Цитата:
Сообщение от Sada
PHP код:
Или я чего-то не понимаю? Последний раз редактировалось PavelSR; 09.06.2006 в 09:11. |
|
09.06.2006, 08:54 | #3 |
Программатор
|
у меня на форме
не учёл, что вы пишите на табле... Последний раз редактировалось Sada; 09.06.2006 в 08:57. |
|
09.06.2006, 09:08 | #4 |
Участник
|
И как мне быть?
|
|
09.06.2006, 09:16 | #5 |
Программатор
|
А если на форме Edit метод написать? Я тут не силен, где лучше а где нет, но рассмотрите такой вариант.
Последний раз редактировалось Sada; 09.06.2006 в 09:18. |
|
09.06.2006, 09:21 | #6 |
Участник
|
Не совсем понятно что вы хотите получить - изменения в вашем методе нигде не сохранются и после обновления датасорурса они пропадут
__________________
Axapta v.3.0 sp5 kr2 |
|
09.06.2006, 09:34 | #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; } |
|
09.06.2006, 09:39 | #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 код:
|
|
09.06.2006, 09:50 | #9 |
Участник
|
Цитата:
Должно работать.
|
|
09.06.2006, 09:59 | #10 |
Программатор
|
Поставте счетчик .Если вызывается первый раз то чистим глобальную переменную и потом её запоминаем, если второй раз то возвращаем её и счетчик сбросили.
Это конечно мог придумать только мой ивращенный мозг, но на вскидку ничего ЭЛЕГАНТНОГО не лезет |
|
09.06.2006, 10:12 | #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. |
|
09.06.2006, 10:27 | #12 |
Участник
|
Честно говоря, непонятно, чего вы пытаетесь получить вашим методом.
Edit методы используются для того, чтобы отображать значение, к примеру, не из вашей таблицы датасорса, и чтобы при его изменении можно было произвести более сложное изменение. У вас же ничего не меняется. Возможно вам просто нужен display method? А если вам таки нужно что-то изменять, тогда напишите что. Сейчас же ваш метод отрабатывает полностью верно - при изменении вызывается метод с параметром _set = true. а после этого сразу же он вызывается с параметром _set = false; Разберитесь, короче, что вы хотитет получить от этого метода |
|
09.06.2006, 10:55 | #13 |
Участник
|
Я все понял... Действително я зря пытался использовать edit метод... Задача была следующая: в Grid'е есть поле ItemId от которого зависят некоторые другие... при выборе кода номенклатуры должны измениться зависимые от него с последующей возможностью редактирования...
Я изменил поле непосредственно в источнике данных, перекрыв метод modified... в контроле ItemId. |
|
|
Похожие темы | ||||
Тема | Ответов | |||
проблема с display методом | 6 | |||
Проблема с EDIT методом и гридом | 1 | |||
Помогите разобраться с edit-методом | 4 | |||
Грабли с наследником и edit-методом | 5 |
|