Вставляет колонку на указанную позицию в таблицу значений.
Синтаксис
Вставить(<Индекс>, <Имя>, <Тип>, <Заголовок>, <Ширина>)Полное описание, параметры и ограничения
КоллекцияКолонокТаблицыЗначений.Вставить (ValueTableColumnCollection.Insert)
КоллекцияКолонокТаблицыЗначений (ValueTableColumnCollection)
Вставить (Insert)
Доступен, начиная с версии 8.0.
Синтаксис:
Вставить(<Индекс>, <Имя>, <Тип>, <Заголовок>, <Ширина>)
Параметры:
<Индекс> (обязательный)
Тип: Число.
Индекс вставляемой колонки.
<Имя> (необязательный)
Тип: Строка.
Имя колонки.
Значение по умолчанию: Пустая строка.
<Тип> (необязательный)
Тип: ОписаниеТипов.
Объект, описывающий допустимые типы значений для колонки. Если параметр не указан, в колонке можно будет хранить значение любого типа.
<Заголовок> (необязательный)
Тип: Строка.
Заголовок колонки таблицы значений. Используется при визуальном отображении таблицы значений.
Значение по умолчанию: Пустая строка.
<Ширина> (необязательный)
Тип: Число.
Ширина колонки в символах. Используется при визуальном отображении таблицы значений.
Значение по умолчанию: 0.
Возвращаемое значение:
Тип: КолонкаТаблицыЗначений.
Вставленная колонка.
Описание:
Вставляет колонку на указанную позицию в таблицу значений.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.
Пример:
// см. пример метода Добавить.
Использование в версии:
Доступен, начиная с версии 8.0.
Методическая информация
Практические примеры
Создать типизированные колонки и изменить их порядок
Готовим структуру таблицы товаров: код, количество, название. Отдельно показываем поиск колонки, её свойства и удаление временной колонки.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Используйте серверную процедуру учебной обработки: ТаблицаЗначений не создаётся в тонком клиенте.
Данные только в памяти; удаление колонок не изменяет справочники и документы.
Собственный тип количества — целые неотрицательные числа 0–99: всего 2 разряда, дробных 0. Второй аргумент ОписаниеТипов передаёт КвалификаторыЧисла; одного имени Число недостаточно для хранения чисел.
Товары = Новый ТаблицаЗначений;
Колонки = Товары.Колонки;
Колонки.Добавить("Название", Новый ОписаниеТипов("Строка"));
Количество = Колонки.Добавить("Количество", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(2, 0, ДопустимыйЗнак.Неотрицательный)));
Колонки.Добавить("Временная");
Код = Колонки.Вставить(0, "Код", Новый ОписаниеТипов("Строка"), "Код товара", 12);
Количество.Заголовок = "Количество, шт.";
Количество.Ширина = 10;
Сообщить(Код.Имя);
Сообщить(Количество.Заголовок);
Сообщить(Количество.ТипЗначения.СодержитТип(Тип("Число")));
Колонки.Сдвинуть(Количество, -1);
Сообщить(Колонки.Индекс(Количество));
Сообщить(Колонки.Получить(1) = Количество);
Сообщить(Колонки.Количество());
Временная = Колонки.Найти("Временная");
Если Временная <> Неопределено Тогда
Колонки.Удалить(Временная);
КонецЕсли;
Сообщить(Колонки.Количество());
ПустаяКопия = Товары.СкопироватьКолонки();
ПустаяКопия.Колонки.Очистить();
Сообщить(ПустаяКопия.Колонки.Количество());Разбор по шагам
Добавляем название, количество и временную колонку; Вставить создаёт код в позиции 0.
Колонка хранит имя для программного доступа, заголовок для отображения и описание допустимых типов.
Сдвигаем количество на одну позицию вверх; Получить и Индекс работают с нумерацией от нуля.
Удаляем временную колонку по найденному объекту. Очистить демонстрируется на отдельной копии структуры.
Как проверить результат
Индекс количества после сдвига равен 1; сравнение Получить(1) с объектом колонки возвращает Истина.
Число колонок меняется 4 → 3; у очищенной копии 0, у исходной таблицы по-прежнему 3.
Ожидаемый результат
Итоговый порядок: Код, Количество, Название. Количество допускает целые неотрицательные числа 0–99.
На что обратить внимание
ТипЗначения доступен только для чтения: тип задавайте при создании колонки.
Удаление колонки удаляет её значения во всех строках; не очищайте структуру рабочего объекта без необходимости.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.