В обороте у владельца, а на складе продать нельзя: как свести коды маркировки с 1С

17.09.26

Учетные задачи - Оптовая торговля

С 1 сентября 2026 года штраф за продажу товара с проблемным кодом маркировки начисляется автоматически, по данным ГИС МТ, без выездной проверки. А типовая 1С проверяет код только в момент, когда его трогают документом. Разбираю, где в учётной системе физически лежит код, почему остаток по коду приходится вычислять движением документов, как на самом деле устроена выдача списка кодов из True API и на чём ломаются обходные пути. Числа с одного прогона: сколько кодов на складе уже нельзя продать и почему их не видно до инвентаризации.

Двадцать тысяч рублей за одну упаковку. Столько с 1 сентября 2026 года стоит продать товар, код маркировки которого числится в Честном Знаке выведенным из оборота. И начисляют этот штраф теперь без выездной проверки, по данным ГИС МТ: система видит расхождение и выставляет постановление в личный кабинет.

Неприятность в том, что склад об этом коде ничего плохого не думает. Он лежит на остатке, кассир пробивает его как обычный товар, документ проводится. А в Честном Знаке этот же код уже месяц как выбыл: его списал другой документ, который в базу не попал, или он ушёл возвратом, который провели задним числом и забыли. Между тем, что лежит на складе в 1С, и тем, что числится за вами в ГИС МТ, набегает разница, и растёт она молча.

Эта статья про то, где в учётной системе на самом деле живёт код маркировки, почему остаток по нему приходится вычислять руками, и как свести список из Честного Знака с тем, что реально лежит на складе. В конце скажу, чем я это считал.

Что изменилось 1 сентября 2026 года

До этого лета за нарушения с маркировкой штрафовали по классической схеме: приходит проверка, смотрит, составляет протокол. Редко и точечно. Федеральный закон от 2 мая 2026 года поменял механику: теперь оператор ГИС МТ сам сопоставляет данные и передаёт сведения о нарушении, а штраф выставляется по факту расхождения в системе. Продали единицу товара с кодом, который в обороте не значится, и система это увидела? Постановление придёт само.

Это переносит вес с "вдруг проверят" на "видно всегда". Раньше проблемный код на остатке был спящей миной, которая могла и не сработать. Теперь она на виду у системы постоянно, и вопрос только в том, когда вы продадите то, что продавать нельзя.

Маркировка тут не одна такая. Государство переводит на автоматическую сверку по своим реестрам всю розницу разом: тем же курсом идёт закон о платформенной экономике, где сертификат соответствия становится частью карточки товара на маркетплейсе и проверяется без участия человека. Логика одна: данные в учётной системе продавца должны совпадать с тем, что о нём знает государственный реестр. Коды маркировки просто первыми дошли до автоматического штрафа.

Практический вывод простой: узнать про такие коды надо до того, как их пробьёт касса, и точно до того, как придёт штраф.

Типовая проверяет код в тот момент, когда его трогают

Первое, что приходит в голову: наверняка типовая 1С это уже умеет. И да, и нет.

Типовая проверяет код разрешительного режима в момент операции: при пробитии чека касса спрашивает у системы, можно ли продавать эту единицу, и результат складывает в регистр проверок. При приёмке сверяет коды по электронному документу. Всё это работает, когда с кодом что-то делают: продают, принимают, списывают.

Слепое пятно ровно там, где кода никто не трогает. Лежит упаковка на дальней полке полгода. Никто её не продаёт, не перемещает, не списывает. Касса про неё не спрашивает, потому что её не пробивают. А в Честном Знаке за это время код мог выбыть, сменить владельца или у него истёк срок. Типовая узнает об этом только в ту секунду, когда товар наконец возьмут в руки и попробуют продать. То есть ровно тогда, когда уже поздно.

Контроль в момент операции и контроль остатка это разные задачи. Первую типовая закрывает, вторую нет.

Остатка по коду в базе просто нет

Тут начинается самое интересное. Казалось бы, чтобы посчитать, какие коды сейчас на складе, нужно открыть регистр остатков по кодам маркировки и прочитать его. Такого регистра в конфигурации нет.

