Выгрузка табличной части документа 1С в Excel: что выбрать и как сделать
Содержание
Быстрее всего табличную часть можно сохранить через буфер обмена: выделите строки мышью или нажмите Ctrl+A, скопируйте Ctrl+C и вставьте в открытую книгу Excel через Ctrl+V. Если нужен готовый файл, откройте печатную форму документа и сохраните её командой «Сохранить как» в формате XLSX. Для регулярных выгрузок есть обработки и код на встроенном языке.
Табличная часть в 1С живёт внутри документа: товары в поступлении, услуги в акте, строки расшифровки в авансовом отчёте. Сохранить её в Excel нужно, чтобы сверить с поставщиком, загрузить в другую программу или отправить коллеге, у которого нет доступа к базе. Дальше по порядку: от самого простого способа к автоматическому.
Что проверить перед выгрузкой
Три минуты подготовки избавят от переделок.
- 📌 Документ записан. Выгружать можно и незаписанный, но тогда в Excel попадёт то, что на экране, а не то, что хранится в базе.
- 📌 Видны нужные колонки. Скрытые колонки в буфер не попадут. Если нужен, например, артикул, который не отображается, включите его в настройке формы (правый клик на заголовке таблицы, пункт настройки списка колонок) или используйте вывод списка.
- 📌 Нет отбора и сортировки, которые вы забыли. Это относится к спискам, но в табличной части тоже бывает выделенный фрагмент: проверьте, что выделены все строки.
- 📌 Excel установлен. Для копирования и открытия файла нужна установленная программа. LibreOffice подходит так же, с оговорками по форматированию.
Если строк больше нескольких сотен, не делайте скриншоты и не переписывайте руками. Любой из способов ниже переносит данные целиком.
Копирование через буфер обмена
Это самый быстрый способ. Он работает в любой форме, где есть таблица.
- Откройте документ и перейдите на вкладку с нужной табличной частью, например «Товары».
- Щёлкните в любую ячейку таблицы и нажмите
Ctrl+A, чтобы выделить все строки. Если нужна часть, выделите диапазон мышью с зажатойShift. - Нажмите
Ctrl+C. - Откройте Excel, выберите ячейку
A1и нажмитеCtrl+V.
Данные вставятся с разделением по колонкам. Заголовков в вынесенном виде может не быть: проверьте первую строку и при необходимости допишите шапку руками.
Что попадает в буфер
| Что | Как переносится |
|---|---|
| Видимые колонки | Все, в том порядке, как на экране |
| Скрытые колонки | Не копируются |
| Подвал с итогами | Не копируется, итоги считайте в Excel |
| Флажки | Как «Да» и «Нет» или пустое значение, зависит от колонки |
| Числа | Как текст с разделителем групп разрядов, о чём ниже |
⚠️ Если вставляете в Excel в уже отформатированный лист, формат ячеек может исказить числа и даты. Для чистоты вставляйте на новый лист.
Мини-кейс: сверка 400 строк с поставщиком
Бухгалтер получил от поставщика файл на 400 позиций и должен сверить его с поступлением в 1С. Вручную это час-два. Через Excel выходит быстрее.
- Открыть поступление, выделить табличную часть
Ctrl+A, скопировать. - В Excel создать лист «1С» и вставить данные. Колонку с артикулом заранее перевести в текстовый формат.
- Файл поставщика положить на лист «Поставщик».
- В третьей колонке листа «1С» поставить поиск по артикулу на листе поставщика, например
ВПРили более новуюПОИСКПОЗ. - Строки с ошибкой «Н/Д» и есть расхождения: позиции, которых нет у поставщика, или артикулы, записанные по-разному.
Количество и цену сравните отдельной колонкой с разницей. Всё, что отличается от нуля, идёт в список вопросов поставщику.
Вывод списка: когда нужны выбранные колонки
Для таблиц на форме есть команда вывода в табличный документ. В платформе с интерфейсом «Такси» она спрятана в меню «Еще» над таблицей: ищите пункт «Вывести список …».
Что даёт этот способ по сравнению с копированием:
- 🧩 можно отметить, какие колонки выводить и в каком порядке;
- 🧩 можно вывести только выделенные строки;
- 🧩 результат открывается в отдельном окне как обычная таблица, её можно оформить и сохранить.
Порядок действий:
- Откройте нужный документ и найдите над табличной частью меню «Еще».
- Выберите «Вывести список…».
- В открывшемся окне отметьте колонки, поставьте нужное количество строк и подтвердите.
- В окне с готовой таблицей нажмите
Ctrl+Sили найдите в меню «Файл» команду «Сохранить как». - В списке типов файлов выберите Excel (
*.xlsx), укажите имя и сохраните.
Если пункта в меню нет, он мог быть скрыт в настройках интерфейса или в конкретной форме. Тогда используйте копирование или печатную форму.
Если выгрузка не срабатывает
Иногда пункт «Вывести список» или сохранение файла не работает . Причины стоит проверить по порядку.
| Симптом | Что проверить |
|---|---|
| Нет пункта «Вывести список…» | Меню «Еще» над таблицей, права роли, индивидуальный интерфейс формы |
| Файл не сохраняется | Права на запись в выбранную папку Windows |
| Не открывается внешняя обработка | Право на открытие внешних файлов и политика безопасности в базе |
| В буфер ничего не копируется | Выделена ли хотя бы одна строка, не открыта ли форма в режиме просмотра без таблицы |
Если дело в правах, обратитесь к администратору базы: отключать защиту самостоятельно не стоит.
Печатная форма документа и сохранение в XLSX
Этот способ нужен, когда файл уходит наружу. В печатной форме уже есть шапка, реквизиты организации, итоги и подписи. Табличная часть выведена аккуратно, с границами и шириной колонок.
Как получить файл
- В документе нажмите кнопку «Печать» и выберите нужную форму: накладную, акт, счёт. Список форм зависит от типа документа.
- Откроется окно с табличным документом.
- Нажмите
Ctrl+Sили выберите в меню «Файл» пункт «Сохранить как». - Выберите тип «Лист Excel 2007-… (*.xlsx)» и укажите папку.
Если нужен только блок с товарами, а не вся форма, выделите его мышью в печатной форме, скопируйте и вставьте в Excel. Объединённые ячейки в шапке иногда мешают сортировке, поэтому для анализа лучше брать данные из табличной части, а для передачи контрагенту печатную форму.
Какой формат выбрать
| Формат | Когда | Риски |
|---|---|---|
| XLSX | В большинстве случаев | Практически нет |
| XLS | Если файл откроют в очень старой версии Excel | Ограничение на число строк на листе, меньше 65 тысяч |
| ODS | Для LibreOffice | Возможны расхождения в оформлении |
| CSV и TXT | Для загрузки в другие программы | Кодировка и разделители, подробнее ниже |
| Только для чтения | Править данные нельзя |
Лист XLSX вмещает чуть больше миллиона строк. Выгрузка, которая не влезает, режется молча, поэтому для очень больших списков делите данные на части.
Внешняя обработка для повторяющихся выгрузок
Если выгрузка нужна часто, ручное копирование надоест. В 1С есть два пути: подключить готовую обработку или написать свою.
Откуда берутся обработки
- Дополнительные обработки в базе. В конфигурациях на БСП они подключаются в разделе
Администрирование → Печатные формы, отчеты и обработки. Там включается флажок использования дополнительных отчётов и обработок, а затем создаётся новый элемент справочника. - Внешний файл. Файл
.epfможно открыть через меню «Файл» → «Открыть» (Ctrl+O). Это работает, если у пользователя есть соответствующее право и администратор не запретил открытие внешних файлов.
Чужие обработки загружайте из источника, которому доверяете. Обработка выполняет код с правами пользователя и может прочитать больше, чем вам нужно. Прогоните её сначала на копии базы и попросите программиста посмотреть код.
Что должна уметь хорошая обработка
- выбирать документ и табличную часть из списка;
- сохранять результат в
xlsxодним действием; - не менять данные в базе: только чтение.
Выгрузка кодом: когда нужна автоматизация
Для разработчика задача решается за несколько строк. Табличный документ формируется в памяти и записывается в файл. Ниже пример для формы документа, в котором есть табличная часть Товары с колонками Номенклатура, Количество, Цена. Имена реквизитов замените на свои.
&НаКлиенте
Процедура ВыгрузитьВExcel(Команда)
ТабДок = Новый ТабличныйДокумент;
ТабДок.Область(1, 1).Текст = "Номенклатура";
ТабДок.Область(1, 2).Текст = "Количество";
ТабДок.Область(1, 3).Текст = "Цена";
НомерСтроки = 2;
Для Каждого Строка Из Объект.Товары Цикл
ТабДок.Область(НомерСтроки, 1).Текст = Строка(Строка.Номенклатура);
ТабДок.Область(НомерСтроки, 2).Текст = Строка(Строка.Количество);
ТабДок.Область(НомерСтроки, 3).Текст = Строка(Строка.Цена);
НомерСтроки = НомерСтроки + 1;
КонецЦикла;
ИмяФайла = ПолучитьИмяВременногоФайла("xlsx");
ТабДок.Записать(ИмяФайла, ТипФайлаТабличногоДокумента.XLSX);
Сообщить("Файл сохранён: " + ИмяФайла);
КонецПроцедуры
Пример нарочно простой. Числа записаны как текст, чтобы показать общий принцип; для расчётов в Excel лучше задавать значение и формат ячейки отдельно или формировать табличный документ по макету.
Второй вариант: управлять Excel напрямую через COM. Он нужен, если надо открыть книгу, поставить формулы или формат. Работает только там, где на компьютере установлен Excel.
Excel = Новый COMОбъект("Excel.Application");
Книга = Excel.Workbooks.Add();
Лист = Книга.Worksheets(1);
Лист.Cells(1, 1).Value = "Номенклатура";
Excel.Visible = True;
COM-подключение не работает на сервере без Excel и в веб-клиенте. Для серверных и регламентных выгрузок записывайте файл через табличный документ, как в первом примере.
Когда выгружать в Excel не нужно
Не каждую задачу стоит решать через Excel. Три случая, где есть лучшее решение.
- ⛔ Нужно загрузить данные обратно в 1С. Для этого есть загрузка табличной части из файла или универсальная обработка загрузки. Свободная вставка из буфера в таблицу приведёт к ошибкам в типах.
- ⛔ Нужна аналитика по многим документам. Отчёт с группировками и отбором даст больше, чем склейка табличных частей по одной.
- ⛔ Данные идут во внешнюю программу регулярно. Настройте обмен или выгрузку по расписанию, а не ручную рутину.
Проблемы с кодировкой, форматами и спецсимволами
Данные доехали, но выглядят странно. Типичные ситуации.
Нули в начале пропали, число превратилось в «1E+12»
Excel считает колонку числовой и отбрасывает ведущие нули в кодах, ИНН, штрихкодах и артикулах. Длинные числа он показывает в экспоненциальной записи.
Что делать:
- Перед вставкой выделите колонку в Excel и задайте формат «Текстовый».
- Затем вставляйте данные.
- Если уже вставили и нули пропали, повторите операцию в текстовую колонку, исправлять испорченное вручную дольше.
Числа не складываются
Причина: разделитель групп разрядов с неразрывным пробелом или запятая вместо точки в региональных настройках. Excel воспринимает значение как текст.
- Включите в Excel замену: найдите неразрывный пробел через
Ctrl+Hи замените его на пустое. - Проверьте региональные настройки Windows: разделитель целой и дробной части должен совпадать с тем, что в данных.
- В Excel выделите колонку и выберите «Текст по столбцам», чтобы пересчитать значения.
Иероглифы или «кракозябры» в CSV и TXT
Если сохраняли в текстовый файл, проверьте кодировку при сохранении. Excel хорошо читает текст, сохранённый с признаком UTF-8 (BOM), и хуже обычный UTF-8 без него. Откройте файл через «Данные» → «Из текста/CSV» и вручную выберите кодировку, это надёжнее двойного щелчка.
Даты превратились в числа или поменяли день и месяц
Excel разбирает даты по региональным настройкам. Если в данных «03.04.2026», а система ждёт американский порядок, получится 4 марта. Задайте текстовый формат колонки перед вставкой или записывайте даты в файл в явном виде.
Спецсимволы и переносы строк
Переносы внутри ячейки, например в комментарии, могут сломать построчную структуру CSV. XLSX такого не боится, поэтому там, где в тексте есть переносы и кавычки, используйте его, а не текстовые форматы.
Частые вопросы
Можно ли выгрузить сразу несколько табличных частей одного документа?
Почему при копировании в Excel не попали итоги?
Как выгрузить табличную часть сразу из многих документов?
Можно ли выгрузить таблицу в Excel из веб-клиента?
Excel пишет, что файл повреждён или формат не соответствует расширению.
xlsx. Пересохраните через «Сохранить как» и выберите именно тип XLSX.