tag:blogger.com,1999:blog-7763816944206062403.post4724313498367069052..comments2023-04-04T14:54:27.647+03:00Comments on 1С: Закоулки: Использование полнотекстового поиска при вводе по строкеmickey.1cxhttp://www.blogger.com/profile/09378089754067271280noreply@blogger.comBlogger3125tag:blogger.com,1999:blog-7763816944206062403.post-54911491166056296462018-09-04T15:33:32.531+03:002018-09-04T15:33:32.531+03:00Может кому пригодится, функцию написал независимую...Может кому пригодится, функцию написал независимую от регистра<br /><br /><br />Функция ВернутьФорматированнуюСтрокуПоиска(СтрокаДляРазбора, СтрокаПоиска) Экспорт<br /> СтрокаВВерхнемРегистре = Врег(СтрокаДляРазбора);<br /> СтрокаПоискаВВерхнемРегистре = Врег(СтрокаПоиска);<br /> <br /> ФормСтрока = Новый Массив;<br /> Для Стр = 1 По СтрЧислоВхождений(СтрокаВВерхнемРегистре, СтрокаПоискаВВерхнемРегистре) Цикл<br /> Индекс = Найти(СтрокаВВерхнемРегистре, СтрокаПоискаВВерхнемРегистре);<br /> Если НЕ Индекс = 1 Тогда <br /> ФормСтрока.Добавить(Новый ФорматированнаяСтрока(Сред(СтрокаДляРазбора,1,Индекс-1)));<br /> КонецЕсли;<br /> ФормСтрока.Добавить(Новый ФорматированнаяСтрока(Сред(СтрокаДляРазбора, Индекс, СтрДлина(СтрокаПоиска)), Новый Шрифт(,,Истина),WebЦвета.ЗеленыйЛес));<br /> СтрокаДляРазбора = Прав(СтрокаДляРазбора, СтрДлина(СтрокаДляРазбора) - (Индекс + (СтрДлина(СтрокаПоиска)-1)));<br /> СтрокаВВерхнемРегистре = Прав(СтрокаВВерхнемРегистре, СтрДлина(СтрокаВВерхнемРегистре) - (Индекс + (СтрДлина(СтрокаПоиска)-1)));<br /> КонецЦикла;<br /> ФормСтрока.Добавить(Новый ФорматированнаяСтрока(СтрокаДляРазбора));<br /><br /> Возврат Новый ФорматированнаяСтрока(ФормСтрока);<br />КонецФункцииAnonymoushttps://www.blogger.com/profile/15813115064958698476noreply@blogger.comtag:blogger.com,1999:blog-7763816944206062403.post-65744128864194132952018-03-01T00:30:38.101+03:002018-03-01T00:30:38.101+03:00Функция чуствительна к регистру.Функция чуствительна к регистру.Anonimushttps://www.blogger.com/profile/04843608298466491555noreply@blogger.comtag:blogger.com,1999:blog-7763816944206062403.post-10989256970849461902017-07-25T12:39:27.840+03:002017-07-25T12:39:27.840+03:00Как вариант:
//ОбработкаПолученияДанныхВыбора - Пр...Как вариант:<br />//ОбработкаПолученияДанныхВыбора - Произвольный запрос и формирование "ДанныеВыбора"<br /><br />//Обход списка значений "ДанныеВыбора", Замена представления на форматированную строку<br />Для каждого СтрокаВыбора Из ДанныеВыбора Цикл <br /> СтрокаВыбора.Представление = СтроковыеФункцииКлиентСервер.ВернутьФорматированнуюСтрокуПоиска(СтрокаВыбора.Представление,Параметры.СтрокаПоиска);<br /> КонецЦикла; <br /><br /><br />Функция ВернутьФорматированнуюСтрокуПоиска(СтрокаДляРазбора,СтрокаПоиска) Экспорт<br /> СтрокаЗамены = "";<br /> Для стр = 1 По СтрДлина(СтрокаПоиска) Цикл<br /> СтрокаЗамены = СтрокаЗамены + "@";<br /> КонецЦикла; <br /> <br />//РазложитьСтроку - Функция БСП из "СтроковыеФункцииКлиентСервер" <br />МассивСтрок = РазложитьСтрокуВМассивСлов(СтрЗаменить(СтрокаДляРазбора,СтрокаПоиска,СтрокаЗамены+"_"+СтрокаЗамены),СтрокаЗамены);<br /> <br /> //СобираемСтроку<br /> ФормСтрока = Новый Массив;<br /> Для каждого СтрокаИзМассива Из МассивСтрок Цикл<br /> Если СтрокаИзМассива = "_" Тогда<br /> ФормСтрока.Добавить(Новый ФорматированнаяСтрока(СтрокаПоиска,Новый Шрифт(,,Истина),WebЦвета.ЗеленыйЛес));<br /> Иначе<br /> ФормСтрока.Добавить(Новый ФорматированнаяСтрока(СтрокаИзМассива)) <br /> КонецЕсли; <br /> КонецЦикла;<br /> Возврат Новый ФорматированнаяСтрока(ФормСтрока);<br />КонецФункции Anonymousnoreply@blogger.com