Автоматический вывод из оборота FBS-передач маркетплейсов в «Честный Знак» для УТ 11.5, КА 2.5, ERP 2.5
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
На практике бухгалтер сталкивается с проблемой: документы передачи создаются десятками и сотнями ежедневно, а вывод из оборота нужно формировать по каждому из них вручную. Это часы монотонной работы и постоянный риск ошибок.

В данной публикации — готовая внешняя обработка, которая:
-
автоматически находит проведённые FBS-передачи маркетплейсов за выбранный период;
-
отбирает только те, что содержат маркированные товары и коды маркировки;
-
создаёт документы
ВыводИзОборотаИСМПс корректно заполненными реквизитами; -
ставит их в очередь отправки в ГИС МТ;
-
пишет ссылку на созданный вывод обратно в документ передачи;
-
умеет исправлять ранее созданные некорректные выводы.
Обработка тестировалась на 1С:Комплексная автоматизация 2 (1С:Предприятие 8.3), конфигурация с подключённым модулем «Маркировка (Честный Знак)» и включённым обменом с ИС МП.

Постановка задачи
Есть 1С:КА с настроенным обменом с ГИС МТ «Честный Знак». Ежедневно формируются документы ПередачаТоваровХранителю для маркетплейсов (Ozon — «Интернет Решения ООО», WB — «РВБ ООО»). Каждая передача содержит маркированные товары (моторные масла, автохимия) и коды маркировки в табличной части ШтрихкодыУпаковок.
Требуется:
-
За выбранный период найти все проведённые FBS-передачи маркетплейсов.
-
Отфильтровать те, где есть маркированные товары и штрихкоды упаковок.
-
Для каждой создать и провести
ВыводИзОборотаИСМПс операцией «Вывод из оборота — розничная продажа». -
Заполнить товары, коды маркировки, серии, GTIN, НДС, причину вывода, товарную группу.
-
Поставить документ в очередь отправки в ИС МП.
-
Записать ссылку на вывод в реквизит
СРС_ВыводИзОборотадокумента передачи.
Архитектура обработки
Обработка — внешняя, форма с таблицей документов и командами:
| Команда | Действие |
|---|---|
| Заполнить | Ищет передачи за период, заполняет таблицу, помечает те, по которым вывод уже создан |
| Вывести | Создаёт выводы для строк без результата |
| Исправить | Пересоздаёт выводы для строк с некорректным результатом |
| Двойной клик по строке | Открывает вывод (если создан) или передачу |
Ключевая логика — в серверной функции СоздатьВыводИзОборота(СсылкаПередачи).
Пошаговое описание кода
1. Поиск FBS-передач маркетплейсов
1С
Запрос.Текст = " |ВЫБРАТЬ | Передача.Ссылка КАК ДокументПередачи, | Передача.Номер КАК Номер, | Передача.Дата КАК ДатаДокумента, | Передача.СРС_FBO КАК FBO, | Передача.Контрагент КАК Контрагент, | ВЫБОР | КОГДА ВыводИзОборота.Ссылка ЕСТЬ НЕ NULL | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ КАК ВыводУжеСоздан, | ВыводИзОборота.Ссылка КАК ДокументВывод, | ВыводИзОборота.Проведен КАК ВыводПроведен, | ВыводИзОборота.ИдентификаторЗаявки КАК ИдентификаторЗаявки |ИЗ | Документ.ПередачаТоваровХранителю КАК Передача | ЛЕВОЕ СОЕДИНЕНИЕ Документ.ВыводИзОборотаИСМП КАК ВыводИзОборота | ПО ВыводИзОборота.СРС_ПередачаТовара = Передача.Ссылка |ГДЕ | Передача.Дата МЕЖДУ &ДатаНач И &ДатаКон | И Передача.Проведен = ИСТИНА | И Передача.СРС_FBO = ЛОЖЬ |УПОРЯДОЧИТЬ ПО | Передача.Дата";
Реквизиты СРС_FBO и СРС_ВыводИзОборота — собственные, добавлены в конфигурацию для целей этой задачи. СРС_FBO отличает обычные передачи от FBS-передач маркетплейсам.
2. Тройная фильтрация
Фильтр 1 — только маркетплейсы. Ищем в наименовании контрагента «Интернет Решения», «Озон», «OZON», «РВБ», «Вайлдберриз», «Wildberries» (регистронезависимо).
Фильтр 2 — наличие штрихкодов упаковок. Если в передаче нет ни одного кода маркировки — выводить нечего.
Фильтр 3 — наличие маркированного товара. Проверяем ВидНоменклатуры.Наименование на вхождение подстроки «маркир». Это универсальный признак: не важно, как назван вид — «Маркированная продукция», «Маркируемые товары» — фильтр сработает.
3. Создание документа ВыводИзОборотаИСМП
1С
Вывод = Документы.ВыводИзОборотаИСМП.СоздатьДокумент();
Вывод.Дата = ТекущаяДатаСеанса();
Вывод.Организация = ДокПередачи.Организация;
Вывод.Ответственный = ПараметрыСеанса.ТекущийПользователь;
Вывод.УдалитьОперация = Перечисления.ВидыОперацийИСМП.ВыводИзОборотаРозничнаяПродажа;
Вывод.ВидПервичногоДокумента = Перечисления.ВидыПервичныхДокументовИСМП.Прочее;
Вывод.ПроизводственныйОбъект = НайтиПодразделениеПоНаименованию("Розница");
Вывод.ДокументОснование = СсылкаПередачи;
Вывод.ДатаПервичногоДокумента = ДокПередачи.Дата;
Вывод.НомерПервичногоДокумента = ДокПередачи.Номер;
Вывод.НаименованиеПервичногоДокумента = "Передача товаров хранителю";
Вывод.Контрагент = ДокПередачи.Контрагент;
Вывод.УдалитьВидПродукции = Перечисления.ВидыПродукцииИС.МоторныеМасла;
Вывод.Комментарий = "Автоматический вывод из оборота по FBS-передаче " + Строка(СсылкаПередачи);
Вывод.СРС_ПередачаТовара = СсылкаПередачи;
Вывод.ТоварнаяГруппа = НайтиТоварнуюГруппуПоНаименованию("Моторные масла");
Вывод.Причина = НайтиПричинуВыводаИзОборота("Розничная продажа");
Важные нюансы:
-
В вашей конфигурации реквизиты
ОперацияиВидПродукциимогут быть помечены какУдалитьОперация/УдалитьВидПродукции— это нормально, обмен с ИС МП всё ещё их использует. Проверьте в конфигураторе актуальные имена. -
Ответственныйберём изПараметрыСеанса.ТекущийПользователь— это стандартный способ, не требующий серверного вызова. -
ТоварнаяГруппаиПричина— новые реквизиты в свежих релизах 1С:КА. Если их нет в вашей конфигурации — просто уберите эти строки. -
Для универсальности все справочные значения ищутся по имени с fallback на поиск по вхождению (см. ниже).
4. Заполнение товаров
Для каждой номенклатуры собираем данные из кодов маркировки (GTIN, серия) и из товаров передачи (цена, сумма):
1С
НоваяСтрока = Вывод.Товары.Добавить(); НоваяСтрока.Номенклатура = Номенклатура; НоваяСтрока.Количество = ОбщееКоличество; НоваяСтрока.КоличествоУпаковок = ОбщееКоличество; НоваяСтрока.КоличествоПотребительскихУпаковок = 0; // Важно: 0, не количество! НоваяСтрока.GTIN = GTIN; НоваяСтрока.Цена = Данные.Цена; НоваяСтрока.Сумма = Данные.Сумма; НоваяСтрока.СуммаСНДС = Данные.Сумма; НоваяСтрока.СуммаНДС = Окр((Данные.Сумма * 22) / 122, 2); НоваяСтрока.Серия = Данные.Серия; НоваяСтрока.СтатусУказанияСерий = 14; // 14 = серия указана НоваяСтрока.СтавкаНДС = НоменклатураОбъект.СтавкаНДС;
Обратите внимание на КоличествоПотребительскихУпаковок = 0. Если поставить туда количество, ГИС МТ отклонит документ: для вывода из оборота в розницу это поле должно быть пустым.
5. GTIN: где брать и как нормализовать
GTIN можно получить из двух источников:
-
Из регистра
РегистрСведений.ШтрихкодыНоменклатурыпо отборуСРС_ЭтоGTIN = Истина. -
Из реквизита номенклатуры
КиЗГИСМGTIN, если в регистре пусто.
Важный момент: GTIN в ГИС МТ должен быть длиной 14 цифр. Если в базе хранится 13-значный (без ведущего нуля) — добавляем его:
1С
Если ЗначениеЗаполнено(GTIN) И СтрДлина(GTIN) = 13 Тогда
GTIN = "0" + GTIN;
КонецЕсли;
Без этой нормализации ГИС МТ вернёт ошибку несоответствия GTIN.
6. Коды маркировки
Табличная часть ШтрихкодыУпаковок заполняется кодами из передачи:
1С
Для каждого СтрокаКода Из Коды Цикл
НоваяСтрокаКода = Вывод.ШтрихкодыУпаковок.Добавить();
НоваяСтрокаКода.ШтрихкодУпаковки = СтрокаКода.ШтрихкодУпаковки;
НоваяСтрокаКода.ЧастичноеВыбытиеКоличество = 1;
КонецЦикла;
7. Постановка в очередь ИС МП
После проведения документа вызываем ПодготовитьКПередаче:
1С
ПараметрыДокумента = Новый Структура;
ПараметрыДокумента.Вставить("Ссылка", Вывод.Ссылка);
ПараметрыДокумента.Вставить("Документ", Вывод.Ссылка);
ПараметрыДокумента.Вставить("Операция", Вывод.УдалитьОперация);
ПараметрыДокумента.Вставить("УдалитьОперация", Вывод.УдалитьОперация);
ПараметрыДокумента.Вставить("Организация", Вывод.Организация);
ПараметрыДокумента.Вставить("ВидПродукции", Вывод.УдалитьВидПродукции);
ПараметрыДокумента.Вставить("УдалитьВидПродукции", Вывод.УдалитьВидПродукции);
ПараметрыДокумента.Вставить("ДальнейшееДействие",
Перечисления.ДальнейшиеДействияПоВзаимодействиюИСМП.ПередайтеДанные);
ВходящиеДанные = Новый Массив;
ВходящиеДанные.Добавить(ПараметрыДокумента);
РезультатОбмена = ОбменДаннымиИСМПВызовСервера.ПодготовитьКПередаче(ВходящиеДанные);
Обратите внимание: ключи структуры продублированы ("Операция" и "УдалитьОперация"). Это сделано намеренно — в разных релизах 1С:КА процедура ПодготовитьКПередаче ожидает разные имена. Дублирование избавляет от необходимости угадывать. Если хотите чистое решение — откройте модуль ОбменДаннымиИСМПВызовСервера и посмотрите, какие поля она читает на самом деле.
8. Универсальный поиск в справочниках
Функции НайтиПодразделениеПоНаименованию, НайтиТоварнуюГруппуПоНаименованию, НайтиПричинуВыводаИзОборота устроены одинаково: сначала точный поиск по Наименование = &Наименование, если не найдено — поиск по вхождению через ПОДОБНО "%...%". Это позволяет не привязываться к точным названиям в базе.
Исправление ранее созданных выводов
Команда «Исправить» находит старый вывод по передаче, создаёт новый, а старый:
-
пометкой на удаление, если он не отправлен в ГИС МТ (
ИдентификаторЗаявкипуст); -
или комментарием
ИСПРАВЛЕН: <дата>. Новый вывод: <ссылка>, если уже отправлен — удалять отправленный документ нельзя.
После этого ссылка в передаче обновляется на новую.
Работа с сертификатом ЭП
Для фактической отправки в ГИС МТ требуется сертификат электронной подписи организации, установленный в «КриптоПро CSP» и привязанный к пользователю в настройках 1С. Без сертификата команда «Действия → Передать данные» выдаст сообщение:
В информационной базе для пользователя <ФИО> не найдено зарегистрированных сертификатов электронной подписи, связанных с организацией <Организация>.
Установите сертификат и привяжите его через Администрирование → Настройки ЭП.
Массовая отправка из списка
С версии, где появилась команда «Передать данные» в форме списка ВыводИзОборотаИСМП, отправку можно делать массово:
-
Откройте список
Вывод из оборота. -
Выделите документы в статусе «Черновик» (можно все сразу).
-
Действия → Передать данные.
-
Дождитесь ответа от ГИС МТ — статус изменится на «Коды маркировки выведены из оборота».
Это избавляет от необходимости открывать каждый документ отдельно.
Результаты
На тестовом периоде (одни сутки, 3 271 документ передачи) обработка:
-
нашла 171 FBS-передачу маркетплейса с маркированными товарами;
-
пропустила 8 не-маркетплейсов и 3 092 передачи без штрихкодов;
-
создала и провела 171 документ
ВыводИзОборотаИСМП; -
все документы успешно поставлены в очередь отправки ИС МП.
Ручная работа, занимавшая несколько часов, сократилась до одного нажатия кнопки.
Возможные доработки
-
Расширение списка маркетплейсов — сейчас фильтр по Ozon и WB, можно добавить Яндекс.Маркет, СберМегаМаркет и др.
-
Настройка соответствия «контрагент → товарная группа» — сейчас товарная группа зашита как «Моторные масла», для мультигрупповой базы нужен справочник соответствий.
-
Автозапуск по расписанию — регламентным заданием раз в сутки, чтобы исключить ручное нажатие «Вывести».
-
Логирование в регистр сведений — вместо
Сообщить()для аудита массовых операций.
Обработка работает, доработана отправка в ИС МП!
Документ успешно переведен из черновика и поставлен в очередь ИС МП. Документ успешно подготовлен и отправлен в очередь ИС МП.
Это значит, что ОбменДаннымиИСМПВызовСервера.ПодготовитьКПередаче выполнился успешно и документ поставлен в очередь на отправку. То есть ваш код делает всё правильно.
Почему в статусе всё ещё «Черновик»
На скриншоте документа 00КА-004152 статус — «Черновик, передайте данные». Это не ошибка вашего кода. Логика работы обмена с ИС МП такая:
-
Постановка в очередь — ваш код это и делает (ПодготовитьКПередаче). После этого документ попадает в очередь отправки.
-
Фактическая отправка — должна выполняться отдельным регламентным заданием или вручную, через рабочее место «Обмен с ИС МП».
Товарная группа и причина заполняется

