|
|
#1 |
|
Программатор
|
Не берется значение контрола
Доброго времени суток, уважаемые Дамы и Господа!
Вот какая ситуация... У формы есть датасоурс. На форме создал свой контрол(перечислимый тип) и edit методом из InventParameters вставляю значение в этот контрол при открытии формы. Затем, после нажатия кнопки ОК в CloseOK вставляю значение контрола в датасоурс. При открытии формы мой контрол показывает то, что надо. Но при нажатии ОК дебугер показывает что мой контрол имеет значенеие "". Соответственно ничего в датасоурс не вставляется. Если же просто поставить (ручками) курсор на контрол или поставить другое значение(выбрать тоже), то все отрабатывает нормально. Поскажите как быть и в чём проблема. Setfocus() и Gotfocus() в ините формы не срабатывают (но если и заставить так насильно вставлять курсор в мой контрол, то это крайний случай, ибо сее не желательно)... Заранее всем благодарен. С уважением - Sada... |
|
|
|
|
#2 |
|
Участник
|
Привет!
Значение из ComboBoxа можно получить через метод selection().
__________________
С уважением, Андрей Беседин |
|
|
|
|
#3 |
|
Программатор
|
Цитата:
Сообщение от Andrew Besedin
Привет!
Значение из ComboBoxа можно получить через метод selection().
Последний раз редактировалось Sada; 21.06.2006 в 07:46. |
|
|
|
|
#4 |
|
Участник
|
Напиши код едит-метода, плиз. Мне кажется, собака порылась там
__________________
С уважением, Андрей Беседин |
|
|
|
|
#5 |
|
Программатор
|
PHP код:
объявлена в ClassDeclaration. Скорее всего проблема связана с тем что не вызывается Edit метод. НО КАКИМ образом, её Богу ума не прилажу... |
|
|
|
|
#6 |
|
Модератор
|
Вопрос: а ГДЕ этот эдит метод написан? Попробуй перенести его на датасорс.
И еще: не пробовал в ините после супера проинициализровать переменную? Все равно пусто? С Уважением, Георгий |
|
|
|
|
#7 |
|
Участник
|
А зачем вам что-то брать из контрола?
Вызовите этот метод со значением _set=false да и все. PS Это уже замечание к реализации метода - InventParameters у вас используется только в одной ветке из трех, а ищите вы это значение в любом случае.
__________________
Axapta v.3.0 sp5 kr2 Последний раз редактировалось AndyD; 21.06.2006 в 09:19. |
|
|
|
|
#8 |
|
Программатор
|
Цитата:
Сообщение от George Nordic
Попробуй перенести его на датасорс.
И еще: не пробовал в ините после супера проинициализровать переменную? Все равно пусто? ((((((((((
|
|
|
|
|
#9 |
|
Программатор
|
Цитата:
Сообщение от AndyD
А зачем вам что-то брать из контрола?
Вызовите этот метод со значением _set=false да и все. . |
|
|
|
|
#10 |
|
Участник
|
Ваш метод на датасоурсе? Надо вызывать так
X++: Object o;
;
o = []; // InventTable_ds
[] = o.CurrentShift(false, "");X++: InventParameters InventParameters;
;
...
InventParameters = InventParameters::find();
tmp_curshift = InventParameters.CurrentShift;
...X++: edit CurrentShift CurrentShift (boolean _set, CurrentShift _txt) { InventParameters InventParameters; ; if(_set) { if (!_txt) { // если вам необходимо, чтобы значение было установлено всегда InventParameters = InventParameters::find(); tmp_curshift = InventParameters.CurrentShift; } else tmp_curshift = _txt; } return tmp_curshift; }
__________________
Axapta v.3.0 sp5 kr2 |
|
|
|
| За это сообщение автора поблагодарили: Sada (1). | |
|
|
#11 |
|
Модератор
|
Sada! Ну, едрены пассатижи!
Лови форму: все работает. Георгий |
|
|
|
| За это сообщение автора поблагодарили: Sada (1), Gustav (2). | |
|
|
#12 |
|
Программатор
|
Цитата:
Сообщение от AndyD
И при закрытии формы читать tmp_curshift
. Вы абсолютно правы. Как я сразу не допер. Спасибо огромное всем!!! (а AndyD - респект +1 )С уваженеим - Sada... |
|
|
|
|
| Опции темы | Поиск в этой теме |
| Опции просмотра | |
|