Выгрузка реестра договоров из 1С:Предприятие — стандартная задача для бухгалтеров, юристов и менеджеров, но даже опытные пользователи иногда сталкиваются с трудностями. В зависимости от конфигурации (1С:Бухгалтерия 3.0, 1С:ERP, 1С:Управление торговлей или 1С:ЗУП) процесс может отличаться: где-то достаточно штатного отчёта, а где-то потребуется внешняя обработка или программирование. В этой статье разберём все актуальные способы — от простых до продвинутых, с учётом типичных ошибок и лайфхаков для ускорения работы.

Особое внимание уделим формату выгрузки: Excel, PDF, XML или DBF — каждый вариант имеет свои плюсы. Например, для передачи контрагентам удобнее PDF с электронной подписью, а для дальнейшей обработки в других системах — Excel с сохранением структуры данных. Также рассмотрим, как автоматизировать выгрузку через Задачи регламентные или Power Query, если реестры нужны регулярно.

Если вы никогда не выгружали реестры из 1С или ранее сталкивались с ошибками (например, "Не удалось сохранить файл" или "Нет прав доступа"), эта инструкция поможет избежать типичных проблем. Для новичков приведём пошаговые скриншоты, а для опытных пользователей — уникальные приёмы выгрузки через запросы и внешние обработки, которых нет в стандартной документации.

1. Подготовка к выгрузке: что нужно проверить до начала

Прежде чем приступать к выгрузке, убедитесь, что базовая настройка 1С позволяет выполнить операцию без сбоев. Вот ключевые моменты:

  • 🔹 Права доступа: Пользователь должен иметь роль с правом на чтение документов Договоры и выгрузку данных. В 1С:ERP это часто роль Бухгалтер или Менеджер по продажам, а в 1С:Бухгалтерия 3.0 — Полные права или Выгрузка данных.
  • 🔹 Актуальность данных: Перед выгрузкой обновите базу (кнопка Обновить данные в главном меню), чтобы в реестре отобразились последние изменения.
  • 🔹 Формат файла: Решите, какой формат нужен: Excel (для редактирования), PDF (для печати) или XML (для интеграции с другими системами).
  • 🔹 Фильтры: Определите критерии отбора договоров (по дате, контрагенту, типу договора). Это сэкономит время при выгрузке.

Если выгружаете реестр для передачи в налоговую или банк, проверьте, соответствует ли структура файла их требованиям. Например, некоторые банки требуют обязательные поля: Номер договора, Дата заключения, Сумма и ИНН контрагента. В 1С:Бухгалтерия 3.0 эти поля можно добавить в настройках отчёта.

⚠️ Внимание: Если выгружаете реестр для ФНС или банковского контроля, уточните актуальные требования к формату на их официальных сайтах. В 2026–2026 годах правила могут меняться (например, для валютных договоров или крупных сделок).
📊 Какую конфигурацию 1С вы используете?
1С:Бухгалтерия 3.0
1С:Управление торговлей 11
1С:ERP
1С:ЗУП
Другая

2. Способ 1: Выгрузка через стандартный отчёт «Реестр договоров»

