Print Weekly Report

Hello I would like to send weekly report to a email.

I have a table of data such as:

| Name | Date | Hour | Report |

| John Doe | 6/14/2019 | 09:48:04 | Report |
| John Doe | 6/17/2019 | 10:44:55 | Report |
| John Doe | 6/18/2019 | 10:45:02 | Report |
| John Doe | 6/19/2019 | 10:45:07 | Report |
| John Doe | 6/20/2019 | 10:45:34 | Report |
| John Doe | 6/21/2019 | 10:45:39 | Report |
| John Doe | 6/24/2019 | 10:45:47 | Report |
| John Doe | 6/25/2019 | 10:45:52 | Report |
| John Doe | 6/26/2019 | 10:47:07 | Report |
| John Doe | 6/27/2019 | 11:54:42 | Report |
| John Doe | 6/28/2019 | 15:28:27 | Report |

And a App View like:

Name:


Email:


Start of the Week:


End of the Week:


Cancel Save

What I want is that users select the days of the week they
worked and send themselves an email with the reports of that
selected week so they can print it.

0 12 889
12 REPLIES 12

From your description I cannot tell whether you want to:

  1. Send a report to each user once a week at a fixed time whether they ask for it or not.
  2. Send a report to each user once a week at a fixed time only if they ask for it.
  3. Send a report to a user on demand.

The first two can be done using Reports. The last can be done using a workflow rule.

Hi what I want is to send a fixed amount of reports to a user by email on demand.

Hello here is a link of an example of the thing iโ€™m trying to achieve.

https://www.appsheet.com/samples/Reports-that-users-can-customize?appGuidString=69a02679-bfe6-45fa-8...

In this app you enter the email you want and select the color and sizes and it gives yo the matching results and when you hit save it will send an email with those results only, not the whole table.

I want to do the same but instead of color and sizes, I want to choose between dates (a week) and send me the data of that week only.

Did you ever find a solution to this?

Thanks,
Josh

This is quite easy to achieve with the Scheduled Report @Josh_Klassen. Just set a scheduled report that will run daily and for EachRowInTable with a conditional rule:

AND(
    ISBLANK([Sent Timestamp]),
    TODAY() >= [EarliestSendDate],
    TODAY() <= [LatestSendDate]
)

You also need to set an Action 2 for the same scheduled report with a Behavior Action which will set a NOW() timestamp in a [Sent Timestamp] column, son that you will ensure that the report will be sent only once for any particular record in the table.

Continuing the discussion from Print Weekly Report:

@LeventK

What I am having trouble with is creating a formula like the one in this sample app:

https://www.appsheet.com/samples/Reports-that-users-can-customize?appGuidString=69a02679-bfe6-45fa-8...

That is in the column Matching Items in the Report Request table:

SELECT(Data[Name], AND(IN([Size], [_THISROW].[Size Choice]), IN([Color], [_THISROW].[Color Choice])))

However instead of it using colours and sizes I want it to show all matching items that are within the dates that the user would select.

I am using two tables like is shown in the sample app. One table is called Email Timesheet and one is called Timesheet.

The email timesheet table has columns From date and To Date that the user would specify and instead of Matching items I want to have a virtual column called Selected Timesheets.

Thanks,
Josh Klassen

Josh,
Did you ever resolve this? Iโ€™m trying to do the same or similar, and that is; select the start and end dates of a reporting period and then send a report listing each timesheet entry, and total of hours for that period. It seems like a simple request, but I havenโ€™t been able to figure it out.
Doug

@dh180 No, I was focusing on other parts of my app for the past while. I have not found a way to do this and havenโ€™t had any responses other than what you see here.

Have you made any progress with this?

Josh

Hi Josh,
I hired a person to work on it, and I think itโ€™s very doable. Philip Garrett also gave some instructions on how to accomplish it. Iโ€™ll keep you posted.
dh

Hi Doug,

Based on what you have said so far, I would:

  1. Create a new table that allows records to be Added. The table would contain two Date fields called โ€œStartโ€ and โ€œEndโ€ respectively. You might call the table โ€œCreateTimeSheetReportโ€ or โ€œGenerateTimeSheetReportโ€.
  2. Create a form that allows the user to Add a record to the table and enter the โ€œStartโ€ and โ€œEndโ€ dates.
  3. Create a workflow rule that is triggered when a new record is Added to the table.
  4. In that workflow rule create an attachment template with a <<Start>> and <<End>> that lists time sheet records. The <<Start>> expression would contain a SELECT expression that selects the time sheet records between the โ€œStartโ€ and โ€œEndโ€ date values contained in the newly added record. You want an date range expression like those contained in the โ€œDate and Time Expressionโ€ article https://help.appsheet.com/en/articles/961346-date-and-time-expressions Maybe something like:
    AND([TimeSheetDate] >= [Start], TimeSheetDate] <= [End])
  5. Following the <<End>> expression, write an expression that computes the sum of the values between the โ€œStartโ€ and โ€œEndโ€ dates.

Thanks Philip. I kind of ran out of time (and patience) so I hired someone thru Upwork to work on it. It sounded like he was going to do something similar to what you proposed. Thanks for the insight!
dh

I was able to get more success by asking again please go to this question to see the solution:

Top Labels in this Space