Файлы Excel и 1С 8.3: просмотр, импорт, выгрузка по расписанию

· 10 мин

Содержание

Открыть файл Excel в 1С 8.3 можно без установленного Microsoft Excel: Главное меню → Файл → Открыть (или Ctrl+O), выберите файл *.xlsx или *.xls — он откроется как табличный документ 1С. Чтобы выгрузить данные из 1С в Excel, сформируйте отчёт или список и сохраните его через значок дискеты в формате «Лист Excel». Для импорта данных из Excel в 1С используют кнопку Загрузить в табличной части документа, загрузку в справочник или внешнюю обработку .

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

Как 1С работает с таблицами Excel

Платформа 1С:Предприятие 8.3 умеет сама читать и записывать файлы Excel. Для этого есть объект «табличный документ» — тот же, в котором вы видите отчёты и печатные формы. Офисный пакет на компьютере для этого не нужен.

Что важно знать заранее:

  • 📄 Форматы. Платформа читает и сохраняет xlsx, xls и ods. Старые файлы Excel 95 и файлы с поломанной структурой могут не открыться.
  • 🧮 Формулы. При открытии 1С берёт вычисленные значения, а не сами формулы. Формулы после пересохранения из 1С не сохраняются.
  • 🎨 Оформление. Шрифты, заливка, границы и объединённые ячейки переносятся в целом корректно. Диаграммы, сводные таблицы, макросы и условное форматирование — нет.
  • 📑 Листы. Если в книге несколько листов, ориентируйтесь на первый лист: именно его берут большинство обработок загрузки. Нужные данные лучше перенести на первый лист заранее.

Отсюда три сценария работы, и у каждого свой инструмент:

ЗадачаЧем делаетсяНужен программист
Посмотреть файл Excel внутри 1СФайл → ОткрытьНет
Выгрузить отчёт, список, печатную формуСохранение табличного документаНет
Загрузить данные из Excel в базуКнопка «Загрузить», обработка, кодИногда
Выгружать файл регулярно и без участия человекаРассылка отчётов или регламентное заданиеДля регламентного задания — да

Как открыть файл Excel в 1С для просмотра

Самый простой случай — нужно только посмотреть таблицу, а Excel на рабочем месте нет. Например, на терминальном сервере, где офис не ставили.

  1. Нажмите кнопку главного меню (значок с тремя полосками в левом верхнем углу окна).
  2. Выберите Файл → Открыть.
  3. В поле типа файлов укажите «Все файлы» или «Лист Excel», найдите файл и нажмите «Открыть».
  4. Файл откроется в новой вкладке как табличный документ.

В открытом документе работает всё, что и в отчётах 1С: поиск Ctrl+F, выделение диапазона с подсчётом суммы в нижней части окна, копирование в буфер, печать.

Отредактированный файл можно сохранить обратно: Главное меню → Файл → Сохранить как, тип — лист Excel. Учтите ограничения из первого раздела: формулы и диаграммы пропадут.

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

Выгрузка данных из 1С в файл Excel

Почти любой экран 1С с таблицей можно превратить в файл Excel. Различается только первый шаг.

Отчёты

  1. Сформируйте отчёт (например, оборотно-сальдовую ведомость).
  2. На командной панели отчёта нажмите значок дискеты «Сохранить».
  3. В поле типа файла выберите «Лист Excel 2007-…» (*.xlsx).
  4. Укажите папку и имя файла.

Если значка нет на панели, команда сохранения есть в меню Еще.

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

У списков нет кнопки «Сохранить», поэтому сначала таблицу выводят в табличный документ:

  1. Откройте список, например Справочники → Контрагенты.
  2. Настройте отбор и колонки, которые нужны в файле.
  3. Выберите Еще → Вывести список.
  4. В окне вывода отметьте колонки и нажмите «ОК».
  5. В появившемся табличном документе: Главное меню → Файл → Сохранить как → лист Excel.

Печатные формы

Накладную, счёт или акт откройте командой «Печать». В форме предварительного просмотра есть кнопка «Сохранить»: выберите формат xlsx и папку. Там же можно сразу отправить файл по почте.

Быстрый способ через буфер обмена

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

