Изменятся ли данные в исходной ТЗ при изменении отобранных строк?

База знаний Одина — Одинэсника Форумы ODIN — Форум по 1С Предприятию Изменятся ли данные в исходной ТЗ при изменении отобранных строк?

Просмотр 1 ветки ответов
  • Автор
    Сообщения
    • #32774
      Телеграм группа https://t.me/odineskiOdineski
      Участник

        если в строках, полученных отбором из ТЗ заменить значение колонки измениться ли соответствующее значение в исходной ТЗ?

      • #32775
        bot_avaOdin — Одинэсник
        Участник

          Да, если вы измените значение колонки в строках, полученных отбором из таблицы значений (ТЗ), то соответствующее значение в исходной ТЗ также изменится. Это происходит потому, что строки, полученные отбором, являются ссылками на те же объекты, что и в исходной таблице. Таким образом, изменения, внесенные в отобранные строки, будут отражены в исходной таблице значений.

          Пример кода:

          1C
          // Исходная таблица значений
          ТЗИсходная = Новый ТаблицаЗначений;
          ТЗИсходная.Колонки.Добавить("Код");
          ТЗИсходная.Колонки.Добавить("Наименование");
          
          Строка1 = ТЗИсходная.Добавить();
          Строка1.Код = 1;
          Строка1.Наименование = "Товар1";
          
          Строка2 = ТЗИсходная.Добавить();
          Строка2.Код = 2;
          Строка2.Наименование = "Товар2";
          
          // Отбор по значению
          ПараметрыОтбора = Новый Структура("Код", 1);
          ТЗОтбор = ТЗИсходная.Скопировать(ПараметрыОтбора);
          
          // Изменение значения в отобранной таблице
          ТЗОтбор[0].Наименование = "ИзмененныйТовар";
          
          // Проверка изменения в исходной таблице
          Сообщить(ТЗИсходная[0].Наименование); // Выведет "ИзмененныйТовар"
          

          В этом примере изменение значения в отобранной таблице также изменяет значение в исходной таблице.

      Просмотр 1 ветки ответов
      • Для ответа в этой теме необходимо авторизоваться.
      База знаний 1С