• Добро пожаловать на Форум пользователей ПО АСКОН. Пожалуйста, авторизуйтесь.
 

Уважаемые пользователи,

Хотим проинформировать вас о режиме работы регистрации на нашем сайте.

Зарегистрироваться возможно в рабочие дни, с 8:00 до 20:00 (мск).

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

Благодарим вас за понимание и сотрудничество. Мы ценим ваше терпение и стремимся предоставить вам лучший опыт использования нашего сервиса.

С уважением,
Команда Ascon

Ошибка расширенного поиска по справочнику

Автор mr. Tim, 10.12.19, 22:27:21

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

mr. Tim

Исходя из мануала поиск можно выполнять по известной части искомого значения, остальное "укрыть" звездочками. На скрине в мануале выглядит все примерно так же, звездочки по крайней мере точно есть. Но у меня при таком поиске вылетает ошибка. Может кто-то сталкивался с таким?
vrt.jpg

Meldok

У нас ошибок нет, но правда используем sql. И у нас в справке указан символ процента для произвольной длины, и нижнего подчеркивания для одного произвольного символа. И есть вероятность что это только в простом поиске работает.

tur

Откуда в условии взялась * ? У нас в списке условий, такого символа нет. У нас тоже SQL.

mr. Tim

Цитата: tur от 11.12.19, 09:20:11Откуда в условии взялась * ?
В списке условия знак =, а в значении звездочки. Потому что нельзя точно знать, как пишется тот или иной объект поиска в базе.

Meldok

У нас так. Но опять же - версия 2013 и база SQL, может на Oracle по другому

mr. Tim

Цитата: Meldok от 11.12.19, 13:13:00У нас так.
а в расширенном как? поиск по критериям вроде то работает, то нет... похоже 2011 версия либо довольно-таки сырая, либо надо что-то крутить и настраивать, знать бы только где

Meldok

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

mr. Tim

Итак... Присмотрелся я к ошибке и решил, что нужно таки полезть в базу, попробовать найти объекты по указанным в ошибке путям, да посмотреть что там есть(в оракле не шарю почти вообще ничего, но очень уж интересно было да и проблема важная).
В общем забрался туда через sqldeveloper, пути из ошибок нашел почти сразу, а вот нумерация строк что-то не совпадает, не знаю откуда такие цифры. Это оказался какой-то пакет с процедурами, которые как я понял оформляют весь функционал поиска, передавая друг другу параметры на вход. База у меня тестовая, поэтому творить я мог че угодно, не боясь что-либо крашнуть. :w:  Решил закидывать в комменты все процедуры по очереди и смотреть что будет. В итоге определил ту, которая выполняет конечный поиск и ту которая передает в него параметры, состоящие из введенных пользователем данных в поле поиска. Дальше в принципе по логике и немножко по смыслу в названиях переменных нашел ту, которая отвечает за поле "Условие". Нашел кусок кода где это все обрабатывается, но логика его работы шла как-то вразрез с тем, как я представлял себе процесс анализа кодом введенных юзером данных. Начал эксперименты с '=' и 'LIKE', т.к. именно в этих оракловских условиях кроется разница по целой фразе или по кусочку выполняется поиск совпадений. В итоге в строке, выделенной на скрине красным, я заменил 'LIKE' на '=' и мой поиск чудесным образом заработал так, как он должен работать: в простом поиске пишу часть фразы, например "фре*" получаю Фреза, Фрезы, Фрезерование ну и т.д., а если "*рез*" то соответственно любые другие значение в которых вместо звездочек стоят какие-то другие буквы. И расширенный поиск по множеству критериев(в топике) так же стал работать со звездочками адекватно. Урррррааааааааа, товарищи!  :j:

Я не гарантирую, что сделал всё правильно, что я правильно понял логику разработчиков, но результат который я получил, меня очень сильно радует и никаких ошибок в меня не летит и всё прекрасно и замечательно работает. Отсюда конечно вопрос, кто писал этот код, почему он со старта не работает так как должен? Очень сильно удивит, если скажите, что это Аскон-опись(хотя возможно и мой предшественник).

Почему я подробно описал весь этот процесс?:
Во-первых, как показала практика, очень сложно найти ответы на подобные вопросы, а наверное они возникают у многих, а получить поддержку от разработчика возможность есть не у всех
Во-вторых, через какое-то время возможно я профукаю свои записи и где-то на новой базе вылетит такая же проблема, а я зайду сюда и всё перечитаю ))

В общем всем спасибо :beer: , на данном этапе вопрос закрыт :!:  Продолжаю тестить, возможно еще и переклинит там что-то, кто знает  :o:
п.с. сорян что такие плохие скрины - нет инэта на рабочем компе.
vrt_2.jpgvrt_1.jpg