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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 27.02.2014, 09:23   #1  
Vasiliusis is offline
Vasiliusis
Участник
 
225 / 13 (1) ++
Регистрация: 30.01.2013
Если к примеру, args().record() не использовать, а передавать в форму просто айдишник, а внутри потом запись по нему доставать, то все работает. Запись в датасорс добавляется таким кодом

X++:
    //Работает когда без record
    DataSource1.data(table1Record);
    DataSource1.insert();
    DataSource1_ds.executeQuery();
Но нужно именно, чтобы через args().record()...
Старый 27.02.2014, 10:32   #2  
Мартынов Дмитрий is offline
Мартынов Дмитрий
Участник
 
236 / 66 (3) ++++
Регистрация: 02.02.2004
Адрес: г. Москва
Post
А так не работает?

X++:
    DataSource1.data(  args().record()  );
    DataSource1.insert();
    DataSource1_ds.executeQuery();
Я бы даже делал так:

X++:
    if (args() && args().record() && args().record().TableId == DataSource1.TableId)
    {
        DataSource1.data(  args().record()  );
        DataSource1.insert();
        DataSource1_ds.executeQuery();
    }
    else
    {
         
    }
Старый 27.02.2014, 10:42   #3  
Cardagant is offline
Cardagant
Участник
 
317 / 54 (2) ++++
Регистрация: 11.10.2011
Может DataSource1.setTmpData() подойдёт? Или следует произвести копирование этой записи в новый источник данных второй формы?

Последний раз редактировалось Cardagant; 27.02.2014 в 10:57.
Старый 27.02.2014, 10:50   #4  
Vasiliusis is offline
Vasiliusis
Участник
 
225 / 13 (1) ++
Регистрация: 30.01.2013
все перепробовал уже. тут нужно наверно в корне по-другому делать. Либо это вообще невозможно, хотя я сомневаюсь
Старый 27.02.2014, 10:56   #5  
Мартынов Дмитрий is offline
Мартынов Дмитрий
Участник
 
236 / 66 (3) ++++
Регистрация: 02.02.2004
Адрес: г. Москва
Цитата:
Сообщение от Vasiliusis Посмотреть сообщение
все перепробовал уже. тут нужно наверно в корне по-другому делать. Либо это вообще невозможно, хотя я сомневаюсь
А попробуйте использовать функцию buf2buf()
Она не передает системные поля...
X++:
    if (args() && args().record() && args().record().TableId == DataSource1.TableId)
    {
        buf2buf(args().record(), DataSource1);
        DataSource1.insert();
        DataSource1_ds.executeQuery();
    }
    else
Старый 27.02.2014, 11:01   #6  
Vasiliusis is offline
Vasiliusis
Участник
 
225 / 13 (1) ++
Регистрация: 30.01.2013
Цитата:
Сообщение от Мартынов Дмитрий Посмотреть сообщение
А попробуйте использовать функцию buf2buf()
Она не передает системные поля...
X++:
    if (args() && args().record() && args().record().TableId == DataSource1.TableId)
    {
        buf2buf(args().record(), DataSource1);
        DataSource1.insert();
        DataSource1_ds.executeQuery();
    }
    else
нет, это тоже не помогает. Проблем с копированием, кажись нет. мешает именно факт того, что используется args().record()... может эту ситуацию как-то нужно подругому обрабатывать для временных курсоров
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
element.args().record() вопрос... Samuel DAX: Программирование 4 28.09.2012 15:13
Динамическое создание DataSource на форме, и добавление элементов дизайна. epack DAX: Программирование 12 24.11.2010 15:31
args.record - как заставить работать в форме PurchLine? Gustav DAX: Программирование 9 12.01.2010 16:53
Почему может не передаваться args().record() ? egorych DAX: Программирование 5 03.11.2009 13:43
Использование caller в args Zoe DAX: Программирование 3 23.04.2008 12:18

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

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

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