Все марки зеленые!

Вот пример

Как все отправить в Честный Знак?
Заходим в продажи — Маркировка честный знак,

Нажимаем гиперссылку «Отработайте» — она ведёт в раздел, где хранятся ответы от ГИС МТ по отправленным документам. Сейчас там накопилось 421 документ, которые ждут вашего действия.
Что находится в разделе «Отработайте»
Это не «очередь на отправку», а входящая очередь ответов. Когда вы отправляете документ, ГИС МТ обрабатывает его и присылает результат. Эти результаты попадают в «Отработайте».
Внутри могут быть документы в разных состояниях:
- Успешно зарегистрированные в ГИС МТ — их нужно просто подтвердить.
- Документы с ошибками от Честного Знака — их нужно исправить и отправить повторно.
- Документы, требующие уточнения — например, если ГИС МТ не нашёл какие-то коды.
Инструкция по работе с «Отработайте»
Вот пошаговая последовательность действий:
- Откройте список. Кликните по ссылке «отработайте (421)» напротив строки «Вывод из оборота» — откроется форма со списком документов, ожидающих вашего действия.
-
Согласно документации 1С, после оформления документа Вывод из оборота ИС МП необходимо «передать данные в ИС МП по одноименной ссылке» . Это и есть действие, которое меняет статус.
-
Выделите документы и нажмите «Передать данные » как показано на следующем скрине

