07.03.2008, 09:32 | #1 |
Участник
|
Кредит-нота заказа на покупку в AX4
Здравствуйте все!
Накануне столкнулся со странной ошибкой при попытке создания Кредит-ноты закупки: "Для номенклатуры установлен режим автоматической генерации серийных номеров." (поймал это в AX 4.0, в Axapta 3.0 ошибка не воспроизвелась). Начал копать, обнаружил следующее: 1) Ошибка генерируется в методе updateInvoiceCreditCopy табицы InventTrans в случае существования более одной проводки(строчки) по обрабатываемому лоту. Смысл проверки мне не совсем понятен (но в версии AX3 она уже была). 2) Методом глубокого погружения в Debuger удалось определить следующее. Несколько строк в InventTrans образуютя в случае ЧАСТИЧНОГО резервирования сторнирующих проводок. т.е. когда в статус "Физ. зарезервировано" переходит не всё количество и часть соответственно остаётся в статусе "Заказано". 3) У меня эта ситуация возникла при сторнировании частично сопоставленной(закрытием склада) складской проводки, в этом случае резервироваться пытается только её открытая часть. Интересно что в случае отсутствия по этой номенклатуры доступного колическтва в наличии разервирование естественно не проходит, сторнирующая проводка не делится на "Физ. зарезервировано" и "Заказано", ошибка не выдаётся и кредит-нота создаётся! 4) Резервирование происходит в методе createEstimatedInventTrans класса InventUpd_Estimated. Сравнил с тройкой понял, что появилось оно только в версии AX4.0 в 3.0 такого механизма не было. Если закоментировать кусок кода, отвечающий за резервирование, то функция создания кредит-ноты работает. Но что-то мне подсказывает, что это не выход. Если кто-нибудь сталкивался с подобной проблемой, или более детально понимает механизм работы процедуры сторнирования, прошу помочь разобраться в сложившейся ситуации |
|
07.03.2008, 09:35 | #2 |
Участник
|
нашёл на буржйском сайте такую же проблему, но легче не стало
http://www.eggheadcafe.com/software/...ic-serial.aspx |
|
26.03.2008, 12:02 | #3 |
Administrator
|
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
26.03.2008, 15:32 | #4 |
Administrator
|
Поскольку некоторых читателей, как оказалось, раздражает то, что моя подпись длиннее моего сообщения, сократил подпись и немного допишу сообщение. Тем более, что не у всех есть доступ к knowledge base, да и решение, которое там предложено, строго говоря, не полностью корректно.
В кратце, там предлагается удалить метод PurchCopying_CreditNote::updateInvoiceCreditCopy(). Удалять его целиком, наверное, все же не стоит. То, что относится к обработке налогов стоит оставить. Удалить можно вызов InventTrans::updateInvoiceCreditCopy(). Кстати, правильность такого решения тоже вызывает сомнения. Если так сделать, то складские измерения проводок исходной закупки не скопируются в кредит-ноту, если только они не были явно указаны в строках закупки. С другой стороны, при создании корректирующей кредит-ноты все равно всегда стоит маркировку использовать (так как иначе исходный приход будет участвовать в закрытии склада). При этом измерения, конечно, скопируются. А вообще лучше делать коррекции по закупкам с помощью немедленной поставки (не забывая про накладные расходы, конечно).
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|