![]() |
#5 |
Ищущий знания...
|
Цитата:
Сообщение от stalker25
![]() Добрый день, есть такая проблема:
Есть: --------------------------------- Table1.field1(Enum:NoYesId) --------------------------------- Forma1 DataSource Table1 InitValue(): X++: Table1.Field1 = NoYes::Yes;
Table1_ds.object(fieldNum(Table1, Field1)).modified(); Form1 DataSource Table1 Fields Field1 Methods modified(): X++: NoYes noYes = this.getValue(); открываем форму, инициализируем значение field1, выполняется modified(), на getValue(), axapta падает, а вот getValue(1) работает ... не подскажете почему? 2. В initValue() таблицы Вы уже проинициализировали поле Field1 значением, поэтому в методе modified() на поле датасорса формы можно это поле и использовать. Т.е. можно написать вот такой код (и мне кажется это более нагляным вариантом): X++: NoYes noYes = Table1.Field1; ![]() 3. Метод getValue() возвращает значение поля, в котором он (метод) вызывается. У этого поля есть параметр _rowIndex (тип Integer по умолчанию = 0), который указывает системе номер строки датасорса формы, из которой вернуть значение поля. В случае нулевое значение этого параметра, возвращается значение этого поля из последней строки датасорса. Если строк в датасорсе на форме нет, то этот метод ничего не возвращает, более того аксапта просто валится (это воспроизводится только для полей с типом Enum, для поля с типом String не воспроизвелось). Так как в вашем случае строка ещё не создана, то этот метод Вам использовать не надо. Для того, что бы определить какое значение проставлено в поле Field1 воспользуйтесь способом из второго пункта. P.S. старайтесь как можно меньше программировать на форме, только в крайних случаях. В данном вашем случае, лучше воспользуйтесь моим советом из первого пункта. P.S1. А лучше опишите задачу, возможно, она решается как то более просто (уж больно странно в методе initValue() проинициализировать поле, потом вызвать его метод modified() и в этом методе получать его же значение...).
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем Последний раз редактировалось lev; 14.12.2011 в 00:19. |
|