Проверка перед удалением.

Все вопросы/проблемы по установке и использовании.
Ответить
imamverdiyeveldar
Сообщения: 345
Зарегистрирован: 01 мар 2019, 08:57
Имя: Эльдар Имамвердиев
Откуда: Россия, Санкт-Петербург

Проверка перед удалением.

Сообщение imamverdiyeveldar »

Добрый день, подскажите пожалуйста как можно реализовать данный функционал? Допустим есть записи, чтобы при нажатии на кнопку удалить или из "с выбранными" проводилась проверка по одному из полей записи и потом проводилось удаление в противном случае оставить не удалить.
Для чего нужно: есть сущность номенклатура, эти записи могут быть использованы в разных сущностях (продажи, приходы, возвраты и т.д.) и когда удаляешь запись тут, заходишь в приходы и видишь безымянную запись. Стандартными средствами почему то не получилось забыл почему (правила доступа хотят выпадающий список отдельный, который так же в свою очередь надо настроить на нужный статус. автостатус работает на странице записи после редактирования кажется)

В любом случае думаю можно как то проще решить данную проблему. Допустим есть поле кол-во записей в подсущности. если оно равно нулю - то можно удалить. нет если там есть запись запретить удаление или же пропустить
nruslan2
Сообщения: 2403
Зарегистрирован: 14 окт 2020, 09:13
Имя: Ruslan
Откуда: Moscow
Контактная информация:

Re: Проверка перед удалением.

Сообщение nruslan2 »

Использовать автоматизацию - там есть выполнить процесс перед удалением.
imamverdiyeveldar
Сообщения: 345
Зарегистрирован: 01 мар 2019, 08:57
Имя: Эльдар Имамвердиев
Откуда: Россия, Санкт-Петербург

Re: Проверка перед удалением.

Сообщение imamverdiyeveldar »

nruslan2 писал(а): 21 фев 2024, 11:00 Использовать автоматизацию - там есть выполнить процесс перед удалением.
не подскажите код? как запретить удаление если поле А > 0 например
imamverdiyeveldar
Сообщения: 345
Зарегистрирован: 01 мар 2019, 08:57
Имя: Эльдар Имамвердиев
Откуда: Россия, Санкт-Петербург

Re: Проверка перед удалением.

Сообщение imamverdiyeveldar »

imamverdiyeveldar писал(а): 21 фев 2024, 11:20
nruslan2 писал(а): 21 фев 2024, 11:00 Использовать автоматизацию - там есть выполнить процесс перед удалением.
не подскажите код? как запретить удаление если поле А > 0 например
хах! нашел решение самое простое:
1)запретить всем удалять запись
2)создать процесс удаления записи, выполнить php код:

$tovar = [id];

db_query("delete from app_entity_37 where id={$tovar}");
3)повесить фильтр на эту автоматизацию
и все.
tehnos
Сообщения: 127
Зарегистрирован: 13 сен 2021, 17:10
Имя: Евгений
Откуда: Алушта

Re: Проверка перед удалением.

Сообщение tehnos »

Удалять напрямую из базы - так себе варик.
Используйте класс:

Код: Выделить всё

items::delete($entities_id, $items_id);
В Вашем случае выглядит так:

Код: Выделить всё

$tovar = [id];
items::delete(37, $tovar);
imamverdiyeveldar
Сообщения: 345
Зарегистрирован: 01 мар 2019, 08:57
Имя: Эльдар Имамвердиев
Откуда: Россия, Санкт-Петербург

Re: Проверка перед удалением.

Сообщение imamverdiyeveldar »

tehnos писал(а): 22 фев 2024, 07:56 Удалять напрямую из базы - так себе варик.
Используйте класс:

Код: Выделить всё

items::delete($entities_id, $items_id);
В Вашем случае выглядит так:

Код: Выделить всё

$tovar = [id];
items::delete(37, $tovar);
Подскажите пожалуйста в чем разница?
tehnos
Сообщения: 127
Зарегистрирован: 13 сен 2021, 17:10
Имя: Евгений
Откуда: Алушта

Re: Проверка перед удалением.

Сообщение tehnos »

Если удалять напрямую из БД - система не знает, что Вы что-то удаляете и не запустит соответствующие автоматизации и процессы (если они конечно есть).
Например, не отправит уведомления или не изменит автостатус или ещё что Вы там навесите на удаление записей.
nruslan2
Сообщения: 2403
Зарегистрирован: 14 окт 2020, 09:13
Имя: Ruslan
Откуда: Moscow
Контактная информация:

Re: Проверка перед удалением.

Сообщение nruslan2 »

в данном случаи у вас как минимум из доп таблицы значения спиков - не будут удалены данные.

воспользуйтесь советом выше использовать готовые команды.

Касательно общего способа, минус вашего варианта(отключить удаление вообще) в том, что это спецкнопка, а стандартные кнопки удаления отключены!
imamverdiyeveldar
Сообщения: 345
Зарегистрирован: 01 мар 2019, 08:57
Имя: Эльдар Имамвердиев
Откуда: Россия, Санкт-Петербург

Re: Проверка перед удалением.

Сообщение imamverdiyeveldar »

Большое спасибо за информацию!!!
Ответить