Очистить регистр 1
Когда на складе накопились сотни и тысячи позиций Р1 (часто крепкий алкоголь, не пиво) и их нужно списать все, вручную это нереально. Две отдельные кнопки:
- Очистить зал по существующим маркам — проход по уже известным (часто старым) маркам, без запроса Р3. После ответа по справке Б все свободные марки уходят в УТМ скопом: один акт = одна марка (Quantity = 1 шт). Квитанции принимаем параллельно. Живая марка спишется; «не найден» / «необеспеченный расход» — помечаем мёртвой. Строки без марок пропускаются. Когда свои кончатся — вторая кнопка.
- Очистить с запросом марок — для каждой справки Б: если марок нет, уходит
QueryRestBCode(ЕГАИС принимает один запрос по справке Б раз в 30 минут). Ответ Р3 — все марки, когда‑либо связанные со справкой Б, в том числе уже проданные («не найден в системе»). Как марки пришли — сразу все акты списания с Р1 (по одной марке на акт); квитанции Accepted/Rejected разбираем параллельно. Если по ответу Р3 живых не осталось — справку закрываем с ошибкой и идём к следующей Б (повторный Р3 по той же не шлём). К ней снова — только после Обновить остатки и нового запуска очистки. Для фасованного (Packed) Quantity = 1 шт на акт; для разливного (Unpacked) — декалитры.
- Вкладка Остатки → Обновить остатки → дождитесь ответа по Р1 (колонка Р1 не пустая, у строк есть справка Б).
- Агент УТМ должен быть онлайн на ПК с УТМ — задача идёт часами и сутками, вкладку браузера можно закрыть.
- Выберите нужную кнопку и подтвердите. Причина акта: «Недостача».
- Над таблицей появляется панель прогресса: сколько справок всего, с марками, списано, ошибок, текущий шаг и пауза до следующей справки.
- Прервать — новые акты и запросы марок не уходят. Уже стоящие в УТМ акты агент досылает, квитанции Accepted подтягиваются в счётчик «списано». Когда «в УТМ» станет 0 — Обновить остатки (если лимит 48 ч позволяет) и снова Очистить зал по существующим маркам или Очистить с запросом марок. Не нажимайте «Продолжить» / «Повторить ошибки», если хотите начать с свежего Р1.
- Снять задачу — убрать очистку Р1 насовсем. Панель исчезнет, продолжить будет нельзя. Неготовые акты и запросы марок в очереди сбросятся; уже ушедшие в УТМ агент дошлёт. Полная очистка регистра — редкий сценарий, если он больше не нужен — снимайте задачу, не оставляйте на паузе.
- Продолжить — без нового запроса Р1: уже принятые не повторяет, остальные списывает дальше.
- Повторить ошибки — заново шлёт акты по справкам с ошибкой (старый кривой XML и прочие сбои). Принятые ЕГАИС не трогает. Новый запрос остатков не нужен; зависший запрос марок в очереди сбрасывается.
Акты ActWriteOff_v3 не ждут 30 минут — после ответа Р3 все марки справки Б ставятся в УТМ скопом (до 80 актов за тик, по одной марке). Квитанции принимаем параллельно, не дожидаясь конца пачки. Пауза 30 минут только у следующего запроса марок Р3 по другой справке Б. Если ЕГАИС ответил «марка списана» или «не существует», программа помечает её в базе и не гоняет повторно. Счётчик «списано» растёт после Accepted по строке (когда по справке Б всё ушло). Ошибки раскрываются в панели. Акты видны в общем журнале как «Списание (склад Р1)».
Если марки уже импортировали в старом Меркурии (таблица BD_EGAIS_MARKCODE), их не нужно запрашивать заново. Администратор платформы: Настройка → Импорт марок ЕГАИС — CSV из IBExpert (запрос export_bd_egais_markcode.sql). Файл читается в браузере и уходит на сервер пакетами. Пока старая таблица есть в этой же Firebird, программа читает её и так. Справка: Настройка.
Цель — полностью пустой регистр 1. Если накопились ошибки (часто из‑за старого XML), нажмите Повторить ошибки — без нового запроса Р1. После статуса «готово» ещё раз Обновите остатки (когда лимит 48 ч позволит) и проверьте колонку Р1.