Функция котрую надо поменыять если обновится CRM для того что бы в счетах выводились только завершонные задачи
public function get_billable_tasks($customer_id = false, $project_id = '')
{
$has_permission_view = staff_can('view', 'tasks');
$noPermissionsQuery = get_tasks_where_string(false);
$this->db->where('billable', 1);
$this->db->where('billed', 0);
// Только завершённые задачи
$this->db->where('status', 5);
if ($project_id == '') {
$this->db->where('rel_type != "project"');
} else {
$this->db->where('rel_type', 'project');
$this->db->where('rel_id', $project_id);
}
if ($customer_id != false && $project_id == '') {
$this->db->where('
(
(rel_id IN (SELECT id FROM ' . db_prefix() . 'invoices WHERE clientid=' . $this->db->escape_str($customer_id) . ') AND rel_type="invoice")
OR
(rel_id IN (SELECT id FROM ' . db_prefix() . 'estimates WHERE clientid=' . $this->db->escape_str($customer_id) . ') AND rel_type="estimate")
OR
(rel_id IN (SELECT id FROM ' . db_prefix() . 'contracts WHERE client=' . $this->db->escape_str($customer_id) . ') AND rel_type="contract")
OR
(rel_id IN (SELECT ticketid FROM ' . db_prefix() . 'tickets WHERE userid=' . $this->db->escape_str($customer_id) . ') AND rel_type="ticket")
OR
(rel_id IN (SELECT id FROM ' . db_prefix() . 'expenses WHERE clientid=' . $this->db->escape_str($customer_id) . ') AND rel_type="expense")
OR
(rel_id IN (SELECT id FROM ' . db_prefix() . 'proposals WHERE rel_id=' . $this->db->escape_str($customer_id) . ' AND rel_type="customer") AND rel_type="proposal")
OR
(rel_id IN (SELECT userid FROM ' . db_prefix() . 'clients WHERE userid=' . $this->db->escape_str($customer_id) . ') AND rel_type="customer")
)'
);
}
if (!$has_permission_view) {
$this->db->where($noPermissionsQuery);
}
$tasks = $this->db->get(db_prefix() . 'tasks')->result_array();
$i = 0;
foreach ($tasks as $task) {
$task_rel_data = get_relation_data($task['rel_type'], $task['rel_id']);
$task_rel_value = get_relation_values($task_rel_data, $task['rel_type']);
$tasks[$i]['rel_name'] = $task_rel_value['name'];
$tasks[$i]['started_timers'] = total_rows(db_prefix().'taskstimers', [
'task_id' => $task['id'],
'end_time' => null,
]) > 0;
$i++;
}
return $tasks;
}