Документ, отчёт или список из 1С — в файл Word: от кнопки «Сохранить» до шаблонов и COM

· 10 мин

Содержание

Чтобы выгрузить из 1С в Word печатную форму или отчёт, откройте его на экране, нажмите кнопку с дискетой «Сохранить» и выберите формат Документ Microsoft Word 2007 (.docx). Платформа 1С:Предприятие 8.3 умеет записывать табличный документ в DOCX сама, установленный Word для этого не нужен.

Этого хватает для счёта, акта, договора по типовой форме или оборотно-сальдовой ведомости. Если нужен свой бланк Word с подставленными данными, массовая рассылка писем или выгрузка по кнопке без ручных шагов — понадобятся шаблоны, слияние или программная выгрузка. Все варианты ниже, от простого к сложному.

Какой способ выгрузки данных в Word выбрать

Сначала определите, что именно вы переносите и сколько раз. От этого зависит, хватит ли типовых кнопок.

ЗадачаСпособНужен ли Word на компьютереНужен ли программист
Один документ или отчёт в файлСохранить печатную форму в DOCXНетНет
Таблица из журнала или справочникаЕщё → Вывести список…, затем сохранитьНетНет
Кусок отчёта в готовое письмоКопирование ячеек через буфер обменаДаНет
Письма или уведомления сотням адресатовВыгрузка в Excel + слияние в WordДаНет
Свой бланк в фирменном стилеШаблон Word в макете печатной формыДля правки шаблонаИногда
Выгрузка по кнопке в готовый шаблонВнешняя обработка с COM-соединениемДаДа

💡 Если документ нужен только для отправки и правки не предполагаются, сохраняйте в PDF. Вёрстка в PDF совпадает с экраном 1С один в один, а в DOCX ширина колонок иногда «плывёт».

1. Сохранение печатной формы и отчёта в DOCX штатными средствами

Это основной путь, и работает он одинаково в Бухгалтерии 3.0, ЗУП 3.1 и Управлении торговлей 11.

Печатная форма документа

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

Если в окне печати открыто сразу несколько форм (например, акт и счёт-фактура), каждая сохранится отдельным файлом.

Отчёт

Отчёты (ОСВ, анализ счёта, расчётные листки) тоже выводятся табличным документом. Сформируйте отчёт, затем:

  • 📄 нажмите кнопку с дискетой в командной панели отчёта, если она есть;
  • 📄 или откройте главное меню (значок с тремя полосками в левом верхнем углу) → Файл → Сохранить как…;
  • 📄 в поле «Тип файла» выберите Документ Microsoft Word 2007 (*.docx).

Сохраняется то, что сейчас на экране. Свёрнутые группировки отчёта в файл попадут свёрнутыми — раскройте их до сохранения, если нужна детализация.

Список из журнала или справочника

Нужна таблица контрагентов, сотрудников или документов за период? Откройте список, настройте отбор и колонки, затем Ещё → Вывести список…. Отметьте нужные колонки и нажмите ОК — 1С сформирует табличный документ. Дальше его сохраняют в DOCX так же, как отчёт.

Через буфер обмена

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

2. Внешние отчёты и обработки для выгрузки в Word

Когда типовой печатной формы нет, а бланк нужен регулярно, его делают внешней печатной формой. Это файл .epf, который подключают к базе без изменения конфигурации — обновления потом ставятся спокойно.

Как подключить в Бухгалтерии 3.0:

  1. Администрирование → Печатные формы, отчеты и обработки.
  2. Включите флажок «Дополнительные отчеты и обработки» и перейдите по одноимённой ссылке.
  3. Нажмите Добавить из файла… и выберите .epf.
  4. На вкладке размещения укажите, у каких документов показывать форму.
  5. Запишите карточку. Новая форма появится в меню Печать выбранного документа.

Результат такой формы — тот же табличный документ или сразу файл Word, если разработчик сделал её на шаблоне. В первом случае сохраняете через дискету, как в разделе выше.

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

Внешний отчёт (.erf) подключается там же. Для выгрузки в Word он ничем не отличается от типового: сформировали, сохранили в DOCX.

3. Программная выгрузка из 1С в Word через COM-соединение

COM нужен, когда документ должен собираться по кнопке: открыть шаблон, подставить реквизиты, заполнить таблицу и сохранить файл . 1С при этом управляет запущенным Word как программой.

