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

22.09.20

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

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

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

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

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

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

 

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

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

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

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

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

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

 

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

 

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

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

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 Платные (руб)

Если вам нужно автоматически генерировать представления (view) к вашей базе данных 1С (есть две версии - для СУБД MS SQL Server и для PostgreSQL) по структуре метаданных 1С, то вам необходима данная обработка. Наш "Генератор View", другими словами - это коннектор к данным 1С для Power BI - незаменимый помощник для бизнес-аналитиков, работающих с базами 1С из Yandex Datalens/Power BI и т.д. Работает для обычных и управляемых форм под 1С 8.3

230000 руб.

31.07.2020    13733    13    48    

25

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

Обработки помогут Вам легко и, главное, быстро (в 5 раз и быстрее штатной обработки 1С), выполнить поиск дублирующих данных в Ваших базах 1С на платформах 8.1-8.3. Это позволит уменьшить объем лишней информации в справочниках и документах, планах видов характеристик и др., упростит работу с данными пользователям. А так же можно, одним нажатием, узнать в каких ссылочных объектах есть вообще дубли! Понятное расположение команд и настроек, в сочетании с описанием и справкой, еще упростят процесс. А так же обновления Вы получаете бесплатно в течение года с момента приобретения данных обработок! (Обновление от 27.11.2023, версия 6.12)

10800 руб.

14.05.2012    158936    336    253    

570

Розничная торговля WEB-интеграция Поиск данных Пользователь Платформа 1С v8.3 Оперативный учет 1С:Розница 2 1С:Управление торговлей 11 Управленческий учет Платные (руб)

Альтернатива сервису 1С Номенклатура, не требует подписки ИТС, ищет данные в открытых источниках. Для поиска товара по штрихкоду в сети интернет, полезно для первоначального заполнения базы.

1999 руб.

15.10.2020    18965    23    63    

24

Математика и алгоритмы Инструментарий разработчика Универсальные функции Поиск данных Программист Платформа 1С v8.3 Конфигурации 1cv8 1С:ERP Управление предприятием 2 Абонемент ($m)

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

5 стартмани

25.09.2024    2215    0    Артано    14    

19

Поиск данных Программист Платформа 1С v8.3 Россия Бесплатно (free)

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

18.08.2024    1790    1cnik2    23    

14

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

Отображение и просмотр реквизитов справочника или документа - с бесконечным открытием подуровней.

1 стартмани

14.06.2024    3389    7    RustIG    26    

22

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

Статья об опыте развертывания и интеграции с базой данных Manticore Search для быстрого полнотекстового поиска.

1 стартмани

30.11.2023    4543    andreysidor4uk    18    

53

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

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

1 стартмани

05.06.2023    2324    25    PowerBoy    1    

15
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. kuzyara 2090 19.02.20 05:37 Сейчас в теме
Делал подобное. Для торговых точек(складов) создал реквизит "СокращенноеНаименование" и вписал туда "разговорные" жаргонные) названия. Потом включаешь индекс и добавляешь в "Поля ввода по строке". Становится удобно в отборы включать по первым буквам обиходного названия.
resonance; +1 Ответить
2. user633166 12 19.02.20 05:50 Сейчас в теме
(1) обиходное название вряд ли подойдёт в данном случае, при вводе новой номенклатуры её нужно "классифицировать" - откуда брать "жаргонное" название?
12. resonance 82 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 82 31.01.22 15:38 Сейчас в теме
Реквизит "КодДляПоиска" кто то выгружал на сайт с помощью типового обмена?
14. roothost 07.02.22 12:42 Сейчас в теме
Поиск по коду работает ?
Оставьте свое сообщение