Del via


ConvertSalesOrderToInvoiceRequest Class

Definition

Contains the data that is needed to convert a sales order to an invoice.

public ref class ConvertSalesOrderToInvoiceRequest sealed : Microsoft::Xrm::Sdk::OrganizationRequest
[System.Runtime.Serialization.DataContract(Namespace="http://schemas.microsoft.com/crm/2011/Contracts")]
public sealed class ConvertSalesOrderToInvoiceRequest : Microsoft.Xrm.Sdk.OrganizationRequest
[<System.Runtime.Serialization.DataContract(Namespace="http://schemas.microsoft.com/crm/2011/Contracts")>]
type ConvertSalesOrderToInvoiceRequest = class
    inherit OrganizationRequest
Public NotInheritable Class ConvertSalesOrderToInvoiceRequest
Inherits OrganizationRequest
Inheritance
ConvertSalesOrderToInvoiceRequest
Attributes

Examples

The following example shows how to use this message. For this sample to work correctly, you must be connected to the server to get an IOrganizationService interface instance. For the complete sample, see the link later in this topic.

/// <summary>
/// Demonstrates converting a sales order to an invoice.
/// </summary>
/// <param name="service">The authenticated IOrganizationService instance.</param>
/// <param name="salesOrderId">The ID of the salesorder record.</param>
/// <returns>The id of the invoice record.</returns>
static Guid ConvertSalesOrderToInvoiceExample(IOrganizationService service, Guid salesOrderId)
{
      // Define columns to be retrieved after creating the invoice
      ColumnSet invoiceColumns = new("invoiceid", "totalamount");

      // Convert the order to an invoice
      ConvertSalesOrderToInvoiceRequest request = new()
      {
         SalesOrderId = salesOrderId,
         ColumnSet = invoiceColumns
      };
      var response =
         (ConvertSalesOrderToInvoiceResponse)service.Execute(request);
      Entity invoice = response.Entity;
      return invoice.Id;
}

Remarks

This message requires Dynamics 365 Sales.

For the Web API use the ConvertSalesOrderToInvoice action.

Usage

Pass an instance of this class to the Execute(OrganizationRequest) method, which returns an instance of the ConvertSalesOrderToInvoiceResponse class.

Privileges and Access Rights

To perform this action, the caller must have privileges on the SalesOrder table and access rights on the specified record in the SalesOrderId property. The following privileges are required: prvAppendInvoice, prvAppendToAccount, prvAppendToContact, prvAppendToOrder, prvAppendToProduct, prvCreateInvoice, prvReadInvoice, and prvReadOrder.

Constructors

ConvertSalesOrderToInvoiceRequest()

Initializes a new instance of the ConvertSalesOrderToInvoiceRequest class.

Properties

ColumnSet

Gets or sets the collection of attributes to retrieve from the resulting invoice. Required.

ExtensionData

Gets or sets the structure that contains extra data. Optional.

(Inherited from OrganizationRequest)
Item[String]

Gets or sets the indexer for the Parameters collection.

(Inherited from OrganizationRequest)
Parameters

Gets or sets the collection of parameters for the request. Required, but is supplied by derived classes.

(Inherited from OrganizationRequest)
ProcessInstanceId
RequestId

Gets or sets the ID of the request. Optional.

(Inherited from OrganizationRequest)
RequestName

Gets or sets the name of the request. Required, but is supplied by derived classes.

(Inherited from OrganizationRequest)
SalesOrderId

Gets or sets the ID of the sales order (order) to convert. Required.

Applies to

See also