Цитата: Беспечный Ангел ➤ Кто реально проверял продажу части бутылки в минус? Т.е. если мы не знаем остаток в бутылке ( а он реально по данным ЕГАИС 300 мл), а мы пуляем в чеке 400мл. Что будет?
При продаже целой бутылки то мы сразу получим ответ, что или есть эта бутылка за нами или нет. А вот какой ответ будет при частичном выбытии, скажет ли он что "необеспеченный расход" просто в ответе или же скажет на остатке 300мл. ? Ведь до полного нуля бутылка хоть и частично но числится за нами.
Я пробовал, отправлял в ЕГАИС заведомо большие объемы по маркам, которые принадлежат организации и которые не принадлежат :) . При отправке ЧекаВ4 - пишет "Проверка не пройдена: продукция не внесена в поштучный учет (" и далее марка. При отправке Актом пишет "не найден в системе" и далее марку.
Я сделал следующий алгоритм (ПОКА НА РАБОЧЕЙ БАЗЕ ЕЩЁ НЕ ЗАПУСТИЛ, да и на копии тестировал виртуально :) ): перед закрытием чека и коктейли, моноалкашка или всё вместе подбираются марки, собирается по каждой марке объем к списанию в разрезе видов списания (Акт, Чек). Получается таблица. Беру все марки из неё и отправляю на проверку /opt/in/QueryFilter. Если не проходит, то получаем список марок с ошибками. Ошибочные марки отмечаю и заново перестраиваю таблицу, но уже без них. И так делаю до пяти раз, пока проверка не будет успешно пройдена. Если совсем не пройдена - то не пробиваем.
Если проверка пройдена, то это означает, что марки в таблице принадлежат организации, НО там не пишут сколько доступного объема в них есть (так же как и при ошибках).
Далее - отправляю ЧекВ4 (если надо) и/или АктВ4 (если надо). И тут начинается колдовство. Если ЧекВ4 не проходит - возвращается ошибка, которую СРАЗУ можно отловить. Но там пишется только одна косячная марка и без объема :) Я в базе её отмечаю, что пытался по этой марке отправить столько-то мл неудачно. Подобным образом обрабатываю ответ с АктаВ4 (только его муторней получать).
Таким образом имею два ответа. По маркам из удачных ответов в базе фиксирую уменьшение доступного остатка по маркам. По неудачным, пытаюсь ещё разок пройти подбор марок, общую проверку и ещё раз отправить в ЕГАИС. Если ошибка - то не пробиваем.
На днях буду пробовать работать уже с реальными бутылками на копии, а затем и в рабочую базу запущу.