![]() |
#1 |
Участник
|
That is not possible!
Do you really think so? Yes? So did I until a few hours ago when I got an email saying that it can be changed. Maybe some unexpected side-effect of some customization with G/L accounts we made? First thing: lets see what it does in CRONUS. Create new "Purchase Order". Create new "G/L Account" line. Release the order. Change the "Direct Unit Cost". Error……….. I should have an error!……… Where is the error?…….. Why is there no error?……… Is it a standard CRONUS?…….Yes. Definitely nothing changed……. Let’s start debugging. Ahah, the call to function "TestStatusOpen". This should block it. This is the code of function "TestStatusOpen" in 2009SP1W1: IF StatusCheckSuspended THEN EXIT; GetPurchHeader; IF Type IN [Type::Item,Type::"Fixed Asset"] THEN PurchHeader.TESTFIELD(Status,PurchHeader.Status::Open); Do you see why it doesn’t block? Correct: If Type is different from Item and different from "Fixed Asset" it doesn’t test the status of the header! Commenting the <IF Type IN [Type::Item,Type::"Fixed Asset"] THEN> fixes the problem. I have to admit that I didn’t check all functionality to see if it blocks something else somewhere else. That’s dangerous. If a purchaser creates a line with a G/L Account, and he needs to go through the Approval process. After it is approved, he can still change the "Direct Unit Cost" without having to re-approve it again. And we have the same problem (and same solution) with Sales Order lines. Читать дальше
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору. |
|