Я пытаюсь настроить рабочий процесс в vtiger, который экспортирует счет в pdf, когда счет имеет определенный статус.
Чтобы сделать это, я думал об использовании «Вызвать пользовательскую функцию». Eсть документация по нему, но не понятно, как: где / в каком файле регистрировать менеджер событий ??
Я также обнаружил, что те же вопросы на самом деле был задан и решен другим человеком, но когда я открыл ссылку в сообщении, это привело меня к ошибке «Страница не найдена».
require_once 'include/utils/utils.php';
require 'modules/com_vtiger_workflow/VTEntityMethodManager.inc';
$emm = new VTEntityMethodManager($adb);
//$emm->addEntityMethod("Module Name","Label", "Path to file" , "Method Name" );
$emm->addEntityMethod("Invoice", "Update Inventory", "include/InventoryHandler.php", "handleInventoryProductRel");
Добавьте эти строки кода в php-файл, замените его именем модуля, меткой, путем, именем метода и добавьте файл в экземпляр vtiger, запустите файл. Он будет добавлен в таблицу базы данных «com_vtiger_workflowtasks_entitymethod». Теперь вы можете использовать свою функцию вызова в разделе рабочего процесса для конкретного модуля.
сделано все согласно ответу перед
<?php
require_once 'include/utils/utils.php';
require 'modules/com_vtiger_workflow/VTEntityMethodManager.inc';
$emm = new VTEntityMethodManager($adb);
#addEntityMethod("Module", "LABEL", "FILENAME", "FUNCTION_NAME");
$emm->addEntityMethod("Accounts", "Update Account","modules/Accounts/updateAccountData.php", "updateAccountData");
?>
2- Этот файл был выполнен Http: //IP/registerworkflow.php
и я могу увидеть обновление учетной записи в пользовательском скрипте
3 — создать простую функцию
<?php
function updateAccountData($entity){
$file = '/tmp/people.txt';
$current = file_get_contents($file);
$current .= "John Smith\n";
file_put_contents($file, __LINE__.':'.print_r($current, true)."\r\n");
}
?>
4-файл /tmp/people.txt был создан мной и 777 chmod
5- отправка письма была добавлена в рабочий процесс теста
(поэтому первым шагом выполните функцию «Обновить учетную запись» во втором письме)
Но странно, что я могу восстановить imail, но скрипт не помещает данные в тестовый файл