Используется для доступа к методам табличной части прикладного объекта в целом. Максимальное число строк в табличной части определяется значением свойства ДлинаНомераСтроки и может быть в диапазоне от 99 999 до 999 999 999. В режиме совместимости Версия8_3_26 и ниже максимальное число строк в табличной части – 99 999 (свойство ДлинаНомераСтроки будет установлено в значение 5). Имя табличной части объекта формируется следующим образом: <Префикс полного имени объекта>ТабличнаяЧасть.<Имя прикладного объекта>.<Имя табличной части>. Например: СправочникТабличнаяЧасть.Номенклатура.Состав, где "Номенклатура" - имя справочника, как оно задано в Конфигураторе, "Состав" - имя табличной части справочника "Номенклатура".
Доступность
Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.
Полное описание, параметры и ограничения
Используется для доступа к методам табличной части прикладного объекта в целом.
Максимальное число строк в табличной части определяется значением свойства ДлинаНомераСтроки и может быть в диапазоне от 99 999 до 999 999 999.
В режиме совместимости Версия8_3_26 и ниже максимальное число строк в табличной части – 99 999 (свойство ДлинаНомераСтроки будет установлено в значение 5).
Имя табличной части объекта формируется следующим образом:
<Префикс полного имени объекта>ТабличнаяЧасть.<Имя прикладного объекта>.<Имя табличной части>.
Например: СправочникТабличнаяЧасть.Номенклатура.Состав, где "Номенклатура" - имя справочника, как оно задано в Конфигураторе, "Состав" - имя табличной части справочника "Номенклатура".
Практические примеры
Заполнить и исправить штрихкоды незаписанного товара
Табличная часть принадлежит объекту справочника. Добавляем строки, находим основной штрихкод и удаляем только пустую учебную строку в памяти.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Создайте НОВУЮ пустую файловую учебную базу, не копию рабочего каталога. В Конфигураторе задайте корню имя Учебная85. Не добавляйте эти объекты в рабочую УТ/КА2/УНФ/БП.
Справочники → Добавить: имя УчебныеТовары. Длина кода 10, тип кода Строка, автонумерация и контроль уникальности включены, длина наименования 100.
Для УчебныеТовары включите иерархию групп и элементов. Добавьте реквизиты Артикул (Строка, длина 20) и Цена (Число, 12 цифр, 2 дробных, неотрицательное). Проверка заполнения для этих учебных реквизитов не устанавливается.
Добавьте табличную часть Штрихкоды: Штрихкод (Строка, длина 20) и Основной (Булево). Обновите конфигурацию базы данных. Модули объектов оставьте пустыми.
Создайте серверный общий модуль УчебныеЗадачи и команду учебной обработки, вызывающую ВыполнитьПример() Экспорт. Каждый фрагмент выполняйте отдельно, не склеивайте их в одну процедуру.
Если Метаданные.Справочники.Найти("УчебныеТовары") = Неопределено Тогда
ВызватьИсключение "Сначала создайте учебный справочник по подготовке";
КонецЕсли;
Товар = Справочники.УчебныеТовары.СоздатьЭлемент();
Товар.Наименование = "Учебная книга";
СтрокаКода = Товар.Штрихкоды.Добавить();
СтрокаКода.Штрихкод = "TRAINING-A-01";
СтрокаКода.Основной = Истина;
СтрокаКода = Товар.Штрихкоды.Вставить(0);
СтрокаКода.Штрихкод = "";
СтрокаКода.Основной = Ложь;
ПустаяСтрока = Товар.Штрихкоды.Найти("", "Штрихкод");
Если ПустаяСтрока <> Неопределено Тогда
Товар.Штрихкоды.Удалить(ПустаяСтрока);
КонецЕсли;
Основные = Товар.Штрихкоды.НайтиСтроки(Новый Структура("Основной", Истина));
Если Основные.Количество() <> 1 Тогда
ВызватьИсключение "Ожидался ровно один основной учебный штрихкод";
КонецЕсли;
Сообщить(Товар.Штрихкоды.Количество() = 1);
Сообщить(Товар.Штрихкоды.Получить(0).Штрихкод = "TRAINING-A-01");
Сообщить(Товар.Штрихкоды.Индекс(Основные[0]) = 0);
Сообщить(Товар.ЭтоНовый());
Сообщить(Товар.Штрихкоды.Выгрузить().Количество() = 1);Разбор по шагам
Добавить возвращает строку табличной части объекта, а Вставить(0) помещает новую строку перед ней.
Найти ищет первое совпадение в указанной колонке; НайтиСтроки возвращает все совпадения по структуре отбора.
Удаляем найденную пустую строку из незаписанного экземпляра. Других объектов базы этот метод не касается.
Выгрузить создаёт отдельную ТаблицуЗначений для дальнейшего анализа; объект справочника по-прежнему новый.
Как проверить результат
В табличной части осталась одна строка TRAINING-A-01, основной штрихкод имеет индекс 0.
Все пять контрольных сравнений дают Истина.
В списке справочника товар не появляется: запись объекта не выполнялась.
Ожидаемый результат
Табличная часть подготовлена и проверена в памяти без сохранения объекта.
На что обратить внимание
TRAINING-A-01 — учебная строка, не валидный торговый EAN. Этот пример не проверяет стандарт штрихкода.
Табличная часть объекта, ТаблицаЗначений и коллекция данных формы — разные API. Схожие названия методов не делают их одним типом.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.
Изменить колонку табличной части и восстановить сохранённую копию
Выгружаем количества в массив, заменяем их, затем очищаем только незаписанный документ и возвращаем исходные строки из таблицы.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Создайте НОВУЮ пустую файловую учебную базу, не копию рабочего каталога. В Конфигураторе задайте корню имя Учебная85. Не добавляйте эти объекты в рабочую УТ/КА2/УНФ/БП.
Справочники → Добавить: имя УчебныеТовары. Длина кода 10, тип кода Строка, автонумерация и контроль уникальности включены, длина наименования 100.
Для УчебныеТовары включите иерархию групп и элементов. Добавьте реквизиты Артикул (Строка, длина 20) и Цена (Число, 12 цифр, 2 дробных, неотрицательное). Проверка заполнения для этих учебных реквизитов не устанавливается.
Добавьте табличную часть Штрихкоды: Штрихкод (Строка, длина 20) и Основной (Булево). Обновите конфигурацию базы данных. Модули объектов оставьте пустыми.
Создайте серверный общий модуль УчебныеЗадачи и команду учебной обработки, вызывающую ВыполнитьПример() Экспорт. Каждый фрагмент выполняйте отдельно, не склеивайте их в одну процедуру.
Документы → Добавить: имя УчебнаяЗаявка, тип номера Строка, длина 9, автонумерация включена. Проведение запретите: это только учебный документ без движений.
Добавьте реквизит Комментарий (Строка, длина 100) и табличную часть Товары: Товар (СправочникСсылка.УчебныеТовары), Количество (Число, 9 цифр, 0 дробных, неотрицательное), Цена (Число, 12 цифр, 2 дробных, неотрицательное). Модуль документа пустой.
Обновите конфигурацию базы данных. Эти имена существуют только в созданной учебной конфигурации, не подразумеваются в типовой базе.
Если Метаданные.Справочники.Найти("УчебныеТовары") = Неопределено Тогда
ВызватьИсключение "Сначала создайте учебный справочник по подготовке";
КонецЕсли;
Если Метаданные.Документы.Найти("УчебнаяЗаявка") = Неопределено Тогда
ВызватьИсключение "Сначала создайте учебный документ по подготовке";
КонецЕсли;
Заявка = Документы.УчебнаяЗаявка.СоздатьДокумент();
Заявка.Дата = Дата(2026, 10, 2, 10, 0, 0);
Для Номер = 1 По 2 Цикл
СтрокаЗаявки = Заявка.Товары.Добавить();
СтрокаЗаявки.Товар = Справочники.УчебныеТовары.ПустаяСсылка();
СтрокаЗаявки.Количество = ?(Номер = 1, 3, 1);
СтрокаЗаявки.Цена = 250;
КонецЦикла;
Снимок = Заявка.Товары.Выгрузить();
Количества = Заявка.Товары.ВыгрузитьКолонку("Количество");
Сообщить(Количества.Количество() = 2 И Количества[0] = 3 И Количества[1] = 1);
Количества[0] = 4;
Количества[1] = 2;
Если Количества.Количество() <> Заявка.Товары.Количество() Тогда
ВызватьИсключение "Число новых значений не совпадает с числом строк";
КонецЕсли;
Заявка.Товары.ЗагрузитьКолонку(Количества, "Количество");
Сообщить(Заявка.Товары.Итог("Количество") = 6);
Сообщить(Снимок.Итог("Количество") = 4);
Схема = Заявка.Товары.ВыгрузитьКолонки("Товар,Количество,Цена");
Сообщить(Схема.Количество() = 0);
Сообщить(Схема.Колонки.Количество() = 3);
Заявка.Товары.Очистить();
Сообщить(Заявка.Товары.Количество() = 0);
Заявка.Товары.Загрузить(Снимок);
Сообщить(Заявка.Товары.Количество() = 2);
Сообщить(Заявка.Товары.Итог("Количество") = 4);
Сообщить(Заявка.ЭтоНовый());Разбор по шагам
Выгрузить создаёт таблицу с данными, ВыгрузитьКолонки — только её схему. Это разные методы.
ВыгрузитьКолонку возвращает массив значений в текущем порядке строк. Проверяем длину прежде, чем загрузить изменённые значения.
ЗагрузитьКолонку меняет выбранную колонку экземпляра, но не меняет заранее выгруженный Снимок.
Очистить и Загрузить работают с незаписанной табличной частью. Загрузить заменяет весь состав строк, не добавляет к старым.
Как проверить результат
Исходный массив [3,1], после замены итог 6, независимый снимок сохраняет итог 4.
Схема имеет 3 колонки и 0 строк. После Очистить строк 0, после Загрузить снова 2 и итог 4.
Все контрольные сравнения Истина, документ остаётся новым и не появляется в базе.
Ожидаемый результат
Показаны перенос одной колонки, независимый снимок и полная загрузка табличной части.
На что обратить внимание
Загрузить удаляет прежние строки табличной части в памяти; не используйте его как добавление новых строк.
После полной загрузки старые ссылки на строки и их индексы нужно считать недействительными до повторного поиска.
Совпадение имён колонок важно для Загрузить. Переименованная колонка не сопоставляется по позиции автоматически.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.