Ограничения, которые нужно знать заранее:

  • 🖥️ работает только на Windows с установленным Microsoft Word;
  • 🖥️ код выполняется на клиенте (&НаКлиенте) — в тонком или толстом клиенте; в веб-клиенте и на Linux не работает ;
  • 🖥️ запускать Word на сервере 1С не стоит: Microsoft не поддерживает автоматизацию Office в серверном режиме, процессы зависают.

Пример: шаблон с метками и таблица товаров

Шаблон C:\Шаблоны\Письмо.docx содержит метки [Контрагент], [Дата], [Сумма]. Данные готовятся на сервере и передаются на клиент строками, потому что ссылки и объекты базы в COM не передаются.

&НаКлиенте
Процедура ВыгрузитьВWord(Команда)

    Данные = ПолучитьДанныеНаСервере(Объект.Ссылка);

    Word = Новый COMОбъект("Word.Application");
    Word.Visible = Ложь;
    Док = Word.Documents.Open("C:\Шаблоны\Письмо.docx");

    ЗаменитьМетку(Док, "[Контрагент]", Данные.Контрагент);
    ЗаменитьМетку(Док, "[Дата]", Данные.Дата);
    ЗаменитьМетку(Док, "[Сумма]", Данные.Сумма);

    // Таблица товаров в конце документа
    Диапазон = Док.Paragraphs.Add().Range; // новый абзац в конце
    Таблица = Док.Tables.Add(Диапазон, Данные.Товары.Количество() + 1, 3);
    Таблица.Borders.Enable = Истина;
    Таблица.Cell(1, 1).Range.Text = "Номенклатура";
    Таблица.Cell(1, 2).Range.Text = "Количество";
    Таблица.Cell(1, 3).Range.Text = "Сумма";

    НомерСтроки = 1;
    Для Каждого Строка Из Данные.Товары Цикл
        НомерСтроки = НомерСтроки + 1;
        Таблица.Cell(НомерСтроки, 1).Range.Text = Строка.Номенклатура;
        Таблица.Cell(НомерСтроки, 2).Range.Text = Строка.Количество;
        Таблица.Cell(НомерСтроки, 3).Range.Text = Строка.Сумма;
    КонецЦикла;

    Док.SaveAs("C:\Выгрузка\Письмо_" + Данные.Номер + ".docx");
    Док.Close();
    Word.Quit();

КонецПроцедуры

&НаКлиенте
Процедура ЗаменитьМетку(Док, Метка, Значение)
    Поиск = Док.Content.Find;
    // Аргументы: текст, регистр, слово целиком, подстановочные знаки,
    // похожие звуки, все словоформы, вперёд, обтекание (1), формат,
    // замена, режим замены (2 = заменить все)
    Поиск.Execute(Метка, Ложь, Ложь, Ложь, Ложь, Ложь, Истина, 1, Ложь, Значение, 2);
КонецПроцедуры

&НаСервереБезКонтекста
Функция ПолучитьДанныеНаСервере(Ссылка)
    Результат = Новый Структура;
    Результат.Вставить("Номер", СокрЛП(Ссылка.Номер));
    Результат.Вставить("Контрагент", Строка(Ссылка.Контрагент));
    Результат.Вставить("Дата", Формат(Ссылка.Дата, "ДЛФ=D"));
    Результат.Вставить("Сумма", Формат(Ссылка.СуммаДокумента, "ЧДЦ=2"));

    Товары = Новый Массив;
    Для Каждого СтрокаТЧ Из Ссылка.Товары Цикл
        Товары.Добавить(Новый Структура("Номенклатура, Количество, Сумма",
            Строка(СтрокаТЧ.Номенклатура),
            Формат(СтрокаТЧ.Количество, "ЧГ=0"),
            Формат(СтрокаТЧ.Сумма, "ЧДЦ=2")));
    КонецЦикла;
    Результат.Вставить("Товары", Товары);
    Возврат Результат;
КонецФункции

Пример рассчитан на документ с табличной частью «Товары» и реквизитом «СуммаДокумента», как у реализации в Бухгалтерии 3.0. В другой конфигурации имена реквизитов проверьте в Конфигураторе.

💡 Метки ставьте в квадратных скобках или другим символом, которого нет в обычном тексте. Иначе замена «Дата» затронет и слово в шапке документа.

⚠️ Функция поиска и замены Word принимает строку замены длиной до 255 символов. Длинный текст (например, предмет договора) вставляйте иначе: найдите метку, а затем присвойте текст свойству Text найденного диапазона.

4. Шаблоны Word в макетах и слияние для массовых писем

