ООО "Рассвет". Преимущество первых

Отменить неисполненные строки заказа на перемещение (тип фоновой операции)

Назначение

Проверяет возможность закрытия заказа на перемещение неликвидов, вносит корректировки и закрывает заказ

Многопоточное

Да

Приоритет

20

Количество попыток

1

Параметры

Заказ на перемещение

Алгоритм

  • Получить первое по дате перемещение, связанное с заказом на перемещение

  • Получить плановую дату закрытия заказа (когда заказ должен быть закрыт)

    • Получить значение константы Период формирования перемещений по заказу на перемещение, рабочих дней

    • Получить значение первого перемещения. Привести дату к первому рабочему дню

    • К дате первого перемещения по заказу прибавить количество рабочих дней из константы

  • Если начало текущего дня больше плановой даты закрытия заказа, тогда выполнить процедуру Отмена неисполненных строк заказа на перемещение

Отмена неисполненных строк заказа на перемещение (процедура)

  • Получить все строки заказа на перемещение

    • Получить группировку строк по характеристике. Для каждой характеристики вычислить:

      • В заказе = сумма всех позиций данной характеристики в заказе

      • Перемещено = количество перемещений данной позиции по заказу (регистр сведений Заказы на перемещение, расход по заказу)

      • Отменено - количество по позиции с признаком отменено

      • К отгрузке = В заказе - (Отменено + Перемещено)

      • Если Количество в строке с товаром <> Перемещено тогда

        • Если (К отгрузке > 0) И (В заказе > К отгрузке) тогда:

          • В строке с товаром указать Количество = Перемещено

          • Добавить строку с этим же товаром и Отменено = Истина, Количество = К отгрузке

        • Если уже есть строка в которой Отменено = Истина и количество < В заказе, тогда

          • Уменьшить неотмененную позицию

          • Увеличить отмененную

  • Провести заказ

  • Закрыть заказ

Дополнительно