Проверка орфографии средствами Yandex Speller

Публикация № 698583 09.11.17

Разработка - Обработки - Универсальные обработки

Обработка правописание орфография управляемые формы yandex yandex speller http get html dom парсинг

Проверка орфографии средствами Yandex Speller с опциями и коррекцией ошибок. Возможность вызова как с сервера, так и с клиента (с последующим исправлением).

Проверка орфографии средствами Yandex Speller

Описание

Обработка производит проверку передаваемого текста средствами API Yandex Speller, довольно проста в использовании.

Может принимать различные параметры и опции для проверки (см. скриншоты). Например может игнорировать короткие слова, исключать переданые слова из строки с разделителями или заданого справочника.

Позволяет на основе распознаных ошибок создавать справочник-словарь исключений.

Строка может содержать как обычный текст, так и HTML разметку.

Опции:

  1. Пропускать верхний регистр
  2. Пропускать слова с цифрами
  3. Пропускать пути и ссылки
  4. Выявлять повторы слов
  5. Пропускать латиницу
  6. Не предлагать замену (только подсвечивать ошибки)
  7. Отмечать латиницу
  8. Распознавать текст как набор слов
  9. Пропускать рЕгИСтР
  10. Пропускать римские цифры

Есть возможность при отсутствии ошибок в переданном тексте автоматически закрывать форму.

Проверяет русский, английский и украинский языки.

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

Обращение происходит через HTTP GET (Я использовал бы Web сервисы, но платформа накладывает определенные ограничения, тем не менее в модуле есть закоменченный кусочек для соединения через WS).

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

Если проверка инициирована с клиента (через форму), то в случае нахождения ошибок будет возможность исправить их из предложенных вариантов в выпадающем меню.

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

Обработка использует только средства платформы, тестировалась на "голой" конфигурации 8.3.10.2561 УФ (Тонкий клиент), Win Server 2012R2.

На вскидку должна запуститься на чем угодно начиная с 8.3.6.1977 с отключенным режимом совместимости (Очень уж люблю СтрШаблон() ).

Красивости расчитаны на наличие IE-11 в системе, если у Вас все плохо, то поправьте следующую строку в модуле объекта: <meta http-equiv='X-UA-Compatible' content='IE=11'>

Спроектирована без  использования модальных окон и вызовов.

Обработка довольно подробно документирована, при вызове функции модуля объекта - все параметры подписаны.

Код открыт, можете править в свое удовольствие, только не продавайте отдельно саму обработку (только если в составе продукта).

 

Передаваемые параметры и полученный результат

Обязательным является только параметр "Текст" при инициализации обработки на сервере, так что не пугайтесь обилию опций, все они могут быть опущены и будут выставлены по умолчанию.

Просто посмотрите, что возвращает закрытая форма или функция, там довольно интуитивно понятно)

 
 При инициализации формы с тонкого клиента
 
 При инициализации обработки на сервере

 

Примеры использования

Вариант "на клиенте":

Предположим вы хотите перед записью документа проверить правописание определенного реквизита, тогда Вы:

1) В модуле формы создаете процедуру "ПередЗаписью()"

2) В ней вызываете форму обработки, передав в нее структуру параметров (обязательно передайте значение ключа "Текст", иначе не имеет смысла, остальное заполниться по умолчанию). Также передайте владельца формы - ЭтаФорма.

!!! ЕСЛИ ВЫ НЕ ПЕРЕДАДИТЕ ВЛАДЕЛЬЦА ФОРМЫ, ТО ОБРАБОТКА ПОСЧИТАЕТ, ЧТО ВЫ ПРОСТО ЗАХОТЕЛИ ПОТЕСТИРОВАТЬ ЕЁ И СЕБЯ И СПРЯЧЕТ КНОПКИ "ОТМЕНИТЬ" и "ПРИНЯТЬ" !!!

Это сделано специально, но если Вы по какой то причине не хотите передавать владельца, Вы вполне можете закоментить процедуру "ПриОткрытии()" в обработке, это не повлияет на результат, а кнопки будут отображаться всегда.

3) Откройте форму, автоматически пройдет проверка. Если вы передали параметр "ЗакрытьЕслиБезОшибок" - Истина и не обнаружено ошибок, то форма будет сразу закрыта и вернет структуру с результатом проверки.

4) Если были обнаружены ошибки - пользователю будет предложено выбрать верные варианты и согласиться/не согласиться с правками.

5) Нажав кнопку Принять или Отмена (крестик) - форма закроется и вернет владельцу результат проверки или неопределено, соответсвенно.

 
На клиенте (упрощенный вызов)
 
На клиенте (с последующей ручной корректировкой)

 

Вариант "на сервере":

 

Предположим вы хотите лишить пользователя свободы воли выбора и автоматически исправлять ошибки, скажем перед записью документа:

1) В модуле объекта документа создаете процедуру "ПередЗаписью()"

2) Там создаете объект обработки.

3) У этого объекта вызываете единственную функцию YandexSpeller(), в которую можете передать кучу параметров (ну или только текст на проверку первым параметром, только он обязательный), конфигуратор подскажет параметры.

4) Функция вернет структуру с ошибками и всевозможными данными, естественно включая исправленный текст.

 
На сервере (упрощенный вызов)
 
На сервере (возвращает исправленный текст и ошибки)

 

Листинг модуля объекта

Вы можете скопировать данную функцию в общий модуль или куданибудь еще, она вполне самостоятельна и может работать в отрыве от обработки.

 
YandexSpeller()

Ответы на вопросы

  • Q: Подскажите как сделать полосу прокрутки в поле HTML?
  • A: В модуле формы, в процедуре "СобратьHTML()" сотрите "overflow: hidden;"

 

  • Q: Почему при вызове формы пропадают кнопки "Принять" и "Отмена"
  • A: При создании формы обработки ПроверкиОрфографии из другой формы - не забывайте передавать параметром владельца "ЭтаФорма"

     

  • Q:  У меня очень длинные строчки с текстом, как настроить их авто перенос?
  • A: В модуле формы, в процедуре "СобратьHTML()" добавьте в блок <style></style> вариации следующего (можете посмотреть в гугле за что отвечает каждая строка).
