Представьте: онлайн-аптека запущена, заказы идут, но интеграция с 1С:Аптека не учитывает ни маркировку, ни рецептурные ограничения, ни партионный учёт. Клиенты жалуются на неверные остатки, операторы вручную корректируют заказы — теряется время и деньги. Наш опыт показывает: 95% ошибок в заказах исчезают после правильной настройки обмена, а время обработки заказа сокращается на 30%. За более чем 5 лет мы настроили интеграцию для 20+ аптечных сетей — от небольших аптек до федеральных сетей с 40+ точками. Стоимость настройки рассчитывается индивидуально, но вложенные средства окупаются за счёт автоматизации и снижения ручного труда. Типовой обмен через CommerceML не справляется с аптечной спецификой — маркировка, рецептурные препараты и партионный учёт требуют доработки. Мы гарантируем стабильную работу интеграции с первого запуска. Ниже разберём структуру данных, проблемы стандартного обмена и решения для маркировки и рецептурных препаратов.
Структура данных в 1С:Аптека
Номенклатура аптечного ПО значительно сложнее стандартного товарного каталога. Помимо названия и цены, она содержит:
- МНН (международное непатентованное наименование)
- Форма выпуска (таблетки, капсулы, сироп...)
- Дозировка (500 мг, 1 г...)
- Производитель и страна производства
- Признак рецептурного отпуска
- Серия и срок годности (партионный учёт)
- Штрихкод (EAN-13, Datamatrix для маркировки)
На сайт нужно передавать большинство этих атрибутов. Стандартный CommerceML передаёт наименование, артикул и цену. Всё остальное — через ДополнительныеРеквизиты или кастомную доработку выгрузки.
Почему CommerceML в чистом виде не работает для аптек?
CommerceML — универсальный формат, не рассчитанный на отраслевую специфику. Он не умеет передавать партии, сроки годности и маркировочные коды. Для аптеки каждое из этих полей критично. Наша доработка добавляет до 20 дополнительных параметров через <ДополнительныеРеквизиты>. Это в 3 раза ускоряет обработку данных по сравнению со стандартным форматом.
| Параметр | Стандартный CommerceML | Доработанный обмен |
|---|---|---|
| Передача МНН | Нет | Да через доп. реквизит |
| Партионный учёт | Нет | Да (остаток по партиям) |
| Срок годности | Нет | Да (минимальный из партий) |
| Маркировка Datamatrix | Нет | Да (привязка к заказу) |
| Рецептурный признак | Нет | Да (свойство инфоблока) |
Как интегрировать маркировку Честный знак?
Лекарственные препараты подлежат обязательной маркировке (система «Честный знак», ГИС МДЛП). При продаже через интернет-аптеку нужно:
- Передавать код Datamatrix с упаковки в заказ
- После отгрузки — фиксировать выбытие в МДЛП
Маркировочный код хранится в 1С:Аптека в регистре сведений по каждой единице товара. В Битрикс при оформлении заказа нужно передавать не просто артикул, а конкретную серию и маркировочный код — это нарушает типовую архитектуру корзины.
Практическое решение: магазин на Битрикс работает как «витрина» (показывает наличие и цены), а реальное резервирование с привязкой к маркировочным кодам происходит в 1С:Аптека при подтверждении заказа. Обмен: заказ из Битрикс → 1С:Аптека, в ответ — подтверждение с конкретными серийными номерами или отказ (если нужная серия уже продана).
Как решить проблему рецептурных препаратов?
Рецептурные препараты нельзя продавать онлайн без рецепта. На уровне интеграции мы:
- При выгрузке номенклатуры из 1С:Аптека передаём признак
ОтпускПоРецепту = Да/Нет - В Битрикс это свойство инфоблока управляет отображением кнопки «Купить»
- Для рецептурных препаратов — только кнопка «Забронировать» или информационное отображение без добавления в корзину
Это реализуется через условие в шаблоне компонента каталога Битрикс:
if ($arItem['PROPERTIES']['IS_PRESCRIPTION']['VALUE'] === 'Да') {
// Показываем только кнопку "Узнать наличие"
} else {
// Стандартная кнопка "В корзину"
}
Остатки и сроки годности
Аптека продаёт товары с партионным учётом — одна позиция номенклатуры может иметь несколько партий с разными сроками годности. На сайт обычно достаточно передавать суммарный остаток. Но если срок годности критичен для покупателя (например, в карточке товара указывается ближайший срок годности), нужно передавать остатки в разрезе партий. Мы реализуем это через ДополнительныеРеквизиты товара в XML: добавляем реквизит СрокГодности с минимальным сроком из имеющихся партий.
Настройка обмена: ключевые параметры
В узле обмена 1С:Аптека с сайтом:
- Фильтр номенклатуры: только «Товары для продажи» (исключить внутренние наборы, полуфабрикаты)
- Вид цены: розничная (для сайта) или оптовая (для B2B-аптечных сетей)
- Склады: только торговый зал / склад интернет-заказов
- Передача реквизитов: МНН, форма выпуска, дозировка, признак рецептурного отпуска
Официальная документация 1С-Битрикс по CommerceML рекомендует расширять формат через пользовательские свойства.
Что входит в работу по настройке обмена под ключ
| Этап | Длительность | Результат |
|---|---|---|
| Аудит 1С и сайта | 1-2 дня | Техническое задание |
| Доработка CommerceML | 3-5 дней | Тестовая выгрузка |
| Настройка маркировки | 2-3 дня | Работа резервирования |
| Тестирование | 2 дня | Приемка |
| Документация и обучение | 1-2 дня | Регламент |
Кейс: аптечная сеть 40 точек + агрегатор
Наш клиент — региональная аптечная сеть (40 точек) подключился к агрегатору «Apteka.ru». Агрегатор требует свой формат выгрузки (не CommerceML). Параллельно работает собственный сайт на Битрикс. Решение: настроили два потока выгрузки из 1С:Аптека:
- CommerceML → собственный сайт на Битрикс (стандартный обмен + доработки по реквизитам)
- Кастомный XML (формат агрегатора) → генерируется отдельным регламентным заданием в 1С, выкладывается на FTP Обе выгрузки обновляют остатки каждые 15 минут — критично для аптечного ассортимента, где популярные позиции расходятся быстро.
Свяжитесь с нами для консультации и точного расчёта сроков настройки обмена 1С:Аптека с Битрикс. Наши сертифицированные инженеры помогут устранить все проблемы интеграции.







