Цель
После инвентаризации все излишки и недостачи перенесены на определенный виртуальный склад. Необходимо написать обработку, которая по каталожному номеру и цене закупки из излишков и недостач подберет эти позиции в документ Пересортица товаров для того, чтобы «схлопнуть» их. Учет по характеристикам – не ведется
Реализация
УТ 11, ред.
На форме обработки необходимо указать:
- Склад – склад, на котором необходимо произвести все действия.
- Мин. длина артикула – число
- Мах процент отклонения цены
Табличная часть
- Номенклатура списываемая
- Номенклатура приходуемая
- Количество
По кнопке «Проанализировать пересортицу» необходимо табличную часть заполнить подобранным пересортом. Для этого надо найти все положительные остатки и каждой позиции попробовать подобрать позиции с отрицательными остатками.
Алгоритм следующий:
Берем позицию и начинаем откусывать от артикула с правой его стороны по символу. После каждого откусывания ищем, есть ли среди недостающих позиций позиции с таким же фрагментом артикула (первая итерация должна пройти без откусывания символа артикула). Если нашли, то в таблице фиксирует в таблице строку с пересортом. Если недостачи меньше чем остаток излишка, то записываем в таблицу пересорт и остаток излишков продолжаем дальше распределять «откусывая» артикул дальше. Если после «Откусывания» находим несколько подходящих позиций, то сортируем их по наиболее подходящей цене закупки по сравнению с той позицией, которая в излишке. Стоимость закупки берем из документов поступления (самый последний приход позиции).
При подборе необходимо учесть, что если недостачу мы уже сопоставили с каким то излишком, то при дальнейшем подборе недостач и излишков эту позицию недостачи необходимо учесть.
По кнопке «Создать документ пересорта» должен создаться документ и заполниться его табличная часть.