Forum Discussion

JaimeStrawderma's avatar
JaimeStrawderma
Qrew Cadet
6 years ago

Multiple editable reports on the same page

I have a list of tasks that I can bring over individually into a report with a "Add Task" button. My issue is that I need to be able to do that for 12 individual months and have each report by month to be editable. The formula for my "Add Task" button is... 

URLRoot() & "db/" & [_DBID_TASKS] & "?a=API_GenAddRecordForm&_fid_381=" & URLEncode ([Entity ID#])& "&z=" & Rurl(). 

What would I need in order to have each months "Add Task" button individual for that month?
  • There are various ways to achieve this, and much will depend on whether you need a calendar year of Task records or a full year of records.  And of course, "when" do you get these created?  Are the Tasks Monthly-based or are they simply 12 records with a Month-value selected?

    You can opt for Automations to create your records and then use a Refresh button until all the records have been created.  You can then embed separate Reports showing each Month separately onto a parent-form layout; or you can simply GROUP your Tasks table records by Month (you will need to create a formula to help organize the Months in month-order, rather than alphabetical order.


    The display/visibility of your Tasks is secondary to creating them.
  • I would need a calendar year of Task records by month. Those tasks would be brought in at the beginning of each month. Right now I am bringing over the tasks individually but ideally I want to bring over a set group of tasks and then the individual working the project can modify or cancel a task depending on the work done for that particular month. If I embed separate reports by month onto my form will that allow me to edit each report by month? Thank you for your time!
  • Last questions; are you bringing in these Tasks (monthly) for ALL parent records; or only some?  Would it be easier to pre-load an entire year's worth of Tasks when a parent-record is created; so you do not have to do a monthly update?  If the parent-record no longer needs records; you can simply build an automation to trigger a purge of incomplete child-task records.

  • I think I understand what you mean. Yes I would like to pre-load a year's worth of tasks at the beginning of the project creation but I still need each months tasks to be editable. For example, January may have a task that is in progress until June but then in June it needs to be edited to complete.Is that where the automation comes in? Not sure if you can see my snippet below...


    • LauraThacker's avatar
      LauraThacker
      Qrew Captain
      I am not sure you are structuring your Tasks correctly given your screenshot.  Is your idea that every Task gets repeated every month?  Some Tasks may not be completed in a single-month and will "spill over" into the next month.

      Have you considered instead a mechanism by which when you complete a Task; it creates the "next-month" task based on when it was completed.  This way you only create Tasks for the next month when the previous-month Task is completed.  You will not then have thousands of Month-tasks waiting to be used; and you will be better able to control which Tasks have started, but are taking too long.
    • JaimeStrawderma's avatar
      JaimeStrawderma
      Qrew Cadet
      A bit of background...these are national projects that are always ongoing with our company. One individual handles a particular project and will do the same basic 15-20 tasks each month so I envisioned a group of tasks duplicated for each month. If a task in January is in progress, then in February that task can be edited to still show in progress or completed. If it is completed in January it may very well need to be done again in February and would need to be editable. Ideally I am trying to quantify total time spent on each project for each month/quarter. I hope I'm making sense. I can see it in my head pretty well lol. 
    • LauraThacker's avatar
      LauraThacker
      Qrew Captain
      Are you planning on using the [Start] and [Finish] components of a standard-task table with Predecessors etc?

      As an overall approach then; I would build a Template Project with associated Tasks against it.  You will also need to a formula-checkbox to identify the Template Project so that other Users cannot accidentally delete it; and then make a custom role so that only the custom role can modify "Template" records (to protect your data integrity even from Administrators).

      Build out the Task list, with the same task 12 times (one for each month in the year).  Give each monthly same-task a Predecessor of the previous-month's Task so that they can "connect" to each other.  You can of course have other Predecessors in addition.

      Make sure your Tasks table has a Month-designation (I would recommend using a source-parent table called Months with the Key Field being a [Month] (text) value.  Make sure your Months are a multiple-choice list and are shown in the "sort in this order" (not alphabetically).  This can impact the way you see data when filtering on that value in another table.  Also add a numeric field in that source-table of Months called [Month Order] and number the months in the correct order 1-12).  You can then "lookup" this value in your Tasks table which will be important for sorting and grouping.

      You will need to decide the finer-points of how you display these records in your Parent-Project record (I would not display 12 month's worth of tasks at the Project Level as that is a lot of data you would not need to display and will clutter up your interface).

      Building automations to fully-complete a Task or customized formula-buttons which can allow a User to "complete" a Task easily from an embedded report will make your user journey much more friendly.

      I also recommend having a variable in your application for the [CurrentYear] which you set every year.  Then build a formula field in your Tasks table called [Current Year] which takes the Year([Start Date]).  This will make it much smarter to use reports where [CurrentYear] is equal to the value in the field [Current Year] to make your yearly-rolling reports more automated and not hard-code the filters on your reports.  This may be especially important with embedding reports on your Project form layout.

      When you create a new Project, you will need to click a [Create Tasks for this Year] CopyMasterDetail button to create all the Tasks for the new Project.  You may then need to use a Date field value in the Project by which to recognize which Tasks have been created that should not apply to the Project.  i.e. if a Project starts now (July), there is no point having Tasks for January - June.  You can trigger an automation to purge these; or build a custom button using the API_PurgeRecords to delete child records which meet a given criteria.

      There are probably a handful of other things you will need to decide to get full user-adoption; but these will all help.