# ‘Unsupported data source used for PositionToRecord or PositionToRecordByValue. Unable to execute fallback logic to find record’

**URL:** <https://www.dynamicsuser.net/t/unsupported-data-source-used-for-positiontorecord-or-positiontorecordbyvalue-unable-to-execute-fallback-logic-to-find-record/80273>\
**Category:** Developer Forum\
**Created:** [March 7, 2024, 9:37am UTC](https://www.dynamicsuser.net/t/unsupported-data-source-used-for-positiontorecord-or-positiontorecordbyvalue-unable-to-execute-fallback-logic-to-find-record/80273 "2024-03-07T09:37:51Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Awaxx\_Nate](https://avatars.discourse-cdn.com/v4/letter/a/ad7895/32.png) [@Awaxx\_Nate](https://www.dynamicsuser.net/u/Awaxx_Nate)\
**Post date:** [March 7, 2024, 9:37am UTC](https://www.dynamicsuser.net/t/unsupported-data-source-used-for-positiontorecord-or-positiontorecordbyvalue-unable-to-execute-fallback-logic-to-find-record/80273/1 "2024-03-07T09:37:51Z")

</div>

Hi all,

When i want to use settlement button on custTrans form, i’ve got this error message “Unsupported data source used for PositionToRecord or PositionToRecordByValue. Unable to execute fallback logic to find record”.

I found some topics on the subject talking about and explaining that the new run method used on custOpenTrans form above don’t allow to use temporary or views as datasources in form extension :

public void run()  
{  
super();

```
    if (custTransOriginator)
    {
        custTrans_DS.positionToRecordByValue(fieldnum(CustTrans,RecId), int642Str(custTransOriginator.RecId));
    }
}

```

First question is it correct ?

Secondly how could i fix that ?

I have to add informations, i’m using DefaultDimensionView in custOpenTrans form extension that i need for that event class method :

```auto
 [FormDataSourceEventHandler(formDataSourceStr(CustOpenTrans, DefaultDimensionView), FormDataSourceEventType::Initialized), SuppressBPWarning('BPParameterNotUsed', 'False positive')]
    public static void DefaultDimensionView_OnInitialized(FormDataSource sender, FormDataSourceEventArgs e)
    {
            FormRun formRun = sender.formRun();

            FormDataSource DefaultDimensionView_ds = formRun.dataSource(formDataSourceStr(CustOpenTrans, DefaultDimensionView));
            FormStringControl defaultDimDisplay = formRun.design(0).controlName('DefaultDimensionView_DisplayValue');

            DefaultDimensionView_ds.queryBuildDataSource().addLink(fieldnum(CustTrans, DefaultDimension),
            fieldnum(DefaultDimensionView, defaultdimension));

DefaultDimensionView_ds.queryBuildDataSource().addRange((fieldnum(DefaultDimensionView, Name))).value(sysquery::value('Departements'));
    }

```

Thank you.

---

<div class="post-metadata">

**Author:** ![xiao\_xiong](https://avatars.discourse-cdn.com/v4/letter/x/eb8c5e/32.png) [@xiao\_xiong](https://www.dynamicsuser.net/u/xiao_xiong)\
**Post date:** [March 21, 2024, 1:37pm UTC](https://www.dynamicsuser.net/t/unsupported-data-source-used-for-positiontorecord-or-positiontorecordbyvalue-unable-to-execute-fallback-logic-to-find-record/80273/2 "2024-03-21T13:37:02Z")

</div>

Hi

When your datasource join the view ,use findValue instead of positionToRecordByValue.

Extension run method like this.

```
public void run()
{
    RecId custTransOriginatorRecId = custTransOriginator.RecId;

    custTransOriginator.RecId = 0;

    next run();

    if (custTransOriginatorRecId)
    {
        custTrans_DS.findValue(fieldnum(CustTrans,RecId), int642Str(custTransOriginatorRecId));
    }

    custTransOriginator.RecId = custTransOriginatorRecId;
}

```

---

<div class="post-metadata">

**Author:** ![Awaxx\_Nate](https://avatars.discourse-cdn.com/v4/letter/a/ad7895/32.png) [@Awaxx\_Nate](https://www.dynamicsuser.net/u/Awaxx_Nate)\
**Post date:** [March 22, 2024, 7:03am UTC](https://www.dynamicsuser.net/t/unsupported-data-source-used-for-positiontorecord-or-positiontorecordbyvalue-unable-to-execute-fallback-logic-to-find-record/80273/3 "2024-03-22T07:03:09Z")

</div>

Hello @xiao_xiong,

Thank you for the answer but the findValue method is deprecated so it will be hard to use it.

Do you think i could use it while they haven’t fix that issue ?

 ![image](https://us1.discourse-cdn.com/flex023/uploads/dugusers/original/2X/1/14b8c2dc02dc31914caa469d7fcc7c24688eb1dc.png)

Regards.

---

<div class="post-metadata">

**Author:** ![xiao\_xiong](https://avatars.discourse-cdn.com/v4/letter/x/eb8c5e/32.png) [@xiao\_xiong](https://www.dynamicsuser.net/u/xiao_xiong)\
**Post date:** [March 26, 2024, 1:17am UTC](https://www.dynamicsuser.net/t/unsupported-data-source-used-for-positiontorecord-or-positiontorecordbyvalue-unable-to-execute-fallback-logic-to-find-record/80273/4 "2024-03-26T01:17:13Z")

</div>

Hello @Awaxx_Nate  
If this is a commonly used feature by customer, then until another solution is found, you have to handle it this way temporarily.
