Доп. действия

Разработчику

Общая информация

В CRM программе "Клиентская база" имеется функция "Доп. действия". Она позволяет производить любые операции с одной, несколькими выбранными или всеми строками по нажатию на кнопку. Код этой кнопки пишет администратор системы, по аналогии с вычислениями. При этом, доп. действие можно создать с помощью конструктора.

Конструктор доп. действий может быть полезен:

  • Владельцам бизнеса и директорам, так как это решение экономит время и деньги на сторонние доработки.
  • IT-специалистам и техдиректорам, которые собственными силами реализовывают индивидуальные решения в компании. С помощью этого решения ускоряется реализация простых доработок без привлечения сторонних специалистов.
  • Разработчикам и компаниям внедряющим CRM системы, т.к. с помощью конструктора возможно быстро создать шаблон/прототип, на основе которого будет разработано более сложный функционал.

 

Начало работы

Чтобы добавить "Доп.действие" в нужную нам таблицу, необходимо

1. Зайти в "Настройки" — "Конфигурация"

photo photo

2. Открыть категорию, в которой содержиться нужная таблица, и затем перейти в настройки этой таблицы

photo photo

 

3. Далее переходим в меню доп. действий и нажимаем кнопку "Добавить доп. действие"

photo photo

Заполняем все поля "Доп. действия"

photo

Перечень настроек доп. действий

Название доп. действия – Название, которое будет отображаться на кнопке доп. действия. По нему можно будет легко определить его функционал.
Режим цвета – вариант выбора цвета для кнопки доп.действия. Здесь есть два варианта: выбор из перечня (вариант «Стандартный») или ручной выбор цвета для текста и фона (вариант «Палитра»).
Режим – в данном поле выбирается, как мы будет создавать код вычисления – с помощью конструктора (вариант «Режим конструктора») или задав код вручную (вариант «Режим эксперта» рекомендуется только при наличии навыков программирования на PHP и отсутствии подходящих шаблонов).
Ввод параметров – выбор значения в этой опции определяет, будут ли вводится данные во всплывающем окне, появляющемся при нажатии кнопки доп. действия. При выбранном варианте «Да» появится дополнительная настройка «Параметры», где можно будет указать перечень полей, доступных для редактирования во всплывающем окне.
Условия – условия, при которых происходит выполнение доп. действия.
Кроме этого, у доп. действия есть дополнительные настройки:
Выполнено – сюда записывается текст, который будет выводиться при успешном выполнении доп. действия.
Провалено – сюда записывается текст, который будет выводиться, если вычисление в доп. действии выполнить не удалось.

 

Перечень вычислений

Общие
    Копировать/создать запись. С помощью этого шаблона возможно создать копию записи в другой таблице. Доп. действие может быть полезно, когда необходимо скопировать запись при отсутствии прав на добавление новых записей в таблице.

Текущая таблица
    Копировать поле. Копирует значение из одного поля записи в другое.
    Изменить поле. Изменяет значение поля на нужное. Доп. действие может быть полезно, когда необходимо в один клик изменить значение конкретного поля без необходимости перехода в режим редактирования.
    Очистить поле.  Доп. действие может быть полезно, когда необходимо удалить информацию о долге по счету либо внесенное ранее примечание.
    Число: Математическая формула. С помощью доп. действия можно создать любое математическое выражение, используя поля таблицы. Может быть полезно, когда необходимо подсчитать сумму позиции счета, с учетом цены, количества и скидки.
    Дата: Установить текущую дату. Заполняет выбранное поле текущей датой. Шаблон может быть полезен, когда нужно одним кликом указать дату подписания договора.
    Дата: Изменить дату. Данный шаблон прибавляет или убавляет выбранное количество дней от даты, указанной в одном из полей программы, и заносит итоговое значение в другое поле. Доп. действие может быть полезно, например, когда необходимо подсчитать расчетную дату окончания времени работы по договору.
    Текст: Найти и заменить текст. Заменяет в таблице одно указанное значение на другое. Доп. действие может быть полезно, когда необходимо массово сменить статусы у группы приходов.

