Доброго времени суток. Подскажите как можно решить данную задачу...
Есть такая схема сущностей (111.png). Создана кнопка автоматизации "Отмена Проекта" - Нужно что бы во всех вложенных сущностях (Этапы Проекта и Задачи Проекта) Статус менялся на "Отменён". Для первого вложения (Этап проекта) это сделать без проблем (222.png), а вот для "Задачи Проекта" возможности нет. Как можно выйти из данного положения?
Заранее спасибо!
Автоматизация
Re: Автоматизация
два варианта
-сделать явную связь между 1 и 3 сущностью (не удобно ни разу в использовании системой, но проще в настройке)
-использовать автоматизацию - код php и написать код который будет по структуре проходить и обновлять значения
-сделать явную связь между 1 и 3 сущностью (не удобно ни разу в использовании системой, но проще в настройке)
-использовать автоматизацию - код php и написать код который будет по структуре проходить и обновлять значения
Re: Автоматизация
Спасибо!
Первый вариант, наверное, сразу нет))) ибо действительно не удобно будет пользоваться.
Второй вариант - нужна помощь, т.к совсем не писатель кодов))))
Первый вариант, наверное, сразу нет))) ибо действительно не удобно будет пользоваться.
Второй вариант - нужна помощь, т.к совсем не писатель кодов))))
- Fait
- Инвестор

- Сообщения: 1197
- Зарегистрирован: 19 ноя 2020, 17:46
- Имя: Максим Балакшеев
- Откуда: Россия, Златоуст
- Организация: ИП Балакшеев Максим Георгиевич
- Контактная информация:
Re: Автоматизация
mike_22 писал(а): 17 май 2023, 13:36 Спасибо!
Первый вариант, наверное, сразу нет))) ибо действительно не удобно будет пользоваться.
Второй вариант - нужна помощь, т.к совсем не писатель кодов))))
Код: Выделить всё
$ent_1 = 55; // ID текущей сущности
$ent_2 = 77; // ID сущности 2 уровня
$ent_3 = 99; // ID сущности 3 уровня
$ent_1_f_stat = 555; // ID поля Статус в текущей сущности
$ent_1_f_stat_val = 5555; // ID значения "Отмена" в поле Статус в текущей сущности
$ent_2_f_stat = 777; // ID поля Статус в сущности 2 уровня
$ent_2_f_stat_val = 7777; // ID значения "Отмена" в поле Статус в сущности 2 уровня
$ent_3_f_stat = 999; // ID поля Статус в сущности 3 уровня
$ent_3_f_stat_val = 9999; // ID значения "Отмена" в поле Статус в сущности 3 уровня
// Если статус родительской сущности "Отмена"
if ($ent_1_f_stat == $ent_1_f_stat_val) {
// То делаем запрос по вложенным сущностям
$check_e2 = db_query('select * from app_entity_'.$ent_2.' where parent_item_id='.$ent_1);
foreach ($check_e2 as $key => $value) {
$ent2_id = $value['id'];
// Обновляем статусы в записях сущности 2 уровня
db_query ('update app_entity_'.$ent_2.' set field_'.$ent2_status.'='.$ent_2_f_stat_val.'where id='.$ent2_id);
// Обновляем статусы в записях сущности 3 уровня
db_query ('update app_entity_'.$ent_3.' set field_'.$ent3_status.'='.$ent_3_f_stat_val.'where parent_item_id='.$ent2_id);
}
}Если заполните правильно, то всё сработает. Если нет, то присылайте результат, будем разбираться)
Re: Автоматизация
Спасибо огромное. Завтра буду пробовать!
Re: Автоматизация
Вот ещё вариант:
Изменить поля записей сущности второго уровня вложенности:
в автоматизацию добавить "Выполнить PHP скрипт"
XX - номер сущности "Этапы Проекта"
YY - номер сущности "Задачи Проекта"
ZZ - номер поля со статусом
VALUE - номер статуса из настроек поля ZZ
Изменить поля записей сущности второго уровня вложенности:
в автоматизацию добавить "Выполнить PHP скрипт"
XX - номер сущности "Этапы Проекта"
YY - номер сущности "Задачи Проекта"
ZZ - номер поля со статусом
VALUE - номер статуса из настроек поля ZZ
Код: Выделить всё
$var = db_query("SELECT `id` FROM `app_entity_XX` WHERE `parent_item_id` = [id]");
while($var_arr = mysqli_fetch_assoc($var)) {
db_query("UPDATE `app_entity_YY` SET `field_ZZ` = 'VALUE' WHERE `parent_item_id` = {$var_arr['id']}");
}