Сумма в выгрузке не сходится с отчётом? Проверьте, не стоит ли в настройках отчёта вывод в тысячах рублей или округление. В Excel уйдут ровно те значения, которые вы видите на экране.

Импорт данных из Excel в 1С:Предприятие

Загрузка — самая востребованная и самая рискованная часть. Ошибочный импорт создаёт дубли номенклатуры и контрагентов, которые потом приходится чистить вручную.

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

В табличную часть документа

Так заполняют поступление товаров по счёту поставщика или реализацию по заказу из Excel. В Бухгалтерии предприятия 3.0 и Управлении торговлей 11:

  1. Откройте документ, например «Поступление (акт, накладная, УПД)».
  2. Над табличной частью «Товары» нажмите Загрузить.
  3. В открывшейся форме загрузки скопируйте строки из Excel и вставьте их в таблицу формы или выберите файл.
  4. Сопоставьте колонки: какая колонка — номенклатура, какая — количество, цена, сумма.
  5. Программа покажет, какие строки найдены в справочнике, а какие нет. Для ненайденных можно выбрать существующую позицию или создать новую.
  6. Нажмите кнопку переноса данных в документ.

Поиск номенклатуры идёт по наименованию, артикулу или штрихкоду. Чем точнее совпадение в файле, тем меньше ручного сопоставления.

В справочник

Номенклатуру, контрагентов и цены в типовых конфигурациях загружают из формы списка: в командной панели справочника Номенклатура есть команда загрузки (обычно в меню Еще или кнопкой Загрузить). Механизм тот же: вставить таблицу, сопоставить колонки, проверить найденное, перенести.

Универсальной обработкой

Для объектов, у которых нет встроенной загрузки, используют внешнюю обработку «Загрузка данных из табличного документа». Её открывают через Главное меню → Файл → Открыть как файл *.epf.

В обработке задают:

  • 📌 вид объекта: справочник, документ, регистр сведений ;
  • 🔑 поле поиска — по нему 1С решает, обновить существующий элемент или создать новый;
  • 📍 номер колонки файла для каждого реквизита;
  • ⚙️ режим: только обновлять найденное или ещё и создавать новое.

Внешние обработки запускаются только у пользователей с правом на открытие внешних отчётов и обработок. Без него будет сообщение о нарушении прав доступа.

Программно: пример кода

Если загрузка регулярная и формат файла постоянный, проще написать свою обработку. Платформа читает Excel в табличный документ, а дальше значения берутся по адресу ячейки.

ТабДок = Новый ТабличныйДокумент;
ТабДок.Прочитать(ИмяФайла); // xlsx, xls или ods

Для НомерСтроки = 2 По ТабДок.ВысотаТаблицы Цикл // в первой строке заголовки
	СтрокаR = "R" + Формат(НомерСтроки, "ЧГ=0");
	Артикул    = СокрЛП(ТабДок.Область(СтрокаR + "C1").Текст);
	Количество = Число(ТабДок.Область(СтрокаR + "C3").Текст);
	Если ПустаяСтрока(Артикул) Тогда
		Продолжить;
	КонецЕсли;
	// здесь поиск номенклатуры по артикулу и заполнение строки документа
КонецЦикла;

Формат(..., "ЧГ=0") убирает пробел-разделитель тысяч: без него на строке 1000 адрес ячейки превратится в R1 000C1, и обработка упадёт.

Число() вызовет ошибку, если в ячейке текст или пробел-разделитель. Для «грязных» файлов оберните преобразование в Попытка … Исключение и записывайте номера проблемных строк в журнал.

Подготовка файла и сопоставление колонок

Большинство ошибок загрузки рождается в самом файле Excel, а не в 1С. Пять минут подготовки сэкономят ручную чистку базы.

Как подготовить таблицу:

  1. 🧹 Одна строка заголовков, данные сразу под ней. Без объединённых ячеек, пустых строк-разделителей и промежуточных итогов.
  2. 🔢 Числа — числами. Уберите пробелы между разрядами, слово «руб.», проверьте десятичный разделитель.
  3. 📅 Даты — в формате даты Excel, а не текстом вида 01.10.25г..
  4. 🔤 Наименования без лишних пробелов в начале и конце. В Excel их убирает функция СЖПРОБЕЛЫ.
  5. 🆔 Ключ поиска заполнен в каждой строке: артикул, ИНН контрагента, код.

