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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 15.08.2007, 10:28   #1  
RedFox is offline
RedFox
Участник
 
1,441 / 10 (0) +
Регистрация: 28.12.2004
Адрес: Киев
Цитата:
Сообщение от VasVovec Посмотреть сообщение
Что то я из справки не очень понял про эту функцию.
Если у меня в первичном ключе к примеру 5 полей и мне надо у записи изменить значение одного из них,
то мне в этой функции надо всеравно перечислить все 5 значений которые примут поля ключа?

Тобишь примерно так должно выглядеть изменение значения 3 поля ключа?

Код:
фильтрация
IF SomeRecord.FIND('-') THEN
  WITH SomeRecord DO
	REPEAT
	  RENAME("Key1","Key2",NewValue,"Key4","Key5");
	  UNTIL SomeRecord.NEXT = 0;
Именно так. При этом поменяется первичный ключ у текущей записи. При этом следующая запись после переименовки будет равна следующей записи до переименовки.
SomeRecord. RENAME("Key1","Key2",NewValue,"Key4","Key5");

Если ты хочешь поменять только одно поле (и при этом новое значение выходит за диапазон фильта), то можно использовать копирование ссылки в новую записть и потом изменять что нужно только у этой записи.
Пример "GenJnlLine.COPY(Rec);" в 13 кодеюните.

P.S. Хотите увеличить производительность - не используйте RENAME, потому что при вызове данной команды производится проверка связей всех полей по все таблице (проверено).
 

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

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

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

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

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