Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > 1C: Предприятие, SAP, ERP и учётные системы > Клиентская база в 1С


Автор: ER_34 19.1.2005, 05:42
Решил сделать базу клиентов в 1с. Есть 3 тестовых клиента c именами:
раз
раз два
раз два три

код поиска по наименованию такой:

Код

Процедура НачатьПоиск()
  Иклиент = СоздатьОбъект("Справочник.Клиенты");
  Иклиент.ПорядокКодов();
  Иклиент.ВыбратьЭлементы();
  Пока Иклиент.ПолучитьЭлемент()>0 Цикл
    Если Найти(Иклиент.ФактическоеНазвание,ФактическоеНазвание) > 0 Тогда
      НоваяСтрока();
     ФактНазвание = Иклиент.ФактическоеНазвание;
     КонецЕсли;    
  КонецЦикла;
КонецПроцедуры    


Сам поисковик - документ, который формирует результаты в свою таблицу.
Получается такое (буду писать
<запрос> - <результат1>, <результат2> ...)
Итак:
р -
ра -
раз - раз
аз - раз
з - раз
а - раз два
ва - раз два
ри - раз два три
и подобные глюки.

А если в коде вместо:
Код
Найти(Иклиент.ФактическоеНазвание,ФактическоеНазвание)

написать прямо:
Код
Найти(Иклиент.ФактическоеНазвание, "аз дв")

то всё ищется как надо
аз дв - раз два, раз два три

со СтрЧислоВхождений такая же фигня. Это что, глюки 1C ?
Возможно ли в ней реализовать нормальный поиск (как в яндекс)?
За 2 часа базу написал, а с этой фигнёй всю ночь сидел

Автор: ER_34 20.1.2005, 06:18
А вот как:
Найти(<где ищем>, СокрЛП(<что ищем>));
Возвращает 0, если не нашёл, и >0, если нашёл

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)