Подтаблица
    Создать запись в подтаблице. С помощью этого шаблона возможно создать копию записи в другой таблице. Доп. действие может быть полезно, когда необходимо скопировать запись при отсутствии прав на добавление новых записей в таблице.
    Копировать поле из основной записи в подтаблицу. Копирует значение из поля записи в другое поле, находящееся в подтаблице.
    Копировать поле из подтаблицы в основную запись. Данный шаблон заполняет поле основной записи значением выбранного поля подтаблицы. При этом можно указать, из какой записи подтаблицы будет подтягиваться значение – из первой или последней. Доп. действие может быть полезно, когда необходимо подтянуть дату первого или последнего контакта с клиентом на основании записей, внесенных в историю работы с ним.

Связанная таблица
    Копировать поля из связанной таблицы. Заполняет поле текущей таблицы значением из поля в связанной записи, указанной в выбранном поле «Связь». Доп. действие может быть полезно, когда необходимо подтянуть статус из карточки клиента в заявку.
    Изменить поля в связанной таблице. Заполняет поле в связанной записи, указанной в выбранном поле «Связь», значением из поля текущей таблицы. Доп. действие может быть полезно, когда в карточку клиента необходимо подтянуть статус из заявки.

Шаблоны
    Отправить шаблон рассылки. Доп. действие может быть полезно, когда необходимо отправить определенный шаблон одним кликом мыши.
    Отправить шаблон смс рассылки. Единственное отличие от предыдущего шаблона в том, что будет отправлен шаблон СМС.
    Распечатать шаблон печати. Доп. действие может быть полезно, когда необходимо распечатать определенный шаблон одним кликом мыши.
    Сохранить шаблон печати в файл. Доп. действие аналогично функции печати в файл в браузере, при этом файл сразу закрепляется в нужной записи. Может быть полезно для сохранения коммерческого предложения, которое было отправлено клиенту.

Статус записи
    Удалить запись. Доп. действие может быть полезно, когда необходимо удалить запись при отсутствии прав на просмотр удаленных записей в таблице.
    Архивировать запись. Доп. действие может быть полезно, когда необходимо архивировать запись при отсутствии прав на просмотр архивированных записей в таблице.
    Восстановить запись. Доп. действие может быть полезно, когда необходимо восстановить запись при отсутствии прав на просмотр архивированных и удаленных записей в таблице.

Другое    
    Копировать значение поля до изменения. Доп. действие может быть полезно, чтобы сохранить предыдущий статус по клиенту.

Группировка доп. действий

Если в таблице находится очень большое количество доп. действий, то они могут занимать место на экране, затрудняя доступ к подтаблицам. Чтобы облегчить работу с записью, и был создан этот функционал.
Для создания группы перейдите в настройки доп. действий таблицы и нажмите кнопку «Добавить группу».

photo

В новом окне введите название группы и укажите цвет кнопки группировки.

photo

После создания группы переместите ее выше тех доп. действий, которые должны входить в нее. При этом стоит учесть, что нижние границы группы указать невозможно, поэтому в нее войдут все доп. действия, находящиеся ниже вплоть до конца списка доп. действий или до следующей группы доп. действий.

После этого все доп. Действия, входящие в группу, не будут отображаться – вместо них в записи будет отображаться кнопка группировки, при нажатии на которую будет появляться перечень входящих в нее доп. действий. При этом в таблице доп. действия будут выводиться все так же без группировки.

 

Перечень примеров в режиме эксперта

Пример 1. Есть таблица "Задания" и нам необходимо чтобы по нажатию кнопки "Принять" (код которой мы опишем ниже) во всех строках выделенные галочками поле "Принято" менялось свое значение на "Да", а в поле "Дата выполнения" проставлялись текущие дата и время.

Для описанного выше примера нам потребуется вставить следующий код:

$line['Принято'] = 'Да';
$line['Дата выполнения'] = date("Y-m-d H:i:s"); 

Сохраняем данное доп. действие и (ВАЖНО) разрешаем доступ для тех групп которым разрешено пользоваться данной функцией.

После этого у всех пользователей, у которых разрешен доступ появятся следующие кнопки:

 

Выпадающий список "Дополнительно" (со списком всех доп. действий) в таблице "Задания"

и кнопка "Принять " внутри каждой записи, под кнопками "Редактировать" и "Вернуться в таблицу"

Теперь принять задание (или сразу несколько заданий) можно будет из общей таблицы, выделив галочками нужные задания и нажав кнопку - "Дополнительно" — "Принять". Либо внутри каждой записи, нажав на аналогичную кнопку.

Усложним пример 1 и кроме всех описанных в нем действий, по нажатию кнопки "Принять с оценкой" должна еще проставляться оценка в поле "Оценка", которую пользователь должен вводить во всплывающем окне.

