Показать сообщение отдельно
Старый 15.02.2011, 15:39   #4  
Sergey Petrov is offline
Sergey Petrov
Участник
 
80 / 19 (1) ++
Регистрация: 03.04.2007
Адрес: Saint-Petersburg, Russia
К сожалению, проблема здесь в том, что если мы насильно будем округлять количество упаковок в меньшую сторону, то так или иначе мы будем сталкиваться с проблемой несопоставленного количества в текущей обрабатываемой потребности.

Прошу поправить, если мои представления не верны. Буду очень признателен.

Итак, насколько я понимаю, суть алгоритма покрытия потребности состоит в следующем: система определяет текущую потребность и пытается сопоставить её с покрытием, производя для этого поиск существующего на данный момент источника покрытия как вперёд по датам (отрицательные дни, т.е. количество дней в будущем, где могут быть найдены ресурсы для покрытия данной потребности), так и назад (положительные дни, т.е. количество дней в прошлом, где могут быть найдены ресурсы для покрытия данной потребности). Нашла - всё здорово.
Не нашла - начинаем создавать покрытие для данной потребности. Его количество включает в себя: а) обязательно величину самой потребности (непокрытая текущая потребность) и б) потребности (непокрытые) за предстоящий период (период покрытия).
После этого в стандартной реализации система округляет вычисленное количество с учётом кратности упаковок. При этом, округление всегда ведётся в бОльшую сторону, то есть мы никогда не получаем ситуации, когда какая-то потребность останется непокрытой (не сопоставленной с соответствующим покрытием).

Теперь, если на этом этапе включить округление покрытия в меньшую сторону, то возможны ситуации, а) когда накопленная сумма потребностей будет меньше необходимой доли упаковки и покрытие вообще не будет создано, б) когда количество в созданном покрытии (после его округления в меньшую сторону) станет меньше, чем сама текущая потребность.
В этих случаях мы получим ситуацию, когда текущая потребность останется непокрытой (частично покрытой), и в дальнейшем к её покрытию, то есть сопоставлению непокрытого остатка с чем-то, система не возвращается. Она обрабатывает следующие потребности.

Вопросы в следующем:
1. Можно ли реализовать сопоставление Спланированных заказов из будущего с потребностями из прошлого? В оригинальной системе этого нет. И к чему это может привести?
2. Что будет, если мы какую-то часть потребностей оставим вообще без покрытия (такие потребности будут в самом конце, когда новый Спланированный заказ уже система не создаст)?
__________________
MS Dynamics AX 2009

Kernel 5.0.1600.4110
Application 5.0.1500.6491