Questions and discussion about using ProcessMaker: user interface, running cases & functionality
By sabinsunny
#789534
Hi Team Am new to processmaker,

i need to track my process for example

i have one process named sending documents,

this process is used for sending requested documents from one place to requester place...

my requirement is simple i need to track the logs means i need to view all the action took in the process :P

my permision flow is employee->manager->direct manager->management
User avatar
By ashkufaraz
#789537
Hi
when you open a case with information menu you can see process map and case history
By zainab
#789554
Hello,

In addition to ashkufaraz, you can also track your process with the help of Case Tracker in ProcessMaker.

Kindly go through the below documentation which will give you more details related to Case Tracker:
http://wiki.processmaker.com/3.0/Case_Tracker

Also in order to view the Process Map and Case History you are required to setup Process Permissions, which will define who all will be able to view and what all contents, for this please have a look at the documentation in the wiki link below:
http://wiki.processmaker.com/3.0/Process_Permissions

Hope this helps.

Best Regards,
Zainab
User avatar
By amosbatto
#789557
When you open a case, you can go to Information > Case History in the menu to see a record of who changed what. You can use Process Permissions or Process Supervisors to access the cases for users who aren't currently assigned to the cases. You can use Departments and the Reports To Assignment Rule to route your cases up the chain of command in your organization.
By sabinsunny
#789590
amosbatto wrote:When you open a case, you can go to Information > Case History in the menu to see a record of who changed what. You can use Process Permissions or Process Supervisors to access the cases for users who aren't currently assigned to the cases. You can use Departments and the Reports To Assignment Rule to route your cases up the chain of command in your organization.

Yes Thanks For the Information but My Requirement is is I need to Check All process
2) need to reassign
3) get log data on grid form
By zainab
#790067
Hello,

To send an email notification to manager giving information of pending cases for a particular process, create a trigger with the following code, which will fetch the information of the process's pending cases from the database and populate the grid:
Code: Select all
$process = @@PROCESS; //set to the ID of the process who's pending cases are to be fetched
$query = "SELECT APP_TAS_TITLE, APP_NUMBER, USR_USERNAME from APP_CACHE_VIEW AD, USERS U where APP_THREAD_STATUS = 'OPEN' and PRO_UID = '$process' and APP_STATUS IN ('TO_DO','DRAFT') and AD.USR_UID = U.USR_UID";
$res = executeQuery($query);
$i = 1;
foreach($res as $row)
{
  	@=gri[$i]['title']=$row['APP_TAS_TITLE'];
	@=gri[$i]['app']=$row['APP_NUMBER'];
	@=gri[$i]['username']=$row['USR_USERNAME'];
	$i++;
}
Create another trigger with the following code, which would send an email notification with the document giving information of pending cases:
Code: Select all
$docId = '94353243258cf86929dd034015434246'; //set to the Output Document's unique ID
$caseId = @@APPLICATION;
PMFGenerateOutputDocument($docId);
$sql = "SELECT APP_DOC_UID FROM APP_DOCUMENT WHERE APP_UID='$caseId' AND DOC_UID='$docId'";
$aNewDoc = executeQuery($sql);

if (empty($aNewDoc)) {
   throw new Exception("Error: Unable to generate Output Document with ID '$docId'.");
}
else {   
   $fileId = $aNewDoc[1]['APP_DOC_UID'];
   $oDoc = new AppDocument();
   $aDocInfo = $oDoc->load($fileId);
   $ext = '.pdf';  //set to '.doc' if sending a DOC file
   $g = new G();
   $pathToFile = PATH_DOCUMENT . $g->getPathFromUID(@@APPLICATION) . PATH_SEP . 'outdocs' .
      PATH_SEP . $fileId . '_' . $aDocInfo['DOC_VERSION'] . $ext;
   $filename = $aDocInfo['APP_DOC_FILENAME'] . $ext;
   $aAttachments = array(
      $filename => $pathToFile
   );
   @@msg = PMFSendMessage(@@APPLICATION, 'abc@example.com', 'zainab@processmaker.in', '', '',
      'Document for case #'.@@APP_NUMBER, 'casepending.html', array(), $aAttachments);    
}
You can either create a new process and use these triggers. Else in the same process you can set these triggers, and set a condition so that they are fired only when the manager is running the cases.

Hope this helps.

Best Regards,
Zainab Sabunwala
By sabinsunny
#790378
Hi Team,

how to get the total number of request department vise
and in mysql data base where i can find the details
By sabinsunny
#790380
my processmaker mysql database connected with excel sheet

in that excel sheet i created some kpi funcions. now i need to get the total request count in each process
so in which table i can get the details
User avatar
By amosbatto
#790385
I'm not sure what you mean by "total request count in each process". Do you mean the number of cases started in a particular process?
For that you can do:
Code: Select all
SELECT COUNT(*) FROM APPLICATION WHERE PRO_UID='XXXXXXXXXXXXXXXXXXXXXXXX'
or:
Code: Select all
SELECT COUNT(DISTINCT APP_NUMBER) FROM APP_CACHE_VIEW WHERE APP_PRO_TITLE = 'My Process Title' GROUP BY APP_NUMBER
By sabinsunny
#790472
Is there any free plugins for Community edition 3.0.1.7
Like Report KPI ... etc
By mishika
#790474
Hello,

