Money Problem causing update error RRS feed

  • Question

  • I've recently added a few new money fields to the opportunity entity. Basically it's 5 different money fields. I've have other money fields that have been on the form already.

    Basically i'm getting this error in my eventviewer


    Event Type: Error
    Event Source: MSCRMWebService
    Event Category: None
    Event ID: 18176
    Date:  11/30/2010
    Time:  11:37:23 AM
    User:  N/A
    Computer: CHIL-CRM-01
    Web Service Plug-in failed in OrganizationId: 310f641c-a370-46a5-8bdf-729ede3d4199; SdkMessageProcessingStepId: 58e202dd-4b49-417a-b732-f95957ef99b0; EntityName: opportunity; Stage: 20; MessageName: Update; AssemblyName: Microsoft.Crm.ObjectModel.MultiCurrencyPlugin, Microsoft.Crm.ObjectModel, Version=, Culture=neutral, PublicKeyToken=31bf3856ad364e35; ClassName: Microsoft.Crm.ObjectModel.MultiCurrencyPlugin; Exception: Unhandled Exception: System.Data.SqlClient.SqlException: Transaction (Process ID 68) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.
       at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
       at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
       at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
       at System.Data.SqlClient.SqlDataReader.HasMoreRows()
       at System.Data.SqlClient.SqlDataReader.ReadInternal(Boolean setTimeout)
       at Microsoft.Crm.BusinessEntities.BusinessProcessObject.DoRetrieve(BusinessEntity entity, EntityExpression entityExpression, ExecutionContext context, Int32 languageCode)
       at Microsoft.Crm.BusinessEntities.BusinessProcessObject.Retrieve(BusinessEntityMoniker moniker, EntityExpression entityExpression, ExecutionContext context, Int32[] deletionCodes, Int32 languageCode)
       at Microsoft.Crm.BusinessEntities.BusinessProcessObject.Retrieve(BusinessEntityMoniker moniker, EntityExpression entityExpression, ExecutionContext context)
       at Microsoft.Crm.ObjectModel.EntityDataInformation.RetrievePreImage()
       at Microsoft.Crm.ObjectModel.EntityDataInformation.get_IsCurrencyNullInPreImg()
       at Microsoft.Crm.ObjectModel.DefaultCurrency.Execute(EntityDataInformation entityDataInformation)
       at Microsoft.Crm.ObjectModel.MultiCurrencyPlugin.Execute(IPluginExecutionContext context)
       at Microsoft.Crm.Extensibility.PluginStep.Execute(PipelineExecutionContext context)

    For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.


    I've seen articles and people's problems on this along the lines of 'Create' but mine is for Updates. The actual symptom is all my workflows that update parts of the opportunity form (or change anything) all error out without people knowing. Anyone know a fix?


    I have the currencytransactionid field on the form and only one time of currency (US Dollars). Latest update roll up.

    Tuesday, November 30, 2010 5:50 PM

All replies

  • Hi Stephen,

    couple questions:

    1. Confirming that you don't get the error when saving entity but in the workflow.
    2. Do you have any plug-ins on your entity, especially synchronous ones?
    3. Do you have any other workflows on the entity except the one that generates the error? Can you disable them?
    4. Are there multiple update steps in your workflow? Can you try reducing them to one and see if problem is still there.
    5. Are any of the money fields updated by the workflow? Do you get the error if you remove updates to money fields? Leave just one in?

    George Doubinski, MVP http://crm.georged.id.au
    Friday, December 3, 2010 12:50 AM
  • I have the same problem with custom entities..

    I have mass create/update using the web service of custom entity. It starts flow of updates, at least 3 entities related by relationships, using plugins. Its purpose is to sums money and decimal fields.

    About the questions:

    1. only when updating and not always..

    2. yes.. for one entity i had async step in it, when i moved it to sync step the error stopped.

    In other entity when it was sync i had more error and after moving it to async step it reduced the errors but i still have some.

    3. None that's working in the same time. because i'm updating 15,000 records some of them updates the same records.

    4. No,

    5. don't know I guess it will work if i'll remove the money fields but i need it!


    Saturday, March 26, 2011 7:44 PM