pre {
	white-space: pre-line;
	word-wrap: break-word;
	word-break: break-all;
	width: 100%;
}

 

UPD 17.11.10

  • Изменил разбор XML ответа
  • Внешний вид формы
  • Добавил проверку на битую кодировку
  • Содержание HTML поля теперь IE=11
  • При смене значения JS скрипт перекрашивает Select в зависимости от Option
  • Поправил ошибку возникающую при использовании словаря и отсутсвии орфографических ошибок

 

UPD 18.04.23

  • Добавил возможность проверять и исправлять Наименования любых справочников. Может быть полезно, если у Вас не очень грамотные менеджеры и надо "починить" постфактум.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

TODO:

  • При проверке справочника запоминать исправленные слова и проверять из этого соответсвия до проверки яндексом
  • Использовать асинхронную проверку
  • Отображать статус проверки
  • Добавить описание в модуль объекта для типовых конфигураций
  • Возможность проверять не только Наименование справочника, но и любой другой строковый реквизит

 

 Буду рад отзывам, комментариям, а также звездочкам :3 

 

 

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

Наименование Файл Версия Размер
Проверка орфографии средствами Yandex Speller

.zip 219,98Kb
63
.zip 18.04.23 219,98Kb 63 Скачать

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. spec8s 632 09.11.17 23:00 Сейчас в теме
Совсем недавно делал нечто подобное, т. к. веб-сервис перестал работать. Только метод чтения XML возможно немного короче:

        ЧтениеXML = Новый ЧтениеXML();	
	ЧтениеXML.УстановитьСтроку(HttpОтвет.ПолучитьТелоКакСтроку());
	
	ПостроительDOM = Новый ПостроительDOM;
	ДокументDOM = ПостроительDOM.Прочитать(ЧтениеXML);
	
	РезультатПроверки = Новый Структура("error", Новый Массив);
	
	ЭлементыError = ДокументDOM.ПолучитьЭлементыПоИмени("Error");	
	Для Каждого ЭлементError Из ЭлементыError Цикл
		СтруктураОшибок = Новый Структура("s", Новый Массив);
		Для Каждого АтрибутError Из ЭлементError.Атрибуты Цикл
			СтруктураОшибок.Вставить(АтрибутError.Имя, Число(АтрибутError.Значение));
		КонецЦикла;
		
		ЭлементыWord = ЭлементError.ПолучитьЭлементыПоИмени("word");
		СтруктураОшибок.Вставить("word", ЭлементыWord[0].ТекстовоеСодержимое);
		
		ЭлементыS = ЭлементError.ПолучитьЭлементыПоИмени("s");
		Для Каждого ЭлементS Из ЭлементыS Цикл
			СтруктураОшибок.s.Добавить(ЭлементS.ТекстовоеСодержимое);
		КонецЦикла;
		
		Если СтруктураОшибок.s.Количество() > 0 Тогда
			РезультатПроверки.error.Добавить(СтруктураОшибок);
		КонецЕсли;
	КонецЦикла;
Показать
adhocprog; 🅵🅾️🆇; +2 Ответить
2. 🅵🅾️🆇 09.11.17 23:24 Сейчас в теме
(1) завтра подробнее посмотрю, идея была сделать покрасивее, разобрав XML через DOM, но немног не сдюжил)

Код вышел бы примерно той же длины, отличие в том, что данные в массив Я засовываю под русифицированными читабельными переменными, хотя этот момент можно было решить и изящнее, на вскидку записать в строку с разделителями "Атрибут:РускийСиноним:ОжидаемыйТипДанных; ... : ... : ... ; ...".
Привычка, если работаю с 1с - переменные должны быть русскими и PascalCase (исключение для массивов и некоторых данных, там могу поставить префикс), а вот в JS, Python, C++ и тд уже ожидаю увидеть латинские camelCase.

Но спасибо за поправку, скорее всего переделаю эту часть.
30. пользователь 25.04.18 08:28
Сообщение было скрыто модератором.
...
34. пользователь 26.04.18 04:01
Сообщение было скрыто модератором.
...
41. пользователь 28.04.18 05:27
Сообщение было скрыто модератором.
...
3. nasonkin 40 10.11.17 06:29 Сейчас в теме
Самый простейший вариант - отображение слов с ошибками, делал через SOAP. Вдруг кому пригодиться:
WSОпределение	= Новый WSОпределения("http://speller.yandex.net/services/spellservice?WSDL","","",,10);      
WSПрокси		= Новый WSПрокси(WSОпределение,"http://speller.yandex.net/services/spellservice","SpellService","SpellServiceSoap",,10);		
Пакет 			= WSПрокси.ФабрикаXDTO.Создать(WSПрокси.ФабрикаXDTO.Тип("http://speller.yandex.net/services/spellservice","CheckTextRequest"));  	
Пакет.options   = 55;
Пакет.format	= "plain";
Пакет.lang		= "ru";
Пакет.text		= Текст;
РезультатВебОперации = WSПрокси.checkTexts(Пакет); 
Для каждого ГрамОшибка из РезультатВебОперации.ArrayOfSpellResult.SpellResult[0].error Цикл
	СловаСОшибками = Строка(СловаСОшибками)+"'"+Строка(ГрамОшибка.word)+"', "
КонецЦикла
Возврат Лев(СловаСОшибками,СтрДлина(СловаСОшибками)-2)
Показать

Но на данный момент SOAP недоступен (хотя в документации ссылка на него есть). Написал в тех. поддержку, жду ответ.
adhocprog; awk; spec8s; +3 Ответить
4. 🅵🅾️🆇 10.11.17 09:07 Сейчас в теме
(3) Я тоже через него делал изначально. Вчера был доступен "checkText", но с ограничением: передавать параметром надо было только текст.
Есть очень весомое подозрение, что это не сервис у них лежит, а ограничения платформы 1с. Ведь XDTO пакеты это фишка самой 1с.

Вот так работает:
Определения	= Новый WSОпределения("http://speller.yandex.net/services/spellservice?WSDL",,,Неопределено,300);	
Прокси		= Новый WSПрокси(Определения, "http://speller.yandex.net/services/spellservice", 
									"SpellService", "SpellServiceSoap", Неопределено, 300);
Данные		= Прокси.checkText(Текст);


Для меня это не очень важный момент, так через GET также отлично работает.
Мой код немного монструозен, например совсем не обязательно передавать заголовки.
Пытаться достучаться в цикле и вот это все.

Вполне достаточно:
URL				= СтрШаблон("services/spellservice/checkText?text=%1&lang=%2&options=%3&format=%4", Текст, Язык, Опции, Формат);
HTTPСоединение	= Новый HTTPСоединение("speller.yandex.net", 80, , , , 300);
HTTPЗапрос		= Новый HTTPЗапрос(URL);		
HTTPОтвет		= HTTPСоединение.Получить(HTTPЗапрос);
5. guy_septimiy 10.11.17 09:09 Сейчас в теме
Интересное решение.
Респект.
37. пользователь 27.04.18 03:55
Сообщение было скрыто модератором.
...
6. &rew 30 13.11.17 11:56 Сейчас в теме
У меня одного было ощущение, когда я на звезду нажал, как будто "зигу" кинул?
maksa2005; Perfolenta; hrip; awk; Silenser; PVG_73; Yakud3a; Vladimir87; Serega-artem; Gobbledegook; nayd; bserge88; Кузьмич; RailMen; 🅵🅾️🆇; +15 Ответить
7. 🅵🅾️🆇 13.11.17 12:01 Сейчас в теме
(6) Полно вам, думаю эмблемка Grammar Nazi никого не оскорбит тк узнаваема и к томуже вполне уместна)
9. RailMen 807 13.11.17 12:12 Сейчас в теме
8. zhuravlev_as 13.11.17 12:04 Сейчас в теме
А api нет у этого Yandex Speller?
10. 🅵🅾️🆇 13.11.17 12:17 Сейчас в теме
(8) Не совсем понял вопрос.
Обработка и использует API Яндекса, дружит с ним через HTTP GET (в коде есть закоменченный кусочек для общения через веб сервисы, но там не выйдет вместе с текстом передавать параметры).

По сути обработка является оберткой над API Яндекса.
К самой обработке вы можете обращаться различными способами как с клиента (будет создана форма и установлены параметры либо из переданых, либо по умолчанию, если опущены), так и с сервера (будет возвращена структура с ошибками, предложениями по исправлению, исправленным текстом и текстом с пометками на месте ошибок). Если вам не нужна форма и не хотите предложить пользователю красиво и удобно ручками исправить свои абшибки - можете из листинга модуля объекта просто перенести функцию в общий модуль, все будет работать в лучшем виде (к томуже все передаваемые параметры подписаны и будут подсказываться в конфигураторе).

Я, наверное, слишком сложно и муторно объясняю, лучше посмотрите примеры использования в теме, там все намного проще и лаконичнее.
13. zhuravlev_as 13.11.17 13:39 Сейчас в теме
11. KroVladS 33 13.11.17 12:35 Сейчас в теме
Плагин для конфигуратора сделаете?
12. 🅵🅾️🆇 13.11.17 13:19 Сейчас в теме
(11) Плагин?
На стандартный конфигуратор, вроде, "вешаются" только шаблоны текста и инжект dll экзотики на вроде "снегопат".
Также есть "графит", но о нем ни слуху ни духу уже несколько лет. Может Я чего проспал?)

Или вы о "расширения конфигурации", штуке которая ставиться поверх типовых не снимая с поддержки?
Если о ней, то Я плохо представляю, что такого особенного Я могу сделать, кроме как добавить саму обработку.

Если кому не достаточно примеров вызовов из темы - могу добавить тестовую конфигурацию.
Яб и тестовый сервер поднял бы, но отдельную железку, которая не былаб дырой в безопасности соберать буду только через пару месяцев.
25. KroVladS 33 14.11.17 13:55 Сейчас в теме
(12)
Я как раз dll-ку имел ввиду.
26. 🅵🅾️🆇 14.11.17 14:00 Сейчас в теме
(25) Сильно врядли. Следующий раз как буду плюсы открывать - это будет внешняя компонента для распознования текста :3
14. Поручик 4534 13.11.17 16:16 Сейчас в теме
На вскидку должна запуститься на чем угодно, начиная с 8.3.6.1977 с отключенным режимом совместимости
15. 🅵🅾️🆇 13.11.17 16:18 Сейчас в теме
(14)
с отключенным режимом совместимости

Если это так важно, добавлю)
16. Поручик 4534 13.11.17 16:24 Сейчас в теме
(15) Конечно важно. Полно конф, которые работают на 8.3.7.ХХХХ и выше, но внутри у них 8.3.5 или даже 8.2.
17. 🅵🅾️🆇 13.11.17 16:29 Сейчас в теме
(16) Я думал это очивидно, но пусть будет.
Да и не велика проблема, вполне можно переписать эти моменты при помощи строковых функций из БСП.
18. Davurov 14.11.17 08:43 Сейчас в теме
Спасибо большое! Очень классная штука! Не подскажите как сделать полосу прокрутки в поле HTML? Когда длинное предложение неудобно с ним работать так как строчки не переносятся сами и нет полосы прокрутки
19. 🅵🅾️🆇 14.11.17 10:07 Сейчас в теме
(18) А, извиняюсь. Делал под себя и не ожидал полосы прокрутки, поэтому для красоты специально спрятал. В модуле формы, в процедуре "СобратьHTML()" сотрите "overflow: hidden;".

