Form not loading with filtered results.

I’m launching a form through X++ with the args.record field loaded with a tablebuffer. The form that is launched used this same table as a datasource but is not being filtered when it launches. Is there another requirement to launch filtered results in a form that might be causing this?

After changing the data sources on the form it is filtering based on the args but not enough. It’s now showing all fields with an id number from the args but the specific record that is being passed.

Ok, I’ve gone through everything I can here and really can’t figure this out. The record in the args is of the same type as the datasource of the second form. It’s unique and only delivering one record in the args. It filters based on one field but not on the other. These two fields have an index in place to ensure that there is no records with both these values, yet it still filters the records in the second form returning any record that matches the projid field, completely ignoring the other fields.