К статье
Практический материал

Отчеты и Аналитика · 8 мин

Как выгрузить колонку табличной части в 1С

Способы выгрузить колонку табличной части (ТЧ) документа в 1С: копирование, выгрузка в Excel, консоль запросов, обработка. Пошаговая инструкция с примерами кода.

Задача выгрузить одну колонку табличной части (ТЧ) документа или справочника возникает часто: нужно получить список артикулов из счёта, колонку количеств из инвентаризации, перечень сотрудников из кадрового приказа. В 1С нет кнопки «выгрузить колонку», но есть несколько рабочих способов — от простого копирования до программной выгрузки через запрос.

Выбор способа зависит от трёх факторов: есть ли у вас права на конфигуратор и внешние обработки, какой объём данных нужно получить и что делать с результатом дальше — вставить в Excel, загрузить в другую базу или обработать кодом. Ниже разобраны все основные варианты с пошаговыми действиями.

Способ 1. Копирование колонки через буфер обмена

Самый простой вариант — не требует ни конфигуратора, ни дополнительных инструментов. Откройте документ с табличной частью, кликните по заголовку нужной колонки, чтобы выделить её целиком. В тонком клиенте и веб-клиенте выделение колонки работает при клике по шапке колонки; если колонка не выделяется, проверьте, что таблица не находится в режиме редактирования ячейки.

После выделения нажмите Ctrl+C и вставьте данные в Excel или текстовый редактор: каждое значение встанет в отдельную строку. Если выделение колонки недоступно в вашей версии платформы, используйте команду «Ещё → Вывести список» над табличной частью: в открывшемся табличном документе снимите лишние флажки колонок, оставьте нужную и сохраните результат в файл.

Порядок действий при копировании
  1. 1
    Откройте документ и табличную часть
  2. 2
    Кликните по заголовку нужной колонки для выделения
  3. 3
    Нажмите Ctrl+C или используйте «Ещё → Вывести список»
  4. 4
    Вставьте данные в Excel и проверьте число строк
  5. 5
    Сверьте количество строк с количеством строк в ТЧ документа

Способ 2. Выгрузка через «Вывести список» в файл

Команда «Вывести список» (в некоторых конфигурациях — «Выгрузить») формирует табличный документ из содержимого ТЧ. В диалоге настройки отметьте только нужную колонку, снимите остальные флажки и нажмите «ОК». Полученный табличный документ сохраняется через «Файл → Сохранить как» в форматы MXL, XLSX, ODS, CSV или TXT.

Формат CSV удобен, если колонку нужно передать в другую систему или обработать скриптом. Учтите ограничение: при сохранении в CSV из табличного документа разделителем обычно служит точка с запятой, а числа сохраняются в отображаемом виде — с разделителями групп разрядов, если они заданы в формате ячейки. Перед дальнейшей обработкой проверьте, не «поплыли» ли числа и даты.

Способ 3. Консоль запросов для больших объёмов

Если строк много, документов несколько или выгрузка нужна регулярно, ручное копирование не подходит. Используйте консоль запросов — стандартную обработку, доступную на ИТС и во многих типовых конфигурациях. Запрос выбирает колонку из табличной части напрямую из базы.

Пример запроса для выгрузки колонки «Номенклатура» из табличной части «Товары» документа «РеализацияТоваровУслуг»:

SELECT

РеализацияТоваровУслугТовары.Номенклатура КАК Номенклатура

FROM

Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары

WHERE

РеализацияТоваровУслугТовары.Ссылка = &Ссылка

Результат запроса в консоли можно скопировать или сохранить — большинство консолей позволяют выгрузить результат в табличный документ или файл. Преимущество подхода: можно сразу отфильтровать данные, убрать дубли через «SELECT DISTINCT» и объединить колонки из нескольких документов одним запросом.

Способ 4. Программная выгрузка методом ВыгрузитьКолонку()

У табличной части объекта есть встроенный метод ВыгрузитьКолонку("ИмяКолонки"), который возвращает массив значений. Этот вариант подходит разработчикам и тем, кто пишет разовую обработку. Метод работает быстро, так как не создаёт промежуточную таблицу значений.

ДокументОбъект = СсылкаНаДокумент.ПолучитьОбъект();

МассивНоменклатуры = ДокументОбъект.Товары.ВыгрузитьКолонку("Номенклатура");

Текст = Новый ТекстовыйДокумент;

Для Каждого Элемент Из МассивНоменклатуры Цикл

Текст.ДобавитьСтроку(Строка(Элемент));

КонецЦикла;

Текст.Записать("C:\Выгрузка\колонка.txt", КодировкаТекста.UTF8);

Если нужна не одна колонка, а несколько, используйте Выгрузить() без параметров — получите таблицу значений со всеми колонками ТЧ, из которой затем возьмёте нужные. Для выгрузки в Excel программным путём таблицу значений удобно преобразовать в табличный документ через построитель отчёта или заполнить ячейки напрямую через COM-объект Excel.

