Как настроить обмен данными между сервисом МойСклад и 1С:Бухгалтерия 3.0?

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

Интеграция облачного сервиса управления торговлей МойСклад и программы 1С:Бухгалтерия 3.0 является одной из самых востребованных задач для малого и среднего бизнеса. Часто пользователи ищут сторонние платные обработки, не подозревая, что существуют развитые штатные механизмы и современные приложения для автоматизации этого процесса. В данной статье мы подробно разберем, как организовать прямой обмен данными, какие существуют способы синхронизации и на что обратить внимание при настройке.

Способ 1: Использование типового обмена через формат EnterpriseData

Проанализируем самый распространенный и доступный «из коробки» метод — выгрузку данных через универсальный формат EnterpriseData. Этот способ не требует покупки сторонних расширений, хотя иногда может потребоваться доработка синхронизации данных через универсальный формат, и подходит для большинства пользователей. Суть метода заключается в подготовке файла обмена в личном кабинете сервиса МойСклад и его последующей загрузке в информационную базу 1С.

Рассмотрим по шагам процесс подготовки данных в сервисе МойСклад:

  1. Перейдем в личном кабинете МойСклад в раздел Меню пользователя, далее выберем пункт Экспорт.
  2. В выпадающем списке выберем вариант 1С:Бухгалтерия.
  3. В открывшемся окне настройки экспорта необходимо определить период, за который мы хотим передать документы.
  4. Нажмем кнопку «Экспортировать», после чего система сформирует файл в формате XML. Сохраним этот файл на локальный диск.

Теперь разберем, как загрузить полученные данные в 1С:Бухгалтерия 3.0:

  1. Откроем раздел Администрирование и перейдем в пункт Синхронизация данных.
  2. Убедимся, что флаг СинхронизацияДанных установлен.
  3. Выберем пункт Загрузить данные из EnterpriseData.
  4. В открывшемся мастере укажем путь к сохраненному ранее XML-файлу.
  5. Система проанализирует данные и предложит сопоставить объекты (контрагентов, номенклатуру, склады). Проверим корректность сопоставления и нажмем «Далее» для завершения загрузки.

Способ 2: Автоматическая синхронизация (для облачных и опубликованных баз)

Если ваша база 1С находится в облаке (например, 1С:Фреш) или опубликована на веб-сервере и имеет внешний URL-адрес, мы можем настроить автоматический обмен без ручного скачивания файлов. Это наиболее современный подход, позволяющий минимизировать человеческий фактор.

Для настройки такой «вундервафли», как ее называют в обсуждениях, необходимо использовать приложение «1С:Синхронизация» внутри интерфейса МойСклад. Выясним основные преимущества этого метода:

Важно помнить, что при использовании прямой синхронизации в 1С должен быть создан отдельный пользователь с правами на выполнение синхронизации данных. В настройках сопоставления в сервисе МойСклад следует указать уникальные идентификаторы (UUID) или артикулы для поиска номенклатуры, чтобы избежать дублирования записей в справочниках.

Расширенный перечень передаваемых документов

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

Особое внимание стоит уделить маркированным товарам. Актуальные версии модулей обмена позволяют корректно передавать коды маркировки Честный ЗНАК. Это критически важно для корректного формирования отчетности и выбытия марок в учетной системе 1С после того, как сама продажа была зафиксирована в МойСклад.

Работа с API и событийная модель обмена

Для продвинутых задач, когда стандартного функционала недостаточно, программисты могут использовать JSON API сервиса МойСклад. Проанализируем ситуацию, когда требуется мгновенное появление документа в 1С. В этом случае мы можем настроить Webhooks (вебхуки).

Логика работы событийной модели выглядит следующим образом:

  1. Менеджер создает документ «Отгрузка» в интерфейсе МойСклад.
  2. Сервис МойСклад отправляет HTTP-запрос (webhook) на адрес вашей 1С.
  3. В 1С срабатывает HTTP-сервис, который принимает JSON-пакет данных.
  4. Программный код 1С разбирает JSON и создает соответствующий документ РеализацияТоваровУслуг.

Пример структуры кода для обработки входящего запроса (условно):


Процедура ОбработатьВходящийДокумент(ДанныеJSON)
    Чтение = Новый ЧтениеJSON;
    Чтение.УстановитьСтроку(ДанныеJSON);
    СтруктураДанных = ПрочитатьJSON(Чтение);
    
    Если СтруктураДанных.action = "CREATE" Тогда
        // Логика создания документа в 1С на основании полученного UUID из МойСклад
        ДокументОбъект = Документы.РеализацияТоваровУслуг.СоздатьДокумент();
        // Заполнение реквизитов...
        ДокументОбъект.Записать(РежимЗаписиДокумента.Проведение);
    КонецЕсли;
КонецПроцедуры

Типичные сложности и способы их решения

Несмотря на наличие типовых инструментов, в процессе эксплуатации могут возникнуть технические проблемы. Выясним основные причины ошибок:

В заключение отметим, что для большинства стандартных задач обмена между МойСклад и БП 3.0 достаточно штатного функционала EnterpriseData. Разработка собственной «обормотки», как советуют некоторые участники форумов, целесообразна только при наличии специфических требований к бизнес-логике, которые нельзя покрыть настройками типовой синхронизации.

← На главную