Страница 1 из 1

Метод проверки удаления

Добавлено: 29 Сентябрь 2016, 23:28
Игорь Столяров
Привет всем !

Есть несколько связанных списков, в словаре описаны правила запрета на удаление связанных записей.
При удалении из BROWSE все запреты правильно отрабатывают - OK !

Есть непреодолимое желание "пробежаться" по списку и отметить записи,
при удалении которых возникнет запрет из-за наличия записей в связанных списках.

Можно конечно, сделать это вручную, описав в коде и проверив все связи,
а потом отслеживать все изменения связей в словаре .... :(

Но ведь шаблоны ABC это и так уже сделали и используют эту проверку при удалении записей !
Подскажите пожалуйста, кто-нибудь знает каким методом ABC проверить возможность удаления записи ?

Заранее спасибо ! :)

Метод проверки удаления

Добавлено: 30 Сентябрь 2016, 10:17
kreator
Игорь Столяров писал(а):Но ведь шаблоны ABC это и так уже сделали и используют эту проверку при удалении записей !
Сомневаюсь в этом. Проверка должна производится в момент удаления. Во-первых, очень долго проверять все связи и наличие связанных записей. Во-вторых, есть вариант положиться в этом вопросе на SQL сервер. Тогда классы вообще ничего не делают, сообщают только ошибку сервера. Думаю, если уж есть такая необходимость, то руками реализовывается. Как пример - шаблон дерева (не важно - по одному файлу или нет). При создании ветки всегда делается проверка на наличие "подветок", чтобы правильно нарисовать иконку, к примеру.

Метод проверки удаления

Добавлено: 30 Сентябрь 2016, 10:27
Игорь Столяров
kreator писал(а): Во-вторых, есть вариант положиться в этом вопросе на SQL сервер.
Приношу извинения, не указал в вопросе: формат БД - TopSpeed (TPS).

Метод проверки удаления

Добавлено: 30 Сентябрь 2016, 11:10
kreator
Игорь Столяров писал(а):Приношу извинения, не указал в вопросе: формат БД - TopSpeed (TPS).
Совершенно не важно. За Referential Integrity отвечает Relation Manager Class. Есть у него метод Delete для удаления записей. Посмотрите что можно вытащить из него (из этого класса).