bsl
Массив = ДокументОбъект.Товары.ВыгрузитьКолонку("Номенклатура");

Способ 5. Универсальная обработка «Выгрузка и загрузка данных»

Если задача — перенести колонку или всю табличную часть в другую базу 1С, используйте типовую обработку выгрузки/загрузки данных XML (с диска ИТС или из состава конфигурации «Конвертация данных»). Она выгружает объекты целиком вместе с табличными частями в XML-файл, из которого данные можно загрузить в идентичную конфигурацию.

Этот способ избыточен для простого «получить список в Excel», но незаменим при переносе данных между базами. Важное ограничение: конфигурации источника и приёмника должны быть совместимы по структуре метаданных, иначе загрузка завершится ошибками или потерей части данных.

Сравнение способов выгрузки

Копирование через буфер

Подходит для разовой выгрузки до нескольких тысяч строк; не требует прав разработчика, но легко ошибиться при выделении

Вывести список в файл

Удобен для сохранения в Excel/CSV; ограничен возможностями отбора данных

Консоль запросов

Гибкая фильтрация и объединение документов; требует прав и навыка написания запросов

ВыгрузитьКолонку() в коде

Для автоматизации и регулярных выгрузок; нужен доступ к конфигуратору или внешним обработкам

Выгрузка в XML

Для переноса между базами 1С; избыточен для выгрузки одной колонки в Excel

Проверка результата и типичные ошибки

После выгрузки сверьте количество строк в результате с количеством строк табличной части — расхождение означает потерю данных при копировании или лишние строки-итоги в файле. Если колонка содержит ссылочные значения (номенклатуру, контрагентов), проверьте, что выгрузилось именно то представление, которое нужно: наименование, артикул или код. В коде для этого указывайте нужный реквизит через точку: ВыгрузитьКолонку("Номенклатура.Артикул") не сработает — сначала выгрузите колонку, затем получите артикулы обходом.

Числовые колонки при вставке в Excel иногда превращаются в текст с неразрывными пробелами-разделителями разрядов. Признак проблемы — числа выравнены по левому краю и не участвуют в суммах. Лечится заменой неразрывного пробела (код символа 160) на пустую строку или настройкой формата перед вставкой.

Типичные ошибки
01
Копирование без выделения колонки — в буфер попадает вся таблица или одна ячейка
02
Забытый отбор в запросе — выгружается колонка из всех документов, а не из нужного
03
Потеря неразрывных пробелов в числах — Excel не считает суммы по вставленной колонке
04
Выгрузка помеченных на удаление документов — в результат попадают неактуальные данные
05
Сохранение в CSV без проверки кодировки — кириллица открывается кракозябрами
Контрольные точки

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

Число строк в файле
Норма

Совпадает с числом строк в табличной части

Тревожный признак

Строк больше (итоги, шапка) или меньше (обрыв копирования)

Числа в Excel
Норма

Выровнены вправо, суммируются формулой

Тревожный признак

Выровнены влево, воспринимаются как текст

Кириллица в CSV/TXT
Норма

Текст читаемый при открытии

Тревожный признак

Крякозябры — неверная кодировка при сохранении

FAQ

Можно ли выгрузить колонку из ТЧ сразу нескольких документов?

Да, проще всего консолью запросов: уберите отбор по конкретной ссылке или задайте список документов в условии «В (&СписокСсылок)». В результат добавьте поле «Ссылка», чтобы видеть, из какого документа каждая строка.

Как выгрузить колонку без дублей значений?

В запросе используйте «SELECT DISTINCT» или конструкцию «ВЫБРАТЬ РАЗЛИЧНЫЕ». При копировании через буфер дубли придётся удалять уже в Excel штатной командой «Удалить дубликаты».

Почему метод ВыгрузитьКолонку() возвращает пустой массив?

Чаще всего указано неверное имя колонки — проверьте точное имя реквизита табличной части в конфигураторе. Также массив будет пуст, если документ не содержит строк в этой ТЧ или объект не прочитан из базы.

Можно ли выгрузить колонку в Excel без установленного Excel на компьютере?

Да. Сохраните табличный документ в формате XLSX — платформа записывает файл сама, без участия Excel. Открыть такой файл можно в Excel, LibreOffice или Google Таблицах.

Как выгрузить колонку, если нет прав на конфигуратор и внешние обработки?

Используйте штатные средства: выделение колонки и копирование или команду «Ещё → Вывести список» с сохранением в файл. Эти функции доступны большинству пользователей без дополнительных прав.

Итог

Что важно запомнить

Для разовой выгрузки колонки достаточно копирования или «Вывести список», для регулярных задач и больших объёмов — консоль запросов или метод ВыгрузитьКолонку(). После выгрузки всегда сверяйте число строк и проверяйте формат чисел и кодировку файла.