2 Replies Latest reply on Aug 14, 2012 9:11 PM by philmodjunk

    Generating Customized Reports



      Generating Customized Reports


      I work in a print shop where we have a FM Pro database serving as our Job Scheduler. Each job has an entry with all the specifications, as well as dates for each department (data entry, design, printing, bindery, packaging, pricing). Some of the departments have multiple functions (there are 13 Bindery tasks that a job could go through). Each function has its own date. 

      How do I generate a report for each employee in the shop which shows only those tasks that they are responsible for on any given day - on one sheet of paper? What I'm looking for is a "master to-do list" for each person in the shop.

      I tried generating a new layout, but am having trouble getting all 13 bindery steps onto one sheet of paper with ONLY things listed which have bindery for that day. For example, Job A has to Cut 1, Pad White, and Cut 2. Cut 1 is scheduled for 8/14/12. Pad White is scheduled for 8/15/12. Cut 2 is scheduled for 8/16/12. When I make a bindery layout and search for the date 8/14/12 (to get today's to do list), the Pad White and Cut 2 show up with their dates as well as the Cut 1 for 8/14/12 that I was looking for (because they're part of the same job, I guess).

      Any thoughts on how to get around this?


      I can make this work if I print out a different layout for each step in Bindery, but then I have 13 pieces of paper, which is rather difficult to use. Our Bindery tech ends up rewriting her own list every day, which takes too much time.

        • 1. Re: Generating Customized Reports

          I would suggest that you have a table for bindery which contains fields JobNumber,Description, and the DateOfJob.  then you could perform a find on JobNumber and DateOfJob or just DateOfJob.   

          • 2. Re: Generating Customized Reports

            Think of it as a many to many relationship:


            Employees::__pkEmployeeID = Employee_Task::_fkEmployeeID AND
            Employees::cToday = Employee_Task::TaskDate

            Enable "Allow Creation of Records via this relationship for Employee_Task in the above relationship.

            Tasks::__pkTaskID = Employee_Task::_fkTaskID

            cToday is an unstored Calculation field with this expression:  Get ( CurrentDate ). If you prefer, you can use a date field instead of the calculation field so that the person assigning tasks can select the date instead of always being locked into today's date.

            Now you can use a portal to Employee_Task on the Employee layout to assign daily tasks to an employee. _fkTaskID can be formatted in this portal row with a drop down list of TaskID's and TaskNames from the Tasks table.

            Now your report can be generated from a computer based on the Employee_Task table. You can perform a find on this layout for all records of a given date and sort them by Employee or you can find all records with a given date and for a specific employee. Either way, you can get report that is only as long as the assigned tasks for the specified day.

            Here's a demo file that illustrates this method and that also demonstrates some more sophisticated methods for working with a many to many relationship:  https://www.dropbox.com/s/oyir7cs0yxmbn6i/ManyToManywDemoWExtras.fp7