Код для поиска номенклатуры в конфигурациях 1С. Использование мнемоники по первым буквам как вариант применения

22.09.20

Задачи пользователя - Поиск данных

Применение мнемоники для поиска в конфигурациях 1С. "Каждый охотник желает знать, где сидит фазан".

Скачать исходный код

Наименование Файл Версия Размер
Расширение для конфигурации БП 3 с добавлением реквизита "Код для поиска" в справочник Номенклатура.
.cfe 18,76Kb
1
.cfe 18,76Kb 1 Скачать
Расширение для конфигурации БП 3 без изменения справочника Номенклатура, с использованием механизма дополнительных реквизитов
.cfe 18,17Kb
1
.cfe 18,17Kb 1 Скачать
Расширение для конфигурации УНФ без изменения справочника Номенклатура, с использованием механизма дополнительных реквизитов.
.cfe 44,38Kb
1
.cfe 44,38Kb 1 Скачать

Основная тенденция автоматизации - сократить участие человека в процессе - мы пытаемся уйти от ручного ввода - вместо человека (вместе с ним) пытаемся использовать сканирование, распознавание, автоматическую загрузку документов, заполнение документа самим клиентом.
Это тенденция, а практика такова, что он - ручной ввод на стороне поставщика (оператора внутри нашей компании) - останется с нами ещё на долгие годы и прекратит своё существование только тогда, когда ИИ (при распознавании речи заказчика) достигнет понимания на уровне понимания человека-человеком, автоответчик при заполнении документа справится со всеми пожеланиями сам.

А если это так, то проблема поиска в "библиотеке" продаваемых компанией продуктов при работе оператора - со справочником номенклатуры - останется актуальной на долгие годы.

Как же ускорить работу оператора?

 

Обратимся к инструментарию:

Посмотрим, что у нас на сегодняшний день есть в арсеналах на примере современной ЕРП/УТ/КА - мы начинаем набирать "искомый" текст и в списке выбора появляется список "подходящих" элементов.

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

"Возникает на сервере перед стандартным формированием списка при вводе по строке, автоподборе текста и быстром выборе, а также при выполнении метода ПолучитьДанныеВыбора."

Что собственно, в конфигурациях ЕРП/УТ/КА и сделано.

В ЕРП/УТ/КА при этом идёт обращение к процедуре общего модуля НоменклатураВызовСервера.НоменклатураОбработкаПолученияДанныхВыбора(ДанныеВыбора, Параметры, СтандартнаяОбработка); внутри которой собственно и формируется список значений для выбора.

 

 
 НоменклатураОбработкаПолученияДанныхВыбора

 

Поиск осуществляется по шаблону СтрокаПоиска + "%" - по совпадению с начала.

Результатом обработки является список, подходящих элементов, упорядоченных по реквизиту "Порядок"

0 - Наименование

1 - Код

2 - Артикул

3 - Код для поиска

Количество, возвращаемых элементов, ограничивается 50 различными значениями.

 

Вернёмся к проблеме:

Каждый, наверное, согласится, что выбор нужного значения, даже из 10 вариантов уже может быть затруднителен. Что тогда говорить о похожих 50. А чем больше в базе номенклатуры, тем больше их похожих.

Т.е. чем меньше отображенных вариантов, тем быстрее оператор выберет необходимый.

За счет чего можно этого добиться? Вернёмся к используемым реквизитам:

Наименование - вводится в базу нами и ничто не мешает при его вводе использовать определённые правила, ну, например, всегда начинать наименование товара с существительного, определяющего товар "Бумага белая", в противовес "Белая бумага".

Следование таким правилам не решит нашу задачу - чем больше в базе номенклатуры, тем больше будет таких совпадений.

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

Артикул - вводится в базу нами, и как и с наименованием мы можем при вводе придерживаться какого-то шаблона. В Интернете можно поискать "Как правильно составить артикул" и получить массу рекомендаций. Ну, например, как вам "Итоговый внутренний артикул товара - 05M3818R0102AU из которого понятна практически вся информация о элементе каталога."? И как быть, если мы вводим в базу "чужую" номенклатуру с имеющимся артикулом поставщика?

Код для поиска - вот собственно и цель публикации - смею предложить следующий алгоритм использования данного реквизита в практической работе для ускорения ввода оператором номенклатуры:
- заполняем наименование номенклатуры по "узаконенным" нами правила, например "Тип-Бренд-Модель-Прочее" ("Сотейник Tefal Original Cook, с крышкой, диаметр 24 см", "Одеяло Green Line Delphia Теплое Цвет: Белый (140х205 см)")

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

Похожее изделие другого бренда "Сотейник TimA "Art Granit", с антипригарным покрытием, со съемной ручкой. Диаметр 24 см", не будет совпадать по коду поиска уже с третьего введённого символа. 


Тут возможны "различные" вариации, в зависимости от области деятельности компании, кому-то подойдёт заполнять всё и это можно реализовать "простым" заполнением реквизита "ПередЗаписью", кому-то "посложнее", с учетом, допустим вида номенклатуры, только для определённых групп номенклатуры, оператор по первым двум введённым символам сразу поймёт надо ли использовать мнемонику.

Кто-то возможно обработает имеющую в базе номенклатуру групповой обработкой и будет периодически анализировать текущее положение и что-то менять по результатам.  

Приведу пример функции, формирующий код для поиска по первым буквам наименования

 

 
 КодДляПоиска = ВернутьКодДляПоиска("Сотейник TimA "Art Granit", с антипригарным покрытием, со съемной ручкой. Диаметр 24 см", 4); // второй параметр - максимальная длина возвращаемого кода

 