Я перебрал все регистры накопления в типовой Управлении торговлей и не нашёл ни одного с измерением по коду маркировки. Остатки товаров есть, партии есть, серии есть, а по конкретной упаковке с её кодом остатка не ведётся. Код живёт в справочнике штрихкодов упаковок и привязан к документам через табличную часть. То есть код это не то, по чему считают остаток, а то, что прикрепили к строке документа.

Где в УТ 11.5 лежит код маркировки и почему остаток приходится считать движением документов

Из этого следует неприятная вещь. Чтобы узнать, лежит ли конкретный код на складе сейчас, надо пройти все документы, которые этот код двигали, разложить их по времени и посмотреть, каким было последнее движение. Пришло приходом и с тех пор ничего? Значит, на остатке. Ушло реализацией? Значит, нет. Никакой запрос к регистру этого не даёт, потому что регистра нет. Остаток по коду приходится собирать движением документов, и это и есть то новое знание, которого ни один типовой отчёт не выдаёт готовым.

Практический вывод: если кто-то обещает "остаток кодов маркировки одним запросом", спросите, откуда он его берёт. Штатно взять его неоткуда.

Отчёт "Список КИ на балансе" не сравнивает ничего

Есть в типовой документ, который тянет из Честного Знака список кодов на балансе участника. Выглядит как решение: вот же он, список из ГИС МТ прямо в 1С. Я прочитал, как он устроен, и оказалось, что он забирает данные из системы, раскладывает их в таблицу и на этом останавливается. С остатком 1С он не сопоставляет ничего. Это выгрузка, а не сверка.

Разница принципиальная. Список из Честного Знака отвечает на вопрос "что числится за мной у оператора". Остаток по документам отвечает на вопрос "что реально лежит у меня на складе". Проблема живёт между этими двумя ответами, а типовая их рядом не кладёт. Каждый список сам по себе есть, а вычитания одного из другого нет.

Что на самом деле отдаёт True API

Раз готового ответа нет, список кодов из Честного Знака придётся забирать самому, через True API. И тут ждёт несколько сюрпризов, на которых спотыкаются почти все, кто это делал.

Список кодов владельца отдаёт метод cises/search. Фильтровать выдачу по статусу через поле status бесполезно: сервис его молча игнорирует. Работает только массив states с явным перечислением состояний. Пагинация тоже не такая, как ждёшь: параметры limit, page и offset игнорируются, листать надо курсором по дате эмиссии и коду последней записи предыдущей страницы. Счётчика "всего найдено" в ответе нет вовсе, поэтому заранее не узнать, сколько страниц придётся забрать.

Почему чужие обработки упираются в лимит 10 000 и как курсорная пагинация обходит его

Именно на пагинации ломаются готовые обработки с полки. Под их карточками один и тот же крик из комментариев: "превышен максимально допустимый результат 10000" и "превышен лимит попыток". Первое это попытка забрать большой список без курсора, упираясь в потолок метода. Второе это отсутствие пауз между запросами: сервис отвечает отказом на слишком частые обращения, и без выдержки прогон захлёбывается на первой же тысяче кодов.

Практический вывод: список из Честного Знака берётся курсором, страницами, с паузой между запросами. Без этого он берётся только на маленькой базе, а на настоящей рассыпается.

Три гипотезы, которые не подтвердились

Пока разбирался с API, три очевидных пути завели в тупик. Пишу их, потому что каждый выглядит правильным, и на проверку каждого уходит время.

Первая. Есть метод warehouse/balance, буквально "остаток склада". Название обещает ровно то, что нужно. Я его вызвал, он ответил успехом и пустым массивом. Оказалось, это остаток склада на стороне самой ГИС МТ, к остатку в 1С отношения не имеющий. Для сверки не годится совсем, хотя выглядит главным кандидатом.

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

Третья дороже двух первых, и она из области отладки, документация тут ни при чём. Ключ сессии, переданный сервису структурой вместо строки даёт ошибку "токен не действителен". Ровно тот же текст приходит на протухший ключ. То есть по сообщению не отличить, у тебя ключ испортился или ты его неправильно упаковал. На выяснение этого ушло два прогона, и обиднее всего, что виноват тот, кто сделал одинаковый текст ошибки на две разные причины.

Семнадцать тысяч кодов за минуту, ни одного отказа

