strmatch - Нечеткое сравнение и поиск строк

Публикация № 237186 18.11.13

Разработка - Инструментарий разработчика

strmatch нечеткое сравнение поиск fuzzy fuzzysearch

Компонента для нечеткого сравнения строк.
Это репост моей публикации из "Клуба профессионалов 1С"

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

 

Т.к. на базе этой компоненты существуют разработки, предлагаемые на инфостарте, я решил разместить и саму компоненту также тут. Автор я сам, никакого плагиата :)

Важное замечание 1. Значения, выдаваемые компонентой, это НЕ ПРОЦЕНТЫ (!!!).
Сами по себе цифры ничего не значат, показательно то, что для более похожих строк они больше. Основной use case использования: взять строку-образец, сравнить по очереди со списком строк для поиска наиболее похожих. Для ускорения многократного сравнения разных образцов с одним и тем же набором строк предусмотрен механизм создания внутренних кешей.

Важное замечание 2. Компонента не может ответить на вопрос: "Есть искомая строка среди списка или нет". Она только выберет строки из предложенного списка наиболее похожие на образец. Если результат показался странным, значит остальные строки, по мнению внутреннего алгоритма, похожи на образец не более, чем выбранные.

 В комплекте идет:

  • bildlist.txt - история версий
  • FuzSearch.ert - пример использования
  • readme.txt - описание и информация о том как подключить
  • StrMatch.als - файл синтаксис-помошника по компоненте
  • StrMatch.dll - сама компонента. Версия 2.1.0 от 4 февраля 2005г.

Для работы требуется:

    Проверить, есть ли в папке system32 файлы:
    mfc71.dll и msvcr71.dll - если нет, то найти в инете и поместить их туда

 

Какая-либо работа над компонентой прекращена и не планируется в обозримом будущем. Найденные исходники выложены сюда:

https://github.com/5k0rp/StrMatch

Возможно, исходники не самые свежие, т.к. в какой-то момент они терялись из-за умершего диска. Как и что удалось восстановить - не помню.

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

Наименование Файл Версия Размер
Архив с компонентой и описанием

.zip 38,30Kb
232
.zip 2.1.0 38,30Kb 232 Скачать

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. yukon 81 18.11.13 12:00 Сейчас в теме
Отлично.

Версия под NativeAPI планируется?
3. Sk0rp 114 18.11.13 13:10 Сейчас в теме
(1) yukon, Какое-либо развитие компоненты не планируется. Была в свое время написана для конкретного проекта. Исходники если найду позже тоже выложу.
36. Sk0rp 114 22.11.13 14:56 Сейчас в теме
(1) yukon, (35) cool.vlad4, не совсем понимаю, что вы называете "Native".
Компонента создана по технологии создания внешних компонент с ИТС. Реализует интерфейс расширения языка.
37. Evil Beaver 7126 22.11.13 14:58 Сейчас в теме
(36) они имеют в виду новый вид API внешних компонент, которые не использует COM. Называется Native API и применяется в 8.2 наряду с COM-компонентами.
39. Sk0rp 114 22.11.13 15:14 Сейчас в теме
(37) Evil Beaver, ясно, спасибо.
Думаю если еще не существует, то появится в ближайшее время обертка, которая позволит любую старую компоненту подключать через новый интерфейс.
40. cool.vlad4 45 22.11.13 15:32 Сейчас в теме
(39) это ближайшее время уже 2-3 года. этот 1С-ский native появился не вчера, его плюс в том, что работает на сервере, в том числе и на nix-ксах(поэтому мне не совсем понятна, какая в этом случае будет обертка, но все возможно), и не требует регистрации.
41. Жолтокнижниг 254 26.11.13 10:25 Сейчас в теме
(39) наврятли появится, т.к. Native поддерживает меньше типов данных (только простые, даже массивы не умеет). Так что придется городить кучу костылей или делать конкретные реализации для каждой COM-вк, но пользы от этого 0.
2. tango 494 18.11.13 12:12 Сейчас в теме
единственная вк, которая принесла пользу
поправьте "пример оспользования" в тексте
4. Sk0rp 114 18.11.13 13:10 Сейчас в теме
(2) tango, Спасибо. Исправил.
5. Yashazz 4065 18.11.13 17:14 Сейчас в теме
Судя по als-файлу, это та самая компонента времён 7.7 и сайта hare.ru, или нет? И вы, sk0rp, её автор?
6. Sk0rp 114 18.11.13 17:46 Сейчас в теме
(5) Yashazz, дважды "да". Действительно впервые она выклыдавалась мной у кролика.
10. Yashazz 4065 19.11.13 20:58 Сейчас в теме
(6) Тогда искреннее большое спасибо, она в те времена изрядно пригодилась. А теперь - большинство будет юзать полнотекстовый поиск, а про расстояние Левенштейна и прочую ересь вообще никто не знает )))
DrAku1a; Valet; +2 Ответить
7. AlX0id 19.11.13 12:54 Сейчас в теме
мм.. это типа можно для распознавания голоса использовать? )
8. tango 494 19.11.13 13:07 Сейчас в теме
(7) AlX0id, скорее для идентификации автора по образцам текстов
9. Sk0rp 114 19.11.13 14:00 Сейчас в теме
(7) AlX0id, нет. Анализируется только текст.
11. Lemkus 20.11.13 10:49 Сейчас в теме
Чем эта компонента лучше полнотекстового поиска?
15. Yashazz 4065 20.11.13 12:05 Сейчас в теме
(11) У полнотекстового поиска есть куча недостатков. Например, область индексации динамически не управляется и любое перестроение кушает время.
16. Makushimo 157 20.11.13 12:26 Сейчас в теме
(15) Yashazz,
можно подробнее?
какие конкретно недостатки у полнотекстового поиска,
которые однозначно склоняют к поиску альтернативы?
например, эта компонента в публикации
28. Yashazz 4065 22.11.13 00:42 Сейчас в теме
(16) Так написал же - область индексации неуправляемая. У меня, допустим, три обалденных регистра сведений отмечены как используемые к полнотекстовому, но обновлял я лишь один регистр и искать хочу по нему - а обновление/слияние прочешет все три, степень гибкости маловата, время и ресурс жалко. Или я чего не знаю про полнотекстовый штатный?
20. Sk0rp 114 20.11.13 13:37 Сейчас в теме
(11) Lemkus, области использования практически не пересекаются. Сравнивать не имеет смысла.

(12) Makushimo, много было взято из metaphone:
http://en.wikipedia.org/wiki/Metaphone
Существует его адаптация и для русского языка.
Затем считается количество совпавших звуков и последовательностей звуков (чем длиннее тем больше вес).
Цифры обрабатываются отдельно.

(13) Evil Beaver, изначально писалось как часть системы для полуавтоматической загрузки сканированных накладных поставщиков. Понятия электронного обмена в то время практически не существовало: была машина со сборной солянкой грузов от 50 поставщиков, коробка из 200 - 300 бумажных накладных и закрытый почти на неделю оптовый склад, т.к. операторам требовалось до 5 дней на обработку. С введением этой системы склад перестал закрываться на время приема вообще, а качество ввода накладных выросло.
22. Lemkus 21.11.13 11:00 Сейчас в теме
(20)
Видимо, я плохо понимаю, что значит "Сравнение производится по звучанию"

Про полнотекстовый поиск в СП:
# - нечеткий поиск слов с заданным количеством отличий от указанного (если не указано, то = 1); пример: запрос "#Система" найдет "систама", "сивтема"; запрос "Система#2" найдет "ситтама", "сеттема";

Разве это не то же самое, что в компоненте, в чем отличия?
23. Sk0rp 114 21.11.13 12:24 Сейчас в теме
(22) Lemkus, не совсем.
Для компоненты будут практически одинаковыми названия:
Whiskey Jack Daniels 500ml
500 Виски жек денил
Whi5key 500 мл /ack Dan|e1s /при распознавании грязного текста/
При этом расстояние Левингштейна между ними очень велико.
ger_kar; orfos; Torin99; Evil Beaver; Lemkus; +5 Ответить
24. Evil Beaver 7126 21.11.13 14:25 Сейчас в теме
(23) Круть, дайте две!
Если мне вдруг что-то такое потребуется, буду знать, где скачивать! :)
35. cool.vlad4 45 22.11.13 14:01 Сейчас в теме
(11) Lemkus, тем, что они разные и по разному работают и ищут. во-первых надо заставить хоть как-то полнотекстовый искать "по созвучанию" (с помощью строк поиска, всякими # и прочее), во-вторых полнотекстовый не спрашивает, где искать он ищет во всем объекте, кушает дофига ресурсов и тормозной как не зная кто.
(0) если она была бы под Native, это было бы очень клево. а так компонента очень полезная.
12. Makushimo 157 20.11.13 12:00 Сейчас в теме
А можете написать статью про алгоритм работы этой компоненты?
в картинках и на пальцах.
очень интересно
13. Evil Beaver 7126 20.11.13 12:00 Сейчас в теме
Вроде звучит клёво, но не пойму сходу, в каких практических задачах ее можно применить?
14. tango 494 20.11.13 12:02 Сейчас в теме
(13) Evil Beaver, синхронизация справочников
17. Evil Beaver 7126 20.11.13 12:47 Сейчас в теме
(14) tango, ну может быть... хотя нечеткая синхронизация такого может насинхронизировать....
В синхронизации, как раз идентичность сущностей крайне важна. А так, сегодня у меня отображалось в один объект, а завтра кто-то поменял наименование, его рейтинг в нечетком поиске вырос, и стало отображаться в другой объект...
Но, как вариант первичного слияния двух замусоренных баз с поиском правых и виноватых, да, наверное, можно что-то придумать :)
18. tango 494 20.11.13 12:52 Сейчас в теме
(17) Evil Beaver, разумеется, обработка полуавтоматическая.
ускорение работы оператора вполне реальное
второе применение - подбор в 1с из ексельного файлика (т.н. "проблема номенклатуры поставщика")
alex_sv; Sk0rp; +2 Ответить
19. мх 16 20.11.13 13:30 Сейчас в теме
Спасибо за эту компоненту.
До сих пор используем ее (работаем на 7,7)
(17) Evil Beaver Используем для (первичной) привязки номенклатуры поставщика к собственному справочнику товаров
21. Evil Beaver 7126 20.11.13 18:37 Сейчас в теме
> Сравнение производится по звучанию.
Прикольно, а это как вообще? Падонкафский езыг тоже понимает?
25. tango 494 21.11.13 14:30 Сейчас в теме
да, пожалуй, нынешнее поколение, учившее "полнотекстовый поиск", воспринимает это со своими оттенками эмоций
прикольно, что во времена 77 это воспринималось как будто так и надо
29. Evil Beaver 7126 22.11.13 11:56 Сейчас в теме
(25) tango, вброс не засчитан. Я, конечно, помоложе Вас буду (судя по фотке), но эмоции мои не от того, что я не представляю себе что такое нечеткий поиск, а от того, что теперь такой инструмент есть в общественном доступе. И да, я вряд ли в состоянии написать подобное, поскольку матчастью не владею. Но никому не дано знать все, верно же? Вы вот можете написать точно такую же полностью самостоятельно?
30. tango 494 22.11.13 12:07 Сейчас в теме
(29) Evil Beaver, начиная от "вброс" и далее везде. о чем вы хотите поговорить?
отмечу только, что сабж общедоступен со времен hare.ru - вы не прочитали камент или настолько молоды?
31. Evil Beaver 7126 22.11.13 13:09 Сейчас в теме
(30) tango, да, я настолько молод, что "во времена hare.ru" у меня не было интернетов :) Поговорить, я собственно, ни о чем не хочу, непонятна была причина вашей иронии про "эмоции молодого поколения". Что не так с эмоциями?
32. tango 494 22.11.13 13:27 Сейчас в теме
(31) Evil Beaver, не вижу предмета для иронии, извините
**
наверное, это "репутация"
34. Evil Beaver 7126 22.11.13 14:00 Сейчас в теме
(32) tango, чья "репутация", простите? И что вы хотели этим сказать?
38. tango 494 22.11.13 15:14 Сейчас в теме
26. V.Nikonov 119 21.11.13 18:49 Сейчас в теме
Недавно мучился с синхронизацией расползшихся ИБ. Начал писать собственный алгоритм пословного сравнения... Работало чуть лучше полнотекстового поиска, но не совсем удовлетворяло. Были большие проблемы с сокращением наименований (Молочный - мол.; Шоколадный - Шок; и т.п.). Предлагаемый алгоритм не только нивелирует перестановку слов, но и должен качественно отлавливать всевозможные (разумные) сокращения!
Спасибо Автору!!!
27. V.Nikonov 119 21.11.13 18:57 Сейчас в теме
А возможности скормить компоненте эталон и массив для поиска сложно? На выходе получить отсортированный массив? На низком уровне обрабатывать большой массив легче...
33. Sk0rp 114 22.11.13 13:45 Сейчас в теме
(27) V.Nikonov, именно так и работают кеши. Массив строк загружается один раз и предрассчитывается. Затем с ним можно быстро сравнивать различные образцы, получая на выходе отсортированные ключи (передаются вместе со строкой). Одновременно может быть неограниченное количество созданных кешей.
42. Torin99 276 26.11.13 17:10 Сейчас в теме
А не могли бы Вы сказать, что взято за меру "похожести"? "редакционное расстояние", "мера Джаккарда", "метод триад", расстояние Левенштейна ?
43. Sk0rp 114 26.11.13 18:22 Сейчас в теме
44. Torin99 276 26.11.13 18:48 Сейчас в теме
Все классно, кроме одного -- не хочет работать под операционкой на моем серваке -- Windows Server R2 2008
И добавление указанных Вами длл-ек -- mfc71.dll и msvcr71.dll -- проблему не решает...
45. Sk0rp 114 27.11.13 01:54 Сейчас в теме
(44) Torin99, как правило помогает однократный запуск 1С от имени администратора. На новых системах у компоненты не хватает прав, что бы зарегистрироваться. После этого можно запускать 1С как обычно. Существуют и другие, более специфичные, способы обойти проблемe нехватки прав, но это за рамками обсуждения самой компоненты.
Могу добавить, что я длительное время её использовал на W2k8 Server R2 x64
66. Jill 17 21.11.14 09:32 Сейчас в теме
Я бы еще добавил что в x64 OS необходимо проверять наличие mfc71.dll и msvcr71.dll в C:\Windows\SysWOW64 и класть именно туда.
Как в (44), например.
46. ugroblin 05.12.13 16:14 Сейчас в теме
Спасибо за хорошую вещь. Попробовал, очень понравилось.

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

