Показать сообщение отдельно
Старый 19.08.2011, 09:37   #14  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,430 / 1772 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Мне кажется, что всё станет на свои места если до конца разобраться, в том что всётаки представляет из себя табличная переменная в аксапте?

Табличная переменная содержит либо ссылается на
  • табличный буфер (временный либо постоянный)
  • запрос который был применён к этому табличному буферу
  • текущую строку (текущую позицию курсора в этом запросе)
  • текущие значения полей текущей строки
  • оригинальные значения полей текущей строки (common.orig())
  • флаги-параметры, влияющие на работу с курсором
  • возможно ещё что-то

Если обсуждать вопрос копирования табличной переменной, то нужно разобраться в том, что из вышеперечисленного является ссылкой, а что значением. Ведь
Цитата:
Часто некоторые на форумах повторяют миф:
Миф: Объекты передаются по ссылке, а примитивы по значению.
...
Истина же...:
Истина 1: Всё в Java передается по значению. Объекты, же, вообще никогда не передаются
Истина 2: Значениями переменных могут быть только примитивы или ссылки, но не объекты.
Что передается функциям, ссылки или значения?


Если говорить о том, что в Axapta как и Java всё передается по значению, то тогда, что имел в виду автор MorphX IT, когда писал
Цитата:
Отметьте, что только временные таблицы передаются по ссылке. Обычная таблица, как CustTable, будет передаваться по значению
? или это неправильный перевод. Может ли кто-нибудь привести оригинал?

P.S.: некоторые известные мне проблемы/ньюансы при работе с табличными переменными