Меняем выгрузку данных из 1С под свои задачи

· 10 мин

Содержание

Чтобы изменить выгрузку данных в 1С, идут туда, где эта выгрузка настроена: обмен с сайтом живёт в Администрирование → Обмен с сайтом, синхронизация между базами — в Администрирование → Синхронизация данных, а разовая выгрузка в XML делается отдельной обработкой. В этих же местах меняют состав выгружаемых данных, фильтры, расписание и правила преобразования полей.

Слово «выгрузка» в 1С покрывает несколько разных механизмов, и настраиваются они по-разному. Ниже — как найти нужный, поменять в нём структуру и фильтры, разобрать типовые ошибки и перевести всё на автоматический режим, включая отдельный разговор про форматы для маркетплейсов.

Пути и названия ниже даны для конфигураций на платформе 8.3 с интерфейсом «Такси» (1С:Управление торговлей 11, Бухгалтерия предприятия 3.0). В УТ 11 корневой раздел настроек называется НСИ и администрирование, в остальном логика совпадает.

Где лежат настройки выгрузки и что в них можно менять

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

  • 🌐 Обмен с сайтом (CommerceML). Выгрузка каталога, цен и остатков на интернет-магазин, загрузка заказов обратно. Раздел Администрирование → Обмен с сайтом (в УТ 11 — НСИ и администрирование → Интеграция с 1С-Битрикс и сайтами).
  • 🔁 Синхронизация данных. Обмен между двумя базами 1С (например, Бухгалтерия ↔ Управление торговлей). Раздел Администрирование → Синхронизация данных.
  • 📄 Универсальная выгрузка в XML. Разовый перенос через внешнюю обработку «Выгрузка и загрузка данных XML» — для миграции или ручной передачи данных.
  • 📊 Выгрузка списков в Excel/CSV. Любой журнал документов или справочник сохраняется в файл через команду Ещё → Вывести список.

Внутри каждого механизма настройка открывается двойным кликом по узлу обмена. В карточке узла видны: какие объекты выгружаются, по какому расписанию, в какой каталог или по какому адресу уходит файл.

Если не помните, какой обмен когда-то настроили, откройте Администрирование → Синхронизация данных → Настройки синхронизации данных — там перечислены все активные узлы с датой последнего сеанса.

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

Как поменять состав выгружаемых данных

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

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

В синхронизации между базами состав задаётся иначе — через настройки отправки и получения. Там вы указываете, какие виды документов и справочников участвуют в обмене и за какой период.

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

Если нужно выгрузить дополнительное поле, которого в стандартном обмене нет (например, артикул поставщика или своё произвольное свойство), это уже уровень правил преобразования — о них ниже.

Как настроить структуру и соответствие полей

Структура выгрузки — это то, какое поле источника во что превращается в приёмнике. За неё отвечают правила обмена (они же правила конвертации).

Для синхронизации типовых конфигураций правила уже встроены и обновляются вместе с релизом — трогать их вручную обычно не нужно. Менять структуру приходится, когда:

  • приёмник — не 1С, а сторонняя система со своим форматом;
  • в стандартном обмене не хватает какого-то поля;
  • одно поле нужно переложить в другое (например, комментарий документа — в отдельный реквизит на сайте).

Правила редактируются в конфигурации «Конвертация данных » (актуальная редакция — третья). Там вы открываете правило, находите объект и настраиваете соответствие реквизитов: слева поле источника, справа — поле приёмника.

Сопоставление полей
Номенклатура.Наименование→Товар.Название
Номенклатура.Артикул→Товар.Артикул
ВидНоменклатуры→Группа каталога
ЦенаЗакупки→(не выгружать)
СвойствоЦвет→Характеристика «Цвет»

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

Если задача совсем узкая — добавить один реквизит в выгрузку на сайт — часто проще не переписывать правила, а использовать расширение конфигурации : оно не затрагивает типовой код и переживает обновления.

Как выгружать только нужные позиции: фильтры

Фильтр отсекает лишнее ещё до отправки. Это снижает объём файла и убирает с сайта то, чего там быть не должно.

В обмене с сайтом фильтр по номенклатуре задаётся выбором групп (см. выше). Более тонкий отбор — через отборы по реквизитам в настройках узла: например, выгружать только товары с установленным флагом «Публиковать» или с ненулевым остатком.

В синхронизации между базами работают правила регистрации и отборы по организации, складу, периоду. Типовые сценарии:

  • 🏢 выгружать документы только одной организации из нескольких в базе;
  • 📅 ограничить обмен документами за последний год, не трогая архив;
  • 📦 передавать остатки только по розничным складам.

Отбор задаётся в настройках отправки данных конкретного узла. Условие собирается из поля, вида сравнения и значения — так же, как привычный отбор в любом списке 1С.

Хотите разово проверить, что именно уйдёт по текущему фильтру? В синхронизации есть команда ручного запуска обмена с предварительным составом — она покажет количество объектов к выгрузке, не отправляя их.

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

Что делать, когда выгрузка падает с ошибкой

Ошибки обмена делятся на три группы: не настроено соединение, не прошли данные, упала сама база 1С. Сначала посмотрите текст в журнале обмена — он почти всегда называет причину.

