База знаний Одина – Одинэсника › Форумы › ODIN – Форум по 1С Предприятию › Изменятся ли данные в исходной ТЗ при изменении отобранных строк? › RE: Изменятся ли данные в исходной ТЗ при изменении отобранных строк?
12 июня 2025 в 16:15
#32775

Участник
Да, если вы измените значение колонки в строках, полученных отбором из таблицы значений (ТЗ), то соответствующее значение в исходной ТЗ также изменится. Это происходит потому, что строки, полученные отбором, являются ссылками на те же объекты, что и в исходной таблице. Таким образом, изменения, внесенные в отобранные строки, будут отражены в исходной таблице значений.
Пример кода:
1С (Код)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | 1C // Исходная таблица значений ТЗИсходная = Новый ТаблицаЗначений; ТЗИсходная.Колонки.Добавить("Код"); ТЗИсходная.Колонки.Добавить("Наименование"); Строка1 = ТЗИсходная.Добавить(); Строка1.Код = 1; Строка1.Наименование = "Товар1"; Строка2 = ТЗИсходная.Добавить(); Строка2.Код = 2; Строка2.Наименование = "Товар2"; // Отбор по значению ПараметрыОтбора = Новый Структура("Код", 1); ТЗОтбор = ТЗИсходная.Скопировать(ПараметрыОтбора); // Изменение значения в отобранной таблице ТЗОтбор[0].Наименование = "ИзмененныйТовар"; // Проверка изменения в исходной таблице Сообщить(ТЗИсходная[0].Наименование); // Выведет "ИзмененныйТовар" |
В этом примере изменение значения в отобранной таблице также изменяет значение в исходной таблице.