Лично мне удобнее использовать нормированный. Так значительно удобнее проводить анализ результатов, отсев по уровню сходности.
StrMatch.Сравнить(А,Б)/StrMatch.Сравнить(А,А)
47. Sk0rp 114 05.12.13 16:45 Сейчас в теме
(46) ugroblin, потому, что там не линейный коэффициент, как переводить его в линейную шкалу процентов не понятно. А по здравому размышлению - не нужно. Все равно интересуют самые похожие из известных.
К стати, StrMatch.Сравнить(А,Б)/StrMatch.Сравнить(А,А) может давать единицу для широкого класса значений Б. А падение значения будет очень сильно зависеть от длины A. Кому-то это может подойти, но не как общее решение для всех.
48. kilo81 09.12.13 16:55 Сейчас в теме
Привет. Оценил эту ДЛЛ-ку в ПиКе. Очень крутая штука.
:) Терь там на 8-ке работают с ней же.
49. CheBurator 3372 12.12.13 17:14 Сейчас в теме
Компонента меганужная.
у меня на ней крутилоась фармация обработка поставщиков - целая система.
для радиодеталей человеку под заказ делал.
сейчас успешно работает на видеодисках.
и еще много где, сейчас уже не упомню за большое количество лет.
.
пример для 7.7 рабочий загрузку заявки покупателя можно посмотреть здесь
http://infostart.ru/public/14255/
.
50. CheBurator 3372 12.12.13 17:17 Сейчас в теме
Пока единственную вещь не удалось забороть, может автор подскажет.
делаю все как обычно, в результате получаю их хеша последовательность похожих на оригинал наименований - все отлично! но при этом индексы сравнения почему-то возвращаются нулевые..

Проявляется эта фигня эпизодически.
есть куча обработко - клоны одной и той же. отличаются незначительно, отличия не касаются работы ссо стрматч, одни обработки - нормально все, другие некоторые их меньше - индекс сравнения - нулевой...
.
????
53. Sk0rp 114 05.01.14 16:55 Сейчас в теме
(50) CheBurator, в старых версиях (стоит проверить на какой это возникает) был баг, приводящий к разным чудесам, если передаваемые для получения результата переменные к этому моменту еще не типизированы. Еще есть вариант, что индекс сравнения и правда ноль :)
А вообще Вам могу выслать исходники, пока сам не потерял :) - попробуйте сами разобраться.
54. CheBurator 3372 05.01.14 17:12 Сейчас в теме
(53) ну что индекс сравнения = 0 - очень маловероятно, а вот вариант с нетипизированными переменными - спасибо за наводку, посмотрю.
.
Вопрос: выложенная компонента в публикации - последней версии?
.
Исходники можно скинуть на e.meil@mail.ru - разобраться я в них вряд ли разберусь, но в запасниках пусть будет - хуже от этого не станет.
56. cool.vlad4 45 05.01.14 19:16 Сейчас в теме
(53) тогда если несложно и мне, пожалуйста, исходники (все таки хочется, если получится перевести компоненту на native) (а еще лучше их в публикации может выложить?)
Tallas; d0dger; Evil Beaver; +3 Ответить
68. CheBurator 3372 06.12.14 19:36 Сейчас в теме
(53) Проверил - насчет того что не выдает индекс сравнения.
см. скриншот - демо ошибки: http://screencast.com/t/0DbCzWI0h - выделенные зеленым должны стоять с самой верхней строки списка

Проблема в том, что если в
СравнитьСКэшем(<Ид>, <Стр>, <Кол>) - если "Кол" будет больше чем размер кеша - вылазит вот такая бяка с нулевыми индексами сравнения...
Поэтому надо определять так, чтобы Кол = Мин(СколькоВыдатьПохожих,РазмерКэша)
51. alexd73 04.01.14 14:25 Сейчас в теме
Привет!
Может быть есть какая-то возможность все-таки провести зависимость от длины искомых фраз? Т.е. у длинной строки значение под 800, а у короткой 50-100.

Т.е. при загрузке накладной можно выводить первые три значения (например), если нет точного соответствия, но хотелось бы ограничивать конкретные промахи. Например коэффициент ниже 50 для строки в 10 символов и ниже 300 для строки под 100 символов.
можно конечно поэксприментировать, но может быть кто-то делал опытные исследования такой зависимости?
52. Sk0rp 114 05.01.14 16:46 Сейчас в теме
(51) alexd73, конечно такая возможность есть. Проблема в том, что их не одна и выбрать среди множества я не представляю как. Но вы вполне можете в своих обработках дополнить логику обычным 1С-ным кодом, масштабируя полученный индекс длиной строки или ограничивая количество вариантов. Как было указано выше - максимальный индекс для конкретной строки можно получить сравнением с нею же. Остальное на Ваше усмотрение.
55. CheBurator 3372 05.01.14 17:14 Сейчас в теме
57. Evil Beaver 7126 05.01.14 21:06 Сейчас в теме
Если не жалко выложите исходники в публикации. Глядишь - будет новый виток развития
Jill; d0dger; +2 Ответить
58. d0dger 81 27.02.14 15:31 Сейчас в теме
Пытаюсь применить компоненту в качестве исправления опечаток вводимых наименований. Наткнулся на эту компоненту, очень интересно, но вероятно не лучшее решение под мою задачу.
За исходники на 1c8x@ukr.net или в публикации буду благодарен...
59. FireFox_Manager 13.08.14 13:54 Сейчас в теме
Вещь!
Вопрос к автору - можно ли использовать компоненту в своих коммерческих разработках?
60. Sk0rp 114 15.08.14 14:24 Сейчас в теме
(59) yinfo, да, можно. С указанием имени и авторства используемой компоненты.
61. FireFox_Manager 21.08.14 07:39 Сейчас в теме
(60) для указания авторства мне нужно знать, как вас зовут - в профиле нет этой информации. И ссылка на источник - ссылка на эту публикацию или у вас есть другая страничка?
63. Sk0rp 114 25.08.14 19:19 Сейчас в теме
(61) yinfo, В архиве с компонентой все есть.
(62) Tim72, Выложу для всех куда-нибудь как руки дойдут.
65. sttt 114 15.10.14 02:29 Сейчас в теме
(63) буду признателен если пришлете исходники: nohd@yandex.ru
62. Tim72 1 21.08.14 21:35 Сейчас в теме
(60)Sk0rp, доброго времени суток! Можете поделиться исходниками? Естественно, распространение с указанием авторства. Буду признателен.
Mail: avparshin@ukr.net
64. bogdan_sukonnov 57 27.08.14 14:04 Сейчас в теме
Для меня главным минусом компоненты является то, что она всегда хоть что-то да находит, а коэффициенты абсолютно безотносительны. Пока решил попробовать в массив поиска добавлять и искомую строку, идея в том, что коэффициент по ней будет хоть каким-то ориентиром. Если есть другие варианты - подскажите, пожалуйста.
67. Famza 84 26.11.14 12:31 Сейчас в теме
Может скажу глупость, но у меня итоговые таблицы получаются очень разными при сравнении двух массивов строк, те ТабИтог1 = Сравнить(Массив1, Массив2) очень отличается от ТабИтог2 = Сравнить(Массив2, Массив1) по количеству элементов. Обработка в 7.7: Массив1 - строки Наименование из Ехеля, Массив2 - строки Наименование из справочника 7.7.
Ось ХР СП3, StrMatch.dll 2.1.0
69. CheBurator 3372 06.12.14 19:38 Сейчас в теме
70. Famza 84 06.12.14 22:48 Сейчас в теме
Еще есть одно замечание. Строка поиска, например, "топор", в кэш помимо данной строки добавлена большая куча строк типа "кольцо стопорное 1234567890" и тд. Если при отборе количество наименований содержащих "топор" большое, то "топор" не то что не получает максимальный индекс, но и вообще не попадает в выборку. Такое ощущение, что поиск в самом деле настолько "нечеткий", что не видит полного совпадения вплоть до длины слова. Аналогично не определились "тяга", "реле" и тд. - вместо них подобрались более длинные с маркировкой типа "тяга поперечная ХХХХХХ", " реле ХХХ". А если увеличивать количество выбираемых похожих слов, то процесс поиска затягивается чрезвычайно.
Вразумите, мож что надо сделать помимо того что указано в примере?
ЗЫ. Свою задачу решил, но пришлось использовать несколько проверок дополнительных. И хотя для 14300 позиций не определились вообще только 18, не находить по полному соответствию как-то... неправильно.
71. CheBurator 3372 09.01.15 20:33 Сейчас в теме
(70) тут совпадения по фонетическому зваучанию.
на коротких словах работает плохо.
на длинных - оч.хорошо, даже если значительная часть слова совпадает а разнятся малой частью
72. Sk0rp 114 25.03.15 15:35 Сейчас в теме
Какая-либо работа над компонентой прекращена и не планируется в обозримом будущем. Найденные исходники выложены сюда:

https://github.com/5k0rp/StrMatch

Возможно, исходники не самые свежие, т.к. в какой-то момент они терялись из-за умершего диска. Как и что удалось восстановить - не помню.
Evil Beaver; tormozit; NFF; sttt; st00; Belomor; Tim72; Famza; yukon; cool.vlad4; +10 Ответить
73. Famza 84 09.06.15 14:02 Сейчас в теме
(72), Очень жаль. Вещь таки нужная
76. Tim72 1 31.08.15 11:43 Сейчас в теме
(72), Огромное спасибо за исходники!
Работаю в аптечном бизнесе 12 лет -- компонента очень сильно помогает искать название лекарств по фонетике (не все же покупатели знают из точное написание ;-) ).
74. AntonH851 82 14.07.15 15:23 Сейчас в теме
А у меня при вызове ПодключитьВнешнююКомпоненту 1С прекращает работу, при этом никаких ошибок, уже все перепробовали...
75. AntonH851 82 15.07.15 11:05 Сейчас в теме
На каких операционных системах она работает вообще?
77. e-ilyich 11 21.11.15 13:19 Сейчас в теме
StrMatch.dll в win 8 x64 не могу зарегистрировать
без регистрации ругается что нет у меня msvcr71.dll

хотя я все что в инструкции сказано сделал в system32 положил файлики MFC71.dll, msvcr71.dll
может под восьмерку нужно какието специальные файлики ?
78. yukon 81 30.11.15 18:13 Сейчас в теме
(77) e-ilyich,
сказано сделал в system32 положил файлики MFC71.dll, msvcr71.dll


Для 32-битных приложений в 64-битной системе, нужно выкладывать в C:\Windows\SysWOW64

Времена меняются, инструкция написана еще в те времена, когда 64-битные клиентские ОС были далеким будущим.
79. tormozit 6378 17.04.16 13:24 Сейчас в теме
Спасибо. Реализовал с помощью этой ВК нечеткий поиск дублей в инструменте "Поиск дублей и замена ссылок" в подсистеме "Инструменты разработчика".
80. CheBurator 3372 18.04.16 01:17 Сейчас в теме
(79) о! на это дело надо посмотреть, как у тебя это получилось... учти что для коротких строк работает плохо. чем длиннее строка, тем лучше. В ряде случаем нужно подымать/опускать вес чисел.
81. tormozit 6378 18.04.16 08:17 Сейчас в теме
(80) В каждой паре я нормализую разницу веса к весу наибольшего из пары и сравниваю с порогом.
82. Steelvan 115 18.04.16 09:18 Сейчас в теме
(79) tormozit,


Реализовали как Native ?
83. tormozit 6378 18.04.16 09:35 Сейчас в теме
(82) Нет. Здесь же только COM вариант ВК. Его и использовал.
84. ostapchenko.alexandr 20 30.12.17 11:33 Сейчас в теме
Я бьюсь второй день. Что я только не делал, даже установил виртуальную машину Windows XP. Пишет ошибку на строке Новый COMОбъект:
-2147467262(0x80004002): No such interface supported

