Показать сообщение отдельно
Старый 27.04.2012, 12:39   #5  
oip is offline
oip
Axapta
Лучший по профессии 2014
 
2,564 / 1416 (53) ++++++++
Регистрация: 28.11.2005
Записей в блоге: 1
Цитата:
Сообщение от lev Посмотреть сообщение
Жалко что не на русском так не охото тратить время на перевод
Вообще странно, что у разработчиков есть проблемы с чтением технических текстов на английском (как вообще работать, почти вся полезная информация же на нем?), но поскольку статья полезная, можно для будущих поколений попробовать совместно перевети ее на русский. Все я сейчас не осилю, но могу начать. Вот первые 10%. Переводилось бегло, местами коряво, но всяко лучше автоматического перевода. Кто-нибудь продолжит? Еще девять добровольцев, каждый по одной вордовской страничке, и все будет переведено.

Цитата:
fed: Обновление чистых потребностей в модуле MRP и Working Set* в MRP

*термин "Working Set" я не перевожу, данный термин ввел fed непосредственно в статья, и в ней же объясняется его значение.

О таблице inventSumLogTTS слышало большинство специалистов Dynamics AX (особенно работающих на поддержке). И все знают, что данная таблица как-то связана с MRP и что если не запускать MRP, то таблица inventSumLogTTS будет становиться все больше и больше, так что, в конце концов, ее каким-либо образом придется чистить. Но из-за того, что для алгоритмов обновления статических и динамических планов подробной документации нет, очень немногие специалисты действительно понимают то, как на самом деле используется данная таблица при обновлении планов, каковы преимущества и какие есть нюансы использования динамических и статических планов, чем развертывание заказов отличается от планирования с пересозданием и пр.

Я написал данный текст в основном по своей работе с Dynamics AX 2009, но в новой версии (DAX2012) подход остался с функциональной точки зрения таким же, изменились только технические детали, поэтому текст может быть полезен и для специалистов, использующих DAX2012.

Исторический экскурс

Как я уже писал в своем блоге, таблица inventSumLogTTS появилась где-то в последних релизах Axapta 2.5 исключительно для отслеживания изменений в таблице inventSum в отдельной транзакции на уровне БД. И в случае если основная транзакция откатывалась, система должна была пробежаться по соответствующим записям в таблице inventSumLogTTS и программно откатить изменения в inventSum. Начиная с версии Axapta 3.0 таблица inventSumLogTTS стала использоваться и для обновления динамических MRP планов. Однако в версии Dynamics AX 4.0 система множественных складских транзакций из Аксапты была удалена и вместо нее стал и спользоваться иной подход. Несмотря на это, таблица inventSumLogTTS в системе все еще существует, но в настоящее время используется только при обновлении динамических планов. И поэтому ее название может вводить в заблуждение, ведь она больше не используется для журналирования записей InventSum.

Каким образом в таблицу inventSumLogTTS попадают данные

Механизм создания новых записей в inventSumLogTTS в последних версиях Аксапты (4.0/2009/2012) похож на механизм обновления InventSum, который я уже подробно описывал в статье, упомянутой в предыдущем разделе. При вставке/обновлении/удалении записей в таблице inventSum система вызывает метод inventUpdateOnHand.addInventSumLogTTS(), который и регистрирует вставку или удаление записи в InventSum (обновление отражается как удаление и затем вставка). Записи в таблице InventSumLogTTS сохраняются в кэше до конца транзакции и вставляются в базу данных только тогда, когда система непосредственно обновляет записи в таблице InventSum, связанных со складским обновлением в транзакции.

Для связи двух относящихся к одному и тому же обновлению в складской транзакции записей таблицы inventSumLogTTS система использует поле sequenceNumber. Система фиксирует изменений в записях InventTrans только до тех пор, пока они не будут обновлены физически или финансово (статусы Отпущено/Продано или Получено/Закуплено). При этом в таблице inventSumLogTTS фиксируется только самое первое изменение в транзакции, приводящее к физическому или финансовому статусу. Последующие изменения в той же складской транзакции уже не записываются, поскольку они больше для MRP не нужны, так как теперь эта транзакция является частью запасов в наличии, которые представлены в чистых потребностях как одна чистая потребность на каждые товар и аналитику покрытия.
...
__________________
С уважением,
Олег.
За это сообщение автора поблагодарили: mazzy (10), sukhanchik (10), Logger (10), S.Kuskov (10), Dark Light (1).