Forum Discussion
EddyElasmar
Qrew Member
Shop Status is a drop down field which contains:
In Queue
Pulling
Cutting
Milling
Sealing
Building/Boxing
When a project is "Pulling" - Kanban ticket is green for the first 24 hours, yellow for the next 48, red after that
When a project is "Cutting", "Milling", "Sealing", & "Building/Boxing" - Kanban ticket is green for the first 48 hours, yellow for next 48 hours, red after 96 hours.
"ready to ship" green
so basically each time that [Shop Status] Field changes, the timer needs to reset. Weather that could all be encoded or I need fields around that like i have currently a dynamic form rule to fill in a different field the date once [Shop Status]="Pulling"
(Named those date fields: [Pulling Date Snapshot on Shop Status Change] - I know they're not technically snapshot fields... just dynamic form rules)
This is what I have which is wrong and not much.
Case([Shop Status],"In Queue","#23ff00",
Case([Shop Status],"Pulling","#23ff00",
Case([Shop Status],"Complete & Ready to Ship","#23ff00",
if([Shop Status]="Pulling" & ([Pulling Date Snapshot on Shop Status Change] -today() >hours(0) & ([Pulling Date Snapshot on Shop Status Change] -today() >hours(48),
"<div style=\"color:white;background-color:#9B0909;\">" & due: "&[Pulling Date Snapshot on Shop Status Change]" ))))
------------------------------
Eddy Elasmar
------------------------------
In Queue
Pulling
Cutting
Milling
Sealing
Building/Boxing
Complete & Ready to Ship
When a project is "In Queue" - KanBan ticket is green always
When a project is "Pulling" - Kanban ticket is green for the first 24 hours, yellow for the next 48, red after that
When a project is "Cutting", "Milling", "Sealing", & "Building/Boxing" - Kanban ticket is green for the first 48 hours, yellow for next 48 hours, red after 96 hours.
"ready to ship" green
so basically each time that [Shop Status] Field changes, the timer needs to reset. Weather that could all be encoded or I need fields around that like i have currently a dynamic form rule to fill in a different field the date once [Shop Status]="Pulling"
(Named those date fields: [Pulling Date Snapshot on Shop Status Change] - I know they're not technically snapshot fields... just dynamic form rules)
This is what I have which is wrong and not much.
Case([Shop Status],"In Queue","#23ff00",
Case([Shop Status],"Pulling","#23ff00",
Case([Shop Status],"Complete & Ready to Ship","#23ff00",
if([Shop Status]="Pulling" & ([Pulling Date Snapshot on Shop Status Change] -today() >hours(0) & ([Pulling Date Snapshot on Shop Status Change] -today() >hours(48),
"<div style=\"color:white;background-color:#9B0909;\">" & due: "&[Pulling Date Snapshot on Shop Status Change]" ))))
------------------------------
Eddy Elasmar
------------------------------
MarkShnier__You
2 years agoQrew Legend
One way to capture the date and time of the status change the status field's Properties to "Log Changes", and also to set it to log the time as well.
I suggest renaming the field to be called [Status Update].
Then make two new fields.
[Status] as a formula text field:
Trim(Right([Status Update],"]"))
and [Status Date/ Time] as a formula Date / Time field:
var text DateAndTime = Left(Right([Status Update],"["),18);
var date TheDate = ToDate(Left($DateAndTime," "));
var timeofday TheTime = ToTimeOfDay(NotLeft($DateAndTime,9));
ToTimestamp ($TheDate, $TheTime)
OK, so now you have a clean field for the Status and a clean date time field for the date and time of the most recent status change.
Let's now do a new formula numeric field for the [# Hours in Status]
ToHours(Now() - [Status Date/ Time])
Now we can do the formula for the color. I suggest making this a formula field too, called [Kanban Color] so you can easily see what's in it.
[Status] = "In Queue", "Green",
//When a project is "Pulling" - Kanban ticket is green for the first 24 hours, yellow for the next 48, red after that
[Status]= "Pulling" and [# Hours in Status] <=24, "green",
[Status]= "Pulling" and [# Hours in Status] <=48, "yellow",
[Status]= "Pulling" and [# Hours in Status] >48, "red",
//When a project is "Cutting", "Milling", "Sealing", & "Building/Boxing" - Kanban ticket is green for the first 48 hours, yellow for next 48 hours, red after 96 hours.
Contains("Cutting Milling Sealing Building/Boxing", [Status])
and [Status]<>""
and [# Hours in Status] <=48, "green",
Contains("Cutting Milling Sealing Building/Boxing", [Status])
and [Status]<>""
and [# Hours in Status] <=96, "yellow",
Contains("Cutting Milling Sealing Building/Boxing", [Status])
and [Status]<>""
and [# Hours in Status] >96, "red",
//"ready to ship" green
[Status] = "Complete & Ready to Ship", "green")
All done, so now just set the Kanban colorization formula in the report to be [Kanban Color]. You cam also then conveniently use the same formula for row colorization on a regular table Report.
------------------------------
Mark Shnier (Your Quickbase Coach)
mark.shnier@gmail.com
------------------------------
I suggest renaming the field to be called [Status Update].
Then make two new fields.
[Status] as a formula text field:
Trim(Right([Status Update],"]"))
and [Status Date/ Time] as a formula Date / Time field:
var text DateAndTime = Left(Right([Status Update],"["),18);
var date TheDate = ToDate(Left($DateAndTime," "));
var timeofday TheTime = ToTimeOfDay(NotLeft($DateAndTime,9));
ToTimestamp ($TheDate, $TheTime)
OK, so now you have a clean field for the Status and a clean date time field for the date and time of the most recent status change.
Let's now do a new formula numeric field for the [# Hours in Status]
ToHours(Now() - [Status Date/ Time])
Now we can do the formula for the color. I suggest making this a formula field too, called [Kanban Color] so you can easily see what's in it.
//When a project is "In Queue" - KanBan ticket is green always
IF([Status] = "In Queue", "Green",
//When a project is "Pulling" - Kanban ticket is green for the first 24 hours, yellow for the next 48, red after that
[Status]= "Pulling" and [# Hours in Status] <=24, "green",
[Status]= "Pulling" and [# Hours in Status] <=48, "yellow",
[Status]= "Pulling" and [# Hours in Status] >48, "red",
//When a project is "Cutting", "Milling", "Sealing", & "Building/Boxing" - Kanban ticket is green for the first 48 hours, yellow for next 48 hours, red after 96 hours.
Contains("Cutting Milling Sealing Building/Boxing", [Status])
and [Status]<>""
and [# Hours in Status] <=48, "green",
Contains("Cutting Milling Sealing Building/Boxing", [Status])
and [Status]<>""
and [# Hours in Status] <=96, "yellow",
Contains("Cutting Milling Sealing Building/Boxing", [Status])
and [Status]<>""
and [# Hours in Status] >96, "red",
//"ready to ship" green
[Status] = "Complete & Ready to Ship", "green")
All done, so now just set the Kanban colorization formula in the report to be [Kanban Color]. You cam also then conveniently use the same formula for row colorization on a regular table Report.
------------------------------
Mark Shnier (Your Quickbase Coach)
mark.shnier@gmail.com
------------------------------
- EddyElasmar2 years agoQrew MemberMark,
This looks very promising!
I have 1 issue & 1 question.
Issue: I now cannot select any type of status for the KanBan to be based off of. As we switched the [Status Update] log the time.
Question: should the colors in your formula be HTML Color codes or just leave it as "Green" & quickbase will know what to do as it just generates the word "Green" rather than highlights a color is what I think would happen.
Please advise
Thank you very much for your time
------------------------------
Eddy Elasmar
------------------------------- MarkShnier__You2 years agoQrew LegendQuickbase can do many of the colours that are just expressed in regular words but here is a nice site dine by @Laura Thacker Laura who is also a another QuickBase Solution Provider, which has basically all the colours you would ever need and you would use the hex codes instead of the word green.
https://laurahillier.quickbase.com/db/bhy8pumtp
As for you other issue, yes that is a fatal flaw in my suggestion. I did not realize that the status was being used for the Kanban column choices.
So one way is to retain your status field for the kanban choices.
Then retain your logged field.
Then retain the formula field for the most recent status update which is a formula field.
Then use an "ACTION" to change the value of the logged field to be the value of the Status field. Fire the ACTION when the record is changed and the status field changes.
Also use a pipeline for this but the trouble is the pipeline could take five or 10 seconds to run so not as good a user experience as a very old-fashioned but fast running ACTION.
------------------------------
Mark Shnier (Your Quickbase Coach)
mark.shnier@gmail.com
------------------------------- EddyElasmar2 years agoQrew MemberI was actually able to use a dynamic form rule for this.
I added another field copied from status. Names it shop status...
When [Shop Status] IS NOT EQUAL TO "Blank"
Action Change [Status Update] to "The value in Shop Status"
Then unchecked the fire changed box.
Yes ! Laura is awesome I am very familiar with her work. As she is mine.
Thank you so much for your help. It works and looks awesome.
------------------------------
Eddy Elasmar
------------------------------