Сдвинуть колонки в таблице значений

1. XMishan 20.10.24 18:53 Сейчас в теме
Всем доброго времени суток.
Столкнулся со следующей задачей.
Конечная цель - поменять местами несколько раз определенные колонки в таблице значений.
Для этого использую метод Сдвинуть(<Колонка>, <Смещение>).

Есть следующая проблема: колонки перемешиваются только в коллекции колонок таблицы значений.
По окончанию функции расположение колонок внутри самой таблицы значений не меняется.

Код прилагаю ниже, скрины с отладчика по окончанию функции также.

Буду благодарен за любые пояснения.

Функция ПеремешатьКолонкиТЗ(БазоваяСетка)
	
	Таблица = БазоваяСетка;
	
	//-Строка для оживления переменной
	//Таблица = Новый ТаблицаЗначений;
	
        Счетчик = 0;
	
	Для каждого Колонка Из Таблица.Колонки Цикл
	
		Если Счетчик = 0 ИЛИ Счетчик = 3 ИЛИ Счетчик = 6 Тогда
		
			Число = Новый ГенераторСлучайныхЧисел;
			Число = Число.СлучайноеЧисло(0,2);
	
		Таблица.Колонки.Сдвинуть(Счетчик,Число);
		
		КонецЕсли;
		Счетчик = Счетчик + 1;
	КонецЦикла;
	
	Возврат Таблица;

КонецФункции 
Показать
Прикрепленные файлы:
По теме из базы знаний
Найденные решения
8. user2033930 20.10.24 23:00 Сейчас в теме
(7)
Почему отладчик не показывает изменения при перетасовке колонок в ТЗ?
Потому что он показывает коллекцию строк. И именно её он показывает в соответствии с индексами строк.
А когда он показывает коллекцию колонок - он тоже показывает её в соответствии с индексами колонок ( в том виде, в котором ты натасовал эти индексы). Об этом твой второй скриншот.

Все работает прекрасно.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. user2033930 20.10.24 21:52 Сейчас в теме
(1)
По окончанию функции расположение колонок внутри самой таблицы значений не меняется.
Как определил?
3. XMishan 20.10.24 22:08 Сейчас в теме
(2) Функция возвращает ТЗ с колонками ровно в том порядке, что был изначально ("Колонка1", "Колонка2" и тд.), если верить отладчику. Я скрины приложил.
Но если посмотреть возвращаемое значение Таблица.Колонки - там видно, что порядок колонок изменен. Т.е. функция отрабатывает, но не так как нужно.
4. user2033930 20.10.24 22:32 Сейчас в теме
(3)
если верить отладчику.
Зачем?
5. XMishan 20.10.24 22:37 Сейчас в теме
(4) Было бы неплохо общаться по существу вопроса.
Я не знаю, что ответить на этот вопрос.
6. user2033930 20.10.24 22:42 Сейчас в теме
(5) Это и есть существо. С чего ты уверовал, что отладчик вдруг тебе что-то должен показывать в том порядке, в каком ты ожидаешь? Зачем? Он тебе что-то обещал и не исполнил? Или что?
7. XMishan 20.10.24 22:56 Сейчас в теме
(6) Я не профессиональный программист, 1С - мое хобби. С того, наверное, и уверовал.

Если я меняю данные - я ожидаю это увидеть, контролировать это. И всегда для этих целей использовал отладчик. Проблем с этим не было.

Если колонки добавить, строки, значения- это все можно отследить.

Почему отладчик не показывает изменения при перетасовке колонок в ТЗ?
8. user2033930 20.10.24 23:00 Сейчас в теме
(7)
Почему отладчик не показывает изменения при перетасовке колонок в ТЗ?
Потому что он показывает коллекцию строк. И именно её он показывает в соответствии с индексами строк.
А когда он показывает коллекцию колонок - он тоже показывает её в соответствии с индексами колонок ( в том виде, в котором ты натасовал эти индексы). Об этом твой второй скриншот.

Все работает прекрасно.
9. XMishan 20.10.24 23:11 Сейчас в теме
(8) Благодарю, теперь разобрался.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот