Подключение проверки правописания во все документы и справочники

25.10.13

Интеграция - WEB-интеграция

Написание простой команды проверки правописания.
Используя Общие команды.

Собственно появилась задача, написать обработку, или что угодно используя любые способы и методы для проверки правописания текстовых полей в конфигурации и желательно почти в любой типовой, и на УФ.
Первой о чем я задумался был способ реализации через ВК, но потом наткнулся на статью по обработке которая использует сервис Яндекс.
Яндекс.Спеллер - API

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Пустая конфигурация с командой.
.cf 14,05Kb ver:1
8
8 Скачать (1 SM) Купить за 1 850 руб.

Собственно появилась задача, написать обработку, или что угодно используя любые способы и методы для проверки правописания текстовых полей в конфигурации и желательно почти в любой типовой, и на УФ.

Первой о чем я задумался был способ реализации через ВК, но потом наткнулся на статью по обработке которая использует сервис Яндекс.

Яндекс.Спеллер - API

Мне показалось что это лучше чем ВК, так как намного быстрее, и не требует установки офиса или других программных продуктов.

Из способов я выбрал 

Web Service API

Так же доступны:

JavaScript API

Подключение к веб-формам

Подключение к текстовым редакторам

Заказчик сказал что автоматически исправлять ничего не нужно, только выводить сообщения "Где(в каком поле)","Какое слово", "Правильные варианты". Тем самым облегчив мне работу.

Далее была написана обработка которая выполняла данные действия.

После чего, понял что бы прикрепить почти ко всем справочникам и документам придеться много писать. Так же заметил что в конфигурации снята защита только с дерева, исходя из это сделал простую команду, поместил ее в группу "Печать", и выбрал все справочники и документы. И все отлично заработало без дополнительных заморочек.

Сам лиcтинг:

&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
	Для Каждого Объект Из ПараметрыКоманды Цикл
	    Список = СформироватьСтруктуруДляпроверкиПровописания(Объект);
	
	    Массив = ВыполнитьПроверку(Список);
	
	    Для Каждого Элем Из Массив Цикл
		Для Каждого ЭлементСписка Из Список Цикл
			Если СтрЧислоВхождений(ЭлементСписка.Значение,Элем.Слово) > 0 Тогда
				Сообщение = "";
				Сообщение = Сообщение +"в поле: "+ПолучитьСинонимРевезита(ЭлементСписка.Представление,Объект)+Символы.ПС+"в слове "+""""+Элем.Слово+""""+" возможна ошибка:"+Символы.ПС;
				Для Каждого ВариантИсправления Из Элем.Замена Цикл
					Сообщение = Сообщение +ВариантИсправления+Символы.ПС;		
				КонецЦикла;
				Сообщить(Сообщение);
				Прервать;
			КонецЕсли;
		КонецЦикла;
	КонецЦикла; 
КонецЦикла;
КонецПроцедуры

&НаКлиенте
Функция  Выполнитьпроверку(Список)
	СтрокаПроверки = "";
	Для Каждого Элем Из Список Цикл
		СтрокаПроверки = СтрокаПроверки + Элем.Значение+" ";			
	КонецЦикла;
	
	Соединение = Новый HTTPСоединение("speller.yandex.net/services/spellservice/checkText?text="+СтрЗаменить(СтрокаПроверки," ","+"));
	Массив = Новый Массив;
	Файл = ПолучитьИмяВременногоФайла(".xml");
	Соединение.Получить("",Файл);
	Чтение = Новый ЧтениеXML;
	Чтение.ОткрытьФайл(Файл);
	
	Пока Чтение.Прочитать() Цикл
		Структура = Новый Структура;
		Если Чтение.Имя = "word" Тогда
			Чтение.Прочитать();
			Структура.Вставить("Слово",Чтение.Значение);
			Чтение.Прочитать();
			Чтение.Прочитать();
		КонецЕсли;
		МассивОб = Новый Массив;
		Пока Чтение.Имя = "s" Цикл
			Чтение.Прочитать();
			МассивОб.Добавить(Чтение.Значение);
			Чтение.Прочитать();
			Чтение.Прочитать();
		КонецЦикла;
		Если НЕ МассивОб.Количество() = 0 Тогда
			Структура.Вставить("Замена",МассивОб);
			Массив.Добавить(Структура);
		КонецЕсли;
	КонецЦикла;	
	Возврат Массив;
КонецФункции

&НаСервере
Функция СформироватьСтруктуруДляпроверкиПровописания(Объект)
	Список = Новый СписокЗначений;
	Для Каждого Реквезит Из Объект.Метаданные().Реквизиты Цикл
		Если Строка(Реквезит.Тип) = "Строка" Тогда
			Если НЕ Объект[Реквезит.Имя] = "" Тогда
				Список.Добавить(Объект[Реквезит.Имя],Реквезит.Имя);
			КонецЕсли;
		КонецЕсли;
	КонецЦикла;
	Возврат Список;
КонецФункции

