22.02.2012, 10:11 | #1 |
Участник
|
doens.be: Ax2009 Event Processing Error
Источник: http://www.doens.be/2012/02/ax2009-e...cessing-error/
============== I have a customer that gets a error every time the EventJobCUD-batch (Change Based Events) runs. They got the following error: After some reseach I found out that when 2 fields are changed at the same time, you go several times through the listChangedFieldsEnumerator (location \Classes\EventProcessorCUD\processUpdate) 1 2 3 4 5 6 7 8 9 while (listChangedFieldsEnumerator.moveNext()) { // In this simple case we use the new and the original changed field value as // recorded at event detection time: [thisFieldId, changedFieldValue, origChangedFieldValue] = listChangedFieldsEnumerator.current(); if (rule.AlertFieldId == thisFieldId) break; } The code underneed simulates the same situation in a small job: 1 2 3 4 5 6 7 8 9 static void Job5(Args _args) { anytype any; ; any = ABC::A; // next line will throw a error any = BatchStatus::Canceled; } And here we get the basic same error “Error executing code: Wrong argument types in variable assignment.” I modified the code so the anytype is assigned only when the field is correct: 1 2 3 4 5 6 7 8 9 10 11 12 while (listChangedFieldsEnumerator.moveNext()) { // In this simple case we use the new and the original changed field value as // recorded at event detection time: thisFieldId = conpeek(listChangedFieldsEnumerator.current(), 1); if (rule.AlertFieldId == thisFieldId) { [thisFieldId, changedFieldValue, origChangedFieldValue] = listChangedFieldsEnumerator.current(); break; } } Источник: http://www.doens.be/2012/02/ax2009-e...cessing-error/
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору. |
|
|
|