Если у вас выходит в ширину слишком длинной строка, то советую посмотреть на следующие стили CSS (также добавлять в СобратьHTML() в <st yle></style> блок):
pre {
	white-space: pre-line;
	word-wrap: break-word;
	word-break: break-all;
	width: 100%;
}



Сейчас создам в темке блок с QA и добавлю туда ответы на вопросы.
Удачи)
20. Davurov 14.11.17 10:34 Сейчас в теме
(19)
overflow


Ооо! спасибо заработало ) И ещё вопрос, если используется ОбработкаОповещения "ПослеПроверкиОрфографии", то для случая когда нет ошибок и стоит "ЗакрытьЕслиБезОшибок", после закрытия формы в эту процедуру не попадает, поэтому не могу вывести сообщение пользователю: "Все ок. ошибок нет =)"

Форма закрывается с этой ветки:

Если БезОшибок И ЗакрытьЕслиБезОшибок Тогда
		ЭтаФорма.Закрыть(Новый Структура("Текст,БезОшибок,КоличествоОшибок",Текст,БезОшибок,КоличествоОшибок));
		Возврат;
	КонецЕсли; // Если БезОшибок И ЗакрытьЕслиБезОшибок
21. 🅵🅾️🆇 14.11.17 10:58 Сейчас в теме
(20) На примере примера из темы для немодального вызова:
&НаКлиенте
Процедура ПроверитьОрфографию(Команда)
	//СтрокаНаПроверку	= "Мамо мыла раму.";
	Оповещение			= Новый ОписаниеОповещения("ПослеПроверкиОрфографии", ЭтаФорма, СтрокаНаПроверку); 
	П					= Новый Структура("Текст,Язык,Формат,МинДлинаСлова,Словарь,Опции,ЗакрытьЕслиБезОшибок",
											СтрокаНаПроверку, "ru,en", "plain", 0, "", 31, Истина);
	Форма	= ОткрытьФорму("Обработка.ПроверкаОрфографии.Форма", П, ЭтаФорма, Истина, , , Оповещение);
	Если Форма = Неопределено Тогда
		Сообщение	= Новый СообщениеПользователю;
		Сообщение.Текст	= "Форма не была создана, вероятно ошибок нету.";
		Сообщение.Сообщить();
	КонецЕсли; // Если Форма = Неопределено
КонецПроцедуры // ПроверитьОрфографию()
Показать


Ну или если не возражаете против модальных окон ( лично мое руководство их очень любит :3 ), то там все еще проще, просто смотрите, что возвращает:
Результат	= ОткрытьФормуМодально("Обработка.ПроверкаОрфографии.Форма", Новый Структура("Текст", СтрокаНаПроверку), ЭтаФорма);
22. Davurov 14.11.17 11:00 Сейчас в теме
Ок спасибо большое! очень выручили!

P.S у меня все равно приходит форма, поэтому добавил условие

Если Форма = Неопределено ИЛИ Форма.БезОшибок Тогда
        Сообщение    = Новый СообщениеПользователю;
        Сообщение.Текст    = "Ошибок нет!";
        Сообщение.Сообщить();
    КонецЕсли; // Если Форма = Неопределено
23. Davurov 14.11.17 11:09 Сейчас в теме
Не не не, спасибо =) никаких модальностей =)
24. ra1ich 17 14.11.17 13:08 Сейчас в теме
Прикольно, для нас будет актуально.
🅵🅾️🆇; +1 Ответить
27. azubar 39 07.12.17 00:51 Сейчас в теме
У меня не работает. либо вообще яндекс возвращает результат без ошибок либо только первую ошибку, в то время как просто в браузере выдает все ошибки, видео:
https://www.screencast.com/t/Ym9LeUQokNWy

Если слать текст на проверку яндексу POSтом то нормально работает.
И перекодировку текста лучше делать:
ТекстНаПроверку	= КодироватьСтроку(Текст, СпособКодированияСтроки.КодировкаURL);
🅵🅾️🆇; +1 Ответить
28. 🅵🅾️🆇 07.12.17 10:22 Сейчас в теме
(27) Все работает со строкой:
ашибка			арфаграфия	праверить	ашибки



Обработка внедрена на производстве в несколько документов перед записью.


С КодироватьСтроку() полностью согласен, добавлю в следующую версию.
Проблема действительно может иметь место быть, тк GET запрос передает параметры через URL, возможно нечто в тексте "портит" его.
29. Артано 715 24.04.18 10:45 Сейчас в теме
Производиться десять попыток достучаться до сервиса, прежде чем будет выведено сообщение о невозможности использования (сервис лег, ну или что вероятнее - ваш интернет).
Хотел пошутить про применение обработки к тексту публикации, но вспомнил, что здесь нужен семантический, а не синтаксический анализ.

Остальное порадовало, спасибо!
🅵🅾️🆇; sutkin; +2 Ответить
33. 🅵🅾️🆇 25.04.18 11:23 Сейчас в теме
(29) Поправьте, а Я обязательно поправлю в публикации.
Возможно у меня есть в наличии некоторое косноязычие.

Спасибо, рад теплым отзывам.
35. Артано 715 26.04.18 07:51 Сейчас в теме
(33) Ошибка из расстрельного списка грамматических нацистов (их символ в картинке публикации). написание тся и ться. Я думал после древнего апдейта вконтакте, когда разделили лайк на собственно лайк и на репост (мне нравиТся и поделиТЬся).
31. vgrichuk 25.04.18 08:53 Сейчас в теме
Оффтопик. Коллеги, меня одного покоробила эмблема граммар-наци, использованная в описании обработки?
madonov; 🅵🅾️🆇; pr0t; CyberBob; +4 Ответить
32. 🅵🅾️🆇 25.04.18 11:20 Сейчас в теме
36. BorovikSV 1024 26.04.18 11:03 Сейчас в теме
а почему логотип стилизован под фашистский флаг?
Perfolenta; +1 Ответить
38. madonov 156 27.04.18 08:41 Сейчас в теме
(36) это логотип движения "Граммар-наци".
Обычно символизирует нетерпимость к грамматическим ошибкам и их авторам.

Весьма спорный выбор со стороны автора, учитывая, что прецеденты в виде штрафов за его публикацию в нашей стране уже были.
Perfolenta; +1 Ответить
39. 🅵🅾️🆇 27.04.18 13:10 Сейчас в теме
(38) Такого не знал.
Просто показалось, что будет довольно уместным и привлекающим внимание...
40. madonov 156 28.04.18 03:16 Сейчас в теме
(39) Ну внимание однозначно привлекает =)))
42. Perfolenta 08.11.18 18:58 Сейчас в теме
(39) уберите его, пожалуйста, не надо провоцировать людей... привлекать внимание можно и не использую фашистскую символику...
user1041486; vatkir; +2 1 Ответить
43. Bolnov 27.12.19 14:22 Сейчас в теме
Как слово в тексте красным подчеркнуть наподобие ворда или браузера?
44. 🅵🅾️🆇 499 30.12.19 21:30 Сейчас в теме
(43) так это и есть html документ, прям так и подчеркивайте, а css доводите до ума)
45. user1041486 27.08.20 03:57 Сейчас в теме
Как вы сделали выпадающее меню,для выбора предложенных вариантов исправления?
Оставьте свое сообщение

См. также

Конвертация любых адресов, написанных в свободной форме, к ФИАС Промо

Универсальные обработки Классификаторы v8 1cv8.cf Россия Абонемент ($m)

Допустим у нас есть база с адресами клиентов, и написаны они могут быть как душе угодно. С опечатками, без индексов, без разделителей, в совершенно любом формате. Вот было бы здорово иметь функцию, которая одним нажатием кнопки преобразует любую белиберду к строгому представлению адреса по ФИАС? Восстановит индекс, исправит опечатки и вернёт на 100% валидный адрес. Для всех, кто мечтательно сказал "ДА!", выкладываю данную обработку.

2 стартмани

30.06.2020    6638    63    XilDen    15    

BIM: взаимодействие с платформой Autodesk Forge

WEB v8 1cv8.cf Строительство Абонемент ($m)

Предлагаемый пример демонстрирует широкие возможности для взаимодействия «1С:Предприятие» с платформой Autodesk Forge и позволяет вам получить базовые представления о применения технологий информационного моделирования в строительстве. Поддерживаются все версии платформы от 8.3.12 и выше до 8.3.18.

1 стартмани

25.11.2020    33492    11    kandr    2    

Модуль обмена с QIWI

Банковские операции WEB v8 1cv8.cf УУ Абонемент ($m)

Компании, которые используют систему моментальных платежей QIWI, ценят ее за удобство по скорости выплат и для платежей по запросу. Но такие переводы сложны для учета, а при большом объеме проводимых операций отнимают много времени и превращаются в дополнительную головную боль. Мы сотрудничали с компаниями, которые отправляют большое количество платеже на QIWI, и часто слышали боль бухгалтеров о том, как им сложно работать с такими переводами. Поэтому мы автоматизировали выплаты через QIWI в 1С и создали модуль интеграции 1С c API QIWI Wallet и QIWI TopUp.

5 стартмани

25.05.2020    7383    0    Neti    10    

Панель #Расширение объекта: Редактор, Права, Поиск, Сторно, Обмен

Универсальные обработки v8 1cv8.cf Абонемент ($m)

Панель команд текущего объекта (документа, справочника и т.д.) со следующим возможностями: Редактор реквизитов, таблиц и движений текущего объекта, Анализ прав доступа к текущему объекту, Поиск ссылок на объект с отборами, Сторно движений документа, Выгрузка/загрузка текущего объекта между базами. Реализована всплывающей панелью в форме объекта. Подключается как расширение конфигурации (*.cfe) либо отдельными обработками.

1 стартмани

01.05.2020    14621    111    sapervodichka    1    

Удаление и/или копирование сохраненных в 1С настроек (например настроек печати табличных форм) Промо

Универсальные обработки Сервисные утилиты v8 Абонемент ($m)

Иногда нужно удалить сохраненную в 1С "покореженную" настройку или скопировать "удачную" другому пользователю...

1 стартмани

01.09.2012    65919    1378    AnryMc    46    

"Учет штрафов ГИБДД" с возможной загрузкой из открытых источников в интернет Расширение конфигурации 1С: Предприятие 8.3

Обработка документов WEB v8 v8::УФ 1cv8.cf Россия БУ УУ Абонемент ($m)

Расширение конфигурации Бухгалтерия предприятия, редакция 3.0 (при минимальных изменениях любой типовой конфигурации), позволяющее вести историю данных по штрафам ГИБДД для справочника транспортных средств компании. Бонусом поставляется внешняя обработка, способная загружать эти данные из открытых источников в интернет.

4 стартмани

30.12.2019    19361    23    capitan    11    

Односторонний файловый обмен с сайтом по ftp (1C 2 Web)

Обмен данными 1С Файловые протоколы обмена, FTP WEB v8 Розница УНФ ERP2 БП3.0 УТ11 КА2 ЗУП3.x Абонемент ($m)

Подходит под любую конфигурацию на управляемом интерфейсе на базе БСП 2.4.4 и выше. Позволяет гибко настроить выгрузку, практически любых, данных по расписанию на сервер ftp вашего ресурса. Ведение лога процесса выгрузки также предусмотрено.

3 стартмани

09.12.2019    11599    14    LamerSoft    0    

Работа с релизами 1С и договорами ИТС

WEB БСП (Библиотека стандартных подсистем) v8 1cv8.cf Абонемент ($m)

Работа с релизами 1С и партнерским кабинетом.

2 стартмани

15.08.2019    20796    60    RocKeR_13    37    

