Да, конечно.
Вот пример кода. Он не оптимизирован. Надо в один запрос, который посылается на сайт, добавить тысячу строк и одним запросом менять сразу всю сортировку на сайте.
Тогда будет еще быстрее работать. Но и этот за минуты меняет данные. Таким же образом можно все менять в магазине. И цены и описание.
&НаСервере
Процедура СортировкаНаСервере()
АутентификацияСтандартная = Истина;
ИмяПользователя = “Имя”;
Пароль = “Пароль”;
СтрокаПодключения = “DRIVER={MySQL ODBC 5.2 ANSI Driver};
|SERVER=Мой_сайт.ru;
|Language=русский;
|STMT=SET CHARACTER SET cp1251;
|DATABASE=BASE;
|uid=”+ИмяПользователя+”;
|pwd=”+Пароль+”;
|”;
Connection = Новый COMОбъект(“ADODB.Connection”);
Connection.Open(СтрокаПодключения);
Connection.DefaultDatabase = “BASE”;
Recordset = Новый COMОбъект(“ADODB.Recordset”);
Для Каждого Стр из Объект.НоменклатураСписок Цикл
ID = УбратьПробелы(Стр.ID);
menu_order = УбратьПробелы(Стр.Номенклатура.ПорядокНаСайте);
ТекстЗапроса = “INSERT INTO db_posts
(ID, menu_order) VALUES(‘”+ ID +”‘,'”+ menu_order +”‘)
|ON DUPLICATE KEY UPDATE ID= VALUES(ID), menu_order= VALUES(menu_order)”;
Table = Connection.Execute(ТекстЗапроса);
КонецЦикла;
Connection.Close();
КонецПроцедуры
&НаКлиенте
Процедура Сортировка(Команда)
СортировкаНаСервере();
КонецПроцедуры
Функция УбратьПробелы(ВходящееЗначение)
Если ВходящееЗначение = “” Тогда
Возврат ВходящееЗначение;
КонецЕсли;
Значение = ВходящееЗначение;
Значение = СтрЗаменить(Значение,Символ(34),””);
Значение = СтрЗаменить(Значение,Символ(123),””);
Значение = СтрЗаменить(Значение,Символ(125),””);
Значение = СокрЛП(СтрЗаменить(Значение, Символы.НПП, “”));
Значение = СокрЛП(СтрЗаменить(Значение, ” “, “”));
Возврат Значение;
КонецФункции