КоллекцияКолонокТаблицыЗначений.Вставить

Методы · Insert

Вставляет колонку на указанную позицию в таблицу значений.

Синтаксис

Вставить(<Индекс>, <Имя>, <Тип>, <Заголовок>, <Ширина>)
Полное описание, параметры и ограничения

КоллекцияКолонокТаблицыЗначений.Вставить (ValueTableColumnCollection.Insert)

КоллекцияКолонокТаблицыЗначений (ValueTableColumnCollection)

Вставить (Insert)

Доступен, начиная с версии 8.0.

Синтаксис:
Вставить(<Индекс>, <Имя>, <Тип>, <Заголовок>, <Ширина>)
Параметры:

<Индекс> (обязательный)
Тип: Число.
Индекс вставляемой колонки.

<Имя> (необязательный)
Тип: Строка.
Имя колонки.
Значение по умолчанию: Пустая строка.

<Тип> (необязательный)
Тип: ОписаниеТипов.
Объект, описывающий допустимые типы значений для колонки. Если параметр не указан, в колонке можно будет хранить значение любого типа.

<Заголовок> (необязательный)
Тип: Строка.
Заголовок колонки таблицы значений. Используется при визуальном отображении таблицы значений.
Значение по умолчанию: Пустая строка.

<Ширина> (необязательный)
Тип: Число.
Ширина колонки в символах. Используется при визуальном отображении таблицы значений.
Значение по умолчанию: 0.
Возвращаемое значение:
Тип: КолонкаТаблицыЗначений.
Вставленная колонка.
Описание:

Вставляет колонку на указанную позицию в таблицу значений.

Доступность:

Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.

Пример:

// см. пример метода Добавить.

Использование в версии:

Доступен, начиная с версии 8.0.

Методическая информация

Практические примеры

Создать типизированные колонки и изменить их порядок

Готовим структуру таблицы товаров: код, количество, название. Отдельно показываем поиск колонки, её свойства и удаление временной колонки.

Где и как запускать

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. Используйте серверную процедуру учебной обработки: ТаблицаЗначений не создаётся в тонком клиенте.

  2. Данные только в памяти; удаление колонок не изменяет справочники и документы.

  3. Собственный тип количества — целые неотрицательные числа 0–99: всего 2 разряда, дробных 0. Второй аргумент ОписаниеТипов передаёт КвалификаторыЧисла; одного имени Число недостаточно для хранения чисел.

Товары = Новый ТаблицаЗначений;
Колонки = Товары.Колонки;
Колонки.Добавить("Название", Новый ОписаниеТипов("Строка"));
Количество = Колонки.Добавить("Количество", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(2, 0, ДопустимыйЗнак.Неотрицательный)));
Колонки.Добавить("Временная");
Код = Колонки.Вставить(0, "Код", Новый ОписаниеТипов("Строка"), "Код товара", 12);
Количество.Заголовок = "Количество, шт.";
Количество.Ширина = 10;
Сообщить(Код.Имя);
Сообщить(Количество.Заголовок);
Сообщить(Количество.ТипЗначения.СодержитТип(Тип("Число")));
Колонки.Сдвинуть(Количество, -1);
Сообщить(Колонки.Индекс(Количество));
Сообщить(Колонки.Получить(1) = Количество);
Сообщить(Колонки.Количество());
Временная = Колонки.Найти("Временная");
Если Временная <> Неопределено Тогда
    Колонки.Удалить(Временная);
КонецЕсли;
Сообщить(Колонки.Количество());
ПустаяКопия = Товары.СкопироватьКолонки();
ПустаяКопия.Колонки.Очистить();
Сообщить(ПустаяКопия.Колонки.Количество());

Разбор по шагам

  1. Добавляем название, количество и временную колонку; Вставить создаёт код в позиции 0.

  2. Колонка хранит имя для программного доступа, заголовок для отображения и описание допустимых типов.

  3. Сдвигаем количество на одну позицию вверх; Получить и Индекс работают с нумерацией от нуля.

  4. Удаляем временную колонку по найденному объекту. Очистить демонстрируется на отдельной копии структуры.

Как проверить результат

  1. Индекс количества после сдвига равен 1; сравнение Получить(1) с объектом колонки возвращает Истина.

  2. Число колонок меняется 4 → 3; у очищенной копии 0, у исходной таблицы по-прежнему 3.

Ожидаемый результат

Итоговый порядок: Код, Количество, Название. Количество допускает целые неотрицательные числа 0–99.

На что обратить внимание

  1. ТипЗначения доступен только для чтения: тип задавайте при создании колонки.

  2. Удаление колонки удаляет её значения во всех строках; не очищайте структуру рабочего объекта без необходимости.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.