Самый простой метод — использовать встроенный отчёт Реестр договоров, который есть во всех типовых конфигурациях. Рассмотрим на примере 1С:Бухгалтерия 3.0:

  1. Перейдите в раздел Продажи (или Покупки, если нужны договоры поставщиков).
  2. Выберите Отчёты → Реестр договоров.
  3. В открывшемся окне настройте фильтры:
    • 📅 Период: Укажите диапазон дат заключения договоров.
    • 🏢 Контрагент: Выберите конкретного партнёра или оставьте пустым для всех.
    • 📄 Тип договора: Например, только С покупателем или С поставщиком.
  • Нажмите Сформировать.
  • После формирования отчёта нажмите Выгрузить и выберите формат: Excel, PDF или TXT.
  • В 1С:Управление торговлей 11 путь немного другой: Отчёты → Стандартные отчёты → Реестр договоров. Здесь также можно настроить группировку по контрагентам или типам договоров.

    Конфигурация Путь к отчёту Доступные форматы выгрузки
    1С:Бухгалтерия 3.0 Продажи → Отчёты → Реестр договоров Excel, PDF, TXT, HTML
    1С:Управление торговлей 11 Отчёты → Стандартные отчёты → Реестр договоров Excel, PDF, XML
    1С:ERP Документы → Договоры → Отчёты → Реестр Excel, PDF, DBF

    Если в отчёте не хватает колонок (например, отсутствует Сумма по договору или Ответственный менеджер), их можно добавить через настройку структуры отчёта (кнопка Настройки → Добавить поля).

    💡

    Чтобы ускорить формирование реестра, предварительно закройте все ненужные окна в 1С. Это освободит оперативную память и уменьшит риск зависания при выгрузке большого объёма данных.

    3. Способ 2: Выгрузка через «Универсальный отчёт» (для гибкой настройки)

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

    Инструкция для 1С:Бухгалтерия 3.0 и 1С:ERP:

    1. Перейдите в Отчёты → Универсальный отчёт.
    2. В поле Объект выберите ДоговорыКонтрагентов (или аналогичный для вашей конфигурации).
    3. На вкладке Поля добавьте нужные колонки:
      Номер
      

      Дата

      Контрагент.Наименование

      СуммаДоговора

      ВалютаДоговора.Наименование

      Ответственный.Наименование

    4. На вкладке Отбор настройте фильтры (например, Дата >= &НачалоПериода И Дата <= &КонецПериода).
    5. Нажмите Сформировать, затем Выгрузить → Excel.

    Преимущество этого метода — возможность добавить произвольные поля, например, Комментарий или Срок действия договора, которые отсутствуют в стандартном реестре. Также здесь можно настроить группировку (например, сгруппировать договоры по контрагентам или типам).

    Если нужно выгрузить данные в XML для интеграции с другой системой, в Универсальном отчёте выберите формат XML (данные). Структура файла будет соответствовать полям, которые вы добавили в отчёт.

    Проверьте права на объект "ДоговорыКонтрагентов"|Добавьте все необходимые поля в настройках|Настройте отбор по датам и контрагентам|Сохраните шаблон отчёта для повторного использования-->

    4. Способ 3: Выгрузка через внешнюю обработку (для сложных задач)

    Если стандартные инструменты не справляются (например, нужно выгрузить договоры с вложениями или в нестандартном формате), используйте внешние обработки. Их можно скачать с сайта 1С-ИТС или написать самостоятельно.

    Пример: обработка "Выгрузка договоров в Excel с детализацией" позволяет:

    • 📊 Выгружать договоры с разбивкой по счетам и актам.
    • 🔄 Автоматически обновлять данные при изменении в 1С.
    • 📎 Прикреплять файлы договоров (сканы) к выгрузке.
    • Как установить и использовать внешнюю обработку:

      1. Скачайте файл обработки с расширением .epf.
      2. В 1С перейдите в Файл → Открыть → Выбрать файл обработки.
      3. Запустите обработку и настройте параметры выгрузки.
      4. Укажите путь для сохранения файла и нажмите Выгрузить.

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

    • 📄 "Выгрузка договоров в Word" — для печати договоров с автоматическим заполнением реквизитов.
    • 📑 "Реестр договоров с актами и счетами" — для комплексного анализа.
    • 🔗 "Интеграция с DocHub/Диадок" — для выгрузки договоров в системы электронного документооборота.
    • ⚠️ Внимание: Перед использованием внешних обработок проверьте их на тестовой базе. Некоторые обработки могут конфликтовать с обновлениями 1С или содержать ошибки (особенно если скачаны с непроверенных источников).
      Где скачать бесплатные обработки для 1С?

      На официальном сайте 1С-ИТС (раздел "Обработки"), на форуме Infostart.ru или в каталоге 1С:Галлерея. Обращайте внимание на отзывы и рейтинг — это поможет избежать проблем с совместимостью.

      5. Способ 4: Выгрузка через запросы (для программистов и продвинутых пользователей)

      Если вам нужна максимальная гибкость, можно написать запрос на языке 1С и выгрузить данные в нужном формате. Этот метод подходит для автоматизации или когда требуется нестандартная логика отбора.

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

      ВЫБРАТЬ
      

      ДоговорыКонтрагентов.Ссылка КАК Ссылка,

      ДоговорыКонтрагентов.Номер КАК Номер,

      ДоговорыКонтрагентов.Дата КАК Дата,

      ДоговорыКонтрагентов.Контрагент.Наименование КАК Контрагент,

      ДоговорыКонтрагентов.СуммаДоговора КАК Сумма,

      ДоговорыКонтрагентов.ВалютаДоговора.Наименование КАК Валюта

      ИЗ

      Документ.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов

      ГДЕ

      ДоговорыКонтрагентов.Дата МЕЖДУ &НачалоПериода И &КонецПериода

      УПОРЯДОЧИТЬ ПО

      Дата

      Как выполнить запрос и выгрузить данные:

      1. Откройте Сервис → Отладка → Запросы → Конструктор запросов.
      2. Вставьте текст запроса и нажмите Выполнить.
      3. После получения результатов нажмите Выгрузить → Excel.

      Для автоматизации можно сохранить запрос в внешнюю обработку или добавить его в Регламентные задачи, чтобы выгрузка выполнялась по расписанию (например, каждый понедельник в 9:00).

      Если нужно выгрузить данные в XML или JSON для интеграции с веб-сервисами, используйте следующий код:

      Запрос = Новый Запрос;
      

      Запрос.Текст = "ВЫБРАТЬ ... "; // Ваш запрос

      Результат = Запрос.Выполнить();

      // Выгрузка в XML

      XMLЗапись = Новый ЗаписьXML;

      XMLЗапись.ОткрытьФайл("C:\РеестрДоговоров.xml");

      XMLЗапись.ЗаписатьОбъект(Результат);

      XMLЗапись.Закрыть();

      💡

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

      6. Способ 5: Автоматическая выгрузка через регламентные задачи

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

      Инструкция для 1С:ERP и 1С:Бухгалтерия 3.0:

      1. Перейдите в Администрирование → Поддержка и обслуживание → Регламентные задачи.
      2. Создайте новую задачу с типом Выполнение отчёта.
      3. Выберите отчёт Реестр договоров или ваш кастомный Универсальный отчёт.
      4. Настройте расписание (например, Каждый понедельник в 8:00).
      5. Укажите путь для сохранения файла (например, \\Server\Share\Реестры\Договоры_${Дата}.xlsx).
      6. Активируйте задачу и сохраните.

      Преимущества автоматической выгрузки:

      • Экономия времени: Не нужноremember формировать отчёт вручную.
      • 📁 Архивация: Файлы сохраняются с датой в названии, что упрощает поиск.
      • 🔄 Интеграция: Можно настроить отправку файла по email или в облачное хранилище.

      Если нужно отправлять реестр по электронной почте, в настройках регламентной задачи укажите:

      • 📧 Адрес получателя (например, buhgalter@company.ru).
      • 📎 Тема письма (например, Реестр договоров на ${Дата}).
      • 📄 Текст письма (можно добавить шаблон с подписью).
      ⚠️ Внимание: При настройке автоматической выгрузки проверьте, чтобы у пользователя, от имени которого выполняется задача, были права на запись в сетевую папку и отправку писем. Иначе задача будет завершаться с ошибкой.

      7. Типичные ошибки и как их избежать

      При выгрузке реестра договоров пользователи часто сталкиваются с следующими проблемами:

      Ошибка Причина Решение
      Не удалось сохранить файл Нет прав на запись в папку или диск переполнен. Проверьте права доступа к папке или сохраните файл на другой диск.
      Отсутствуют данные для выгрузки Неверно настроены фильтры (например, указан несуществующий период). Проверьте даты и критерии отбора в отчёте.
      Ошибка формата Excel В данных есть спецсимволы (например, | или &), которые Excel не обрабатывает. Используйте формат CSV или очистите данные от спецсимволов.
      Долгое формирование отчёта Большой объём данных или сложные фильтры. Разбейте выгрузку на части (например, по месяцам) или оптимизируйте запрос.

      Ещё несколько распространённых проблем:

      • 🔴 Пустые колонки в Excel: Проверьте, включены ли нужные поля в настройках отчёта.
      • 🔴 Некорректные суммы: Убедитесь, что в фильтрах указан правильный Тип договора (например, С покупателем, а не С поставщиком).
      • 🔴 Ошибка при открытии XML: Файл может быть повреждён. Попробуйте выгрузить повторно или проверьте кодировку (должна быть UTF-8).

      Если при выгрузке через Универсальный отчёт возникает ошибка Недостаточно памяти, попробуйте:

      • 🔹 Уменьшить период выгрузки (например, выгружать данные помесячно).
      • 🔹 Закрыть другие программы, потребляющие память.
      • 🔹 Использовать серверный вариант выгрузки (если 1С работает в клиент-серверном режиме).

      8. Дополнительные возможности: интеграция с другими системами

      Выгруженный реестр договоров часто нужно передать в другие системы: Диадок, Контур.Диадок, 1С:Документооборот или CRM. Рассмотрим основные варианты интеграции:

      1. Выгрузка в Диадок/Контур.Диадок:

      • 📤 Используйте обработку "Выгрузка в Диадок" (доступна на 1С-ИТС).
      • 🔗 Настройте обмен через 1С:ОбменЭДО (требуется подписка на сервис).
      • 📋 Проверьте, что в реестре есть обязательные поля: ИНН контрагента, Номер договора, Дата.

      2. Интеграция с CRM (Bitrix24, АмоCRM):

      • 🔄 Используйте REST API или Webhooks для автоматической передачи данных.
      • 📊 Выгружайте реестр в CSV и импортируйте в CRM через стандартные инструменты.
      • 🤖 Настройте робота в 1С, который будет отправлять данные в CRM по расписанию.

      3. Обмен с 1С:Документооборот:

      • 📎 Используйте обработку "Выгрузка договоров в Документооборот".
      • 🔗 Настройте планы обмена между базами 1С.
      • 📂 Проверьте, что в 1С:Документооборот созданы соответствующие Виды документов.

      Для автоматизации интеграции можно использовать 1С:Коннектор или 1С:EDT (для сложных сценариев). Если нужна помощь с настройкой, обратитесь к 1С-партнёру — они предоставляют готовые решения для обмена данными.

      💡

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

      FAQ: Ответы на частые вопросы

      Можно ли выгрузить реестр договоров с прикреплёнными файлами (сканами)?

      Да, но стандартными средствами 1С это сделать нельзя. Вам понадобится внешняя обработка, которая выгружает как данные договора, так и прикреплённые файлы. Популярные обработки:

      • "Выгрузка договоров с вложениями" (доступна на Infostart).
      • "Экспорт документов с файлами" (поддерживает PDF, JPG, DOCX).

      Перед выгрузкой убедитесь, что файлы хранятся в базе 1С (а не на диске), иначе они не попадут в реестр.

      Как выгрузить реестр договоров с разбивкой по месяцам?

      Есть два способа:

      1. Через Универсальный отчёт: Добавьте группировку по полю Месяц(ДоговорыКонтрагентов.Дата).
      2. Через запрос: Используйте конструкцию ВЫБРАТЬ МЕСЯЦ(Дата) КАК Месяц, ... ГРУППИРОВКА ПО МЕСЯЦ(Дата).

      Если нужна отдельная выгрузка по каждому месяцу, настройте регламентную задачу с ежемесячным расписанием.

      Почему в выгруженном Excel некоторые суммы отображаются как ######?

      Это означает, что ширина колонки слишком мала для отображения числа. Решения:

      • Растяните колонку в Excel вручную.
      • В настройках выгрузки укажите Автоподбор ширины колонок = Да.
      • Если суммы очень большие, измените формат ячейки на Числовой без разделителей.

      Также проверьте, что в 1С суммы хранятся в правильном формате (не как строка).

      Как выгрузить реестр договоров только по определённому менеджеру?

      В любом отчёте (Реестр договоров или Универсальный отчёт) добавьте фильтр по полю Ответственный:

      1. В стандартном отчёте: на вкладке Отбор выберите Ответственный = [Ваш менеджер].
      2. В запросе: добавьте условие ГДЕ ДоговорыКонтрагентов.Ответственный = &Ответственный.

      Если менеджеров много, можно выгрузить данные по всем, а затем отфильтровать в Excel.

      Можно ли выгрузить реестр договоров в формате JSON для API?

      Да, но стандартными средствами 1С JSON не поддерживается. Варианты:

      • Используйте внешнюю обработку (например, "Выгрузка в JSON" с Infostart).
      • Напишите собственный код на языке 1С:
        ЗаписьJSON = Новый ЗаписьJSON;
        

        ЗаписьJSON.ОткрытьФайл("C:\Реестр.json");

        ЗаписьJSON.ЗаписатьНачалоОбъекта();

        ЗаписьJSON.ЗаписатьСвойство("Договоры");

        ЗаписьJSON.ЗаписатьНачалоМассива();

        // Здесь цикл по договорам

        ЗаписьJSON.ЗаписатьКонецМассива();

        ЗаписьJSON.ЗаписатьКонецОбъекта();

        ЗаписьJSON.Закрыть();

      Для интеграции с API также может понадобиться авторизация (токены, ключи).