Показать сообщение отдельно
Старый 30.12.2010, 10:30   #4  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
На форме есть DataSorce. Вот его значение и есть курсор (запись выделенная в гриде).
Update лучше написать методом на самой таблице, т.к. на форме нужно писать как можно меньше кода.
Например в таблице создаем метод myUpdate() в нем пишем:
X++:
void myUpdate()
{
MyTable myTable;
;
ttsbegin;
myTable = MyTable::find(this.Code, true); // последний параметр это forUpdate
myTable.Description = 'la la la';
if (myTable.validateWrite())
    myTable.update();
ttscommit;
}
если метода find на таблице нет (а он должен быть ) то можно написать просто:
X++:
Select forupdate myTable
where myTable.Code == this.Code;
на кнопке в форме перекрываем метод clicked() и пишем там:
X++:
MyTable.myUpdate();
MyTable_ds.reread();
MyTable_ds.refresh();
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем