Добавление деталей заказа на продажу в заказ на продажу в динамике crm - PullRequest
0 голосов
/ 27 октября 2018

Я работаю над созданием заказа на продажу с одним продуктом, добавленным к детали заказа на продажу, и приложением его к заказу на продажу.

Это вызывает у меня ошибку, и мне интересно, есть ли правильный способ выполнить это действие?

Спасибо!

 public void  Create(CrmContextCore _crmContext, Guid productId, UserEntityModel currentuser)
{
    var detail = new Entity("salesorderdetail");
    {

        detail["productid"] = new EntityReference("product", productId);
    }

    var salesorder = new Entity("salesorder");
    {
        salesorder["accountid"] = new EntityReference("account", currentuser.AccountId);
        salesorder["contactid"] = new EntityReference("contact", currentuser.ContactId );
        salesorder["emailaddress"] = currentuser.Email;
        salesorder["name"] = "DealerPO123";
        salesorder["salesorderdetail"] = detail;

    }

    _crmContext.ServiceContext.AddObject(salesorder);

    _crmContext.ServiceContext.SaveChanges();

}

1 Ответ

0 голосов
/ 29 октября 2018

Пример: установка отрицательных цен в возможностях, котировках и заказах на продажу .

// Create the sales order.
SalesOrder order = new SalesOrder()
{
    Name = "Faux Order",
    DateFulfilled = new DateTime(2010, 8, 1),
    PriceLevelId = new EntityReference(PriceLevel.EntityLogicalName,
        _priceListId),
    CustomerId = new EntityReference(Account.EntityLogicalName,
        _accountId),
    FreightAmount = new Money(20.0M)
};
_orderId = _serviceProxy.Create(order);
order.Id = _orderId;

// Add the product to the order with the price overriden with a
// negative value.
SalesOrderDetail orderDetail = new SalesOrderDetail()
{
    ProductId = new EntityReference(Product.EntityLogicalName, 
        _product1Id),
    Quantity = 4,
    SalesOrderId = order.ToEntityReference(),
    IsPriceOverridden = true,
    PricePerUnit = new Money(-40.0M),
    UoMId = new EntityReference(UoM.EntityLogicalName, 
        _defaultUnitId)
};
_orderDetailId = _serviceProxy.Create(orderDetail);
...