Полное копирование (структуры и данные) таблицы значений 1С 8.х в новую таблицу значений
// создали новую пустую таблицу значений
ТЗ = Новый ТаблицаЗначений;
// создали две колонки в таблице значений
ТЗ.Колонки.Добавить("Имя");
ТЗ.Колонки.Добавить("Фамилия");
// заполнили одну строку созданной таблицы
СтрокаТаблицы = ТЗ.Добавить();
СтрокаТаблицы.Имя = "Вася";
СтрокаТаблицы.Фамилия = "Пупкин";
// скопировали полностью (структуру и данные) из таблицы ТЗ в новую таблицу КопияТЗ
КопияТЗ = ТЗ.Скопировать();
Внимание!
Для копирования структуры и данных 1С 8 таблицы значений нельзя просто взять и написать такое: КопияТЗ = ТЗ Это типичная ошибка новичков. Вместо копии таблицы значений мы просто получаем еще одну переменную КопияТЗ, которая указывает на тот же самый набор данных что и переменная ТЗ.
В этом случае, если мы что-либо сделаем с таблицей КопияТЗ, например, удалим несколько строк, а после этого проверим таблицу ТЗ - в ней так же будут удалены эти строки, потому что мы не произвели копирование в отдельную таблицу, а лишь по-другому поименовали (создали новую переменную, указывающую на тот же самый объект) старую таблицу.
Поэтому для копирования всегда применяем метод Скопировать(). Он создаст в памяти новую таблицу значений, которую заполнит структурой и данными из старой таблицы - и это будет независимая таблица-копия. Последующие изменения в новой таблице никак не отразятся на старой.
Следует так же заметить, что методы СкопироватьКолонки() и Скопировать() у 1С 8 таблицы значений могут иметь параметры (необязательные), при помощи которых можно указать конкретные колонки для копирования, и/или конкретные строки данных, подлежащих копированию.