Меняем выгрузку данных из 1С под свои задачи
Содержание
Чтобы изменить выгрузку данных в 1С, идут туда, где эта выгрузка настроена: обмен с сайтом живёт в Администрирование → Обмен с сайтом, синхронизация между базами — в Администрирование → Синхронизация данных, а разовая выгрузка в XML делается отдельной обработкой. В этих же местах меняют состав выгружаемых данных, фильтры, расписание и правила преобразования полей.
Слово «выгрузка» в 1С покрывает несколько разных механизмов, и настраиваются они по-разному. Ниже — как найти нужный, поменять в нём структуру и фильтры, разобрать типовые ошибки и перевести всё на автоматический режим, включая отдельный разговор про форматы для маркетплейсов.
Пути и названия ниже даны для конфигураций на платформе 8.3 с интерфейсом «Такси» (1С:Управление торговлей 11, Бухгалтерия предприятия 3.0). В УТ 11 корневой раздел настроек называется НСИ и администрирование, в остальном логика совпадает.
Где лежат настройки выгрузки и что в них можно менять
Сначала определитесь, какой именно обмен вы настраиваете — от этого зависит, в каком разделе искать параметры.
- 🌐 Обмен с сайтом (CommerceML). Выгрузка каталога, цен и остатков на интернет-магазин, загрузка заказов обратно. Раздел
Администрирование → Обмен с сайтом(вУТ 11—НСИ и администрирование → Интеграция с 1С-Битрикс и сайтами). - 🔁 Синхронизация данных. Обмен между двумя базами 1С (например,
Бухгалтерия↔Управление торговлей). РазделАдминистрирование → Синхронизация данных. - 📄 Универсальная выгрузка в XML. Разовый перенос через внешнюю обработку «Выгрузка и загрузка данных XML» — для миграции или ручной передачи данных.
- 📊 Выгрузка списков в Excel/CSV. Любой журнал документов
или справочник сохраняется в файл через команду
Ещё → Вывести список.
Внутри каждого механизма настройка открывается двойным кликом по узлу обмена. В карточке узла видны: какие объекты выгружаются, по какому расписанию, в какой каталог или по какому адресу уходит файл.
Если не помните, какой обмен когда-то настроили, откройте Администрирование → Синхронизация данных → Настройки синхронизации данных — там перечислены все активные узлы с датой последнего сеанса.
Прежде чем что-то менять, зафиксируйте текущие параметры: сделайте скриншот карточки узла или выгрузите настройки. Если после правки обмен встанет, вы быстро вернёте рабочую конфигурацию.
Как поменять состав выгружаемых данных
Самый частый запрос — выгружать не всё подряд, а определённый набор. В обмене с сайтом это настраивается прямо в карточке узла.
- Откройте
Администрирование → Обмен с сайтоми зайдите в нужный узел. - На закладке с составом каталога отметьте группы номенклатуры, которые уходят на сайт. Снятая галочка с группы исключает её целиком.
- Укажите, какие свойства номенклатуры выгружать как характеристики товара — цвет, размер, бренд. На сайте они станут фильтрами.
- Выберите типы цен и склады, по которым считаются остатки. Можно выгружать один тип цен для розницы и другой — для опта.
В синхронизации между базами состав задаётся иначе — через настройки отправки и получения. Там вы указываете, какие виды документов и справочников участвуют в обмене и за какой период.
Расширение состава выгрузки на уже работающем обмене приводит к разовой передаче большого объёма. Первый сеанс после изменения может идти долго и нагружать сервер — запускайте его в нерабочее время.
Если нужно выгрузить дополнительное поле, которого в стандартном обмене нет (например, артикул поставщика или своё произвольное свойство), это уже уровень правил преобразования — о них ниже.
Как настроить структуру и соответствие полей
Структура выгрузки — это то, какое поле источника во что превращается в приёмнике. За неё отвечают правила обмена (они же правила конвертации).
Для синхронизации типовых конфигураций правила уже встроены и обновляются вместе с релизом — трогать их вручную обычно не нужно. Менять структуру приходится, когда:
- приёмник — не 1С, а сторонняя система со своим форматом;
- в стандартном обмене не хватает какого-то поля;
- одно поле нужно переложить в другое (например, комментарий документа — в отдельный реквизит на сайте).
Правила редактируются в конфигурации «Конвертация данных » (актуальная редакция — третья). Там вы открываете правило, находите объект и настраиваете соответствие реквизитов: слева поле источника, справа — поле приёмника.
После правки правила его нужно выгрузить в файл и загрузить в рабочую базу — в карточке узла обмена есть команда загрузки правил. Перед заменой правил сделайте резервную копию базы : ошибочное правило может затереть данные в приёмнике при первом же сеансе.
Если задача совсем узкая — добавить один реквизит в выгрузку на сайт — часто проще не переписывать правила, а использовать расширение конфигурации : оно не затрагивает типовой код и переживает обновления.
Как выгружать только нужные позиции: фильтры
Фильтр отсекает лишнее ещё до отправки. Это снижает объём файла и убирает с сайта то, чего там быть не должно.
В обмене с сайтом фильтр по номенклатуре задаётся выбором групп (см. выше). Более тонкий отбор — через отборы по реквизитам в настройках узла: например, выгружать только товары с установленным флагом «Публиковать» или с ненулевым остатком.
В синхронизации между базами работают правила регистрации и отборы по организации, складу, периоду. Типовые сценарии:
- 🏢 выгружать документы только одной организации из нескольких в базе;
- 📅 ограничить обмен документами за последний год, не трогая архив;
- 📦 передавать остатки только по розничным складам.
Отбор задаётся в настройках отправки данных конкретного узла. Условие собирается из поля, вида сравнения и значения — так же, как привычный отбор в любом списке 1С.
Хотите разово проверить, что именно уйдёт по текущему фильтру? В синхронизации есть команда ручного запуска обмена с предварительным составом — она покажет количество объектов к выгрузке, не отправляя их.
Частая ошибка — задать отбор по остатку, забыв, что товар с нулём на складе должен уйти на сайт со статусом «нет в наличии». Если убрать его фильтром совсем, на сайте он просто исчезнет, а не станет недоступным для заказа. Решайте это не фильтром, а логикой выгрузки остатков.
Что делать, когда выгрузка падает с ошибкой
Ошибки обмена делятся на три группы: не настроено соединение, не прошли данные, упала сама база 1С. Сначала посмотрите текст в журнале обмена — он почти всегда называет причину.
Протокол сеанса открывается из карточки узла: там видно, на каком объекте оборвалась выгрузка и с какой формулировкой. Полный технический текст ищите в Администрирование → Обслуживание → Журнал регистрации за время сеанса.
Прежде чем перезапускать обмен «с нуля» или чистить данные регистрации, убедитесь, что проблема не в одном сбойном документе. Полная перерегистрация всех данных заставит обмен выгрузить базу целиком — это часы работы и нагрузка на сервер.
Если ошибка повторяется на одном и том же объекте, откройте этот документ или элемент справочника и проверьте заполнение обязательных реквизитов. Пустое обязательное поле — самая частая причина обрыва конкретной выгрузки.
Как поставить выгрузку на автоматический режим
Ручной запуск годится для разовых задач. Регулярный обмен переводят на расписание через регламентное задание.
- Откройте
Администрирование → Обслуживание → Регламентные и фоновые задания. - Найдите задание, отвечающее за ваш обмен (в обмене с сайтом и в синхронизации оно создаётся автоматически при настройке узла).
- Откройте расписание и задайте периодичность: каждые N минут, по дням недели, в определённое время.
Для файлового варианта базы есть нюанс: регламентные задания выполняются, только пока запущен сеанс 1С. Если база файловая и никто не работает , обмен не пойдёт. Варианты:
- 🖥️ держать открытым фоновый сеанс на сервере через запуск
1cv8в режиме выполнения задания; - ⏰ настроить запуск обмена внешним планировщиком Windows с ключами командной строки;
- 🗄️ перевести базу в клиент-серверный режим — там регламентные задания идут независимо от пользователей.
Для клиент-серверной базы проверьте, что регламентные задания вообще разрешены: в консоли администрирования серверов у информационной базы не должна стоять блокировка регламентных заданий.
Не ставьте слишком частое расписание «на всякий случай». Обмен раз в 5 минут на большом каталоге создаёт постоянную нагрузку. Для цен и остатков обычно хватает нескольких раз в день, для заказов с сайта — каждые 10–15 минут.
Выгрузка для маркетплейсов: форматы и ограничения
Маркетплейсы (Ozon, Wildberries, Яндекс Маркет) не принимают стандартный CommerceML, которым 1С обменивается с сайтом. У каждого свой формат или API, и это главное отличие от обычной выгрузки на сайт.
Варианты, как отдать данные на маркетплейс из 1С:
- 📤 Прайс-лист в формате YML. Яндекс Маркет исторически принимает выгрузку в YML (формат на базе XML). Ряд конфигураций умеет формировать такой прайс стандартными средствами выгрузки на сайт.
- 🔌 Прямая интеграция по API. Для Ozon и Wildberries обмен идёт через их API — это делают специализированные модули и сервисы, а не типовой обмен с сайтом.
- 📝 Выгрузка в шаблон Excel. Если объём небольшой, выгружают номенклатуру в файл и заливают через кабинет маркетплейса по его шаблону.
При подготовке данных под маркетплейс чаще всего приходится менять именно структуру выгрузки: добавлять штрихкоды, габариты, категорию площадки, которой в 1С в готовом виде нет. Это снова уровень правил преобразования и дополнительных реквизитов номенклатуры.
Маркетплейсы жёстко проверяют обязательные поля. Если в выгрузке нет штрихкода или веса, карточка не пройдёт модерацию. Заполняйте эти реквизиты в 1С заранее, а не придумывайте их на стороне площадки.
Перед запуском регулярной выгрузки на маркетплейс проверьте, что номенклатура готова:
Когда стандартной выгрузки не хватает
Типовые механизмы закрывают большинство задач. Но иногда формат приёмника или логика обмена выходят за их рамки — тогда подключают другие инструменты.
- 🧩 Расширение конфигурации. Позволяет добавить своё поле в выгрузку или изменить формирование файла, не меняя типовой код. Переживает обновления конфигурации.
- 🛠️ Внешняя обработка выгрузки. Разовая или подключаемая обработка, которая формирует файл в нужном виде. Подходит, когда формат приёмника нестандартный.
- 🌉 Веб-сервисы и HTTP-сервисы 1С. Для обмена «в реальном времени» с внешней системой по запросу, без промежуточных файлов.
- ☁️ Сторонние коннекторы. Готовые решения для связки 1С с конкретными площадками и CRM, когда писать обмен с нуля дорого.
Выбор зависит от того, насколько регулярен обмен и кто его будет поддерживать. Разовую миграцию проще сделать обработкой, постоянную интеграцию с внешней системой — через веб-сервис или готовый коннектор.
Если задача требует доработки, не меняйте типовую конфигурацию напрямую. Снятие с поддержки усложнит будущие обновления — почти всё то же самое решается расширением.