cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
paulinolan
Helper II
Helper II

Fetchxml query not returning data when executed in portal page

Hi community

 

I have the following fetchxml query which works fine when executed from FetchXml Tester and FetchXML Builder in XrmToolBox.

It returns details of associated documents held in SharePoint as expected.

 

paulinolan_0-1712848754422.png

 

However if I try and excute the query from within a portal page no data is returned. I suspect this is permissions related.

I have created a table permission for the sharepointdocument entity with access type Account and account relationship Account_SharepointDocument. There are no web roles associated with it.

Sharepoint Integration is on.

 

What am I missing?

 

Thanks

10 REPLIES 10
Fubar
Multi Super User
Multi Super User

For a Table Permission to work it must be associated with a Web Role that is being used by the Portal User.

 

Account scope on a Table permission means that you have a Lookup on the Table in question to Account and the portal user's parent account (using the out of the box relationship/lookup) is the account populated in the Lookup.

 

Note: you would need a Table permission for both of the Tables in the query.

 

Unless there was a specific requirement to put an Account Lookup on the sharepointdocument table, I would probably do a Table permission on new_agreement (that is Account assuming it has a lookup to Account that is being populated), and then a Child permission (i.e. Scope = Parent) between new_agreement and sharepointdocument.

Child (scope parent) means you do not need a lookup on the other table e.g. if you had an Invoice and Invoice Line Items, you wouldn't put an Account lookup on each line item just on the Invoice, and you would then use a Child Table Permission between Invoice and Invoice Line Item).

 

Hi @Fubar

Thanks for the reply.

When you say ...

'Unless there was a specific requirement to put an Account Lookup on the sharepointdocument table, I would probably do a Table permission on new_agreement (that is Account assuming it has a lookup to Account that is being populated), and then a Child permission (i.e. Scope = Parent) between new_agreement and sharepointdocument.'

... what would the Access Type for sharepointdocument be, I've set it to Self

My permissions now look like

paulinolan_0-1712930534730.png

 

paulinolan_1-1712930591139.png

 

Web roles have been applied to both

 

 

Thanks

paulinolan
Helper II
Helper II

Okay, that didn't work. My page threw the error 

 

Liquid error: Entity Permission SharePointDocumentRead c2c46ddc-8bf5-ee11-a1fd-000d3a210e73 Scope value Self is not applicable to entity sharepointdocument.

 

I've set 

Access Type - Account

Account Relationship - Account_SharePointDocument

 

and now I get 

Liquid error: Exception has been thrown by the target of an invocation

 

What is throwing the error is this liquid which is executed after the fetchxml

 

{% assign contractdocumentsentities = contractdocuments.results.entities %}
Fubar
Multi Super User
Multi Super User

Not "Self", self is only for the Portal User to be able to access their own Contact record (e.g. update their details on the Profile Page).

 

In what I was describing, you would use Scope = Parent on the sharepoint table permission, and then choose the relationship/table permission for the the link table (your agreement table).

paulinolan
Helper II
Helper II

Hi Fubar

Thanks for the reply, apologies for the delay in replying.

I have created the table permissions as suggested. However when I try and access the result entities returned by the query I get this error in the browser console -

Uncaught SyntaxError: Unexpected identifier 'error' (at testcontractdocumentskendo/:1346;16)


When viewed in the Sources tab the error is -

"Liquid error: Exception has been thrown by the target of an invocation."

 

The query and the liquid code which follows the query is as follows

The error is thrown by the liquid code where I'm attempting to retrieve the results returned by the query

 

