Здравствуйте. Подскажите пожалуйста функцию для удаления заказов. Пишу модуль который будет удалять просроченные заказы, а вот напрямую через sql запрос не получается.
						
						
						
					
					
				функция для удаления заказов
28.10.2011 17:59
						Насколько я понимаю вся проблема в в том что стоит запрет на удаление, или добавления данных. Походу должна быть стандартная функция которая это все касается, и удаление за одним проходом всех привязан записей по всей базе но к сожалению я не знаю сработает ли такой метод, буду благодарен зха помощь.
						
						
						
					
					
				29.10.2011 04:48
						Как правило, в хороших учётных системах учётные объекты не удаляются.
В частности в вашем случае просроченные заказы - важные исходные данные для анализа потребительского поведения.
Анализируя просроченные заказы, можно понять, что надо делать в данном конкретном магазине, чтобы просрочек было меньше.
						
					
					
				В частности в вашем случае просроченные заказы - важные исходные данные для анализа потребительского поведения.
Анализируя просроченные заказы, можно понять, что надо делать в данном конкретном магазине, чтобы просрочек было меньше.
29.10.2011 13:16
						Дмитрий вы как никто другой понимаете, что если заказчик хочет, чтобы ему удалялись старые заказы то программисту нужно это реализовать. К сожалению у меня нет возможности изучить Магента как фраемворк по нехватке литературы и времени, поэтому спрашиваю если кому известная функция удаления заказов будьте добры выложить ее на форуме. Буду бесконечно благодарен.
						
						
						
					
					
				29.10.2011 13:24
						Для вас: поставьте модуль Delete Any Order.
Хочу обратить внимание заказчиков, которые будут читать данную тему, что удаление заказов и других учётных объектов системы - прямой путь к коррупции для административного персонала интернет-магазина.
Также хочу обратить внимание на разницу между исполнительным программистом и программистом, предлагающим качественные решения.
						
					
					
				Хочу обратить внимание заказчиков, которые будут читать данную тему, что удаление заказов и других учётных объектов системы - прямой путь к коррупции для административного персонала интернет-магазина.
Также хочу обратить внимание на разницу между исполнительным программистом и программистом, предлагающим качественные решения.
29.10.2011 14:00
						Спасибо Дмитрий, но думаю в свое время вы тоже не делали все идеально. Все приходит со временем и опытом, который появляется при выполнении самых разнообразных задач. И плюс то, что оплата услуг профессионала и новичка Магентo существенно отличается. И  лично я не вижу ничего плохого в том, что владелец сайта сможет удалить уже не нужную для него информацию о заказах которые проводились давным давно, тем самым он проведет чистку базы данных и соответственно уменьшит ее размер. Тем более Магента дает возможность ручного удаления всех заказов, в моем случае его нужно автоматизировать. Хорошего вам дня!
						
						
						
					
					
				29.10.2011 21:27
						К сожалению Дмитрий я не нашел бесплатного екстеншина который вы мне посоветовали, однако в продолжение к теме я написал такую функцию которая должна была удалять записи заказа. Ниже привожу сам sql запрос он работает но к сожалению не так как нужно. Данный запрос удаляет все записи из данных таблиц, однако при указании параметра WHERE он престает выполняться. Я проверял сам запрос непосредственно на базе данных все работает как и должно, однако с самого Магенто он выполняться категорически отказывается. Я так понимаю, что именно Магенто выполняет блокировки таких действий. Однако, если возможно подскажите, как можно обойти данный блок.
Ето работает
Ето нет
Если выполнить этот запрос напрямую в базе все отработает.
						
					
					
				Ето работает

$connection = Mage::getSingleton('core/resource')->getConnection('core_write');
$connection->beginTransaction();
$delete = $connection->query('
SET FOREIGN_KEY_CHECKS=0;
ALTER TABLE `catalogsearch_query` AUTO_INCREMENT=1;
DELETE FROM sales_flat_order;
DELETE FROM sales_flat_order_address;
DELETE FROM sales_flat_order_grid;
DELETE FROM sales_flat_order_item;
DELETE FROM sales_flat_order_payment;
DELETE FROM sales_flat_order_status_history;
ALTER TABLE `sales_flat_order` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_order_address` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_order_grid` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_order_item` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_order_payment` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_order_status_history` AUTO_INCREMENT=1;
SET FOREIGN_KEY_CHECKS=1;Ето нет

$connection = Mage::getSingleton('core/resource')->getConnection('core_write');
$connection->beginTransaction();
$delete = $connection->query('
SET FOREIGN_KEY_CHECKS=0;
ALTER TABLE `catalogsearch_query` AUTO_INCREMENT=1;
DELETE FROM sales_flat_order WHERE entity_id=20;
DELETE FROM sales_flat_order_address WHERE parent_id=20;
DELETE FROM sales_flat_order_grid WHERE entity_id=20;
DELETE FROM  sales_flat_order_item WHERE order_id=20;
DELETE FROM  sales_flat_order_payment WHERE entity_id=20;
DELETE FROM   sales_flat_order_status_history WHERE parent_id=20;
ALTER TABLE `sales_flat_order` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_order_address` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_order_grid` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_order_item` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_order_payment` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_order_status_history` AUTO_INCREMENT=1;
SET FOREIGN_KEY_CHECKS=1;
');
Если выполнить этот запрос напрямую в базе все отработает.
30.10.2011 05:04
						Слова, выделенные жирным в моём предыдущем сообщении - введите в адресную строку Google.
Данный модуль стоит 20 евро.
						
					
					
				Данный модуль стоит 20 евро.
30.10.2011 14:56
						Я ето знаю поетому написал, что я не нашел бесплатного екстеншина который вы мне посоветовали.
						
						
						
					
					
				30.10.2011 14:58
						Это какое-то недоразумение: я бесплатный не советовал.
Я советовал именно тот, название которого написал.
						
					
					
				Я советовал именно тот, название которого написал.
30.10.2011 15:07
						Возможно мы не поняли друг друга. Однако платный вариант мне не подходит так, как мне не нужен данный модуль,. а лишь посмотреть на его функции. А платить 20 евро за то, чтобы взглянуть не является разумным решением проблемы. Ну по крайней мере в моем случае. Вы можете мне что-то посоветовать отталкиваясь от запроса который я написал выше? Почему оно не воспринимает WHERE и как это можно обойти. Так как именно в данной команде и есть ключ к решению моей проблемы.
						
						
						
					
					
				30.10.2011 15:16
						Если вы считаете, что решение данной проблемы не стоит 20 евро, значит, тему закрываем по причине низкой ценности.
						
						
						
					
					
				
 Вход
 Вход Регистрация
 Регистрация Помощь
 Помощь Тема закрыта
 Тема закрыта

 
			
			

