bdd2

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

Опубликовал Олег Пономаренко (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 Скачать

См. также

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

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

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

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

Что я делаю:

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

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

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