YandexSpeller

11.01.14

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

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

Файлы

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

Наименование Скачано Купить файл
Инсталлятор
.zip 1,10Mb
1 2 500 руб. Купить

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

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

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

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

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

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

 

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

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

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

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

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

 

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

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

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

См. также

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

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

18300 руб.

30.05.2017    57164    11    71    

48

Разработка внешних компонент Программист 1С:Предприятие 8 1C:Бухгалтерия 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 Платные (руб)

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

5084 руб.

12.05.2020    33803    145    100    

100

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

В современных корпоративных решениях на платформе 1С:Предприятие 8.3 всё чаще возникает потребность в визуальном моделировании и автоматизации бизнес-процессов с использованием нотации BPMN 2.0. Стандартные средства платформы не предоставляют полноценного редактора BPMN, однако интеграция открытой библиотеки bpmn-js позволяет реализовать интерактивное моделирование бизнес-процессов непосредственно в 1С. В статье рассмотрены архитектура решения, пошаговая инструкция по сборке библиотеки из исходников для WebKit, а также примеры программного взаимодействия между 1С и JavaScript.

03.04.2026    2488    SultanovStas    8    

21

Разработка внешних компонент Системный администратор Программист Стажер Бесплатно (free)

Библиотека для работы с базами SQLite из 1С на основе внешней компоненты. Для Linux и Windows, бесплатно и с открытым исходным кодом!

14.01.2025    6950    bayselonarrend    17    

54

Разработка внешних компонент Программист 1С:Предприятие 8 Россия Бесплатно (free)

В статье описывается приложение-конструктор внешних компонент (native API). Конструктор упрощает процесс разработки за счет удобного добавления всех нужных функций и процедур в графическом режиме, с указанием их параметров и типов параметров. На выходе приложение генерирует готовый код на С++ и Rust и позволяет сразу приступить к реализации, без настройки API компоненты вручную.

04.12.2024    11972    kovalevdmv    29    

83

Разработка внешних компонент Механизмы платформы 1С Программист Стажер 1С:Предприятие 8 Бесплатно (free)

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

26.01.2024    12185    starik-2005    40    

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

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

Кроме того - почему я обратил внимание на это все - так как нам нужны веб ссылки, то значит, что их можно сделать программно,примеры есть в моей статье по веб сервисам. Т.е. не надо в конфигуратор лазить.
2. micha-r 45 11.01.14 14:04 Сейчас в теме
Так если рассуждать, вообще тогда делать не чего не надо, все уже есть в готовом виде и все уже придумано до нас. В массе своей процентов 80% пользователей вообще не программисты, они просто берут или готовое на этом сайте или че нить типовое юзают. Я столкнулся с тем что этим пользователям не очень просто встроить JavaScript в 1с или куда нить еще. Вот собственно для них и рассчитано данные приложения. Наверное гораздо проще будет в любой 1с запустить команду ЗапуститьПриложение(<СтрокаКоманды>, <ТекущийКаталог>, <ДождатьсяЗавершения>, <КодВозврата>) и получить какой то результат, не извращаясь с написанием скриптов и т.д.
Конечно было бы не плохо чтоб данный инструмент вернул что то в 1с, я вот с этим разбираюсь.
3. seermak 664 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 367 13.01.14 06:30 Сейчас в теме
Вот пожалуйста, тут подробное использование некоторых возможностей
http://infostart.ru/public/203603/
7. micha-r 45 13.01.14 09:34 Сейчас в теме
Спасибо!
Но Сможете ли Вы подчеркнуть ошибку определенным цветом? Сможете ли вы вывести подсказку с выбором нужного варианта в гипертексте? Я думаю 1с нормально это не позволяет. Разве что поля делать вида hml документ и на чистом hml кодить.
8. seermak 664 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 615 17.01.14 01:11 Сейчас в теме
Отличная доработка, включу в свою базу по учету работ +
Для отправки сообщения требуется регистрация/авторизация