Пример 2. Есть таблица "Задания" и нам необходимо чтобы по нажатию кнопки "Принять" (код которой мы опишем ниже) во всех строках выделенные галочками поле "Принято" менялось свое значение на "Да", а в поле "Дата выполнения" проставлялись текущие дата и время. Также в поле "Оценка" должно подставляться значение из всплывающего окна.

В этом случае "Тип доп. действия" ставим "Во всплывающем окне" и пишем следующий код:

if (isset($_REQUEST["rating"]))
   {
     $line['Оценка']=$_REQUEST["rating"];
     // производим нужные нам действия с необходимыми полями
     $line['Принято']='Да'; 
     $line['Дата выполнения']= date("Y-m-d H:i:s");
     echo "";
   }
echo "
"; echo "Введите оценку :"; echo "$button_id" />"; // Передаем значение кнопки echo ""; // Значение строки echo "<input name="rating" type="text" value="5" />"; // Передаем оценку echo "<input type="submit" value="Оценить" />"; echo ""
;

Дополнительные примеры доп.действий

Пример 3. В таблице "Счета" есть поля "Сумма", "Оплачено", "Остаток", "Дата платежа". Необходимо чтобы по доп. действию "Оплачено" поле "Остаток" переносилось бы в поле "Оплачено", а само обнулялось бы. Кроме этого чтобы в поле "Дата платежа" проставлялось сегодняшнее число.

$line['Оплачено']=$line['Остаток'];
$line['Остаток']="";
$line['Дата платежа']=date("Y-m-d H:i:s");

ПРИМЕЧАНИЕ К ПРИМЕРУ.

Вместо строки

$line['Оплачено']=$line['Остаток'];

можно написать

$line['Оплачено']=$line['Оплачено']+$line['Остаток'];

в этом случае если вы случайно нажмете кнопку "Принять" еще раз, поле "Оплачено" не обнулиться.

Пример 4. Необходимо перенести данные записи из таблицы "Неподписанные договора" в таблицу "Текущие договора". После этого, запись в таблице "Неподписанные договора" нужно удалить.

$arr['Номер'] = $line['Номер'];
$arr['Название'] = $line['Объект'];
$arr['Контакт'] = $line['Контакт'];
$arr['Телефон'] = $line['Телефон'];
$arr['Сумма'] = $line['Цена объекта'];
$arr['e-mail'] = $line['e-mail'];
$arr['Тип договора'] = $line['Тип договора']; //заносим значения из полей таблицы "Неподписанные договора"в массивдругую
$newid = insert_query($arr, "Текущие договора"); //создаем новую запись в таблице "Текущие договора", куда, собственно, и вносим информацию из полей
$fls=explode("rn",$line['КП']); // разделяем все файлы из поля "КП" таблицы "Неподписанные договора"(если в одно поле может быть закачано несколько файлов)
foreach ($fls as $f_name) {  create_data_file_dirs(1215,$newid, $f_name); // создаем директорию, куда переносим физически файл  
copy(get_file_path(1181,$ID, $f_name), get_file_path(1215,$newid, $f_name)); // копируем название файла, а также физически копируем сам файл }
$sqlQuery = "UPDATE `".DATA_TABLE."92` SET `status`='1' WHERE `id`='$ID'"; // удаляем строку из таблицы "Неподписанные договора" (id этой таблицы - 92), откуда перенесли информацию
sql_query($sqlQuery); 

Пример 5. Необходимо выделить несколько строк в таблице , и выполнить по ним доп. действие, которое вызывает окно для ввода дополнительных парамтеров.

 
// Название
$smarty->assign("cur_title", "Рассылка от менеджер");
// Подключаем шапку
smarty_display("index_top");
// Список записей
$ids = array();
// Выбранно несколько или выбранна одна
if (is_array($_REQUEST['sel']))
{
 if (count($_REQUEST['sel'])) 
 {
 foreach ($_REQUEST['sel'] as $id) { $ids[] = (int)$id; }
 }
 }
// Запустили из записи
else {
 $ids[] = $ID;
}
// Подключаем подвал
include "index_bottom.php";
exit;


+ сегодня

компаний уже выбрали Клиентскую базу!
Узнайте, почему.

  • компания
  • компании
  • компаний
  • выбрала
  • выбрали
  • выбрали

Создайте собственный аккаунт прямо сейчас! Бесплатно! Начать бесплатно