Когда пагинация и паузы встали на место, полный список кодов участника на тестовом стенде забрался за минуту с небольшим: около семнадцати тысяч кодов, два десятка страниц, ни одного отказа по лимиту. Это тот самый порог, на котором чужие обработки пишут "превышен результат": курсор его не замечает, потому что не просит у сервиса больше, чем тот готов отдать за раз.

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

Четыре способа двум спискам разойтись

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

Четыре способа двум спискам разойтись и что каждый физически означает

Код есть на остатке 1С, но Честный Знак его за вами не числит. Самый тяжёлый случай: по документам товар у вас, а система его не видит. Обычно код выбыл операцией, которая в базу не попала.

Код в обороте у владельца, а в 1С на остатке его нет. Зеркальная ситуация: система считает, что товар у вас, а по документам его уже отгрузили или он вообще не оприходован.

Код и там, и там, но статусы разные. В 1С он на остатке, а в ГИС МТ уже выведен из оборота. Продавать такой нельзя, хотя на складе он числится живым.

Код числится за другим участником. Он у вас на остатке, но владелец в системе чужой. Продать его вы не имеете права.

Три из этих четырёх типов невидимы до инвентаризации, потому что с кодом ничего не делают, и типовая молчит. Расхождение это не ошибка программы, а свойство предметной области: списки ведут два разных механизма, и они неизбежно расходятся. Вопрос не в том, есть ли расхождение, а в том, знаете ли вы про него до продажи.

Чего эти числа не говорят

Честности ради, о границах. Остаток по коду считается по последнему проведённому движению, без разреза по складам. Перемещения между складами и внутренняя пересортица направление кода не меняют: для сверки с Честным Знаком важно, у вас код или нет; на какой он полке, для этого не важно. Для складского учёта этого мало, для аудита достаточно.

Корректировки приобретения и реализации в первой версии направление не меняют тоже, и это честно видно: обработка перечисляет документы, чьё направление она не смогла определить, отдельным списком. Если в вашей базе коды активно ходят корректировками, остаток по ним будет неполным, и вы это увидите сразу, ещё до штрафа.

И главное. Сумма потенциального риска в рублях это оценка по ставкам, а не начисленный штраф. Автоматика ловит не всё, и цифру риска надо читать как повод разобраться, но ещё не как счёт к оплате. Аудит показывает, где смотреть, а решение остаётся за человеком.

Чем я это считал

Всё, что выше, я собрал в одну внешнюю обработку - Первичный аудит маркировки. Она берёт список кодов у владельца в Честном Знаке, считает остаток по коду из документов 1С, сводит два списка и показывает по каждому товару, сколько кодов уже нельзя продать и почему. Токен берёт из типовых настроек обмена, в ГИС МТ ничего не пишет.

Остался вопрос, на который у меня нет однозначного ответа. Остаток по коду я считаю по последнему проведённому движению, и перемещения с пересортицей в расчёт не беру. На складе с активной пересортицей это может врать. Как вы считаете остаток по коду, если у вас коды часто ходят между складами? Любопытно свериться подходами.

Другие наши инструменты

Вступайте в нашу телеграмм-группу Инфостарт

коды маркировки в 1С остаток кодов маркировки сверка с Честным Знаком ГИС МТ True API cises search штраф за маркировку 2026 120-ФЗ аудит кодов маркировки поэкземплярный учет ШтрихкодыУпаковок УТ 11.5

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

Обмен с ГосИС Бюджетный учет Регламентированный учет и отчетность Бухгалтер Пользователь 1С:Предприятие 8 1С:Бухгалтерия 3.0 1С:Управление холдингом Химическая промышленность Государственные, бюджетные структуры Электротехника и микроэлектроника Машиностроение и приборостроение Металлургическая промышленность Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Автоматизация раздельного учета в 1С:Бухгалтерии по ГОЗ в соответствии с 275-ФЗ. Готовое решение для учета госконтрактов, формирования отчетности и контроля исполнения. Поддержка военной приемки, НИОКР и требований Минпромторга. Профессиональный консалтинг и регулярные обновления продукта

40000 руб.

28.08.2020    568585    4023    145    

1484

Бюджетный учет Обмен с ГосИС Бухгалтер 1С:Предприятие 8 1С:Бухгалтерия 3.0 Государственные, бюджетные структуры Россия Бухгалтерский учет Платные (руб)

