Dynamics AX 4.0
Kernel: 4.0.2501.116
Application: 4.0.2501.121
Localization: Eastern Europe
Описанные ниже проблемы возникли на нашем рабочем приложении последовательно. С первой проблемой разобрались давно, а вторая совсем еще свежая и зеленая

.
Проблема 1. Невозможно создать кредит-ноту
Если по строке заказа на покупку сформировалось более 1 складской проводки с одинаковым номером лота, то при попытке создать кредит-ноту на эту строку заказа на покупку рискуем получим ошибку:
"Для номенклатуры установлен режим автоматической генерации серийных номеров " (Item has automatic serial number allocation). Ошибка появляется даже если для номенклатуры не установлено автоматическое создание серийных номеров.
Microsoft в
KB 937109 рекомендует исправлять ошибку примерно так:
Согласен, если вырезать шкодный метод
updateinvoiceCreditCopy класса
PurchCopying_CreditNote вопрос будет исчерпан

. Однако, после этого может возникнуть еще одна проблема, дойти до которой раньше не позволяла ошибка, описанная выше.
Проблема 2. Путаница в складских проводках из-за KB 937109
Применяем хотфикс
KB 937109.
Создаем заказ на покупку с одной строкой и количеством 3 шт. Последовательно регистрируем:
- 1 шт на GW
- 1 шт на GW
- для 1 шт меняем склад на MW, но не регистрируем (!)
Проводки после этого должны выглядеть так:
Разносим накладную № 248 для зарегистрированных проводок:
Создаем сторно-заказ для накладной № 248. После создания кредит-ноты резервирование и маркировка по проводкам выглядят так:
Очевидно, что при создании кредит-ноты складские аналитики расходных проводок должны совпадать со складскими аналитиками приходных. Однако в этот раз система установила неправильные маркировку и резервирование. На самом деле, маркироваться должны были первые две проводки в статусе куплено.
Немного поэкспериментировав, выяснил, что такие же ошибки возникают не только при регистрации номенклатур, но и при разбиении складской проводки. Правда, в этом случае последствия немного отличаются.