AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
DAX
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 21.07.2008, 16:29   #1  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Может так?

X++:
formRun.dataSource(identifierStr(OfficialsTrans_RU)).cursor().(fieldNum(OfficialsTrans_RU, Title)) = "My Title";
formRun.dataSource(identifierStr(OfficialsTrans_RU)).refresh();
Старый 21.07.2008, 17:00   #2  
Poleax is offline
Poleax
Модератор
Аватар для Poleax
MCP
MCBMSS
Злыдни
 
1,353 / 595 (22) +++++++
Регистрация: 17.02.2005
Адрес: msk
Записей в блоге: 34
Цитата:
formRun.dataSource(identifierStr(OfficialsTrans_RU)).cursor().(fieldNum(OfficialsTrans_RU, Title)) = "My Title";
Ошибка: Поле должно быть элементом данных, допускающим использование в операторе присвоения.

Axapta 3.

Может какой другой способ присвоить значение полю из DataSource ?
Старый 21.07.2008, 17:10   #3  
Poleax is offline
Poleax
Модератор
Аватар для Poleax
MCP
MCBMSS
Злыдни
 
1,353 / 595 (22) +++++++
Регистрация: 17.02.2005
Адрес: msk
Записей в блоге: 34
Сергей форму рисовать не будет.
Я просто допиливаю класс InventJournalPrintForm_RU

осталось то просто присвоить значение в таблицу из DataSource. если знаешь помоги.. а то что с формой делать и так понятно.
Старый 21.07.2008, 17:26   #4  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Poleax Посмотреть сообщение
осталось то просто присвоить значение в таблицу из DataSource.
Сама постановка неправильна.
Сам датасорс управляет записью таблицы. Записывать в таблицу в обход датасорса - моветон и четкая установка нарваться на deadlock.

Чтобы записать "значение в таблицу" нужно создать переменная типа таблица, найти запись по recId и обновить эту запись.

{
myTable myTable;

myTable = MyTable::findrecid(myDataSource.cursor().recid, true);
myTable.myValue = myValue;
myTable.update();
}

Переформулируйте задачу. Убедитесь, что у вас нет проблем с пониманием.
__________________
полезное на axForum, github, vk, coub.
Старый 21.07.2008, 18:39   #5  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Я все-таки повторю
Цитата:
Сообщение от mazzy Посмотреть сообщение
Записывать в таблицу в обход датасорса - моветон и четкая установка нарваться на deadlock.
__________________
полезное на axForum, github, vk, coub.
Старый 21.07.2008, 17:43   #6  
Poleax is offline
Poleax
Модератор
Аватар для Poleax
MCP
MCBMSS
Злыдни
 
1,353 / 595 (22) +++++++
Регистрация: 17.02.2005
Адрес: msk
Записей в блоге: 34
так то оно так только таблички OfficialsTrans_RU нет метода findrecid
и formRun.dataSource(identifierStr(OfficialsTrans_RU)).cursor().RecId ни чего не возвращает .. пусто.

данная код вызывает из метода modified одного из поля на гриде.
На гриде создается строка и при изменении одно поля друго должно заполняться автоматически.

С табличкой хорошо работать когда там есть данные а тут еще строка не сохранилась из грида..

Последний раз редактировалось Poleax; 21.07.2008 в 17:48.
Старый 21.07.2008, 17:54   #7  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Poleax Посмотреть сообщение
так то оно так только таблички OfficialsTrans_RU нет findrecid
и formRun.dataSource(identifierStr(OfficialsTrans_RU)).cursor().RecId ни чего не возвращает .. пусто.
Боже, раз нет метода findrecid, напишите запрос
{
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 - номер датасорса в форме. Или четко задавайте название датасорса при создании вашей динамической формы.

Еще раз - перестаньте заниматься фигней (динамическим программированием), начните наконец решать задачу (нарисуйте форму с методами, просто вызовите ее в вашем методе)
__________________
полезное на axForum, github, vk, coub.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Можно ли динамически созданному контролу CheckBox прикрутить метод modified? Poleax DAX: Программирование 4 31.03.2009 19:58
lookup не закрывается до завершения метода modified Morpheus DAX: Программирование 4 09.08.2006 16:43
Транзакция в modified Gad DAX: Программирование 1 29.11.2005 19:54
Передача массива VARIANTов в Automation метод Maximin DAX: Программирование 0 09.10.2002 19:31
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 14:50.