Перенос данных из 1С в Excel без потери чисел, дат и кодов
Содержание
Скопировать текст из 1С в Excel можно тремя путями. Отчёт или печатную форму сохраните файлом .xlsx. Пару ячеек выделите мышью, нажмите Ctrl+C и вставьте в Excel через Ctrl+V. Журнал документов
или справочник выгрузите командой Ещё → Вывести список…, а получившуюся таблицу уже сохраните в Excel.
Сложности начинаются после вставки. Суммы не складываются, у ИНН пропадает первый ноль, 20-значный расчётный счёт превращается в 4,07028E+19. Всё это лечится, если знать, откуда берётся проблема. Ниже — способы переноса и то, как получить в Excel живые числа, а не текст.
Какой способ переноса из 1С подходит под вашу задачу
Сначала определите, что именно копируете. От этого зависит способ.
| Что копируете | Способ | Что сохранится | Ограничения |
|---|---|---|---|
| Отчёт (ОСВ, анализ счёта, остатки) | Сохранить как .xlsx | Шрифты, рамки, объединения, группировки | Объединённые ячейки мешают сортировке |
| Печатная форма (счёт, акт, ТОРГ-12) | Кнопка сохранения в окне печати | Вид документа почти один в один | Это бланк, а не таблица для расчётов |
| Несколько ячеек отчёта | Буфер обмена | Значения, частично оформление | Числа иногда приходят текстом |
| Одно поле карточки или строки | Ctrl+C / Ctrl+V | Только текст | Подходит для разовой операции |
| Список документов, справочник, табличная часть | Ещё → Вывести список… | Выбранные колонки, плоская таблица | Нужен второй шаг — сохранение |
| Регулярная однотипная выгрузка | Код 1С или макрос Excel | Всё, что запрограммировали | Нужен человек, который это настроит |
💡 Если данные нужны для расчётов, фильтров и сводных таблиц, берите плоскую таблицу: вывод списка или отчёт без группировок. Если нужно отправить документ контрагенту — сохраняйте печатную форму.
Сохранение отчёта и печатной формы в файл Excel
Любой отчёт в 1С 8.3 — это табличный документ. Его можно записать на диск в формате Excel, и это самый надёжный способ: платформа сама передаёт числа числами, а даты датами.
Отчёт
- Сформируйте отчёт с нужным периодом и отборами.
- Щёлкните мышью в любом месте таблицы отчёта, чтобы активным стал именно табличный документ.
- Откройте главное меню (кнопка с тремя полосками в заголовке окна программы) и выберите
Файл → Сохранить как…. То же делает сочетаниеCtrl+S. - В поле типа файла выберите лист Excel с расширением
*.xlsx. - Укажите папку и имя, нажмите «Сохранить».
Старый формат *.xls выбирайте, только если у получателя очень старый Excel. В нём лимит — 65 536 строк, а в .xlsx — 1 048 576. Большой анализ субконто в .xls может просто обрезаться.
Печатная форма
В окне печати документа (счёт, акт, накладная) есть кнопка сохранения со значком дискеты. Она открывает список форматов. Отметьте «Лист Microsoft Excel» и выберите, куда записать: на компьютер или во вложение к письму. Соседняя кнопка «Отправить» сразу прикрепляет файл к письму, если в 1С настроена учётная запись почты.
Печатная форма сохраняется со всей вёрсткой: объединёнными ячейками, узкими служебными колонками, подписями. Считать в такой таблице неудобно. Для анализа данных используйте отчёт или вывод списка.
Как подготовить отчёт к выгрузке
Отчёт с группировками и промежуточными итогами в Excel превращается в «лесенку». Перед сохранением откройте настройки отчёта и сделайте его плоским:
- 📊 уберите лишние группировки или выведите их в одну колонку;
- 🔢 отключите промежуточные итоги, если будете считать в Excel сами;
- 🗂️ сверните или разверните группы заранее — в файл попадёт та структура, которая видна на экране, вместе с кнопками группировки слева.
Копирование из 1С через буфер обмена и вставка значений
Буфер обмена удобен, когда нужен кусок отчёта или одно значение.
Ячейки отчёта
- Выделите диапазон мышью. Для целой колонки щёлкните по её заголовку с буквой или номером, для нескольких областей держите
Ctrl. - Нажмите
Ctrl+C. - В Excel встаньте в левую верхнюю ячейку будущей таблицы и нажмите
Ctrl+V.
Excel получает из 1С сразу несколько вариантов содержимого: с оформлением и простым текстом. По Ctrl+V он берёт вариант с оформлением — рамки, шрифты, заливку и объединения.
Если оформление мешает, используйте специальную вставку. Нажмите Ctrl+Alt+V и выберите формат:
| Формат вставки | Результат |
|---|---|
| HTML | Таблица с оформлением, как при обычной вставке |
| Текст в кодировке Юникод | Только значения, колонки разделены, кириллица без искажений |
| Текст | Только значения; на старых системах возможны проблемы с символами |
Для расчётов чаще всего подходит «Текст в кодировке Юникод»: никаких объединений, каждая колонка 1С ложится в свою колонку Excel.
Поля форм и списков
В карточке справочника или документа выделите текст в поле и нажмите Ctrl+C. В списке (журнал документов, справочник номенклатуры) Ctrl+C копирует значение текущей ячейки. Так удобно забрать номер документа, ИНН, наименование. Для целого списка этот приём не годится — для этого есть отдельная команда.
Вывод списка документов и справочников в Excel
Команда «Вывести список » превращает любой список в 1С 8.3 в табличный документ. Она работает в журналах документов, в справочниках и в табличных частях документов — например, в списке товаров накладной на 300 строк.
- Откройте список. Установите отборы и сортировку — в выгрузку попадёт ровно то, что вы видите.
- Нажмите
Ещё → Вывести список…. - В окне отметьте нужные колонки. Ненужные снимите, чтобы не чистить их потом в Excel.
- Выберите вывод в табличный документ.
- Если нужна только часть строк, заранее выделите их в списке и включите флажок вывода только выделенных.
- Нажмите «ОК». Откроется новое окно с таблицей.
- Сохраните её через
Файл → Сохранить как…в*.xlsxили скопируйте целиком: щелчок в левый верхний угол таблицы выделяет всё, затемCtrl+C.
💡 В списке видны не все реквизиты? Сначала добавьте колонки в сам список: Ещё → Изменить форму…. После этого они появятся и в окне вывода.
Для справочника с иерархией (номенклатура по группам) помните: выводятся элементы текущей группы. Чтобы получить весь справочник одним списком, переключите вид списка с иерархического на обычный — команда переключения вида находится в меню «Ещё».
Как сохранить формат чисел, дат и длинных кодов при переносе
Именно здесь копирование из 1С в Excel чаще всего ломается. Причины предсказуемы.
Числа приходят текстом
1С разделяет разряды неразрывным пробелом: 1 254 300,00. Для Excel это не пробел, а посторонний символ. Ячейка выравнивается по левому краю, СУММ возвращает ноль, в углу появляется зелёный треугольник.
Как исправить:
- Выделите колонку с суммами.
- Нажмите
Ctrl+H. - В поле «Найти» введите неразрывный пробел: зажмите
Altи наберите0160на цифровой клавиатуре. Внешне поле останется пустым — так и должно быть. - Поле «Заменить на» оставьте пустым и нажмите «Заменить все».
Если нужен вариант формулой, в соседней колонке напишите:
=ЗНАЧЕН(ПОДСТАВИТЬ(A2;СИМВОЛ(160);""))
Обычная функция СЖПРОБЕЛЫ неразрывный пробел не удаляет, поэтому она здесь не поможет.
Пропадают ведущие нули и цифры в длинных кодах
Excel считает число числом и выбрасывает всё, что «лишнее»:
- 🔢 ИНН
0274012345превращается в274012345; - 🏦 расчётный счёт из 20 цифр показывается как
4,07028E+19, а последние цифры заменяются нулями — Excel хранит только 15 значащих цифр; - 📦 артикул
000154становится154.
Потерянные цифры вернуть нельзя: исправьте формат до вставки, а не после. Выделите колонку в Excel, нажмите Ctrl+1, выберите формат «Текстовый» и только потом вставляйте данные. Вставлять нужно специальной вставкой как «Текст в кодировке Юникод», иначе формат колонки может перезаписаться. При сохранении через .xlsx строковые реквизиты 1С обычно сохраняют вид, но проверьте результат на паре значений.
Дата со временем
Даты документов приходят в виде 07.10.2026 14:35:12. Excel распознаёт их как дату со временем. Если время не нужно, задайте ячейкам формат даты без времени через Ctrl+1. Сравнивать такие даты в фильтре удобно, а вот при сравнении формулой учитывайте, что время там осталось.
Разделитель дробной части
Если на компьютере в настройках Windows разделителем стоит точка, 1254,50 из 1С Excel воспримет как текст. Замените запятую на точку той же заменой Ctrl+H или приведите региональные настройки к русскому формату.
Кракозябры, спецсимволы и разъехавшиеся строки
Через буфер обмена кириллица передаётся в Юникоде и не искажается. Кракозябры появляются, когда данные идут через текстовый файл: вы сохранили таблицу из 1С как .txt или .csv и открыли его двойным щелчком.
Excel при этом угадывает кодировку и часто ошибается. Решение — открывать файл не двойным щелчком, а через импорт:
- В Excel откройте вкладку «Данные» и выберите получение данных из текстового или CSV-файла.
- Укажите файл.
- В поле «Источник файла» перебирайте кодировку, пока предпросмотр не станет читаемым: обычно это
65001: Юникод (UTF-8)или1251: Кириллица (Windows). - Проверьте разделитель колонок (табуляция, точка с запятой) и нажмите «Загрузить».
Кавычки-«ёлочки», знак №, длинное тире в наименованиях Excel при вставке Юникод-текста отображает корректно. Если они превратились в вопросительные знаки, значит данные прошли через кодировку без поддержки этих символов — используйте вставку «Текст в кодировке Юникод» или сохранение в .xlsx.
Автоматизация выгрузки: макрос Excel и код 1С
Если одну и ту же таблицу вы переносите каждую неделю, ручную чистку стоит отдать программе.
Макрос очистки после вставки
Этот макрос VBA проходит по выделенным ячейкам, убирает неразрывные пробелы и превращает текст-числа в настоящие числа. Значения с ведущим нулём (ИНН, артикулы) он не трогает.
Sub ОчиститьПослеВставкиИз1С()
Dim c As Range
Dim s As String
For Each c In Selection.Cells
If Not c.HasFormula And VarType(c.Value) = vbString Then
s = Trim(Replace(c.Value, ChrW(160), ""))
If IsNumeric(s) And Not (Left(s, 1) = "0" And Len(s) > 1 And Mid(s, 2, 1) <> ",") Then
c.Value = CDbl(s)
Else
c.Value = s
End If
End If
Next c
End Sub
Как подключить:
- В Excel нажмите
Alt+F11, откроется редактор VBA. - Выберите
Insert → Moduleи вставьте код. - Сохраните книгу в формате с поддержкой макросов
.xlsmили в личную книгу макросов, чтобы макрос был доступен во всех файлах. - Выделите вставленный диапазон и запустите макрос через
Alt+F8.
Макрос рассчитан на русские региональные настройки, где дробная часть отделяется запятой.
Выгрузка кодом 1С
Если в компании есть программист 1С, файл можно формировать без участия пользователя — во внешней обработке или в расширении. Табличный документ записывается в Excel методом Записать. Пример выгружает непомеченную на удаление номенклатуру с кодами:
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Номенклатура.Код КАК Код,
| Номенклатура.Наименование КАК Наименование
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| НЕ Номенклатура.ЭтоГруппа
| И НЕ Номенклатура.ПометкаУдаления
|УПОРЯДОЧИТЬ ПО
| Наименование";
Выборка = Запрос.Выполнить().Выбрать();
ТабДок = Новый ТабличныйДокумент;
ТабДок.Область(1, 1, 1, 1).Текст = "Код";
ТабДок.Область(1, 2, 1, 2).Текст = "Наименование";
НомерСтроки = 1;
Пока Выборка.Следующий() Цикл
НомерСтроки = НомерСтроки + 1;
ТабДок.Область(НомерСтроки, 1, НомерСтроки, 1).Текст = Выборка.Код;
ТабДок.Область(НомерСтроки, 2, НомерСтроки, 2).Текст = Выборка.Наименование;
КонецЦикла;
ТабДок.Записать("C:\Выгрузки\Номенклатура.xlsx", ТипФайлаТабличногоДокумента.XLSX);
Путь в Записать относится к компьютеру, на котором выполняется код. Если код работает на сервере 1С, файл окажется на сервере, а не у пользователя. Для регулярной отправки отчётов без программирования в типовых конфигурациях на БСП есть рассылки отчётов: отчёт по расписанию уходит на почту вложением в выбранном формате, в том числе Excel.