SalesDocumentsFieldFilterExtension reference
This article provides reference material about SalesDocumentsFieldFilterExtension class. All sales document field filter extensions
have to be inherited from the SalesDocumentsFieldFilterExtension which, in turn, inherits from the core
Sana Commerce Cloud Extension class.

This extension should be used to filter sales documents list.
Note
Multiple SalesDocumentsFieldFilterExtension extensions can be created in case sales documents should be filtered by multiple fields.
Properties

FieldName
The name of the ERP document entity field to filter sales documents by.
Note
Sales document entity fields should contain the field with provided name.
public override string FieldName => "AddressId";
Methods

Note
All code examples may contain nonexistent methods or properties. They are used as declarations only and should be created if they fit the designed extension or deleted if they do not.
GetFieldValues
Gets the field values to filter sales documents by.
public override ErpFieldValue[] GetFieldValues(in SalesDocumentsFieldFilterContext context)
{
    if (context.DocumentType == SalesDocumentType.Order || context.DocumentType == SalesDocumentType.Quote)
    {
        var value = GetCustomerAddressErpValue();
        if (value is null)
            return [];
        return [value];
    }
    return [];
}
ErpFieldValue? GetCustomerAddressErpValue()
{
    var addressId = Api.CurrentUserData.Get<UserData>()?.SelectedAddressId;
    if (string.IsNullOrEmpty(addressId))
        return null;
    return ErpFieldValue.FromString(addressId);
}
sealed class UserData
{
    public string? SelectedAddressId { get; set; }
}