новое событие
Информационный поток
Задания вакансии материалы разработки сообщения форума
moskovkin.lev
Приватное сообщение
Новый заказчик

Кто поможет доработать подбор номенклатуры в УТ 11 так чтоб поиск работал по началу строки по...

Краснодар(Россия )
29 марта 2019 в 10:53:46 (5 лет 3 недели 2 дня 1 час назад)
Текст задания
Там есть такая возможность но для этого нужно делать несколько кликов как подправить так чтоб это было по умолчанию не нашел пока кто готов помочь пишите сколько хотите будем договариваться)
Спасибо всем кто подсказывал
Решил рассказать что получилось и что пока так и не удалось победить
И так на первом скрин1 показано как я захожу в настройки поиска формы подбора
На скрин 2 показываю какие настройки варианта поиска я выставил
Скрин 3 показываю что зашел в общий модуль ПодборТоваровСервер в функцию РезультатПоискаНоменклатуры(Форма)
далее я в эту функцию вставляю работающий код:
Если Форма.Заголовок = "Подбор товаров в чек ККМ"
И Форма.ИмяФормы = "Обработка.ПодборТоваровВДокументПродажи.Форма.Форма"
И ЗначениеЗаполнено(СтрокаПоиска) Тогда// здесь на всякий случай делаем проверку что форма вызванна оттуда откуда надо
Если СтрНачинаетсяС(СтрокаПоиска,"%") Тогда // здесь исправляем строку поиска чтоб искомый результат названия номенклатуры
//начинался с заданного поиска
СтрокаПоиска = Сред(СтрокаПоиска,2,СтрДлина(СтрокаПоиска));
КонецЕсли;

Пока ОбластиПоиска.Количество() > 1 Цикл
Для Каждого ЭлементМассива Из ОбластиПоиска Цикл// здесь перебираем области поиска и удаляем всё кроме Справочника Номенклатура
Если Не ЭлементМассива.Имя = "Номенклатура" Тогда
ОбластиПоиска.Удалить(ОбластиПоиска.Найти(ЭлементМассива));
КонецЕсли;
КонецЦикла;
КонецЦикла;
КонецЕсли;
и ниже как изображено на скрин 4 в тот же модуль и туже функцию чуть ниже добавил еще немного кода:
// Изменено (Начало) // Здесь удаляем из текста запроса поиск по Коду номенклатуре и Артикулу оставляем только Наименование и Полное наименование
Если Форма.Заголовок = "Подбор товаров в чек ККМ"
И Форма.ИмяФормы = "Обработка.ПодборТоваровВДокументПродажи.Форма.Форма"
И ЗначениеЗаполнено(СтрокаПоиска)
И ЗначениеЗаполнено(Запрос.Текст) Тогда
Запрос.Текст = СтрЗаменить(Запрос.Текст,Символы.ПС +
" Или СправочникНоменклатура.КодДляПоиска ПОДОБНО &СтрокаПоиска СПЕЦСИМВОЛ " + Символ(34) + "" + Символ(34),"");
Запрос.Текст = СтрЗаменить(Запрос.Текст,Символы.ПС +
" Или СправочникНоменклатура.Артикул ПОДОБНО &СтрокаПоиска СПЕЦСИМВОЛ " + Символ(34) + "" + Символ(34),"");
КонецЕсли;
// Изменено (Конец)
Далее все сохраняю и применяю знаю что это все можно было сделать через расширение но не в этом случае так как конфигурация используется в режиме совместимости с версией 8.3.8 и менять это не удобно так как перестанут другие расширения работать.
Далее на скрин 5 я показываю как работает поиск после сделанных изменений так я в принципе и хотел
пользователь вводит несколько символов начала номенклатуры и поиск осуществляется только по справочнику номенклатура и только по наименованию и полному наименованию все хорошо
Только я это смог реализовать через настройку варианта поиска "Расширенный вариант поиска"
в идеале хочется через "стандартный вариант поиска"
Далее я на скрин 6 переключаю на стандартный вариант поиска
И на скрин 7 я показываю сколько избыточной лишней информации выходит при использовании стандартного варианта поиска
В результат поиска попадает номенклатура вся где в наименовании хоть где нибудь встречается 200 или если у неё установлена цена 200 или на остатке её 200....
Кто нибудь знает где написан код программный который используется при использовании "Стандартного варианта поиска" в настройках формы подбор
Если кто знает где этот код программный написан или может у вас есть идея что там подправить чтоб он выдавал результат поиска который показан на скрин 5 пишите будем договариваться)
0
Отклики (2)