ContributionsMost RecentMost LikesSolutionsRe: How do I create a Pipeline that makes the owner of a child record the owner of the parent record? You can use a webhook with API_ChangeRecordOwner to accomplish this: API_ChangeRecordOwner – Quickbase Help As Jeff said, I don't think it's possible to change the record owner using Pipelines without a webhook. ------------------------------ Tyler Jablonski ------------------------------ Re: Service Workers As far as I know, the service workers hack is dead. Attempting to create a service worker fails because they have the content security policy set to block all sources for worker scripts. This was likely done to help prevent cross-site scripting attacks, which I think is the same reason they removed the ability to add JavaScript to rich text formulas. ------------------------------ Tyler Jablonski ------------------------------ Re: I've created a QR Code, now how to I print them all? I can think of at least one way to do this in native Quickbase, but it's extremely inconvenient. Also on mobile right now, so I can't type out all of the formulas. In whatever table houses the QR codes, you can create another rich text formula field that just encompass the existing QR code field in a <td> tag. We can call this [QR Container]. Then you can have a formula query field that uses size() and getrecords() to find the number of QR code records with a record ID# less or equal to that record. So Record ID# 1 will return 1, Record ID# 2 will return 2, etc. I'll call this [Lower RIDs]. Then you have another formula query field. Let's say you want the printed copy to have 4 QR codes per row. If the [Lower RIDs] value is divisible by 4, it uses getfieldvalues() and getrecords() to collect the [QR Container] values of all records where [Lower RIDs] is greater than or equal to that record's [Lower RIDs] value minus three, but lower than or equal to that record's [Lower RIDs] number. So RIDs 1-3 would return blank values (not divisible by 4), and RID 4 would return a list of the [QR Container] fields for RIDs 1 through 4. You can use searchandreplace() on this value to replace " ; " with "", which will give you an HTML string. You can then encompass this string in a <tr> tag. We can call this field . Finally, you have a formula query field that gets the values of for every record where it isn't blank. Then you use searchandreplace() on this field to replace " ; " with "". This gives you another HTML string, which you encompass in a <table> tag. We can call this . Then you add an Exact Form for the QR codes table that only includes "~fid~", where fid is the field id# of your field. This will give you a button on every record that when clicked, will give you a big Exact Form with a table of all of your QR codes that you can print. I have done similar things to this in the past, and I know that rich text fields will render properly in the Exact Form (including images like your QR codes). Just writing this out, I'm sure it's terrible performance wise. There are definitely ways to optimize this by say, only having your fields make a table of the previous 100 records. So if you click on the button on your most recent record, you'll get your 100 most recently generated QR codes, but you won't be pulling together as much data as many times. Or maybe you only populate on the 5 most recent records, and if it's older than that it just returns a blank value. Realistically, the easiest way to do this is with a code page, but that comes with its own set of headaches. And if you're not already comfortable writing JS code, it really isn't worth learning it just for Quickbase. They offer so many great no code tools that are easier and faster for 99% of use cases, that the time spent learning wouldn't justify itself for the limited number of times you'd use it. If this functionality is really important I'd recommend just going with the tedious native QB solution. ------------------------------ Tyler Jablonski ------------------------------ Re: QR Code to access record in QB App This is your best bet: https://quickchart.io/documentation/qr-codes/ Works basically identically to the old Google Charts API but is actively maintained. Also supports overlaying an image over a QR code. ------------------------------ Tyler Jablonski ------------------------------ Re: Setting todays date in a webhook You can set the date to "today" using the JSON API, not sure if that works with the old HTTP API. { "value": "today" } ------------------------------ Tyler Jablonski ------------------------------ Re: Custom Rule to ADD a record? One option is to have a button on the home page that points to a code page. The code page can use the API to return the current user (API_GetUserInfo). Then you can query the users table for that user and check whether or not they have permission. If they do, you redirect them to the add form, otherwise you show them a "permission denied" message. Of course, this doesn't solve the problem of conditionally showing the button on the home page. Another slightly more complicated option is that you have two home pages set up. One for users who have access to add records, which will have the add record button, and one for everyone else that doesn't have the button. Then in the user roles, you set the home page for everyone to a code page. The code page uses the API to check the user's permission as in the first option, and then depending on whether or not they have access, it redirects them to one of the two "real" home pages. That would solve the problem of conditionally showing the button. ------------------------------ Tyler Jablonski ------------------------------ Re: I am receiving an error when attempting to use a formula without saving the record in the 'In Progress' table (B). However, once I save the record in the 'In Progress' table (B), the same formula works fine. The record ID# field isn't set until the record has been saved for the first time. When you're on an "add record" form, [Record ID#] will return a blank value in formulas. That's why the rid parameter is missing when you use the button from the add form, but it works fine once you've saved it. There is a workaround for this, at least for rich text formulas, which is to set the data-replaceRid attribute to true and use %%rid%% in place of [Record ID#]: Formula - rich text field properties – Quickbase Help I've never tried using %%rid%% with a formula URL field, so I'm not sure if it works there too. But it's easy enough to convert your URL field to a rich text field if necessary. Also something to keep in mind is that I believe the %%rid%% needs to be outside of the URLEncode() function to work properly. ------------------------------ Tyler Jablonski ------------------------------ Re: Code Pages: Creating Printable ID Badges.Cool idea. You can use the API to query for the employee data, and then use a for loop to iterate over the response and generate the HTML for the table. Here's the API documentation. Additionally, here's some documentation on creating/setting elements with Javascript: Document.createElement() - Web APIs | MDN (mozilla.org), Element.innerHTML - Web APIs | MDN (mozilla.org) You could generate the HTML for the table entirely in your Javascript code. Alternatively, you could generate the table for each individual employee in Quickbase using a formula field, then use the API to query for that formula field and just append them together and put them in your container table. ------------------------------ Tyler Jablonski ------------------------------ Re: Multi-Text field and Total fieldsKind of a pain if you have a bunch of choices, but you can use a formula field and define a numeric variable for each option, then sum those variables. So for example: var text options = totext([CHANGE ORDER - LIST OF ITEMS NOT READY]); var number optionA = if(contains($options, "TERMINATIONS"),2000,0); var number optionB = if(contains($options, "EQUIPMENT SET UP"),2000,0); var number optionC = if(contains($options, "GREENHOUSE"),3000,0); and so on. And then after you declare all of the variables, the formula is sum($optionA, $optionB, $optionC, ...) ------------------------------ Tyler Jablonski ------------------------------ Re: Save and Redirect on One ButtonIf you add the SaveBeforeNavigating class to your button you should get the behavior you're looking for. So your class attribute would be class='Vibrant Primary SaveBeforeNavigating'. Alternatively, there's an option in the advanced settings for the table to automatically save when the user is redirected. ------------------------------ Tyler Jablonski ------------------------------