Пример сопоставления колонок при загрузке номенклатуры:

Сопоставление полей
Артикул (колонка A)→Номенклатура.Артикул — ключ поиска
Наименование (колонка B)→Номенклатура.Наименование
Ед. изм. (колонка C)→Единица измерения (по классификатору)
Ставка НДС (колонка D)→Ставка НДС номенклатуры
Цена (колонка E)→Цена в документе «Установка цен номенклатуры»

Правило выбора ключа поиска простое: берите поле, которое уникально и в файле, и в базе. Поиск по наименованию — последний вариант: «Болт М8» и «Болт М8» с двойным пробелом для 1С разные позиции.

После загрузки проверьте результат:

  • откройте справочник и отсортируйте по дате создания — новые элементы окажутся рядом;
  • сравните количество строк в файле и в документе;
  • сверьте итоговую сумму документа с суммой в Excel.

Автоматическая выгрузка в Excel по расписанию

Когда руководителю каждый понедельник нужен один и тот же отчёт в Excel, делать его руками не обязательно.

Без программиста: рассылка отчётов

В Бухгалтерии предприятия 3.0 и других конфигурациях на БСП есть механизм рассылки отчётов: Администрирование → Печатные формы, отчеты и обработки → Рассылки отчетов. В рассылке указывают:

  • какой отчёт и с какими настройками формировать;
  • формат вложения — xlsx;
  • получателей и способ доставки: электронная почта или сетевая папка;
  • расписание — например, по понедельникам в 8:00.

Для работы по расписанию в файловой базе должен быть кто-то, кто держит базу открытой, либо база должна работать в клиент-серверном варианте, где регламентные задания выполняет сервер 1С.

С программистом: регламентное задание

Если нужна нестандартная выгрузка (например, остатки в фиксированном формате для маркетплейса), её оформляют регламентным заданием в расширении конфигурации. Типовую конфигурацию при этом не снимают с поддержки.

Запись файла на сервере делается без Excel:

ТабДок.Записать("\\fileserver\obmen\ostatki.xlsx", ТипФайлаТабличногоДокумента.XLSX);

Путь должен быть доступен учётной записи, под которой работает служба сервера 1С, а не пользователю, который настраивал задание.

Не используйте на сервере COM-объект Excel.Application. Он требует установленного офиса, оставляет зависшие процессы EXCEL.EXE и плохо работает от имени службы. Встроенный табличный документ решает ту же задачу надёжнее.

Ошибки при открытии и загрузке Excel

Типовые ситуации и что с ними делать:

Диагностика: выберите симптом

Ещё одна частая причина медленной работы — огромные файлы. Таблица на 50–100 тысяч строк читается в табличный документ заметно дольше, чем на тысячу, и при загрузке на клиенте может упереться в память. Большие объёмы режьте на части или загружайте серверной обработкой.

Частые вопросы

Нужен ли установленный Microsoft Excel, чтобы открыть xlsx в 1С?
Нет. Платформа 8.3 читает и записывает xlsx, xls и ods сама. Excel нужен только тем решениям, которые работают через COM-объект, а их лучше не использовать.
Можно ли загрузить из Excel остатки на начало работы?
Да. Если в форме ввода остатков над табличной частью есть кнопка «Загрузить», работайте как с документом поступления. Если её нет, загрузите остатки универсальной обработкой в документ ввода остатков, предварительно проверив результат на копии базы.
Почему после сохранения из 1С в Excel пропали формулы?
1С при открытии берёт только значения ячеек. Если формулы нужны, правьте исходный файл в Excel, а 1С используйте только для чтения.
Как выгрузить из 1С сразу несколько отчётов в одну книгу Excel?
Штатно каждый табличный документ сохраняется отдельным файлом. Собрать листы в одну книгу можно в Excel вручную или доработкой, которая выводит отчёты в один документ.
Работает ли загрузка из Excel в веб-клиенте и в 1С:Фреш?
Да, через выбор файла с компьютера или вставку из буфера в форму загрузки. Внешние обработки в облачном сервисе запускаются только после проверки и подключения поставщиком сервиса.