No, there are no plugins available in any version of the ProcessMaker Community Edition.

Regards
Mishika
By sabinsunny
#793270
Hi Team,

Today i have an another issue i got a new process to create. simple appraisal form but the workflow is management ->manager->employee
manager need to evaluate each employee and rate the employee performance the next stage is the employee get notification and he should accept or reject the appraisal

my question is how we can do the manager part
Attachments
note2.jpg
note2.jpg (130.65 KiB) Viewed 10390 times
note1.jpg
note1.jpg (402.03 KiB) Viewed 10390 times
note.jpg
note.jpg (410.4 KiB) Viewed 10390 times
User avatar
By amosbatto
#793308
You should probably create one process to handle the management part and another process to do the evaluation for each employee.
You can use a trigger to start new cases for each employee evaluation.
You can use a for loop in a trigger to call PMFNewCase() for each employee.
Are you a PHP programmer? I can give you some sample code, but you need to be able to read it and make your own modifications.
By sabinsunny
#793312
HI amosbatto,

Thanks for the reply, am not PHP programmer but i gather some ideas from this forum and applying to my own way.. so am not a skilled person in this field so please share your sample code i will try
User avatar
By amosbatto
#793344
1. Create departments where all the employees to be reviewed are in departments with managers.

2. You have one process to start reviews:
(_) -> [review committee] -> (_)
And a second process to review each employee:
(_) -> [manager reviews employee] -> [employee evaluates] -> <_> ...
The "manager reviews employee" task has the managers in its assignment pool and it uses Value Based Assignment and the variable @@managerID. The "employee evaluates" task has the employees in its assignment pool and it uses Value Based Assignment and the variable @@employeeID.

3. Create a group named "Employees to Review" for the employees who will be reviewed

4. Then you can use this trigger code to create separate cases:
Code: Select all
$processID = '1234567890abcde1234567890abcde'; //set to ID of second process
$taskID = '1234567890abcde1234567890abcde'; //set to ID of the "manager reviews employee" task

@@casesCreated = '';
$aGroups = PMFGetUidFromText("Employees to Review", "GRP_TITLE");
if (count($aGroups) > 0) {
   $groupID = $aGroups[0];
   G::LoadClass("groups");
   $g = new Groups();
   $aUsers = $g->getUsersOfGroup($groupID);
   foreach ($aUsers as $aUser) {
      $aUserInfo = userInfo($aUser['USR_UID']);
      $managerID = $aUserInfo['reportsto'];
      $aVars = array(
          'employeeID' => $aUser['USR_UID'],
          'managerID'  => $managerID
      );
      $newCaseID = PMFNewCase($processID, $managerID, $taskID, $aVars);
      if (empty($newCaseID)) {
         throw new Exception("Unable to create case.");
      }
      else {
         $aCaseInfo = $c->LoadCase($newCaseID, 1);
         @@casesCreated .= (empty(@@casesCreated) ? '' : "\n") . 
             "Case #".$aCaseInfo['APP_NUMBER']." to review ".$aUserInfo['firstname'].' '.$aUserInfo['lastname'];
      }
   }
}
Set this trigger to fire in the "review committee" task in the first process. Following this trigger, a DynaForm containing an textarea associated with the casesCreated variable will display a report showing which cases have been created in the second process.
User avatar
By amosbatto
#793527
Where is your second process? You have to set the IDs to match the process ID and first task in the second process. Also you need to assign the users in your "Employees to Review" group to the first task in the second task.
User avatar
By amosbatto
#793564
Hi sabinsunny, I only answer questions here on the forum. If you didn't understand my last post, then tell me what was unclear or ask again.
User avatar
By amosbatto
#793640
Here are two processes you can use:
(53.42 KiB) Downloaded 284 times
(62.48 KiB) Downloaded 279 times
You need to create three groups: "Review Committee", "Managers", and "Employees to Review" and you need to place all the employees and Managers in departments, so the managers are the department managers for the employees who will be reviewed.

The two tasks in the "Appraisal" process should be assigned to your "Review Committee" group.

The first task in the "Review Employee" task uses Value Based Assignment and the @@managerID variable and is assigned to the "Managers" group.
The second task also uses Value Based Assignment and the @@employeeID variable and is assigned to the "Employees to Review" group.

See the trigger in in the "Appraisal" process.
Want to create your own meme coin?

In the world of cryptocurrencies, a unique and exc[…]

The market for cryptocurrencies is demonstrating a[…]

What's SAP FICO?

Embarking on a dissertation can be one of the most[…]

Hello. For rental housing, there are software solu[…]