{% fetchxml sharepointdocuments %}
<fetch>
<entity name="sharepointdocument">
<attribute name="documentid" />
<attribute name="fullname" />
<attribute name="absoluteurl" />
<attribute name="relativelocation" />
<attribute name="sharepointcreatedon" />
<attribute name="filetype" />
<attribute name="modified" />
<attribute name="sharepointmodifiedby" />
<attribute name="title" />
<attribute name="readurl" />
<attribute name="editurl" />
<attribute name="author" />
<attribute name="sharepointdocumentid" />
<attribute name="ischeckedout" />
<attribute name="locationid" />
<attribute name="iconclassname" />
<order attribute="relativelocation" descending="false" />
<link-entity name="new_agreement" from="new_agreementid" to="regardingobjectid" link-type="inner" alias="ad">
<filter type="and">
<condition attribute="new_agreementid" operator="eq" value="<some agreement id>" />
</filter>
</link-entity>
</entity>
</fetch>
{% endfetchxml %}

{% assign results = sharepointdocuments.results.entities %}


I based my query on the following

https://mscrm16tech.com/2020/09/09/get-sharepoint-document-details-for-particular-record-in-ms-crm-u...


Do you have any suggestions what the target is that the error is referring to?

Is it possible to get more details about a liquid error?

Thank you

Fubar
Multi Super User
Multi Super User

No idea - where does the 'kendo' in the error come from?

 

 

paulinolan
Helper II
Helper II

Hi @Fubar

It is the name of the test page where we are running the fetchxml. The output of the query will be used to populate a kendo grid

Fubar
Multi Super User
Multi Super User

It is saying somewhere on that page you have syntax error.  Isolate if it is the fetchxml statement or not (also take the fetchxml and put it into fetchxml builder or tester in XrmToolBox and confirm it is correct), also look at the value(s) you are substituting in to the fetchxml 

paulinolan
Helper II
Helper II

 
I've run the fetchxml in the XrmToolBox tool FetchXml Tester and built the query in FetchXML Builder and it works okay. I've tried with valid values for new_agreementid which work
 
I think the initial syntax error is referring to the Liquid error statement. The actual error is the Liquid error "Exception has been thrown by the target of an invocation"
 
When running the query in the page I've purposely changed the entity name sharepointdocument to xsharepointdocument to force the query to fail and return no data. 
In this case the liquid code 
 
        {% assign results = sharepointdocuments.results.entities %}
        {% assign count = results.size %}
 
console.log("count " + '{{ count }}');
 
writes "count 0" to the console as expected.
 
 
However with the correct entity name in the query in the page the line
 
        {% assign results = sharepointdocuments.results.entities %}
 
gives the error 
 
"Liquid error: Exception has been thrown by the target of an invocation."
 
Am I correct in thinking that the query is actually executed by this line?
 
I'm wondering is the error related to the sharepointdocument entity supporting only associated view

Helpful resources

Announcements

Celebrating the May Super User of the Month: Laurens Martens

@LaurensM  is an exceptional contributor to the Power Platform Community. Super Users like Laurens inspire others through their example, encouragement, and active participation. We are excited to celebrated Laurens as our Super User of the Month for May 2024.   Consistent Engagement:  He consistently engages with the community by answering forum questions, sharing insights, and providing solutions. Laurens dedication helps other users find answers and overcome challenges.   Community Expertise: As a Super User, Laurens plays a crucial role in maintaining a knowledge sharing environment. Always ensuring a positive experience for everyone.   Leadership: He shares valuable insights on community growth, engagement, and future trends. Their contributions help shape the Power Platform Community.   Congratulations, Laurens Martens, for your outstanding work! Keep inspiring others and making a difference in the community!   Keep up the fantastic work!    

Check out the Copilot Studio Cookbook today!

We are excited to announce our new Copilot Cookbook Gallery in the Copilot Studio Community. We can't wait for you to share your expertise and your experience!    Join us for an amazing opportunity where you'll be one of the first to contribute to the Copilot Cookbook—your ultimate guide to mastering Microsoft Copilot. Whether you're seeking inspiration or grappling with a challenge while crafting apps, you probably already know that Copilot Cookbook is your reliable assistant, offering a wealth of tips and tricks at your fingertips--and we want you to add your expertise. What can you "cook" up?   Click this link to get started: https://aka.ms/CS_Copilot_Cookbook_Gallery   Don't miss out on this exclusive opportunity to be one of the first in the Community to share your app creation journey with Copilot. We'll be announcing a Cookbook Challenge very soon and want to make sure you one of the first "cooks" in the kitchen.   Don't miss your moment--start submitting in the Copilot Cookbook Gallery today!     Thank you,  Engagement Team