Доработка конфигурации 1С:Бухгалтерия предприятия, редакция 3.0. реализована в виде расширения. Предназначена для ведения раздельного учета и автоматизации заполнения отчетности исполнения контрактов ГОЗ в конфигурациях 1С БП КОРП, ПРОФ, Базовая, БИТ.ФИНАНС.

62220 руб.

16.08.2019    107278    332    97    

187

Оптовая торговля Розничная торговля Обмен с ГосИС Бухгалтер 1С:Предприятие 8 1С:Управление торговлей 10 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Рестораны, кафе и фаст-фуд Россия Бухгалтерский учет Управленческий учет Акцизы Платные (руб)

Автоматизация учета ЕГАИС в 1С для оптовой торговли, производства и импорта алкогольной продукции. Получение и отправка ТТН, отправка акта о постановке на баланс и акта о списании. Получение остатков. Загрузка и сопоставление номенклатуры и контрагентов. Оправка в ЕГАИС отчетов о производстве и импорте.

1091 руб.

15.12.2015    187546    1390    374    

421

Оптовая торговля Розничная торговля Обмен с ГосИС Разработчик Бухгалтер Пользователь 1С:Предприятие 8 1C:Бухгалтерия Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Россия Бухгалтерский учет Управленческий учет Платные (руб)

Решение создано для помощи разработчикам, интеграторам и другим заинтересованным лицам по настройке системы маркировки обуви, одежды, лекарств, табака, фото, молока, духов(парфюма), питьевой воды, велосипедов и шин. Задавайте вопросы по работе с ЦРПТ, GS1, ЭДО, Национальным каталогом, накоплен опыт и знания по данным темам.

20900 руб.

18.03.2019    126978    90    115    

208

Оптовая торговля Розничная торговля НДС 22% 1С 8.3 1С:Управление торговлей 10 Россия Платные (руб)

Пакет обновлений и продолжения поддержки Управление торговлей, редакция 10.3.- обновление которое предоставляет пользователям новые функции, исправления ошибок и т.д.

14640 руб.

19.12.2025    10536    92    76    

86

Перенос данных 1C Взаиморасчеты Оптовая торговля Логистика, склад и ТМЦ Файловый обмен (TXT, XML, DBF), FTP Системный администратор Разработчик 1С:Предприятие 8 1С:Управление торговлей 10 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Управленческий учет Платные (руб)

Можно проверить до покупки, оставьте заявку! Воспользовались более 268 компаний! Перенос данных из УТ 10.3 в УТ 11 | из УТ 10.3 в КА 2 | из УТ 10.3 в ERP. Решение для перехода с УТ 10.3. Можно перенести начальные остатки, нормативно-справочную информацию и все возможные документы. При выгрузке можно установить отбор по периоду, организациям и складам.

50200 руб.

24.04.2015    210082    180    253    

299

Обмен с ГосИС 1С:Предприятие 8 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Оптовая торговля, дистрибуция, логистика Пищевая промышленность Россия Бухгалтерский учет Платные (руб)

Модуль подходит для производителей и импортеров упакованной воды, молочной продукции, соковой продукции, пива и пивных напитков, безалкогольных напитков, морепродуктов, кормов для домашних животных, антисептики (список поддерживаемых товарных групп постоянно дополняется). Для оптовиков и розницы можно работать с любыми товарными группами по ЭДО.

45000 руб.

25.10.2024    7679    18    0    

18
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. G_115325514616309797056 18.09.26 12:30 Сейчас в теме
Код есть на остатке 1С, но Честный Знак его за вами не числит. Самый тяжёлый случай: по документам товар у вас, а система его не видит. Обычно код выбыл операцией, которая в базу не попала.

Пример операции,которая не попала в базу?
2. nedomolkov.ivan 241 20.09.26 07:27 Сейчас в теме
( 1 ) Чаще всего касса. Чек с кодом уходит в ЧЗ через ОФД сразу, а в базу документ едет обменом. Обмен упал, чек перепровели, документ пометили на удаление - и в ГИС МТ код выбыл, а в 1С лежит.

Второе - руками в личном кабинете ЧЗ: списание на порчу, утерю, собственные нужды. Туда же возврат поставщику, подписанный в веб-кабинете ЭДО мимо 1С.

Общее одно: код выбыл там, где 1С не участвовала.
Для отправки сообщения требуется регистрация/авторизация