Цитата:
Сообщение от
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, потому что при вызове данной команды производится проверка связей всех полей по все таблице (проверено).