Mar 09, 2017 10:12 AM
Is it possible to create a auto generated ID in combination with text and Number…e.g. I need to generate some ID like OHBL20081/OHBL20082
Thanks in advance!
Nurul
Mar 09, 2017 10:20 AM
Without understanding exactly what you mean, you may be able achieve what you need combining the Auto Number and Formula field types.
Auto Number will generate unique numbers, which you can then concatenate to strings by using a formula, e.g. CONCATENATE("OHBL", foo)
.
Nov 30, 2018 05:03 AM
Here’s what I’ve done…
I started with the created timestamp…
DATETIME_FORMAT(CREATED_TIME(),'X')
This produces a string like this:
1535390717
People may guess that it’s a timestamp and so it’s sequential and be able to guess the ID of other records, so we add a random number to it to make it look less like a timestamp:
DATETIME_FORMAT(CREATED_TIME(),'X')+3647225632
It’s important that the random number be at least as many digits as the timestamp (10 digits). This yields something like this:
5182611245
Ok great, as long as we have this, each of our IDs will always be unique.
The problem now is that they’re still sequential and so people can guess other record IDs easily enough. So lets create a semi-random string of digits.
RIGHT(DATETIME_FORMAT(CREATED_TIME(),'X'), 4) + LEN({Column name}) + 4321
Here I’m getting the last 4 digits of the timestamp adding the length of the contents of another column and the number 4321. Assuming the contents of the column you choose can vary, this should be a pretty different number for each record.
Now we put the two numbers together separated by a hyphen:
CONCATENATE(
RIGHT(DATETIME_FORMAT(CREATED_TIME(),'X'), 4) + LEN({Column name}) + 4321,
"-",
DATETIME_FORMAT(CREATED_TIME(),'X')+3647225632
)
You should end up with something like this:
9963-5182611245
Now we can dress this up some more if you like, sprinkling in some letters for example:
CONCATENATE(
"rb",
RIGHT(DATETIME_FORMAT(CREATED_TIME(),'X'), 4) + LEN({Column name}) + 4321,
"qka",
DATETIME_FORMAT(CREATED_TIME(),'X')+3647225632
)
Then you end up with IDs that look like this:
rb9963qka5182611245
rb12828qka5182614001
rb5777qka5182616349
Oct 19, 2021 02:19 AM
Hi there guys,
I found the post by searching for a solution in a similar case study. The purpose is to create a serial number including letters and numbers too.
Here is a recommended solution for that and I hope it will help you:
How to create field with autogenerated serial number including letters and numbers
ps if you try it, please text me back for your feedback
Thanks
Dimitris Goudis