Специфика моей работы требует хранения и быстрого доступа к большому количеству различных файлов — это конфигурации 1С, обработки с примерами кода, электронные книги, технические задания и прочее. При этом, структура рабочего каталога, в основном организованная по проектам (моим заказчикам), не всегда позволяет быстро найти нужный файл. Для решения этой задачи я решил разработать решение, которое позволит сохранять файлы и быстро их находить, ориентируясь на имя файла и краткое описание, которое можно задать для каждого файла. Результат перед вами.
Для поиска файлов наряду с возможностью искать в списке и полнотекстовым поиском, была разработана собственная «поисковая машина», которая позволяет писать поисковые слова и фразы «примерно» — произвольно и даже с ошибками (аналогично поиску в интернете) — см. видео демонстрацию работы поиска:
Механизмы данного решения могут быть встроены в другие конфигурации, а так же использованы для решения других похожих задач.
03.03.2014
-Исправлены найденные ошибки
Отдельная благодарность Юрию Щербакову за поиск ошибок и предложения путей их исправления!
Автору на заметку, возможно это будет для Вас удобнее.
1С:Предриятие. Конфигурация «Каталог файлов» с полнотекстовым поиском по содержимому
странно, написано: «Подробнее здесь: http://www.1cprofy.ru» а там про публикацию ни слова (((
(2) w-divin, Да, прошу прощения — исправился.
Озвучка не бодрая.
Бодрее надо 🙂
(4) Steelvan, Спасибо за совет, буду работать над этим ) Кстати попробуйте сами — поверьте, это не просто. Но думаю все таки лучше один раз увидеть! Кстати по поводу бодрости — Вам когда нибудь доводилось смотреть ролики Игоря Бурьяненко? Могу прислать пару роликов если нет — там про то, как нужно сдавать на спеца по УПП.
Мне понравилась озвучка курсов Евгения Попова (он рассказывает про html, css и прочее).
Думаю, если текст заранее написать, то должно быть бодрее.
Хотя согласен, это труднее.
Автору на заметку: грамотный человек, который будет пользоваться Вашей конфигурацией при обычном поиске Ваш файл не найдет, потому что будет вбивать слово стохастический. А так, плюсую, статья интересная
Да, Вы правы конечно же — все время это путаю. То есть в таком случае (когда грамотность страдает) только нечеткий поиск и может помочь 🙂
(7) Steelvan,
. Получится плохо. Думаю не нужно бояться пауз, будьте естественны и если тема кому то интересна и у Вас есть что сказать, Вас обязательно выслушают! Опыта в этом вопросе у меня конечно же мало, спасибо за критику и уделенное время.
Спасибо автору за материалы, как раз необходимо решить похожую задачу хранения файлов, может, что и пригодится!
хорошая «болванка» … прошу простить за формулировку
но …. это действительно так
если позволите, немного поработаю с ней
1. определение расширения файла …
не учитывает несколько «точек» в адресе файла
их просто «давит».
Вот так, например, будет лучше:
&НаКлиенте
Функция ВернутьРасширениеФайла(ПутьКФайлу)
ТекСимв = «»;
СчетчикСимв = СтрДлина(ПутьКФайлу);
РасширениеФайла = «»;
Пока 0=0 Цикл
Если СчетчикСимв = 0 Тогда
Прервать;
КонецЕсли;
ТекСимв = Сред(ПутьКФайлу,СчетчикСимв,1);
Если ТекСимв = «.» Тогда
Прервать;
Иначе
РасширениеФайла = ТекСимв + РасширениеФайла;
КонецЕсли;
СчетчикСимв = СчетчикСимв — 1;
КонецЦикла;
Возврат РасширениеФайла;
//ЧислоВхождений = СтрЧислоВхождений(ПутьКФайлу,».»);
//
//Для ш = 1 По ЧислоВхождений Цикл
// ПозицияТочки = Найти(ПутьКФайлу,».»);
// //Если не последнее вхождение, вырежем точку
// Если ш < ЧислоВхождений Тогда
// ПутьКФайлу = Лев(ПутьКФайлу,ПозицияТочки — 1) + Сред(ПутьКФайлу, ПозицияТочки + 1);
// Иначе
// //Получим расширение
// Возврат Сред(ПутьКФайлу,ПозицияТочки + 1);
// КонецЕсли;
//КонецЦикла;
КонецФункции // ВернутьРасширениеФайла()
(12) ufo58, спасибо! Недавно сам использовал эту подсистему в качестве именно «болванки» — быстро реализовал с ее помощью возможность добавления файлов к некому справочнику. В процессе эксплуатации тоже столкнулся с проблемой двух точек в имени файла и планирую это исправить в следующем релизе, который планирую в ближайшее время.
Готов включить Вашу функцию — спасибо, идея движения «с конца» понравилась.
Вместо Пока 0=0 Цикл правда в 8-ке лучше использовать Пока Истина Цикл, но это мелочи 😉
Так же планирую исправить передачу файла на сервер для клиент -серверного варианта (тоже столкнулся с этим сам). При разработке все тестировалось только для файловой версии…