YandexSpeller

11.01.14

Разработка - Разработка внешних компонент

Есть разные люди, грамотные и безграмотные. Есть безграмотные по разным причинам: от склада ума от собственной лени и т.д.
Мне вот, например, в школе на 5 давались все естественные науки, а вот по русскому, немецкому и английскому было 2. Такая же история потом была в универе, а потом и в аспирантуре. Ну и вот, имея 2 высших образования (физик и программист), я все тот же двоечник. А так как работаю на ПК, это все усугубляется в разы. Вот, собственно, в голове и возникла идея написания данного приложения.

Скачать файлы

Наименование Файл Версия Размер
Инсталлятор
.zip 1,10Mb
1
.zip 1,10Mb 1 Скачать

Данное приложение делает http запрос на http://api.yandex.ru/speller/ и пытается проверить ошибки в тексте.

Да, я видел в интернете компоненту, написанную на скриптах под платформу 8.1.  но она достаточно специфична, мне хотелось написать что-нибудь попроще. 

 

Данное приложение возможно запускать из командной строки с текстом, который необходимо проверить.

Пример строки из 1с 8 

Процедура ПроверкаОрфографии(СтрокаД)
Путьspeller = КаталогВременныхФайлов() + "YandexSpeller.V2.exe";
ФайлПроверка = Новый Файл(Путьspeller);
Если НЕ ФайлПроверка.Существует() Тогда
ФайлДвоичныеДанные = ПолучитьОбщийМакет("speller");
ФайлДвоичныеДанные.Записать(Путьspeller);
КонецЕсли;

команда = Путьspeller + " " + СокрЛП(СтрокаД);
ЗапуститьПриложение(команда,,Истина);
КонецПроцедуры

&НаКлиенте
Процедура ABC(Команда)
Если ЗначениеЗаполнено(Объект[ЭтаФорма.ТекущийЭлемент.Имя]) Тогда
ПроверкаОрфографии(СокрЛП(Строка(Объект[ЭтаФорма.ТекущийЭлемент.Имя])));
КонецЕсли;
КонецПроцедуры

 

Изначально я хотел написать приложение, которое работает с COM, пока не хватает знаний в этой области. На данный момент пишу внешнюю компоненту.

Проверка орфографии

См. также

Медиадисплей. Рекламный информационный монитор для покупателя.

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

Монитор покупателя может отображать текущую покупку на кассовом месте, показывать видеорекламу, баннеры, во время простоя разворачивать рекламу на весь экран. Можно использовать в качестве графического меню-борда в кафе и видеовывески. Управление выводом на телевизор через hdmi-приставку на базе Windows или Android. В качестве устройства отображения можно использовать Android-планшеты, фоторамки с Android, монитор любого Windows-компьютера, доступного по сети. Настраивается ЛЮБОЙ ДИЗАЙН экрана!

16800 руб.

30.05.2017    52100    34    69    

43

Внешняя компонента для сканирования (замена TWAIN-компоненты БСП) (Native Win 32/64)

Разработка внешних компонент Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Внешняя компонента позволяет работать c TWAIN-совместимым оборудованием (сканерами, камерами) . Полностью совместима со стандартной TWAIN-компонентой из БСП и может применяться как ее замена без изменения вызовов, при этом может работать с 64-разрядной платформой, а так же имеет расширенную функциональность, например, сохранение результата непосредственно в PDF без использования сторонних утилит. Прекрасно работает на сервере, тонком клиенте и веб-клиенте (проверена работа в браузерах Google Chrome, Mozilla Firefox и Microsoft Internet Explorer).

2400 руб.

12.05.2020    26243    131    99    

83

Внешняя компонента для подключения 1С к телефонии Asterisk

Разработка внешних компонент Телефония, SIP Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Внешняя компонента выполнена по технологии Native API для 1С 8.х, обеспечивает доступ к программным АТС Asterisk (FreePBX, Elastix) через AMI интерфейс. Через него можно управлять многими функциями Asterisk (определение номеров, перевод звонков, набор телефона и т. д.)

2400 руб.

04.05.2018    44974    117    64    

60

Внешняя компонента печати PDF (Native Win 32/64)

Разработка внешних компонент Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Внешняя компонента позволяет печатать PDF файлы непосредственно из 1С, не используя при этом сторонних программ. Прекрасно работает на сервере, тонком клиенте и веб-клиенте. Основана на проекте PDFium из состава проекта Chromium/Chrome

1500 руб.

17.09.2018    35078    104    123    

111

Мастер создания внешних компонент 1С (технология COM) для DELPHI 6/7/8/2005/2006/2007/2008/2010/XE/XE2/XE3

Разработка внешних компонент Платформа 1С v8.3 Платные (руб)

Средство для сверхбыстрой разработки внешних компонент 1С:Предприятия 7.7 и 8 по технологии COM на всех версиях DELPHI, начиная с 6.

2000 руб.

28.03.2013    53999    35    14    

68

QR-код с логотипом компании (обычная и управляемая форма)

Разработка внешних компонент Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Платные (руб)

Как известно, стремление сделать свою рекламную продукцию запоминающейся и выделяющейся — верный путь к успеху. Сегодня, мы поговорим с вами о том, что можно сделать с обычным черно-белым QR-кодом, чтобы он стал более живым и привлекательным. Если вам не терпится попробовать сделать QR-код с логотипом компании, то эта обработка для вас!

2400 руб.

22.06.2016    30839    4    4    

8

Внешняя компонента 1С и С++. Продолжаем разговор.

Разработка внешних компонент Платформа 1С v8.3 Бесплатно (free)

А давайте запилим 8.3.26 до релиза, или оповещение с сервера...

19.02.2024    4039    starik-2005    28    

52

Внешние компоненты 1С и язык C++

Разработка внешних компонент Механизмы платформы 1С Платформа 1С v8.3 Бесплатно (free)

Некоторые практические аспекты создания внешних компонент на языке С++ для платформы 1С 8.3++.

26.01.2024    4778    starik-2005    32    

39
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. seermak 665 11.01.14 12:44 Сейчас в теме
Зачем же делать компоненту - есть же "разработчикам — встроить функцию проверки правописания в свое приложение с помощью API Яндекс.Спеллера (JavaScript или HTTP)" = http://api.yandex.ru/speller/doc/dg/concepts/api-overview.xml = и делай спокойно через WebСервис (кстати получится неплохой пример использования Веб сервиса в 1С))))))
5. DitriX 2091 12.01.14 13:43 Сейчас в теме
(1) вы наверное ошиблись - веб сервисы - это СЕРВЕР :)
А Вам нужен клиент, т.е. веб ссылки. А при работе с веб сервисом яндекса - я понял, что с 1С он нифига нормально работать не хочет.

А вот хттп запросы - это другое дело:)

Кроме того - почему я обратил внимание на это все - так как нам нужны веб ссылки, то значит, что их можно сделать программно,примеры есть в моей статье по веб сервисам. Т.е. не надо в конфигуратор лазить.
2. micha-r 45 11.01.14 14:04 Сейчас в теме
Так если рассуждать, вообще тогда делать не чего не надо, все уже есть в готовом виде и все уже придумано до нас. В массе своей процентов 80% пользователей вообще не программисты, они просто берут или готовое на этом сайте или че нить типовое юзают. Я столкнулся с тем что этим пользователям не очень просто встроить JavaScript в 1с или куда нить еще. Вот собственно для них и рассчитано данные приложения. Наверное гораздо проще будет в любой 1с запустить команду ЗапуститьПриложение(<СтрокаКоманды>, <ТекущийКаталог>, <ДождатьсяЗавершения>, <КодВозврата>) и получить какой то результат, не извращаясь с написанием скриптов и т.д.
Конечно было бы не плохо чтоб данный инструмент вернул что то в 1с, я вот с этим разбираюсь.
3. seermak 665 11.01.14 15:31 Сейчас в теме
(2) Вы непоняли = сайт http://api.yandex.ru/speller/ предоставляет свой веб-сервис по адресу http://api.yandex.ru/speller/doc/dg/concepts/api-overview.xml = далее работа исключительно средствами 1С (Конфигуратор=Общие=Web-Сервисы)
4. micha-r 45 11.01.14 15:52 Сейчас в теме
Да есть такое, но как это прописать "пользователю"?
1) Нужно добавить Конфигуратор=Общие=Web-Сервисы=YandexSpeller
2) Прописать запрос, обработать результат. В 1с не я вот так вот не на шел как по нормальному отработать гипертекст.
3) Совместить все это с текущим интерфейсом.

И я хочу сказать очень много народу из программистов 1с которые вообще не знают что такое Конфигуратор=Общие=Web-Сервисы и как с этим жить. Спасибо конечно за подсказку я сам не знал, попробую сейчас реализовать.

Не знаю может Вы меня не понимаете, я считаю что программисту в первую очередь нужно делать инструмент, который поможет уменьшить телодвижение другому "программисту".
6. WizaXxX 360 13.01.14 06:30 Сейчас в теме
Вот пожалуйста, тут подробное использование некоторых возможностей
http://infostart.ru/public/203603/
7. micha-r 45 13.01.14 09:34 Сейчас в теме
Спасибо!
Но Сможете ли Вы подчеркнуть ошибку определенным цветом? Сможете ли вы вывести подсказку с выбором нужного варианта в гипертексте? Я думаю 1с нормально это не позволяет. Разве что поля делать вида hml документ и на чистом hml кодить.
8. seermak 665 13.01.14 09:47 Сейчас в теме
Вот набросал
1. делаем новую Web-ссылку (см рис) вносим в источник http://speller.yandex.net/services/spellservice?WSDL
2. делаем кнопку проверки и процедуру к ней
&НаКлиенте
Процедура ПравописаниеWebСервис(Команда)
ФС = Эпикриз.ПолучитьТекст();
Если НЕ ЗначениеЗаполнено(ФС)Тогда
Возврат;
КонецЕсли;
Массив = ПравописаниеWebСервис_Сервер(ФС);
//далее делайте с массивом все что угодно
//Массив[0].ОшибочноеСлово //слово с ошибкой
//Массив[0].Ошибка // текстовое значение ошибки
//Массив[0].Замена // массив предлагаемых замен
КонецПроцедуры
3. делаем процедуру получения данных
&НаСервере
Функция ПравописаниеWebСервис_Сервер(ФС)
Массив = Новый Массив;
Прокси = WSСсылки.WSСсылкаПроверкиПравописания.СоздатьWSПрокси("http://speller.yandex.net/services/spellservice", "SpellService", "SpellServiceSoap");
ТипWSПараметра = Прокси.ФабрикаXDTO.Пакеты.Получить("http://speller.yandex.net/services/spellservice").Получить("CheckTextRequest");
WSПараметр = Прокси.ФабрикаXDTO.Создать(ТипWSПараметра);
WSПараметр.text = ФС; //неиспользуемые параметры//WSПараметр.lang = "ru";//WSПараметр.options = 16;//WSПараметр.format = "html";
РезультатПроверки = Прокси.checkText(WSПараметр.text);
Индекс = 0;
Для каждого СтрокаОшибки Из РезультатПроверки.error Цикл
Структура = Новый Структура;
МассивОб = Новый Массив;
Если СтрокаОшибки.code = 1 Тогда //код ошибки
Структура.Вставить("Ошибка","Слова нет в словаре");
ИначеЕсли СтрокаОшибки.code = 2 Тогда
Структура.Вставить("Ошибка","Повтор слова");
ИначеЕсли СтрокаОшибки.code = 3 Тогда
Структура.Вставить("Ошибка","Неверное употребление прописных и строчных букв");
ИначеЕсли СтрокаОшибки.code = 4 Тогда
Структура.Вставить("Ошибка","Текст содержит слишком много ошибок");
КонецЕсли;
Структура.Вставить("ОшибочноеСлово",СтрокаОшибки.word);
МассивОб.Очистить();
Для каждого ВариантЗамены Из СтрокаОшибки.s Цикл //список предлагаемых замен
МассивОб.Добавить(ВариантЗамены);
КонецЦикла;
Структура.Вставить("Замена", МассивОб);
Массив.Вставить(Индекс,Структура);
Индекс = Индекс + 1;
Структура = Неопределено;
МассивОб = Неопределено;
КонецЦикла;
Возврат Массив;

//СтрокаОшибки.col = //начало слова с ошибкой от начала строки
//СтрокаОшибки.len = //длина слова
//СтрокаОшибки.pos = //?
//СтрокаОшибки.row = //индекс строки с ошибкой
КонецФункции
X
и все.....
(7) чтобы подчеркнуть ошибку - Новый ФорматированнаяСтрока(<Содержимое>, <Шрифт>, <ЦветТекста>, <ЦветФона>, <Ссылка>) ;
Прикрепленные файлы:
Trucker; MRAK; DitriX; +3 Ответить
9. zhuravlev_as 392 17.01.14 01:11 Сейчас в теме
Отличная доработка, включу в свою базу по учету работ +
Оставьте свое сообщение