27.11.2002, 11:19 | #1 |
Участник
|
Удаление товаров
ПРОБЛЕМА:
Нужно программно обеспечить удаление товаров, которые возможно удалить интерактивно. Например, интерактивно товар не дает удалить из-за наличия ценовых соглашений. Следовательно, программно такие товары трогать не нужно. Если же их можно удалить интерактивно, то и программно они должны быть уничтожены. Когда пытаюсь удалить их программно с помощью delete_from или InventTable.delete() то уничтожаются все записи в связанных таблицах, у которых DeleteAction установлен в Cascade, и остаются те, где стоит Restricted. |
|
27.11.2002, 12:22 | #2 |
Участник
|
Удаление товаров
Разобрался.
Нужно было использовать validateDelete if(iTable.validateDelete()){ iTable.delete(); } |
|
27.11.2002, 14:14 | #3 |
Участник
|
Вообще говоря, метод delete должен проверять validate сам.
а Метод doDelete() удаляет ничего не проверяя. См. хелп разработчика. Ключевая фраза "Deleting a record: sequence of events". Кстати, много интересного можно взять по ключевому слову "sequence" |
|
27.11.2002, 14:41 | #4 |
Участник
|
Удаление товаров
На практике сложилось впечатление, что сам validate не вызывается.
Так погибли три товара(( |
|
27.11.2002, 15:02 | #5 |
Участник
|
Не думаю, что эта часть не работает.
По крайней мере, я использовал такое поведение. Может где в другом месте собака порылась? Если есть сомнения, то попробуй сделать тестовый job на тестовой базе. |
|
|
Похожие темы | ||||
Тема | Ответов | |||
Удаление файла | 6 | |||
Размещение товаров по ячейкам | 9 | |||
Корректное удаление проводки | 7 | |||
Группы товаров. | 4 | |||
Удаление проекта | 0 |
|