Даже скачал dll автора, хотя был у меня уже этот dll. Ошибка та же!
85. Gkmy 29 03.01.18 03:28 Сейчас в теме
86. ostapchenko.alexandr 20 06.01.18 07:17 Сейчас в теме
(85) Windows 10 64, но также пробовал на WIndows 7 64 и Windows 8 64. Создавал на них виртуальные машины Windows XP 32. Но всегда одна ошибка про No such interface supported.
И в SYSWIN64 помещал и COM+ создавал, и всё очищал и заново пробовал. Ничего не помогло.
87. Gkmy 29 08.01.18 11:17 Сейчас в теме
(86) Спрошу иначе.. 8.х или 7.7?
88. ostapchenko.alexandr 20 09.01.18 09:45 Сейчас в теме
89. Gkmy 29 13.01.18 21:58 Сейчас в теме
(88) "Компонента для нечеткого сравнения строк. Это (!!) репост моей публикации из "Клуба профессионалов 1С" .. Какая-либо работа над компонентой (!!) прекращена и не планируется в обозримом будущем. Найденные исходники (!!) выложены ... StrMatch.dll - сама компонента. Версия 2.1.0 от (!!) 4 февраля 2005 ... Для работы (!!) требуется ... mfc71.dll и msvcr71.dll - если нет (не имеются в наличии см. далее - прим. мое), то найти в инете", - внимательно ознакомившись с вышеизложенным, дорогому читателю следует включить тумблер в положение: мозги.. В случае же отсутствия последнего: - Дорогой друг, пишите лично, сюда: https://infostart.ru/connect/?id=342676 - а лучше в телегу, ее в последнее время читаю все чаще.
Оставьте свое сообщение

См. также

Faster - многофункциональный ускоритель работы программиста 1С и других языков программирования Промо

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

Программа Faster 9.4 позволяет ускорить процесс работы программиста (работает в любом текстовом редакторе). Подсказка при вводе текста на основе ранее введенного текста и настроенных шаблонов. Программа Faster позволяет делится кодом с другими программистами в два клика или передать ссылку через QR Код. Исправление введенных фраз двойным Shift (с помощью speller.yandex). Переводчик текста. Переворачивает текст случайно набранный на другой раскладке. Полезная утилита для тех, кто печатает много однотипного текста, кодирует в среде Windows на разных языках программирования. Через некоторое время работы с программой у вас соберется своя база часто используемых словосочетаний и кусков кода. Настройка любых шорткатов под себя с помощью скриптов. Никаких установок и лицензий, все бесплатно.

1 стартмани

24.05.2012    83819    962    moolex    147    

Обработка непосредственного удаления помеченых на удаление объектов без монополного режима, без полных прав и контроля

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

Обработка удаляет помеченные на удаление объекты, не имея полных прав, без монополного режима и контроля ссылок

2 стартмани

31.08.2021    550    3    napan    0    

Универсальный редактор данных (УРД)

Инструментарий разработчика Администрирование данных 1С v8 Абонемент ($m)

Универсальный редактор данных (УРД) - это лучший инструмент в своем классе, который позволяет редактировать реквизиты и движения объектов

1 стартмани

27.08.2021    4332    98    Adeptus    51    

Powershell: Про чтение содержимого файлов и скорость

Инструментарий разработчика Абонемент ($m)

Как читать большие файлы? сколько времени займет поиск в файле 144Мб? Сколько ищет в папке логов на 14Гб?

1 стартмани

18.06.2021    782    0    Dimashiro    2    

Консоль запросов с графом (Анализатор сложных запросов) Промо

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

Консоль запросов для анализа запросов с большим количеством временных таблиц и вложенных запросов. Отображает структуру взаимосвязей временных таблиц в виде графа. Позволяет быстро передвигаться по тексту запроса и получать результат выполнения подзапросов. Единственная консоль запросов, которая позволяет выводить результат выполнения вложенных запросов и любой части объединения запроса. Удобное получение данных запроса из отладчика включая временные таблицы. Текст запроса в структурированном виде (можно свернуть, развернуть текст подзапроса). И еще много другого, чего вы не найдете в других консолях запросов. Поддержка УФ и ОФ. Версия 0.9.1 от 18.10.2019 (поддержка WebKit).

10 стартмани

03.05.2017    104848    491    manuel    288    

Внешняя компонента на python

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

Технология создания и примеры кросc-платформенной внешней компоненты на python.

1 стартмани

10.03.2021    2502    5    aou1c    11    

Подсистема "Показатели объектов"

Прочие инструменты разработчика v8 1cv8.cf Абонемент ($m)

Если вашим пользователям нужно вывести в динамический список разные показатели, которые нельзя напрямую получить из таблиц ссылочных объектов, и вы не хотите изменять структуру справочников или документов - тогда эта подсистема для вас. С помощью нее вы сможете в пользовательском режиме создать свой показатель, который будет рассчитываться по формуле или с помощью запроса. Этот показатель вы сможете вывести в динамический список, как любую другую характеристику объекта. Также можно будет настроить отбор или условное оформление с использованием созданного показателя.

2 стартмани

06.03.2021    6182    6    pila86    16    

Внешняя компонента: Android tools

Мобильная разработка Разработка внешних компонент v8 v8::Mobile Абонемент ($m)

Несколько дополнительных функций для мобильного приложения\клиента под Android. Размер архива внешних компонент под архитектуры ARM и x86 - 230KB.

1 стартмани

12.01.2021    4908    15    KAV2    8    

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

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

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

1 стартмани

01.09.2012    65331    1375    AnryMc    46    

