Задание очистки записей в наличии для управления складом
Количество запросов, используемых для расчета запасов в наличии, зависит от количества записей в задействованных таблицах. Одним из способов улучшения производительности является уменьшение количества записей, которые должна учитывать база данных.
В этой статье описываются задания очистки записей в наличии, которые удаляют ненужные записи в таблицах InventSum
и WHSInventReserve
. В этих таблицах хранятся сведения "в наличии" для номенклатур, включенных в обработку управления складом. (Эти номенклатуры называются номенклатурами WMS.) Удаление этих записей может значительно повысить производительность при расчетах "в наличии".
Что делает задание очистки
Задание очистки записей в наличии удаляет все записи в таблицах WHSInventReserve
и InventSum
, где все значения полей равны 0 (нулю). Эти записи могут быть удалены, так как они не влияют на информацию "в наличии". Задание удаляет только записи, расположенные под уровнем Местоположение.
Если отрицательные физические запасы разрешены, задание очистки может не суметь удалить все соответствующие записи. Причиной этого ограничения является то, что для задания должно быть разрешен специальный сценарий, в котором у грузоместа есть несколько серийных номеров, и один из этих серийных номеров стал отрицательным. Например, в системе будет нулевое "в наличии" на уровне грузоместа, когда у грузоместа есть +1 шт. серийного номера 1 и –1 шт. серийного номера 2. Для этого специального сценария задание выполнит удаление в ширину, когда оно сначала попытается удалить с нижних уровней.
Планирование и настройка задания очистки
Задание очистки записей "в наличии" доступно в Управление запасами > Периодические задачи > Очистка > Задание очистки записей в наличии для управления складом. Используйте стандартные параметры задания для управления областью и графиком выполнения задания. Кроме того, предоставляются следующие параметры:
- Удалить, если не обновлялось в течение этого количества дней — введите минимальное количество дней ожидания до удаления задания, после чего удаляется запись "в наличии", в которой количество стало равным нулю. Используйте этот параметр, чтобы уменьшить риск удаления записей "в наличии", которые еще используются. Если требуется, чтобы очистка выполнялась как можно скорее, введите 0 (ноль) или оставьте поле пустым.
- Максимальное время выполнения (часы) — введите максимальное время выполнения задания очистки в часах. Если задание не было завершено до окончания этого времени, оно сохранит уже завершенную работу, а затем закроет себя. Эта возможность особенно важна для тех реализаций, в которых используется высокая интенсивность использования запасов. В таких случаях задание должно запускаться в запланированное время, когда загрузка системы минимальная. Если необходимо, чтобы пакетное задание выполнялось до завершения, введите 0 (ноль) или оставьте поле пустым. Этот параметр доступен только в том случае, если для системы включена соответствующая функция.
Хотя задание можно выполнять в обычное рабочее время, рекомендуется его использовать вне рабочего дня. Таким образом можно предотвратить конфликты, которые могут возникать, если пользователь работает с записью, которая также очищается.
Если задание пытается удалить запись для номенклатуры, в то время как эта запись используется другим пользователем, возникает ошибка взаимоблокировки для задания очистки или пользователя.
При выполнении задания его фиксированный размер равен 100. Другими словами, оно попытается подтвердить выполнение один раз для каждых 100 удалений. Однако в связи с тем, что некоторые удаления устанавливаются на основе наборов, в одной и той же проводке могут быть удалены более 100 записей. Таким образом, эскалации блокировки могут случаться.
Возможное воздействие пользователя
Пользователи могут повлиять на то, что задание по очистке записей "в наличии" удаляет все записи для данного уровня (например, уровня грузоместа). В этом случае функции для просмотра того, что запасы ранее были доступны "в наличии" для грузоместа, могут работать не так, как ожидалось, так как соответствующие записи "в наличии" исчезают. Это можно, например, проявляться в следующих ситуациях:
- В пункте Список в наличии, когда пользователь отменяет выбор условия Количество <> 0 или выбирает условие Закрытые проводки в параметрах Отображение аналитик.
- В отчете Физические запасы по складским аналитикам для прошлых периодов, когда пользователь устанавливает параметр По состоянию на дату.
Однако повышение производительности, предоставляемое заданием очистки, должно компенсировать эти небольшие потери в функциональности.
Включение параметра максимального времени выполнения
Параметр Максимальное время выполнения доступен только в том случае, если включена функция Максимальное время выполнения для задания очистки записей запасов в наличии для управления складом. В Supply Chain Management версии 10.0.25 эта функция включена по умолчанию. В Supply Chain Management версии 10.0.32 эта функция обязательна и не может быть отключена. При запуске версии, более старой, чем 10.0.32 fдминистраторы могут включать или выключать эту функцию, выполняя поиск функции Максимальное время выполнения для задания очистки записей запасов в наличии для управления складом в рабочей области Управление функциями.