Оборотно-сальдовая ведомость в Excel: выгрузка без потерь формата
Содержание
Чтобы сохранить ОСВ из 1С в Excel, сформируйте оборотно-сальдовую ведомость и нажмите кнопку с дискетой «Сохранить» над отчётом или Ctrl+S. В окне сохранения выберите тип файла с расширением *.xlsx, укажите папку и имя. В 1С:Бухгалтерии 3.0 сам отчёт открывается через Отчеты → Стандартные отчеты → Оборотно-сальдовая ведомость.
Способов три, и выбирают их по задаче. Сохранение в файл — для сдачи аудитору или банку: формат, группировки и шапка остаются. Копирование через буфер — когда нужен кусок отчёта в уже готовую таблицу. Рассылка или обработка — когда ведомость нужна каждый месяц и руками её выгружать надоело.
Подготовка ведомости перед выгрузкой в Excel
Excel получает ровно то, что видно на экране. Поэтому всё лишнее убирают ещё в 1С, а не потом в таблице.
Период и организация
- Откройте
Отчеты → Стандартные отчеты → Оборотно-сальдовая ведомость. - Задайте период в полях «с» и «по». Для квартала — первое и последнее число квартала.
- Если в базе несколько организаций, выберите нужную. Пустое поле означает сводную ведомость по всем.
- Нажмите «Сформировать».
Настройки, которые меняют вид файла
Кнопка «Показать настройки» открывает панель с вкладками. Для выгрузки в Excel важны четыре вещи:
- 📂 Группировка. Флажок «По субсчетам» и выбор субконто дают детализацию: 60.01 по контрагентам, 10.01 по номенклатуре. Каждая включённая детализация — ещё один уровень строк и ещё один уровень группировки в Excel.
- 📊 Показатели. Кроме бухгалтерского учёта можно вывести налоговый учёт, количество и валютные суммы. Каждый показатель добавляет строку под каждой суммой — для сводной таблицы это неудобно.
- ➕ Развёрнутое сальдо. Нужно для счетов 60, 62, 76: иначе дебет и кредит по разным контрагентам взаимно гасятся.
- 🏷 Оформление и заголовок. Шапка с названием организации и периодом при выгрузке превращается в объединённые ячейки. Если файл пойдёт в сводную таблицу, вывод заголовка лучше отключить.
Если ведомость с одним набором настроек нужна регулярно, сохраните настройки под своим именем через меню «Ещё» формы отчёта. В следующий раз не придётся заново включать субсчета и субконто.
Меняли настройки — сформируйте отчёт заново. Если после правки настроек не нажать «Сформировать», в файл уйдёт старый вариант или серая заглушка «Отчет не сформирован».
Как сохранить оборотно-сальдовую ведомость в файл xlsx
Это основной способ, он сохраняет оформление и структуру.
- Сформируйте ОСВ с нужными настройками.
- Нажмите кнопку с изображением дискеты «Сохранить» в командной панели отчёта. Тот же результат даёт
Ctrl+S, когда курсор стоит в табличной части отчёта, или главное меню (значок≡в левом верхнем углу)→ Файл → Сохранить как. - В поле «Тип файла» выберите лист Excel 2007 и новее — пункт с расширением
*.xlsx. - Укажите папку и имя файла. Удобный шаблон имени:
ОСВ_ООО_Ромашка_2кв. - Нажмите «Сохранить» и откройте файл в Excel.
Какой формат выбрать
| Формат | Когда брать | Ограничения |
|---|---|---|
*.xlsx | Почти всегда | Нужен Excel 2007 или новее, LibreOffice тоже открывает |
*.xls | Только для старого Excel у получателя | Не больше 65 536 строк: длинная ведомость по субконто обрежется |
*.ods | LibreOffice, «МойОфис» | Формулы и группировки иногда открываются с искажениями |
*.pdf | Сдать ведомость «как есть», без правок | Числа нельзя пересчитать |
*.mxl | Открыть потом в 1С или в программе просмотра табличных документов | Excel этот формат не читает |
Что переносится в Excel
- ✅ числа сохраняются числами, их можно суммировать;
- ✅ коды счетов (
10.01,60.02) остаются текстом и не превращаются в даты; - ✅ группировки строк становятся структурой Excel с кнопками
+и−и уровнями1,2,3слева вверху; - ⚠️ шапка и итоговые строки приходят объединёнными ячейками;
- ❌ расшифровка по двойному щелчку не переносится — это функция 1С, а не файла.
Быстрый перенос фрагмента через буфер обмена
Когда нужна не вся ведомость, а пара счетов в готовую таблицу, проще скопировать.
- В сформированном отчёте выделите мышью нужные строки. Вся ведомость выделяется
Ctrl+A. - Нажмите
Ctrl+C. - В Excel встаньте в первую ячейку и нажмите
Ctrl+V.
Копирование быстрое, но у него есть цена. Excel сам решает, как понимать вставленные значения. Код счета 10.01 легко становится датой «10 янв», а 60.10 — числом 60,1. Суммы с пробелами-разделителями разрядов иногда вставляются текстом.
Чтобы коды счетов не портились, перед вставкой выделите в Excel первый столбец и задайте ему формат «Текстовый». Либо вставляйте через «Специальная вставка» в виде текста — потом суммы придётся привести к числам.
Выгрузка ОСВ из 1С внешней обработкой и кодом
Стандартного сохранения хватает бухгалтеру. Обработка нужна, когда ведомость должна лечь в Excel плоской таблицей без шапки и объединений — например, для загрузки в BI или для сверки формулами.
Подключение готовой обработки
Внешняя обработка — файл *.epf. В БП 3.0 её подключают через Администрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки. Если пункта нет, включите там же флажок использования дополнительных отчётов и обработок.
Обработку из неизвестного источника не запускайте в рабочей базе. Код внутри *.epf выполняется с правами пользователя и может менять данные. Сначала проверьте её на копии.
Пример своей выгрузки
Ниже — серверная процедура для формы внешней обработки. Она берёт остатки и обороты по регистру бухгалтерии «Хозрасчетный», складывает их по счетам и записывает плоскую таблицу в xlsx. Сальдо здесь свёрнутое — по счету в целом.
&НаСервереБезКонтекста
Процедура ВыгрузитьОСВ(НачалоПериода, КонецПериода, ИмяФайла)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Т.Счет.Код КАК Счет,
| Т.Счет.Наименование КАК Наименование,
| СУММА(Т.СуммаНачальныйДебет) КАК НачДт,
| СУММА(Т.СуммаНачальныйКредит) КАК НачКт,
| СУММА(Т.СуммаОборотДт) КАК ОбДт,
| СУММА(Т.СуммаОборотКт) КАК ОбКт,
| СУММА(Т.СуммаКонечныйДебет) КАК КонДт,
| СУММА(Т.СуммаКонечныйКредит) КАК КонКт
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&Начало, &Конец) КАК Т
|СГРУППИРОВАТЬ ПО
| Т.Счет.Код,
| Т.Счет.Наименование
|УПОРЯДОЧИТЬ ПО
| Счет";
Запрос.УстановитьПараметр("Начало", НачалоДня(НачалоПериода));
Запрос.УстановитьПараметр("Конец", КонецДня(КонецПериода));
ТабДок = Новый ТабличныйДокумент;
Колонки = СтрРазделить("Счет,Наименование,НачДт,НачКт,ОбДт,ОбКт,КонДт,КонКт", ",");
// Строка заголовков
Для Кол = 1 По Колонки.Количество() Цикл
ТабДок.Область("R1C" + Формат(Кол, "ЧГ=0")).Текст = Колонки[Кол - 1];
КонецЦикла;
Выборка = Запрос.Выполнить().Выбрать();
НомерСтроки = 1;
Пока Выборка.Следующий() Цикл
НомерСтроки = НомерСтроки + 1;
Для Кол = 1 По Колонки.Количество() Цикл
Ячейка = ТабДок.Область("R" + Формат(НомерСтроки, "ЧГ=0") + "C" + Формат(Кол, "ЧГ=0"));
Значение = Выборка[Колонки[Кол - 1]];
Если Кол <= 2 Тогда
Ячейка.Текст = Значение; // код и наименование — текстом
Иначе
Ячейка.СодержитЗначение = Истина;
Ячейка.ТипЗначения = Новый ОписаниеТипов("Число");
Ячейка.Значение = ?(Значение = NULL, 0, Значение);
КонецЕсли;
КонецЦикла;
КонецЦикла;
ТабДок.Записать(ИмяФайла, ТипФайлаТабличногоДокумента.XLSX);
КонецПроцедуры
Путь к файлу здесь серверный: при клиент-серверной базе файл появится на сервере 1С, а не у пользователя. Для такой базы записывайте документ во временный файл и передавайте его клиенту через временное хранилище. В файловой базе путь вида C:\Отчеты\osv.xlsx работает напрямую.
Сумма ОСВ из запроса совпадёт со стандартным отчётом по счетам, но не по развёрнутому сальдо. Для 60, 62 и 76 добавьте в запрос субконто или берите стандартный отчёт.
Особенности выгрузки в разных программах 1С
Порядок «сформировать → сохранить → выбрать xlsx» одинаков везде: сохранение табличного документа — функция платформы, а не конфигурации. Различается только то, где лежит отчёт и как выглядит команда.
| Программа | Где открыть ОСВ | Как сохранить |
|---|---|---|
| 1С:Бухгалтерия 3.0 | Отчеты → Стандартные отчеты → Оборотно-сальдовая ведомость | Кнопка «Сохранить» с дискетой или Ctrl+S |
| 1С:Бухгалтерия 2.0 (обычные формы) | Отчеты → Оборотно-сальдовая ведомость | Файл → Сохранить как |
| ERP, КА 2 | В разделе регламентированного учёта, в группе стандартных отчётов | Как в БП 3.0 |
| Веб-клиент и 1С:Фреш | Те же пути, что в БП 3.0 | Файл скачивается браузером в папку загрузок |
В веб-клиенте браузер может спросить разрешение на скачивание или заблокировать его как всплывающее окно. Разрешите загрузки для адреса базы и повторите сохранение.
Ошибки при сохранении ОСВ в Excel и как их исправить
Большая часть проблем — не сбой 1С, а несовпадение того, что сделала программа, с тем, чего ждёт Excel.
Отдельно о больших ведомостях. ОСВ по субконто за год в базе с тысячами контрагентов может формироваться минутами и весить десятки мегабайт. Помогают отбор по нужным счетам, разбивка по кварталам и отключение лишних показателей — налогового учёта и количества, если они не нужны получателю.
Автоматическая выгрузка ОСВ в Excel по расписанию
Если ведомость каждый месяц уходит руководителю или в головную компанию, выгрузку можно поручить программе.
Рассылка отчётов
В типовых конфигурациях на платформе 8.3 есть механизм рассылки отчётов. В БП 3.0 он включается флажком «Рассылки отчетов» в разделе Администрирование → Печатные формы, отчеты и обработки. После этого в рассылке задают:
- какой отчёт отправлять и с какими сохранёнными настройками;
- формат вложения — в том числе xlsx;
- куда доставлять — на электронную почту, в сетевую папку или на FTP;
- расписание: например, каждое 5-е число месяца в 9:00.
Для отправки на почту нужна настроенная учётная запись электронной почты в 1С. Получатели берутся из контактной информации пользователей или вводятся вручную.
В файловой базе регламентные задания выполняются только пока в базе открыт хотя бы один сеанс пользователя. Если в 9:00 никто не зашёл, рассылка уйдёт позже. В клиент-серверном варианте задания выполняет сервер 1С без участия пользователей.
Запуск обработки из планировщика Windows
Второй путь — внешняя обработка из предыдущего раздела плюс планировщик заданий Windows. Платформа умеет при старте открыть обработку параметром /Execute:
"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /F "D:\Bases\Buh" /N "Робот" /P "пароль" /Execute "D:\Scripts\osv_export.epf"
Обработка в обработчике открытия формы сама считает период, вызывает выгрузку и закрывает сеанс. Для клиент-серверной базы вместо /F указывают /S "сервер\имя_базы".
Под такую задачу заведите отдельного пользователя 1С с правами только на чтение. Пароль в bat-файле лежит открытым текстом, поэтому папку со скриптом закройте правами доступа Windows. Каждый запуск занимает лицензию на время работы сеанса.
Частые вопросы
Можно ли сохранить несколько ведомостей на разные листы одной книги Excel?
Почему суммы в Excel не совпадают с ОСВ в 1С на копейки?
Как отправить ОСВ в Excel по почте, не сохраняя на компьютер?
Можно ли открыть сохранённый файл обратно в 1С?
Файл → Открыть главного меню, он отобразится как табличный документ. Но это просто таблица: расшифровки и связи с проводками в ней уже нет.