FormCodeGenerator Программная доработка форм. Часть 2 (Режим работы "Режим сравнения форм") на примере ERP 2.5

Практика программирования Адаптация типовых решений Прочие инструменты разработчика v8 1cv8.cf Абонемент ($m)

Данная публикация является продолжением описания функционирования обработки "FormCodeGenerator " в режиме сравнения форм и генерирования кода на основании сравнения. Подходит для перевода уже доработанных форм с интерактивной доработки на программную. Данный режим работы обработки снизит издержки при дальнейших обновлениях конфигураций.

5 стартмани

21.12.2020    8930    26    huxuxuya    11    

Шрифт для программного кода на русском - Hack 1C

Прочие инструменты разработчика Абонемент ($m)

Случалось ли вам долго и мучительно искать, почему код работает неправильно, а оказалось, что вместо кириллической буквы "С" по ошибке была введена латинская "C"? Этот шрифт позволяет быстро отличать такие буквы и букву "О" от цифры "0".

1 стартмани

13.10.2020    6374    21    tormozit    61    

Чтение файлов с FTP

Прочие инструменты разработчика Сервисные утилиты Файловые протоколы обмена, FTP Россия Абонемент ($m)

Внешний EXE-файл, который при запуске переносит файлы из указанной папки FTP на локальный диск

1 стартмани

09.09.2020    3500    3    ah7777777    8    

Групповая обработка справочников и документов (Управляемая форма) v 3.6 (+English version) Промо

Обработка документов Универсальные обработки Обработка справочников v8::УФ v8::СКД Розница УНФ ДО БП3.0 УТ11 Абонемент ($m)

Старая добрая обработина "Групповая обработка справочников и документов", теперь на Управляемом приложении. Работает на платформе версии не ниже 8.2.16! Работает в интерфейсе "Такси"

3 стартмани

01.06.2013    130560    4956    kser87    352    

Мобильная платформа Android. Сохранение печатной формы в PNG

Мобильная разработка Разработка внешних компонент Абонемент ($m)

отправляем печатную форму в Viber, WhatsApp, Messenger

3 стартмани

07.09.2020    2946    0    kinan    2    

Навигация по тексту в стиле VIM

Прочие инструменты разработчика Абонемент ($m)

Попытка сделать навигацию по тексту и редактирование в стиле VIM, что, по моему скромному мнению, немного удобнее, чем в стандартном редакторе.

16.07.2020    3962    0    pm74    5    

Downloader 1C

Прочие инструменты разработчика 1С:Франчайзи, автоматизация бизнеса Абонемент ($m)

Консольное приложение для подготовки библиотеки дистрибутива 1С.

1 стартмани

13.04.2020    4783    1    korableg    6    

CF & SQL : конструктор прямых запросов к БД 1С Промо

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

Программа для чтения и анализа внутренней структуры данных 1С V8.х, Содержит конструктор прямых SQL запросов, позволяет обрабатывать и редактировать тексты SQL-запросов, выполнять прямые запросы к базе данных 1С и обрабатывать полученные результаты.

1 стартмани

02.10.2019    29166    285    dmitrydemenew    60    

Конвертация PDF в 1С

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

COM-компонента для работы с PDF (32/64 bit)

4 стартмани

31.03.2020    15246    60    SerVer1C    101    

Внешний регламент для 1С

Прочие инструменты разработчика v8 Россия Абонемент ($m)

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

1 стартмани

05.03.2020    7853    9    moolex    11    

Список измененных объектов из "Отчета о сравнении конфигураций"

Прочие инструменты разработчика Россия Абонемент ($m)

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

1 стартмани

18.02.2020    3980    2    seriouskeks    2    

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

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

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

3 стартмани

06.09.2013    67410    302    kser87    56    

Наполняем списки в отчетах из Еxcel, блокнота или буфера обмена

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

Как легко наполнить список значений в отчете или запросе из буфера обмена, Еxcel, блокнота или письма? Есть решение! Небольшая программа возьмет столбец необходимых значений и построчно перенесет его в активное окно.

1 стартмани

04.10.2019    3959    8    Smartpk    14    

Внешняя компонента для получения веса с весовых терминалов

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

Читает вес с БУ4263М1, Mettler Toledo IND310, CAS-6000, НВТ-9, FT-11, VT-220

5 стартмани

02.09.2019    6488    6    alexey_kurdyukov    2    

Перфолента, первое знакомство. Новый язык программирования

Практика программирования Инструментарий разработчика Абонемент ($m)

Первое знакомство с новым языком программирования Перфолента. В статье описано назначение языка, причины его появления, основные характеристики и возможные варианты использования.

22.07.2019    24160    0    Perfolenta    165    

CLR декодер для MS SQL Server

Сервисные утилиты Разработка внешних компонент Абонемент ($m)

Библиотека для расшифровки кракозябр в базе данных.

1 стартмани

05.07.2019    8008    0    hellion    0    

Markdown-editor в 1С (с сохранением в HTML)

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

В этой обработке вы пишете свой текст, используя синтаксис Markdown, а на выходе получаете чистый HTML-код, избавленный от JS-библиотеки, которая его сформировала. Совместим с Webkit и IE.

1 стартмани

04.07.2019    11835    18    riposte    6    

Модель объекта

Инструментарий разработчика v8 Абонемент ($m)

Подсистема позволяет описать модель данных объекта, где описана зависимость между реквизитами, и затем использовать эту модель в разных сценариях работы с объектом. Версия платформы: 8.3.6 и выше. С небольшими доработками будет работать на 8.2.

