gifts2017

Защита от повторений номенклатуры при сохранении

Опубликовал Олег Пономаренко (O-Planet) в раздел Обработки - Обработка справочников

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

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

Ранее я использовал другую процедуру сравнения строк, основанную на сопоставлении слов. Метод был громоздким и медленным. Когда возникла задача переноса его на платформу 8.1, то чтобы не разбираться в своем старом коде, решил написать по-быстрому что-то новое. Вроде получилось...

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

Пользуйтесь! (И если пользуетесь - плюсуйте ;) )

Автор готов оказать помощь в интеграции этих проверок в вашу конфигурацию.

По высказанным в этом топике просьбам сделал  групповую обработку справочника номенклатуры: Смотреть

Купи премиум доступ - поддержи наше Сообщество!

Если Вы приобретаете премиум-аккаунт с этой страницы, то я, как автор, предоставляю Вам гарантированную скидку 10 % на все мои платные разработки, которые Вас заинтересуют...  Для приобретения премиум-аккаунта перейдите по этой С С Ы Л К Е

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

Наименование Файл Версия Размер Кол. Скачив.
Для платформы 8.1
.1247017322 9,93Kb
05.10.14
254
.1247017322 9,93Kb 254 Скачать
Для платформы 7.7
.1247017294 34,00Kb
05.10.14
220
.1247017294 34,00Kb 220 Скачать

См. также

Contragent+ 5.0 от 2 500
Подписаться Добавить вознаграждение

Комментарии

1. Александр Рытов (Арчибальд) 08.07.09 08:38
Не вдаваясь в подробности, заявляю: это есть хорошо.
2. Роман Ершов (MRAK) 08.07.09 08:53
3. Роман Ершов (MRAK) 08.07.09 09:22
походу, рано плюсанул. уже минут 20 ищет дубли, номенклатуры всего около 20 тыс
4. anbxp (anbxp) 08.07.09 09:52
(0) Хорошо. Остается приделать любой вид справочника и возможность выбора элемента в документ прямо из обработки
5. Роман Ершов (MRAK) 08.07.09 10:02
+ так и убил процесс, не дождавшись...
6. Роман Ершов (MRAK) 08.07.09 10:03
платформа 8.1, УТ 10.2, доработанная
7. anbxp (anbxp) 08.07.09 10:20
(0) Косячок. В обработке Таб.НоваяКолонка("Эл","Справочник.Контрагенты"); Соответственно, элемент не открывается. Переделал на Таб.НоваяКолонка("Эл","Справочник");
8. Евгений Мартыненков (JohnyDeath) 08.07.09 11:01
В этих делах самое удачное (а главное быстрое) решение - это ВК StrMatch.dll
Сам её использовал здесь: http://infostart.ru/projects/1915/ У чебура по-моему что-то было на эту тему.
Отмазка "у меня без ВК" - не катит ;)))
9. Олег Пономаренко (O-Planet) 08.07.09 13:48
(3) 20 тыс можно победить, знаю как
(7) Реально, косячок ) Сейчас исправлю.
(8) Согласен. Но у меня без ВК :) Собственно, и ставил целью сделать без ВК
10. Олег Пономаренко (O-Planet) 08.07.09 13:49
(4) Любой вид справочника - не сложно. Сперва так и хотел. Но потом подумал, а что нужно защищать от повторений, кроме номенклатуры и контрагентов?
11. anbxp (anbxp) 08.07.09 14:09
(10) Да я уже переделал:) Какой справочник хочешь проверить, в том и вызываешь обработку
12. Igоr Sаulеviсh (gutentag) 08.07.09 14:46
Ошибка в Бухгалтерия предприятия, редакция 1.6 (1.6.15.6)

{Форма.Форма(62)}: Ошибка при вызове метода контекста (Закрыть): Операция не доступна для не открытой формы
ЭтаФорма.Закрыть();
по причине:
Операция не доступна для не открытой формы
13. Олег Пономаренко (O-Planet) 08.07.09 14:56
14. Igоr Sаulеviсh (gutentag) 08.07.09 15:08
(13) обработка поработала-поработала и закрылась.... Это правильно?
15. Олег Пономаренко (O-Planet) 08.07.09 15:38
(14) значит, не нашла ничего. а правильно или нет - не знаю. как правильно?
16. Igоr Sаulеviсh (gutentag) 08.07.09 16:01
(15) вот на десятом счете несколько похожих ТМЦ болтаются, и никто не обнаружен:

Папка скоросш-ль, А4, прзрачный верхний лист синий
Папка скоросш-ль, А4, прзрачный верхний лист черны
Папка скоросш-ль, А4, прзрачный верхний лист серый
Папка скоросш-ль, А4, прзрачный верхний лист красн

Ручка шариковая "PILOT" красная
Ручка шариковая "PILOT" синяя
Ручка шариковая "PILOT" черная
Ручка шариковая "PILOT" зеленая
--------------
РЕЗЮМЕ: наверное я не в ту сторону обработку запустил ;)
17. Олег Пономаренко (O-Planet) 08.07.09 16:09
(16) Проверил. Все - ок. наверное, не в ту. Читай
18. Олег Пономаренко (O-Planet) 08.07.09 16:10
... комментарии к установке.

Что я делаю:

1. Добавил в справочник "Папка скоросш-ль, А4, прзрачный верхний лист синий"
2. Добавляю "Папка скоросш-ль, А4, прзрачный верхний лист серый"

Открывается проверка. Проверяю. Находит.
19. Igоr Sаulеviсh (gutentag) 08.07.09 16:20
(18) > ... комментарии к установке.