Групповая корректировка записей регистров (Управляемое приложение) v 2.1 Промо

Универсальные обработки v8 v8::УФ v8::СКД 1cv8.cf Абонемент ($m)

Обработка предназначена для групповой корректировки записей регистров Накопления, Сведений и Бухгалтерии. Разработана специально для Управляемого приложения.

3 стартмани

06.09.2013    67921    308    kser87    58    

Работа с файлами (обычная и управляемая форма)

Универсальные обработки v8 v8::УФ 1cv8.cf Абонемент ($m)

Нужно загрузить файл с клиента на сервер или же, наоборот, файл загрузить с сервера на клиент, а впридачу все это на web-клиенте, да еще и асинхронно? Нет ничего проще, читай далее, как это сделать!

1 стартмани

10.06.2019    39926    217    Xershi    77    

Редактор объектов информационной базы 8.3

Универсальные обработки Обмен через XML v8 v8::УФ 1cv8.cf Россия Абонемент ($m)

Универсальная внешняя обработка для редактирования реквизитов и табличных частей объектов информационной базы, редактирование движений документов. Доступ ко всем реквизитам объектов, есть возможность выгрузки и загрузки данных (объекты и движения документов) через XML. Платформа 8.3, управляемые формы. Версия 1.1.0.57 от 09.10.2021

2 стартмани

23.01.2019    41973    465    ROL32    50    

Сравнение pdf-файлов актов сверки

Универсальные обработки Дебиторская и кредиторская задолженность Дебиторская и кредиторская задолженность v8 v8::БУ БП2.0 Россия БУ Абонемент ($m)

Обработка сравнивает два pdf-файла, в которых находятся стандартные печатные формы актов сверки, и показывает на экране совпадающие и/или отличающиеся по суммам документы взаиморасчетов.

1 стартмани

19.12.2018    22931    18    Torin99    2    

Установка предопределенных элементов: просмотр, исправление и поиск ошибок (задвоенных и отсутствующих) Промо

Инструментарий разработчика Универсальные обработки v8 1cv8.cf Абонемент ($m)

Простая обработка для просмотра и установки значений предопределенных элементов. Позволяет заменить значение предопределенного элемента с одного элемента справочника на другой, удалить предопределенный элемент (снять пометку предопределенности), установить пометку переопределенного элемента. Проверяет предопределенные данные на наличие задвоений и отсутствующих. Работает со справочниками, планами счетов, планами видов характеристик, планами видов расчетов.

2 стартмани

06.10.2014    168656    2750    ekaruk    170    

Выгрузка изображений из справочника на диск

Учет ТМЦ Универсальные обработки Учет ТМЦ v8 УТ11 Оптовая торговля, дистрибуция, логистика Россия Абонемент ($m)

Обработка позволяет записать изображения из справочка Номенклатура на диск в указанное место.

1 стартмани

30.11.2018    24862    9    wrooom    8    

Проверка VAT номеров

WEB v8 1cv8.cf Абонемент ($m)

Обработка для вызова сервиса проверка VAT номера.

1 стартмани

26.11.2018    18036    3    wtlz    1    

Обнуление остатков регистров бухгалтерии и накопления

Универсальные обработки Чистка базы v8 v8::БУ v8::ОУ v8::УФ КА1 БП2.0 ЗУП2.5 УТ10 УПП1 УНФ БГУ ERP2 БП3.0 УТ11 УХ КА2 ЗУП3.x Россия Абонемент ($m)

Обработка позволяет обнулить остатки по регистру накопления или бухгалтерии на определенную дату. Поддерживается большинство типовых конфигураций (БП 3, БП 2, УТ 11, УТ 10, ЗУП 3, ЗУП 2, БГУ 2, БГУ 1, ERP, УПП, КА 2, КА 1, УХ 3, УХ 1, УНФ). Гибкая настройка (отборы, заполнение реквизитов и любых полей корр. счета, возможность обнулять ресурсы выборочно). Несколько режимов работы. Два интерфейса: простой и с расширенным набором настроек.

2 стартмани

19.11.2018    34746    422    morozov.sv    55    

Универсальная выгрузка/загрузка данных для отличающихся конфигураций (JSON, Такси+ОФ) Промо

Перенос данных из 1C8 в 1C8 Универсальные обработки Распределенная БД (УРИБ, УРБД) v8 1cv8.cf Абонемент ($m)

Простой перенос через JSON данных между двумя базами 1С (документов, справочников, ПВХ, ПВР, счетов). Аналогична произвольной выгрузке в типовой "Выгрузка/загрузка XML", но может использоваться для отличающихся конфигураций. Подходит для любых пар баз с любым интерфейсом (управляемый + обычный). Без настроек. Не требует идентичности конфигураций и платформ. При переносе типы данных сопоставляются по наименованиям метаданных, объекты и ссылки по UID.

1 стартмани

22.10.2014    223824    4372    ekaruk    184    

Навигатор по конфигурации базы 1С 8.3

Структура метаданных Универсальные обработки v8 v8::УФ 1cv8.cf Россия Абонемент ($m)

Универсальная внешняя обработка для просмотра метаданных конфигураций баз 1С 8.3. Отображает свойства и реквизиты объектов конфигурации, их количество, основные права доступа и т.д. Отображаемые характеристики объектов: свойства, реквизиты, стандартные рекизиты, реквизиты табличных частей, предопределенные данные, регистраторы для регистров, движения для документов, команды, чужие команды, подписки на события, подсистемы. Отображает структуру хранения объектов базы данных, для регистров доступен сервис "Управление итогами". Платформа 8.3, управляемые формы. Версия 1.1.0.85 от 10.10.2021

3 стартмани

28.10.2018    44442    394    ROL32    72    

Универсальный инструмент для переноса данных через табличный документ (УФ)

Обработка документов Универсальные обработки Обработка справочников v8 v8::УФ 1cv8.cf Абонемент ($m)

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