1 стартмани

30.06.2019    15945    1    vadim1980    5    

Сценарий PowerShell для конвертации файла правил обмена данными КД 2 в Excel

Инструментарий разработчика Загрузка и выгрузка в Excel Абонемент ($m)

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

1 стартмани

24.05.2019    5446    0    c1nil    5    

Сравнение идентичных EXCEL файлов

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

Иногда возникают ситуации, когда надо узнать подробно, как изменился EXCEL файл, если имеются, допустим, старый и новый вариант файла. Эта программа позволяет определить измененные или удаленные/добавленные строки файлов.

1 стартмани

20.05.2019    4966    1    mack198109    5    

Оповещение пользователей в трее с обратной связью через DLL

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

Библиотеки для 32 и 64 клиентов для оповещения пользователей в трее с обработкой кликов во внешних событиях.

1 стартмани

20.02.2019    6499    5    xxxAndricxxx    8    

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

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

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

2 стартмани

23.01.2019    41208    448    ROL32    50    

Конструктор мобильного клиента Simple WMS Client: способ создать полноценный ТСД без мобильной разработки. Теперь новая версия - Simple UI (обновлено 14.11.2019)

Инструментарий разработчика Сканер штрих-кода Терминал сбора данных Мобильная разработка Оптовая торговля Производство готовой продукции (работ, услуг) Розничная торговля Учет ОС и НМА Учет ТМЦ Оптовая торговля Производство готовой продукции (работ, услуг) Розничная торговля Учет ОС и НМА Учет ТМЦ v8 v8::Mobile БУ УУ Абонемент ($m)

Simple WMS Client – это визуальный конструктор мобильного клиента для терминала сбора данных(ТСД) или обычного телефона на Android. Приложение работает в онлайн режиме через интернет или WI-FI, постоянно общаясь с базой посредством http-запросов (вариант для 1С-клиента общается с 1С напрямую как обычный клиент). Можно создавать любые конфигурации мобильного клиента с помощью конструктора и обработчиков на языке 1С (НЕ мобильная платформа). Вся логика приложения и интеграции содержится в обработчиках на стороне 1С. Это очень простой способ создать и развернуть клиентскую часть для WMS системы или для любой другой конфигурации 1С (УТ, УПП, ERP, самописной) с минимумом программирования. Например, можно добавить в учетную систему адресное хранение, учет оборудования и любые другие задачи. Приложение умеет работать не только со штрих-кодами, но и с распознаванием голоса от Google. Это бесплатная и открытая система, не требующая обучения, с возможностью быстро получить результат.

5 стартмани

09.01.2019    60836    263    informa1555    234    

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

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

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

1 стартмани

19.12.2018    22537    18    Torin99    2    

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

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

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

1 стартмани

30.11.2018    24417    9    wrooom    8    

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

Универсальные обработки Чистка базы 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    34111    411    morozov.sv    55    

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

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

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

3 стартмани

28.10.2018    43812    385    ROL32    72    

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

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

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

5 стартмани

15.10.2018    46050    151    json    44    

TextRadar - нечеткий поиск в тексте

Разработка внешних компонент Поиск данных v8 1cv8.cf Абонемент ($m)

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

1 стартмани

19.09.2018    22954    32    TSSV    19    

1C Форматер кода

Инструментарий разработчика Россия Абонемент ($m)

Автоматическое форматирование кода 1С

1 стартмани

24.08.2018    10169    2    admin_at_gkgeostroy    9    

Управляемая консоль запросов, отчетов 3.8.9 (расширение, внешняя обработка)

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

Работа с запросом и СКД, Полная поддержка пакетных запросов, временных таблиц, Сравнение результатов, текстов, Разбор структуры запроса в виде дерева, Анализ плана запроса, Групповая обработка

5 стартмани

14.08.2018    120622    2911    Evg-Lylyk    740    

Позиционирование в помещении с помощью нейросети по сигналу Wi-Fi. Интерактивная карта склада в 1С с показом позиции

Инструментарий разработчика Практика программирования v8 Абонемент ($m)

Данная публикация содержит в себе редактор и интерактивную карту склада или иного помещения, на которой в реальном времени отображается позиция устройства, координаты которого вычисляются по уровням сигнала нескольких роутеров Wi-Fi. В статье и приложенным к ней разработкам предлагаются инструменты и методика для реализации вычисления точной геопозиции внутри помещений с помощью нейронной сети. Конфигурация написана на релизе 1С:Предприятие 8.3.12.1412, клиентское приложение имеет минимальный уровень совместимости SDK -16.

5 стартмани

09.08.2018    35939    31    informa1555    30    

Python в работе программиста 1С

Инструментарий разработчика Абонемент ($m)

Python для помощи программисту 1С.

1 стартмани

22.06.2018    17373    0    tiger12    13    

Подсветка синтаксиса 1С для программы NotePad ++

Инструментарий разработчика Абонемент ($m)

После установки подсветки, в программе "NotePad ++" будет подсвечиваться код 1С. Очень удобно работать с подсвеченным кодом... В архиве с файлом инструкция по установке....

1 стартмани

15.05.2018    12248    16    IceEvgen    4    

Tool1CD Beta в деле

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

Пс, парень! Не хочешь немного сырых байтов?

1 стартмани

09.05.2018    30944    32    baton_pk    26    

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

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

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

1 стартмани

26.04.2018    22142    28    Vin_Tik    0