ContributionsMost RecentMost LikesSolutionsRe: Display Thumbnail Image When I run into these issues I try to first break down my formula into parts to figure out which part is causing the problem. Have you double checked that your file attachment field id is in fact 30? If you remove the style attributes entirely but leave the rest of the formula, does your image show up (albeit full size)? If so, your file access URL is at least correct. If so, and you remove the style attributes and just use "src = '...' width='200px'" (not inside of style) does it work? If not, try '200', '200pt', etc. (Probably just me not knowing how to use HTML properly, but I've sometimes found success with changing units). If that works, your max-height/max-width attributes may be causing the problem (I've had this happen before, but I ended up resolving it by hardcoding in the aspect ratio for scaling properly). If the image does not appear after removing the style attributes, try checking the "allow open access" box on the File Attachment field settings. This is necessary if you are wanting to insert the image into an Exact Forms Plus document or similar, but I've found it sometimes seems necessary within the application itself, too. Re: Moving Files to a Google Folder and Subfolder I agree with Chayce's approach. One word of caution from recent experience is that the system might not recognize the new folder being created for 10-15 minutes. I was using Box instead of Google Drive, but I imagine the refresh rates are similar across the systems. I spent hours trying to figure out why my Pipeline kept saying the folder I just created didn't exist until I finally realized it was a timing issue. I'd suggest keeping your folder creation and document upload Pipelines separate and running your folder creation one well in advance to ensure it sees the new folders where the documents are to be uploaded. This can be frustrating from a user perspective though, so I'd love to hear if anyone has found a way around the delay. ------------------------------ Oana Whalen ------------------------------ Re: Create Linked Assignments from Multi-Select Field Prashant, this is a brilliant solution! It may be a little more complex of a setup than we want to implement for this application, but will definitely use it to resolve some similar needs. Thank you for sharing! One question - is there a way to delete selected options with this approach while you are still adding to the list? Is this the reason for the editable text box? I know you could delete the records created via the Pipeline after saving, but wondering if there's a way to remove items before saving the record. ------------------------------ Oana Whalen ------------------------------ Re: Create Linked Assignments from Multi-Select Field Thanks, Chayce. I hadn't considered making the reports directly editable through grid edit, but that is a good thought and would serve the purpose here, if not the cleanest looking. Was hoping there might be a cleaner solution that I wasn't seeing but I had many of the same thoughts you mention about the challenges with each of the different options. Good points on the need for additional maintenance/checks if we do pursue the multi-select approach. ------------------------------ Oana Whalen ------------------------------ Create Linked Assignments from Multi-Select Field We are creating an app that is intended to track various types of presentations given by our employees. Each presentation can have multiple presenters and multiple reviewers, but also the same person may present/review multiple other presentations. It's a classic many-to-many relationship scenario, but I am not sure the usual intermediate join table is the correct approach for our current challenge. We have an Employee List table and a Presentations table. For any given presentation, we would like to have a multi-select field fed from the Employee List to select all applicable presenters, and a similar multi-select field for reviewers. Each person should then have the presentation "assigned" to them and be visible on the Employee List record, preferably as a child table or similar report link. On the Presentations table, we'd then like to have each name link to the applicable Employee record as if it's the reference field, but with multiple names in the same field. I know I could create a Rich Text field to parse out the names and create the links, but this does not assign the presentation to the employee. Is there a straightforward way to accomplish this, or do we need to abandon the multi-select approach and go with a conventional many-to-many join table? We'd like to keep the multi-select if possible as it is much quicker to enter information. Also note the listed Employees are not necessarily QB users. ------------------------------ Oana Whalen ------------------------------ Redirect/Trigger Pipeline After Closing Pop-up I currently have a formula rich text button in an app that I am using to open an Import window in a pop-up, then using the data-refresh option to refresh the page after the pop-up is closed. Is there any way without a code page to have the page be redirected to another URL after closing the pop-up instead of just refreshing? My use case is that I want to automatically trigger a Pipeline after the import process is complete. If I just trigger the Pipeline based on individual records being added, I'm running into issues of the Pipeline running multiple times simultaneously and creating conflicts and duplicate records. So my plan is to have the button open the Import window, let people run the full import, then use an API call to check a box on the form, which will subsequently trigger my Pipeline. I have a second button I can use for the API_EditRecord, but ideally would like to avoid the additional click. ------------------------------ Oana Whalen ------------------------------ Re: Using Look Up and Search in PipelinesI believe Look Up only allows you to search by Record ID, so if you have a different key field you want to use for the look up, you need to use the Search Records tool. You can cap the search results at 1 record to allow it to move on once it finds the one record you are looking for rather continuing the search. ------------------------------ Oana Whalen ------------------------------ Re: Connected Table pulling strange charactersDid you happen to enter the information on an iPhone/iPad? We've had a lot of issues with importing text entered on iOS apps into QB, as most special characters (including some spaces, tabs, even some normal letters occasionally, etc.) are encoded differently on iOS. Our typical solution has been a long string of SearchAndReplace functions to swap out the odd characters (must copy paste, not retype them) for the intended ones. There is also an option under App Properties to toggle UTF-8 encoding, we've had some limited success with changing this setting in the past, but I vaguely recall it causing other issues for us as well. ------------------------------ Oana Toma ------------------------------ Re: Is there a way to make this happen?Jennifer, We have done this several times in our applications. It was a challenging puzzle but we finally got it working. If you are able to export a csv file of the photo links from Google, this method should work for you as well. Note that at least in Box (which we use as our cloud storage platform for this purpose), there are several types of links that can be produced. I believe we use the Share Link to display the photo on its own without the Box previewer and full navigation showing up. Play around with different link types if you are having similar issues. We use a separate Photos table with links to the photo on the cloud server and create a [Preview] rich text field with an <img> tag to display the photo. If you want to add text under the photo like you have in your screenshot, you can also do this in the [Preview Field] with a bit more HTML. I'd also suggest setting a max-width and max-height in the <img> tag to keep the photos at a reasonable size. Our [Preview] formulas is: "<img src=" & ToText([Box URL]) & " style='max-height:300px;max-width:300px'></img>" Next, you create a relationship with the parent table (call it Assets for now). Either allow it to create a new Related Asset field or create the field manually in the Photos table. You can then create a summary field of Combined Text type on the Preview field. This will create a multi-select field of all your photo previews. On your Assets table, create a formula-text field such as [Photo List] and the entire formula is: ToText([Combined Text Preview]) This [Photo List] field will then display all your images back to back similar to your screenshot (with some pesky semi-colons between them). Note that if you want to have each photo linked to open full-screen or anything, you will need another field to parse each photo link out, such as: var text photourls = [Photo List]; If(Part($photourls,1,";") != null, "<a href='" & Part($photourls,1,";") & "' target='_blank'>" & "<img height='200' src='" & Part($photourls,1,";") & "'/> </a>") & If(Part($photourls,2,";") != null, "<a href='" & Part($photourls,2,";") & "' target='_blank'>" & "<img height='200' src='" & Part($photourls,2,";") & "'/> </a>") & If(Part($photourls,3,";") != null, "<a href='" & Part($photourls,3,";") & "' target='_blank'>" & "<img height='200' src='" & Part($photourls,3,";") & "'/> </a>") Either way, your end result looks like this: Hope this helps point you in the right direction! ------------------------------ Oana Toma ------------------------------ Re: Coding HelpSure. You can replace the $DaysLeft in the formula with [Inventory Count] and have the conditions be the inventory thresholds, then change the message being displayed. For example: The first line below checks if inventory is less than 5, and if so displays "Low Inventory." If Inventory is between 5 and 20, it would display "Only ## items remaining." If neither condition is met, it displays "In Stock." If([Inventory Count]<5,<div .... > & "Low Inventory" & "</div>", If(5<[Inventory Count]<20,<div ...> & "Only " & [Inventory Count} & " items remaining</div>", "In Stock") The structure here is If(Condition 1 is met, Do This, else If(Condition 2 is met, Do Something, else display default)) ------------------------------ Oana Toma ------------------------------