5 стартмани

15.10.2018    46748    151    json    44    

Работа с публикациями "Инфостарт"

Практика программирования О сообществе WEB v8 УУ Абонемент ($m)

Работа с рублевыми публикациями на сайте "Инфостарт": ведение клиентов, заказов, обновление файлов публикации, рассылка обновлений.

1 стартмани

13.09.2018    28692    14    RocKeR_13    16    

Пример использования REST API Яндекс Диска

WEB v8 1cv8.cf Абонемент ($m)

Пример использования REST API Яндекс Диска: чтение диска, добавление каталога, загрузка файла, скачивание файлов или каталогов, удаление файлов или каталогов.

1 стартмани

26.06.2018    33811    54    MKFreeUser    15    

Обмен файловыми базами данных через Yandex диск

WEB v8 Россия Абонемент ($m)

Выполнение операций обмена с Yandex диском для файловых БД, по протоколу WebDav, в автоматическом или ручном режимах.

1 стартмани

11.06.2018    21206    7    slimper    1    

Конфигурация для просмотра публичных телеграм каналов

WEB v8 Абонемент ($m)

Просмотр и каталогизация в более удобном виде публичных телеграм каналов, групп и чатов.

1 стартмани

02.06.2018    22397    13    DO_WHILE_LOOP    7    

Просмотр, изменение реквизитов объекта. Сравнение двух одинаковых объектов метаданных ИБ

Универсальные обработки v8 1cv8.cf Россия Абонемент ($m)

Показывает реквизиты объекта (ов) или сравнивает два одинаковых объекта конфигурации справочники, документы.

1 стартмани

26.04.2018    22461    28    Vin_Tik    0    

Чтение и запись из таблиц гугл (google sheets) в табличный документ 1С (8.3, управляемые формы)

Внешние источники данных WEB v8 v8::УФ 1cv8.cf Абонемент ($m)

Внешняя обработка на управляемой форме для 1С версии 8.3 для доступа к сервисам Google Sheets c использованием протокола авторизации OAuth 2.0. Выполняет получение списка листов таблицы гугл, чтение таблицы гугл в табличный документ 1С и запись из табличного документа 1С в таблицу гугл. Тестирование проводилось на платформе 1С:Предприятие 8.3 (8.3.11.2954).

1 стартмани

09.04.2018    53383    365    Ko1t    85    

Внешняя компонента для работы по Web-socket протоколу x32 x64

Разработка внешних компонент WEB v8 Абонемент ($m)

Кто когда-нибудь сталкивался с обменом данными по Web-Socket (wss) протоколу из 1С, тому известно, что в платформе отсутствуют данные механизмы (не путать с HTTP запросами и WebServices). Предлагается использовать внешнюю компоненту, написанную по технологии NativeAPI, для подключения и обмена с серверами из 1С-Предприятия, работающими по протоколу Web-Socket.

2 стартмани

30.03.2018    35991    65    Ditron    103    

Построение маршрута доставки с расчётом расстояния для любой базы УФ

Универсальные обработки WEB Оптовая торговля Оптовая торговля v8 v8::УФ 1cv8.cf Абонемент ($m)

Графическое изображение маршрутного листа по картам гугл. Работает на любой конфигурации с управляемыми формами. Использует новую версию api google-карт от 13.02.2018 года под IE11.

10 стартмани

24.02.2018    43571    46    KorotkovRV    17    

Сервер push сообщений “Push0k“ 18.05

WEB v8 1cv8.cf Абонемент ($m)

Аналог других “мессенджеров“. Позволяет практически все то же самое, что и другие решения. За исключением смайлов, эмодзи, голосовой и видео связи. Основное отличие от других решений, открыта и доступна для изменения серверная и клиентская часть месенджера. Общедоступной серверной части нет, за серверную часть отвечаете вы сами.

1 стартмани

19.12.2017    22568    13    PloAl    20    

Подсистема Вики - интеграция 1С и сайта под управлением MediaWiki

WEB v8 Абонемент ($m)

Редактирование статей сайта Mediawiki из 1С. Формирование функционального описания конфигурации на сайте Вики.

1 стартмани

19.09.2017    33214    35    shmalevoz    20    

Работа с картой. Кадастровый учет (Росреестр). Тематические карты

WEB Рабочее место v8 v8::УФ 1cv8.cf Абонемент ($m)

Внешняя обработка для работы с картами в 1С. Получения изображения с публичной кадастровой карты России, построения тематических карт

10 стартмани

31.08.2017    25195    19    vipchep    1    

Инструменты бухгалтера: Виджеты рабочего стола

Универсальные обработки Рабочее место v8 v8::БУ БП3.0 Абонемент ($m)

Настраиваемые виджеты на начальной странице, своеобразная панель для быстрого доступа к объектам. Виджеты это элементы интерфейса в виде цветных прямоугольников со ссылками на объекты конфигурации. Использование виджетов позволяет сконцентрировать на начальной странице часто используемые функции, например, варианты отчетов, списки документов, или используя виджет вводить новый документ прямо из начальной страницы.

2 стартмани

28.08.2017    44314    182    Bazil    30    

Консоль сравнения данных (1С 8, 1С 7.7, SQL, CSV, TXT, DBF, XLS, DOC, XML, JSON, табличный документ) (версия 15.9.63)

Универсальные обработки v8 1cv8.cf Абонемент ($m)

Обработка Консоль сравнения данных (КСД) предназначена для сравнения данных, полученных из разных источников данных: информационных баз 1С 8, 1С 7.7, баз данных SQL, файлов формата CSV/TXT/DBF/XLS/DOC/XML, строки JSON, вручную заполненного табличного документа. Минимально необходимая версия платформы: 8.3.6.1977.

1 стартмани

13.02.2017    41567    153    sertak    132    

Настройка рекламной кампании Яндекс.Директ на 30000 ключевых фраз за 60 минут - теперь это реально!

