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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 04.02.2014, 16:00   #1  
IKA is offline
IKA
Участник
 
359 / 65 (3) ++++
Регистрация: 15.03.2006
Как вставить дубликат записи во временную таблицу
Есть врем таблица. Я по ней в цикле прохожусь.
В зависимости от условий я сохраняю текущую запись в некоторый буфер myTableTmpOld. Т.е делаю myTableTmpOld.data(myTableTmp);
Тпереь , при некоторых условиях, мне нужно эту сохраненную запись вставить в ту же врем талицу, т.е создать дубликат по сути записи , сохраненной одной из предыдущих итараций цикла.
Просто myTableTmpOld.insert не прокатывает, тк myTableTmpOld это отдельный буфер и он не смотрит на мою временную таблицу, поэтому я делаю обратное присваиване myTableTmp.data(myTableTmpOld) и потом уже myTableTmp.insert()

Это единственный способ или есть более симпатичные?
Старый 04.02.2014, 16:17   #2  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,941 / 3229 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Сделайте setTmpData()
Старый 05.02.2014, 18:50   #3  
IKA is offline
IKA
Участник
 
359 / 65 (3) ++++
Регистрация: 15.03.2006
Как он поможет? Он же просто создаст целиком копию моей врем таблицы..
Старый 05.02.2014, 19:07   #4  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,941 / 3229 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от IKA Посмотреть сообщение
Как он поможет? Он же просто создаст целиком копию моей врем таблицы..
Извините за резкость, но вы документацию вообще читаете ?
Что трудно прочесть 1 страницу текста и понять в чем разница вызова common.data() и common.setTmpData() ?

Цитата:
Сообщение от IKA Посмотреть сообщение
Просто myTableTmpOld.insert не прокатывает, тк myTableTmpOld это отдельный буфер и он не смотрит на мою временную таблицу
Прокатит еще как !
После вызова
myTableTmpOld.data(myTableTmp);
делаете myTableTmpOld.setTmpData(myTableTmp);
и после этого они работают физически с одним временных файлом на диске. Можно открывать разные курсоры, но работа будет идти с одними и теми же данными.

Правда тут возникает вопрос, попадет ли эта новая записи в цикл перебора (если он еще не завершен). Я не проверял.
Старый 05.02.2014, 19:15   #5  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,438 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от Logger Посмотреть сообщение
После вызова
Можно и до. Я обычно сразу после объявления переменной делаю привязку буфера.
Старый 05.02.2014, 19:18   #6  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,941 / 3229 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
да, можно и до. можно вообще это перед циклом сделать. Главное чтобы буфер не обнулился и ссылка не потерялась.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
соединить query и временную таблицу kitty DAX: Программирование 29 04.05.2012 09:35
Передать временную таблицу из формы в класс Eldar9x DAX: Программирование 26 20.06.2008 19:09
Два DataSource на одну временную таблицу mou DAX: Программирование 4 22.03.2008 11:00
создать и передать временную таблицу kitty DAX: Программирование 11 13.07.2006 14:40
Как передать временную таблицу Aslan DAX: Программирование 15 23.05.2006 17:34

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

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

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