&НаСервере
Функция ПолучитьСинонимРевезита(Имя,Объект)
	Возврат Объект.Метаданные().Реквизиты[Имя].Синоним;
КонецФункции


Проверка правописание команды команда обработка api яндекс

См. также

WEB-интеграция Администрирование веб-серверов Платные (руб)

Веб-портал обеспечивает удобный доступ к конфигурации 1С:ITIL(ИТИЛ), 1С:ITILIUM, Управление IT-отделом 8 через интернет с любого устройства посредством браузера, увеличивая эффективность работы пользователей и снижая нагрузку на сервер. Быстрая инсталляция портала за пару часов, удобный и интуитивно понятный интерфейс и безопасность данных помогут упростить работу с порталом и ускорить выполнение бизнес-процессов компании.

128000 руб.

19.12.2023    2846    3    0    

11

WEB-интеграция Анализ продаж Системный администратор Программист Пользователь Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

Модуль "Подсистема интеграции AmoCRM с 1С" позволяет обеспечить единое информационное пространство, в котором пользователи могут эффективно управлять клиентской базой, следить за статусами сделок и поддерживать актуальность данных как в AmoCRM, так и в 1С.

60000 руб.

07.05.2019    34915    68    45    

27

Оптовая торговля Розничная торговля WEB-интеграция 1С:Управление торговлей 10 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Платные (руб)

Онлайн-заказ - это решение для автоматизации процесса оформления заказов на сайте в торговых организациях. Продукт обеспечивает легкое взаимодействие между компанией и клиентами через веб-интерфейс, интегрированный с 1С:Предприятие. Система позволяет снизить операционные расходы, повысить лояльность клиентов и оптимизировать работу отдела продаж.

57600 руб.

26.11.2024    2602    2    3    

5

WEB-интеграция Программист Бизнес-аналитик Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Оптовая торговля, дистрибуция, логистика ИТ-компания Платные (руб)

Модуль "Экспортер" — это расширение для 1С, предназначенное для автоматизации процессов выгрузки данных. Оно позволяет эффективно извлекать, преобразовывать и передавать данные из систем 1С в интеграционную платформу Spot2D. Подсистема упрощает настройку, снижает количество ручных операций и обеспечивает удобный контроль данных.

14400 руб.

20.12.2024    979    5    2    

7

Сайты и интернет-магазины WEB-интеграция Системный администратор Программист Пользователь Платформа 1С v8.3 1C:Бухгалтерия 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM разных брендов в одной информационной базе в ручном и автоматическом режиме.

36000 руб.

03.08.2020    19199    23    22    

20

WEB-интеграция Программист Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бытовые услуги, сервис Платные (руб)

Внешняя обработка разрабатывалась для загрузки документов из Ветменеджер в 1С: Бухгалтерия 3.0

12000 руб.

02.02.2021    18964    54    50    

31

WEB-интеграция Программист Руководитель проекта Платформа 1С v8.3 1C:Бухгалтерия 1С:Франчайзи, автоматизация бизнеса Платные (руб)

Расширение значительно упрощает написание API на 1С. Веб программисты получают простой и понятный доступ к 1С. Описание API создаётся автоматически и представляется в виде удобном как для человека, так и для программной обработки.

24000 руб.

27.09.2024    4393    3    2    

4
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Ta_Da 11.10.13 16:02 Сейчас в теме
"Реквезит" и "ПолучитьСинонимРевезита()" в "литинге" "написинного" кода в статье о проверке правописания смотрятся органично, да.
q_i; Yakud3a; CratosX; MaksIvanov; Kosstikk; ZOMI; Famza; EdmundoAlvares; +8 Ответить
2. WizaXxX 363 11.10.13 21:29 Сейчас в теме
Первый блин как говорится:) спасибо, поправил:)
3. RailMen 829 12.10.13 00:53 Сейчас в теме
Соединение = Новый HTTPСоединение("speller.yandex.net/services/spellservice/checkText?text="+СтрЗаменить(СтрокаПроверки," ","+"));

Завидую тому, что вы можете применять такую строчку...
Наша СБ такого не простит... Интернет на машинах с 1С строго под запретом...
4. WizaXxX 363 12.10.13 19:04 Сейчас в теме
(3) MagIvan, ,благодаря 8.3 и Профилям безопасность мы тоже закрыли весь инет, но открыли только этот адрес и все:)
5. echo77 1921 13.10.13 18:08 Сейчас в теме
Все хорошо, но опечатки поправьте: пистать, выплняла

"Пистать" почему-то особо развеселила
6. rus128 2 16.10.13 14:52 Сейчас в теме
(5) + "литинг", "облеглив"...
7. q_i 584 23.10.13 20:40 Сейчас в теме
Жаль что у ФСБ нет такого сервиса - им тоже было бы интересно узнать что там пользователи вводят в 1С.
8. нормальный такой 93 30.01.14 01:32 Сейчас в теме
тут дядя описывает метод по интереснее
http://1clancer.ru/article/veb_servisy_rabota_s_dinamicheskoj_ssylkoj_952

не реклама. очень помогло.
Оставьте свое сообщение