WEB v8 Реклама, PR и маркетинг Россия Абонемент ($m)

Конфигурация для настройки Яндекс.Директа.

10 стартмани

20.10.2016    32773    51    avalakh    10    

Поиск и отключение зависших сеансов на сервере 1С: Предприятия

Универсальные обработки v8 1cv8.cf Россия Абонемент ($m)

Обработка предназначена для мониторинга и отключения спящих (зависших) сеансов на сервере 1С: Предприятия.

1 стартмани

14.09.2016    39029    64    wowchik_85    12    

Редактор движений документа. Сохранение в XML, обмен между базами, замена регистратора.

Обработка документов Универсальные обработки Обмен через XML v8 Абонемент ($m)

Редактор набора записей движений документа. Позволяет сохранить набор записей в XML, в настройки пользователя, прочитать сохраненный XML в другой идентичной базе, заменить регистратор. Можно изменять порядок записей, менять активность, как массово, так и по одной и др. Тонкий клиент, управляемые формы.

1 стартмани

07.09.2016    51581    168    Aphanas    4    

Универсальный поиск объектов по глобальному уникальному идентификатору (ГУИД, GUID)

Универсальные обработки Поиск данных v8 v8::УФ 1cv8.cf Абонемент ($m)

Универсальная обработка поиска объектов информационной базы по глобальному уникальному идентификатору (ГУИД, GUID) или по его части.

1 стартмани

06.09.2016    39723    112    Dzenn    9    

Обработка "Распознавание штрихкода с помощью утилиты Zbar" для Документооборот ред. 2

Универсальные обработки Документооборот и делопроизводство Документооборот и делопроизводство v8 ДО Абонемент ($m)

В связи с тем, что стандартный функционал программы «Документооборот» ред. 2.1 дает возможность распознавания штрихкодов только форма EAN-13, данная обработка - альтернативный способ для распознавания штрихкода в программе 1С: Документооборот ред. 2 с помощью утилиты Zbar, которая распознает в том числе и в формате Code 128 (один из стандартных штрихкодов кодирования документов, например, «Управление торговлей» ред. 11), а также с возможностью поэтапно проследить все действия от распознавания до прикрепления к документу или простой загрузки в каталоги файлов в базе 1С.

5 стартмани

05.09.2016    27200    175    SEOAngels    11    

Конструктор-тестер http запросов в 1С

WEB Инструментарий разработчика v8 1cv8.cf Россия Абонемент ($m)

Данная обработка позволяет в несколько кликов конструировать http запросы на языке 1С и просматривать результаты их выполнения.

3 стартмани

19.08.2016    48212    316    hlopik    19    

Легкий интернет-магазин из УТ 11.2

WEB Управление взаимоотношениями с клиентами (СRM) Оптовая торговля Розничная торговля Управление взаимоотношениями с клиентами (СRM) Оптовая торговля Розничная торговля v8 УТ10 УУ Абонемент ($m)

Обработка создания интернет-магазина из УТ 11. Создается единственный файл html, который содержит все выгруженные товары. Клиент составляет и отправляет заказ вам на e-mail прямо из браузера, не прибегая к использованию стороннего ПО.

11.08.2016    37855    0    hlopik    37    

Оптимальный способ расчета контрольной суммы объекта/записи регистра (CRC32, MD5, SHA1, SHA256)

Универсальные обработки v8 1cv8.cf Абонемент ($m)

(©Топчий Д.Ю.) Была задача сравнить документы в распределенных базах и пометить на выгрузку измененные. Но сравнение изменений документов методом перебора реквизитов - долгоиграющий процесс, особенно если общее количество сравниваемых данных переваливает за миллион. Был найден выход, который ускоряет процесс сравнения - расчет контрольной суммы объекта и сравнение ее с другой контрольной суммой. Скорость сравнения увеличивается во много раз.

1 стартмани

01.08.2016    38485    7    hakerxp    10    

Подсистема обмена данными с порталом ИМНС по электронным счетам-фактурам (автоматический обмен)

Внешние источники данных WEB Инструментарий разработчика v8 1cv8.cf Беларусь БУ НДС Абонемент ($m)

Подсистема включает документы и обработки для автоматического обмена данными с порталом ИМНС через web-сервис. Присутствует возможность заполнения данными типовых операций за период, учёта входящих документов, учёта произвольных исходящих документов. Приложены обработки для запуска задания планировщика на автоматический обмен данными.

1 стартмани

28.07.2016    38115    20    c1nil    4    

Просмотр данных системы Платон на картах Google

Универсальные обработки WEB v8 1cv8.cf Автомобили, автосервисы Транспорт, автопарки, такси Абонемент ($m)

Обработка для просмотра предполагаемых треков движения транспортного средства на карте Google согласно данным, предоставляемым системой Платон в формате CSV. Работает под 8.2 и 8.3, обычное и управляемое приложение, может подключаться к типовым конфигурациям в качестве внешней обработки.

1 стартмани

15.04.2016    39409    21    anig99    11    

Трекинг номеров РПО в Почте России

WEB Оптовая торговля Оптовая торговля v8 Оптовая торговля, дистрибуция, логистика Абонемент ($m)

Относительно недавно Почта России стандартизировала и описала сервисы получения информации о регистрируемом почтовом отправлении (РПО). Представляю вашему вниманию конфигурацию-обертку над сервисами Почты России. Она позволяет просто (http-запросы) и без изменений конфигурации подключить сервисы отслеживания к своим информационным системам.

2 стартмани

28.03.2016    32609    38    Smaylukk    3    

Модуль для работы 1С (платформа 8.2 и выше) с внешними SOAP Web-сервисами

Внешние источники данных WEB Интеграция v8 1cv8.cf Абонемент ($m)

Модуль для работы 1С (платформа 8.2 и выше) с внешними Web-сервисами, реализованными по протоколу SOAP.

2 стартмани

15.02.2016    43980    85    lunjio    15