Свой бланк в макете печатной формы

В типовых конфигурациях на библиотеке стандартных подсистем часть печатных форм хранится не как табличный документ, а как шаблон офисного документа. Найти и изменить макеты можно в Администрирование → Печатные формы, отчеты и обработки → Макеты печатных форм.

Как работать с таким макетом:

  1. Найдите форму в списке по названию.
  2. Откройте её на изменение — шаблон откроется в установленном редакторе.
  3. Меняйте оформление, шрифты, логотип, текст. Служебные метки, куда 1С подставляет данные, не удаляйте и не переименовывайте.
  4. Сохраните файл и закройте редактор, затем подтвердите в 1С завершение редактирования.

Изменённый макет хранится в базе отдельно от типового. Обновление конфигурации его не затирает, а вернуть исходный вариант можно командой использования стандартного макета в том же списке.

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

Слияние: одно письмо на сотню адресатов

Для рассылки уведомлений контрагентам или сотрудникам программировать ничего не нужно. Используйте слияние Word:

  1. В 1С откройте список контрагентов, отберите нужных, Ещё → Вывести список… с колонками «Наименование», «ИНН», «Адрес», email.
  2. Сохраните результат в Лист Microsoft Excel 2007 (.xlsx).
  3. Откройте файл в Excel и проверьте: первая строка — заголовки колонок, без объединённых ячеек и пустых строк сверху.
  4. В Word откройте шаблон письма, вкладка Рассылки → Начать слияние → Письма.
  5. Выбрать получателей → Использовать существующий список и укажите файл Excel.
  6. Ставьте курсор в нужное место и через Вставить поле слияния добавляйте поля.
  7. Найти и объединить → Изменить отдельные документы — Word создаст по странице на каждого адресата.

Так за 10 минут готовится, например, 150 писем о смене реквизитов без единой строки кода.

5. Другие форматы: PDF, ODT, HTML и когда они удобнее Word

Иногда DOCX — не лучший выбор. Платформа сохраняет табличный документ в нескольких форматах, и под каждую задачу есть свой.

ФорматКогда братьОткроется в Word
DOCXНужно править текст, добавить абзацыДа
PDFОтправить контрагенту, распечатать, архивТолько на чтение или с конвертацией
ODTВ организации LibreOffice или «Мой Офис»Да, с мелкими расхождениями
XLSXНужно считать, сортировать, сливатьЧерез слияние или вставку
HTMLВставить таблицу в письмо или на сайтДа
MXLПередать другому пользователю 1СНет

Файл .mxl Word не открывает. Если коллега прислал такой файл, откройте его в 1С через Файл → Открыть… или в бесплатной программе просмотра файлов 1С, а уже оттуда сохраните в DOCX.

Программно табличный документ записывается в Word одной строкой, без COM и без установленного Word:

ТабДок.Записать(ПутьКФайлу, ТипФайлаТабличногоДокумента.DOCX);

Этот вариант работает и на сервере, поэтому подходит для регламентных заданий: например, ночная выгрузка отчёта в общую папку.

6. Что делать, если выгрузка в Word не получается

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

Отдельно про печатные формы с объединёнными ячейками: товарная накладная или УПД при переводе в Word превращаются в таблицу с десятками мелких ячеек. Править такой файл неудобно. Для этих форм Word вообще плохой формат — в документообороте их передают в PDF или через ЭДО.

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

Можно ли выгрузить в Word сразу пачку документов?
Да. Выделите несколько документов в журнале с зажатым Ctrl, нажмите «Печать» и выберите форму. Все формы откроются в одном окне, и при сохранении каждая запишется отдельным файлом.
Нужна ли лицензия Microsoft Office, чтобы сохранить в DOCX?
Нет. Запись в DOCX выполняет сама платформа 1С. Office нужен только для открытия файла, работы через COM и слияния.
Сохранится ли в Word подпись и печать, вставленные в печатную форму?
Да, если в карточке организации загружены картинки подписи и печати и при печати включён их вывод. В DOCX они попадут как рисунки.
Почему в Word нельзя отредактировать сумму прописью после выгрузки?
Можно, это обычный текст. Но связи с данными 1С у файла нет: сумма не пересчитается. Если меняются цифры, исправьте документ в 1С и выгрузите заново.
Как выгрузить в Word из веб-клиента или 1С:Фреш?
Через кнопку «Сохранить» в печатной форме — файл скачается браузером. Программный вариант через COM в веб-клиенте недоступен, а запись табличного документа на сервере работает.