Протокол сеанса открывается из карточки узла: там видно, на каком объекте оборвалась выгрузка и с какой формулировкой. Полный технический текст ищите в Администрирование → Обслуживание → Журнал регистрации за время сеанса.

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

Прежде чем перезапускать обмен «с нуля» или чистить данные регистрации, убедитесь, что проблема не в одном сбойном документе. Полная перерегистрация всех данных заставит обмен выгрузить базу целиком — это часы работы и нагрузка на сервер.

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

Как поставить выгрузку на автоматический режим

Ручной запуск годится для разовых задач. Регулярный обмен переводят на расписание через регламентное задание.

  1. Откройте Администрирование → Обслуживание → Регламентные и фоновые задания.
  2. Найдите задание, отвечающее за ваш обмен (в обмене с сайтом и в синхронизации оно создаётся автоматически при настройке узла).
  3. Откройте расписание и задайте периодичность: каждые N минут, по дням недели, в определённое время.

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

  • 🖥️ держать открытым фоновый сеанс на сервере через запуск 1cv8 в режиме выполнения задания;
  • ⏰ настроить запуск обмена внешним планировщиком Windows с ключами командной строки;
  • 🗄️ перевести базу в клиент-серверный режим — там регламентные задания идут независимо от пользователей.

Для клиент-серверной базы проверьте, что регламентные задания вообще разрешены: в консоли администрирования серверов у информационной базы не должна стоять блокировка регламентных заданий.

Не ставьте слишком частое расписание «на всякий случай». Обмен раз в 5 минут на большом каталоге создаёт постоянную нагрузку. Для цен и остатков обычно хватает нескольких раз в день, для заказов с сайта — каждые 10–15 минут.

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

Маркетплейсы (Ozon, Wildberries, Яндекс Маркет) не принимают стандартный CommerceML, которым 1С обменивается с сайтом. У каждого свой формат или API, и это главное отличие от обычной выгрузки на сайт.

Варианты, как отдать данные на маркетплейс из 1С:

  • 📤 Прайс-лист в формате YML. Яндекс Маркет исторически принимает выгрузку в YML (формат на базе XML). Ряд конфигураций умеет формировать такой прайс стандартными средствами выгрузки на сайт.
  • 🔌 Прямая интеграция по API. Для Ozon и Wildberries обмен идёт через их API — это делают специализированные модули и сервисы, а не типовой обмен с сайтом.
  • 📝 Выгрузка в шаблон Excel. Если объём небольшой, выгружают номенклатуру в файл и заливают через кабинет маркетплейса по его шаблону.

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

Маркетплейсы жёстко проверяют обязательные поля. Если в выгрузке нет штрихкода или веса, карточка не пройдёт модерацию. Заполняйте эти реквизиты в 1С заранее, а не придумывайте их на стороне площадки.

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

Готовность номенклатуры к выгрузке на маркетплейс
Выполнено: 0 / 6

Когда стандартной выгрузки не хватает

Типовые механизмы закрывают большинство задач. Но иногда формат приёмника или логика обмена выходят за их рамки — тогда подключают другие инструменты.

  • 🧩 Расширение конфигурации. Позволяет добавить своё поле в выгрузку или изменить формирование файла, не меняя типовой код. Переживает обновления конфигурации.
  • 🛠️ Внешняя обработка выгрузки. Разовая или подключаемая обработка, которая формирует файл в нужном виде. Подходит, когда формат приёмника нестандартный.
  • 🌉 Веб-сервисы и HTTP-сервисы 1С. Для обмена «в реальном времени» с внешней системой по запросу, без промежуточных файлов.
  • ☁️ Сторонние коннекторы. Готовые решения для связки 1С с конкретными площадками и CRM, когда писать обмен с нуля дорого.

Выбор зависит от того, насколько регулярен обмен и кто его будет поддерживать. Разовую миграцию проще сделать обработкой, постоянную интеграцию с внешней системой — через веб-сервис или готовый коннектор.

Если задача требует доработки, не меняйте типовую конфигурацию напрямую. Снятие с поддержки усложнит будущие обновления — почти всё то же самое решается расширением.

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

Чем выгрузка на сайт отличается от синхронизации данных?
Выгрузка на сайт работает по стандарту CommerceML и рассчитана на интернет-магазин: каталог, цены, остатки, приём заказов. Синхронизация данных — это обмен между двумя базами 1С с полным переносом документов и справочников по правилам конвертации.
Можно ли выгружать в один обмен несколько организаций по отдельности?
Да. В настройках узла задаётся отбор по организации. Для разных получателей делают разные узлы обмена со своими отборами, чтобы каждый получал только свои данные.
Почему после обновления конфигурации сломался обмен?
Чаще всего устарели правила обмена: в новом релизе изменилась структура объектов. Загрузите актуальные правила под текущую версию конфигурации из карточки узла синхронизации.
Обмен с сайтом в файловой базе не идёт по расписанию — почему?
В файловой базе регламентные задания выполняются только при запущенном сеансе 1С. Если базой никто не пользуется, обмен стоит. Решают фоновым сеансом, внешним планировщиком или переводом базы в клиент-серверный режим.
Как выгрузить только изменённые с прошлого раза данные?
В синхронизации это работает автоматически: механизм регистрации отслеживает изменения и в очередной сеанс отправляет только их. Полная выгрузка нужна лишь при первом обмене или после перерегистрации данных.