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

25.10.13

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

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

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

Файлы

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

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

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

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

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

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

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

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

Web Service API

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

JavaScript API

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

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

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

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

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

Сам лиcтинг:

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

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

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

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


Вступайте в нашу телеграмм-группу Инфостарт

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

См. также

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

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

36000 руб.

03.08.2020    22203    32    24    

26

SALE! 15%

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

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

17280 14688 руб.

20.12.2024    4384    22    4    

23

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

Расширение значительно упрощает написание API на 1С. Веб программисты получают простой и понятный доступ к 1С. Описание API создаётся автоматически и представляется в виде удобном как для человека, так и для программной обработки. Основные преимущества: 1. Документация API создаётся автоматически. Удобна для программной обработки. 2. Изменить API столь же просто как настроить отчёт. Можно опубликовать существующий вариант отчёта. 3. Отчёты в API поддерживают параметры (Период, ДатаНачала и др.) 4. При создании простых методов не требуется изменять конфигурацию. 5. Поддерживается работа с планами обмена.<br/> 6. Возможно настроить отправку из 1С данных корреспондирующей системе, для случаев когда 1С сама "знает" какие данные нужно отправить. 7. После записи в 1С Ле Мурр может возвращать соответствие полученных идентификаторов созданным в 1С объектам данных.

36000 руб.

27.09.2024    10152    7    5    

11

WEB-интеграция Программист 1С:Предприятие 8 1С:Бухгалтерия 3.0 Бытовые услуги, сервис Платные (руб)

Внешняя обработка разработана для автоматизации передачи данных между сервисом Vetmanager с 1С: Бухгалтерия 3.0. Решение позволяет загружать документы и справочники из Ветменеджер в 1С:Бухгалтерию, сокращая время на ручной ввод данных и минимизируя ошибки.

12000 руб.

02.02.2021    20959    60    52    

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

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

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

не реклама. очень помогло.
Для отправки сообщения требуется регистрация/авторизация