Как настроить интеграцию 1С:Управление торговлей с Почтой России для автоматизации отправки посылок?

Программист 1С v8.3 (Управляемые формы) 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

Работа с логистическими операторами, такими как Почта России, напрямую из интерфейса 1С:Управление торговлей (УТ) — это критически важная задача для любого современного торгового бизнеса. Автоматизация позволяет существенно сократить время на подготовку документов, исключить ошибки ручного ввода адресов и ускорить процесс передачи посылок в отделение. Разберем подробно, как подойти к этой задаче, какие инструменты уже есть в программе и как реализовать собственную интеграцию через API.

Вариант 1: Использование встроенного модуля «1С:Доставка»

Прежде чем приступать к разработке собственного решения, проанализируем возможности типовой конфигурации. В современных версиях «1С:Управление торговлей» (начиная с редакции 11.4) предусмотрен встроенный сервис «1С:Доставка». Этот сервис уже содержит готовую интеграцию с Почтой России.

Для активации функционала выполним следующие шаги:

  1. Перейдем в раздел НСИ и администрирование.
  2. Выберем пункт Настройка интеграции, а затем — Интеграция с логистическими сервисами.
  3. Установим флаг напротив сервиса 1С:Доставка.
  4. В появившемся окне настроек добавим личный кабинет Почты России, введя учетные данные бизнес-отправителя.

Рассмотрим преимущества этого метода: нам не нужно писать код. Прямо из документа ЗаказКлиента мы можем нажать кнопку «Создать на основании» — «Заказ на доставку». Система автоматически подтянет данные о получателе, составе посылки и предложит рассчитать тарифы (курьерская доставка, посылка онлайн или обычная отправка в отделение).

Вариант 2: Использование официального API (otpravka.pochta.ru)

Если типовой функционал «1С:Доставка» по каким-то причинам не подходит (например, требуются специфические печатные формы или сложная логика группировки партий), мы можем реализовать прямую интеграцию с использованием OTAPI. Это программный интерфейс, который позволяет взаимодействовать с серверами Почты России через HTTP-запросы.

С чего начать разработку? Сначала необходимо зарегистрироваться на портале для разработчиков Почты России и получить Token и Authorization Key. Весь обмен данными строится на передаче JSON-пакетов.

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

  1. Нормализация адреса: Почта России очень требовательна к формату адреса. Перед созданием заказа нужно отправить адрес на проверку. Сервис вернет его в формате ФИАС.
  2. Расчет стоимости: Отправляем данные о весе и габаритах для получения суммы тарифа.
  3. Создание заказа: Передаем данные о получателе и получаем внутренний идентификатор заказа.
  4. Формирование партии: Почта России работает с «партиями». Все заказы должны быть объединены в документ (реестр форма-103), после чего им присваиваются ШПИ (трек-номера).

Посмотрим на пример формирования структуры для HTTP-запроса в 1С:


ДанныеЗаказа = Новый Структура;
ДанныеЗаказа.Вставить("given-name", "Иван");
ДанныеЗаказа.Вставить("surname", "Иванов");
ДанныеЗаказа.Вставить("address-item", "г. Москва, ул. Ленина, д. 1");
ДанныеЗаказа.Вставить("mass", 500); // вес в граммах
ДанныеЗаказа.Вставить("mail-category", "ORDINARY");
ДанныеЗаказа.Вставить("mail-type", "POSTAL_PARCEL");

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

Работа с печатными формами: этикетки и реестры

Одной из главных задач менеджера, как отмечалось в обсуждении, является получение готовых документов. Через API можно получить файлы в формате PDF. Проанализируем, как это реализовать. После создания партии (Batch) мы вызываем метод API для получения бланков. Система 1С получает двоичные данные, которые можно сохранить во временный файл и сразу отправить на принтер этикеток.

Основные документы, которые нам понадобятся:

Автоматизация отслеживания (Трекинг)

Интеграция позволяет не только отправлять данные «туда», но и получать статусы «обратно». Разберем, как это автоматизировать. Мы можем создать в 1С:Управление торговлей регламентное задание, которое будет выполняться, например, раз в час. Программа будет собирать все активные трек-номера из базы и запрашивать их текущий статус через API трекинга.

При получении статуса «Вручено», мы можем автоматически менять статус в документе ЗаказКлиента или уведомлять менеджера. Это избавляет от необходимости вручную проверять сайт Почты России.

Пример логики обновления статуса:


Для Каждого СтрокаЗаказа Из ТаблицаАктивныхПосылок Цикл
    ТекущийСтатус = ПолучитьСтатусПоТрекНомеру(СтрокаЗаказа.ТрекНомер);
    Если ТекущийСтатус = "ARRIVED_AT_DESTINATION" Тогда
        // Выполняем действия по прибытию посылки
        ЗаписатьСтатусВБазу(СтрокаЗаказа.Ссылка, "Ожидает в отделении");
    КонецЕсли;
КонецЦикла;

Использование сторонних расширений

Если бюджет позволяет, а время на разработку ограничено, стоит рассмотреть готовые модули, которые устанавливаются как расширения для 1С. Они позволяют добавить кнопки работы с почтой непосредственно в документы Реализация товаров и услуг или Заказ клиента без изменения типовой конфигурации. Это сохраняет возможность легкого обновления 1С в будущем. Рассмотрим подробнее такие решения на специализированных ресурсах, таких как Infostart, где часто выкладываются уже протестированные обработки для интеграции с личным кабинетом Почты России.

Подведем итог: для начала работы с Почтой России в 1С:УТ лучше всего сначала проверить возможности встроенного модуля 1С:Доставка. Если же требуется глубокая кастомизация процесса под нужды склада, следует использовать API Отправка, реализовав обмен данными через HTTP-запросы и JSON. Это позволит полностью автоматизировать жизненный цикл посылки: от нормализации адреса до получения финального статуса доставки.

← На главную