Skip to main content

Notifications

Announcements

No record found.

Community site session details

Community site session details

Session Id :
Microsoft Dynamics CRM (Archived)

Cannot delete a write in product in SalesOrder, which was created and trying to delete programmatically. "salesorderdetail With Id Does Not Exist"

(0) ShareShare
ReportReport
Posted on by 45

In salesorder entity, I create a write-in line item if I have freight amount. The Line is created if there is a tax on freight. If the freight amount is completely taken out then I want to delete that item. But I get the following error "salesorderdetail With Id = c471fe88-a3cd-e811-a973-000d3a1a9407 Does Not Exist"

In fact the line Id does exists with same id in the db.

Here is the code to insert the line in the salesorder 

Guid freightDetailId = new Guid();
Entity freightLine = new Entity("salesorderdetail", freightDetailId);
freightLine["salesorderid"] = new EntityReference("salesorder", gEntityId);
freightLine["isproductoverridden"] = true;
freightLine["priceperunit"] = new Money(0);
freightLine["quantity"] = Convert.ToDecimal(1);
freightLine["productname"] = "Freight Tax line";
freightLine["productdescription"] = "Freight Tax line";
freightLine["tax"] = new Money(10.00);
service.Create(freightLine);


Here is the code I use to delete the same line from salesorderdetail if freight is either 0 or not present at all

if (freightLineExists) // if freight line exists then delete it as freight is not available anymore
{
     tracer.Trace("freight exists");
     tracer.Trace("Freight ID = "+ ec.Entities[freightLineNumber].Id);
     service.Delete(ec.Entities[freightLineNumber].LogicalName, ec.Entities[freightLineNumber].Id);
}

*This post is locked for comments

  • newtomsworld Profile Picture
    45 on at
    RE: Cannot delete a write in product in SalesOrder, which was created and trying to delete programmatically. "salesorderdetail With Id Does Not Exist"

    Here is my code

    QueryExpression query = new QueryExpression("salesorderdetail");

    query.ColumnSet.AllColumns = true;

    query.Criteria.AddCondition("salesorderid", ConditionOperator.Equal, entityId);

    EntityCollection ec = service.RetrieveMultiple(query);

    I think I have figured out why. Its solved now.

    I have service.update(entity) in multiple places which updated other entites in the "ec". and once that is done there is data.refresh on clinet side which triggers save. I think this double saving may have caused it. I now removed all

    service.Update(ec.Entities[i]); and it solved the problem

  • a33ik Profile Picture
    84,331 Most Valuable Professional on at
    RE: Cannot delete a write in product in SalesOrder, which was created and trying to delete programmatically. "salesorderdetail With Id Does Not Exist"

    Hello,

    Can you please provide code how to do you retrieve ec - from line ec.Entities[freightLineNumber].Id

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

🌸 Community Spring Festival 2025 Challenge Winners! 🌸

Congratulations to all our community participants!

Adis Hodzic – Community Spotlight

We are honored to recognize Adis Hodzic as our May 2025 Community…

Kudos to the April Top 10 Community Stars!

Thanks for all your good work in the Community!

Leaderboard > Microsoft Dynamics CRM (Archived)

#1
Mohamed Amine Mahmoudi Profile Picture

Mohamed Amine Mahmoudi 83 Super User 2025 Season 1

#2
Community Member Profile Picture

Community Member 52

#3
dkrishna Profile Picture

dkrishna 6

Overall leaderboard

Featured topics

Product updates

Dynamics 365 release plans