Проблема с таблицей значений

Новая тема
"Добрый день всем!



Столкнулся с такой проблемкой:



Есть таблица значений



ТЗ=СоздатьОбъект("ТаблицаЗначений");

ТЗ.НоваяКолонка("Номенклатура", "Справочник.Номенклатура");

ТЗ.НоваяКолонка("Количество", "Число");

ТЗ.НоваяКолонка("Цена","Число");



//копирую эту таблицу

ТЗ1=ТЗ;

// удаляю колонку у второй! таблицы

ТЗ1.УдалитьКолонку("Цена");



// Смотрим сколько колонок осталось

Сообщить(ТЗ.КоличествоКолонок());

Сообщить(ТЗ1.КоличествоКолонок());

// показывает, что удалена колонка как у второй, так и у первой!!!

Как такое может быть?



Выкрутился конечно

Для к=1 по ТЗ.КоличествоСтрок() Цикл  

 ТЗ1.НоваяСтрока();

 ТЗ1.Номенклатура=ТЗ.ПолучитьЗначение(к,1);

 ТЗ1.Количество=ТЗ.ПолучитьЗначение(к,2);

КонецЦикла;



Но хотел сделать красиво.

"
"Когда пишешь

ТЗ1 = ТЗ

то ТЗ1 становится просто указателем на ту же область памяти, что и ТЗ.

Для создания копии таблицы ТЗ надо написать

ТЗ1 = СоздатьОбъект("ТаблицаЗначений");

ТЗ1.Загрузить(ТЗ);

Теперь если удалить колонку в таблице ТЗ1, то таблица ТЗ останется нетронутой."
Читают тему
(гостей: 1)

Быстрый переход