|
![]() |
#1 |
Участник
|
Может так?
X++: formRun.dataSource(identifierStr(OfficialsTrans_RU)).cursor().(fieldNum(OfficialsTrans_RU, Title)) = "My Title"; formRun.dataSource(identifierStr(OfficialsTrans_RU)).refresh(); |
|
![]() |
#2 |
Модератор
|
Цитата:
formRun.dataSource(identifierStr(OfficialsTrans_RU)).cursor().(fieldNum(OfficialsTrans_RU, Title)) = "My Title";
Axapta 3. Может какой другой способ присвоить значение полю из DataSource ? |
|
![]() |
#3 |
Модератор
|
Сергей форму рисовать не будет.
Я просто допиливаю класс InventJournalPrintForm_RU осталось то просто присвоить значение в таблицу из DataSource. если знаешь помоги.. а то что с формой делать и так понятно. |
|
![]() |
#4 |
Участник
|
Сама постановка неправильна.
Сам датасорс управляет записью таблицы. Записывать в таблицу в обход датасорса - моветон и четкая установка нарваться на deadlock. Чтобы записать "значение в таблицу" нужно создать переменная типа таблица, найти запись по recId и обновить эту запись. { myTable myTable; myTable = MyTable::findrecid(myDataSource.cursor().recid, true); myTable.myValue = myValue; myTable.update(); } Переформулируйте задачу. Убедитесь, что у вас нет проблем с пониманием. |
|
![]() |
#5 |
Участник
|
Я все-таки повторю
|
|
![]() |
#6 |
Модератор
|
так то оно так только таблички OfficialsTrans_RU нет метода findrecid
и formRun.dataSource(identifierStr(OfficialsTrans_RU)).cursor().RecId ни чего не возвращает .. пусто. данная код вызывает из метода modified одного из поля на гриде. На гриде создается строка и при изменении одно поля друго должно заполняться автоматически. С табличкой хорошо работать когда там есть данные а тут еще строка не сохранилась из грида.. Последний раз редактировалось Poleax; 21.07.2008 в 17:48. |
|
![]() |
#7 |
Участник
|
Цитата:
{ OfficialsTrans_RU OfficialsTrans_RU; select forupdate OfficialsTrans_RU where OfficialsTrans_RU.recId == myDataSource.cursor().recid; OfficialsTrans_RU.myValue = myValue; OfficialsTrans_RU.update(); } Насчет formRun.dataSource(identifierStr(OfficialsTrans_RU)).cursor().RecId А с чего вы зяли, что в вашей динамической форме есть датасорс, который НАЗВАЕТСЯ также как и таблица? Вы точно уверены, что указывали название ДАТАСОРСА при создании? Делайте formRun.dataSource(N).cursor().RecId, где N - номер датасорса в форме. Или четко задавайте название датасорса при создании вашей динамической формы. Еще раз - перестаньте заниматься фигней (динамическим программированием), начните наконец решать задачу (нарисуйте форму с методами, просто вызовите ее в вашем методе) |
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|