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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 11.07.2008, 12:57   #1  
lobster is offline
lobster
Участник
Аватар для lobster
 
115 / 10 (1) +
Регистрация: 25.04.2008
Подскажите пожалуйста какой код служит для преноса(копирования) даных из таблици в таблицу?
Например мне нужно пренести из таблици XXXX все строки в другую аналогичную таблицу ZZZ.
Старый 11.07.2008, 13:25   #2  
UGT is offline
UGT
Участник
 
45 / 10 (1) +
Регистрация: 08.06.2005
Если эти таблицы имеют одинаковый субтип, то код будет такой:
if xxxx.find('-') then
repeat
zzz := xxxx;
zzz.insert;
until xxxx.next = 0;
Если таблицы разные, то используйте TRANSFERFIELD
Старый 11.07.2008, 16:10   #3  
lobster is offline
lobster
Участник
Аватар для lobster
 
115 / 10 (1) +
Регистрация: 25.04.2008
Цитата:
Сообщение от UGT Посмотреть сообщение
Если эти таблицы имеют одинаковый субтип, то код будет такой:
if xxxx.find('-') then
repeat
zzz := xxxx;
zzz.insert;
until xxxx.next = 0;
Если таблицы разные, то используйте TRANSFERFIELD
При компиляции этого кода, navision выдает
<<переменная record должна принадлежать 50002, а не 50001>>
где xxxx имеет номер 50001, а zzz 50002.
Старый 11.07.2008, 16:28   #4  
Fordewind is offline
Fordewind
Участник
 
1,134 / 10 (3) +
Регистрация: 01.12.2005
Цитата:
Сообщение от lobster Посмотреть сообщение
При компиляции этого кода, navision выдает
<<переменная record должна принадлежать 50002, а не 50001>>
где xxxx имеет номер 50001, а zzz 50002.
Пользуйте TRANSFERFIELDS. Только обратите внимание, что номера копируемых полей в таблицах дожны совпадать, так же как и типы.
Старый 14.07.2008, 09:46   #5  
lobster is offline
lobster
Участник
Аватар для lobster
 
115 / 10 (1) +
Регистрация: 25.04.2008
Цитата:
Сообщение от Fordewind Посмотреть сообщение
Пользуйте TRANSFERFIELDS. Только обратите внимание, что номера копируемых полей в таблицах дожны совпадать, так же как и типы.
Спасибо, все сработало.
А еще не подскажите, в каком направлении двигаться дальше?
Например:
У обоих таблиц (xxxx, zzz) есть поля (код товара, название, количество).
Надо чтобы при переносе данных из таблице xxxx в таблицу zzz строчки которые совпадают, складывались.
Примерно как при учете товара в заказе покупки, когда товар переносится в зону склада.
Старый 14.07.2008, 12:25   #6  
Fordewind is offline
Fordewind
Участник
 
1,134 / 10 (3) +
Регистрация: 01.12.2005
Цитата:
Сообщение от lobster Посмотреть сообщение
Спасибо, все сработало.
А еще не подскажите, в каком направлении двигаться дальше?
Например:
У обоих таблиц (xxxx, zzz) есть поля (код товара, название, количество).
Надо чтобы при переносе данных из таблице xxxx в таблицу zzz строчки которые совпадают, складывались.
Примерно как при учете товара в заказе покупки, когда товар переносится в зону склада.
Ну например так:

IF zzz.GET(xxxx."Item No.", xxxx."Varient No.") THEN BEGIN // все ключевые поля таблицы zzz
zzz.Quantity += xxxx.Quantity;
......
zzz.MODIFY;
END
ELSE BEGIN
.....
zzz.INSERT
END
 

Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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