Исправить текст
// Исправление орфографических ошибок в тексте переданного параметра с помощью сервиса yandex.speller.
// Для работы скрипта необходим интернет.Запускается из других скриптов
Текст = Этот.Параметр.Текст;
Если (Текст="") Тогда Возврат; Конец;
Страница = Этот.Определить(0, Объекты.Вебстраница, Свойства.Наименование, "Временная");
Страница.Адрес = "http://speller.yandex.net/services/spellservice/checkText?ie=1251&text="+ Текст;
Результат = Страница.Обновить();
уровень = 0;
смещение = 1;
исправлений = 0;
СтрокаАтрибутов = "";
Если (Результат>0) Тогда
Структура = Страница.Определить(0, Объекты.Дерево, Свойства.Наименование, "Структура");
Для Объект Из Структура Цикл
Если ((уровень=0)И(Объект.Тег="error")) Тогда
СтрокаАтрибутов = Объект.Атрибуты;
уровень = 1;
Конец;
Если ((уровень=1)И(Объект.Тег="word")) Тогда
уровень = 2;
Конец;
Если ((уровень=2)И(Объект.Тег="s")) Тогда
Позиция = Числа.Число(СтрокаАтрибутов.Атрибуты.Получить("pos"));
Длина = Числа.Число(СтрокаАтрибутов.Атрибуты.Получить("len"));
Правильное = Объект.Значение;
// Сообщить(Правильное, Позиция, Длина);
Текст.Изменить(Позиция+смещение, Длина, Правильное);
смещение = смещение + Правильное.Длина() - Длина;
уровень = 0;
исправлений = исправлений + 1;
Конец;
Конец;
Конец;
Если (исправлений>0) Тогда
Этот.Параметр.Текст = Текст;
Конец;