🔍 Что это за ссылка «Передайте данные»
Это гиперссылка прямо в документе (в шапке или в списке), по которой нужно кликнуть, чтобы отправить данные в ГИС МТ. После успешной обработки статус документа автоматически меняется:
-
Для вывода из оборота — на «Коды маркировки выведены из оборота» .
-
📝 Пошаговая инструкция
-
Откройте список Вывод из оборота (закладка «Оформлено»).
-
Выделите нужные документы (можно несколько сразу).
-
Нажмите «Действия → Передать данные» (как на вашем скриншоте).
-
Дождитесь ответа от ИС МП. Статус изменится с «Черновик» на «Коды маркировки выведены из оборота» (или появится ошибка, если что-то не так).
Если сообщение внизу формы:
«В информационной базе для пользователя Космачев Сергей не найдено зарегистрированных сертификатов электронной подписи, связанных с организацией ООО «АВС ЦЕНТР»»
В чём причина
Для отправки документов в ГИС МТ (Честный Знак) требуется электронная подпись (ЭП), зарегистрированная для организации. Именно это и блокирует команду «Передать данные» — 1С не может подписать документ, потому что не видит подходящего сертификата.
Это не ошибка вашего кода. Это инфраструктурная проблема: не настроены сертификаты ЭП для работы с ИС МП. Ровно поэтому же документы остаются в статусе «Черновик» — механизм обмена не может их подписать и отправить.
Что нужно сделать (это задача не программиста, а администратора/бухгалтера)
1. Установить сертификат ЭП
Нужен сертификат электронной подписи для организации ООО «АВС ЦЕНТР». Как правило, для Честного Знака используется УКЭП (усиленная квалифицированная электронная подпись), выпущенная аккредитованным удостоверяющим центром.
Что нужно:
-
Получить сертификат в УЦ (например, через личный кабинет Честного Знака или у оператора ЭДО).
-
Установить его на компьютер через «1С:КриптоПро» или «КриптоПро CSP».
-
Убедиться, что сертификат виден в 1С — в разделе Администрирование → Сертификаты электронной подписи (или Настройки ЭП).
2. Привязать сертификат к пользователю и организации
После установки:
-
Откройте Администрирование → Настройки ЭП и шифрования (или аналогичный раздел).
-
Найдите сертификат в списке.
-
Нажмите «Настроить» / «Привязать» и укажите:
-
Организацию — ООО «АВС ЦЕНТР».
-
Пользователя — Космачев Сергей (или того, кто будет отправлять).
-
-
Сохраните.
3. Проверить, что программа видит сертификат
После настройки сообщение внизу формы должно исчезнуть. Тогда команда «Действия → Передать данные» сработает, и статус документов изменится с «Черновик» на «К выводу из оборота» → далее на «Коды маркировки выведены из оборота».
4. Проверить настройки обмена с ИС МП
Также проверьте Администрирование → Обмен с ИС МП:
-
Указана ли организация и её ИНН.
-
Заполнены ли реквизиты для подключения к Честному Знаку.
-
Настроено ли регламентное задание для автоматического обмена.
Заключение
Обработка решает конкретную боль — автоматизацию вывода из оборота FBS-передач маркетплейсов. Она не заменяет штатный механизм обмена с ИС МП, а лишь готовит документы и ставит их в очередь — всё остальное делает типовой функционал 1С:КА. Такой подход безопасен: если что-то пойдёт не так, всегда можно откатить пометкой на удаление и пересоздать.
Код обработки доступен в приложении к статье. Если у вас другая конфигурация (ERP, УТ) — потребуется минимальная адаптация имён реквизитов, но общая логика остаётся неизменной.
Проверено на следующих конфигурациях и релизах:
- 1С:Комплексная автоматизация 2, релизы 2.5.27.75
Вступайте в нашу телеграмм-группу Инфостарт