Announcing Power Apps Copilot Cookbook Gallery

We are excited to share that the all-new Copilot Cookbook Gallery for Power Apps is now available in the Power Apps Community, full of tips and tricks on how to best use Microsoft Copilot as you develop and create in Power Apps. The new Copilot Cookbook is your go-to resource when you need inspiration--or when you're stuck--and aren't sure how to best partner with Copilot while creating apps.   Whether you're looking for the best prompts or just want to know about responsible AI use, visit Copilot Cookbook for regular updates you can rely on--while also serving up some of your greatest tips and tricks for the Community. Check Out the new Copilot Cookbook for Power Apps today: Copilot Cookbook - Power Platform Community.  We can't wait to see what you "cook" up!      

Tuesday Tip | How to Report Spam in Our Community

It's time for another TUESDAY TIPS, your weekly connection with the most insightful tips and tricks that empower both newcomers and veterans in the Power Platform Community! Every Tuesday, we bring you a curated selection of the finest advice, distilled from the resources and tools in the Community. Whether you’re a seasoned member or just getting started, Tuesday Tips are the perfect compass guiding you across the dynamic landscape of the Power Platform Community.   As our community family expands each week, we revisit our essential tools, tips, and tricks to ensure you’re well-versed in the community’s pulse. Keep an eye on the News & Announcements for your weekly Tuesday Tips—you never know what you may learn!   Today's Tip: How to Report Spam in Our Community We strive to maintain a professional and helpful community, and part of that effort involves keeping our platform free of spam. If you encounter a post that you believe is spam, please follow these steps to report it: Locate the Post: Find the post in question within the community.Kebab Menu: Click on the "Kebab" menu | 3 Dots, on the top right of the post.Report Inappropriate Content: Select "Report Inappropriate Content" from the menu.Submit Report: Fill out any necessary details on the form and submit your report.   Our community team will review the report and take appropriate action to ensure our community remains a valuable resource for everyone.   Thank you for helping us keep the community clean and useful!

Hear what's next for the Power Up Program

Hear from Principal Program Manager, Dimpi Gandhi, to discover the latest enhancements to the Microsoft #PowerUpProgram, including a new accelerated video-based curriculum crafted with the expertise of Microsoft MVPs, Rory Neary and Charlie Phipps-Bennett. If you’d like to hear what’s coming next, click the link below to sign up today! https://aka.ms/PowerUp    

Welcome! Congratulations on joining the Power Pages community!

Welcome to the Power Pages Community!   You're now a part of a vibrant group of peers and industry experts who are here to network, share knowledge, and even have a little fun.     Now that you're a member, you can enjoy the following resources:   The Power Pages Community Forums The forums are also a great place to connect with other Power Pages community members. Check the News & Announcements section for community highlights, find out about the latest community news, and learn about the Community Team. Share your feedback, earn custom profile badges, enter challenges to win prizes, and more.   Community Blog Our community members have learned some excellent tips and have keen insights on the future of business analysis. Head on over to the Community Blog to read the latest posts from around the world. Let us know if you'd like to become an author and contribute your own writing — everyone is welcome.   And that’s not all, we have Galleries of additional information such as the Community Connections & How To Videos & Webinars & Video Gallery and more to motivate, educate and inspire you.   Again, welcome to the Power Pages community family, we are so happy you have joined us! Whether you are brand new to the world of data or you are a seasoned veteran - our goal is to shape the community to be your ‘go to’ for support, networking, education, inspiration and encouragement as we enjoy this adventure together! Let us know in the Community Feedback forum if you have any questions or comments about your community experience, but for now – head on over to the forums Get Help with Power Pages and dive right in!   To learn more about the community and your account be sure to visit our Community Support Area. We look forward to seeing you in the Power Pages Community!   The Power Pages Community Team  

Users online (6,502)