Для них данная разработка — "Аля — Консультант Плюс" местного розлива.
Используются внешние компоненты от Robert (за что спасибо):
RBrowser.dll для просмотра HTM-файлов
RWidjets.dll, чтоб не пугать пользователей интерфейсом 1Сv7
Назначение: организация хранения, быстрого поиска и просмотра правовой информации.
Вход осуществляется в режиме пользователя.
Чтобы выйти в режим редактирования справочников, нужно на закладке Образцы… в поле
Условие отбора нажать букву затем закрыть окно поиска.
Справочник Субъекты предназначен для разбивки документов по муниципалитетам
номер привелигированный — это должен быть собственно район
Справочники Тематика, Органы, Виды, Статус по сути классификаторы
Для чего нужны? Кто видел хоть раз в жизни правовую базу, догадались.
Справочник ДокументыМ предназначен для хранения муниципальных документов
Справочник ДокументыГ предназначен для хранения государственных документов
Путь к файлу и может быть закладка (то есть типовая ссылка на HTM) хранится в наименованиии
Предусмотрено до трёх привязок к Тематике
По структуре справочники отличаются лишь:
у муниципальных привязка к субъетам
у государственных признак основной для выделения их в отдельный список основополагающих правовых актов
Файлы в формате HTM храятся:
муниципальные в папке КаталогИБ()+»dok_m»
государственные в папке КаталогИБ()+»dok_g»
Обработка ОкноПоиска по сути АРМ пользователя
Четыре закладки
1 — «Муниципальные правовые акты»
2 — «Федеральные и региональные правовые акты»
3 — «Избранное»
4 — «Образцы документов и справочная информация»
Закладка 1 — «Муниципальные правовые акты»
Верхняя часть «Условия поиска»
При уточнении:
Если условия нет — вызывается соответствующая обработка
Если условие есть вызывается менюшка
«ОЧИСТИТЬ СТРОКУ» — удаляет условие
«ИЗМЕНИТЬ УСЛОВИЕ» — редактирует условие
Нижняя часть «Муниципалитеты»
Колонка V — установка галочки регламентирует выводить или нет найденные по субъекту документы в список
Колонка Документов — показывает сколько по субъекту документов с заданным условием
Колонка Устав — для быстрого обращения к Уставу субъекта
Кнопка ПОКАЗАТЬ СПИСОК ДОКУМЕНТОВ — показываетя список найденых документов
Закладка 2 — «Федеральные и региональные правовые акты»
Верхняя часть «Условия поиска» аналогична предыдущей
Строка показывает количество оных
Нижняя часть «Основополагающие федеральные и региональные правовые акты»
В Списке можно быстро найти по Условию отбора нужный документ
Закладка 3 — «Избранное»
Хранит список актуальных (избранных) документов
Чтобы занести документ в Избранные нужно в списке найденых документов дважды щёлкнуть на его порядковом номере
Установка отбора сокращает список Избранных согласно Условию отбора
Кнопка Удалить — удаляет текущий документ из Избранных
Закладка 4 — «Образцы документов и справочная информация»
Хранит список файлов из папки КаталогИБ()+»obraz»
Чтобы файл попал в список нужно просто поместить его в эту папку
Отбор действует аналогично предыдущей закладке
Кнопка Удалить — удаляет текущий документ из списка Образцов документов и сам файл с компа
Вот и всё.
На сайт выставлен кусок действующей базы, что бы не морочить голову заполнением и сразу посмотреть как работает.
Всякая самописная… © Арчибальд
искал нечто подобное. А поиск по текстам возможен?
при разработке поиск по тексту даже не планировался.
средствами 1С возможен только построчный просмотр файлов, а это время и не малое.
вспомните свои ощущения, когда комп думает неопрадано долго 🙂
хотя в принципе найти файлы с текстом реально. Например
Процедура НайтиФайлыСТекстом()
Файл = СоздатьОбъект(«Текст»);
ТекстПоиска = ВРЕГ(«Текст который ищем»);
КаталогПоиска = КаталогИБ()+»doc_m»
ФС.УстТекКаталог(КаталогПоиска);
// позиционируем на первый файл
ИмяФайла = ФС.НайтиПервыйФайл(«*.htm»);
Если ПустаяСтрока(ИмяФайла) = 0 тогда
Файл.Открыть(КаталогПоиска+ИмяФайла);
Нашел = 0;
Для НС = 1 по Файл.КоличествоСтрок() цикл
Если Найти(ВРЕГ(Файл.ПолучитьСтроку(НС)),ТекстПоиска) > 0 тогда
Сообщить(ИмяФайла);
Прервать;
КонецЕсли;
КонецЦикла;
КонеЦесли;
// обрабатываем остальные в цикле
~Метка: ИмяФайла = ФС.НайтиСледующийФайл();
Если ПустаяСтрока(ИмяФайла) = 0 тогда
Файл.Открыть(КаталогПоиска+ИмяФайла);
Нашел = 0;
Для НС = 1 по Файл.КоличествоСтрок() цикл
Если Найти(ВРЕГ(Файл.ПолучитьСтроку(НС)),ТекстПоиска) > 0 тогда
Сообщить(ИмяФайла);
Прервать;
КонецЕсли;
КонецЦикла;
Перейти ~Метка;
КонеЦесли;
КонецПроцедуры
(0) Предлагаю обратить внимание на обработку:http://infostart.ru/public/74138/ в которой показан пример работы с SQLite, использование её вместо текстовых файлов считаю предпочтительным. (Скорость и прочие прелести)
(4) С SQLite не практиковал. Проверю. Если будет существенное ускорение — обновлю. Спасибо за идею.