Как вариант усовершенствования можно предложить преобразование всех символов к русскоязычной раскладке, при вводе по строке вряд ли удобно помнить что что-то в латинице и переключаться.  На Инфостарте есть Транслитерация из латиницы в кириллицу, но придётся вероятно разбираться с нюансами, "СТАГ" для вышеуказанного сотейника годится, но что-то может и плохим вариантом.

Как показала практика операторы очень быстро привыкают к такому использованию мнемоники, старожилы сразу оценят "нововведение", а у новичков операторов уменьшится число вопросов и ошибок - скорость работы с документом повышается в разы.

 

А как же быть "счастливым" пользователям тех баз, где этого механизма нет - БП и УНФ?

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

Номера релизов на которых расширения работают: Бухгалтерия предприятия, редакция 3.0 (3.0.74.69) и Управление нашей фирмой, редакция 1.6 (1.6.19.215)

Для работы расширения необходимо отключать безопасный режим.

 

поиск паттерн шаблон пример мнемоника

См. также

Очистка базы данных

Инструменты администратора БД Чистка данных Поиск данных Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Обработка предназначена для очистки базы от учетных данных за отдельными отборами (исключительно средствами 1С)

1 стартмани

14.12.2011    11222    269    Kamikadze    17    

22

Обработка для поиска, замены и удаления объектов 1С

Поиск данных Чистка данных Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

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

1 стартмани

14.12.2011    16625    331    majmyl    12    

14

Поиск и замена значений по организации

Поиск данных Корректировка данных Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

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

1 стартмани

13.12.2011    6768    175    den_bo    6    

9

Поиск и замена значений (с приведение типа заменяющего значения к типу заменяемого)

Поиск данных Корректировка данных Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Маленький "MOD" к универсальной внешней обработке "Поиск и замена значений" - как только определяется тип значения "Что заменять" автоматически определяется в это же тип значение "На что заменять", что в свою очередь сэкономит немного вашего времени а возможно и нервов )

1 стартмани

08.12.2011    8368    109    tireal    7    

11

Поиск и замена дублирующихся элементов

Поиск данных Корректировка данных Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Данная обработка взята из Управление Торговлей 10.3. Отличие от стандартной обработки в том, что она позволяет выполнять поиск, замену и удаление дублирующихся элементов не только справочников , но и любого ссылочного элемента: Документы, Справочники, Планы видов расчета, Задачи, Бизнес процессы, Планы видов характеристик, Планы счетов.

10 стартмани

29.11.2011    32404    832    DennyPhilord    41    

51
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. kuzyara 1980 19.02.20 05:37 Сейчас в теме
Делал подобное. Для торговых точек(складов) создал реквизит "СокращенноеНаименование" и вписал туда "разговорные" жаргонные) названия. Потом включаешь индекс и добавляешь в "Поля ввода по строке". Становится удобно в отборы включать по первым буквам обиходного названия.
resonance; +1 Ответить
2. user633166 12 19.02.20 05:50 Сейчас в теме
(1) обиходное название вряд ли подойдёт в данном случае, при вводе новой номенклатуры её нужно "классифицировать" - откуда брать "жаргонное" название?
12. resonance 81 31.01.22 15:37 Сейчас в теме
3. user623856_markina-ov 15.09.20 09:19 Сейчас в теме
Здравствуйте!

Не работает на УНФ 1.6.22.36 (платформа 8.3.16.1224)
Помогите это исправить, пожалуйста
4. user633166 12 21.09.20 12:57 Сейчас в теме
(3) Добрый день! Какая ошибка возникает?
5. user623856_markina-ov 21.09.20 19:19 Сейчас в теме
(4) Ошибок не выдает. Просто не работает.
Сначала ищу номенклатуру "Хлеб белый пшеничный", как видим в списке он есть.
Забиваем "хл"... уже ничего не находит.

[img][img]https://c.radikal.ru/c43/2009/9b/c7cf42f364cc.png[/img]

[/IMG]
6. user633166 12 22.09.20 05:34 Сейчас в теме
(5) Доброе утро. Вероятно у Вас расширение подключено в безопасном режиме

[img][img]https://a.radikal.ru/a11/2009/a1/e8aa6dbdaeed.png[/img][/IMG]
7. user623856_markina-ov 22.09.20 06:30 Сейчас в теме
Извините, забиваем "хБ".
Так понимаю, "Хлеб белый пшеничный" должен находиться по буквам "хбп"
8. user633166 12 22.09.20 10:00 Сейчас в теме
(7) Поиск по этому дополнительному реквизиту реализован в точном соответствии как вы его для номенклатуры ввели - заглавными, значит по заглавным, прописными - по прописным.
9. user623856_markina-ov 22.09.20 15:07 Сейчас в теме
(8) Безопасный режим отключен - галочка не стоит.


Есть номенклатуры "Хлеб Белый пшеничный" и "ХЛЕБ БЕЛЫЙ"
При поиске по "ХБ" так же пишет "Нет в списке".
10. пользователь 22.09.20 17:06
Сообщение было скрыто модератором.
...
11. user1713702 04.01.22 19:46 Сейчас в теме
А стандартными средствами можно как то в УТ 11 сделать чтобы поле КодДляПоиска можно было бы самому создавать/редактировать в карточке номенклатуры?

И каким образом это поле заполняется по умолчанию?

За ранее спасибо за ответ.
13. resonance 81 31.01.22 15:38 Сейчас в теме
Реквизит "КодДляПоиска" кто то выгружал на сайт с помощью типового обмена?
14. roothost 07.02.22 12:42 Сейчас в теме
Поиск по коду работает ?
Оставьте свое сообщение