Перенос данных между системами Айко (популярный сервис для интернет-магазинов) и 1С:Предприятие — задача, с которой сталкиваются владельцы бизнеса при масштабировании или переходе на комплексный учёт. Ошибки на этом этапе могут привести к дублям товаров, потере заказов или несовпадению остатков. Эта статья поможет избежать типичных проблем: от выбора формата обмена до настройки автоматической синхронизации.
Мы разберём три основных сценария: ручную выгрузку через файлы (для разовых операций), полуавтоматический обмен через CommerceML (рекомендуется для регулярных обновлений) и прямое подключение через API (для крупных проектов с высокой нагрузкой). Особое внимание уделим сопоставлению полей — главной причине сбоев при интеграции.
Если вы используете 1С:УТ 11, 1С:КА 2 или 1С:ERP, инструкции подойдут с минимальными корректировками. Для устаревших версий (например, 1С:Торговля 7.7) потребуются доработки — их нюансы вынесены в отдельный раздел.
1. Подготовка к выгрузке: что нужно сделать до начала
Прежде чем приступать к техническим манипуляциям, проверьте совместимость версий ваших систем. Айко регулярно обновляет API, а 1С может требовать специфические модули обмена. Например, для работы с CommerceML 2.07 в 1С:УТ 11.4 необходимо установить обработку "Универсальный обмен данными в формате CommerceML" (доступна в каталоге 1С).
Также убедитесь, что:
- 🔹 В Айко заполнены все обязательные реквизиты товаров (артикул, наименование, категория). Пустые поля могут вызвать ошибку при импорте в 1С.
- 🔹 В 1С созданы справочники контрагентов и номенклатуры с теми же кодами, что и в Айко (если планируете сопоставление по коду).
- 🔹 У вас есть права администратора в обеих системах. Ограниченный доступ блокирует настройку обмена.
- 🔹 Сделан бэкап базы 1С. Даже при тестовой выгрузке это защитит от случайных изменений.
⚠️ Внимание: Если вы используете облачную версию 1С:Фреш, некоторые методы обмена (например, прямое подключение к базе) могут быть недоступны. Уточните ограничения в документации сервиса.
Критическая деталь: в Айко по умолчанию не экспортируются архивные товары и заказы старше 12 месяцев. Чтобы их включить, перед выгрузкой отметьте галочку "Экспортировать архивные данные" в настройках интеграции.
2. Способ 1: Ручная выгрузка через файлы (Excel, CSV, XML)
Этот метод подходит для разового переноса данных или небольших баз (до 5 000 позиций). Его преимущество — простота, недостаток — риск ошибок при ручном сопоставлении полей. Рассмотрим пошагово, как выгрузить товары из Айко в 1С:УТ 11 через CSV.
Шаг 1. Экспорт данных из Айко
В панели управления Айко перейдите в раздел Товары → Экспорт. Выберите формат CSV и отметьте необходимые поля:
- 📌
Артикул(обязательно) - 📌
Наименование - 📌
Цена - 📌
Остаток - 📌
Категория(если нужно сохранять иерархию)
Нажмите "Экспортировать" и сохраните файл на компьютер. Важно: в настройках экспорта установите кодировку UTF-8 и разделитель точка с запятой (;) — это минимизирует проблемы с кириллицей в 1С.
Шаг 2. Импорт в 1С
В 1С:УТ 11 откройте Администрирование → Обмен данными → Универсальный обмен данными. Выберите действие "Импорт данных из файла" и укажите путь к сохранённому CSV. На этапе сопоставления полей следуйте правилу:
| Поле в Айко | Поле в 1С | Тип данных |
|---|---|---|
Артикул |
Код номенклатуры |
Строка |
Наименование |
Наименование номенклатуры |
Строка |
Цена |
Цена продажи (основная) |
Число |
Остаток |
Количество на складе |
Число |
Категория |
Группа номенклатуры |
Справочник |
Если в файле есть поля, которых нет в 1С (например, SEO-заголовок), их можно пропустить или создать дополнительные реквизиты в справочнике номенклатуры.
Убедиться, что в файле нет пустых строк в начале/конце|
Проверить соответствие разделителей (точка с запятой)|
Сопоставить все обязательные поля (артикул, название, цена)|
Сделать резервную копию базы 1С
-->
⚠️ Внимание: При импорте больших файлов (>10 000 строк) 1С может "зависнуть". Разбейте файл на части по 3 000–5 000 строк или используйте Пакетный режим загрузки (доступен в 1С:ERP).
3. Способ 2: Автоматический обмен через CommerceML
Формат CommerceML разработан специально для обмена данными между интернет-магазинами и 1С. Он поддерживает не только товары, но и заказы, контрагентов, цены и остатки. Этот метод рекомендуется для регулярной синхронизации (например, ежедневной).
Настройка в Айко
В панели Айко перейдите в Настройки → Интеграции → 1С (CommerceML). Активируйте модуль обмена и скопируйте:
- 🔗 Ссылку на файл обмена (пример:
https://ваш-магазин.aiko.shop/upload/1c_exchange.php) - 🔑 Логин и пароль для доступа (генерируются автоматически)
В разделе "Настройки выгрузки" укажите:
- 📦 Выгружать товары: Да
- 📄 Выгружать заказы: Да (если нужно)
- 🔄 Обновлять остатки: Да
- 💰 Выгружать цены: Только основную (или все, если используете несколько типов цен)
Настройка в 1С
В 1С:УТ 11 откройте Администрирование → Настройки обмена → Обмен с сайтом. Создайте новый узел обмена с параметрами:
- 🌐 Адрес сайта: скопированная из Айко ссылка
- 🔑 Логин/пароль: данные из Айко
- 📂 Каталог обмена: укажите папку на сервере или локальном диске (например,
C:\Exchange\Aiko) - 🔄 Режим обмена: "Загрузка и выгрузка" (двусторонняя синхронизация)
После сохранения настроек запустите тестовое подключение. Если 1С выдаст ошибку "Не удалось подключиться к узлу обмена", проверьте:
- 🔌 Доступность ссылки (возможно, блокировка фаерволом)
- 🔑 Корректность логина/пароля
- 📡 Стабильность интернет-соединения
Что делать, если 1С не видит товары из Айко?
Наиболее частая причина — несовпадение идентификаторов. В Айко товары могут иметь Артикул, а в 1С — Код номенклатуры. Проверьте:
1. Совпадают ли артикулы в обеих системах.
2. Заполнено ли поле "Код" в справочнике номенклатуры 1С (если пусто, 1С не сможет сопоставить товары).
3. Включена ли выгрузка товаров в настройках Айко (раздел "Какие данные выгружать").
Важный нюанс: При первом обмене 1С создаст дубли всех товаров из Айко. Чтобы этого избежать, предварительно загрузите в 1С справочник номенклатуры с теми же артикулами, что и в Айко. Используйте для этого ручную выгрузку (способ 1).
4. Способ 3: Прямое API-подключение (для опытных пользователей)
Этот метод требует знаний программирования или помощи специалиста, но обеспечивает максимальную гибкость. Он подходит для крупных магазинов с высокой нагрузкой (более 50 000 товаров) или нестандартными требованиями к обмену.
Айко предоставляет REST API с документацией по работе с товарами, заказами и клиентами. Для интеграции с 1С потребуется:
- Получить API-ключ в личном кабинете Айко (
Настройки → API). - Написать HTTP-запросы для выгрузки данных (например, на языке 1С:Предприятие или Python).
- Создать обработку в 1С, которая будет принимать и обрабатывать данные.
Пример кода на 1С:Предприятие для получения списка товаров:
Запрос = Новый HTTPЗапрос("https://api.aiko.ru/v1/products");
Запрос.УстановитьЗаголовок("Authorization", "Bearer ВАШ_API_КЛЮЧ");
Ответ = Запрос.Выполнить();
Если Ответ.КодСостояния = 200 Тогда
Данные = JSON.Прочитать(Ответ.ПолучитьТелоКакСтроку());
Для Каждого Товар Из Данные.products Цикл
Сообщить(Товар.артикул + " - " + Товар.наименование);
КонецЦикла;
Иначе
Сообщить("Ошибка: " + Ответ.КодСостояния);
КонецЕсли;
Для автоматического обмена можно настроить регламентное задание в 1С, которое будет запускать обработку по расписанию (например, каждые 2 часа).
⚠️ Внимание: При работе с API Айко учитывайте лимиты запросов — бесплатный тариф ограничивает 100 запросами в час. Для крупных баз потребуется платный тариф или оптимизация кода (например, пакетная загрузка данных).
- Модуль "Айко Интегратор" от 1С-Битрикс (платно, но с техподдержкой).
- Обработка "Универсальный обмен с Айко" на Инфостарт (бесплатные и платные варианты).
-->
5. Типичные ошибки и их решения
Даже при правильной настройке обмена могут возникать сбои. Мы собрали TOP-5 ошибок и способы их устранения:
| Ошибка | Причина | Решение |
|---|---|---|
Ошибка загрузки: Не найден справочник "Номенклатура" |
В 1С не создан справочник номенклатуры или отсутствуют права доступа. | Создайте справочник вручную или проверьте права пользователя. |
Дубль артикула: Товар с таким кодом уже существует |
В Айко и 1С совпадают артикулы, но другие поля (название, цена) различаются. | Используйте режимы сопоставления: "Обновлять существующие" или "Игнорировать дубли". |
Не удалось преобразовать значение "NULL" в тип "Число" |
В файле выгрузки пустое поле, которое в 1С должно быть числовым (например, остаток). | Замените пустые значения на "0" в файле или настройте обработку пропусков в 1С. |
Ошибка авторизации: Неверный логин или пароль |
Неправильные данные для подключения к Айко или истёкший API-ключ. | Проверьте данные в настройках обмена или сгенерируйте новый ключ в Айко. |
Тайм-аут при подключении к узлу обмена |
Сервер Айко не отвечает (перегрузка или блокировка). | Повторите попытку позже или проверьте настройки фаервола/антивируса. |
Если ошибка не указана в таблице, включите протоколирование обмена в 1С:
- Откройте
Администрирование → Поддержка и обслуживание → Журнал регистрации. - Установите фильтр по событию "Обмен данными".
- Найдите последнюю запись с ошибкой и скопируйте её текст для поиска решения.
- Формат файлов (CSV должен быть в UTF-8, XML — с корректной схемой).
- Сопоставление полей (артикул в Айко = код номенклатуры в 1С).
- Права доступа (администратор в обеих системах).
-->
6. Особенности для разных версий 1С
Процесс обмена может отличаться в зависимости от конфигурации 1С. Рассмотрим ключевые нюансы:
1С:Управление торговлей 11 (УТ 11)
Самая распространённая конфигурация для интернет-магазинов. Поддерживает CommerceML "из коробки". Для настройки:
- Используйте обработку
"Универсальный обмен данными"(доступна в стандартной поставке). - В настройках узла обмена выберите тип
"Обмен с сайтом". - Для выгрузки заказов активируйте опцию
"Выгружать документы заказов".
1С:Комплексная автоматизация 2 (КА 2)
Требует дополнительных доработок для полноценного обмена:
- 🔧 Установите расширение
"Обмен с интернет-магазином"(доступно в каталоге решений). - 📊 Настройте сопоставление справочников: в КА 2 номенклатура может храниться в
"Товары и услуги", а не в"Номенклатура".
1С:ERP Управление предприятием
Поддерживает CommerceML, но с ограничениями:
- 📦 Товары выгружаются в справочник
"Номенклатура", но требуется указать вид номенклатуры (например, "Товар"). - 💰 Цены импортируются в
"Типы цен", которые должны быть предварительно созданы.
1С:Торговля и Склад 7.7
Устаревшая версия, не поддерживающая CommerceML напрямую. Решения:
- 🔄 Используйте промежуточный формат (например, выгружайте из Айко в
Excel, затем импортируйте в 7.7 через"Загрузка данных из табличного документа"). - 🛠️ Разработайте внешнюю обработку для конвертации
XMLв формат, читаемый 7.7.
⚠️ Внимание: Для 1С:Бухгалтерия 8 обмен с Айко не предусмотрен по умолчанию. Чтобы перенести данные о продажах, сначала загрузите их в 1С:УТ, а затем сделайте выгрузку документов в бухгалтерию через типовой обмен.
7. Автоматизация и оптимизация обмена
Ручная выгрузка данных отнимает время и чревата ошибками. Рассмотрим, как автоматизировать процесс и сократить риски:
1. Настройка расписания
В 1С:УТ 11 можно создать регламентное задание для автоматического обмена:
- Перейдите в
Администрирование → Поддержка и обслуживание → Регламентные задания. - Создайте новое задание с типом
"Обмен данными с сайтом". - Укажите расписание (например, ежедневно в 3:00).
- В параметрах выберите созданный ранее узел обмена с Айко.
Для CommerceML оптимальная частота обмена — 1 раз в сутки. Для API можно настроить обновление каждые 2–4 часа.
2. Фильтрация данных
Чтобы не перегружать базу, настройте выборочную выгрузку:
- 📦 В Айко: в настройках экспорта укажите только нужные категории товаров или статусы заказов (например, только оплаченные).
- 🔍 В 1С: используйте правила отбора в настройках узла обмена (например, выгружать товары только с остатком > 0).
3. Мониторинг ошибок
Автоматизируйте контроль за обменом:
- 📧 Настройте email-уведомления о сбоях (в 1С это делается через
"Журнал регистрации" → "Настройки уведомлений"). - 📊 Ведите лог обмена в отдельном файле. Пример кода для записи лога:
Протокол = Новый ТекстовыйДокумент;
Протокол.ДобавитьСтроку("Начало обмена: " + ТекущаяДата());
Попытка
// Код обмена
Исключение
Протокол.ДобавитьСтроку("Ошибка: " + ОписаниеОшибки());
КонецПопытки;
Протокол.Записать("C:\Exchange\log.txt");
4. Резервное копирование
Перед каждым автоматическим обменом делайте бэкап базы 1С. Для этого:
- 💾 Используйте встроенную утилиту
1CV8.exeс ключом/DumpIB. - 🔄 Настройте автоматическое копирование через
"Планы обмена"(доступно в 1С:ERP).
Автоматизация обмена экономит до 10 часов в месяц, но требует первоначальной настройки. Начните с тестового режима (без изменений в рабочей базе) и постепенно увеличивайте частоту синхронизации.
8. Альтернативные способы интеграции
Если стандартные методы не подходят, рассмотрите альтернативные решения:
1. Сервисы-коннекторы
Платформы для интеграции без программирования:
- 🔗 АтомикBI — подходит для аналитики и синхронизации данных между Айко, 1С и другими системами.
- 🔗 Альфа-Интегратор — специализированное решение для 1С с поддержкой Айко.
- 🔗 Zapier — для простых сценариев (например, перенос заказов в 1С через
Google Sheets).
2. Готовые обработки от партнёров 1С
На Инфостарт и ITS есть готовые решения:
- 📄 "Выгрузка заказов из Айко в 1С:УТ 11" (бесплатно, с открытым кодом).
- 📄 "Синхронизация Айко и 1С:ERP" (платно, с техподдержкой).
3. Разработка кастомного решения
Если ваш бизнес-процесс уникален, закажите индивидуальную доработку у партнёров 1С. Средняя стоимость:
- 💰 Настройка
CommerceML: 5 000–15 000 ₽. - 💰 Интеграция через API: 20 000–50 000 ₽ (в зависимости от сложности).
⚠️ Внимание: Перед покупкой готовых решений проверьте их совместимость с вашими версиями Айко и 1С. Некоторые обработки работают только с конкретными релизами (например, 1С:УТ 11.4.10.х).
FAQ: Частые вопросы по выгрузке из Айко в 1С
Как выгрузить только новые заказы, а не все подряд?
В настройках обмена в Айко укажите фильтр по дате создания заказа (например, "Выгружать заказы за последние 24 часа"). В 1С при настройке узла обмена активируйте опцию "Только новые документы". Также можно использовать метки времени: в Айко добавьте пользовательское поле "Выгружено в 1С" и настройте обмен так, чтобы выгружались только заказы с пустым значением этого поля.
Почему в 1С не отображаются картинки товаров из Айко?
Для передачи изображений в CommerceML необходимо:
- В Айко: включить опцию "Выгружать изображения" в настройках обмена.
- В 1С: в настройках узла обмена указать путь для сохранения файлов (например,
C:\Images\Aiko). - Убедиться, что права доступа позволяют 1С создавать файлы в указанной папке.
Если картинки всё равно не грузятся, проверьте их формат — 1С поддерживает только JPG, PNG и BMP.
Можно ли выгрузить историю изменений цен из Айко в 1С?
Стандартный обмен через CommerceML передаёт только текущие цены. Для истории изменений потребуется:
- Использовать API Айко с запросом к эндпоинту
/v1/products/{id}/price_history. - Разработать обработку в 1С, которая будет записывать историю в регистр сведений
"Цены номенклатуры".
Готовых решений для этого нет, поэтому придётся привлекать программиста.
Как сопоставить клиентов из Айко с контрагентами в 1С?
Есть три способа:
- По email: В настройках обмена укажите, что поле
Emailв Айко соответствуетЭлектронная почтав справочнике контрагентов 1С. - По телефону: Аналогично, но используйте поле
Телефон. Убедитесь, что формат номеров одинаковый (например,+79991234567). - По пользовательскому коду: В Айко добавьте поле "Код 1С" и вручную заполните его для ключевых клиентов. В 1С это поле должно сопоставляться с
Код контрагента.
Если клиентов много, используйте автоматическое сопоставление по нескольким полям (email + телефон) через обработку "Поиск и замена дублей".