Т.к. 1С Розница не понимает, какой конкретный алкокод выбрать для списания, поэтому при проведения отчета о розничной продаже, конфигурация в документ списания подставляет первый связанный с номенклатурой АлкоКод.
Дабы руками не править все документы, была написана обработка.
Что она делает в программе:
1. По выбранному магазину, определяет Организацию ЕГАИС.
2. По данной организации мы ищем последний документ остатков регистра 2.
Если документ отличается по дате от текущей даты, прерываем обработку.
3. Дальше получаем список всех Актов Списания ЕГАИС для выбранного магазина, имеющих статус Ошибка Передачи в ЕГАИС
4. Бежим по табличной части каждого документа, и заменяем алкогольную продукцию на ту, которой хватает по остаткам.
- Сначала выбирается алкокод с наименьшим количеством остатков в рег2, привязанный к данной номенклатуре.
- Если остатка недостаточно, добавляется новая строка в документ списания, и там уже проставляется следующий алкокод с большим остатком.
5. Проставляем документу АктСписанияЕГАИС текущую дату, и статус Черновик.
Протестировано на 1С:Розница 2.2.6.х.