Многие пользователи и начинающие специалисты сталкиваются с заблуждением, что для сохранения данных из 1С в формат Excel (XLS или XLSX) на компьютере обязательно должен быть установлен пакет Microsoft Office. В современных реалиях, когда организации активно переходят на отечественное программное обеспечение или используют операционные системы семейства Linux, этот вопрос становится особенно актуальным. Разберем подробно, почему отсутствие Excel не является препятствием для выгрузки отчетов, и как правильно это сделать средствами самой платформы 1С.
Начнем с того, что проанализируем техническую сторону вопроса. Начиная с версии платформы 8.2.14, компания 1С реализовала собственный программный движок для работы с форматами электронных таблиц. Это означает, что при нажатии кнопки «Сохранить как» 1С не запускает в фоновом режиме Excel и не просит его создать файл. Платформа самостоятельно формирует двоичную структуру файла XLSX (стандарт OpenXML) или старого XLS (Excel 97-2003).
Рассмотрим преимущества такого подхода:
excel.exe в памяти сервера или клиентского ПК.Выясним, как на практике выгрузить, например, «Ведомость по товарам на складах» в файл. Процесс одинаков для большинства конфигураций, таких как Управление торговлей 11, ERP или Бухгалтерия предприятия 3.0.
Разберем по шагам действия пользователя:
Теперь созданный файл можно открыть в любом отечественном офисном пакете (например, «МойОфис» или «Р7-Офис»), а также в бесплатном LibreOffice.
Проанализируем ситуацию с выбором форматов. Платформа 1С предлагает несколько вариантов для табличных данных:
Если вы следуете инструкции, но файл не сохраняется, рассмотрим причины, которые не связаны с отсутствием Microsoft Office:
1. Ограничение прав доступа. В 1С существует специальное право (роль) Вывод. Если системный администратор отключил это право для вашего пользователя, пункт меню «Сохранить как» будет попросту неактивен (серый). В этом случае необходимо обратиться в ИТ-отдел для проверки ролей в профиле групп доступа.
2. Использование старых внешних обработок. Иногда в компаниях используются «самописные» обработки для выгрузки данных, написанные много лет назад. Если программист использовал метод обращения к Excel через COM-объект (код типа Новый COMОбъект("Excel.Application")), то такая обработка требует установленный Microsoft Office. Решением здесь будет переработка кода под современные стандарты 1С.
Посмотрим на пример кода, который позволяет программно сохранить отчет в формат Excel без использования сторонних библиотек. Для этого используется объект ТабличныйДокумент и его метод Записать().
Рассмотрим пример реализации:
// Создадим табличный документ (или получим его из отчета)
ТабДок = Новый ТабличныйДокумент;
// ... здесь код заполнения табличного документа данными ...
// Путь, куда будет сохранен файл
ИмяФайла = "C:\Reports\ВедомостьОстатков.xlsx";
// Сохраняем в формате XLSX напрямую средствами платформы
ТабДок.Записать(ИмяФайла, ТипФайлаТабличногоДокумента.XLSX);
В данном примере использование системного перечисления ТипФайлаТабличногоДокумента.XLSX гарантирует, что 1С сама сформирует файл, не обращаясь к внешним программам.
Если вы работаете с 1С через браузер (веб-клиент), ситуация еще проще. При выполнении команды «Сохранить как», файл формируется на стороне сервера. После генерации сервер передает готовый файл в ваш браузер, и он скачивается как обычный файл из интернета. В этом случае наличие офисного ПО на компьютере пользователя вообще никак не влияет на процесс генерации документа.
Подведем итог: Для выгрузки данных из 1С:Предприятия 8.3 в форматы Excel наличие Microsoft Office не требуется. Платформа обладает всеми необходимыми инструментами для автономной работы с электронными таблицами, что полностью соответствует курсу на использование отечественного ПО и открытых стандартов.