А почему нельзя сделать просто как "внешнюю обработку" или "внешнюю печатную форму" к справочнику ? ...Подключил - и - проверяй!
----
Увы, я бухгалтер, а не программер :-/
20. Олег Пономаренко (O-Planet) 08.07.09 16:40
(19) Это будет уже другая задача. Можно и такую. А бухгалтерам написал: "автор готов оказать помощь в интеграции этих проверок в вашу конфигурацию" ;)
21. Ольга Пошинова (Olyunchik) 08.07.09 17:19
(20) Очень надо... А то даже качать не стала, потому что не знаю как ее применить... А дубликатов в базе много не то слово...
22. Ольга Пошинова (Olyunchik) 08.07.09 17:19
24. Сергей (Che) Коцюра (CheBurator) 09.07.09 02:52
(21) Олюнчик, у меня сейчас проходит обкатку на номенклатуре порядка в 30 тыс наименований побработка поиска дублей... скоро будет выложена...
25. Олег Пономаренко (O-Planet) 09.07.09 13:44
(24) Не тронь Олюнчика, развратник! Девушка хочет ездить на мерсе (т.е. работать с моей обработкой) а не на запорожце :)
26. Олег Пономаренко (O-Planet) 09.07.09 13:47
(21) Кстати, Olyunchik, отписался в личку еще вчера.
27. Сергей (Che) Коцюра (CheBurator) 09.07.09 13:58
(25) Ваш мерс (на самом деле китайской сборки) - жрет кучу бензина и наработка на отказ у него маленькая, а мой - ездиет реально везде! ;-)
28. Олег Пономаренко (O-Planet) 09.07.09 14:05
(27) Ы... Вот и будет повод померяться пиписками )) Только в своем мерсе ударю кувалдой кое-где. Я ведь выложил версию для широкого использования, но ее можно сделать более быстрой при несложной доработке.
29. Александр Сергиенко (AXoxol) 09.07.09 18:06
Порадовала терминология в коде относительно символов "мусора" :-)
30. Арсен (Арсенал) 09.07.09 20:01
еще не пробовал но как попробую свое мнение напишу ;)
31. Олег Пономаренко (O-Planet) 10.07.09 02:16
По просьбе гутентага сделал групповую обработку справочника номенклатуры. Алгоритм сравнения оптимизировал для групповой обработки: http://infostart.ru/projects/4964/
32. Martin74 10.07.09 04:03
33. Сергей (Che) Коцюра (CheBurator) 11.07.09 04:02
(32) не принципиально... для 100 тыс будет у меня просто увеличение предстатрового интервала времени (если все штатными методами)
34. igor_gk (igor_gk) 11.07.09 11:38
Друзья, помогите плюсануть! (Из минусов не получается, дайте плюсик, а? Я ж в долгу не останусь... :)
35. larissa builova (larisab) 11.07.09 12:20
36. larissa builova (larisab) 11.07.09 12:26
37. Альтаир (Altair777) 11.07.09 22:00
(34) Раньше надо было думать. Когда ботов заводили.
38. Evgeniy (Evgeniy) 15.07.09 12:33
Очень медленно работает поиск:(
39. Олег Пономаренко (O-Planet) 15.07.09 13:53
(38) Медленно в текущей реализации. При небольшом изменении в конфигурации метод можно ускорить в десятки раз. Если интересно - пишите в личку.
40. BabySG (BabySG) 16.07.09 22:49
Хм.... А какова производительность на 500+ тыс элементах?
41. Алексей Измайлов (specialist.1c) 20.07.09 22:40
Такая обработка есть в сервисе типовых конфигураций!!!
42. Олег Пономаренко (O-Planet) 20.07.09 22:53
(41) Такой нету. В 77 нет никакой.
43. Александр Глотов (_Xelon_) 21.07.09 21:45
Да уж. Ну очень медленно работает. Без оптимизации не обойтись. Скорее всего нужно хранить нормализованное наименование в справочнике и выборку, возможно, делать запросом.
44. Александр Глотов (_Xelon_) 21.07.09 21:49
Еще нужно добавить обработку прерывания пользователя. А то если уже что-то нашел и пользователь хочет отменить дальнейший поиск, нужно только снимать задачу.
45. Олег Пономаренко (O-Planet) 21.07.09 23:01
(43) Нет, не в справочнике. Версия, которую ставил клиентам по запросу, формирует список значений при открытии конфы, и в нем хранит. Это дает прирост скорости в десятки раз.
46. anbxp (anbxp) 22.07.09 00:38
(45) И, если справочник 100 тыс. наименований...
47. Олег Пономаренко (O-Planet) 22.07.09 01:40
(46) Да. Но здесь, конечно, скорости не достаточно. проверку нужно делать не средствами языка, а ВК.
48. Александр Глотов (_Xelon_) 23.07.09 10:19
(45) А если какой-то элемент номенклатуры был переименован? Нужно отслеживать и обновлять список значений. Почему не сделать это хранимым реквизитом справочника. Это и ускорит запуск 1С, и поиск элементов.
49. Олег Пономаренко (O-Planet) 23.07.09 11:43
(48) Потому что работа с объектом в базе данных - медленнее, чем работа с объектом в памяти.
50. abwgd (abwgd) 01.08.09 21:40
хорошая штучка, полезная
51. Pasha Schepin (andervers2005) 16.11.11 09:33
Обработка хорошая, добавил в конфигурацию. Все запускается, ищет!
Но, если у меня есть элемент справочника "Стол письменный круглый", а я хочу добавить просто "Стол письменный" или "Стол письменный квадратный". То обработка ничего не находит и просто записывает элемент.
52. Артем (nexochyka) 07.10.14 22:23
Судя по дате обновления, ошибки и недочеты в производительности были устранены или я ошибаюсь?
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа